@lovrabet/rabetbase-cli 2.3.16-beta.3 → 2.3.16-beta.5

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 (568) hide show
  1. package/lib/api/api-doc.d.ts +9 -0
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.d.ts +2 -0
  4. package/lib/api/fetch-model-list.js +1 -1
  5. package/lib/api/generate-api-file.d.ts +8 -0
  6. package/lib/api/generate-api-file.js +1 -1
  7. package/lib/auth/auth-server-ui.d.ts +13 -0
  8. package/lib/auth/auth-server-ui.js +1 -1
  9. package/lib/auth/auth-server.d.ts +25 -0
  10. package/lib/auth/auth-server.js +1 -1
  11. package/lib/auth/constant.d.ts +2 -0
  12. package/lib/auth/constant.js +1 -1
  13. package/lib/auth/get-cookie.d.ts +1 -0
  14. package/lib/auth/get-cookie.js +1 -1
  15. package/lib/auth/get-session-user.d.ts +51 -0
  16. package/lib/auth/get-session-user.js +1 -1
  17. package/lib/auth/is-session-valid.d.ts +1 -0
  18. package/lib/auth/is-session-valid.js +1 -1
  19. package/lib/auth/login-success-html.d.ts +5 -0
  20. package/lib/auth/login-success-html.js +1 -1
  21. package/lib/auth/logout.d.ts +1 -0
  22. package/lib/auth/logout.js +1 -1
  23. package/lib/cli-flags.d.ts +12 -0
  24. package/lib/cli-flags.js +1 -1
  25. package/lib/cli.d.ts +2 -0
  26. package/lib/cli.js +1 -1
  27. package/lib/commands/api/generate.d.ts +2 -0
  28. package/lib/commands/api/generate.js +1 -1
  29. package/lib/commands/api/index.d.ts +2 -0
  30. package/lib/commands/api/index.js +1 -1
  31. package/lib/commands/api/list.d.ts +2 -0
  32. package/lib/commands/api/list.js +1 -1
  33. package/lib/commands/api/pull.d.ts +2 -0
  34. package/lib/commands/api/pull.js +1 -1
  35. package/lib/commands/api/shared.d.ts +18 -0
  36. package/lib/commands/api/shared.js +1 -1
  37. package/lib/commands/app/index.d.ts +5 -0
  38. package/lib/commands/app/index.js +1 -1
  39. package/lib/commands/app/list.d.ts +10 -0
  40. package/lib/commands/app/list.js +1 -1
  41. package/lib/commands/app/members-list.d.ts +2 -0
  42. package/lib/commands/app/members-list.js +1 -1
  43. package/lib/commands/app/remote-directory.d.ts +11 -0
  44. package/lib/commands/app/remote-directory.js +1 -1
  45. package/lib/commands/app/shared.d.ts +46 -0
  46. package/lib/commands/app/shared.js +1 -1
  47. package/lib/commands/app-config/delete.d.ts +2 -0
  48. package/lib/commands/app-config/delete.js +1 -1
  49. package/lib/commands/app-config/get.d.ts +2 -0
  50. package/lib/commands/app-config/get.js +1 -1
  51. package/lib/commands/app-config/index.d.ts +2 -0
  52. package/lib/commands/app-config/index.js +1 -1
  53. package/lib/commands/app-config/list.d.ts +2 -0
  54. package/lib/commands/app-config/list.js +1 -1
  55. package/lib/commands/app-config/set.d.ts +2 -0
  56. package/lib/commands/app-config/set.js +1 -1
  57. package/lib/commands/app-config/shared.d.ts +105 -0
  58. package/lib/commands/app-config/shared.js +1 -1
  59. package/lib/commands/auth/index.d.ts +2 -0
  60. package/lib/commands/auth/index.js +1 -1
  61. package/lib/commands/bff/create.d.ts +4 -0
  62. package/lib/commands/bff/create.js +1 -1
  63. package/lib/commands/bff/delete.d.ts +2 -0
  64. package/lib/commands/bff/delete.js +1 -1
  65. package/lib/commands/bff/detail.d.ts +2 -0
  66. package/lib/commands/bff/detail.js +1 -1
  67. package/lib/commands/bff/index.d.ts +5 -0
  68. package/lib/commands/bff/index.js +1 -1
  69. package/lib/commands/bff/list.d.ts +2 -0
  70. package/lib/commands/bff/list.js +1 -1
  71. package/lib/commands/bff/pull.d.ts +2 -0
  72. package/lib/commands/bff/pull.js +1 -1
  73. package/lib/commands/bff/push.d.ts +2 -0
  74. package/lib/commands/bff/push.js +1 -1
  75. package/lib/commands/bff/status.d.ts +2 -0
  76. package/lib/commands/bff/status.js +1 -1
  77. package/lib/commands/cli-skill/index.d.ts +8 -0
  78. package/lib/commands/cli-skill/index.js +1 -1
  79. package/lib/commands/cli-update.d.ts +2 -0
  80. package/lib/commands/cli-update.js +1 -1
  81. package/lib/commands/codegen/index.d.ts +2 -0
  82. package/lib/commands/codegen/index.js +1 -1
  83. package/lib/commands/codegen/sdk.d.ts +2 -0
  84. package/lib/commands/codegen/sdk.js +1 -1
  85. package/lib/commands/codegen/sql.d.ts +2 -0
  86. package/lib/commands/codegen/sql.js +1 -1
  87. package/lib/commands/common/app-registry.d.ts +17 -0
  88. package/lib/commands/common/app-registry.js +1 -1
  89. package/lib/commands/common/app-selector.d.ts +17 -0
  90. package/lib/commands/common/app-selector.js +1 -1
  91. package/lib/commands/common/async-task.d.ts +11 -0
  92. package/lib/commands/common/async-task.js +1 -1
  93. package/lib/commands/common/dry-run.d.ts +12 -0
  94. package/lib/commands/common/dry-run.js +1 -1
  95. package/lib/commands/common/flags.d.ts +26 -0
  96. package/lib/commands/common/flags.js +1 -1
  97. package/lib/commands/common/local-file.d.ts +6 -0
  98. package/lib/commands/common/local-file.js +1 -1
  99. package/lib/commands/common/validate.d.ts +13 -0
  100. package/lib/commands/common/validate.js +1 -1
  101. package/lib/commands/config/get.d.ts +5 -0
  102. package/lib/commands/config/get.js +1 -1
  103. package/lib/commands/config/index.d.ts +5 -0
  104. package/lib/commands/config/index.js +1 -1
  105. package/lib/commands/config/list.d.ts +5 -0
  106. package/lib/commands/config/list.js +1 -1
  107. package/lib/commands/config/set.d.ts +5 -0
  108. package/lib/commands/config/set.js +1 -1
  109. package/lib/commands/config/shared.d.ts +16 -0
  110. package/lib/commands/config/shared.js +1 -1
  111. package/lib/commands/data/filter.d.ts +7 -0
  112. package/lib/commands/data/filter.js +1 -1
  113. package/lib/commands/data/getOne.d.ts +7 -0
  114. package/lib/commands/data/getOne.js +1 -1
  115. package/lib/commands/data/index.d.ts +8 -0
  116. package/lib/commands/data/index.js +1 -1
  117. package/lib/commands/data/shared.d.ts +33 -0
  118. package/lib/commands/data/shared.js +1 -1
  119. package/lib/commands/dataset/business-group-update.d.ts +18 -0
  120. package/lib/commands/dataset/business-group-update.js +1 -1
  121. package/lib/commands/dataset/capability.d.ts +11 -0
  122. package/lib/commands/dataset/capability.js +1 -1
  123. package/lib/commands/dataset/delete.d.ts +2 -0
  124. package/lib/commands/dataset/delete.js +1 -1
  125. package/lib/commands/dataset/detail.d.ts +2 -0
  126. package/lib/commands/dataset/detail.js +1 -1
  127. package/lib/commands/dataset/extend-update.d.ts +26 -0
  128. package/lib/commands/dataset/extend-update.js +1 -1
  129. package/lib/commands/dataset/field-update.d.ts +27 -0
  130. package/lib/commands/dataset/field-update.js +1 -1
  131. package/lib/commands/dataset/generate.d.ts +3 -0
  132. package/lib/commands/dataset/generate.js +1 -1
  133. package/lib/commands/dataset/index.d.ts +2 -0
  134. package/lib/commands/dataset/index.js +1 -1
  135. package/lib/commands/dataset/list.d.ts +2 -0
  136. package/lib/commands/dataset/list.js +1 -1
  137. package/lib/commands/dataset/operations.d.ts +2 -0
  138. package/lib/commands/dataset/operations.js +1 -1
  139. package/lib/commands/dataset/relation-audit.d.ts +2 -0
  140. package/lib/commands/dataset/relation-audit.js +1 -1
  141. package/lib/commands/dataset/relation-create.d.ts +2 -0
  142. package/lib/commands/dataset/relation-create.js +1 -1
  143. package/lib/commands/dataset/relation-delete.d.ts +2 -0
  144. package/lib/commands/dataset/relation-delete.js +1 -1
  145. package/lib/commands/dataset/relation-shared.d.ts +128 -0
  146. package/lib/commands/dataset/relation-shared.js +1 -1
  147. package/lib/commands/dataset/relation-update.d.ts +2 -0
  148. package/lib/commands/dataset/relation-update.js +1 -1
  149. package/lib/commands/dataset/relations.d.ts +53 -0
  150. package/lib/commands/dataset/relations.js +1 -1
  151. package/lib/commands/dataset/rename.d.ts +17 -0
  152. package/lib/commands/dataset/rename.js +1 -1
  153. package/lib/commands/dataset/restore.d.ts +2 -0
  154. package/lib/commands/dataset/restore.js +1 -1
  155. package/lib/commands/db/analysis-batching.d.ts +30 -0
  156. package/lib/commands/db/analysis-batching.js +1 -1
  157. package/lib/commands/db/analyze-batch-plan.d.ts +2 -0
  158. package/lib/commands/db/analyze-batch-plan.js +1 -1
  159. package/lib/commands/db/analyze-cancel.d.ts +2 -0
  160. package/lib/commands/db/analyze-cancel.js +1 -1
  161. package/lib/commands/db/analyze-start.d.ts +2 -0
  162. package/lib/commands/db/analyze-start.js +1 -1
  163. package/lib/commands/db/analyze-status.d.ts +2 -0
  164. package/lib/commands/db/analyze-status.js +1 -1
  165. package/lib/commands/db/create.d.ts +2 -0
  166. package/lib/commands/db/create.js +1 -1
  167. package/lib/commands/db/delete.d.ts +2 -0
  168. package/lib/commands/db/delete.js +1 -1
  169. package/lib/commands/db/detail.d.ts +2 -0
  170. package/lib/commands/db/detail.js +1 -1
  171. package/lib/commands/db/diff.d.ts +2 -0
  172. package/lib/commands/db/diff.js +1 -1
  173. package/lib/commands/db/index.d.ts +5 -0
  174. package/lib/commands/db/index.js +1 -1
  175. package/lib/commands/db/list.d.ts +2 -0
  176. package/lib/commands/db/list.js +1 -1
  177. package/lib/commands/db/shared.d.ts +15 -0
  178. package/lib/commands/db/shared.js +1 -1
  179. package/lib/commands/db/tables.d.ts +2 -0
  180. package/lib/commands/db/tables.js +1 -1
  181. package/lib/commands/db/test.d.ts +2 -0
  182. package/lib/commands/db/test.js +1 -1
  183. package/lib/commands/db/update.d.ts +2 -0
  184. package/lib/commands/db/update.js +1 -1
  185. package/lib/commands/doctor.d.ts +2 -0
  186. package/lib/commands/doctor.js +1 -1
  187. package/lib/commands/file/index.d.ts +2 -0
  188. package/lib/commands/file/index.js +1 -1
  189. package/lib/commands/init/index.d.ts +11 -0
  190. package/lib/commands/init/index.js +1 -1
  191. package/lib/commands/issue/index.d.ts +2 -0
  192. package/lib/commands/issue/index.js +1 -1
  193. package/lib/commands/issue/nudge.d.ts +23 -0
  194. package/lib/commands/issue/nudge.js +1 -1
  195. package/lib/commands/issue/report.d.ts +2 -0
  196. package/lib/commands/issue/report.js +1 -1
  197. package/lib/commands/issue/shared.d.ts +32 -0
  198. package/lib/commands/issue/shared.js +1 -1
  199. package/lib/commands/kb/create.d.ts +2 -0
  200. package/lib/commands/kb/create.js +1 -1
  201. package/lib/commands/kb/delete.d.ts +2 -0
  202. package/lib/commands/kb/delete.js +1 -1
  203. package/lib/commands/kb/detail.d.ts +2 -0
  204. package/lib/commands/kb/detail.js +1 -1
  205. package/lib/commands/kb/index.d.ts +2 -0
  206. package/lib/commands/kb/index.js +1 -1
  207. package/lib/commands/kb/list.d.ts +2 -0
  208. package/lib/commands/kb/list.js +1 -1
  209. package/lib/commands/kb/shared.d.ts +33 -0
  210. package/lib/commands/kb/shared.js +1 -1
  211. package/lib/commands/kb/update.d.ts +2 -0
  212. package/lib/commands/kb/update.js +1 -1
  213. package/lib/commands/logs/index.d.ts +5 -0
  214. package/lib/commands/logs/index.js +1 -1
  215. package/lib/commands/menu/asset-update.d.ts +2 -0
  216. package/lib/commands/menu/asset-update.js +1 -1
  217. package/lib/commands/menu/delete.d.ts +2 -0
  218. package/lib/commands/menu/delete.js +1 -1
  219. package/lib/commands/menu/external-link-create.d.ts +3 -0
  220. package/lib/commands/menu/external-link-create.js +1 -1
  221. package/lib/commands/menu/external-link-update.d.ts +2 -0
  222. package/lib/commands/menu/external-link-update.js +1 -1
  223. package/lib/commands/menu/group-create.d.ts +2 -0
  224. package/lib/commands/menu/group-create.js +1 -1
  225. package/lib/commands/menu/group-update.d.ts +2 -0
  226. package/lib/commands/menu/group-update.js +1 -1
  227. package/lib/commands/menu/index.d.ts +17 -0
  228. package/lib/commands/menu/index.js +1 -1
  229. package/lib/commands/menu/list.d.ts +2 -0
  230. package/lib/commands/menu/list.js +1 -1
  231. package/lib/commands/menu/move.d.ts +2 -0
  232. package/lib/commands/menu/move.js +1 -1
  233. package/lib/commands/menu/regroup-start.d.ts +2 -0
  234. package/lib/commands/menu/regroup-start.js +1 -1
  235. package/lib/commands/menu/rename.d.ts +2 -0
  236. package/lib/commands/menu/rename.js +1 -1
  237. package/lib/commands/menu/shared/compare-table.d.ts +27 -0
  238. package/lib/commands/menu/shared/compare-table.js +1 -1
  239. package/lib/commands/menu/shared/delete-plan.d.ts +51 -0
  240. package/lib/commands/menu/shared/delete-plan.js +1 -1
  241. package/lib/commands/menu/shared/facts.d.ts +12 -0
  242. package/lib/commands/menu/shared/facts.js +1 -1
  243. package/lib/commands/menu/shared/index.d.ts +12 -0
  244. package/lib/commands/menu/shared/index.js +1 -1
  245. package/lib/commands/menu/shared/inquirer.d.ts +10 -0
  246. package/lib/commands/menu/shared/inquirer.js +1 -1
  247. package/lib/commands/menu/shared/local-pages.d.ts +12 -0
  248. package/lib/commands/menu/shared/local-pages.js +1 -1
  249. package/lib/commands/menu/shared/logic.d.ts +28 -0
  250. package/lib/commands/menu/shared/logic.js +1 -1
  251. package/lib/commands/menu/shared/mutations.d.ts +69 -0
  252. package/lib/commands/menu/shared/mutations.js +1 -1
  253. package/lib/commands/menu/shared/service.d.ts +17 -0
  254. package/lib/commands/menu/shared/service.js +1 -1
  255. package/lib/commands/menu/shared/sync-core.d.ts +7 -0
  256. package/lib/commands/menu/shared/sync-core.js +1 -1
  257. package/lib/commands/menu/shared/types.d.ts +162 -0
  258. package/lib/commands/menu/shared/update-core.d.ts +11 -0
  259. package/lib/commands/menu/shared/update-core.js +1 -1
  260. package/lib/commands/menu/shared/valid-url.d.ts +6 -0
  261. package/lib/commands/menu/shared/valid-url.js +1 -1
  262. package/lib/commands/menu/sync.d.ts +2 -0
  263. package/lib/commands/menu/sync.js +1 -1
  264. package/lib/commands/notification/config-list.d.ts +2 -0
  265. package/lib/commands/notification/config-list.js +1 -1
  266. package/lib/commands/notification/index.d.ts +2 -0
  267. package/lib/commands/notification/index.js +1 -1
  268. package/lib/commands/ocr/index.d.ts +2 -0
  269. package/lib/commands/ocr/index.js +1 -1
  270. package/lib/commands/page/generate-start.d.ts +2 -0
  271. package/lib/commands/page/generate-start.js +1 -1
  272. package/lib/commands/page/generate-status.d.ts +2 -0
  273. package/lib/commands/page/generate-status.js +1 -1
  274. package/lib/commands/page/index.d.ts +2 -0
  275. package/lib/commands/page/index.js +1 -1
  276. package/lib/commands/page/pull.d.ts +2 -0
  277. package/lib/commands/page/pull.js +1 -1
  278. package/lib/commands/page/push.d.ts +2 -0
  279. package/lib/commands/page/push.js +1 -1
  280. package/lib/commands/page/relation-audit.d.ts +2 -0
  281. package/lib/commands/page/relation-audit.js +1 -1
  282. package/lib/commands/page/restore.d.ts +2 -0
  283. package/lib/commands/page/restore.js +1 -1
  284. package/lib/commands/page/shared.d.ts +105 -0
  285. package/lib/commands/page/shared.js +1 -1
  286. package/lib/commands/page/standard-page-status.d.ts +2 -0
  287. package/lib/commands/page/standard-page-status.js +1 -1
  288. package/lib/commands/page/sync.d.ts +2 -0
  289. package/lib/commands/page/sync.js +1 -1
  290. package/lib/commands/permit/index.d.ts +2 -0
  291. package/lib/commands/permit/index.js +1 -1
  292. package/lib/commands/permit/page-get.d.ts +2 -0
  293. package/lib/commands/permit/page-get.js +1 -1
  294. package/lib/commands/permit/page-set.d.ts +2 -0
  295. package/lib/commands/permit/page-set.js +1 -1
  296. package/lib/commands/permit/role-apis-set.d.ts +2 -0
  297. package/lib/commands/permit/role-apis-set.js +1 -1
  298. package/lib/commands/permit/role-menus-set.d.ts +2 -0
  299. package/lib/commands/permit/role-menus-set.js +1 -1
  300. package/lib/commands/permit/role-menus.d.ts +2 -0
  301. package/lib/commands/permit/role-menus.js +1 -1
  302. package/lib/commands/permit/shared.d.ts +74 -0
  303. package/lib/commands/permit/shared.js +1 -1
  304. package/lib/commands/project/create/enhanced-guided-create.d.ts +7 -0
  305. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  306. package/lib/commands/project/create/format-elapsed.d.ts +1 -0
  307. package/lib/commands/project/create/format-elapsed.js +1 -1
  308. package/lib/commands/project/create/main.d.ts +6 -0
  309. package/lib/commands/project/create/main.js +1 -1
  310. package/lib/commands/project/create/non-interactive.d.ts +9 -0
  311. package/lib/commands/project/create/non-interactive.js +1 -1
  312. package/lib/commands/project/create/project-template-path.d.ts +4 -0
  313. package/lib/commands/project/create/project-template-path.js +1 -1
  314. package/lib/commands/project/create/use-copy-project-template.d.ts +1 -0
  315. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  316. package/lib/commands/project/create/use-format-code.d.ts +1 -0
  317. package/lib/commands/project/create/use-format-code.js +1 -1
  318. package/lib/commands/project/create/use-install-dependencies.d.ts +1 -0
  319. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  320. package/lib/commands/project/index.d.ts +2 -0
  321. package/lib/commands/project/index.js +1 -1
  322. package/lib/commands/project/upgrade.d.ts +1 -0
  323. package/lib/commands/project/upgrade.js +1 -1
  324. package/lib/commands/registry.d.ts +66 -0
  325. package/lib/commands/registry.js +1 -1
  326. package/lib/commands/role/create.d.ts +2 -0
  327. package/lib/commands/role/create.js +1 -1
  328. package/lib/commands/role/delete.d.ts +2 -0
  329. package/lib/commands/role/delete.js +1 -1
  330. package/lib/commands/role/detail.d.ts +2 -0
  331. package/lib/commands/role/detail.js +1 -1
  332. package/lib/commands/role/index.d.ts +2 -0
  333. package/lib/commands/role/index.js +1 -1
  334. package/lib/commands/role/list.d.ts +2 -0
  335. package/lib/commands/role/list.js +1 -1
  336. package/lib/commands/role/shared.d.ts +107 -0
  337. package/lib/commands/role/shared.js +1 -1
  338. package/lib/commands/role/update.d.ts +2 -0
  339. package/lib/commands/role/update.js +1 -1
  340. package/lib/commands/role/user-add.d.ts +2 -0
  341. package/lib/commands/role/user-add.js +1 -1
  342. package/lib/commands/role/user-remove.d.ts +2 -0
  343. package/lib/commands/role/user-remove.js +1 -1
  344. package/lib/commands/role/user-resolve.d.ts +2 -0
  345. package/lib/commands/role/user-resolve.js +1 -1
  346. package/lib/commands/run/index.d.ts +2 -0
  347. package/lib/commands/run/index.js +1 -1
  348. package/lib/commands/schema.d.ts +5 -0
  349. package/lib/commands/schema.js +1 -1
  350. package/lib/commands/sql/create.d.ts +10 -0
  351. package/lib/commands/sql/create.js +1 -1
  352. package/lib/commands/sql/delete.d.ts +5 -0
  353. package/lib/commands/sql/delete.js +1 -1
  354. package/lib/commands/sql/detail.d.ts +2 -0
  355. package/lib/commands/sql/detail.js +1 -1
  356. package/lib/commands/sql/exec.d.ts +2 -0
  357. package/lib/commands/sql/exec.js +1 -1
  358. package/lib/commands/sql/index.d.ts +5 -0
  359. package/lib/commands/sql/index.js +1 -1
  360. package/lib/commands/sql/list.d.ts +2 -0
  361. package/lib/commands/sql/list.js +1 -1
  362. package/lib/commands/sql/pull.d.ts +5 -0
  363. package/lib/commands/sql/pull.js +1 -1
  364. package/lib/commands/sql/push.d.ts +5 -0
  365. package/lib/commands/sql/push.js +1 -1
  366. package/lib/commands/sql/shared.d.ts +23 -0
  367. package/lib/commands/sql/shared.js +1 -1
  368. package/lib/commands/sql/status.d.ts +5 -0
  369. package/lib/commands/sql/status.js +1 -1
  370. package/lib/commands/sql/validate.d.ts +2 -0
  371. package/lib/commands/sql/validate.js +1 -1
  372. package/lib/commands/task/index.d.ts +2 -0
  373. package/lib/commands/task/index.js +1 -1
  374. package/lib/commands/task/status.d.ts +2 -0
  375. package/lib/commands/task/status.js +1 -1
  376. package/lib/commands/tenant/index.d.ts +2 -0
  377. package/lib/commands/tenant/index.js +1 -1
  378. package/lib/commands/tenant/members-list.d.ts +2 -0
  379. package/lib/commands/tenant/members-list.js +1 -1
  380. package/lib/commands/tenant/shared.d.ts +10 -0
  381. package/lib/commands/tenant/shared.js +1 -1
  382. package/lib/commands/workspace/add.d.ts +6 -0
  383. package/lib/commands/workspace/add.js +1 -1
  384. package/lib/commands/workspace/index.d.ts +11 -0
  385. package/lib/commands/workspace/index.js +1 -1
  386. package/lib/commands/workspace/remove.d.ts +6 -0
  387. package/lib/commands/workspace/remove.js +1 -1
  388. package/lib/config/schema.d.ts +50 -0
  389. package/lib/config/schema.js +1 -1
  390. package/lib/constant/cdn.d.ts +1 -0
  391. package/lib/constant/cdn.js +1 -1
  392. package/lib/constant/cli.d.ts +34 -0
  393. package/lib/constant/cli.js +1 -1
  394. package/lib/constant/defaults.d.ts +10 -0
  395. package/lib/constant/defaults.js +1 -1
  396. package/lib/constant/domain.d.ts +14 -0
  397. package/lib/constant/domain.js +1 -1
  398. package/lib/constant/env.d.ts +11 -0
  399. package/lib/constant/env.js +1 -1
  400. package/lib/constant/output.d.ts +1 -0
  401. package/lib/constant/output.js +1 -1
  402. package/lib/constant/paths.d.ts +5 -0
  403. package/lib/constant/paths.js +1 -1
  404. package/lib/constant/risk.d.ts +1 -0
  405. package/lib/constant/risk.js +1 -1
  406. package/lib/context/app-resolver.d.ts +36 -0
  407. package/lib/context/app-resolver.js +1 -1
  408. package/lib/context/auth-resolver.d.ts +5 -0
  409. package/lib/context/auth-resolver.js +1 -1
  410. package/lib/context/config-loader.d.ts +61 -0
  411. package/lib/context/config-loader.js +1 -1
  412. package/lib/context.d.ts +102 -0
  413. package/lib/context.js +1 -1
  414. package/lib/core/alias-resolver.d.ts +31 -0
  415. package/lib/core/alias-resolver.js +1 -1
  416. package/lib/core/api-client.d.ts +1018 -0
  417. package/lib/core/api-client.js +1 -1
  418. package/lib/core/bff/config.d.ts +8 -0
  419. package/lib/core/bff/config.js +1 -1
  420. package/lib/core/bff/file-system.d.ts +28 -0
  421. package/lib/core/bff/file-system.js +1 -1
  422. package/lib/core/bff/hash.d.ts +7 -0
  423. package/lib/core/bff/hash.js +1 -1
  424. package/lib/core/bff/lock.d.ts +25 -0
  425. package/lib/core/bff/lock.js +1 -1
  426. package/lib/core/bff/types.d.ts +92 -0
  427. package/lib/core/bff/utils.d.ts +25 -0
  428. package/lib/core/bff/utils.js +1 -1
  429. package/lib/core/db-resolver.d.ts +43 -0
  430. package/lib/core/db-resolver.js +1 -1
  431. package/lib/core/page/file-system.d.ts +6 -0
  432. package/lib/core/page/file-system.js +1 -1
  433. package/lib/core/page/hash.d.ts +4 -0
  434. package/lib/core/page/hash.js +1 -1
  435. package/lib/core/page/lock.d.ts +8 -0
  436. package/lib/core/page/lock.js +1 -1
  437. package/lib/core/page/types.d.ts +22 -0
  438. package/lib/core/sql-index-auditor.d.ts +33 -0
  439. package/lib/core/sql-index-auditor.js +1 -1
  440. package/lib/core/sql-sync/config.d.ts +7 -0
  441. package/lib/core/sql-sync/config.js +1 -1
  442. package/lib/core/sql-sync/file-system.d.ts +7 -0
  443. package/lib/core/sql-sync/file-system.js +1 -1
  444. package/lib/core/sql-sync/hash.d.ts +5 -0
  445. package/lib/core/sql-sync/hash.js +1 -1
  446. package/lib/core/sql-sync/lock.d.ts +14 -0
  447. package/lib/core/sql-sync/lock.js +1 -1
  448. package/lib/core/sql-sync/types.d.ts +43 -0
  449. package/lib/core/sql-sync/utils.d.ts +10 -0
  450. package/lib/core/sql-sync/utils.js +1 -1
  451. package/lib/core/sql-validator.d.ts +34 -0
  452. package/lib/core/sql-validator.js +1 -1
  453. package/lib/errors.d.ts +3 -0
  454. package/lib/errors.js +1 -1
  455. package/lib/framework/build-all-flags.d.ts +2 -0
  456. package/lib/framework/build-all-flags.js +1 -1
  457. package/lib/framework/error-output.d.ts +9 -0
  458. package/lib/framework/error-output.js +1 -1
  459. package/lib/framework/explicit-yes.d.ts +3 -0
  460. package/lib/framework/explicit-yes.js +1 -1
  461. package/lib/framework/flags.d.ts +3 -0
  462. package/lib/framework/flags.js +1 -1
  463. package/lib/framework/help.d.ts +4 -0
  464. package/lib/framework/help.js +1 -1
  465. package/lib/framework/index.d.ts +11 -0
  466. package/lib/framework/index.js +1 -1
  467. package/lib/framework/output.d.ts +15 -0
  468. package/lib/framework/output.js +1 -1
  469. package/lib/framework/response.d.ts +2 -0
  470. package/lib/framework/response.js +1 -1
  471. package/lib/framework/runner-alias.d.ts +14 -0
  472. package/lib/framework/runner-alias.js +1 -1
  473. package/lib/framework/runner.d.ts +36 -0
  474. package/lib/framework/runner.js +1 -1
  475. package/lib/framework/schema-export.d.ts +3 -0
  476. package/lib/framework/schema-export.js +1 -1
  477. package/lib/framework/types.d.ts +63 -0
  478. package/lib/framework/types.js +1 -1
  479. package/lib/generated/build-info.d.ts +4 -0
  480. package/lib/generated/build-info.js +1 -1
  481. package/lib/help.d.ts +1 -0
  482. package/lib/help.js +1 -1
  483. package/lib/runtime/confirmation.d.ts +4 -0
  484. package/lib/runtime/confirmation.js +1 -0
  485. package/lib/runtime/event.d.ts +5 -0
  486. package/lib/runtime/event.js +1 -0
  487. package/lib/runtime/index.d.ts +7 -0
  488. package/lib/runtime/index.js +1 -0
  489. package/lib/runtime/queue.d.ts +5 -0
  490. package/lib/runtime/queue.js +1 -0
  491. package/lib/runtime/resolve.d.ts +8 -0
  492. package/lib/runtime/resolve.js +1 -0
  493. package/lib/runtime/types.d.ts +50 -0
  494. package/lib/runtime/types.js +1 -0
  495. package/lib/skills/main.d.ts +41 -0
  496. package/lib/skills/main.js +1 -1
  497. package/lib/skills/npx-skills-add.d.ts +99 -0
  498. package/lib/skills/npx-skills-add.js +1 -1
  499. package/lib/skills/skill-presence.d.ts +44 -0
  500. package/lib/skills/skill-presence.js +1 -1
  501. package/lib/telemetry/cli-command-trace.d.ts +12 -0
  502. package/lib/telemetry/cli-command-trace.js +1 -1
  503. package/lib/telemetry/cli-help-trace.d.ts +8 -0
  504. package/lib/telemetry/cli-help-trace.js +1 -1
  505. package/lib/telemetry/ensure-cli-otel-config.d.ts +6 -0
  506. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  507. package/lib/telemetry/register-otel-exit-shutdown.d.ts +3 -0
  508. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  509. package/lib/telemetry/send-cli-trace-log.d.ts +17 -0
  510. package/lib/telemetry/send-cli-trace-log.js +1 -1
  511. package/lib/telemetry/send-platform-issue-collect-log.d.ts +26 -0
  512. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  513. package/lib/types/index.d.ts +93 -0
  514. package/lib/utils/ai_config.d.ts +47 -0
  515. package/lib/utils/ai_config.js +1 -1
  516. package/lib/utils/apply-jq-filter.d.ts +1 -0
  517. package/lib/utils/apply-jq-filter.js +1 -1
  518. package/lib/utils/cdn-config.d.ts +42 -0
  519. package/lib/utils/cdn-config.js +1 -1
  520. package/lib/utils/check-sdk-version.d.ts +23 -0
  521. package/lib/utils/check-sdk-version.js +1 -1
  522. package/lib/utils/cli-version-check.d.ts +37 -0
  523. package/lib/utils/cli-version-check.js +1 -1
  524. package/lib/utils/cli-version-policy.d.ts +9 -0
  525. package/lib/utils/cli-version-policy.js +1 -1
  526. package/lib/utils/config.d.ts +42 -0
  527. package/lib/utils/config.js +1 -1
  528. package/lib/utils/copy-directory.d.ts +1 -0
  529. package/lib/utils/copy-directory.js +1 -1
  530. package/lib/utils/entity-with-id.d.ts +30 -0
  531. package/lib/utils/entity-with-id.js +1 -1
  532. package/lib/utils/file-utils.d.ts +25 -0
  533. package/lib/utils/file-utils.js +1 -1
  534. package/lib/utils/guides-cdn.d.ts +80 -0
  535. package/lib/utils/guides-cdn.js +1 -1
  536. package/lib/utils/http-client.d.ts +30 -0
  537. package/lib/utils/http-client.js +1 -1
  538. package/lib/utils/is-non-interactive.d.ts +7 -0
  539. package/lib/utils/is-non-interactive.js +1 -1
  540. package/lib/utils/logger.d.ts +62 -0
  541. package/lib/utils/logger.js +1 -1
  542. package/lib/utils/params.d.ts +15 -0
  543. package/lib/utils/params.js +1 -1
  544. package/lib/utils/platform.d.ts +21 -0
  545. package/lib/utils/platform.js +1 -1
  546. package/lib/utils/rules-cdn.d.ts +38 -0
  547. package/lib/utils/rules-cdn.js +1 -1
  548. package/lib/utils/sleep.d.ts +1 -0
  549. package/lib/utils/sleep.js +1 -1
  550. package/lib/utils/template-replacer.d.ts +55 -0
  551. package/lib/utils/template-replacer.js +1 -1
  552. package/lib/utils/update-notice.d.ts +10 -0
  553. package/lib/utils/update-notice.js +1 -1
  554. package/lib/utils/version.d.ts +1 -0
  555. package/lib/utils/version.js +1 -1
  556. package/lib/utils/with-active-cookie.d.ts +1 -0
  557. package/lib/utils/with-active-cookie.js +1 -1
  558. package/lib/utils/write-cli-side-channel.d.ts +6 -0
  559. package/lib/utils/write-cli-side-channel.js +1 -1
  560. package/package.json +9 -1
  561. package/lib/commands/page/react/create.js +0 -1
  562. package/lib/commands/page/react/detail.js +0 -1
  563. package/lib/commands/page/react/list.js +0 -1
  564. package/lib/commands/page/react/publish.js +0 -1
  565. package/lib/commands/page/react/shared.js +0 -1
  566. package/lib/commands/page/react/syntax.js +0 -1
  567. package/lib/commands/page/react/template.js +0 -1
  568. package/lib/commands/page/react/update.js +0 -1
@@ -1 +1 @@
1
- const a110_0x5af245=a110_0x361c;(function(_0x4e19ff,_0x51ab84){const _0x5c7e3e=a110_0x361c,_0x2fc156=_0x4e19ff();while(!![]){try{const _0x34905a=parseInt(_0x5c7e3e(0x16f))/0x1*(parseInt(_0x5c7e3e(0x138))/0x2)+-parseInt(_0x5c7e3e(0x17a))/0x3+parseInt(_0x5c7e3e(0x142))/0x4+-parseInt(_0x5c7e3e(0x152))/0x5*(-parseInt(_0x5c7e3e(0x17e))/0x6)+-parseInt(_0x5c7e3e(0x174))/0x7+-parseInt(_0x5c7e3e(0x139))/0x8+parseInt(_0x5c7e3e(0x177))/0x9*(-parseInt(_0x5c7e3e(0x14a))/0xa);if(_0x34905a===_0x51ab84)break;else _0x2fc156['push'](_0x2fc156['shift']());}catch(_0x34f3a8){_0x2fc156['push'](_0x2fc156['shift']());}}}(a110_0x561a,0x7ee00));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a110_0x361c(_0x4c295d,_0x56121b){_0x4c295d=_0x4c295d-0x138;const _0x561a6e=a110_0x561a();let _0x361c00=_0x561a6e[_0x4c295d];return _0x361c00;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x5af245(0x178),'path':a110_0x5af245(0x15f)}];export const menuExternalLinkUpdate={'service':a110_0x5af245(0x175),'command':'external-link-update','description':a110_0x5af245(0x172),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a110_0x5af245(0x169)},{'name':a110_0x5af245(0x167),'type':a110_0x5af245(0x165),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x50fd59){validateInput(_0x50fd59),requireExplicitYes(_0x50fd59);},async 'dryRun'(_0x468cc4){const _0x15dc63=a110_0x5af245;validateInput(_0x468cc4);const _0x16fa73=await buildPlan(_0x468cc4,!![]);return menuDryRunResult(_0x16fa73['plan'],{'method':_0x15dc63(0x178),'url':_0x15dc63(0x15f),'body':_0x16fa73[_0x15dc63(0x158)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x16fa73['body']['id']+'.'});},async 'execute'(_0x4371d4){const _0xd691c3=a110_0x5af245;validateInput(_0x4371d4),requireExplicitYes(_0x4371d4);const _0x1eb399=await buildPlan(_0x4371d4,![]),{plan:_0x4ee0b1,body:_0x34642f,before:_0x2066f4,noChanges:_0x41f727}=_0x1eb399,_0xbbee3a=_0x34642f['id'];if(_0x41f727)return updateSuccess(_0x4ee0b1,_0x1eb399['snapshot'],_0x2066f4,!![],![]);await recheckMutationSnapshot(_0x4371d4,_0x4ee0b1,_0xd691c3(0x13d),_0xbbee3a);try{await updateMenuEntity(_0x4371d4['appCode'],_0x4371d4[_0xd691c3(0x153)],{'id':_0x34642f['id'],'url':_0x34642f['url']});}catch(_0x27d11d){const _0xcd843b=mapMenuApiError(_0x27d11d,_0xd691c3(0x13d),_0xbbee3a);if(isMenuResponseLoss(_0x27d11d)&&_0xcd843b['code']!==_0xd691c3(0x161))return recoverAfterResponseLoss(_0x4371d4,_0x1eb399);throw menuFailure(_0xcd843b,_0x4ee0b1,{'stage':_0xd691c3(0x151),'failed':{'id':_0xbbee3a},'warnings':[_0xd691c3(0x13a)],'verification':{'status':'failed','targetId':_0xbbee3a,'lookupCommand':buildLookupCommand(_0x4371d4['appCode'])}});}let _0x5b2d41,_0xb85cd6;try{_0x5b2d41=await fetchMenuSnapshot(_0x4371d4['appCode'],_0x4371d4[_0xd691c3(0x153)]),_0xb85cd6=requireMenu(_0x5b2d41,_0xbbee3a),verifyUpdatedFact(_0x2066f4,_0xb85cd6,_0x34642f[_0xd691c3(0x148)]);}catch(_0x59921b){const _0x30ad34=describeMenuErrorCause(_0x59921b,_0xd691c3(0x13e),_0xbbee3a),_0x47d8c3=asVerificationError(_0x59921b,_0xd691c3(0x15e)+_0xbbee3a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x47d8c3,_0x4ee0b1,{'stage':_0xd691c3(0x13f),'succeeded':[{'id':_0xbbee3a,'updateRequested':!![]}],'failed':{'id':_0xbbee3a,'requestedStateConfirmed':![],..._0x30ad34},'warnings':[_0xd691c3(0x17b)],'verification':{'status':'failed','targetId':_0xbbee3a,'lookupCommand':buildLookupCommand(_0x4371d4['appCode'])}});}return updateSuccess(_0x4ee0b1,_0x5b2d41,_0xb85cd6,![],![]);}};function validateInput(_0x3430ec){const _0x3b8768=a110_0x5af245;validateExactId(_0x3430ec),requiredUrl(_0x3430ec,_0x3b8768(0x148)),requiredExpectedUrl(_0x3430ec),parseParentId(_0x3430ec,_0x3b8768(0x17f),{'required':!![]});}function requiredUrl(_0x19c0b9,_0x32e4db){const _0x1b1996=a110_0x5af245;if(!hasFlag(_0x19c0b9,_0x32e4db)||!_0x19c0b9[_0x1b1996(0x176)](_0x32e4db)[_0x1b1996(0x141)]())throw CliErrors['flagMissing'](_0x32e4db);return validateExternalMenuUrl(_0x19c0b9[_0x1b1996(0x176)](_0x32e4db));}function requiredExpectedUrl(_0x48841e){const _0x2e61e0=a110_0x5af245;if(!hasFlag(_0x48841e,_0x2e61e0(0x167))||!_0x48841e[_0x2e61e0(0x176)]('expect-url')['trim']())throw CliErrors[_0x2e61e0(0x184)](_0x2e61e0(0x167));return _0x48841e[_0x2e61e0(0x176)](_0x2e61e0(0x167))[_0x2e61e0(0x141)]();}function a110_0x561a(){const _0x5ed9df=['\x20direct\x20child\x20menu(s).','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','4hqGBAI','Response\x20was\x20lost\x20and\x20menu\x20','menu_external_link_type_required','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','replace','1017562vOVKrs','menu','str','9Aeyeiu','POST','Updated\x20external\x20URL\x20for\x20menu\x20','1382469gQASOX','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','update-recovery','after','4472106yodUpi','expect-parent-id','\x27\x5c\x27\x27','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Menu\x20','label','flagMissing','visible','failed','\x20changed\x20during\x20the\x20URL-only\x20update.','269744yYfWqZ','3081720cTYkQO','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20already\x20matches\x20the\x20requested\x20URL.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','update\x20external\x20menu\x20URL','verify\x20external\x20menu\x20URL\x20update','verification','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','trim','3032904JhdLmZ',',\x20current\x20','path','\x20has\x20','external-link-update','\x20URL\x20update\x20did\x20not\x20take\x20effect.','url','menu_update_recovery_required','5319810HhgOlt','\x20parent\x20changed:\x20expected\x20','\x20--format\x20compress','\x22,\x20not\x20iframe\x20or\x20link.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_state_drift','hash','update','5WSeAky','cookie','byId','appCode','readbackFailed','link','body','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','requestedUrlObserved','sort','Run\x20','menu_external_link_not_leaf','Update\x20request\x20for\x20menu\x20','/smartapi/menu/update','type','menu_permission_denied','get','menu_external_link_path_missing','childrenCount','string','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-url','parentId','New\x20external\x20HTTPS\x20URL'];a110_0x561a=function(){return _0x5ed9df;};return a110_0x561a();}async function buildPlan(_0x2cf0b0,_0x185e58){const _0x1440af=a110_0x5af245,_0x4bb48c=validateExactId(_0x2cf0b0),_0x18813a=requiredUrl(_0x2cf0b0,'url'),_0x296cd3=requiredExpectedUrl(_0x2cf0b0),_0x22b1ca=parseParentId(_0x2cf0b0,_0x1440af(0x17f),{'required':!![]}),_0x225263=await fetchMutationSnapshot(_0x2cf0b0,_0x1440af(0x13d),_0x4bb48c),_0x1cd5af=requireMenu(_0x225263,_0x4bb48c);assertExternalLinkLeaf(_0x1cd5af);if(_0x1cd5af[_0x1440af(0x168)]!==_0x22b1ca)throw menuError(_0x1440af(0x14f),_0x1440af(0x182)+_0x4bb48c+_0x1440af(0x14b)+formatParent(_0x22b1ca)+_0x1440af(0x143)+formatParent(_0x1cd5af['parentId'])+'.',_0x1440af(0x140));const _0x3f7849=_0x1cd5af['url']===_0x18813a;if(!_0x3f7849&&_0x1cd5af[_0x1440af(0x148)]!==_0x296cd3)throw menuError(_0x1440af(0x14f),_0x1440af(0x182)+_0x4bb48c+_0x1440af(0x14e),_0x1440af(0x16e));const _0x25d12c={'id':_0x4bb48c,'appCode':_0x2cf0b0[_0x1440af(0x155)],'url':_0x18813a},_0x26192a={..._0x1cd5af,'url':_0x18813a};return{'body':_0x25d12c,'before':_0x1cd5af,'noChanges':_0x3f7849,'snapshot':_0x225263,'plan':mutationResult({'operation':_0x1440af(0x146),'selector':{'id':_0x4bb48c},'before':_0x1cd5af,'after':_0x26192a,'dryRun':_0x185e58,'backend':[...BACKEND],'plannedActions':_0x3f7849?[]:[{'stage':'update-external-link-url','method':_0x1440af(0x178),'path':'/smartapi/menu/update','body':_0x25d12c}],'snapshotHash':_0x225263[_0x1440af(0x150)],'warnings':_0x3f7849?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x11be88){const _0x2701ca=a110_0x5af245;if(_0x11be88[_0x2701ca(0x160)]!=='iframe'&&_0x11be88[_0x2701ca(0x160)]!==_0x2701ca(0x157))throw menuError(_0x2701ca(0x171),'Menu\x20'+_0x11be88['id']+'\x20is\x20type\x20\x22'+(_0x11be88[_0x2701ca(0x160)]||'unknown')+_0x2701ca(0x14d),_0x2701ca(0x166));if(_0x11be88['childrenCount']!==0x0)throw menuError(_0x2701ca(0x15d),_0x2701ca(0x182)+_0x11be88['id']+_0x2701ca(0x145)+_0x11be88[_0x2701ca(0x164)]+_0x2701ca(0x16a),_0x2701ca(0x16c));if(!_0x11be88[_0x2701ca(0x144)][_0x2701ca(0x141)]())throw menuError(_0x2701ca(0x163),'Menu\x20'+_0x11be88['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x2701ca(0x13c));}function verifyUpdatedFact(_0x9ea5e9,_0x17cded,_0x28cc99){const _0x290090=a110_0x5af245;assertExternalLinkLeaf(_0x17cded);const _0x5131b3=[['id',_0x17cded['id'],_0x9ea5e9['id']],[_0x290090(0x183),_0x17cded['label'],_0x9ea5e9[_0x290090(0x183)]],[_0x290090(0x160),_0x17cded['type'],_0x9ea5e9[_0x290090(0x160)]],['path',_0x17cded['path'],_0x9ea5e9[_0x290090(0x144)]],['parentId',_0x17cded['parentId'],_0x9ea5e9[_0x290090(0x168)]],['sort',_0x17cded[_0x290090(0x15b)],_0x9ea5e9[_0x290090(0x15b)]],['visible',_0x17cded[_0x290090(0x185)],_0x9ea5e9[_0x290090(0x185)]]];for(const [_0x97c16b,_0x45fb82,_0x41a89a]of _0x5131b3){assertVerified(_0x45fb82===_0x41a89a,_0x290090(0x182)+_0x9ea5e9['id']+'\x20'+_0x97c16b+_0x290090(0x187));}assertVerified(_0x17cded['url']===_0x28cc99,'Menu\x20'+_0x9ea5e9['id']+_0x290090(0x147));}function updateSuccess(_0x15458f,_0x39df23,_0x1bf38b,_0x2246e4,_0x57541e){const _0x5b0be9=a110_0x5af245,_0x1eb5be=_0x1bf38b['id'],_0x118860=mutationResult({..._0x15458f,'after':_0x1bf38b,'dryRun':![],'succeeded':[{'id':_0x1eb5be,'updated':!_0x2246e4,'skipped':_0x2246e4,'recovered':_0x57541e}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x39df23[_0x5b0be9(0x150)],'targetId':_0x1eb5be,'matchesRequestedState':!![],'recovered':_0x57541e}});return{'ok':!![],'message':_0x57541e?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x1eb5be+'.':_0x2246e4?'Menu\x20'+_0x1eb5be+_0x5b0be9(0x13b):_0x5b0be9(0x179)+_0x1eb5be+'.','data':{..._0x118860,'recovered':_0x57541e}};}async function recoverAfterResponseLoss(_0xfbe19e,_0x49e774){const _0x5f26ac=a110_0x5af245,{plan:_0x14a96d,before:_0x5b426e,body:_0x6357a3}=_0x49e774;let _0x116a8f;try{_0x116a8f=await fetchMenuSnapshot(_0xfbe19e['appCode'],_0xfbe19e[_0x5f26ac(0x153)]);}catch{throw recoveryRequired(_0x14a96d,_0xfbe19e[_0x5f26ac(0x155)],{'id':_0x6357a3['id'],'readbackFailed':!![]});}const _0x52fd20=_0x116a8f[_0x5f26ac(0x154)][_0x5f26ac(0x162)](_0x6357a3['id']);if(!_0x52fd20||_0x52fd20[_0x5f26ac(0x148)]!==_0x6357a3[_0x5f26ac(0x148)])throw recoveryRequired(_0x14a96d,_0xfbe19e['appCode'],{'id':_0x6357a3['id'],'requestedUrlObserved':![],'after':_0x52fd20??null});try{verifyUpdatedFact(_0x5b426e,_0x52fd20,_0x6357a3['url']);}catch(_0x34e7af){const _0x414a15=asVerificationError(_0x34e7af,_0x5f26ac(0x170)+_0x6357a3['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x414a15,_0x14a96d,{'stage':_0x5f26ac(0x17c),'succeeded':[{'id':_0x6357a3['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x6357a3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x52fd20,'warnings':[_0x5f26ac(0x16b)],'verification':{'status':_0x5f26ac(0x186),'targetId':_0x6357a3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xfbe19e['appCode'])}});}return updateSuccess(_0x14a96d,_0x116a8f,_0x52fd20,![],!![]);}function recoveryRequired(_0x4e75db,_0x20df06,_0x2167b4){const _0x1fddf6=a110_0x5af245,_0x13d3fc=menuError(_0x1fddf6(0x149),_0x1fddf6(0x181),_0x1fddf6(0x15c)+buildLookupCommand(_0x20df06)+_0x1fddf6(0x16d));return menuFailure(_0x13d3fc,_0x4e75db,{'stage':'update-recovery','failed':{'id':_0x2167b4['id'],..._0x2167b4[_0x1fddf6(0x15a)]===undefined?{}:{'requestedUrlObserved':_0x2167b4[_0x1fddf6(0x15a)]},..._0x2167b4[_0x1fddf6(0x156)]?{'readbackFailed':!![]}:{}},'after':_0x2167b4[_0x1fddf6(0x17d)],'warnings':[_0x1fddf6(0x159)],'verification':{'status':'failed','targetId':_0x2167b4['id'],..._0x2167b4[_0x1fddf6(0x15a)]===undefined?{}:{'requestedUrlObserved':_0x2167b4[_0x1fddf6(0x15a)]},..._0x2167b4[_0x1fddf6(0x156)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x20df06)}});}function buildLookupCommand(_0x4df8eb){const _0x45f6ab=a110_0x5af245,_0x83fa21='\x27'+_0x4df8eb[_0x45f6ab(0x173)](/'/g,_0x45f6ab(0x180))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x83fa21+_0x45f6ab(0x14c);}
1
+ const a110_0x115f65=a110_0x521c;(function(_0x410cf5,_0x14a929){const _0xca5a75=a110_0x521c,_0x2a25e5=_0x410cf5();while(!![]){try{const _0x5c562b=-parseInt(_0xca5a75(0x1ec))/0x1+-parseInt(_0xca5a75(0x212))/0x2*(-parseInt(_0xca5a75(0x1f0))/0x3)+parseInt(_0xca5a75(0x1fc))/0x4*(parseInt(_0xca5a75(0x201))/0x5)+-parseInt(_0xca5a75(0x204))/0x6*(parseInt(_0xca5a75(0x1de))/0x7)+-parseInt(_0xca5a75(0x1f9))/0x8+-parseInt(_0xca5a75(0x1f1))/0x9+-parseInt(_0xca5a75(0x1c6))/0xa*(-parseInt(_0xca5a75(0x20f))/0xb);if(_0x5c562b===_0x14a929)break;else _0x2a25e5['push'](_0x2a25e5['shift']());}catch(_0x235746){_0x2a25e5['push'](_0x2a25e5['shift']());}}}(a110_0x593e,0x49840));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a110_0x115f65(0x1f3)}];export const menuExternalLinkUpdate={'service':a110_0x115f65(0x218),'command':a110_0x115f65(0x202),'description':a110_0x115f65(0x216),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x115f65(0x1c8),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a110_0x115f65(0x215),'type':'string','required':!![],'description':a110_0x115f65(0x1fa)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5d8e35){validateInput(_0x5d8e35),requireExplicitYes(_0x5d8e35);},async 'dryRun'(_0x5322ca){const _0x25848b=a110_0x115f65;validateInput(_0x5322ca);const _0x577e9c=await buildPlan(_0x5322ca,!![]);return menuDryRunResult(_0x577e9c[_0x25848b(0x1ea)],{'method':_0x25848b(0x207),'url':_0x25848b(0x1f3),'body':_0x577e9c[_0x25848b(0x1f5)],'description':_0x25848b(0x21a)+_0x577e9c[_0x25848b(0x1f5)]['id']+'.'});},async 'execute'(_0x3c12ae){const _0x1a53bb=a110_0x115f65;validateInput(_0x3c12ae),requireExplicitYes(_0x3c12ae);const _0x19f4c8=await buildPlan(_0x3c12ae,![]),{plan:_0x54591f,body:_0xbf9f14,before:_0x4d87e1,noChanges:_0x3b9946}=_0x19f4c8,_0x1cad74=_0xbf9f14['id'];if(_0x3b9946)return updateSuccess(_0x54591f,_0x19f4c8[_0x1a53bb(0x1fd)],_0x4d87e1,!![],![]);await recheckMutationSnapshot(_0x3c12ae,_0x54591f,_0x1a53bb(0x1e2),_0x1cad74);try{await updateMenuEntity(_0x3c12ae['appCode'],_0x3c12ae['cookie'],{'id':_0xbf9f14['id'],'url':_0xbf9f14[_0x1a53bb(0x1c8)]});}catch(_0xdacb98){const _0x51f55e=mapMenuApiError(_0xdacb98,_0x1a53bb(0x1e2),_0x1cad74);if(isMenuResponseLoss(_0xdacb98)&&_0x51f55e[_0x1a53bb(0x209)]!==_0x1a53bb(0x1cd))return recoverAfterResponseLoss(_0x3c12ae,_0x19f4c8);throw menuFailure(_0x51f55e,_0x54591f,{'stage':_0x1a53bb(0x210),'failed':{'id':_0x1cad74},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1cad74,'lookupCommand':buildLookupCommand(_0x3c12ae[_0x1a53bb(0x1db)])}});}let _0x466d31,_0x166d69;try{_0x466d31=await fetchMenuSnapshot(_0x3c12ae[_0x1a53bb(0x1db)],_0x3c12ae[_0x1a53bb(0x1ed)]),_0x166d69=requireMenu(_0x466d31,_0x1cad74),verifyUpdatedFact(_0x4d87e1,_0x166d69,_0xbf9f14['url']);}catch(_0x16fb2a){const _0x121ec8=describeMenuErrorCause(_0x16fb2a,_0x1a53bb(0x1f6),_0x1cad74),_0x2253b1=asVerificationError(_0x16fb2a,_0x1a53bb(0x1eb)+_0x1cad74+_0x1a53bb(0x208));throw menuFailure(_0x2253b1,_0x54591f,{'stage':_0x1a53bb(0x1c5),'succeeded':[{'id':_0x1cad74,'updateRequested':!![]}],'failed':{'id':_0x1cad74,'requestedStateConfirmed':![],..._0x121ec8},'warnings':[_0x1a53bb(0x1cf)],'verification':{'status':_0x1a53bb(0x20e),'targetId':_0x1cad74,'lookupCommand':buildLookupCommand(_0x3c12ae[_0x1a53bb(0x1db)])}});}return updateSuccess(_0x54591f,_0x466d31,_0x166d69,![],![]);}};function validateInput(_0x5aa9e2){const _0x40d43f=a110_0x115f65;validateExactId(_0x5aa9e2),requiredUrl(_0x5aa9e2,'url'),requiredExpectedUrl(_0x5aa9e2),parseParentId(_0x5aa9e2,_0x40d43f(0x1ca),{'required':!![]});}function requiredUrl(_0x175fd1,_0x882b6c){const _0x28cbff=a110_0x115f65;if(!hasFlag(_0x175fd1,_0x882b6c)||!_0x175fd1[_0x28cbff(0x1e1)](_0x882b6c)['trim']())throw CliErrors[_0x28cbff(0x1d7)](_0x882b6c);return validateExternalMenuUrl(_0x175fd1['str'](_0x882b6c));}function requiredExpectedUrl(_0x15ceb2){const _0x4955e9=a110_0x115f65;if(!hasFlag(_0x15ceb2,_0x4955e9(0x215))||!_0x15ceb2[_0x4955e9(0x1e1)](_0x4955e9(0x215))[_0x4955e9(0x1f7)]())throw CliErrors['flagMissing'](_0x4955e9(0x215));return _0x15ceb2[_0x4955e9(0x1e1)](_0x4955e9(0x215))[_0x4955e9(0x1f7)]();}async function buildPlan(_0x9d7895,_0x556dc7){const _0x33547e=a110_0x115f65,_0x24171e=validateExactId(_0x9d7895),_0x5f3043=requiredUrl(_0x9d7895,_0x33547e(0x1c8)),_0x5ea8fc=requiredExpectedUrl(_0x9d7895),_0x2f7d06=parseParentId(_0x9d7895,_0x33547e(0x1ca),{'required':!![]}),_0x4cb978=await fetchMutationSnapshot(_0x9d7895,_0x33547e(0x1e2),_0x24171e),_0x24309f=requireMenu(_0x4cb978,_0x24171e);assertExternalLinkLeaf(_0x24309f);if(_0x24309f[_0x33547e(0x1e9)]!==_0x2f7d06)throw menuError(_0x33547e(0x1e0),_0x33547e(0x1c4)+_0x24171e+_0x33547e(0x217)+formatParent(_0x2f7d06)+_0x33547e(0x1d9)+formatParent(_0x24309f['parentId'])+'.',_0x33547e(0x1f4));const _0x402659=_0x24309f[_0x33547e(0x1c8)]===_0x5f3043;if(!_0x402659&&_0x24309f[_0x33547e(0x1c8)]!==_0x5ea8fc)throw menuError('menu_state_drift','Menu\x20'+_0x24171e+_0x33547e(0x1f2),_0x33547e(0x1e3));const _0x5d59a2={'id':_0x24171e,'appCode':_0x9d7895[_0x33547e(0x1db)],'url':_0x5f3043},_0x41fff3={..._0x24309f,'url':_0x5f3043};return{'body':_0x5d59a2,'before':_0x24309f,'noChanges':_0x402659,'snapshot':_0x4cb978,'plan':mutationResult({'operation':_0x33547e(0x202),'selector':{'id':_0x24171e},'before':_0x24309f,'after':_0x41fff3,'dryRun':_0x556dc7,'backend':[...BACKEND],'plannedActions':_0x402659?[]:[{'stage':'update-external-link-url','method':'POST','path':'/smartapi/menu/update','body':_0x5d59a2}],'snapshotHash':_0x4cb978['hash'],'warnings':_0x402659?[_0x33547e(0x20b)]:[]})};}function a110_0x521c(_0x179933,_0x4e35cc){_0x179933=_0x179933-0x1c4;const _0x593ecd=a110_0x593e();let _0x521cc8=_0x593ecd[_0x179933];return _0x521cc8;}function assertExternalLinkLeaf(_0x2b5674){const _0x2c05f7=a110_0x115f65;if(_0x2b5674['type']!==_0x2c05f7(0x205)&&_0x2b5674[_0x2c05f7(0x20c)]!==_0x2c05f7(0x1ce))throw menuError(_0x2c05f7(0x20a),_0x2c05f7(0x1c4)+_0x2b5674['id']+_0x2c05f7(0x1da)+(_0x2b5674[_0x2c05f7(0x20c)]||'unknown')+_0x2c05f7(0x1e4),_0x2c05f7(0x211));if(_0x2b5674[_0x2c05f7(0x1e7)]!==0x0)throw menuError(_0x2c05f7(0x206),_0x2c05f7(0x1c4)+_0x2b5674['id']+_0x2c05f7(0x1d1)+_0x2b5674[_0x2c05f7(0x1e7)]+_0x2c05f7(0x1cb),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x2b5674[_0x2c05f7(0x1fb)][_0x2c05f7(0x1f7)]())throw menuError(_0x2c05f7(0x1d2),'Menu\x20'+_0x2b5674['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x2c05f7(0x1d0));}function a110_0x593e(){const _0x5ea509=['replace','menu_permission_denied','link','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20has\x20','menu_external_link_path_missing','get','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','visible','Updated\x20external\x20URL\x20for\x20menu\x20','flagMissing','update-recovery',',\x20current\x20','\x20is\x20type\x20\x22','appCode','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20already\x20matches\x20the\x20requested\x20URL.','62692NMnhQp','menu\x20list','menu_state_drift','str','update\x20external\x20menu\x20URL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','\x22,\x20not\x20iframe\x20or\x20link.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','childrenCount','after','parentId','plan','Update\x20request\x20for\x20menu\x20','212951JJGcmy','cookie','hash','sort','1190343chdrKF','3338082FJxyhh','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','/smartapi/menu/update','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','body','verify\x20external\x20menu\x20URL\x20update','trim','readbackFailed','805880McZZht','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','path','143036qBfhFz','snapshot','\x27\x5c\x27\x27','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','25afIBmM','external-link-update','\x20could\x20not\x20be\x20verified\x20safely','42mJwrte','iframe','menu_external_link_not_leaf','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','code','menu_external_link_type_required','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','type','byId','failed','55NfJKnu','update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','2IsKRuF','\x20changed\x20during\x20the\x20URL-only\x20update.','label','expect-url','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20parent\x20changed:\x20expected\x20','menu','Response\x20was\x20lost\x20and\x20menu\x20','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','Menu\x20','verification','945640xyHzur','requestedUrlObserved','url','\x20--format\x20compress','expect-parent-id','\x20direct\x20child\x20menu(s).'];a110_0x593e=function(){return _0x5ea509;};return a110_0x593e();}function verifyUpdatedFact(_0x22e4c6,_0x26ae1e,_0x5a1abf){const _0x5e2248=a110_0x115f65;assertExternalLinkLeaf(_0x26ae1e);const _0x4615a0=[['id',_0x26ae1e['id'],_0x22e4c6['id']],[_0x5e2248(0x214),_0x26ae1e['label'],_0x22e4c6['label']],[_0x5e2248(0x20c),_0x26ae1e['type'],_0x22e4c6[_0x5e2248(0x20c)]],[_0x5e2248(0x1fb),_0x26ae1e[_0x5e2248(0x1fb)],_0x22e4c6[_0x5e2248(0x1fb)]],[_0x5e2248(0x1e9),_0x26ae1e[_0x5e2248(0x1e9)],_0x22e4c6[_0x5e2248(0x1e9)]],[_0x5e2248(0x1ef),_0x26ae1e[_0x5e2248(0x1ef)],_0x22e4c6[_0x5e2248(0x1ef)]],[_0x5e2248(0x1d5),_0x26ae1e[_0x5e2248(0x1d5)],_0x22e4c6['visible']]];for(const [_0x3aa723,_0x4ea22e,_0x22a0ae]of _0x4615a0){assertVerified(_0x4ea22e===_0x22a0ae,_0x5e2248(0x1c4)+_0x22e4c6['id']+'\x20'+_0x3aa723+_0x5e2248(0x213));}assertVerified(_0x26ae1e[_0x5e2248(0x1c8)]===_0x5a1abf,_0x5e2248(0x1c4)+_0x22e4c6['id']+_0x5e2248(0x1e5));}function updateSuccess(_0x315786,_0x3d26fd,_0x3bda49,_0x363f14,_0x1607bd){const _0x11722d=a110_0x115f65,_0x52c038=_0x3bda49['id'],_0x435ccb=mutationResult({..._0x315786,'after':_0x3bda49,'dryRun':![],'succeeded':[{'id':_0x52c038,'updated':!_0x363f14,'skipped':_0x363f14,'recovered':_0x1607bd}],'verification':{'checkedBy':_0x11722d(0x1df),'snapshotHash':_0x3d26fd[_0x11722d(0x1ee)],'targetId':_0x52c038,'matchesRequestedState':!![],'recovered':_0x1607bd}});return{'ok':!![],'message':_0x1607bd?_0x11722d(0x1ff)+_0x52c038+'.':_0x363f14?_0x11722d(0x1c4)+_0x52c038+_0x11722d(0x1dd):_0x11722d(0x1d6)+_0x52c038+'.','data':{..._0x435ccb,'recovered':_0x1607bd}};}async function recoverAfterResponseLoss(_0x7f2e95,_0x57ab21){const _0x276c24=a110_0x115f65,{plan:_0x18463c,before:_0x204246,body:_0x126f5c}=_0x57ab21;let _0x53c744;try{_0x53c744=await fetchMenuSnapshot(_0x7f2e95[_0x276c24(0x1db)],_0x7f2e95[_0x276c24(0x1ed)]);}catch{throw recoveryRequired(_0x18463c,_0x7f2e95['appCode'],{'id':_0x126f5c['id'],'readbackFailed':!![]});}const _0x581448=_0x53c744[_0x276c24(0x20d)][_0x276c24(0x1d3)](_0x126f5c['id']);if(!_0x581448||_0x581448['url']!==_0x126f5c[_0x276c24(0x1c8)])throw recoveryRequired(_0x18463c,_0x7f2e95[_0x276c24(0x1db)],{'id':_0x126f5c['id'],'requestedUrlObserved':![],'after':_0x581448??null});try{verifyUpdatedFact(_0x204246,_0x581448,_0x126f5c['url']);}catch(_0x28606a){const _0x132173=asVerificationError(_0x28606a,_0x276c24(0x219)+_0x126f5c['id']+_0x276c24(0x203));throw menuFailure(_0x132173,_0x18463c,{'stage':_0x276c24(0x1d8),'succeeded':[{'id':_0x126f5c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x126f5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x581448,'warnings':[_0x276c24(0x1dc)],'verification':{'status':_0x276c24(0x20e),'targetId':_0x126f5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x7f2e95[_0x276c24(0x1db)])}});}return updateSuccess(_0x18463c,_0x53c744,_0x581448,![],!![]);}function recoveryRequired(_0x3028a3,_0x30582b,_0x2cf49a){const _0x94ee7=a110_0x115f65,_0x4ea55e=menuError('menu_update_recovery_required',_0x94ee7(0x1e6),'Run\x20'+buildLookupCommand(_0x30582b)+_0x94ee7(0x200));return menuFailure(_0x4ea55e,_0x3028a3,{'stage':_0x94ee7(0x1d8),'failed':{'id':_0x2cf49a['id'],..._0x2cf49a[_0x94ee7(0x1c7)]===undefined?{}:{'requestedUrlObserved':_0x2cf49a[_0x94ee7(0x1c7)]},..._0x2cf49a['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x2cf49a[_0x94ee7(0x1e8)],'warnings':[_0x94ee7(0x1d4)],'verification':{'status':_0x94ee7(0x20e),'targetId':_0x2cf49a['id'],..._0x2cf49a[_0x94ee7(0x1c7)]===undefined?{}:{'requestedUrlObserved':_0x2cf49a['requestedUrlObserved']},..._0x2cf49a[_0x94ee7(0x1f8)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x30582b)}});}function buildLookupCommand(_0x1c526a){const _0x2ec9a2=a110_0x115f65,_0x3cc75b='\x27'+_0x1c526a[_0x2ec9a2(0x1cc)](/'/g,_0x2ec9a2(0x1fe))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3cc75b+_0x2ec9a2(0x1c9);}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuGroupCreate: CommandDefinition;
@@ -1 +1 @@
1
- function a111_0x29ec(){const _0x341362=['create-folder','path','8flrTaU','Created\x20folder\x20','menu_create_response_invalid','30CHRnCK','verification','653360vGBgWP','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','hash','\x20unexpectedly\x20owns\x20a\x20page.','type','parent-id','\x20has\x20unexpected\x20parent\x20','\x20is\x20missing\x20from\x20menu\x20list.','1340218cbszJk','Folder\x20','\x20has\x20an\x20unexpected\x20sort.','836703YJVIbM','failed','\x22\x20with\x20a\x20platform-generated\x20path.','Created\x20menu\x20','label','cookie','create','\x20may\x20exist\x20online\x20at\x20path\x20','\x20has\x20resources.','appCode','12cYsjXw','str',';\x20verify\x20it\x20before\x20retrying.','71048kJbWxF','3UCNYKW','1793197bcNmXP','get','5119nERDva','<platform-generated>','\x20is\x20not\x20visible.','parentId','menu','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','group-create','childrenCount','206DGIqVX','rabetbase\x20menu\x20list\x20--format\x20json','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','resources','isSafeInteger','Created\x20menu\x20folder\x20','/smartapi/menu/create','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20is\x20not\x20type\x20folder.','visible','depth','create-response-validation','verify\x20folder\x20creation','\x20has\x20an\x20unexpected\x20label.','folder','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','sort','Would\x20create\x20empty\x20folder\x20\x22','high-risk-write','trim','flagMissing','create\x20folder','string','Menu\x20create\x20response\x20for\x20folder\x20','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','12290184oaOdOm'];a111_0x29ec=function(){return _0x341362;};return a111_0x29ec();}const a111_0x2ca678=a111_0xf964;function a111_0xf964(_0x543de7,_0x5ed797){_0x543de7=_0x543de7-0x16b;const _0x29ec0e=a111_0x29ec();let _0xf9648d=_0x29ec0e[_0x543de7];return _0xf9648d;}(function(_0x338e39,_0x3accb0){const _0x2c1f3f=a111_0xf964,_0x476104=_0x338e39();while(!![]){try{const _0x3eae0f=-parseInt(_0x2c1f3f(0x1af))/0x1*(parseInt(_0x2c1f3f(0x16e))/0x2)+parseInt(_0x2c1f3f(0x1ac))/0x3*(parseInt(_0x2c1f3f(0x1ab))/0x4)+-parseInt(_0x2c1f3f(0x193))/0x5*(parseInt(_0x2c1f3f(0x1a8))/0x6)+parseInt(_0x2c1f3f(0x1ad))/0x7*(-parseInt(_0x2c1f3f(0x18e))/0x8)+-parseInt(_0x2c1f3f(0x19e))/0x9+parseInt(_0x2c1f3f(0x191))/0xa*(parseInt(_0x2c1f3f(0x19b))/0xb)+parseInt(_0x2c1f3f(0x18b))/0xc;if(_0x3eae0f===_0x3accb0)break;else _0x476104['push'](_0x476104['shift']());}catch(_0x6542bc){_0x476104['push'](_0x476104['shift']());}}}(a111_0x29ec,0x41d97));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a111_0x2ca678(0x176)}];export const menuGroupCreate={'service':a111_0x2ca678(0x1b3),'command':a111_0x2ca678(0x16c),'description':a111_0x2ca678(0x17f),'risk':a111_0x2ca678(0x183),'structuredErrors':!![],'flags':[{'name':'label','type':a111_0x2ca678(0x187),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x9cc8b6){validateCreateInput(_0x9cc8b6),requireExplicitYes(_0x9cc8b6);},async 'dryRun'(_0x2f4667){const _0x553cf3=a111_0x2ca678,_0x2f8360=await buildCreatePlan(_0x2f4667,!![]),_0x40ee60=_0x2f8360[_0x553cf3(0x1b4)];return menuDryRunResult(_0x2f8360,{'method':'POST','url':_0x553cf3(0x176),'body':{'parentId':toApiParentId(_0x40ee60['parentId']),'label':_0x40ee60['label'],'type':_0x553cf3(0x17e),'visible':!![],'sort':_0x40ee60['sort'],'extend':{}},'description':_0x553cf3(0x182)+String(_0x40ee60['label'])+_0x553cf3(0x1a0)});},async 'execute'(_0x425b9e){const _0x1e5218=a111_0x2ca678;validateCreateInput(_0x425b9e),requireExplicitYes(_0x425b9e);const _0x4f5798=await buildCreatePlan(_0x425b9e,![]),_0x4b3346=_0x4f5798[_0x1e5218(0x1b4)];await recheckMutationSnapshot(_0x425b9e,_0x4f5798,'create\x20folder');let _0xdc7891;try{_0xdc7891=await createMenuEntity(_0x425b9e[_0x1e5218(0x1a7)],_0x425b9e['cookie'],{'parentId':toApiParentId(_0x4b3346[_0x1e5218(0x1b2)]),'label':String(_0x4b3346['label']),'type':'folder','visible':!![],'sort':Number(_0x4b3346[_0x1e5218(0x181)]),'extend':{}});}catch(_0x564f4c){const _0x3e2260=mapMenuApiError(_0x564f4c,_0x1e5218(0x186));throw menuFailure(_0x3e2260,_0x4f5798,{'stage':_0x1e5218(0x1a4),'failed':{}});}const _0x49345d=Number(_0xdc7891['id']);if(!Number[_0x1e5218(0x174)](_0x49345d)||_0x49345d<=0x0){const _0x5d9a58=menuError(_0x1e5218(0x190),_0x1e5218(0x177),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x5d9a58,_0x4f5798,{'stage':_0x1e5218(0x17b),'failed':{'createdId':_0xdc7891['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x1e5218(0x19f),'lookupCommand':_0x1e5218(0x16f)}});}const _0x49a516=typeof _0xdc7891[_0x1e5218(0x18d)]===_0x1e5218(0x187)?_0xdc7891[_0x1e5218(0x18d)]:'';if(!_0x49a516['trim']()){const _0x4e8609=menuError(_0x1e5218(0x190),_0x1e5218(0x188)+_0x49345d+_0x1e5218(0x18a),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x4e8609,_0x4f5798,{'stage':_0x1e5218(0x17b),'succeeded':[{'id':_0x49345d,'created':!![]}],'failed':{'id':_0x49345d,'generatedPathConfirmed':![]},'warnings':[_0x1e5218(0x19c)+_0x49345d+_0x1e5218(0x171)],'after':{..._0x4b3346,'id':_0x49345d,'path':_0x49a516},'verification':{'status':_0x1e5218(0x19f),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x49345d}});}let _0x365022;try{_0x365022=await fetchMenuSnapshot(_0x425b9e[_0x1e5218(0x1a7)],_0x425b9e[_0x1e5218(0x1a3)]);}catch(_0x34722b){const _0x4d7f76=describeMenuErrorCause(_0x34722b,'verify\x20folder\x20creation',_0x49345d),_0x5c3711=asVerificationError(_0x34722b,_0x1e5218(0x19c)+_0x49345d+_0x1e5218(0x194));throw menuFailure(_0x5c3711,_0x4f5798,{'stage':_0x1e5218(0x192),'succeeded':[{'id':_0x49345d,'created':!![],'path':_0x49a516}],'failed':{'id':_0x49345d,'finalFactsConfirmed':![],..._0x4d7f76},'warnings':['Folder\x20'+_0x49345d+_0x1e5218(0x1a5)+JSON[_0x1e5218(0x172)](_0x49a516)+_0x1e5218(0x1aa)],'after':{..._0x4b3346,'id':_0x49345d,'path':_0x49a516},'verification':{'status':_0x1e5218(0x19f),'lookupCommand':_0x1e5218(0x16f),'targetId':_0x49345d}});}const _0x4eea2c=_0x365022['byId'][_0x1e5218(0x1ae)](_0x49345d);let _0x5e13b6;try{assertVerified(Boolean(_0x4eea2c),_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x19a)),_0x5e13b6=_0x4eea2c,assertVerified(_0x5e13b6[_0x1e5218(0x197)]===_0x1e5218(0x17e),_0x1e5218(0x1a1)+_0x49345d+_0x1e5218(0x178)),assertVerified(_0x5e13b6[_0x1e5218(0x1a2)]===_0x4b3346['label'],_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x17d)),assertVerified(_0x5e13b6[_0x1e5218(0x18d)]===_0x49a516&&Boolean(_0x5e13b6[_0x1e5218(0x18d)][_0x1e5218(0x184)]()),_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x16b)),assertVerified(_0x5e13b6[_0x1e5218(0x179)]===!![],_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x1b1)),assertVerified(_0x5e13b6[_0x1e5218(0x173)]['length']===0x0,_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x1a6)),assertVerified(_0x5e13b6[_0x1e5218(0x16d)]===0x0,_0x1e5218(0x18f)+_0x49345d+'\x20is\x20not\x20empty.'),assertVerified(_0x5e13b6['sort']===_0x4b3346['sort'],_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x19d)),assertVerified(_0x5e13b6[_0x1e5218(0x1b2)]===_0x4b3346[_0x1e5218(0x1b2)],_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x199)+(_0x5e13b6[_0x1e5218(0x1b2)]??'root')+'.'),assertVerified(_0x5e13b6['pageId']==null,_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x196));const _0x39a43e=_0x5e13b6[_0x1e5218(0x1b2)]==null?undefined:requireFolder(_0x365022,_0x5e13b6[_0x1e5218(0x1b2)]);assertVerified(_0x5e13b6['depth']===(_0x39a43e?_0x39a43e[_0x1e5218(0x17a)]+0x1:0x0),_0x1e5218(0x18f)+_0x49345d+_0x1e5218(0x170));}catch(_0x44d66f){const _0x5172fa=describeMenuErrorCause(_0x44d66f,_0x1e5218(0x17c),_0x49345d),_0x1c3c21=asVerificationError(_0x44d66f,_0x1e5218(0x19c)+_0x49345d+_0x1e5218(0x180));throw menuFailure(_0x1c3c21,_0x4f5798,{'stage':_0x1e5218(0x192),'succeeded':[{'id':_0x49345d,'created':!![],'path':_0x49a516}],'failed':{'id':_0x49345d,'finalFactsConfirmed':![],..._0x5172fa},'warnings':[_0x1e5218(0x19c)+_0x49345d+_0x1e5218(0x189)],'after':_0x4eea2c??{..._0x4b3346,'id':_0x49345d,'path':_0x49a516},'verification':{'status':_0x1e5218(0x19f),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x49345d}});}const _0x25136c=mutationResult({..._0x4f5798,'after':_0x5e13b6,'dryRun':![],'succeeded':[{'id':_0x49345d,'type':_0x1e5218(0x17e),'path':_0x49a516}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x365022[_0x1e5218(0x195)],'folder':!![],'path':_0x49a516,'emptyResources':!![]}});return{'ok':!![],'data':_0x25136c,'message':_0x1e5218(0x175)+_0x49345d+'.'};}};function validateCreateInput(_0x2832c4){const _0x200a53=a111_0x2ca678,_0x501c17=_0x2832c4[_0x200a53(0x1a9)](_0x200a53(0x1a2))[_0x200a53(0x184)]();if(!_0x501c17)throw CliErrors[_0x200a53(0x185)]('label');parseParentId(_0x2832c4,_0x200a53(0x198)),validateSort(_0x2832c4);}async function buildCreatePlan(_0x17ba37,_0x477c2c){const _0x5cce39=a111_0x2ca678,_0x3752df=await fetchMutationSnapshot(_0x17ba37,_0x5cce39(0x186)),_0x599b1e=parseParentId(_0x17ba37,'parent-id')??null;if(_0x599b1e!=null)requireFolder(_0x3752df,_0x599b1e);const _0x1fa939=validateSort(_0x17ba37),_0x2bd330=_0x1fa939??nextSiblingSort(_0x3752df,_0x599b1e,_0x5cce39(0x17e)),_0x2a9e35=_0x17ba37[_0x5cce39(0x1a9)](_0x5cce39(0x1a2))[_0x5cce39(0x184)]();return mutationResult({'operation':_0x5cce39(0x16c),'selector':{'label':_0x2a9e35,'parentId':_0x599b1e},'before':null,'after':{'id':null,'parentId':_0x599b1e,'label':_0x2a9e35,'path':_0x5cce39(0x1b0),'type':_0x5cce39(0x17e),'visible':!![],'sort':_0x2bd330,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x477c2c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5cce39(0x18c),'method':'POST','path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x599b1e),'label':_0x2a9e35,'type':_0x5cce39(0x17e),'visible':!![],'sort':_0x2bd330,'extend':{}}}],'snapshotHash':_0x3752df[_0x5cce39(0x195)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
1
+ const a111_0x5950e1=a111_0x153c;(function(_0x5458f3,_0x4fe12c){const _0x49b403=a111_0x153c,_0x43d62d=_0x5458f3();while(!![]){try{const _0x1a6177=parseInt(_0x49b403(0x169))/0x1+parseInt(_0x49b403(0x17e))/0x2+parseInt(_0x49b403(0x167))/0x3*(-parseInt(_0x49b403(0x166))/0x4)+parseInt(_0x49b403(0x149))/0x5+-parseInt(_0x49b403(0x16a))/0x6+-parseInt(_0x49b403(0x165))/0x7+-parseInt(_0x49b403(0x13b))/0x8*(-parseInt(_0x49b403(0x163))/0x9);if(_0x1a6177===_0x4fe12c)break;else _0x43d62d['push'](_0x43d62d['shift']());}catch(_0x5cef5a){_0x43d62d['push'](_0x43d62d['shift']());}}}(a111_0x2cec,0x280a6));function a111_0x153c(_0x2bd0e0,_0x291e3d){_0x2bd0e0=_0x2bd0e0-0x13a;const _0x2cec98=a111_0x2cec();let _0x153c24=_0x2cec98[_0x2bd0e0];return _0x153c24;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a111_0x2cec(){const _0x4d7fb9=['Created\x20menu\x20folder\x20','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','failed','24tEvYEY','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','create-folder','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','depth','label','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','sort','trim','appCode','after','parent-id','Created\x20folder\x20','3180gvxhqt','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20may\x20exist\x20online\x20at\x20path\x20','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x22\x20with\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20for\x20folder\x20','length','Would\x20create\x20empty\x20folder\x20\x22','visible','\x20is\x20not\x20type\x20folder.','childrenCount','rabetbase\x20menu\x20list\x20--format\x20json','type','pageId','create\x20folder','resources','path','isSafeInteger','Folder\x20','create-response-validation','verification','str','root','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','stringify','menu_create_response_invalid','1352115VIOouQ','byId','673491bKYzzl','155880kXhfBp','18jIMXII','menu\x20list','82400xMWTuL','465342Tbkyju','cookie','\x20has\x20an\x20unexpected\x20label.','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20has\x20unexpected\x20parent\x20','verify\x20folder\x20creation','create','string','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','group-create','parentId',';\x20verify\x20it\x20before\x20retrying.','\x20is\x20not\x20visible.','\x20is\x20not\x20empty.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','POST','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Folder\x20label','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','<platform-generated>','75710YaoWJK','hash','folder','/smartapi/menu/create'];a111_0x2cec=function(){return _0x4d7fb9;};return a111_0x2cec();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x5950e1(0x179),'path':a111_0x5950e1(0x181)}];export const menuGroupCreate={'service':'menu','command':a111_0x5950e1(0x173),'description':a111_0x5950e1(0x17a),'risk':'write','structuredErrors':!![],'flags':[{'name':a111_0x5950e1(0x141),'type':'string','required':!![],'description':a111_0x5950e1(0x17b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x632b1b){validateCreateInput(_0x632b1b);},async 'dryRun'(_0x46c104){const _0x608c24=a111_0x5950e1,_0x1baf2d=await buildCreatePlan(_0x46c104,!![]),_0x43f2c2=_0x1baf2d['after'];return menuDryRunResult(_0x1baf2d,{'method':'POST','url':_0x608c24(0x181),'body':{'parentId':toApiParentId(_0x43f2c2[_0x608c24(0x174)]),'label':_0x43f2c2['label'],'type':_0x608c24(0x180),'visible':!![],'sort':_0x43f2c2['sort'],'extend':{}},'description':_0x608c24(0x150)+String(_0x43f2c2[_0x608c24(0x141)])+_0x608c24(0x14d)});},async 'execute'(_0x2cca6f){const _0x28e6e5=a111_0x5950e1;validateCreateInput(_0x2cca6f);const _0x522650=await buildCreatePlan(_0x2cca6f,![]),_0x166c94=_0x522650[_0x28e6e5(0x146)];await recheckMutationSnapshot(_0x2cca6f,_0x522650,_0x28e6e5(0x157));let _0xc7aa50;try{_0xc7aa50=await createMenuEntity(_0x2cca6f['appCode'],_0x2cca6f[_0x28e6e5(0x16b)],{'parentId':toApiParentId(_0x166c94[_0x28e6e5(0x174)]),'label':String(_0x166c94[_0x28e6e5(0x141)]),'type':_0x28e6e5(0x180),'visible':!![],'sort':Number(_0x166c94['sort']),'extend':{}});}catch(_0x52777c){const _0x2efbd7=mapMenuApiError(_0x52777c,'create\x20folder');throw menuFailure(_0x2efbd7,_0x522650,{'stage':_0x28e6e5(0x170),'failed':{}});}const _0x4ad048=Number(_0xc7aa50['id']);if(!Number[_0x28e6e5(0x15a)](_0x4ad048)||_0x4ad048<=0x0){const _0x527784=menuError(_0x28e6e5(0x162),_0x28e6e5(0x178),_0x28e6e5(0x13f));throw menuFailure(_0x527784,_0x522650,{'stage':'create-response-validation','failed':{'createdId':_0xc7aa50['id']??null},'warnings':[_0x28e6e5(0x17c)],'verification':{'status':'failed','lookupCommand':_0x28e6e5(0x154)}});}const _0x37e44f=typeof _0xc7aa50[_0x28e6e5(0x159)]===_0x28e6e5(0x171)?_0xc7aa50[_0x28e6e5(0x159)]:'';if(!_0x37e44f[_0x28e6e5(0x144)]()){const _0x47dab3=menuError('menu_create_response_invalid',_0x28e6e5(0x14e)+_0x4ad048+_0x28e6e5(0x172),_0x28e6e5(0x142));throw menuFailure(_0x47dab3,_0x522650,{'stage':_0x28e6e5(0x15c),'succeeded':[{'id':_0x4ad048,'created':!![]}],'failed':{'id':_0x4ad048,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x4ad048+_0x28e6e5(0x13c)],'after':{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':'failed','lookupCommand':_0x28e6e5(0x154),'targetId':_0x4ad048}});}let _0x4badf2;try{_0x4badf2=await fetchMenuSnapshot(_0x2cca6f[_0x28e6e5(0x145)],_0x2cca6f['cookie']);}catch(_0x12f89b){const _0x4878c4=describeMenuErrorCause(_0x12f89b,_0x28e6e5(0x16f),_0x4ad048),_0x4a36b8=asVerificationError(_0x12f89b,'Folder\x20'+_0x4ad048+_0x28e6e5(0x14a));throw menuFailure(_0x4a36b8,_0x522650,{'stage':_0x28e6e5(0x15d),'succeeded':[{'id':_0x4ad048,'created':!![],'path':_0x37e44f}],'failed':{'id':_0x4ad048,'finalFactsConfirmed':![],..._0x4878c4},'warnings':['Folder\x20'+_0x4ad048+_0x28e6e5(0x14b)+JSON[_0x28e6e5(0x161)](_0x37e44f)+_0x28e6e5(0x175)],'after':{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4ad048}});}const _0x23a3ce=_0x4badf2[_0x28e6e5(0x164)]['get'](_0x4ad048);let _0x866d80;try{assertVerified(Boolean(_0x23a3ce),_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x183)),_0x866d80=_0x23a3ce,assertVerified(_0x866d80[_0x28e6e5(0x155)]===_0x28e6e5(0x180),'Created\x20menu\x20'+_0x4ad048+_0x28e6e5(0x152)),assertVerified(_0x866d80[_0x28e6e5(0x141)]===_0x166c94['label'],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16c)),assertVerified(_0x866d80[_0x28e6e5(0x159)]===_0x37e44f&&Boolean(_0x866d80[_0x28e6e5(0x159)]['trim']()),_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16d)),assertVerified(_0x866d80[_0x28e6e5(0x151)]===!![],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x176)),assertVerified(_0x866d80[_0x28e6e5(0x158)][_0x28e6e5(0x14f)]===0x0,_0x28e6e5(0x148)+_0x4ad048+'\x20has\x20resources.'),assertVerified(_0x866d80[_0x28e6e5(0x153)]===0x0,_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x177)),assertVerified(_0x866d80[_0x28e6e5(0x143)]===_0x166c94['sort'],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x184)),assertVerified(_0x866d80['parentId']===_0x166c94[_0x28e6e5(0x174)],_0x28e6e5(0x148)+_0x4ad048+_0x28e6e5(0x16e)+(_0x866d80[_0x28e6e5(0x174)]??_0x28e6e5(0x15f))+'.'),assertVerified(_0x866d80[_0x28e6e5(0x156)]==null,'Created\x20folder\x20'+_0x4ad048+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x18a6dd=_0x866d80['parentId']==null?undefined:requireFolder(_0x4badf2,_0x866d80['parentId']);assertVerified(_0x866d80[_0x28e6e5(0x140)]===(_0x18a6dd?_0x18a6dd['depth']+0x1:0x0),'Created\x20folder\x20'+_0x4ad048+_0x28e6e5(0x14c));}catch(_0x2066ca){const _0x3c10b6=describeMenuErrorCause(_0x2066ca,_0x28e6e5(0x16f),_0x4ad048),_0x242a29=asVerificationError(_0x2066ca,_0x28e6e5(0x15b)+_0x4ad048+_0x28e6e5(0x13d));throw menuFailure(_0x242a29,_0x522650,{'stage':_0x28e6e5(0x15d),'succeeded':[{'id':_0x4ad048,'created':!![],'path':_0x37e44f}],'failed':{'id':_0x4ad048,'finalFactsConfirmed':![],..._0x3c10b6},'warnings':[_0x28e6e5(0x15b)+_0x4ad048+_0x28e6e5(0x160)],'after':_0x23a3ce??{..._0x166c94,'id':_0x4ad048,'path':_0x37e44f},'verification':{'status':_0x28e6e5(0x13a),'lookupCommand':_0x28e6e5(0x154),'targetId':_0x4ad048}});}const _0x34b99e=mutationResult({..._0x522650,'after':_0x866d80,'dryRun':![],'succeeded':[{'id':_0x4ad048,'type':_0x28e6e5(0x180),'path':_0x37e44f}],'verification':{'checkedBy':_0x28e6e5(0x168),'snapshotHash':_0x4badf2[_0x28e6e5(0x17f)],'folder':!![],'path':_0x37e44f,'emptyResources':!![]}});return{'ok':!![],'data':_0x34b99e,'message':_0x28e6e5(0x182)+_0x4ad048+'.'};}};function validateCreateInput(_0x1f86eb){const _0x1614ea=a111_0x5950e1,_0x323bfd=_0x1f86eb['str'](_0x1614ea(0x141))[_0x1614ea(0x144)]();if(!_0x323bfd)throw CliErrors['flagMissing'](_0x1614ea(0x141));parseParentId(_0x1f86eb,_0x1614ea(0x147)),validateSort(_0x1f86eb);}async function buildCreatePlan(_0x496c89,_0x5a8d0c){const _0x4706c7=a111_0x5950e1,_0x22c8a0=await fetchMutationSnapshot(_0x496c89,_0x4706c7(0x157)),_0x3b65cd=parseParentId(_0x496c89,'parent-id')??null;if(_0x3b65cd!=null)requireFolder(_0x22c8a0,_0x3b65cd);const _0x1afa79=validateSort(_0x496c89),_0x4cfd41=_0x1afa79??nextSiblingSort(_0x22c8a0,_0x3b65cd,_0x4706c7(0x180)),_0x5505b6=_0x496c89[_0x4706c7(0x15e)](_0x4706c7(0x141))[_0x4706c7(0x144)]();return mutationResult({'operation':_0x4706c7(0x173),'selector':{'label':_0x5505b6,'parentId':_0x3b65cd},'before':null,'after':{'id':null,'parentId':_0x3b65cd,'label':_0x5505b6,'path':_0x4706c7(0x17d),'type':'folder','visible':!![],'sort':_0x4cfd41,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5a8d0c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4706c7(0x13e),'method':_0x4706c7(0x179),'path':_0x4706c7(0x181),'body':{'parentId':toApiParentId(_0x3b65cd),'label':_0x5505b6,'type':'folder','visible':!![],'sort':_0x4cfd41,'extend':{}}}],'snapshotHash':_0x22c8a0[_0x4706c7(0x17f)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuGroupUpdate: CommandDefinition;
@@ -1 +1 @@
1
- const a112_0x4c8e19=a112_0x8ec7;(function(_0x29459a,_0x139348){const _0x553754=a112_0x8ec7,_0x586460=_0x29459a();while(!![]){try{const _0x311329=-parseInt(_0x553754(0x120))/0x1+-parseInt(_0x553754(0x137))/0x2+-parseInt(_0x553754(0x136))/0x3*(-parseInt(_0x553754(0x13d))/0x4)+-parseInt(_0x553754(0x141))/0x5+-parseInt(_0x553754(0x133))/0x6*(-parseInt(_0x553754(0x12c))/0x7)+-parseInt(_0x553754(0x125))/0x8+parseInt(_0x553754(0x126))/0x9;if(_0x311329===_0x139348)break;else _0x586460['push'](_0x586460['shift']());}catch(_0x247a8f){_0x586460['push'](_0x586460['shift']());}}}(a112_0x4068,0xeaf5f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a112_0x4068(){const _0x34b82e=['selector','string','label','type','4792800UewOZO','12136590cHxYbs','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','update','verification','--label\x20cannot\x20be\x20empty.','Would\x20update\x20folder\x20','679ManKvh','\x20is\x20no\x20longer\x20type\x20folder.','appCode','parentId','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','validation','\x20already\x20matches\x20the\x20requested\x20state.','59946WmOjik','trim','POST','1310271NmfggB','2280344jsiWgJ','\x20is\x20type\x20\x22','menu','high-risk-write','/smartapi/menu/update','menu_not_folder','12xGqMGk','menu\x20list','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','verify\x20folder\x20update','1231975NUXfmS','str','group-update','parent-id','hash','Update\x20request\x20for\x20folder\x20','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','update\x20folder','Menu\x20','Folder\x20','failed','folder','sort','cookie','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x22,\x20not\x20folder.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','679842rUgNMU'];a112_0x4068=function(){return _0x34b82e;};return a112_0x4068();}function a112_0x8ec7(_0x4f7e62,_0x47dd70){_0x4f7e62=_0x4f7e62-0x11a;const _0x4068b7=a112_0x4068();let _0x8ec7be=_0x4068b7[_0x4f7e62];return _0x8ec7be;}const BACKEND=[{'method':'POST','path':a112_0x4c8e19(0x13b)}];export const menuGroupUpdate={'service':a112_0x4c8e19(0x139),'command':a112_0x4c8e19(0x143),'description':a112_0x4c8e19(0x147),'risk':a112_0x4c8e19(0x13a),'structuredErrors':!![],'rejectedFlags':[{'name':a112_0x4c8e19(0x144),'message':a112_0x4c8e19(0x130),'hint':a112_0x4c8e19(0x11f)}],'flags':[MENU_ID_FLAG,{'name':a112_0x4c8e19(0x123),'type':a112_0x4c8e19(0x122),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4db489){validateUpdateInput(_0x4db489),requireExplicitYes(_0x4db489);},async 'dryRun'(_0xf8c50e){const _0x553b76=a112_0x4c8e19;validateUpdateInput(_0xf8c50e);const {plan:_0x34c7f5,patch:_0x3b7b32}=await buildUpdatePlan(_0xf8c50e,!![]);return menuDryRunResult(_0x34c7f5,{'method':_0x553b76(0x135),'url':_0x553b76(0x13b),'body':_0x3b7b32,'description':_0x553b76(0x12b)+_0x34c7f5[_0x553b76(0x121)]['id']+'.'});},async 'execute'(_0x4b986e){const _0x309b04=a112_0x4c8e19;validateUpdateInput(_0x4b986e),requireExplicitYes(_0x4b986e);const {plan:_0x4bd59b,patch:_0x35453b,noChanges:_0x4c3ab4}=await buildUpdatePlan(_0x4b986e,![]),_0x988305=Number(_0x4bd59b[_0x309b04(0x121)]['id']),_0x326b26=await recheckMutationSnapshot(_0x4b986e,_0x4bd59b,_0x309b04(0x148),_0x988305);if(!_0x4c3ab4)try{await updateMenuEntity(_0x4b986e['appCode'],_0x4b986e[_0x309b04(0x11a)],_0x35453b);}catch(_0xacfa5c){const _0x2dc09d=mapMenuApiError(_0xacfa5c,_0x309b04(0x148),_0x988305);throw menuFailure(_0x2dc09d,_0x4bd59b,{'stage':_0x309b04(0x128),'failed':{'id':_0x988305}});}let _0x4abe56=_0x326b26,_0x36e68a;try{!_0x4c3ab4&&(_0x4abe56=await fetchMenuSnapshot(_0x4b986e[_0x309b04(0x12e)],_0x4b986e[_0x309b04(0x11a)])),_0x36e68a=requireMenu(_0x4abe56,_0x988305),verifyPatch(_0x36e68a,_0x35453b),_0x36e68a[_0x309b04(0x12f)]!=null&&requireFolder(_0x4abe56,_0x36e68a[_0x309b04(0x12f)]);}catch(_0x46e7ea){const _0x23b247=describeMenuErrorCause(_0x46e7ea,_0x309b04(0x140),_0x988305),_0x1417cf=asVerificationError(_0x46e7ea,_0x309b04(0x146)+_0x988305+_0x309b04(0x13f));throw menuFailure(_0x1417cf,_0x4bd59b,{'stage':_0x309b04(0x129),'succeeded':[{'id':_0x988305,'updateRequested':!_0x4c3ab4,'skipped':_0x4c3ab4}],'failed':{'id':_0x988305,'requestedStateConfirmed':![],..._0x23b247},'warnings':[_0x309b04(0x127)],'verification':{'status':_0x309b04(0x14b),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x988305}});}const _0x2e10de=mutationResult({..._0x4bd59b,'after':_0x36e68a,'dryRun':![],'succeeded':[{'id':_0x988305,'updated':!_0x4c3ab4,'skipped':_0x4c3ab4}],'verification':{'checkedBy':_0x309b04(0x13e),'snapshotHash':_0x4abe56[_0x309b04(0x145)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2e10de,'message':_0x4c3ab4?_0x309b04(0x14a)+_0x988305+_0x309b04(0x132):'Updated\x20folder\x20'+_0x988305+'.'};}};function validateUpdateInput(_0x553782){const _0x3d9f8a=a112_0x4c8e19;validateExactId(_0x553782);if(hasFlag(_0x553782,_0x3d9f8a(0x144)))throw CliErrors['validation'](_0x3d9f8a(0x130),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x553782,_0x3d9f8a(0x123))&&!hasFlag(_0x553782,_0x3d9f8a(0x14d)))throw CliErrors[_0x3d9f8a(0x131)](_0x3d9f8a(0x11e));if(hasFlag(_0x553782,_0x3d9f8a(0x123))&&!_0x553782['str'](_0x3d9f8a(0x123))[_0x3d9f8a(0x134)]())throw CliErrors[_0x3d9f8a(0x131)](_0x3d9f8a(0x12a));validateSort(_0x553782);}async function buildUpdatePlan(_0x1ae6a4,_0x269821){const _0xc99a4f=a112_0x4c8e19,_0x2fdfac=validateExactId(_0x1ae6a4),_0x5a5999=await fetchMutationSnapshot(_0x1ae6a4,'update\x20folder',_0x2fdfac),_0x38c4a8=requireMenu(_0x5a5999,_0x2fdfac);if(_0x38c4a8[_0xc99a4f(0x124)]!==_0xc99a4f(0x14c))throw menuError(_0xc99a4f(0x13c),_0xc99a4f(0x149)+_0x2fdfac+_0xc99a4f(0x138)+(_0x38c4a8[_0xc99a4f(0x124)]||'unknown')+_0xc99a4f(0x11c),_0xc99a4f(0x11b));assertExpectedState(_0x1ae6a4,_0x38c4a8);const _0x3604ac={'id':_0x2fdfac},_0x31dee9={..._0x38c4a8};if(hasFlag(_0x1ae6a4,_0xc99a4f(0x123))){const _0x4c38e6=_0x1ae6a4[_0xc99a4f(0x142)](_0xc99a4f(0x123))[_0xc99a4f(0x134)]();_0x3604ac[_0xc99a4f(0x123)]=_0x4c38e6,_0x31dee9['label']=_0x4c38e6;}if(hasFlag(_0x1ae6a4,_0xc99a4f(0x14d))){const _0x5a6e3e=validateSort(_0x1ae6a4);_0x3604ac[_0xc99a4f(0x14d)]=_0x5a6e3e,_0x31dee9[_0xc99a4f(0x14d)]=_0x5a6e3e;}const _0x4e2c50=sameRequestedState(_0x38c4a8,_0x31dee9),_0x245f01=_0x4e2c50?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x3604ac,'noChanges':_0x4e2c50,'plan':mutationResult({'operation':_0xc99a4f(0x143),'selector':{'id':_0x2fdfac},'before':_0x38c4a8,'after':_0x31dee9,'dryRun':_0x269821,'backend':[...BACKEND],'snapshotHash':_0x5a5999['hash'],'warnings':_0x245f01})};}function sameRequestedState(_0x4ffce3,_0x308473){const _0x294818=a112_0x4c8e19;return _0x4ffce3['label']===_0x308473['label']&&_0x4ffce3[_0x294818(0x14d)]===_0x308473[_0x294818(0x14d)];}function verifyPatch(_0x92ab2a,_0x2ba525){const _0xb4aa8d=a112_0x4c8e19;assertVerified(_0x92ab2a[_0xb4aa8d(0x124)]===_0xb4aa8d(0x14c),_0xb4aa8d(0x149)+_0x92ab2a['id']+_0xb4aa8d(0x12d)),_0x2ba525[_0xb4aa8d(0x123)]!==undefined&&assertVerified(_0x92ab2a[_0xb4aa8d(0x123)]===_0x2ba525[_0xb4aa8d(0x123)],'Folder\x20'+_0x92ab2a['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x2ba525[_0xb4aa8d(0x14d)]!==undefined&&assertVerified(_0x92ab2a['sort']===_0x2ba525['sort'],'Folder\x20'+_0x92ab2a['id']+_0xb4aa8d(0x11d));}
1
+ function a112_0x2e1e(){const _0x1fbc45=['hash','117FGWpsB','Menu\x20','group-update','966020HBPPCH','Folder\x20','364510PiCxiB','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu','selector','3095640ovSHvp','verify\x20folder\x20update','parent-id','failed','12LAKKrx','appCode','str','menu\x20list','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','/smartapi/menu/update','string','validation','parentId','--label\x20cannot\x20be\x20empty.','verification','rabetbase\x20menu\x20list\x20--format\x20json','write','74015hDjwkv','1245636evNoXW','folder','\x22,\x20not\x20folder.','update\x20folder','Updated\x20folder\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','type','menu_not_folder','update','404824eMOcyd','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','label','sort','trim','No\x20online\x20fields\x20would\x20change.','\x20label\x20update\x20did\x20not\x20take\x20effect.','124552gGkVxc','30pwpkAQ','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','Would\x20update\x20folder\x20','cookie'];a112_0x2e1e=function(){return _0x1fbc45;};return a112_0x2e1e();}const a112_0x39c72a=a112_0x137a;(function(_0x1009d3,_0x325fe2){const _0x49309e=a112_0x137a,_0x539cbd=_0x1009d3();while(!![]){try{const _0x15976c=parseInt(_0x49309e(0x140))/0x1+parseInt(_0x49309e(0x14a))/0x2+-parseInt(_0x49309e(0x152))/0x3*(parseInt(_0x49309e(0x151))/0x4)+parseInt(_0x49309e(0x15a))/0x5+parseInt(_0x49309e(0x133))/0x6*(parseInt(_0x49309e(0x141))/0x7)+-parseInt(_0x49309e(0x12f))/0x8+-parseInt(_0x49309e(0x157))/0x9*(-parseInt(_0x49309e(0x15c))/0xa);if(_0x15976c===_0x325fe2)break;else _0x539cbd['push'](_0x539cbd['shift']());}catch(_0x586c1d){_0x539cbd['push'](_0x539cbd['shift']());}}}(a112_0x2e1e,0x92bdf));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a112_0x39c72a(0x138)}];export const menuGroupUpdate={'service':a112_0x39c72a(0x12d),'command':a112_0x39c72a(0x159),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a112_0x39c72a(0x13f),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a112_0x39c72a(0x14c),'type':a112_0x39c72a(0x139),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf4d83){validateUpdateInput(_0xf4d83);},async 'dryRun'(_0x5ea270){const _0x5670c3=a112_0x39c72a;validateUpdateInput(_0x5ea270);const {plan:_0x2d1402,patch:_0x4f4849}=await buildUpdatePlan(_0x5ea270,!![]);return menuDryRunResult(_0x2d1402,{'method':'POST','url':'/smartapi/menu/update','body':_0x4f4849,'description':_0x5670c3(0x154)+_0x2d1402[_0x5670c3(0x12e)]['id']+'.'});},async 'execute'(_0x1492c7){const _0x30f840=a112_0x39c72a;validateUpdateInput(_0x1492c7);const {plan:_0x368584,patch:_0x43f6d3,noChanges:_0x4a7443}=await buildUpdatePlan(_0x1492c7,![]),_0x22b81a=Number(_0x368584[_0x30f840(0x12e)]['id']),_0x5d8f8c=await recheckMutationSnapshot(_0x1492c7,_0x368584,_0x30f840(0x144),_0x22b81a);if(!_0x4a7443)try{await updateMenuEntity(_0x1492c7[_0x30f840(0x134)],_0x1492c7[_0x30f840(0x155)],_0x43f6d3);}catch(_0x1fe978){const _0x20c902=mapMenuApiError(_0x1fe978,_0x30f840(0x144),_0x22b81a);throw menuFailure(_0x20c902,_0x368584,{'stage':_0x30f840(0x149),'failed':{'id':_0x22b81a}});}let _0x28aa5f=_0x5d8f8c,_0x3fabb7;try{!_0x4a7443&&(_0x28aa5f=await fetchMenuSnapshot(_0x1492c7[_0x30f840(0x134)],_0x1492c7[_0x30f840(0x155)])),_0x3fabb7=requireMenu(_0x28aa5f,_0x22b81a),verifyPatch(_0x3fabb7,_0x43f6d3),_0x3fabb7[_0x30f840(0x13b)]!=null&&requireFolder(_0x28aa5f,_0x3fabb7[_0x30f840(0x13b)]);}catch(_0x57fcde){const _0x4313c7=describeMenuErrorCause(_0x57fcde,_0x30f840(0x130),_0x22b81a),_0x432c43=asVerificationError(_0x57fcde,'Update\x20request\x20for\x20folder\x20'+_0x22b81a+_0x30f840(0x15d));throw menuFailure(_0x432c43,_0x368584,{'stage':_0x30f840(0x13d),'succeeded':[{'id':_0x22b81a,'updateRequested':!_0x4a7443,'skipped':_0x4a7443}],'failed':{'id':_0x22b81a,'requestedStateConfirmed':![],..._0x4313c7},'warnings':[_0x30f840(0x14b)],'verification':{'status':_0x30f840(0x132),'lookupCommand':_0x30f840(0x13e),'targetId':_0x22b81a}});}const _0x5e8760=mutationResult({..._0x368584,'after':_0x3fabb7,'dryRun':![],'succeeded':[{'id':_0x22b81a,'updated':!_0x4a7443,'skipped':_0x4a7443}],'verification':{'checkedBy':_0x30f840(0x136),'snapshotHash':_0x28aa5f[_0x30f840(0x156)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x5e8760,'message':_0x4a7443?_0x30f840(0x15b)+_0x22b81a+'\x20already\x20matches\x20the\x20requested\x20state.':_0x30f840(0x145)+_0x22b81a+'.'};}};function validateUpdateInput(_0x41b316){const _0x938d6f=a112_0x39c72a;validateExactId(_0x41b316);if(hasFlag(_0x41b316,_0x938d6f(0x131)))throw CliErrors[_0x938d6f(0x13a)](_0x938d6f(0x137),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x41b316,'label')&&!hasFlag(_0x41b316,'sort'))throw CliErrors[_0x938d6f(0x13a)](_0x938d6f(0x153));if(hasFlag(_0x41b316,_0x938d6f(0x14c))&&!_0x41b316[_0x938d6f(0x135)](_0x938d6f(0x14c))['trim']())throw CliErrors['validation'](_0x938d6f(0x13c));validateSort(_0x41b316);}async function buildUpdatePlan(_0x311e4b,_0x27de88){const _0x388eda=a112_0x39c72a,_0x2ed841=validateExactId(_0x311e4b),_0x4eb42b=await fetchMutationSnapshot(_0x311e4b,_0x388eda(0x144),_0x2ed841),_0xc1a3f5=requireMenu(_0x4eb42b,_0x2ed841);if(_0xc1a3f5[_0x388eda(0x147)]!==_0x388eda(0x142))throw menuError(_0x388eda(0x148),_0x388eda(0x158)+_0x2ed841+'\x20is\x20type\x20\x22'+(_0xc1a3f5[_0x388eda(0x147)]||'unknown')+_0x388eda(0x143),_0x388eda(0x146));assertExpectedState(_0x311e4b,_0xc1a3f5);const _0x33d570={'id':_0x2ed841},_0x16496f={..._0xc1a3f5};if(hasFlag(_0x311e4b,_0x388eda(0x14c))){const _0x16764d=_0x311e4b[_0x388eda(0x135)](_0x388eda(0x14c))[_0x388eda(0x14e)]();_0x33d570[_0x388eda(0x14c)]=_0x16764d,_0x16496f['label']=_0x16764d;}if(hasFlag(_0x311e4b,_0x388eda(0x14d))){const _0x497022=validateSort(_0x311e4b);_0x33d570[_0x388eda(0x14d)]=_0x497022,_0x16496f['sort']=_0x497022;}const _0x2bae78=sameRequestedState(_0xc1a3f5,_0x16496f),_0x88322f=_0x2bae78?[_0x388eda(0x14f)]:[];return{'patch':_0x33d570,'noChanges':_0x2bae78,'plan':mutationResult({'operation':_0x388eda(0x159),'selector':{'id':_0x2ed841},'before':_0xc1a3f5,'after':_0x16496f,'dryRun':_0x27de88,'backend':[...BACKEND],'snapshotHash':_0x4eb42b[_0x388eda(0x156)],'warnings':_0x88322f})};}function sameRequestedState(_0x410de8,_0x273b7a){const _0xaaa30c=a112_0x39c72a;return _0x410de8['label']===_0x273b7a[_0xaaa30c(0x14c)]&&_0x410de8[_0xaaa30c(0x14d)]===_0x273b7a[_0xaaa30c(0x14d)];}function a112_0x137a(_0x2c41f5,_0x2807f6){_0x2c41f5=_0x2c41f5-0x12d;const _0x2e1e79=a112_0x2e1e();let _0x137ad0=_0x2e1e79[_0x2c41f5];return _0x137ad0;}function verifyPatch(_0x1cac59,_0x133c0e){const _0x193cb3=a112_0x39c72a;assertVerified(_0x1cac59[_0x193cb3(0x147)]===_0x193cb3(0x142),_0x193cb3(0x158)+_0x1cac59['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x133c0e[_0x193cb3(0x14c)]!==undefined&&assertVerified(_0x1cac59[_0x193cb3(0x14c)]===_0x133c0e[_0x193cb3(0x14c)],_0x193cb3(0x15b)+_0x1cac59['id']+_0x193cb3(0x150)),_0x133c0e[_0x193cb3(0x14d)]!==undefined&&assertVerified(_0x1cac59[_0x193cb3(0x14d)]===_0x133c0e[_0x193cb3(0x14d)],_0x193cb3(0x15b)+_0x1cac59['id']+'\x20sort\x20update\x20did\x20not\x20take\x20effect.');}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * menu 命令组 —— 声明式命令定义导出
3
+ *
4
+ * menu list: 查询线上菜单事实(只读)
5
+ * menu external-link-create: 创建外部网站链接菜单
6
+ * menu external-link-update: 原地更新一个 iframe/link 叶子菜单的 URL
7
+ * menu rename: 按 ID 原地修改任意类型菜单的名称
8
+ * menu sync: 将本地页面同步到平台(交互式 checkbox 或静默 --yes/--params)
9
+ * menu asset-update: 批量更新线上菜单的 CDN 资源 URL
10
+ *
11
+ * 相比 legacy CommandModule(menu.tsx):
12
+ * - 声明式 flags,自动生成帮助文本
13
+ * - 走 framework/runner 管线(risk 检查、dryRun 支持等)
14
+ * - 交互式使用 @inquirer/prompts,不再依赖 Ink
15
+ */
16
+ import type { CommandDefinition } from "../../framework/types.js";
17
+ export declare const menuDefinitions: CommandDefinition[];
@@ -1 +1 @@
1
- (function(_0x357cf7,_0x4aa98c){const _0x5b5681=a113_0x1bc6,_0x1c2ff2=_0x357cf7();while(!![]){try{const _0x3eb30f=-parseInt(_0x5b5681(0x1a6))/0x1*(-parseInt(_0x5b5681(0x1a7))/0x2)+-parseInt(_0x5b5681(0x1a4))/0x3+-parseInt(_0x5b5681(0x1a5))/0x4*(-parseInt(_0x5b5681(0x19f))/0x5)+parseInt(_0x5b5681(0x19d))/0x6+parseInt(_0x5b5681(0x1a2))/0x7+-parseInt(_0x5b5681(0x1a3))/0x8*(parseInt(_0x5b5681(0x1a0))/0x9)+-parseInt(_0x5b5681(0x1a1))/0xa*(-parseInt(_0x5b5681(0x19e))/0xb);if(_0x3eb30f===_0x4aa98c)break;else _0x1c2ff2['push'](_0x1c2ff2['shift']());}catch(_0x252b88){_0x1c2ff2['push'](_0x1c2ff2['shift']());}}}(a113_0x3af6,0xa8a97));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';function a113_0x3af6(){const _0x34cddb=['998340vCpMYA','825VVBgXq','2558915MnJVJy','9FoAaNJ','231930PvHIEQ','1250270ocGCxa','6315560zlIRiY','3637146NqVcTf','4JguojY','4QzkdOz','48204EvaohJ'];a113_0x3af6=function(){return _0x34cddb;};return a113_0x3af6();}import{menuRename}from'../../commands/menu/rename.js';function a113_0x1bc6(_0x31214c,_0x1efd3d){_0x31214c=_0x31214c-0x19d;const _0x3af6d1=a113_0x3af6();let _0x1bc666=_0x3af6d1[_0x31214c];return _0x1bc666;}export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ (function(_0x3bfbdc,_0x5f46dd){const _0x126392=a113_0x3fd8,_0x7aec1f=_0x3bfbdc();while(!![]){try{const _0x376b42=-parseInt(_0x126392(0x6a))/0x1+-parseInt(_0x126392(0x67))/0x2+parseInt(_0x126392(0x6d))/0x3*(parseInt(_0x126392(0x6c))/0x4)+parseInt(_0x126392(0x6e))/0x5+parseInt(_0x126392(0x65))/0x6*(-parseInt(_0x126392(0x68))/0x7)+-parseInt(_0x126392(0x66))/0x8+-parseInt(_0x126392(0x6b))/0x9*(-parseInt(_0x126392(0x69))/0xa);if(_0x376b42===_0x5f46dd)break;else _0x7aec1f['push'](_0x7aec1f['shift']());}catch(_0x5bb302){_0x7aec1f['push'](_0x7aec1f['shift']());}}}(a113_0x3769,0x663b1));function a113_0x3fd8(_0x1cac86,_0x2b0d16){_0x1cac86=_0x1cac86-0x65;const _0x376971=a113_0x3769();let _0x3fd837=_0x376971[_0x1cac86];return _0x3fd837;}import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';function a113_0x3769(){const _0xcce825=['396wDurDa','3014030tFUysG','6Jmence','2471448qNlwCo','1305046KyLHkN','4015298BQiqVB','80OQNxgf','833665rDHjYc','2051154aZavHq','10952oGSNzl'];a113_0x3769=function(){return _0xcce825;};return a113_0x3769();}import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuList: CommandDefinition;
@@ -1 +1 @@
1
- function a114_0x4bbc(_0xec02e4,_0x4975b5){_0xec02e4=_0xec02e4-0x185;const _0x55d1e1=a114_0x55d1();let _0x4bbc42=_0x55d1e1[_0xec02e4];return _0x4bbc42;}const a114_0x15e480=a114_0x4bbc;(function(_0x5eda70,_0x4f0a17){const _0x91cb16=a114_0x4bbc,_0xb167cd=_0x5eda70();while(!![]){try{const _0x44cb8e=parseInt(_0x91cb16(0x191))/0x1+-parseInt(_0x91cb16(0x195))/0x2*(parseInt(_0x91cb16(0x18a))/0x3)+parseInt(_0x91cb16(0x18c))/0x4*(-parseInt(_0x91cb16(0x188))/0x5)+-parseInt(_0x91cb16(0x199))/0x6+parseInt(_0x91cb16(0x18b))/0x7*(-parseInt(_0x91cb16(0x197))/0x8)+-parseInt(_0x91cb16(0x19c))/0x9+parseInt(_0x91cb16(0x18f))/0xa;if(_0x44cb8e===_0x4f0a17)break;else _0xb167cd['push'](_0xb167cd['shift']());}catch(_0x507795){_0xb167cd['push'](_0xb167cd['shift']());}}}(a114_0x55d1,0xdc61a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a114_0x55d1(){const _0x2d5f85=['read','11447415oZFuHU','hash','list','menus','1135skRCdq','map','1878pZLfAc','136577gogudr','12076fOntbl','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','appCode','53477830Ooixld','verbose','878634KnAJAB','No\x20menus\x20found.','\x20menu(s)','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','1570yTErvU','boolean','464tTYXIM','cookie','10460634ttYzUM','total'];a114_0x55d1=function(){return _0x2d5f85;};return a114_0x55d1();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':a114_0x15e480(0x186),'description':a114_0x15e480(0x194),'risk':a114_0x15e480(0x19b),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a114_0x15e480(0x190),'type':a114_0x15e480(0x196),'description':a114_0x15e480(0x18d)}],async 'execute'(_0x4bc044){const _0x1c6017=a114_0x15e480,_0x383109=_0x4bc044['bool'](_0x1c6017(0x190)),_0x5f16e8=await fetchMenuSnapshot(_0x4bc044[_0x1c6017(0x18e)],_0x4bc044[_0x1c6017(0x198)],{'verbose':_0x383109});return{'ok':!![],'data':{'total':_0x5f16e8[_0x1c6017(0x19a)],'snapshotHash':_0x5f16e8[_0x1c6017(0x185)],'menus':_0x5f16e8[_0x1c6017(0x187)][_0x1c6017(0x189)](toMenuListItem)},'message':_0x5f16e8[_0x1c6017(0x19a)]===0x0?_0x1c6017(0x192):'Found\x20'+_0x5f16e8[_0x1c6017(0x19a)]+_0x1c6017(0x193)};}};
1
+ const a114_0x2b2267=a114_0x372a;(function(_0x2113ed,_0x4c26c3){const _0x1547cb=a114_0x372a,_0x8cfaae=_0x2113ed();while(!![]){try{const _0x46e011=-parseInt(_0x1547cb(0x83))/0x1*(parseInt(_0x1547cb(0x80))/0x2)+parseInt(_0x1547cb(0x8d))/0x3+parseInt(_0x1547cb(0x86))/0x4*(-parseInt(_0x1547cb(0x7f))/0x5)+-parseInt(_0x1547cb(0x7d))/0x6*(-parseInt(_0x1547cb(0x84))/0x7)+parseInt(_0x1547cb(0x8c))/0x8+parseInt(_0x1547cb(0x7b))/0x9+parseInt(_0x1547cb(0x7c))/0xa*(-parseInt(_0x1547cb(0x82))/0xb);if(_0x46e011===_0x4c26c3)break;else _0x8cfaae['push'](_0x8cfaae['shift']());}catch(_0x1118d7){_0x8cfaae['push'](_0x8cfaae['shift']());}}}(a114_0x5575,0x4db33));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a114_0x372a(_0x32e994,_0x516c4e){_0x32e994=_0x32e994-0x78;const _0x5575f9=a114_0x5575();let _0x372a44=_0x5575f9[_0x32e994];return _0x372a44;}function a114_0x5575(){const _0x16ff14=['menu','366305pQNinV','2oBnMof','verbose','209wGAzVz','270223otiShB','1071FwyfRq','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','28otOVfY','list','total','\x20menu(s)','No\x20menus\x20found.','hash','3079960XjlcIM','1183341HTFqCq','menus','boolean','Found\x20','cookie','appCode','map','5325057RnvRVK','308290vMtcmv','12390zqvqwU'];a114_0x5575=function(){return _0x16ff14;};return a114_0x5575();}export const menuList={'service':a114_0x2b2267(0x7e),'command':a114_0x2b2267(0x87),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a114_0x2b2267(0x81),'type':a114_0x2b2267(0x8f),'description':a114_0x2b2267(0x85)}],async 'execute'(_0x459d5a){const _0x6a5ec=a114_0x2b2267,_0x3447df=_0x459d5a['bool'](_0x6a5ec(0x81)),_0x5cc7dd=await fetchMenuSnapshot(_0x459d5a[_0x6a5ec(0x79)],_0x459d5a[_0x6a5ec(0x78)],{'verbose':_0x3447df});return{'ok':!![],'data':{'total':_0x5cc7dd[_0x6a5ec(0x88)],'snapshotHash':_0x5cc7dd[_0x6a5ec(0x8b)],'menus':_0x5cc7dd[_0x6a5ec(0x8e)][_0x6a5ec(0x7a)](toMenuListItem)},'message':_0x5cc7dd[_0x6a5ec(0x88)]===0x0?_0x6a5ec(0x8a):_0x6a5ec(0x90)+_0x5cc7dd[_0x6a5ec(0x88)]+_0x6a5ec(0x89)};}};
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuMove: CommandDefinition;
@@ -1 +1 @@
1
- const a115_0xd753d6=a115_0x11b9;function a115_0x11b9(_0x31b347,_0x9cd7c5){_0x31b347=_0x31b347-0xf8;const _0x222782=a115_0x2227();let _0x11b9c5=_0x222782[_0x31b347];return _0x11b9c5;}(function(_0x3897b1,_0x321fb5){const _0x37f193=a115_0x11b9,_0x1205fa=_0x3897b1();while(!![]){try{const _0x302719=parseInt(_0x37f193(0x113))/0x1*(parseInt(_0x37f193(0xf8))/0x2)+-parseInt(_0x37f193(0x108))/0x3*(-parseInt(_0x37f193(0x125))/0x4)+-parseInt(_0x37f193(0x111))/0x5+-parseInt(_0x37f193(0x124))/0x6+-parseInt(_0x37f193(0xf9))/0x7+parseInt(_0x37f193(0x110))/0x8+-parseInt(_0x37f193(0x105))/0x9*(-parseInt(_0x37f193(0x104))/0xa);if(_0x302719===_0x321fb5)break;else _0x1205fa['push'](_0x1205fa['shift']());}catch(_0x365545){_0x1205fa['push'](_0x1205fa['shift']());}}}(a115_0x2227,0xdadcf));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireExplicitYes,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a115_0x2227(){const _0x55e2d0=['\x20is\x20now\x20type\x20folder.','2403448qWrYgR','8530925ZqvbnD','parent-id','2UADNxP','menu_state_drift','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20is\x20no\x20longer\x20a\x20leaf.','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','\x20parent\x20changed:\x20expected\x20','failed','Menu\x20','high-risk-write','cookie','expect-parent-id','menu','Would\x20move\x20menu\x20','menu_move_source_not_leaf','type','hash','childrenCount','6917550ReEFTN','2499260WQWgHJ','Moved\x20menu\x20','POST','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','1413990HeaXLS','9573312ICXVcN','move\x20menu','parentId','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','move-menu','folder','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','after','verify\x20menu\x20move','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','move','2290BJYiFp','109413hOKNcz','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Move\x20request\x20for\x20menu\x20','3kHlNmh','appCode','sort','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','rabetbase\x20menu\x20list\x20--format\x20compress','verification','/smartapi/menu/update'];a115_0x2227=function(){return _0x55e2d0;};return a115_0x2227();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a115_0xd753d6(0x127),'path':a115_0xd753d6(0x10e)}];export const menuMove={'service':a115_0xd753d6(0x11e),'command':a115_0xd753d6(0x103),'description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':a115_0xd753d6(0x11b),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x284d27){validateMoveInput(_0x284d27),requireExplicitYes(_0x284d27);},async 'dryRun'(_0x5e7501){const _0x25b23f=a115_0xd753d6,{plan:_0x234ad5,patch:_0x3277f}=await buildMovePlan(_0x5e7501,!![]);return menuDryRunResult(_0x234ad5,{'method':'POST','url':_0x25b23f(0x10e),'body':{..._0x3277f,'appCode':_0x5e7501[_0x25b23f(0x109)]},'description':_0x25b23f(0x11f)+_0x3277f['id']+'.'});},async 'execute'(_0x351f78){const _0x219e04=a115_0xd753d6;validateMoveInput(_0x351f78),requireExplicitYes(_0x351f78);const {plan:_0x891051,patch:_0xc68efc,noChanges:_0x5e69e1,snapshot:_0xe05a40}=await buildMovePlan(_0x351f78,![]),_0x168284=_0xc68efc['id'];if(!_0x5e69e1)try{await updateMenuEntity(_0x351f78[_0x219e04(0x109)],_0x351f78[_0x219e04(0x11c)],_0xc68efc);}catch(_0x404052){const _0x590109=mapMenuApiError(_0x404052,_0x219e04(0x103),_0x168284);throw menuFailure(_0x590109,_0x891051,{'stage':'update','failed':{'id':_0x168284},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x219e04(0x119),'targetId':_0x168284,'lookupCommand':_0x219e04(0x10c)}});}let _0x657d29,_0x4cf84b;try{_0x657d29=_0x5e69e1?_0xe05a40:await fetchMenuSnapshot(_0x351f78[_0x219e04(0x109)],_0x351f78[_0x219e04(0x11c)]),_0x4cf84b=requireMenu(_0x657d29,_0x168284),verifyMove(_0x4cf84b,_0x891051[_0x219e04(0x100)]),_0x4cf84b[_0x219e04(0xfb)]!==null&&requireFolder(_0x657d29,_0x4cf84b[_0x219e04(0xfb)]);}catch(_0x265c88){const _0x5d771a=describeMenuErrorCause(_0x265c88,_0x219e04(0x101),_0x168284),_0x58fc7f=asVerificationError(_0x265c88,_0x219e04(0x107)+_0x168284+_0x219e04(0x102));throw menuFailure(_0x58fc7f,_0x891051,{'stage':_0x219e04(0x10d),'succeeded':[{'id':_0x168284,'updateRequested':!_0x5e69e1,'skipped':_0x5e69e1}],'failed':{'id':_0x168284,'requestedStateConfirmed':![],..._0x5d771a},'warnings':[_0x219e04(0x115)],'verification':{'status':_0x219e04(0x119),'targetId':_0x168284,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x1078a1=mutationResult({..._0x891051,'after':_0x4cf84b,'dryRun':![],'succeeded':[{'id':_0x168284,'updated':!_0x5e69e1,'skipped':_0x5e69e1}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x657d29[_0x219e04(0x122)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x1078a1,'message':_0x5e69e1?_0x219e04(0x11a)+_0x168284+_0x219e04(0x106):_0x219e04(0x126)+_0x168284+'.'};}};function validateMoveInput(_0x308d79){const _0x68f640=a115_0xd753d6;validateExactId(_0x308d79),parseParentId(_0x308d79,_0x68f640(0x112),{'required':!![]}),parseParentId(_0x308d79,_0x68f640(0x11d),{'required':!![]}),validateSort(_0x308d79);}async function buildMovePlan(_0x57d33c,_0x1d13dc){const _0x411feb=a115_0xd753d6,_0x5107d0=validateExactId(_0x57d33c),_0x4bf2b2=parseParentId(_0x57d33c,'parent-id',{'required':!![]}),_0x53bee5=parseParentId(_0x57d33c,_0x411feb(0x11d),{'required':!![]}),_0x5cbe85=validateSort(_0x57d33c),_0x440ea6=await fetchMutationSnapshot(_0x57d33c,_0x411feb(0xfa),_0x5107d0),_0x3a835c=requireMenu(_0x440ea6,_0x5107d0);if(_0x3a835c[_0x411feb(0x121)]==='folder'||_0x3a835c[_0x411feb(0x123)]!==0x0)throw menuError(_0x411feb(0x120),_0x411feb(0x11a)+_0x5107d0+_0x411feb(0xff),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x3a835c[_0x411feb(0xfb)]!==_0x53bee5)throw menuError(_0x411feb(0x114),_0x411feb(0x11a)+_0x5107d0+_0x411feb(0x118)+formatParent(_0x53bee5)+',\x20current\x20'+formatParent(_0x3a835c[_0x411feb(0xfb)])+'.',_0x411feb(0xfc));_0x4bf2b2!==null&&requireFolder(_0x440ea6,_0x4bf2b2);const _0xeaea09=_0x5cbe85??(_0x3a835c[_0x411feb(0xfb)]===_0x4bf2b2?_0x3a835c[_0x411feb(0x10a)]??0x0:nextSiblingSort(_0x440ea6,_0x4bf2b2,_0x411feb(0x11e))),_0x38bf54={..._0x3a835c,'parentId':_0x4bf2b2,'sort':_0xeaea09},_0x374998={'id':_0x5107d0,'parentId':toApiParentId(_0x4bf2b2),'sort':_0xeaea09},_0x4d9f96=_0x3a835c[_0x411feb(0xfb)]===_0x4bf2b2&&_0x3a835c['sort']===_0xeaea09;return{'patch':_0x374998,'noChanges':_0x4d9f96,'snapshot':_0x440ea6,'plan':mutationResult({'operation':_0x411feb(0x103),'selector':{'id':_0x5107d0,'parentId':_0x4bf2b2},'before':_0x3a835c,'after':_0x38bf54,'dryRun':_0x1d13dc,'backend':[...BACKEND],'plannedActions':[{'stage':_0x411feb(0xfd),'method':'POST','path':_0x411feb(0x10e),'body':{..._0x374998,'appCode':_0x57d33c['appCode']}}],'snapshotHash':_0x440ea6[_0x411feb(0x122)],'warnings':_0x4d9f96?[_0x411feb(0x128)]:[]})};}function verifyMove(_0x420bc9,_0x3b5f7a){const _0x579e87=a115_0xd753d6;assertVerified(_0x420bc9[_0x579e87(0x121)]!==_0x579e87(0xfe),_0x579e87(0x11a)+_0x420bc9['id']+_0x579e87(0x10f)),assertVerified(_0x420bc9[_0x579e87(0x123)]===0x0,_0x579e87(0x11a)+_0x420bc9['id']+_0x579e87(0x116)),assertVerified(_0x420bc9['parentId']===_0x3b5f7a[_0x579e87(0xfb)],_0x579e87(0x11a)+_0x420bc9['id']+_0x579e87(0x10b)),assertVerified(_0x420bc9[_0x579e87(0x10a)]===_0x3b5f7a[_0x579e87(0x10a)],_0x579e87(0x11a)+_0x420bc9['id']+_0x579e87(0x117));}
1
+ function a115_0x2dec(){const _0x5b02bf=['failed','childrenCount','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','parentId','40076390IuHQqb','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','155HbunGl','menu_state_drift','menu_move_source_not_leaf','4848930LTwouJ','move\x20menu',',\x20current\x20','8ZuJJNA','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Would\x20move\x20menu\x20','expect-parent-id','Moved\x20menu\x20','sort','8792eRpwmw','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','POST','5424483tZQxZe','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','appCode','after','4914917tWtBRr','\x20parent\x20changed:\x20expected\x20','26jfMEtg','update','move','238132qrWMhA','11623782XQaqht','parent-id','\x20is\x20no\x20longer\x20a\x20leaf.','move-menu','Menu\x20','verification','write','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','type','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu\x20list','cookie','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','verify\x20menu\x20move','menu','/smartapi/menu/update'];a115_0x2dec=function(){return _0x5b02bf;};return a115_0x2dec();}const a115_0x2cd24a=a115_0x1275;(function(_0x19ec3e,_0x184635){const _0x43b4fc=a115_0x1275,_0x10fc5b=_0x19ec3e();while(!![]){try{const _0x1e5a01=-parseInt(_0x43b4fc(0x1f8))/0x1*(-parseInt(_0x43b4fc(0x201))/0x2)+-parseInt(_0x43b4fc(0x1fb))/0x3+-parseInt(_0x43b4fc(0x204))/0x4*(-parseInt(_0x43b4fc(0x1eb))/0x5)+-parseInt(_0x43b4fc(0x205))/0x6+parseInt(_0x43b4fc(0x1ff))/0x7*(-parseInt(_0x43b4fc(0x1f1))/0x8)+-parseInt(_0x43b4fc(0x1ee))/0x9+parseInt(_0x43b4fc(0x1e9))/0xa;if(_0x1e5a01===_0x184635)break;else _0x10fc5b['push'](_0x10fc5b['shift']());}catch(_0xead895){_0x10fc5b['push'](_0x10fc5b['shift']());}}}(a115_0x2dec,0xef86b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a115_0x2cd24a(0x1fa),'path':a115_0x2cd24a(0x1e4)}];function a115_0x1275(_0x57714a,_0x1d9c04){_0x57714a=_0x57714a-0x1d7;const _0x2dec47=a115_0x2dec();let _0x1275e1=_0x2dec47[_0x57714a];return _0x1275e1;}export const menuMove={'service':'menu','command':a115_0x2cd24a(0x203),'description':a115_0x2cd24a(0x1f9),'risk':a115_0x2cd24a(0x1da),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2728a9){validateMoveInput(_0x2728a9);},async 'dryRun'(_0x2c4bb5){const _0x1eebf8=a115_0x2cd24a,{plan:_0x575dd6,patch:_0x22fcd1}=await buildMovePlan(_0x2c4bb5,!![]);return menuDryRunResult(_0x575dd6,{'method':_0x1eebf8(0x1fa),'url':_0x1eebf8(0x1e4),'body':{..._0x22fcd1,'appCode':_0x2c4bb5[_0x1eebf8(0x1fd)]},'description':_0x1eebf8(0x1f4)+_0x22fcd1['id']+'.'});},async 'execute'(_0x3683bf){const _0x3470be=a115_0x2cd24a;validateMoveInput(_0x3683bf);const {plan:_0x4902ff,patch:_0x12b48f,noChanges:_0x2f9203,snapshot:_0x1b676d}=await buildMovePlan(_0x3683bf,![]),_0x80dd81=_0x12b48f['id'];if(!_0x2f9203)try{await updateMenuEntity(_0x3683bf[_0x3470be(0x1fd)],_0x3683bf['cookie'],_0x12b48f);}catch(_0x4870d9){const _0x1e48ed=mapMenuApiError(_0x4870d9,'move',_0x80dd81);throw menuFailure(_0x1e48ed,_0x4902ff,{'stage':_0x3470be(0x202),'failed':{'id':_0x80dd81},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x80dd81,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}let _0x51bf60,_0x193831;try{_0x51bf60=_0x2f9203?_0x1b676d:await fetchMenuSnapshot(_0x3683bf[_0x3470be(0x1fd)],_0x3683bf[_0x3470be(0x1e0)]),_0x193831=requireMenu(_0x51bf60,_0x80dd81),verifyMove(_0x193831,_0x4902ff[_0x3470be(0x1fe)]),_0x193831[_0x3470be(0x1e8)]!==null&&requireFolder(_0x51bf60,_0x193831[_0x3470be(0x1e8)]);}catch(_0x296b91){const _0x436efd=describeMenuErrorCause(_0x296b91,_0x3470be(0x1e2),_0x80dd81),_0x1b780e=asVerificationError(_0x296b91,'Move\x20request\x20for\x20menu\x20'+_0x80dd81+_0x3470be(0x1e7));throw menuFailure(_0x1b780e,_0x4902ff,{'stage':_0x3470be(0x1d9),'succeeded':[{'id':_0x80dd81,'updateRequested':!_0x2f9203,'skipped':_0x2f9203}],'failed':{'id':_0x80dd81,'requestedStateConfirmed':![],..._0x436efd},'warnings':[_0x3470be(0x1dd)],'verification':{'status':_0x3470be(0x1e5),'targetId':_0x80dd81,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x43eea7=mutationResult({..._0x4902ff,'after':_0x193831,'dryRun':![],'succeeded':[{'id':_0x80dd81,'updated':!_0x2f9203,'skipped':_0x2f9203}],'verification':{'checkedBy':_0x3470be(0x1df),'snapshotHash':_0x51bf60[_0x3470be(0x1f2)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x43eea7,'message':_0x2f9203?_0x3470be(0x1d8)+_0x80dd81+_0x3470be(0x1e1):_0x3470be(0x1f6)+_0x80dd81+'.'};}};function validateMoveInput(_0xef0e54){const _0xe2e52a=a115_0x2cd24a;validateExactId(_0xef0e54),parseParentId(_0xef0e54,_0xe2e52a(0x206),{'required':!![]}),parseParentId(_0xef0e54,_0xe2e52a(0x1f5),{'required':!![]}),validateSort(_0xef0e54);}async function buildMovePlan(_0x243c52,_0x4de33d){const _0xab7a1b=a115_0x2cd24a,_0xe356db=validateExactId(_0x243c52),_0x4fef8c=parseParentId(_0x243c52,'parent-id',{'required':!![]}),_0x591163=parseParentId(_0x243c52,'expect-parent-id',{'required':!![]}),_0x24ff34=validateSort(_0x243c52),_0x252500=await fetchMutationSnapshot(_0x243c52,_0xab7a1b(0x1ef),_0xe356db),_0x274782=requireMenu(_0x252500,_0xe356db);if(_0x274782['type']==='folder'||_0x274782[_0xab7a1b(0x1e6)]!==0x0)throw menuError(_0xab7a1b(0x1ed),_0xab7a1b(0x1d8)+_0xe356db+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0xab7a1b(0x1f3));if(_0x274782[_0xab7a1b(0x1e8)]!==_0x591163)throw menuError(_0xab7a1b(0x1ec),_0xab7a1b(0x1d8)+_0xe356db+_0xab7a1b(0x200)+formatParent(_0x591163)+_0xab7a1b(0x1f0)+formatParent(_0x274782[_0xab7a1b(0x1e8)])+'.',_0xab7a1b(0x1de));_0x4fef8c!==null&&requireFolder(_0x252500,_0x4fef8c);const _0x4aa1ca=_0x24ff34??(_0x274782['parentId']===_0x4fef8c?_0x274782['sort']??0x0:nextSiblingSort(_0x252500,_0x4fef8c,_0xab7a1b(0x1e3))),_0x2fa104={..._0x274782,'parentId':_0x4fef8c,'sort':_0x4aa1ca},_0x49726a={'id':_0xe356db,'parentId':toApiParentId(_0x4fef8c),'sort':_0x4aa1ca},_0x42f20f=_0x274782[_0xab7a1b(0x1e8)]===_0x4fef8c&&_0x274782[_0xab7a1b(0x1f7)]===_0x4aa1ca;return{'patch':_0x49726a,'noChanges':_0x42f20f,'snapshot':_0x252500,'plan':mutationResult({'operation':_0xab7a1b(0x203),'selector':{'id':_0xe356db,'parentId':_0x4fef8c},'before':_0x274782,'after':_0x2fa104,'dryRun':_0x4de33d,'backend':[...BACKEND],'plannedActions':[{'stage':_0xab7a1b(0x1d7),'method':_0xab7a1b(0x1fa),'path':_0xab7a1b(0x1e4),'body':{..._0x49726a,'appCode':_0x243c52[_0xab7a1b(0x1fd)]}}],'snapshotHash':_0x252500[_0xab7a1b(0x1f2)],'warnings':_0x42f20f?[_0xab7a1b(0x1ea)]:[]})};}function verifyMove(_0x1d4e84,_0x538c51){const _0x1f1820=a115_0x2cd24a;assertVerified(_0x1d4e84[_0x1f1820(0x1dc)]!=='folder',_0x1f1820(0x1d8)+_0x1d4e84['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x1d4e84[_0x1f1820(0x1e6)]===0x0,'Menu\x20'+_0x1d4e84['id']+_0x1f1820(0x207)),assertVerified(_0x1d4e84['parentId']===_0x538c51[_0x1f1820(0x1e8)],'Menu\x20'+_0x1d4e84['id']+_0x1f1820(0x1fc)),assertVerified(_0x1d4e84[_0x1f1820(0x1f7)]===_0x538c51[_0x1f1820(0x1f7)],_0x1f1820(0x1d8)+_0x1d4e84['id']+_0x1f1820(0x1db));}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuRegroupStart: CommandDefinition;
@@ -1 +1 @@
1
- const a116_0x50f37d=a116_0x342a;(function(_0x1cb842,_0x5b9628){const _0x210604=a116_0x342a,_0x1e29c8=_0x1cb842();while(!![]){try{const _0x4ad960=-parseInt(_0x210604(0xdb))/0x1+parseInt(_0x210604(0xcc))/0x2+-parseInt(_0x210604(0xb6))/0x3*(parseInt(_0x210604(0xe1))/0x4)+-parseInt(_0x210604(0xb8))/0x5+parseInt(_0x210604(0xb4))/0x6*(-parseInt(_0x210604(0x99))/0x7)+parseInt(_0x210604(0xe3))/0x8+parseInt(_0x210604(0xd2))/0x9;if(_0x4ad960===_0x5b9628)break;else _0x1e29c8['push'](_0x1e29c8['shift']());}catch(_0x3cb43c){_0x1e29c8['push'](_0x1e29c8['shift']());}}}(a116_0x36bf,0x86b99));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x50f37d(0xdd),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':'menu','command':'regroup-start','description':a116_0x50f37d(0xc7),'risk':a116_0x50f37d(0xe6),'structuredErrors':!![],'flags':[{'name':a116_0x50f37d(0xd6),'type':a116_0x50f37d(0xd1),'required':!![],'description':a116_0x50f37d(0xa0)},{'name':a116_0x50f37d(0xcd),'type':a116_0x50f37d(0xd1),'required':!![],'description':a116_0x50f37d(0xc9)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4fed11){validateRegroupInput(_0x4fed11),requireExplicitYes(_0x4fed11);},async 'dryRun'(_0x157ac8){const _0x5e58bb=a116_0x50f37d;validateRegroupInput(_0x157ac8);const _0x498992=await buildRegroupPlan(_0x157ac8,!![]);return menuDryRunResult(_0x498992[_0x5e58bb(0xa4)],{'method':'POST','url':_0x5e58bb(0xb2),'body':_0x498992['input'],'description':_0x5e58bb(0xd8)+JSON['stringify'](_0x498992[_0x5e58bb(0xd6)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x498992[_0x5e58bb(0xd3)][_0x5e58bb(0xed)](',\x20')+_0x5e58bb(0xd5)});},async 'execute'(_0x22e164){const _0x111cc8=a116_0x50f37d;validateRegroupInput(_0x22e164),requireExplicitYes(_0x22e164);const _0x4a2483=await buildRegroupPlan(_0x22e164,![]);await recheckMutationSnapshot(_0x22e164,_0x4a2483['plan'],_0x111cc8(0x9e));const _0x48f6f2=buildMenuLookupCommand(_0x22e164[_0x111cc8(0x96)]);let _0x524a1d,_0x443b6c;try{_0x524a1d=await startMenuRegroup(_0x22e164[_0x111cc8(0xd0)],_0x4a2483['input']),_0x443b6c=normalizeAsyncTask(_0x524a1d);}catch(_0x5d27ea){const _0xd1e693=await inspectRegroupAfterFailure(_0x22e164[_0x111cc8(0x96)],_0x22e164['cookie'],_0x4a2483[_0x111cc8(0xd6)],_0x4a2483[_0x111cc8(0xd3)]),_0x578ea2=typeof _0x524a1d?.[_0x111cc8(0xdf)]===_0x111cc8(0xd1)&&_0x524a1d[_0x111cc8(0xdf)][_0x111cc8(0xa5)]()?_0x524a1d[_0x111cc8(0xdf)]['trim']():null,_0x3e3716=_0x578ea2?{'command':buildAsyncTaskStatusCommand(_0x578ea2,_0x22e164[_0x111cc8(0x96)])}:null,_0x451600=mapMenuApiError(_0x5d27ea,_0x111cc8(0xbf));throw menuFailure(_0x451600,_0x4a2483[_0x111cc8(0xa4)],{'stage':_0x111cc8(0xaf),'failed':{'menuIds':_0x4a2483[_0x111cc8(0xd3)],'taskId':_0x578ea2,'groupingApplied':_0xd1e693[_0x111cc8(0xb3)]?!![]:_0x111cc8(0x98)},'after':_0xd1e693['applied']??null,'warnings':[_0x111cc8(0xa3),..._0xd1e693[_0x111cc8(0xc0)]?[_0x111cc8(0xc6)+_0xd1e693[_0x111cc8(0xc0)]]:[],..._0x578ea2?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':'failed','groupingApplied':_0xd1e693[_0x111cc8(0xb3)]?!![]:_0x111cc8(0x98),'taskId':_0x578ea2,'query':_0x3e3716,'lookupCommand':_0x48f6f2}});}const _0x4f271c=buildAsyncTaskStatusCommand(_0x443b6c[_0x111cc8(0xdf)],_0x22e164[_0x111cc8(0x96)]);let _0x5c287c=null,_0x1946f0=null,_0x2f2326=null;try{_0x5c287c=await fetchMenuSnapshot(_0x22e164[_0x111cc8(0x96)],_0x22e164['cookie']),_0x1946f0=findAppliedRegroup(_0x5c287c,_0x4a2483[_0x111cc8(0xd6)],_0x4a2483[_0x111cc8(0xd3)]);}catch(_0x84762e){_0x2f2326=_0x84762e instanceof Error?_0x84762e['message']:String(_0x84762e);}const _0x236ed5=mutationResult({..._0x4a2483['plan'],'after':_0x1946f0??null,'dryRun':![],'succeeded':[{'groupId':_0x1946f0?.['group']['id']??null,'menuIds':_0x4a2483[_0x111cc8(0xd3)],'taskId':_0x443b6c['taskId'],'status':_0x443b6c['status'],'groupingApplied':_0x1946f0?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x111cc8(0xe9),'snapshotHash':_0x5c287c?.[_0x111cc8(0xc3)]??null,'groupId':_0x1946f0?.[_0x111cc8(0xad)]['id']??null,'groupingApplied':_0x1946f0?!![]:_0x111cc8(0x98),'readbackError':_0x2f2326,'lookupCommand':_0x48f6f2},'warnings':[..._0x4a2483[_0x111cc8(0xa4)]['warnings'],...!_0x1946f0?[unconfirmedRegroupWarning(_0x443b6c)]:[],..._0x2f2326?[_0x111cc8(0xa1)+_0x2f2326]:[]]}),_0x44a5e6=_0x443b6c[_0x111cc8(0xc8)]===_0x111cc8(0xcf)&&!_0x1946f0?_0x111cc8(0xb1)+_0x443b6c[_0x111cc8(0xdf)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x111cc8(0xe8)+asyncTaskMessage(_0x443b6c);return{'ok':!![],'message':_0x44a5e6,'data':{..._0x236ed5,'task':_0x443b6c,'query':_0x443b6c[_0x111cc8(0xc4)]?null:{'command':_0x4f271c}}};}};function validateRegroupInput(_0x467cee){const _0x2d3513=a116_0x50f37d;if(!_0x467cee[_0x2d3513(0xa9)]('label')[_0x2d3513(0xa5)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x467cee[_0x2d3513(0xa9)](_0x2d3513(0xcd)));}function a116_0x342a(_0x3a8828,_0x171bfa){_0x3a8828=_0x3a8828-0x94;const _0x36bf67=a116_0x36bf();let _0x342a5b=_0x36bf67[_0x3a8828];return _0x342a5b;}function parseMenuIds(_0x478305){const _0x456cef=a116_0x50f37d,_0x257e6e=_0x478305[_0x456cef(0x9f)](',')[_0x456cef(0xd4)](_0x226292=>_0x226292['trim']());if(_0x257e6e['length']===0x0||_0x257e6e[_0x456cef(0xb7)](_0x33f298=>!_0x33f298))throw CliErrors['validation'](_0x456cef(0x94));const _0x478e67=_0x257e6e[_0x456cef(0xd4)](_0x550b75=>{const _0x2590bd=_0x456cef;if(!/^\d+$/[_0x2590bd(0xbb)](_0x550b75))throw CliErrors[_0x2590bd(0xe7)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0xa9af6d=Number(_0x550b75);if(!Number[_0x2590bd(0xe5)](_0xa9af6d)||_0xa9af6d<=0x0)throw CliErrors[_0x2590bd(0xe7)](_0x2590bd(0x94));return _0xa9af6d;});if(new Set(_0x478e67)['size']!==_0x478e67[_0x456cef(0xa7)])throw CliErrors[_0x456cef(0xe7)](_0x456cef(0xae));if(_0x478e67['length']>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x456cef(0xe7)](_0x456cef(0xb5)+MAX_REGROUP_MENU_COUNT+_0x456cef(0xef));return _0x478e67;}function buildMenuLookupCommand(_0x6fcdd9){const _0x716796=a116_0x50f37d,_0x2970cf='\x27'+_0x6fcdd9['replace'](/'/g,_0x716796(0xac))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x2970cf+_0x716796(0x9a);}function unconfirmedRegroupWarning(_0x2e1b29){const _0x5612a2=a116_0x50f37d;if(_0x2e1b29[_0x5612a2(0xc8)]==='SUCCESS')return _0x5612a2(0xcb);if(_0x2e1b29[_0x5612a2(0xc8)]===_0x5612a2(0xe4))return _0x5612a2(0xa6);if(_0x2e1b29['knownStatus'])return _0x5612a2(0xc2);return _0x5612a2(0x9c);}async function buildRegroupPlan(_0x579e4e,_0x136f48){const _0x2b9776=a116_0x50f37d,_0x4b08a0=_0x579e4e[_0x2b9776(0xa9)](_0x2b9776(0xd6))[_0x2b9776(0xa5)](),_0x1b4577=parseMenuIds(_0x579e4e[_0x2b9776(0xa9)](_0x2b9776(0xcd))),_0x3540cb=await fetchMutationSnapshot(_0x579e4e,'plan\x20regroup'),_0x1a0274=_0x1b4577[_0x2b9776(0xd4)](_0x52dd54=>requireMenu(_0x3540cb,_0x52dd54));for(const _0x2ee690 of _0x1a0274){if(_0x2ee690[_0x2b9776(0xd7)]['trim']()[_0x2b9776(0xea)]()===_0x2b9776(0xeb)||_0x2ee690[_0x2b9776(0xec)]>0x0)throw menuError(_0x2b9776(0xc1),'Menu\x20'+_0x2ee690['id']+_0x2b9776(0x97),_0x2b9776(0xab));if(!_0x2ee690[_0x2b9776(0xd6)][_0x2b9776(0xa5)]())throw menuError(_0x2b9776(0xde),'Menu\x20'+_0x2ee690['id']+_0x2b9776(0xe2),_0x2b9776(0x95));}const _0x87bb3e=findAppliedRegroup(_0x3540cb,_0x4b08a0,_0x1b4577);if(_0x87bb3e)throw menuError(_0x2b9776(0xee),'Menus\x20'+_0x1b4577[_0x2b9776(0xed)](',\x20')+_0x2b9776(0xce)+_0x87bb3e['group']['id']+'\x20('+JSON['stringify'](_0x4b08a0)+').',_0x2b9776(0x9d));const _0x2c31ed=_0x3540cb[_0x2b9776(0x9b)][_0x2b9776(0xaa)](_0x4c0cdc=>_0x4c0cdc[_0x2b9776(0xb9)]==null&&_0x4c0cdc[_0x2b9776(0xd7)][_0x2b9776(0xa5)]()[_0x2b9776(0xea)]()===_0x2b9776(0xeb)&&_0x4c0cdc['label']===_0x4b08a0);if(_0x2c31ed[_0x2b9776(0xa7)]>0x0)throw menuError(_0x2b9776(0xa2),_0x2b9776(0xe0)+JSON[_0x2b9776(0xbc)](_0x4b08a0)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x2c31ed[_0x2b9776(0xd4)](_0x42b4f8=>_0x42b4f8['id'])['join'](',\x20')+'.',_0x2b9776(0xca));const _0x4de481={'appCode':_0x579e4e['appCode'],'menuGroups':[{'label':_0x4b08a0,'type':_0x2b9776(0xeb),'children':_0x1a0274[_0x2b9776(0xd4)](_0x2b99d0=>({'id':_0x2b99d0['id'],'label':_0x2b99d0['label']}))}]},_0x35101a=mutationResult({'operation':_0x2b9776(0xda),'selector':{'label':_0x4b08a0,'menuIds':_0x1b4577},'before':{'menus':_0x1a0274},'after':{'group':{'id':null,'parentId':null,'label':_0x4b08a0,'path':_0x2b9776(0xb0),'type':_0x2b9776(0xeb),'childrenIds':_0x1b4577},'children':_0x1a0274[_0x2b9776(0xd4)](_0x28b596=>({'id':_0x28b596['id'],'label':_0x28b596[_0x2b9776(0xd6)],'beforeParentId':_0x28b596[_0x2b9776(0xb9)],'afterParentId':_0x2b9776(0xd9)}))},'dryRun':_0x136f48,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2b9776(0xbd),'method':_0x2b9776(0xdd),'path':_0x2b9776(0xb2),'body':_0x4de481}],'snapshotHash':_0x3540cb[_0x2b9776(0xc3)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x2b9776(0xdc)]});return{'label':_0x4b08a0,'menuIds':_0x1b4577,'input':_0x4de481,'plan':_0x35101a};}function findAppliedRegroup(_0x37ccd3,_0x14ac97,_0x27c466){const _0x3b2f70=a116_0x50f37d,_0x111cf7=_0x27c466[_0x3b2f70(0xd4)](_0x57809a=>_0x37ccd3[_0x3b2f70(0xa8)][_0x3b2f70(0xbe)](_0x57809a))[_0x3b2f70(0xaa)](_0x4afb92=>Boolean(_0x4afb92));if(_0x111cf7[_0x3b2f70(0xa7)]!==_0x27c466[_0x3b2f70(0xa7)])return null;const _0x30e16e=_0x111cf7[0x0]?.['parentId'];if(_0x30e16e==null||_0x111cf7[_0x3b2f70(0xb7)](_0x5d8050=>_0x5d8050[_0x3b2f70(0xb9)]!==_0x30e16e))return null;const _0x3a0650=_0x37ccd3[_0x3b2f70(0xa8)][_0x3b2f70(0xbe)](_0x30e16e);if(!_0x3a0650||_0x3a0650[_0x3b2f70(0xb9)]!=null||_0x3a0650[_0x3b2f70(0xd7)]['trim']()[_0x3b2f70(0xea)]()!==_0x3b2f70(0xeb)||_0x3a0650[_0x3b2f70(0xd6)]!==_0x14ac97)return null;const _0x1b72de=[..._0x27c466][_0x3b2f70(0xc5)]((_0x19b83b,_0x39d7d5)=>_0x19b83b-_0x39d7d5),_0x3ba671=[..._0x3a0650[_0x3b2f70(0xba)]][_0x3b2f70(0xc5)]((_0x40d00e,_0x447787)=>_0x40d00e-_0x447787);if(JSON[_0x3b2f70(0xbc)](_0x3ba671)!==JSON[_0x3b2f70(0xbc)](_0x1b72de))return null;return{'group':_0x3a0650,'children':_0x111cf7};}async function inspectRegroupAfterFailure(_0x3ad423,_0x53f200,_0x2073e1,_0x1ba989){try{const _0x434d14=await fetchMenuSnapshot(_0x3ad423,_0x53f200);return{'applied':findAppliedRegroup(_0x434d14,_0x2073e1,_0x1ba989),'readbackError':null};}catch(_0x3f2918){return{'applied':null,'readbackError':_0x3f2918 instanceof Error?_0x3f2918['message']:String(_0x3f2918)};}}function a116_0x36bf(){const _0x5d26c0=['Regroup\x20task\x20','/smartapi/menu/regroup','applied','4895184YkbkSL','--menu-ids\x20supports\x20at\x20most\x20','183gnAyZo','some','1155460IeMEqE','parentId','childrenIds','test','stringify','submit-regroup-task','get','start\x20menu\x20regroup','readbackError','menu_regroup_target_not_leaf','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','hash','isTerminal','sort','Regroup\x20readback\x20also\x20failed:\x20','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','status','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','922698qPpgFA','menu-ids','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','SUCCESS','cookie','string','17719677ddGWDy','menuIds','map',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','label','type','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','<new-group-id>','regroup-start','1070686WObMSw','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','POST','menu_regroup_target_label_missing','taskId','Root\x20folder\x20label\x20','32212ViVWJp','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','5844048FmyBQh','FAILED','isSafeInteger','high-risk-write','validation','Regroup\x20task\x20accepted.\x20','menu\x20list','toLowerCase','folder','childrenCount','join','menu_regroup_already_applied','\x20menus\x20per\x20regroup\x20request.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','appCode','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','unconfirmed','7aWINRW','\x20--format\x20compress','menus','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','start\x20regroup','split','Label\x20of\x20the\x20new\x20root\x20folder','Regroup\x20readback\x20failed:\x20','menu_regroup_label_conflict','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','plan','trim','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','length','byId','str','filter','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','\x27\x5c\x27\x27','group','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','regroup-submit','<platform-generated>'];a116_0x36bf=function(){return _0x5d26c0;};return a116_0x36bf();}
1
+ const a116_0x5cc8a9=a116_0x68e5;(function(_0x2ab92a,_0x3c8663){const _0x497746=a116_0x68e5,_0x1e5d02=_0x2ab92a();while(!![]){try{const _0x2c06e2=-parseInt(_0x497746(0x13e))/0x1*(-parseInt(_0x497746(0xfa))/0x2)+parseInt(_0x497746(0x104))/0x3*(parseInt(_0x497746(0x13c))/0x4)+-parseInt(_0x497746(0x115))/0x5+parseInt(_0x497746(0x121))/0x6+-parseInt(_0x497746(0x12f))/0x7*(parseInt(_0x497746(0x130))/0x8)+parseInt(_0x497746(0x13f))/0x9*(-parseInt(_0x497746(0x146))/0xa)+parseInt(_0x497746(0x126))/0xb;if(_0x2c06e2===_0x3c8663)break;else _0x1e5d02['push'](_0x1e5d02['shift']());}catch(_0x374e58){_0x1e5d02['push'](_0x1e5d02['shift']());}}}(a116_0x2fb7,0x687fb));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x5cc8a9(0x138),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':'menu','command':'regroup-start','description':a116_0x5cc8a9(0x112),'risk':a116_0x5cc8a9(0x11f),'structuredErrors':!![],'flags':[{'name':a116_0x5cc8a9(0x125),'type':'string','required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a116_0x5cc8a9(0x131),'type':a116_0x5cc8a9(0x152),'required':!![],'description':a116_0x5cc8a9(0x10e)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5a6fb3){validateRegroupInput(_0x5a6fb3),requireExplicitYes(_0x5a6fb3);},async 'dryRun'(_0x373c04){const _0x586f35=a116_0x5cc8a9;validateRegroupInput(_0x373c04);const _0x1d3f96=await buildRegroupPlan(_0x373c04,!![]);return menuDryRunResult(_0x1d3f96['plan'],{'method':'POST','url':'/smartapi/menu/regroup','body':_0x1d3f96[_0x586f35(0xfe)],'description':_0x586f35(0x116)+JSON[_0x586f35(0x14c)](_0x1d3f96['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x1d3f96['menuIds'][_0x586f35(0x111)](',\x20')+_0x586f35(0x106)});},async 'execute'(_0x2d0fb2){const _0x28d58b=a116_0x5cc8a9;validateRegroupInput(_0x2d0fb2),requireExplicitYes(_0x2d0fb2);const _0x3741e0=await buildRegroupPlan(_0x2d0fb2,![]);await recheckMutationSnapshot(_0x2d0fb2,_0x3741e0['plan'],_0x28d58b(0x108));const _0x1d8d4e=buildMenuLookupCommand(_0x2d0fb2[_0x28d58b(0x127)]);let _0x2384bc,_0x3fdcdc;try{_0x2384bc=await startMenuRegroup(_0x2d0fb2[_0x28d58b(0x150)],_0x3741e0[_0x28d58b(0xfe)]),_0x3fdcdc=normalizeAsyncTask(_0x2384bc);}catch(_0x347a11){const _0x60f5a3=await inspectRegroupAfterFailure(_0x2d0fb2[_0x28d58b(0x127)],_0x2d0fb2[_0x28d58b(0x150)],_0x3741e0[_0x28d58b(0x125)],_0x3741e0['menuIds']),_0x120c08=typeof _0x2384bc?.[_0x28d58b(0x129)]===_0x28d58b(0x152)&&_0x2384bc[_0x28d58b(0x129)][_0x28d58b(0x137)]()?_0x2384bc[_0x28d58b(0x129)][_0x28d58b(0x137)]():null,_0x777896=_0x120c08?{'command':buildAsyncTaskStatusCommand(_0x120c08,_0x2d0fb2[_0x28d58b(0x127)])}:null,_0x45908a=mapMenuApiError(_0x347a11,_0x28d58b(0x11e));throw menuFailure(_0x45908a,_0x3741e0[_0x28d58b(0x12a)],{'stage':'regroup-submit','failed':{'menuIds':_0x3741e0['menuIds'],'taskId':_0x120c08,'groupingApplied':_0x60f5a3['applied']?!![]:'unconfirmed'},'after':_0x60f5a3[_0x28d58b(0x10a)]??null,'warnings':[_0x28d58b(0x102),..._0x60f5a3['readbackError']?['Regroup\x20readback\x20also\x20failed:\x20'+_0x60f5a3[_0x28d58b(0x110)]]:[],..._0x120c08?[_0x28d58b(0xfc)]:[]],'verification':{'status':_0x28d58b(0xff),'groupingApplied':_0x60f5a3[_0x28d58b(0x10a)]?!![]:_0x28d58b(0x148),'taskId':_0x120c08,'query':_0x777896,'lookupCommand':_0x1d8d4e}});}const _0x1748f8=buildAsyncTaskStatusCommand(_0x3fdcdc[_0x28d58b(0x129)],_0x2d0fb2[_0x28d58b(0x127)]);let _0xd7389c=null,_0x106b23=null,_0x1b00a2=null;try{_0xd7389c=await fetchMenuSnapshot(_0x2d0fb2[_0x28d58b(0x127)],_0x2d0fb2['cookie']),_0x106b23=findAppliedRegroup(_0xd7389c,_0x3741e0[_0x28d58b(0x125)],_0x3741e0[_0x28d58b(0x105)]);}catch(_0x18a60c){_0x1b00a2=_0x18a60c instanceof Error?_0x18a60c[_0x28d58b(0x147)]:String(_0x18a60c);}const _0x3118dc=mutationResult({..._0x3741e0[_0x28d58b(0x12a)],'after':_0x106b23??null,'dryRun':![],'succeeded':[{'groupId':_0x106b23?.[_0x28d58b(0x120)]['id']??null,'menuIds':_0x3741e0['menuIds'],'taskId':_0x3fdcdc[_0x28d58b(0x129)],'status':_0x3fdcdc[_0x28d58b(0x12d)],'groupingApplied':_0x106b23?!![]:_0x28d58b(0x148)}],'verification':{'checkedBy':_0x28d58b(0x11b),'snapshotHash':_0xd7389c?.[_0x28d58b(0x11d)]??null,'groupId':_0x106b23?.[_0x28d58b(0x120)]['id']??null,'groupingApplied':_0x106b23?!![]:_0x28d58b(0x148),'readbackError':_0x1b00a2,'lookupCommand':_0x1d8d4e},'warnings':[..._0x3741e0['plan'][_0x28d58b(0x136)],...!_0x106b23?[unconfirmedRegroupWarning(_0x3fdcdc)]:[],..._0x1b00a2?[_0x28d58b(0x13d)+_0x1b00a2]:[]]}),_0x7929e2=_0x3fdcdc[_0x28d58b(0x12d)]===_0x28d58b(0x140)&&!_0x106b23?_0x28d58b(0x151)+_0x3fdcdc[_0x28d58b(0x129)]+_0x28d58b(0xfd):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x3fdcdc);return{'ok':!![],'message':_0x7929e2,'data':{..._0x3118dc,'task':_0x3fdcdc,'query':_0x3fdcdc['isTerminal']?null:{'command':_0x1748f8}}};}};function validateRegroupInput(_0x52216f){const _0x39a576=a116_0x5cc8a9;if(!_0x52216f[_0x39a576(0x124)](_0x39a576(0x125))[_0x39a576(0x137)]())throw CliErrors[_0x39a576(0xf4)](_0x39a576(0x125));parseMenuIds(_0x52216f[_0x39a576(0x124)](_0x39a576(0x131)));}function a116_0x2fb7(){const _0x2e5274=['str','label','1945625FuFnoG','appCode','/smartapi/menu/regroup','taskId','plan','\x20--format\x20compress','plan\x20regroup','status','toLowerCase','68733VUXOMZ','8qGjRwA','menu-ids','menus','map','test','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','warnings','trim','POST','some','byId','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','344QNCjzU','Regroup\x20readback\x20failed:\x20','450858ZkaBJV','2007nPKpIb','SUCCESS','folder','parentId','length','isSafeInteger','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','37270wWipIT','message','unconfirmed','menu_regroup_target_label_missing','<new-group-id>','regroup-start','stringify','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','FAILED','Menus\x20','cookie','Regroup\x20task\x20','string','flagMissing','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','size','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','childrenIds','menu_regroup_target_not_leaf','2StlwsU','split','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','input','failed','validation','sort','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','23964mlyKeZ','menuIds',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','start\x20regroup','\x20menu\x20list\x20--appcode\x20','applied','type','filter','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','<platform-generated>','readbackError','join','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','\x27\x5c\x27\x27','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','867755KWgDmB','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','Root\x20folder\x20label\x20','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','submit-regroup-task','menu\x20list','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','hash','start\x20menu\x20regroup','high-risk-write','group','766902YFKgGx','Menu\x20','get'];a116_0x2fb7=function(){return _0x2e5274;};return a116_0x2fb7();}function a116_0x68e5(_0x3ec104,_0x53e87f){_0x3ec104=_0x3ec104-0xf4;const _0x2fb707=a116_0x2fb7();let _0x68e546=_0x2fb707[_0x3ec104];return _0x68e546;}function parseMenuIds(_0x2e4ba8){const _0x3f7fd5=a116_0x5cc8a9,_0x6ccdc9=_0x2e4ba8[_0x3f7fd5(0xfb)](',')['map'](_0xb7d617=>_0xb7d617[_0x3f7fd5(0x137)]());if(_0x6ccdc9[_0x3f7fd5(0x143)]===0x0||_0x6ccdc9[_0x3f7fd5(0x139)](_0x3b3d21=>!_0x3b3d21))throw CliErrors[_0x3f7fd5(0x100)](_0x3f7fd5(0x107));const _0x361b79=_0x6ccdc9['map'](_0x4720ac=>{const _0x37be43=_0x3f7fd5;if(!/^\d+$/[_0x37be43(0x134)](_0x4720ac))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x291188=Number(_0x4720ac);if(!Number[_0x37be43(0x144)](_0x291188)||_0x291188<=0x0)throw CliErrors[_0x37be43(0x100)](_0x37be43(0x107));return _0x291188;});if(new Set(_0x361b79)[_0x3f7fd5(0xf6)]!==_0x361b79['length'])throw CliErrors[_0x3f7fd5(0x100)](_0x3f7fd5(0x135));if(_0x361b79[_0x3f7fd5(0x143)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x3f7fd5(0x100)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+'\x20menus\x20per\x20regroup\x20request.');return _0x361b79;}function buildMenuLookupCommand(_0x56a1b6){const _0x23b895=a116_0x5cc8a9,_0x15e893='\x27'+_0x56a1b6['replace'](/'/g,_0x23b895(0x113))+'\x27';return CLI_BIN_NAME+_0x23b895(0x109)+_0x15e893+_0x23b895(0x12b);}function unconfirmedRegroupWarning(_0x8c1b22){const _0x4e8f44=a116_0x5cc8a9;if(_0x8c1b22[_0x4e8f44(0x12d)]===_0x4e8f44(0x140))return _0x4e8f44(0x11c);if(_0x8c1b22[_0x4e8f44(0x12d)]===_0x4e8f44(0x14e))return _0x4e8f44(0xf7);if(_0x8c1b22['knownStatus'])return _0x4e8f44(0x114);return'The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';}async function buildRegroupPlan(_0x5af30e,_0x460efa){const _0x4d3f47=a116_0x5cc8a9,_0xad1878=_0x5af30e[_0x4d3f47(0x124)](_0x4d3f47(0x125))[_0x4d3f47(0x137)](),_0x2f080c=parseMenuIds(_0x5af30e[_0x4d3f47(0x124)](_0x4d3f47(0x131))),_0x1faf09=await fetchMutationSnapshot(_0x5af30e,_0x4d3f47(0x12c)),_0x32c9a7=_0x2f080c[_0x4d3f47(0x133)](_0x3b3b6b=>requireMenu(_0x1faf09,_0x3b3b6b));for(const _0x2d3f81 of _0x32c9a7){if(_0x2d3f81['type'][_0x4d3f47(0x137)]()['toLowerCase']()==='folder'||_0x2d3f81['childrenCount']>0x0)throw menuError(_0x4d3f47(0xf9),_0x4d3f47(0x122)+_0x2d3f81['id']+_0x4d3f47(0xf5),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x2d3f81[_0x4d3f47(0x125)]['trim']())throw menuError(_0x4d3f47(0x149),_0x4d3f47(0x122)+_0x2d3f81['id']+_0x4d3f47(0x145),_0x4d3f47(0x119));}const _0xcc16f4=findAppliedRegroup(_0x1faf09,_0xad1878,_0x2f080c);if(_0xcc16f4)throw menuError('menu_regroup_already_applied',_0x4d3f47(0x14f)+_0x2f080c[_0x4d3f47(0x111)](',\x20')+_0x4d3f47(0x103)+_0xcc16f4[_0x4d3f47(0x120)]['id']+'\x20('+JSON[_0x4d3f47(0x14c)](_0xad1878)+').',_0x4d3f47(0x118));const _0x5ae73d=_0x1faf09[_0x4d3f47(0x132)][_0x4d3f47(0x10c)](_0x182642=>_0x182642[_0x4d3f47(0x142)]==null&&_0x182642[_0x4d3f47(0x10b)][_0x4d3f47(0x137)]()[_0x4d3f47(0x12e)]()===_0x4d3f47(0x141)&&_0x182642['label']===_0xad1878);if(_0x5ae73d[_0x4d3f47(0x143)]>0x0)throw menuError('menu_regroup_label_conflict',_0x4d3f47(0x117)+JSON[_0x4d3f47(0x14c)](_0xad1878)+_0x4d3f47(0x14d)+_0x5ae73d['map'](_0x467b2d=>_0x467b2d['id'])[_0x4d3f47(0x111)](',\x20')+'.',_0x4d3f47(0x13b));const _0x22335c={'appCode':_0x5af30e[_0x4d3f47(0x127)],'menuGroups':[{'label':_0xad1878,'type':_0x4d3f47(0x141),'children':_0x32c9a7[_0x4d3f47(0x133)](_0x32fe5d=>({'id':_0x32fe5d['id'],'label':_0x32fe5d[_0x4d3f47(0x125)]}))}]},_0x33b179=mutationResult({'operation':_0x4d3f47(0x14b),'selector':{'label':_0xad1878,'menuIds':_0x2f080c},'before':{'menus':_0x32c9a7},'after':{'group':{'id':null,'parentId':null,'label':_0xad1878,'path':_0x4d3f47(0x10f),'type':_0x4d3f47(0x141),'childrenIds':_0x2f080c},'children':_0x32c9a7[_0x4d3f47(0x133)](_0x329168=>({'id':_0x329168['id'],'label':_0x329168['label'],'beforeParentId':_0x329168[_0x4d3f47(0x142)],'afterParentId':_0x4d3f47(0x14a)}))},'dryRun':_0x460efa,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4d3f47(0x11a),'method':_0x4d3f47(0x138),'path':_0x4d3f47(0x128),'body':_0x22335c}],'snapshotHash':_0x1faf09[_0x4d3f47(0x11d)],'warnings':[_0x4d3f47(0x10d),'The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.']});return{'label':_0xad1878,'menuIds':_0x2f080c,'input':_0x22335c,'plan':_0x33b179};}function findAppliedRegroup(_0x53c286,_0x3e4161,_0x339df5){const _0x2b3e11=a116_0x5cc8a9,_0x3bbb7a=_0x339df5[_0x2b3e11(0x133)](_0x5bc976=>_0x53c286['byId'][_0x2b3e11(0x123)](_0x5bc976))['filter'](_0x14d3a1=>Boolean(_0x14d3a1));if(_0x3bbb7a[_0x2b3e11(0x143)]!==_0x339df5[_0x2b3e11(0x143)])return null;const _0x4edd93=_0x3bbb7a[0x0]?.['parentId'];if(_0x4edd93==null||_0x3bbb7a[_0x2b3e11(0x139)](_0x526e32=>_0x526e32[_0x2b3e11(0x142)]!==_0x4edd93))return null;const _0x376631=_0x53c286[_0x2b3e11(0x13a)][_0x2b3e11(0x123)](_0x4edd93);if(!_0x376631||_0x376631[_0x2b3e11(0x142)]!=null||_0x376631[_0x2b3e11(0x10b)]['trim']()[_0x2b3e11(0x12e)]()!==_0x2b3e11(0x141)||_0x376631[_0x2b3e11(0x125)]!==_0x3e4161)return null;const _0x941830=[..._0x339df5]['sort']((_0x2b7485,_0x4a737c)=>_0x2b7485-_0x4a737c),_0x9aaab6=[..._0x376631[_0x2b3e11(0xf8)]][_0x2b3e11(0x101)]((_0x16fb81,_0x1ba460)=>_0x16fb81-_0x1ba460);if(JSON[_0x2b3e11(0x14c)](_0x9aaab6)!==JSON[_0x2b3e11(0x14c)](_0x941830))return null;return{'group':_0x376631,'children':_0x3bbb7a};}async function inspectRegroupAfterFailure(_0x14161e,_0x353378,_0x3fb181,_0x103456){try{const _0x41a878=await fetchMenuSnapshot(_0x14161e,_0x353378);return{'applied':findAppliedRegroup(_0x41a878,_0x3fb181,_0x103456),'readbackError':null};}catch(_0x1eb174){return{'applied':null,'readbackError':_0x1eb174 instanceof Error?_0x1eb174['message']:String(_0x1eb174)};}}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../framework/types.js";
2
+ export declare const menuRename: CommandDefinition;
@@ -1 +1 @@
1
- const a117_0x293de1=a117_0x5a91;(function(_0x449a48,_0x31ebdc){const _0x312523=a117_0x5a91,_0x49b7cd=_0x449a48();while(!![]){try{const _0x4054b7=parseInt(_0x312523(0x1b9))/0x1+parseInt(_0x312523(0x1b0))/0x2*(parseInt(_0x312523(0x1b4))/0x3)+parseInt(_0x312523(0x1aa))/0x4*(-parseInt(_0x312523(0x1ce))/0x5)+-parseInt(_0x312523(0x1be))/0x6*(-parseInt(_0x312523(0x19f))/0x7)+-parseInt(_0x312523(0x1d8))/0x8+parseInt(_0x312523(0x1c8))/0x9+-parseInt(_0x312523(0x1c1))/0xa*(parseInt(_0x312523(0x1da))/0xb);if(_0x4054b7===_0x31ebdc)break;else _0x49b7cd['push'](_0x49b7cd['shift']());}catch(_0x335216){_0x49b7cd['push'](_0x49b7cd['shift']());}}}(a117_0x5438,0x266c7));function a117_0x5438(){const _0x203ef8=['The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','readbackFailed','menu_permission_denied','93358nqSuwz','snapshot','update','isArray','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','18oeouBT','requestedLabelObserved','\x20already\x20has\x20the\x20requested\x20label.','1406270vmEsPo','string','expect-label','pageType','validation','modelType','menu','707958bUqama','stringify','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','cookie','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','body','43590AbpuZt','update-recovery','failed','high-risk-write','childrenCount','/smartapi/menu/update','appCode','type','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','rabetbase\x20menu\x20list\x20--appcode\x20','14496HqqLoG','rename\x20menu','11rAAAev',',\x20current\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','code','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu\x20list','path','rename','hash','\x20--format\x20compress','\x20label\x20update\x20did\x20not\x20take\x20effect.','POST','byId','after','str','rename-menu','Menu\x20','\x20label\x20changed:\x20expected\x20','Rename\x20request\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','datasetId','\x20could\x20not\x20be\x20verified\x20safely','Run\x20','191030SKsGkJ','url','parentId','\x27\x5c\x27\x27','verify\x20menu\x20rename','flagMissing','resources','label','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','pageId','resourcesValid','36yyYrhN','sort','datasetCode','Response\x20was\x20lost\x20and\x20menu\x20','trim','verification','164nmyOrc','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','depth','visible','4551ztaAwC','childrenIds'];a117_0x5438=function(){return _0x203ef8;};return a117_0x5438();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x293de1(0x192),'path':a117_0x293de1(0x1d3)}];export const menuRename={'service':a117_0x293de1(0x1c7),'command':'rename','description':a117_0x293de1(0x1cc),'risk':a117_0x293de1(0x1d1),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x293de1(0x1a6),'type':a117_0x293de1(0x1c2),'required':!![],'description':'New\x20menu\x20label'},{'name':a117_0x293de1(0x1c3),'type':a117_0x293de1(0x1c2),'required':!![],'description':a117_0x293de1(0x1a7)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3f890f){validateInput(_0x3f890f),requireExplicitYes(_0x3f890f);},async 'dryRun'(_0x4b16fe){const _0x20057=a117_0x293de1;validateInput(_0x4b16fe);const _0x5d6f52=await buildPlan(_0x4b16fe,!![]);return menuDryRunResult(_0x5d6f52['plan'],{'method':_0x20057(0x192),'url':_0x20057(0x1d3),'body':_0x5d6f52[_0x20057(0x1cd)],'description':'Would\x20rename\x20menu\x20'+_0x5d6f52[_0x20057(0x1cd)]['id']+'.'});},async 'execute'(_0x3fcdb0){const _0x393723=a117_0x293de1;validateInput(_0x3fcdb0),requireExplicitYes(_0x3fcdb0);const _0x3c2786=await buildPlan(_0x3fcdb0,![]),{plan:_0x42b5ae,body:_0x59c3f4,before:_0x3b7b1b,noChanges:_0xca3994}=_0x3c2786,_0x2d4228=_0x59c3f4['id'];if(_0xca3994)return renameSuccess(_0x42b5ae,_0x3c2786[_0x393723(0x1ba)],_0x3b7b1b,!![],![]);await recheckMutationSnapshot(_0x3fcdb0,_0x42b5ae,_0x393723(0x1d9),_0x2d4228);try{await updateMenuEntity(_0x3fcdb0[_0x393723(0x1d4)],_0x3fcdb0[_0x393723(0x1cb)],{'id':_0x2d4228,'label':_0x59c3f4[_0x393723(0x1a6)]});}catch(_0x1e2cc6){const _0x199343=mapMenuApiError(_0x1e2cc6,_0x393723(0x18e),_0x2d4228);if(isMenuResponseLoss(_0x1e2cc6)&&_0x199343[_0x393723(0x1dd)]!==_0x393723(0x1b8))return recoverAfterResponseLoss(_0x3fcdb0,_0x3c2786);throw menuFailure(_0x199343,_0x42b5ae,{'stage':_0x393723(0x1bb),'failed':{'id':_0x2d4228},'warnings':[_0x393723(0x19b)],'verification':{'status':_0x393723(0x1d0),'targetId':_0x2d4228,'lookupCommand':buildLookupCommand(_0x3fcdb0[_0x393723(0x1d4)])}});}let _0x5666c8,_0x5dc703;try{_0x5666c8=await fetchMenuSnapshot(_0x3fcdb0[_0x393723(0x1d4)],_0x3fcdb0[_0x393723(0x1cb)]),_0x5dc703=requireMenu(_0x5666c8,_0x2d4228),verifyRenamedFact(_0x3b7b1b,_0x5dc703,_0x59c3f4['label']);}catch(_0x234037){const _0xebeafb=describeMenuErrorCause(_0x234037,_0x393723(0x1a3),_0x2d4228),_0x22aa77=asVerificationError(_0x234037,_0x393723(0x199)+_0x2d4228+_0x393723(0x1b1));throw menuFailure(_0x22aa77,_0x42b5ae,{'stage':_0x393723(0x1af),'succeeded':[{'id':_0x2d4228,'updateRequested':!![]}],'failed':{'id':_0x2d4228,'requestedStateConfirmed':![],..._0xebeafb},'warnings':[_0x393723(0x18b)],'verification':{'status':'failed','targetId':_0x2d4228,'lookupCommand':buildLookupCommand(_0x3fcdb0[_0x393723(0x1d4)])}});}return renameSuccess(_0x42b5ae,_0x5666c8,_0x5dc703,![],![]);}};function validateInput(_0x4cce15){const _0x3c3c5b=a117_0x293de1;validateExactId(_0x4cce15);if(!_0x4cce15[_0x3c3c5b(0x195)](_0x3c3c5b(0x1a6))[_0x3c3c5b(0x1ae)]())throw CliErrors[_0x3c3c5b(0x1c5)]('--label\x20cannot\x20be\x20empty.');if(!_0x4cce15[_0x3c3c5b(0x195)](_0x3c3c5b(0x1c3))[_0x3c3c5b(0x1ae)]())throw CliErrors[_0x3c3c5b(0x1a4)](_0x3c3c5b(0x1c3));}async function buildPlan(_0x4c66ef,_0x347b72){const _0x3ae56d=a117_0x293de1,_0x2f0872=validateExactId(_0x4c66ef),_0x4d06f5=_0x4c66ef['str'](_0x3ae56d(0x1a6))[_0x3ae56d(0x1ae)](),_0x29307=_0x4c66ef[_0x3ae56d(0x195)](_0x3ae56d(0x1c3)),_0x5f411f=await fetchMutationSnapshot(_0x4c66ef,_0x3ae56d(0x1d9),_0x2f0872),_0x2c61b5=requireMenu(_0x5f411f,_0x2f0872);if(_0x2c61b5['label']!==_0x29307)throw menuError('menu_state_drift',_0x3ae56d(0x197)+_0x2f0872+_0x3ae56d(0x198)+JSON[_0x3ae56d(0x1c9)](_0x29307)+_0x3ae56d(0x1db)+JSON[_0x3ae56d(0x1c9)](_0x2c61b5[_0x3ae56d(0x1a6)])+'.',_0x3ae56d(0x1dc));const _0x12d635={'id':_0x2f0872,'appCode':_0x4c66ef['appCode'],'label':_0x4d06f5},_0x55b784={..._0x2c61b5,'label':_0x4d06f5},_0x33bcad=_0x2c61b5[_0x3ae56d(0x1a6)]===_0x4d06f5,_0xe0b91=_0x33bcad?[]:[{'stage':_0x3ae56d(0x196),'method':'POST','path':_0x3ae56d(0x1d3),'body':_0x12d635}];return{'snapshot':_0x5f411f,'before':_0x2c61b5,'body':_0x12d635,'noChanges':_0x33bcad,'plan':mutationResult({'operation':_0x3ae56d(0x18e),'selector':{'id':_0x2f0872},'before':_0x2c61b5,'after':_0x55b784,'dryRun':_0x347b72,'backend':[...BACKEND],'plannedActions':_0xe0b91,'snapshotHash':_0x5f411f[_0x3ae56d(0x18f)],'warnings':_0x33bcad?[_0x3ae56d(0x19a)]:[]})};}function verifyRenamedFact(_0x3fb8c5,_0x563058,_0x179520){const _0x117855=a117_0x293de1,_0xbfb93f=[['id',_0x563058['id'],_0x3fb8c5['id']],[_0x117855(0x1a1),_0x563058[_0x117855(0x1a1)],_0x3fb8c5[_0x117855(0x1a1)]],['depth',_0x563058[_0x117855(0x1b2)],_0x3fb8c5[_0x117855(0x1b2)]],[_0x117855(0x18d),_0x563058[_0x117855(0x18d)],_0x3fb8c5[_0x117855(0x18d)]],[_0x117855(0x1a0),_0x563058[_0x117855(0x1a0)],_0x3fb8c5[_0x117855(0x1a0)]],[_0x117855(0x1d5),_0x563058['type'],_0x3fb8c5['type']],[_0x117855(0x1b3),_0x563058[_0x117855(0x1b3)],_0x3fb8c5['visible']],['sort',_0x563058['sort'],_0x3fb8c5[_0x117855(0x1ab)]],['resources',_0x563058[_0x117855(0x1a5)],_0x3fb8c5[_0x117855(0x1a5)]],[_0x117855(0x1a9),_0x563058[_0x117855(0x1a9)],_0x3fb8c5[_0x117855(0x1a9)]],[_0x117855(0x1b5),_0x563058['childrenIds'],_0x3fb8c5[_0x117855(0x1b5)]],[_0x117855(0x1d2),_0x563058[_0x117855(0x1d2)],_0x3fb8c5[_0x117855(0x1d2)]],[_0x117855(0x1a8),_0x563058['pageId'],_0x3fb8c5[_0x117855(0x1a8)]],[_0x117855(0x1c4),_0x563058[_0x117855(0x1c4)],_0x3fb8c5[_0x117855(0x1c4)]],['modelType',_0x563058['modelType'],_0x3fb8c5[_0x117855(0x1c6)]],[_0x117855(0x19c),_0x563058['datasetId'],_0x3fb8c5[_0x117855(0x19c)]],['datasetCode',_0x563058['datasetCode'],_0x3fb8c5[_0x117855(0x1ac)]]];for(const [_0x42cfb0,_0x3fd52a,_0x32d107]of _0xbfb93f){assertVerified(sameValue(_0x3fd52a,_0x32d107),'Menu\x20'+_0x3fb8c5['id']+'\x20'+_0x42cfb0+'\x20changed\x20during\x20the\x20label-only\x20rename.');}assertVerified(_0x563058[_0x117855(0x1a6)]===_0x179520,'Menu\x20'+_0x3fb8c5['id']+_0x117855(0x191));}function sameValue(_0x556ff1,_0x3b842b){const _0x26a0f8=a117_0x293de1;if(Array[_0x26a0f8(0x1bc)](_0x556ff1)||Array[_0x26a0f8(0x1bc)](_0x3b842b))return JSON[_0x26a0f8(0x1c9)](_0x556ff1)===JSON[_0x26a0f8(0x1c9)](_0x3b842b);return _0x556ff1===_0x3b842b;}function renameSuccess(_0x568f65,_0x5861b3,_0x1f2ba4,_0x2a1e5b,_0x8ba5aa){const _0x5d9456=a117_0x293de1,_0x27a024=_0x1f2ba4['id'],_0x326693=mutationResult({..._0x568f65,'after':_0x1f2ba4,'dryRun':![],'succeeded':[{'id':_0x27a024,'updated':!_0x2a1e5b,'skipped':_0x2a1e5b,'recovered':_0x8ba5aa}],'verification':{'checkedBy':_0x5d9456(0x18c),'snapshotHash':_0x5861b3['hash'],'targetId':_0x27a024,'matchesRequestedState':!![],'recovered':_0x8ba5aa}});return{'ok':!![],'message':_0x8ba5aa?_0x5d9456(0x1d6)+_0x27a024+'.':_0x2a1e5b?_0x5d9456(0x197)+_0x27a024+_0x5d9456(0x1c0):'Renamed\x20menu\x20'+_0x27a024+'.','data':{..._0x326693,'recovered':_0x8ba5aa}};}function a117_0x5a91(_0x2c97b2,_0x5a3a1e){_0x2c97b2=_0x2c97b2-0x18b;const _0x5438ad=a117_0x5438();let _0x5a91dd=_0x5438ad[_0x2c97b2];return _0x5a91dd;}async function recoverAfterResponseLoss(_0x160b97,_0x22c25a){const _0x3235e6=a117_0x293de1,{plan:_0x249937,before:_0x31f3fc,body:_0x5c870f}=_0x22c25a;let _0x42ab4e;try{_0x42ab4e=await fetchMenuSnapshot(_0x160b97[_0x3235e6(0x1d4)],_0x160b97[_0x3235e6(0x1cb)]);}catch{throw recoveryRequired(_0x249937,_0x160b97[_0x3235e6(0x1d4)],{'id':_0x5c870f['id'],'readbackFailed':!![]});}const _0x115543=_0x42ab4e[_0x3235e6(0x193)]['get'](_0x5c870f['id']);if(!_0x115543||_0x115543['label']!==_0x5c870f[_0x3235e6(0x1a6)])throw recoveryRequired(_0x249937,_0x160b97[_0x3235e6(0x1d4)],{'id':_0x5c870f['id'],'requestedLabelObserved':![],'after':_0x115543??null});try{verifyRenamedFact(_0x31f3fc,_0x115543,_0x5c870f[_0x3235e6(0x1a6)]);}catch(_0x1ff2f8){const _0x5db201=asVerificationError(_0x1ff2f8,_0x3235e6(0x1ad)+_0x5c870f['id']+_0x3235e6(0x19d));throw menuFailure(_0x5db201,_0x249937,{'stage':_0x3235e6(0x1cf),'succeeded':[{'id':_0x5c870f['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5c870f['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x115543,'warnings':[_0x3235e6(0x1b6)],'verification':{'status':_0x3235e6(0x1d0),'targetId':_0x5c870f['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x160b97[_0x3235e6(0x1d4)])}});}return renameSuccess(_0x249937,_0x42ab4e,_0x115543,![],!![]);}function recoveryRequired(_0xfc4a6d,_0x5549ee,_0x594051){const _0x21d541=a117_0x293de1,_0x2609d2=menuError('menu_update_recovery_required','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.',_0x21d541(0x19e)+buildLookupCommand(_0x5549ee)+_0x21d541(0x1bd));return menuFailure(_0x2609d2,_0xfc4a6d,{'stage':_0x21d541(0x1cf),'failed':{'id':_0x594051['id'],..._0x594051['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x594051[_0x21d541(0x1bf)]},..._0x594051['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x594051[_0x21d541(0x194)],'warnings':[_0x21d541(0x1ca)],'verification':{'status':_0x21d541(0x1d0),'targetId':_0x594051['id'],..._0x594051[_0x21d541(0x1bf)]===undefined?{}:{'requestedLabelObserved':_0x594051['requestedLabelObserved']},..._0x594051[_0x21d541(0x1b7)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x5549ee)}});}function buildLookupCommand(_0x3c9e21){const _0x32353a=a117_0x293de1,_0x1d5cd3='\x27'+_0x3c9e21['replace'](/'/g,_0x32353a(0x1a2))+'\x27';return _0x32353a(0x1d7)+_0x1d5cd3+_0x32353a(0x190);}
1
+ const a117_0x2200ca=a117_0xd032;(function(_0x5c0bad,_0x4ca989){const _0x39c45b=a117_0xd032,_0x147d6e=_0x5c0bad();while(!![]){try{const _0x360c0e=-parseInt(_0x39c45b(0x189))/0x1*(parseInt(_0x39c45b(0x1aa))/0x2)+parseInt(_0x39c45b(0x1c8))/0x3+-parseInt(_0x39c45b(0x1ca))/0x4*(parseInt(_0x39c45b(0x18a))/0x5)+-parseInt(_0x39c45b(0x194))/0x6+parseInt(_0x39c45b(0x1c1))/0x7*(-parseInt(_0x39c45b(0x186))/0x8)+-parseInt(_0x39c45b(0x197))/0x9*(parseInt(_0x39c45b(0x1bc))/0xa)+parseInt(_0x39c45b(0x1c4))/0xb;if(_0x360c0e===_0x4ca989)break;else _0x147d6e['push'](_0x147d6e['shift']());}catch(_0x19be99){_0x147d6e['push'](_0x147d6e['shift']());}}}(a117_0x4c15,0x77d6f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a117_0x4c15(){const _0x42c98d=['url','cookie','label','snapshot','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','88LalXzR','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','rename-menu','update','string','expect-label','get','trim','body','parentId','\x27\x5c\x27\x27','datasetCode','hash','str','resourcesValid','stringify','failed','menu','20dmPUfi','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','after','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','242837AuCrIh','update-recovery','code','26690279CTRgDl','Rename\x20request\x20for\x20menu\x20','path','menu\x20list','412152CegqxR','rabetbase\x20menu\x20list\x20--appcode\x20','676vWJwyR','requestedLabelObserved','Response\x20was\x20lost\x20and\x20menu\x20','type','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','childrenIds','/smartapi/menu/update','24WxRAox','depth','pageType','18346HmEOeh','3115BzOrBo','visible','modelType',',\x20current\x20','rename','--label\x20cannot\x20be\x20empty.','menu_state_drift','Menu\x20','pageId','replace','5454936hrcuue','menu_permission_denied','validation','662265bNcmxZ','write','resources','rename\x20menu','Would\x20rename\x20menu\x20','plan','sort','verify\x20menu\x20rename','readbackFailed','childrenCount','datasetId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','appCode','\x20label\x20update\x20did\x20not\x20take\x20effect.'];a117_0x4c15=function(){return _0x42c98d;};return a117_0x4c15();}const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuRename={'service':a117_0x2200ca(0x1bb),'command':a117_0x2200ca(0x18e),'description':'Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','risk':a117_0x2200ca(0x198),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'label','type':a117_0x2200ca(0x1ae),'required':!![],'description':'New\x20menu\x20label'},{'name':a117_0x2200ca(0x1af),'type':a117_0x2200ca(0x1ae),'required':!![],'description':a117_0x2200ca(0x1a9)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1bfab9){validateInput(_0x1bfab9);},async 'dryRun'(_0x1c30f6){const _0x5ad0ce=a117_0x2200ca;validateInput(_0x1c30f6);const _0x3af8d3=await buildPlan(_0x1c30f6,!![]);return menuDryRunResult(_0x3af8d3[_0x5ad0ce(0x19c)],{'method':'POST','url':_0x5ad0ce(0x185),'body':_0x3af8d3[_0x5ad0ce(0x1b2)],'description':_0x5ad0ce(0x19b)+_0x3af8d3[_0x5ad0ce(0x1b2)]['id']+'.'});},async 'execute'(_0x27a9c4){const _0x1960d2=a117_0x2200ca;validateInput(_0x27a9c4);const _0x21388a=await buildPlan(_0x27a9c4,![]),{plan:_0x853481,body:_0xd20967,before:_0x27f62c,noChanges:_0x597890}=_0x21388a,_0x40b009=_0xd20967['id'];if(_0x597890)return renameSuccess(_0x853481,_0x21388a[_0x1960d2(0x1a8)],_0x27f62c,!![],![]);await recheckMutationSnapshot(_0x27a9c4,_0x853481,'rename\x20menu',_0x40b009);try{await updateMenuEntity(_0x27a9c4[_0x1960d2(0x1a3)],_0x27a9c4['cookie'],{'id':_0x40b009,'label':_0xd20967['label']});}catch(_0x3328a4){const _0x25a9d3=mapMenuApiError(_0x3328a4,_0x1960d2(0x18e),_0x40b009);if(isMenuResponseLoss(_0x3328a4)&&_0x25a9d3[_0x1960d2(0x1c3)]!==_0x1960d2(0x195))return recoverAfterResponseLoss(_0x27a9c4,_0x21388a);throw menuFailure(_0x25a9d3,_0x853481,{'stage':_0x1960d2(0x1ad),'failed':{'id':_0x40b009},'warnings':['The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x40b009,'lookupCommand':buildLookupCommand(_0x27a9c4[_0x1960d2(0x1a3)])}});}let _0x29a4eb,_0x19d368;try{_0x29a4eb=await fetchMenuSnapshot(_0x27a9c4[_0x1960d2(0x1a3)],_0x27a9c4[_0x1960d2(0x1a6)]),_0x19d368=requireMenu(_0x29a4eb,_0x40b009),verifyRenamedFact(_0x27f62c,_0x19d368,_0xd20967[_0x1960d2(0x1a7)]);}catch(_0x28613e){const _0x29d94f=describeMenuErrorCause(_0x28613e,_0x1960d2(0x19e),_0x40b009),_0x5c1ace=asVerificationError(_0x28613e,_0x1960d2(0x1c5)+_0x40b009+_0x1960d2(0x1a2));throw menuFailure(_0x5c1ace,_0x853481,{'stage':'verification','succeeded':[{'id':_0x40b009,'updateRequested':!![]}],'failed':{'id':_0x40b009,'requestedStateConfirmed':![],..._0x29d94f},'warnings':[_0x1960d2(0x1be)],'verification':{'status':_0x1960d2(0x1ba),'targetId':_0x40b009,'lookupCommand':buildLookupCommand(_0x27a9c4[_0x1960d2(0x1a3)])}});}return renameSuccess(_0x853481,_0x29a4eb,_0x19d368,![],![]);}};function validateInput(_0x37a26c){const _0x260731=a117_0x2200ca;validateExactId(_0x37a26c);if(!_0x37a26c['str'](_0x260731(0x1a7))[_0x260731(0x1b1)]())throw CliErrors[_0x260731(0x196)](_0x260731(0x18f));if(!_0x37a26c[_0x260731(0x1b7)](_0x260731(0x1af))[_0x260731(0x1b1)]())throw CliErrors['flagMissing'](_0x260731(0x1af));}async function buildPlan(_0x38c5a3,_0xbd69f9){const _0x23f3ca=a117_0x2200ca,_0x5bc809=validateExactId(_0x38c5a3),_0xcb14bb=_0x38c5a3[_0x23f3ca(0x1b7)](_0x23f3ca(0x1a7))['trim'](),_0x1c6bf2=_0x38c5a3[_0x23f3ca(0x1b7)](_0x23f3ca(0x1af)),_0x3fefdc=await fetchMutationSnapshot(_0x38c5a3,_0x23f3ca(0x19a),_0x5bc809),_0x217ec3=requireMenu(_0x3fefdc,_0x5bc809);if(_0x217ec3[_0x23f3ca(0x1a7)]!==_0x1c6bf2)throw menuError(_0x23f3ca(0x190),'Menu\x20'+_0x5bc809+'\x20label\x20changed:\x20expected\x20'+JSON[_0x23f3ca(0x1b9)](_0x1c6bf2)+_0x23f3ca(0x18d)+JSON[_0x23f3ca(0x1b9)](_0x217ec3['label'])+'.',_0x23f3ca(0x1c0));const _0x4afc34={'id':_0x5bc809,'appCode':_0x38c5a3['appCode'],'label':_0xcb14bb},_0x3b9cc7={..._0x217ec3,'label':_0xcb14bb},_0x31a6a5=_0x217ec3[_0x23f3ca(0x1a7)]===_0xcb14bb,_0x52c1a5=_0x31a6a5?[]:[{'stage':_0x23f3ca(0x1ac),'method':'POST','path':'/smartapi/menu/update','body':_0x4afc34}];return{'snapshot':_0x3fefdc,'before':_0x217ec3,'body':_0x4afc34,'noChanges':_0x31a6a5,'plan':mutationResult({'operation':_0x23f3ca(0x18e),'selector':{'id':_0x5bc809},'before':_0x217ec3,'after':_0x3b9cc7,'dryRun':_0xbd69f9,'backend':[...BACKEND],'plannedActions':_0x52c1a5,'snapshotHash':_0x3fefdc[_0x23f3ca(0x1b6)],'warnings':_0x31a6a5?[_0x23f3ca(0x1ab)]:[]})};}function verifyRenamedFact(_0x4a47ef,_0x2801dd,_0x5182a3){const _0x28056e=a117_0x2200ca,_0x3980e4=[['id',_0x2801dd['id'],_0x4a47ef['id']],['parentId',_0x2801dd[_0x28056e(0x1b3)],_0x4a47ef[_0x28056e(0x1b3)]],[_0x28056e(0x187),_0x2801dd[_0x28056e(0x187)],_0x4a47ef['depth']],[_0x28056e(0x1c6),_0x2801dd[_0x28056e(0x1c6)],_0x4a47ef[_0x28056e(0x1c6)]],[_0x28056e(0x1a5),_0x2801dd[_0x28056e(0x1a5)],_0x4a47ef[_0x28056e(0x1a5)]],[_0x28056e(0x181),_0x2801dd[_0x28056e(0x181)],_0x4a47ef[_0x28056e(0x181)]],['visible',_0x2801dd[_0x28056e(0x18b)],_0x4a47ef[_0x28056e(0x18b)]],['sort',_0x2801dd[_0x28056e(0x19d)],_0x4a47ef[_0x28056e(0x19d)]],['resources',_0x2801dd[_0x28056e(0x199)],_0x4a47ef[_0x28056e(0x199)]],['resourcesValid',_0x2801dd['resourcesValid'],_0x4a47ef[_0x28056e(0x1b8)]],[_0x28056e(0x184),_0x2801dd[_0x28056e(0x184)],_0x4a47ef[_0x28056e(0x184)]],[_0x28056e(0x1a0),_0x2801dd[_0x28056e(0x1a0)],_0x4a47ef['childrenCount']],[_0x28056e(0x192),_0x2801dd[_0x28056e(0x192)],_0x4a47ef[_0x28056e(0x192)]],[_0x28056e(0x188),_0x2801dd['pageType'],_0x4a47ef[_0x28056e(0x188)]],[_0x28056e(0x18c),_0x2801dd[_0x28056e(0x18c)],_0x4a47ef['modelType']],[_0x28056e(0x1a1),_0x2801dd[_0x28056e(0x1a1)],_0x4a47ef[_0x28056e(0x1a1)]],[_0x28056e(0x1b5),_0x2801dd['datasetCode'],_0x4a47ef[_0x28056e(0x1b5)]]];for(const [_0x2bc549,_0x657923,_0x3b9764]of _0x3980e4){assertVerified(sameValue(_0x657923,_0x3b9764),_0x28056e(0x191)+_0x4a47ef['id']+'\x20'+_0x2bc549+'\x20changed\x20during\x20the\x20label-only\x20rename.');}assertVerified(_0x2801dd['label']===_0x5182a3,_0x28056e(0x191)+_0x4a47ef['id']+_0x28056e(0x1a4));}function a117_0xd032(_0x1c948a,_0x1add3d){_0x1c948a=_0x1c948a-0x17f;const _0x4c1521=a117_0x4c15();let _0xd03244=_0x4c1521[_0x1c948a];return _0xd03244;}function sameValue(_0x24a3d1,_0x2b715e){const _0x36fe0e=a117_0x2200ca;if(Array['isArray'](_0x24a3d1)||Array['isArray'](_0x2b715e))return JSON['stringify'](_0x24a3d1)===JSON[_0x36fe0e(0x1b9)](_0x2b715e);return _0x24a3d1===_0x2b715e;}function renameSuccess(_0x537399,_0xe07e3,_0x1ef1f0,_0x3a6109,_0x3e6c04){const _0x5f4931=a117_0x2200ca,_0x4c8d35=_0x1ef1f0['id'],_0x217e9a=mutationResult({..._0x537399,'after':_0x1ef1f0,'dryRun':![],'succeeded':[{'id':_0x4c8d35,'updated':!_0x3a6109,'skipped':_0x3a6109,'recovered':_0x3e6c04}],'verification':{'checkedBy':_0x5f4931(0x1c7),'snapshotHash':_0xe07e3['hash'],'targetId':_0x4c8d35,'matchesRequestedState':!![],'recovered':_0x3e6c04}});return{'ok':!![],'message':_0x3e6c04?_0x5f4931(0x182)+_0x4c8d35+'.':_0x3a6109?_0x5f4931(0x191)+_0x4c8d35+'\x20already\x20has\x20the\x20requested\x20label.':'Renamed\x20menu\x20'+_0x4c8d35+'.','data':{..._0x217e9a,'recovered':_0x3e6c04}};}async function recoverAfterResponseLoss(_0x58691e,_0xd62e5f){const _0x47e860=a117_0x2200ca,{plan:_0x3c7488,before:_0x21b85b,body:_0x1f8a42}=_0xd62e5f;let _0x42fcca;try{_0x42fcca=await fetchMenuSnapshot(_0x58691e[_0x47e860(0x1a3)],_0x58691e[_0x47e860(0x1a6)]);}catch{throw recoveryRequired(_0x3c7488,_0x58691e['appCode'],{'id':_0x1f8a42['id'],'readbackFailed':!![]});}const _0x358a90=_0x42fcca['byId'][_0x47e860(0x1b0)](_0x1f8a42['id']);if(!_0x358a90||_0x358a90[_0x47e860(0x1a7)]!==_0x1f8a42[_0x47e860(0x1a7)])throw recoveryRequired(_0x3c7488,_0x58691e[_0x47e860(0x1a3)],{'id':_0x1f8a42['id'],'requestedLabelObserved':![],'after':_0x358a90??null});try{verifyRenamedFact(_0x21b85b,_0x358a90,_0x1f8a42[_0x47e860(0x1a7)]);}catch(_0x2e78a4){const _0x136258=asVerificationError(_0x2e78a4,_0x47e860(0x180)+_0x1f8a42['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x136258,_0x3c7488,{'stage':_0x47e860(0x1c2),'succeeded':[{'id':_0x1f8a42['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1f8a42['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x358a90,'warnings':[_0x47e860(0x183)],'verification':{'status':_0x47e860(0x1ba),'targetId':_0x1f8a42['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x58691e[_0x47e860(0x1a3)])}});}return renameSuccess(_0x3c7488,_0x42fcca,_0x358a90,![],!![]);}function recoveryRequired(_0x4ac123,_0x569985,_0x58ab9a){const _0x4f91b5=a117_0x2200ca,_0x2cfa69=menuError('menu_update_recovery_required','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x569985)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x2cfa69,_0x4ac123,{'stage':_0x4f91b5(0x1c2),'failed':{'id':_0x58ab9a['id'],..._0x58ab9a['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x58ab9a[_0x4f91b5(0x17f)]},..._0x58ab9a[_0x4f91b5(0x19f)]?{'readbackFailed':!![]}:{}},'after':_0x58ab9a[_0x4f91b5(0x1bf)],'warnings':[_0x4f91b5(0x1bd)],'verification':{'status':'failed','targetId':_0x58ab9a['id'],..._0x58ab9a[_0x4f91b5(0x17f)]===undefined?{}:{'requestedLabelObserved':_0x58ab9a[_0x4f91b5(0x17f)]},..._0x58ab9a['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x569985)}});}function buildLookupCommand(_0x28ecef){const _0x307f9d=a117_0x2200ca,_0x599ae5='\x27'+_0x28ecef[_0x307f9d(0x193)](/'/g,_0x307f9d(0x1b4))+'\x27';return _0x307f9d(0x1c9)+_0x599ae5+'\x20--format\x20compress';}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Menu compare table renderer
3
+ *
4
+ * Migrated from MenuSyncUI (app-menu-sync-ui.tsx).
5
+ * Renders the local vs online comparison table in plain text.
6
+ */
7
+ import type { LocalPage } from "../../../commands/menu/shared/types.js";
8
+ export interface CompareRow {
9
+ label: string;
10
+ path: string;
11
+ local: boolean;
12
+ online: boolean;
13
+ }
14
+ /**
15
+ * Render the local vs platform comparison table.
16
+ */
17
+ export declare function renderCompareTable(rows: CompareRow[], options?: {
18
+ showOnline?: boolean;
19
+ }): string;
20
+ /**
21
+ * Render the sync summary: shows which pages will be created.
22
+ */
23
+ export declare function renderSyncSummary(pages: LocalPage[], hasOnline: boolean): string;
24
+ /**
25
+ * Render the update summary: shows which menus will be updated.
26
+ */
27
+ export declare function renderUpdateSummary(menuLabels: string[], resources: (string | undefined)[]): string;