@lovrabet/rabetbase-cli 2.4.4-beta.1 → 2.4.5-beta.1

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 (330) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.d.ts +1 -0
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/{permit/index.d.ts → dataset/business-groups.d.ts} +1 -1
  63. package/lib/commands/dataset/business-groups.js +1 -0
  64. package/lib/commands/dataset/capability.js +1 -1
  65. package/lib/commands/dataset/delete.js +1 -1
  66. package/lib/commands/dataset/detail.js +1 -1
  67. package/lib/commands/dataset/extend-update.js +1 -1
  68. package/lib/commands/dataset/field-update.js +1 -1
  69. package/lib/commands/dataset/generate.js +1 -1
  70. package/lib/commands/dataset/index.js +1 -1
  71. package/lib/commands/dataset/list.js +1 -1
  72. package/lib/commands/dataset/operations.js +1 -1
  73. package/lib/commands/dataset/relation-audit.js +1 -1
  74. package/lib/commands/dataset/relation-create.js +1 -1
  75. package/lib/commands/dataset/relation-delete.js +1 -1
  76. package/lib/commands/dataset/relation-shared.js +1 -1
  77. package/lib/commands/dataset/relation-update.js +1 -1
  78. package/lib/commands/dataset/relations.js +1 -1
  79. package/lib/commands/dataset/rename.js +1 -1
  80. package/lib/commands/dataset/restore.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.d.ts +15 -1
  95. package/lib/commands/db/shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/doctor.js +1 -1
  100. package/lib/commands/file/index.js +1 -1
  101. package/lib/commands/init/index.js +1 -1
  102. package/lib/commands/issue/index.js +1 -1
  103. package/lib/commands/issue/nudge.js +1 -1
  104. package/lib/commands/issue/report.js +1 -1
  105. package/lib/commands/issue/shared.js +1 -1
  106. package/lib/commands/kb/create.js +1 -1
  107. package/lib/commands/kb/delete.js +1 -1
  108. package/lib/commands/kb/detail.js +1 -1
  109. package/lib/commands/kb/index.js +1 -1
  110. package/lib/commands/kb/list.js +1 -1
  111. package/lib/commands/kb/shared.js +1 -1
  112. package/lib/commands/kb/update.js +1 -1
  113. package/lib/commands/logs/index.js +1 -1
  114. package/lib/commands/menu/asset-update.js +1 -1
  115. package/lib/commands/menu/delete.js +1 -1
  116. package/lib/commands/menu/external-link-create.js +1 -1
  117. package/lib/commands/menu/external-link-update.js +1 -1
  118. package/lib/commands/menu/group-create.js +1 -1
  119. package/lib/commands/menu/group-update.js +1 -1
  120. package/lib/commands/menu/index.js +1 -1
  121. package/lib/commands/menu/list.js +1 -1
  122. package/lib/commands/menu/move.js +1 -1
  123. package/lib/commands/menu/regroup-start.js +1 -1
  124. package/lib/commands/menu/rename.js +1 -1
  125. package/lib/commands/menu/shared/compare-table.js +1 -1
  126. package/lib/commands/menu/shared/delete-plan.js +1 -1
  127. package/lib/commands/menu/shared/facts.js +1 -1
  128. package/lib/commands/menu/shared/index.js +1 -1
  129. package/lib/commands/menu/shared/inquirer.js +1 -1
  130. package/lib/commands/menu/shared/local-pages.js +1 -1
  131. package/lib/commands/menu/shared/logic.js +1 -1
  132. package/lib/commands/menu/shared/mutations.js +1 -1
  133. package/lib/commands/menu/shared/service.js +1 -1
  134. package/lib/commands/menu/shared/sync-core.js +1 -1
  135. package/lib/commands/menu/shared/update-core.js +1 -1
  136. package/lib/commands/menu/shared/valid-url.js +1 -1
  137. package/lib/commands/menu/sync.js +1 -1
  138. package/lib/commands/notification/config-create.js +1 -1
  139. package/lib/commands/notification/config-delete.js +1 -1
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.js +1 -1
  142. package/lib/commands/notification/index.js +1 -1
  143. package/lib/commands/notification/shared.js +1 -1
  144. package/lib/commands/ocr/index.js +1 -1
  145. package/lib/commands/page/generate-start.js +1 -1
  146. package/lib/commands/page/generate-status.js +1 -1
  147. package/lib/commands/page/index.js +1 -1
  148. package/lib/commands/page/pull.js +1 -1
  149. package/lib/commands/page/push.js +1 -1
  150. package/lib/commands/page/react/create.js +1 -1
  151. package/lib/commands/page/react/detail.js +1 -1
  152. package/lib/commands/page/react/list.js +1 -1
  153. package/lib/commands/page/react/publish.js +1 -1
  154. package/lib/commands/page/react/shared.js +1 -1
  155. package/lib/commands/page/react/syntax.js +1 -1
  156. package/lib/commands/page/react/template.js +1 -1
  157. package/lib/commands/page/react/update.js +1 -1
  158. package/lib/commands/page/relation-audit.js +1 -1
  159. package/lib/commands/page/restore.js +1 -1
  160. package/lib/commands/page/shared.js +1 -1
  161. package/lib/commands/page/standard-page-status.js +1 -1
  162. package/lib/commands/page/sync.js +1 -1
  163. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  164. package/lib/commands/project/create/format-elapsed.js +1 -1
  165. package/lib/commands/project/create/main.js +1 -1
  166. package/lib/commands/project/create/materialize-project-template.js +1 -1
  167. package/lib/commands/project/create/project-name.js +1 -1
  168. package/lib/commands/project/create/project-template-archive.js +1 -1
  169. package/lib/commands/project/create/project-template-path.js +1 -1
  170. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  171. package/lib/commands/project/create/use-format-code.js +1 -1
  172. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  173. package/lib/commands/project/index.js +1 -1
  174. package/lib/commands/project/upgrade.js +1 -1
  175. package/lib/commands/registry.js +1 -1
  176. package/lib/commands/role/delete.js +1 -1
  177. package/lib/commands/role/detail.js +1 -1
  178. package/lib/commands/role/index.js +1 -1
  179. package/lib/commands/role/list.js +1 -1
  180. package/lib/commands/role/shared.d.ts +15 -17
  181. package/lib/commands/role/shared.js +1 -1
  182. package/lib/commands/role/update.js +1 -1
  183. package/lib/commands/role/user-add.js +1 -1
  184. package/lib/commands/role/user-remove.js +1 -1
  185. package/lib/commands/role/user-resolve.js +1 -1
  186. package/lib/commands/run/index.js +1 -1
  187. package/lib/commands/schema.js +1 -1
  188. package/lib/commands/sql/create.js +1 -1
  189. package/lib/commands/sql/delete.js +1 -1
  190. package/lib/commands/sql/detail.js +1 -1
  191. package/lib/commands/sql/exec.js +1 -1
  192. package/lib/commands/sql/index.js +1 -1
  193. package/lib/commands/sql/list.js +1 -1
  194. package/lib/commands/sql/pull.js +1 -1
  195. package/lib/commands/sql/push.js +1 -1
  196. package/lib/commands/sql/shared.js +1 -1
  197. package/lib/commands/sql/status.js +1 -1
  198. package/lib/commands/sql/validate.js +1 -1
  199. package/lib/commands/task/index.js +1 -1
  200. package/lib/commands/task/status.js +1 -1
  201. package/lib/commands/tenant/index.js +1 -1
  202. package/lib/commands/tenant/members-list.js +1 -1
  203. package/lib/commands/tenant/shared.js +1 -1
  204. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  205. package/lib/commands/user-account/index.js +1 -1
  206. package/lib/commands/workspace/add.js +1 -1
  207. package/lib/commands/workspace/index.js +1 -1
  208. package/lib/commands/workspace/remove.js +1 -1
  209. package/lib/config/schema.js +1 -1
  210. package/lib/constant/cdn.js +1 -1
  211. package/lib/constant/cli.js +1 -1
  212. package/lib/constant/defaults.js +1 -1
  213. package/lib/constant/domain.js +1 -1
  214. package/lib/constant/env.js +1 -1
  215. package/lib/constant/output.js +1 -1
  216. package/lib/constant/paths.js +1 -1
  217. package/lib/constant/risk.js +1 -1
  218. package/lib/context/app-resolver.js +1 -1
  219. package/lib/context/auth-resolver.js +1 -1
  220. package/lib/context/config-loader.js +1 -1
  221. package/lib/context.js +1 -1
  222. package/lib/core/alias-resolver.js +1 -1
  223. package/lib/core/api-client.d.ts +70 -79
  224. package/lib/core/api-client.js +1 -1
  225. package/lib/core/bff/config.js +1 -1
  226. package/lib/core/bff/file-system.d.ts +1 -0
  227. package/lib/core/bff/file-system.js +1 -1
  228. package/lib/core/bff/hash.js +1 -1
  229. package/lib/core/bff/lock.js +1 -1
  230. package/lib/core/bff/utils.js +1 -1
  231. package/lib/core/db-resolver.js +1 -1
  232. package/lib/core/page/file-system.js +1 -1
  233. package/lib/core/page/hash.js +1 -1
  234. package/lib/core/page/lock.js +1 -1
  235. package/lib/core/sql-index-auditor.js +1 -1
  236. package/lib/core/sql-sync/config.js +1 -1
  237. package/lib/core/sql-sync/file-system.js +1 -1
  238. package/lib/core/sql-sync/hash.js +1 -1
  239. package/lib/core/sql-sync/lock.js +1 -1
  240. package/lib/core/sql-sync/utils.js +1 -1
  241. package/lib/core/sql-validator.js +1 -1
  242. package/lib/errors.js +1 -1
  243. package/lib/framework/build-all-flags.js +1 -1
  244. package/lib/framework/error-output.js +1 -1
  245. package/lib/framework/explicit-yes.js +1 -1
  246. package/lib/framework/flags.js +1 -1
  247. package/lib/framework/help.js +1 -1
  248. package/lib/framework/index.js +1 -1
  249. package/lib/framework/output.js +1 -1
  250. package/lib/framework/response.js +1 -1
  251. package/lib/framework/runner-alias.js +1 -1
  252. package/lib/framework/runner.js +1 -1
  253. package/lib/framework/schema-export.js +1 -1
  254. package/lib/framework/types.js +1 -1
  255. package/lib/generated/build-info.d.ts +4 -4
  256. package/lib/generated/build-info.js +1 -1
  257. package/lib/help.js +1 -1
  258. package/lib/postinstall.js +1 -1
  259. package/lib/runtime/confirmation.js +1 -1
  260. package/lib/runtime/event.js +1 -1
  261. package/lib/runtime/index.js +1 -1
  262. package/lib/runtime/queue.js +1 -1
  263. package/lib/runtime/resolve.js +1 -1
  264. package/lib/skills/builtin-skill.js +1 -1
  265. package/lib/skills/main.js +1 -1
  266. package/lib/skills/npx-skills-add.js +1 -1
  267. package/lib/skills/skill-presence.js +1 -1
  268. package/lib/telemetry/cli-command-trace.js +1 -1
  269. package/lib/telemetry/cli-help-trace.js +1 -1
  270. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  271. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  272. package/lib/telemetry/send-cli-trace-log.js +1 -1
  273. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  274. package/lib/utils/ai_config.js +1 -1
  275. package/lib/utils/apply-jq-filter.js +1 -1
  276. package/lib/utils/cdn-config.js +1 -1
  277. package/lib/utils/check-sdk-version.js +1 -1
  278. package/lib/utils/cli-version-check.js +1 -1
  279. package/lib/utils/cli-version-policy.js +1 -1
  280. package/lib/utils/config.js +1 -1
  281. package/lib/utils/entity-with-id.js +1 -1
  282. package/lib/utils/file-utils.js +1 -1
  283. package/lib/utils/guides-cdn.js +1 -1
  284. package/lib/utils/http-client.js +1 -1
  285. package/lib/utils/is-non-interactive.js +1 -1
  286. package/lib/utils/logger.js +1 -1
  287. package/lib/utils/params.js +1 -1
  288. package/lib/utils/platform.js +1 -1
  289. package/lib/utils/rules-cdn.js +1 -1
  290. package/lib/utils/sleep.js +1 -1
  291. package/lib/utils/template-replacer.js +1 -1
  292. package/lib/utils/update-notice.js +1 -1
  293. package/lib/utils/version.js +1 -1
  294. package/lib/utils/with-active-cookie.js +1 -1
  295. package/lib/utils/write-cli-side-channel.js +1 -1
  296. package/package.json +1 -1
  297. package/skills/rabetbase/SKILL.md +18 -24
  298. package/skills/rabetbase/guides/database-connection-workflow.md +6 -2
  299. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +28 -0
  300. package/skills/rabetbase/references/rabetbase-dataset-delete.md +7 -5
  301. package/skills/rabetbase/references/rabetbase-dataset-list.md +6 -6
  302. package/skills/rabetbase/references/rabetbase-dataset-restore.md +5 -5
  303. package/skills/rabetbase/references/rabetbase-db-create.md +3 -0
  304. package/skills/rabetbase/references/rabetbase-db-delete.md +10 -2
  305. package/skills/rabetbase/references/rabetbase-db-detail.md +2 -0
  306. package/skills/rabetbase/references/rabetbase-db-list.md +3 -2
  307. package/skills/rabetbase/references/rabetbase-db-update.md +4 -2
  308. package/skills/rabetbase/references/rabetbase-role-list.md +9 -17
  309. package/skills/rabetbase/references/rabetbase-role-user-add.md +44 -16
  310. package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
  311. package/skills/rabetbase.manifest.json +4 -7
  312. package/lib/commands/permit/index.js +0 -1
  313. package/lib/commands/permit/page-get.d.ts +0 -2
  314. package/lib/commands/permit/page-get.js +0 -1
  315. package/lib/commands/permit/page-set.d.ts +0 -2
  316. package/lib/commands/permit/page-set.js +0 -1
  317. package/lib/commands/permit/role-apis-set.d.ts +0 -2
  318. package/lib/commands/permit/role-apis-set.js +0 -1
  319. package/lib/commands/permit/role-menus-set.d.ts +0 -2
  320. package/lib/commands/permit/role-menus-set.js +0 -1
  321. package/lib/commands/permit/role-menus.d.ts +0 -2
  322. package/lib/commands/permit/role-menus.js +0 -1
  323. package/lib/commands/permit/shared.d.ts +0 -74
  324. package/lib/commands/permit/shared.js +0 -1
  325. package/lib/commands/role/create.d.ts +0 -2
  326. package/lib/commands/role/create.js +0 -1
  327. package/skills/rabetbase/guides/role-permit-workflow.md +0 -127
  328. package/skills/rabetbase/references/rabetbase-permit-page-set.md +0 -69
  329. package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +0 -53
  330. package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +0 -57
@@ -1 +1 @@
1
- const a111_0x534039=a111_0x5455;(function(_0x1e1598,_0x426129){const _0xe8951e=a111_0x5455,_0x37a282=_0x1e1598();while(!![]){try{const _0x301c56=-parseInt(_0xe8951e(0x93))/0x1*(parseInt(_0xe8951e(0xbf))/0x2)+parseInt(_0xe8951e(0xf5))/0x3*(parseInt(_0xe8951e(0x7d))/0x4)+parseInt(_0xe8951e(0xdf))/0x5+parseInt(_0xe8951e(0x8d))/0x6*(parseInt(_0xe8951e(0xca))/0x7)+-parseInt(_0xe8951e(0x6e))/0x8*(-parseInt(_0xe8951e(0xdb))/0x9)+parseInt(_0xe8951e(0xa5))/0xa+parseInt(_0xe8951e(0xb1))/0xb*(-parseInt(_0xe8951e(0xe2))/0xc);if(_0x301c56===_0x426129)break;else _0x37a282['push'](_0x37a282['shift']());}catch(_0x174ab8){_0x37a282['push'](_0x37a282['shift']());}}}(a111_0x505a,0xd2290));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,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};export function validateExternalMenuUrl(_0x796253){const _0x8c1ebe=a111_0x5455,_0x213afc=_0x796253[_0x8c1ebe(0x77)]();let _0x769eec;try{_0x769eec=new URL(_0x213afc);}catch{throw menuError(_0x8c1ebe(0xf6),_0x8c1ebe(0x99),_0x8c1ebe(0x78));}if(_0x769eec[_0x8c1ebe(0xd4)]!==_0x8c1ebe(0xc5))throw menuError(_0x8c1ebe(0xf9),_0x8c1ebe(0xd1),_0x8c1ebe(0x84));if(_0x769eec[_0x8c1ebe(0xb8)]||_0x769eec[_0x8c1ebe(0x91)])throw menuError(_0x8c1ebe(0x96),_0x8c1ebe(0xb5),_0x8c1ebe(0x92));return _0x213afc;}export const menuExternalLinkCreate={'service':a111_0x534039(0xb6),'command':a111_0x534039(0xd3),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a111_0x534039(0xa4),'structuredErrors':!![],'flags':[{'name':a111_0x534039(0xdc),'type':'string','required':!![],'description':'Menu\x20label'},{'name':a111_0x534039(0xa8),'type':a111_0x534039(0xbb),'required':!![],'enum':['embedded',a111_0x534039(0xd7)],'description':a111_0x534039(0xa0)},{'name':'url','type':a111_0x534039(0xbb),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':'boolean','default':!![],'description':a111_0x534039(0x76)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x63672c){validateAddInput(_0x63672c);},async 'dryRun'(_0x469cc9){const _0x4a5717=a111_0x534039;validateAddInput(_0x469cc9);const {plan:_0x3298b2}=await buildSafeAddPlan(_0x469cc9,!![]),_0x4f28d4=_0x3298b2[_0x4a5717(0x79)],_0x4c4c80=createBody(_0x4f28d4);return menuDryRunResult(_0x3298b2,{'method':_0x4a5717(0x90),'url':_0x4a5717(0x85),'body':_0x4c4c80,'description':_0x4a5717(0xc6)+JSON[_0x4a5717(0x8a)](_0x4f28d4[_0x4a5717(0xdc)])+_0x4a5717(0xbe)+_0x469cc9[_0x4a5717(0xeb)]('open-mode')+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x1e9f96){const _0x32ee72=a111_0x534039;validateAddInput(_0x1e9f96);const _0x920636=await buildSafeAddPlan(_0x1e9f96,![]),{plan:_0x49ef5e,snapshot:_0x5603d1}=_0x920636,_0x1c5995=_0x49ef5e['after'],_0x2e10d4=buildMenuLookupCommand(_0x1e9f96[_0x32ee72(0xc1)]);await recheckAddSnapshot(_0x1e9f96,_0x49ef5e);let _0xf72338;try{_0xf72338=await createMenuEntity(_0x1e9f96[_0x32ee72(0xc1)],_0x1e9f96[_0x32ee72(0xaf)],createBody(_0x1c5995));}catch(_0x5e1296){const _0x58c529=mapMenuApiError(_0x5e1296,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x5e1296)||_0x58c529[_0x32ee72(0xef)]===_0x32ee72(0xd0))throw externalLinkCreateFailure(_0x58c529,_0x49ef5e,{'stage':_0x32ee72(0xda),'failed':{},'verification':{'status':_0x32ee72(0x95),'lookupCommand':_0x2e10d4}});return recoverAfterResponseLoss(_0x1e9f96,_0x920636,_0x2e10d4);}const _0x26fe87=Number(_0xf72338?.['id']),_0x20bb46=typeof _0xf72338?.[_0x32ee72(0x86)]===_0x32ee72(0xbb)?_0xf72338['path']:'';if(!Number[_0x32ee72(0xec)](_0x26fe87)||_0x26fe87<=0x0||!_0x20bb46[_0x32ee72(0x77)]()){const _0x53798e=menuError('menu_create_response_invalid',_0x32ee72(0xad),_0x32ee72(0xe4)+_0x2e10d4+_0x32ee72(0xb0));throw externalLinkCreateFailure(_0x53798e,_0x49ef5e,{'stage':_0x32ee72(0x8c),'succeeded':Number['isSafeInteger'](_0x26fe87)&&_0x26fe87>0x0?[{'id':_0x26fe87,'created':!![]}]:[],'failed':{'createdId':Number[_0x32ee72(0xec)](_0x26fe87)?_0x26fe87:null,'generatedPathConfirmed':Boolean(_0x20bb46[_0x32ee72(0x77)]())},'warnings':[_0x32ee72(0xa3)],'after':Number[_0x32ee72(0xec)](_0x26fe87)&&_0x26fe87>0x0?{..._0x1c5995,'id':_0x26fe87,'path':_0x20bb46}:_0x1c5995,'verification':{'status':_0x32ee72(0x95),'lookupCommand':_0x2e10d4,...Number[_0x32ee72(0xec)](_0x26fe87)&&_0x26fe87>0x0?{'targetId':_0x26fe87}:{}}});}const _0x4feee0=await readAndVerifyCreatedMenu({'appCode':_0x1e9f96[_0x32ee72(0xc1)],'cookie':_0x1e9f96[_0x32ee72(0xaf)],'plan':_0x49ef5e,'afterPlan':_0x1c5995,'createdId':_0x26fe87,'expectedPath':_0x20bb46,'lookupCommand':_0x2e10d4,'recovered':![]});return creationSuccess(_0x49ef5e,_0x4feee0[_0x32ee72(0x97)],_0x4feee0['fact'],![]);}};function validateAddInput(_0x578203){const _0x31fd3e=a111_0x534039;if(!_0x578203[_0x31fd3e(0xeb)](_0x31fd3e(0xdc))['trim']())throw CliErrors[_0x31fd3e(0xdd)](_0x31fd3e(0xdc));resolveExternalMenuType(_0x578203),validateExternalMenuUrl(_0x578203['str'](_0x31fd3e(0x73))),parseParentId(_0x578203,_0x31fd3e(0x75)),validateSort(_0x578203);}function resolveExternalMenuType(_0x5ddaae){const _0x11d597=a111_0x534039,_0x290b9b=_0x5ddaae[_0x11d597(0xeb)](_0x11d597(0xa8))['trim']();if(!_0x290b9b)throw CliErrors[_0x11d597(0xdd)](_0x11d597(0xa8));const _0x2706c8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x290b9b];if(!_0x2706c8)throw menuError(_0x11d597(0x7c),_0x11d597(0xcd),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x2706c8;}async function buildAddPlan(_0x34a844,_0x59cfd3){const _0x57b5c6=a111_0x534039,_0x1bfc4a=await fetchMutationSnapshot(_0x34a844,_0x57b5c6(0xcc)),_0x6174a9=parseParentId(_0x34a844,'parent-id')??null;if(_0x6174a9!=null)requireFolder(_0x1bfc4a,_0x6174a9);const _0x389f43=validateSort(_0x34a844),_0x299600=_0x389f43??nextSiblingSort(_0x1bfc4a,_0x6174a9,_0x57b5c6(0xb6)),_0x10d409=_0x34a844[_0x57b5c6(0xeb)](_0x57b5c6(0xdc))[_0x57b5c6(0x77)](),_0x14ae43=resolveExternalMenuType(_0x34a844),_0x5ac9a7=validateExternalMenuUrl(_0x34a844[_0x57b5c6(0xeb)](_0x57b5c6(0x73))),_0x59492f=Object[_0x57b5c6(0x9a)]['hasOwnProperty'][_0x57b5c6(0xc3)](_0x34a844[_0x57b5c6(0x9d)],'visible')?_0x34a844['bool']('visible'):!![],_0x31506a={'id':null,'parentId':_0x6174a9,'label':_0x10d409,'path':_0x57b5c6(0xe5),'url':_0x5ac9a7,'type':_0x14ae43,'visible':_0x59492f,'sort':_0x299600},_0x3f45f1=buildMenuLookupCommand(_0x34a844[_0x57b5c6(0xc1)]),_0x372c33=mutationResult({'operation':'add','selector':{'parentId':_0x6174a9,'type':_0x14ae43,'label':_0x10d409,'url':_0x5ac9a7},'before':null,'after':_0x31506a,'dryRun':_0x59cfd3,'backend':[{'method':_0x57b5c6(0x90),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x57b5c6(0x98),'method':_0x57b5c6(0x90),'path':'/smartapi/menu/create','body':createBody(_0x31506a)}],'snapshotHash':_0x1bfc4a[_0x57b5c6(0xa7)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x3f45f1}});return{'plan':_0x372c33,'snapshot':_0x1bfc4a};}function a111_0x5455(_0x3de04c,_0x6d7e96){_0x3de04c=_0x3de04c-0x6e;const _0x505ada=a111_0x505a();let _0x545575=_0x505ada[_0x3de04c];return _0x545575;}async function buildSafeAddPlan(_0x4b9451,_0x5d6541){try{return await buildAddPlan(_0x4b9451,_0x5d6541);}catch(_0x8854ef){throw safeMenuAddError(_0x8854ef);}}async function recheckAddSnapshot(_0x2e5d67,_0x2822c1){const _0xf15bdf=a111_0x534039;try{await recheckMutationSnapshot(_0x2e5d67,_0x2822c1,_0xf15bdf(0xcc));}catch(_0x41f541){const _0x4a19ef=getFailureRecord(_0x41f541);throw externalLinkCreateFailure(_0x41f541,_0x2822c1,{'stage':_0xf15bdf(0xb9),'failed':{..._0x4a19ef?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x4a19ef[_0xf15bdf(0xf2)]}:{},..._0x4a19ef?.[_0xf15bdf(0xde)]?{'currentSnapshotHash':_0x4a19ef[_0xf15bdf(0xde)]}:{}}});}}function createBody(_0x1d548f){const _0x2d1288=a111_0x534039;return{'parentId':toApiParentId(_0x1d548f[_0x2d1288(0xc0)]),'label':String(_0x1d548f['label']),'type':String(_0x1d548f['type']),'url':String(_0x1d548f[_0x2d1288(0x73)]),'visible':Boolean(_0x1d548f[_0x2d1288(0xc2)]),'sort':Number(_0x1d548f[_0x2d1288(0x7a)]),'extend':{}};}function buildMenuLookupCommand(_0x379414){const _0x2d7615=a111_0x534039,_0x21c920='\x27'+_0x379414[_0x2d7615(0x82)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x2d7615(0x71)+_0x21c920+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x1e8493,_0xb0039,_0x4368bc){const _0xd217a4=a111_0x534039,{plan:_0x261d3e,snapshot:_0x497e98}=_0xb0039,_0x42e179=_0x261d3e[_0xd217a4(0x79)];let _0x35826a;try{_0x35826a=await fetchMenuSnapshot(_0x1e8493[_0xd217a4(0xc1)],_0x1e8493[_0xd217a4(0xaf)]);}catch(_0x6485ee){throw recoveryRequiredFailure(_0x261d3e,_0x4368bc,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4eda94=_0x35826a['menus'][_0xd217a4(0x7e)](_0x3a8b79=>_0x3a8b79['parentId']===_0x42e179['parentId']&&_0x3a8b79['type']===_0x42e179['type']&&_0x3a8b79[_0xd217a4(0xdc)]===_0x42e179[_0xd217a4(0xdc)]&&_0x3a8b79[_0xd217a4(0x73)]===_0x42e179[_0xd217a4(0x73)]),_0x16c3ab=_0x4eda94['filter'](_0x4ac0e6=>!_0x497e98['byId']['has'](_0x4ac0e6['id'])),_0x160766=_0x4eda94[_0xd217a4(0x7e)](_0x4b7946=>_0x497e98['byId'][_0xd217a4(0x6f)](_0x4b7946['id']));if(_0x4eda94['length']!==0x1||_0x16c3ab[_0xd217a4(0x74)]!==0x1)throw recoveryRequiredFailure(_0x261d3e,_0x4368bc,{'matchCount':_0x4eda94[_0xd217a4(0x74)],'newMatchCount':_0x16c3ab['length'],'preexistingMatchCount':_0x160766[_0xd217a4(0x74)]});const _0x497408=_0x16c3ab[0x0];try{verifyCreatedFact(_0x497408,_0x497408['id'],_0x42e179,null);}catch(_0x3a6104){const _0x380514=_0x3a6104 instanceof Error&&'code'in _0x3a6104?_0x3a6104:menuError(_0xd217a4(0xbd),_0xd217a4(0xe3)+_0x497408['id']+'\x20could\x20not\x20be\x20verified.',_0xd217a4(0xe4)+_0x4368bc+_0xd217a4(0x9b));throw externalLinkCreateFailure(_0x380514,_0x261d3e,{'stage':_0xd217a4(0x70),'succeeded':[{'id':_0x497408['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x497408['id'],'finalFactsConfirmed':![]},'after':_0x497408,'warnings':[_0xd217a4(0xa2)+_0x497408['id']+_0xd217a4(0xea)],'verification':{'status':_0xd217a4(0x95),'targetId':_0x497408['id'],'recovered':!![],'lookupCommand':_0x4368bc}});}return creationSuccess(_0x261d3e,_0x35826a,_0x497408,!![]);}function recoveryRequiredFailure(_0x101484,_0x2629a8,_0x26da46){const _0x5d4703=a111_0x534039,_0x31c55f=menuError(_0x5d4703(0xc7),_0x5d4703(0xa1),_0x5d4703(0xe4)+_0x2629a8+_0x5d4703(0xb7));return externalLinkCreateFailure(_0x31c55f,_0x101484,{'stage':_0x5d4703(0xf1),'failed':_0x26da46,'warnings':[_0x5d4703(0xe6)],'verification':{'status':_0x5d4703(0x95),..._0x26da46,'lookupCommand':_0x2629a8}});}async function readAndVerifyCreatedMenu(_0x4f9fb8){const _0x1c0215=a111_0x534039;let _0x2bd5a7;try{_0x2bd5a7=await fetchMenuSnapshot(_0x4f9fb8[_0x1c0215(0xc1)],_0x4f9fb8[_0x1c0215(0xaf)]);}catch(_0x25cf8a){const _0x595d48=menuError(_0x1c0215(0xbd),_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0x7b),'Run\x20'+_0x4f9fb8['lookupCommand']+_0x1c0215(0xf0));throw externalLinkCreateFailure(_0x595d48,_0x4f9fb8[_0x1c0215(0xcb)],{'stage':_0x1c0215(0x70),'succeeded':[{'id':_0x4f9fb8[_0x1c0215(0x80)],'created':!![]}],'failed':{'id':_0x4f9fb8[_0x1c0215(0x80)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4f9fb8[_0x1c0215(0xb3)],'id':_0x4f9fb8[_0x1c0215(0x80)],'path':_0x4f9fb8['expectedPath']},'warnings':[_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0x9c)],'verification':{'status':'failed','targetId':_0x4f9fb8['createdId'],'lookupCommand':_0x4f9fb8[_0x1c0215(0xac)]}});}const _0x422e11=_0x2bd5a7[_0x1c0215(0xf4)][_0x1c0215(0xd8)](_0x4f9fb8[_0x1c0215(0x80)]);try{if(!_0x422e11)throw menuError(_0x1c0215(0xbd),_0x1c0215(0xed)+_0x4f9fb8[_0x1c0215(0x80)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x1c0215(0xe4)+_0x4f9fb8[_0x1c0215(0xac)]+_0x1c0215(0xf0));verifyCreatedFact(_0x422e11,_0x4f9fb8[_0x1c0215(0x80)],_0x4f9fb8[_0x1c0215(0xb3)],_0x4f9fb8['expectedPath']);}catch(_0x48e620){const _0x4d755f=_0x48e620 instanceof Error&&_0x1c0215(0xef)in _0x48e620?_0x48e620:menuError(_0x1c0215(0xbd),_0x1c0215(0xed)+_0x4f9fb8['createdId']+'\x20failed\x20final\x20verification.',_0x1c0215(0xe4)+_0x4f9fb8[_0x1c0215(0xac)]+_0x1c0215(0xf0));throw externalLinkCreateFailure(_0x4d755f,_0x4f9fb8[_0x1c0215(0xcb)],{'stage':_0x1c0215(0x70),'succeeded':[{'id':_0x4f9fb8[_0x1c0215(0x80)],'created':!![]}],'failed':{'id':_0x4f9fb8[_0x1c0215(0x80)],'finalFactsConfirmed':![]},'after':_0x422e11??{..._0x4f9fb8[_0x1c0215(0xb3)],'id':_0x4f9fb8[_0x1c0215(0x80)],'path':_0x4f9fb8[_0x1c0215(0x8b)]},'warnings':[_0x1c0215(0xa2)+_0x4f9fb8[_0x1c0215(0x80)]+_0x1c0215(0xaa)],'verification':{'status':_0x1c0215(0x95),'targetId':_0x4f9fb8['createdId'],'recovered':_0x4f9fb8[_0x1c0215(0x9e)],'lookupCommand':_0x4f9fb8[_0x1c0215(0xac)]}});}return{'snapshot':_0x2bd5a7,'fact':_0x422e11};}function verifyCreatedFact(_0x5c15bc,_0x3840af,_0x4599b0,_0x4d597b){const _0x1f8b35=a111_0x534039;if(!Number[_0x1f8b35(0xec)](_0x5c15bc['id'])||_0x5c15bc['id']<=0x0||_0x5c15bc['id']!==_0x3840af)throw menuError(_0x1f8b35(0xbd),_0x1f8b35(0xc4),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x41b5e3=[[_0x1f8b35(0x94),_0x5c15bc[_0x1f8b35(0xc0)],_0x4599b0['parentId']],[_0x1f8b35(0x8f),_0x5c15bc['type'],_0x4599b0[_0x1f8b35(0x8f)]],[_0x1f8b35(0xdc),_0x5c15bc[_0x1f8b35(0xdc)],_0x4599b0[_0x1f8b35(0xdc)]],['URL',_0x5c15bc[_0x1f8b35(0x73)],_0x4599b0[_0x1f8b35(0x73)]],[_0x1f8b35(0xb2),_0x5c15bc[_0x1f8b35(0xc2)],_0x4599b0['visible']],[_0x1f8b35(0x7a),_0x5c15bc['sort'],_0x4599b0[_0x1f8b35(0x7a)]]];for(const [_0x4091f5,_0x268c67,_0x18ebae]of _0x41b5e3){if(_0x268c67!==_0x18ebae)throw menuError(_0x1f8b35(0xbd),'Created\x20menu\x20'+_0x5c15bc['id']+'\x20has\x20an\x20unexpected\x20'+_0x4091f5+'.',_0x1f8b35(0xe9));}if(!_0x5c15bc[_0x1f8b35(0x86)][_0x1f8b35(0x77)]()||_0x4d597b!==null&&_0x5c15bc['path']!==_0x4d597b)throw menuError(_0x1f8b35(0xbd),'Created\x20menu\x20'+_0x5c15bc['id']+_0x1f8b35(0xbc),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2f5317,_0x25ae42,_0x585fab,_0xb943e7){const _0x2cb1fb=a111_0x534039,_0x550d48=mutationResult({..._0x2f5317,'after':_0x585fab,'dryRun':![],'succeeded':[{'id':_0x585fab['id'],'created':!![],'recovered':_0xb943e7}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x25ae42['hash'],'targetId':_0x585fab['id'],'recovered':_0xb943e7,'path':_0x585fab[_0x2cb1fb(0x86)]}});return{'ok':!![],'message':_0xb943e7?_0x2cb1fb(0xb4)+_0x585fab['id']+_0x2cb1fb(0xba):_0x2cb1fb(0xf8)+_0x585fab['id']+'.','data':{..._0x550d48,'recovered':_0xb943e7}};}function externalLinkCreateFailure(_0x1f9eb7,_0x5900b3,_0x5ae216){const _0x493889=a111_0x534039;return menuFailure(safeMenuAddError(_0x1f9eb7),redactFailurePlan(_0x5900b3),{..._0x5ae216,'succeeded':_0x5ae216[_0x493889(0xce)]?.[_0x493889(0xc8)](redactFailureRecord),'failed':_0x5ae216[_0x493889(0x95)]?redactFailureRecord(_0x5ae216['failed']):undefined,'verification':_0x5ae216['verification']?redactFailureRecord(_0x5ae216['verification']):undefined,'after':_0x5ae216[_0x493889(0x79)]===undefined?undefined:redactFailureValue(_0x5ae216[_0x493889(0x79)])});}function redactFailurePlan(_0x291a08){const _0x5859a6=a111_0x534039;return{..._0x291a08,'selector':redactFailureRecord(_0x291a08[_0x5859a6(0xe8)]),'before':redactFailureValue(_0x291a08[_0x5859a6(0xf7)]),'after':redactFailureValue(_0x291a08[_0x5859a6(0x79)]),'plannedActions':_0x291a08[_0x5859a6(0xe1)]?.[_0x5859a6(0xc8)](_0x4cc2a2=>({..._0x4cc2a2,'body':redactFailureRecord(_0x4cc2a2[_0x5859a6(0xa9)])})),'succeeded':_0x291a08[_0x5859a6(0xce)][_0x5859a6(0xc8)](redactFailureRecord),'failed':_0x291a08[_0x5859a6(0x95)][_0x5859a6(0xc8)](redactFailureRecord),'verification':_0x291a08[_0x5859a6(0x70)]?redactFailureRecord(_0x291a08['verification']):undefined};}function a111_0x505a(){const _0x3c6917=['\x20has\x20an\x20unexpected\x20generated\x20path.','menu_verification_failed','\x20with\x20','4286kIHCwO','parentId','appCode','visible','call','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','https:','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_recovery_required','map','toLowerCase','50813QpUwyp','plan','create\x20external\x20menu','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','succeeded','menu_not_found','menu_permission_denied','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','entries','external-link-create','protocol','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','rawerror','new-window','get','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','create','49563USiRJq','label','flagMissing','currentSnapshotHash','4208170yGjwFa','menu_parent_not_folder','plannedActions','108jMagae','Recovered\x20menu\x20','Run\x20','<platform-generated>','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','selector','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','str','isSafeInteger','Created\x20menu\x20','menu_sort_invalid','code','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','create-recovery','expectedSnapshotHash','menu_create_response_invalid','byId','3429UJKsLC','menu_url_invalid','before','Created\x20external\x20menu\x20','menu_url_https_required','1528PtSrIC','has','verification','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','url','length','parent-id','Whether\x20the\x20menu\x20is\x20visible','trim','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','after','sort','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_open_mode_invalid','2852DHqQJK','filter','causemessage','createdId','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','replace','fromEntries','Provide\x20an\x20HTTPS\x20URL.','/smartapi/menu/create','path','data','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','External\x20menu\x20creation\x20failed.','stringify','expectedPath','create-response-validation','534KJqyMq','<redacted>','type','POST','password','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','124SWhDjG','parent','failed','menu_url_credentials_forbidden','snapshot','create-menu','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','prototype','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','rawFlags','recovered','menu_mutation_failed','How\x20to\x20open\x20the\x20external\x20website','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','write','11059280DIMHxb','readbackerror','hash','open-mode','body','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','isArray','lookupCommand','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','object','cookie','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','4074719kLqwQS','visibility','afterPlan','Recovered\x20created\x20external\x20menu\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','menu','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','username','pre-write-recheck','\x20after\x20response\x20loss.','string'];a111_0x505a=function(){return _0x3c6917;};return a111_0x505a();}function redactFailureRecord(_0x1899bd){return redactFailureValue(_0x1899bd);}function redactFailureValue(_0x446d2a,_0x52072a=''){const _0xa0e89d=a111_0x534039,_0xd22fbf=_0x52072a[_0xa0e89d(0xc9)]()[_0xa0e89d(0x82)](/[^a-z0-9]/g,'');if(['cause',_0xa0e89d(0x7f),_0xa0e89d(0xa6),_0xa0e89d(0xd6)]['includes'](_0xd22fbf))return _0xa0e89d(0x8e);if(Array[_0xa0e89d(0xab)](_0x446d2a))return _0x446d2a[_0xa0e89d(0xc8)](_0x1de17d=>redactFailureValue(_0x1de17d));if(_0x446d2a&&typeof _0x446d2a===_0xa0e89d(0xae))return Object[_0xa0e89d(0x83)](Object[_0xa0e89d(0xd2)](_0x446d2a)[_0xa0e89d(0xc8)](([_0x500a01,_0x4a9896])=>[_0x500a01,redactFailureValue(_0x4a9896,_0x500a01)]));return _0x446d2a;}function safeMenuAddError(_0x1056e3){const _0x22a634=a111_0x534039,_0x433d31=_0x1056e3 instanceof CliError?_0x1056e3[_0x22a634(0xef)]:_0x22a634(0x9f);switch(_0x433d31){case'menu_state_drift':return menuError(_0x433d31,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x22a634(0xe7));case'menu_permission_denied':return menuError(_0x433d31,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x22a634(0x88));case _0x22a634(0xf3):return menuError(_0x433d31,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x22a634(0xbd):return menuError(_0x433d31,_0x22a634(0xd9),_0x22a634(0x81));case _0x22a634(0xc7):return menuError(_0x433d31,_0x22a634(0x72),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x22a634(0xcf):case _0x22a634(0xe0):case _0x22a634(0xee):case'menu_sort_overflow':return menuError(_0x433d31,_0x22a634(0x89),_0x22a634(0xd5));default:return menuError(_0x22a634(0x9f),_0x22a634(0x89),_0x22a634(0xd5));}}function getFailureRecord(_0x2c4363){const _0x2ad69e=a111_0x534039;if(!(_0x2c4363 instanceof Error)||!(_0x2ad69e(0x87)in _0x2c4363))return undefined;const _0x1f8fbf=_0x2c4363[_0x2ad69e(0x87)];if(!_0x1f8fbf||typeof _0x1f8fbf!=='object')return undefined;const _0x4b6758=_0x1f8fbf['failed'];if(!Array[_0x2ad69e(0xab)](_0x4b6758)||!_0x4b6758[0x0]||typeof _0x4b6758[0x0]!==_0x2ad69e(0xae))return undefined;return _0x4b6758[0x0];}
1
+ function a112_0x275e(){const _0xcbefd7=['embedded','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','afterPlan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','plan','rawerror','type','length','Run\x20','rawFlags','7vhKacS','write','verification','snapshot','\x27\x5c\x27\x27','menu_mutation_failed','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','readbackerror','1020SSbZpH','4362444kunvMX','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','recovered','expectedPath','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','create','29012cBhGgE','external-link-create','replace','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Recovered\x20menu\x20','menu_not_found','\x20could\x20not\x20be\x20verified.','new-window','External\x20HTTPS\x20URL','Menu\x20','lookupCommand','after','<platform-generated>','10591808GTlvcP','\x20with\x20','create-recovery','hasOwnProperty','parentId','call','fromEntries','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','menu_parent_not_folder','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','open-mode','menu_url_credentials_forbidden','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','string','/smartapi/menu/create','path','6ExzOYl','expectedSnapshotHash','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','code','currentSnapshotHash','menu_permission_denied','menu_sort_invalid','visible','prototype','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','appCode','\x20has\x20an\x20unexpected\x20','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu_open_mode_invalid','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','5953045VeoETl','fact','succeeded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','before','trim','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','has','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','sort','selector','hash','menu','str','Provide\x20an\x20HTTPS\x20URL.','cause','username','cookie','menu_sort_overflow','data','url','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','filter','407330KsijYs','menu_state_drift','isSafeInteger','causemessage','failed','get','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_verification_failed','includes','toLowerCase','198izTVCW','Whether\x20the\x20menu\x20is\x20visible','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu_create_recovery_required','Created\x20menu\x20','create\x20external\x20menu','\x20has\x20an\x20unexpected\x20generated\x20path.','Recovered\x20created\x20external\x20menu\x20','parent-id','map','How\x20to\x20open\x20the\x20external\x20website','stringify','220fpajaV','POST','menus','object','byId','entries','391560Bjttfw','label','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','302229cUvTfd','menu_url_https_required','protocol','menu_url_invalid','Created\x20external\x20menu\x20','password','\x20--format\x20compress','body','Menu\x20label','create-response-validation','createdId','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','isArray','link'];a112_0x275e=function(){return _0xcbefd7;};return a112_0x275e();}const a112_0x3f0f28=a112_0x5d1c;(function(_0x2ad535,_0x260565){const _0x1fbb32=a112_0x5d1c,_0x31b9b1=_0x2ad535();while(!![]){try{const _0x564336=parseInt(_0x1fbb32(0x11a))/0x1*(parseInt(_0x1fbb32(0xe0))/0x2)+-parseInt(_0x1fbb32(0x123))/0x3+parseInt(_0x1fbb32(0x12a))/0x4*(parseInt(_0x1fbb32(0x122))/0x5)+parseInt(_0x1fbb32(0xb6))/0x6*(parseInt(_0x1fbb32(0xc7))/0x7)+-parseInt(_0x1fbb32(0x137))/0x8+-parseInt(_0x1fbb32(0x101))/0x9*(parseInt(_0x1fbb32(0xf7))/0xa)+parseInt(_0x1fbb32(0xea))/0xb*(parseInt(_0x1fbb32(0xfd))/0xc);if(_0x564336===_0x260565)break;else _0x31b9b1['push'](_0x31b9b1['shift']());}catch(_0x42e008){_0x31b9b1['push'](_0x31b9b1['shift']());}}}(a112_0x275e,0xc9b18));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,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a112_0x3f0f28(0x10e)};export function validateExternalMenuUrl(_0xd087b8){const _0x5e5a78=a112_0x3f0f28,_0x3d4c85=_0xd087b8[_0x5e5a78(0xcc)]();let _0x1c9aea;try{_0x1c9aea=new URL(_0x3d4c85);}catch{throw menuError(_0x5e5a78(0x104),_0x5e5a78(0x120),_0x5e5a78(0xb2));}if(_0x1c9aea[_0x5e5a78(0x103)]!=='https:')throw menuError(_0x5e5a78(0x102),_0x5e5a78(0xc0),_0x5e5a78(0xd7));if(_0x1c9aea[_0x5e5a78(0xd9)]||_0x1c9aea[_0x5e5a78(0x106)])throw menuError(_0x5e5a78(0xb1),_0x5e5a78(0xff),_0x5e5a78(0x113));return _0x3d4c85;}export const menuExternalLinkCreate={'service':a112_0x3f0f28(0xd5),'command':a112_0x3f0f28(0x12b),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a112_0x3f0f28(0x11b),'structuredErrors':!![],'flags':[{'name':a112_0x3f0f28(0xfe),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x109)},{'name':'open-mode','type':'string','required':!![],'enum':[a112_0x3f0f28(0x10f),a112_0x3f0f28(0x131)],'description':a112_0x3f0f28(0xf5)},{'name':a112_0x3f0f28(0xdd),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x132)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3f0f28(0xbd),'type':'boolean','default':!![],'description':a112_0x3f0f28(0xeb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4cce07){validateAddInput(_0x4cce07);},async 'dryRun'(_0x402269){const _0x1fc569=a112_0x3f0f28;validateAddInput(_0x402269);const {plan:_0x456b28}=await buildSafeAddPlan(_0x402269,!![]),_0x101ee5=_0x456b28[_0x1fc569(0x135)],_0x31b462=createBody(_0x101ee5);return menuDryRunResult(_0x456b28,{'method':_0x1fc569(0xf8),'url':_0x1fc569(0xb4),'body':_0x31b462,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x1fc569(0xf6)](_0x101ee5['label'])+_0x1fc569(0x138)+_0x402269[_0x1fc569(0xd6)](_0x1fc569(0xb0))+_0x1fc569(0x128)});},async 'execute'(_0x5c95d2){const _0x29413a=a112_0x3f0f28;validateAddInput(_0x5c95d2);const _0x19c566=await buildSafeAddPlan(_0x5c95d2,![]),{plan:_0x10aad2,snapshot:_0x321093}=_0x19c566,_0x1c5dda=_0x10aad2[_0x29413a(0x135)],_0xfdf5ec=buildMenuLookupCommand(_0x5c95d2[_0x29413a(0xc2)]);await recheckAddSnapshot(_0x5c95d2,_0x10aad2);let _0xd3dc46;try{_0xd3dc46=await createMenuEntity(_0x5c95d2[_0x29413a(0xc2)],_0x5c95d2[_0x29413a(0xda)],createBody(_0x1c5dda));}catch(_0x44fe2e){const _0xc27100=mapMenuApiError(_0x44fe2e,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x44fe2e)||_0xc27100[_0x29413a(0xb9)]===_0x29413a(0xbb))throw externalLinkCreateFailure(_0xc27100,_0x10aad2,{'stage':_0x29413a(0x129),'failed':{},'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec}});return recoverAfterResponseLoss(_0x5c95d2,_0x19c566,_0xfdf5ec);}const _0xa7247=Number(_0xd3dc46?.['id']),_0x2ab681=typeof _0xd3dc46?.[_0x29413a(0xb5)]==='string'?_0xd3dc46['path']:'';if(!Number[_0x29413a(0xe2)](_0xa7247)||_0xa7247<=0x0||!_0x2ab681[_0x29413a(0xcc)]()){const _0x58d046=menuError(_0x29413a(0xbf),_0x29413a(0x124),_0x29413a(0x118)+_0xfdf5ec+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x58d046,_0x10aad2,{'stage':_0x29413a(0x10a),'succeeded':Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?[{'id':_0xa7247,'created':!![]}]:[],'failed':{'createdId':Number[_0x29413a(0xe2)](_0xa7247)?_0xa7247:null,'generatedPathConfirmed':Boolean(_0x2ab681[_0x29413a(0xcc)]())},'warnings':[_0x29413a(0x112)],'after':Number[_0x29413a(0xe2)](_0xa7247)&&_0xa7247>0x0?{..._0x1c5dda,'id':_0xa7247,'path':_0x2ab681}:_0x1c5dda,'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec,...Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?{'targetId':_0xa7247}:{}}});}const _0x1a00d8=await readAndVerifyCreatedMenu({'appCode':_0x5c95d2['appCode'],'cookie':_0x5c95d2[_0x29413a(0xda)],'plan':_0x10aad2,'afterPlan':_0x1c5dda,'createdId':_0xa7247,'expectedPath':_0x2ab681,'lookupCommand':_0xfdf5ec,'recovered':![]});return creationSuccess(_0x10aad2,_0x1a00d8[_0x29413a(0x11d)],_0x1a00d8[_0x29413a(0xc8)],![]);}};function validateAddInput(_0x43dfbb){const _0xe49992=a112_0x3f0f28;if(!_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xfe))['trim']())throw CliErrors['flagMissing'](_0xe49992(0xfe));resolveExternalMenuType(_0x43dfbb),validateExternalMenuUrl(_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xdd))),parseParentId(_0x43dfbb,_0xe49992(0xf3)),validateSort(_0x43dfbb);}function resolveExternalMenuType(_0xea5d28){const _0x4bb89f=a112_0x3f0f28,_0x43981c=_0xea5d28[_0x4bb89f(0xd6)](_0x4bb89f(0xb0))[_0x4bb89f(0xcc)]();if(!_0x43981c)throw CliErrors['flagMissing'](_0x4bb89f(0xb0));const _0x5b1c43=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x43981c];if(!_0x5b1c43)throw menuError(_0x4bb89f(0xc5),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x5b1c43;}async function buildAddPlan(_0x250eb6,_0x462746){const _0x18ae1f=a112_0x3f0f28,_0x24f96f=await fetchMutationSnapshot(_0x250eb6,'create\x20external\x20menu'),_0x31edd2=parseParentId(_0x250eb6,'parent-id')??null;if(_0x31edd2!=null)requireFolder(_0x24f96f,_0x31edd2);const _0x5596d0=validateSort(_0x250eb6),_0x378d3d=_0x5596d0??nextSiblingSort(_0x24f96f,_0x31edd2,_0x18ae1f(0xd5)),_0x5813f1=_0x250eb6[_0x18ae1f(0xd6)](_0x18ae1f(0xfe))['trim'](),_0x33a917=resolveExternalMenuType(_0x250eb6),_0x11b30d=validateExternalMenuUrl(_0x250eb6['str'](_0x18ae1f(0xdd))),_0x4f2cc1=Object[_0x18ae1f(0xbe)][_0x18ae1f(0x13a)][_0x18ae1f(0x13c)](_0x250eb6[_0x18ae1f(0x119)],_0x18ae1f(0xbd))?_0x250eb6['bool'](_0x18ae1f(0xbd)):!![],_0x5c0149={'id':null,'parentId':_0x31edd2,'label':_0x5813f1,'path':_0x18ae1f(0x136),'url':_0x11b30d,'type':_0x33a917,'visible':_0x4f2cc1,'sort':_0x378d3d},_0x4f9fad=buildMenuLookupCommand(_0x250eb6[_0x18ae1f(0xc2)]),_0x452fbf=mutationResult({'operation':'add','selector':{'parentId':_0x31edd2,'type':_0x33a917,'label':_0x5813f1,'url':_0x11b30d},'before':null,'after':_0x5c0149,'dryRun':_0x462746,'backend':[{'method':_0x18ae1f(0xf8),'path':_0x18ae1f(0xb4)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x5c0149)}],'snapshotHash':_0x24f96f[_0x18ae1f(0xd4)],'warnings':[_0x18ae1f(0xc4)],'verification':{'lookupCommand':_0x4f9fad}});return{'plan':_0x452fbf,'snapshot':_0x24f96f};}async function buildSafeAddPlan(_0x49e338,_0x134da0){try{return await buildAddPlan(_0x49e338,_0x134da0);}catch(_0x51c234){throw safeMenuAddError(_0x51c234);}}async function recheckAddSnapshot(_0x216df0,_0x56b810){const _0xdb17a3=a112_0x3f0f28;try{await recheckMutationSnapshot(_0x216df0,_0x56b810,_0xdb17a3(0xf0));}catch(_0x246f50){const _0x48ef6a=getFailureRecord(_0x246f50);throw externalLinkCreateFailure(_0x246f50,_0x56b810,{'stage':'pre-write-recheck','failed':{..._0x48ef6a?.[_0xdb17a3(0xb7)]?{'expectedSnapshotHash':_0x48ef6a[_0xdb17a3(0xb7)]}:{},..._0x48ef6a?.[_0xdb17a3(0xba)]?{'currentSnapshotHash':_0x48ef6a['currentSnapshotHash']}:{}}});}}function createBody(_0x3099e1){const _0x41d5cb=a112_0x3f0f28;return{'parentId':toApiParentId(_0x3099e1[_0x41d5cb(0x13b)]),'label':String(_0x3099e1[_0x41d5cb(0xfe)]),'type':String(_0x3099e1['type']),'url':String(_0x3099e1[_0x41d5cb(0xdd)]),'visible':Boolean(_0x3099e1[_0x41d5cb(0xbd)]),'sort':Number(_0x3099e1[_0x41d5cb(0xd2)]),'extend':{}};}function buildMenuLookupCommand(_0xdc252b){const _0x356762=a112_0x3f0f28,_0x507076='\x27'+_0xdc252b[_0x356762(0x12c)](/'/g,_0x356762(0x11e))+'\x27';return _0x356762(0xec)+_0x507076+_0x356762(0x107);}async function recoverAfterResponseLoss(_0x5958a2,_0x937cac,_0x26783d){const _0x7a0295=a112_0x3f0f28,{plan:_0x2d3490,snapshot:_0x65fb84}=_0x937cac,_0x5a7a96=_0x2d3490[_0x7a0295(0x135)];let _0x54b2eb;try{_0x54b2eb=await fetchMenuSnapshot(_0x5958a2[_0x7a0295(0xc2)],_0x5958a2[_0x7a0295(0xda)]);}catch(_0x4b7fde){throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x28aab0=_0x54b2eb[_0x7a0295(0xf9)][_0x7a0295(0xdf)](_0x4f8da8=>_0x4f8da8[_0x7a0295(0x13b)]===_0x5a7a96[_0x7a0295(0x13b)]&&_0x4f8da8[_0x7a0295(0x116)]===_0x5a7a96[_0x7a0295(0x116)]&&_0x4f8da8[_0x7a0295(0xfe)]===_0x5a7a96['label']&&_0x4f8da8['url']===_0x5a7a96['url']),_0x42ab02=_0x28aab0['filter'](_0x39e9e0=>!_0x65fb84[_0x7a0295(0xfb)][_0x7a0295(0xce)](_0x39e9e0['id'])),_0x55abee=_0x28aab0[_0x7a0295(0xdf)](_0x28b2f9=>_0x65fb84[_0x7a0295(0xfb)]['has'](_0x28b2f9['id']));if(_0x28aab0[_0x7a0295(0x117)]!==0x1||_0x42ab02[_0x7a0295(0x117)]!==0x1)throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':_0x28aab0[_0x7a0295(0x117)],'newMatchCount':_0x42ab02[_0x7a0295(0x117)],'preexistingMatchCount':_0x55abee[_0x7a0295(0x117)]});const _0x3cba92=_0x42ab02[0x0];try{verifyCreatedFact(_0x3cba92,_0x3cba92['id'],_0x5a7a96,null);}catch(_0x20ef91){const _0x268e0d=_0x20ef91 instanceof Error&&_0x7a0295(0xb9)in _0x20ef91?_0x20ef91:menuError(_0x7a0295(0xe7),_0x7a0295(0x12e)+_0x3cba92['id']+_0x7a0295(0x130),_0x7a0295(0x118)+_0x26783d+_0x7a0295(0xde));throw externalLinkCreateFailure(_0x268e0d,_0x2d3490,{'stage':_0x7a0295(0x11c),'succeeded':[{'id':_0x3cba92['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3cba92['id'],'finalFactsConfirmed':![]},'after':_0x3cba92,'warnings':['Menu\x20'+_0x3cba92['id']+_0x7a0295(0xc1)],'verification':{'status':'failed','targetId':_0x3cba92['id'],'recovered':!![],'lookupCommand':_0x26783d}});}return creationSuccess(_0x2d3490,_0x54b2eb,_0x3cba92,!![]);}function recoveryRequiredFailure(_0x5e1455,_0x11dc4d,_0x515b86){const _0x2a5ed7=a112_0x3f0f28,_0x2c05be=menuError('menu_create_recovery_required',_0x2a5ed7(0xed),_0x2a5ed7(0x118)+_0x11dc4d+_0x2a5ed7(0xaf));return externalLinkCreateFailure(_0x2c05be,_0x5e1455,{'stage':_0x2a5ed7(0x139),'failed':_0x515b86,'warnings':[_0x2a5ed7(0xcf)],'verification':{'status':'failed',..._0x515b86,'lookupCommand':_0x11dc4d}});}async function readAndVerifyCreatedMenu(_0x312d6e){const _0x23bc91=a112_0x3f0f28;let _0x333acd;try{_0x333acd=await fetchMenuSnapshot(_0x312d6e[_0x23bc91(0xc2)],_0x312d6e[_0x23bc91(0xda)]);}catch(_0x54fa7d){const _0x582581=menuError(_0x23bc91(0xe7),_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xcd),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x582581,_0x312d6e[_0x23bc91(0x114)],{'stage':_0x23bc91(0x11c),'succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x312d6e['afterPlan'],'id':_0x312d6e[_0x23bc91(0x10b)],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'lookupCommand':_0x312d6e['lookupCommand']}});}const _0x58dde9=_0x333acd[_0x23bc91(0xfb)][_0x23bc91(0xe5)](_0x312d6e['createdId']);try{if(!_0x58dde9)throw menuError('menu_verification_failed',_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0x140),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));verifyCreatedFact(_0x58dde9,_0x312d6e['createdId'],_0x312d6e[_0x23bc91(0x111)],_0x312d6e[_0x23bc91(0x127)]);}catch(_0x2097cb){const _0x274331=_0x2097cb instanceof Error&&_0x23bc91(0xb9)in _0x2097cb?_0x2097cb:menuError(_0x23bc91(0xe7),_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+'\x20failed\x20final\x20verification.',_0x23bc91(0x118)+_0x312d6e['lookupCommand']+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x274331,_0x312d6e['plan'],{'stage':'verification','succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![]},'after':_0x58dde9??{..._0x312d6e[_0x23bc91(0x111)],'id':_0x312d6e['createdId'],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xd0)],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'recovered':_0x312d6e[_0x23bc91(0x126)],'lookupCommand':_0x312d6e[_0x23bc91(0x134)]}});}return{'snapshot':_0x333acd,'fact':_0x58dde9};}function verifyCreatedFact(_0x47b949,_0x160f16,_0x43708d,_0x3574cb){const _0x1dff70=a112_0x3f0f28;if(!Number[_0x1dff70(0xe2)](_0x47b949['id'])||_0x47b949['id']<=0x0||_0x47b949['id']!==_0x160f16)throw menuError(_0x1dff70(0xe7),_0x1dff70(0xc6),_0x1dff70(0x100));const _0x1ee7a0=[['parent',_0x47b949['parentId'],_0x43708d[_0x1dff70(0x13b)]],['type',_0x47b949[_0x1dff70(0x116)],_0x43708d[_0x1dff70(0x116)]],[_0x1dff70(0xfe),_0x47b949['label'],_0x43708d['label']],['URL',_0x47b949['url'],_0x43708d[_0x1dff70(0xdd)]],['visibility',_0x47b949['visible'],_0x43708d[_0x1dff70(0xbd)]],[_0x1dff70(0xd2),_0x47b949[_0x1dff70(0xd2)],_0x43708d['sort']]];for(const [_0x209cdf,_0x3f179e,_0x4da756]of _0x1ee7a0){if(_0x3f179e!==_0x4da756)throw menuError('menu_verification_failed',_0x1dff70(0xef)+_0x47b949['id']+_0x1dff70(0xc3)+_0x209cdf+'.',_0x1dff70(0x125));}if(!_0x47b949['path'][_0x1dff70(0xcc)]()||_0x3574cb!==null&&_0x47b949[_0x1dff70(0xb5)]!==_0x3574cb)throw menuError(_0x1dff70(0xe7),'Created\x20menu\x20'+_0x47b949['id']+_0x1dff70(0xf1),_0x1dff70(0x125));}function creationSuccess(_0x154152,_0x44cb98,_0x13dded,_0xbb05b){const _0x337b40=a112_0x3f0f28,_0x3bdc6c=mutationResult({..._0x154152,'after':_0x13dded,'dryRun':![],'succeeded':[{'id':_0x13dded['id'],'created':!![],'recovered':_0xbb05b}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44cb98[_0x337b40(0xd4)],'targetId':_0x13dded['id'],'recovered':_0xbb05b,'path':_0x13dded[_0x337b40(0xb5)]}});return{'ok':!![],'message':_0xbb05b?_0x337b40(0xf2)+_0x13dded['id']+'\x20after\x20response\x20loss.':_0x337b40(0x105)+_0x13dded['id']+'.','data':{..._0x3bdc6c,'recovered':_0xbb05b}};}function externalLinkCreateFailure(_0x180763,_0x3024e6,_0x157943){const _0x371381=a112_0x3f0f28;return menuFailure(safeMenuAddError(_0x180763),redactFailurePlan(_0x3024e6),{..._0x157943,'succeeded':_0x157943['succeeded']?.[_0x371381(0xf4)](redactFailureRecord),'failed':_0x157943[_0x371381(0xe4)]?redactFailureRecord(_0x157943[_0x371381(0xe4)]):undefined,'verification':_0x157943[_0x371381(0x11c)]?redactFailureRecord(_0x157943[_0x371381(0x11c)]):undefined,'after':_0x157943[_0x371381(0x135)]===undefined?undefined:redactFailureValue(_0x157943[_0x371381(0x135)])});}function redactFailurePlan(_0x18c013){const _0x250f16=a112_0x3f0f28;return{..._0x18c013,'selector':redactFailureRecord(_0x18c013[_0x250f16(0xd3)]),'before':redactFailureValue(_0x18c013[_0x250f16(0xcb)]),'after':redactFailureValue(_0x18c013[_0x250f16(0x135)]),'plannedActions':_0x18c013['plannedActions']?.[_0x250f16(0xf4)](_0x4a877b=>({..._0x4a877b,'body':redactFailureRecord(_0x4a877b[_0x250f16(0x108)])})),'succeeded':_0x18c013[_0x250f16(0xc9)][_0x250f16(0xf4)](redactFailureRecord),'failed':_0x18c013[_0x250f16(0xe4)][_0x250f16(0xf4)](redactFailureRecord),'verification':_0x18c013[_0x250f16(0x11c)]?redactFailureRecord(_0x18c013[_0x250f16(0x11c)]):undefined};}function redactFailureRecord(_0x585ae8){return redactFailureValue(_0x585ae8);}function redactFailureValue(_0x3da5d0,_0x28bd17=''){const _0xd99532=a112_0x3f0f28,_0x59b434=_0x28bd17[_0xd99532(0xe9)]()[_0xd99532(0x12c)](/[^a-z0-9]/g,'');if([_0xd99532(0xd8),_0xd99532(0xe3),_0xd99532(0x121),_0xd99532(0x115)][_0xd99532(0xe8)](_0x59b434))return'<redacted>';if(Array['isArray'](_0x3da5d0))return _0x3da5d0[_0xd99532(0xf4)](_0x2d610a=>redactFailureValue(_0x2d610a));if(_0x3da5d0&&typeof _0x3da5d0===_0xd99532(0xfa))return Object[_0xd99532(0x13d)](Object[_0xd99532(0xfc)](_0x3da5d0)[_0xd99532(0xf4)](([_0x301ccc,_0x3ab06d])=>[_0x301ccc,redactFailureValue(_0x3ab06d,_0x301ccc)]));return _0x3da5d0;}function safeMenuAddError(_0x524c48){const _0xc26943=a112_0x3f0f28,_0x1b0de5=_0x524c48 instanceof CliError?_0x524c48[_0xc26943(0xb9)]:'menu_mutation_failed';switch(_0x1b0de5){case _0xc26943(0xe1):return menuError(_0x1b0de5,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0xc26943(0xb8));case'menu_permission_denied':return menuError(_0x1b0de5,_0xc26943(0x110),_0xc26943(0xca));case _0xc26943(0xbf):return menuError(_0x1b0de5,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0xc26943(0x12d));case _0xc26943(0xe7):return menuError(_0x1b0de5,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0xc26943(0xee):return menuError(_0x1b0de5,_0xc26943(0x13e),_0xc26943(0xd1));case _0xc26943(0x11f):case _0xc26943(0x12f):case _0xc26943(0x13f):case _0xc26943(0xbc):case _0xc26943(0xdb):return menuError(_0x1b0de5,'External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));default:return menuError('menu_mutation_failed','External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));}}function a112_0x5d1c(_0x241b70,_0x8a1f6c){_0x241b70=_0x241b70-0xaf;const _0x275ecb=a112_0x275e();let _0x5d1c00=_0x275ecb[_0x241b70];return _0x5d1c00;}function getFailureRecord(_0x299a48){const _0x3e855c=a112_0x3f0f28;if(!(_0x299a48 instanceof Error)||!(_0x3e855c(0xdc)in _0x299a48))return undefined;const _0x1efb56=_0x299a48['data'];if(!_0x1efb56||typeof _0x1efb56!=='object')return undefined;const _0xc84948=_0x1efb56[_0x3e855c(0xe4)];if(!Array[_0x3e855c(0x10d)](_0xc84948)||!_0xc84948[0x0]||typeof _0xc84948[0x0]!==_0x3e855c(0xfa))return undefined;return _0xc84948[0x0];}
@@ -1 +1 @@
1
- function a112_0x24df(){const _0x58a703=['\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','New\x20external\x20HTTPS\x20URL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','14gYdaht','968PADXvE','hash','appCode','link','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','sort','1952856oneafR','\x20has\x20','url','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/update','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','POST','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','failed',',\x20current\x20','get','36aGzjAf','Updated\x20external\x20URL\x20for\x20menu\x20','unknown','flagMissing','\x20changed\x20during\x20the\x20URL-only\x20update.','Response\x20was\x20lost\x20and\x20menu\x20','\x20has\x20an\x20empty\x20platform\x20path.','menu_permission_denied','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','5828604xwaAdG','cookie','expect-url','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','9968292DrsrlQ','Run\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','update\x20external\x20menu\x20URL','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20is\x20type\x20\x22','str','trim','path','Menu\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20direct\x20child\x20menu(s).','readbackFailed','body','type','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','708030dEEzit','\x20--format\x20compress','plan','iframe','replace','menu_state_drift','label','childrenCount','verify\x20external\x20menu\x20URL\x20update','\x20already\x20matches\x20the\x20requested\x20URL.','code','requestedUrlObserved','parentId','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','87026qbGEmT','1848152rODpgB','string','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu_external_link_path_missing','\x22,\x20not\x20iframe\x20or\x20link.','\x20parent\x20changed:\x20expected\x20','snapshot','23GGkIfc','menu_external_link_type_required','external-link-update','menu\x20list','update-recovery','286930nokaVg','visible','write','\x20could\x20not\x20be\x20verified\x20safely'];a112_0x24df=function(){return _0x58a703;};return a112_0x24df();}const a112_0x2e204d=a112_0xbb5a;(function(_0x3a6fb1,_0x87383f){const _0x26fb5f=a112_0xbb5a,_0x4031cc=_0x3a6fb1();while(!![]){try{const _0x238246=parseInt(_0x26fb5f(0x149))/0x1*(parseInt(_0x26fb5f(0x141))/0x2)+parseInt(_0x26fb5f(0x15c))/0x3+parseInt(_0x26fb5f(0x168))/0x4*(parseInt(_0x26fb5f(0x133))/0x5)+parseInt(_0x26fb5f(0x11e))/0x6+-parseInt(_0x26fb5f(0x155))/0x7*(-parseInt(_0x26fb5f(0x142))/0x8)+-parseInt(_0x26fb5f(0x122))/0x9+parseInt(_0x26fb5f(0x14e))/0xa*(-parseInt(_0x26fb5f(0x156))/0xb);if(_0x238246===_0x87383f)break;else _0x4031cc['push'](_0x4031cc['shift']());}catch(_0x13773a){_0x4031cc['push'](_0x4031cc['shift']());}}}(a112_0x24df,0xb1841));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,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0x2e204d(0x162),'path':a112_0x2e204d(0x160)}];export const menuExternalLinkUpdate={'service':'menu','command':a112_0x2e204d(0x14b),'description':a112_0x2e204d(0x124),'risk':a112_0x2e204d(0x150),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a112_0x2e204d(0x153)},{'name':'expect-url','type':a112_0x2e204d(0x143),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x405d6a){validateInput(_0x405d6a);},async 'dryRun'(_0x56ae2d){const _0x3a61e5=a112_0x2e204d;validateInput(_0x56ae2d);const _0x2b8424=await buildPlan(_0x56ae2d,!![]);return menuDryRunResult(_0x2b8424[_0x3a61e5(0x135)],{'method':_0x3a61e5(0x162),'url':_0x3a61e5(0x160),'body':_0x2b8424[_0x3a61e5(0x130)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x2b8424['body']['id']+'.'});},async 'execute'(_0x105d71){const _0x94ce=a112_0x2e204d;validateInput(_0x105d71);const _0xe87263=await buildPlan(_0x105d71,![]),{plan:_0x2807fb,body:_0x125ca2,before:_0x4f7b28,noChanges:_0x25d6af}=_0xe87263,_0x20d3d1=_0x125ca2['id'];if(_0x25d6af)return updateSuccess(_0x2807fb,_0xe87263[_0x94ce(0x148)],_0x4f7b28,!![],![]);await recheckMutationSnapshot(_0x105d71,_0x2807fb,_0x94ce(0x125),_0x20d3d1);try{await updateMenuEntity(_0x105d71['appCode'],_0x105d71[_0x94ce(0x11f)],{'id':_0x125ca2['id'],'url':_0x125ca2['url']});}catch(_0x49ff3d){const _0x2cf1bb=mapMenuApiError(_0x49ff3d,_0x94ce(0x125),_0x20d3d1);if(isMenuResponseLoss(_0x49ff3d)&&_0x2cf1bb[_0x94ce(0x13d)]!==_0x94ce(0x11c))return recoverAfterResponseLoss(_0x105d71,_0xe87263);throw menuFailure(_0x2cf1bb,_0x2807fb,{'stage':'update','failed':{'id':_0x20d3d1},'warnings':[_0x94ce(0x15a)],'verification':{'status':_0x94ce(0x165),'targetId':_0x20d3d1,'lookupCommand':buildLookupCommand(_0x105d71[_0x94ce(0x158)])}});}let _0x510c2e,_0x4f2a37;try{_0x510c2e=await fetchMenuSnapshot(_0x105d71[_0x94ce(0x158)],_0x105d71[_0x94ce(0x11f)]),_0x4f2a37=requireMenu(_0x510c2e,_0x20d3d1),verifyUpdatedFact(_0x4f7b28,_0x4f2a37,_0x125ca2[_0x94ce(0x15e)]);}catch(_0xe05306){const _0x1a8592=describeMenuErrorCause(_0xe05306,_0x94ce(0x13b),_0x20d3d1),_0x4841b8=asVerificationError(_0xe05306,'Update\x20request\x20for\x20menu\x20'+_0x20d3d1+_0x94ce(0x144));throw menuFailure(_0x4841b8,_0x2807fb,{'stage':'verification','succeeded':[{'id':_0x20d3d1,'updateRequested':!![]}],'failed':{'id':_0x20d3d1,'requestedStateConfirmed':![],..._0x1a8592},'warnings':[_0x94ce(0x121)],'verification':{'status':_0x94ce(0x165),'targetId':_0x20d3d1,'lookupCommand':buildLookupCommand(_0x105d71['appCode'])}});}return updateSuccess(_0x2807fb,_0x510c2e,_0x4f2a37,![],![]);}};function validateInput(_0xd4c03){const _0x3a69b6=a112_0x2e204d;validateExactId(_0xd4c03),requiredUrl(_0xd4c03,_0x3a69b6(0x15e)),requiredExpectedUrl(_0xd4c03),parseParentId(_0xd4c03,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x2e06c1,_0x37e0cb){const _0x53164a=a112_0x2e204d;if(!hasFlag(_0x2e06c1,_0x37e0cb)||!_0x2e06c1[_0x53164a(0x129)](_0x37e0cb)['trim']())throw CliErrors[_0x53164a(0x16b)](_0x37e0cb);return validateExternalMenuUrl(_0x2e06c1[_0x53164a(0x129)](_0x37e0cb));}function requiredExpectedUrl(_0x35ed4a){const _0x36c951=a112_0x2e204d;if(!hasFlag(_0x35ed4a,_0x36c951(0x120))||!_0x35ed4a[_0x36c951(0x129)](_0x36c951(0x120))[_0x36c951(0x12a)]())throw CliErrors[_0x36c951(0x16b)](_0x36c951(0x120));return _0x35ed4a[_0x36c951(0x129)](_0x36c951(0x120))['trim']();}async function buildPlan(_0x1feacb,_0x5363bd){const _0x21fdf6=a112_0x2e204d,_0x17be42=validateExactId(_0x1feacb),_0x10ac23=requiredUrl(_0x1feacb,'url'),_0x549b1a=requiredExpectedUrl(_0x1feacb),_0x29b8ac=parseParentId(_0x1feacb,'expect-parent-id',{'required':!![]}),_0x225506=await fetchMutationSnapshot(_0x1feacb,_0x21fdf6(0x125),_0x17be42),_0x9b1699=requireMenu(_0x225506,_0x17be42);assertExternalLinkLeaf(_0x9b1699);if(_0x9b1699[_0x21fdf6(0x13f)]!==_0x29b8ac)throw menuError(_0x21fdf6(0x138),_0x21fdf6(0x12c)+_0x17be42+_0x21fdf6(0x147)+formatParent(_0x29b8ac)+_0x21fdf6(0x166)+formatParent(_0x9b1699['parentId'])+'.',_0x21fdf6(0x154));const _0x477073=_0x9b1699['url']===_0x10ac23;if(!_0x477073&&_0x9b1699[_0x21fdf6(0x15e)]!==_0x549b1a)throw menuError(_0x21fdf6(0x138),_0x21fdf6(0x12c)+_0x17be42+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x21fdf6(0x132));const _0xb5ae78={'id':_0x17be42,'appCode':_0x1feacb[_0x21fdf6(0x158)],'url':_0x10ac23},_0x2b0eec={..._0x9b1699,'url':_0x10ac23};return{'body':_0xb5ae78,'before':_0x9b1699,'noChanges':_0x477073,'snapshot':_0x225506,'plan':mutationResult({'operation':_0x21fdf6(0x14b),'selector':{'id':_0x17be42},'before':_0x9b1699,'after':_0x2b0eec,'dryRun':_0x5363bd,'backend':[...BACKEND],'plannedActions':_0x477073?[]:[{'stage':'update-external-link-url','method':'POST','path':_0x21fdf6(0x160),'body':_0xb5ae78}],'snapshotHash':_0x225506[_0x21fdf6(0x157)],'warnings':_0x477073?[_0x21fdf6(0x140)]:[]})};}function assertExternalLinkLeaf(_0x395b97){const _0x25cfea=a112_0x2e204d;if(_0x395b97[_0x25cfea(0x131)]!==_0x25cfea(0x136)&&_0x395b97[_0x25cfea(0x131)]!==_0x25cfea(0x159))throw menuError(_0x25cfea(0x14a),_0x25cfea(0x12c)+_0x395b97['id']+_0x25cfea(0x128)+(_0x395b97[_0x25cfea(0x131)]||_0x25cfea(0x16a))+_0x25cfea(0x146),_0x25cfea(0x11d));if(_0x395b97[_0x25cfea(0x13a)]!==0x0)throw menuError('menu_external_link_not_leaf','Menu\x20'+_0x395b97['id']+_0x25cfea(0x15d)+_0x395b97['childrenCount']+_0x25cfea(0x12e),_0x25cfea(0x12d));if(!_0x395b97[_0x25cfea(0x12b)]['trim']())throw menuError(_0x25cfea(0x145),'Menu\x20'+_0x395b97['id']+_0x25cfea(0x16e),_0x25cfea(0x163));}function a112_0xbb5a(_0x28a639,_0x5e2fcd){_0x28a639=_0x28a639-0x11c;const _0x24df18=a112_0x24df();let _0xbb5a74=_0x24df18[_0x28a639];return _0xbb5a74;}function verifyUpdatedFact(_0x44872b,_0x676720,_0x35b5b6){const _0x4726f4=a112_0x2e204d;assertExternalLinkLeaf(_0x676720);const _0x2c5652=[['id',_0x676720['id'],_0x44872b['id']],[_0x4726f4(0x139),_0x676720[_0x4726f4(0x139)],_0x44872b['label']],['type',_0x676720['type'],_0x44872b[_0x4726f4(0x131)]],['path',_0x676720['path'],_0x44872b['path']],[_0x4726f4(0x13f),_0x676720[_0x4726f4(0x13f)],_0x44872b[_0x4726f4(0x13f)]],['sort',_0x676720[_0x4726f4(0x15b)],_0x44872b[_0x4726f4(0x15b)]],[_0x4726f4(0x14f),_0x676720['visible'],_0x44872b[_0x4726f4(0x14f)]]];for(const [_0x1155cc,_0x5723ea,_0x4448fe]of _0x2c5652){assertVerified(_0x5723ea===_0x4448fe,'Menu\x20'+_0x44872b['id']+'\x20'+_0x1155cc+_0x4726f4(0x16c));}assertVerified(_0x676720[_0x4726f4(0x15e)]===_0x35b5b6,_0x4726f4(0x12c)+_0x44872b['id']+_0x4726f4(0x164));}function updateSuccess(_0xb47ae9,_0x5a1fe7,_0x4691c8,_0x56ac39,_0x3d21b6){const _0x91a190=a112_0x2e204d,_0x14c87c=_0x4691c8['id'],_0x45e5a3=mutationResult({..._0xb47ae9,'after':_0x4691c8,'dryRun':![],'succeeded':[{'id':_0x14c87c,'updated':!_0x56ac39,'skipped':_0x56ac39,'recovered':_0x3d21b6}],'verification':{'checkedBy':_0x91a190(0x14c),'snapshotHash':_0x5a1fe7[_0x91a190(0x157)],'targetId':_0x14c87c,'matchesRequestedState':!![],'recovered':_0x3d21b6}});return{'ok':!![],'message':_0x3d21b6?_0x91a190(0x126)+_0x14c87c+'.':_0x56ac39?_0x91a190(0x12c)+_0x14c87c+_0x91a190(0x13c):_0x91a190(0x169)+_0x14c87c+'.','data':{..._0x45e5a3,'recovered':_0x3d21b6}};}async function recoverAfterResponseLoss(_0x5a5931,_0xd3a415){const _0x50247b=a112_0x2e204d,{plan:_0x11c15a,before:_0x2aba0e,body:_0x153463}=_0xd3a415;let _0x48ba0d;try{_0x48ba0d=await fetchMenuSnapshot(_0x5a5931['appCode'],_0x5a5931['cookie']);}catch{throw recoveryRequired(_0x11c15a,_0x5a5931['appCode'],{'id':_0x153463['id'],'readbackFailed':!![]});}const _0x44f6b9=_0x48ba0d['byId'][_0x50247b(0x167)](_0x153463['id']);if(!_0x44f6b9||_0x44f6b9['url']!==_0x153463[_0x50247b(0x15e)])throw recoveryRequired(_0x11c15a,_0x5a5931['appCode'],{'id':_0x153463['id'],'requestedUrlObserved':![],'after':_0x44f6b9??null});try{verifyUpdatedFact(_0x2aba0e,_0x44f6b9,_0x153463[_0x50247b(0x15e)]);}catch(_0x258e6e){const _0x3dac60=asVerificationError(_0x258e6e,_0x50247b(0x16d)+_0x153463['id']+_0x50247b(0x151));throw menuFailure(_0x3dac60,_0x11c15a,{'stage':_0x50247b(0x14d),'succeeded':[{'id':_0x153463['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x153463['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x44f6b9,'warnings':[_0x50247b(0x127)],'verification':{'status':_0x50247b(0x165),'targetId':_0x153463['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5a5931[_0x50247b(0x158)])}});}return updateSuccess(_0x11c15a,_0x48ba0d,_0x44f6b9,![],!![]);}function recoveryRequired(_0x4f6f8b,_0x56fd1f,_0x138661){const _0x3bbbae=a112_0x2e204d,_0x440f9b=menuError('menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x3bbbae(0x123)+buildLookupCommand(_0x56fd1f)+_0x3bbbae(0x152));return menuFailure(_0x440f9b,_0x4f6f8b,{'stage':_0x3bbbae(0x14d),'failed':{'id':_0x138661['id'],..._0x138661['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x138661['requestedUrlObserved']},..._0x138661['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x138661['after'],'warnings':[_0x3bbbae(0x161)],'verification':{'status':_0x3bbbae(0x165),'targetId':_0x138661['id'],..._0x138661[_0x3bbbae(0x13e)]===undefined?{}:{'requestedUrlObserved':_0x138661[_0x3bbbae(0x13e)]},..._0x138661[_0x3bbbae(0x12f)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x56fd1f)}});}function buildLookupCommand(_0x3fac38){const _0x1fa3d6=a112_0x2e204d,_0x23bbba='\x27'+_0x3fac38[_0x1fa3d6(0x137)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x1fa3d6(0x15f)+_0x23bbba+_0x1fa3d6(0x134);}
1
+ const a113_0xc1811f=a113_0x4822;(function(_0x4c8735,_0x327da2){const _0x1c7780=a113_0x4822,_0x4365f2=_0x4c8735();while(!![]){try{const _0xb4714b=-parseInt(_0x1c7780(0x225))/0x1*(parseInt(_0x1c7780(0x219))/0x2)+parseInt(_0x1c7780(0x1e0))/0x3*(parseInt(_0x1c7780(0x20f))/0x4)+parseInt(_0x1c7780(0x1f9))/0x5*(-parseInt(_0x1c7780(0x200))/0x6)+-parseInt(_0x1c7780(0x1f5))/0x7+parseInt(_0x1c7780(0x206))/0x8+parseInt(_0x1c7780(0x1ed))/0x9*(parseInt(_0x1c7780(0x1f0))/0xa)+-parseInt(_0x1c7780(0x20e))/0xb;if(_0xb4714b===_0x327da2)break;else _0x4365f2['push'](_0x4365f2['shift']());}catch(_0x3716b4){_0x4365f2['push'](_0x4365f2['shift']());}}}(a113_0x1fdd,0x4438e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x4822(_0x51d14c,_0x1d6188){_0x51d14c=_0x51d14c-0x1de;const _0x1fddc0=a113_0x1fdd();let _0x4822b1=_0x1fddc0[_0x51d14c];return _0x4822b1;}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,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a113_0x1fdd(){const _0x28607b=['replace','128382MPAMQG','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20--format\x20compress','\x20has\x20','menu\x20list','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20direct\x20child\x20menu(s).','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','update','cookie','1170657fZLuPa','string','label','30kBzrWW','byId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20already\x20matches\x20the\x20requested\x20URL.','menu_state_drift','288729HrbbvM','appCode','requestedUrlObserved','menu_external_link_type_required','10ypczBs','get','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','body','visible','childrenCount','failed','316146ODmvip','external-link-update','expect-url','Updated\x20external\x20URL\x20for\x20menu\x20','snapshot','expect-parent-id','2126280tUUrgU','update\x20external\x20menu\x20URL','sort','hash','POST','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','flagMissing','\x20has\x20an\x20empty\x20platform\x20path.','2973938cotQck','40RsFKiJ','verify\x20external\x20menu\x20URL\x20update','\x20changed\x20during\x20the\x20URL-only\x20update.','Menu\x20','update-recovery','type','parentId','url','\x22,\x20not\x20iframe\x20or\x20link.','iframe','6KXICrm','\x27\x5c\x27\x27','/smartapi/menu/update','rabetbase\x20menu\x20list\x20--appcode\x20','str','Run\x20','trim','after','path','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','code','129173UQAkeI','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.',',\x20current\x20','unknown'];a113_0x1fdd=function(){return _0x28607b;};return a113_0x1fdd();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a113_0xc1811f(0x21b)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0xc1811f(0x201),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0xc1811f(0x216),'type':a113_0xc1811f(0x1ee),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0xc1811f(0x202),'type':a113_0xc1811f(0x1ee),'required':!![],'description':a113_0xc1811f(0x223)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5b64eb){validateInput(_0x5b64eb);},async 'dryRun'(_0x5e44d8){const _0x3615c8=a113_0xc1811f;validateInput(_0x5e44d8);const _0x451b93=await buildPlan(_0x5e44d8,!![]);return menuDryRunResult(_0x451b93['plan'],{'method':_0x3615c8(0x20a),'url':_0x3615c8(0x21b),'body':_0x451b93[_0x3615c8(0x1fc)],'description':_0x3615c8(0x1e3)+_0x451b93[_0x3615c8(0x1fc)]['id']+'.'});},async 'execute'(_0xe8cbc5){const _0x9fa221=a113_0xc1811f;validateInput(_0xe8cbc5);const _0xd550d5=await buildPlan(_0xe8cbc5,![]),{plan:_0x56b8cb,body:_0x5a5a1b,before:_0x287f25,noChanges:_0x4ffd3e}=_0xd550d5,_0x3a7ca1=_0x5a5a1b['id'];if(_0x4ffd3e)return updateSuccess(_0x56b8cb,_0xd550d5[_0x9fa221(0x204)],_0x287f25,!![],![]);await recheckMutationSnapshot(_0xe8cbc5,_0x56b8cb,'update\x20external\x20menu\x20URL',_0x3a7ca1);try{await updateMenuEntity(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)],{'id':_0x5a5a1b['id'],'url':_0x5a5a1b[_0x9fa221(0x216)]});}catch(_0x3d8d58){const _0xc2f6b8=mapMenuApiError(_0x3d8d58,'update\x20external\x20menu\x20URL',_0x3a7ca1);if(isMenuResponseLoss(_0x3d8d58)&&_0xc2f6b8[_0x9fa221(0x224)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0xe8cbc5,_0xd550d5);throw menuFailure(_0xc2f6b8,_0x56b8cb,{'stage':_0x9fa221(0x1eb),'failed':{'id':_0x3a7ca1},'warnings':[_0x9fa221(0x1e1)],'verification':{'status':_0x9fa221(0x1ff),'targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}let _0x3555c6,_0x3e800a;try{_0x3555c6=await fetchMenuSnapshot(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)]),_0x3e800a=requireMenu(_0x3555c6,_0x3a7ca1),verifyUpdatedFact(_0x287f25,_0x3e800a,_0x5a5a1b['url']);}catch(_0x1dcdd4){const _0x3cdb3c=describeMenuErrorCause(_0x1dcdd4,_0x9fa221(0x210),_0x3a7ca1),_0x29ac87=asVerificationError(_0x1dcdd4,'Update\x20request\x20for\x20menu\x20'+_0x3a7ca1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x29ac87,_0x56b8cb,{'stage':'verification','succeeded':[{'id':_0x3a7ca1,'updateRequested':!![]}],'failed':{'id':_0x3a7ca1,'requestedStateConfirmed':![],..._0x3cdb3c},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}return updateSuccess(_0x56b8cb,_0x3555c6,_0x3e800a,![],![]);}};function validateInput(_0x2e1065){const _0x449931=a113_0xc1811f;validateExactId(_0x2e1065),requiredUrl(_0x2e1065,'url'),requiredExpectedUrl(_0x2e1065),parseParentId(_0x2e1065,_0x449931(0x205),{'required':!![]});}function requiredUrl(_0x48e551,_0xa2be0d){const _0x2b8ea0=a113_0xc1811f;if(!hasFlag(_0x48e551,_0xa2be0d)||!_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d)['trim']())throw CliErrors[_0x2b8ea0(0x20c)](_0xa2be0d);return validateExternalMenuUrl(_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d));}function requiredExpectedUrl(_0x1b566e){const _0x430ca4=a113_0xc1811f;if(!hasFlag(_0x1b566e,_0x430ca4(0x202))||!_0x1b566e['str'](_0x430ca4(0x202))[_0x430ca4(0x21f)]())throw CliErrors['flagMissing'](_0x430ca4(0x202));return _0x1b566e[_0x430ca4(0x21d)](_0x430ca4(0x202))[_0x430ca4(0x21f)]();}async function buildPlan(_0x339a2f,_0x109067){const _0x3bf250=a113_0xc1811f,_0x269f0a=validateExactId(_0x339a2f),_0x5612d3=requiredUrl(_0x339a2f,'url'),_0xdee8c8=requiredExpectedUrl(_0x339a2f),_0x3fc89e=parseParentId(_0x339a2f,'expect-parent-id',{'required':!![]}),_0x2adbb7=await fetchMutationSnapshot(_0x339a2f,_0x3bf250(0x207),_0x269f0a),_0x1b472b=requireMenu(_0x2adbb7,_0x269f0a);assertExternalLinkLeaf(_0x1b472b);if(_0x1b472b[_0x3bf250(0x215)]!==_0x3fc89e)throw menuError('menu_state_drift',_0x3bf250(0x212)+_0x269f0a+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x3fc89e)+_0x3bf250(0x227)+formatParent(_0x1b472b[_0x3bf250(0x215)])+'.',_0x3bf250(0x1fb));const _0x48597e=_0x1b472b[_0x3bf250(0x216)]===_0x5612d3;if(!_0x48597e&&_0x1b472b['url']!==_0xdee8c8)throw menuError(_0x3bf250(0x1f4),_0x3bf250(0x212)+_0x269f0a+_0x3bf250(0x20b),_0x3bf250(0x222));const _0x3b848f={'id':_0x269f0a,'appCode':_0x339a2f['appCode'],'url':_0x5612d3},_0x4e813c={..._0x1b472b,'url':_0x5612d3};return{'body':_0x3b848f,'before':_0x1b472b,'noChanges':_0x48597e,'snapshot':_0x2adbb7,'plan':mutationResult({'operation':_0x3bf250(0x201),'selector':{'id':_0x269f0a},'before':_0x1b472b,'after':_0x4e813c,'dryRun':_0x109067,'backend':[...BACKEND],'plannedActions':_0x48597e?[]:[{'stage':'update-external-link-url','method':'POST','path':'/smartapi/menu/update','body':_0x3b848f}],'snapshotHash':_0x2adbb7[_0x3bf250(0x209)],'warnings':_0x48597e?[_0x3bf250(0x1e7)]:[]})};}function assertExternalLinkLeaf(_0x5b67db){const _0x55afde=a113_0xc1811f;if(_0x5b67db[_0x55afde(0x214)]!==_0x55afde(0x218)&&_0x5b67db[_0x55afde(0x214)]!=='link')throw menuError(_0x55afde(0x1f8),'Menu\x20'+_0x5b67db['id']+'\x20is\x20type\x20\x22'+(_0x5b67db['type']||_0x55afde(0x1de))+_0x55afde(0x217),_0x55afde(0x1e9));if(_0x5b67db[_0x55afde(0x1fe)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x1e5)+_0x5b67db[_0x55afde(0x1fe)]+_0x55afde(0x1e8),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x5b67db[_0x55afde(0x221)][_0x55afde(0x21f)]())throw menuError('menu_external_link_path_missing',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x20d),_0x55afde(0x226));}function verifyUpdatedFact(_0x1df0ba,_0x294402,_0xbe8b8c){const _0xd9e823=a113_0xc1811f;assertExternalLinkLeaf(_0x294402);const _0x3a4794=[['id',_0x294402['id'],_0x1df0ba['id']],[_0xd9e823(0x1ef),_0x294402['label'],_0x1df0ba[_0xd9e823(0x1ef)]],[_0xd9e823(0x214),_0x294402[_0xd9e823(0x214)],_0x1df0ba[_0xd9e823(0x214)]],[_0xd9e823(0x221),_0x294402[_0xd9e823(0x221)],_0x1df0ba[_0xd9e823(0x221)]],[_0xd9e823(0x215),_0x294402['parentId'],_0x1df0ba['parentId']],[_0xd9e823(0x208),_0x294402[_0xd9e823(0x208)],_0x1df0ba[_0xd9e823(0x208)]],[_0xd9e823(0x1fd),_0x294402[_0xd9e823(0x1fd)],_0x1df0ba[_0xd9e823(0x1fd)]]];for(const [_0x2ce91f,_0x1b2167,_0x12b9cb]of _0x3a4794){assertVerified(_0x1b2167===_0x12b9cb,_0xd9e823(0x212)+_0x1df0ba['id']+'\x20'+_0x2ce91f+_0xd9e823(0x211));}assertVerified(_0x294402['url']===_0xbe8b8c,_0xd9e823(0x212)+_0x1df0ba['id']+_0xd9e823(0x1ea));}function updateSuccess(_0x53ccd3,_0x510a36,_0x5168bd,_0x548041,_0x2ebc57){const _0x1f80f5=a113_0xc1811f,_0x5a6334=_0x5168bd['id'],_0x420060=mutationResult({..._0x53ccd3,'after':_0x5168bd,'dryRun':![],'succeeded':[{'id':_0x5a6334,'updated':!_0x548041,'skipped':_0x548041,'recovered':_0x2ebc57}],'verification':{'checkedBy':_0x1f80f5(0x1e6),'snapshotHash':_0x510a36[_0x1f80f5(0x209)],'targetId':_0x5a6334,'matchesRequestedState':!![],'recovered':_0x2ebc57}});return{'ok':!![],'message':_0x2ebc57?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x5a6334+'.':_0x548041?_0x1f80f5(0x212)+_0x5a6334+_0x1f80f5(0x1f3):_0x1f80f5(0x203)+_0x5a6334+'.','data':{..._0x420060,'recovered':_0x2ebc57}};}async function recoverAfterResponseLoss(_0x1b4c25,_0x20808f){const _0x27dc90=a113_0xc1811f,{plan:_0xa9d67e,before:_0x3f855d,body:_0x262e0c}=_0x20808f;let _0x25ab56;try{_0x25ab56=await fetchMenuSnapshot(_0x1b4c25[_0x27dc90(0x1f6)],_0x1b4c25[_0x27dc90(0x1ec)]);}catch{throw recoveryRequired(_0xa9d67e,_0x1b4c25['appCode'],{'id':_0x262e0c['id'],'readbackFailed':!![]});}const _0x38eaa1=_0x25ab56[_0x27dc90(0x1f1)][_0x27dc90(0x1fa)](_0x262e0c['id']);if(!_0x38eaa1||_0x38eaa1[_0x27dc90(0x216)]!==_0x262e0c[_0x27dc90(0x216)])throw recoveryRequired(_0xa9d67e,_0x1b4c25[_0x27dc90(0x1f6)],{'id':_0x262e0c['id'],'requestedUrlObserved':![],'after':_0x38eaa1??null});try{verifyUpdatedFact(_0x3f855d,_0x38eaa1,_0x262e0c['url']);}catch(_0x5c9aea){const _0xe2d2f9=asVerificationError(_0x5c9aea,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x262e0c['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xe2d2f9,_0xa9d67e,{'stage':'update-recovery','succeeded':[{'id':_0x262e0c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x38eaa1,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x27dc90(0x1ff),'targetId':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1b4c25[_0x27dc90(0x1f6)])}});}return updateSuccess(_0xa9d67e,_0x25ab56,_0x38eaa1,![],!![]);}function recoveryRequired(_0x5ad5d5,_0x439c09,_0x3036b2){const _0x149b69=a113_0xc1811f,_0x1fd381=menuError('menu_update_recovery_required',_0x149b69(0x1f2),_0x149b69(0x21e)+buildLookupCommand(_0x439c09)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x1fd381,_0x5ad5d5,{'stage':_0x149b69(0x213),'failed':{'id':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2[_0x149b69(0x1f7)]},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{}},'after':_0x3036b2[_0x149b69(0x220)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x149b69(0x1ff),'targetId':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2['requestedUrlObserved']},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x439c09)}});}function buildLookupCommand(_0x2ee4ad){const _0x2b620e=a113_0xc1811f,_0x1a5363='\x27'+_0x2ee4ad[_0x2b620e(0x1df)](/'/g,_0x2b620e(0x21a))+'\x27';return _0x2b620e(0x21c)+_0x1a5363+_0x2b620e(0x1e4);}
@@ -1 +1 @@
1
- function a113_0x46b0(){const _0x34785c=['trim','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20is\x20not\x20empty.','61507GfdPQq','\x20may\x20exist\x20online\x20at\x20path\x20','cookie','Folder\x20','\x20has\x20an\x20unexpected\x20sort.','474837VEWFDc','pageId','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','POST','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','rabetbase\x20menu\x20list\x20--format\x20json','visible','/smartapi/menu/create','str','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20not\x20type\x20folder.','hash','childrenCount','folder','after','5BrHDvJ','byId','sort','menu\x20list','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','root','string','parentId','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20unexpectedly\x20owns\x20a\x20page.','get','verification','create\x20folder','1128888jHzZHD','write','menu','110yLqmVS','label','Created\x20menu\x20folder\x20','appCode','depth','menu_create_response_invalid','Created\x20menu\x20','verify\x20folder\x20creation','resources','16sSHLQL','flagMissing','length','path','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','create',';\x20verify\x20it\x20before\x20retrying.','2472768MJEVsx','type','1275153KZVPyf','Would\x20create\x20empty\x20folder\x20\x22','failed','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','parent-id','\x20has\x20resources.','10Klgyco','121457bZAfuE','247676iesVHW','Created\x20folder\x20','group-create','create-response-validation','Menu\x20create\x20response\x20for\x20folder\x20'];a113_0x46b0=function(){return _0x34785c;};return a113_0x46b0();}const a113_0x37c8d7=a113_0x2de5;(function(_0x33704c,_0x564371){const _0x36f80a=a113_0x2de5,_0x4a03d5=_0x33704c();while(!![]){try{const _0x1291d4=-parseInt(_0x36f80a(0x171))/0x1*(parseInt(_0x36f80a(0x167))/0x2)+parseInt(_0x36f80a(0x161))/0x3+parseInt(_0x36f80a(0x169))/0x4+-parseInt(_0x36f80a(0x185))/0x5*(parseInt(_0x36f80a(0x14b))/0x6)+-parseInt(_0x36f80a(0x168))/0x7*(-parseInt(_0x36f80a(0x157))/0x8)+-parseInt(_0x36f80a(0x15f))/0x9+parseInt(_0x36f80a(0x14e))/0xa*(parseInt(_0x36f80a(0x176))/0xb);if(_0x1291d4===_0x564371)break;else _0x4a03d5['push'](_0x4a03d5['shift']());}catch(_0x465ff4){_0x4a03d5['push'](_0x4a03d5['shift']());}}}(a113_0x46b0,0x3731a));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,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':a113_0x37c8d7(0x179),'path':a113_0x37c8d7(0x17d)}];function a113_0x2de5(_0x590dd1,_0x303a1c){_0x590dd1=_0x590dd1-0x145;const _0x46b0c9=a113_0x46b0();let _0x2de501=_0x46b0c9[_0x590dd1];return _0x2de501;}export const menuGroupCreate={'service':a113_0x37c8d7(0x14d),'command':a113_0x37c8d7(0x16b),'description':a113_0x37c8d7(0x17a),'risk':a113_0x37c8d7(0x14c),'structuredErrors':!![],'flags':[{'name':a113_0x37c8d7(0x14f),'type':a113_0x37c8d7(0x18b),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1fc473){validateCreateInput(_0x1fc473);},async 'dryRun'(_0x3bb29d){const _0x2784f4=a113_0x37c8d7,_0x245cb2=await buildCreatePlan(_0x3bb29d,!![]),_0x2dd2d3=_0x245cb2[_0x2784f4(0x184)];return menuDryRunResult(_0x245cb2,{'method':_0x2784f4(0x179),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x2dd2d3['parentId']),'label':_0x2dd2d3[_0x2784f4(0x14f)],'type':_0x2784f4(0x183),'visible':!![],'sort':_0x2dd2d3[_0x2784f4(0x187)],'extend':{}},'description':_0x2784f4(0x162)+String(_0x2dd2d3['label'])+_0x2784f4(0x17f)});},async 'execute'(_0x54e533){const _0x53d42d=a113_0x37c8d7;validateCreateInput(_0x54e533);const _0x12ec7a=await buildCreatePlan(_0x54e533,![]),_0x51f7e1=_0x12ec7a[_0x53d42d(0x184)];await recheckMutationSnapshot(_0x54e533,_0x12ec7a,'create\x20folder');let _0x5b2b5a;try{_0x5b2b5a=await createMenuEntity(_0x54e533[_0x53d42d(0x151)],_0x54e533[_0x53d42d(0x173)],{'parentId':toApiParentId(_0x51f7e1[_0x53d42d(0x145)]),'label':String(_0x51f7e1[_0x53d42d(0x14f)]),'type':_0x53d42d(0x183),'visible':!![],'sort':Number(_0x51f7e1[_0x53d42d(0x187)]),'extend':{}});}catch(_0x46a802){const _0x2c77f6=mapMenuApiError(_0x46a802,_0x53d42d(0x14a));throw menuFailure(_0x2c77f6,_0x12ec7a,{'stage':_0x53d42d(0x15d),'failed':{}});}const _0x5961a0=Number(_0x5b2b5a['id']);if(!Number['isSafeInteger'](_0x5961a0)||_0x5961a0<=0x0){const _0x224a25=menuError(_0x53d42d(0x153),_0x53d42d(0x146),_0x53d42d(0x189));throw menuFailure(_0x224a25,_0x12ec7a,{'stage':_0x53d42d(0x16c),'failed':{'createdId':_0x5b2b5a['id']??null},'warnings':[_0x53d42d(0x178)],'verification':{'status':'failed','lookupCommand':_0x53d42d(0x17b)}});}const _0x4dc37a=typeof _0x5b2b5a[_0x53d42d(0x15a)]===_0x53d42d(0x18b)?_0x5b2b5a['path']:'';if(!_0x4dc37a[_0x53d42d(0x16e)]()){const _0x409c9b=menuError(_0x53d42d(0x153),_0x53d42d(0x16d)+_0x5961a0+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x409c9b,_0x12ec7a,{'stage':_0x53d42d(0x16c),'succeeded':[{'id':_0x5961a0,'created':!![]}],'failed':{'id':_0x5961a0,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x5961a0+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':_0x53d42d(0x17b),'targetId':_0x5961a0}});}let _0x4d0f8c;try{_0x4d0f8c=await fetchMenuSnapshot(_0x54e533['appCode'],_0x54e533[_0x53d42d(0x173)]);}catch(_0x2e5f96){const _0x1e56d5=describeMenuErrorCause(_0x2e5f96,_0x53d42d(0x155),_0x5961a0),_0x188ceb=asVerificationError(_0x2e5f96,'Folder\x20'+_0x5961a0+_0x53d42d(0x15b));throw menuFailure(_0x188ceb,_0x12ec7a,{'stage':_0x53d42d(0x149),'succeeded':[{'id':_0x5961a0,'created':!![],'path':_0x4dc37a}],'failed':{'id':_0x5961a0,'finalFactsConfirmed':![],..._0x1e56d5},'warnings':['Folder\x20'+_0x5961a0+_0x53d42d(0x172)+JSON['stringify'](_0x4dc37a)+_0x53d42d(0x15e)],'after':{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':_0x53d42d(0x17b),'targetId':_0x5961a0}});}const _0x2f6ebc=_0x4d0f8c[_0x53d42d(0x186)][_0x53d42d(0x148)](_0x5961a0);let _0x282c8d;try{assertVerified(Boolean(_0x2f6ebc),'Created\x20folder\x20'+_0x5961a0+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x282c8d=_0x2f6ebc,assertVerified(_0x282c8d[_0x53d42d(0x160)]===_0x53d42d(0x183),_0x53d42d(0x154)+_0x5961a0+_0x53d42d(0x180)),assertVerified(_0x282c8d[_0x53d42d(0x14f)]===_0x51f7e1['label'],'Created\x20folder\x20'+_0x5961a0+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x282c8d[_0x53d42d(0x15a)]===_0x4dc37a&&Boolean(_0x282c8d[_0x53d42d(0x15a)]['trim']()),_0x53d42d(0x16a)+_0x5961a0+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x282c8d[_0x53d42d(0x17c)]===!![],_0x53d42d(0x16a)+_0x5961a0+'\x20is\x20not\x20visible.'),assertVerified(_0x282c8d[_0x53d42d(0x156)][_0x53d42d(0x159)]===0x0,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x166)),assertVerified(_0x282c8d[_0x53d42d(0x182)]===0x0,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x170)),assertVerified(_0x282c8d[_0x53d42d(0x187)]===_0x51f7e1[_0x53d42d(0x187)],_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x175)),assertVerified(_0x282c8d['parentId']===_0x51f7e1['parentId'],_0x53d42d(0x16a)+_0x5961a0+'\x20has\x20unexpected\x20parent\x20'+(_0x282c8d[_0x53d42d(0x145)]??_0x53d42d(0x18a))+'.'),assertVerified(_0x282c8d[_0x53d42d(0x177)]==null,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x147));const _0x311d03=_0x282c8d[_0x53d42d(0x145)]==null?undefined:requireFolder(_0x4d0f8c,_0x282c8d[_0x53d42d(0x145)]);assertVerified(_0x282c8d['depth']===(_0x311d03?_0x311d03[_0x53d42d(0x152)]+0x1:0x0),_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x16f));}catch(_0x3b7780){const _0x2c1734=describeMenuErrorCause(_0x3b7780,_0x53d42d(0x155),_0x5961a0),_0x1f4983=asVerificationError(_0x3b7780,_0x53d42d(0x174)+_0x5961a0+_0x53d42d(0x15c));throw menuFailure(_0x1f4983,_0x12ec7a,{'stage':_0x53d42d(0x149),'succeeded':[{'id':_0x5961a0,'created':!![],'path':_0x4dc37a}],'failed':{'id':_0x5961a0,'finalFactsConfirmed':![],..._0x2c1734},'warnings':[_0x53d42d(0x174)+_0x5961a0+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2f6ebc??{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5961a0}});}const _0x103988=mutationResult({..._0x12ec7a,'after':_0x282c8d,'dryRun':![],'succeeded':[{'id':_0x5961a0,'type':'folder','path':_0x4dc37a}],'verification':{'checkedBy':_0x53d42d(0x188),'snapshotHash':_0x4d0f8c[_0x53d42d(0x181)],'folder':!![],'path':_0x4dc37a,'emptyResources':!![]}});return{'ok':!![],'data':_0x103988,'message':_0x53d42d(0x150)+_0x5961a0+'.'};}};function validateCreateInput(_0x543da5){const _0x2b333f=a113_0x37c8d7,_0x4ec9ae=_0x543da5[_0x2b333f(0x17e)]('label')[_0x2b333f(0x16e)]();if(!_0x4ec9ae)throw CliErrors[_0x2b333f(0x158)]('label');parseParentId(_0x543da5,_0x2b333f(0x165)),validateSort(_0x543da5);}async function buildCreatePlan(_0xa37fc3,_0x411129){const _0xeadb54=a113_0x37c8d7,_0x18e0fd=await fetchMutationSnapshot(_0xa37fc3,_0xeadb54(0x14a)),_0x3d2841=parseParentId(_0xa37fc3,_0xeadb54(0x165))??null;if(_0x3d2841!=null)requireFolder(_0x18e0fd,_0x3d2841);const _0x260eee=validateSort(_0xa37fc3),_0x27b82d=_0x260eee??nextSiblingSort(_0x18e0fd,_0x3d2841,_0xeadb54(0x183)),_0x185e76=_0xa37fc3[_0xeadb54(0x17e)]('label')[_0xeadb54(0x16e)]();return mutationResult({'operation':_0xeadb54(0x16b),'selector':{'label':_0x185e76,'parentId':_0x3d2841},'before':null,'after':{'id':null,'parentId':_0x3d2841,'label':_0x185e76,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x27b82d,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x411129,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x3d2841),'label':_0x185e76,'type':_0xeadb54(0x183),'visible':!![],'sort':_0x27b82d,'extend':{}}}],'snapshotHash':_0x18e0fd[_0xeadb54(0x181)],'warnings':[_0xeadb54(0x164)]});}
1
+ const a114_0x154d3d=a114_0x4a0a;function a114_0x4a0a(_0x5116de,_0x287491){_0x5116de=_0x5116de-0xad;const _0x4bcda4=a114_0x4bcd();let _0x4a0ad3=_0x4bcda4[_0x5116de];return _0x4a0ad3;}(function(_0x5d9e31,_0x17181f){const _0x2e05a3=a114_0x4a0a,_0x2e9105=_0x5d9e31();while(!![]){try{const _0x5e9d14=-parseInt(_0x2e05a3(0xaf))/0x1*(parseInt(_0x2e05a3(0xd4))/0x2)+parseInt(_0x2e05a3(0xea))/0x3*(-parseInt(_0x2e05a3(0xf1))/0x4)+parseInt(_0x2e05a3(0xce))/0x5*(parseInt(_0x2e05a3(0xcd))/0x6)+parseInt(_0x2e05a3(0xe0))/0x7*(-parseInt(_0x2e05a3(0xc3))/0x8)+-parseInt(_0x2e05a3(0xde))/0x9*(parseInt(_0x2e05a3(0xd0))/0xa)+-parseInt(_0x2e05a3(0xbf))/0xb*(parseInt(_0x2e05a3(0xdf))/0xc)+parseInt(_0x2e05a3(0xdb))/0xd*(parseInt(_0x2e05a3(0xc5))/0xe);if(_0x5e9d14===_0x17181f)break;else _0x2e9105['push'](_0x2e9105['shift']());}catch(_0x47acb5){_0x2e9105['push'](_0x2e9105['shift']());}}}(a114_0x4bcd,0x89928));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a114_0x4bcd(){const _0x26389c=['\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','parentId','308604tveMrm','\x20has\x20an\x20unexpected\x20label.','create-response-validation','group-create','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','label','155DEEnlV','Folder\x20','str','pageId','\x22\x20with\x20a\x20platform-generated\x20path.','\x20unexpectedly\x20owns\x20a\x20page.','rabetbase\x20menu\x20list\x20--format\x20json','menu_create_response_invalid','byId','\x20is\x20not\x20type\x20folder.','menu\x20list','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','verification','sort','resources','after','2123WLbeyg','isSafeInteger','appCode','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','1376GSREOW','\x20is\x20missing\x20from\x20menu\x20list.','31615108zanpsT','depth','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20may\x20exist\x20online\x20at\x20path\x20','length','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','failed','path','2694PlOVzt','11070DCjLfm','\x20has\x20unexpected\x20parent\x20','464360mSgPvp','hash','\x20is\x20not\x20visible.','Menu\x20create\x20response\x20for\x20folder\x20','2682ophGYP','Folder\x20label','trim','childrenCount','get','\x20has\x20resources.','create','13hnKbZQ','\x20has\x20an\x20unexpected\x20sort.','create-folder','90FKtvnG','63108WcWTWo','21924EjkDkv','Created\x20folder\x20','cookie','/smartapi/menu/create','write','parent-id','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','\x20is\x20not\x20empty.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','18JyXBrc','folder','create\x20folder','root','<platform-generated>'];a114_0x4bcd=function(){return _0x26389c;};return a114_0x4bcd();}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':a114_0x154d3d(0xe7),'path':a114_0x154d3d(0xe3)}];export const menuGroupCreate={'service':'menu','command':a114_0x154d3d(0xf4),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x154d3d(0xe4),'structuredErrors':!![],'flags':[{'name':a114_0x154d3d(0xae),'type':'string','required':!![],'description':a114_0x154d3d(0xd5)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1843e4){validateCreateInput(_0x1843e4);},async 'dryRun'(_0x2dd7ca){const _0x12e269=a114_0x154d3d,_0x509fdb=await buildCreatePlan(_0x2dd7ca,!![]),_0x4c8257=_0x509fdb[_0x12e269(0xbe)];return menuDryRunResult(_0x509fdb,{'method':_0x12e269(0xe7),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4c8257[_0x12e269(0xf0)]),'label':_0x4c8257[_0x12e269(0xae)],'type':_0x12e269(0xeb),'visible':!![],'sort':_0x4c8257['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x4c8257[_0x12e269(0xae)])+_0x12e269(0xb3)});},async 'execute'(_0x420128){const _0xd44f46=a114_0x154d3d;validateCreateInput(_0x420128);const _0xd2662=await buildCreatePlan(_0x420128,![]),_0x558c49=_0xd2662['after'];await recheckMutationSnapshot(_0x420128,_0xd2662,_0xd44f46(0xec));let _0x41f93b;try{_0x41f93b=await createMenuEntity(_0x420128[_0xd44f46(0xc1)],_0x420128['cookie'],{'parentId':toApiParentId(_0x558c49[_0xd44f46(0xf0)]),'label':String(_0x558c49[_0xd44f46(0xae)]),'type':_0xd44f46(0xeb),'visible':!![],'sort':Number(_0x558c49[_0xd44f46(0xbc)]),'extend':{}});}catch(_0x23b1c5){const _0x5721a7=mapMenuApiError(_0x23b1c5,'create\x20folder');throw menuFailure(_0x5721a7,_0xd2662,{'stage':_0xd44f46(0xda),'failed':{}});}const _0x326fe2=Number(_0x41f93b['id']);if(!Number[_0xd44f46(0xc0)](_0x326fe2)||_0x326fe2<=0x0){const _0x45a1d0=menuError(_0xd44f46(0xb6),_0xd44f46(0xca),_0xd44f46(0xc2));throw menuFailure(_0x45a1d0,_0xd2662,{'stage':_0xd44f46(0xf3),'failed':{'createdId':_0x41f93b['id']??null},'warnings':[_0xd44f46(0xba)],'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5)}});}const _0x4478b1=typeof _0x41f93b[_0xd44f46(0xcc)]==='string'?_0x41f93b[_0xd44f46(0xcc)]:'';if(!_0x4478b1[_0xd44f46(0xd6)]()){const _0x4a5db9=menuError(_0xd44f46(0xb6),_0xd44f46(0xd3)+_0x326fe2+_0xd44f46(0xe9),_0xd44f46(0xe6));throw menuFailure(_0x4a5db9,_0xd2662,{'stage':_0xd44f46(0xf3),'succeeded':[{'id':_0x326fe2,'created':!![]}],'failed':{'id':_0x326fe2,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x326fe2+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}let _0x5309d6;try{_0x5309d6=await fetchMenuSnapshot(_0x420128['appCode'],_0x420128[_0xd44f46(0xe2)]);}catch(_0x4f17fd){const _0x38d8e2=describeMenuErrorCause(_0x4f17fd,'verify\x20folder\x20creation',_0x326fe2),_0x3bba89=asVerificationError(_0x4f17fd,_0xd44f46(0xb0)+_0x326fe2+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x3bba89,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x38d8e2},'warnings':[_0xd44f46(0xb0)+_0x326fe2+_0xd44f46(0xc8)+JSON['stringify'](_0x4478b1)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x2a0fb2=_0x5309d6[_0xd44f46(0xb7)][_0xd44f46(0xd8)](_0x326fe2);let _0x22b6b1;try{assertVerified(Boolean(_0x2a0fb2),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xc4)),_0x22b6b1=_0x2a0fb2,assertVerified(_0x22b6b1['type']===_0xd44f46(0xeb),'Created\x20menu\x20'+_0x326fe2+_0xd44f46(0xb8)),assertVerified(_0x22b6b1['label']===_0x558c49[_0xd44f46(0xae)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xf2)),assertVerified(_0x22b6b1[_0xd44f46(0xcc)]===_0x4478b1&&Boolean(_0x22b6b1[_0xd44f46(0xcc)]['trim']()),_0xd44f46(0xe1)+_0x326fe2+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x22b6b1['visible']===!![],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd2)),assertVerified(_0x22b6b1[_0xd44f46(0xbd)][_0xd44f46(0xc9)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd9)),assertVerified(_0x22b6b1[_0xd44f46(0xd7)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xe8)),assertVerified(_0x22b6b1[_0xd44f46(0xbc)]===_0x558c49[_0xd44f46(0xbc)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xdc)),assertVerified(_0x22b6b1[_0xd44f46(0xf0)]===_0x558c49['parentId'],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xcf)+(_0x22b6b1[_0xd44f46(0xf0)]??_0xd44f46(0xed))+'.'),assertVerified(_0x22b6b1[_0xd44f46(0xb2)]==null,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xb4));const _0xb5832b=_0x22b6b1['parentId']==null?undefined:requireFolder(_0x5309d6,_0x22b6b1[_0xd44f46(0xf0)]);assertVerified(_0x22b6b1[_0xd44f46(0xc6)]===(_0xb5832b?_0xb5832b[_0xd44f46(0xc6)]+0x1:0x0),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xef));}catch(_0x3c1de0){const _0x208dee=describeMenuErrorCause(_0x3c1de0,'verify\x20folder\x20creation',_0x326fe2),_0x29a6c6=asVerificationError(_0x3c1de0,'Folder\x20'+_0x326fe2+_0xd44f46(0xad));throw menuFailure(_0x29a6c6,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x208dee},'warnings':['Folder\x20'+_0x326fe2+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2a0fb2??{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x56b14d=mutationResult({..._0xd2662,'after':_0x22b6b1,'dryRun':![],'succeeded':[{'id':_0x326fe2,'type':_0xd44f46(0xeb),'path':_0x4478b1}],'verification':{'checkedBy':_0xd44f46(0xb9),'snapshotHash':_0x5309d6[_0xd44f46(0xd1)],'folder':!![],'path':_0x4478b1,'emptyResources':!![]}});return{'ok':!![],'data':_0x56b14d,'message':'Created\x20menu\x20folder\x20'+_0x326fe2+'.'};}};function validateCreateInput(_0x1f877c){const _0x57c4ab=a114_0x154d3d,_0x1b818b=_0x1f877c[_0x57c4ab(0xb1)](_0x57c4ab(0xae))[_0x57c4ab(0xd6)]();if(!_0x1b818b)throw CliErrors['flagMissing'](_0x57c4ab(0xae));parseParentId(_0x1f877c,_0x57c4ab(0xe5)),validateSort(_0x1f877c);}async function buildCreatePlan(_0x1a16f6,_0x4f4020){const _0x1d9b9c=a114_0x154d3d,_0x1f2c77=await fetchMutationSnapshot(_0x1a16f6,_0x1d9b9c(0xec)),_0x189bb2=parseParentId(_0x1a16f6,_0x1d9b9c(0xe5))??null;if(_0x189bb2!=null)requireFolder(_0x1f2c77,_0x189bb2);const _0x56e8ca=validateSort(_0x1a16f6),_0x375a4c=_0x56e8ca??nextSiblingSort(_0x1f2c77,_0x189bb2,_0x1d9b9c(0xeb)),_0x1e9d7b=_0x1a16f6[_0x1d9b9c(0xb1)](_0x1d9b9c(0xae))[_0x1d9b9c(0xd6)]();return mutationResult({'operation':_0x1d9b9c(0xf4),'selector':{'label':_0x1e9d7b,'parentId':_0x189bb2},'before':null,'after':{'id':null,'parentId':_0x189bb2,'label':_0x1e9d7b,'path':_0x1d9b9c(0xee),'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4f4020,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1d9b9c(0xdd),'method':'POST','path':_0x1d9b9c(0xe3),'body':{'parentId':toApiParentId(_0x189bb2),'label':_0x1e9d7b,'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'extend':{}}}],'snapshotHash':_0x1f2c77[_0x1d9b9c(0xd1)],'warnings':[_0x1d9b9c(0xc7)]});}
@@ -1 +1 @@
1
- const a114_0x155eba=a114_0x5183;(function(_0x1f18cc,_0x2c3bc3){const _0x4ddc0b=a114_0x5183,_0x22588f=_0x1f18cc();while(!![]){try{const _0x4d5f52=-parseInt(_0x4ddc0b(0xad))/0x1+parseInt(_0x4ddc0b(0xbc))/0x2*(-parseInt(_0x4ddc0b(0xb1))/0x3)+parseInt(_0x4ddc0b(0x9e))/0x4+-parseInt(_0x4ddc0b(0xa7))/0x5*(parseInt(_0x4ddc0b(0xa6))/0x6)+-parseInt(_0x4ddc0b(0xcb))/0x7*(-parseInt(_0x4ddc0b(0xba))/0x8)+-parseInt(_0x4ddc0b(0xb9))/0x9+-parseInt(_0x4ddc0b(0xa0))/0xa*(-parseInt(_0x4ddc0b(0xbf))/0xb);if(_0x4d5f52===_0x2c3bc3)break;else _0x22588f['push'](_0x22588f['shift']());}catch(_0x1d93e8){_0x22588f['push'](_0x22588f['shift']());}}}(a114_0x2368,0x20bc5));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':a114_0x155eba(0xc5),'path':a114_0x155eba(0xb8)}];export const menuGroupUpdate={'service':a114_0x155eba(0xc6),'command':a114_0x155eba(0xbb),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a114_0x155eba(0xb6),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a114_0x155eba(0x9f),'hint':a114_0x155eba(0xcc)}],'flags':[MENU_ID_FLAG,{'name':a114_0x155eba(0xaa),'type':a114_0x155eba(0xca),'description':a114_0x155eba(0xac)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42ce0e){validateUpdateInput(_0x42ce0e);},async 'dryRun'(_0x3422f8){const _0x207ff0=a114_0x155eba;validateUpdateInput(_0x3422f8);const {plan:_0x17c0e7,patch:_0x163958}=await buildUpdatePlan(_0x3422f8,!![]);return menuDryRunResult(_0x17c0e7,{'method':_0x207ff0(0xc5),'url':_0x207ff0(0xb8),'body':_0x163958,'description':_0x207ff0(0xce)+_0x17c0e7[_0x207ff0(0xb5)]['id']+'.'});},async 'execute'(_0x220f73){const _0xb4924b=a114_0x155eba;validateUpdateInput(_0x220f73);const {plan:_0xe01e5f,patch:_0x2a05f1,noChanges:_0x3409f0}=await buildUpdatePlan(_0x220f73,![]),_0x2f06d9=Number(_0xe01e5f[_0xb4924b(0xb5)]['id']),_0x20c1c2=await recheckMutationSnapshot(_0x220f73,_0xe01e5f,_0xb4924b(0xa4),_0x2f06d9);if(!_0x3409f0)try{await updateMenuEntity(_0x220f73[_0xb4924b(0xa5)],_0x220f73[_0xb4924b(0xc9)],_0x2a05f1);}catch(_0x141e2d){const _0x51d883=mapMenuApiError(_0x141e2d,'update\x20folder',_0x2f06d9);throw menuFailure(_0x51d883,_0xe01e5f,{'stage':_0xb4924b(0xa8),'failed':{'id':_0x2f06d9}});}let _0x3db51c=_0x20c1c2,_0xbd7c90;try{!_0x3409f0&&(_0x3db51c=await fetchMenuSnapshot(_0x220f73[_0xb4924b(0xa5)],_0x220f73['cookie'])),_0xbd7c90=requireMenu(_0x3db51c,_0x2f06d9),verifyPatch(_0xbd7c90,_0x2a05f1),_0xbd7c90[_0xb4924b(0xb0)]!=null&&requireFolder(_0x3db51c,_0xbd7c90['parentId']);}catch(_0x417469){const _0x37bfd5=describeMenuErrorCause(_0x417469,_0xb4924b(0xb3),_0x2f06d9),_0xffb3a9=asVerificationError(_0x417469,_0xb4924b(0xa2)+_0x2f06d9+_0xb4924b(0xc7));throw menuFailure(_0xffb3a9,_0xe01e5f,{'stage':_0xb4924b(0xc2),'succeeded':[{'id':_0x2f06d9,'updateRequested':!_0x3409f0,'skipped':_0x3409f0}],'failed':{'id':_0x2f06d9,'requestedStateConfirmed':![],..._0x37bfd5},'warnings':[_0xb4924b(0xa3)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2f06d9}});}const _0x1d4978=mutationResult({..._0xe01e5f,'after':_0xbd7c90,'dryRun':![],'succeeded':[{'id':_0x2f06d9,'updated':!_0x3409f0,'skipped':_0x3409f0}],'verification':{'checkedBy':_0xb4924b(0xb4),'snapshotHash':_0x3db51c[_0xb4924b(0xc1)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x1d4978,'message':_0x3409f0?'Folder\x20'+_0x2f06d9+'\x20already\x20matches\x20the\x20requested\x20state.':_0xb4924b(0xbe)+_0x2f06d9+'.'};}};function validateUpdateInput(_0x307328){const _0x3f7a89=a114_0x155eba;validateExactId(_0x307328);if(hasFlag(_0x307328,_0x3f7a89(0xa1)))throw CliErrors[_0x3f7a89(0xab)](_0x3f7a89(0x9f),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x307328,_0x3f7a89(0xaa))&&!hasFlag(_0x307328,_0x3f7a89(0xb7)))throw CliErrors[_0x3f7a89(0xab)]('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x307328,_0x3f7a89(0xaa))&&!_0x307328['str'](_0x3f7a89(0xaa))[_0x3f7a89(0xcd)]())throw CliErrors[_0x3f7a89(0xab)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x307328);}async function buildUpdatePlan(_0x1cfbf1,_0x375b58){const _0x331653=a114_0x155eba,_0x4c9099=validateExactId(_0x1cfbf1),_0x396097=await fetchMutationSnapshot(_0x1cfbf1,_0x331653(0xa4),_0x4c9099),_0x2458cf=requireMenu(_0x396097,_0x4c9099);if(_0x2458cf[_0x331653(0xc0)]!==_0x331653(0xc3))throw menuError(_0x331653(0xbd),_0x331653(0xc8)+_0x4c9099+_0x331653(0xc4)+(_0x2458cf[_0x331653(0xc0)]||'unknown')+'\x22,\x20not\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x1cfbf1,_0x2458cf);const _0x339f60={'id':_0x4c9099},_0x2bc18e={..._0x2458cf};if(hasFlag(_0x1cfbf1,_0x331653(0xaa))){const _0x3087b2=_0x1cfbf1['str'](_0x331653(0xaa))['trim']();_0x339f60[_0x331653(0xaa)]=_0x3087b2,_0x2bc18e['label']=_0x3087b2;}if(hasFlag(_0x1cfbf1,_0x331653(0xb7))){const _0x283bdd=validateSort(_0x1cfbf1);_0x339f60[_0x331653(0xb7)]=_0x283bdd,_0x2bc18e[_0x331653(0xb7)]=_0x283bdd;}const _0x5758e1=sameRequestedState(_0x2458cf,_0x2bc18e),_0x1f6e5a=_0x5758e1?[_0x331653(0xa9)]:[];return{'patch':_0x339f60,'noChanges':_0x5758e1,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x4c9099},'before':_0x2458cf,'after':_0x2bc18e,'dryRun':_0x375b58,'backend':[...BACKEND],'snapshotHash':_0x396097[_0x331653(0xc1)],'warnings':_0x1f6e5a})};}function a114_0x5183(_0x325ba8,_0x4a5f2a){_0x325ba8=_0x325ba8-0x9e;const _0x236833=a114_0x2368();let _0x518395=_0x236833[_0x325ba8];return _0x518395;}function sameRequestedState(_0xe68653,_0x56bba9){const _0x47f152=a114_0x155eba;return _0xe68653[_0x47f152(0xaa)]===_0x56bba9[_0x47f152(0xaa)]&&_0xe68653[_0x47f152(0xb7)]===_0x56bba9[_0x47f152(0xb7)];}function verifyPatch(_0xa08188,_0x2bd8ef){const _0x5583b5=a114_0x155eba;assertVerified(_0xa08188[_0x5583b5(0xc0)]===_0x5583b5(0xc3),_0x5583b5(0xc8)+_0xa08188['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x2bd8ef[_0x5583b5(0xaa)]!==undefined&&assertVerified(_0xa08188[_0x5583b5(0xaa)]===_0x2bd8ef[_0x5583b5(0xaa)],'Folder\x20'+_0xa08188['id']+_0x5583b5(0xae)),_0x2bd8ef[_0x5583b5(0xb7)]!==undefined&&assertVerified(_0xa08188[_0x5583b5(0xb7)]===_0x2bd8ef['sort'],_0x5583b5(0xb2)+_0xa08188['id']+_0x5583b5(0xaf));}function a114_0x2368(){const _0x10eb86=['verify\x20folder\x20update','menu\x20list','selector','write','sort','/smartapi/menu/update','2100195UbNSCm','712UQhjYb','group-update','30VKVWgF','menu_not_folder','Updated\x20folder\x20','1892UtiZph','type','hash','verification','folder','\x20is\x20type\x20\x22','POST','menu','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Menu\x20','cookie','string','2457KEnqfo','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','trim','Would\x20update\x20folder\x20','878504NrqTtz','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','28380MgqIpd','parent-id','Update\x20request\x20for\x20folder\x20','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','update\x20folder','appCode','30kKqqlC','193070FpNSAf','update','No\x20online\x20fields\x20would\x20change.','label','validation','New\x20folder\x20label','8286xwkfiK','\x20label\x20update\x20did\x20not\x20take\x20effect.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','parentId','34041XeRDPf','Folder\x20'];a114_0x2368=function(){return _0x10eb86;};return a114_0x2368();}
1
+ const a115_0x479b00=a115_0x17b4;(function(_0x5ee603,_0x301bf1){const _0x284c89=a115_0x17b4,_0x4f7c8f=_0x5ee603();while(!![]){try{const _0x241c68=parseInt(_0x284c89(0x84))/0x1*(-parseInt(_0x284c89(0x99))/0x2)+-parseInt(_0x284c89(0x92))/0x3+-parseInt(_0x284c89(0x8e))/0x4*(-parseInt(_0x284c89(0x94))/0x5)+parseInt(_0x284c89(0x97))/0x6*(parseInt(_0x284c89(0x73))/0x7)+-parseInt(_0x284c89(0x83))/0x8*(parseInt(_0x284c89(0x7b))/0x9)+parseInt(_0x284c89(0x78))/0xa+-parseInt(_0x284c89(0x86))/0xb*(-parseInt(_0x284c89(0x71))/0xc);if(_0x241c68===_0x301bf1)break;else _0x4f7c8f['push'](_0x4f7c8f['shift']());}catch(_0x35d22b){_0x4f7c8f['push'](_0x4f7c8f['shift']());}}}(a115_0x10ee,0x3ec07));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':a115_0x479b00(0x95),'path':a115_0x479b00(0x75)}];function a115_0x17b4(_0x3fe842,_0x215be3){_0x3fe842=_0x3fe842-0x6e;const _0x10ee5b=a115_0x10ee();let _0x17b48e=_0x10ee5b[_0x3fe842];return _0x17b48e;}export const menuGroupUpdate={'service':'menu','command':a115_0x479b00(0x79),'description':a115_0x479b00(0x96),'risk':a115_0x479b00(0x7d),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':a115_0x479b00(0x81)}],'flags':[MENU_ID_FLAG,{'name':a115_0x479b00(0x8a),'type':'string','description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x564dcd){validateUpdateInput(_0x564dcd);},async 'dryRun'(_0x426f3b){const _0x386124=a115_0x479b00;validateUpdateInput(_0x426f3b);const {plan:_0x509e06,patch:_0x1f218a}=await buildUpdatePlan(_0x426f3b,!![]);return menuDryRunResult(_0x509e06,{'method':_0x386124(0x95),'url':'/smartapi/menu/update','body':_0x1f218a,'description':_0x386124(0x8b)+_0x509e06[_0x386124(0x9a)]['id']+'.'});},async 'execute'(_0x4e9359){const _0x32c1c6=a115_0x479b00;validateUpdateInput(_0x4e9359);const {plan:_0x6738fd,patch:_0x213b9d,noChanges:_0xd83bb3}=await buildUpdatePlan(_0x4e9359,![]),_0x13678a=Number(_0x6738fd['selector']['id']),_0x185411=await recheckMutationSnapshot(_0x4e9359,_0x6738fd,_0x32c1c6(0x80),_0x13678a);if(!_0xd83bb3)try{await updateMenuEntity(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359[_0x32c1c6(0x72)],_0x213b9d);}catch(_0x57852a){const _0x2f68ea=mapMenuApiError(_0x57852a,_0x32c1c6(0x80),_0x13678a);throw menuFailure(_0x2f68ea,_0x6738fd,{'stage':_0x32c1c6(0x77),'failed':{'id':_0x13678a}});}let _0x52a8fe=_0x185411,_0x2f8297;try{!_0xd83bb3&&(_0x52a8fe=await fetchMenuSnapshot(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359['cookie'])),_0x2f8297=requireMenu(_0x52a8fe,_0x13678a),verifyPatch(_0x2f8297,_0x213b9d),_0x2f8297[_0x32c1c6(0x6e)]!=null&&requireFolder(_0x52a8fe,_0x2f8297[_0x32c1c6(0x6e)]);}catch(_0x1ce58b){const _0x632f76=describeMenuErrorCause(_0x1ce58b,_0x32c1c6(0x7f),_0x13678a),_0x7cceb9=asVerificationError(_0x1ce58b,_0x32c1c6(0x91)+_0x13678a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x7cceb9,_0x6738fd,{'stage':_0x32c1c6(0x82),'succeeded':[{'id':_0x13678a,'updateRequested':!_0xd83bb3,'skipped':_0xd83bb3}],'failed':{'id':_0x13678a,'requestedStateConfirmed':![],..._0x632f76},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x32c1c6(0x98),'lookupCommand':_0x32c1c6(0x76),'targetId':_0x13678a}});}const _0x3e13d7=mutationResult({..._0x6738fd,'after':_0x2f8297,'dryRun':![],'succeeded':[{'id':_0x13678a,'updated':!_0xd83bb3,'skipped':_0xd83bb3}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x52a8fe[_0x32c1c6(0x8d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3e13d7,'message':_0xd83bb3?_0x32c1c6(0x8f)+_0x13678a+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x13678a+'.'};}};function a115_0x10ee(){const _0x321801=['/smartapi/menu/update','rabetbase\x20menu\x20list\x20--format\x20json','update','1800080qSbumS','group-update','\x22,\x20not\x20folder.','126glUJle','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','write','parent-id','verify\x20folder\x20update','update\x20folder','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','verification','159592MkMQpn','822HsPebG','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','44cOLZFE','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','validation','label','Would\x20update\x20folder\x20','Menu\x20','hash','1532yRpRBR','Folder\x20','folder','Update\x20request\x20for\x20folder\x20','523509ftkaNc','type','2865pXWnfJ','POST','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','18mHLJBv','failed','382YSRszT','selector','appCode','sort','No\x20online\x20fields\x20would\x20change.','parentId','trim','menu_not_folder','850224KRgNSF','cookie','431543knJfEA','str'];a115_0x10ee=function(){return _0x321801;};return a115_0x10ee();}function validateUpdateInput(_0x2183dd){const _0x392844=a115_0x479b00;validateExactId(_0x2183dd);if(hasFlag(_0x2183dd,_0x392844(0x7e)))throw CliErrors['validation'](_0x392844(0x87),_0x392844(0x81));if(!hasFlag(_0x2183dd,_0x392844(0x8a))&&!hasFlag(_0x2183dd,_0x392844(0x9c)))throw CliErrors[_0x392844(0x89)](_0x392844(0x7c));if(hasFlag(_0x2183dd,_0x392844(0x8a))&&!_0x2183dd[_0x392844(0x74)](_0x392844(0x8a))[_0x392844(0x6f)]())throw CliErrors[_0x392844(0x89)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x2183dd);}async function buildUpdatePlan(_0x366f78,_0x5d3020){const _0x3c993d=a115_0x479b00,_0x4a3bbf=validateExactId(_0x366f78),_0x4d4e9d=await fetchMutationSnapshot(_0x366f78,_0x3c993d(0x80),_0x4a3bbf),_0x2f138d=requireMenu(_0x4d4e9d,_0x4a3bbf);if(_0x2f138d[_0x3c993d(0x93)]!==_0x3c993d(0x90))throw menuError(_0x3c993d(0x70),_0x3c993d(0x8c)+_0x4a3bbf+'\x20is\x20type\x20\x22'+(_0x2f138d[_0x3c993d(0x93)]||'unknown')+_0x3c993d(0x7a),_0x3c993d(0x85));assertExpectedState(_0x366f78,_0x2f138d);const _0x4a8f32={'id':_0x4a3bbf},_0x5dd09f={..._0x2f138d};if(hasFlag(_0x366f78,_0x3c993d(0x8a))){const _0x703f08=_0x366f78[_0x3c993d(0x74)](_0x3c993d(0x8a))[_0x3c993d(0x6f)]();_0x4a8f32[_0x3c993d(0x8a)]=_0x703f08,_0x5dd09f[_0x3c993d(0x8a)]=_0x703f08;}if(hasFlag(_0x366f78,_0x3c993d(0x9c))){const _0x5a3099=validateSort(_0x366f78);_0x4a8f32[_0x3c993d(0x9c)]=_0x5a3099,_0x5dd09f[_0x3c993d(0x9c)]=_0x5a3099;}const _0x21e3af=sameRequestedState(_0x2f138d,_0x5dd09f),_0xaf955=_0x21e3af?[_0x3c993d(0x9d)]:[];return{'patch':_0x4a8f32,'noChanges':_0x21e3af,'plan':mutationResult({'operation':_0x3c993d(0x79),'selector':{'id':_0x4a3bbf},'before':_0x2f138d,'after':_0x5dd09f,'dryRun':_0x5d3020,'backend':[...BACKEND],'snapshotHash':_0x4d4e9d[_0x3c993d(0x8d)],'warnings':_0xaf955})};}function sameRequestedState(_0x1463e8,_0x4deead){const _0x5e2141=a115_0x479b00;return _0x1463e8[_0x5e2141(0x8a)]===_0x4deead['label']&&_0x1463e8[_0x5e2141(0x9c)]===_0x4deead['sort'];}function verifyPatch(_0x129160,_0x10be30){const _0x13bdce=a115_0x479b00;assertVerified(_0x129160[_0x13bdce(0x93)]===_0x13bdce(0x90),_0x13bdce(0x8c)+_0x129160['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x10be30[_0x13bdce(0x8a)]!==undefined&&assertVerified(_0x129160[_0x13bdce(0x8a)]===_0x10be30[_0x13bdce(0x8a)],_0x13bdce(0x8f)+_0x129160['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x10be30[_0x13bdce(0x9c)]!==undefined&&assertVerified(_0x129160['sort']===_0x10be30[_0x13bdce(0x9c)],_0x13bdce(0x8f)+_0x129160['id']+_0x13bdce(0x88));}
@@ -1 +1 @@
1
- (function(_0x3f72c4,_0x39995c){const _0x350bb9=a115_0x1398,_0x5486af=_0x3f72c4();while(!![]){try{const _0x45be1e=-parseInt(_0x350bb9(0x152))/0x1*(-parseInt(_0x350bb9(0x14e))/0x2)+parseInt(_0x350bb9(0x149))/0x3*(parseInt(_0x350bb9(0x153))/0x4)+parseInt(_0x350bb9(0x150))/0x5*(parseInt(_0x350bb9(0x14c))/0x6)+-parseInt(_0x350bb9(0x148))/0x7*(parseInt(_0x350bb9(0x14f))/0x8)+-parseInt(_0x350bb9(0x151))/0x9+-parseInt(_0x350bb9(0x14a))/0xa*(-parseInt(_0x350bb9(0x14d))/0xb)+-parseInt(_0x350bb9(0x14b))/0xc;if(_0x45be1e===_0x39995c)break;else _0x5486af['push'](_0x5486af['shift']());}catch(_0x338e65){_0x5486af['push'](_0x5486af['shift']());}}}(a115_0xd5f0,0x89072));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';function a115_0xd5f0(){const _0x30d65e=['6875478YZPqZh','12112TFMbiQ','84DCcPpg','21sUBYkM','30171zlLJLB','10611430PqwEah','16543656IvlyDb','6564066yWjmZC','11fhmqyR','146ROSscA','1457816YwCKMM','5lHjsCT'];a115_0xd5f0=function(){return _0x30d65e;};return a115_0xd5f0();}import{menuDelete}from'../../commands/menu/delete.js';function a115_0x1398(_0x3f7d82,_0x4f9f5a){_0x3f7d82=_0x3f7d82-0x148;const _0xd5f0bd=a115_0xd5f0();let _0x1398f3=_0xd5f0bd[_0x3f7d82];return _0x1398f3;}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';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ (function(_0x3d7041,_0x220c39){const _0x5cf88d=a116_0x3520,_0x12bd95=_0x3d7041();while(!![]){try{const _0x51e21d=-parseInt(_0x5cf88d(0x8b))/0x1+parseInt(_0x5cf88d(0x86))/0x2+parseInt(_0x5cf88d(0x8c))/0x3*(parseInt(_0x5cf88d(0x83))/0x4)+-parseInt(_0x5cf88d(0x87))/0x5*(-parseInt(_0x5cf88d(0x88))/0x6)+parseInt(_0x5cf88d(0x8a))/0x7+parseInt(_0x5cf88d(0x89))/0x8*(-parseInt(_0x5cf88d(0x85))/0x9)+-parseInt(_0x5cf88d(0x84))/0xa;if(_0x51e21d===_0x220c39)break;else _0x12bd95['push'](_0x12bd95['shift']());}catch(_0x1b45f5){_0x12bd95['push'](_0x12bd95['shift']());}}}(a116_0x227e,0x3105d));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';function a116_0x227e(){const _0x2b7130=['455782ejtXXY','63440jeFTRZ','108TmdUbp','56zAGcYZ','900319cpGjAn','265746nipZMR','192243KJtOpY','16DDXwDg','722800IuHwSj','388791Pozcxh'];a116_0x227e=function(){return _0x2b7130;};return a116_0x227e();}function a116_0x3520(_0x441754,_0x2ccc4a){_0x441754=_0x441754-0x83;const _0x227e30=a116_0x227e();let _0x352013=_0x227e30[_0x441754];return _0x352013;}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];
@@ -1 +1 @@
1
- const a116_0x3539df=a116_0x187c;(function(_0x1e665c,_0x2b7ff3){const _0x4e7650=a116_0x187c,_0x45ca8f=_0x1e665c();while(!![]){try{const _0x5290c9=-parseInt(_0x4e7650(0x1a6))/0x1*(parseInt(_0x4e7650(0x1a3))/0x2)+-parseInt(_0x4e7650(0x197))/0x3+-parseInt(_0x4e7650(0x196))/0x4+parseInt(_0x4e7650(0x1a9))/0x5*(-parseInt(_0x4e7650(0x1a7))/0x6)+parseInt(_0x4e7650(0x1a5))/0x7+parseInt(_0x4e7650(0x19c))/0x8*(parseInt(_0x4e7650(0x19b))/0x9)+-parseInt(_0x4e7650(0x1a8))/0xa*(-parseInt(_0x4e7650(0x193))/0xb);if(_0x5290c9===_0x2b7ff3)break;else _0x45ca8f['push'](_0x45ca8f['shift']());}catch(_0x2f865f){_0x45ca8f['push'](_0x45ca8f['shift']());}}}(a116_0x3dfc,0x82377));function a116_0x187c(_0x49017d,_0x2c8495){_0x49017d=_0x49017d-0x192;const _0x3dfc9f=a116_0x3dfc();let _0x187cf8=_0x3dfc9f[_0x49017d];return _0x187cf8;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a116_0x3dfc(){const _0x1245f6=['1ippFDz','6rTbbXw','40orUajq','344620uxfVzi','hash','total','No\x20menus\x20found.','2237114YoryaW','bool','menu','1557280bsuOan','1090974lkQlBJ','verbose','map','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','7999245uJsPUD','8AmVTtM','boolean','list','Found\x20','cookie','read','appCode','1429994rCvjfD','\x20menu(s)','2575755Mofptg'];a116_0x3dfc=function(){return _0x1245f6;};return a116_0x3dfc();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a116_0x3539df(0x195),'command':a116_0x3539df(0x19e),'description':a116_0x3539df(0x19a),'risk':a116_0x3539df(0x1a1),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a116_0x3539df(0x198),'type':a116_0x3539df(0x19d),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x2a4a53){const _0x5c30be=a116_0x3539df,_0x2aee2e=_0x2a4a53[_0x5c30be(0x194)](_0x5c30be(0x198)),_0x23a7ad=await fetchMenuSnapshot(_0x2a4a53[_0x5c30be(0x1a2)],_0x2a4a53[_0x5c30be(0x1a0)],{'verbose':_0x2aee2e});return{'ok':!![],'data':{'total':_0x23a7ad[_0x5c30be(0x1ab)],'snapshotHash':_0x23a7ad[_0x5c30be(0x1aa)],'menus':_0x23a7ad['menus'][_0x5c30be(0x199)](toMenuListItem)},'message':_0x23a7ad[_0x5c30be(0x1ab)]===0x0?_0x5c30be(0x192):_0x5c30be(0x19f)+_0x23a7ad['total']+_0x5c30be(0x1a4)};}};
1
+ const a117_0x1fb9c4=a117_0x1c68;function a117_0x1c68(_0x37ab56,_0x10f47e){_0x37ab56=_0x37ab56-0x6e;const _0x25477d=a117_0x2547();let _0x1c689b=_0x25477d[_0x37ab56];return _0x1c689b;}(function(_0x22cb75,_0x5e16d2){const _0x1d46c6=a117_0x1c68,_0x194795=_0x22cb75();while(!![]){try{const _0xee9892=-parseInt(_0x1d46c6(0x86))/0x1*(parseInt(_0x1d46c6(0x72))/0x2)+-parseInt(_0x1d46c6(0x81))/0x3*(parseInt(_0x1d46c6(0x70))/0x4)+parseInt(_0x1d46c6(0x85))/0x5+parseInt(_0x1d46c6(0x75))/0x6*(-parseInt(_0x1d46c6(0x82))/0x7)+parseInt(_0x1d46c6(0x71))/0x8*(parseInt(_0x1d46c6(0x79))/0x9)+parseInt(_0x1d46c6(0x84))/0xa*(parseInt(_0x1d46c6(0x6e))/0xb)+-parseInt(_0x1d46c6(0x76))/0xc;if(_0xee9892===_0x5e16d2)break;else _0x194795['push'](_0x194795['shift']());}catch(_0x191b0a){_0x194795['push'](_0x194795['shift']());}}}(a117_0x2547,0x27462));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a117_0x2547(){const _0x170d17=['list','18633Rkbpma','14Opbcwe','boolean','30suYfJF','1453270xwIrIq','184517BNxqHK','592284QJGoXg','map','128UvuXPt','1932616qfrfbI','2TsvowF','hash','menu','151068kHnnwS','1191264swTzQj','total','verbose','9KFTRlk','cookie','bool','No\x20menus\x20found.','read','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','Found\x20'];a117_0x2547=function(){return _0x170d17;};return a117_0x2547();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a117_0x1fb9c4(0x74),'command':a117_0x1fb9c4(0x80),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a117_0x1fb9c4(0x7d),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x1fb9c4(0x78),'type':a117_0x1fb9c4(0x83),'description':a117_0x1fb9c4(0x7e)}],async 'execute'(_0x15e2f4){const _0x59939b=a117_0x1fb9c4,_0x16dfbc=_0x15e2f4[_0x59939b(0x7b)](_0x59939b(0x78)),_0x30eeb3=await fetchMenuSnapshot(_0x15e2f4['appCode'],_0x15e2f4[_0x59939b(0x7a)],{'verbose':_0x16dfbc});return{'ok':!![],'data':{'total':_0x30eeb3[_0x59939b(0x77)],'snapshotHash':_0x30eeb3[_0x59939b(0x73)],'menus':_0x30eeb3['menus'][_0x59939b(0x6f)](toMenuListItem)},'message':_0x30eeb3[_0x59939b(0x77)]===0x0?_0x59939b(0x7c):_0x59939b(0x7f)+_0x30eeb3[_0x59939b(0x77)]+'\x20menu(s)'};}};
@@ -1 +1 @@
1
- const a117_0x4e1af9=a117_0x3e9c;(function(_0x4bc349,_0x20161d){const _0x260bd2=a117_0x3e9c,_0xafedad=_0x4bc349();while(!![]){try{const _0x8f90f0=-parseInt(_0x260bd2(0x122))/0x1+-parseInt(_0x260bd2(0x137))/0x2*(parseInt(_0x260bd2(0x10e))/0x3)+-parseInt(_0x260bd2(0x120))/0x4*(parseInt(_0x260bd2(0x115))/0x5)+parseInt(_0x260bd2(0x11e))/0x6+parseInt(_0x260bd2(0x10d))/0x7*(parseInt(_0x260bd2(0x13d))/0x8)+parseInt(_0x260bd2(0x124))/0x9*(-parseInt(_0x260bd2(0x114))/0xa)+-parseInt(_0x260bd2(0x12c))/0xb;if(_0x8f90f0===_0x20161d)break;else _0xafedad['push'](_0xafedad['shift']());}catch(_0x286390){_0xafedad['push'](_0xafedad['shift']());}}}(a117_0x54d1,0x3cb0a));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':'POST','path':a117_0x4e1af9(0x11b)}];export const menuMove={'service':'menu','command':'move','description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41734e){validateMoveInput(_0x41734e);},async 'dryRun'(_0x19a9bd){const _0x2557aa=a117_0x4e1af9,{plan:_0x97eee7,patch:_0x94609f}=await buildMovePlan(_0x19a9bd,!![]);return menuDryRunResult(_0x97eee7,{'method':_0x2557aa(0x132),'url':_0x2557aa(0x11b),'body':{..._0x94609f,'appCode':_0x19a9bd[_0x2557aa(0x131)]},'description':_0x2557aa(0x135)+_0x94609f['id']+'.'});},async 'execute'(_0x266ddd){const _0x492eca=a117_0x4e1af9;validateMoveInput(_0x266ddd);const {plan:_0x26c6bb,patch:_0x595a08,noChanges:_0x580b80,snapshot:_0x3a1c74}=await buildMovePlan(_0x266ddd,![]),_0x5db268=_0x595a08['id'];if(!_0x580b80)try{await updateMenuEntity(_0x266ddd['appCode'],_0x266ddd[_0x492eca(0x116)],_0x595a08);}catch(_0xdb75b){const _0x4c006b=mapMenuApiError(_0xdb75b,_0x492eca(0x12e),_0x5db268);throw menuFailure(_0x4c006b,_0x26c6bb,{'stage':_0x492eca(0x127),'failed':{'id':_0x5db268},'warnings':[_0x492eca(0x134)],'verification':{'status':_0x492eca(0x12f),'targetId':_0x5db268,'lookupCommand':_0x492eca(0x123)}});}let _0x1139fd,_0x1782cc;try{_0x1139fd=_0x580b80?_0x3a1c74:await fetchMenuSnapshot(_0x266ddd['appCode'],_0x266ddd[_0x492eca(0x116)]),_0x1782cc=requireMenu(_0x1139fd,_0x5db268),verifyMove(_0x1782cc,_0x26c6bb['after']),_0x1782cc[_0x492eca(0x138)]!==null&&requireFolder(_0x1139fd,_0x1782cc[_0x492eca(0x138)]);}catch(_0x5178aa){const _0x5b461c=describeMenuErrorCause(_0x5178aa,'verify\x20menu\x20move',_0x5db268),_0x5b149f=asVerificationError(_0x5178aa,_0x492eca(0x117)+_0x5db268+_0x492eca(0x128));throw menuFailure(_0x5b149f,_0x26c6bb,{'stage':_0x492eca(0x11c),'succeeded':[{'id':_0x5db268,'updateRequested':!_0x580b80,'skipped':_0x580b80}],'failed':{'id':_0x5db268,'requestedStateConfirmed':![],..._0x5b461c},'warnings':[_0x492eca(0x11f)],'verification':{'status':'failed','targetId':_0x5db268,'lookupCommand':_0x492eca(0x123)}});}const _0x366d3b=mutationResult({..._0x26c6bb,'after':_0x1782cc,'dryRun':![],'succeeded':[{'id':_0x5db268,'updated':!_0x580b80,'skipped':_0x580b80}],'verification':{'checkedBy':_0x492eca(0x11d),'snapshotHash':_0x1139fd[_0x492eca(0x12d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x366d3b,'message':_0x580b80?_0x492eca(0x13b)+_0x5db268+_0x492eca(0x10f):_0x492eca(0x13a)+_0x5db268+'.'};}};function validateMoveInput(_0x290d33){const _0x5deaf1=a117_0x4e1af9;validateExactId(_0x290d33),parseParentId(_0x290d33,_0x5deaf1(0x139),{'required':!![]}),parseParentId(_0x290d33,_0x5deaf1(0x11a),{'required':!![]}),validateSort(_0x290d33);}async function buildMovePlan(_0x3eced8,_0x55eb4f){const _0x532322=a117_0x4e1af9,_0x38cf34=validateExactId(_0x3eced8),_0x5c6cdf=parseParentId(_0x3eced8,_0x532322(0x139),{'required':!![]}),_0x259a4c=parseParentId(_0x3eced8,_0x532322(0x11a),{'required':!![]}),_0x7d3a69=validateSort(_0x3eced8),_0x3a02cf=await fetchMutationSnapshot(_0x3eced8,'move\x20menu',_0x38cf34),_0x1228be=requireMenu(_0x3a02cf,_0x38cf34);if(_0x1228be[_0x532322(0x12b)]===_0x532322(0x136)||_0x1228be['childrenCount']!==0x0)throw menuError(_0x532322(0x12a),_0x532322(0x13b)+_0x38cf34+_0x532322(0x133),_0x532322(0x129));if(_0x1228be[_0x532322(0x138)]!==_0x259a4c)throw menuError(_0x532322(0x130),_0x532322(0x13b)+_0x38cf34+_0x532322(0x13c)+formatParent(_0x259a4c)+_0x532322(0x126)+formatParent(_0x1228be[_0x532322(0x138)])+'.',_0x532322(0x118));_0x5c6cdf!==null&&requireFolder(_0x3a02cf,_0x5c6cdf);const _0x5e2558=_0x7d3a69??(_0x1228be[_0x532322(0x138)]===_0x5c6cdf?_0x1228be[_0x532322(0x113)]??0x0:nextSiblingSort(_0x3a02cf,_0x5c6cdf,_0x532322(0x119))),_0x4f7569={..._0x1228be,'parentId':_0x5c6cdf,'sort':_0x5e2558},_0x293924={'id':_0x38cf34,'parentId':toApiParentId(_0x5c6cdf),'sort':_0x5e2558},_0x1e6d74=_0x1228be[_0x532322(0x138)]===_0x5c6cdf&&_0x1228be[_0x532322(0x113)]===_0x5e2558;return{'patch':_0x293924,'noChanges':_0x1e6d74,'snapshot':_0x3a02cf,'plan':mutationResult({'operation':_0x532322(0x12e),'selector':{'id':_0x38cf34,'parentId':_0x5c6cdf},'before':_0x1228be,'after':_0x4f7569,'dryRun':_0x55eb4f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x532322(0x125),'method':_0x532322(0x132),'path':'/smartapi/menu/update','body':{..._0x293924,'appCode':_0x3eced8['appCode']}}],'snapshotHash':_0x3a02cf[_0x532322(0x12d)],'warnings':_0x1e6d74?[_0x532322(0x112)]:[]})};}function a117_0x54d1(){const _0x3fda9c=['\x20is\x20now\x20type\x20folder.','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','sort','1760290pXjVkm','1713640OSlITI','cookie','Move\x20request\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu','expect-parent-id','/smartapi/menu/update','verification','menu\x20list','2727204gXKHlj','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','4yljgan','\x20is\x20no\x20longer\x20a\x20leaf.','3701iMcuip','rabetbase\x20menu\x20list\x20--format\x20compress','9GshuLC','move-menu',',\x20current\x20','update','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu_move_source_not_leaf','type','1226742WqKBTk','hash','move','failed','menu_state_drift','appCode','POST','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Would\x20move\x20menu\x20','folder','5034NEhZbi','parentId','parent-id','Moved\x20menu\x20','Menu\x20','\x20parent\x20changed:\x20expected\x20','712rOcdxL','36239kjOqJv','39MMErJe','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.'];a117_0x54d1=function(){return _0x3fda9c;};return a117_0x54d1();}function a117_0x3e9c(_0x1530f9,_0x39692e){_0x1530f9=_0x1530f9-0x10d;const _0x54d1c9=a117_0x54d1();let _0x3e9c48=_0x54d1c9[_0x1530f9];return _0x3e9c48;}function verifyMove(_0x236d09,_0x5495c2){const _0x41752f=a117_0x4e1af9;assertVerified(_0x236d09[_0x41752f(0x12b)]!==_0x41752f(0x136),'Menu\x20'+_0x236d09['id']+_0x41752f(0x110)),assertVerified(_0x236d09['childrenCount']===0x0,'Menu\x20'+_0x236d09['id']+_0x41752f(0x121)),assertVerified(_0x236d09[_0x41752f(0x138)]===_0x5495c2[_0x41752f(0x138)],_0x41752f(0x13b)+_0x236d09['id']+_0x41752f(0x111)),assertVerified(_0x236d09['sort']===_0x5495c2[_0x41752f(0x113)],_0x41752f(0x13b)+_0x236d09['id']+'\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.');}
1
+ const a118_0x15917b=a118_0x7d5a;(function(_0x21b863,_0x5c46bb){const _0x5f27e7=a118_0x7d5a,_0xf9f205=_0x21b863();while(!![]){try{const _0x5bd343=parseInt(_0x5f27e7(0x16b))/0x1+parseInt(_0x5f27e7(0x173))/0x2+parseInt(_0x5f27e7(0x16e))/0x3+parseInt(_0x5f27e7(0x175))/0x4*(-parseInt(_0x5f27e7(0x15b))/0x5)+parseInt(_0x5f27e7(0x160))/0x6*(parseInt(_0x5f27e7(0x157))/0x7)+parseInt(_0x5f27e7(0x159))/0x8+-parseInt(_0x5f27e7(0x164))/0x9*(parseInt(_0x5f27e7(0x15e))/0xa);if(_0x5bd343===_0x5c46bb)break;else _0xf9f205['push'](_0xf9f205['shift']());}catch(_0x4e2d5c){_0xf9f205['push'](_0xf9f205['shift']());}}}(a118_0x5413,0x8cb24));function a118_0x5413(){const _0x439d50=['689042wHhKIR','Menu\x20','96HSPVXm','move\x20menu','parentId','expect-parent-id','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','sort','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--format\x20compress','move','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','497IDygkD','menu_state_drift','6476144zUYrCz','write','214535SdrgPr','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','parent-id','424970YtsVSN','after','75282pPMtTM','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.',',\x20current\x20','POST','378yprKcp','\x20is\x20no\x20longer\x20a\x20leaf.','failed','cookie','Would\x20move\x20menu\x20','childrenCount','menu','1009264ZFVYRF','verify\x20menu\x20move','/smartapi/menu/update','1010382FjtILk','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','folder','appCode','menu_move_source_not_leaf'];a118_0x5413=function(){return _0x439d50;};return a118_0x5413();}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';function a118_0x7d5a(_0x43319c,_0x41f763){_0x43319c=_0x43319c-0x152;const _0x541391=a118_0x5413();let _0x7d5af3=_0x541391[_0x43319c];return _0x7d5af3;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0x15917b(0x163),'path':a118_0x15917b(0x16d)}];export const menuMove={'service':a118_0x15917b(0x16a),'command':'move','description':a118_0x15917b(0x179),'risk':a118_0x15917b(0x15a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53c17b){validateMoveInput(_0x53c17b);},async 'dryRun'(_0x1dc43e){const _0x48c0ef=a118_0x15917b,{plan:_0x3fd8f1,patch:_0x21d424}=await buildMovePlan(_0x1dc43e,!![]);return menuDryRunResult(_0x3fd8f1,{'method':_0x48c0ef(0x163),'url':'/smartapi/menu/update','body':{..._0x21d424,'appCode':_0x1dc43e[_0x48c0ef(0x171)]},'description':_0x48c0ef(0x168)+_0x21d424['id']+'.'});},async 'execute'(_0x4103fd){const _0x186042=a118_0x15917b;validateMoveInput(_0x4103fd);const {plan:_0x337aea,patch:_0x492fc0,noChanges:_0x3b92c8,snapshot:_0x3b4458}=await buildMovePlan(_0x4103fd,![]),_0x5452a5=_0x492fc0['id'];if(!_0x3b92c8)try{await updateMenuEntity(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)],_0x492fc0);}catch(_0x1e0db8){const _0xe74839=mapMenuApiError(_0x1e0db8,'move',_0x5452a5);throw menuFailure(_0xe74839,_0x337aea,{'stage':'update','failed':{'id':_0x5452a5},'warnings':[_0x186042(0x152)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}let _0x27eced,_0x40999b;try{_0x27eced=_0x3b92c8?_0x3b4458:await fetchMenuSnapshot(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)]),_0x40999b=requireMenu(_0x27eced,_0x5452a5),verifyMove(_0x40999b,_0x337aea[_0x186042(0x15f)]),_0x40999b[_0x186042(0x177)]!==null&&requireFolder(_0x27eced,_0x40999b[_0x186042(0x177)]);}catch(_0x3017ce){const _0x26bcfc=describeMenuErrorCause(_0x3017ce,_0x186042(0x16c),_0x5452a5),_0x34a40a=asVerificationError(_0x3017ce,'Move\x20request\x20for\x20menu\x20'+_0x5452a5+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x34a40a,_0x337aea,{'stage':'verification','succeeded':[{'id':_0x5452a5,'updateRequested':!_0x3b92c8,'skipped':_0x3b92c8}],'failed':{'id':_0x5452a5,'requestedStateConfirmed':![],..._0x26bcfc},'warnings':[_0x186042(0x17a)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}const _0x51ea34=mutationResult({..._0x337aea,'after':_0x40999b,'dryRun':![],'succeeded':[{'id':_0x5452a5,'updated':!_0x3b92c8,'skipped':_0x3b92c8}],'verification':{'checkedBy':_0x186042(0x156),'snapshotHash':_0x27eced['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x51ea34,'message':_0x3b92c8?_0x186042(0x174)+_0x5452a5+_0x186042(0x161):'Moved\x20menu\x20'+_0x5452a5+'.'};}};function validateMoveInput(_0xc21ecc){const _0x53ef34=a118_0x15917b;validateExactId(_0xc21ecc),parseParentId(_0xc21ecc,_0x53ef34(0x15d),{'required':!![]}),parseParentId(_0xc21ecc,'expect-parent-id',{'required':!![]}),validateSort(_0xc21ecc);}async function buildMovePlan(_0x29ad93,_0x540711){const _0x26b942=a118_0x15917b,_0x35984b=validateExactId(_0x29ad93),_0x319511=parseParentId(_0x29ad93,_0x26b942(0x15d),{'required':!![]}),_0x1492fd=parseParentId(_0x29ad93,_0x26b942(0x178),{'required':!![]}),_0x53ff63=validateSort(_0x29ad93),_0xb791f4=await fetchMutationSnapshot(_0x29ad93,_0x26b942(0x176),_0x35984b),_0x2ec31e=requireMenu(_0xb791f4,_0x35984b);if(_0x2ec31e['type']==='folder'||_0x2ec31e[_0x26b942(0x169)]!==0x0)throw menuError(_0x26b942(0x172),_0x26b942(0x174)+_0x35984b+_0x26b942(0x15c),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2ec31e[_0x26b942(0x177)]!==_0x1492fd)throw menuError(_0x26b942(0x158),'Menu\x20'+_0x35984b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x1492fd)+_0x26b942(0x162)+formatParent(_0x2ec31e[_0x26b942(0x177)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x319511!==null&&requireFolder(_0xb791f4,_0x319511);const _0xe14358=_0x53ff63??(_0x2ec31e['parentId']===_0x319511?_0x2ec31e[_0x26b942(0x17b)]??0x0:nextSiblingSort(_0xb791f4,_0x319511,_0x26b942(0x16a))),_0x22d110={..._0x2ec31e,'parentId':_0x319511,'sort':_0xe14358},_0x36525d={'id':_0x35984b,'parentId':toApiParentId(_0x319511),'sort':_0xe14358},_0x42bad0=_0x2ec31e[_0x26b942(0x177)]===_0x319511&&_0x2ec31e[_0x26b942(0x17b)]===_0xe14358;return{'patch':_0x36525d,'noChanges':_0x42bad0,'snapshot':_0xb791f4,'plan':mutationResult({'operation':_0x26b942(0x154),'selector':{'id':_0x35984b,'parentId':_0x319511},'before':_0x2ec31e,'after':_0x22d110,'dryRun':_0x540711,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x26b942(0x163),'path':'/smartapi/menu/update','body':{..._0x36525d,'appCode':_0x29ad93['appCode']}}],'snapshotHash':_0xb791f4['hash'],'warnings':_0x42bad0?[_0x26b942(0x16f)]:[]})};}function verifyMove(_0x29f23e,_0x523fa9){const _0x1fa931=a118_0x15917b;assertVerified(_0x29f23e['type']!==_0x1fa931(0x170),'Menu\x20'+_0x29f23e['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x29f23e['childrenCount']===0x0,'Menu\x20'+_0x29f23e['id']+_0x1fa931(0x165)),assertVerified(_0x29f23e['parentId']===_0x523fa9[_0x1fa931(0x177)],_0x1fa931(0x174)+_0x29f23e['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x29f23e[_0x1fa931(0x17b)]===_0x523fa9[_0x1fa931(0x17b)],_0x1fa931(0x174)+_0x29f23e['id']+_0x1fa931(0x155));}
@@ -1 +1 @@
1
- const a118_0x392b69=a118_0x10f3;(function(_0x445485,_0x12c658){const _0x1c863c=a118_0x10f3,_0x4942c2=_0x445485();while(!![]){try{const _0x43875a=parseInt(_0x1c863c(0x18c))/0x1+parseInt(_0x1c863c(0x184))/0x2+parseInt(_0x1c863c(0x1b6))/0x3+parseInt(_0x1c863c(0x19b))/0x4*(-parseInt(_0x1c863c(0x1ad))/0x5)+-parseInt(_0x1c863c(0x180))/0x6+parseInt(_0x1c863c(0x188))/0x7*(-parseInt(_0x1c863c(0x1a0))/0x8)+-parseInt(_0x1c863c(0x17b))/0x9*(-parseInt(_0x1c863c(0x1a4))/0xa);if(_0x43875a===_0x12c658)break;else _0x4942c2['push'](_0x4942c2['shift']());}catch(_0x4f4af0){_0x4942c2['push'](_0x4942c2['shift']());}}}(a118_0xcdb2,0x929a1));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,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':a118_0x392b69(0x18d),'path':a118_0x392b69(0x1aa)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a118_0x392b69(0x1a3),'command':a118_0x392b69(0x173),'description':a118_0x392b69(0x1ac),'risk':a118_0x392b69(0x17a),'structuredErrors':!![],'flags':[{'name':a118_0x392b69(0x1bf),'type':a118_0x392b69(0x172),'required':!![],'description':a118_0x392b69(0x1ce)},{'name':a118_0x392b69(0x17c),'type':'string','required':!![],'description':a118_0x392b69(0x1a2)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x7b5c6e){validateRegroupInput(_0x7b5c6e);},async 'dryRun'(_0x531183){const _0x1dc616=a118_0x392b69;validateRegroupInput(_0x531183);const _0x581bac=await buildRegroupPlan(_0x531183,!![]);return menuDryRunResult(_0x581bac[_0x1dc616(0x1c6)],{'method':_0x1dc616(0x18d),'url':_0x1dc616(0x1aa),'body':_0x581bac[_0x1dc616(0x1ab)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x1dc616(0x1d7)](_0x581bac[_0x1dc616(0x1bf)])+_0x1dc616(0x1bb)+_0x581bac[_0x1dc616(0x176)][_0x1dc616(0x1a8)](',\x20')+_0x1dc616(0x18b)});},async 'execute'(_0x5df96d){const _0x310159=a118_0x392b69;validateRegroupInput(_0x5df96d);const _0x39985f=await buildRegroupPlan(_0x5df96d,![]);await recheckMutationSnapshot(_0x5df96d,_0x39985f[_0x310159(0x1c6)],'start\x20regroup');const _0x4c0e61=buildMenuLookupCommand(_0x5df96d[_0x310159(0x1c5)]);let _0x2e8e41,_0x183cb9;try{_0x2e8e41=await startMenuRegroup(_0x5df96d[_0x310159(0x195)],_0x39985f['input']),_0x183cb9=normalizeAsyncTask(_0x2e8e41);}catch(_0x386b47){const _0x298498=await inspectRegroupAfterFailure(_0x5df96d['appCode'],_0x5df96d[_0x310159(0x195)],_0x39985f['label'],_0x39985f[_0x310159(0x176)]),_0x3a9825=typeof _0x2e8e41?.[_0x310159(0x193)]===_0x310159(0x172)&&_0x2e8e41[_0x310159(0x193)][_0x310159(0x1d0)]()?_0x2e8e41[_0x310159(0x193)][_0x310159(0x1d0)]():null,_0x553cc0=_0x3a9825?{'command':buildAsyncTaskStatusCommand(_0x3a9825,_0x5df96d[_0x310159(0x1c5)])}:null,_0x4deebc=mapMenuApiError(_0x386b47,_0x310159(0x17d));throw menuFailure(_0x4deebc,_0x39985f[_0x310159(0x1c6)],{'stage':_0x310159(0x1cb),'failed':{'menuIds':_0x39985f[_0x310159(0x176)],'taskId':_0x3a9825,'groupingApplied':_0x298498[_0x310159(0x1b1)]?!![]:_0x310159(0x19d)},'after':_0x298498['applied']??null,'warnings':[_0x310159(0x191),..._0x298498[_0x310159(0x1b5)]?[_0x310159(0x1a5)+_0x298498['readbackError']]:[],..._0x3a9825?[_0x310159(0x1a9)]:[]],'verification':{'status':_0x310159(0x17e),'groupingApplied':_0x298498['applied']?!![]:_0x310159(0x19d),'taskId':_0x3a9825,'query':_0x553cc0,'lookupCommand':_0x4c0e61}});}const _0xee57e1=buildAsyncTaskStatusCommand(_0x183cb9['taskId'],_0x5df96d[_0x310159(0x1c5)]);let _0x4b1ab6=null,_0x1e7294=null,_0x4f9c3f=null;try{_0x4b1ab6=await fetchMenuSnapshot(_0x5df96d[_0x310159(0x1c5)],_0x5df96d[_0x310159(0x195)]),_0x1e7294=findAppliedRegroup(_0x4b1ab6,_0x39985f[_0x310159(0x1bf)],_0x39985f[_0x310159(0x176)]);}catch(_0x8c125b){_0x4f9c3f=_0x8c125b instanceof Error?_0x8c125b[_0x310159(0x194)]:String(_0x8c125b);}const _0x4acd1b=mutationResult({..._0x39985f[_0x310159(0x1c6)],'after':_0x1e7294??null,'dryRun':![],'succeeded':[{'groupId':_0x1e7294?.[_0x310159(0x182)]['id']??null,'menuIds':_0x39985f[_0x310159(0x176)],'taskId':_0x183cb9[_0x310159(0x193)],'status':_0x183cb9[_0x310159(0x1be)],'groupingApplied':_0x1e7294?!![]:_0x310159(0x19d)}],'verification':{'checkedBy':_0x310159(0x1a1),'snapshotHash':_0x4b1ab6?.['hash']??null,'groupId':_0x1e7294?.['group']['id']??null,'groupingApplied':_0x1e7294?!![]:_0x310159(0x19d),'readbackError':_0x4f9c3f,'lookupCommand':_0x4c0e61},'warnings':[..._0x39985f[_0x310159(0x1c6)][_0x310159(0x1ba)],...!_0x1e7294?[unconfirmedRegroupWarning(_0x183cb9)]:[],..._0x4f9c3f?[_0x310159(0x174)+_0x4f9c3f]:[]]}),_0x36e58f=_0x183cb9[_0x310159(0x1be)]===_0x310159(0x18a)&&!_0x1e7294?'Regroup\x20task\x20'+_0x183cb9[_0x310159(0x193)]+_0x310159(0x19c):_0x310159(0x1cc)+asyncTaskMessage(_0x183cb9);return{'ok':!![],'message':_0x36e58f,'data':{..._0x4acd1b,'task':_0x183cb9,'query':_0x183cb9['isTerminal']?null:{'command':_0xee57e1}}};}};function validateRegroupInput(_0x14b579){const _0xbc5890=a118_0x392b69;if(!_0x14b579['str'](_0xbc5890(0x1bf))[_0xbc5890(0x1d0)]())throw CliErrors[_0xbc5890(0x190)]('label');parseMenuIds(_0x14b579[_0xbc5890(0x181)](_0xbc5890(0x17c)));}function parseMenuIds(_0x394ada){const _0x4573b1=a118_0x392b69,_0x57822a=_0x394ada[_0x4573b1(0x192)](',')[_0x4573b1(0x1d4)](_0x34081a=>_0x34081a[_0x4573b1(0x1d0)]());if(_0x57822a[_0x4573b1(0x198)]===0x0||_0x57822a[_0x4573b1(0x18f)](_0x2fd0d6=>!_0x2fd0d6))throw CliErrors['validation'](_0x4573b1(0x19a));const _0x1164ca=_0x57822a['map'](_0x1260d7=>{const _0x18fdbc=_0x4573b1;if(!/^\d+$/[_0x18fdbc(0x1c2)](_0x1260d7))throw CliErrors[_0x18fdbc(0x1af)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x9dd2f2=Number(_0x1260d7);if(!Number[_0x18fdbc(0x1d6)](_0x9dd2f2)||_0x9dd2f2<=0x0)throw CliErrors[_0x18fdbc(0x1af)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');return _0x9dd2f2;});if(new Set(_0x1164ca)[_0x4573b1(0x199)]!==_0x1164ca[_0x4573b1(0x198)])throw CliErrors['validation'](_0x4573b1(0x1b9));if(_0x1164ca[_0x4573b1(0x198)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x4573b1(0x1af)](_0x4573b1(0x1c3)+MAX_REGROUP_MENU_COUNT+_0x4573b1(0x1b4));return _0x1164ca;}function a118_0xcdb2(){const _0xfa82b=['Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','folder','test','--menu-ids\x20supports\x20at\x20most\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','appCode','plan','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','get','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','parentId','regroup-submit','Regroup\x20task\x20accepted.\x20','Root\x20folder\x20label\x20','Label\x20of\x20the\x20new\x20root\x20folder','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','trim','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','type','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','map','menus','isSafeInteger','stringify','childrenCount','string','regroup-start','Regroup\x20readback\x20failed:\x20','menu_regroup_target_not_leaf','menuIds','<new-group-id>','Menus\x20','hash','write','1059498otXnrG','menu-ids','start\x20menu\x20regroup','failed','replace','381990SgvBfs','str','group','submit-regroup-task','1672548hIaTVE','menu_regroup_already_applied','\x20menu\x20list\x20--appcode\x20','menu_regroup_target_label_missing','686jCcgai','Menu\x20','SUCCESS',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','112119MRQvsT','POST','byId','some','flagMissing','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','split','taskId','message','cookie','childrenIds','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','length','size','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','48556YKAsUK','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','unconfirmed','\x20--format\x20compress','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','5024uHQoWO','menu\x20list','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','menu','20JDaseg','Regroup\x20readback\x20also\x20failed:\x20','toLowerCase','filter','join','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','/smartapi/menu/regroup','input','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','455qpEffI','sort','validation','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','applied','menu_regroup_label_conflict','knownStatus','\x20menus\x20per\x20regroup\x20request.','readbackError','1939506njOISj','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','plan\x20regroup','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','warnings','\x20and\x20regroup\x20menu\x20ids\x20','\x27\x5c\x27\x27','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','status','label'];a118_0xcdb2=function(){return _0xfa82b;};return a118_0xcdb2();}function buildMenuLookupCommand(_0x13fc02){const _0x149f78=a118_0x392b69,_0x3bf0ae='\x27'+_0x13fc02[_0x149f78(0x17f)](/'/g,_0x149f78(0x1bc))+'\x27';return CLI_BIN_NAME+_0x149f78(0x186)+_0x3bf0ae+_0x149f78(0x19e);}function unconfirmedRegroupWarning(_0x10d455){const _0x439a5f=a118_0x392b69;if(_0x10d455[_0x439a5f(0x1be)]===_0x439a5f(0x18a))return _0x439a5f(0x1c4);if(_0x10d455[_0x439a5f(0x1be)]==='FAILED')return _0x439a5f(0x1c7);if(_0x10d455[_0x439a5f(0x1b3)])return _0x439a5f(0x1d1);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(_0x839937,_0x2319ef){const _0xf4f5e9=a118_0x392b69,_0x204bec=_0x839937['str'](_0xf4f5e9(0x1bf))['trim'](),_0x3d4179=parseMenuIds(_0x839937[_0xf4f5e9(0x181)](_0xf4f5e9(0x17c))),_0x200025=await fetchMutationSnapshot(_0x839937,_0xf4f5e9(0x1b8)),_0x301d93=_0x3d4179[_0xf4f5e9(0x1d4)](_0x4b0320=>requireMenu(_0x200025,_0x4b0320));for(const _0x29cb57 of _0x301d93){if(_0x29cb57[_0xf4f5e9(0x1d2)]['trim']()[_0xf4f5e9(0x1a6)]()===_0xf4f5e9(0x1c1)||_0x29cb57[_0xf4f5e9(0x171)]>0x0)throw menuError(_0xf4f5e9(0x175),_0xf4f5e9(0x189)+_0x29cb57['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0xf4f5e9(0x197));if(!_0x29cb57[_0xf4f5e9(0x1bf)][_0xf4f5e9(0x1d0)]())throw menuError(_0xf4f5e9(0x187),_0xf4f5e9(0x189)+_0x29cb57['id']+_0xf4f5e9(0x1c9),_0xf4f5e9(0x1c0));}const _0x2cd7d3=findAppliedRegroup(_0x200025,_0x204bec,_0x3d4179);if(_0x2cd7d3)throw menuError(_0xf4f5e9(0x185),_0xf4f5e9(0x178)+_0x3d4179[_0xf4f5e9(0x1a8)](',\x20')+_0xf4f5e9(0x19f)+_0x2cd7d3['group']['id']+'\x20('+JSON[_0xf4f5e9(0x1d7)](_0x204bec)+').',_0xf4f5e9(0x1b7));const _0x365956=_0x200025[_0xf4f5e9(0x1d5)][_0xf4f5e9(0x1a7)](_0x4223ad=>_0x4223ad[_0xf4f5e9(0x1ca)]==null&&_0x4223ad[_0xf4f5e9(0x1d2)][_0xf4f5e9(0x1d0)]()[_0xf4f5e9(0x1a6)]()===_0xf4f5e9(0x1c1)&&_0x4223ad[_0xf4f5e9(0x1bf)]===_0x204bec);if(_0x365956[_0xf4f5e9(0x198)]>0x0)throw menuError(_0xf4f5e9(0x1b2),_0xf4f5e9(0x1cd)+JSON['stringify'](_0x204bec)+_0xf4f5e9(0x1b0)+_0x365956[_0xf4f5e9(0x1d4)](_0x206137=>_0x206137['id'])['join'](',\x20')+'.',_0xf4f5e9(0x1bd));const _0x4cba99={'appCode':_0x839937[_0xf4f5e9(0x1c5)],'menuGroups':[{'label':_0x204bec,'type':_0xf4f5e9(0x1c1),'children':_0x301d93[_0xf4f5e9(0x1d4)](_0x3a83c5=>({'id':_0x3a83c5['id'],'label':_0x3a83c5[_0xf4f5e9(0x1bf)]}))}]},_0x4719b6=mutationResult({'operation':_0xf4f5e9(0x173),'selector':{'label':_0x204bec,'menuIds':_0x3d4179},'before':{'menus':_0x301d93},'after':{'group':{'id':null,'parentId':null,'label':_0x204bec,'path':'<platform-generated>','type':_0xf4f5e9(0x1c1),'childrenIds':_0x3d4179},'children':_0x301d93[_0xf4f5e9(0x1d4)](_0x37df96=>({'id':_0x37df96['id'],'label':_0x37df96[_0xf4f5e9(0x1bf)],'beforeParentId':_0x37df96[_0xf4f5e9(0x1ca)],'afterParentId':_0xf4f5e9(0x177)}))},'dryRun':_0x2319ef,'backend':[...BACKEND],'plannedActions':[{'stage':_0xf4f5e9(0x183),'method':'POST','path':_0xf4f5e9(0x1aa),'body':_0x4cba99}],'snapshotHash':_0x200025[_0xf4f5e9(0x179)],'warnings':[_0xf4f5e9(0x1d3),_0xf4f5e9(0x1cf)]});return{'label':_0x204bec,'menuIds':_0x3d4179,'input':_0x4cba99,'plan':_0x4719b6};}function findAppliedRegroup(_0x452465,_0x2ed8a2,_0x57396f){const _0x53b7c5=a118_0x392b69,_0x20e04b=_0x57396f[_0x53b7c5(0x1d4)](_0x140e99=>_0x452465[_0x53b7c5(0x18e)][_0x53b7c5(0x1c8)](_0x140e99))[_0x53b7c5(0x1a7)](_0x229e47=>Boolean(_0x229e47));if(_0x20e04b[_0x53b7c5(0x198)]!==_0x57396f[_0x53b7c5(0x198)])return null;const _0x3f2cd0=_0x20e04b[0x0]?.[_0x53b7c5(0x1ca)];if(_0x3f2cd0==null||_0x20e04b[_0x53b7c5(0x18f)](_0x5375e1=>_0x5375e1['parentId']!==_0x3f2cd0))return null;const _0x4a9c40=_0x452465[_0x53b7c5(0x18e)][_0x53b7c5(0x1c8)](_0x3f2cd0);if(!_0x4a9c40||_0x4a9c40['parentId']!=null||_0x4a9c40[_0x53b7c5(0x1d2)][_0x53b7c5(0x1d0)]()['toLowerCase']()!==_0x53b7c5(0x1c1)||_0x4a9c40[_0x53b7c5(0x1bf)]!==_0x2ed8a2)return null;const _0x3e1bce=[..._0x57396f][_0x53b7c5(0x1ae)]((_0x330dc0,_0x18d589)=>_0x330dc0-_0x18d589),_0x4e8d1e=[..._0x4a9c40[_0x53b7c5(0x196)]][_0x53b7c5(0x1ae)]((_0x402c0d,_0x4dd1cd)=>_0x402c0d-_0x4dd1cd);if(JSON[_0x53b7c5(0x1d7)](_0x4e8d1e)!==JSON['stringify'](_0x3e1bce))return null;return{'group':_0x4a9c40,'children':_0x20e04b};}function a118_0x10f3(_0x5c415b,_0x51d7c4){_0x5c415b=_0x5c415b-0x171;const _0xcdb203=a118_0xcdb2();let _0x10f3d4=_0xcdb203[_0x5c415b];return _0x10f3d4;}async function inspectRegroupAfterFailure(_0x38ac93,_0xd4309f,_0x5bf8a3,_0x5a331c){const _0x362f37=a118_0x392b69;try{const _0x450673=await fetchMenuSnapshot(_0x38ac93,_0xd4309f);return{'applied':findAppliedRegroup(_0x450673,_0x5bf8a3,_0x5a331c),'readbackError':null};}catch(_0x5d79e6){return{'applied':null,'readbackError':_0x5d79e6 instanceof Error?_0x5d79e6[_0x362f37(0x194)]:String(_0x5d79e6)};}}
1
+ const a119_0x4eb3d9=a119_0x1b2e;(function(_0x4f1902,_0x1f4776){const _0x15c9fb=a119_0x1b2e,_0x26d4ce=_0x4f1902();while(!![]){try{const _0x476d99=parseInt(_0x15c9fb(0x11e))/0x1*(-parseInt(_0x15c9fb(0x123))/0x2)+-parseInt(_0x15c9fb(0x110))/0x3*(-parseInt(_0x15c9fb(0xf7))/0x4)+-parseInt(_0x15c9fb(0x106))/0x5*(parseInt(_0x15c9fb(0x129))/0x6)+-parseInt(_0x15c9fb(0xf2))/0x7*(parseInt(_0x15c9fb(0x103))/0x8)+parseInt(_0x15c9fb(0x117))/0x9*(parseInt(_0x15c9fb(0x101))/0xa)+parseInt(_0x15c9fb(0x125))/0xb*(-parseInt(_0x15c9fb(0xe4))/0xc)+parseInt(_0x15c9fb(0x130))/0xd*(parseInt(_0x15c9fb(0xe5))/0xe);if(_0x476d99===_0x1f4776)break;else _0x26d4ce['push'](_0x26d4ce['shift']());}catch(_0x505ad6){_0x26d4ce['push'](_0x26d4ce['shift']());}}}(a119_0x120e,0x86112));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,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':a119_0x4eb3d9(0x128),'path':a119_0x4eb3d9(0xf9)}],MAX_REGROUP_MENU_COUNT=0x64;function a119_0x1b2e(_0x5b9368,_0x110444){_0x5b9368=_0x5b9368-0xde;const _0x120eb6=a119_0x120e();let _0x1b2e54=_0x120eb6[_0x5b9368];return _0x1b2e54;}export const menuRegroupStart={'service':'menu','command':a119_0x4eb3d9(0x137),'description':a119_0x4eb3d9(0x139),'risk':a119_0x4eb3d9(0x116),'structuredErrors':!![],'flags':[{'name':a119_0x4eb3d9(0xe1),'type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11b)},{'name':'menu-ids','type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11f)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2be0c2){validateRegroupInput(_0x2be0c2);},async 'dryRun'(_0x1f1d43){const _0x473e53=a119_0x4eb3d9;validateRegroupInput(_0x1f1d43);const _0x2f789a=await buildRegroupPlan(_0x1f1d43,!![]);return menuDryRunResult(_0x2f789a['plan'],{'method':'POST','url':_0x473e53(0xf9),'body':_0x2f789a[_0x473e53(0x104)],'description':_0x473e53(0x13c)+JSON[_0x473e53(0xe9)](_0x2f789a[_0x473e53(0xe1)])+_0x473e53(0xff)+_0x2f789a['menuIds'][_0x473e53(0xf5)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x21bbfe){const _0x3e479d=a119_0x4eb3d9;validateRegroupInput(_0x21bbfe);const _0x14ee03=await buildRegroupPlan(_0x21bbfe,![]);await recheckMutationSnapshot(_0x21bbfe,_0x14ee03[_0x3e479d(0x105)],_0x3e479d(0x136));const _0x4150e5=buildMenuLookupCommand(_0x21bbfe[_0x3e479d(0x11c)]);let _0x900ef7,_0x5f04f7;try{_0x900ef7=await startMenuRegroup(_0x21bbfe[_0x3e479d(0x109)],_0x14ee03['input']),_0x5f04f7=normalizeAsyncTask(_0x900ef7);}catch(_0x371ca7){const _0x22a771=await inspectRegroupAfterFailure(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)],_0x14ee03[_0x3e479d(0xe1)],_0x14ee03[_0x3e479d(0x100)]),_0x3ab9dd=typeof _0x900ef7?.[_0x3e479d(0xe6)]==='string'&&_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]()?_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]():null,_0x22a0f8=_0x3ab9dd?{'command':buildAsyncTaskStatusCommand(_0x3ab9dd,_0x21bbfe[_0x3e479d(0x11c)])}:null,_0x2d7dfd=mapMenuApiError(_0x371ca7,'start\x20menu\x20regroup');throw menuFailure(_0x2d7dfd,_0x14ee03[_0x3e479d(0x105)],{'stage':_0x3e479d(0x107),'failed':{'menuIds':_0x14ee03[_0x3e479d(0x100)],'taskId':_0x3ab9dd,'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a)},'after':_0x22a771['applied']??null,'warnings':[_0x3e479d(0x114),..._0x22a771[_0x3e479d(0xe8)]?[_0x3e479d(0xe0)+_0x22a771[_0x3e479d(0xe8)]]:[],..._0x3ab9dd?[_0x3e479d(0x138)]:[]],'verification':{'status':_0x3e479d(0x126),'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a),'taskId':_0x3ab9dd,'query':_0x22a0f8,'lookupCommand':_0x4150e5}});}const _0x341783=buildAsyncTaskStatusCommand(_0x5f04f7[_0x3e479d(0xe6)],_0x21bbfe[_0x3e479d(0x11c)]);let _0x18e655=null,_0x21382c=null,_0x2842cb=null;try{_0x18e655=await fetchMenuSnapshot(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)]),_0x21382c=findAppliedRegroup(_0x18e655,_0x14ee03['label'],_0x14ee03[_0x3e479d(0x100)]);}catch(_0x5598ef){_0x2842cb=_0x5598ef instanceof Error?_0x5598ef[_0x3e479d(0x122)]:String(_0x5598ef);}const _0x3c26bf=mutationResult({..._0x14ee03[_0x3e479d(0x105)],'after':_0x21382c??null,'dryRun':![],'succeeded':[{'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'menuIds':_0x14ee03['menuIds'],'taskId':_0x5f04f7['taskId'],'status':_0x5f04f7['status'],'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a)}],'verification':{'checkedBy':_0x3e479d(0x10b),'snapshotHash':_0x18e655?.[_0x3e479d(0x13b)]??null,'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a),'readbackError':_0x2842cb,'lookupCommand':_0x4150e5},'warnings':[..._0x14ee03['plan']['warnings'],...!_0x21382c?[unconfirmedRegroupWarning(_0x5f04f7)]:[],..._0x2842cb?['Regroup\x20readback\x20failed:\x20'+_0x2842cb]:[]]}),_0x5a925d=_0x5f04f7['status']===_0x3e479d(0xf0)&&!_0x21382c?'Regroup\x20task\x20'+_0x5f04f7['taskId']+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x3e479d(0x127)+asyncTaskMessage(_0x5f04f7);return{'ok':!![],'message':_0x5a925d,'data':{..._0x3c26bf,'task':_0x5f04f7,'query':_0x5f04f7['isTerminal']?null:{'command':_0x341783}}};}};function validateRegroupInput(_0x136215){const _0x916934=a119_0x4eb3d9;if(!_0x136215[_0x916934(0xde)](_0x916934(0xe1))[_0x916934(0xe3)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x136215[_0x916934(0xde)](_0x916934(0xfc)));}function a119_0x120e(){const _0x2bb3fa=['status','Menu\x20','join','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','1684yjiPfI','some','/smartapi/menu/regroup','toLowerCase','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.','menu-ids','sort','applied','\x20and\x20regroup\x20menu\x20ids\x20','menuIds','906380MkvlPe','menus','18808FwxxcZ','input','plan','57445CHXqUa','regroup-submit','plan\x20regroup','cookie','knownStatus','menu\x20list','parentId','<platform-generated>','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','length','4227HqToQB','FAILED','type','size','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','write','27JxnDgO','get','validation','menu_regroup_already_applied','Label\x20of\x20the\x20new\x20root\x20folder','appCode','byId','215FSYaWi','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','childrenIds','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','message','8266uXTScL','map','7117zenwbQ','failed','Regroup\x20task\x20accepted.\x20','POST','204cPvfhg','\x27\x5c\x27\x27','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','\x20menu\x20list\x20--appcode\x20','menu_regroup_target_not_leaf','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','menu_regroup_label_conflict','9113260TbANDp','replace','test','isSafeInteger','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','--menu-ids\x20supports\x20at\x20most\x20','start\x20regroup','regroup-start','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','unconfirmed','hash','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','str','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','Regroup\x20readback\x20also\x20failed:\x20','label','\x20menus\x20per\x20regroup\x20request.','trim','2208osaAYa','28vMEGoA','taskId','<new-group-id>','readbackError','stringify','group','split','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','string','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','filter','SUCCESS','folder','952FSskOZ'];a119_0x120e=function(){return _0x2bb3fa;};return a119_0x120e();}function parseMenuIds(_0xa5cd7a){const _0x5e3a3c=a119_0x4eb3d9,_0x51f0a7=_0xa5cd7a[_0x5e3a3c(0xeb)](',')[_0x5e3a3c(0x124)](_0x24638f=>_0x24638f[_0x5e3a3c(0xe3)]());if(_0x51f0a7[_0x5e3a3c(0x10f)]===0x0||_0x51f0a7[_0x5e3a3c(0xf8)](_0x2d022d=>!_0x2d022d))throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x121));const _0x2e28a5=_0x51f0a7['map'](_0x476bab=>{const _0x32e5f7=_0x5e3a3c;if(!/^\d+$/[_0x32e5f7(0x132)](_0x476bab))throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));const _0x31f12e=Number(_0x476bab);if(!Number[_0x32e5f7(0x133)](_0x31f12e)||_0x31f12e<=0x0)throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));return _0x31f12e;});if(new Set(_0x2e28a5)[_0x5e3a3c(0x113)]!==_0x2e28a5[_0x5e3a3c(0x10f)])throw CliErrors[_0x5e3a3c(0x119)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x2e28a5[_0x5e3a3c(0x10f)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x135)+MAX_REGROUP_MENU_COUNT+_0x5e3a3c(0xe2));return _0x2e28a5;}function buildMenuLookupCommand(_0x1fa053){const _0xca4ca7=a119_0x4eb3d9,_0x2b4006='\x27'+_0x1fa053[_0xca4ca7(0x131)](/'/g,_0xca4ca7(0x12a))+'\x27';return CLI_BIN_NAME+_0xca4ca7(0x12c)+_0x2b4006+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x479f29){const _0x2aeac5=a119_0x4eb3d9;if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0xf0))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0x111))return _0x2aeac5(0x10e);if(_0x479f29[_0x2aeac5(0x10a)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x2aeac5(0xfb);}async function buildRegroupPlan(_0xcaa33,_0x4b3ddb){const _0x1f9f5d=a119_0x4eb3d9,_0x47cec9=_0xcaa33[_0x1f9f5d(0xde)](_0x1f9f5d(0xe1))[_0x1f9f5d(0xe3)](),_0x5519e0=parseMenuIds(_0xcaa33[_0x1f9f5d(0xde)]('menu-ids')),_0x34e615=await fetchMutationSnapshot(_0xcaa33,_0x1f9f5d(0x108)),_0x798e0d=_0x5519e0[_0x1f9f5d(0x124)](_0x192b8f=>requireMenu(_0x34e615,_0x192b8f));for(const _0x415c43 of _0x798e0d){if(_0x415c43[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()['toLowerCase']()===_0x1f9f5d(0xf1)||_0x415c43['childrenCount']>0x0)throw menuError(_0x1f9f5d(0x12d),'Menu\x20'+_0x415c43['id']+_0x1f9f5d(0xf6),_0x1f9f5d(0xdf));if(!_0x415c43['label'][_0x1f9f5d(0xe3)]())throw menuError('menu_regroup_target_label_missing',_0x1f9f5d(0xf4)+_0x415c43['id']+_0x1f9f5d(0xec),_0x1f9f5d(0x12b));}const _0x3b381f=findAppliedRegroup(_0x34e615,_0x47cec9,_0x5519e0);if(_0x3b381f)throw menuError(_0x1f9f5d(0x11a),'Menus\x20'+_0x5519e0[_0x1f9f5d(0xf5)](',\x20')+_0x1f9f5d(0x134)+_0x3b381f[_0x1f9f5d(0xea)]['id']+'\x20('+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+').',_0x1f9f5d(0xee));const _0x1ab7a1=_0x34e615[_0x1f9f5d(0x102)][_0x1f9f5d(0xef)](_0x3c45a8=>_0x3c45a8[_0x1f9f5d(0x10c)]==null&&_0x3c45a8[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()[_0x1f9f5d(0xfa)]()==='folder'&&_0x3c45a8[_0x1f9f5d(0xe1)]===_0x47cec9);if(_0x1ab7a1[_0x1f9f5d(0x10f)]>0x0)throw menuError(_0x1f9f5d(0x12f),'Root\x20folder\x20label\x20'+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x1ab7a1[_0x1f9f5d(0x124)](_0x146c0d=>_0x146c0d['id'])[_0x1f9f5d(0xf5)](',\x20')+'.',_0x1f9f5d(0x12e));const _0x422644={'appCode':_0xcaa33[_0x1f9f5d(0x11c)],'menuGroups':[{'label':_0x47cec9,'type':'folder','children':_0x798e0d[_0x1f9f5d(0x124)](_0x1c93e4=>({'id':_0x1c93e4['id'],'label':_0x1c93e4['label']}))}]},_0x34a301=mutationResult({'operation':'regroup-start','selector':{'label':_0x47cec9,'menuIds':_0x5519e0},'before':{'menus':_0x798e0d},'after':{'group':{'id':null,'parentId':null,'label':_0x47cec9,'path':_0x1f9f5d(0x10d),'type':'folder','childrenIds':_0x5519e0},'children':_0x798e0d['map'](_0x4d7c44=>({'id':_0x4d7c44['id'],'label':_0x4d7c44[_0x1f9f5d(0xe1)],'beforeParentId':_0x4d7c44['parentId'],'afterParentId':_0x1f9f5d(0xe7)}))},'dryRun':_0x4b3ddb,'backend':[...BACKEND],'plannedActions':[{'stage':'submit-regroup-task','method':_0x1f9f5d(0x128),'path':_0x1f9f5d(0xf9),'body':_0x422644}],'snapshotHash':_0x34e615['hash'],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x1f9f5d(0x115)]});return{'label':_0x47cec9,'menuIds':_0x5519e0,'input':_0x422644,'plan':_0x34a301};}function findAppliedRegroup(_0x2d5117,_0x44242a,_0x3f0c2d){const _0x4fc0af=a119_0x4eb3d9,_0x34e8ac=_0x3f0c2d[_0x4fc0af(0x124)](_0x4d917c=>_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x4d917c))[_0x4fc0af(0xef)](_0x9d46a4=>Boolean(_0x9d46a4));if(_0x34e8ac[_0x4fc0af(0x10f)]!==_0x3f0c2d[_0x4fc0af(0x10f)])return null;const _0x3fb4aa=_0x34e8ac[0x0]?.[_0x4fc0af(0x10c)];if(_0x3fb4aa==null||_0x34e8ac[_0x4fc0af(0xf8)](_0x2b157b=>_0x2b157b[_0x4fc0af(0x10c)]!==_0x3fb4aa))return null;const _0x2c3e6f=_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x3fb4aa);if(!_0x2c3e6f||_0x2c3e6f[_0x4fc0af(0x10c)]!=null||_0x2c3e6f[_0x4fc0af(0x112)][_0x4fc0af(0xe3)]()[_0x4fc0af(0xfa)]()!==_0x4fc0af(0xf1)||_0x2c3e6f[_0x4fc0af(0xe1)]!==_0x44242a)return null;const _0xaf30c9=[..._0x3f0c2d][_0x4fc0af(0xfd)]((_0x7d1293,_0x4913b5)=>_0x7d1293-_0x4913b5),_0x330084=[..._0x2c3e6f[_0x4fc0af(0x120)]][_0x4fc0af(0xfd)]((_0x4501a9,_0x38a242)=>_0x4501a9-_0x38a242);if(JSON['stringify'](_0x330084)!==JSON['stringify'](_0xaf30c9))return null;return{'group':_0x2c3e6f,'children':_0x34e8ac};}async function inspectRegroupAfterFailure(_0x788c18,_0xa477b5,_0x217d9f,_0x30223f){try{const _0x5466ea=await fetchMenuSnapshot(_0x788c18,_0xa477b5);return{'applied':findAppliedRegroup(_0x5466ea,_0x217d9f,_0x30223f),'readbackError':null};}catch(_0x28b8f1){return{'applied':null,'readbackError':_0x28b8f1 instanceof Error?_0x28b8f1['message']:String(_0x28b8f1)};}}