@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-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 (312) 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/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.d.ts +7 -0
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.d.ts +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff-refresh-start.js +1 -1
  89. package/lib/commands/db/diff-refresh-status.js +1 -1
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/table-diff-shared.js +1 -1
  95. package/lib/commands/db/tables.js +1 -1
  96. package/lib/commands/db/test.js +1 -1
  97. package/lib/commands/db/update.js +1 -1
  98. package/lib/commands/doctor.js +1 -1
  99. package/lib/commands/file/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/search.js +1 -1
  110. package/lib/commands/kb/shared.js +1 -1
  111. package/lib/commands/kb/update.js +1 -1
  112. package/lib/commands/logs/index.js +1 -1
  113. package/lib/commands/menu/asset-update.js +1 -1
  114. package/lib/commands/menu/delete.js +1 -1
  115. package/lib/commands/menu/external-link-create.js +1 -1
  116. package/lib/commands/menu/external-link-update.js +1 -1
  117. package/lib/commands/menu/group-create.js +1 -1
  118. package/lib/commands/menu/group-update.js +1 -1
  119. package/lib/commands/menu/index.js +1 -1
  120. package/lib/commands/menu/list.js +1 -1
  121. package/lib/commands/menu/move.js +1 -1
  122. package/lib/commands/menu/regroup-start.js +1 -1
  123. package/lib/commands/menu/rename.js +1 -1
  124. package/lib/commands/menu/shared/compare-table.js +1 -1
  125. package/lib/commands/menu/shared/delete-plan.js +1 -1
  126. package/lib/commands/menu/shared/facts.js +1 -1
  127. package/lib/commands/menu/shared/index.js +1 -1
  128. package/lib/commands/menu/shared/inquirer.js +1 -1
  129. package/lib/commands/menu/shared/local-pages.js +1 -1
  130. package/lib/commands/menu/shared/logic.js +1 -1
  131. package/lib/commands/menu/shared/mutations.js +1 -1
  132. package/lib/commands/menu/shared/service.js +1 -1
  133. package/lib/commands/menu/shared/sync-core.js +1 -1
  134. package/lib/commands/menu/shared/update-core.js +1 -1
  135. package/lib/commands/menu/shared/valid-url.js +1 -1
  136. package/lib/commands/menu/sync.js +1 -1
  137. package/lib/commands/menu/visibility-update.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/create.js +1 -1
  146. package/lib/commands/page/custom/detail.js +1 -1
  147. package/lib/commands/page/custom/list.js +1 -1
  148. package/lib/commands/page/custom/publish.js +1 -1
  149. package/lib/commands/page/custom/shared.js +1 -1
  150. package/lib/commands/page/custom/syntax.js +1 -1
  151. package/lib/commands/page/custom/template.js +1 -1
  152. package/lib/commands/page/custom/update.js +1 -1
  153. package/lib/commands/page/data-list-status.js +1 -1
  154. package/lib/commands/page/generate-start.js +1 -1
  155. package/lib/commands/page/generate-status.js +1 -1
  156. package/lib/commands/page/index.js +1 -1
  157. package/lib/commands/page/pull.js +1 -1
  158. package/lib/commands/page/push.js +1 -1
  159. package/lib/commands/page/relation-audit.js +1 -1
  160. package/lib/commands/page/restore.js +1 -1
  161. package/lib/commands/page/shared.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.js +1 -1
  181. package/lib/commands/role/update.js +1 -1
  182. package/lib/commands/role/user-add.js +1 -1
  183. package/lib/commands/role/user-remove.js +1 -1
  184. package/lib/commands/role/user-resolve.js +1 -1
  185. package/lib/commands/run/index.js +1 -1
  186. package/lib/commands/schema.js +1 -1
  187. package/lib/commands/sql/create.js +1 -1
  188. package/lib/commands/sql/delete.js +1 -1
  189. package/lib/commands/sql/detail.js +1 -1
  190. package/lib/commands/sql/exec.js +1 -1
  191. package/lib/commands/sql/index.js +1 -1
  192. package/lib/commands/sql/list.js +1 -1
  193. package/lib/commands/sql/pull.js +1 -1
  194. package/lib/commands/sql/push.js +1 -1
  195. package/lib/commands/sql/shared.js +1 -1
  196. package/lib/commands/sql/status.js +1 -1
  197. package/lib/commands/sql/validate.js +1 -1
  198. package/lib/commands/task/index.js +1 -1
  199. package/lib/commands/task/status.js +1 -1
  200. package/lib/commands/tenant/index.js +1 -1
  201. package/lib/commands/tenant/members-list.js +1 -1
  202. package/lib/commands/tenant/shared.js +1 -1
  203. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  204. package/lib/commands/user-account/index.js +1 -1
  205. package/lib/commands/workspace/add.js +1 -1
  206. package/lib/commands/workspace/index.js +1 -1
  207. package/lib/commands/workspace/remove.js +1 -1
  208. package/lib/config/domain-config.d.ts +1 -1
  209. package/lib/config/domain-config.js +1 -1
  210. package/lib/config/project-routing.d.ts +30 -0
  211. package/lib/config/project-routing.js +1 -0
  212. package/lib/config/schema.d.ts +1 -1
  213. package/lib/config/schema.js +1 -1
  214. package/lib/constant/cdn.js +1 -1
  215. package/lib/constant/cli.js +1 -1
  216. package/lib/constant/defaults.js +1 -1
  217. package/lib/constant/domain.d.ts +7 -2
  218. package/lib/constant/domain.js +1 -1
  219. package/lib/constant/env.js +1 -1
  220. package/lib/constant/output.js +1 -1
  221. package/lib/constant/paths.js +1 -1
  222. package/lib/constant/region.d.ts +2 -2
  223. package/lib/constant/region.js +1 -1
  224. package/lib/constant/risk.js +1 -1
  225. package/lib/constant/routing-profile.d.ts +115 -0
  226. package/lib/constant/routing-profile.js +1 -0
  227. package/lib/context/app-resolver.js +1 -1
  228. package/lib/context/auth-resolver.js +1 -1
  229. package/lib/context/config-loader.js +1 -1
  230. package/lib/context.js +1 -1
  231. package/lib/core/alias-resolver.js +1 -1
  232. package/lib/core/api-client.js +1 -1
  233. package/lib/core/bff/config.js +1 -1
  234. package/lib/core/bff/file-system.js +1 -1
  235. package/lib/core/bff/hash.js +1 -1
  236. package/lib/core/bff/lock.js +1 -1
  237. package/lib/core/bff/utils.js +1 -1
  238. package/lib/core/db-resolver.js +1 -1
  239. package/lib/core/page/file-system.js +1 -1
  240. package/lib/core/page/hash.js +1 -1
  241. package/lib/core/page/lock.js +1 -1
  242. package/lib/core/sql-index-auditor.js +1 -1
  243. package/lib/core/sql-sync/config.js +1 -1
  244. package/lib/core/sql-sync/file-system.js +1 -1
  245. package/lib/core/sql-sync/hash.js +1 -1
  246. package/lib/core/sql-sync/lock.js +1 -1
  247. package/lib/core/sql-sync/utils.js +1 -1
  248. package/lib/core/sql-validator.js +1 -1
  249. package/lib/errors.js +1 -1
  250. package/lib/framework/build-all-flags.js +1 -1
  251. package/lib/framework/error-output.js +1 -1
  252. package/lib/framework/explicit-yes.js +1 -1
  253. package/lib/framework/flags.js +1 -1
  254. package/lib/framework/help.js +1 -1
  255. package/lib/framework/index.js +1 -1
  256. package/lib/framework/output.js +1 -1
  257. package/lib/framework/response.js +1 -1
  258. package/lib/framework/runner-alias.js +1 -1
  259. package/lib/framework/runner.js +1 -1
  260. package/lib/framework/schema-export.js +1 -1
  261. package/lib/framework/types.js +1 -1
  262. package/lib/generated/build-info.d.ts +4 -4
  263. package/lib/generated/build-info.js +1 -1
  264. package/lib/help.js +1 -1
  265. package/lib/postinstall.js +1 -1
  266. package/lib/runtime/confirmation.js +1 -1
  267. package/lib/runtime/event.js +1 -1
  268. package/lib/runtime/index.js +1 -1
  269. package/lib/runtime/queue.js +1 -1
  270. package/lib/runtime/resolve.js +1 -1
  271. package/lib/skills/builtin-skill.js +1 -1
  272. package/lib/skills/main.js +1 -1
  273. package/lib/skills/npx-skills-add.js +1 -1
  274. package/lib/skills/skill-presence.js +1 -1
  275. package/lib/telemetry/cli-command-trace.js +1 -1
  276. package/lib/telemetry/cli-help-trace.js +1 -1
  277. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  278. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  279. package/lib/telemetry/send-cli-trace-log.js +1 -1
  280. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  281. package/lib/utils/ai_config.js +1 -1
  282. package/lib/utils/apply-jq-filter.js +1 -1
  283. package/lib/utils/cdn-config.js +1 -1
  284. package/lib/utils/check-sdk-version.js +1 -1
  285. package/lib/utils/cli-version-check.js +1 -1
  286. package/lib/utils/cli-version-policy.js +1 -1
  287. package/lib/utils/config.js +1 -1
  288. package/lib/utils/entity-with-id.js +1 -1
  289. package/lib/utils/file-utils.js +1 -1
  290. package/lib/utils/guides-cdn.js +1 -1
  291. package/lib/utils/http-client.js +1 -1
  292. package/lib/utils/is-non-interactive.js +1 -1
  293. package/lib/utils/logger.js +1 -1
  294. package/lib/utils/params.js +1 -1
  295. package/lib/utils/platform.js +1 -1
  296. package/lib/utils/sleep.js +1 -1
  297. package/lib/utils/template-replacer.js +1 -1
  298. package/lib/utils/update-notice.js +1 -1
  299. package/lib/utils/version.js +1 -1
  300. package/lib/utils/with-active-cookie.js +1 -1
  301. package/lib/utils/write-cli-side-channel.js +1 -1
  302. package/package.json +1 -2
  303. package/skills/rabetbase/SKILL.md +10 -5
  304. package/skills/rabetbase/guides/frontend-development.md +2 -0
  305. package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
  306. package/skills/rabetbase/guides/typescript-sdk.md +42 -0
  307. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
  308. package/skills/rabetbase/references/rabetbase-config.md +9 -5
  309. package/skills/rabetbase/references/rabetbase-init.md +11 -5
  310. package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
  311. package/skills/rabetbase.manifest.json +3 -3
  312. package/templates/README.md +13 -17
@@ -1 +1 @@
1
- const a111_0x351dd6=a111_0x1490;(function(_0x283903,_0x373b7b){const _0x56eaa7=a111_0x1490,_0x3d8a51=_0x283903();while(!![]){try{const _0x136098=parseInt(_0x56eaa7(0x1f4))/0x1+-parseInt(_0x56eaa7(0x205))/0x2*(parseInt(_0x56eaa7(0x1f8))/0x3)+parseInt(_0x56eaa7(0x1f2))/0x4+-parseInt(_0x56eaa7(0x232))/0x5+-parseInt(_0x56eaa7(0x242))/0x6*(parseInt(_0x56eaa7(0x220))/0x7)+parseInt(_0x56eaa7(0x20a))/0x8+-parseInt(_0x56eaa7(0x24f))/0x9;if(_0x136098===_0x373b7b)break;else _0x3d8a51['push'](_0x3d8a51['shift']());}catch(_0xb2e493){_0x3d8a51['push'](_0x3d8a51['shift']());}}}(a111_0x42fd,0x8f493));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';function a111_0x42fd(){const _0xebcdd=['Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','pages','verify\x20batch\x20delete','remainingIds','menu_tree_invalid','string','validation','menu_page_shared','Menu\x20','forEach','target','childrenIds','pageId','Would\x20batch\x20delete\x20','causeCode','toLowerCase','delete','Folder\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_delete_page_bound','boolean','menu_batch_delete_count_mismatch','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','rabetbase\x20menu\x20list\x20--format\x20json','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','selector','hash','3613460HqsVMo','join','1161141FHblZx','str','cookie','\x20and\x20cannot\x20be\x20deleted\x20safely.','33yTGtTD','page\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','stringify','menu_verification_failed','\x20is\x20type\x20\x22','byId','plan','map','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','trim','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','21426BTolDf','\x20deleted\x20menus;\x20expected\x20','folder','):\x20','indexOf','7294768kFUMIp','unconfirmed','unknown','push','flagMissing','plan-out','dry-run','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','expect-parent-id','/smartapi/menu/batchDelete','\x20has\x20','\x20still\x20references\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','childrenCount','\x20menu(s)\x20under\x20exact\x20id\x20','verification','Post-mismatch\x20menu\x20readback\x20failed\x20(','resources','Deleted\x20','menu_plan_invalid','deleteOrder','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','407302TXGgFS','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','plan\x20delete','message','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','menu_folder_resources_invalid','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Recursive\x20menu\x20delete\x20plan\x20root\x20','causeMessage','has','type','expect-path','batch-delete','cascade','filter','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','expiresAt','2307940tvGJKs','menu_recursive_requires_folder','length','pre-write-plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','menu','batch\x20delete','snapshot','Post-failure\x20menu\x20readback\x20failed\x20(',';\x20execution\x20must\x20consume\x20','failed','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','add','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','menu\x20list','bool','6ZaOSUg','\x20->\x20menu\x20','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','absentIds','expected-children-count','\x20references\x20missing\x20child\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','plan-validation','\x20resource\x20URL(s).','recursive','menu_non_empty','appCode','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','15766524MviXnj','size','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','\x20is\x20not\x20a\x20folder.','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'];a111_0x42fd=function(){return _0xebcdd;};return a111_0x42fd();}import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x351dd6(0x203),'path':a111_0x351dd6(0x213)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x351dd6(0x21f)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x351dd6(0x24b),'type':a111_0x351dd6(0x1eb),'description':a111_0x351dd6(0x216)},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x351dd6(0x20f),'type':a111_0x351dd6(0x259),'description':a111_0x351dd6(0x254)},MENU_DELETE_PLAN_FLAG={'name':a111_0x351dd6(0x1ff),'type':'string','description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a111_0x351dd6(0x237),'command':a111_0x351dd6(0x264),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2a816e){const _0x533741=a111_0x351dd6;_0x2a816e[_0x533741(0x241)](_0x533741(0x210))?validateDeleteDryRunInput(_0x2a816e):validateDeleteExecuteInput(_0x2a816e),requireExplicitYes(_0x2a816e);},async 'dryRun'(_0x3a6ff1){const _0x438a3c=a111_0x351dd6;validateDeleteDryRunInput(_0x3a6ff1);const _0x164fec=await buildDeletePlan(_0x3a6ff1),_0x1c0c1a=createMenuDeletePlanFile(_0x3a6ff1['appCode'],_0x164fec),_0x1ea2d7=await writeMenuDeletePlan(_0x3a6ff1['str']('plan-out'),_0x1c0c1a),_0x5d5cab=mutationResult({..._0x164fec,'planFile':{'path':_0x1ea2d7,'createdAt':_0x1c0c1a['createdAt'],'expiresAt':_0x1c0c1a[_0x438a3c(0x231)]}});return menuDryRunResult(_0x5d5cab,{'method':_0x438a3c(0x203),'url':_0x438a3c(0x213),'body':{'idList':_0x5d5cab[_0x438a3c(0x21e)]},'description':_0x438a3c(0x261)+(_0x5d5cab[_0x438a3c(0x21e)]?.[_0x438a3c(0x234)]??0x1)+_0x438a3c(0x218)+_0x5d5cab[_0x438a3c(0x1f0)]['id']+_0x438a3c(0x23b)+_0x1ea2d7+'.'});},async 'execute'(_0x696607){const _0x16ad46=a111_0x351dd6;requireExplicitYes(_0x696607),validateDeleteExecuteInput(_0x696607);const _0x149334=await readMenuDeletePlan(_0x696607[_0x16ad46(0x1f5)](_0x16ad46(0x1ff))),_0x37485b=mutationPlanFromDeleteFile(_0x149334[_0x16ad46(0x1ff)],_0x149334['path']),_0xaa34c8=_0x149334[_0x16ad46(0x1ff)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x149334[_0x16ad46(0x1ff)],_0x696607[_0x16ad46(0x24d)]);}catch(_0x1b904c){throw menuFailure(asMenuError(_0x1b904c),_0x37485b,{'stage':_0x16ad46(0x249),'failed':{'id':_0xaa34c8}});}let _0x500385,_0x56d86b;try{_0x500385=await fetchMutationSnapshot(_0x696607,'execute\x20reviewed\x20delete\x20plan',_0xaa34c8),_0x56d86b=assertMenuDeletePlanCurrent(_0x149334['plan'],_0x696607[_0x16ad46(0x24d)],_0x500385),assertDeleteTargetsComplete(_0x149334['plan'],_0x500385),_0x56d86b[_0x16ad46(0x25d)](_0x57a22c=>assertDeleteSafety(_0x57a22c,_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x24b)])),assertNoSharedPages(_0x500385,_0x56d86b),assertCascadeMatchesPlan(_0x37485b,_0x56d86b);}catch(_0x1ca989){throw menuFailure(asMenuError(_0x1ca989),_0x37485b,{'stage':_0x16ad46(0x235),'failed':{'id':_0xaa34c8}});}const _0x2ff7fc=_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x21e)];let _0x166616;try{_0x166616=await batchDeleteMenuEntities(_0x696607['cookie'],_0x2ff7fc);}catch(_0x2092e9){const _0x34a575=mapMenuApiError(_0x2092e9,_0x16ad46(0x238)),_0x14136d=[_0x16ad46(0x251)];let _0x5eb9eb;try{_0x5eb9eb=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x104b71){const _0x3b5117=describeMenuErrorCause(_0x104b71,_0x16ad46(0x221),_0xaa34c8);_0x14136d[_0x16ad46(0x20d)](_0x16ad46(0x23a)+_0x3b5117[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x3b5117[_0x16ad46(0x229)]);throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','failed':{'targetIds':_0x2ff7fc,'targetIdsAbsent':_0x16ad46(0x20b),..._0x3b5117},'warnings':_0x14136d,'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','succeeded':_0x5eb9eb[_0x16ad46(0x245)]['map'](_0x17d167=>({'id':_0x17d167,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'absentIds':_0x5eb9eb[_0x16ad46(0x245)],'remainingIds':_0x5eb9eb['remainingIds']},'warnings':_0x14136d,'verification':verificationFromOutcome(_0x5eb9eb)});}if(_0x166616!==_0x2ff7fc[_0x16ad46(0x234)]){const _0x3ec12d=menuError(_0x16ad46(0x1ec),'Backend\x20reported\x20'+_0x166616+_0x16ad46(0x206)+_0x2ff7fc[_0x16ad46(0x234)]+'.',_0x16ad46(0x1ef)),_0x4e639c=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x5262d7;try{_0x5262d7=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x489f06){const _0x350e4a=describeMenuErrorCause(_0x489f06,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0xaa34c8);_0x4e639c['push'](_0x16ad46(0x21a)+_0x350e4a[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x350e4a[_0x16ad46(0x229)]);throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'targetIdsAbsent':'unconfirmed',..._0x350e4a},'warnings':_0x4e639c,'verification':{'status':'failed','lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'succeeded':_0x5262d7[_0x16ad46(0x245)][_0x16ad46(0x200)](_0x2fe284=>({'id':_0x2fe284,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'absentIds':_0x5262d7[_0x16ad46(0x245)],'remainingIds':_0x5262d7[_0x16ad46(0x257)]},'warnings':_0x4e639c,'verification':verificationFromOutcome(_0x5262d7)});}let _0x1a58e4;try{_0x1a58e4=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x56e97a){const _0x1ef176=describeMenuErrorCause(_0x56e97a,_0x16ad46(0x256),_0xaa34c8),_0x31513a=asVerificationError(_0x56e97a,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0xaa34c8+_0x16ad46(0x204));throw menuFailure(_0x31513a,_0x37485b,{'stage':'verification','succeeded':_0x2ff7fc['map'](_0x3894aa=>({'id':_0x3894aa,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'targetIdsAbsent':'unconfirmed',..._0x1ef176},'warnings':[_0x16ad46(0x230)],'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}if(_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x234)]>0x0){const _0x2c0342=menuError(_0x16ad46(0x1fc),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x1f3)](',\x20')+'.',_0x16ad46(0x1ef));throw menuFailure(_0x2c0342,_0x37485b,{'stage':_0x16ad46(0x219),'succeeded':_0x2ff7fc['map'](_0x3fb182=>({'id':_0x3fb182,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'absentIds':_0x1a58e4[_0x16ad46(0x245)],'remainingIds':_0x1a58e4['remainingIds']},'warnings':[_0x16ad46(0x253)],'verification':verificationFromOutcome(_0x1a58e4)});}const _0x2ba615=_0x2ff7fc[_0x16ad46(0x200)](_0x4b1139=>({'id':_0x4b1139,'deleted':!![]})),_0x2c45bb=mutationResult({..._0x37485b,'dryRun':![],'succeeded':_0x2ba615,'verification':{'checkedBy':_0x16ad46(0x240),'plannedSnapshotHash':_0x37485b['snapshotHash'],'finalSnapshotHash':_0x1a58e4['snapshot'][_0x16ad46(0x1f1)],'reportedDeletedCount':_0x166616,'targetAbsent':!_0x1a58e4[_0x16ad46(0x239)]['byId']['has'](_0xaa34c8),'allTargetsAbsent':!![],'targetIds':_0x2ff7fc}});return{'ok':!![],'data':_0x2c45bb,'message':_0x16ad46(0x21c)+_0x2ba615[_0x16ad46(0x234)]+_0x16ad46(0x218)+_0xaa34c8+'.'};}};async function readDeleteOutcome(_0xeeed1,_0x5be2ad){const _0x1b2de2=a111_0x351dd6,_0x4669e7=await fetchMenuSnapshot(_0xeeed1[_0x1b2de2(0x24d)],_0xeeed1[_0x1b2de2(0x1f6)]);return{'snapshot':_0x4669e7,'absentIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x17e2fb=>!_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x17e2fb)),'remainingIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x2618f3=>_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x2618f3))};}function verificationFromOutcome(_0x2258e6){const _0x3bdf6c=a111_0x351dd6;return{'checkedBy':'menu\x20list','absentIds':_0x2258e6['absentIds'],'remainingIds':_0x2258e6[_0x3bdf6c(0x257)]};}function validateDeleteDryRunInput(_0x40d8fa){const _0x27a3e7=a111_0x351dd6;validateExactId(_0x40d8fa);if(!hasFlag(_0x40d8fa,_0x27a3e7(0x20f))||!_0x40d8fa[_0x27a3e7(0x1f5)](_0x27a3e7(0x20f))[_0x27a3e7(0x202)]())throw CliErrors[_0x27a3e7(0x20e)](_0x27a3e7(0x20f),_0x27a3e7(0x248));if(hasFlag(_0x40d8fa,'plan'))throw CliErrors['validation'](_0x27a3e7(0x23d));}function validateDeleteExecuteInput(_0x2b9d52){const _0x4ebe3d=a111_0x351dd6;if(!hasFlag(_0x2b9d52,'plan')||!_0x2b9d52[_0x4ebe3d(0x1f5)](_0x4ebe3d(0x1ff))[_0x4ebe3d(0x202)]())throw CliErrors[_0x4ebe3d(0x20e)](_0x4ebe3d(0x1ff),_0x4ebe3d(0x1fa));const _0x2e4353=['id',_0x4ebe3d(0x24b),_0x4ebe3d(0x20f),_0x4ebe3d(0x212),_0x4ebe3d(0x22c),_0x4ebe3d(0x246)][_0x4ebe3d(0x22f)](_0x2be6f4=>hasFlag(_0x2b9d52,_0x2be6f4));if(_0x2e4353[_0x4ebe3d(0x234)]>0x0)throw CliErrors[_0x4ebe3d(0x25a)](_0x4ebe3d(0x201)+_0x2e4353[_0x4ebe3d(0x200)](_0x36e495=>'--'+_0x36e495)[_0x4ebe3d(0x1f3)](',\x20')+'.');}async function buildDeletePlan(_0x53ad22){const _0x150ea9=a111_0x351dd6,_0x5979e0=validateExactId(_0x53ad22),_0x1d4a77=await fetchMutationSnapshot(_0x53ad22,_0x150ea9(0x222),_0x5979e0),_0xe5ac18=requireMenu(_0x1d4a77,_0x5979e0);assertExpectedState(_0x53ad22,_0xe5ac18);const _0x52f338=_0x53ad22[_0x150ea9(0x241)]('recursive');let _0xb202ff;if(_0x52f338){if(_0xe5ac18[_0x150ea9(0x22b)]['trim']()[_0x150ea9(0x263)]()!==_0x150ea9(0x207))throw menuError(_0x150ea9(0x233),_0x150ea9(0x25c)+_0xe5ac18['id']+_0x150ea9(0x1fd)+(_0xe5ac18[_0x150ea9(0x22b)]||_0x150ea9(0x20c))+_0x150ea9(0x1ed));_0xb202ff=collectDeleteTargets(_0x1d4a77,_0xe5ac18),_0xb202ff['forEach'](_0xcd55c0=>assertDeleteSafety(_0xcd55c0,!![]));}else assertDeleteSafety(_0xe5ac18),_0xb202ff=[_0xe5ac18];assertNoSharedPages(_0x1d4a77,_0xb202ff);const _0x513623=_0xb202ff[_0x150ea9(0x200)](_0x5dd631=>_0x5dd631['id']),_0x2b4a06=cascadeForTargets(_0xb202ff),_0x30e3f7=_0x2b4a06[_0x150ea9(0x255)]['length']>0x0?[_0x150ea9(0x244)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x5979e0,'recursive':_0x52f338},'before':_0xe5ac18,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x150ea9(0x203),'path':_0x150ea9(0x213),'body':{'idList':_0x513623}}],'targets':_0xb202ff,'deleteOrder':_0x513623,'snapshotHash':_0x1d4a77[_0x150ea9(0x1f1)],'cascade':_0x2b4a06,'warnings':_0x30e3f7});}function assertDeleteSafety(_0x10e68b,_0xf18233=![]){const _0x364d0e=a111_0x351dd6,_0x1a2e09=_0x10e68b[_0x364d0e(0x22b)][_0x364d0e(0x202)]()[_0x364d0e(0x263)]()===_0x364d0e(0x207);if(_0x10e68b[_0x364d0e(0x217)]>0x0&&(!_0xf18233||!_0x1a2e09))throw menuError(_0x364d0e(0x24c),_0x364d0e(0x25c)+_0x10e68b['id']+_0x364d0e(0x214)+_0x10e68b[_0x364d0e(0x217)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x364d0e(0x236)+_0x10e68b[_0x364d0e(0x25f)]['join'](',\x20'));if(_0x1a2e09&&_0x10e68b[_0x364d0e(0x260)]!=null)throw menuError(_0x364d0e(0x1ea),_0x364d0e(0x265)+_0x10e68b['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x10e68b[_0x364d0e(0x260)]+_0x364d0e(0x1f7),_0x364d0e(0x266));if(!_0x1a2e09)return;if(!_0x10e68b['resourcesValid'])throw menuError(_0x364d0e(0x225),_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x227),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]>0x0)throw menuError('menu_folder_has_resources',_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x215)+_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]+_0x364d0e(0x24a),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x36059e,_0x1b8c2a){const _0x246709=[],_0x2ee0bc=new Set(),_0x2e8c70=new Set(),_0x22d2e6=_0x4acc05=>{const _0x14de98=a111_0x1490;if(_0x2ee0bc['has'](_0x4acc05['id']))throw menuError(_0x14de98(0x258),_0x14de98(0x24e)+_0x4acc05['id']+'.');if(_0x2e8c70[_0x14de98(0x22a)](_0x4acc05['id']))return;_0x2ee0bc[_0x14de98(0x23e)](_0x4acc05['id']);for(const _0x20f3a3 of _0x4acc05[_0x14de98(0x25f)]){const _0x34710e=_0x36059e['byId']['get'](_0x20f3a3);if(!_0x34710e)throw menuError(_0x14de98(0x258),_0x14de98(0x25c)+_0x4acc05['id']+_0x14de98(0x247)+_0x20f3a3+'.');_0x22d2e6(_0x34710e);}_0x2ee0bc[_0x14de98(0x264)](_0x4acc05['id']),_0x2e8c70[_0x14de98(0x23e)](_0x4acc05['id']),_0x246709[_0x14de98(0x20d)](_0x4acc05);};return _0x22d2e6(_0x1b8c2a),_0x246709;}function assertDeleteTargetsComplete(_0x53a2ae,_0x4cf72b){const _0x2c5650=a111_0x351dd6,_0x34a9db=requireMenu(_0x4cf72b,_0x53a2ae[_0x2c5650(0x25e)]['id']);if(_0x53a2ae[_0x2c5650(0x24b)]&&_0x34a9db[_0x2c5650(0x22b)][_0x2c5650(0x202)]()[_0x2c5650(0x263)]()!==_0x2c5650(0x207))throw menuError('menu_plan_invalid',_0x2c5650(0x228)+_0x34a9db['id']+_0x2c5650(0x252));const _0x250869=_0x53a2ae[_0x2c5650(0x24b)]?collectDeleteTargets(_0x4cf72b,_0x34a9db)['map'](_0x10926c=>_0x10926c['id']):[_0x34a9db['id']];if(JSON[_0x2c5650(0x1fb)](_0x53a2ae[_0x2c5650(0x21e)])!==JSON[_0x2c5650(0x1fb)](_0x250869))throw menuError(_0x2c5650(0x21d),_0x2c5650(0x226),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x133e96,_0x2d905d){const _0x110cea=a111_0x351dd6,_0xe9bf26=new Set(_0x2d905d['map'](_0x2ae2c2=>_0x2ae2c2['id'])),_0xdbd520=new Set(_0x2d905d[_0x110cea(0x200)](_0xf2b419=>_0xf2b419[_0x110cea(0x260)])[_0x110cea(0x22f)](_0x2ff56b=>_0x2ff56b!=null));if(_0xdbd520[_0x110cea(0x250)]===0x0)return;const _0x2d488a=_0x133e96['menus']['filter'](_0x376cb6=>!_0xe9bf26[_0x110cea(0x22a)](_0x376cb6['id'])&&_0x376cb6[_0x110cea(0x260)]!=null&&_0xdbd520[_0x110cea(0x22a)](_0x376cb6['pageId']));if(_0x2d488a[_0x110cea(0x234)]===0x0)return;const _0xe3ceef=_0x2d488a[_0x110cea(0x200)](_0xaac535=>_0x110cea(0x1f9)+_0xaac535[_0x110cea(0x260)]+_0x110cea(0x243)+_0xaac535['id'])[_0x110cea(0x1f3)](',\x20');throw menuError(_0x110cea(0x25b),_0x110cea(0x23f)+_0xe3ceef+'.',_0x110cea(0x224));}function assertCascadeMatchesPlan(_0x5b803c,_0x5d12f4){const _0x4fb119=a111_0x351dd6,_0x2bd977=cascadeForTargets(_0x5d12f4);if(JSON[_0x4fb119(0x1fb)](_0x5b803c[_0x4fb119(0x22e)])!==JSON['stringify'](_0x2bd977))throw menuError(_0x4fb119(0x21d),_0x4fb119(0x211));}function a111_0x1490(_0x53ed1e,_0x4c514f){_0x53ed1e=_0x53ed1e-0x1ea;const _0x42fd57=a111_0x42fd();let _0x14902a=_0x42fd57[_0x53ed1e];return _0x14902a;}function cascadeForTargets(_0x54a7e7){const _0x269660=a111_0x351dd6,_0x3b096f=_0x54a7e7['map'](_0x1fa7e2=>_0x1fa7e2[_0x269660(0x260)])[_0x269660(0x22f)](_0x243e7b=>_0x243e7b!=null)[_0x269660(0x22f)]((_0x454c56,_0x574580,_0xe98400)=>_0xe98400[_0x269660(0x209)](_0x454c56)===_0x574580);return{'pages':_0x3b096f,'pageSchemaAffected':_0x3b096f[_0x269660(0x234)]>0x0};}function asMenuError(_0x3a4645){const _0x295db3=a111_0x351dd6;return _0x3a4645 instanceof CliError?_0x3a4645:menuError(_0x295db3(0x21d),_0x3a4645 instanceof Error?_0x3a4645[_0x295db3(0x223)]:String(_0x3a4645));}
1
+ const a111_0x2ff704=a111_0x54fb;(function(_0x1cac41,_0x4193c7){const _0x5e235c=a111_0x54fb,_0x2d9ff1=_0x1cac41();while(!![]){try{const _0x5285ee=parseInt(_0x5e235c(0x144))/0x1*(-parseInt(_0x5e235c(0xea))/0x2)+parseInt(_0x5e235c(0x127))/0x3*(parseInt(_0x5e235c(0x116))/0x4)+-parseInt(_0x5e235c(0x145))/0x5+-parseInt(_0x5e235c(0x139))/0x6*(-parseInt(_0x5e235c(0xec))/0x7)+-parseInt(_0x5e235c(0x112))/0x8*(-parseInt(_0x5e235c(0xdf))/0x9)+-parseInt(_0x5e235c(0xe5))/0xa*(parseInt(_0x5e235c(0x11b))/0xb)+-parseInt(_0x5e235c(0xe7))/0xc;if(_0x5285ee===_0x4193c7)break;else _0x2d9ff1['push'](_0x2d9ff1['shift']());}catch(_0x323d50){_0x2d9ff1['push'](_0x2d9ff1['shift']());}}}(a111_0x1c7c,0xc2081));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a111_0x54fb(_0x43c5e2,_0x58f7dd){_0x43c5e2=_0x43c5e2-0xd1;const _0x1c7c23=a111_0x1c7c();let _0x54fb68=_0x1c7c23[_0x43c5e2];return _0x54fb68;}const BACKEND=[{'method':a111_0x2ff704(0xe3),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x2ff704(0xe4)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x2ff704(0x130),'type':a111_0x2ff704(0x135),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a111_0x2ff704(0xdb),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a111_0x2ff704(0xfe),'type':a111_0x2ff704(0xdb),'description':a111_0x2ff704(0xf4)};export const menuDelete={'service':'menu','command':a111_0x2ff704(0x11f),'description':a111_0x2ff704(0xdd),'risk':a111_0x2ff704(0xda),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5bc566){const _0x58618a=a111_0x2ff704;_0x5bc566[_0x58618a(0xe0)]('dry-run')?validateDeleteDryRunInput(_0x5bc566):validateDeleteExecuteInput(_0x5bc566),requireExplicitYes(_0x5bc566);},async 'dryRun'(_0x1338b8){const _0x570bba=a111_0x2ff704;validateDeleteDryRunInput(_0x1338b8);const _0x2ca492=await buildDeletePlan(_0x1338b8),_0x503b81=createMenuDeletePlanFile(_0x1338b8[_0x570bba(0x128)],_0x2ca492),_0x4afca0=await writeMenuDeletePlan(_0x1338b8[_0x570bba(0x110)](_0x570bba(0xe2)),_0x503b81),_0x1087d6=mutationResult({..._0x2ca492,'planFile':{'path':_0x4afca0,'createdAt':_0x503b81[_0x570bba(0x12a)],'expiresAt':_0x503b81[_0x570bba(0x14f)]}});return menuDryRunResult(_0x1087d6,{'method':_0x570bba(0xe3),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1087d6[_0x570bba(0x138)]},'description':_0x570bba(0xeb)+(_0x1087d6[_0x570bba(0x138)]?.[_0x570bba(0x125)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x1087d6[_0x570bba(0x101)]['id']+_0x570bba(0xd3)+_0x4afca0+'.'});},async 'execute'(_0x31cf65){const _0x12af47=a111_0x2ff704;requireExplicitYes(_0x31cf65),validateDeleteExecuteInput(_0x31cf65);const _0x33b9af=await readMenuDeletePlan(_0x31cf65[_0x12af47(0x110)](_0x12af47(0xfe))),_0x50fafd=mutationPlanFromDeleteFile(_0x33b9af[_0x12af47(0xfe)],_0x33b9af[_0x12af47(0xed)]),_0x17747a=_0x33b9af[_0x12af47(0xfe)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x33b9af[_0x12af47(0xfe)],_0x31cf65[_0x12af47(0x128)]);}catch(_0x57ef18){throw menuFailure(asMenuError(_0x57ef18),_0x50fafd,{'stage':_0x12af47(0x13b),'failed':{'id':_0x17747a}});}let _0x564cd6,_0x1374c6;try{_0x564cd6=await fetchMutationSnapshot(_0x31cf65,'execute\x20reviewed\x20delete\x20plan',_0x17747a),_0x1374c6=assertMenuDeletePlanCurrent(_0x33b9af['plan'],_0x31cf65[_0x12af47(0x128)],_0x564cd6),assertDeleteTargetsComplete(_0x33b9af[_0x12af47(0xfe)],_0x564cd6),_0x1374c6[_0x12af47(0x149)](_0xdad8d4=>assertDeleteSafety(_0xdad8d4,_0x33b9af['plan']['recursive'])),assertNoSharedPages(_0x564cd6,_0x1374c6),assertCascadeMatchesPlan(_0x50fafd,_0x1374c6);}catch(_0x62391d){throw menuFailure(asMenuError(_0x62391d),_0x50fafd,{'stage':'pre-write-plan-validation','failed':{'id':_0x17747a}});}const _0x5d9265=_0x33b9af[_0x12af47(0xfe)][_0x12af47(0x138)];let _0x471165;try{_0x471165=await batchDeleteMenuEntities(_0x31cf65['cookie'],_0x5d9265);}catch(_0xb46623){const _0x8c8be3=mapMenuApiError(_0xb46623,_0x12af47(0xd5)),_0x5bf77f=[_0x12af47(0x11e)];let _0x2f9bf1;try{_0x2f9bf1=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x2ae39d){const _0x2ccdd3=describeMenuErrorCause(_0x2ae39d,_0x12af47(0x111),_0x17747a);_0x5bf77f[_0x12af47(0xf7)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x2ccdd3[_0x12af47(0x11a)]+_0x12af47(0x104)+_0x2ccdd3[_0x12af47(0x10c)]);throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'failed':{'targetIds':_0x5d9265,'targetIdsAbsent':_0x12af47(0x134),..._0x2ccdd3},'warnings':_0x5bf77f,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x2f9bf1[_0x12af47(0x100)][_0x12af47(0x123)](_0x42371a=>({'id':_0x42371a,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'absentIds':_0x2f9bf1[_0x12af47(0x100)],'remainingIds':_0x2f9bf1[_0x12af47(0x122)]},'warnings':_0x5bf77f,'verification':verificationFromOutcome(_0x2f9bf1)});}if(_0x471165!==_0x5d9265[_0x12af47(0x125)]){const _0x2094b7=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x471165+_0x12af47(0xd4)+_0x5d9265[_0x12af47(0x125)]+'.',_0x12af47(0x132)),_0x135283=[_0x12af47(0xd6)];let _0x12920f;try{_0x12920f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0xb05570){const _0x3eeeca=describeMenuErrorCause(_0xb05570,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x17747a);_0x135283[_0x12af47(0xf7)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x3eeeca['causeCode']+_0x12af47(0x104)+_0x3eeeca[_0x12af47(0x10c)]);throw menuFailure(_0x2094b7,_0x50fafd,{'stage':'batch-delete','failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'targetIdsAbsent':_0x12af47(0x134),..._0x3eeeca},'warnings':_0x135283,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x2094b7,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x12920f[_0x12af47(0x100)][_0x12af47(0x123)](_0x1d8226=>({'id':_0x1d8226,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'absentIds':_0x12920f[_0x12af47(0x100)],'remainingIds':_0x12920f[_0x12af47(0x122)]},'warnings':_0x135283,'verification':verificationFromOutcome(_0x12920f)});}let _0x54062f;try{_0x54062f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x4967e2){const _0x861db6=describeMenuErrorCause(_0x4967e2,'verify\x20batch\x20delete',_0x17747a),_0x5138b4=asVerificationError(_0x4967e2,_0x12af47(0x13a)+_0x17747a+_0x12af47(0xd2));throw menuFailure(_0x5138b4,_0x50fafd,{'stage':_0x12af47(0x14e),'succeeded':_0x5d9265[_0x12af47(0x123)](_0x1c7306=>({'id':_0x1c7306,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'targetIdsAbsent':'unconfirmed',..._0x861db6},'warnings':[_0x12af47(0xfd)],'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}if(_0x54062f['remainingIds'][_0x12af47(0x125)]>0x0){const _0x1efe92=menuError('menu_verification_failed',_0x12af47(0xfa)+_0x54062f[_0x12af47(0x122)]['join'](',\x20')+'.',_0x12af47(0x132));throw menuFailure(_0x1efe92,_0x50fafd,{'stage':'verification','succeeded':_0x5d9265[_0x12af47(0x123)](_0x2bf844=>({'id':_0x2bf844,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'absentIds':_0x54062f['absentIds'],'remainingIds':_0x54062f[_0x12af47(0x122)]},'warnings':[_0x12af47(0xf5)],'verification':verificationFromOutcome(_0x54062f)});}const _0x5a4b98=_0x5d9265[_0x12af47(0x123)](_0x2b69d5=>({'id':_0x2b69d5,'deleted':!![]})),_0x32b3de=mutationResult({..._0x50fafd,'dryRun':![],'succeeded':_0x5a4b98,'verification':{'checkedBy':_0x12af47(0x143),'plannedSnapshotHash':_0x50fafd['snapshotHash'],'finalSnapshotHash':_0x54062f[_0x12af47(0x137)][_0x12af47(0x103)],'reportedDeletedCount':_0x471165,'targetAbsent':!_0x54062f[_0x12af47(0x137)][_0x12af47(0x114)][_0x12af47(0xe1)](_0x17747a),'allTargetsAbsent':!![],'targetIds':_0x5d9265}});return{'ok':!![],'data':_0x32b3de,'message':_0x12af47(0x126)+_0x5a4b98[_0x12af47(0x125)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x17747a+'.'};}};async function readDeleteOutcome(_0xb9d9d8,_0x30988a){const _0x43880b=a111_0x2ff704,_0x25f99b=await fetchMenuSnapshot(_0xb9d9d8[_0x43880b(0x128)],_0xb9d9d8[_0x43880b(0xfb)]);return{'snapshot':_0x25f99b,'absentIds':_0x30988a[_0x43880b(0x106)](_0x4f9172=>!_0x25f99b[_0x43880b(0x114)][_0x43880b(0xe1)](_0x4f9172)),'remainingIds':_0x30988a[_0x43880b(0x106)](_0x5d25b6=>_0x25f99b['byId'][_0x43880b(0xe1)](_0x5d25b6))};}function verificationFromOutcome(_0x2efdca){const _0x36eba0=a111_0x2ff704;return{'checkedBy':_0x36eba0(0x143),'absentIds':_0x2efdca[_0x36eba0(0x100)],'remainingIds':_0x2efdca[_0x36eba0(0x122)]};}function validateDeleteDryRunInput(_0xc17e83){const _0x27ef3f=a111_0x2ff704;validateExactId(_0xc17e83);if(!hasFlag(_0xc17e83,_0x27ef3f(0xe2))||!_0xc17e83[_0x27ef3f(0x110)](_0x27ef3f(0xe2))['trim']())throw CliErrors[_0x27ef3f(0x105)]('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0xc17e83,_0x27ef3f(0xfe)))throw CliErrors['validation'](_0x27ef3f(0x107));}function validateDeleteExecuteInput(_0x17ed2d){const _0x37f000=a111_0x2ff704;if(!hasFlag(_0x17ed2d,_0x37f000(0xfe))||!_0x17ed2d['str'](_0x37f000(0xfe))[_0x37f000(0x14c)]())throw CliErrors[_0x37f000(0x105)](_0x37f000(0xfe),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x6faf86=['id',_0x37f000(0x130),'plan-out',_0x37f000(0xdc),_0x37f000(0xd9),_0x37f000(0x136)][_0x37f000(0x106)](_0x1259d4=>hasFlag(_0x17ed2d,_0x1259d4));if(_0x6faf86[_0x37f000(0x125)]>0x0)throw CliErrors[_0x37f000(0x108)](_0x37f000(0x147)+_0x6faf86['map'](_0x1692ff=>'--'+_0x1692ff)['join'](',\x20')+'.');}async function buildDeletePlan(_0x2443da){const _0x5594d2=a111_0x2ff704,_0x24d722=validateExactId(_0x2443da),_0xf619f9=await fetchMutationSnapshot(_0x2443da,_0x5594d2(0x113),_0x24d722),_0x5b9ce7=requireMenu(_0xf619f9,_0x24d722);assertExpectedState(_0x2443da,_0x5b9ce7);const _0x3a8a99=_0x2443da[_0x5594d2(0xe0)](_0x5594d2(0x130));let _0x7610b6;if(_0x3a8a99){if(_0x5b9ce7['type'][_0x5594d2(0x14c)]()[_0x5594d2(0xfc)]()!==_0x5594d2(0xff))throw menuError(_0x5594d2(0xde),'Menu\x20'+_0x5b9ce7['id']+_0x5594d2(0x11c)+(_0x5b9ce7[_0x5594d2(0x12f)]||_0x5594d2(0xe6))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x7610b6=collectDeleteTargets(_0xf619f9,_0x5b9ce7),_0x7610b6['forEach'](_0x2ffd5b=>assertDeleteSafety(_0x2ffd5b,!![]));}else assertDeleteSafety(_0x5b9ce7),_0x7610b6=[_0x5b9ce7];assertNoSharedPages(_0xf619f9,_0x7610b6);const _0x50975f=_0x7610b6['map'](_0x41341f=>_0x41341f['id']),_0x49ae53=cascadeForTargets(_0x7610b6),_0x346e1e=_0x49ae53[_0x5594d2(0x119)][_0x5594d2(0x125)]>0x0?[_0x5594d2(0xf6)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x24d722,'recursive':_0x3a8a99},'before':_0x5b9ce7,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5594d2(0xe8),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x50975f}}],'targets':_0x7610b6,'deleteOrder':_0x50975f,'snapshotHash':_0xf619f9[_0x5594d2(0x103)],'cascade':_0x49ae53,'warnings':_0x346e1e});}function assertDeleteSafety(_0x3694fb,_0x193cd0=![]){const _0x1368ca=a111_0x2ff704,_0x4d7c0f=_0x3694fb[_0x1368ca(0x12f)]['trim']()[_0x1368ca(0xfc)]()===_0x1368ca(0xff);if(_0x3694fb['childrenCount']>0x0&&(!_0x193cd0||!_0x4d7c0f))throw menuError(_0x1368ca(0xe9),_0x1368ca(0x129)+_0x3694fb['id']+_0x1368ca(0xf3)+_0x3694fb[_0x1368ca(0x121)]+_0x1368ca(0x120),_0x1368ca(0x13c)+_0x3694fb['childrenIds'][_0x1368ca(0xd7)](',\x20'));if(_0x4d7c0f&&_0x3694fb['pageId']!=null)throw menuError(_0x1368ca(0x124),'Folder\x20'+_0x3694fb['id']+_0x1368ca(0x13e)+_0x3694fb[_0x1368ca(0x12b)]+_0x1368ca(0x11d),_0x1368ca(0xd8));if(!_0x4d7c0f)return;if(!_0x3694fb[_0x1368ca(0x13d)])throw menuError(_0x1368ca(0x109),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x133),_0x1368ca(0x10a));if(_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]>0x0)throw menuError(_0x1368ca(0x14d),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x10f)+_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]+_0x1368ca(0xf8),_0x1368ca(0xf0));}function collectDeleteTargets(_0x43f110,_0x52750a){const _0x128b25=[],_0x27e845=new Set(),_0x64d78e=new Set(),_0x25a7d0=_0xaa4f82=>{const _0x144ee8=a111_0x54fb;if(_0x27e845[_0x144ee8(0xe1)](_0xaa4f82['id']))throw menuError(_0x144ee8(0x12e),_0x144ee8(0x146)+_0xaa4f82['id']+'.');if(_0x64d78e[_0x144ee8(0xe1)](_0xaa4f82['id']))return;_0x27e845['add'](_0xaa4f82['id']);for(const _0x2416e1 of _0xaa4f82[_0x144ee8(0x118)]){const _0x478b82=_0x43f110[_0x144ee8(0x114)][_0x144ee8(0x14b)](_0x2416e1);if(!_0x478b82)throw menuError(_0x144ee8(0x12e),_0x144ee8(0x129)+_0xaa4f82['id']+'\x20references\x20missing\x20child\x20'+_0x2416e1+'.');_0x25a7d0(_0x478b82);}_0x27e845['delete'](_0xaa4f82['id']),_0x64d78e[_0x144ee8(0x10b)](_0xaa4f82['id']),_0x128b25[_0x144ee8(0xf7)](_0xaa4f82);};return _0x25a7d0(_0x52750a),_0x128b25;}function assertDeleteTargetsComplete(_0x4a5af6,_0x3c5549){const _0x4b26cb=a111_0x2ff704,_0x532b56=requireMenu(_0x3c5549,_0x4a5af6[_0x4b26cb(0xf1)]['id']);if(_0x4a5af6['recursive']&&_0x532b56[_0x4b26cb(0x12f)][_0x4b26cb(0x14c)]()[_0x4b26cb(0xfc)]()!==_0x4b26cb(0xff))throw menuError('menu_plan_invalid','Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x532b56['id']+_0x4b26cb(0x12d));const _0x5dd84b=_0x4a5af6[_0x4b26cb(0x130)]?collectDeleteTargets(_0x3c5549,_0x532b56)['map'](_0x3d193b=>_0x3d193b['id']):[_0x532b56['id']];if(JSON[_0x4b26cb(0x115)](_0x4a5af6[_0x4b26cb(0x138)])!==JSON[_0x4b26cb(0x115)](_0x5dd84b))throw menuError(_0x4b26cb(0x142),_0x4b26cb(0xd1),_0x4b26cb(0x148));}function assertNoSharedPages(_0x13f2de,_0xede579){const _0x16c694=a111_0x2ff704,_0x3381ae=new Set(_0xede579[_0x16c694(0x123)](_0x38171b=>_0x38171b['id'])),_0x59c2e7=new Set(_0xede579[_0x16c694(0x123)](_0x66837a=>_0x66837a[_0x16c694(0x12b)])[_0x16c694(0x106)](_0x1b5eb0=>_0x1b5eb0!=null));if(_0x59c2e7[_0x16c694(0x102)]===0x0)return;const _0x46c50b=_0x13f2de[_0x16c694(0x117)][_0x16c694(0x106)](_0x63f81c=>!_0x3381ae[_0x16c694(0xe1)](_0x63f81c['id'])&&_0x63f81c[_0x16c694(0x12b)]!=null&&_0x59c2e7['has'](_0x63f81c['pageId']));if(_0x46c50b[_0x16c694(0x125)]===0x0)return;const _0x3b5df5=_0x46c50b[_0x16c694(0x123)](_0x1deb50=>_0x16c694(0xef)+_0x1deb50['pageId']+_0x16c694(0xf9)+_0x1deb50['id'])[_0x16c694(0xd7)](',\x20');throw menuError(_0x16c694(0x141),_0x16c694(0x131)+_0x3b5df5+'.',_0x16c694(0x13f));}function a111_0x1c7c(){const _0x245d34=['Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','unconfirmed','boolean','expected-children-count','snapshot','deleteOrder','78rtEPxY','Batch\x20delete\x20request\x20for\x20menu\x20','plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','resourcesValid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','resources','menu_page_shared','menu_plan_invalid','menu\x20list','11osciJE','590450PIdMWS','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','forEach','batch-delete','get','trim','menu_folder_has_resources','verification','expiresAt','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence',';\x20execution\x20must\x20consume\x20','\x20deleted\x20menus;\x20expected\x20','batch\x20delete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','join','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','expect-path','high-risk-write','string','expect-parent-id','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_recursive_requires_folder','9SDkoCo','bool','has','plan-out','POST','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','15310IXsqNK','unknown','26603556MbnLtk','batch-delete-menu','menu_non_empty','88580WupcFE','Would\x20batch\x20delete\x20','788039SiUfLr','path','indexOf','page\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','target','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','\x20has\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','push','\x20resource\x20URL(s).','\x20->\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','cookie','toLowerCase','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','plan','folder','absentIds','selector','size','hash','):\x20','flagMissing','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','validation','menu_folder_resources_invalid','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','add','causeMessage','failed','Folder\x20','\x20still\x20references\x20','str','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','12552872fcLGnR','plan\x20delete','byId','stringify','3692OXFDpB','menus','childrenIds','pages','causeCode','3421yLJWsA','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','delete','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','childrenCount','remainingIds','map','menu_delete_page_bound','length','Deleted\x20','3447qnXdCC','appCode','Menu\x20','createdAt','pageId','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','menu_tree_invalid','type','recursive','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'];a111_0x1c7c=function(){return _0x245d34;};return a111_0x1c7c();}function assertCascadeMatchesPlan(_0x57aa38,_0x4c2728){const _0x22e501=a111_0x2ff704,_0x242c4b=cascadeForTargets(_0x4c2728);if(JSON[_0x22e501(0x115)](_0x57aa38['cascade'])!==JSON[_0x22e501(0x115)](_0x242c4b))throw menuError(_0x22e501(0x142),_0x22e501(0xf2));}function cascadeForTargets(_0x42d2d1){const _0x110b4c=a111_0x2ff704,_0x20e882=_0x42d2d1[_0x110b4c(0x123)](_0x37ac3f=>_0x37ac3f[_0x110b4c(0x12b)])['filter'](_0x4eecea=>_0x4eecea!=null)[_0x110b4c(0x106)]((_0x4d6bd3,_0x4c1df7,_0x171fb6)=>_0x171fb6[_0x110b4c(0xee)](_0x4d6bd3)===_0x4c1df7);return{'pages':_0x20e882,'pageSchemaAffected':_0x20e882[_0x110b4c(0x125)]>0x0};}function asMenuError(_0x1afc31){const _0x168380=a111_0x2ff704;return _0x1afc31 instanceof CliError?_0x1afc31:menuError(_0x168380(0x142),_0x1afc31 instanceof Error?_0x1afc31['message']:String(_0x1afc31));}
@@ -1 +1 @@
1
- const a112_0x1c6442=a112_0x147d;(function(_0x4d4626,_0x32a31a){const _0x212547=a112_0x147d,_0x2b00be=_0x4d4626();while(!![]){try{const _0x382897=parseInt(_0x212547(0x1b1))/0x1+-parseInt(_0x212547(0x1a6))/0x2*(-parseInt(_0x212547(0x17d))/0x3)+parseInt(_0x212547(0x1b3))/0x4+parseInt(_0x212547(0x13b))/0x5*(-parseInt(_0x212547(0x1a4))/0x6)+parseInt(_0x212547(0x1b4))/0x7+parseInt(_0x212547(0x179))/0x8+-parseInt(_0x212547(0x177))/0x9;if(_0x382897===_0x32a31a)break;else _0x2b00be['push'](_0x2b00be['shift']());}catch(_0x20577d){_0x2b00be['push'](_0x2b00be['shift']());}}}(a112_0x51c1,0x900e0));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':a112_0x1c6442(0x143),'new-window':'link'};export function validateExternalMenuUrl(_0x32b754){const _0x474b31=a112_0x1c6442,_0x5591ec=_0x32b754[_0x474b31(0x150)]();let _0x190ad7;try{_0x190ad7=new URL(_0x5591ec);}catch{throw menuError(_0x474b31(0x18e),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x474b31(0x1aa));}if(_0x190ad7[_0x474b31(0x13f)]!==_0x474b31(0x195))throw menuError('menu_url_https_required',_0x474b31(0x14d),_0x474b31(0x15b));if(_0x190ad7[_0x474b31(0x16f)]||_0x190ad7[_0x474b31(0x193)])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x474b31(0x14b));return _0x5591ec;}export const menuExternalLinkCreate={'service':'menu','command':a112_0x1c6442(0x1a5),'description':a112_0x1c6442(0x173),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':'string','required':!![],'description':a112_0x1c6442(0x198)},{'name':a112_0x1c6442(0x151),'type':a112_0x1c6442(0x192),'required':!![],'enum':['embedded',a112_0x1c6442(0x180)],'description':a112_0x1c6442(0x1ad)},{'name':a112_0x1c6442(0x186),'type':'string','required':!![],'description':a112_0x1c6442(0x199)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a112_0x1c6442(0x12e),'default':!![],'description':a112_0x1c6442(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x171d45){validateAddInput(_0x171d45);},async 'dryRun'(_0x2a8e5f){const _0x217cbc=a112_0x1c6442;validateAddInput(_0x2a8e5f);const {plan:_0x39ac40}=await buildSafeAddPlan(_0x2a8e5f,!![]),_0x9a8e54=_0x39ac40[_0x217cbc(0x154)],_0x7be26f=createBody(_0x9a8e54);return menuDryRunResult(_0x39ac40,{'method':_0x217cbc(0x176),'url':_0x217cbc(0x1a1),'body':_0x7be26f,'description':_0x217cbc(0x136)+JSON['stringify'](_0x9a8e54[_0x217cbc(0x196)])+_0x217cbc(0x15d)+_0x2a8e5f[_0x217cbc(0x141)]('open-mode')+_0x217cbc(0x1a7)});},async 'execute'(_0x51371d){const _0xf6c55b=a112_0x1c6442;validateAddInput(_0x51371d);const _0x152823=await buildSafeAddPlan(_0x51371d,![]),{plan:_0x592646,snapshot:_0x16c8ea}=_0x152823,_0x118a4c=_0x592646[_0xf6c55b(0x154)],_0xe920a5=buildMenuLookupCommand(_0x51371d[_0xf6c55b(0x19e)]);await recheckAddSnapshot(_0x51371d,_0x592646);let _0x31827f;try{_0x31827f=await createMenuEntity(_0x51371d[_0xf6c55b(0x19e)],_0x51371d['cookie'],createBody(_0x118a4c));}catch(_0x34793f){const _0x1e4dda=mapMenuApiError(_0x34793f,_0xf6c55b(0x140));if(!isMenuResponseLoss(_0x34793f)||_0x1e4dda[_0xf6c55b(0x168)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x1e4dda,_0x592646,{'stage':_0xf6c55b(0x1af),'failed':{},'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5}});return recoverAfterResponseLoss(_0x51371d,_0x152823,_0xe920a5);}const _0x1c2f39=Number(_0x31827f?.['id']),_0x4dcbb3=typeof _0x31827f?.['path']===_0xf6c55b(0x192)?_0x31827f[_0xf6c55b(0x16e)]:'';if(!Number[_0xf6c55b(0x152)](_0x1c2f39)||_0x1c2f39<=0x0||!_0x4dcbb3[_0xf6c55b(0x150)]()){const _0x2f50d6=menuError(_0xf6c55b(0x148),_0xf6c55b(0x155),_0xf6c55b(0x190)+_0xe920a5+_0xf6c55b(0x17a));throw externalLinkCreateFailure(_0x2f50d6,_0x592646,{'stage':'create-response-validation','succeeded':Number['isSafeInteger'](_0x1c2f39)&&_0x1c2f39>0x0?[{'id':_0x1c2f39,'created':!![]}]:[],'failed':{'createdId':Number[_0xf6c55b(0x152)](_0x1c2f39)?_0x1c2f39:null,'generatedPathConfirmed':Boolean(_0x4dcbb3[_0xf6c55b(0x150)]())},'warnings':[_0xf6c55b(0x181)],'after':Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{..._0x118a4c,'id':_0x1c2f39,'path':_0x4dcbb3}:_0x118a4c,'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5,...Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{'targetId':_0x1c2f39}:{}}});}const _0x5b677a=await readAndVerifyCreatedMenu({'appCode':_0x51371d[_0xf6c55b(0x19e)],'cookie':_0x51371d[_0xf6c55b(0x16d)],'plan':_0x592646,'afterPlan':_0x118a4c,'createdId':_0x1c2f39,'expectedPath':_0x4dcbb3,'lookupCommand':_0xe920a5,'recovered':![]});return creationSuccess(_0x592646,_0x5b677a['snapshot'],_0x5b677a['fact'],![]);}};function validateAddInput(_0x376fb1){const _0x51f5ca=a112_0x1c6442;if(!_0x376fb1['str']('label')[_0x51f5ca(0x150)]())throw CliErrors[_0x51f5ca(0x19c)](_0x51f5ca(0x196));resolveExternalMenuType(_0x376fb1),validateExternalMenuUrl(_0x376fb1['str'](_0x51f5ca(0x186))),parseParentId(_0x376fb1,_0x51f5ca(0x172)),validateSort(_0x376fb1);}function resolveExternalMenuType(_0x1e693c){const _0x5245c0=a112_0x1c6442,_0x28ad13=_0x1e693c[_0x5245c0(0x141)]('open-mode')[_0x5245c0(0x150)]();if(!_0x28ad13)throw CliErrors[_0x5245c0(0x19c)]('open-mode');const _0x50024e=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x28ad13];if(!_0x50024e)throw menuError(_0x5245c0(0x19d),_0x5245c0(0x189),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x50024e;}async function buildAddPlan(_0x58a34a,_0x810a35){const _0x407246=a112_0x1c6442,_0x30702e=await fetchMutationSnapshot(_0x58a34a,_0x407246(0x140)),_0xe6499b=parseParentId(_0x58a34a,'parent-id')??null;if(_0xe6499b!=null)requireFolder(_0x30702e,_0xe6499b);const _0x121e43=validateSort(_0x58a34a),_0x27b827=_0x121e43??nextSiblingSort(_0x30702e,_0xe6499b,_0x407246(0x1a8)),_0x5de947=_0x58a34a['str']('label')[_0x407246(0x150)](),_0x4de980=resolveExternalMenuType(_0x58a34a),_0x40ae74=validateExternalMenuUrl(_0x58a34a[_0x407246(0x141)](_0x407246(0x186))),_0x16316f=Object[_0x407246(0x1ac)]['hasOwnProperty'][_0x407246(0x1b0)](_0x58a34a['rawFlags'],_0x407246(0x171))?_0x58a34a['bool'](_0x407246(0x171)):!![],_0x51d568={'id':null,'parentId':_0xe6499b,'label':_0x5de947,'path':_0x407246(0x163),'url':_0x40ae74,'type':_0x4de980,'visible':_0x16316f,'sort':_0x27b827},_0x3603e6=buildMenuLookupCommand(_0x58a34a[_0x407246(0x19e)]),_0x5d53af=mutationResult({'operation':_0x407246(0x147),'selector':{'parentId':_0xe6499b,'type':_0x4de980,'label':_0x5de947,'url':_0x40ae74},'before':null,'after':_0x51d568,'dryRun':_0x810a35,'backend':[{'method':_0x407246(0x176),'path':_0x407246(0x1a1)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x51d568)}],'snapshotHash':_0x30702e[_0x407246(0x18c)],'warnings':[_0x407246(0x187)],'verification':{'lookupCommand':_0x3603e6}});return{'plan':_0x5d53af,'snapshot':_0x30702e};}async function buildSafeAddPlan(_0xe0cefb,_0x4b3f7c){try{return await buildAddPlan(_0xe0cefb,_0x4b3f7c);}catch(_0x48c7b4){throw safeMenuAddError(_0x48c7b4);}}async function recheckAddSnapshot(_0x4fa6a4,_0x32f121){const _0x52a342=a112_0x1c6442;try{await recheckMutationSnapshot(_0x4fa6a4,_0x32f121,_0x52a342(0x140));}catch(_0x21f589){const _0x5523a6=getFailureRecord(_0x21f589);throw externalLinkCreateFailure(_0x21f589,_0x32f121,{'stage':'pre-write-recheck','failed':{..._0x5523a6?.[_0x52a342(0x167)]?{'expectedSnapshotHash':_0x5523a6[_0x52a342(0x167)]}:{},..._0x5523a6?.[_0x52a342(0x13d)]?{'currentSnapshotHash':_0x5523a6[_0x52a342(0x13d)]}:{}}});}}function createBody(_0x532272){const _0x4a8838=a112_0x1c6442;return{'parentId':toApiParentId(_0x532272['parentId']),'label':String(_0x532272[_0x4a8838(0x196)]),'type':String(_0x532272['type']),'url':String(_0x532272[_0x4a8838(0x186)]),'visible':Boolean(_0x532272['visible']),'sort':Number(_0x532272[_0x4a8838(0x130)]),'extend':{}};}function a112_0x51c1(){const _0x434c20=['expectedPath','Created\x20menu\x20','lookupCommand','<redacted>','cookie','path','username','rabetbase\x20menu\x20list\x20--appcode\x20','visible','parent-id','Create\x20an\x20external\x20website\x20link\x20menu','includes','Recovered\x20created\x20external\x20menu\x20','POST','15442704JxnmXg','fromEntries','6310720GlonIH','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','length','Recovered\x20menu\x20','258294DKysFS','data','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','new-window','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-recovery','url','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','causemessage','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_mutation_failed','\x20failed\x20final\x20verification.','hash','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_url_invalid','get','Run\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','string','password','map','https:','label','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Menu\x20label','External\x20HTTPS\x20URL','type','object','flagMissing','menu_open_mode_invalid','appCode','menu_parent_not_folder','readbackerror','/smartapi/menu/create','plannedActions','verification','24JBQaGQ','external-link-create','2AvmGbM','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu','afterPlan','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','prototype','How\x20to\x20open\x20the\x20external\x20website','\x20has\x20an\x20unexpected\x20generated\x20path.','create','call','646737pneSZS','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','4349524HVogCa','1427608ORwjCF','plan','filter','boolean','Menu\x20','sort','selector','cause','has','Whether\x20the\x20menu\x20is\x20visible','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_recovery_required','parentId','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','replace','633870MbsRtu','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','currentSnapshotHash','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','protocol','create\x20external\x20menu','str','body','iframe','\x27\x5c\x27\x27','External\x20menu\x20creation\x20failed.','byId','add','menu_create_response_invalid','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','createdId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu_sort_overflow','succeeded','trim','open-mode','isSafeInteger','rawerror','after','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu\x20list','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','failed','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','before','Provide\x20an\x20HTTPS\x20URL.','recovered','\x20with\x20','menu_not_found','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_verification_failed','visibility','menu_state_drift','<platform-generated>','\x20after\x20response\x20loss.','menu_sort_invalid','isArray','expectedSnapshotHash','code'];a112_0x51c1=function(){return _0x434c20;};return a112_0x51c1();}function buildMenuLookupCommand(_0x1ea7f8){const _0x32cc41=a112_0x1c6442,_0x427973='\x27'+_0x1ea7f8[_0x32cc41(0x13a)](/'/g,_0x32cc41(0x144))+'\x27';return _0x32cc41(0x170)+_0x427973+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x10bc09,_0x26af34,_0x5dd4ec){const _0x6f5776=a112_0x1c6442,{plan:_0x55fb58,snapshot:_0x163d44}=_0x26af34,_0x48ba9c=_0x55fb58['after'];let _0x4e80a6;try{_0x4e80a6=await fetchMenuSnapshot(_0x10bc09[_0x6f5776(0x19e)],_0x10bc09[_0x6f5776(0x16d)]);}catch(_0x752a74){throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x18b886=_0x4e80a6['menus'][_0x6f5776(0x12d)](_0x16bfa0=>_0x16bfa0['parentId']===_0x48ba9c[_0x6f5776(0x138)]&&_0x16bfa0[_0x6f5776(0x19a)]===_0x48ba9c[_0x6f5776(0x19a)]&&_0x16bfa0['label']===_0x48ba9c[_0x6f5776(0x196)]&&_0x16bfa0[_0x6f5776(0x186)]===_0x48ba9c[_0x6f5776(0x186)]),_0x671d82=_0x18b886[_0x6f5776(0x12d)](_0x4563aa=>!_0x163d44[_0x6f5776(0x146)][_0x6f5776(0x133)](_0x4563aa['id'])),_0x20dc5c=_0x18b886[_0x6f5776(0x12d)](_0x4e5332=>_0x163d44[_0x6f5776(0x146)]['has'](_0x4e5332['id']));if(_0x18b886[_0x6f5776(0x17b)]!==0x1||_0x671d82[_0x6f5776(0x17b)]!==0x1)throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':_0x18b886[_0x6f5776(0x17b)],'newMatchCount':_0x671d82[_0x6f5776(0x17b)],'preexistingMatchCount':_0x20dc5c[_0x6f5776(0x17b)]});const _0x56e023=_0x671d82[0x0];try{verifyCreatedFact(_0x56e023,_0x56e023['id'],_0x48ba9c,null);}catch(_0x1ce8e5){const _0x32f9b5=_0x1ce8e5 instanceof Error&&_0x6f5776(0x168)in _0x1ce8e5?_0x1ce8e5:menuError(_0x6f5776(0x160),_0x6f5776(0x17c)+_0x56e023['id']+'\x20could\x20not\x20be\x20verified.',_0x6f5776(0x190)+_0x5dd4ec+_0x6f5776(0x183));throw externalLinkCreateFailure(_0x32f9b5,_0x55fb58,{'stage':_0x6f5776(0x1a3),'succeeded':[{'id':_0x56e023['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x56e023['id'],'finalFactsConfirmed':![]},'after':_0x56e023,'warnings':[_0x6f5776(0x12f)+_0x56e023['id']+_0x6f5776(0x197)],'verification':{'status':'failed','targetId':_0x56e023['id'],'recovered':!![],'lookupCommand':_0x5dd4ec}});}return creationSuccess(_0x55fb58,_0x4e80a6,_0x56e023,!![]);}function recoveryRequiredFailure(_0x580e21,_0x27843b,_0x4c2ea7){const _0x5ced52=a112_0x1c6442,_0x5b12cb=menuError(_0x5ced52(0x137),_0x5ced52(0x139),_0x5ced52(0x190)+_0x27843b+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x5b12cb,_0x580e21,{'stage':_0x5ced52(0x185),'failed':_0x4c2ea7,'warnings':[_0x5ced52(0x18d)],'verification':{'status':_0x5ced52(0x158),..._0x4c2ea7,'lookupCommand':_0x27843b}});}async function readAndVerifyCreatedMenu(_0x23866b){const _0x4f117e=a112_0x1c6442;let _0x56ed73;try{_0x56ed73=await fetchMenuSnapshot(_0x23866b[_0x4f117e(0x19e)],_0x23866b[_0x4f117e(0x16d)]);}catch(_0x697206){const _0xe30a2b=menuError('menu_verification_failed','Menu\x20'+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x159),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0xe30a2b,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b['createdId'],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x184)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b['createdId'],'lookupCommand':_0x23866b[_0x4f117e(0x16b)]}});}const _0xd6e408=_0x56ed73[_0x4f117e(0x146)][_0x4f117e(0x18f)](_0x23866b[_0x4f117e(0x14a)]);try{if(!_0xd6e408)throw menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x149),_0x4f117e(0x190)+_0x23866b['lookupCommand']+_0x4f117e(0x135));verifyCreatedFact(_0xd6e408,_0x23866b['createdId'],_0x23866b['afterPlan'],_0x23866b['expectedPath']);}catch(_0x4eb25e){const _0x845358=_0x4eb25e instanceof Error&&_0x4f117e(0x168)in _0x4eb25e?_0x4eb25e:menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x18b),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0x845358,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b[_0x4f117e(0x14a)],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![]},'after':_0xd6e408??{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x14c)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b[_0x4f117e(0x14a)],'recovered':_0x23866b[_0x4f117e(0x15c)],'lookupCommand':_0x23866b['lookupCommand']}});}return{'snapshot':_0x56ed73,'fact':_0xd6e408};}function a112_0x147d(_0x477663,_0x263e4b){_0x477663=_0x477663-0x12c;const _0x51c1ae=a112_0x51c1();let _0x147d17=_0x51c1ae[_0x477663];return _0x147d17;}function verifyCreatedFact(_0x398438,_0x210d1e,_0x39d2b9,_0x1aa139){const _0x29cc41=a112_0x1c6442;if(!Number['isSafeInteger'](_0x398438['id'])||_0x398438['id']<=0x0||_0x398438['id']!==_0x210d1e)throw menuError(_0x29cc41(0x160),_0x29cc41(0x13e),_0x29cc41(0x157));const _0x2ea1d0=[['parent',_0x398438[_0x29cc41(0x138)],_0x39d2b9['parentId']],['type',_0x398438[_0x29cc41(0x19a)],_0x39d2b9['type']],[_0x29cc41(0x196),_0x398438[_0x29cc41(0x196)],_0x39d2b9[_0x29cc41(0x196)]],['URL',_0x398438[_0x29cc41(0x186)],_0x39d2b9[_0x29cc41(0x186)]],[_0x29cc41(0x161),_0x398438[_0x29cc41(0x171)],_0x39d2b9['visible']],[_0x29cc41(0x130),_0x398438[_0x29cc41(0x130)],_0x39d2b9[_0x29cc41(0x130)]]];for(const [_0x4f9961,_0x1d9326,_0x39f23f]of _0x2ea1d0){if(_0x1d9326!==_0x39f23f)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+'\x20has\x20an\x20unexpected\x20'+_0x4f9961+'.',_0x29cc41(0x13c));}if(!_0x398438[_0x29cc41(0x16e)][_0x29cc41(0x150)]()||_0x1aa139!==null&&_0x398438[_0x29cc41(0x16e)]!==_0x1aa139)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+_0x29cc41(0x1ae),_0x29cc41(0x13c));}function creationSuccess(_0x189db1,_0x17ad26,_0x5599e2,_0x14407f){const _0x39436f=a112_0x1c6442,_0x3212a6=mutationResult({..._0x189db1,'after':_0x5599e2,'dryRun':![],'succeeded':[{'id':_0x5599e2['id'],'created':!![],'recovered':_0x14407f}],'verification':{'checkedBy':_0x39436f(0x156),'snapshotHash':_0x17ad26[_0x39436f(0x18c)],'targetId':_0x5599e2['id'],'recovered':_0x14407f,'path':_0x5599e2[_0x39436f(0x16e)]}});return{'ok':!![],'message':_0x14407f?_0x39436f(0x175)+_0x5599e2['id']+_0x39436f(0x164):'Created\x20external\x20menu\x20'+_0x5599e2['id']+'.','data':{..._0x3212a6,'recovered':_0x14407f}};}function externalLinkCreateFailure(_0x44a4f3,_0x5dc55f,_0x533f8f){const _0x4641ac=a112_0x1c6442;return menuFailure(safeMenuAddError(_0x44a4f3),redactFailurePlan(_0x5dc55f),{..._0x533f8f,'succeeded':_0x533f8f[_0x4641ac(0x14f)]?.[_0x4641ac(0x194)](redactFailureRecord),'failed':_0x533f8f['failed']?redactFailureRecord(_0x533f8f[_0x4641ac(0x158)]):undefined,'verification':_0x533f8f[_0x4641ac(0x1a3)]?redactFailureRecord(_0x533f8f[_0x4641ac(0x1a3)]):undefined,'after':_0x533f8f[_0x4641ac(0x154)]===undefined?undefined:redactFailureValue(_0x533f8f['after'])});}function redactFailurePlan(_0x4d296d){const _0x424c0f=a112_0x1c6442;return{..._0x4d296d,'selector':redactFailureRecord(_0x4d296d[_0x424c0f(0x131)]),'before':redactFailureValue(_0x4d296d[_0x424c0f(0x15a)]),'after':redactFailureValue(_0x4d296d['after']),'plannedActions':_0x4d296d[_0x424c0f(0x1a2)]?.['map'](_0x5eb707=>({..._0x5eb707,'body':redactFailureRecord(_0x5eb707[_0x424c0f(0x142)])})),'succeeded':_0x4d296d[_0x424c0f(0x14f)][_0x424c0f(0x194)](redactFailureRecord),'failed':_0x4d296d[_0x424c0f(0x158)][_0x424c0f(0x194)](redactFailureRecord),'verification':_0x4d296d[_0x424c0f(0x1a3)]?redactFailureRecord(_0x4d296d[_0x424c0f(0x1a3)]):undefined};}function redactFailureRecord(_0x1677c1){return redactFailureValue(_0x1677c1);}function redactFailureValue(_0x1b7745,_0x2c3ee4=''){const _0x9236d1=a112_0x1c6442,_0x58b06f=_0x2c3ee4['toLowerCase']()['replace'](/[^a-z0-9]/g,'');if([_0x9236d1(0x132),_0x9236d1(0x188),_0x9236d1(0x1a0),_0x9236d1(0x153)][_0x9236d1(0x174)](_0x58b06f))return _0x9236d1(0x16c);if(Array[_0x9236d1(0x166)](_0x1b7745))return _0x1b7745[_0x9236d1(0x194)](_0xf80af0=>redactFailureValue(_0xf80af0));if(_0x1b7745&&typeof _0x1b7745===_0x9236d1(0x19b))return Object[_0x9236d1(0x178)](Object['entries'](_0x1b7745)['map'](([_0x32af94,_0x4f2ff4])=>[_0x32af94,redactFailureValue(_0x4f2ff4,_0x32af94)]));return _0x1b7745;}function safeMenuAddError(_0x50af21){const _0x589322=a112_0x1c6442,_0x55eba9=_0x50af21 instanceof CliError?_0x50af21['code']:_0x589322(0x18a);switch(_0x55eba9){case _0x589322(0x162):return menuError(_0x55eba9,_0x589322(0x15f),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x55eba9,_0x589322(0x191),_0x589322(0x182));case _0x589322(0x148):return menuError(_0x55eba9,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x589322(0x17f));case _0x589322(0x160):return menuError(_0x55eba9,_0x589322(0x1b2),_0x589322(0x17f));case _0x589322(0x137):return menuError(_0x55eba9,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x589322(0x15e):case _0x589322(0x19f):case _0x589322(0x165):case _0x589322(0x14e):return menuError(_0x55eba9,_0x589322(0x145),_0x589322(0x1ab));default:return menuError(_0x589322(0x18a),_0x589322(0x145),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1df411){const _0x4fa56e=a112_0x1c6442;if(!(_0x1df411 instanceof Error)||!(_0x4fa56e(0x17e)in _0x1df411))return undefined;const _0x87541a=_0x1df411['data'];if(!_0x87541a||typeof _0x87541a!==_0x4fa56e(0x19b))return undefined;const _0x2c7659=_0x87541a[_0x4fa56e(0x158)];if(!Array[_0x4fa56e(0x166)](_0x2c7659)||!_0x2c7659[0x0]||typeof _0x2c7659[0x0]!==_0x4fa56e(0x19b))return undefined;return _0x2c7659[0x0];}
1
+ const a112_0x3cfc30=a112_0x5b33;(function(_0x4c258a,_0x50ece1){const _0x148c01=a112_0x5b33,_0x48b0b4=_0x4c258a();while(!![]){try{const _0x30a7a8=-parseInt(_0x148c01(0x96))/0x1*(-parseInt(_0x148c01(0xb7))/0x2)+parseInt(_0x148c01(0x94))/0x3*(-parseInt(_0x148c01(0x87))/0x4)+parseInt(_0x148c01(0x93))/0x5+-parseInt(_0x148c01(0xbf))/0x6*(parseInt(_0x148c01(0xa4))/0x7)+-parseInt(_0x148c01(0xb8))/0x8*(parseInt(_0x148c01(0x7d))/0x9)+parseInt(_0x148c01(0x8c))/0xa+-parseInt(_0x148c01(0xb4))/0xb*(-parseInt(_0x148c01(0x88))/0xc);if(_0x30a7a8===_0x50ece1)break;else _0x48b0b4['push'](_0x48b0b4['shift']());}catch(_0x13f727){_0x48b0b4['push'](_0x48b0b4['shift']());}}}(a112_0x449b,0x73ed8));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':a112_0x3cfc30(0xe5),'new-window':a112_0x3cfc30(0x83)};export function validateExternalMenuUrl(_0x43d2f3){const _0x2885a4=a112_0x3cfc30,_0x3e5338=_0x43d2f3[_0x2885a4(0xd6)]();let _0x20d9af;try{_0x20d9af=new URL(_0x3e5338);}catch{throw menuError(_0x2885a4(0xa8),_0x2885a4(0x75),_0x2885a4(0x7b));}if(_0x20d9af['protocol']!==_0x2885a4(0xcd))throw menuError(_0x2885a4(0xec),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x2885a4(0xfa));if(_0x20d9af[_0x2885a4(0xfb)]||_0x20d9af[_0x2885a4(0xd0)])throw menuError(_0x2885a4(0xb6),_0x2885a4(0xab),_0x2885a4(0x89));return _0x3e5338;}export const menuExternalLinkCreate={'service':a112_0x3cfc30(0x84),'command':a112_0x3cfc30(0xb0),'description':a112_0x3cfc30(0xa7),'risk':a112_0x3cfc30(0x85),'structuredErrors':!![],'flags':[{'name':a112_0x3cfc30(0xeb),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xf5)},{'name':a112_0x3cfc30(0x91),'type':a112_0x3cfc30(0xef),'required':!![],'enum':[a112_0x3cfc30(0xe3),a112_0x3cfc30(0x78)],'description':a112_0x3cfc30(0xe8)},{'name':a112_0x3cfc30(0xce),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xed)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3cfc30(0x74),'type':a112_0x3cfc30(0x99),'default':!![],'description':a112_0x3cfc30(0xe6)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57bd43){validateAddInput(_0x57bd43);},async 'dryRun'(_0x45ded0){const _0x2d9919=a112_0x3cfc30;validateAddInput(_0x45ded0);const {plan:_0x387f18}=await buildSafeAddPlan(_0x45ded0,!![]),_0x3e2d3d=_0x387f18[_0x2d9919(0x9e)],_0x5287f9=createBody(_0x3e2d3d);return menuDryRunResult(_0x387f18,{'method':_0x2d9919(0xc2),'url':_0x2d9919(0xc4),'body':_0x5287f9,'description':_0x2d9919(0xf8)+JSON['stringify'](_0x3e2d3d['label'])+'\x20with\x20'+_0x45ded0[_0x2d9919(0xcc)](_0x2d9919(0x91))+_0x2d9919(0xdd)});},async 'execute'(_0x55bc35){const _0xfcc812=a112_0x3cfc30;validateAddInput(_0x55bc35);const _0x3655c7=await buildSafeAddPlan(_0x55bc35,![]),{plan:_0x44b16d,snapshot:_0x3b5c4b}=_0x3655c7,_0x2e8c24=_0x44b16d[_0xfcc812(0x9e)],_0x320e92=buildMenuLookupCommand(_0x55bc35[_0xfcc812(0xc9)]);await recheckAddSnapshot(_0x55bc35,_0x44b16d);let _0x3b20e0;try{_0x3b20e0=await createMenuEntity(_0x55bc35[_0xfcc812(0xc9)],_0x55bc35[_0xfcc812(0x90)],createBody(_0x2e8c24));}catch(_0x1b93c2){const _0x590fb8=mapMenuApiError(_0x1b93c2,_0xfcc812(0x6a));if(!isMenuResponseLoss(_0x1b93c2)||_0x590fb8['code']===_0xfcc812(0xad))throw externalLinkCreateFailure(_0x590fb8,_0x44b16d,{'stage':_0xfcc812(0xb2),'failed':{},'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92}});return recoverAfterResponseLoss(_0x55bc35,_0x3655c7,_0x320e92);}const _0x195784=Number(_0x3b20e0?.['id']),_0x1210f4=typeof _0x3b20e0?.[_0xfcc812(0x8a)]===_0xfcc812(0xef)?_0x3b20e0[_0xfcc812(0x8a)]:'';if(!Number[_0xfcc812(0xdc)](_0x195784)||_0x195784<=0x0||!_0x1210f4[_0xfcc812(0xd6)]()){const _0x5e5e3d=menuError(_0xfcc812(0xf9),_0xfcc812(0xde),_0xfcc812(0xaf)+_0x320e92+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5e5e3d,_0x44b16d,{'stage':_0xfcc812(0x6b),'succeeded':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?[{'id':_0x195784,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x195784)?_0x195784:null,'generatedPathConfirmed':Boolean(_0x1210f4[_0xfcc812(0xd6)]())},'warnings':[_0xfcc812(0xe2)],'after':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?{..._0x2e8c24,'id':_0x195784,'path':_0x1210f4}:_0x2e8c24,'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92,...Number['isSafeInteger'](_0x195784)&&_0x195784>0x0?{'targetId':_0x195784}:{}}});}const _0x460658=await readAndVerifyCreatedMenu({'appCode':_0x55bc35[_0xfcc812(0xc9)],'cookie':_0x55bc35[_0xfcc812(0x90)],'plan':_0x44b16d,'afterPlan':_0x2e8c24,'createdId':_0x195784,'expectedPath':_0x1210f4,'lookupCommand':_0x320e92,'recovered':![]});return creationSuccess(_0x44b16d,_0x460658['snapshot'],_0x460658[_0xfcc812(0xa1)],![]);}};function validateAddInput(_0x7e6261){const _0x2b6f0e=a112_0x3cfc30;if(!_0x7e6261[_0x2b6f0e(0xcc)](_0x2b6f0e(0xeb))['trim']())throw CliErrors[_0x2b6f0e(0xdf)]('label');resolveExternalMenuType(_0x7e6261),validateExternalMenuUrl(_0x7e6261['str'](_0x2b6f0e(0xce))),parseParentId(_0x7e6261,'parent-id'),validateSort(_0x7e6261);}function resolveExternalMenuType(_0x5aa6c8){const _0x44bb0c=a112_0x3cfc30,_0x578e9b=_0x5aa6c8[_0x44bb0c(0xcc)](_0x44bb0c(0x91))[_0x44bb0c(0xd6)]();if(!_0x578e9b)throw CliErrors[_0x44bb0c(0xdf)](_0x44bb0c(0x91));const _0x30cdbd=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x578e9b];if(!_0x30cdbd)throw menuError('menu_open_mode_invalid',_0x44bb0c(0x6e),_0x44bb0c(0xd2));return _0x30cdbd;}async function buildAddPlan(_0x2135ca,_0x2dcadf){const _0x522a03=a112_0x3cfc30,_0x217d26=await fetchMutationSnapshot(_0x2135ca,_0x522a03(0x6a)),_0x1c019d=parseParentId(_0x2135ca,_0x522a03(0x6f))??null;if(_0x1c019d!=null)requireFolder(_0x217d26,_0x1c019d);const _0x9283d0=validateSort(_0x2135ca),_0x4a897a=_0x9283d0??nextSiblingSort(_0x217d26,_0x1c019d,'menu'),_0x33da11=_0x2135ca[_0x522a03(0xcc)](_0x522a03(0xeb))[_0x522a03(0xd6)](),_0x1514a3=resolveExternalMenuType(_0x2135ca),_0x3f9a8f=validateExternalMenuUrl(_0x2135ca[_0x522a03(0xcc)]('url')),_0x2f8445=Object[_0x522a03(0xe7)]['hasOwnProperty'][_0x522a03(0xa5)](_0x2135ca[_0x522a03(0x95)],_0x522a03(0x74))?_0x2135ca[_0x522a03(0xa9)](_0x522a03(0x74)):!![],_0x1be884={'id':null,'parentId':_0x1c019d,'label':_0x33da11,'path':_0x522a03(0xdb),'url':_0x3f9a8f,'type':_0x1514a3,'visible':_0x2f8445,'sort':_0x4a897a},_0x56e050=buildMenuLookupCommand(_0x2135ca[_0x522a03(0xc9)]),_0x397c69=mutationResult({'operation':_0x522a03(0xc3),'selector':{'parentId':_0x1c019d,'type':_0x1514a3,'label':_0x33da11,'url':_0x3f9a8f},'before':null,'after':_0x1be884,'dryRun':_0x2dcadf,'backend':[{'method':_0x522a03(0xc2),'path':_0x522a03(0xc4)}],'plannedActions':[{'stage':_0x522a03(0x7a),'method':'POST','path':'/smartapi/menu/create','body':createBody(_0x1be884)}],'snapshotHash':_0x217d26['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x56e050}});return{'plan':_0x397c69,'snapshot':_0x217d26};}async function buildSafeAddPlan(_0x420393,_0x289f45){try{return await buildAddPlan(_0x420393,_0x289f45);}catch(_0x2a66eb){throw safeMenuAddError(_0x2a66eb);}}function a112_0x5b33(_0x438b70,_0x372207){_0x438b70=_0x438b70-0x69;const _0x449b1d=a112_0x449b();let _0x5b33e5=_0x449b1d[_0x438b70];return _0x5b33e5;}async function recheckAddSnapshot(_0x10e3ea,_0x5a0cfa){const _0x206edf=a112_0x3cfc30;try{await recheckMutationSnapshot(_0x10e3ea,_0x5a0cfa,_0x206edf(0x6a));}catch(_0x28876b){const _0x370de7=getFailureRecord(_0x28876b);throw externalLinkCreateFailure(_0x28876b,_0x5a0cfa,{'stage':_0x206edf(0x9b),'failed':{..._0x370de7?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x370de7['expectedSnapshotHash']}:{},..._0x370de7?.[_0x206edf(0xe0)]?{'currentSnapshotHash':_0x370de7[_0x206edf(0xe0)]}:{}}});}}function createBody(_0x5531e4){const _0x43f470=a112_0x3cfc30;return{'parentId':toApiParentId(_0x5531e4['parentId']),'label':String(_0x5531e4[_0x43f470(0xeb)]),'type':String(_0x5531e4['type']),'url':String(_0x5531e4[_0x43f470(0xce)]),'visible':Boolean(_0x5531e4[_0x43f470(0x74)]),'sort':Number(_0x5531e4['sort']),'extend':{}};}function buildMenuLookupCommand(_0x1f3a34){const _0x5afebf=a112_0x3cfc30,_0x52c25a='\x27'+_0x1f3a34[_0x5afebf(0xac)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x5afebf(0xaa)+_0x52c25a+_0x5afebf(0xf1);}async function recoverAfterResponseLoss(_0x467012,_0x2d77ce,_0x7171b1){const _0x40a067=a112_0x3cfc30,{plan:_0x51a305,snapshot:_0x8024ea}=_0x2d77ce,_0x1b0feb=_0x51a305[_0x40a067(0x9e)];let _0x511abf;try{_0x511abf=await fetchMenuSnapshot(_0x467012['appCode'],_0x467012[_0x40a067(0x90)]);}catch(_0x57722c){throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20f6e6=_0x511abf['menus'][_0x40a067(0xd5)](_0x5b142d=>_0x5b142d[_0x40a067(0x98)]===_0x1b0feb[_0x40a067(0x98)]&&_0x5b142d[_0x40a067(0xb9)]===_0x1b0feb['type']&&_0x5b142d[_0x40a067(0xeb)]===_0x1b0feb[_0x40a067(0xeb)]&&_0x5b142d[_0x40a067(0xce)]===_0x1b0feb[_0x40a067(0xce)]),_0x41a0b6=_0x20f6e6[_0x40a067(0xd5)](_0x14ffab=>!_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x14ffab['id'])),_0x49f7f6=_0x20f6e6[_0x40a067(0xd5)](_0x18d306=>_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x18d306['id']));if(_0x20f6e6['length']!==0x1||_0x41a0b6[_0x40a067(0xe1)]!==0x1)throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':_0x20f6e6[_0x40a067(0xe1)],'newMatchCount':_0x41a0b6[_0x40a067(0xe1)],'preexistingMatchCount':_0x49f7f6[_0x40a067(0xe1)]});const _0x51e124=_0x41a0b6[0x0];try{verifyCreatedFact(_0x51e124,_0x51e124['id'],_0x1b0feb,null);}catch(_0x3edd2b){const _0x133a58=_0x3edd2b instanceof Error&&'code'in _0x3edd2b?_0x3edd2b:menuError(_0x40a067(0xb1),'Recovered\x20menu\x20'+_0x51e124['id']+_0x40a067(0xf2),'Run\x20'+_0x7171b1+_0x40a067(0xe4));throw externalLinkCreateFailure(_0x133a58,_0x51a305,{'stage':'verification','succeeded':[{'id':_0x51e124['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x51e124['id'],'finalFactsConfirmed':![]},'after':_0x51e124,'warnings':[_0x40a067(0xbc)+_0x51e124['id']+_0x40a067(0x9f)],'verification':{'status':_0x40a067(0x7f),'targetId':_0x51e124['id'],'recovered':!![],'lookupCommand':_0x7171b1}});}return creationSuccess(_0x51a305,_0x511abf,_0x51e124,!![]);}function recoveryRequiredFailure(_0xb48c15,_0x3ec3a1,_0x59546f){const _0x27c0ae=a112_0x3cfc30,_0x45c643=menuError(_0x27c0ae(0xc0),_0x27c0ae(0x7e),_0x27c0ae(0xaf)+_0x3ec3a1+_0x27c0ae(0xcb));return externalLinkCreateFailure(_0x45c643,_0xb48c15,{'stage':_0x27c0ae(0x8f),'failed':_0x59546f,'warnings':[_0x27c0ae(0xd7)],'verification':{'status':_0x27c0ae(0x7f),..._0x59546f,'lookupCommand':_0x3ec3a1}});}async function readAndVerifyCreatedMenu(_0x4b41d0){const _0x28a7ab=a112_0x3cfc30;let _0x55496b;try{_0x55496b=await fetchMenuSnapshot(_0x4b41d0[_0x28a7ab(0xc9)],_0x4b41d0[_0x28a7ab(0x90)]);}catch(_0x4fb9ec){const _0x33af65=menuError(_0x28a7ab(0xb1),'Menu\x20'+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xc6),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x33af65,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0['createdId'],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0[_0x28a7ab(0xc5)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0[_0x28a7ab(0xc5)],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}const _0xb63a9d=_0x55496b[_0x28a7ab(0xc1)]['get'](_0x4b41d0[_0x28a7ab(0xc5)]);try{if(!_0xb63a9d)throw menuError('menu_verification_failed',_0x28a7ab(0x81)+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xda),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));verifyCreatedFact(_0xb63a9d,_0x4b41d0[_0x28a7ab(0xc5)],_0x4b41d0[_0x28a7ab(0xb3)],_0x4b41d0['expectedPath']);}catch(_0x47a539){const _0x15c706=_0x47a539 instanceof Error&&'code'in _0x47a539?_0x47a539:menuError(_0x28a7ab(0xb1),_0x28a7ab(0x81)+_0x4b41d0['createdId']+_0x28a7ab(0x9a),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));throw externalLinkCreateFailure(_0x15c706,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0[_0x28a7ab(0xc5)],'finalFactsConfirmed':![]},'after':_0xb63a9d??{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0[_0x28a7ab(0xc5)],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0['createdId']+_0x28a7ab(0x9c)],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0['createdId'],'recovered':_0x4b41d0['recovered'],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}return{'snapshot':_0x55496b,'fact':_0xb63a9d};}function verifyCreatedFact(_0x4abe65,_0x1a9f2e,_0x2c1581,_0x4b733d){const _0x354e3b=a112_0x3cfc30;if(!Number[_0x354e3b(0xdc)](_0x4abe65['id'])||_0x4abe65['id']<=0x0||_0x4abe65['id']!==_0x1a9f2e)throw menuError(_0x354e3b(0xb1),_0x354e3b(0xb5),_0x354e3b(0x71));const _0x5c6692=[[_0x354e3b(0xbe),_0x4abe65[_0x354e3b(0x98)],_0x2c1581[_0x354e3b(0x98)]],['type',_0x4abe65[_0x354e3b(0xb9)],_0x2c1581['type']],[_0x354e3b(0xeb),_0x4abe65['label'],_0x2c1581[_0x354e3b(0xeb)]],[_0x354e3b(0x92),_0x4abe65[_0x354e3b(0xce)],_0x2c1581[_0x354e3b(0xce)]],[_0x354e3b(0xf4),_0x4abe65[_0x354e3b(0x74)],_0x2c1581[_0x354e3b(0x74)]],[_0x354e3b(0xa6),_0x4abe65['sort'],_0x2c1581[_0x354e3b(0xa6)]]];for(const [_0x1f7b2e,_0x5a2766,_0x2c2e40]of _0x5c6692){if(_0x5a2766!==_0x2c2e40)throw menuError('menu_verification_failed',_0x354e3b(0x81)+_0x4abe65['id']+'\x20has\x20an\x20unexpected\x20'+_0x1f7b2e+'.',_0x354e3b(0xbb));}if(!_0x4abe65[_0x354e3b(0x8a)][_0x354e3b(0xd6)]()||_0x4b733d!==null&&_0x4abe65[_0x354e3b(0x8a)]!==_0x4b733d)throw menuError(_0x354e3b(0xb1),_0x354e3b(0x81)+_0x4abe65['id']+_0x354e3b(0x6c),_0x354e3b(0xbb));}function creationSuccess(_0x509b11,_0xdffc16,_0x15e907,_0x42d499){const _0x4bc4f7=a112_0x3cfc30,_0x3d5c36=mutationResult({..._0x509b11,'after':_0x15e907,'dryRun':![],'succeeded':[{'id':_0x15e907['id'],'created':!![],'recovered':_0x42d499}],'verification':{'checkedBy':_0x4bc4f7(0xe9),'snapshotHash':_0xdffc16[_0x4bc4f7(0xd4)],'targetId':_0x15e907['id'],'recovered':_0x42d499,'path':_0x15e907['path']}});return{'ok':!![],'message':_0x42d499?_0x4bc4f7(0x7c)+_0x15e907['id']+_0x4bc4f7(0x8b):'Created\x20external\x20menu\x20'+_0x15e907['id']+'.','data':{..._0x3d5c36,'recovered':_0x42d499}};}function externalLinkCreateFailure(_0x1f5dfc,_0x3d5ddd,_0x332953){const _0x484322=a112_0x3cfc30;return menuFailure(safeMenuAddError(_0x1f5dfc),redactFailurePlan(_0x3d5ddd),{..._0x332953,'succeeded':_0x332953[_0x484322(0x73)]?.[_0x484322(0x9d)](redactFailureRecord),'failed':_0x332953['failed']?redactFailureRecord(_0x332953[_0x484322(0x7f)]):undefined,'verification':_0x332953[_0x484322(0xf0)]?redactFailureRecord(_0x332953[_0x484322(0xf0)]):undefined,'after':_0x332953[_0x484322(0x9e)]===undefined?undefined:redactFailureValue(_0x332953[_0x484322(0x9e)])});}function redactFailurePlan(_0x30d610){const _0x139b98=a112_0x3cfc30;return{..._0x30d610,'selector':redactFailureRecord(_0x30d610[_0x139b98(0xf7)]),'before':redactFailureValue(_0x30d610[_0x139b98(0xa0)]),'after':redactFailureValue(_0x30d610[_0x139b98(0x9e)]),'plannedActions':_0x30d610[_0x139b98(0x70)]?.[_0x139b98(0x9d)](_0x529e4a=>({..._0x529e4a,'body':redactFailureRecord(_0x529e4a[_0x139b98(0x77)])})),'succeeded':_0x30d610[_0x139b98(0x73)]['map'](redactFailureRecord),'failed':_0x30d610[_0x139b98(0x7f)][_0x139b98(0x9d)](redactFailureRecord),'verification':_0x30d610['verification']?redactFailureRecord(_0x30d610[_0x139b98(0xf0)]):undefined};}function redactFailureRecord(_0x4d0bec){return redactFailureValue(_0x4d0bec);}function redactFailureValue(_0x30c2cd,_0x5330f4=''){const _0x30289f=a112_0x3cfc30,_0x4f1943=_0x5330f4[_0x30289f(0xf3)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x30289f(0x86),_0x30289f(0xa3),_0x30289f(0x76)][_0x30289f(0x69)](_0x4f1943))return'<redacted>';if(Array[_0x30289f(0xd9)](_0x30c2cd))return _0x30c2cd[_0x30289f(0x9d)](_0x27415f=>redactFailureValue(_0x27415f));if(_0x30c2cd&&typeof _0x30c2cd===_0x30289f(0xae))return Object[_0x30289f(0xcf)](Object[_0x30289f(0xea)](_0x30c2cd)[_0x30289f(0x9d)](([_0xd70879,_0x261978])=>[_0xd70879,redactFailureValue(_0x261978,_0xd70879)]));return _0x30c2cd;}function safeMenuAddError(_0x44e4e1){const _0x113954=a112_0x3cfc30,_0x4d29e7=_0x44e4e1 instanceof CliError?_0x44e4e1['code']:_0x113954(0xd8);switch(_0x4d29e7){case'menu_state_drift':return menuError(_0x4d29e7,_0x113954(0xc8),_0x113954(0xa2));case _0x113954(0xad):return menuError(_0x4d29e7,_0x113954(0x82),_0x113954(0xf6));case'menu_create_response_invalid':return menuError(_0x4d29e7,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x113954(0xd1));case _0x113954(0xb1):return menuError(_0x4d29e7,_0x113954(0xd3),_0x113954(0xd1));case _0x113954(0xc0):return menuError(_0x4d29e7,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x113954(0xd8):case _0x113954(0xca):case _0x113954(0xee):case _0x113954(0x6d):case _0x113954(0x8e):return menuError(_0x4d29e7,_0x113954(0xc7),_0x113954(0xba));default:return menuError(_0x113954(0xd8),'External\x20menu\x20creation\x20failed.',_0x113954(0xba));}}function getFailureRecord(_0x2728f4){const _0x5751f3=a112_0x3cfc30;if(!(_0x2728f4 instanceof Error)||!(_0x5751f3(0x97)in _0x2728f4))return undefined;const _0x22f0dd=_0x2728f4['data'];if(!_0x22f0dd||typeof _0x22f0dd!==_0x5751f3(0xae))return undefined;const _0x54843e=_0x22f0dd[_0x5751f3(0x7f)];if(!Array[_0x5751f3(0xd9)](_0x54843e)||!_0x54843e[0x0]||typeof _0x54843e[0x0]!==_0x5751f3(0xae))return undefined;return _0x54843e[0x0];}function a112_0x449b(){const _0x6861f1=['External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','replace','menu_permission_denied','object','Run\x20','external-link-create','menu_verification_failed','create','afterPlan','193303tTnWYh','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_url_credentials_forbidden','12jZMTyg','8UnUIyE','type','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Menu\x20','expectedPath','parent','6nVSJLT','menu_create_recovery_required','byId','POST','add','/smartapi/menu/create','createdId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','External\x20menu\x20creation\x20failed.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','appCode','menu_not_found','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','str','https:','url','fromEntries','password','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','hash','filter','trim','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_mutation_failed','isArray','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','<platform-generated>','isSafeInteger','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','flagMissing','currentSnapshotHash','length','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','embedded','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','iframe','Whether\x20the\x20menu\x20is\x20visible','prototype','How\x20to\x20open\x20the\x20external\x20website','menu\x20list','entries','label','menu_url_https_required','External\x20HTTPS\x20URL','menu_parent_not_folder','string','verification','\x20--format\x20compress','\x20could\x20not\x20be\x20verified.','toLowerCase','visibility','Menu\x20label','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','selector','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_response_invalid','Provide\x20an\x20HTTPS\x20URL.','username','includes','create\x20external\x20menu','create-response-validation','\x20has\x20an\x20unexpected\x20generated\x20path.','menu_sort_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','parent-id','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','has','succeeded','visible','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','rawerror','body','new-window','lookupCommand','create-menu','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Recovered\x20created\x20external\x20menu\x20','6825015LzOXyf','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','plan','Created\x20menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','link','menu','write','causemessage','9308sdsMoU','552dgKjLZ','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','path','\x20after\x20response\x20loss.','6393930awAqCT','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_overflow','create-recovery','cookie','open-mode','URL','4109050YQzuSF','327dLCEDi','rawFlags','233QxCCfL','data','parentId','boolean','\x20failed\x20final\x20verification.','pre-write-recheck','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','map','after','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','before','fact','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','readbackerror','5488987gZkhNT','call','sort','Create\x20an\x20external\x20website\x20link\x20menu','menu_url_invalid','bool','rabetbase\x20menu\x20list\x20--appcode\x20'];a112_0x449b=function(){return _0x6861f1;};return a112_0x449b();}
@@ -1 +1 @@
1
- const a113_0x12ddee=a113_0x22b9;(function(_0x1ff847,_0x4012ff){const _0x2cd48a=a113_0x22b9,_0x5949c5=_0x1ff847();while(!![]){try{const _0x28bd81=parseInt(_0x2cd48a(0x14d))/0x1+-parseInt(_0x2cd48a(0x131))/0x2+parseInt(_0x2cd48a(0x118))/0x3*(-parseInt(_0x2cd48a(0x152))/0x4)+-parseInt(_0x2cd48a(0x159))/0x5+parseInt(_0x2cd48a(0x157))/0x6*(-parseInt(_0x2cd48a(0x11e))/0x7)+-parseInt(_0x2cd48a(0x125))/0x8+parseInt(_0x2cd48a(0x132))/0x9;if(_0x28bd81===_0x4012ff)break;else _0x5949c5['push'](_0x5949c5['shift']());}catch(_0x2be05e){_0x5949c5['push'](_0x5949c5['shift']());}}}(a113_0x3e00,0x76f39));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':a113_0x12ddee(0x121),'path':a113_0x12ddee(0x138)}];export const menuExternalLinkUpdate={'service':a113_0x12ddee(0x12f),'command':a113_0x12ddee(0x156),'description':a113_0x12ddee(0x148),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x12ddee(0x130),'type':a113_0x12ddee(0x12e),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x12ddee(0x145),'type':'string','required':!![],'description':a113_0x12ddee(0x13b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x13702c){validateInput(_0x13702c);},async 'dryRun'(_0x499480){const _0x2bb843=a113_0x12ddee;validateInput(_0x499480);const _0x413bff=await buildPlan(_0x499480,!![]);return menuDryRunResult(_0x413bff[_0x2bb843(0x13a)],{'method':_0x2bb843(0x121),'url':_0x2bb843(0x138),'body':_0x413bff[_0x2bb843(0x119)],'description':_0x2bb843(0x144)+_0x413bff['body']['id']+'.'});},async 'execute'(_0x382408){const _0x3da156=a113_0x12ddee;validateInput(_0x382408);const _0x1b8802=await buildPlan(_0x382408,![]),{plan:_0x5b2e0c,body:_0x1fc9de,before:_0xecd80a,noChanges:_0x37ba50}=_0x1b8802,_0x51afde=_0x1fc9de['id'];if(_0x37ba50)return updateSuccess(_0x5b2e0c,_0x1b8802[_0x3da156(0x14c)],_0xecd80a,!![],![]);await recheckMutationSnapshot(_0x382408,_0x5b2e0c,'update\x20external\x20menu\x20URL',_0x51afde);try{await updateMenuEntity(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)],{'id':_0x1fc9de['id'],'url':_0x1fc9de[_0x3da156(0x130)]});}catch(_0x1877fc){const _0xcc9584=mapMenuApiError(_0x1877fc,_0x3da156(0x11b),_0x51afde);if(isMenuResponseLoss(_0x1877fc)&&_0xcc9584[_0x3da156(0x129)]!==_0x3da156(0x122))return recoverAfterResponseLoss(_0x382408,_0x1b8802);throw menuFailure(_0xcc9584,_0x5b2e0c,{'stage':_0x3da156(0x128),'failed':{'id':_0x51afde},'warnings':[_0x3da156(0x146)],'verification':{'status':'failed','targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408['appCode'])}});}let _0x25c3fb,_0x520123;try{_0x25c3fb=await fetchMenuSnapshot(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)]),_0x520123=requireMenu(_0x25c3fb,_0x51afde),verifyUpdatedFact(_0xecd80a,_0x520123,_0x1fc9de[_0x3da156(0x130)]);}catch(_0x59963f){const _0x1ae810=describeMenuErrorCause(_0x59963f,_0x3da156(0x141),_0x51afde),_0x2714e0=asVerificationError(_0x59963f,'Update\x20request\x20for\x20menu\x20'+_0x51afde+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2714e0,_0x5b2e0c,{'stage':_0x3da156(0x15a),'succeeded':[{'id':_0x51afde,'updateRequested':!![]}],'failed':{'id':_0x51afde,'requestedStateConfirmed':![],..._0x1ae810},'warnings':[_0x3da156(0x142)],'verification':{'status':_0x3da156(0x139),'targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408[_0x3da156(0x12a)])}});}return updateSuccess(_0x5b2e0c,_0x25c3fb,_0x520123,![],![]);}};function validateInput(_0x4df0bf){const _0x3e0f05=a113_0x12ddee;validateExactId(_0x4df0bf),requiredUrl(_0x4df0bf,_0x3e0f05(0x130)),requiredExpectedUrl(_0x4df0bf),parseParentId(_0x4df0bf,_0x3e0f05(0x13e),{'required':!![]});}function a113_0x22b9(_0x367c87,_0x1c0f19){_0x367c87=_0x367c87-0x112;const _0x3e00f3=a113_0x3e00();let _0x22b967=_0x3e00f3[_0x367c87];return _0x22b967;}function requiredUrl(_0x25398f,_0x5e2f8a){const _0x5014d9=a113_0x12ddee;if(!hasFlag(_0x25398f,_0x5e2f8a)||!_0x25398f[_0x5014d9(0x14b)](_0x5e2f8a)[_0x5014d9(0x151)]())throw CliErrors['flagMissing'](_0x5e2f8a);return validateExternalMenuUrl(_0x25398f['str'](_0x5e2f8a));}function requiredExpectedUrl(_0x11ee7b){const _0x444b7d=a113_0x12ddee;if(!hasFlag(_0x11ee7b,_0x444b7d(0x145))||!_0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]())throw CliErrors[_0x444b7d(0x136)](_0x444b7d(0x145));return _0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]();}async function buildPlan(_0x5487be,_0x4aa3a4){const _0x49e480=a113_0x12ddee,_0x85daf7=validateExactId(_0x5487be),_0x50aa1a=requiredUrl(_0x5487be,_0x49e480(0x130)),_0x15355c=requiredExpectedUrl(_0x5487be),_0x2ca024=parseParentId(_0x5487be,_0x49e480(0x13e),{'required':!![]}),_0x507eab=await fetchMutationSnapshot(_0x5487be,'update\x20external\x20menu\x20URL',_0x85daf7),_0x4ad5e2=requireMenu(_0x507eab,_0x85daf7);assertExternalLinkLeaf(_0x4ad5e2);if(_0x4ad5e2[_0x49e480(0x147)]!==_0x2ca024)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+_0x49e480(0x155)+formatParent(_0x2ca024)+',\x20current\x20'+formatParent(_0x4ad5e2[_0x49e480(0x147)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x458458=_0x4ad5e2[_0x49e480(0x130)]===_0x50aa1a;if(!_0x458458&&_0x4ad5e2[_0x49e480(0x130)]!==_0x15355c)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x2a5a39={'id':_0x85daf7,'appCode':_0x5487be['appCode'],'url':_0x50aa1a},_0x3eca07={..._0x4ad5e2,'url':_0x50aa1a};return{'body':_0x2a5a39,'before':_0x4ad5e2,'noChanges':_0x458458,'snapshot':_0x507eab,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x85daf7},'before':_0x4ad5e2,'after':_0x3eca07,'dryRun':_0x4aa3a4,'backend':[...BACKEND],'plannedActions':_0x458458?[]:[{'stage':_0x49e480(0x143),'method':_0x49e480(0x121),'path':_0x49e480(0x138),'body':_0x2a5a39}],'snapshotHash':_0x507eab[_0x49e480(0x135)],'warnings':_0x458458?[_0x49e480(0x14f)]:[]})};}function assertExternalLinkLeaf(_0x36557a){const _0x5666eb=a113_0x12ddee;if(_0x36557a[_0x5666eb(0x11d)]!==_0x5666eb(0x13c)&&_0x36557a['type']!==_0x5666eb(0x113))throw menuError(_0x5666eb(0x13d),_0x5666eb(0x112)+_0x36557a['id']+'\x20is\x20type\x20\x22'+(_0x36557a[_0x5666eb(0x11d)]||'unknown')+_0x5666eb(0x127),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x36557a[_0x5666eb(0x11f)]!==0x0)throw menuError(_0x5666eb(0x11c),'Menu\x20'+_0x36557a['id']+_0x5666eb(0x126)+_0x36557a['childrenCount']+'\x20direct\x20child\x20menu(s).',_0x5666eb(0x150));if(!_0x36557a[_0x5666eb(0x149)][_0x5666eb(0x151)]())throw menuError('menu_external_link_path_missing',_0x5666eb(0x112)+_0x36557a['id']+'\x20has\x20an\x20empty\x20platform\x20path.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x5100a5,_0x104d84,_0x2faf15){const _0x52e1fd=a113_0x12ddee;assertExternalLinkLeaf(_0x104d84);const _0x49333e=[['id',_0x104d84['id'],_0x5100a5['id']],[_0x52e1fd(0x117),_0x104d84[_0x52e1fd(0x117)],_0x5100a5[_0x52e1fd(0x117)]],['type',_0x104d84[_0x52e1fd(0x11d)],_0x5100a5[_0x52e1fd(0x11d)]],['path',_0x104d84[_0x52e1fd(0x149)],_0x5100a5[_0x52e1fd(0x149)]],[_0x52e1fd(0x147),_0x104d84['parentId'],_0x5100a5[_0x52e1fd(0x147)]],['sort',_0x104d84[_0x52e1fd(0x115)],_0x5100a5[_0x52e1fd(0x115)]],['visible',_0x104d84[_0x52e1fd(0x137)],_0x5100a5[_0x52e1fd(0x137)]]];for(const [_0x1fa492,_0x825bd5,_0x532eaf]of _0x49333e){assertVerified(_0x825bd5===_0x532eaf,'Menu\x20'+_0x5100a5['id']+'\x20'+_0x1fa492+_0x52e1fd(0x114));}assertVerified(_0x104d84[_0x52e1fd(0x130)]===_0x2faf15,_0x52e1fd(0x112)+_0x5100a5['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x2eca4b,_0x53d9b7,_0x1f5f3f,_0x767af5,_0x4d3dcb){const _0x289971=a113_0x12ddee,_0x12b15c=_0x1f5f3f['id'],_0x4e51ef=mutationResult({..._0x2eca4b,'after':_0x1f5f3f,'dryRun':![],'succeeded':[{'id':_0x12b15c,'updated':!_0x767af5,'skipped':_0x767af5,'recovered':_0x4d3dcb}],'verification':{'checkedBy':_0x289971(0x14a),'snapshotHash':_0x53d9b7[_0x289971(0x135)],'targetId':_0x12b15c,'matchesRequestedState':!![],'recovered':_0x4d3dcb}});return{'ok':!![],'message':_0x4d3dcb?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x12b15c+'.':_0x767af5?'Menu\x20'+_0x12b15c+_0x289971(0x124):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x12b15c+'.','data':{..._0x4e51ef,'recovered':_0x4d3dcb}};}async function recoverAfterResponseLoss(_0x3bc07e,_0x400225){const _0xa9872c=a113_0x12ddee,{plan:_0x407f9c,before:_0x4a202f,body:_0x536313}=_0x400225;let _0x1aab84;try{_0x1aab84=await fetchMenuSnapshot(_0x3bc07e[_0xa9872c(0x12a)],_0x3bc07e['cookie']);}catch{throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'readbackFailed':!![]});}const _0x1081f0=_0x1aab84[_0xa9872c(0x158)][_0xa9872c(0x140)](_0x536313['id']);if(!_0x1081f0||_0x1081f0[_0xa9872c(0x130)]!==_0x536313[_0xa9872c(0x130)])throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'requestedUrlObserved':![],'after':_0x1081f0??null});try{verifyUpdatedFact(_0x4a202f,_0x1081f0,_0x536313['url']);}catch(_0x51de54){const _0x269779=asVerificationError(_0x51de54,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x536313['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x269779,_0x407f9c,{'stage':_0xa9872c(0x11a),'succeeded':[{'id':_0x536313['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1081f0,'warnings':[_0xa9872c(0x133)],'verification':{'status':'failed','targetId':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x3bc07e[_0xa9872c(0x12a)])}});}return updateSuccess(_0x407f9c,_0x1aab84,_0x1081f0,![],!![]);}function recoveryRequired(_0x1246b0,_0x3203ac,_0x4715c0){const _0x43070c=a113_0x12ddee,_0x2912bf=menuError(_0x43070c(0x153),_0x43070c(0x134),_0x43070c(0x12b)+buildLookupCommand(_0x3203ac)+_0x43070c(0x14e));return menuFailure(_0x2912bf,_0x1246b0,{'stage':_0x43070c(0x11a),'failed':{'id':_0x4715c0['id'],..._0x4715c0[_0x43070c(0x116)]===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{}},'after':_0x4715c0[_0x43070c(0x154)],'warnings':[_0x43070c(0x12d)],'verification':{'status':'failed','targetId':_0x4715c0['id'],..._0x4715c0['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3203ac)}});}function buildLookupCommand(_0x185990){const _0x35d300=a113_0x12ddee,_0x3fc136='\x27'+_0x185990['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3fc136+_0x35d300(0x13f);}function a113_0x3e00(){const _0x16e432=['url','1020814hHrLVz','21046635bkSUMO','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','hash','flagMissing','visible','/smartapi/menu/update','failed','plan','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','menu_external_link_type_required','expect-parent-id','\x20--format\x20compress','get','verify\x20external\x20menu\x20URL\x20update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','update-external-link-url','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','expect-url','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','parentId','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','path','menu\x20list','str','snapshot','572398pjBLnx','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','trim','4VBcKGJ','menu_update_recovery_required','after','\x20parent\x20changed:\x20expected\x20','external-link-update','204lKVnGY','byId','2980545ZAQlhe','verification','Menu\x20','link','\x20changed\x20during\x20the\x20URL-only\x20update.','sort','requestedUrlObserved','label','1281129OnYCjB','body','update-recovery','update\x20external\x20menu\x20URL','menu_external_link_not_leaf','type','143885anLoIx','childrenCount','cookie','POST','menu_permission_denied','menu_state_drift','\x20already\x20matches\x20the\x20requested\x20URL.','1530072aMnxMc','\x20has\x20','\x22,\x20not\x20iframe\x20or\x20link.','update','code','appCode','Run\x20','readbackFailed','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','string','menu'];a113_0x3e00=function(){return _0x16e432;};return a113_0x3e00();}
1
+ const a113_0x27bc98=a113_0x50f5;(function(_0x44d662,_0x3661b8){const _0x14e91=a113_0x50f5,_0x2aacf2=_0x44d662();while(!![]){try{const _0x2e090a=-parseInt(_0x14e91(0x18f))/0x1*(parseInt(_0x14e91(0x191))/0x2)+-parseInt(_0x14e91(0x16a))/0x3*(-parseInt(_0x14e91(0x198))/0x4)+parseInt(_0x14e91(0x1a4))/0x5+parseInt(_0x14e91(0x179))/0x6*(-parseInt(_0x14e91(0x164))/0x7)+-parseInt(_0x14e91(0x195))/0x8+-parseInt(_0x14e91(0x17a))/0x9+parseInt(_0x14e91(0x172))/0xa;if(_0x2e090a===_0x3661b8)break;else _0x2aacf2['push'](_0x2aacf2['shift']());}catch(_0x20da45){_0x2aacf2['push'](_0x2aacf2['shift']());}}}(a113_0xaaf1,0x9a275));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';function a113_0xaaf1(){const _0x34724f=['Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','url','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verify\x20external\x20menu\x20URL\x20update','17907yzKxdN','external-link-update','104iJcjOS','str','label','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','5080592WRrPDG','POST','\x22,\x20not\x20iframe\x20or\x20link.','105468kizzwd','write','rabetbase\x20menu\x20list\x20--appcode\x20','type','flagMissing','verification','menu_permission_denied','\x20is\x20type\x20\x22','string','update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_not_leaf','1256430OwUnIz','\x20could\x20not\x20be\x20verified\x20safely','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20has\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-parent-id','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','trim','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20parent\x20changed:\x20expected\x20','link','byId','childrenCount','7SJlZHx','path','\x20already\x20matches\x20the\x20requested\x20URL.','menu\x20list','menu_external_link_type_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','12EHnUyJ','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','New\x20external\x20HTTPS\x20URL','update-external-link-url','\x27\x5c\x27\x27','expect-url','code','29714350tJvnVB','get','Run\x20','/smartapi/menu/update','Update\x20request\x20for\x20menu\x20','replace',',\x20current\x20','3624714MmYuLH','4737771NpKxHs','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20direct\x20child\x20menu(s).','\x20--format\x20compress','body','failed','\x20has\x20an\x20empty\x20platform\x20path.','visible','requestedUrlObserved','Response\x20was\x20lost\x20and\x20menu\x20','appCode','sort','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','parentId'];a113_0xaaf1=function(){return _0x34724f;};return a113_0xaaf1();}function a113_0x50f5(_0x3fbcbb,_0xa04f8c){_0x3fbcbb=_0x3fbcbb-0x15d;const _0xaaf15=a113_0xaaf1();let _0x50f570=_0xaaf15[_0x3fbcbb];return _0x50f570;}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':a113_0x27bc98(0x196),'path':a113_0x27bc98(0x175)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x27bc98(0x190),'description':a113_0x27bc98(0x1a6),'risk':a113_0x27bc98(0x199),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x27bc98(0x18a),'type':a113_0x27bc98(0x1a0),'required':!![],'description':a113_0x27bc98(0x16d)},{'name':'expect-url','type':a113_0x27bc98(0x1a0),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4f274c){validateInput(_0x4f274c);},async 'dryRun'(_0x31c485){const _0x18eeef=a113_0x27bc98;validateInput(_0x31c485);const _0x50617d=await buildPlan(_0x31c485,!![]);return menuDryRunResult(_0x50617d['plan'],{'method':_0x18eeef(0x196),'url':_0x18eeef(0x175),'body':_0x50617d[_0x18eeef(0x17e)],'description':_0x18eeef(0x17b)+_0x50617d[_0x18eeef(0x17e)]['id']+'.'});},async 'execute'(_0x2a886d){const _0x1f0b47=a113_0x27bc98;validateInput(_0x2a886d);const _0x85f300=await buildPlan(_0x2a886d,![]),{plan:_0x25e722,body:_0x308350,before:_0x3f52ea,noChanges:_0x3c3620}=_0x85f300,_0x483f14=_0x308350['id'];if(_0x3c3620)return updateSuccess(_0x25e722,_0x85f300['snapshot'],_0x3f52ea,!![],![]);await recheckMutationSnapshot(_0x2a886d,_0x25e722,_0x1f0b47(0x15d),_0x483f14);try{await updateMenuEntity(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie'],{'id':_0x308350['id'],'url':_0x308350[_0x1f0b47(0x18a)]});}catch(_0x336b60){const _0x512973=mapMenuApiError(_0x336b60,_0x1f0b47(0x15d),_0x483f14);if(isMenuResponseLoss(_0x336b60)&&_0x512973[_0x1f0b47(0x171)]!==_0x1f0b47(0x19e))return recoverAfterResponseLoss(_0x2a886d,_0x85f300);throw menuFailure(_0x512973,_0x25e722,{'stage':_0x1f0b47(0x1a1),'failed':{'id':_0x483f14},'warnings':[_0x1f0b47(0x194)],'verification':{'status':'failed','targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d['appCode'])}});}let _0x43ece6,_0x405dc1;try{_0x43ece6=await fetchMenuSnapshot(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie']),_0x405dc1=requireMenu(_0x43ece6,_0x483f14),verifyUpdatedFact(_0x3f52ea,_0x405dc1,_0x308350[_0x1f0b47(0x18a)]);}catch(_0x597879){const _0x13b706=describeMenuErrorCause(_0x597879,_0x1f0b47(0x18e),_0x483f14),_0x44c0aa=asVerificationError(_0x597879,_0x1f0b47(0x176)+_0x483f14+_0x1f0b47(0x189));throw menuFailure(_0x44c0aa,_0x25e722,{'stage':_0x1f0b47(0x19d),'succeeded':[{'id':_0x483f14,'updateRequested':!![]}],'failed':{'id':_0x483f14,'requestedStateConfirmed':![],..._0x13b706},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x1f0b47(0x17f),'targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d[_0x1f0b47(0x184)])}});}return updateSuccess(_0x25e722,_0x43ece6,_0x405dc1,![],![]);}};function validateInput(_0x1b7508){const _0x3c949c=a113_0x27bc98;validateExactId(_0x1b7508),requiredUrl(_0x1b7508,'url'),requiredExpectedUrl(_0x1b7508),parseParentId(_0x1b7508,_0x3c949c(0x1a9),{'required':!![]});}function requiredUrl(_0x10a17a,_0x405372){const _0x115bfd=a113_0x27bc98;if(!hasFlag(_0x10a17a,_0x405372)||!_0x10a17a[_0x115bfd(0x192)](_0x405372)[_0x115bfd(0x15e)]())throw CliErrors['flagMissing'](_0x405372);return validateExternalMenuUrl(_0x10a17a['str'](_0x405372));}function requiredExpectedUrl(_0x425af8){const _0x125bf8=a113_0x27bc98;if(!hasFlag(_0x425af8,_0x125bf8(0x170))||!_0x425af8[_0x125bf8(0x192)]('expect-url')['trim']())throw CliErrors[_0x125bf8(0x19c)](_0x125bf8(0x170));return _0x425af8[_0x125bf8(0x192)](_0x125bf8(0x170))[_0x125bf8(0x15e)]();}async function buildPlan(_0xfab6af,_0x58a7d9){const _0x38988e=a113_0x27bc98,_0x5f13d2=validateExactId(_0xfab6af),_0x540297=requiredUrl(_0xfab6af,_0x38988e(0x18a)),_0x1cec6f=requiredExpectedUrl(_0xfab6af),_0x20e5a6=parseParentId(_0xfab6af,'expect-parent-id',{'required':!![]}),_0x52613f=await fetchMutationSnapshot(_0xfab6af,_0x38988e(0x15d),_0x5f13d2),_0x1fee33=requireMenu(_0x52613f,_0x5f13d2);assertExternalLinkLeaf(_0x1fee33);if(_0x1fee33[_0x38988e(0x187)]!==_0x20e5a6)throw menuError(_0x38988e(0x18c),'Menu\x20'+_0x5f13d2+_0x38988e(0x160)+formatParent(_0x20e5a6)+_0x38988e(0x178)+formatParent(_0x1fee33[_0x38988e(0x187)])+'.',_0x38988e(0x18d));const _0x29f93a=_0x1fee33['url']===_0x540297;if(!_0x29f93a&&_0x1fee33[_0x38988e(0x18a)]!==_0x1cec6f)throw menuError('menu_state_drift',_0x38988e(0x188)+_0x5f13d2+_0x38988e(0x1a2),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x1c985f={'id':_0x5f13d2,'appCode':_0xfab6af[_0x38988e(0x184)],'url':_0x540297},_0x385108={..._0x1fee33,'url':_0x540297};return{'body':_0x1c985f,'before':_0x1fee33,'noChanges':_0x29f93a,'snapshot':_0x52613f,'plan':mutationResult({'operation':_0x38988e(0x190),'selector':{'id':_0x5f13d2},'before':_0x1fee33,'after':_0x385108,'dryRun':_0x58a7d9,'backend':[...BACKEND],'plannedActions':_0x29f93a?[]:[{'stage':_0x38988e(0x16e),'method':_0x38988e(0x196),'path':_0x38988e(0x175),'body':_0x1c985f}],'snapshotHash':_0x52613f['hash'],'warnings':_0x29f93a?[_0x38988e(0x15f)]:[]})};}function assertExternalLinkLeaf(_0x1c7b7b){const _0x3a42ad=a113_0x27bc98;if(_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x16c)&&_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x161))throw menuError(_0x3a42ad(0x168),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x19f)+(_0x1c7b7b[_0x3a42ad(0x19b)]||'unknown')+_0x3a42ad(0x197),_0x3a42ad(0x1a8));if(_0x1c7b7b[_0x3a42ad(0x163)]!==0x0)throw menuError(_0x3a42ad(0x1a3),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x1a7)+_0x1c7b7b[_0x3a42ad(0x163)]+_0x3a42ad(0x17c),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x1c7b7b[_0x3a42ad(0x165)][_0x3a42ad(0x15e)]())throw menuError('menu_external_link_path_missing',_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x180),_0x3a42ad(0x186));}function verifyUpdatedFact(_0x4f41ea,_0x307eae,_0x166a4e){const _0x310c61=a113_0x27bc98;assertExternalLinkLeaf(_0x307eae);const _0xc7c8d3=[['id',_0x307eae['id'],_0x4f41ea['id']],['label',_0x307eae['label'],_0x4f41ea[_0x310c61(0x193)]],[_0x310c61(0x19b),_0x307eae[_0x310c61(0x19b)],_0x4f41ea[_0x310c61(0x19b)]],[_0x310c61(0x165),_0x307eae[_0x310c61(0x165)],_0x4f41ea['path']],[_0x310c61(0x187),_0x307eae[_0x310c61(0x187)],_0x4f41ea[_0x310c61(0x187)]],[_0x310c61(0x185),_0x307eae[_0x310c61(0x185)],_0x4f41ea[_0x310c61(0x185)]],[_0x310c61(0x181),_0x307eae[_0x310c61(0x181)],_0x4f41ea[_0x310c61(0x181)]]];for(const [_0x21af07,_0x97e053,_0x16e819]of _0xc7c8d3){assertVerified(_0x97e053===_0x16e819,_0x310c61(0x188)+_0x4f41ea['id']+'\x20'+_0x21af07+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x307eae[_0x310c61(0x18a)]===_0x166a4e,_0x310c61(0x188)+_0x4f41ea['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x512d87,_0x27216d,_0x379435,_0x3d225d,_0x1dcb73){const _0x3d6c70=a113_0x27bc98,_0x3bca74=_0x379435['id'],_0x37fe42=mutationResult({..._0x512d87,'after':_0x379435,'dryRun':![],'succeeded':[{'id':_0x3bca74,'updated':!_0x3d225d,'skipped':_0x3d225d,'recovered':_0x1dcb73}],'verification':{'checkedBy':_0x3d6c70(0x167),'snapshotHash':_0x27216d['hash'],'targetId':_0x3bca74,'matchesRequestedState':!![],'recovered':_0x1dcb73}});return{'ok':!![],'message':_0x1dcb73?_0x3d6c70(0x18b)+_0x3bca74+'.':_0x3d225d?_0x3d6c70(0x188)+_0x3bca74+_0x3d6c70(0x166):_0x3d6c70(0x16b)+_0x3bca74+'.','data':{..._0x37fe42,'recovered':_0x1dcb73}};}async function recoverAfterResponseLoss(_0x42185a,_0xd50061){const _0x30e50d=a113_0x27bc98,{plan:_0x445379,before:_0x2bb57b,body:_0x475bab}=_0xd50061;let _0xdc5893;try{_0xdc5893=await fetchMenuSnapshot(_0x42185a['appCode'],_0x42185a['cookie']);}catch{throw recoveryRequired(_0x445379,_0x42185a['appCode'],{'id':_0x475bab['id'],'readbackFailed':!![]});}const _0x15128a=_0xdc5893[_0x30e50d(0x162)][_0x30e50d(0x173)](_0x475bab['id']);if(!_0x15128a||_0x15128a[_0x30e50d(0x18a)]!==_0x475bab[_0x30e50d(0x18a)])throw recoveryRequired(_0x445379,_0x42185a[_0x30e50d(0x184)],{'id':_0x475bab['id'],'requestedUrlObserved':![],'after':_0x15128a??null});try{verifyUpdatedFact(_0x2bb57b,_0x15128a,_0x475bab[_0x30e50d(0x18a)]);}catch(_0x4f5127){const _0x238af2=asVerificationError(_0x4f5127,_0x30e50d(0x183)+_0x475bab['id']+_0x30e50d(0x1a5));throw menuFailure(_0x238af2,_0x445379,{'stage':'update-recovery','succeeded':[{'id':_0x475bab['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x15128a,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x30e50d(0x17f),'targetId':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x42185a['appCode'])}});}return updateSuccess(_0x445379,_0xdc5893,_0x15128a,![],!![]);}function recoveryRequired(_0x1a0701,_0x42a65d,_0x4817d3){const _0x3cb335=a113_0x27bc98,_0xf3cb84=menuError('menu_update_recovery_required',_0x3cb335(0x169),_0x3cb335(0x174)+buildLookupCommand(_0x42a65d)+_0x3cb335(0x1aa));return menuFailure(_0xf3cb84,_0x1a0701,{'stage':'update-recovery','failed':{'id':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4817d3['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x3cb335(0x17f),'targetId':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x42a65d)}});}function buildLookupCommand(_0x1bc779){const _0x2d8032=a113_0x27bc98,_0x157108='\x27'+_0x1bc779[_0x2d8032(0x177)](/'/g,_0x2d8032(0x16f))+'\x27';return _0x2d8032(0x19a)+_0x157108+_0x2d8032(0x17d);}
@@ -1 +1 @@
1
- const a114_0x38c12f=a114_0x4d78;(function(_0x24e7ff,_0x2f0ebb){const _0x3e8a70=a114_0x4d78,_0x3dcc49=_0x24e7ff();while(!![]){try{const _0x400a53=parseInt(_0x3e8a70(0x160))/0x1+-parseInt(_0x3e8a70(0x131))/0x2+-parseInt(_0x3e8a70(0x168))/0x3*(parseInt(_0x3e8a70(0x144))/0x4)+-parseInt(_0x3e8a70(0x164))/0x5*(-parseInt(_0x3e8a70(0x14c))/0x6)+-parseInt(_0x3e8a70(0x133))/0x7*(-parseInt(_0x3e8a70(0x14a))/0x8)+parseInt(_0x3e8a70(0x143))/0x9+-parseInt(_0x3e8a70(0x15d))/0xa*(-parseInt(_0x3e8a70(0x158))/0xb);if(_0x400a53===_0x2f0ebb)break;else _0x3dcc49['push'](_0x3dcc49['shift']());}catch(_0x2ecf52){_0x3dcc49['push'](_0x3dcc49['shift']());}}}(a114_0x2431,0x39c1f));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';function a114_0x4d78(_0x493f1e,_0xc32a69){_0x493f1e=_0x493f1e-0x12d;const _0x24315e=a114_0x2431();let _0x4d784f=_0x24315e[_0x493f1e];return _0x4d784f;}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x38c12f(0x167),'path':a114_0x38c12f(0x16c)}];export const menuGroupCreate={'service':'menu','command':a114_0x38c12f(0x142),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x38c12f(0x140),'type':a114_0x38c12f(0x169),'required':!![],'description':a114_0x38c12f(0x13b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x17b504){validateCreateInput(_0x17b504);},async 'dryRun'(_0x3aa57d){const _0x38df5f=a114_0x38c12f,_0x119eaa=await buildCreatePlan(_0x3aa57d,!![]),_0x137c1f=_0x119eaa['after'];return menuDryRunResult(_0x119eaa,{'method':_0x38df5f(0x167),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x137c1f[_0x38df5f(0x150)]),'label':_0x137c1f[_0x38df5f(0x140)],'type':_0x38df5f(0x136),'visible':!![],'sort':_0x137c1f[_0x38df5f(0x161)],'extend':{}},'description':_0x38df5f(0x159)+String(_0x137c1f[_0x38df5f(0x140)])+_0x38df5f(0x162)});},async 'execute'(_0x2da3fc){const _0x5cb090=a114_0x38c12f;validateCreateInput(_0x2da3fc);const _0x3228ff=await buildCreatePlan(_0x2da3fc,![]),_0x421a23=_0x3228ff[_0x5cb090(0x12e)];await recheckMutationSnapshot(_0x2da3fc,_0x3228ff,_0x5cb090(0x139));let _0x241f9f;try{_0x241f9f=await createMenuEntity(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc[_0x5cb090(0x15b)],{'parentId':toApiParentId(_0x421a23[_0x5cb090(0x150)]),'label':String(_0x421a23['label']),'type':_0x5cb090(0x136),'visible':!![],'sort':Number(_0x421a23[_0x5cb090(0x161)]),'extend':{}});}catch(_0x4e2178){const _0xdbb51b=mapMenuApiError(_0x4e2178,_0x5cb090(0x139));throw menuFailure(_0xdbb51b,_0x3228ff,{'stage':'create','failed':{}});}const _0x596dd9=Number(_0x241f9f['id']);if(!Number[_0x5cb090(0x15c)](_0x596dd9)||_0x596dd9<=0x0){const _0x4afc5d=menuError(_0x5cb090(0x152),_0x5cb090(0x13e),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x4afc5d,_0x3228ff,{'stage':_0x5cb090(0x149),'failed':{'createdId':_0x241f9f['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a)}});}const _0x1423ae=typeof _0x241f9f[_0x5cb090(0x13f)]==='string'?_0x241f9f[_0x5cb090(0x13f)]:'';if(!_0x1423ae[_0x5cb090(0x157)]()){const _0x198bcf=menuError('menu_create_response_invalid',_0x5cb090(0x156)+_0x596dd9+_0x5cb090(0x132),_0x5cb090(0x135));throw menuFailure(_0x198bcf,_0x3228ff,{'stage':_0x5cb090(0x149),'succeeded':[{'id':_0x596dd9,'created':!![]}],'failed':{'id':_0x596dd9,'generatedPathConfirmed':![]},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x16b)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':'failed','lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}let _0x19ea04;try{_0x19ea04=await fetchMenuSnapshot(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc['cookie']);}catch(_0xee8fbe){const _0x2ea079=describeMenuErrorCause(_0xee8fbe,_0x5cb090(0x16e),_0x596dd9),_0x1708f9=asVerificationError(_0xee8fbe,_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x137));throw menuFailure(_0x1708f9,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x2ea079},'warnings':['Folder\x20'+_0x596dd9+_0x5cb090(0x130)+JSON[_0x5cb090(0x146)](_0x1423ae)+_0x5cb090(0x166)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x596dd9}});}const _0x485fd4=_0x19ea04[_0x5cb090(0x138)]['get'](_0x596dd9);let _0x578745;try{assertVerified(Boolean(_0x485fd4),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x145)),_0x578745=_0x485fd4,assertVerified(_0x578745[_0x5cb090(0x15a)]===_0x5cb090(0x136),_0x5cb090(0x163)+_0x596dd9+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x578745[_0x5cb090(0x140)]===_0x421a23['label'],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x13a)),assertVerified(_0x578745['path']===_0x1423ae&&Boolean(_0x578745[_0x5cb090(0x13f)]['trim']()),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x12f)),assertVerified(_0x578745['visible']===!![],_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x141)),assertVerified(_0x578745['resources'][_0x5cb090(0x16f)]===0x0,_0x5cb090(0x147)+_0x596dd9+'\x20has\x20resources.'),assertVerified(_0x578745['childrenCount']===0x0,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x15e)),assertVerified(_0x578745[_0x5cb090(0x161)]===_0x421a23[_0x5cb090(0x161)],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x155)),assertVerified(_0x578745[_0x5cb090(0x150)]===_0x421a23[_0x5cb090(0x150)],_0x5cb090(0x147)+_0x596dd9+'\x20has\x20unexpected\x20parent\x20'+(_0x578745[_0x5cb090(0x150)]??_0x5cb090(0x15f))+'.'),assertVerified(_0x578745['pageId']==null,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x134));const _0x2e48a9=_0x578745['parentId']==null?undefined:requireFolder(_0x19ea04,_0x578745['parentId']);assertVerified(_0x578745[_0x5cb090(0x14d)]===(_0x2e48a9?_0x2e48a9[_0x5cb090(0x14d)]+0x1:0x0),_0x5cb090(0x147)+_0x596dd9+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x156915){const _0x4009e4=describeMenuErrorCause(_0x156915,_0x5cb090(0x16e),_0x596dd9),_0xa41a35=asVerificationError(_0x156915,'Folder\x20'+_0x596dd9+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0xa41a35,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x4009e4},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x12d)],'after':_0x485fd4??{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}const _0x1e1697=mutationResult({..._0x3228ff,'after':_0x578745,'dryRun':![],'succeeded':[{'id':_0x596dd9,'type':_0x5cb090(0x136),'path':_0x1423ae}],'verification':{'checkedBy':_0x5cb090(0x16d),'snapshotHash':_0x19ea04[_0x5cb090(0x165)],'folder':!![],'path':_0x1423ae,'emptyResources':!![]}});return{'ok':!![],'data':_0x1e1697,'message':_0x5cb090(0x148)+_0x596dd9+'.'};}};function validateCreateInput(_0x4f5b71){const _0x407e50=a114_0x38c12f,_0x2fd401=_0x4f5b71[_0x407e50(0x14f)](_0x407e50(0x140))[_0x407e50(0x157)]();if(!_0x2fd401)throw CliErrors[_0x407e50(0x153)](_0x407e50(0x140));parseParentId(_0x4f5b71,_0x407e50(0x154)),validateSort(_0x4f5b71);}async function buildCreatePlan(_0x139cf0,_0x5317c4){const _0x3c964a=a114_0x38c12f,_0x3eb12d=await fetchMutationSnapshot(_0x139cf0,_0x3c964a(0x139)),_0x237a39=parseParentId(_0x139cf0,_0x3c964a(0x154))??null;if(_0x237a39!=null)requireFolder(_0x3eb12d,_0x237a39);const _0x14286b=validateSort(_0x139cf0),_0x586b2f=_0x14286b??nextSiblingSort(_0x3eb12d,_0x237a39,'folder'),_0x4aa3a1=_0x139cf0[_0x3c964a(0x14f)](_0x3c964a(0x140))[_0x3c964a(0x157)]();return mutationResult({'operation':_0x3c964a(0x142),'selector':{'label':_0x4aa3a1,'parentId':_0x237a39},'before':null,'after':{'id':null,'parentId':_0x237a39,'label':_0x4aa3a1,'path':_0x3c964a(0x14e),'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5317c4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3c964a(0x13d),'method':'POST','path':_0x3c964a(0x16c),'body':{'parentId':toApiParentId(_0x237a39),'label':_0x4aa3a1,'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'extend':{}}}],'snapshotHash':_0x3eb12d['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}function a114_0x2431(){const _0x43f69a=['8RHseAF','appCode','1686XIeaek','depth','<platform-generated>','str','parentId','Folder\x20','menu_create_response_invalid','flagMissing','parent-id','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20for\x20folder\x20','trim','11xQniJh','Would\x20create\x20empty\x20folder\x20\x22','type','cookie','isSafeInteger','2761790GvqTDt','\x20is\x20not\x20empty.','root','69013tAiSUd','sort','\x22\x20with\x20a\x20platform-generated\x20path.','Created\x20menu\x20','335JHJMWF','hash',';\x20verify\x20it\x20before\x20retrying.','POST','438411NGiuRC','string','rabetbase\x20menu\x20list\x20--format\x20json','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','/smartapi/menu/create','menu\x20list','verify\x20folder\x20creation','length','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','498490naFuWh','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','343483thAMTM','\x20unexpectedly\x20owns\x20a\x20page.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','byId','create\x20folder','\x20has\x20an\x20unexpected\x20label.','Folder\x20label','failed','create-folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','path','label','\x20is\x20not\x20visible.','group-create','3285054cNEdbb','8SCmDcF','\x20is\x20missing\x20from\x20menu\x20list.','stringify','Created\x20folder\x20','Created\x20menu\x20folder\x20','create-response-validation'];a114_0x2431=function(){return _0x43f69a;};return a114_0x2431();}
1
+ const a114_0x39f9e4=a114_0x9b40;(function(_0x57e545,_0x102c3f){const _0x2196f7=a114_0x9b40,_0x4f5c72=_0x57e545();while(!![]){try{const _0x315995=-parseInt(_0x2196f7(0x1bd))/0x1*(parseInt(_0x2196f7(0x1c3))/0x2)+parseInt(_0x2196f7(0x1c5))/0x3*(-parseInt(_0x2196f7(0x194))/0x4)+parseInt(_0x2196f7(0x1cd))/0x5*(parseInt(_0x2196f7(0x1b5))/0x6)+-parseInt(_0x2196f7(0x1b9))/0x7*(-parseInt(_0x2196f7(0x1d8))/0x8)+parseInt(_0x2196f7(0x199))/0x9+-parseInt(_0x2196f7(0x1ac))/0xa+-parseInt(_0x2196f7(0x1a8))/0xb;if(_0x315995===_0x102c3f)break;else _0x4f5c72['push'](_0x4f5c72['shift']());}catch(_0x8c1b45){_0x4f5c72['push'](_0x4f5c72['shift']());}}}(a114_0x1bdb,0xad5bd));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';function a114_0x1bdb(){const _0x423a4d=['create\x20folder','sort','11543310ZektYN','create-folder','parent-id','group-create','\x20is\x20missing\x20from\x20menu\x20list.','folder','resources','rabetbase\x20menu\x20list\x20--format\x20json','hash','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20an\x20unexpected\x20label.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Created\x20menu\x20','523391aGGxnG','create-response-validation','verification','childrenCount','1805480mqxmwL','cookie','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','parentId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','POST','9318VPtXIn','str',';\x20verify\x20it\x20before\x20retrying.','label','133BgIZAX','\x20is\x20not\x20visible.','Folder\x20label','string','1310eYHpYB','appCode','root','Folder\x20','type','/smartapi/menu/create','1270itBlby','\x20has\x20resources.','922353JrqhgR','\x20may\x20exist\x20online\x20at\x20path\x20','failed','length','menu','\x20is\x20not\x20empty.','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','1715Hwinsn','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20folder\x20','path','depth','verify\x20folder\x20creation','isSafeInteger','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','\x20unexpectedly\x20owns\x20a\x20page.','110416LBDLwo','visible','\x20has\x20unexpected\x20parent\x20','menu_create_response_invalid','Created\x20menu\x20folder\x20','get','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','4ELDHoJ','byId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.'];a114_0x1bdb=function(){return _0x423a4d;};return a114_0x1bdb();}function a114_0x9b40(_0x3be109,_0x56abef){_0x3be109=_0x3be109-0x190;const _0x1bdb7f=a114_0x1bdb();let _0x9b40d9=_0x1bdb7f[_0x3be109];return _0x9b40d9;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x39f9e4(0x1b4),'path':a114_0x39f9e4(0x1c2)}];export const menuGroupCreate={'service':a114_0x39f9e4(0x1c9),'command':a114_0x39f9e4(0x19c),'description':a114_0x39f9e4(0x1b1),'risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x39f9e4(0x1b8),'type':a114_0x39f9e4(0x1bc),'required':!![],'description':a114_0x39f9e4(0x1bb)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14d4ba){validateCreateInput(_0x14d4ba);},async 'dryRun'(_0x180b7c){const _0x31ac87=a114_0x39f9e4,_0x44a66a=await buildCreatePlan(_0x180b7c,!![]),_0x264d00=_0x44a66a[_0x31ac87(0x1b2)];return menuDryRunResult(_0x44a66a,{'method':_0x31ac87(0x1b4),'url':_0x31ac87(0x1c2),'body':{'parentId':toApiParentId(_0x264d00['parentId']),'label':_0x264d00[_0x31ac87(0x1b8)],'type':_0x31ac87(0x19e),'visible':!![],'sort':_0x264d00[_0x31ac87(0x198)],'extend':{}},'description':_0x31ac87(0x1a2)+String(_0x264d00[_0x31ac87(0x1b8)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x407316){const _0x5336fb=a114_0x39f9e4;validateCreateInput(_0x407316);const _0x136518=await buildCreatePlan(_0x407316,![]),_0x51a577=_0x136518[_0x5336fb(0x1b2)];await recheckMutationSnapshot(_0x407316,_0x136518,_0x5336fb(0x197));let _0xc49a93;try{_0xc49a93=await createMenuEntity(_0x407316[_0x5336fb(0x1be)],_0x407316['cookie'],{'parentId':toApiParentId(_0x51a577['parentId']),'label':String(_0x51a577[_0x5336fb(0x1b8)]),'type':'folder','visible':!![],'sort':Number(_0x51a577[_0x5336fb(0x198)]),'extend':{}});}catch(_0x2f9054){const _0x5c8106=mapMenuApiError(_0x2f9054,_0x5336fb(0x197));throw menuFailure(_0x5c8106,_0x136518,{'stage':'create','failed':{}});}const _0x366169=Number(_0xc49a93['id']);if(!Number[_0x5336fb(0x1d3)](_0x366169)||_0x366169<=0x0){const _0x10fa94=menuError('menu_create_response_invalid',_0x5336fb(0x1cc),_0x5336fb(0x1d5));throw menuFailure(_0x10fa94,_0x136518,{'stage':_0x5336fb(0x1a9),'failed':{'createdId':_0xc49a93['id']??null},'warnings':[_0x5336fb(0x1ce)],'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1a4e6c=typeof _0xc49a93[_0x5336fb(0x1d0)]==='string'?_0xc49a93['path']:'';if(!_0x1a4e6c['trim']()){const _0x10c1d8=menuError(_0x5336fb(0x190),_0x5336fb(0x1a3)+_0x366169+_0x5336fb(0x1a4),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x10c1d8,_0x136518,{'stage':_0x5336fb(0x1a9),'succeeded':[{'id':_0x366169,'created':!![]}],'failed':{'id':_0x366169,'generatedPathConfirmed':![]},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x1ae)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}let _0x4b8465;try{_0x4b8465=await fetchMenuSnapshot(_0x407316[_0x5336fb(0x1be)],_0x407316[_0x5336fb(0x1ad)]);}catch(_0x5ade3b){const _0x3c0e4c=describeMenuErrorCause(_0x5ade3b,_0x5336fb(0x1d2),_0x366169),_0x552496=asVerificationError(_0x5ade3b,_0x5336fb(0x1c0)+_0x366169+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x552496,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x3c0e4c},'warnings':['Folder\x20'+_0x366169+_0x5336fb(0x1c6)+JSON[_0x5336fb(0x1af)](_0x1a4e6c)+_0x5336fb(0x1b7)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x3e840d=_0x4b8465[_0x5336fb(0x195)][_0x5336fb(0x192)](_0x366169);let _0x44d625;try{assertVerified(Boolean(_0x3e840d),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x19d)),_0x44d625=_0x3e840d,assertVerified(_0x44d625[_0x5336fb(0x1c1)]===_0x5336fb(0x19e),_0x5336fb(0x1a7)+_0x366169+_0x5336fb(0x1d6)),assertVerified(_0x44d625[_0x5336fb(0x1b8)]===_0x51a577[_0x5336fb(0x1b8)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1a5)),assertVerified(_0x44d625[_0x5336fb(0x1d0)]===_0x1a4e6c&&Boolean(_0x44d625['path'][_0x5336fb(0x1d4)]()),'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1b3)),assertVerified(_0x44d625[_0x5336fb(0x1d9)]===!![],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1ba)),assertVerified(_0x44d625[_0x5336fb(0x19f)][_0x5336fb(0x1c8)]===0x0,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1c4)),assertVerified(_0x44d625[_0x5336fb(0x1ab)]===0x0,'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1ca)),assertVerified(_0x44d625[_0x5336fb(0x198)]===_0x51a577[_0x5336fb(0x198)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1cb)),assertVerified(_0x44d625[_0x5336fb(0x1b0)]===_0x51a577[_0x5336fb(0x1b0)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1da)+(_0x44d625[_0x5336fb(0x1b0)]??_0x5336fb(0x1bf))+'.'),assertVerified(_0x44d625['pageId']==null,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1d7));const _0x331ca3=_0x44d625[_0x5336fb(0x1b0)]==null?undefined:requireFolder(_0x4b8465,_0x44d625[_0x5336fb(0x1b0)]);assertVerified(_0x44d625[_0x5336fb(0x1d1)]===(_0x331ca3?_0x331ca3['depth']+0x1:0x0),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x196));}catch(_0x15c28d){const _0x2e6cb0=describeMenuErrorCause(_0x15c28d,_0x5336fb(0x1d2),_0x366169),_0xc253c4=asVerificationError(_0x15c28d,'Folder\x20'+_0x366169+_0x5336fb(0x1a6));throw menuFailure(_0xc253c4,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x2e6cb0},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x193)],'after':_0x3e840d??{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x43f203=mutationResult({..._0x136518,'after':_0x44d625,'dryRun':![],'succeeded':[{'id':_0x366169,'type':_0x5336fb(0x19e),'path':_0x1a4e6c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4b8465[_0x5336fb(0x1a1)],'folder':!![],'path':_0x1a4e6c,'emptyResources':!![]}});return{'ok':!![],'data':_0x43f203,'message':_0x5336fb(0x191)+_0x366169+'.'};}};function validateCreateInput(_0x27883d){const _0x2a562e=a114_0x39f9e4,_0x12968d=_0x27883d[_0x2a562e(0x1b6)](_0x2a562e(0x1b8))[_0x2a562e(0x1d4)]();if(!_0x12968d)throw CliErrors['flagMissing'](_0x2a562e(0x1b8));parseParentId(_0x27883d,_0x2a562e(0x19b)),validateSort(_0x27883d);}async function buildCreatePlan(_0x2da247,_0x2c784f){const _0x272017=a114_0x39f9e4,_0x357b03=await fetchMutationSnapshot(_0x2da247,_0x272017(0x197)),_0x325821=parseParentId(_0x2da247,'parent-id')??null;if(_0x325821!=null)requireFolder(_0x357b03,_0x325821);const _0x139051=validateSort(_0x2da247),_0xbe7cbe=_0x139051??nextSiblingSort(_0x357b03,_0x325821,_0x272017(0x19e)),_0x894c84=_0x2da247[_0x272017(0x1b6)]('label')[_0x272017(0x1d4)]();return mutationResult({'operation':_0x272017(0x19c),'selector':{'label':_0x894c84,'parentId':_0x325821},'before':null,'after':{'id':null,'parentId':_0x325821,'label':_0x894c84,'path':'<platform-generated>','type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2c784f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x272017(0x19a),'method':_0x272017(0x1b4),'path':_0x272017(0x1c2),'body':{'parentId':toApiParentId(_0x325821),'label':_0x894c84,'type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'extend':{}}}],'snapshotHash':_0x357b03[_0x272017(0x1a1)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
@@ -1 +1 @@
1
- const a115_0x2f76a8=a115_0x48c5;(function(_0x3981b6,_0xd3ce74){const _0xfa531e=a115_0x48c5,_0x506e3c=_0x3981b6();while(!![]){try{const _0x101b0e=-parseInt(_0xfa531e(0x7d))/0x1*(parseInt(_0xfa531e(0x90))/0x2)+-parseInt(_0xfa531e(0x76))/0x3+parseInt(_0xfa531e(0xab))/0x4*(-parseInt(_0xfa531e(0x8d))/0x5)+parseInt(_0xfa531e(0x98))/0x6+parseInt(_0xfa531e(0x89))/0x7*(-parseInt(_0xfa531e(0x9b))/0x8)+-parseInt(_0xfa531e(0x7f))/0x9+parseInt(_0xfa531e(0x9e))/0xa;if(_0x101b0e===_0xd3ce74)break;else _0x506e3c['push'](_0x506e3c['shift']());}catch(_0x5cab73){_0x506e3c['push'](_0x506e3c['shift']());}}}(a115_0x4f67,0x86de4));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';function a115_0x4f67(){const _0x281005=['13367710xQRpin','validation','folder','Menu\x20','sort','rabetbase\x20menu\x20list\x20--format\x20json','cookie','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','\x20is\x20type\x20\x22','\x22,\x20not\x20folder.','parent-id','menu\x20list','appCode','4dIZLlj','1503051YSaJyO','\x20label\x20update\x20did\x20not\x20take\x20effect.','label','\x20sort\x20update\x20did\x20not\x20take\x20effect.','update\x20folder','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','parentId','22918LHGEAZ','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','385749BbhtZZ','/smartapi/menu/update','POST','\x20already\x20matches\x20the\x20requested\x20state.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','selector','Updated\x20folder\x20','unknown','hash','7yCHAHS','Would\x20update\x20folder\x20','\x20is\x20no\x20longer\x20type\x20folder.','failed','2791535BegHiL','Folder\x20','type','4EuUmke','verification','Update\x20request\x20for\x20folder\x20','menu_not_folder','string','group-update','--label\x20cannot\x20be\x20empty.','write','6149574nNwOGF','verify\x20folder\x20update','trim','5290072FhcGSk','menu','str'];a115_0x4f67=function(){return _0x281005;};return a115_0x4f67();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a115_0x2f76a8(0x80)}];function a115_0x48c5(_0x43e6fe,_0x48055d){_0x43e6fe=_0x43e6fe-0x76;const _0x4f67d6=a115_0x4f67();let _0x48c5a7=_0x4f67d6[_0x43e6fe];return _0x48c5a7;}export const menuGroupUpdate={'service':a115_0x2f76a8(0x9c),'command':a115_0x2f76a8(0x95),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a115_0x2f76a8(0x97),'structuredErrors':!![],'rejectedFlags':[{'name':a115_0x2f76a8(0xa8),'message':a115_0x2f76a8(0x7b),'hint':a115_0x2f76a8(0x84)}],'flags':[MENU_ID_FLAG,{'name':a115_0x2f76a8(0x78),'type':a115_0x2f76a8(0x94),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x143e24){validateUpdateInput(_0x143e24);},async 'dryRun'(_0xc76949){const _0x298a77=a115_0x2f76a8;validateUpdateInput(_0xc76949);const {plan:_0x561ecb,patch:_0x100647}=await buildUpdatePlan(_0xc76949,!![]);return menuDryRunResult(_0x561ecb,{'method':_0x298a77(0x81),'url':_0x298a77(0x80),'body':_0x100647,'description':_0x298a77(0x8a)+_0x561ecb[_0x298a77(0x85)]['id']+'.'});},async 'execute'(_0x4c614b){const _0x21a6d1=a115_0x2f76a8;validateUpdateInput(_0x4c614b);const {plan:_0x3cb8cf,patch:_0x5525ee,noChanges:_0x1a6107}=await buildUpdatePlan(_0x4c614b,![]),_0x4cffa3=Number(_0x3cb8cf[_0x21a6d1(0x85)]['id']),_0x9bca86=await recheckMutationSnapshot(_0x4c614b,_0x3cb8cf,_0x21a6d1(0x7a),_0x4cffa3);if(!_0x1a6107)try{await updateMenuEntity(_0x4c614b[_0x21a6d1(0xaa)],_0x4c614b[_0x21a6d1(0xa4)],_0x5525ee);}catch(_0x5da324){const _0x125564=mapMenuApiError(_0x5da324,_0x21a6d1(0x7a),_0x4cffa3);throw menuFailure(_0x125564,_0x3cb8cf,{'stage':'update','failed':{'id':_0x4cffa3}});}let _0x2d077b=_0x9bca86,_0x4451c7;try{!_0x1a6107&&(_0x2d077b=await fetchMenuSnapshot(_0x4c614b[_0x21a6d1(0xaa)],_0x4c614b['cookie'])),_0x4451c7=requireMenu(_0x2d077b,_0x4cffa3),verifyPatch(_0x4451c7,_0x5525ee),_0x4451c7[_0x21a6d1(0x7c)]!=null&&requireFolder(_0x2d077b,_0x4451c7[_0x21a6d1(0x7c)]);}catch(_0x401396){const _0x41dfdc=describeMenuErrorCause(_0x401396,_0x21a6d1(0x99),_0x4cffa3),_0x1ffbb9=asVerificationError(_0x401396,_0x21a6d1(0x92)+_0x4cffa3+_0x21a6d1(0x83));throw menuFailure(_0x1ffbb9,_0x3cb8cf,{'stage':_0x21a6d1(0x91),'succeeded':[{'id':_0x4cffa3,'updateRequested':!_0x1a6107,'skipped':_0x1a6107}],'failed':{'id':_0x4cffa3,'requestedStateConfirmed':![],..._0x41dfdc},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x21a6d1(0x8c),'lookupCommand':_0x21a6d1(0xa3),'targetId':_0x4cffa3}});}const _0xc0bfa6=mutationResult({..._0x3cb8cf,'after':_0x4451c7,'dryRun':![],'succeeded':[{'id':_0x4cffa3,'updated':!_0x1a6107,'skipped':_0x1a6107}],'verification':{'checkedBy':_0x21a6d1(0xa9),'snapshotHash':_0x2d077b[_0x21a6d1(0x88)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0xc0bfa6,'message':_0x1a6107?_0x21a6d1(0x8e)+_0x4cffa3+_0x21a6d1(0x82):_0x21a6d1(0x86)+_0x4cffa3+'.'};}};function validateUpdateInput(_0x42b6f7){const _0xb79441=a115_0x2f76a8;validateExactId(_0x42b6f7);if(hasFlag(_0x42b6f7,'parent-id'))throw CliErrors['validation'](_0xb79441(0x7b),_0xb79441(0x84));if(!hasFlag(_0x42b6f7,'label')&&!hasFlag(_0x42b6f7,_0xb79441(0xa2)))throw CliErrors[_0xb79441(0x9f)](_0xb79441(0xa5));if(hasFlag(_0x42b6f7,_0xb79441(0x78))&&!_0x42b6f7['str']('label')['trim']())throw CliErrors[_0xb79441(0x9f)](_0xb79441(0x96));validateSort(_0x42b6f7);}async function buildUpdatePlan(_0x3a4e4f,_0x382ece){const _0x489233=a115_0x2f76a8,_0x1db60f=validateExactId(_0x3a4e4f),_0xa65522=await fetchMutationSnapshot(_0x3a4e4f,_0x489233(0x7a),_0x1db60f),_0x138e53=requireMenu(_0xa65522,_0x1db60f);if(_0x138e53['type']!==_0x489233(0xa0))throw menuError(_0x489233(0x93),_0x489233(0xa1)+_0x1db60f+_0x489233(0xa6)+(_0x138e53['type']||_0x489233(0x87))+_0x489233(0xa7),_0x489233(0x7e));assertExpectedState(_0x3a4e4f,_0x138e53);const _0x2c0445={'id':_0x1db60f},_0x4f1920={..._0x138e53};if(hasFlag(_0x3a4e4f,'label')){const _0x4c4c51=_0x3a4e4f[_0x489233(0x9d)](_0x489233(0x78))[_0x489233(0x9a)]();_0x2c0445[_0x489233(0x78)]=_0x4c4c51,_0x4f1920[_0x489233(0x78)]=_0x4c4c51;}if(hasFlag(_0x3a4e4f,_0x489233(0xa2))){const _0x1f83fa=validateSort(_0x3a4e4f);_0x2c0445['sort']=_0x1f83fa,_0x4f1920[_0x489233(0xa2)]=_0x1f83fa;}const _0x48a3b4=sameRequestedState(_0x138e53,_0x4f1920),_0x354725=_0x48a3b4?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x2c0445,'noChanges':_0x48a3b4,'plan':mutationResult({'operation':_0x489233(0x95),'selector':{'id':_0x1db60f},'before':_0x138e53,'after':_0x4f1920,'dryRun':_0x382ece,'backend':[...BACKEND],'snapshotHash':_0xa65522['hash'],'warnings':_0x354725})};}function sameRequestedState(_0x2002cc,_0x529943){const _0x250e7e=a115_0x2f76a8;return _0x2002cc[_0x250e7e(0x78)]===_0x529943[_0x250e7e(0x78)]&&_0x2002cc[_0x250e7e(0xa2)]===_0x529943[_0x250e7e(0xa2)];}function verifyPatch(_0x2cacf5,_0xca9387){const _0x584026=a115_0x2f76a8;assertVerified(_0x2cacf5[_0x584026(0x8f)]===_0x584026(0xa0),_0x584026(0xa1)+_0x2cacf5['id']+_0x584026(0x8b)),_0xca9387[_0x584026(0x78)]!==undefined&&assertVerified(_0x2cacf5[_0x584026(0x78)]===_0xca9387['label'],'Folder\x20'+_0x2cacf5['id']+_0x584026(0x77)),_0xca9387[_0x584026(0xa2)]!==undefined&&assertVerified(_0x2cacf5[_0x584026(0xa2)]===_0xca9387['sort'],_0x584026(0x8e)+_0x2cacf5['id']+_0x584026(0x79));}
1
+ function a115_0x1b29(){const _0x41e071=['Menu\x20','1954270ZyUzTi','string','\x20label\x20update\x20did\x20not\x20take\x20effect.','menu\x20list','verification','str','type','sort','update\x20folder','New\x20folder\x20label','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','1198840aBlvfA','\x20is\x20no\x20longer\x20type\x20folder.','menu','folder','rabetbase\x20menu\x20list\x20--format\x20json','menu_not_folder','write','786HmuQAF','unknown','appCode','92YjCByW','5QcoVCt','Update\x20request\x20for\x20folder\x20','failed','verify\x20folder\x20update','label','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','131247eboqGc','\x20sort\x20update\x20did\x20not\x20take\x20effect.','Updated\x20folder\x20','parent-id','8GclbsE','No\x20online\x20fields\x20would\x20change.','parentId','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','3716608fHURWk','/smartapi/menu/update','POST','356379yvTuau','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x22,\x20not\x20folder.','trim','2810334cBVZtt','selector','group-update','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','validation','Folder\x20','\x20is\x20type\x20\x22','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','hash','cookie'];a115_0x1b29=function(){return _0x41e071;};return a115_0x1b29();}const a115_0x50f235=a115_0x14c9;(function(_0x43fe67,_0x1e3d1b){const _0x23b5bc=a115_0x14c9,_0x59ec09=_0x43fe67();while(!![]){try{const _0x59d3fb=parseInt(_0x23b5bc(0x1b2))/0x1+-parseInt(_0x23b5bc(0x1d6))/0x2*(parseInt(_0x23b5bc(0x1d3))/0x3)+-parseInt(_0x23b5bc(0x1cc))/0x4+-parseInt(_0x23b5bc(0x1d7))/0x5*(parseInt(_0x23b5bc(0x1b6))/0x6)+parseInt(_0x23b5bc(0x1af))/0x7+parseInt(_0x23b5bc(0x1ab))/0x8*(-parseInt(_0x23b5bc(0x1dd))/0x9)+parseInt(_0x23b5bc(0x1c1))/0xa;if(_0x59d3fb===_0x1e3d1b)break;else _0x59ec09['push'](_0x59ec09['shift']());}catch(_0x327604){_0x59ec09['push'](_0x59ec09['shift']());}}}(a115_0x1b29,0x46510));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';function a115_0x14c9(_0x61d790,_0x6c50ba){_0x61d790=_0x61d790-0x1a8;const _0x1b29c8=a115_0x1b29();let _0x14c944=_0x1b29c8[_0x61d790];return _0x14c944;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0x50f235(0x1b1),'path':a115_0x50f235(0x1b0)}];export const menuGroupUpdate={'service':a115_0x50f235(0x1ce),'command':a115_0x50f235(0x1b8),'description':a115_0x50f235(0x1b9),'risk':a115_0x50f235(0x1d2),'structuredErrors':!![],'rejectedFlags':[{'name':a115_0x50f235(0x1aa),'message':a115_0x50f235(0x1dc),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a115_0x50f235(0x1db),'type':a115_0x50f235(0x1c2),'description':a115_0x50f235(0x1ca)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2ef259){validateUpdateInput(_0x2ef259);},async 'dryRun'(_0x228802){const _0x47a05c=a115_0x50f235;validateUpdateInput(_0x228802);const {plan:_0x389e6a,patch:_0x3a5610}=await buildUpdatePlan(_0x228802,!![]);return menuDryRunResult(_0x389e6a,{'method':_0x47a05c(0x1b1),'url':_0x47a05c(0x1b0),'body':_0x3a5610,'description':'Would\x20update\x20folder\x20'+_0x389e6a[_0x47a05c(0x1b7)]['id']+'.'});},async 'execute'(_0x42191e){const _0x544c41=a115_0x50f235;validateUpdateInput(_0x42191e);const {plan:_0x3c2d57,patch:_0x4169ee,noChanges:_0x59d6fe}=await buildUpdatePlan(_0x42191e,![]),_0x2da295=Number(_0x3c2d57[_0x544c41(0x1b7)]['id']),_0x1a9c74=await recheckMutationSnapshot(_0x42191e,_0x3c2d57,_0x544c41(0x1c9),_0x2da295);if(!_0x59d6fe)try{await updateMenuEntity(_0x42191e[_0x544c41(0x1d5)],_0x42191e['cookie'],_0x4169ee);}catch(_0x25f8ee){const _0x1281db=mapMenuApiError(_0x25f8ee,_0x544c41(0x1c9),_0x2da295);throw menuFailure(_0x1281db,_0x3c2d57,{'stage':'update','failed':{'id':_0x2da295}});}let _0x1607fa=_0x1a9c74,_0x52c6d9;try{!_0x59d6fe&&(_0x1607fa=await fetchMenuSnapshot(_0x42191e[_0x544c41(0x1d5)],_0x42191e[_0x544c41(0x1bf)])),_0x52c6d9=requireMenu(_0x1607fa,_0x2da295),verifyPatch(_0x52c6d9,_0x4169ee),_0x52c6d9[_0x544c41(0x1ad)]!=null&&requireFolder(_0x1607fa,_0x52c6d9[_0x544c41(0x1ad)]);}catch(_0x1fe542){const _0x189a6a=describeMenuErrorCause(_0x1fe542,_0x544c41(0x1da),_0x2da295),_0x59d3=asVerificationError(_0x1fe542,_0x544c41(0x1d8)+_0x2da295+_0x544c41(0x1bd));throw menuFailure(_0x59d3,_0x3c2d57,{'stage':_0x544c41(0x1c5),'succeeded':[{'id':_0x2da295,'updateRequested':!_0x59d6fe,'skipped':_0x59d6fe}],'failed':{'id':_0x2da295,'requestedStateConfirmed':![],..._0x189a6a},'warnings':[_0x544c41(0x1ae)],'verification':{'status':_0x544c41(0x1d9),'lookupCommand':_0x544c41(0x1d0),'targetId':_0x2da295}});}const _0x5d7a5e=mutationResult({..._0x3c2d57,'after':_0x52c6d9,'dryRun':![],'succeeded':[{'id':_0x2da295,'updated':!_0x59d6fe,'skipped':_0x59d6fe}],'verification':{'checkedBy':_0x544c41(0x1c4),'snapshotHash':_0x1607fa[_0x544c41(0x1be)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x5d7a5e,'message':_0x59d6fe?_0x544c41(0x1bb)+_0x2da295+'\x20already\x20matches\x20the\x20requested\x20state.':_0x544c41(0x1a9)+_0x2da295+'.'};}};function validateUpdateInput(_0x2fc2eb){const _0x28e34f=a115_0x50f235;validateExactId(_0x2fc2eb);if(hasFlag(_0x2fc2eb,_0x28e34f(0x1aa)))throw CliErrors[_0x28e34f(0x1ba)](_0x28e34f(0x1dc),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x2fc2eb,_0x28e34f(0x1db))&&!hasFlag(_0x2fc2eb,'sort'))throw CliErrors['validation'](_0x28e34f(0x1cb));if(hasFlag(_0x2fc2eb,'label')&&!_0x2fc2eb[_0x28e34f(0x1c6)](_0x28e34f(0x1db))[_0x28e34f(0x1b5)]())throw CliErrors[_0x28e34f(0x1ba)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x2fc2eb);}async function buildUpdatePlan(_0x1d891d,_0x511cda){const _0x405311=a115_0x50f235,_0x2e699a=validateExactId(_0x1d891d),_0x15a190=await fetchMutationSnapshot(_0x1d891d,_0x405311(0x1c9),_0x2e699a),_0x28cb38=requireMenu(_0x15a190,_0x2e699a);if(_0x28cb38[_0x405311(0x1c7)]!==_0x405311(0x1cf))throw menuError(_0x405311(0x1d1),'Menu\x20'+_0x2e699a+_0x405311(0x1bc)+(_0x28cb38[_0x405311(0x1c7)]||_0x405311(0x1d4))+_0x405311(0x1b4),_0x405311(0x1b3));assertExpectedState(_0x1d891d,_0x28cb38);const _0x31604a={'id':_0x2e699a},_0x3a42f4={..._0x28cb38};if(hasFlag(_0x1d891d,_0x405311(0x1db))){const _0xe7f7db=_0x1d891d[_0x405311(0x1c6)](_0x405311(0x1db))[_0x405311(0x1b5)]();_0x31604a[_0x405311(0x1db)]=_0xe7f7db,_0x3a42f4[_0x405311(0x1db)]=_0xe7f7db;}if(hasFlag(_0x1d891d,_0x405311(0x1c8))){const _0xd9a66=validateSort(_0x1d891d);_0x31604a[_0x405311(0x1c8)]=_0xd9a66,_0x3a42f4[_0x405311(0x1c8)]=_0xd9a66;}const _0x1b900b=sameRequestedState(_0x28cb38,_0x3a42f4),_0xf23347=_0x1b900b?[_0x405311(0x1ac)]:[];return{'patch':_0x31604a,'noChanges':_0x1b900b,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x2e699a},'before':_0x28cb38,'after':_0x3a42f4,'dryRun':_0x511cda,'backend':[...BACKEND],'snapshotHash':_0x15a190[_0x405311(0x1be)],'warnings':_0xf23347})};}function sameRequestedState(_0x1593ab,_0x26166c){const _0x485d0b=a115_0x50f235;return _0x1593ab['label']===_0x26166c[_0x485d0b(0x1db)]&&_0x1593ab[_0x485d0b(0x1c8)]===_0x26166c[_0x485d0b(0x1c8)];}function verifyPatch(_0x478535,_0x2c1447){const _0x5a5dad=a115_0x50f235;assertVerified(_0x478535[_0x5a5dad(0x1c7)]===_0x5a5dad(0x1cf),_0x5a5dad(0x1c0)+_0x478535['id']+_0x5a5dad(0x1cd)),_0x2c1447['label']!==undefined&&assertVerified(_0x478535['label']===_0x2c1447[_0x5a5dad(0x1db)],'Folder\x20'+_0x478535['id']+_0x5a5dad(0x1c3)),_0x2c1447[_0x5a5dad(0x1c8)]!==undefined&&assertVerified(_0x478535[_0x5a5dad(0x1c8)]===_0x2c1447[_0x5a5dad(0x1c8)],_0x5a5dad(0x1bb)+_0x478535['id']+_0x5a5dad(0x1a8));}
@@ -1 +1 @@
1
- (function(_0x29df5e,_0x2abc9c){const _0x133436=a116_0x1219,_0xbbb53e=_0x29df5e();while(!![]){try{const _0x225b5d=-parseInt(_0x133436(0x1a9))/0x1+parseInt(_0x133436(0x1a7))/0x2+parseInt(_0x133436(0x1a8))/0x3+parseInt(_0x133436(0x1a3))/0x4*(parseInt(_0x133436(0x1ac))/0x5)+parseInt(_0x133436(0x1a6))/0x6+-parseInt(_0x133436(0x1ab))/0x7*(parseInt(_0x133436(0x1aa))/0x8)+-parseInt(_0x133436(0x1a5))/0x9*(parseInt(_0x133436(0x1a4))/0xa);if(_0x225b5d===_0x2abc9c)break;else _0xbbb53e['push'](_0xbbb53e['shift']());}catch(_0x30a126){_0xbbb53e['push'](_0xbbb53e['shift']());}}}(a116_0xe319,0xd5292));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';function a116_0xe319(){const _0xdacf71=['1803182ZTXTdk','2405646WgQNDi','696571mSjTyq','1566424qwoOzX','7QgmHar','6694125kvrUSy','4qfSDiB','185120ktaJnW','1395RxNfEN','9555252JcuWjS'];a116_0xe319=function(){return _0xdacf71;};return a116_0xe319();}import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';function a116_0x1219(_0x34c757,_0x27e4ef){_0x34c757=_0x34c757-0x1a3;const _0xe319da=a116_0xe319();let _0x1219b2=_0xe319da[_0x34c757];return _0x1219b2;}import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ function a116_0x3da4(_0x174ff8,_0x5a524b){_0x174ff8=_0x174ff8-0x1ab;const _0x37487a=a116_0x3748();let _0x3da44d=_0x37487a[_0x174ff8];return _0x3da44d;}(function(_0x38cff0,_0x98e076){const _0x26bca5=a116_0x3da4,_0x1e58f5=_0x38cff0();while(!![]){try{const _0x4a7749=parseInt(_0x26bca5(0x1b0))/0x1+parseInt(_0x26bca5(0x1ae))/0x2+-parseInt(_0x26bca5(0x1b1))/0x3+parseInt(_0x26bca5(0x1b3))/0x4*(-parseInt(_0x26bca5(0x1af))/0x5)+-parseInt(_0x26bca5(0x1ab))/0x6+-parseInt(_0x26bca5(0x1ac))/0x7*(parseInt(_0x26bca5(0x1ad))/0x8)+parseInt(_0x26bca5(0x1b2))/0x9;if(_0x4a7749===_0x98e076)break;else _0x1e58f5['push'](_0x1e58f5['shift']());}catch(_0x25cd17){_0x1e58f5['push'](_0x1e58f5['shift']());}}}(a116_0x3748,0xecead));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';function a116_0x3748(){const _0x5e8378=['444136SXoJIS','3614574fagich','20zynSbL','229150eCcqfO','1852704vwTLnv','21400758uDmeOA','950692ILilwk','3592410fsTBgR','161VmDcat'];a116_0x3748=function(){return _0x5e8378;};return a116_0x3748();}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';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -1 +1 @@
1
- const a117_0xc708fe=a117_0x5e98;function a117_0x57e0(){const _0x3747d4=['40nXXSxY','menus','hash','appCode','1lRoeik','163595kEAIwn','52088WkNCfj','\x20menu(s)','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','819096dCYgeT','Found\x20','verbose','cookie','No\x20menus\x20found.','map','248730ovdkHg','118152FZjQYv','105ciWbCB','bool','read','total','645462JFNriy','275096agBYDE'];a117_0x57e0=function(){return _0x3747d4;};return a117_0x57e0();}(function(_0x6755f0,_0x2ae107){const _0x30ac2f=a117_0x5e98,_0x48edc8=_0x6755f0();while(!![]){try{const _0x391697=-parseInt(_0x30ac2f(0x84))/0x1*(parseInt(_0x30ac2f(0x8f))/0x2)+-parseInt(_0x30ac2f(0x90))/0x3+parseInt(_0x30ac2f(0x96))/0x4+-parseInt(_0x30ac2f(0x85))/0x5+-parseInt(_0x30ac2f(0x89))/0x6+parseInt(_0x30ac2f(0x91))/0x7*(parseInt(_0x30ac2f(0x86))/0x8)+parseInt(_0x30ac2f(0x95))/0x9*(parseInt(_0x30ac2f(0x97))/0xa);if(_0x391697===_0x2ae107)break;else _0x48edc8['push'](_0x48edc8['shift']());}catch(_0x516326){_0x48edc8['push'](_0x48edc8['shift']());}}}(a117_0x57e0,0x1d607));function a117_0x5e98(_0x5d0655,_0x38bb24){_0x5d0655=_0x5d0655-0x83;const _0x57e05f=a117_0x57e0();let _0x5e982a=_0x57e05f[_0x5d0655];return _0x5e982a;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':'list','description':a117_0xc708fe(0x88),'risk':a117_0xc708fe(0x93),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0xc708fe(0x8b),'type':'boolean','description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x433457){const _0xf6e604=a117_0xc708fe,_0x4dc8b9=_0x433457[_0xf6e604(0x92)](_0xf6e604(0x8b)),_0xa00d45=await fetchMenuSnapshot(_0x433457[_0xf6e604(0x83)],_0x433457[_0xf6e604(0x8c)],{'verbose':_0x4dc8b9});return{'ok':!![],'data':{'total':_0xa00d45[_0xf6e604(0x94)],'snapshotHash':_0xa00d45[_0xf6e604(0x99)],'menus':_0xa00d45[_0xf6e604(0x98)][_0xf6e604(0x8e)](toMenuListItem)},'message':_0xa00d45['total']===0x0?_0xf6e604(0x8d):_0xf6e604(0x8a)+_0xa00d45[_0xf6e604(0x94)]+_0xf6e604(0x87)};}};
1
+ const a117_0x235b79=a117_0x4ad8;function a117_0x28b4(){const _0x550cdd=['bool','1753173HpZknc','\x20menu(s)','65UlEfRH','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','3143778dzUHkj','879144wHqwJk','cookie','read','map','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','3FgAVLE','8RKswiM','verbose','Found\x20','menus','appCode','boolean','795111XhPQVX','No\x20menus\x20found.','list','menu','186916cwJpKm','3725490lPNGQB','13058fMIWeD'];a117_0x28b4=function(){return _0x550cdd;};return a117_0x28b4();}function a117_0x4ad8(_0x5290d1,_0x46b01d){_0x5290d1=_0x5290d1-0x181;const _0x28b4ff=a117_0x28b4();let _0x4ad8a2=_0x28b4ff[_0x5290d1];return _0x4ad8a2;}(function(_0x144755,_0x587f1c){const _0x97759c=a117_0x4ad8,_0x226ebd=_0x144755();while(!![]){try{const _0x551f5c=parseInt(_0x97759c(0x18d))/0x1*(-parseInt(_0x97759c(0x181))/0x2)+-parseInt(_0x97759c(0x194))/0x3+-parseInt(_0x97759c(0x198))/0x4*(-parseInt(_0x97759c(0x185))/0x5)+parseInt(_0x97759c(0x187))/0x6+parseInt(_0x97759c(0x188))/0x7+parseInt(_0x97759c(0x18e))/0x8*(-parseInt(_0x97759c(0x183))/0x9)+-parseInt(_0x97759c(0x199))/0xa;if(_0x551f5c===_0x587f1c)break;else _0x226ebd['push'](_0x226ebd['shift']());}catch(_0x549760){_0x226ebd['push'](_0x226ebd['shift']());}}}(a117_0x28b4,0x62e46));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a117_0x235b79(0x197),'command':a117_0x235b79(0x196),'description':a117_0x235b79(0x18c),'risk':a117_0x235b79(0x18a),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x235b79(0x18f),'type':a117_0x235b79(0x193),'description':a117_0x235b79(0x186)}],async 'execute'(_0x116791){const _0x2ec5a2=a117_0x235b79,_0x3a97c3=_0x116791[_0x2ec5a2(0x182)]('verbose'),_0x50714c=await fetchMenuSnapshot(_0x116791[_0x2ec5a2(0x192)],_0x116791[_0x2ec5a2(0x189)],{'verbose':_0x3a97c3});return{'ok':!![],'data':{'total':_0x50714c['total'],'snapshotHash':_0x50714c['hash'],'menus':_0x50714c[_0x2ec5a2(0x191)][_0x2ec5a2(0x18b)](toMenuListItem)},'message':_0x50714c['total']===0x0?_0x2ec5a2(0x195):_0x2ec5a2(0x190)+_0x50714c['total']+_0x2ec5a2(0x184)};}};
@@ -1 +1 @@
1
- const a118_0x134907=a118_0x150a;(function(_0x593c8e,_0x586603){const _0xc1d4c6=a118_0x150a,_0x3cbdd6=_0x593c8e();while(!![]){try{const _0x59da27=-parseInt(_0xc1d4c6(0x1bb))/0x1+-parseInt(_0xc1d4c6(0x1c8))/0x2+parseInt(_0xc1d4c6(0x1b7))/0x3*(parseInt(_0xc1d4c6(0x1c6))/0x4)+parseInt(_0xc1d4c6(0x1be))/0x5*(-parseInt(_0xc1d4c6(0x1ca))/0x6)+parseInt(_0xc1d4c6(0x1cd))/0x7+-parseInt(_0xc1d4c6(0x1c9))/0x8+parseInt(_0xc1d4c6(0x1b5))/0x9*(parseInt(_0xc1d4c6(0x1bf))/0xa);if(_0x59da27===_0x586603)break;else _0x3cbdd6['push'](_0x3cbdd6['shift']());}catch(_0x58c6d4){_0x3cbdd6['push'](_0x3cbdd6['shift']());}}}(a118_0x80a8,0x89cb4));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':a118_0x134907(0x1cc),'path':a118_0x134907(0x1aa)}];function a118_0x150a(_0xa4e0d5,_0x97697d){_0xa4e0d5=_0xa4e0d5-0x1a6;const _0x80a81b=a118_0x80a8();let _0x150a7b=_0x80a81b[_0xa4e0d5];return _0x150a7b;}export const menuMove={'service':a118_0x134907(0x1b9),'command':a118_0x134907(0x1d2),'description':a118_0x134907(0x1d3),'risk':a118_0x134907(0x1cb),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x366242){validateMoveInput(_0x366242);},async 'dryRun'(_0x25e716){const _0x20b950=a118_0x134907,{plan:_0x5840f6,patch:_0x4019f4}=await buildMovePlan(_0x25e716,!![]);return menuDryRunResult(_0x5840f6,{'method':_0x20b950(0x1cc),'url':_0x20b950(0x1aa),'body':{..._0x4019f4,'appCode':_0x25e716[_0x20b950(0x1c3)]},'description':_0x20b950(0x1d1)+_0x4019f4['id']+'.'});},async 'execute'(_0x1d25c0){const _0x4e31c9=a118_0x134907;validateMoveInput(_0x1d25c0);const {plan:_0x3a5ce6,patch:_0x32e84c,noChanges:_0x4138df,snapshot:_0x5158d9}=await buildMovePlan(_0x1d25c0,![]),_0x7916c0=_0x32e84c['id'];if(!_0x4138df)try{await updateMenuEntity(_0x1d25c0[_0x4e31c9(0x1c3)],_0x1d25c0['cookie'],_0x32e84c);}catch(_0xafa2d5){const _0x99f6a=mapMenuApiError(_0xafa2d5,_0x4e31c9(0x1d2),_0x7916c0);throw menuFailure(_0x99f6a,_0x3a5ce6,{'stage':_0x4e31c9(0x1c5),'failed':{'id':_0x7916c0},'warnings':[_0x4e31c9(0x1a8)],'verification':{'status':_0x4e31c9(0x1a9),'targetId':_0x7916c0,'lookupCommand':_0x4e31c9(0x1d5)}});}let _0x4ba72d,_0x59dac8;try{_0x4ba72d=_0x4138df?_0x5158d9:await fetchMenuSnapshot(_0x1d25c0[_0x4e31c9(0x1c3)],_0x1d25c0['cookie']),_0x59dac8=requireMenu(_0x4ba72d,_0x7916c0),verifyMove(_0x59dac8,_0x3a5ce6[_0x4e31c9(0x1cf)]),_0x59dac8[_0x4e31c9(0x1b8)]!==null&&requireFolder(_0x4ba72d,_0x59dac8[_0x4e31c9(0x1b8)]);}catch(_0x1aac3b){const _0x5371a8=describeMenuErrorCause(_0x1aac3b,_0x4e31c9(0x1b2),_0x7916c0),_0x40bb3f=asVerificationError(_0x1aac3b,'Move\x20request\x20for\x20menu\x20'+_0x7916c0+_0x4e31c9(0x1ab));throw menuFailure(_0x40bb3f,_0x3a5ce6,{'stage':_0x4e31c9(0x1ce),'succeeded':[{'id':_0x7916c0,'updateRequested':!_0x4138df,'skipped':_0x4138df}],'failed':{'id':_0x7916c0,'requestedStateConfirmed':![],..._0x5371a8},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x4e31c9(0x1a9),'targetId':_0x7916c0,'lookupCommand':_0x4e31c9(0x1d5)}});}const _0x296883=mutationResult({..._0x3a5ce6,'after':_0x59dac8,'dryRun':![],'succeeded':[{'id':_0x7916c0,'updated':!_0x4138df,'skipped':_0x4138df}],'verification':{'checkedBy':_0x4e31c9(0x1a7),'snapshotHash':_0x4ba72d[_0x4e31c9(0x1af)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x296883,'message':_0x4138df?_0x4e31c9(0x1c1)+_0x7916c0+_0x4e31c9(0x1c4):_0x4e31c9(0x1d4)+_0x7916c0+'.'};}};function validateMoveInput(_0x5b4508){const _0x27518a=a118_0x134907;validateExactId(_0x5b4508),parseParentId(_0x5b4508,_0x27518a(0x1ac),{'required':!![]}),parseParentId(_0x5b4508,_0x27518a(0x1bc),{'required':!![]}),validateSort(_0x5b4508);}function a118_0x80a8(){const _0x3512ce=['childrenCount','566307yTBNjn','expect-parent-id','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','25805kIqHPl','40aPMIEv','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Menu\x20','menu_move_source_not_leaf','appCode','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','update','144244TmyOJC','folder','2147242tgalgz','3004416tQkuIU','120SdfHcY','write','POST','1424955ICVKwA','verification','after','\x20parent\x20changed:\x20expected\x20','Would\x20move\x20menu\x20','move','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','Moved\x20menu\x20','rabetbase\x20menu\x20list\x20--format\x20compress','sort','menu_state_drift','menu\x20list','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','failed','/smartapi/menu/update','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','parent-id','move\x20menu','type','hash','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','move-menu','verify\x20menu\x20move','\x20is\x20now\x20type\x20folder.',',\x20current\x20','3712806PBQYVq','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','69teJZlo','parentId','menu'];a118_0x80a8=function(){return _0x3512ce;};return a118_0x80a8();}async function buildMovePlan(_0x43c7a1,_0x1d5cdf){const _0x143ba7=a118_0x134907,_0x5a9f72=validateExactId(_0x43c7a1),_0x234bb9=parseParentId(_0x43c7a1,'parent-id',{'required':!![]}),_0x26343d=parseParentId(_0x43c7a1,_0x143ba7(0x1bc),{'required':!![]}),_0x2f30e8=validateSort(_0x43c7a1),_0x371e10=await fetchMutationSnapshot(_0x43c7a1,_0x143ba7(0x1ad),_0x5a9f72),_0x49e4b8=requireMenu(_0x371e10,_0x5a9f72);if(_0x49e4b8['type']==='folder'||_0x49e4b8[_0x143ba7(0x1ba)]!==0x0)throw menuError(_0x143ba7(0x1c2),_0x143ba7(0x1c1)+_0x5a9f72+_0x143ba7(0x1b6),_0x143ba7(0x1c0));if(_0x49e4b8[_0x143ba7(0x1b8)]!==_0x26343d)throw menuError(_0x143ba7(0x1a6),'Menu\x20'+_0x5a9f72+_0x143ba7(0x1d0)+formatParent(_0x26343d)+_0x143ba7(0x1b4)+formatParent(_0x49e4b8[_0x143ba7(0x1b8)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x234bb9!==null&&requireFolder(_0x371e10,_0x234bb9);const _0x47d55b=_0x2f30e8??(_0x49e4b8[_0x143ba7(0x1b8)]===_0x234bb9?_0x49e4b8[_0x143ba7(0x1d6)]??0x0:nextSiblingSort(_0x371e10,_0x234bb9,_0x143ba7(0x1b9))),_0x2c9ea2={..._0x49e4b8,'parentId':_0x234bb9,'sort':_0x47d55b},_0x5521fd={'id':_0x5a9f72,'parentId':toApiParentId(_0x234bb9),'sort':_0x47d55b},_0x17fa1d=_0x49e4b8[_0x143ba7(0x1b8)]===_0x234bb9&&_0x49e4b8['sort']===_0x47d55b;return{'patch':_0x5521fd,'noChanges':_0x17fa1d,'snapshot':_0x371e10,'plan':mutationResult({'operation':_0x143ba7(0x1d2),'selector':{'id':_0x5a9f72,'parentId':_0x234bb9},'before':_0x49e4b8,'after':_0x2c9ea2,'dryRun':_0x1d5cdf,'backend':[...BACKEND],'plannedActions':[{'stage':_0x143ba7(0x1b1),'method':_0x143ba7(0x1cc),'path':_0x143ba7(0x1aa),'body':{..._0x5521fd,'appCode':_0x43c7a1[_0x143ba7(0x1c3)]}}],'snapshotHash':_0x371e10['hash'],'warnings':_0x17fa1d?[_0x143ba7(0x1b0)]:[]})};}function verifyMove(_0x41b875,_0x3246ba){const _0x84647e=a118_0x134907;assertVerified(_0x41b875[_0x84647e(0x1ae)]!==_0x84647e(0x1c7),'Menu\x20'+_0x41b875['id']+_0x84647e(0x1b3)),assertVerified(_0x41b875[_0x84647e(0x1ba)]===0x0,_0x84647e(0x1c1)+_0x41b875['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x41b875[_0x84647e(0x1b8)]===_0x3246ba['parentId'],_0x84647e(0x1c1)+_0x41b875['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x41b875['sort']===_0x3246ba['sort'],_0x84647e(0x1c1)+_0x41b875['id']+_0x84647e(0x1bd));}
1
+ const a118_0x4e402d=a118_0x463a;(function(_0x29b156,_0x36ea87){const _0x3a269b=a118_0x463a,_0x42bd29=_0x29b156();while(!![]){try{const _0x576834=-parseInt(_0x3a269b(0x174))/0x1*(-parseInt(_0x3a269b(0x14f))/0x2)+parseInt(_0x3a269b(0x16c))/0x3+-parseInt(_0x3a269b(0x152))/0x4*(parseInt(_0x3a269b(0x14e))/0x5)+-parseInt(_0x3a269b(0x170))/0x6+parseInt(_0x3a269b(0x163))/0x7*(-parseInt(_0x3a269b(0x16d))/0x8)+parseInt(_0x3a269b(0x16e))/0x9+parseInt(_0x3a269b(0x150))/0xa;if(_0x576834===_0x36ea87)break;else _0x42bd29['push'](_0x42bd29['shift']());}catch(_0x174056){_0x42bd29['push'](_0x42bd29['shift']());}}}(a118_0x2356,0x26c13));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';function a118_0x2356(){const _0x48fe31=['30qbVzwk','6157360cTvHZq','\x20is\x20no\x20longer\x20a\x20leaf.','8AWRIjk','menu','Menu\x20','parentId','appCode','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','write','Move\x20request\x20for\x20menu\x20','POST','folder','menu_move_source_not_leaf',',\x20current\x20','menu_state_drift','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','type','move\x20menu','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','204526JAXWay','menu\x20list','after','rabetbase\x20menu\x20list\x20--format\x20compress','move','verify\x20menu\x20move','parent-id','cookie','childrenCount','261810PISyJe','80atXYpf','1496376IIinEB','update','1657632TnGVpR','expect-parent-id','\x20parent\x20changed:\x20expected\x20','failed','2657XoLVdd','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','sort','Moved\x20menu\x20','verification','/smartapi/menu/update','454835ekJCMQ'];a118_0x2356=function(){return _0x48fe31;};return a118_0x2356();}const BACKEND=[{'method':a118_0x4e402d(0x15a),'path':'/smartapi/menu/update'}];export const menuMove={'service':a118_0x4e402d(0x153),'command':a118_0x4e402d(0x167),'description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':a118_0x4e402d(0x158),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5078f6){validateMoveInput(_0x5078f6);},async 'dryRun'(_0x4b5eb0){const _0x39feee=a118_0x4e402d,{plan:_0x390690,patch:_0x254133}=await buildMovePlan(_0x4b5eb0,!![]);return menuDryRunResult(_0x390690,{'method':'POST','url':'/smartapi/menu/update','body':{..._0x254133,'appCode':_0x4b5eb0[_0x39feee(0x156)]},'description':'Would\x20move\x20menu\x20'+_0x254133['id']+'.'});},async 'execute'(_0x581961){const _0x23bca8=a118_0x4e402d;validateMoveInput(_0x581961);const {plan:_0x396c12,patch:_0x351fdf,noChanges:_0x30d3c0,snapshot:_0x15b890}=await buildMovePlan(_0x581961,![]),_0x1a64dc=_0x351fdf['id'];if(!_0x30d3c0)try{await updateMenuEntity(_0x581961[_0x23bca8(0x156)],_0x581961[_0x23bca8(0x16a)],_0x351fdf);}catch(_0x1de176){const _0x7777f8=mapMenuApiError(_0x1de176,_0x23bca8(0x167),_0x1a64dc);throw menuFailure(_0x7777f8,_0x396c12,{'stage':_0x23bca8(0x16f),'failed':{'id':_0x1a64dc},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1a64dc,'lookupCommand':_0x23bca8(0x166)}});}let _0x58b3a6,_0x16b680;try{_0x58b3a6=_0x30d3c0?_0x15b890:await fetchMenuSnapshot(_0x581961[_0x23bca8(0x156)],_0x581961[_0x23bca8(0x16a)]),_0x16b680=requireMenu(_0x58b3a6,_0x1a64dc),verifyMove(_0x16b680,_0x396c12[_0x23bca8(0x165)]),_0x16b680[_0x23bca8(0x155)]!==null&&requireFolder(_0x58b3a6,_0x16b680[_0x23bca8(0x155)]);}catch(_0x2e1268){const _0x5a6d80=describeMenuErrorCause(_0x2e1268,_0x23bca8(0x168),_0x1a64dc),_0x20067e=asVerificationError(_0x2e1268,_0x23bca8(0x159)+_0x1a64dc+_0x23bca8(0x176));throw menuFailure(_0x20067e,_0x396c12,{'stage':_0x23bca8(0x14c),'succeeded':[{'id':_0x1a64dc,'updateRequested':!_0x30d3c0,'skipped':_0x30d3c0}],'failed':{'id':_0x1a64dc,'requestedStateConfirmed':![],..._0x5a6d80},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x23bca8(0x173),'targetId':_0x1a64dc,'lookupCommand':_0x23bca8(0x166)}});}const _0x455b62=mutationResult({..._0x396c12,'after':_0x16b680,'dryRun':![],'succeeded':[{'id':_0x1a64dc,'updated':!_0x30d3c0,'skipped':_0x30d3c0}],'verification':{'checkedBy':_0x23bca8(0x164),'snapshotHash':_0x58b3a6['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x455b62,'message':_0x30d3c0?_0x23bca8(0x154)+_0x1a64dc+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x23bca8(0x179)+_0x1a64dc+'.'};}};function a118_0x463a(_0x2a823f,_0x19e485){_0x2a823f=_0x2a823f-0x14c;const _0x2356e2=a118_0x2356();let _0x463ae5=_0x2356e2[_0x2a823f];return _0x463ae5;}function validateMoveInput(_0x527ec3){const _0x4641f1=a118_0x4e402d;validateExactId(_0x527ec3),parseParentId(_0x527ec3,_0x4641f1(0x169),{'required':!![]}),parseParentId(_0x527ec3,_0x4641f1(0x171),{'required':!![]}),validateSort(_0x527ec3);}async function buildMovePlan(_0xac1331,_0x574f41){const _0x155afa=a118_0x4e402d,_0x26b118=validateExactId(_0xac1331),_0x4c723c=parseParentId(_0xac1331,_0x155afa(0x169),{'required':!![]}),_0x2913be=parseParentId(_0xac1331,_0x155afa(0x171),{'required':!![]}),_0x5ced1a=validateSort(_0xac1331),_0xe9d381=await fetchMutationSnapshot(_0xac1331,_0x155afa(0x161),_0x26b118),_0x2e89b2=requireMenu(_0xe9d381,_0x26b118);if(_0x2e89b2[_0x155afa(0x160)]===_0x155afa(0x15b)||_0x2e89b2[_0x155afa(0x16b)]!==0x0)throw menuError(_0x155afa(0x15c),_0x155afa(0x154)+_0x26b118+_0x155afa(0x177),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2e89b2[_0x155afa(0x155)]!==_0x2913be)throw menuError(_0x155afa(0x15e),_0x155afa(0x154)+_0x26b118+_0x155afa(0x172)+formatParent(_0x2913be)+_0x155afa(0x15d)+formatParent(_0x2e89b2[_0x155afa(0x155)])+'.',_0x155afa(0x175));_0x4c723c!==null&&requireFolder(_0xe9d381,_0x4c723c);const _0x3f8377=_0x5ced1a??(_0x2e89b2[_0x155afa(0x155)]===_0x4c723c?_0x2e89b2[_0x155afa(0x178)]??0x0:nextSiblingSort(_0xe9d381,_0x4c723c,_0x155afa(0x153))),_0x59576e={..._0x2e89b2,'parentId':_0x4c723c,'sort':_0x3f8377},_0x536c2c={'id':_0x26b118,'parentId':toApiParentId(_0x4c723c),'sort':_0x3f8377},_0x2c981a=_0x2e89b2[_0x155afa(0x155)]===_0x4c723c&&_0x2e89b2[_0x155afa(0x178)]===_0x3f8377;return{'patch':_0x536c2c,'noChanges':_0x2c981a,'snapshot':_0xe9d381,'plan':mutationResult({'operation':_0x155afa(0x167),'selector':{'id':_0x26b118,'parentId':_0x4c723c},'before':_0x2e89b2,'after':_0x59576e,'dryRun':_0x574f41,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x155afa(0x15a),'path':_0x155afa(0x14d),'body':{..._0x536c2c,'appCode':_0xac1331['appCode']}}],'snapshotHash':_0xe9d381['hash'],'warnings':_0x2c981a?[_0x155afa(0x162)]:[]})};}function verifyMove(_0x2c121c,_0x25fb30){const _0x164837=a118_0x4e402d;assertVerified(_0x2c121c[_0x164837(0x160)]!=='folder',_0x164837(0x154)+_0x2c121c['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x2c121c['childrenCount']===0x0,_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x151)),assertVerified(_0x2c121c[_0x164837(0x155)]===_0x25fb30['parentId'],_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x157)),assertVerified(_0x2c121c[_0x164837(0x178)]===_0x25fb30[_0x164837(0x178)],_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x15f));}