@lovrabet/rabetbase-cli 2.5.0-beta.4 → 2.5.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/README.md +28 -0
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/auth/auth-server-ui.js +1 -1
  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.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff-refresh-start.js +1 -1
  88. package/lib/commands/db/diff-refresh-status.js +1 -1
  89. package/lib/commands/db/diff.js +1 -1
  90. package/lib/commands/db/index.js +1 -1
  91. package/lib/commands/db/list.js +1 -1
  92. package/lib/commands/db/shared.js +1 -1
  93. package/lib/commands/db/table-diff-shared.js +1 -1
  94. package/lib/commands/db/tables.js +1 -1
  95. package/lib/commands/db/test.js +1 -1
  96. package/lib/commands/db/update.js +1 -1
  97. package/lib/commands/doctor.js +1 -1
  98. package/lib/commands/file/index.js +1 -1
  99. package/lib/commands/issue/index.js +1 -1
  100. package/lib/commands/issue/nudge.js +1 -1
  101. package/lib/commands/issue/report.js +1 -1
  102. package/lib/commands/issue/shared.js +1 -1
  103. package/lib/commands/kb/create.js +1 -1
  104. package/lib/commands/kb/delete.js +1 -1
  105. package/lib/commands/kb/detail.js +1 -1
  106. package/lib/commands/kb/index.js +1 -1
  107. package/lib/commands/kb/list.js +1 -1
  108. package/lib/commands/kb/search.js +1 -1
  109. package/lib/commands/kb/shared.js +1 -1
  110. package/lib/commands/kb/update.js +1 -1
  111. package/lib/commands/logs/index.js +1 -1
  112. package/lib/commands/menu/asset-update.js +1 -1
  113. package/lib/commands/menu/delete.js +1 -1
  114. package/lib/commands/menu/external-link-create.js +1 -1
  115. package/lib/commands/menu/external-link-update.js +1 -1
  116. package/lib/commands/menu/group-create.js +1 -1
  117. package/lib/commands/menu/group-update.js +1 -1
  118. package/lib/commands/menu/index.js +1 -1
  119. package/lib/commands/menu/list.js +1 -1
  120. package/lib/commands/menu/move.js +1 -1
  121. package/lib/commands/menu/regroup-start.js +1 -1
  122. package/lib/commands/menu/rename.js +1 -1
  123. package/lib/commands/menu/shared/compare-table.js +1 -1
  124. package/lib/commands/menu/shared/delete-plan.js +1 -1
  125. package/lib/commands/menu/shared/facts.js +1 -1
  126. package/lib/commands/menu/shared/index.js +1 -1
  127. package/lib/commands/menu/shared/inquirer.js +1 -1
  128. package/lib/commands/menu/shared/local-pages.js +1 -1
  129. package/lib/commands/menu/shared/logic.js +1 -1
  130. package/lib/commands/menu/shared/mutations.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/update-core.js +1 -1
  134. package/lib/commands/menu/shared/valid-url.js +1 -1
  135. package/lib/commands/menu/sync.js +1 -1
  136. package/lib/commands/menu/visibility-update.js +1 -1
  137. package/lib/commands/notification/config-create.js +1 -1
  138. package/lib/commands/notification/config-delete.js +1 -1
  139. package/lib/commands/notification/config-list.js +1 -1
  140. package/lib/commands/notification/config-update.js +1 -1
  141. package/lib/commands/notification/index.js +1 -1
  142. package/lib/commands/notification/shared.js +1 -1
  143. package/lib/commands/ocr/index.js +1 -1
  144. package/lib/commands/page/create.js +1 -1
  145. package/lib/commands/page/custom/detail.js +1 -1
  146. package/lib/commands/page/custom/list.js +1 -1
  147. package/lib/commands/page/custom/publish.js +1 -1
  148. package/lib/commands/page/custom/shared.js +1 -1
  149. package/lib/commands/page/custom/syntax.js +1 -1
  150. package/lib/commands/page/custom/template.js +1 -1
  151. package/lib/commands/page/custom/update.js +1 -1
  152. package/lib/commands/page/data-list-status.js +1 -1
  153. package/lib/commands/page/generate-start.js +1 -1
  154. package/lib/commands/page/generate-status.js +1 -1
  155. package/lib/commands/page/index.js +1 -1
  156. package/lib/commands/page/pull.js +1 -1
  157. package/lib/commands/page/push.js +1 -1
  158. package/lib/commands/page/relation-audit.js +1 -1
  159. package/lib/commands/page/restore.js +1 -1
  160. package/lib/commands/page/shared.js +1 -1
  161. package/lib/commands/page/sync.js +1 -1
  162. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  163. package/lib/commands/project/create/format-elapsed.js +1 -1
  164. package/lib/commands/project/create/main.js +1 -1
  165. package/lib/commands/project/create/materialize-project-template.js +1 -1
  166. package/lib/commands/project/create/project-name.js +1 -1
  167. package/lib/commands/project/create/project-template-archive.js +1 -1
  168. package/lib/commands/project/create/project-template-path.js +1 -1
  169. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  170. package/lib/commands/project/create/use-format-code.js +1 -1
  171. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  172. package/lib/commands/project/index.js +1 -1
  173. package/lib/commands/project/upgrade.js +1 -1
  174. package/lib/commands/registry.js +1 -1
  175. package/lib/commands/role/delete.js +1 -1
  176. package/lib/commands/role/detail.js +1 -1
  177. package/lib/commands/role/index.js +1 -1
  178. package/lib/commands/role/list.js +1 -1
  179. package/lib/commands/role/shared.js +1 -1
  180. package/lib/commands/role/update.js +1 -1
  181. package/lib/commands/role/user-add.js +1 -1
  182. package/lib/commands/role/user-remove.js +1 -1
  183. package/lib/commands/role/user-resolve.js +1 -1
  184. package/lib/commands/run/index.js +1 -1
  185. package/lib/commands/schema.js +1 -1
  186. package/lib/commands/sql/create.js +1 -1
  187. package/lib/commands/sql/delete.js +1 -1
  188. package/lib/commands/sql/detail.js +1 -1
  189. package/lib/commands/sql/exec.js +1 -1
  190. package/lib/commands/sql/index.js +1 -1
  191. package/lib/commands/sql/list.js +1 -1
  192. package/lib/commands/sql/pull.js +1 -1
  193. package/lib/commands/sql/push.js +1 -1
  194. package/lib/commands/sql/shared.js +1 -1
  195. package/lib/commands/sql/status.js +1 -1
  196. package/lib/commands/sql/validate.js +1 -1
  197. package/lib/commands/task/index.js +1 -1
  198. package/lib/commands/task/status.js +1 -1
  199. package/lib/commands/tenant/index.js +1 -1
  200. package/lib/commands/tenant/members-list.js +1 -1
  201. package/lib/commands/tenant/shared.js +1 -1
  202. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  203. package/lib/commands/user-account/index.js +1 -1
  204. package/lib/commands/workspace/add.js +1 -1
  205. package/lib/commands/workspace/index.js +1 -1
  206. package/lib/commands/workspace/remove.js +1 -1
  207. package/lib/config/domain-config.js +1 -1
  208. package/lib/config/schema.js +1 -1
  209. package/lib/constant/cdn.js +1 -1
  210. package/lib/constant/cli.js +1 -1
  211. package/lib/constant/defaults.js +1 -1
  212. package/lib/constant/domain.js +1 -1
  213. package/lib/constant/env.js +1 -1
  214. package/lib/constant/output.js +1 -1
  215. package/lib/constant/paths.js +1 -1
  216. package/lib/constant/region.js +1 -1
  217. package/lib/constant/risk.js +1 -1
  218. package/lib/context/app-resolver.js +1 -1
  219. package/lib/context/auth-resolver.js +1 -1
  220. package/lib/context/config-loader.js +1 -1
  221. package/lib/context.js +1 -1
  222. package/lib/core/alias-resolver.js +1 -1
  223. package/lib/core/api-client.js +1 -1
  224. package/lib/core/bff/config.js +1 -1
  225. package/lib/core/bff/file-system.js +1 -1
  226. package/lib/core/bff/hash.js +1 -1
  227. package/lib/core/bff/lock.js +1 -1
  228. package/lib/core/bff/utils.js +1 -1
  229. package/lib/core/db-resolver.js +1 -1
  230. package/lib/core/page/file-system.js +1 -1
  231. package/lib/core/page/hash.js +1 -1
  232. package/lib/core/page/lock.js +1 -1
  233. package/lib/core/sql-index-auditor.js +1 -1
  234. package/lib/core/sql-sync/config.js +1 -1
  235. package/lib/core/sql-sync/file-system.js +1 -1
  236. package/lib/core/sql-sync/hash.js +1 -1
  237. package/lib/core/sql-sync/lock.js +1 -1
  238. package/lib/core/sql-sync/utils.js +1 -1
  239. package/lib/core/sql-validator.js +1 -1
  240. package/lib/errors.js +1 -1
  241. package/lib/framework/build-all-flags.js +1 -1
  242. package/lib/framework/error-output.js +1 -1
  243. package/lib/framework/explicit-yes.js +1 -1
  244. package/lib/framework/flags.js +1 -1
  245. package/lib/framework/help.js +1 -1
  246. package/lib/framework/index.js +1 -1
  247. package/lib/framework/output.js +1 -1
  248. package/lib/framework/response.js +1 -1
  249. package/lib/framework/runner-alias.js +1 -1
  250. package/lib/framework/runner.js +1 -1
  251. package/lib/framework/schema-export.js +1 -1
  252. package/lib/framework/types.js +1 -1
  253. package/lib/generated/build-info.d.ts +4 -4
  254. package/lib/generated/build-info.js +1 -1
  255. package/lib/help.js +1 -1
  256. package/lib/postinstall.js +1 -1
  257. package/lib/runtime/confirmation.js +1 -1
  258. package/lib/runtime/event.js +1 -1
  259. package/lib/runtime/index.js +1 -1
  260. package/lib/runtime/queue.js +1 -1
  261. package/lib/runtime/resolve.js +1 -1
  262. package/lib/skills/builtin-skill.js +1 -1
  263. package/lib/skills/main.js +1 -1
  264. package/lib/skills/npx-skills-add.js +1 -1
  265. package/lib/skills/skill-presence.js +1 -1
  266. package/lib/telemetry/cli-command-trace.js +1 -1
  267. package/lib/telemetry/cli-help-trace.js +1 -1
  268. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  269. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  270. package/lib/telemetry/send-cli-trace-log.js +1 -1
  271. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  272. package/lib/utils/ai_config.js +1 -1
  273. package/lib/utils/apply-jq-filter.js +1 -1
  274. package/lib/utils/cdn-config.js +1 -1
  275. package/lib/utils/check-sdk-version.js +1 -1
  276. package/lib/utils/cli-version-check.js +1 -1
  277. package/lib/utils/cli-version-policy.js +1 -1
  278. package/lib/utils/config.js +1 -1
  279. package/lib/utils/entity-with-id.js +1 -1
  280. package/lib/utils/file-utils.js +1 -1
  281. package/lib/utils/guides-cdn.js +1 -1
  282. package/lib/utils/http-client.js +1 -1
  283. package/lib/utils/is-non-interactive.js +1 -1
  284. package/lib/utils/logger.js +1 -1
  285. package/lib/utils/params.js +1 -1
  286. package/lib/utils/platform.js +1 -1
  287. package/lib/utils/sleep.js +1 -1
  288. package/lib/utils/template-replacer.js +1 -1
  289. package/lib/utils/update-notice.js +1 -1
  290. package/lib/utils/version.js +1 -1
  291. package/lib/utils/with-active-cookie.js +1 -1
  292. package/lib/utils/write-cli-side-channel.js +1 -1
  293. package/package.json +1 -1
  294. package/skills/rabetbase/SKILL.md +1 -1
  295. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a111_0x539efa=a111_0x169c;function a111_0x10bb(){const _0x36c2a5=['execute\x20reviewed\x20delete\x20plan','failed','batch-delete','Batch\x20delete\x20request\x20for\x20menu\x20','7eBMkoX','trim','Menu\x20','snapshotHash','map','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','\x20->\x20menu\x20','causeMessage','selector','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','dry-run','push','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','1954VrRoyD','byId','menu','plan-out','expiresAt','target','pages','causeCode','pageId','batch\x20delete','childrenCount','\x20deleted\x20menus;\x20expected\x20','string','add','Deleted\x20','/smartapi/menu/batchDelete','childrenIds','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','resources','Recursive\x20menu\x20delete\x20plan\x20root\x20','absentIds','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','verification','deleteOrder','menu_verification_failed','indexOf','join','resourcesValid','menu_folder_has_resources','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','menu\x20list','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','folder','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','forEach','plan','cookie','menu_non_empty','expect-parent-id','flagMissing','2485710fKTLTt','size','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Post-failure\x20menu\x20readback\x20failed\x20(','length','plan\x20delete','unconfirmed','menu_tree_invalid','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','expect-path','970440dIEzoJ','bool','message','type','Post-mismatch\x20menu\x20readback\x20failed\x20(','str','\x20references\x20missing\x20child\x20','page\x20','appCode','menu_plan_invalid','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','):\x20','2541834GIyOJK','recursive','170bGbcpp','delete','remainingIds','toLowerCase','\x20menu(s)\x20under\x20exact\x20id\x20','14042296ZXJiuz','rabetbase\x20menu\x20list\x20--format\x20json','stringify','Would\x20batch\x20delete\x20','1112SDbqQu','hash','get','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','menu_recursive_requires_folder','POST','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','Folder\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','has','pre-write-plan-validation','filter','\x20is\x20type\x20\x22','verify\x20batch\x20delete','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','validation','4130244VfdjCT','5625220SaHpoF','unknown','menu_batch_delete_count_mismatch','boolean'];a111_0x10bb=function(){return _0x36c2a5;};return a111_0x10bb();}(function(_0x32caa0,_0x5f2b25){const _0x166e64=a111_0x169c,_0x214f26=_0x32caa0();while(!![]){try{const _0x47e579=-parseInt(_0x166e64(0xe7))/0x1*(parseInt(_0x166e64(0xbf))/0x2)+-parseInt(_0x166e64(0x112))/0x3+parseInt(_0x166e64(0xa6))/0x4+-parseInt(_0x166e64(0xd1))/0x5+parseInt(_0x166e64(0xd0))/0x6+-parseInt(_0x166e64(0xd9))/0x7*(parseInt(_0x166e64(0xbb))/0x8)+-parseInt(_0x166e64(0xb4))/0x9*(-parseInt(_0x166e64(0xb6))/0xa);if(_0x47e579===_0x5f2b25)break;else _0x214f26['push'](_0x214f26['shift']());}catch(_0x4775a8){_0x214f26['push'](_0x214f26['shift']());}}}(a111_0x10bb,0xe4bc5));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';const BACKEND=[{'method':'POST','path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x539efa(0xfc)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x539efa(0xb5),'type':a111_0x539efa(0xd4),'description':a111_0x539efa(0xe5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x539efa(0xea),'type':a111_0x539efa(0xf3),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a111_0x539efa(0xf3),'description':a111_0x539efa(0xb2)};export const menuDelete={'service':a111_0x539efa(0xe9),'command':a111_0x539efa(0xb7),'description':a111_0x539efa(0x10b),'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'(_0x4f04ea){const _0x2a9d01=a111_0x539efa;_0x4f04ea[_0x2a9d01(0xa7)](_0x2a9d01(0xe3))?validateDeleteDryRunInput(_0x4f04ea):validateDeleteExecuteInput(_0x4f04ea),requireExplicitYes(_0x4f04ea);},async 'dryRun'(_0x1e364e){const _0x349963=a111_0x539efa;validateDeleteDryRunInput(_0x1e364e);const _0x3ba111=await buildDeletePlan(_0x1e364e),_0xed2aff=createMenuDeletePlanFile(_0x1e364e[_0x349963(0xae)],_0x3ba111),_0x34321=await writeMenuDeletePlan(_0x1e364e[_0x349963(0xab)]('plan-out'),_0xed2aff),_0x3e1c47=mutationResult({..._0x3ba111,'planFile':{'path':_0x34321,'createdAt':_0xed2aff['createdAt'],'expiresAt':_0xed2aff[_0x349963(0xeb)]}});return menuDryRunResult(_0x3e1c47,{'method':_0x349963(0xc5),'url':_0x349963(0xf6),'body':{'idList':_0x3e1c47[_0x349963(0xfe)]},'description':_0x349963(0xbe)+(_0x3e1c47['deleteOrder']?.['length']??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3e1c47[_0x349963(0xe1)]['id']+';\x20execution\x20must\x20consume\x20'+_0x34321+'.'});},async 'execute'(_0x2b0135){const _0x4fa8da=a111_0x539efa;requireExplicitYes(_0x2b0135),validateDeleteExecuteInput(_0x2b0135);const _0x256b36=await readMenuDeletePlan(_0x2b0135[_0x4fa8da(0xab)](_0x4fa8da(0x10d))),_0x32e97d=mutationPlanFromDeleteFile(_0x256b36[_0x4fa8da(0x10d)],_0x256b36['path']),_0x591569=_0x256b36[_0x4fa8da(0x10d)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x256b36[_0x4fa8da(0x10d)],_0x2b0135['appCode']);}catch(_0x54d43f){throw menuFailure(asMenuError(_0x54d43f),_0x32e97d,{'stage':'plan-validation','failed':{'id':_0x591569}});}let _0x44890d,_0x42d8f6;try{_0x44890d=await fetchMutationSnapshot(_0x2b0135,_0x4fa8da(0xd5),_0x591569),_0x42d8f6=assertMenuDeletePlanCurrent(_0x256b36[_0x4fa8da(0x10d)],_0x2b0135['appCode'],_0x44890d),assertDeleteTargetsComplete(_0x256b36['plan'],_0x44890d),_0x42d8f6[_0x4fa8da(0x10c)](_0x57018f=>assertDeleteSafety(_0x57018f,_0x256b36[_0x4fa8da(0x10d)][_0x4fa8da(0xb5)])),assertNoSharedPages(_0x44890d,_0x42d8f6),assertCascadeMatchesPlan(_0x32e97d,_0x42d8f6);}catch(_0x4a3ce6){throw menuFailure(asMenuError(_0x4a3ce6),_0x32e97d,{'stage':_0x4fa8da(0xca),'failed':{'id':_0x591569}});}const _0x5cd928=_0x256b36[_0x4fa8da(0x10d)][_0x4fa8da(0xfe)];let _0xa0ffee;try{_0xa0ffee=await batchDeleteMenuEntities(_0x2b0135[_0x4fa8da(0x10e)],_0x5cd928);}catch(_0x42001a){const _0x52cc3c=mapMenuApiError(_0x42001a,_0x4fa8da(0xf0)),_0xda77ef=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x49d288;try{_0x49d288=await readDeleteOutcome(_0x2b0135,_0x5cd928);}catch(_0x7c1834){const _0x21bf89=describeMenuErrorCause(_0x7c1834,_0x4fa8da(0x108),_0x591569);_0xda77ef[_0x4fa8da(0xe4)](_0x4fa8da(0x115)+_0x21bf89[_0x4fa8da(0xee)]+_0x4fa8da(0xb3)+_0x21bf89[_0x4fa8da(0xe0)]);throw menuFailure(_0x52cc3c,_0x32e97d,{'stage':'batch-delete','failed':{'targetIds':_0x5cd928,'targetIdsAbsent':_0x4fa8da(0x118),..._0x21bf89},'warnings':_0xda77ef,'verification':{'status':_0x4fa8da(0xd6),'lookupCommand':_0x4fa8da(0xbc),'targetIds':_0x5cd928}});}throw menuFailure(_0x52cc3c,_0x32e97d,{'stage':'batch-delete','succeeded':_0x49d288[_0x4fa8da(0xfb)]['map'](_0x20c2d6=>({'id':_0x20c2d6,'deleted':!![]})),'failed':{'targetIds':_0x5cd928,'absentIds':_0x49d288[_0x4fa8da(0xfb)],'remainingIds':_0x49d288[_0x4fa8da(0xb8)]},'warnings':_0xda77ef,'verification':verificationFromOutcome(_0x49d288)});}if(_0xa0ffee!==_0x5cd928[_0x4fa8da(0x116)]){const _0x2a41e8=menuError(_0x4fa8da(0xd3),'Backend\x20reported\x20'+_0xa0ffee+_0x4fa8da(0xf2)+_0x5cd928[_0x4fa8da(0x116)]+'.',_0x4fa8da(0xf8)),_0x111ad8=[_0x4fa8da(0xc6)];let _0x519e39;try{_0x519e39=await readDeleteOutcome(_0x2b0135,_0x5cd928);}catch(_0xb4266a){const _0x589438=describeMenuErrorCause(_0xb4266a,_0x4fa8da(0xce),_0x591569);_0x111ad8['push'](_0x4fa8da(0xaa)+_0x589438['causeCode']+_0x4fa8da(0xb3)+_0x589438['causeMessage']);throw menuFailure(_0x2a41e8,_0x32e97d,{'stage':'batch-delete','failed':{'targetIds':_0x5cd928,'expectedCount':_0x5cd928[_0x4fa8da(0x116)],'reportedDeletedCount':_0xa0ffee,'targetIdsAbsent':_0x4fa8da(0x118),..._0x589438},'warnings':_0x111ad8,'verification':{'status':_0x4fa8da(0xd6),'lookupCommand':_0x4fa8da(0xbc),'targetIds':_0x5cd928}});}throw menuFailure(_0x2a41e8,_0x32e97d,{'stage':_0x4fa8da(0xd7),'succeeded':_0x519e39[_0x4fa8da(0xfb)][_0x4fa8da(0xdd)](_0x2ba93b=>({'id':_0x2ba93b,'deleted':!![]})),'failed':{'targetIds':_0x5cd928,'expectedCount':_0x5cd928[_0x4fa8da(0x116)],'reportedDeletedCount':_0xa0ffee,'absentIds':_0x519e39['absentIds'],'remainingIds':_0x519e39[_0x4fa8da(0xb8)]},'warnings':_0x111ad8,'verification':verificationFromOutcome(_0x519e39)});}let _0x159c7d;try{_0x159c7d=await readDeleteOutcome(_0x2b0135,_0x5cd928);}catch(_0x42639f){const _0x4ddbff=describeMenuErrorCause(_0x42639f,_0x4fa8da(0xcd),_0x591569),_0x2ac8d7=asVerificationError(_0x42639f,_0x4fa8da(0xd8)+_0x591569+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x2ac8d7,_0x32e97d,{'stage':_0x4fa8da(0xfd),'succeeded':_0x5cd928['map'](_0x2c8ee6=>({'id':_0x2c8ee6,'deleteRequested':!![]})),'failed':{'id':_0x591569,'targetIds':_0x5cd928,'targetIdsAbsent':_0x4fa8da(0x118),..._0x4ddbff},'warnings':[_0x4fa8da(0xe6)],'verification':{'status':_0x4fa8da(0xd6),'lookupCommand':_0x4fa8da(0xbc),'targetIds':_0x5cd928}});}if(_0x159c7d['remainingIds'][_0x4fa8da(0x116)]>0x0){const _0x2d9a03=menuError(_0x4fa8da(0xff),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x159c7d[_0x4fa8da(0xb8)][_0x4fa8da(0x101)](',\x20')+'.',_0x4fa8da(0xf8));throw menuFailure(_0x2d9a03,_0x32e97d,{'stage':_0x4fa8da(0xfd),'succeeded':_0x5cd928[_0x4fa8da(0xdd)](_0x136e91=>({'id':_0x136e91,'deleteRequested':!![]})),'failed':{'id':_0x591569,'targetIds':_0x5cd928,'absentIds':_0x159c7d[_0x4fa8da(0xfb)],'remainingIds':_0x159c7d[_0x4fa8da(0xb8)]},'warnings':[_0x4fa8da(0xc2)],'verification':verificationFromOutcome(_0x159c7d)});}const _0x167c2a=_0x5cd928['map'](_0x227cf2=>({'id':_0x227cf2,'deleted':!![]})),_0x4a6be7=mutationResult({..._0x32e97d,'dryRun':![],'succeeded':_0x167c2a,'verification':{'checkedBy':_0x4fa8da(0x107),'plannedSnapshotHash':_0x32e97d[_0x4fa8da(0xdc)],'finalSnapshotHash':_0x159c7d['snapshot']['hash'],'reportedDeletedCount':_0xa0ffee,'targetAbsent':!_0x159c7d['snapshot'][_0x4fa8da(0xe8)][_0x4fa8da(0xc9)](_0x591569),'allTargetsAbsent':!![],'targetIds':_0x5cd928}});return{'ok':!![],'data':_0x4a6be7,'message':_0x4fa8da(0xf5)+_0x167c2a[_0x4fa8da(0x116)]+_0x4fa8da(0xba)+_0x591569+'.'};}};async function readDeleteOutcome(_0x6c9c4a,_0x37d564){const _0x2e7a1c=a111_0x539efa,_0x16c3df=await fetchMenuSnapshot(_0x6c9c4a['appCode'],_0x6c9c4a['cookie']);return{'snapshot':_0x16c3df,'absentIds':_0x37d564[_0x2e7a1c(0xcb)](_0x3b2091=>!_0x16c3df[_0x2e7a1c(0xe8)][_0x2e7a1c(0xc9)](_0x3b2091)),'remainingIds':_0x37d564[_0x2e7a1c(0xcb)](_0x493fbb=>_0x16c3df[_0x2e7a1c(0xe8)]['has'](_0x493fbb))};}function verificationFromOutcome(_0x585343){return{'checkedBy':'menu\x20list','absentIds':_0x585343['absentIds'],'remainingIds':_0x585343['remainingIds']};}function validateDeleteDryRunInput(_0x31ca10){const _0xfdf7a0=a111_0x539efa;validateExactId(_0x31ca10);if(!hasFlag(_0x31ca10,_0xfdf7a0(0xea))||!_0x31ca10[_0xfdf7a0(0xab)](_0xfdf7a0(0xea))[_0xfdf7a0(0xda)]())throw CliErrors[_0xfdf7a0(0x111)](_0xfdf7a0(0xea),_0xfdf7a0(0x104));if(hasFlag(_0x31ca10,_0xfdf7a0(0x10d)))throw CliErrors['validation'](_0xfdf7a0(0xc3));}function validateDeleteExecuteInput(_0xe5700e){const _0x291ad4=a111_0x539efa;if(!hasFlag(_0xe5700e,_0x291ad4(0x10d))||!_0xe5700e[_0x291ad4(0xab)](_0x291ad4(0x10d))[_0x291ad4(0xda)]())throw CliErrors[_0x291ad4(0x111)](_0x291ad4(0x10d),_0x291ad4(0xa4));const _0x4eaf4a=['id',_0x291ad4(0xb5),_0x291ad4(0xea),_0x291ad4(0x110),_0x291ad4(0xa5),'expected-children-count'][_0x291ad4(0xcb)](_0x56cce3=>hasFlag(_0xe5700e,_0x56cce3));if(_0x4eaf4a['length']>0x0)throw CliErrors[_0x291ad4(0xcf)](_0x291ad4(0x106)+_0x4eaf4a['map'](_0x24711e=>'--'+_0x24711e)['join'](',\x20')+'.');}async function buildDeletePlan(_0x37da41){const _0x3967eb=a111_0x539efa,_0x4acdae=validateExactId(_0x37da41),_0x36fc53=await fetchMutationSnapshot(_0x37da41,_0x3967eb(0x117),_0x4acdae),_0x218c79=requireMenu(_0x36fc53,_0x4acdae);assertExpectedState(_0x37da41,_0x218c79);const _0x2fc485=_0x37da41[_0x3967eb(0xa7)](_0x3967eb(0xb5));let _0x10de82;if(_0x2fc485){if(_0x218c79['type'][_0x3967eb(0xda)]()[_0x3967eb(0xb9)]()!==_0x3967eb(0x109))throw menuError(_0x3967eb(0xc4),_0x3967eb(0xdb)+_0x218c79['id']+_0x3967eb(0xcc)+(_0x218c79[_0x3967eb(0xa9)]||_0x3967eb(0xd2))+_0x3967eb(0x10a));_0x10de82=collectDeleteTargets(_0x36fc53,_0x218c79),_0x10de82['forEach'](_0x26246d=>assertDeleteSafety(_0x26246d,!![]));}else assertDeleteSafety(_0x218c79),_0x10de82=[_0x218c79];assertNoSharedPages(_0x36fc53,_0x10de82);const _0x2b4c16=_0x10de82[_0x3967eb(0xdd)](_0xd9b925=>_0xd9b925['id']),_0x12ef9e=cascadeForTargets(_0x10de82),_0x471244=_0x12ef9e[_0x3967eb(0xed)]['length']>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x3967eb(0xb7),'selector':{'id':_0x4acdae,'recursive':_0x2fc485},'before':_0x218c79,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x2b4c16}}],'targets':_0x10de82,'deleteOrder':_0x2b4c16,'snapshotHash':_0x36fc53[_0x3967eb(0xc0)],'cascade':_0x12ef9e,'warnings':_0x471244});}function assertDeleteSafety(_0x255f92,_0x36019f=![]){const _0x36cdc5=a111_0x539efa,_0x4891e4=_0x255f92[_0x36cdc5(0xa9)]['trim']()['toLowerCase']()===_0x36cdc5(0x109);if(_0x255f92['childrenCount']>0x0&&(!_0x36019f||!_0x4891e4))throw menuError(_0x36cdc5(0x10f),'Menu\x20'+_0x255f92['id']+'\x20has\x20'+_0x255f92[_0x36cdc5(0xf1)]+_0x36cdc5(0xde),_0x36cdc5(0xb1)+_0x255f92['childrenIds'][_0x36cdc5(0x101)](',\x20'));if(_0x4891e4&&_0x255f92['pageId']!=null)throw menuError('menu_delete_page_bound','Folder\x20'+_0x255f92['id']+_0x36cdc5(0xe2)+_0x255f92[_0x36cdc5(0xef)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x36cdc5(0xc8));if(!_0x4891e4)return;if(!_0x255f92[_0x36cdc5(0x102)])throw menuError('menu_folder_resources_invalid',_0x36cdc5(0xc7)+_0x255f92['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x255f92[_0x36cdc5(0xf9)][_0x36cdc5(0x116)]>0x0)throw menuError(_0x36cdc5(0x103),_0x36cdc5(0xc7)+_0x255f92['id']+'\x20still\x20references\x20'+_0x255f92[_0x36cdc5(0xf9)][_0x36cdc5(0x116)]+'\x20resource\x20URL(s).',_0x36cdc5(0xa3));}function collectDeleteTargets(_0x9a86b3,_0x11e8a2){const _0x4295a3=[],_0x5c279f=new Set(),_0x3f0d0f=new Set(),_0x9f34e9=_0x44d9c6=>{const _0x39926e=a111_0x169c;if(_0x5c279f['has'](_0x44d9c6['id']))throw menuError(_0x39926e(0x119),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x44d9c6['id']+'.');if(_0x3f0d0f[_0x39926e(0xc9)](_0x44d9c6['id']))return;_0x5c279f[_0x39926e(0xf4)](_0x44d9c6['id']);for(const _0x3dd8ef of _0x44d9c6[_0x39926e(0xf7)]){const _0x4771e9=_0x9a86b3[_0x39926e(0xe8)][_0x39926e(0xc1)](_0x3dd8ef);if(!_0x4771e9)throw menuError(_0x39926e(0x119),_0x39926e(0xdb)+_0x44d9c6['id']+_0x39926e(0xac)+_0x3dd8ef+'.');_0x9f34e9(_0x4771e9);}_0x5c279f[_0x39926e(0xb7)](_0x44d9c6['id']),_0x3f0d0f[_0x39926e(0xf4)](_0x44d9c6['id']),_0x4295a3[_0x39926e(0xe4)](_0x44d9c6);};return _0x9f34e9(_0x11e8a2),_0x4295a3;}function assertDeleteTargetsComplete(_0xb3f1a,_0x5f236e){const _0x289295=a111_0x539efa,_0x5f3957=requireMenu(_0x5f236e,_0xb3f1a[_0x289295(0xec)]['id']);if(_0xb3f1a[_0x289295(0xb5)]&&_0x5f3957[_0x289295(0xa9)]['trim']()[_0x289295(0xb9)]()!==_0x289295(0x109))throw menuError(_0x289295(0xaf),_0x289295(0xfa)+_0x5f3957['id']+'\x20is\x20not\x20a\x20folder.');const _0x107fb6=_0xb3f1a[_0x289295(0xb5)]?collectDeleteTargets(_0x5f236e,_0x5f3957)[_0x289295(0xdd)](_0x2527a3=>_0x2527a3['id']):[_0x5f3957['id']];if(JSON['stringify'](_0xb3f1a[_0x289295(0xfe)])!==JSON[_0x289295(0xbd)](_0x107fb6))throw menuError(_0x289295(0xaf),_0x289295(0x114),_0x289295(0x105));}function a111_0x169c(_0x1c66eb,_0x3e3d2d){_0x1c66eb=_0x1c66eb-0xa3;const _0x10bbb2=a111_0x10bb();let _0x169c45=_0x10bbb2[_0x1c66eb];return _0x169c45;}function assertNoSharedPages(_0x18ae32,_0x581933){const _0x469aad=a111_0x539efa,_0x49b3ab=new Set(_0x581933[_0x469aad(0xdd)](_0x49fe1c=>_0x49fe1c['id'])),_0x45c706=new Set(_0x581933['map'](_0x2259fa=>_0x2259fa[_0x469aad(0xef)])['filter'](_0x277c5a=>_0x277c5a!=null));if(_0x45c706[_0x469aad(0x113)]===0x0)return;const _0x5aea73=_0x18ae32['menus'][_0x469aad(0xcb)](_0x3014ea=>!_0x49b3ab['has'](_0x3014ea['id'])&&_0x3014ea[_0x469aad(0xef)]!=null&&_0x45c706['has'](_0x3014ea[_0x469aad(0xef)]));if(_0x5aea73['length']===0x0)return;const _0x4b682b=_0x5aea73[_0x469aad(0xdd)](_0x98e497=>_0x469aad(0xad)+_0x98e497[_0x469aad(0xef)]+_0x469aad(0xdf)+_0x98e497['id'])[_0x469aad(0x101)](',\x20');throw menuError('menu_page_shared',_0x469aad(0xb0)+_0x4b682b+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x47e4e2,_0x37f86d){const _0xb89323=a111_0x539efa,_0x266ad7=cascadeForTargets(_0x37f86d);if(JSON[_0xb89323(0xbd)](_0x47e4e2['cascade'])!==JSON[_0xb89323(0xbd)](_0x266ad7))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x1b60e3){const _0x3ebc27=a111_0x539efa,_0x2da481=_0x1b60e3['map'](_0x2ad46e=>_0x2ad46e[_0x3ebc27(0xef)])[_0x3ebc27(0xcb)](_0x28462f=>_0x28462f!=null)['filter']((_0x4bb636,_0x2de347,_0x410f70)=>_0x410f70[_0x3ebc27(0x100)](_0x4bb636)===_0x2de347);return{'pages':_0x2da481,'pageSchemaAffected':_0x2da481['length']>0x0};}function asMenuError(_0x3d297a){const _0x164d34=a111_0x539efa;return _0x3d297a instanceof CliError?_0x3d297a:menuError(_0x164d34(0xaf),_0x3d297a instanceof Error?_0x3d297a[_0x164d34(0xa8)]:String(_0x3d297a));}
1
+ const a111_0x546e79=a111_0x3110;(function(_0x2d7806,_0x550f5c){const _0x38708e=a111_0x3110,_0x3feaa4=_0x2d7806();while(!![]){try{const _0x3bf8e9=parseInt(_0x38708e(0x1b3))/0x1+-parseInt(_0x38708e(0x1e2))/0x2+-parseInt(_0x38708e(0x203))/0x3*(parseInt(_0x38708e(0x1be))/0x4)+parseInt(_0x38708e(0x1ef))/0x5+parseInt(_0x38708e(0x1d6))/0x6+parseInt(_0x38708e(0x209))/0x7*(parseInt(_0x38708e(0x21d))/0x8)+-parseInt(_0x38708e(0x1bf))/0x9*(-parseInt(_0x38708e(0x206))/0xa);if(_0x3bf8e9===_0x550f5c)break;else _0x3feaa4['push'](_0x3feaa4['shift']());}catch(_0x47f005){_0x3feaa4['push'](_0x3feaa4['shift']());}}}(a111_0x5cf4,0x8e325));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_0x3110(_0x362ea7,_0x4db6ca){_0x362ea7=_0x362ea7-0x1af;const _0x5cf4f0=a111_0x5cf4();let _0x3110b0=_0x5cf4f0[_0x362ea7];return _0x3110b0;}const BACKEND=[{'method':a111_0x546e79(0x223),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x546e79(0x1e9)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x546e79(0x1e0),'type':a111_0x546e79(0x202),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x546e79(0x1f4),'type':'string','description':a111_0x546e79(0x1dc)},MENU_DELETE_PLAN_FLAG={'name':a111_0x546e79(0x215),'type':'string','description':a111_0x546e79(0x1d3)};export const menuDelete={'service':a111_0x546e79(0x224),'command':a111_0x546e79(0x1ed),'description':a111_0x546e79(0x1b9),'risk':a111_0x546e79(0x1b7),'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'(_0x3966ae){_0x3966ae['bool']('dry-run')?validateDeleteDryRunInput(_0x3966ae):validateDeleteExecuteInput(_0x3966ae),requireExplicitYes(_0x3966ae);},async 'dryRun'(_0x2adbe3){const _0x43008f=a111_0x546e79;validateDeleteDryRunInput(_0x2adbe3);const _0x342261=await buildDeletePlan(_0x2adbe3),_0x26be64=createMenuDeletePlanFile(_0x2adbe3[_0x43008f(0x1e4)],_0x342261),_0x31de9c=await writeMenuDeletePlan(_0x2adbe3['str'](_0x43008f(0x1f4)),_0x26be64),_0x1af5a0=mutationResult({..._0x342261,'planFile':{'path':_0x31de9c,'createdAt':_0x26be64[_0x43008f(0x210)],'expiresAt':_0x26be64[_0x43008f(0x1db)]}});return menuDryRunResult(_0x1af5a0,{'method':'POST','url':_0x43008f(0x1fd),'body':{'idList':_0x1af5a0['deleteOrder']},'description':_0x43008f(0x1d7)+(_0x1af5a0[_0x43008f(0x1c8)]?.[_0x43008f(0x22a)]??0x1)+_0x43008f(0x22b)+_0x1af5a0[_0x43008f(0x1f8)]['id']+';\x20execution\x20must\x20consume\x20'+_0x31de9c+'.'});},async 'execute'(_0x4b6106){const _0x4b4b83=a111_0x546e79;requireExplicitYes(_0x4b6106),validateDeleteExecuteInput(_0x4b6106);const _0x2f1719=await readMenuDeletePlan(_0x4b6106[_0x4b4b83(0x217)](_0x4b4b83(0x215))),_0x11e374=mutationPlanFromDeleteFile(_0x2f1719[_0x4b4b83(0x215)],_0x2f1719[_0x4b4b83(0x1c9)]),_0xa4f03e=_0x2f1719[_0x4b4b83(0x215)][_0x4b4b83(0x20f)]['id'];try{assertMenuDeletePlanExecutable(_0x2f1719['plan'],_0x4b6106[_0x4b4b83(0x1e4)]);}catch(_0x4917a){throw menuFailure(asMenuError(_0x4917a),_0x11e374,{'stage':_0x4b4b83(0x226),'failed':{'id':_0xa4f03e}});}let _0xc20f5a,_0x2df116;try{_0xc20f5a=await fetchMutationSnapshot(_0x4b6106,'execute\x20reviewed\x20delete\x20plan',_0xa4f03e),_0x2df116=assertMenuDeletePlanCurrent(_0x2f1719[_0x4b4b83(0x215)],_0x4b6106[_0x4b4b83(0x1e4)],_0xc20f5a),assertDeleteTargetsComplete(_0x2f1719['plan'],_0xc20f5a),_0x2df116['forEach'](_0x292a83=>assertDeleteSafety(_0x292a83,_0x2f1719['plan'][_0x4b4b83(0x1e0)])),assertNoSharedPages(_0xc20f5a,_0x2df116),assertCascadeMatchesPlan(_0x11e374,_0x2df116);}catch(_0x1ab868){throw menuFailure(asMenuError(_0x1ab868),_0x11e374,{'stage':_0x4b4b83(0x1c1),'failed':{'id':_0xa4f03e}});}const _0x590eb4=_0x2f1719[_0x4b4b83(0x215)]['deleteOrder'];let _0x237ddf;try{_0x237ddf=await batchDeleteMenuEntities(_0x4b6106['cookie'],_0x590eb4);}catch(_0x576fc4){const _0x5c2d0c=mapMenuApiError(_0x576fc4,_0x4b4b83(0x1d5)),_0xc7fa16=[_0x4b4b83(0x1f6)];let _0x408b90;try{_0x408b90=await readDeleteOutcome(_0x4b6106,_0x590eb4);}catch(_0x381e64){const _0x5ce64f=describeMenuErrorCause(_0x381e64,_0x4b4b83(0x1c4),_0xa4f03e);_0xc7fa16[_0x4b4b83(0x1f7)](_0x4b4b83(0x200)+_0x5ce64f[_0x4b4b83(0x1c6)]+_0x4b4b83(0x20c)+_0x5ce64f[_0x4b4b83(0x1bb)]);throw menuFailure(_0x5c2d0c,_0x11e374,{'stage':_0x4b4b83(0x1ee),'failed':{'targetIds':_0x590eb4,'targetIdsAbsent':_0x4b4b83(0x1df),..._0x5ce64f},'warnings':_0xc7fa16,'verification':{'status':_0x4b4b83(0x1cd),'lookupCommand':_0x4b4b83(0x1d9),'targetIds':_0x590eb4}});}throw menuFailure(_0x5c2d0c,_0x11e374,{'stage':_0x4b4b83(0x1ee),'succeeded':_0x408b90['absentIds']['map'](_0xd1aba6=>({'id':_0xd1aba6,'deleted':!![]})),'failed':{'targetIds':_0x590eb4,'absentIds':_0x408b90[_0x4b4b83(0x1e3)],'remainingIds':_0x408b90[_0x4b4b83(0x1cc)]},'warnings':_0xc7fa16,'verification':verificationFromOutcome(_0x408b90)});}if(_0x237ddf!==_0x590eb4[_0x4b4b83(0x22a)]){const _0x306fc5=menuError('menu_batch_delete_count_mismatch',_0x4b4b83(0x221)+_0x237ddf+_0x4b4b83(0x22e)+_0x590eb4[_0x4b4b83(0x22a)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x1e97b9=[_0x4b4b83(0x1d0)];let _0x39a2e9;try{_0x39a2e9=await readDeleteOutcome(_0x4b6106,_0x590eb4);}catch(_0x2ed1a9){const _0x555890=describeMenuErrorCause(_0x2ed1a9,_0x4b4b83(0x1c0),_0xa4f03e);_0x1e97b9[_0x4b4b83(0x1f7)](_0x4b4b83(0x214)+_0x555890[_0x4b4b83(0x1c6)]+_0x4b4b83(0x20c)+_0x555890[_0x4b4b83(0x1bb)]);throw menuFailure(_0x306fc5,_0x11e374,{'stage':_0x4b4b83(0x1ee),'failed':{'targetIds':_0x590eb4,'expectedCount':_0x590eb4[_0x4b4b83(0x22a)],'reportedDeletedCount':_0x237ddf,'targetIdsAbsent':_0x4b4b83(0x1df),..._0x555890},'warnings':_0x1e97b9,'verification':{'status':_0x4b4b83(0x1cd),'lookupCommand':_0x4b4b83(0x1d9),'targetIds':_0x590eb4}});}throw menuFailure(_0x306fc5,_0x11e374,{'stage':_0x4b4b83(0x1ee),'succeeded':_0x39a2e9[_0x4b4b83(0x1e3)][_0x4b4b83(0x21e)](_0x32ccdf=>({'id':_0x32ccdf,'deleted':!![]})),'failed':{'targetIds':_0x590eb4,'expectedCount':_0x590eb4[_0x4b4b83(0x22a)],'reportedDeletedCount':_0x237ddf,'absentIds':_0x39a2e9[_0x4b4b83(0x1e3)],'remainingIds':_0x39a2e9[_0x4b4b83(0x1cc)]},'warnings':_0x1e97b9,'verification':verificationFromOutcome(_0x39a2e9)});}let _0x5ef9d5;try{_0x5ef9d5=await readDeleteOutcome(_0x4b6106,_0x590eb4);}catch(_0x365700){const _0x239cf6=describeMenuErrorCause(_0x365700,_0x4b4b83(0x229),_0xa4f03e),_0x1bb379=asVerificationError(_0x365700,_0x4b4b83(0x220)+_0xa4f03e+_0x4b4b83(0x1b8));throw menuFailure(_0x1bb379,_0x11e374,{'stage':'verification','succeeded':_0x590eb4[_0x4b4b83(0x21e)](_0x134e1b=>({'id':_0x134e1b,'deleteRequested':!![]})),'failed':{'id':_0xa4f03e,'targetIds':_0x590eb4,'targetIdsAbsent':'unconfirmed',..._0x239cf6},'warnings':[_0x4b4b83(0x228)],'verification':{'status':_0x4b4b83(0x1cd),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x590eb4}});}if(_0x5ef9d5[_0x4b4b83(0x1cc)][_0x4b4b83(0x22a)]>0x0){const _0x543de3=menuError(_0x4b4b83(0x1c3),_0x4b4b83(0x1dd)+_0x5ef9d5[_0x4b4b83(0x1cc)][_0x4b4b83(0x1f0)](',\x20')+'.',_0x4b4b83(0x205));throw menuFailure(_0x543de3,_0x11e374,{'stage':_0x4b4b83(0x1ec),'succeeded':_0x590eb4['map'](_0x1b6ad3=>({'id':_0x1b6ad3,'deleteRequested':!![]})),'failed':{'id':_0xa4f03e,'targetIds':_0x590eb4,'absentIds':_0x5ef9d5[_0x4b4b83(0x1e3)],'remainingIds':_0x5ef9d5[_0x4b4b83(0x1cc)]},'warnings':[_0x4b4b83(0x201)],'verification':verificationFromOutcome(_0x5ef9d5)});}const _0x3fc952=_0x590eb4['map'](_0x4bff08=>({'id':_0x4bff08,'deleted':!![]})),_0x3ef0be=mutationResult({..._0x11e374,'dryRun':![],'succeeded':_0x3fc952,'verification':{'checkedBy':_0x4b4b83(0x1c7),'plannedSnapshotHash':_0x11e374[_0x4b4b83(0x1e1)],'finalSnapshotHash':_0x5ef9d5[_0x4b4b83(0x222)][_0x4b4b83(0x21a)],'reportedDeletedCount':_0x237ddf,'targetAbsent':!_0x5ef9d5[_0x4b4b83(0x222)][_0x4b4b83(0x1ff)]['has'](_0xa4f03e),'allTargetsAbsent':!![],'targetIds':_0x590eb4}});return{'ok':!![],'data':_0x3ef0be,'message':_0x4b4b83(0x1de)+_0x3fc952[_0x4b4b83(0x22a)]+_0x4b4b83(0x22b)+_0xa4f03e+'.'};}};async function readDeleteOutcome(_0x10b14b,_0xb15fb6){const _0xd06139=a111_0x546e79,_0x36467f=await fetchMenuSnapshot(_0x10b14b[_0xd06139(0x1e4)],_0x10b14b[_0xd06139(0x1af)]);return{'snapshot':_0x36467f,'absentIds':_0xb15fb6[_0xd06139(0x21c)](_0x4bdd67=>!_0x36467f[_0xd06139(0x1ff)][_0xd06139(0x1d2)](_0x4bdd67)),'remainingIds':_0xb15fb6['filter'](_0x186c21=>_0x36467f[_0xd06139(0x1ff)][_0xd06139(0x1d2)](_0x186c21))};}function verificationFromOutcome(_0xd3de4f){const _0x2aa6e5=a111_0x546e79;return{'checkedBy':_0x2aa6e5(0x1c7),'absentIds':_0xd3de4f[_0x2aa6e5(0x1e3)],'remainingIds':_0xd3de4f[_0x2aa6e5(0x1cc)]};}function validateDeleteDryRunInput(_0x208a70){const _0x5207b1=a111_0x546e79;validateExactId(_0x208a70);if(!hasFlag(_0x208a70,_0x5207b1(0x1f4))||!_0x208a70['str'](_0x5207b1(0x1f4))[_0x5207b1(0x1f3)]())throw CliErrors[_0x5207b1(0x21f)](_0x5207b1(0x1f4),_0x5207b1(0x1e5));if(hasFlag(_0x208a70,_0x5207b1(0x215)))throw CliErrors[_0x5207b1(0x1f5)](_0x5207b1(0x20b));}function validateDeleteExecuteInput(_0x528bba){const _0x584a4b=a111_0x546e79;if(!hasFlag(_0x528bba,_0x584a4b(0x215))||!_0x528bba[_0x584a4b(0x217)]('plan')[_0x584a4b(0x1f3)]())throw CliErrors[_0x584a4b(0x21f)](_0x584a4b(0x215),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x46dea1=['id',_0x584a4b(0x1e0),_0x584a4b(0x1f4),_0x584a4b(0x225),'expect-path','expected-children-count']['filter'](_0x2442bb=>hasFlag(_0x528bba,_0x2442bb));if(_0x46dea1['length']>0x0)throw CliErrors[_0x584a4b(0x1f5)](_0x584a4b(0x1c2)+_0x46dea1[_0x584a4b(0x21e)](_0x58581d=>'--'+_0x58581d)[_0x584a4b(0x1f0)](',\x20')+'.');}function a111_0x5cf4(){const _0x18834c=['menu\x20list','deleteOrder','path','menu_plan_invalid','type','remainingIds','failed','\x20still\x20references\x20','batch-delete-menu','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','has','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','\x20->\x20menu\x20','batch\x20delete','455712mdiQqq','Would\x20batch\x20delete\x20','childrenCount','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20type\x20\x22','expiresAt','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Deleted\x20','unconfirmed','recursive','snapshotHash','1566098OBtwdg','absentIds','appCode','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','childrenIds','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','resources','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','verification','delete','batch-delete','1841855ikgeoB','join','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_non_empty','trim','plan-out','validation','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','push','selector','Folder\x20','pages','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','unknown','/smartapi/menu/batchDelete','Recursive\x20menu\x20delete\x20plan\x20root\x20','byId','Post-failure\x20menu\x20readback\x20failed\x20(','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','boolean','2854491qHlOHG','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','10vwMWbH','\x20references\x20missing\x20child\x20','page\x20','21wezfRr','bool','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','):\x20','stringify','\x20has\x20','target','createdAt','pageId','forEach','toLowerCase','Post-mismatch\x20menu\x20readback\x20failed\x20(','plan','folder','str','\x20resource\x20URL(s).','menu_tree_invalid','hash','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','filter','436760jxeJgA','map','flagMissing','Batch\x20delete\x20request\x20for\x20menu\x20','Backend\x20reported\x20','snapshot','POST','menu','expect-parent-id','plan-validation','\x20is\x20not\x20a\x20folder.','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','verify\x20batch\x20delete','length','\x20menu(s)\x20under\x20exact\x20id\x20','add','message','\x20deleted\x20menus;\x20expected\x20','cookie','Menu\x20','indexOf','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','256530zCFAqV','resourcesValid','menu_recursive_requires_folder','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','high-risk-write','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','causeMessage','menu_delete_page_bound','get','4bTAYPz','13071105tpWRVN','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','pre-write-plan-validation','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','menu_verification_failed','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','causeCode'];a111_0x5cf4=function(){return _0x18834c;};return a111_0x5cf4();}async function buildDeletePlan(_0x264984){const _0x1e1e52=a111_0x546e79,_0x23dcdf=validateExactId(_0x264984),_0xbe67ea=await fetchMutationSnapshot(_0x264984,'plan\x20delete',_0x23dcdf),_0x13c143=requireMenu(_0xbe67ea,_0x23dcdf);assertExpectedState(_0x264984,_0x13c143);const _0x234ddb=_0x264984[_0x1e1e52(0x20a)](_0x1e1e52(0x1e0));let _0xf275a;if(_0x234ddb){if(_0x13c143[_0x1e1e52(0x1cb)][_0x1e1e52(0x1f3)]()['toLowerCase']()!==_0x1e1e52(0x216))throw menuError(_0x1e1e52(0x1b5),_0x1e1e52(0x1b0)+_0x13c143['id']+_0x1e1e52(0x1da)+(_0x13c143[_0x1e1e52(0x1cb)]||_0x1e1e52(0x1fc))+_0x1e1e52(0x1d1));_0xf275a=collectDeleteTargets(_0xbe67ea,_0x13c143),_0xf275a[_0x1e1e52(0x212)](_0x3ce32a=>assertDeleteSafety(_0x3ce32a,!![]));}else assertDeleteSafety(_0x13c143),_0xf275a=[_0x13c143];assertNoSharedPages(_0xbe67ea,_0xf275a);const _0x21b5e3=_0xf275a[_0x1e1e52(0x21e)](_0x54fd43=>_0x54fd43['id']),_0x200850=cascadeForTargets(_0xf275a),_0x1146f=_0x200850[_0x1e1e52(0x1fa)][_0x1e1e52(0x22a)]>0x0?[_0x1e1e52(0x1b6)]:[];return mutationResult({'operation':_0x1e1e52(0x1ed),'selector':{'id':_0x23dcdf,'recursive':_0x234ddb},'before':_0x13c143,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x1e1e52(0x1cf),'method':_0x1e1e52(0x223),'path':_0x1e1e52(0x1fd),'body':{'idList':_0x21b5e3}}],'targets':_0xf275a,'deleteOrder':_0x21b5e3,'snapshotHash':_0xbe67ea['hash'],'cascade':_0x200850,'warnings':_0x1146f});}function assertDeleteSafety(_0x54b25e,_0xe84946=![]){const _0x4594eb=a111_0x546e79,_0x3f2b13=_0x54b25e[_0x4594eb(0x1cb)][_0x4594eb(0x1f3)]()[_0x4594eb(0x213)]()==='folder';if(_0x54b25e[_0x4594eb(0x1d8)]>0x0&&(!_0xe84946||!_0x3f2b13))throw menuError(_0x4594eb(0x1f2),_0x4594eb(0x1b0)+_0x54b25e['id']+_0x4594eb(0x20e)+_0x54b25e['childrenCount']+_0x4594eb(0x1c5),_0x4594eb(0x1fb)+_0x54b25e[_0x4594eb(0x1e6)]['join'](',\x20'));if(_0x3f2b13&&_0x54b25e[_0x4594eb(0x211)]!=null)throw menuError(_0x4594eb(0x1bc),'Folder\x20'+_0x54b25e['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x54b25e[_0x4594eb(0x211)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x4594eb(0x1f1));if(!_0x3f2b13)return;if(!_0x54b25e[_0x4594eb(0x1b4)])throw menuError('menu_folder_resources_invalid','Folder\x20'+_0x54b25e['id']+_0x4594eb(0x1ea),_0x4594eb(0x204));if(_0x54b25e[_0x4594eb(0x1e8)]['length']>0x0)throw menuError('menu_folder_has_resources',_0x4594eb(0x1f9)+_0x54b25e['id']+_0x4594eb(0x1ce)+_0x54b25e[_0x4594eb(0x1e8)][_0x4594eb(0x22a)]+_0x4594eb(0x218),_0x4594eb(0x21b));}function collectDeleteTargets(_0x2c386e,_0x6a0a90){const _0x248cbd=[],_0x1d602e=new Set(),_0x6913a3=new Set(),_0x38a09a=_0xf777a5=>{const _0x243e1f=a111_0x3110;if(_0x1d602e['has'](_0xf777a5['id']))throw menuError(_0x243e1f(0x219),_0x243e1f(0x1b2)+_0xf777a5['id']+'.');if(_0x6913a3[_0x243e1f(0x1d2)](_0xf777a5['id']))return;_0x1d602e[_0x243e1f(0x22c)](_0xf777a5['id']);for(const _0xdfbd7 of _0xf777a5[_0x243e1f(0x1e6)]){const _0x5b4450=_0x2c386e[_0x243e1f(0x1ff)][_0x243e1f(0x1bd)](_0xdfbd7);if(!_0x5b4450)throw menuError(_0x243e1f(0x219),'Menu\x20'+_0xf777a5['id']+_0x243e1f(0x207)+_0xdfbd7+'.');_0x38a09a(_0x5b4450);}_0x1d602e[_0x243e1f(0x1ed)](_0xf777a5['id']),_0x6913a3[_0x243e1f(0x22c)](_0xf777a5['id']),_0x248cbd[_0x243e1f(0x1f7)](_0xf777a5);};return _0x38a09a(_0x6a0a90),_0x248cbd;}function assertDeleteTargetsComplete(_0x49a926,_0x174835){const _0xed4e90=a111_0x546e79,_0x4d24e3=requireMenu(_0x174835,_0x49a926[_0xed4e90(0x20f)]['id']);if(_0x49a926[_0xed4e90(0x1e0)]&&_0x4d24e3['type']['trim']()[_0xed4e90(0x213)]()!==_0xed4e90(0x216))throw menuError(_0xed4e90(0x1ca),_0xed4e90(0x1fe)+_0x4d24e3['id']+_0xed4e90(0x227));const _0x13baee=_0x49a926[_0xed4e90(0x1e0)]?collectDeleteTargets(_0x174835,_0x4d24e3)[_0xed4e90(0x21e)](_0x29cd44=>_0x29cd44['id']):[_0x4d24e3['id']];if(JSON[_0xed4e90(0x20d)](_0x49a926[_0xed4e90(0x1c8)])!==JSON[_0xed4e90(0x20d)](_0x13baee))throw menuError('menu_plan_invalid',_0xed4e90(0x1e7),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x30e3eb,_0x5cbff0){const _0x1ce2cb=a111_0x546e79,_0x3f4046=new Set(_0x5cbff0['map'](_0x1d3cdb=>_0x1d3cdb['id'])),_0x436eca=new Set(_0x5cbff0['map'](_0x58cb3b=>_0x58cb3b['pageId'])[_0x1ce2cb(0x21c)](_0x2a22b8=>_0x2a22b8!=null));if(_0x436eca['size']===0x0)return;const _0x1ee3d6=_0x30e3eb['menus'][_0x1ce2cb(0x21c)](_0xb1c757=>!_0x3f4046[_0x1ce2cb(0x1d2)](_0xb1c757['id'])&&_0xb1c757[_0x1ce2cb(0x211)]!=null&&_0x436eca['has'](_0xb1c757[_0x1ce2cb(0x211)]));if(_0x1ee3d6[_0x1ce2cb(0x22a)]===0x0)return;const _0xeadf94=_0x1ee3d6[_0x1ce2cb(0x21e)](_0x2c8110=>_0x1ce2cb(0x208)+_0x2c8110['pageId']+_0x1ce2cb(0x1d4)+_0x2c8110['id'])[_0x1ce2cb(0x1f0)](',\x20');throw menuError('menu_page_shared',_0x1ce2cb(0x1ba)+_0xeadf94+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x4da556,_0x57515d){const _0x4def6a=a111_0x546e79,_0x35728d=cascadeForTargets(_0x57515d);if(JSON[_0x4def6a(0x20d)](_0x4da556['cascade'])!==JSON[_0x4def6a(0x20d)](_0x35728d))throw menuError(_0x4def6a(0x1ca),_0x4def6a(0x1eb));}function cascadeForTargets(_0x28fc9a){const _0x39bdea=a111_0x546e79,_0x12fb9c=_0x28fc9a['map'](_0x123991=>_0x123991['pageId'])[_0x39bdea(0x21c)](_0x8d9153=>_0x8d9153!=null)[_0x39bdea(0x21c)]((_0x24be59,_0x3f357f,_0x3f8f55)=>_0x3f8f55[_0x39bdea(0x1b1)](_0x24be59)===_0x3f357f);return{'pages':_0x12fb9c,'pageSchemaAffected':_0x12fb9c[_0x39bdea(0x22a)]>0x0};}function asMenuError(_0xe0b612){const _0x5b739a=a111_0x546e79;return _0xe0b612 instanceof CliError?_0xe0b612:menuError(_0x5b739a(0x1ca),_0xe0b612 instanceof Error?_0xe0b612[_0x5b739a(0x22d)]:String(_0xe0b612));}
@@ -1 +1 @@
1
- const a112_0x37fb84=a112_0x43b2;(function(_0x471cf5,_0x3dae15){const _0x5598b6=a112_0x43b2,_0x666a8c=_0x471cf5();while(!![]){try{const _0x58bfc4=parseInt(_0x5598b6(0x13a))/0x1+parseInt(_0x5598b6(0x14b))/0x2+-parseInt(_0x5598b6(0x130))/0x3*(-parseInt(_0x5598b6(0x174))/0x4)+-parseInt(_0x5598b6(0x10a))/0x5*(-parseInt(_0x5598b6(0x14a))/0x6)+parseInt(_0x5598b6(0x126))/0x7*(-parseInt(_0x5598b6(0x169))/0x8)+-parseInt(_0x5598b6(0x16c))/0x9+-parseInt(_0x5598b6(0x110))/0xa;if(_0x58bfc4===_0x3dae15)break;else _0x666a8c['push'](_0x666a8c['shift']());}catch(_0x52ae7c){_0x666a8c['push'](_0x666a8c['shift']());}}}(a112_0x4ec0,0x19b9a));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_0x37fb84(0x178),'new-window':a112_0x37fb84(0x184)};export function validateExternalMenuUrl(_0x5bc9cf){const _0xc0d0eb=a112_0x37fb84,_0x389465=_0x5bc9cf['trim']();let _0x506adc;try{_0x506adc=new URL(_0x389465);}catch{throw menuError(_0xc0d0eb(0x117),_0xc0d0eb(0x118),_0xc0d0eb(0x147));}if(_0x506adc[_0xc0d0eb(0x101)]!==_0xc0d0eb(0x168))throw menuError(_0xc0d0eb(0x140),_0xc0d0eb(0x13e),'Provide\x20an\x20HTTPS\x20URL.');if(_0x506adc[_0xc0d0eb(0x13b)]||_0x506adc[_0xc0d0eb(0x153)])throw menuError('menu_url_credentials_forbidden',_0xc0d0eb(0x182),_0xc0d0eb(0x115));return _0x389465;}export const menuExternalLinkCreate={'service':a112_0x37fb84(0x14c),'command':'external-link-create','description':a112_0x37fb84(0x150),'risk':a112_0x37fb84(0x139),'structuredErrors':!![],'flags':[{'name':a112_0x37fb84(0x116),'type':'string','required':!![],'description':a112_0x37fb84(0x177)},{'name':a112_0x37fb84(0x121),'type':a112_0x37fb84(0x108),'required':!![],'enum':[a112_0x37fb84(0x165),a112_0x37fb84(0x114)],'description':a112_0x37fb84(0x158)},{'name':'url','type':a112_0x37fb84(0x108),'required':!![],'description':a112_0x37fb84(0x16d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x37fb84(0x105),'type':a112_0x37fb84(0x10b),'default':!![],'description':a112_0x37fb84(0x144)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14ddaf){validateAddInput(_0x14ddaf);},async 'dryRun'(_0x611504){const _0x21201e=a112_0x37fb84;validateAddInput(_0x611504);const {plan:_0x3093a8}=await buildSafeAddPlan(_0x611504,!![]),_0x5260e4=_0x3093a8[_0x21201e(0x12b)],_0x268d80=createBody(_0x5260e4);return menuDryRunResult(_0x3093a8,{'method':_0x21201e(0x103),'url':_0x21201e(0x11e),'body':_0x268d80,'description':_0x21201e(0x113)+JSON[_0x21201e(0x15a)](_0x5260e4[_0x21201e(0x116)])+'\x20with\x20'+_0x611504['str'](_0x21201e(0x121))+_0x21201e(0x186)});},async 'execute'(_0xde93ed){const _0x29341b=a112_0x37fb84;validateAddInput(_0xde93ed);const _0x42e1bd=await buildSafeAddPlan(_0xde93ed,![]),{plan:_0x52f5ea,snapshot:_0x1070bc}=_0x42e1bd,_0x4f9ac8=_0x52f5ea[_0x29341b(0x12b)],_0x245780=buildMenuLookupCommand(_0xde93ed[_0x29341b(0x176)]);await recheckAddSnapshot(_0xde93ed,_0x52f5ea);let _0x233726;try{_0x233726=await createMenuEntity(_0xde93ed[_0x29341b(0x176)],_0xde93ed['cookie'],createBody(_0x4f9ac8));}catch(_0x30d5c5){const _0x506a85=mapMenuApiError(_0x30d5c5,_0x29341b(0x159));if(!isMenuResponseLoss(_0x30d5c5)||_0x506a85['code']===_0x29341b(0x10c))throw externalLinkCreateFailure(_0x506a85,_0x52f5ea,{'stage':'create','failed':{},'verification':{'status':_0x29341b(0x143),'lookupCommand':_0x245780}});return recoverAfterResponseLoss(_0xde93ed,_0x42e1bd,_0x245780);}const _0x26f83a=Number(_0x233726?.['id']),_0x50ebff=typeof _0x233726?.[_0x29341b(0x11d)]==='string'?_0x233726['path']:'';if(!Number[_0x29341b(0x17a)](_0x26f83a)||_0x26f83a<=0x0||!_0x50ebff['trim']()){const _0x5cdb95=menuError(_0x29341b(0x167),_0x29341b(0x15e),_0x29341b(0x136)+_0x245780+_0x29341b(0x164));throw externalLinkCreateFailure(_0x5cdb95,_0x52f5ea,{'stage':_0x29341b(0x149),'succeeded':Number['isSafeInteger'](_0x26f83a)&&_0x26f83a>0x0?[{'id':_0x26f83a,'created':!![]}]:[],'failed':{'createdId':Number[_0x29341b(0x17a)](_0x26f83a)?_0x26f83a:null,'generatedPathConfirmed':Boolean(_0x50ebff[_0x29341b(0x189)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{..._0x4f9ac8,'id':_0x26f83a,'path':_0x50ebff}:_0x4f9ac8,'verification':{'status':'failed','lookupCommand':_0x245780,...Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{'targetId':_0x26f83a}:{}}});}const _0x45783c=await readAndVerifyCreatedMenu({'appCode':_0xde93ed[_0x29341b(0x176)],'cookie':_0xde93ed[_0x29341b(0x10f)],'plan':_0x52f5ea,'afterPlan':_0x4f9ac8,'createdId':_0x26f83a,'expectedPath':_0x50ebff,'lookupCommand':_0x245780,'recovered':![]});return creationSuccess(_0x52f5ea,_0x45783c[_0x29341b(0x122)],_0x45783c[_0x29341b(0x124)],![]);}};function a112_0x4ec0(){const _0x25184d=['\x20failed\x20final\x20verification.','protocol','entries','POST','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','visible','toLowerCase','flagMissing','string','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','5RlWORy','boolean','menu_permission_denied','\x20--format\x20compress','str','cookie','2708930MLmvGH','hash','rawFlags','Would\x20create\x20external\x20website\x20link\x20menu\x20','new-window','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','label','menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','menu_state_drift','sort','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','/smartapi/menu/create','menu_mutation_failed','\x20has\x20an\x20unexpected\x20generated\x20path.','open-mode','snapshot','length','fact','lookupCommand','1309NDmMQY','url','Created\x20external\x20menu\x20','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_open_mode_invalid','after','cause','isArray','parentId','menu_not_found','3KMypiX','\x20could\x20not\x20be\x20verified.','menu_sort_invalid','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','prototype','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Run\x20','hasOwnProperty','rawerror','write','160398BeTVzq','username','create-recovery','menu_create_recovery_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','expectedPath','menu_url_https_required','filter','afterPlan','failed','Whether\x20the\x20menu\x20is\x20visible','menu_verification_failed','type','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','rabetbase\x20menu\x20list\x20--appcode\x20','create-response-validation','424752TILkfI','153970elbTfw','menu','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','verification','<redacted>','Create\x20an\x20external\x20website\x20link\x20menu','map','data','password','call','selector','get','byId','How\x20to\x20open\x20the\x20external\x20website','create\x20external\x20menu','stringify','bool','currentSnapshotHash','\x27\x5c\x27\x27','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','External\x20menu\x20creation\x20failed.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','replace','createdId','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','embedded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu_create_response_invalid','https:','56kNxQhr','causemessage','menu\x20list','1214604rpjdSE','External\x20HTTPS\x20URL','parent-id','readbackerror','Menu\x20','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','before','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','817412aBNtLg','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','appCode','Menu\x20label','iframe','URL','isSafeInteger','Recovered\x20menu\x20','has','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20has\x20an\x20unexpected\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','expectedSnapshotHash','link','plannedActions','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','plan','create-menu','trim','code','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','includes','succeeded','Created\x20menu\x20','menu_parent_not_folder'];a112_0x4ec0=function(){return _0x25184d;};return a112_0x4ec0();}function validateAddInput(_0x12c3da){const _0x1c5117=a112_0x37fb84;if(!_0x12c3da[_0x1c5117(0x10e)]('label')[_0x1c5117(0x189)]())throw CliErrors[_0x1c5117(0x107)]('label');resolveExternalMenuType(_0x12c3da),validateExternalMenuUrl(_0x12c3da[_0x1c5117(0x10e)](_0x1c5117(0x127))),parseParentId(_0x12c3da,_0x1c5117(0x16e)),validateSort(_0x12c3da);}function resolveExternalMenuType(_0x253a5c){const _0x30078f=a112_0x37fb84,_0x1e7672=_0x253a5c[_0x30078f(0x10e)]('open-mode')[_0x30078f(0x189)]();if(!_0x1e7672)throw CliErrors['flagMissing'](_0x30078f(0x121));const _0x356247=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1e7672];if(!_0x356247)throw menuError(_0x30078f(0x12a),_0x30078f(0x15f),_0x30078f(0x171));return _0x356247;}async function buildAddPlan(_0x364733,_0x5ee9b0){const _0x5c8121=a112_0x37fb84,_0xa9ed1f=await fetchMutationSnapshot(_0x364733,_0x5c8121(0x159)),_0x243e60=parseParentId(_0x364733,'parent-id')??null;if(_0x243e60!=null)requireFolder(_0xa9ed1f,_0x243e60);const _0x2da789=validateSort(_0x364733),_0x5e8898=_0x2da789??nextSiblingSort(_0xa9ed1f,_0x243e60,_0x5c8121(0x14c)),_0xa6ebe8=_0x364733[_0x5c8121(0x10e)](_0x5c8121(0x116))[_0x5c8121(0x189)](),_0x30cb39=resolveExternalMenuType(_0x364733),_0x1bee6d=validateExternalMenuUrl(_0x364733[_0x5c8121(0x10e)]('url')),_0x366ac8=Object[_0x5c8121(0x134)][_0x5c8121(0x137)][_0x5c8121(0x154)](_0x364733[_0x5c8121(0x112)],_0x5c8121(0x105))?_0x364733[_0x5c8121(0x15b)](_0x5c8121(0x105)):!![],_0x3b21ac={'id':null,'parentId':_0x243e60,'label':_0xa6ebe8,'path':'<platform-generated>','url':_0x1bee6d,'type':_0x30cb39,'visible':_0x366ac8,'sort':_0x5e8898},_0x208f46=buildMenuLookupCommand(_0x364733[_0x5c8121(0x176)]),_0x49ec3e=mutationResult({'operation':'add','selector':{'parentId':_0x243e60,'type':_0x30cb39,'label':_0xa6ebe8,'url':_0x1bee6d},'before':null,'after':_0x3b21ac,'dryRun':_0x5ee9b0,'backend':[{'method':'POST','path':_0x5c8121(0x11e)}],'plannedActions':[{'stage':_0x5c8121(0x188),'method':_0x5c8121(0x103),'path':_0x5c8121(0x11e),'body':createBody(_0x3b21ac)}],'snapshotHash':_0xa9ed1f[_0x5c8121(0x111)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x208f46}});return{'plan':_0x49ec3e,'snapshot':_0xa9ed1f};}function a112_0x43b2(_0x34be1e,_0x151fb0){_0x34be1e=_0x34be1e-0xfe;const _0x4ec0f2=a112_0x4ec0();let _0x43b26d=_0x4ec0f2[_0x34be1e];return _0x43b26d;}async function buildSafeAddPlan(_0x4a86cc,_0x246bf2){try{return await buildAddPlan(_0x4a86cc,_0x246bf2);}catch(_0x292117){throw safeMenuAddError(_0x292117);}}async function recheckAddSnapshot(_0x22b56d,_0x2b2c7a){const _0x4db9e5=a112_0x37fb84;try{await recheckMutationSnapshot(_0x22b56d,_0x2b2c7a,_0x4db9e5(0x159));}catch(_0x5ed61e){const _0xf0f57f=getFailureRecord(_0x5ed61e);throw externalLinkCreateFailure(_0x5ed61e,_0x2b2c7a,{'stage':'pre-write-recheck','failed':{..._0xf0f57f?.[_0x4db9e5(0x183)]?{'expectedSnapshotHash':_0xf0f57f['expectedSnapshotHash']}:{},..._0xf0f57f?.[_0x4db9e5(0x15c)]?{'currentSnapshotHash':_0xf0f57f['currentSnapshotHash']}:{}}});}}function createBody(_0x2aedd9){const _0xc6d750=a112_0x37fb84;return{'parentId':toApiParentId(_0x2aedd9[_0xc6d750(0x12e)]),'label':String(_0x2aedd9[_0xc6d750(0x116)]),'type':String(_0x2aedd9[_0xc6d750(0x146)]),'url':String(_0x2aedd9[_0xc6d750(0x127)]),'visible':Boolean(_0x2aedd9[_0xc6d750(0x105)]),'sort':Number(_0x2aedd9['sort']),'extend':{}};}function buildMenuLookupCommand(_0x390d8b){const _0x2cb70a=a112_0x37fb84,_0x891797='\x27'+_0x390d8b[_0x2cb70a(0x162)](/'/g,_0x2cb70a(0x15d))+'\x27';return _0x2cb70a(0x148)+_0x891797+_0x2cb70a(0x10d);}async function recoverAfterResponseLoss(_0x41e2e1,_0x5ca452,_0xf1deb8){const _0x4ff4d1=a112_0x37fb84,{plan:_0x29d013,snapshot:_0x9005b7}=_0x5ca452,_0x195e29=_0x29d013[_0x4ff4d1(0x12b)];let _0x205504;try{_0x205504=await fetchMenuSnapshot(_0x41e2e1[_0x4ff4d1(0x176)],_0x41e2e1[_0x4ff4d1(0x10f)]);}catch(_0x273da5){throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x299262=_0x205504['menus'][_0x4ff4d1(0x141)](_0x2db675=>_0x2db675['parentId']===_0x195e29[_0x4ff4d1(0x12e)]&&_0x2db675[_0x4ff4d1(0x146)]===_0x195e29['type']&&_0x2db675['label']===_0x195e29[_0x4ff4d1(0x116)]&&_0x2db675[_0x4ff4d1(0x127)]===_0x195e29[_0x4ff4d1(0x127)]),_0x8024bc=_0x299262['filter'](_0x588488=>!_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x588488['id'])),_0x3da211=_0x299262[_0x4ff4d1(0x141)](_0x274ddf=>_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x274ddf['id']));if(_0x299262['length']!==0x1||_0x8024bc[_0x4ff4d1(0x123)]!==0x1)throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':_0x299262[_0x4ff4d1(0x123)],'newMatchCount':_0x8024bc[_0x4ff4d1(0x123)],'preexistingMatchCount':_0x3da211[_0x4ff4d1(0x123)]});const _0xf3f2cb=_0x8024bc[0x0];try{verifyCreatedFact(_0xf3f2cb,_0xf3f2cb['id'],_0x195e29,null);}catch(_0x41e32c){const _0x5a55a5=_0x41e32c instanceof Error&&'code'in _0x41e32c?_0x41e32c:menuError(_0x4ff4d1(0x145),_0x4ff4d1(0x17b)+_0xf3f2cb['id']+_0x4ff4d1(0x131),_0x4ff4d1(0x136)+_0xf1deb8+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x5a55a5,_0x29d013,{'stage':'verification','succeeded':[{'id':_0xf3f2cb['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xf3f2cb['id'],'finalFactsConfirmed':![]},'after':_0xf3f2cb,'warnings':['Menu\x20'+_0xf3f2cb['id']+_0x4ff4d1(0x14d)],'verification':{'status':_0x4ff4d1(0x143),'targetId':_0xf3f2cb['id'],'recovered':!![],'lookupCommand':_0xf1deb8}});}return creationSuccess(_0x29d013,_0x205504,_0xf3f2cb,!![]);}function recoveryRequiredFailure(_0x159680,_0x45282c,_0x576c24){const _0x45acb9=a112_0x37fb84,_0x5a25d9=menuError(_0x45acb9(0x13d),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x45acb9(0x136)+_0x45282c+_0x45acb9(0x17f));return externalLinkCreateFailure(_0x5a25d9,_0x159680,{'stage':_0x45acb9(0x13c),'failed':_0x576c24,'warnings':[_0x45acb9(0x109)],'verification':{'status':_0x45acb9(0x143),..._0x576c24,'lookupCommand':_0x45282c}});}async function readAndVerifyCreatedMenu(_0x25c468){const _0x532c4f=a112_0x37fb84;let _0x57db01;try{_0x57db01=await fetchMenuSnapshot(_0x25c468[_0x532c4f(0x176)],_0x25c468[_0x532c4f(0x10f)]);}catch(_0x1c44fb){const _0x162054=menuError(_0x532c4f(0x145),_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x17d),'Run\x20'+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x162054,_0x25c468[_0x532c4f(0x187)],{'stage':'verification','succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x25c468[_0x532c4f(0x142)],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468['createdId']+_0x532c4f(0x119)],'verification':{'status':_0x532c4f(0x143),'targetId':_0x25c468['createdId'],'lookupCommand':_0x25c468['lookupCommand']}});}const _0xecd85b=_0x57db01[_0x532c4f(0x157)][_0x532c4f(0x156)](_0x25c468[_0x532c4f(0x163)]);try{if(!_0xecd85b)throw menuError(_0x532c4f(0x145),_0x532c4f(0xfe)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x18b),_0x532c4f(0x136)+_0x25c468['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xecd85b,_0x25c468['createdId'],_0x25c468[_0x532c4f(0x142)],_0x25c468[_0x532c4f(0x13f)]);}catch(_0x7de02a){const _0x222074=_0x7de02a instanceof Error&&_0x532c4f(0x18a)in _0x7de02a?_0x7de02a:menuError('menu_verification_failed',_0x532c4f(0xfe)+_0x25c468['createdId']+_0x532c4f(0x100),_0x532c4f(0x136)+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x222074,_0x25c468[_0x532c4f(0x187)],{'stage':_0x532c4f(0x14e),'succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![]},'after':_0xecd85b??{..._0x25c468['afterPlan'],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x104)],'verification':{'status':'failed','targetId':_0x25c468['createdId'],'recovered':_0x25c468['recovered'],'lookupCommand':_0x25c468['lookupCommand']}});}return{'snapshot':_0x57db01,'fact':_0xecd85b};}function verifyCreatedFact(_0xfb3d0f,_0x3fb625,_0x4075ff,_0xae1321){const _0x5b26e8=a112_0x37fb84;if(!Number[_0x5b26e8(0x17a)](_0xfb3d0f['id'])||_0xfb3d0f['id']<=0x0||_0xfb3d0f['id']!==_0x3fb625)throw menuError(_0x5b26e8(0x145),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x5b26e8(0x180));const _0x83aaeb=[['parent',_0xfb3d0f[_0x5b26e8(0x12e)],_0x4075ff['parentId']],[_0x5b26e8(0x146),_0xfb3d0f[_0x5b26e8(0x146)],_0x4075ff[_0x5b26e8(0x146)]],[_0x5b26e8(0x116),_0xfb3d0f['label'],_0x4075ff[_0x5b26e8(0x116)]],[_0x5b26e8(0x179),_0xfb3d0f[_0x5b26e8(0x127)],_0x4075ff[_0x5b26e8(0x127)]],['visibility',_0xfb3d0f[_0x5b26e8(0x105)],_0x4075ff['visible']],[_0x5b26e8(0x11b),_0xfb3d0f[_0x5b26e8(0x11b)],_0x4075ff[_0x5b26e8(0x11b)]]];for(const [_0x41d96c,_0x61092c,_0x251ebb]of _0x83aaeb){if(_0x61092c!==_0x251ebb)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x181)+_0x41d96c+'.',_0x5b26e8(0x161));}if(!_0xfb3d0f['path'][_0x5b26e8(0x189)]()||_0xae1321!==null&&_0xfb3d0f[_0x5b26e8(0x11d)]!==_0xae1321)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x120),_0x5b26e8(0x161));}function creationSuccess(_0x39488c,_0xe9e0e3,_0x1fc520,_0x3be2ef){const _0x15e3d1=a112_0x37fb84,_0x429f8c=mutationResult({..._0x39488c,'after':_0x1fc520,'dryRun':![],'succeeded':[{'id':_0x1fc520['id'],'created':!![],'recovered':_0x3be2ef}],'verification':{'checkedBy':_0x15e3d1(0x16b),'snapshotHash':_0xe9e0e3[_0x15e3d1(0x111)],'targetId':_0x1fc520['id'],'recovered':_0x3be2ef,'path':_0x1fc520[_0x15e3d1(0x11d)]}});return{'ok':!![],'message':_0x3be2ef?'Recovered\x20created\x20external\x20menu\x20'+_0x1fc520['id']+'\x20after\x20response\x20loss.':_0x15e3d1(0x128)+_0x1fc520['id']+'.','data':{..._0x429f8c,'recovered':_0x3be2ef}};}function externalLinkCreateFailure(_0x25dd05,_0x16ebdc,_0x34a0fc){const _0x1f7a1b=a112_0x37fb84;return menuFailure(safeMenuAddError(_0x25dd05),redactFailurePlan(_0x16ebdc),{..._0x34a0fc,'succeeded':_0x34a0fc[_0x1f7a1b(0x18d)]?.[_0x1f7a1b(0x151)](redactFailureRecord),'failed':_0x34a0fc[_0x1f7a1b(0x143)]?redactFailureRecord(_0x34a0fc['failed']):undefined,'verification':_0x34a0fc['verification']?redactFailureRecord(_0x34a0fc[_0x1f7a1b(0x14e)]):undefined,'after':_0x34a0fc[_0x1f7a1b(0x12b)]===undefined?undefined:redactFailureValue(_0x34a0fc[_0x1f7a1b(0x12b)])});}function redactFailurePlan(_0x3825e0){const _0x4a441f=a112_0x37fb84;return{..._0x3825e0,'selector':redactFailureRecord(_0x3825e0[_0x4a441f(0x155)]),'before':redactFailureValue(_0x3825e0[_0x4a441f(0x172)]),'after':redactFailureValue(_0x3825e0[_0x4a441f(0x12b)]),'plannedActions':_0x3825e0[_0x4a441f(0x185)]?.[_0x4a441f(0x151)](_0x50e406=>({..._0x50e406,'body':redactFailureRecord(_0x50e406['body'])})),'succeeded':_0x3825e0['succeeded']['map'](redactFailureRecord),'failed':_0x3825e0[_0x4a441f(0x143)]['map'](redactFailureRecord),'verification':_0x3825e0['verification']?redactFailureRecord(_0x3825e0[_0x4a441f(0x14e)]):undefined};}function redactFailureRecord(_0x257c35){return redactFailureValue(_0x257c35);}function redactFailureValue(_0x235df7,_0x3a5044=''){const _0x36e15c=a112_0x37fb84,_0x34425d=_0x3a5044[_0x36e15c(0x106)]()[_0x36e15c(0x162)](/[^a-z0-9]/g,'');if([_0x36e15c(0x12c),_0x36e15c(0x16a),_0x36e15c(0x16f),_0x36e15c(0x138)][_0x36e15c(0x18c)](_0x34425d))return _0x36e15c(0x14f);if(Array[_0x36e15c(0x12d)](_0x235df7))return _0x235df7['map'](_0x104bf2=>redactFailureValue(_0x104bf2));if(_0x235df7&&typeof _0x235df7==='object')return Object['fromEntries'](Object[_0x36e15c(0x102)](_0x235df7)['map'](([_0x2de21b,_0x58c643])=>[_0x2de21b,redactFailureValue(_0x58c643,_0x2de21b)]));return _0x235df7;}function safeMenuAddError(_0x36894d){const _0x1216a2=a112_0x37fb84,_0x4de460=_0x36894d instanceof CliError?_0x36894d['code']:'menu_mutation_failed';switch(_0x4de460){case _0x1216a2(0x11a):return menuError(_0x4de460,_0x1216a2(0x133),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x1216a2(0x10c):return menuError(_0x4de460,_0x1216a2(0x135),_0x1216a2(0x166));case _0x1216a2(0x167):return menuError(_0x4de460,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x1216a2(0x17e));case'menu_verification_failed':return menuError(_0x4de460,_0x1216a2(0x129),_0x1216a2(0x17e));case _0x1216a2(0x13d):return menuError(_0x4de460,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x1216a2(0x175));case'menu_mutation_failed':case _0x1216a2(0x12f):case _0x1216a2(0xff):case _0x1216a2(0x132):case'menu_sort_overflow':return menuError(_0x4de460,_0x1216a2(0x160),_0x1216a2(0x11c));default:return menuError(_0x1216a2(0x11f),_0x1216a2(0x160),_0x1216a2(0x11c));}}function getFailureRecord(_0x257c81){const _0x33ae39=a112_0x37fb84;if(!(_0x257c81 instanceof Error)||!(_0x33ae39(0x152)in _0x257c81))return undefined;const _0x15e89a=_0x257c81[_0x33ae39(0x152)];if(!_0x15e89a||typeof _0x15e89a!=='object')return undefined;const _0x4368e3=_0x15e89a[_0x33ae39(0x143)];if(!Array['isArray'](_0x4368e3)||!_0x4368e3[0x0]||typeof _0x4368e3[0x0]!=='object')return undefined;return _0x4368e3[0x0];}
1
+ const a112_0x460d18=a112_0x545b;(function(_0x7ff3e,_0x468ad8){const _0x3875d7=a112_0x545b,_0x21cfb5=_0x7ff3e();while(!![]){try{const _0x4f4e89=parseInt(_0x3875d7(0x254))/0x1+parseInt(_0x3875d7(0x20f))/0x2+-parseInt(_0x3875d7(0x224))/0x3*(-parseInt(_0x3875d7(0x1de))/0x4)+-parseInt(_0x3875d7(0x204))/0x5*(parseInt(_0x3875d7(0x1ff))/0x6)+-parseInt(_0x3875d7(0x244))/0x7+-parseInt(_0x3875d7(0x236))/0x8+-parseInt(_0x3875d7(0x21f))/0x9*(-parseInt(_0x3875d7(0x227))/0xa);if(_0x4f4e89===_0x468ad8)break;else _0x21cfb5['push'](_0x21cfb5['shift']());}catch(_0xe4d05){_0x21cfb5['push'](_0x21cfb5['shift']());}}}(a112_0x212c,0x66338));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_0x460d18(0x24b),'new-window':a112_0x460d18(0x1ed)};export function validateExternalMenuUrl(_0x548030){const _0x1594b4=a112_0x460d18,_0x1b67ec=_0x548030[_0x1594b4(0x240)]();let _0x4d4d24;try{_0x4d4d24=new URL(_0x1b67ec);}catch{throw menuError(_0x1594b4(0x1d0),_0x1594b4(0x1fd),_0x1594b4(0x1eb));}if(_0x4d4d24['protocol']!==_0x1594b4(0x23e))throw menuError('menu_url_https_required',_0x1594b4(0x252),_0x1594b4(0x214));if(_0x4d4d24[_0x1594b4(0x225)]||_0x4d4d24[_0x1594b4(0x215)])throw menuError(_0x1594b4(0x1e3),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x1b67ec;}export const menuExternalLinkCreate={'service':a112_0x460d18(0x1cf),'command':a112_0x460d18(0x237),'description':a112_0x460d18(0x1fc),'risk':'write','structuredErrors':!![],'flags':[{'name':a112_0x460d18(0x1d9),'type':'string','required':!![],'description':a112_0x460d18(0x248)},{'name':'open-mode','type':'string','required':!![],'enum':[a112_0x460d18(0x22b),a112_0x460d18(0x1f1)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a112_0x460d18(0x24a),'type':a112_0x460d18(0x203),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':'boolean','default':!![],'description':a112_0x460d18(0x1ee)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x25ee75){validateAddInput(_0x25ee75);},async 'dryRun'(_0x600665){const _0x4e3094=a112_0x460d18;validateAddInput(_0x600665);const {plan:_0x3d7b7b}=await buildSafeAddPlan(_0x600665,!![]),_0x2688d5=_0x3d7b7b[_0x4e3094(0x202)],_0x338831=createBody(_0x2688d5);return menuDryRunResult(_0x3d7b7b,{'method':'POST','url':_0x4e3094(0x1cc),'body':_0x338831,'description':_0x4e3094(0x230)+JSON['stringify'](_0x2688d5[_0x4e3094(0x1d9)])+_0x4e3094(0x1f7)+_0x600665[_0x4e3094(0x251)](_0x4e3094(0x1e5))+_0x4e3094(0x243)});},async 'execute'(_0x1b798e){const _0x138804=a112_0x460d18;validateAddInput(_0x1b798e);const _0x4cf608=await buildSafeAddPlan(_0x1b798e,![]),{plan:_0x1a04e5,snapshot:_0x16e2f4}=_0x4cf608,_0x2dbdb5=_0x1a04e5['after'],_0x585ee1=buildMenuLookupCommand(_0x1b798e['appCode']);await recheckAddSnapshot(_0x1b798e,_0x1a04e5);let _0x1a134a;try{_0x1a134a=await createMenuEntity(_0x1b798e[_0x138804(0x1ef)],_0x1b798e[_0x138804(0x1e9)],createBody(_0x2dbdb5));}catch(_0x571109){const _0x4b5947=mapMenuApiError(_0x571109,_0x138804(0x242));if(!isMenuResponseLoss(_0x571109)||_0x4b5947['code']===_0x138804(0x1f9))throw externalLinkCreateFailure(_0x4b5947,_0x1a04e5,{'stage':_0x138804(0x1f3),'failed':{},'verification':{'status':_0x138804(0x231),'lookupCommand':_0x585ee1}});return recoverAfterResponseLoss(_0x1b798e,_0x4cf608,_0x585ee1);}const _0x5cf292=Number(_0x1a134a?.['id']),_0x32b88c=typeof _0x1a134a?.[_0x138804(0x1d7)]===_0x138804(0x203)?_0x1a134a[_0x138804(0x1d7)]:'';if(!Number[_0x138804(0x221)](_0x5cf292)||_0x5cf292<=0x0||!_0x32b88c[_0x138804(0x240)]()){const _0x5164cf=menuError(_0x138804(0x22a),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x138804(0x1f5)+_0x585ee1+_0x138804(0x241));throw externalLinkCreateFailure(_0x5164cf,_0x1a04e5,{'stage':_0x138804(0x1dd),'succeeded':Number['isSafeInteger'](_0x5cf292)&&_0x5cf292>0x0?[{'id':_0x5cf292,'created':!![]}]:[],'failed':{'createdId':Number[_0x138804(0x221)](_0x5cf292)?_0x5cf292:null,'generatedPathConfirmed':Boolean(_0x32b88c[_0x138804(0x240)]())},'warnings':[_0x138804(0x246)],'after':Number[_0x138804(0x221)](_0x5cf292)&&_0x5cf292>0x0?{..._0x2dbdb5,'id':_0x5cf292,'path':_0x32b88c}:_0x2dbdb5,'verification':{'status':'failed','lookupCommand':_0x585ee1,...Number[_0x138804(0x221)](_0x5cf292)&&_0x5cf292>0x0?{'targetId':_0x5cf292}:{}}});}const _0x3ab79e=await readAndVerifyCreatedMenu({'appCode':_0x1b798e[_0x138804(0x1ef)],'cookie':_0x1b798e['cookie'],'plan':_0x1a04e5,'afterPlan':_0x2dbdb5,'createdId':_0x5cf292,'expectedPath':_0x32b88c,'lookupCommand':_0x585ee1,'recovered':![]});return creationSuccess(_0x1a04e5,_0x3ab79e[_0x138804(0x226)],_0x3ab79e[_0x138804(0x20c)],![]);}};function validateAddInput(_0x469500){const _0xa668bc=a112_0x460d18;if(!_0x469500[_0xa668bc(0x251)](_0xa668bc(0x1d9))['trim']())throw CliErrors[_0xa668bc(0x1e8)](_0xa668bc(0x1d9));resolveExternalMenuType(_0x469500),validateExternalMenuUrl(_0x469500[_0xa668bc(0x251)]('url')),parseParentId(_0x469500,_0xa668bc(0x258)),validateSort(_0x469500);}function resolveExternalMenuType(_0x3d94f6){const _0x25a06b=a112_0x460d18,_0x1125e3=_0x3d94f6[_0x25a06b(0x251)](_0x25a06b(0x1e5))[_0x25a06b(0x240)]();if(!_0x1125e3)throw CliErrors[_0x25a06b(0x1e8)](_0x25a06b(0x1e5));const _0x5a1751=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1125e3];if(!_0x5a1751)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x25a06b(0x24d));return _0x5a1751;}function a112_0x545b(_0x1c4891,_0x47b281){_0x1c4891=_0x1c4891-0x1cb;const _0x212cc7=a112_0x212c();let _0x545b1d=_0x212cc7[_0x1c4891];return _0x545b1d;}async function buildAddPlan(_0x2215dc,_0x4226d6){const _0x171631=a112_0x460d18,_0x592b1d=await fetchMutationSnapshot(_0x2215dc,_0x171631(0x242)),_0x19b140=parseParentId(_0x2215dc,'parent-id')??null;if(_0x19b140!=null)requireFolder(_0x592b1d,_0x19b140);const _0x196e13=validateSort(_0x2215dc),_0x2aed01=_0x196e13??nextSiblingSort(_0x592b1d,_0x19b140,_0x171631(0x1cf)),_0x556a9a=_0x2215dc[_0x171631(0x251)]('label')[_0x171631(0x240)](),_0x635e26=resolveExternalMenuType(_0x2215dc),_0x5ff87=validateExternalMenuUrl(_0x2215dc[_0x171631(0x251)](_0x171631(0x24a))),_0x45ad67=Object[_0x171631(0x1fa)]['hasOwnProperty'][_0x171631(0x21c)](_0x2215dc[_0x171631(0x1f6)],_0x171631(0x218))?_0x2215dc[_0x171631(0x23c)](_0x171631(0x218)):!![],_0x5b83c6={'id':null,'parentId':_0x19b140,'label':_0x556a9a,'path':_0x171631(0x21a),'url':_0x5ff87,'type':_0x635e26,'visible':_0x45ad67,'sort':_0x2aed01},_0x41cd6c=buildMenuLookupCommand(_0x2215dc[_0x171631(0x1ef)]),_0x1667ca=mutationResult({'operation':'add','selector':{'parentId':_0x19b140,'type':_0x635e26,'label':_0x556a9a,'url':_0x5ff87},'before':null,'after':_0x5b83c6,'dryRun':_0x4226d6,'backend':[{'method':'POST','path':'/smartapi/menu/create'}],'plannedActions':[{'stage':'create-menu','method':_0x171631(0x255),'path':_0x171631(0x1cc),'body':createBody(_0x5b83c6)}],'snapshotHash':_0x592b1d['hash'],'warnings':[_0x171631(0x20e)],'verification':{'lookupCommand':_0x41cd6c}});return{'plan':_0x1667ca,'snapshot':_0x592b1d};}async function buildSafeAddPlan(_0x46f855,_0x222ba6){try{return await buildAddPlan(_0x46f855,_0x222ba6);}catch(_0x1edf12){throw safeMenuAddError(_0x1edf12);}}async function recheckAddSnapshot(_0x154b0e,_0x281923){const _0x3af5c3=a112_0x460d18;try{await recheckMutationSnapshot(_0x154b0e,_0x281923,_0x3af5c3(0x242));}catch(_0x50377f){const _0x5ae085=getFailureRecord(_0x50377f);throw externalLinkCreateFailure(_0x50377f,_0x281923,{'stage':_0x3af5c3(0x1d8),'failed':{..._0x5ae085?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x5ae085[_0x3af5c3(0x22c)]}:{},..._0x5ae085?.[_0x3af5c3(0x228)]?{'currentSnapshotHash':_0x5ae085[_0x3af5c3(0x228)]}:{}}});}}function createBody(_0x1e74db){const _0x12fbc1=a112_0x460d18;return{'parentId':toApiParentId(_0x1e74db['parentId']),'label':String(_0x1e74db['label']),'type':String(_0x1e74db[_0x12fbc1(0x23a)]),'url':String(_0x1e74db['url']),'visible':Boolean(_0x1e74db['visible']),'sort':Number(_0x1e74db[_0x12fbc1(0x1ce)]),'extend':{}};}function buildMenuLookupCommand(_0x5cf52a){const _0x16ea06=a112_0x460d18,_0xc5896f='\x27'+_0x5cf52a[_0x16ea06(0x201)](/'/g,_0x16ea06(0x206))+'\x27';return _0x16ea06(0x217)+_0xc5896f+_0x16ea06(0x1da);}async function recoverAfterResponseLoss(_0x21c44f,_0x23b852,_0x5e9838){const _0x20ae32=a112_0x460d18,{plan:_0x253143,snapshot:_0x4ecdca}=_0x23b852,_0x2bae6a=_0x253143[_0x20ae32(0x202)];let _0x3eb40e;try{_0x3eb40e=await fetchMenuSnapshot(_0x21c44f['appCode'],_0x21c44f[_0x20ae32(0x1e9)]);}catch(_0x530fb1){throw recoveryRequiredFailure(_0x253143,_0x5e9838,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0xacef31=_0x3eb40e[_0x20ae32(0x1ea)]['filter'](_0x3c1e2e=>_0x3c1e2e[_0x20ae32(0x1d2)]===_0x2bae6a[_0x20ae32(0x1d2)]&&_0x3c1e2e['type']===_0x2bae6a[_0x20ae32(0x23a)]&&_0x3c1e2e[_0x20ae32(0x1d9)]===_0x2bae6a[_0x20ae32(0x1d9)]&&_0x3c1e2e[_0x20ae32(0x24a)]===_0x2bae6a[_0x20ae32(0x24a)]),_0x479116=_0xacef31[_0x20ae32(0x1e6)](_0x576d3d=>!_0x4ecdca[_0x20ae32(0x205)]['has'](_0x576d3d['id'])),_0x40118a=_0xacef31[_0x20ae32(0x1e6)](_0x46ff78=>_0x4ecdca[_0x20ae32(0x205)][_0x20ae32(0x23b)](_0x46ff78['id']));if(_0xacef31['length']!==0x1||_0x479116[_0x20ae32(0x235)]!==0x1)throw recoveryRequiredFailure(_0x253143,_0x5e9838,{'matchCount':_0xacef31[_0x20ae32(0x235)],'newMatchCount':_0x479116[_0x20ae32(0x235)],'preexistingMatchCount':_0x40118a[_0x20ae32(0x235)]});const _0x3d0901=_0x479116[0x0];try{verifyCreatedFact(_0x3d0901,_0x3d0901['id'],_0x2bae6a,null);}catch(_0x1ac51e){const _0x16a70b=_0x1ac51e instanceof Error&&_0x20ae32(0x24f)in _0x1ac51e?_0x1ac51e:menuError(_0x20ae32(0x211),_0x20ae32(0x1d3)+_0x3d0901['id']+_0x20ae32(0x24c),_0x20ae32(0x1f5)+_0x5e9838+_0x20ae32(0x216));throw externalLinkCreateFailure(_0x16a70b,_0x253143,{'stage':_0x20ae32(0x1e1),'succeeded':[{'id':_0x3d0901['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3d0901['id'],'finalFactsConfirmed':![]},'after':_0x3d0901,'warnings':['Menu\x20'+_0x3d0901['id']+_0x20ae32(0x1cd)],'verification':{'status':_0x20ae32(0x231),'targetId':_0x3d0901['id'],'recovered':!![],'lookupCommand':_0x5e9838}});}return creationSuccess(_0x253143,_0x3eb40e,_0x3d0901,!![]);}function recoveryRequiredFailure(_0x20064c,_0x123e76,_0x3d09a3){const _0x98bd1f=a112_0x460d18,_0x3e01d5=menuError('menu_create_recovery_required',_0x98bd1f(0x1dc),_0x98bd1f(0x1f5)+_0x123e76+_0x98bd1f(0x200));return externalLinkCreateFailure(_0x3e01d5,_0x20064c,{'stage':'create-recovery','failed':_0x3d09a3,'warnings':[_0x98bd1f(0x222)],'verification':{'status':_0x98bd1f(0x231),..._0x3d09a3,'lookupCommand':_0x123e76}});}async function readAndVerifyCreatedMenu(_0x38cdaa){const _0xe93a97=a112_0x460d18;let _0x5caac8;try{_0x5caac8=await fetchMenuSnapshot(_0x38cdaa[_0xe93a97(0x1ef)],_0x38cdaa['cookie']);}catch(_0x2097a3){const _0x49f03e=menuError('menu_verification_failed',_0xe93a97(0x1f2)+_0x38cdaa[_0xe93a97(0x23d)]+_0xe93a97(0x1e4),'Run\x20'+_0x38cdaa[_0xe93a97(0x1e0)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x49f03e,_0x38cdaa[_0xe93a97(0x1d4)],{'stage':_0xe93a97(0x1e1),'succeeded':[{'id':_0x38cdaa[_0xe93a97(0x23d)],'created':!![]}],'failed':{'id':_0x38cdaa['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x38cdaa[_0xe93a97(0x238)],'id':_0x38cdaa[_0xe93a97(0x23d)],'path':_0x38cdaa[_0xe93a97(0x256)]},'warnings':[_0xe93a97(0x1f2)+_0x38cdaa[_0xe93a97(0x23d)]+_0xe93a97(0x24e)],'verification':{'status':_0xe93a97(0x231),'targetId':_0x38cdaa[_0xe93a97(0x23d)],'lookupCommand':_0x38cdaa[_0xe93a97(0x1e0)]}});}const _0x5520f5=_0x5caac8[_0xe93a97(0x205)][_0xe93a97(0x20a)](_0x38cdaa[_0xe93a97(0x23d)]);try{if(!_0x5520f5)throw menuError(_0xe93a97(0x211),_0xe93a97(0x229)+_0x38cdaa[_0xe93a97(0x23d)]+_0xe93a97(0x1df),_0xe93a97(0x1f5)+_0x38cdaa[_0xe93a97(0x1e0)]+_0xe93a97(0x21e));verifyCreatedFact(_0x5520f5,_0x38cdaa[_0xe93a97(0x23d)],_0x38cdaa['afterPlan'],_0x38cdaa[_0xe93a97(0x256)]);}catch(_0x5141b4){const _0x4c7f81=_0x5141b4 instanceof Error&&_0xe93a97(0x24f)in _0x5141b4?_0x5141b4:menuError(_0xe93a97(0x211),_0xe93a97(0x229)+_0x38cdaa['createdId']+_0xe93a97(0x1fb),_0xe93a97(0x1f5)+_0x38cdaa[_0xe93a97(0x1e0)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x4c7f81,_0x38cdaa[_0xe93a97(0x1d4)],{'stage':'verification','succeeded':[{'id':_0x38cdaa['createdId'],'created':!![]}],'failed':{'id':_0x38cdaa['createdId'],'finalFactsConfirmed':![]},'after':_0x5520f5??{..._0x38cdaa[_0xe93a97(0x238)],'id':_0x38cdaa[_0xe93a97(0x23d)],'path':_0x38cdaa[_0xe93a97(0x256)]},'warnings':['Menu\x20'+_0x38cdaa['createdId']+_0xe93a97(0x220)],'verification':{'status':_0xe93a97(0x231),'targetId':_0x38cdaa['createdId'],'recovered':_0x38cdaa[_0xe93a97(0x20d)],'lookupCommand':_0x38cdaa[_0xe93a97(0x1e0)]}});}return{'snapshot':_0x5caac8,'fact':_0x5520f5};}function verifyCreatedFact(_0x2fbddb,_0x13c446,_0x1248a5,_0x1cc95f){const _0x12bf2c=a112_0x460d18;if(!Number[_0x12bf2c(0x221)](_0x2fbddb['id'])||_0x2fbddb['id']<=0x0||_0x2fbddb['id']!==_0x13c446)throw menuError('menu_verification_failed',_0x12bf2c(0x212),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x255a0f=[[_0x12bf2c(0x219),_0x2fbddb[_0x12bf2c(0x1d2)],_0x1248a5[_0x12bf2c(0x1d2)]],[_0x12bf2c(0x23a),_0x2fbddb[_0x12bf2c(0x23a)],_0x1248a5[_0x12bf2c(0x23a)]],[_0x12bf2c(0x1d9),_0x2fbddb[_0x12bf2c(0x1d9)],_0x1248a5[_0x12bf2c(0x1d9)]],[_0x12bf2c(0x232),_0x2fbddb[_0x12bf2c(0x24a)],_0x1248a5[_0x12bf2c(0x24a)]],[_0x12bf2c(0x234),_0x2fbddb[_0x12bf2c(0x218)],_0x1248a5[_0x12bf2c(0x218)]],['sort',_0x2fbddb[_0x12bf2c(0x1ce)],_0x1248a5['sort']]];for(const [_0x5e16d0,_0x54f770,_0x385468]of _0x255a0f){if(_0x54f770!==_0x385468)throw menuError(_0x12bf2c(0x211),'Created\x20menu\x20'+_0x2fbddb['id']+_0x12bf2c(0x250)+_0x5e16d0+'.',_0x12bf2c(0x22e));}if(!_0x2fbddb[_0x12bf2c(0x1d7)][_0x12bf2c(0x240)]()||_0x1cc95f!==null&&_0x2fbddb['path']!==_0x1cc95f)throw menuError(_0x12bf2c(0x211),_0x12bf2c(0x229)+_0x2fbddb['id']+_0x12bf2c(0x1d1),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0xb02cf6,_0x5a2f31,_0x4c3799,_0x31ee58){const _0x4e8b22=a112_0x460d18,_0x28bbd6=mutationResult({..._0xb02cf6,'after':_0x4c3799,'dryRun':![],'succeeded':[{'id':_0x4c3799['id'],'created':!![],'recovered':_0x31ee58}],'verification':{'checkedBy':_0x4e8b22(0x253),'snapshotHash':_0x5a2f31[_0x4e8b22(0x239)],'targetId':_0x4c3799['id'],'recovered':_0x31ee58,'path':_0x4c3799[_0x4e8b22(0x1d7)]}});return{'ok':!![],'message':_0x31ee58?_0x4e8b22(0x22d)+_0x4c3799['id']+_0x4e8b22(0x257):'Created\x20external\x20menu\x20'+_0x4c3799['id']+'.','data':{..._0x28bbd6,'recovered':_0x31ee58}};}function externalLinkCreateFailure(_0x91eaa1,_0x4467bd,_0x4ae48c){const _0x3d3215=a112_0x460d18;return menuFailure(safeMenuAddError(_0x91eaa1),redactFailurePlan(_0x4467bd),{..._0x4ae48c,'succeeded':_0x4ae48c[_0x3d3215(0x207)]?.[_0x3d3215(0x22f)](redactFailureRecord),'failed':_0x4ae48c[_0x3d3215(0x231)]?redactFailureRecord(_0x4ae48c[_0x3d3215(0x231)]):undefined,'verification':_0x4ae48c[_0x3d3215(0x1e1)]?redactFailureRecord(_0x4ae48c[_0x3d3215(0x1e1)]):undefined,'after':_0x4ae48c[_0x3d3215(0x202)]===undefined?undefined:redactFailureValue(_0x4ae48c[_0x3d3215(0x202)])});}function redactFailurePlan(_0x552c67){const _0x33adb2=a112_0x460d18;return{..._0x552c67,'selector':redactFailureRecord(_0x552c67[_0x33adb2(0x223)]),'before':redactFailureValue(_0x552c67['before']),'after':redactFailureValue(_0x552c67[_0x33adb2(0x202)]),'plannedActions':_0x552c67['plannedActions']?.[_0x33adb2(0x22f)](_0x3df7d3=>({..._0x3df7d3,'body':redactFailureRecord(_0x3df7d3[_0x33adb2(0x249)])})),'succeeded':_0x552c67['succeeded'][_0x33adb2(0x22f)](redactFailureRecord),'failed':_0x552c67[_0x33adb2(0x231)]['map'](redactFailureRecord),'verification':_0x552c67[_0x33adb2(0x1e1)]?redactFailureRecord(_0x552c67[_0x33adb2(0x1e1)]):undefined};}function redactFailureRecord(_0x33bb0e){return redactFailureValue(_0x33bb0e);}function redactFailureValue(_0x53d45f,_0x59a9b4=''){const _0x536301=a112_0x460d18,_0x39a5eb=_0x59a9b4['toLowerCase']()[_0x536301(0x201)](/[^a-z0-9]/g,'');if([_0x536301(0x233),_0x536301(0x1ec),_0x536301(0x1d5),'rawerror']['includes'](_0x39a5eb))return _0x536301(0x1f0);if(Array[_0x536301(0x245)](_0x53d45f))return _0x53d45f[_0x536301(0x22f)](_0x37c1b2=>redactFailureValue(_0x37c1b2));if(_0x53d45f&&typeof _0x53d45f===_0x536301(0x1e2))return Object[_0x536301(0x1f4)](Object[_0x536301(0x23f)](_0x53d45f)[_0x536301(0x22f)](([_0x550500,_0x46badf])=>[_0x550500,redactFailureValue(_0x46badf,_0x550500)]));return _0x53d45f;}function safeMenuAddError(_0x10b354){const _0x315fab=a112_0x460d18,_0x1de15c=_0x10b354 instanceof CliError?_0x10b354[_0x315fab(0x24f)]:_0x315fab(0x1e7);switch(_0x1de15c){case _0x315fab(0x1f8):return menuError(_0x1de15c,_0x315fab(0x213),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x315fab(0x1f9):return menuError(_0x1de15c,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case'menu_create_response_invalid':return menuError(_0x1de15c,_0x315fab(0x208),_0x315fab(0x1d6));case _0x315fab(0x211):return menuError(_0x1de15c,_0x315fab(0x21d),_0x315fab(0x1d6));case'menu_create_recovery_required':return menuError(_0x1de15c,_0x315fab(0x247),_0x315fab(0x20b));case'menu_mutation_failed':case'menu_not_found':case _0x315fab(0x1cb):case _0x315fab(0x210):case _0x315fab(0x1db):return menuError(_0x1de15c,_0x315fab(0x209),_0x315fab(0x1fe));default:return menuError('menu_mutation_failed',_0x315fab(0x209),_0x315fab(0x1fe));}}function getFailureRecord(_0x42de79){const _0x1d248d=a112_0x460d18;if(!(_0x42de79 instanceof Error)||!('data'in _0x42de79))return undefined;const _0x64e70b=_0x42de79[_0x1d248d(0x21b)];if(!_0x64e70b||typeof _0x64e70b!==_0x1d248d(0x1e2))return undefined;const _0x37590a=_0x64e70b[_0x1d248d(0x231)];if(!Array[_0x1d248d(0x245)](_0x37590a)||!_0x37590a[0x0]||typeof _0x37590a[0x0]!==_0x1d248d(0x1e2))return undefined;return _0x37590a[0x0];}function a112_0x212c(){const _0x378e96=['visible','parent','<platform-generated>','data','call','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','4285053enzant','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','isSafeInteger','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','selector','3JIhitW','username','snapshot','20ewoakB','currentSnapshotHash','Created\x20menu\x20','menu_create_response_invalid','embedded','expectedSnapshotHash','Recovered\x20created\x20external\x20menu\x20','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','Would\x20create\x20external\x20website\x20link\x20menu\x20','failed','URL','cause','visibility','length','6561952Iwqbtq','external-link-create','afterPlan','hash','type','has','bool','createdId','https:','entries','trim','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','create\x20external\x20menu','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','5532156KZzFmW','isArray','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Menu\x20label','body','url','iframe','\x20could\x20not\x20be\x20verified.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','code','\x20has\x20an\x20unexpected\x20','str','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu\x20list','610563wpPuPk','POST','expectedPath','\x20after\x20response\x20loss.','parent-id','menu_parent_not_folder','/smartapi/menu/create','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','sort','menu','menu_url_invalid','\x20has\x20an\x20unexpected\x20generated\x20path.','parentId','Recovered\x20menu\x20','plan','readbackerror','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','path','pre-write-recheck','label','\x20--format\x20compress','menu_sort_overflow','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create-response-validation','1776748cYQeCk','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','lookupCommand','verification','object','menu_url_credentials_forbidden','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','open-mode','filter','menu_mutation_failed','flagMissing','cookie','menus','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','causemessage','link','Whether\x20the\x20menu\x20is\x20visible','appCode','<redacted>','new-window','Menu\x20','create','fromEntries','Run\x20','rawFlags','\x20with\x20','menu_state_drift','menu_permission_denied','prototype','\x20failed\x20final\x20verification.','Create\x20an\x20external\x20website\x20link\x20menu','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','6zSFWmy','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','replace','after','string','606635WcJWTw','byId','\x27\x5c\x27\x27','succeeded','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20creation\x20failed.','get','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','fact','recovered','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','287022dPfZci','menu_sort_invalid','menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','Provide\x20an\x20HTTPS\x20URL.','password','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--appcode\x20'];a112_0x212c=function(){return _0x378e96;};return a112_0x212c();}
@@ -1 +1 @@
1
- const a113_0x3814ec=a113_0x38e9;(function(_0x59552a,_0x2d6264){const _0x44da43=a113_0x38e9,_0x554d9d=_0x59552a();while(!![]){try{const _0xa78e2f=-parseInt(_0x44da43(0x188))/0x1+-parseInt(_0x44da43(0x186))/0x2*(-parseInt(_0x44da43(0x15f))/0x3)+parseInt(_0x44da43(0x16f))/0x4*(-parseInt(_0x44da43(0x164))/0x5)+parseInt(_0x44da43(0x18e))/0x6+parseInt(_0x44da43(0x149))/0x7+-parseInt(_0x44da43(0x169))/0x8+parseInt(_0x44da43(0x190))/0x9*(parseInt(_0x44da43(0x14a))/0xa);if(_0xa78e2f===_0x2d6264)break;else _0x554d9d['push'](_0x554d9d['shift']());}catch(_0x447f11){_0x554d9d['push'](_0x554d9d['shift']());}}}(a113_0x1ca8,0x6da22));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_0x3814ec(0x178),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x3814ec(0x163),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a113_0x3814ec(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x3814ec(0x17e),'type':'string','required':!![],'description':a113_0x3814ec(0x18f)},{'name':a113_0x3814ec(0x17b),'type':'string','required':!![],'description':a113_0x3814ec(0x14b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x8098c4){validateInput(_0x8098c4);},async 'dryRun'(_0x56e743){const _0x57f93a=a113_0x3814ec;validateInput(_0x56e743);const _0x7be771=await buildPlan(_0x56e743,!![]);return menuDryRunResult(_0x7be771[_0x57f93a(0x185)],{'method':'POST','url':_0x57f93a(0x15e),'body':_0x7be771[_0x57f93a(0x18d)],'description':_0x57f93a(0x14d)+_0x7be771[_0x57f93a(0x18d)]['id']+'.'});},async 'execute'(_0x30db4c){const _0x3e4d3b=a113_0x3814ec;validateInput(_0x30db4c);const _0x4bc311=await buildPlan(_0x30db4c,![]),{plan:_0x48799e,body:_0x61885a,before:_0x3c3b73,noChanges:_0x43483f}=_0x4bc311,_0x4cff13=_0x61885a['id'];if(_0x43483f)return updateSuccess(_0x48799e,_0x4bc311[_0x3e4d3b(0x16e)],_0x3c3b73,!![],![]);await recheckMutationSnapshot(_0x30db4c,_0x48799e,_0x3e4d3b(0x17f),_0x4cff13);try{await updateMenuEntity(_0x30db4c['appCode'],_0x30db4c['cookie'],{'id':_0x61885a['id'],'url':_0x61885a[_0x3e4d3b(0x17e)]});}catch(_0x47a0a5){const _0x161b71=mapMenuApiError(_0x47a0a5,_0x3e4d3b(0x17f),_0x4cff13);if(isMenuResponseLoss(_0x47a0a5)&&_0x161b71[_0x3e4d3b(0x16d)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x30db4c,_0x4bc311);throw menuFailure(_0x161b71,_0x48799e,{'stage':'update','failed':{'id':_0x4cff13},'warnings':[_0x3e4d3b(0x179)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}let _0x34c6fd,_0x4b765f;try{_0x34c6fd=await fetchMenuSnapshot(_0x30db4c[_0x3e4d3b(0x17d)],_0x30db4c[_0x3e4d3b(0x174)]),_0x4b765f=requireMenu(_0x34c6fd,_0x4cff13),verifyUpdatedFact(_0x3c3b73,_0x4b765f,_0x61885a[_0x3e4d3b(0x17e)]);}catch(_0x1f4473){const _0x5df556=describeMenuErrorCause(_0x1f4473,_0x3e4d3b(0x177),_0x4cff13),_0x4fd3e2=asVerificationError(_0x1f4473,_0x3e4d3b(0x184)+_0x4cff13+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4fd3e2,_0x48799e,{'stage':'verification','succeeded':[{'id':_0x4cff13,'updateRequested':!![]}],'failed':{'id':_0x4cff13,'requestedStateConfirmed':![],..._0x5df556},'warnings':[_0x3e4d3b(0x17c)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}return updateSuccess(_0x48799e,_0x34c6fd,_0x4b765f,![],![]);}};function validateInput(_0xdc7214){const _0x39bf2c=a113_0x3814ec;validateExactId(_0xdc7214),requiredUrl(_0xdc7214,_0x39bf2c(0x17e)),requiredExpectedUrl(_0xdc7214),parseParentId(_0xdc7214,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x58ca40,_0x3da12e){const _0x1dd3a7=a113_0x3814ec;if(!hasFlag(_0x58ca40,_0x3da12e)||!_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e)[_0x1dd3a7(0x150)]())throw CliErrors['flagMissing'](_0x3da12e);return validateExternalMenuUrl(_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e));}function requiredExpectedUrl(_0x2e7333){const _0x12738f=a113_0x3814ec;if(!hasFlag(_0x2e7333,_0x12738f(0x17b))||!_0x2e7333['str'](_0x12738f(0x17b))[_0x12738f(0x150)]())throw CliErrors[_0x12738f(0x166)](_0x12738f(0x17b));return _0x2e7333[_0x12738f(0x180)](_0x12738f(0x17b))[_0x12738f(0x150)]();}function a113_0x38e9(_0xf8ea89,_0x3509da){_0xf8ea89=_0xf8ea89-0x146;const _0x1ca83e=a113_0x1ca8();let _0x38e9c3=_0x1ca83e[_0xf8ea89];return _0x38e9c3;}function a113_0x1ca8(){const _0x586872=['The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20is\x20type\x20\x22','Update\x20request\x20for\x20menu\x20','plan','608824kKWmuT','Run\x20','434724ugfWkE','menu\x20list','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','body','2254128XTaBDz','New\x20external\x20HTTPS\x20URL','18585FiIAvp','\x20changed\x20during\x20the\x20URL-only\x20update.','failed','link','childrenCount','2650452jNjeQf','1770AstMOL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','byId','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','type','replace','trim','\x20has\x20an\x20empty\x20platform\x20path.','requestedUrlObserved','menu_external_link_path_missing','parentId','menu_external_link_not_leaf','rabetbase\x20menu\x20list\x20--appcode\x20','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_type_required','\x20parent\x20changed:\x20expected\x20','get',',\x20current\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20--format\x20compress','/smartapi/menu/update','3YKFPtf','\x20already\x20matches\x20the\x20requested\x20URL.','write','hash','external-link-update','1315MltIYS','\x20has\x20','flagMissing','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','955168wcNsTO','update-recovery','Menu\x20','label','code','snapshot','6404fMgMMv','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','sort','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20direct\x20child\x20menu(s).','cookie','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','verify\x20external\x20menu\x20URL\x20update','POST','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','expect-url','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','appCode','url','update\x20external\x20menu\x20URL','str','path'];a113_0x1ca8=function(){return _0x586872;};return a113_0x1ca8();}async function buildPlan(_0x574add,_0x1525bf){const _0x260b7e=a113_0x3814ec,_0x78ff5c=validateExactId(_0x574add),_0x364675=requiredUrl(_0x574add,_0x260b7e(0x17e)),_0x222aa8=requiredExpectedUrl(_0x574add),_0x2612b2=parseParentId(_0x574add,'expect-parent-id',{'required':!![]}),_0x48a701=await fetchMutationSnapshot(_0x574add,'update\x20external\x20menu\x20URL',_0x78ff5c),_0x4afb9a=requireMenu(_0x48a701,_0x78ff5c);assertExternalLinkLeaf(_0x4afb9a);if(_0x4afb9a[_0x260b7e(0x154)]!==_0x2612b2)throw menuError(_0x260b7e(0x18a),_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x159)+formatParent(_0x2612b2)+_0x260b7e(0x15b)+formatParent(_0x4afb9a[_0x260b7e(0x154)])+'.',_0x260b7e(0x18b));const _0x24f1e1=_0x4afb9a[_0x260b7e(0x17e)]===_0x364675;if(!_0x24f1e1&&_0x4afb9a[_0x260b7e(0x17e)]!==_0x222aa8)throw menuError('menu_state_drift',_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x157),_0x260b7e(0x176));const _0x3c263d={'id':_0x78ff5c,'appCode':_0x574add[_0x260b7e(0x17d)],'url':_0x364675},_0x316d67={..._0x4afb9a,'url':_0x364675};return{'body':_0x3c263d,'before':_0x4afb9a,'noChanges':_0x24f1e1,'snapshot':_0x48a701,'plan':mutationResult({'operation':_0x260b7e(0x163),'selector':{'id':_0x78ff5c},'before':_0x4afb9a,'after':_0x316d67,'dryRun':_0x1525bf,'backend':[...BACKEND],'plannedActions':_0x24f1e1?[]:[{'stage':'update-external-link-url','method':_0x260b7e(0x178),'path':_0x260b7e(0x15e),'body':_0x3c263d}],'snapshotHash':_0x48a701[_0x260b7e(0x162)],'warnings':_0x24f1e1?[_0x260b7e(0x15c)]:[]})};}function assertExternalLinkLeaf(_0x41a454){const _0x41e681=a113_0x3814ec;if(_0x41a454[_0x41e681(0x14e)]!=='iframe'&&_0x41a454[_0x41e681(0x14e)]!==_0x41e681(0x147))throw menuError(_0x41e681(0x158),'Menu\x20'+_0x41a454['id']+_0x41e681(0x183)+(_0x41a454[_0x41e681(0x14e)]||'unknown')+_0x41e681(0x18c),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x41a454['childrenCount']!==0x0)throw menuError(_0x41e681(0x155),'Menu\x20'+_0x41a454['id']+_0x41e681(0x165)+_0x41a454[_0x41e681(0x148)]+_0x41e681(0x173),_0x41e681(0x175));if(!_0x41a454[_0x41e681(0x181)]['trim']())throw menuError(_0x41e681(0x153),_0x41e681(0x16b)+_0x41a454['id']+_0x41e681(0x151),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x1023f6,_0x1718d3,_0xac2760){const _0xbfd7b6=a113_0x3814ec;assertExternalLinkLeaf(_0x1718d3);const _0x994866=[['id',_0x1718d3['id'],_0x1023f6['id']],[_0xbfd7b6(0x16c),_0x1718d3[_0xbfd7b6(0x16c)],_0x1023f6[_0xbfd7b6(0x16c)]],[_0xbfd7b6(0x14e),_0x1718d3['type'],_0x1023f6[_0xbfd7b6(0x14e)]],[_0xbfd7b6(0x181),_0x1718d3[_0xbfd7b6(0x181)],_0x1023f6[_0xbfd7b6(0x181)]],[_0xbfd7b6(0x154),_0x1718d3[_0xbfd7b6(0x154)],_0x1023f6['parentId']],['sort',_0x1718d3[_0xbfd7b6(0x171)],_0x1023f6['sort']],['visible',_0x1718d3['visible'],_0x1023f6['visible']]];for(const [_0x590cb6,_0x423c43,_0x5df697]of _0x994866){assertVerified(_0x423c43===_0x5df697,_0xbfd7b6(0x16b)+_0x1023f6['id']+'\x20'+_0x590cb6+_0xbfd7b6(0x191));}assertVerified(_0x1718d3['url']===_0xac2760,'Menu\x20'+_0x1023f6['id']+_0xbfd7b6(0x172));}function updateSuccess(_0x2bc7d7,_0x6b9636,_0x60ceba,_0x38466f,_0x1a83ce){const _0x365f4e=a113_0x3814ec,_0x278e32=_0x60ceba['id'],_0x5c5f6e=mutationResult({..._0x2bc7d7,'after':_0x60ceba,'dryRun':![],'succeeded':[{'id':_0x278e32,'updated':!_0x38466f,'skipped':_0x38466f,'recovered':_0x1a83ce}],'verification':{'checkedBy':_0x365f4e(0x189),'snapshotHash':_0x6b9636[_0x365f4e(0x162)],'targetId':_0x278e32,'matchesRequestedState':!![],'recovered':_0x1a83ce}});return{'ok':!![],'message':_0x1a83ce?_0x365f4e(0x167)+_0x278e32+'.':_0x38466f?'Menu\x20'+_0x278e32+_0x365f4e(0x160):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x278e32+'.','data':{..._0x5c5f6e,'recovered':_0x1a83ce}};}async function recoverAfterResponseLoss(_0x1c765a,_0x2b3ce9){const _0x5bb086=a113_0x3814ec,{plan:_0x395fa4,before:_0x579812,body:_0x3c0b56}=_0x2b3ce9;let _0x1f52e0;try{_0x1f52e0=await fetchMenuSnapshot(_0x1c765a['appCode'],_0x1c765a[_0x5bb086(0x174)]);}catch{throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'readbackFailed':!![]});}const _0x26f69c=_0x1f52e0[_0x5bb086(0x14c)][_0x5bb086(0x15a)](_0x3c0b56['id']);if(!_0x26f69c||_0x26f69c['url']!==_0x3c0b56['url'])throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'requestedUrlObserved':![],'after':_0x26f69c??null});try{verifyUpdatedFact(_0x579812,_0x26f69c,_0x3c0b56['url']);}catch(_0x4add9d){const _0x3869d7=asVerificationError(_0x4add9d,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x3c0b56['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x3869d7,_0x395fa4,{'stage':_0x5bb086(0x16a),'succeeded':[{'id':_0x3c0b56['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x26f69c,'warnings':[_0x5bb086(0x168)],'verification':{'status':'failed','targetId':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1c765a['appCode'])}});}return updateSuccess(_0x395fa4,_0x1f52e0,_0x26f69c,![],!![]);}function recoveryRequired(_0x5eb0e9,_0x48d20d,_0x1b086c){const _0x589f35=a113_0x3814ec,_0x53b6ba=menuError('menu_update_recovery_required',_0x589f35(0x182),_0x589f35(0x187)+buildLookupCommand(_0x48d20d)+_0x589f35(0x170));return menuFailure(_0x53b6ba,_0x5eb0e9,{'stage':_0x589f35(0x16a),'failed':{'id':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c[_0x589f35(0x152)]},..._0x1b086c['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1b086c['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x589f35(0x146),'targetId':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c['requestedUrlObserved']},..._0x1b086c[_0x589f35(0x17a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x48d20d)}});}function buildLookupCommand(_0x117101){const _0x18597b=a113_0x3814ec,_0x2494ba='\x27'+_0x117101[_0x18597b(0x14f)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x18597b(0x156)+_0x2494ba+_0x18597b(0x15d);}
1
+ function a113_0x3a2c(_0x6ef420,_0xb59f07){_0x6ef420=_0x6ef420-0x18e;const _0x1be441=a113_0x1be4();let _0x3a2c4e=_0x1be441[_0x6ef420];return _0x3a2c4e;}const a113_0x18fdd2=a113_0x3a2c;(function(_0x2ef8fc,_0x2be904){const _0x909dbe=a113_0x3a2c,_0x548829=_0x2ef8fc();while(!![]){try{const _0x5ae20b=parseInt(_0x909dbe(0x1d7))/0x1*(parseInt(_0x909dbe(0x1d3))/0x2)+parseInt(_0x909dbe(0x1aa))/0x3+parseInt(_0x909dbe(0x1a2))/0x4+parseInt(_0x909dbe(0x1a8))/0x5*(parseInt(_0x909dbe(0x19a))/0x6)+parseInt(_0x909dbe(0x1d5))/0x7*(parseInt(_0x909dbe(0x19b))/0x8)+parseInt(_0x909dbe(0x198))/0x9+-parseInt(_0x909dbe(0x19e))/0xa*(parseInt(_0x909dbe(0x1da))/0xb);if(_0x5ae20b===_0x2be904)break;else _0x548829['push'](_0x548829['shift']());}catch(_0x3bd6a0){_0x548829['push'](_0x548829['shift']());}}}(a113_0x1be4,0x50e4e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x1be4(){const _0x3b2f7c=['expect-parent-id','173271mnvwfQ','\x20changed\x20during\x20the\x20URL-only\x20update.','requestedUrlObserved','visible','menu\x20list','label','parentId','path','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','New\x20external\x20HTTPS\x20URL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','replace','str','sort','\x20direct\x20child\x20menu(s).','trim','menu_external_link_not_leaf','Run\x20','\x20already\x20matches\x20the\x20requested\x20URL.','url','string','menu_update_recovery_required','\x20is\x20type\x20\x22','childrenCount','failed','body','update-external-link-url','Response\x20was\x20lost\x20and\x20menu\x20','appCode','\x27\x5c\x27\x27','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','verification','POST','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','write','update','Menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20could\x20not\x20be\x20verified\x20safely','byId','57366QwsjdR','\x20parent\x20changed:\x20expected\x20','7yUsLln','/smartapi/menu/update','9Bnrxqs','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-url','17746674ozfHoV','external-link-update','menu_state_drift','Update\x20request\x20for\x20menu\x20','Updated\x20external\x20URL\x20for\x20menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','flagMissing','after','\x20--format\x20compress','menu','cookie','readbackFailed','4333563LeUHpH','\x20has\x20an\x20empty\x20platform\x20path.','669126aOdrvM','4179408VdYvkC','hash','\x20has\x20','10FMxYZk','menu_external_link_type_required','update-recovery','\x22,\x20not\x20iframe\x20or\x20link.','1607188OkShzT','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','link','rabetbase\x20menu\x20list\x20--appcode\x20','type','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','10TyxAmh'];a113_0x1be4=function(){return _0x3b2f7c;};return a113_0x1be4();}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_0x18fdd2(0x1cb),'path':a113_0x18fdd2(0x1d6)}];export const menuExternalLinkUpdate={'service':a113_0x18fdd2(0x195),'command':a113_0x18fdd2(0x1db),'description':a113_0x18fdd2(0x1d0),'risk':a113_0x18fdd2(0x1cd),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x18fdd2(0x1be),'type':a113_0x18fdd2(0x1bf),'required':!![],'description':a113_0x18fdd2(0x1b4)},{'name':a113_0x18fdd2(0x1d9),'type':a113_0x18fdd2(0x1bf),'required':!![],'description':a113_0x18fdd2(0x191)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x200297){validateInput(_0x200297);},async 'dryRun'(_0x21f36e){const _0xaf590e=a113_0x18fdd2;validateInput(_0x21f36e);const _0x3b19c3=await buildPlan(_0x21f36e,!![]);return menuDryRunResult(_0x3b19c3['plan'],{'method':'POST','url':'/smartapi/menu/update','body':_0x3b19c3[_0xaf590e(0x1c4)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x3b19c3['body']['id']+'.'});},async 'execute'(_0x168d90){const _0xe96e2d=a113_0x18fdd2;validateInput(_0x168d90);const _0x1d7f95=await buildPlan(_0x168d90,![]),{plan:_0x4f77d6,body:_0x2c70fa,before:_0x161a5c,noChanges:_0x1b8858}=_0x1d7f95,_0x5c5674=_0x2c70fa['id'];if(_0x1b8858)return updateSuccess(_0x4f77d6,_0x1d7f95['snapshot'],_0x161a5c,!![],![]);await recheckMutationSnapshot(_0x168d90,_0x4f77d6,'update\x20external\x20menu\x20URL',_0x5c5674);try{await updateMenuEntity(_0x168d90[_0xe96e2d(0x1c7)],_0x168d90[_0xe96e2d(0x196)],{'id':_0x2c70fa['id'],'url':_0x2c70fa[_0xe96e2d(0x1be)]});}catch(_0x15ea1f){const _0x1bd878=mapMenuApiError(_0x15ea1f,'update\x20external\x20menu\x20URL',_0x5c5674);if(isMenuResponseLoss(_0x15ea1f)&&_0x1bd878['code']!=='menu_permission_denied')return recoverAfterResponseLoss(_0x168d90,_0x1d7f95);throw menuFailure(_0x1bd878,_0x4f77d6,{'stage':_0xe96e2d(0x1ce),'failed':{'id':_0x5c5674},'warnings':[_0xe96e2d(0x1cc)],'verification':{'status':_0xe96e2d(0x1c3),'targetId':_0x5c5674,'lookupCommand':buildLookupCommand(_0x168d90[_0xe96e2d(0x1c7)])}});}let _0x2803bd,_0x476aa0;try{_0x2803bd=await fetchMenuSnapshot(_0x168d90[_0xe96e2d(0x1c7)],_0x168d90['cookie']),_0x476aa0=requireMenu(_0x2803bd,_0x5c5674),verifyUpdatedFact(_0x161a5c,_0x476aa0,_0x2c70fa['url']);}catch(_0x229d05){const _0x2dcaed=describeMenuErrorCause(_0x229d05,'verify\x20external\x20menu\x20URL\x20update',_0x5c5674),_0x1a727c=asVerificationError(_0x229d05,_0xe96e2d(0x18e)+_0x5c5674+_0xe96e2d(0x190));throw menuFailure(_0x1a727c,_0x4f77d6,{'stage':_0xe96e2d(0x1ca),'succeeded':[{'id':_0x5c5674,'updateRequested':!![]}],'failed':{'id':_0x5c5674,'requestedStateConfirmed':![],..._0x2dcaed},'warnings':[_0xe96e2d(0x1b2)],'verification':{'status':'failed','targetId':_0x5c5674,'lookupCommand':buildLookupCommand(_0x168d90[_0xe96e2d(0x1c7)])}});}return updateSuccess(_0x4f77d6,_0x2803bd,_0x476aa0,![],![]);}};function validateInput(_0x11ae81){const _0x4bd2fb=a113_0x18fdd2;validateExactId(_0x11ae81),requiredUrl(_0x11ae81,'url'),requiredExpectedUrl(_0x11ae81),parseParentId(_0x11ae81,_0x4bd2fb(0x1a9),{'required':!![]});}function requiredUrl(_0x369271,_0x5800d6){const _0x184f9b=a113_0x18fdd2;if(!hasFlag(_0x369271,_0x5800d6)||!_0x369271[_0x184f9b(0x1b7)](_0x5800d6)[_0x184f9b(0x1ba)]())throw CliErrors[_0x184f9b(0x192)](_0x5800d6);return validateExternalMenuUrl(_0x369271['str'](_0x5800d6));}function requiredExpectedUrl(_0xb5fc01){const _0x25c931=a113_0x18fdd2;if(!hasFlag(_0xb5fc01,_0x25c931(0x1d9))||!_0xb5fc01[_0x25c931(0x1b7)](_0x25c931(0x1d9))['trim']())throw CliErrors[_0x25c931(0x192)](_0x25c931(0x1d9));return _0xb5fc01[_0x25c931(0x1b7)](_0x25c931(0x1d9))[_0x25c931(0x1ba)]();}async function buildPlan(_0x311571,_0x3de2c3){const _0x2cef6f=a113_0x18fdd2,_0x42a5cc=validateExactId(_0x311571),_0x4d875d=requiredUrl(_0x311571,_0x2cef6f(0x1be)),_0x2c8148=requiredExpectedUrl(_0x311571),_0x2f63b2=parseParentId(_0x311571,_0x2cef6f(0x1a9),{'required':!![]}),_0x1c2ea4=await fetchMutationSnapshot(_0x311571,'update\x20external\x20menu\x20URL',_0x42a5cc),_0x58ceef=requireMenu(_0x1c2ea4,_0x42a5cc);assertExternalLinkLeaf(_0x58ceef);if(_0x58ceef[_0x2cef6f(0x1b0)]!==_0x2f63b2)throw menuError(_0x2cef6f(0x1dc),'Menu\x20'+_0x42a5cc+_0x2cef6f(0x1d4)+formatParent(_0x2f63b2)+',\x20current\x20'+formatParent(_0x58ceef['parentId'])+'.',_0x2cef6f(0x1b5));const _0x244661=_0x58ceef['url']===_0x4d875d;if(!_0x244661&&_0x58ceef[_0x2cef6f(0x1be)]!==_0x2c8148)throw menuError(_0x2cef6f(0x1dc),_0x2cef6f(0x1cf)+_0x42a5cc+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4433f2={'id':_0x42a5cc,'appCode':_0x311571[_0x2cef6f(0x1c7)],'url':_0x4d875d},_0x278a99={..._0x58ceef,'url':_0x4d875d};return{'body':_0x4433f2,'before':_0x58ceef,'noChanges':_0x244661,'snapshot':_0x1c2ea4,'plan':mutationResult({'operation':_0x2cef6f(0x1db),'selector':{'id':_0x42a5cc},'before':_0x58ceef,'after':_0x278a99,'dryRun':_0x3de2c3,'backend':[...BACKEND],'plannedActions':_0x244661?[]:[{'stage':_0x2cef6f(0x1c5),'method':_0x2cef6f(0x1cb),'path':_0x2cef6f(0x1d6),'body':_0x4433f2}],'snapshotHash':_0x1c2ea4[_0x2cef6f(0x19c)],'warnings':_0x244661?[_0x2cef6f(0x1a3)]:[]})};}function assertExternalLinkLeaf(_0x2b8f1c){const _0x2b8633=a113_0x18fdd2;if(_0x2b8f1c[_0x2b8633(0x1a6)]!=='iframe'&&_0x2b8f1c[_0x2b8633(0x1a6)]!==_0x2b8633(0x1a4))throw menuError(_0x2b8633(0x19f),'Menu\x20'+_0x2b8f1c['id']+_0x2b8633(0x1c1)+(_0x2b8f1c[_0x2b8633(0x1a6)]||'unknown')+_0x2b8633(0x1a1),_0x2b8633(0x1d8));if(_0x2b8f1c[_0x2b8633(0x1c2)]!==0x0)throw menuError(_0x2b8633(0x1bb),'Menu\x20'+_0x2b8f1c['id']+_0x2b8633(0x19d)+_0x2b8f1c[_0x2b8633(0x1c2)]+_0x2b8633(0x1b9),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x2b8f1c[_0x2b8633(0x1b1)][_0x2b8633(0x1ba)]())throw menuError('menu_external_link_path_missing',_0x2b8633(0x1cf)+_0x2b8f1c['id']+_0x2b8633(0x199),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x18461c,_0xb74b58,_0x1bf13e){const _0x234ce9=a113_0x18fdd2;assertExternalLinkLeaf(_0xb74b58);const _0x3d51f7=[['id',_0xb74b58['id'],_0x18461c['id']],[_0x234ce9(0x1af),_0xb74b58[_0x234ce9(0x1af)],_0x18461c[_0x234ce9(0x1af)]],[_0x234ce9(0x1a6),_0xb74b58[_0x234ce9(0x1a6)],_0x18461c[_0x234ce9(0x1a6)]],[_0x234ce9(0x1b1),_0xb74b58['path'],_0x18461c['path']],[_0x234ce9(0x1b0),_0xb74b58[_0x234ce9(0x1b0)],_0x18461c[_0x234ce9(0x1b0)]],[_0x234ce9(0x1b8),_0xb74b58['sort'],_0x18461c['sort']],[_0x234ce9(0x1ad),_0xb74b58[_0x234ce9(0x1ad)],_0x18461c['visible']]];for(const [_0x39ac17,_0x18f6d3,_0x5a124f]of _0x3d51f7){assertVerified(_0x18f6d3===_0x5a124f,_0x234ce9(0x1cf)+_0x18461c['id']+'\x20'+_0x39ac17+_0x234ce9(0x1ab));}assertVerified(_0xb74b58['url']===_0x1bf13e,_0x234ce9(0x1cf)+_0x18461c['id']+_0x234ce9(0x1b3));}function updateSuccess(_0x1628a6,_0x34bf03,_0x560c60,_0x19a545,_0x421726){const _0x12f558=a113_0x18fdd2,_0x291c0c=_0x560c60['id'],_0xc848a2=mutationResult({..._0x1628a6,'after':_0x560c60,'dryRun':![],'succeeded':[{'id':_0x291c0c,'updated':!_0x19a545,'skipped':_0x19a545,'recovered':_0x421726}],'verification':{'checkedBy':_0x12f558(0x1ae),'snapshotHash':_0x34bf03[_0x12f558(0x19c)],'targetId':_0x291c0c,'matchesRequestedState':!![],'recovered':_0x421726}});return{'ok':!![],'message':_0x421726?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x291c0c+'.':_0x19a545?_0x12f558(0x1cf)+_0x291c0c+_0x12f558(0x1bd):_0x12f558(0x18f)+_0x291c0c+'.','data':{..._0xc848a2,'recovered':_0x421726}};}async function recoverAfterResponseLoss(_0x55622f,_0x59239f){const _0x42ffb2=a113_0x18fdd2,{plan:_0x1adbba,before:_0x45b22f,body:_0x535e4d}=_0x59239f;let _0x1cad4b;try{_0x1cad4b=await fetchMenuSnapshot(_0x55622f['appCode'],_0x55622f[_0x42ffb2(0x196)]);}catch{throw recoveryRequired(_0x1adbba,_0x55622f[_0x42ffb2(0x1c7)],{'id':_0x535e4d['id'],'readbackFailed':!![]});}const _0x4010c3=_0x1cad4b[_0x42ffb2(0x1d2)]['get'](_0x535e4d['id']);if(!_0x4010c3||_0x4010c3[_0x42ffb2(0x1be)]!==_0x535e4d['url'])throw recoveryRequired(_0x1adbba,_0x55622f[_0x42ffb2(0x1c7)],{'id':_0x535e4d['id'],'requestedUrlObserved':![],'after':_0x4010c3??null});try{verifyUpdatedFact(_0x45b22f,_0x4010c3,_0x535e4d[_0x42ffb2(0x1be)]);}catch(_0x3f918d){const _0x3e290d=asVerificationError(_0x3f918d,_0x42ffb2(0x1c6)+_0x535e4d['id']+_0x42ffb2(0x1d1));throw menuFailure(_0x3e290d,_0x1adbba,{'stage':_0x42ffb2(0x1a0),'succeeded':[{'id':_0x535e4d['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x535e4d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4010c3,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':'failed','targetId':_0x535e4d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x55622f['appCode'])}});}return updateSuccess(_0x1adbba,_0x1cad4b,_0x4010c3,![],!![]);}function recoveryRequired(_0x371eae,_0x27af0d,_0x2b76be){const _0x3a0132=a113_0x18fdd2,_0x48ae8d=menuError(_0x3a0132(0x1c0),_0x3a0132(0x1a7),_0x3a0132(0x1bc)+buildLookupCommand(_0x27af0d)+_0x3a0132(0x1c9));return menuFailure(_0x48ae8d,_0x371eae,{'stage':_0x3a0132(0x1a0),'failed':{'id':_0x2b76be['id'],..._0x2b76be['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x2b76be[_0x3a0132(0x1ac)]},..._0x2b76be[_0x3a0132(0x197)]?{'readbackFailed':!![]}:{}},'after':_0x2b76be[_0x3a0132(0x193)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':'failed','targetId':_0x2b76be['id'],..._0x2b76be[_0x3a0132(0x1ac)]===undefined?{}:{'requestedUrlObserved':_0x2b76be['requestedUrlObserved']},..._0x2b76be[_0x3a0132(0x197)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x27af0d)}});}function buildLookupCommand(_0x3ad1fe){const _0x2e0006=a113_0x18fdd2,_0x43d7d3='\x27'+_0x3ad1fe[_0x2e0006(0x1b6)](/'/g,_0x2e0006(0x1c8))+'\x27';return _0x2e0006(0x1a5)+_0x43d7d3+_0x2e0006(0x194);}
@@ -1 +1 @@
1
- const a114_0x204f54=a114_0x4d2e;(function(_0x5036d9,_0x5b163e){const _0x12edc2=a114_0x4d2e,_0x2840f6=_0x5036d9();while(!![]){try{const _0x3260db=-parseInt(_0x12edc2(0x17f))/0x1*(parseInt(_0x12edc2(0x16b))/0x2)+-parseInt(_0x12edc2(0x18e))/0x3+parseInt(_0x12edc2(0x18a))/0x4*(-parseInt(_0x12edc2(0x182))/0x5)+parseInt(_0x12edc2(0x180))/0x6*(-parseInt(_0x12edc2(0x186))/0x7)+parseInt(_0x12edc2(0x194))/0x8+parseInt(_0x12edc2(0x17e))/0x9+parseInt(_0x12edc2(0x195))/0xa*(parseInt(_0x12edc2(0x184))/0xb);if(_0x3260db===_0x5b163e)break;else _0x2840f6['push'](_0x2840f6['shift']());}catch(_0x13005f){_0x2840f6['push'](_0x2840f6['shift']());}}}(a114_0x32a8,0x9500c));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a114_0x4d2e(_0x333a02,_0x49d556){_0x333a02=_0x333a02-0x15b;const _0x32a882=a114_0x32a8();let _0x4d2e74=_0x32a882[_0x333a02];return _0x4d2e74;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x204f54(0x15b),'path':a114_0x204f54(0x19a)}];function a114_0x32a8(){const _0x33c6a5=['Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Created\x20menu\x20','failed','get','write','Folder\x20','label','cookie','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','pageId','verify\x20folder\x20creation','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20is\x20not\x20type\x20folder.','7999911OUhTMv','1dLprLV','12vXGVxD','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','20shHDLF','menu_create_response_invalid','264mjFBbC','group-create','845684ToiwYX','str','\x20has\x20an\x20unexpected\x20label.','visible','170372FLnCFL','Created\x20menu\x20folder\x20','\x20is\x20not\x20empty.','\x20is\x20missing\x20from\x20menu\x20list.','1665324qggoim','rabetbase\x20menu\x20list\x20--format\x20json','byId','path','stringify','parentId','2144464xEoqOW','433660FcEwLa','\x20has\x20an\x20unexpected\x20sort.','length','create\x20folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','/smartapi/menu/create','after','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','POST','depth','appCode','\x20has\x20resources.','Created\x20folder\x20','flagMissing','\x22\x20with\x20a\x20platform-generated\x20path.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','folder','\x20is\x20not\x20visible.','trim','isSafeInteger','string','parent-id','create-response-validation','verification','1240602TKTvuy','Would\x20create\x20empty\x20folder\x20\x22','\x20may\x20exist\x20online\x20at\x20path\x20','childrenCount'];a114_0x32a8=function(){return _0x33c6a5;};return a114_0x32a8();}export const menuGroupCreate={'service':'menu','command':a114_0x204f54(0x185),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x204f54(0x174),'structuredErrors':!![],'flags':[{'name':a114_0x204f54(0x176),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x434695){validateCreateInput(_0x434695);},async 'dryRun'(_0x4a26a4){const _0x55a79c=a114_0x204f54,_0x35cefa=await buildCreatePlan(_0x4a26a4,!![]),_0x37e05d=_0x35cefa[_0x55a79c(0x19b)];return menuDryRunResult(_0x35cefa,{'method':_0x55a79c(0x15b),'url':_0x55a79c(0x19a),'body':{'parentId':toApiParentId(_0x37e05d['parentId']),'label':_0x37e05d['label'],'type':'folder','visible':!![],'sort':_0x37e05d[_0x55a79c(0x17b)],'extend':{}},'description':_0x55a79c(0x16c)+String(_0x37e05d['label'])+_0x55a79c(0x161)});},async 'execute'(_0x10ba8c){const _0x3bb3c6=a114_0x204f54;validateCreateInput(_0x10ba8c);const _0x3e1e64=await buildCreatePlan(_0x10ba8c,![]),_0x2adbae=_0x3e1e64[_0x3bb3c6(0x19b)];await recheckMutationSnapshot(_0x10ba8c,_0x3e1e64,_0x3bb3c6(0x198));let _0x4d06ce;try{_0x4d06ce=await createMenuEntity(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c['cookie'],{'parentId':toApiParentId(_0x2adbae[_0x3bb3c6(0x193)]),'label':String(_0x2adbae[_0x3bb3c6(0x176)]),'type':_0x3bb3c6(0x163),'visible':!![],'sort':Number(_0x2adbae[_0x3bb3c6(0x17b)]),'extend':{}});}catch(_0x113ffc){const _0x179786=mapMenuApiError(_0x113ffc,_0x3bb3c6(0x198));throw menuFailure(_0x179786,_0x3e1e64,{'stage':'create','failed':{}});}const _0x37f174=Number(_0x4d06ce['id']);if(!Number[_0x3bb3c6(0x166)](_0x37f174)||_0x37f174<=0x0){const _0x28a8d5=menuError('menu_create_response_invalid',_0x3bb3c6(0x17c),_0x3bb3c6(0x19d));throw menuFailure(_0x28a8d5,_0x3e1e64,{'stage':_0x3bb3c6(0x169),'failed':{'createdId':_0x4d06ce['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x48cf71=typeof _0x4d06ce['path']===_0x3bb3c6(0x167)?_0x4d06ce[_0x3bb3c6(0x191)]:'';if(!_0x48cf71['trim']()){const _0x3e4a81=menuError(_0x3bb3c6(0x183),_0x3bb3c6(0x16f)+_0x37f174+_0x3bb3c6(0x170),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x3e4a81,_0x3e1e64,{'stage':'create-response-validation','succeeded':[{'id':_0x37f174,'created':!![]}],'failed':{'id':_0x37f174,'generatedPathConfirmed':![]},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}let _0x1fa356;try{_0x1fa356=await fetchMenuSnapshot(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c[_0x3bb3c6(0x177)]);}catch(_0x5e1d78){const _0x2c577a=describeMenuErrorCause(_0x5e1d78,_0x3bb3c6(0x17a),_0x37f174),_0x191eaa=asVerificationError(_0x5e1d78,_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x199));throw menuFailure(_0x191eaa,_0x3e1e64,{'stage':'verification','succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x2c577a},'warnings':[_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x16d)+JSON[_0x3bb3c6(0x192)](_0x48cf71)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':'failed','lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x2c22b7=_0x1fa356[_0x3bb3c6(0x190)][_0x3bb3c6(0x173)](_0x37f174);let _0x5d2dab;try{assertVerified(Boolean(_0x2c22b7),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18d)),_0x5d2dab=_0x2c22b7,assertVerified(_0x5d2dab['type']==='folder',_0x3bb3c6(0x171)+_0x37f174+_0x3bb3c6(0x17d)),assertVerified(_0x5d2dab['label']===_0x2adbae[_0x3bb3c6(0x176)],'Created\x20folder\x20'+_0x37f174+_0x3bb3c6(0x188)),assertVerified(_0x5d2dab['path']===_0x48cf71&&Boolean(_0x5d2dab[_0x3bb3c6(0x191)]['trim']()),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x181)),assertVerified(_0x5d2dab[_0x3bb3c6(0x189)]===!![],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x164)),assertVerified(_0x5d2dab['resources'][_0x3bb3c6(0x197)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x15e)),assertVerified(_0x5d2dab[_0x3bb3c6(0x16e)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18c)),assertVerified(_0x5d2dab[_0x3bb3c6(0x17b)]===_0x2adbae[_0x3bb3c6(0x17b)],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x196)),assertVerified(_0x5d2dab[_0x3bb3c6(0x193)]===_0x2adbae['parentId'],_0x3bb3c6(0x15f)+_0x37f174+'\x20has\x20unexpected\x20parent\x20'+(_0x5d2dab['parentId']??'root')+'.'),assertVerified(_0x5d2dab[_0x3bb3c6(0x179)]==null,'Created\x20folder\x20'+_0x37f174+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3eb61b=_0x5d2dab['parentId']==null?undefined:requireFolder(_0x1fa356,_0x5d2dab[_0x3bb3c6(0x193)]);assertVerified(_0x5d2dab[_0x3bb3c6(0x15c)]===(_0x3eb61b?_0x3eb61b[_0x3bb3c6(0x15c)]+0x1:0x0),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x178));}catch(_0x22deda){const _0x1cd76c=describeMenuErrorCause(_0x22deda,_0x3bb3c6(0x17a),_0x37f174),_0x1d397b=asVerificationError(_0x22deda,_0x3bb3c6(0x175)+_0x37f174+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x1d397b,_0x3e1e64,{'stage':_0x3bb3c6(0x16a),'succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x1cd76c},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2c22b7??{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x220cb5=mutationResult({..._0x3e1e64,'after':_0x5d2dab,'dryRun':![],'succeeded':[{'id':_0x37f174,'type':_0x3bb3c6(0x163),'path':_0x48cf71}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1fa356['hash'],'folder':!![],'path':_0x48cf71,'emptyResources':!![]}});return{'ok':!![],'data':_0x220cb5,'message':_0x3bb3c6(0x18b)+_0x37f174+'.'};}};function validateCreateInput(_0x2e018a){const _0x23ef79=a114_0x204f54,_0x36f1d0=_0x2e018a[_0x23ef79(0x187)](_0x23ef79(0x176))[_0x23ef79(0x165)]();if(!_0x36f1d0)throw CliErrors[_0x23ef79(0x160)](_0x23ef79(0x176));parseParentId(_0x2e018a,'parent-id'),validateSort(_0x2e018a);}async function buildCreatePlan(_0x55bcf6,_0x369ae5){const _0xec5bc8=a114_0x204f54,_0x2974ce=await fetchMutationSnapshot(_0x55bcf6,_0xec5bc8(0x198)),_0x105e26=parseParentId(_0x55bcf6,_0xec5bc8(0x168))??null;if(_0x105e26!=null)requireFolder(_0x2974ce,_0x105e26);const _0x4fede1=validateSort(_0x55bcf6),_0x213dca=_0x4fede1??nextSiblingSort(_0x2974ce,_0x105e26,'folder'),_0x45d292=_0x55bcf6['str'](_0xec5bc8(0x176))[_0xec5bc8(0x165)]();return mutationResult({'operation':_0xec5bc8(0x185),'selector':{'label':_0x45d292,'parentId':_0x105e26},'before':null,'after':{'id':null,'parentId':_0x105e26,'label':_0x45d292,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x213dca,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x369ae5,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':_0xec5bc8(0x19a),'body':{'parentId':toApiParentId(_0x105e26),'label':_0x45d292,'type':'folder','visible':!![],'sort':_0x213dca,'extend':{}}}],'snapshotHash':_0x2974ce[_0xec5bc8(0x19c)],'warnings':[_0xec5bc8(0x162)]});}
1
+ const a114_0x54f0aa=a114_0x568b;function a114_0x568b(_0x18f013,_0x30b727){_0x18f013=_0x18f013-0xbc;const _0x554dba=a114_0x554d();let _0x568b5d=_0x554dba[_0x18f013];return _0x568b5d;}(function(_0x5f50a8,_0x41c953){const _0x44fa36=a114_0x568b,_0x47c01c=_0x5f50a8();while(!![]){try{const _0x2392ab=parseInt(_0x44fa36(0xe4))/0x1*(parseInt(_0x44fa36(0xe7))/0x2)+parseInt(_0x44fa36(0xe1))/0x3+parseInt(_0x44fa36(0xc7))/0x4+parseInt(_0x44fa36(0xca))/0x5+-parseInt(_0x44fa36(0xc0))/0x6+parseInt(_0x44fa36(0xec))/0x7*(-parseInt(_0x44fa36(0xbc))/0x8)+-parseInt(_0x44fa36(0xc3))/0x9;if(_0x2392ab===_0x41c953)break;else _0x47c01c['push'](_0x47c01c['shift']());}catch(_0x42584a){_0x47c01c['push'](_0x47c01c['shift']());}}}(a114_0x554d,0xcda4d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a114_0x54f0aa(0xd8)}];export const menuGroupCreate={'service':a114_0x54f0aa(0xf2),'command':'group-create','description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a114_0x54f0aa(0xe2),'required':!![],'description':a114_0x54f0aa(0xfa)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xba2eb6){validateCreateInput(_0xba2eb6);},async 'dryRun'(_0x35ce35){const _0x228297=a114_0x54f0aa,_0x588e19=await buildCreatePlan(_0x35ce35,!![]),_0x3ed690=_0x588e19[_0x228297(0xbf)];return menuDryRunResult(_0x588e19,{'method':'POST','url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x3ed690[_0x228297(0xc4)]),'label':_0x3ed690[_0x228297(0xf7)],'type':'folder','visible':!![],'sort':_0x3ed690['sort'],'extend':{}},'description':_0x228297(0xbd)+String(_0x3ed690[_0x228297(0xf7)])+_0x228297(0xc2)});},async 'execute'(_0x27a98b){const _0x4f1961=a114_0x54f0aa;validateCreateInput(_0x27a98b);const _0x10a10c=await buildCreatePlan(_0x27a98b,![]),_0x53fb26=_0x10a10c[_0x4f1961(0xbf)];await recheckMutationSnapshot(_0x27a98b,_0x10a10c,_0x4f1961(0xdb));let _0x41ef8b;try{_0x41ef8b=await createMenuEntity(_0x27a98b[_0x4f1961(0xc6)],_0x27a98b['cookie'],{'parentId':toApiParentId(_0x53fb26['parentId']),'label':String(_0x53fb26[_0x4f1961(0xf7)]),'type':_0x4f1961(0xc5),'visible':!![],'sort':Number(_0x53fb26['sort']),'extend':{}});}catch(_0x668a9c){const _0x8539=mapMenuApiError(_0x668a9c,_0x4f1961(0xdb));throw menuFailure(_0x8539,_0x10a10c,{'stage':_0x4f1961(0xda),'failed':{}});}const _0x293a71=Number(_0x41ef8b['id']);if(!Number[_0x4f1961(0xea)](_0x293a71)||_0x293a71<=0x0){const _0x436a49=menuError(_0x4f1961(0xd6),_0x4f1961(0xd4),_0x4f1961(0xe0));throw menuFailure(_0x436a49,_0x10a10c,{'stage':_0x4f1961(0xd2),'failed':{'createdId':_0x41ef8b['id']??null},'warnings':[_0x4f1961(0xe5)],'verification':{'status':_0x4f1961(0x100),'lookupCommand':_0x4f1961(0xcb)}});}const _0x15bde9=typeof _0x41ef8b[_0x4f1961(0xde)]===_0x4f1961(0xe2)?_0x41ef8b[_0x4f1961(0xde)]:'';if(!_0x15bde9['trim']()){const _0x1fc312=menuError('menu_create_response_invalid',_0x4f1961(0xdd)+_0x293a71+_0x4f1961(0xff),_0x4f1961(0xf4));throw menuFailure(_0x1fc312,_0x10a10c,{'stage':_0x4f1961(0xd2),'succeeded':[{'id':_0x293a71,'created':!![]}],'failed':{'id':_0x293a71,'generatedPathConfirmed':![]},'warnings':[_0x4f1961(0xbe)+_0x293a71+_0x4f1961(0xd1)],'after':{..._0x53fb26,'id':_0x293a71,'path':_0x15bde9},'verification':{'status':_0x4f1961(0x100),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x293a71}});}let _0x44c425;try{_0x44c425=await fetchMenuSnapshot(_0x27a98b[_0x4f1961(0xc6)],_0x27a98b['cookie']);}catch(_0x42d832){const _0x5f33ee=describeMenuErrorCause(_0x42d832,'verify\x20folder\x20creation',_0x293a71),_0x3dc885=asVerificationError(_0x42d832,'Folder\x20'+_0x293a71+_0x4f1961(0xf0));throw menuFailure(_0x3dc885,_0x10a10c,{'stage':_0x4f1961(0xfb),'succeeded':[{'id':_0x293a71,'created':!![],'path':_0x15bde9}],'failed':{'id':_0x293a71,'finalFactsConfirmed':![],..._0x5f33ee},'warnings':[_0x4f1961(0xbe)+_0x293a71+_0x4f1961(0xfd)+JSON[_0x4f1961(0xdf)](_0x15bde9)+_0x4f1961(0xd7)],'after':{..._0x53fb26,'id':_0x293a71,'path':_0x15bde9},'verification':{'status':_0x4f1961(0x100),'lookupCommand':_0x4f1961(0xcb),'targetId':_0x293a71}});}const _0x9d4a9e=_0x44c425[_0x4f1961(0xed)][_0x4f1961(0xc1)](_0x293a71);let _0x2e8d3c;try{assertVerified(Boolean(_0x9d4a9e),_0x4f1961(0xee)+_0x293a71+_0x4f1961(0xc9)),_0x2e8d3c=_0x9d4a9e,assertVerified(_0x2e8d3c['type']===_0x4f1961(0xc5),_0x4f1961(0xd5)+_0x293a71+_0x4f1961(0xf8)),assertVerified(_0x2e8d3c[_0x4f1961(0xf7)]===_0x53fb26['label'],_0x4f1961(0xee)+_0x293a71+_0x4f1961(0xfc)),assertVerified(_0x2e8d3c[_0x4f1961(0xde)]===_0x15bde9&&Boolean(_0x2e8d3c['path']['trim']()),_0x4f1961(0xee)+_0x293a71+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x2e8d3c[_0x4f1961(0xf3)]===!![],_0x4f1961(0xee)+_0x293a71+'\x20is\x20not\x20visible.'),assertVerified(_0x2e8d3c[_0x4f1961(0xf1)][_0x4f1961(0xd3)]===0x0,_0x4f1961(0xee)+_0x293a71+_0x4f1961(0xf5)),assertVerified(_0x2e8d3c['childrenCount']===0x0,_0x4f1961(0xee)+_0x293a71+'\x20is\x20not\x20empty.'),assertVerified(_0x2e8d3c[_0x4f1961(0xe8)]===_0x53fb26[_0x4f1961(0xe8)],'Created\x20folder\x20'+_0x293a71+_0x4f1961(0xd9)),assertVerified(_0x2e8d3c['parentId']===_0x53fb26[_0x4f1961(0xc4)],_0x4f1961(0xee)+_0x293a71+_0x4f1961(0xc8)+(_0x2e8d3c[_0x4f1961(0xc4)]??_0x4f1961(0xd0))+'.'),assertVerified(_0x2e8d3c['pageId']==null,_0x4f1961(0xee)+_0x293a71+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x229d45=_0x2e8d3c[_0x4f1961(0xc4)]==null?undefined:requireFolder(_0x44c425,_0x2e8d3c['parentId']);assertVerified(_0x2e8d3c[_0x4f1961(0xe3)]===(_0x229d45?_0x229d45['depth']+0x1:0x0),'Created\x20folder\x20'+_0x293a71+_0x4f1961(0xcf));}catch(_0x385454){const _0x40256d=describeMenuErrorCause(_0x385454,_0x4f1961(0xe6),_0x293a71),_0x1b1f28=asVerificationError(_0x385454,_0x4f1961(0xbe)+_0x293a71+_0x4f1961(0xf9));throw menuFailure(_0x1b1f28,_0x10a10c,{'stage':_0x4f1961(0xfb),'succeeded':[{'id':_0x293a71,'created':!![],'path':_0x15bde9}],'failed':{'id':_0x293a71,'finalFactsConfirmed':![],..._0x40256d},'warnings':['Folder\x20'+_0x293a71+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x9d4a9e??{..._0x53fb26,'id':_0x293a71,'path':_0x15bde9},'verification':{'status':_0x4f1961(0x100),'lookupCommand':_0x4f1961(0xcb),'targetId':_0x293a71}});}const _0x123488=mutationResult({..._0x10a10c,'after':_0x2e8d3c,'dryRun':![],'succeeded':[{'id':_0x293a71,'type':'folder','path':_0x15bde9}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44c425[_0x4f1961(0xfe)],'folder':!![],'path':_0x15bde9,'emptyResources':!![]}});return{'ok':!![],'data':_0x123488,'message':_0x4f1961(0x101)+_0x293a71+'.'};}};function validateCreateInput(_0x294e75){const _0x460779=a114_0x54f0aa,_0x197c83=_0x294e75[_0x460779(0xe9)](_0x460779(0xf7))[_0x460779(0xeb)]();if(!_0x197c83)throw CliErrors['flagMissing'](_0x460779(0xf7));parseParentId(_0x294e75,_0x460779(0xf6)),validateSort(_0x294e75);}function a114_0x554d(){const _0x2fde55=['root','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','create-response-validation','length','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Created\x20menu\x20','menu_create_response_invalid',';\x20verify\x20it\x20before\x20retrying.','/smartapi/menu/create','\x20has\x20an\x20unexpected\x20sort.','create','create\x20folder','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Menu\x20create\x20response\x20for\x20folder\x20','path','stringify','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','3054789upxMig','string','depth','7ATBBbu','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','verify\x20folder\x20creation','306898gsWJMd','sort','str','isSafeInteger','trim','8204YjGWmD','byId','Created\x20folder\x20','create-folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','resources','menu','visible','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','\x20has\x20resources.','parent-id','label','\x20is\x20not\x20type\x20folder.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Folder\x20label','verification','\x20has\x20an\x20unexpected\x20label.','\x20may\x20exist\x20online\x20at\x20path\x20','hash','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','failed','Created\x20menu\x20folder\x20','10264pFZYqV','Would\x20create\x20empty\x20folder\x20\x22','Folder\x20','after','1931940cQJrlY','get','\x22\x20with\x20a\x20platform-generated\x20path.','12544065sVGitu','parentId','folder','appCode','5163324AVblND','\x20has\x20unexpected\x20parent\x20','\x20is\x20missing\x20from\x20menu\x20list.','3392655JSeqTq','rabetbase\x20menu\x20list\x20--format\x20json','<platform-generated>','POST','group-create','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.'];a114_0x554d=function(){return _0x2fde55;};return a114_0x554d();}async function buildCreatePlan(_0x2dd0df,_0xf35322){const _0x43bdec=a114_0x54f0aa,_0x17b484=await fetchMutationSnapshot(_0x2dd0df,'create\x20folder'),_0x667ff6=parseParentId(_0x2dd0df,_0x43bdec(0xf6))??null;if(_0x667ff6!=null)requireFolder(_0x17b484,_0x667ff6);const _0x33cc2d=validateSort(_0x2dd0df),_0x297462=_0x33cc2d??nextSiblingSort(_0x17b484,_0x667ff6,_0x43bdec(0xc5)),_0x466ca8=_0x2dd0df[_0x43bdec(0xe9)](_0x43bdec(0xf7))['trim']();return mutationResult({'operation':_0x43bdec(0xce),'selector':{'label':_0x466ca8,'parentId':_0x667ff6},'before':null,'after':{'id':null,'parentId':_0x667ff6,'label':_0x466ca8,'path':_0x43bdec(0xcc),'type':_0x43bdec(0xc5),'visible':!![],'sort':_0x297462,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0xf35322,'backend':[...BACKEND],'plannedActions':[{'stage':_0x43bdec(0xef),'method':_0x43bdec(0xcd),'path':_0x43bdec(0xd8),'body':{'parentId':toApiParentId(_0x667ff6),'label':_0x466ca8,'type':_0x43bdec(0xc5),'visible':!![],'sort':_0x297462,'extend':{}}}],'snapshotHash':_0x17b484[_0x43bdec(0xfe)],'warnings':[_0x43bdec(0xdc)]});}
@@ -1 +1 @@
1
- const a115_0xab50=a115_0x5aaa;(function(_0x4db73d,_0x2f0db1){const _0x36e6c3=a115_0x5aaa,_0x36d2ef=_0x4db73d();while(!![]){try{const _0x57eea7=parseInt(_0x36e6c3(0xab))/0x1*(parseInt(_0x36e6c3(0xb5))/0x2)+-parseInt(_0x36e6c3(0x86))/0x3+parseInt(_0x36e6c3(0x91))/0x4*(parseInt(_0x36e6c3(0x85))/0x5)+parseInt(_0x36e6c3(0xa7))/0x6*(-parseInt(_0x36e6c3(0x9a))/0x7)+-parseInt(_0x36e6c3(0xa5))/0x8*(parseInt(_0x36e6c3(0x8a))/0x9)+parseInt(_0x36e6c3(0xb0))/0xa*(parseInt(_0x36e6c3(0xa0))/0xb)+parseInt(_0x36e6c3(0xad))/0xc;if(_0x57eea7===_0x2f0db1)break;else _0x36d2ef['push'](_0x36d2ef['shift']());}catch(_0x3586cc){_0x36d2ef['push'](_0x36d2ef['shift']());}}}(a115_0x49d5,0xa781d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a115_0x49d5(){const _0xdb5660=['sort','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','101325yoNNAT','3838980voeJBS','Update\x20request\x20for\x20folder\x20','POST','validation','1557sKDTtH','\x20is\x20type\x20\x22','folder','--label\x20cannot\x20be\x20empty.','menu','cookie','label','100LRqCSB','selector','group-update','Menu\x20','str','unknown','rabetbase\x20menu\x20list\x20--format\x20json','hash','update\x20folder','2849nddHzc','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','\x20sort\x20update\x20did\x20not\x20take\x20effect.','verification','menu_not_folder','\x22,\x20not\x20folder.','11cVXnKl','failed','parentId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','string','14728tHNVBc','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','15846whcAvv','type','/smartapi/menu/update','trim','8240ydWaMF','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','18201396QsPcCD','update','Folder\x20','4870210pYGSdW','appCode','write','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','\x20is\x20no\x20longer\x20type\x20folder.','206KvNVVN'];a115_0x49d5=function(){return _0xdb5660;};return a115_0x49d5();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0xab50(0x88),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0xab50(0x8e),'command':'group-update','description':a115_0xab50(0x9b),'risk':a115_0xab50(0xb2),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a115_0xab50(0xac),'hint':a115_0xab50(0xb3)}],'flags':[MENU_ID_FLAG,{'name':a115_0xab50(0x90),'type':a115_0xab50(0xa4),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x348a07){validateUpdateInput(_0x348a07);},async 'dryRun'(_0x22441a){const _0x5ae349=a115_0xab50;validateUpdateInput(_0x22441a);const {plan:_0x4113be,patch:_0x419da5}=await buildUpdatePlan(_0x22441a,!![]);return menuDryRunResult(_0x4113be,{'method':_0x5ae349(0x88),'url':_0x5ae349(0xa9),'body':_0x419da5,'description':'Would\x20update\x20folder\x20'+_0x4113be[_0x5ae349(0x92)]['id']+'.'});},async 'execute'(_0x517b6b){const _0x33f8d2=a115_0xab50;validateUpdateInput(_0x517b6b);const {plan:_0x118696,patch:_0x3d01c2,noChanges:_0x2c8472}=await buildUpdatePlan(_0x517b6b,![]),_0x46540c=Number(_0x118696[_0x33f8d2(0x92)]['id']),_0x5cd5be=await recheckMutationSnapshot(_0x517b6b,_0x118696,_0x33f8d2(0x99),_0x46540c);if(!_0x2c8472)try{await updateMenuEntity(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)],_0x3d01c2);}catch(_0x765672){const _0x800170=mapMenuApiError(_0x765672,'update\x20folder',_0x46540c);throw menuFailure(_0x800170,_0x118696,{'stage':_0x33f8d2(0xae),'failed':{'id':_0x46540c}});}let _0xe445e5=_0x5cd5be,_0x41ad06;try{!_0x2c8472&&(_0xe445e5=await fetchMenuSnapshot(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)])),_0x41ad06=requireMenu(_0xe445e5,_0x46540c),verifyPatch(_0x41ad06,_0x3d01c2),_0x41ad06[_0x33f8d2(0xa2)]!=null&&requireFolder(_0xe445e5,_0x41ad06[_0x33f8d2(0xa2)]);}catch(_0x4d8d88){const _0xf27df5=describeMenuErrorCause(_0x4d8d88,'verify\x20folder\x20update',_0x46540c),_0x4204e5=asVerificationError(_0x4d8d88,_0x33f8d2(0x87)+_0x46540c+_0x33f8d2(0xa3));throw menuFailure(_0x4204e5,_0x118696,{'stage':_0x33f8d2(0x9d),'succeeded':[{'id':_0x46540c,'updateRequested':!_0x2c8472,'skipped':_0x2c8472}],'failed':{'id':_0x46540c,'requestedStateConfirmed':![],..._0xf27df5},'warnings':[_0x33f8d2(0xa6)],'verification':{'status':_0x33f8d2(0xa1),'lookupCommand':_0x33f8d2(0x97),'targetId':_0x46540c}});}const _0x2a6b02=mutationResult({..._0x118696,'after':_0x41ad06,'dryRun':![],'succeeded':[{'id':_0x46540c,'updated':!_0x2c8472,'skipped':_0x2c8472}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xe445e5['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a6b02,'message':_0x2c8472?_0x33f8d2(0xaf)+_0x46540c+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x46540c+'.'};}};function validateUpdateInput(_0x203afa){const _0x13d414=a115_0xab50;validateExactId(_0x203afa);if(hasFlag(_0x203afa,'parent-id'))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xac),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x203afa,_0x13d414(0x90))&&!hasFlag(_0x203afa,_0x13d414(0xb6)))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xb7));if(hasFlag(_0x203afa,'label')&&!_0x203afa[_0x13d414(0x95)]('label')[_0x13d414(0xaa)]())throw CliErrors[_0x13d414(0x89)](_0x13d414(0x8d));validateSort(_0x203afa);}async function buildUpdatePlan(_0x265893,_0x8c01d8){const _0x11e293=a115_0xab50,_0x10f1a8=validateExactId(_0x265893),_0x9b5f5a=await fetchMutationSnapshot(_0x265893,_0x11e293(0x99),_0x10f1a8),_0x38264c=requireMenu(_0x9b5f5a,_0x10f1a8);if(_0x38264c['type']!==_0x11e293(0x8c))throw menuError(_0x11e293(0x9e),_0x11e293(0x94)+_0x10f1a8+_0x11e293(0x8b)+(_0x38264c[_0x11e293(0xa8)]||_0x11e293(0x96))+_0x11e293(0x9f),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x265893,_0x38264c);const _0x104099={'id':_0x10f1a8},_0x4d2619={..._0x38264c};if(hasFlag(_0x265893,_0x11e293(0x90))){const _0x1a6015=_0x265893[_0x11e293(0x95)]('label')[_0x11e293(0xaa)]();_0x104099['label']=_0x1a6015,_0x4d2619[_0x11e293(0x90)]=_0x1a6015;}if(hasFlag(_0x265893,_0x11e293(0xb6))){const _0x53dd66=validateSort(_0x265893);_0x104099[_0x11e293(0xb6)]=_0x53dd66,_0x4d2619['sort']=_0x53dd66;}const _0x1d963b=sameRequestedState(_0x38264c,_0x4d2619),_0x3c2315=_0x1d963b?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x104099,'noChanges':_0x1d963b,'plan':mutationResult({'operation':_0x11e293(0x93),'selector':{'id':_0x10f1a8},'before':_0x38264c,'after':_0x4d2619,'dryRun':_0x8c01d8,'backend':[...BACKEND],'snapshotHash':_0x9b5f5a[_0x11e293(0x98)],'warnings':_0x3c2315})};}function a115_0x5aaa(_0x983a1d,_0x52d5e1){_0x983a1d=_0x983a1d-0x85;const _0x49d561=a115_0x49d5();let _0x5aaa1b=_0x49d561[_0x983a1d];return _0x5aaa1b;}function sameRequestedState(_0x4ff242,_0x169d9b){const _0x403902=a115_0xab50;return _0x4ff242[_0x403902(0x90)]===_0x169d9b[_0x403902(0x90)]&&_0x4ff242['sort']===_0x169d9b[_0x403902(0xb6)];}function verifyPatch(_0x3bf85c,_0x5f5eb1){const _0x515291=a115_0xab50;assertVerified(_0x3bf85c['type']===_0x515291(0x8c),_0x515291(0x94)+_0x3bf85c['id']+_0x515291(0xb4)),_0x5f5eb1['label']!==undefined&&assertVerified(_0x3bf85c['label']===_0x5f5eb1[_0x515291(0x90)],'Folder\x20'+_0x3bf85c['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x5f5eb1[_0x515291(0xb6)]!==undefined&&assertVerified(_0x3bf85c['sort']===_0x5f5eb1[_0x515291(0xb6)],_0x515291(0xaf)+_0x3bf85c['id']+_0x515291(0x9c));}
1
+ const a115_0x4aef84=a115_0x2fac;(function(_0x4f72db,_0x1c1141){const _0x37f78a=a115_0x2fac,_0x2863c5=_0x4f72db();while(!![]){try{const _0x24d07f=parseInt(_0x37f78a(0x1f7))/0x1+parseInt(_0x37f78a(0x1f2))/0x2+parseInt(_0x37f78a(0x1d0))/0x3*(-parseInt(_0x37f78a(0x1f5))/0x4)+-parseInt(_0x37f78a(0x1e7))/0x5+parseInt(_0x37f78a(0x1c8))/0x6*(-parseInt(_0x37f78a(0x1de))/0x7)+-parseInt(_0x37f78a(0x1cd))/0x8*(-parseInt(_0x37f78a(0x1d7))/0x9)+parseInt(_0x37f78a(0x1ce))/0xa;if(_0x24d07f===_0x1c1141)break;else _0x2863c5['push'](_0x2863c5['shift']());}catch(_0x4779c5){_0x2863c5['push'](_0x2863c5['shift']());}}}(a115_0x3b5d,0xc1b8d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a115_0x3b5d(){const _0x28c2de=['parent-id','unknown','New\x20folder\x20label','hash','string','group-update','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','No\x20online\x20fields\x20would\x20change.','2554522kdRBPJ','parentId','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','5565764aLhlpS','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','781874uvVkWr','menu','label','selector','menu_not_folder','66282uHtqEB','trim','verification','Update\x20request\x20for\x20folder\x20','sort','2234392Yxcosi','21049740RiwsSN','Folder\x20','3HApHme','str','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','cookie','Updated\x20folder\x20','menu\x20list','appCode','27UdsxcU','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','folder','\x20label\x20update\x20did\x20not\x20take\x20effect.','917VzRHKP','\x20is\x20type\x20\x22','type','rabetbase\x20menu\x20list\x20--format\x20json','\x20already\x20matches\x20the\x20requested\x20state.','Would\x20update\x20folder\x20','validation','Menu\x20','/smartapi/menu/update','6849615WJcgtp','update\x20folder','POST'];a115_0x3b5d=function(){return _0x28c2de;};return a115_0x3b5d();}const BACKEND=[{'method':a115_0x4aef84(0x1e9),'path':a115_0x4aef84(0x1e6)}];export const menuGroupUpdate={'service':a115_0x4aef84(0x1f8),'command':'group-update','description':a115_0x4aef84(0x1f6),'risk':'write','structuredErrors':!![],'rejectedFlags':[{'name':a115_0x4aef84(0x1ea),'message':a115_0x4aef84(0x1da),'hint':a115_0x4aef84(0x1f4)}],'flags':[MENU_ID_FLAG,{'name':'label','type':a115_0x4aef84(0x1ee),'description':a115_0x4aef84(0x1ec)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x17e9c4){validateUpdateInput(_0x17e9c4);},async 'dryRun'(_0x1a5e4e){const _0x41dd8f=a115_0x4aef84;validateUpdateInput(_0x1a5e4e);const {plan:_0x8f7bf8,patch:_0x13b6b8}=await buildUpdatePlan(_0x1a5e4e,!![]);return menuDryRunResult(_0x8f7bf8,{'method':'POST','url':_0x41dd8f(0x1e6),'body':_0x13b6b8,'description':_0x41dd8f(0x1e3)+_0x8f7bf8[_0x41dd8f(0x1c6)]['id']+'.'});},async 'execute'(_0x46114d){const _0xff25b7=a115_0x4aef84;validateUpdateInput(_0x46114d);const {plan:_0x13229e,patch:_0x1ece14,noChanges:_0x2628f4}=await buildUpdatePlan(_0x46114d,![]),_0x2b284e=Number(_0x13229e['selector']['id']),_0x423ad8=await recheckMutationSnapshot(_0x46114d,_0x13229e,_0xff25b7(0x1e8),_0x2b284e);if(!_0x2628f4)try{await updateMenuEntity(_0x46114d['appCode'],_0x46114d[_0xff25b7(0x1d3)],_0x1ece14);}catch(_0xe722f4){const _0x53d975=mapMenuApiError(_0xe722f4,'update\x20folder',_0x2b284e);throw menuFailure(_0x53d975,_0x13229e,{'stage':'update','failed':{'id':_0x2b284e}});}let _0x50af33=_0x423ad8,_0xae3c3;try{!_0x2628f4&&(_0x50af33=await fetchMenuSnapshot(_0x46114d[_0xff25b7(0x1d6)],_0x46114d[_0xff25b7(0x1d3)])),_0xae3c3=requireMenu(_0x50af33,_0x2b284e),verifyPatch(_0xae3c3,_0x1ece14),_0xae3c3['parentId']!=null&&requireFolder(_0x50af33,_0xae3c3[_0xff25b7(0x1f3)]);}catch(_0x3e272f){const _0x5c14fa=describeMenuErrorCause(_0x3e272f,'verify\x20folder\x20update',_0x2b284e),_0x513e94=asVerificationError(_0x3e272f,_0xff25b7(0x1cb)+_0x2b284e+_0xff25b7(0x1db));throw menuFailure(_0x513e94,_0x13229e,{'stage':_0xff25b7(0x1ca),'succeeded':[{'id':_0x2b284e,'updateRequested':!_0x2628f4,'skipped':_0x2628f4}],'failed':{'id':_0x2b284e,'requestedStateConfirmed':![],..._0x5c14fa},'warnings':[_0xff25b7(0x1f0)],'verification':{'status':'failed','lookupCommand':_0xff25b7(0x1e1),'targetId':_0x2b284e}});}const _0x3a48db=mutationResult({..._0x13229e,'after':_0xae3c3,'dryRun':![],'succeeded':[{'id':_0x2b284e,'updated':!_0x2628f4,'skipped':_0x2628f4}],'verification':{'checkedBy':_0xff25b7(0x1d5),'snapshotHash':_0x50af33[_0xff25b7(0x1ed)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3a48db,'message':_0x2628f4?_0xff25b7(0x1cf)+_0x2b284e+_0xff25b7(0x1e2):_0xff25b7(0x1d4)+_0x2b284e+'.'};}};function a115_0x2fac(_0x168cb4,_0x72fb8){_0x168cb4=_0x168cb4-0x1c6;const _0x3b5d75=a115_0x3b5d();let _0x2fac6b=_0x3b5d75[_0x168cb4];return _0x2fac6b;}function validateUpdateInput(_0x49a1cb){const _0x2bd441=a115_0x4aef84;validateExactId(_0x49a1cb);if(hasFlag(_0x49a1cb,_0x2bd441(0x1ea)))throw CliErrors[_0x2bd441(0x1e4)](_0x2bd441(0x1da),_0x2bd441(0x1f4));if(!hasFlag(_0x49a1cb,_0x2bd441(0x1f9))&&!hasFlag(_0x49a1cb,_0x2bd441(0x1cc)))throw CliErrors[_0x2bd441(0x1e4)](_0x2bd441(0x1d2));if(hasFlag(_0x49a1cb,_0x2bd441(0x1f9))&&!_0x49a1cb[_0x2bd441(0x1d1)]('label')[_0x2bd441(0x1c9)]())throw CliErrors[_0x2bd441(0x1e4)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x49a1cb);}async function buildUpdatePlan(_0x5a35cc,_0xd25708){const _0x4f4b20=a115_0x4aef84,_0x2cb7c3=validateExactId(_0x5a35cc),_0x45132d=await fetchMutationSnapshot(_0x5a35cc,_0x4f4b20(0x1e8),_0x2cb7c3),_0x52875b=requireMenu(_0x45132d,_0x2cb7c3);if(_0x52875b['type']!==_0x4f4b20(0x1dc))throw menuError(_0x4f4b20(0x1c7),'Menu\x20'+_0x2cb7c3+_0x4f4b20(0x1df)+(_0x52875b[_0x4f4b20(0x1e0)]||_0x4f4b20(0x1eb))+'\x22,\x20not\x20folder.',_0x4f4b20(0x1d8));assertExpectedState(_0x5a35cc,_0x52875b);const _0x731723={'id':_0x2cb7c3},_0x4e160b={..._0x52875b};if(hasFlag(_0x5a35cc,'label')){const _0x50f905=_0x5a35cc[_0x4f4b20(0x1d1)](_0x4f4b20(0x1f9))[_0x4f4b20(0x1c9)]();_0x731723[_0x4f4b20(0x1f9)]=_0x50f905,_0x4e160b['label']=_0x50f905;}if(hasFlag(_0x5a35cc,_0x4f4b20(0x1cc))){const _0x346680=validateSort(_0x5a35cc);_0x731723[_0x4f4b20(0x1cc)]=_0x346680,_0x4e160b[_0x4f4b20(0x1cc)]=_0x346680;}const _0x444dca=sameRequestedState(_0x52875b,_0x4e160b),_0x394fd4=_0x444dca?[_0x4f4b20(0x1f1)]:[];return{'patch':_0x731723,'noChanges':_0x444dca,'plan':mutationResult({'operation':_0x4f4b20(0x1ef),'selector':{'id':_0x2cb7c3},'before':_0x52875b,'after':_0x4e160b,'dryRun':_0xd25708,'backend':[...BACKEND],'snapshotHash':_0x45132d[_0x4f4b20(0x1ed)],'warnings':_0x394fd4})};}function sameRequestedState(_0x474a46,_0x39909f){const _0x339ed5=a115_0x4aef84;return _0x474a46['label']===_0x39909f[_0x339ed5(0x1f9)]&&_0x474a46[_0x339ed5(0x1cc)]===_0x39909f[_0x339ed5(0x1cc)];}function verifyPatch(_0x7ffb0d,_0x4ec5f5){const _0x252a70=a115_0x4aef84;assertVerified(_0x7ffb0d[_0x252a70(0x1e0)]===_0x252a70(0x1dc),_0x252a70(0x1e5)+_0x7ffb0d['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x4ec5f5[_0x252a70(0x1f9)]!==undefined&&assertVerified(_0x7ffb0d['label']===_0x4ec5f5['label'],_0x252a70(0x1cf)+_0x7ffb0d['id']+_0x252a70(0x1dd)),_0x4ec5f5[_0x252a70(0x1cc)]!==undefined&&assertVerified(_0x7ffb0d[_0x252a70(0x1cc)]===_0x4ec5f5[_0x252a70(0x1cc)],_0x252a70(0x1cf)+_0x7ffb0d['id']+_0x252a70(0x1d9));}
@@ -1 +1 @@
1
- (function(_0x5be07e,_0x5815fd){const _0x5c1425=a116_0x45b8,_0x4f736d=_0x5be07e();while(!![]){try{const _0x2edde2=parseInt(_0x5c1425(0x13e))/0x1*(-parseInt(_0x5c1425(0x13a))/0x2)+-parseInt(_0x5c1425(0x13c))/0x3+-parseInt(_0x5c1425(0x143))/0x4+-parseInt(_0x5c1425(0x140))/0x5*(parseInt(_0x5c1425(0x141))/0x6)+-parseInt(_0x5c1425(0x142))/0x7+parseInt(_0x5c1425(0x13d))/0x8*(parseInt(_0x5c1425(0x13b))/0x9)+parseInt(_0x5c1425(0x13f))/0xa;if(_0x2edde2===_0x5815fd)break;else _0x4f736d['push'](_0x4f736d['shift']());}catch(_0x4f95c1){_0x4f736d['push'](_0x4f736d['shift']());}}}(a116_0x2a20,0x86f21));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';function a116_0x45b8(_0x5a2c21,_0x38932d){_0x5a2c21=_0x5a2c21-0x13a;const _0x2a2068=a116_0x2a20();let _0x45b8b4=_0x2a2068[_0x5a2c21];return _0x45b8b4;}import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';function a116_0x2a20(){const _0x1a6ca2=['824GoUctd','27837560HfSrKk','5DgGfRQ','984738NbUoYd','4416496jNvNDW','3253484LcZUti','666AnocGB','162072EBZtou','1854975PiWulk','120QqQwjH'];a116_0x2a20=function(){return _0x1a6ca2;};return a116_0x2a20();}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
+ (function(_0x274120,_0x664223){const _0x50059b=a116_0x6dfd,_0x3a9b73=_0x274120();while(!![]){try{const _0x55006f=parseInt(_0x50059b(0x102))/0x1+-parseInt(_0x50059b(0xfe))/0x2*(-parseInt(_0x50059b(0x109))/0x3)+-parseInt(_0x50059b(0x107))/0x4*(parseInt(_0x50059b(0x105))/0x5)+-parseInt(_0x50059b(0x101))/0x6*(-parseInt(_0x50059b(0x104))/0x7)+parseInt(_0x50059b(0x103))/0x8*(-parseInt(_0x50059b(0x106))/0x9)+parseInt(_0x50059b(0xff))/0xa+-parseInt(_0x50059b(0x100))/0xb*(parseInt(_0x50059b(0x108))/0xc);if(_0x55006f===_0x664223)break;else _0x3a9b73['push'](_0x3a9b73['shift']());}catch(_0x50de1f){_0x3a9b73['push'](_0x3a9b73['shift']());}}}(a116_0x55df,0xa99a9));function a116_0x6dfd(_0x4f66e7,_0x1f75a1){_0x4f66e7=_0x4f66e7-0xfe;const _0x55dfe3=a116_0x55df();let _0x6dfd9f=_0x55dfe3[_0x4f66e7];return _0x6dfd9f;}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';function a116_0x55df(){const _0x2e662f=['956897sdcfWM','10026824pwCQKy','56ONqJPO','5exgpAR','9QoiKdd','592092SLXvUP','14316CahoVV','657vzNwwm','12454WuvdhN','13257220bJIuJI','16665oyEUxx','192852FpnWVl'];a116_0x55df=function(){return _0x2e662f;};return a116_0x55df();}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_0x25a864=a117_0x114c;(function(_0x1ac966,_0x50d81b){const _0x5f269d=a117_0x114c,_0x1f57bd=_0x1ac966();while(!![]){try{const _0x21d19a=-parseInt(_0x5f269d(0x192))/0x1*(-parseInt(_0x5f269d(0x186))/0x2)+-parseInt(_0x5f269d(0x18f))/0x3*(-parseInt(_0x5f269d(0x184))/0x4)+-parseInt(_0x5f269d(0x199))/0x5+parseInt(_0x5f269d(0x194))/0x6+parseInt(_0x5f269d(0x188))/0x7+-parseInt(_0x5f269d(0x198))/0x8+parseInt(_0x5f269d(0x191))/0x9*(parseInt(_0x5f269d(0x190))/0xa);if(_0x21d19a===_0x50d81b)break;else _0x1f57bd['push'](_0x1f57bd['shift']());}catch(_0x51bacb){_0x1f57bd['push'](_0x1f57bd['shift']());}}}(a117_0x51b8,0xc9a72));function a117_0x114c(_0x287b8d,_0xf6eacb){_0x287b8d=_0x287b8d-0x181;const _0x51b8e0=a117_0x51b8();let _0x114c34=_0x51b8e0[_0x287b8d];return _0x114c34;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x51b8(){const _0x3c142a=['12320280jZFEsl','4834115cGaHxi','menu','read','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','1780456GoWHNh','appCode','78rleSwB','No\x20menus\x20found.','7776776erIkZO','list','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','cookie','verbose','\x20menu(s)','Found\x20','3nvAfCp','230SyKqJp','616914ciqdMA','4682XyfnTo','boolean','105540UYCnTO','bool','menus','total'];a117_0x51b8=function(){return _0x3c142a;};return a117_0x51b8();}export const menuList={'service':a117_0x25a864(0x181),'command':a117_0x25a864(0x189),'description':a117_0x25a864(0x183),'risk':a117_0x25a864(0x182),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x25a864(0x18c),'type':a117_0x25a864(0x193),'description':a117_0x25a864(0x18a)}],async 'execute'(_0x55a283){const _0x556c27=a117_0x25a864,_0x2ecba4=_0x55a283[_0x556c27(0x195)]('verbose'),_0x2e840a=await fetchMenuSnapshot(_0x55a283[_0x556c27(0x185)],_0x55a283[_0x556c27(0x18b)],{'verbose':_0x2ecba4});return{'ok':!![],'data':{'total':_0x2e840a[_0x556c27(0x197)],'snapshotHash':_0x2e840a['hash'],'menus':_0x2e840a[_0x556c27(0x196)]['map'](toMenuListItem)},'message':_0x2e840a[_0x556c27(0x197)]===0x0?_0x556c27(0x187):_0x556c27(0x18e)+_0x2e840a[_0x556c27(0x197)]+_0x556c27(0x18d)};}};
1
+ function a117_0x4eca(_0x275f89,_0x19685a){_0x275f89=_0x275f89-0x1a4;const _0x45485d=a117_0x4548();let _0x4ecacb=_0x45485d[_0x275f89];return _0x4ecacb;}const a117_0x1a674a=a117_0x4eca;(function(_0x2930b0,_0x57d2dc){const _0x458347=a117_0x4eca,_0x2c0f8f=_0x2930b0();while(!![]){try{const _0x72f04b=-parseInt(_0x458347(0x1ba))/0x1*(parseInt(_0x458347(0x1a6))/0x2)+-parseInt(_0x458347(0x1b7))/0x3+parseInt(_0x458347(0x1b0))/0x4*(-parseInt(_0x458347(0x1af))/0x5)+-parseInt(_0x458347(0x1a8))/0x6+parseInt(_0x458347(0x1a5))/0x7*(-parseInt(_0x458347(0x1b8))/0x8)+-parseInt(_0x458347(0x1b5))/0x9*(-parseInt(_0x458347(0x1aa))/0xa)+parseInt(_0x458347(0x1ab))/0xb*(parseInt(_0x458347(0x1a9))/0xc);if(_0x72f04b===_0x57d2dc)break;else _0x2c0f8f['push'](_0x2c0f8f['shift']());}catch(_0x2eb691){_0x2c0f8f['push'](_0x2c0f8f['shift']());}}}(a117_0x4548,0x59941));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a117_0x4548(){const _0x7c7fcc=['83010BJRTjV','8YEyiaf','appCode','2gMjYHB','read','verbose','3467331VsaqlG','731478fraEsg','cookie','4217826MgRrGp','12nXJPro','10NNdqaH','30393121vdjFBr','boolean','map','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','21365nptZgj','516lnoyIe','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','total','bool','No\x20menus\x20found.','1013139AHsxFm','menus'];a117_0x4548=function(){return _0x7c7fcc;};return a117_0x4548();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':'list','description':a117_0x1a674a(0x1b1),'risk':a117_0x1a674a(0x1bb),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x1a674a(0x1a4),'type':a117_0x1a674a(0x1ac),'description':a117_0x1a674a(0x1ae)}],async 'execute'(_0x288348){const _0x4b3da6=a117_0x1a674a,_0x423e2d=_0x288348[_0x4b3da6(0x1b3)](_0x4b3da6(0x1a4)),_0x4e34f8=await fetchMenuSnapshot(_0x288348[_0x4b3da6(0x1b9)],_0x288348[_0x4b3da6(0x1a7)],{'verbose':_0x423e2d});return{'ok':!![],'data':{'total':_0x4e34f8['total'],'snapshotHash':_0x4e34f8['hash'],'menus':_0x4e34f8[_0x4b3da6(0x1b6)][_0x4b3da6(0x1ad)](toMenuListItem)},'message':_0x4e34f8[_0x4b3da6(0x1b2)]===0x0?_0x4b3da6(0x1b4):'Found\x20'+_0x4e34f8['total']+'\x20menu(s)'};}};
@@ -1 +1 @@
1
- const a118_0xaa2987=a118_0x4ff1;(function(_0x35fc05,_0x5f19d5){const _0x3d166d=a118_0x4ff1,_0x13a25f=_0x35fc05();while(!![]){try{const _0x3e9382=parseInt(_0x3d166d(0x14b))/0x1*(parseInt(_0x3d166d(0x15b))/0x2)+parseInt(_0x3d166d(0x138))/0x3+-parseInt(_0x3d166d(0x162))/0x4+-parseInt(_0x3d166d(0x141))/0x5*(parseInt(_0x3d166d(0x135))/0x6)+parseInt(_0x3d166d(0x14a))/0x7*(-parseInt(_0x3d166d(0x152))/0x8)+parseInt(_0x3d166d(0x168))/0x9+parseInt(_0x3d166d(0x13f))/0xa;if(_0x3e9382===_0x5f19d5)break;else _0x13a25f['push'](_0x13a25f['shift']());}catch(_0x363f50){_0x13a25f['push'](_0x13a25f['shift']());}}}(a118_0x3cd8,0xcee28));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a118_0x4ff1(_0x137e35,_0x58b1c1){_0x137e35=_0x137e35-0x134;const _0x3cd800=a118_0x3cd8();let _0x4ff1bf=_0x3cd800[_0x137e35];return _0x4ff1bf;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0xaa2987(0x139),'path':a118_0xaa2987(0x156)}];function a118_0x3cd8(){const _0x3d0b84=['menu_move_source_not_leaf','22928zJNhNi','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','folder','/smartapi/menu/update','verify\x20menu\x20move','Moved\x20menu\x20','type','parentId','219058fmKxrw','Menu\x20','move-menu','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','sort','write','2794592vaonlB','failed','update','rabetbase\x20menu\x20list\x20--format\x20compress','Would\x20move\x20menu\x20','\x20is\x20now\x20type\x20folder.','13638969rXIngE',',\x20current\x20','6gJmBXG','\x20is\x20no\x20longer\x20a\x20leaf.','move','888576eFShqu','POST','verification','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','menu','move\x20menu','cookie','1373840cVIdyP','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','2535025MlvRLJ','expect-parent-id','Move\x20request\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','appCode','parent-id','childrenCount','after','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','1351heEBSx','6QjRrLL','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','menu_state_drift','hash'];a118_0x3cd8=function(){return _0x3d0b84;};return a118_0x3cd8();}export const menuMove={'service':a118_0xaa2987(0x13c),'command':'move','description':a118_0xaa2987(0x14e),'risk':a118_0xaa2987(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41abe9){validateMoveInput(_0x41abe9);},async 'dryRun'(_0x11de2e){const _0x2b08a4=a118_0xaa2987,{plan:_0x47410c,patch:_0xa0b57f}=await buildMovePlan(_0x11de2e,!![]);return menuDryRunResult(_0x47410c,{'method':_0x2b08a4(0x139),'url':_0x2b08a4(0x156),'body':{..._0xa0b57f,'appCode':_0x11de2e[_0x2b08a4(0x145)]},'description':_0x2b08a4(0x166)+_0xa0b57f['id']+'.'});},async 'execute'(_0x5aed5f){const _0x417d99=a118_0xaa2987;validateMoveInput(_0x5aed5f);const {plan:_0x4be746,patch:_0xeff120,noChanges:_0x575a1a,snapshot:_0x47384d}=await buildMovePlan(_0x5aed5f,![]),_0x5e99c3=_0xeff120['id'];if(!_0x575a1a)try{await updateMenuEntity(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)],_0xeff120);}catch(_0x157a97){const _0x1e50d5=mapMenuApiError(_0x157a97,_0x417d99(0x137),_0x5e99c3);throw menuFailure(_0x1e50d5,_0x4be746,{'stage':_0x417d99(0x164),'failed':{'id':_0x5e99c3},'warnings':[_0x417d99(0x149)],'verification':{'status':'failed','targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}let _0xbe694a,_0x48316a;try{_0xbe694a=_0x575a1a?_0x47384d:await fetchMenuSnapshot(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)]),_0x48316a=requireMenu(_0xbe694a,_0x5e99c3),verifyMove(_0x48316a,_0x4be746[_0x417d99(0x148)]),_0x48316a[_0x417d99(0x15a)]!==null&&requireFolder(_0xbe694a,_0x48316a[_0x417d99(0x15a)]);}catch(_0x23563c){const _0x2e100f=describeMenuErrorCause(_0x23563c,_0x417d99(0x157),_0x5e99c3),_0x2eb95b=asVerificationError(_0x23563c,_0x417d99(0x143)+_0x5e99c3+_0x417d99(0x154));throw menuFailure(_0x2eb95b,_0x4be746,{'stage':_0x417d99(0x13a),'succeeded':[{'id':_0x5e99c3,'updateRequested':!_0x575a1a,'skipped':_0x575a1a}],'failed':{'id':_0x5e99c3,'requestedStateConfirmed':![],..._0x2e100f},'warnings':[_0x417d99(0x153)],'verification':{'status':_0x417d99(0x163),'targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}const _0x44066e=mutationResult({..._0x4be746,'after':_0x48316a,'dryRun':![],'succeeded':[{'id':_0x5e99c3,'updated':!_0x575a1a,'skipped':_0x575a1a}],'verification':{'checkedBy':_0x417d99(0x14d),'snapshotHash':_0xbe694a[_0x417d99(0x150)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x44066e,'message':_0x575a1a?_0x417d99(0x15c)+_0x5e99c3+_0x417d99(0x15e):_0x417d99(0x158)+_0x5e99c3+'.'};}};function validateMoveInput(_0x1b6117){const _0x30c59c=a118_0xaa2987;validateExactId(_0x1b6117),parseParentId(_0x1b6117,_0x30c59c(0x146),{'required':!![]}),parseParentId(_0x1b6117,_0x30c59c(0x142),{'required':!![]}),validateSort(_0x1b6117);}async function buildMovePlan(_0x454029,_0x57fba5){const _0x468522=a118_0xaa2987,_0x42520b=validateExactId(_0x454029),_0x561acd=parseParentId(_0x454029,_0x468522(0x146),{'required':!![]}),_0xbe91fe=parseParentId(_0x454029,_0x468522(0x142),{'required':!![]}),_0x2d75e5=validateSort(_0x454029),_0x5b9ed5=await fetchMutationSnapshot(_0x454029,_0x468522(0x13d),_0x42520b),_0x423bef=requireMenu(_0x5b9ed5,_0x42520b);if(_0x423bef[_0x468522(0x159)]===_0x468522(0x155)||_0x423bef['childrenCount']!==0x0)throw menuError(_0x468522(0x151),_0x468522(0x15c)+_0x42520b+_0x468522(0x140),_0x468522(0x15f));if(_0x423bef[_0x468522(0x15a)]!==_0xbe91fe)throw menuError(_0x468522(0x14f),_0x468522(0x15c)+_0x42520b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xbe91fe)+_0x468522(0x134)+formatParent(_0x423bef[_0x468522(0x15a)])+'.',_0x468522(0x144));_0x561acd!==null&&requireFolder(_0x5b9ed5,_0x561acd);const _0x12b1bb=_0x2d75e5??(_0x423bef[_0x468522(0x15a)]===_0x561acd?_0x423bef[_0x468522(0x160)]??0x0:nextSiblingSort(_0x5b9ed5,_0x561acd,'menu')),_0x4e03c3={..._0x423bef,'parentId':_0x561acd,'sort':_0x12b1bb},_0x276c5a={'id':_0x42520b,'parentId':toApiParentId(_0x561acd),'sort':_0x12b1bb},_0x2b3bfa=_0x423bef[_0x468522(0x15a)]===_0x561acd&&_0x423bef[_0x468522(0x160)]===_0x12b1bb;return{'patch':_0x276c5a,'noChanges':_0x2b3bfa,'snapshot':_0x5b9ed5,'plan':mutationResult({'operation':_0x468522(0x137),'selector':{'id':_0x42520b,'parentId':_0x561acd},'before':_0x423bef,'after':_0x4e03c3,'dryRun':_0x57fba5,'backend':[...BACKEND],'plannedActions':[{'stage':_0x468522(0x15d),'method':_0x468522(0x139),'path':_0x468522(0x156),'body':{..._0x276c5a,'appCode':_0x454029[_0x468522(0x145)]}}],'snapshotHash':_0x5b9ed5['hash'],'warnings':_0x2b3bfa?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x1b5d8a,_0xc52b67){const _0x46352a=a118_0xaa2987;assertVerified(_0x1b5d8a[_0x46352a(0x159)]!=='folder','Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x167)),assertVerified(_0x1b5d8a[_0x46352a(0x147)]===0x0,_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x136)),assertVerified(_0x1b5d8a[_0x46352a(0x15a)]===_0xc52b67[_0x46352a(0x15a)],'Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x13b)),assertVerified(_0x1b5d8a[_0x46352a(0x160)]===_0xc52b67[_0x46352a(0x160)],_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x14c));}
1
+ const a118_0x3b229b=a118_0x1f1a;(function(_0x5b8d6e,_0x2ba1fb){const _0x2e91bc=a118_0x1f1a,_0xac525d=_0x5b8d6e();while(!![]){try{const _0xec7102=-parseInt(_0x2e91bc(0x15f))/0x1*(parseInt(_0x2e91bc(0x167))/0x2)+-parseInt(_0x2e91bc(0x151))/0x3*(parseInt(_0x2e91bc(0x164))/0x4)+parseInt(_0x2e91bc(0x172))/0x5+-parseInt(_0x2e91bc(0x160))/0x6+parseInt(_0x2e91bc(0x179))/0x7+parseInt(_0x2e91bc(0x163))/0x8+-parseInt(_0x2e91bc(0x153))/0x9;if(_0xec7102===_0x2ba1fb)break;else _0xac525d['push'](_0xac525d['shift']());}catch(_0x20bee1){_0xac525d['push'](_0xac525d['shift']());}}}(a118_0xfd8d,0x986df));function a118_0x1f1a(_0x229dde,_0x310378){_0x229dde=_0x229dde-0x14f;const _0xfd8d56=a118_0xfd8d();let _0x1f1a9f=_0xfd8d56[_0x229dde];return _0x1f1a9f;}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_0x3b229b(0x16d),'path':a118_0x3b229b(0x152)}];export const menuMove={'service':a118_0x3b229b(0x170),'command':'move','description':a118_0x3b229b(0x173),'risk':a118_0x3b229b(0x174),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1a703d){validateMoveInput(_0x1a703d);},async 'dryRun'(_0x5e1b61){const _0x5ca292=a118_0x3b229b,{plan:_0x207dca,patch:_0x5e21c3}=await buildMovePlan(_0x5e1b61,!![]);return menuDryRunResult(_0x207dca,{'method':_0x5ca292(0x16d),'url':_0x5ca292(0x152),'body':{..._0x5e21c3,'appCode':_0x5e1b61[_0x5ca292(0x168)]},'description':_0x5ca292(0x155)+_0x5e21c3['id']+'.'});},async 'execute'(_0x1ec8d){const _0x1b634b=a118_0x3b229b;validateMoveInput(_0x1ec8d);const {plan:_0x2ad09b,patch:_0x20d4f8,noChanges:_0x20109c,snapshot:_0x277a10}=await buildMovePlan(_0x1ec8d,![]),_0x3bc643=_0x20d4f8['id'];if(!_0x20109c)try{await updateMenuEntity(_0x1ec8d[_0x1b634b(0x168)],_0x1ec8d['cookie'],_0x20d4f8);}catch(_0x3a5f0e){const _0x43a7fd=mapMenuApiError(_0x3a5f0e,_0x1b634b(0x15a),_0x3bc643);throw menuFailure(_0x43a7fd,_0x2ad09b,{'stage':_0x1b634b(0x15e),'failed':{'id':_0x3bc643},'warnings':[_0x1b634b(0x162)],'verification':{'status':'failed','targetId':_0x3bc643,'lookupCommand':_0x1b634b(0x17d)}});}let _0x8e27f3,_0x2da2d4;try{_0x8e27f3=_0x20109c?_0x277a10:await fetchMenuSnapshot(_0x1ec8d[_0x1b634b(0x168)],_0x1ec8d[_0x1b634b(0x16f)]),_0x2da2d4=requireMenu(_0x8e27f3,_0x3bc643),verifyMove(_0x2da2d4,_0x2ad09b[_0x1b634b(0x178)]),_0x2da2d4['parentId']!==null&&requireFolder(_0x8e27f3,_0x2da2d4['parentId']);}catch(_0x1b990d){const _0x10fe03=describeMenuErrorCause(_0x1b990d,_0x1b634b(0x15d),_0x3bc643),_0x44575a=asVerificationError(_0x1b990d,'Move\x20request\x20for\x20menu\x20'+_0x3bc643+_0x1b634b(0x166));throw menuFailure(_0x44575a,_0x2ad09b,{'stage':_0x1b634b(0x159),'succeeded':[{'id':_0x3bc643,'updateRequested':!_0x20109c,'skipped':_0x20109c}],'failed':{'id':_0x3bc643,'requestedStateConfirmed':![],..._0x10fe03},'warnings':[_0x1b634b(0x16b)],'verification':{'status':_0x1b634b(0x15b),'targetId':_0x3bc643,'lookupCommand':_0x1b634b(0x17d)}});}const _0x57ba7c=mutationResult({..._0x2ad09b,'after':_0x2da2d4,'dryRun':![],'succeeded':[{'id':_0x3bc643,'updated':!_0x20109c,'skipped':_0x20109c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x8e27f3[_0x1b634b(0x16a)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x57ba7c,'message':_0x20109c?'Menu\x20'+_0x3bc643+_0x1b634b(0x161):_0x1b634b(0x17b)+_0x3bc643+'.'};}};function a118_0xfd8d(){const _0x10fa08=['Would\x20move\x20menu\x20','sort','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu_move_source_not_leaf','verification','move','failed','expect-parent-id','verify\x20menu\x20move','update','1571KeHkuj','4404660wFGgOd','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','9151680CRYYxO','52868qjyLwd','childrenCount','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','48cKIEQD','appCode','type','hash','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.',',\x20current\x20','POST','parent-id','cookie','menu','move\x20menu','4503325YyAQhu','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','write','parentId','move-menu','Menu\x20','after','8568714aiubzi','folder','Moved\x20menu\x20','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','rabetbase\x20menu\x20list\x20--format\x20compress','\x20is\x20no\x20longer\x20a\x20leaf.','\x20is\x20now\x20type\x20folder.','147QbzDgN','/smartapi/menu/update','11024361HuoLpD','\x20parent\x20changed:\x20expected\x20'];a118_0xfd8d=function(){return _0x10fa08;};return a118_0xfd8d();}function validateMoveInput(_0x411adb){const _0x269557=a118_0x3b229b;validateExactId(_0x411adb),parseParentId(_0x411adb,_0x269557(0x16e),{'required':!![]}),parseParentId(_0x411adb,_0x269557(0x15c),{'required':!![]}),validateSort(_0x411adb);}async function buildMovePlan(_0x1bab51,_0x3a50ae){const _0x4c05b2=a118_0x3b229b,_0x35d899=validateExactId(_0x1bab51),_0x4ed376=parseParentId(_0x1bab51,'parent-id',{'required':!![]}),_0xb30eef=parseParentId(_0x1bab51,_0x4c05b2(0x15c),{'required':!![]}),_0x118abf=validateSort(_0x1bab51),_0x19ed2b=await fetchMutationSnapshot(_0x1bab51,_0x4c05b2(0x171),_0x35d899),_0x2f329d=requireMenu(_0x19ed2b,_0x35d899);if(_0x2f329d[_0x4c05b2(0x169)]===_0x4c05b2(0x17a)||_0x2f329d[_0x4c05b2(0x165)]!==0x0)throw menuError(_0x4c05b2(0x158),_0x4c05b2(0x177)+_0x35d899+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2f329d['parentId']!==_0xb30eef)throw menuError('menu_state_drift',_0x4c05b2(0x177)+_0x35d899+_0x4c05b2(0x154)+formatParent(_0xb30eef)+_0x4c05b2(0x16c)+formatParent(_0x2f329d[_0x4c05b2(0x175)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x4ed376!==null&&requireFolder(_0x19ed2b,_0x4ed376);const _0x556948=_0x118abf??(_0x2f329d[_0x4c05b2(0x175)]===_0x4ed376?_0x2f329d[_0x4c05b2(0x156)]??0x0:nextSiblingSort(_0x19ed2b,_0x4ed376,'menu')),_0x5ded32={..._0x2f329d,'parentId':_0x4ed376,'sort':_0x556948},_0x54a0ab={'id':_0x35d899,'parentId':toApiParentId(_0x4ed376),'sort':_0x556948},_0x2e6e8a=_0x2f329d[_0x4c05b2(0x175)]===_0x4ed376&&_0x2f329d[_0x4c05b2(0x156)]===_0x556948;return{'patch':_0x54a0ab,'noChanges':_0x2e6e8a,'snapshot':_0x19ed2b,'plan':mutationResult({'operation':_0x4c05b2(0x15a),'selector':{'id':_0x35d899,'parentId':_0x4ed376},'before':_0x2f329d,'after':_0x5ded32,'dryRun':_0x3a50ae,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4c05b2(0x176),'method':_0x4c05b2(0x16d),'path':_0x4c05b2(0x152),'body':{..._0x54a0ab,'appCode':_0x1bab51[_0x4c05b2(0x168)]}}],'snapshotHash':_0x19ed2b[_0x4c05b2(0x16a)],'warnings':_0x2e6e8a?[_0x4c05b2(0x17c)]:[]})};}function verifyMove(_0x4e3c64,_0x63b143){const _0x4b07b8=a118_0x3b229b;assertVerified(_0x4e3c64[_0x4b07b8(0x169)]!==_0x4b07b8(0x17a),'Menu\x20'+_0x4e3c64['id']+_0x4b07b8(0x150)),assertVerified(_0x4e3c64['childrenCount']===0x0,_0x4b07b8(0x177)+_0x4e3c64['id']+_0x4b07b8(0x14f)),assertVerified(_0x4e3c64[_0x4b07b8(0x175)]===_0x63b143['parentId'],_0x4b07b8(0x177)+_0x4e3c64['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x4e3c64[_0x4b07b8(0x156)]===_0x63b143[_0x4b07b8(0x156)],_0x4b07b8(0x177)+_0x4e3c64['id']+_0x4b07b8(0x157));}