@lovrabet/rabetbase-cli 2.5.0-beta.3 → 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 (303) 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.d.ts +13 -0
  94. package/lib/commands/db/table-diff-shared.js +1 -0
  95. package/lib/commands/db/tables.js +1 -1
  96. package/lib/commands/db/test.js +1 -1
  97. package/lib/commands/db/update.js +1 -1
  98. package/lib/commands/doctor.js +1 -1
  99. package/lib/commands/file/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/search.js +1 -1
  110. package/lib/commands/kb/shared.js +1 -1
  111. package/lib/commands/kb/update.js +1 -1
  112. package/lib/commands/logs/index.js +1 -1
  113. package/lib/commands/menu/asset-update.js +1 -1
  114. package/lib/commands/menu/delete.js +1 -1
  115. package/lib/commands/menu/external-link-create.js +1 -1
  116. package/lib/commands/menu/external-link-update.js +1 -1
  117. package/lib/commands/menu/group-create.js +1 -1
  118. package/lib/commands/menu/group-update.js +1 -1
  119. package/lib/commands/menu/index.js +1 -1
  120. package/lib/commands/menu/list.js +1 -1
  121. package/lib/commands/menu/move.js +1 -1
  122. package/lib/commands/menu/regroup-start.js +1 -1
  123. package/lib/commands/menu/rename.js +1 -1
  124. package/lib/commands/menu/shared/compare-table.js +1 -1
  125. package/lib/commands/menu/shared/delete-plan.js +1 -1
  126. package/lib/commands/menu/shared/facts.js +1 -1
  127. package/lib/commands/menu/shared/index.js +1 -1
  128. package/lib/commands/menu/shared/inquirer.js +1 -1
  129. package/lib/commands/menu/shared/local-pages.js +1 -1
  130. package/lib/commands/menu/shared/logic.js +1 -1
  131. package/lib/commands/menu/shared/mutations.js +1 -1
  132. package/lib/commands/menu/shared/service.js +1 -1
  133. package/lib/commands/menu/shared/sync-core.js +1 -1
  134. package/lib/commands/menu/shared/update-core.js +1 -1
  135. package/lib/commands/menu/shared/valid-url.js +1 -1
  136. package/lib/commands/menu/sync.js +1 -1
  137. package/lib/commands/menu/visibility-update.js +1 -1
  138. package/lib/commands/notification/config-create.js +1 -1
  139. package/lib/commands/notification/config-delete.js +1 -1
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.js +1 -1
  142. package/lib/commands/notification/index.js +1 -1
  143. package/lib/commands/notification/shared.js +1 -1
  144. package/lib/commands/ocr/index.js +1 -1
  145. package/lib/commands/page/create.js +1 -1
  146. package/lib/commands/page/custom/detail.js +1 -1
  147. package/lib/commands/page/custom/list.js +1 -1
  148. package/lib/commands/page/custom/publish.js +1 -1
  149. package/lib/commands/page/custom/shared.js +1 -1
  150. package/lib/commands/page/custom/syntax.js +1 -1
  151. package/lib/commands/page/custom/template.js +1 -1
  152. package/lib/commands/page/custom/update.js +1 -1
  153. package/lib/commands/page/data-list-status.js +1 -1
  154. package/lib/commands/page/generate-start.js +1 -1
  155. package/lib/commands/page/generate-status.js +1 -1
  156. package/lib/commands/page/index.js +1 -1
  157. package/lib/commands/page/pull.js +1 -1
  158. package/lib/commands/page/push.js +1 -1
  159. package/lib/commands/page/relation-audit.js +1 -1
  160. package/lib/commands/page/restore.js +1 -1
  161. package/lib/commands/page/shared.js +1 -1
  162. package/lib/commands/page/sync.js +1 -1
  163. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  164. package/lib/commands/project/create/format-elapsed.js +1 -1
  165. package/lib/commands/project/create/main.js +1 -1
  166. package/lib/commands/project/create/materialize-project-template.js +1 -1
  167. package/lib/commands/project/create/project-name.js +1 -1
  168. package/lib/commands/project/create/project-template-archive.js +1 -1
  169. package/lib/commands/project/create/project-template-path.js +1 -1
  170. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  171. package/lib/commands/project/create/use-format-code.js +1 -1
  172. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  173. package/lib/commands/project/index.js +1 -1
  174. package/lib/commands/project/upgrade.js +1 -1
  175. package/lib/commands/registry.js +1 -1
  176. package/lib/commands/role/delete.js +1 -1
  177. package/lib/commands/role/detail.js +1 -1
  178. package/lib/commands/role/index.js +1 -1
  179. package/lib/commands/role/list.js +1 -1
  180. package/lib/commands/role/shared.js +1 -1
  181. package/lib/commands/role/update.js +1 -1
  182. package/lib/commands/role/user-add.js +1 -1
  183. package/lib/commands/role/user-remove.js +1 -1
  184. package/lib/commands/role/user-resolve.js +1 -1
  185. package/lib/commands/run/index.js +1 -1
  186. package/lib/commands/schema.js +1 -1
  187. package/lib/commands/sql/create.js +1 -1
  188. package/lib/commands/sql/delete.js +1 -1
  189. package/lib/commands/sql/detail.js +1 -1
  190. package/lib/commands/sql/exec.js +1 -1
  191. package/lib/commands/sql/index.js +1 -1
  192. package/lib/commands/sql/list.js +1 -1
  193. package/lib/commands/sql/pull.js +1 -1
  194. package/lib/commands/sql/push.js +1 -1
  195. package/lib/commands/sql/shared.js +1 -1
  196. package/lib/commands/sql/status.js +1 -1
  197. package/lib/commands/sql/validate.js +1 -1
  198. package/lib/commands/task/index.js +1 -1
  199. package/lib/commands/task/status.js +1 -1
  200. package/lib/commands/tenant/index.js +1 -1
  201. package/lib/commands/tenant/members-list.js +1 -1
  202. package/lib/commands/tenant/shared.js +1 -1
  203. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  204. package/lib/commands/user-account/index.js +1 -1
  205. package/lib/commands/workspace/add.js +1 -1
  206. package/lib/commands/workspace/index.js +1 -1
  207. package/lib/commands/workspace/remove.js +1 -1
  208. package/lib/config/domain-config.js +1 -1
  209. package/lib/config/schema.js +1 -1
  210. package/lib/constant/cdn.js +1 -1
  211. package/lib/constant/cli.js +1 -1
  212. package/lib/constant/defaults.js +1 -1
  213. package/lib/constant/domain.js +1 -1
  214. package/lib/constant/env.js +1 -1
  215. package/lib/constant/output.js +1 -1
  216. package/lib/constant/paths.js +1 -1
  217. package/lib/constant/region.js +1 -1
  218. package/lib/constant/risk.js +1 -1
  219. package/lib/context/app-resolver.js +1 -1
  220. package/lib/context/auth-resolver.js +1 -1
  221. package/lib/context/config-loader.js +1 -1
  222. package/lib/context.js +1 -1
  223. package/lib/core/alias-resolver.js +1 -1
  224. package/lib/core/api-client.d.ts +1 -7
  225. package/lib/core/api-client.js +1 -1
  226. package/lib/core/bff/config.js +1 -1
  227. package/lib/core/bff/file-system.js +1 -1
  228. package/lib/core/bff/hash.js +1 -1
  229. package/lib/core/bff/lock.js +1 -1
  230. package/lib/core/bff/utils.js +1 -1
  231. package/lib/core/db-resolver.js +1 -1
  232. package/lib/core/page/file-system.js +1 -1
  233. package/lib/core/page/hash.js +1 -1
  234. package/lib/core/page/lock.js +1 -1
  235. package/lib/core/sql-index-auditor.js +1 -1
  236. package/lib/core/sql-sync/config.js +1 -1
  237. package/lib/core/sql-sync/file-system.js +1 -1
  238. package/lib/core/sql-sync/hash.js +1 -1
  239. package/lib/core/sql-sync/lock.js +1 -1
  240. package/lib/core/sql-sync/utils.js +1 -1
  241. package/lib/core/sql-validator.js +1 -1
  242. package/lib/errors.js +1 -1
  243. package/lib/framework/build-all-flags.js +1 -1
  244. package/lib/framework/error-output.js +1 -1
  245. package/lib/framework/explicit-yes.js +1 -1
  246. package/lib/framework/flags.js +1 -1
  247. package/lib/framework/help.js +1 -1
  248. package/lib/framework/index.js +1 -1
  249. package/lib/framework/output.js +1 -1
  250. package/lib/framework/response.js +1 -1
  251. package/lib/framework/runner-alias.js +1 -1
  252. package/lib/framework/runner.js +1 -1
  253. package/lib/framework/schema-export.js +1 -1
  254. package/lib/framework/types.js +1 -1
  255. package/lib/generated/build-info.d.ts +4 -4
  256. package/lib/generated/build-info.js +1 -1
  257. package/lib/help.js +1 -1
  258. package/lib/postinstall.js +1 -1
  259. package/lib/runtime/confirmation.js +1 -1
  260. package/lib/runtime/event.js +1 -1
  261. package/lib/runtime/index.js +1 -1
  262. package/lib/runtime/queue.js +1 -1
  263. package/lib/runtime/resolve.js +1 -1
  264. package/lib/skills/builtin-skill.js +1 -1
  265. package/lib/skills/main.js +1 -1
  266. package/lib/skills/npx-skills-add.js +1 -1
  267. package/lib/skills/skill-presence.js +1 -1
  268. package/lib/telemetry/cli-command-trace.js +1 -1
  269. package/lib/telemetry/cli-help-trace.js +1 -1
  270. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  271. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  272. package/lib/telemetry/send-cli-trace-log.js +1 -1
  273. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  274. package/lib/utils/ai_config.js +1 -1
  275. package/lib/utils/apply-jq-filter.js +1 -1
  276. package/lib/utils/cdn-config.js +1 -1
  277. package/lib/utils/check-sdk-version.js +1 -1
  278. package/lib/utils/cli-version-check.js +1 -1
  279. package/lib/utils/cli-version-policy.js +1 -1
  280. package/lib/utils/config.js +1 -1
  281. package/lib/utils/entity-with-id.js +1 -1
  282. package/lib/utils/file-utils.js +1 -1
  283. package/lib/utils/guides-cdn.js +1 -1
  284. package/lib/utils/http-client.js +1 -1
  285. package/lib/utils/is-non-interactive.js +1 -1
  286. package/lib/utils/logger.js +1 -1
  287. package/lib/utils/params.js +1 -1
  288. package/lib/utils/platform.js +1 -1
  289. package/lib/utils/sleep.js +1 -1
  290. package/lib/utils/template-replacer.js +1 -1
  291. package/lib/utils/update-notice.js +1 -1
  292. package/lib/utils/version.js +1 -1
  293. package/lib/utils/with-active-cookie.js +1 -1
  294. package/lib/utils/write-cli-side-channel.js +1 -1
  295. package/package.json +1 -1
  296. package/skills/rabetbase/SKILL.md +6 -6
  297. package/skills/rabetbase/guides/database-connection-workflow.md +9 -9
  298. package/skills/rabetbase/references/rabetbase-config.md +2 -3
  299. package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
  300. package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -3
  301. package/skills/rabetbase/references/rabetbase-db-diff.md +7 -22
  302. package/skills/rabetbase/references/rabetbase-db-tables.md +14 -2
  303. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- function a110_0x414c(){const _0x41bd06=['filter','snapshotHash','menu\x20list','plan','2589096FCMXYg','cookie','get','has','toLowerCase','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','childrenCount','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','4301085dHpnnW','message','Menu\x20','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','byId','\x20is\x20not\x20a\x20folder.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','batch-delete-menu','plan\x20delete','absentIds','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','\x20menu(s)\x20under\x20exact\x20id\x20','menus','8jZQEcr','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','menu_batch_delete_count_mismatch','string','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','selector','9OgYKDv','forEach','delete','batch-delete','high-risk-write','\x20is\x20type\x20\x22','POST','menu_folder_resources_invalid','boolean','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','\x20and\x20cannot\x20be\x20deleted\x20safely.','page\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','menu','Post-mismatch\x20menu\x20readback\x20failed\x20(','Folder\x20','indexOf','dry-run','path','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','type','menu_plan_invalid','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','menu_non_empty','flagMissing','menu_page_shared','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','resources','createdAt','hash','menu_verification_failed','stringify','):\x20','95454YAErTP','size','738861WeUcAW','resourcesValid','pre-write-plan-validation','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','unknown','expected-children-count','folder','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','bool',';\x20execution\x20must\x20consume\x20','join','Deleted\x20','str','trim','1929230piOYOj','\x20has\x20','\x20still\x20references\x20','238497NqHskP','causeMessage','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','plan-validation','Backend\x20reported\x20','recursive','length','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','failed','snapshot','push','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','childrenIds','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','rabetbase\x20menu\x20list\x20--format\x20json','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','expect-parent-id','add','validation','/smartapi/menu/batchDelete','pageId','target','Batch\x20delete\x20request\x20for\x20menu\x20','verification','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','1957248UIPlcD','\x20resource\x20URL(s).','cascade','menu_folder_has_resources','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','remainingIds','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','unconfirmed','\x20->\x20menu\x20','map','menu_tree_invalid','189jDrAby'];a110_0x414c=function(){return _0x41bd06;};return a110_0x414c();}const a110_0x280c29=a110_0x149e;(function(_0x58b689,_0x1f6c5f){const _0x1dc5e2=a110_0x149e,_0x172264=_0x58b689();while(!![]){try{const _0x1441ee=parseInt(_0x1dc5e2(0xda))/0x1+parseInt(_0x1dc5e2(0x11c))/0x2*(-parseInt(_0x1dc5e2(0xc8))/0x3)+parseInt(_0x1dc5e2(0xf3))/0x4+parseInt(_0x1dc5e2(0x10d))/0x5+parseInt(_0x1dc5e2(0xc6))/0x6*(parseInt(_0x1dc5e2(0x100))/0x7)+-parseInt(_0x1dc5e2(0x105))/0x8+-parseInt(_0x1dc5e2(0x122))/0x9*(parseInt(_0x1dc5e2(0xd7))/0xa);if(_0x1441ee===_0x1f6c5f)break;else _0x172264['push'](_0x172264['shift']());}catch(_0x1f75ef){_0x172264['push'](_0x172264['shift']());}}}(a110_0x414c,0x7df15));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';function a110_0x149e(_0xaabd4d,_0x23f2b1){_0xaabd4d=_0xaabd4d-0xbe;const _0x414c0d=a110_0x414c();let _0x149e6d=_0x414c0d[_0xaabd4d];return _0x149e6d;}import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x280c29(0x128),'path':a110_0x280c29(0xed)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a110_0x280c29(0x10a)},MENU_DELETE_RECURSIVE_FLAG={'name':a110_0x280c29(0xdf),'type':a110_0x280c29(0x12a),'description':a110_0x280c29(0xdc)},MENU_DELETE_PLAN_OUT_FLAG={'name':a110_0x280c29(0x118),'type':a110_0x280c29(0x11f),'description':a110_0x280c29(0xe9)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a110_0x280c29(0x11f),'description':a110_0x280c29(0x11d)};export const menuDelete={'service':a110_0x280c29(0x12f),'command':a110_0x280c29(0x124),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a110_0x280c29(0x126),'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'(_0x13277e){const _0x78cb30=a110_0x280c29;_0x13277e[_0x78cb30(0xd1)](_0x78cb30(0x133))?validateDeleteDryRunInput(_0x13277e):validateDeleteExecuteInput(_0x13277e),requireExplicitYes(_0x13277e);},async 'dryRun'(_0x18e8ad){const _0x468952=a110_0x280c29;validateDeleteDryRunInput(_0x18e8ad);const _0x2bc3e5=await buildDeletePlan(_0x18e8ad),_0x26703a=createMenuDeletePlanFile(_0x18e8ad['appCode'],_0x2bc3e5),_0x26b8ce=await writeMenuDeletePlan(_0x18e8ad[_0x468952(0xd5)](_0x468952(0x118)),_0x26703a),_0x49186f=mutationResult({..._0x2bc3e5,'planFile':{'path':_0x26b8ce,'createdAt':_0x26703a[_0x468952(0xc1)],'expiresAt':_0x26703a['expiresAt']}});return menuDryRunResult(_0x49186f,{'method':_0x468952(0x128),'url':_0x468952(0xed),'body':{'idList':_0x49186f['deleteOrder']},'description':'Would\x20batch\x20delete\x20'+(_0x49186f['deleteOrder']?.['length']??0x1)+_0x468952(0x11a)+_0x49186f[_0x468952(0x121)]['id']+_0x468952(0xd2)+_0x26b8ce+'.'});},async 'execute'(_0x4873c4){const _0x21c34f=a110_0x280c29;requireExplicitYes(_0x4873c4),validateDeleteExecuteInput(_0x4873c4);const _0x141643=await readMenuDeletePlan(_0x4873c4[_0x21c34f(0xd5)]('plan')),_0x4032a2=mutationPlanFromDeleteFile(_0x141643['plan'],_0x141643[_0x21c34f(0x134)]),_0xafaee7=_0x141643[_0x21c34f(0x104)][_0x21c34f(0xef)]['id'];try{assertMenuDeletePlanExecutable(_0x141643[_0x21c34f(0x104)],_0x4873c4['appCode']);}catch(_0x41777c){throw menuFailure(asMenuError(_0x41777c),_0x4032a2,{'stage':_0x21c34f(0xdd),'failed':{'id':_0xafaee7}});}let _0x4a9568,_0x2681f2;try{_0x4a9568=await fetchMutationSnapshot(_0x4873c4,'execute\x20reviewed\x20delete\x20plan',_0xafaee7),_0x2681f2=assertMenuDeletePlanCurrent(_0x141643[_0x21c34f(0x104)],_0x4873c4['appCode'],_0x4a9568),assertDeleteTargetsComplete(_0x141643[_0x21c34f(0x104)],_0x4a9568),_0x2681f2[_0x21c34f(0x123)](_0x510125=>assertDeleteSafety(_0x510125,_0x141643['plan'][_0x21c34f(0xdf)])),assertNoSharedPages(_0x4a9568,_0x2681f2),assertCascadeMatchesPlan(_0x4032a2,_0x2681f2);}catch(_0x56afc5){throw menuFailure(asMenuError(_0x56afc5),_0x4032a2,{'stage':_0x21c34f(0xca),'failed':{'id':_0xafaee7}});}const _0x12b6e5=_0x141643[_0x21c34f(0x104)]['deleteOrder'];let _0x2ad785;try{_0x2ad785=await batchDeleteMenuEntities(_0x4873c4[_0x21c34f(0x106)],_0x12b6e5);}catch(_0x191acd){const _0x3a82a2=mapMenuApiError(_0x191acd,'batch\x20delete'),_0x3d51d8=[_0x21c34f(0xf9)];let _0xb0cdae;try{_0xb0cdae=await readDeleteOutcome(_0x4873c4,_0x12b6e5);}catch(_0x813a03){const _0x23493c=describeMenuErrorCause(_0x813a03,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0xafaee7);_0x3d51d8[_0x21c34f(0xe4)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x23493c['causeCode']+_0x21c34f(0xc5)+_0x23493c[_0x21c34f(0xdb)]);throw menuFailure(_0x3a82a2,_0x4032a2,{'stage':'batch-delete','failed':{'targetIds':_0x12b6e5,'targetIdsAbsent':_0x21c34f(0xfc),..._0x23493c},'warnings':_0x3d51d8,'verification':{'status':'failed','lookupCommand':_0x21c34f(0xe8),'targetIds':_0x12b6e5}});}throw menuFailure(_0x3a82a2,_0x4032a2,{'stage':_0x21c34f(0x125),'succeeded':_0xb0cdae[_0x21c34f(0x116)]['map'](_0xbc8763=>({'id':_0xbc8763,'deleted':!![]})),'failed':{'targetIds':_0x12b6e5,'absentIds':_0xb0cdae[_0x21c34f(0x116)],'remainingIds':_0xb0cdae[_0x21c34f(0xfa)]},'warnings':_0x3d51d8,'verification':verificationFromOutcome(_0xb0cdae)});}if(_0x2ad785!==_0x12b6e5[_0x21c34f(0xe0)]){const _0x199bc3=menuError(_0x21c34f(0x11e),_0x21c34f(0xde)+_0x2ad785+'\x20deleted\x20menus;\x20expected\x20'+_0x12b6e5[_0x21c34f(0xe0)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x479d58=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x31da2d;try{_0x31da2d=await readDeleteOutcome(_0x4873c4,_0x12b6e5);}catch(_0x2885df){const _0x5a1dca=describeMenuErrorCause(_0x2885df,_0x21c34f(0xcc),_0xafaee7);_0x479d58['push'](_0x21c34f(0x130)+_0x5a1dca['causeCode']+_0x21c34f(0xc5)+_0x5a1dca[_0x21c34f(0xdb)]);throw menuFailure(_0x199bc3,_0x4032a2,{'stage':_0x21c34f(0x125),'failed':{'targetIds':_0x12b6e5,'expectedCount':_0x12b6e5[_0x21c34f(0xe0)],'reportedDeletedCount':_0x2ad785,'targetIdsAbsent':_0x21c34f(0xfc),..._0x5a1dca},'warnings':_0x479d58,'verification':{'status':_0x21c34f(0xe2),'lookupCommand':_0x21c34f(0xe8),'targetIds':_0x12b6e5}});}throw menuFailure(_0x199bc3,_0x4032a2,{'stage':'batch-delete','succeeded':_0x31da2d[_0x21c34f(0x116)][_0x21c34f(0xfe)](_0x3dd4a6=>({'id':_0x3dd4a6,'deleted':!![]})),'failed':{'targetIds':_0x12b6e5,'expectedCount':_0x12b6e5['length'],'reportedDeletedCount':_0x2ad785,'absentIds':_0x31da2d[_0x21c34f(0x116)],'remainingIds':_0x31da2d[_0x21c34f(0xfa)]},'warnings':_0x479d58,'verification':verificationFromOutcome(_0x31da2d)});}let _0xcb4a8d;try{_0xcb4a8d=await readDeleteOutcome(_0x4873c4,_0x12b6e5);}catch(_0x5d69ad){const _0x46306b=describeMenuErrorCause(_0x5d69ad,'verify\x20batch\x20delete',_0xafaee7),_0x4ee11a=asVerificationError(_0x5d69ad,_0x21c34f(0xf0)+_0xafaee7+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x4ee11a,_0x4032a2,{'stage':_0x21c34f(0xf1),'succeeded':_0x12b6e5['map'](_0x3a42c6=>({'id':_0x3a42c6,'deleteRequested':!![]})),'failed':{'id':_0xafaee7,'targetIds':_0x12b6e5,'targetIdsAbsent':_0x21c34f(0xfc),..._0x46306b},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x12b6e5}});}if(_0xcb4a8d[_0x21c34f(0xfa)][_0x21c34f(0xe0)]>0x0){const _0x28fa92=menuError(_0x21c34f(0xc3),_0x21c34f(0xe5)+_0xcb4a8d[_0x21c34f(0xfa)]['join'](',\x20')+'.',_0x21c34f(0xfb));throw menuFailure(_0x28fa92,_0x4032a2,{'stage':_0x21c34f(0xf1),'succeeded':_0x12b6e5[_0x21c34f(0xfe)](_0x489957=>({'id':_0x489957,'deleteRequested':!![]})),'failed':{'id':_0xafaee7,'targetIds':_0x12b6e5,'absentIds':_0xcb4a8d['absentIds'],'remainingIds':_0xcb4a8d[_0x21c34f(0xfa)]},'warnings':[_0x21c34f(0xbf)],'verification':verificationFromOutcome(_0xcb4a8d)});}const _0x3efcb7=_0x12b6e5[_0x21c34f(0xfe)](_0x2d649e=>({'id':_0x2d649e,'deleted':!![]})),_0x3b07fb=mutationResult({..._0x4032a2,'dryRun':![],'succeeded':_0x3efcb7,'verification':{'checkedBy':_0x21c34f(0x103),'plannedSnapshotHash':_0x4032a2[_0x21c34f(0x102)],'finalSnapshotHash':_0xcb4a8d['snapshot'][_0x21c34f(0xc2)],'reportedDeletedCount':_0x2ad785,'targetAbsent':!_0xcb4a8d[_0x21c34f(0xe3)]['byId'][_0x21c34f(0x108)](_0xafaee7),'allTargetsAbsent':!![],'targetIds':_0x12b6e5}});return{'ok':!![],'data':_0x3b07fb,'message':_0x21c34f(0xd4)+_0x3efcb7[_0x21c34f(0xe0)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0xafaee7+'.'};}};async function readDeleteOutcome(_0x2d7f82,_0x31bdfc){const _0x5e38dc=a110_0x280c29,_0x5c3724=await fetchMenuSnapshot(_0x2d7f82['appCode'],_0x2d7f82[_0x5e38dc(0x106)]);return{'snapshot':_0x5c3724,'absentIds':_0x31bdfc['filter'](_0x5cbf87=>!_0x5c3724[_0x5e38dc(0x111)][_0x5e38dc(0x108)](_0x5cbf87)),'remainingIds':_0x31bdfc[_0x5e38dc(0x101)](_0x28c132=>_0x5c3724[_0x5e38dc(0x111)][_0x5e38dc(0x108)](_0x28c132))};}function verificationFromOutcome(_0x579e80){const _0x5ac238=a110_0x280c29;return{'checkedBy':_0x5ac238(0x103),'absentIds':_0x579e80[_0x5ac238(0x116)],'remainingIds':_0x579e80[_0x5ac238(0xfa)]};}function validateDeleteDryRunInput(_0x232b42){const _0x5c560d=a110_0x280c29;validateExactId(_0x232b42);if(!hasFlag(_0x232b42,_0x5c560d(0x118))||!_0x232b42['str'](_0x5c560d(0x118))['trim']())throw CliErrors[_0x5c560d(0x13a)](_0x5c560d(0x118),_0x5c560d(0x119));if(hasFlag(_0x232b42,_0x5c560d(0x104)))throw CliErrors[_0x5c560d(0xec)](_0x5c560d(0x110));}function validateDeleteExecuteInput(_0x40c9e1){const _0x4d1662=a110_0x280c29;if(!hasFlag(_0x40c9e1,'plan')||!_0x40c9e1[_0x4d1662(0xd5)](_0x4d1662(0x104))[_0x4d1662(0xd6)]())throw CliErrors[_0x4d1662(0x13a)]('plan',_0x4d1662(0x117));const _0xf9eef7=['id',_0x4d1662(0xdf),_0x4d1662(0x118),_0x4d1662(0xea),'expect-path',_0x4d1662(0xce)][_0x4d1662(0x101)](_0x13e2b5=>hasFlag(_0x40c9e1,_0x13e2b5));if(_0xf9eef7['length']>0x0)throw CliErrors[_0x4d1662(0xec)](_0x4d1662(0xf7)+_0xf9eef7['map'](_0x1c2996=>'--'+_0x1c2996)['join'](',\x20')+'.');}async function buildDeletePlan(_0x474302){const _0x5a0a14=a110_0x280c29,_0x5ef613=validateExactId(_0x474302),_0xd4fdc3=await fetchMutationSnapshot(_0x474302,_0x5a0a14(0x115),_0x5ef613),_0x20eadd=requireMenu(_0xd4fdc3,_0x5ef613);assertExpectedState(_0x474302,_0x20eadd);const _0x2dd2b8=_0x474302[_0x5a0a14(0xd1)]('recursive');let _0x30bc13;if(_0x2dd2b8){if(_0x20eadd['type']['trim']()[_0x5a0a14(0x109)]()!==_0x5a0a14(0xcf))throw menuError('menu_recursive_requires_folder',_0x5a0a14(0x10f)+_0x20eadd['id']+_0x5a0a14(0x127)+(_0x20eadd[_0x5a0a14(0x136)]||_0x5a0a14(0xcd))+_0x5a0a14(0x138));_0x30bc13=collectDeleteTargets(_0xd4fdc3,_0x20eadd),_0x30bc13['forEach'](_0x56d6d1=>assertDeleteSafety(_0x56d6d1,!![]));}else assertDeleteSafety(_0x20eadd),_0x30bc13=[_0x20eadd];assertNoSharedPages(_0xd4fdc3,_0x30bc13);const _0x4c4125=_0x30bc13['map'](_0x47b199=>_0x47b199['id']),_0x168647=cascadeForTargets(_0x30bc13),_0x4ce972=_0x168647['pages'][_0x5a0a14(0xe0)]>0x0?[_0x5a0a14(0xf2)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x5ef613,'recursive':_0x2dd2b8},'before':_0x20eadd,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5a0a14(0x114),'method':_0x5a0a14(0x128),'path':_0x5a0a14(0xed),'body':{'idList':_0x4c4125}}],'targets':_0x30bc13,'deleteOrder':_0x4c4125,'snapshotHash':_0xd4fdc3['hash'],'cascade':_0x168647,'warnings':_0x4ce972});}function assertDeleteSafety(_0x4a816b,_0x228f98=![]){const _0x1c80f6=a110_0x280c29,_0x5e34d1=_0x4a816b[_0x1c80f6(0x136)][_0x1c80f6(0xd6)]()['toLowerCase']()===_0x1c80f6(0xcf);if(_0x4a816b[_0x1c80f6(0x10b)]>0x0&&(!_0x228f98||!_0x5e34d1))throw menuError(_0x1c80f6(0x139),_0x1c80f6(0x10f)+_0x4a816b['id']+_0x1c80f6(0xd8)+_0x4a816b['childrenCount']+_0x1c80f6(0x120),_0x1c80f6(0x113)+_0x4a816b[_0x1c80f6(0xe6)]['join'](',\x20'));if(_0x5e34d1&&_0x4a816b[_0x1c80f6(0xee)]!=null)throw menuError('menu_delete_page_bound',_0x1c80f6(0x131)+_0x4a816b['id']+_0x1c80f6(0x12e)+_0x4a816b[_0x1c80f6(0xee)]+_0x1c80f6(0x12c),_0x1c80f6(0x12b));if(!_0x5e34d1)return;if(!_0x4a816b[_0x1c80f6(0xc9)])throw menuError(_0x1c80f6(0x129),_0x1c80f6(0x131)+_0x4a816b['id']+_0x1c80f6(0xe1),_0x1c80f6(0x135));if(_0x4a816b[_0x1c80f6(0xc0)][_0x1c80f6(0xe0)]>0x0)throw menuError(_0x1c80f6(0xf6),_0x1c80f6(0x131)+_0x4a816b['id']+_0x1c80f6(0xd9)+_0x4a816b[_0x1c80f6(0xc0)][_0x1c80f6(0xe0)]+_0x1c80f6(0xf4),_0x1c80f6(0xcb));}function collectDeleteTargets(_0xfc1bd5,_0x134edb){const _0x30753f=[],_0x1e84af=new Set(),_0x1ca289=new Set(),_0x2136de=_0x4fe261=>{const _0x407301=a110_0x149e;if(_0x1e84af[_0x407301(0x108)](_0x4fe261['id']))throw menuError(_0x407301(0xff),_0x407301(0x10c)+_0x4fe261['id']+'.');if(_0x1ca289[_0x407301(0x108)](_0x4fe261['id']))return;_0x1e84af['add'](_0x4fe261['id']);for(const _0x28fd64 of _0x4fe261[_0x407301(0xe6)]){const _0x2e68ae=_0xfc1bd5[_0x407301(0x111)][_0x407301(0x107)](_0x28fd64);if(!_0x2e68ae)throw menuError(_0x407301(0xff),_0x407301(0x10f)+_0x4fe261['id']+'\x20references\x20missing\x20child\x20'+_0x28fd64+'.');_0x2136de(_0x2e68ae);}_0x1e84af[_0x407301(0x124)](_0x4fe261['id']),_0x1ca289[_0x407301(0xeb)](_0x4fe261['id']),_0x30753f['push'](_0x4fe261);};return _0x2136de(_0x134edb),_0x30753f;}function assertDeleteTargetsComplete(_0x52eb03,_0x123874){const _0x25a485=a110_0x280c29,_0x1fb17b=requireMenu(_0x123874,_0x52eb03[_0x25a485(0xef)]['id']);if(_0x52eb03['recursive']&&_0x1fb17b[_0x25a485(0x136)][_0x25a485(0xd6)]()[_0x25a485(0x109)]()!==_0x25a485(0xcf))throw menuError(_0x25a485(0x137),_0x25a485(0xf8)+_0x1fb17b['id']+_0x25a485(0x112));const _0x2997c4=_0x52eb03[_0x25a485(0xdf)]?collectDeleteTargets(_0x123874,_0x1fb17b)[_0x25a485(0xfe)](_0x181402=>_0x181402['id']):[_0x1fb17b['id']];if(JSON[_0x25a485(0xc4)](_0x52eb03['deleteOrder'])!==JSON[_0x25a485(0xc4)](_0x2997c4))throw menuError(_0x25a485(0x137),_0x25a485(0xe7),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x4dadff,_0x1eeb1b){const _0x5cbc26=a110_0x280c29,_0x99dda1=new Set(_0x1eeb1b[_0x5cbc26(0xfe)](_0x50ccdb=>_0x50ccdb['id'])),_0x114701=new Set(_0x1eeb1b[_0x5cbc26(0xfe)](_0x33911a=>_0x33911a[_0x5cbc26(0xee)])[_0x5cbc26(0x101)](_0x1f1428=>_0x1f1428!=null));if(_0x114701[_0x5cbc26(0xc7)]===0x0)return;const _0xb6966c=_0x4dadff[_0x5cbc26(0x11b)][_0x5cbc26(0x101)](_0x54a224=>!_0x99dda1['has'](_0x54a224['id'])&&_0x54a224[_0x5cbc26(0xee)]!=null&&_0x114701[_0x5cbc26(0x108)](_0x54a224[_0x5cbc26(0xee)]));if(_0xb6966c[_0x5cbc26(0xe0)]===0x0)return;const _0x560085=_0xb6966c[_0x5cbc26(0xfe)](_0x5411da=>_0x5cbc26(0x12d)+_0x5411da[_0x5cbc26(0xee)]+_0x5cbc26(0xfd)+_0x5411da['id'])[_0x5cbc26(0xd3)](',\x20');throw menuError(_0x5cbc26(0xbe),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x560085+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0xdbb8ab,_0x377ae9){const _0x22ce10=a110_0x280c29,_0x2c0186=cascadeForTargets(_0x377ae9);if(JSON[_0x22ce10(0xc4)](_0xdbb8ab[_0x22ce10(0xf5)])!==JSON['stringify'](_0x2c0186))throw menuError('menu_plan_invalid',_0x22ce10(0xd0));}function cascadeForTargets(_0x28e0ba){const _0x5d9ea9=a110_0x280c29,_0x528a9c=_0x28e0ba['map'](_0x18eaed=>_0x18eaed['pageId'])[_0x5d9ea9(0x101)](_0x5af550=>_0x5af550!=null)['filter']((_0x218d6b,_0x2409ae,_0x6b9ed4)=>_0x6b9ed4[_0x5d9ea9(0x132)](_0x218d6b)===_0x2409ae);return{'pages':_0x528a9c,'pageSchemaAffected':_0x528a9c['length']>0x0};}function asMenuError(_0x3f233e){const _0x879019=a110_0x280c29;return _0x3f233e instanceof CliError?_0x3f233e:menuError(_0x879019(0x137),_0x3f233e instanceof Error?_0x3f233e[_0x879019(0x10e)]:String(_0x3f233e));}
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 a111_0x3ca769=a111_0x4011;(function(_0x2c12f5,_0x4b363b){const _0x127ef5=a111_0x4011,_0x9e1adf=_0x2c12f5();while(!![]){try{const _0xdcddf7=-parseInt(_0x127ef5(0xf4))/0x1*(-parseInt(_0x127ef5(0x12f))/0x2)+parseInt(_0x127ef5(0xca))/0x3+parseInt(_0x127ef5(0x121))/0x4+-parseInt(_0x127ef5(0x120))/0x5*(-parseInt(_0x127ef5(0x14a))/0x6)+-parseInt(_0x127ef5(0x143))/0x7+parseInt(_0x127ef5(0x122))/0x8+-parseInt(_0x127ef5(0xdd))/0x9;if(_0xdcddf7===_0x4b363b)break;else _0x9e1adf['push'](_0x9e1adf['shift']());}catch(_0x1feff5){_0x9e1adf['push'](_0x9e1adf['shift']());}}}(a111_0x4a61,0xc9209));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};export function validateExternalMenuUrl(_0x5a7cc4){const _0x5da381=a111_0x4011,_0x1dd9bf=_0x5a7cc4['trim']();let _0x19e9c5;try{_0x19e9c5=new URL(_0x1dd9bf);}catch{throw menuError(_0x5da381(0x12d),_0x5da381(0x108),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x19e9c5['protocol']!==_0x5da381(0xc6))throw menuError(_0x5da381(0xff),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x5da381(0x102));if(_0x19e9c5['username']||_0x19e9c5[_0x5da381(0xfd)])throw menuError('menu_url_credentials_forbidden',_0x5da381(0x142),_0x5da381(0x109));return _0x1dd9bf;}export const menuExternalLinkCreate={'service':a111_0x3ca769(0xd0),'command':a111_0x3ca769(0xed),'description':a111_0x3ca769(0xec),'risk':a111_0x3ca769(0xeb),'structuredErrors':!![],'flags':[{'name':a111_0x3ca769(0x137),'type':a111_0x3ca769(0x111),'required':!![],'description':'Menu\x20label'},{'name':a111_0x3ca769(0xce),'type':a111_0x3ca769(0x111),'required':!![],'enum':[a111_0x3ca769(0x10d),a111_0x3ca769(0xea)],'description':a111_0x3ca769(0x128)},{'name':'url','type':a111_0x3ca769(0x111),'required':!![],'description':a111_0x3ca769(0x11d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a111_0x3ca769(0xd3),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x409638){validateAddInput(_0x409638);},async 'dryRun'(_0xf85c96){const _0x30d808=a111_0x3ca769;validateAddInput(_0xf85c96);const {plan:_0x3cb917}=await buildSafeAddPlan(_0xf85c96,!![]),_0x5b1e4d=_0x3cb917[_0x30d808(0x12c)],_0x3f6d9a=createBody(_0x5b1e4d);return menuDryRunResult(_0x3cb917,{'method':_0x30d808(0x127),'url':'/smartapi/menu/create','body':_0x3f6d9a,'description':_0x30d808(0xfb)+JSON[_0x30d808(0xd8)](_0x5b1e4d[_0x30d808(0x137)])+_0x30d808(0x148)+_0xf85c96[_0x30d808(0x134)](_0x30d808(0xce))+_0x30d808(0x10f)});},async 'execute'(_0x54a0d3){const _0x3b644a=a111_0x3ca769;validateAddInput(_0x54a0d3);const _0x4bf2cf=await buildSafeAddPlan(_0x54a0d3,![]),{plan:_0x24e3e3,snapshot:_0x445f84}=_0x4bf2cf,_0x230a71=_0x24e3e3[_0x3b644a(0x12c)],_0x52603d=buildMenuLookupCommand(_0x54a0d3[_0x3b644a(0xde)]);await recheckAddSnapshot(_0x54a0d3,_0x24e3e3);let _0xf130b1;try{_0xf130b1=await createMenuEntity(_0x54a0d3[_0x3b644a(0xde)],_0x54a0d3[_0x3b644a(0xdc)],createBody(_0x230a71));}catch(_0x5eb283){const _0x5467d0=mapMenuApiError(_0x5eb283,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x5eb283)||_0x5467d0['code']===_0x3b644a(0x116))throw externalLinkCreateFailure(_0x5467d0,_0x24e3e3,{'stage':_0x3b644a(0x10b),'failed':{},'verification':{'status':'failed','lookupCommand':_0x52603d}});return recoverAfterResponseLoss(_0x54a0d3,_0x4bf2cf,_0x52603d);}const _0x3471ed=Number(_0xf130b1?.['id']),_0x4a2137=typeof _0xf130b1?.[_0x3b644a(0xf5)]===_0x3b644a(0x111)?_0xf130b1['path']:'';if(!Number[_0x3b644a(0xda)](_0x3471ed)||_0x3471ed<=0x0||!_0x4a2137[_0x3b644a(0x126)]()){const _0x42c8fb=menuError(_0x3b644a(0xcc),_0x3b644a(0xf8),_0x3b644a(0x13f)+_0x52603d+_0x3b644a(0x14b));throw externalLinkCreateFailure(_0x42c8fb,_0x24e3e3,{'stage':_0x3b644a(0x115),'succeeded':Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?[{'id':_0x3471ed,'created':!![]}]:[],'failed':{'createdId':Number[_0x3b644a(0xda)](_0x3471ed)?_0x3471ed:null,'generatedPathConfirmed':Boolean(_0x4a2137[_0x3b644a(0x126)]())},'warnings':[_0x3b644a(0xe2)],'after':Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?{..._0x230a71,'id':_0x3471ed,'path':_0x4a2137}:_0x230a71,'verification':{'status':_0x3b644a(0x151),'lookupCommand':_0x52603d,...Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?{'targetId':_0x3471ed}:{}}});}const _0x2a0f7a=await readAndVerifyCreatedMenu({'appCode':_0x54a0d3[_0x3b644a(0xde)],'cookie':_0x54a0d3['cookie'],'plan':_0x24e3e3,'afterPlan':_0x230a71,'createdId':_0x3471ed,'expectedPath':_0x4a2137,'lookupCommand':_0x52603d,'recovered':![]});return creationSuccess(_0x24e3e3,_0x2a0f7a[_0x3b644a(0x12e)],_0x2a0f7a[_0x3b644a(0x13b)],![]);}};function validateAddInput(_0x11bf2d){const _0x2e9ccc=a111_0x3ca769;if(!_0x11bf2d['str'](_0x2e9ccc(0x137))[_0x2e9ccc(0x126)]())throw CliErrors[_0x2e9ccc(0xc7)](_0x2e9ccc(0x137));resolveExternalMenuType(_0x11bf2d),validateExternalMenuUrl(_0x11bf2d[_0x2e9ccc(0x134)](_0x2e9ccc(0x138))),parseParentId(_0x11bf2d,_0x2e9ccc(0x130)),validateSort(_0x11bf2d);}function a111_0x4011(_0x190cb1,_0x54f339){_0x190cb1=_0x190cb1-0xc4;const _0x4a6125=a111_0x4a61();let _0x401151=_0x4a6125[_0x190cb1];return _0x401151;}function a111_0x4a61(){const _0x313f65=['plan','sort','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','rawerror','External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','filter','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','replace','new-window','write','Create\x20an\x20external\x20website\x20link\x20menu','external-link-create','byId','visible','menu_verification_failed','<redacted>','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','1kqgziy','path','/smartapi/menu/create','verification','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20--format\x20compress','Would\x20create\x20external\x20website\x20link\x20menu\x20','get','password','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menu_url_https_required','\x20has\x20an\x20unexpected\x20','Menu\x20','Provide\x20an\x20HTTPS\x20URL.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Created\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','body','before','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','<platform-generated>','create','succeeded','embedded','rawFlags','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menus','string','create\x20external\x20menu','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create-response-validation','menu_permission_denied','cause','selector','length','menu_sort_overflow','type','rabetbase\x20menu\x20list\x20--appcode\x20','External\x20HTTPS\x20URL','menu_parent_not_folder','pre-write-recheck','4275135OViMBi','4525008uYSNeP','5968664mbSIjQ','code','expectedSnapshotHash','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','trim','POST','How\x20to\x20open\x20the\x20external\x20website','Recovered\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','after','menu_url_invalid','snapshot','39058JpnmGf','parent-id','fromEntries','readbackerror','menu_mutation_failed','str','menu\x20list','bool','label','url','createdId','isArray','fact','create-recovery','lookupCommand','toLowerCase','Run\x20','includes','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','11376561RMYbLf','currentSnapshotHash','hasOwnProperty','causemessage','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20with\x20','object','6yDpjJi','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','\x20after\x20response\x20loss.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','data','failed','expectedPath','URL','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create-menu','https:','flagMissing','visibility','add','925683lqRQyl','parentId','menu_create_response_invalid','prototype','open-mode','map','menu','afterPlan','entries','boolean','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','menu_not_found','stringify','\x27\x5c\x27\x27','isSafeInteger','has','cookie','5502708cHsoLn','appCode','menu_create_recovery_required'];a111_0x4a61=function(){return _0x313f65;};return a111_0x4a61();}function resolveExternalMenuType(_0x146874){const _0x226f86=a111_0x3ca769,_0x18aaa6=_0x146874[_0x226f86(0x134)](_0x226f86(0xce))[_0x226f86(0x126)]();if(!_0x18aaa6)throw CliErrors[_0x226f86(0xc7)](_0x226f86(0xce));const _0x285aa0=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x18aaa6];if(!_0x285aa0)throw menuError('menu_open_mode_invalid',_0x226f86(0x125),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x285aa0;}async function buildAddPlan(_0x2b6a53,_0x1c15a9){const _0x241957=a111_0x3ca769,_0x4d8884=await fetchMutationSnapshot(_0x2b6a53,_0x241957(0x112)),_0xb7b094=parseParentId(_0x2b6a53,_0x241957(0x130))??null;if(_0xb7b094!=null)requireFolder(_0x4d8884,_0xb7b094);const _0x58fcb7=validateSort(_0x2b6a53),_0x5372af=_0x58fcb7??nextSiblingSort(_0x4d8884,_0xb7b094,_0x241957(0xd0)),_0x4be7e4=_0x2b6a53['str'](_0x241957(0x137))[_0x241957(0x126)](),_0x5d130b=resolveExternalMenuType(_0x2b6a53),_0x2274ca=validateExternalMenuUrl(_0x2b6a53[_0x241957(0x134)](_0x241957(0x138))),_0x36dbaa=Object[_0x241957(0xcd)][_0x241957(0x145)]['call'](_0x2b6a53[_0x241957(0x10e)],'visible')?_0x2b6a53[_0x241957(0x136)](_0x241957(0xef)):!![],_0x4c52a5={'id':null,'parentId':_0xb7b094,'label':_0x4be7e4,'path':_0x241957(0x10a),'url':_0x2274ca,'type':_0x5d130b,'visible':_0x36dbaa,'sort':_0x5372af},_0x26e6cc=buildMenuLookupCommand(_0x2b6a53[_0x241957(0xde)]),_0x5bdc45=mutationResult({'operation':_0x241957(0xc9),'selector':{'parentId':_0xb7b094,'type':_0x5d130b,'label':_0x4be7e4,'url':_0x2274ca},'before':null,'after':_0x4c52a5,'dryRun':_0x1c15a9,'backend':[{'method':_0x241957(0x127),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x241957(0xc5),'method':'POST','path':_0x241957(0xf6),'body':createBody(_0x4c52a5)}],'snapshotHash':_0x4d8884['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x26e6cc}});return{'plan':_0x5bdc45,'snapshot':_0x4d8884};}async function buildSafeAddPlan(_0xfe66d7,_0x46dc63){try{return await buildAddPlan(_0xfe66d7,_0x46dc63);}catch(_0x20862b){throw safeMenuAddError(_0x20862b);}}async function recheckAddSnapshot(_0x375760,_0x297755){const _0x2331c2=a111_0x3ca769;try{await recheckMutationSnapshot(_0x375760,_0x297755,'create\x20external\x20menu');}catch(_0x414b91){const _0x29af0e=getFailureRecord(_0x414b91);throw externalLinkCreateFailure(_0x414b91,_0x297755,{'stage':_0x2331c2(0x11f),'failed':{..._0x29af0e?.[_0x2331c2(0x124)]?{'expectedSnapshotHash':_0x29af0e['expectedSnapshotHash']}:{},..._0x29af0e?.[_0x2331c2(0x144)]?{'currentSnapshotHash':_0x29af0e['currentSnapshotHash']}:{}}});}}function createBody(_0x5bb714){const _0x18f2a1=a111_0x3ca769;return{'parentId':toApiParentId(_0x5bb714['parentId']),'label':String(_0x5bb714[_0x18f2a1(0x137)]),'type':String(_0x5bb714[_0x18f2a1(0x11b)]),'url':String(_0x5bb714[_0x18f2a1(0x138)]),'visible':Boolean(_0x5bb714['visible']),'sort':Number(_0x5bb714['sort']),'extend':{}};}function buildMenuLookupCommand(_0x42aea4){const _0x10d043=a111_0x3ca769,_0x53d58e='\x27'+_0x42aea4[_0x10d043(0xe9)](/'/g,_0x10d043(0xd9))+'\x27';return _0x10d043(0x11c)+_0x53d58e+_0x10d043(0xfa);}async function recoverAfterResponseLoss(_0x57d7df,_0x10273a,_0x548dc2){const _0x4abd63=a111_0x3ca769,{plan:_0x540b93,snapshot:_0x5723b5}=_0x10273a,_0x18868e=_0x540b93['after'];let _0x3254b6;try{_0x3254b6=await fetchMenuSnapshot(_0x57d7df['appCode'],_0x57d7df['cookie']);}catch(_0xe1e554){throw recoveryRequiredFailure(_0x540b93,_0x548dc2,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x281d1d=_0x3254b6[_0x4abd63(0x110)][_0x4abd63(0xe7)](_0x32833b=>_0x32833b[_0x4abd63(0xcb)]===_0x18868e[_0x4abd63(0xcb)]&&_0x32833b[_0x4abd63(0x11b)]===_0x18868e[_0x4abd63(0x11b)]&&_0x32833b['label']===_0x18868e[_0x4abd63(0x137)]&&_0x32833b['url']===_0x18868e[_0x4abd63(0x138)]),_0xfb4222=_0x281d1d[_0x4abd63(0xe7)](_0x209ef2=>!_0x5723b5['byId'][_0x4abd63(0xdb)](_0x209ef2['id'])),_0x1c1346=_0x281d1d[_0x4abd63(0xe7)](_0x521312=>_0x5723b5[_0x4abd63(0xee)][_0x4abd63(0xdb)](_0x521312['id']));if(_0x281d1d['length']!==0x1||_0xfb4222[_0x4abd63(0x119)]!==0x1)throw recoveryRequiredFailure(_0x540b93,_0x548dc2,{'matchCount':_0x281d1d[_0x4abd63(0x119)],'newMatchCount':_0xfb4222[_0x4abd63(0x119)],'preexistingMatchCount':_0x1c1346[_0x4abd63(0x119)]});const _0x180a0a=_0xfb4222[0x0];try{verifyCreatedFact(_0x180a0a,_0x180a0a['id'],_0x18868e,null);}catch(_0x1ac67c){const _0x16418c=_0x1ac67c instanceof Error&&_0x4abd63(0x123)in _0x1ac67c?_0x1ac67c:menuError('menu_verification_failed',_0x4abd63(0x129)+_0x180a0a['id']+'\x20could\x20not\x20be\x20verified.','Run\x20'+_0x548dc2+_0x4abd63(0x12b));throw externalLinkCreateFailure(_0x16418c,_0x540b93,{'stage':_0x4abd63(0xf7),'succeeded':[{'id':_0x180a0a['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x180a0a['id'],'finalFactsConfirmed':![]},'after':_0x180a0a,'warnings':['Menu\x20'+_0x180a0a['id']+_0x4abd63(0xe3)],'verification':{'status':'failed','targetId':_0x180a0a['id'],'recovered':!![],'lookupCommand':_0x548dc2}});}return creationSuccess(_0x540b93,_0x3254b6,_0x180a0a,!![]);}function recoveryRequiredFailure(_0x4cd29d,_0x530328,_0x4579c2){const _0x45d7d1=a111_0x3ca769,_0x100909=menuError('menu_create_recovery_required',_0x45d7d1(0x114),_0x45d7d1(0x13f)+_0x530328+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x100909,_0x4cd29d,{'stage':_0x45d7d1(0x13c),'failed':_0x4579c2,'warnings':[_0x45d7d1(0xc4)],'verification':{'status':_0x45d7d1(0x151),..._0x4579c2,'lookupCommand':_0x530328}});}async function readAndVerifyCreatedMenu(_0xa2f77d){const _0x57a82f=a111_0x3ca769;let _0x157350;try{_0x157350=await fetchMenuSnapshot(_0xa2f77d['appCode'],_0xa2f77d[_0x57a82f(0xdc)]);}catch(_0x5cb93b){const _0x4dcf78=menuError(_0x57a82f(0xf0),_0x57a82f(0x101)+_0xa2f77d['createdId']+_0x57a82f(0x14e),_0x57a82f(0x13f)+_0xa2f77d['lookupCommand']+_0x57a82f(0xf9));throw externalLinkCreateFailure(_0x4dcf78,_0xa2f77d['plan'],{'stage':'verification','succeeded':[{'id':_0xa2f77d[_0x57a82f(0x139)],'created':!![]}],'failed':{'id':_0xa2f77d[_0x57a82f(0x139)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0xa2f77d[_0x57a82f(0xd1)],'id':_0xa2f77d['createdId'],'path':_0xa2f77d[_0x57a82f(0x152)]},'warnings':[_0x57a82f(0x101)+_0xa2f77d[_0x57a82f(0x139)]+_0x57a82f(0x14f)],'verification':{'status':_0x57a82f(0x151),'targetId':_0xa2f77d[_0x57a82f(0x139)],'lookupCommand':_0xa2f77d[_0x57a82f(0x13d)]}});}const _0xe8c34e=_0x157350[_0x57a82f(0xee)][_0x57a82f(0xfc)](_0xa2f77d[_0x57a82f(0x139)]);try{if(!_0xe8c34e)throw menuError(_0x57a82f(0xf0),_0x57a82f(0x104)+_0xa2f77d[_0x57a82f(0x139)]+_0x57a82f(0xd4),_0x57a82f(0x13f)+_0xa2f77d[_0x57a82f(0x13d)]+_0x57a82f(0xf9));verifyCreatedFact(_0xe8c34e,_0xa2f77d[_0x57a82f(0x139)],_0xa2f77d[_0x57a82f(0xd1)],_0xa2f77d[_0x57a82f(0x152)]);}catch(_0x1d66ea){const _0x74ae37=_0x1d66ea instanceof Error&&_0x57a82f(0x123)in _0x1d66ea?_0x1d66ea:menuError(_0x57a82f(0xf0),_0x57a82f(0x104)+_0xa2f77d[_0x57a82f(0x139)]+'\x20failed\x20final\x20verification.',_0x57a82f(0x13f)+_0xa2f77d[_0x57a82f(0x13d)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x74ae37,_0xa2f77d[_0x57a82f(0xe0)],{'stage':_0x57a82f(0xf7),'succeeded':[{'id':_0xa2f77d[_0x57a82f(0x139)],'created':!![]}],'failed':{'id':_0xa2f77d[_0x57a82f(0x139)],'finalFactsConfirmed':![]},'after':_0xe8c34e??{..._0xa2f77d[_0x57a82f(0xd1)],'id':_0xa2f77d[_0x57a82f(0x139)],'path':_0xa2f77d[_0x57a82f(0x152)]},'warnings':[_0x57a82f(0x101)+_0xa2f77d['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x57a82f(0x151),'targetId':_0xa2f77d[_0x57a82f(0x139)],'recovered':_0xa2f77d['recovered'],'lookupCommand':_0xa2f77d['lookupCommand']}});}return{'snapshot':_0x157350,'fact':_0xe8c34e};}function verifyCreatedFact(_0x1ec3f4,_0x187049,_0x23c42e,_0x5eb9f9){const _0x4c39ac=a111_0x3ca769;if(!Number[_0x4c39ac(0xda)](_0x1ec3f4['id'])||_0x1ec3f4['id']<=0x0||_0x1ec3f4['id']!==_0x187049)throw menuError(_0x4c39ac(0xf0),_0x4c39ac(0x103),_0x4c39ac(0xf3));const _0x43bedd=[['parent',_0x1ec3f4[_0x4c39ac(0xcb)],_0x23c42e[_0x4c39ac(0xcb)]],[_0x4c39ac(0x11b),_0x1ec3f4['type'],_0x23c42e[_0x4c39ac(0x11b)]],[_0x4c39ac(0x137),_0x1ec3f4[_0x4c39ac(0x137)],_0x23c42e[_0x4c39ac(0x137)]],[_0x4c39ac(0x153),_0x1ec3f4[_0x4c39ac(0x138)],_0x23c42e[_0x4c39ac(0x138)]],[_0x4c39ac(0xc8),_0x1ec3f4['visible'],_0x23c42e[_0x4c39ac(0xef)]],[_0x4c39ac(0xe1),_0x1ec3f4[_0x4c39ac(0xe1)],_0x23c42e[_0x4c39ac(0xe1)]]];for(const [_0x526601,_0x1b74c9,_0x244591]of _0x43bedd){if(_0x1b74c9!==_0x244591)throw menuError(_0x4c39ac(0xf0),'Created\x20menu\x20'+_0x1ec3f4['id']+_0x4c39ac(0x100)+_0x526601+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x1ec3f4[_0x4c39ac(0xf5)][_0x4c39ac(0x126)]()||_0x5eb9f9!==null&&_0x1ec3f4['path']!==_0x5eb9f9)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x1ec3f4['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x4d8b0c,_0x378166,_0x3ba597,_0x13ed4b){const _0x35dfd7=a111_0x3ca769,_0x549463=mutationResult({..._0x4d8b0c,'after':_0x3ba597,'dryRun':![],'succeeded':[{'id':_0x3ba597['id'],'created':!![],'recovered':_0x13ed4b}],'verification':{'checkedBy':_0x35dfd7(0x135),'snapshotHash':_0x378166['hash'],'targetId':_0x3ba597['id'],'recovered':_0x13ed4b,'path':_0x3ba597[_0x35dfd7(0xf5)]}});return{'ok':!![],'message':_0x13ed4b?'Recovered\x20created\x20external\x20menu\x20'+_0x3ba597['id']+_0x35dfd7(0x14c):_0x35dfd7(0x113)+_0x3ba597['id']+'.','data':{..._0x549463,'recovered':_0x13ed4b}};}function externalLinkCreateFailure(_0xb6cb2c,_0x386e33,_0x4f7321){const _0xd64cdf=a111_0x3ca769;return menuFailure(safeMenuAddError(_0xb6cb2c),redactFailurePlan(_0x386e33),{..._0x4f7321,'succeeded':_0x4f7321[_0xd64cdf(0x10c)]?.[_0xd64cdf(0xcf)](redactFailureRecord),'failed':_0x4f7321[_0xd64cdf(0x151)]?redactFailureRecord(_0x4f7321[_0xd64cdf(0x151)]):undefined,'verification':_0x4f7321[_0xd64cdf(0xf7)]?redactFailureRecord(_0x4f7321[_0xd64cdf(0xf7)]):undefined,'after':_0x4f7321[_0xd64cdf(0x12c)]===undefined?undefined:redactFailureValue(_0x4f7321['after'])});}function redactFailurePlan(_0x41c86f){const _0x2c43af=a111_0x3ca769;return{..._0x41c86f,'selector':redactFailureRecord(_0x41c86f[_0x2c43af(0x118)]),'before':redactFailureValue(_0x41c86f[_0x2c43af(0x107)]),'after':redactFailureValue(_0x41c86f[_0x2c43af(0x12c)]),'plannedActions':_0x41c86f[_0x2c43af(0xf2)]?.[_0x2c43af(0xcf)](_0x33a99a=>({..._0x33a99a,'body':redactFailureRecord(_0x33a99a[_0x2c43af(0x106)])})),'succeeded':_0x41c86f[_0x2c43af(0x10c)]['map'](redactFailureRecord),'failed':_0x41c86f[_0x2c43af(0x151)][_0x2c43af(0xcf)](redactFailureRecord),'verification':_0x41c86f[_0x2c43af(0xf7)]?redactFailureRecord(_0x41c86f[_0x2c43af(0xf7)]):undefined};}function redactFailureRecord(_0x3bde89){return redactFailureValue(_0x3bde89);}function redactFailureValue(_0x5de607,_0x2d4da4=''){const _0x5306c0=a111_0x3ca769,_0x25d475=_0x2d4da4[_0x5306c0(0x13e)]()[_0x5306c0(0xe9)](/[^a-z0-9]/g,'');if([_0x5306c0(0x117),_0x5306c0(0x146),_0x5306c0(0x132),_0x5306c0(0xe4)][_0x5306c0(0x140)](_0x25d475))return _0x5306c0(0xf1);if(Array[_0x5306c0(0x13a)](_0x5de607))return _0x5de607[_0x5306c0(0xcf)](_0x140196=>redactFailureValue(_0x140196));if(_0x5de607&&typeof _0x5de607===_0x5306c0(0x149))return Object[_0x5306c0(0x131)](Object[_0x5306c0(0xd2)](_0x5de607)['map'](([_0x141899,_0x2e6e1f])=>[_0x141899,redactFailureValue(_0x2e6e1f,_0x141899)]));return _0x5de607;}function safeMenuAddError(_0x2fd919){const _0x1b4c10=a111_0x3ca769,_0x503a80=_0x2fd919 instanceof CliError?_0x2fd919[_0x1b4c10(0x123)]:_0x1b4c10(0x133);switch(_0x503a80){case'menu_state_drift':return menuError(_0x503a80,_0x1b4c10(0x14d),_0x1b4c10(0x105));case'menu_permission_denied':return menuError(_0x503a80,_0x1b4c10(0xfe),_0x1b4c10(0xe8));case _0x1b4c10(0xcc):return menuError(_0x503a80,_0x1b4c10(0x12a),_0x1b4c10(0x147));case _0x1b4c10(0xf0):return menuError(_0x503a80,_0x1b4c10(0x141),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x1b4c10(0xdf):return menuError(_0x503a80,_0x1b4c10(0xd5),_0x1b4c10(0xd6));case _0x1b4c10(0x133):case _0x1b4c10(0xd7):case _0x1b4c10(0x11e):case'menu_sort_invalid':case _0x1b4c10(0x11a):return menuError(_0x503a80,_0x1b4c10(0xe5),_0x1b4c10(0xe6));default:return menuError('menu_mutation_failed',_0x1b4c10(0xe5),_0x1b4c10(0xe6));}}function getFailureRecord(_0x4f5141){const _0x2446da=a111_0x3ca769;if(!(_0x4f5141 instanceof Error)||!(_0x2446da(0x150)in _0x4f5141))return undefined;const _0x49a43e=_0x4f5141[_0x2446da(0x150)];if(!_0x49a43e||typeof _0x49a43e!==_0x2446da(0x149))return undefined;const _0x28c056=_0x49a43e[_0x2446da(0x151)];if(!Array[_0x2446da(0x13a)](_0x28c056)||!_0x28c056[0x0]||typeof _0x28c056[0x0]!==_0x2446da(0x149))return undefined;return _0x28c056[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 a112_0x11bafc=a112_0x2928;(function(_0x4799b7,_0x33e0b3){const _0x4d1ca2=a112_0x2928,_0x420838=_0x4799b7();while(!![]){try{const _0x4502b1=-parseInt(_0x4d1ca2(0x196))/0x1*(parseInt(_0x4d1ca2(0x1b2))/0x2)+-parseInt(_0x4d1ca2(0x195))/0x3+-parseInt(_0x4d1ca2(0x1b3))/0x4*(parseInt(_0x4d1ca2(0x1b1))/0x5)+-parseInt(_0x4d1ca2(0x199))/0x6+-parseInt(_0x4d1ca2(0x1b6))/0x7+parseInt(_0x4d1ca2(0x1c0))/0x8+parseInt(_0x4d1ca2(0x1a7))/0x9;if(_0x4502b1===_0x33e0b3)break;else _0x420838['push'](_0x420838['shift']());}catch(_0x4532c9){_0x420838['push'](_0x420838['shift']());}}}(a112_0x40c4,0xa9889));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';function a112_0x2928(_0x519ed3,_0x4930ee){_0x519ed3=_0x519ed3-0x180;const _0x40c444=a112_0x40c4();let _0x292833=_0x40c444[_0x519ed3];return _0x292833;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0x11bafc(0x1c9),'path':a112_0x11bafc(0x1d6)}];export const menuExternalLinkUpdate={'service':a112_0x11bafc(0x1ae),'command':a112_0x11bafc(0x18c),'description':a112_0x11bafc(0x1aa),'risk':a112_0x11bafc(0x192),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0x11bafc(0x1a8),'type':'string','required':!![],'description':a112_0x11bafc(0x1cb)},{'name':a112_0x11bafc(0x1a2),'type':a112_0x11bafc(0x19b),'required':!![],'description':a112_0x11bafc(0x1a1)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x25ec24){validateInput(_0x25ec24);},async 'dryRun'(_0x238dac){const _0x1eee8b=a112_0x11bafc;validateInput(_0x238dac);const _0x4c951c=await buildPlan(_0x238dac,!![]);return menuDryRunResult(_0x4c951c['plan'],{'method':_0x1eee8b(0x1c9),'url':'/smartapi/menu/update','body':_0x4c951c[_0x1eee8b(0x180)],'description':_0x1eee8b(0x18f)+_0x4c951c[_0x1eee8b(0x180)]['id']+'.'});},async 'execute'(_0x3325a6){const _0x4c5006=a112_0x11bafc;validateInput(_0x3325a6);const _0x4efdc5=await buildPlan(_0x3325a6,![]),{plan:_0x21fc47,body:_0x4d9e98,before:_0x24f852,noChanges:_0x5c68d0}=_0x4efdc5,_0x410797=_0x4d9e98['id'];if(_0x5c68d0)return updateSuccess(_0x21fc47,_0x4efdc5[_0x4c5006(0x1ac)],_0x24f852,!![],![]);await recheckMutationSnapshot(_0x3325a6,_0x21fc47,_0x4c5006(0x186),_0x410797);try{await updateMenuEntity(_0x3325a6[_0x4c5006(0x18d)],_0x3325a6['cookie'],{'id':_0x4d9e98['id'],'url':_0x4d9e98[_0x4c5006(0x1a8)]});}catch(_0x20a95b){const _0x3e5d51=mapMenuApiError(_0x20a95b,_0x4c5006(0x186),_0x410797);if(isMenuResponseLoss(_0x20a95b)&&_0x3e5d51[_0x4c5006(0x1ba)]!==_0x4c5006(0x18e))return recoverAfterResponseLoss(_0x3325a6,_0x4efdc5);throw menuFailure(_0x3e5d51,_0x21fc47,{'stage':'update','failed':{'id':_0x410797},'warnings':[_0x4c5006(0x19c)],'verification':{'status':'failed','targetId':_0x410797,'lookupCommand':buildLookupCommand(_0x3325a6[_0x4c5006(0x18d)])}});}let _0x5d6c9e,_0x3db917;try{_0x5d6c9e=await fetchMenuSnapshot(_0x3325a6[_0x4c5006(0x18d)],_0x3325a6[_0x4c5006(0x1a3)]),_0x3db917=requireMenu(_0x5d6c9e,_0x410797),verifyUpdatedFact(_0x24f852,_0x3db917,_0x4d9e98['url']);}catch(_0x45b876){const _0x449be7=describeMenuErrorCause(_0x45b876,_0x4c5006(0x1bb),_0x410797),_0x1e8e02=asVerificationError(_0x45b876,'Update\x20request\x20for\x20menu\x20'+_0x410797+_0x4c5006(0x187));throw menuFailure(_0x1e8e02,_0x21fc47,{'stage':_0x4c5006(0x19e),'succeeded':[{'id':_0x410797,'updateRequested':!![]}],'failed':{'id':_0x410797,'requestedStateConfirmed':![],..._0x449be7},'warnings':[_0x4c5006(0x181)],'verification':{'status':_0x4c5006(0x1af),'targetId':_0x410797,'lookupCommand':buildLookupCommand(_0x3325a6[_0x4c5006(0x18d)])}});}return updateSuccess(_0x21fc47,_0x5d6c9e,_0x3db917,![],![]);}};function validateInput(_0x5115a6){validateExactId(_0x5115a6),requiredUrl(_0x5115a6,'url'),requiredExpectedUrl(_0x5115a6),parseParentId(_0x5115a6,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x38396b,_0x14d278){const _0xc31883=a112_0x11bafc;if(!hasFlag(_0x38396b,_0x14d278)||!_0x38396b['str'](_0x14d278)[_0xc31883(0x1c8)]())throw CliErrors[_0xc31883(0x1b9)](_0x14d278);return validateExternalMenuUrl(_0x38396b['str'](_0x14d278));}function requiredExpectedUrl(_0x1eb019){const _0x3b261c=a112_0x11bafc;if(!hasFlag(_0x1eb019,_0x3b261c(0x1a2))||!_0x1eb019[_0x3b261c(0x1c5)]('expect-url')[_0x3b261c(0x1c8)]())throw CliErrors[_0x3b261c(0x1b9)](_0x3b261c(0x1a2));return _0x1eb019[_0x3b261c(0x1c5)]('expect-url')[_0x3b261c(0x1c8)]();}function a112_0x40c4(){const _0x12e8e2=['35284716TbZDoe','url','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20direct\x20child\x20menu(s).','snapshot','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','menu','failed','parentId','102005YukiZz','66qsUyBE','172JSSMXd',',\x20current\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','6791953JdmAoJ','readbackFailed','requestedUrlObserved','flagMissing','code','verify\x20external\x20menu\x20URL\x20update','unknown','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','iframe','\x20--format\x20compress','4284080irGnNE','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20could\x20not\x20be\x20verified\x20safely','\x20URL\x20update\x20did\x20not\x20take\x20effect.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','str','\x20changed\x20during\x20the\x20URL-only\x20update.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','trim','POST','update-recovery','New\x20external\x20HTTPS\x20URL','replace','menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','menu_external_link_not_leaf','path','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','link','after','menu\x20list','/smartapi/menu/update','body','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu_external_link_type_required','expect-parent-id','menu_state_drift','\x27\x5c\x27\x27','update\x20external\x20menu\x20URL','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','sort','update-external-link-url','byId','type','external-link-update','appCode','menu_permission_denied','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','rabetbase\x20menu\x20list\x20--appcode\x20','label','write','visible','\x20has\x20','2950773cDANKd','26519JiNGEn','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','\x22,\x20not\x20iframe\x20or\x20link.','332310eyTJqr','Run\x20','string','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verification','Menu\x20','\x20has\x20an\x20empty\x20platform\x20path.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','expect-url','cookie','\x20parent\x20changed:\x20expected\x20','Response\x20was\x20lost\x20and\x20menu\x20','childrenCount'];a112_0x40c4=function(){return _0x12e8e2;};return a112_0x40c4();}async function buildPlan(_0x2975cc,_0x4f46d9){const _0x31d3cb=a112_0x11bafc,_0x316621=validateExactId(_0x2975cc),_0x394e55=requiredUrl(_0x2975cc,_0x31d3cb(0x1a8)),_0x44b7d7=requiredExpectedUrl(_0x2975cc),_0x2b82a6=parseParentId(_0x2975cc,_0x31d3cb(0x183),{'required':!![]}),_0x4e8dfb=await fetchMutationSnapshot(_0x2975cc,_0x31d3cb(0x186),_0x316621),_0x22a22a=requireMenu(_0x4e8dfb,_0x316621);assertExternalLinkLeaf(_0x22a22a);if(_0x22a22a[_0x31d3cb(0x1b0)]!==_0x2b82a6)throw menuError('menu_state_drift',_0x31d3cb(0x19f)+_0x316621+_0x31d3cb(0x1a4)+formatParent(_0x2b82a6)+_0x31d3cb(0x1b4)+formatParent(_0x22a22a[_0x31d3cb(0x1b0)])+'.',_0x31d3cb(0x19d));const _0x30db3a=_0x22a22a[_0x31d3cb(0x1a8)]===_0x394e55;if(!_0x30db3a&&_0x22a22a['url']!==_0x44b7d7)throw menuError(_0x31d3cb(0x184),'Menu\x20'+_0x316621+_0x31d3cb(0x197),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4e364e={'id':_0x316621,'appCode':_0x2975cc[_0x31d3cb(0x18d)],'url':_0x394e55},_0x2bb9a4={..._0x22a22a,'url':_0x394e55};return{'body':_0x4e364e,'before':_0x22a22a,'noChanges':_0x30db3a,'snapshot':_0x4e8dfb,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x316621},'before':_0x22a22a,'after':_0x2bb9a4,'dryRun':_0x4f46d9,'backend':[...BACKEND],'plannedActions':_0x30db3a?[]:[{'stage':_0x31d3cb(0x189),'method':_0x31d3cb(0x1c9),'path':_0x31d3cb(0x1d6),'body':_0x4e364e}],'snapshotHash':_0x4e8dfb['hash'],'warnings':_0x30db3a?[_0x31d3cb(0x1ad)]:[]})};}function assertExternalLinkLeaf(_0x54d6b8){const _0x5d7400=a112_0x11bafc;if(_0x54d6b8[_0x5d7400(0x18b)]!==_0x5d7400(0x1be)&&_0x54d6b8[_0x5d7400(0x18b)]!==_0x5d7400(0x1d3))throw menuError(_0x5d7400(0x182),'Menu\x20'+_0x54d6b8['id']+_0x5d7400(0x1d1)+(_0x54d6b8[_0x5d7400(0x18b)]||_0x5d7400(0x1bc))+_0x5d7400(0x198),_0x5d7400(0x1a9));if(_0x54d6b8[_0x5d7400(0x1a6)]!==0x0)throw menuError(_0x5d7400(0x1cf),_0x5d7400(0x19f)+_0x54d6b8['id']+_0x5d7400(0x194)+_0x54d6b8[_0x5d7400(0x1a6)]+_0x5d7400(0x1ab),_0x5d7400(0x1c7));if(!_0x54d6b8['path'][_0x5d7400(0x1c8)]())throw menuError('menu_external_link_path_missing',_0x5d7400(0x19f)+_0x54d6b8['id']+_0x5d7400(0x1a0),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x21fff3,_0x26ac0d,_0x59cefe){const _0x38a31e=a112_0x11bafc;assertExternalLinkLeaf(_0x26ac0d);const _0x2e2574=[['id',_0x26ac0d['id'],_0x21fff3['id']],[_0x38a31e(0x191),_0x26ac0d[_0x38a31e(0x191)],_0x21fff3[_0x38a31e(0x191)]],[_0x38a31e(0x18b),_0x26ac0d[_0x38a31e(0x18b)],_0x21fff3[_0x38a31e(0x18b)]],[_0x38a31e(0x1d0),_0x26ac0d[_0x38a31e(0x1d0)],_0x21fff3[_0x38a31e(0x1d0)]],[_0x38a31e(0x1b0),_0x26ac0d['parentId'],_0x21fff3['parentId']],[_0x38a31e(0x188),_0x26ac0d[_0x38a31e(0x188)],_0x21fff3[_0x38a31e(0x188)]],[_0x38a31e(0x193),_0x26ac0d[_0x38a31e(0x193)],_0x21fff3[_0x38a31e(0x193)]]];for(const [_0x2a3b80,_0x1d72e2,_0x316622]of _0x2e2574){assertVerified(_0x1d72e2===_0x316622,_0x38a31e(0x19f)+_0x21fff3['id']+'\x20'+_0x2a3b80+_0x38a31e(0x1c6));}assertVerified(_0x26ac0d[_0x38a31e(0x1a8)]===_0x59cefe,'Menu\x20'+_0x21fff3['id']+_0x38a31e(0x1c3));}function updateSuccess(_0x3c6bf4,_0x3d801a,_0x33b1e9,_0x14a0b9,_0x304cda){const _0x51bd1a=a112_0x11bafc,_0x61ead3=_0x33b1e9['id'],_0x1d69b1=mutationResult({..._0x3c6bf4,'after':_0x33b1e9,'dryRun':![],'succeeded':[{'id':_0x61ead3,'updated':!_0x14a0b9,'skipped':_0x14a0b9,'recovered':_0x304cda}],'verification':{'checkedBy':_0x51bd1a(0x1d5),'snapshotHash':_0x3d801a['hash'],'targetId':_0x61ead3,'matchesRequestedState':!![],'recovered':_0x304cda}});return{'ok':!![],'message':_0x304cda?_0x51bd1a(0x1c1)+_0x61ead3+'.':_0x14a0b9?_0x51bd1a(0x19f)+_0x61ead3+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x51bd1a(0x1d2)+_0x61ead3+'.','data':{..._0x1d69b1,'recovered':_0x304cda}};}async function recoverAfterResponseLoss(_0x5ef45d,_0x2c0cfe){const _0x1e7b17=a112_0x11bafc,{plan:_0x15e215,before:_0x3023a1,body:_0x1378e8}=_0x2c0cfe;let _0x4114fb;try{_0x4114fb=await fetchMenuSnapshot(_0x5ef45d[_0x1e7b17(0x18d)],_0x5ef45d[_0x1e7b17(0x1a3)]);}catch{throw recoveryRequired(_0x15e215,_0x5ef45d[_0x1e7b17(0x18d)],{'id':_0x1378e8['id'],'readbackFailed':!![]});}const _0xaa2358=_0x4114fb[_0x1e7b17(0x18a)]['get'](_0x1378e8['id']);if(!_0xaa2358||_0xaa2358[_0x1e7b17(0x1a8)]!==_0x1378e8['url'])throw recoveryRequired(_0x15e215,_0x5ef45d[_0x1e7b17(0x18d)],{'id':_0x1378e8['id'],'requestedUrlObserved':![],'after':_0xaa2358??null});try{verifyUpdatedFact(_0x3023a1,_0xaa2358,_0x1378e8[_0x1e7b17(0x1a8)]);}catch(_0x340897){const _0x29e6ba=asVerificationError(_0x340897,_0x1e7b17(0x1a5)+_0x1378e8['id']+_0x1e7b17(0x1c2));throw menuFailure(_0x29e6ba,_0x15e215,{'stage':_0x1e7b17(0x1ca),'succeeded':[{'id':_0x1378e8['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1378e8['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0xaa2358,'warnings':[_0x1e7b17(0x1c4)],'verification':{'status':_0x1e7b17(0x1af),'targetId':_0x1378e8['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5ef45d[_0x1e7b17(0x18d)])}});}return updateSuccess(_0x15e215,_0x4114fb,_0xaa2358,![],!![]);}function recoveryRequired(_0x19898f,_0xed33d1,_0x4474bb){const _0x5535ed=a112_0x11bafc,_0x4d7721=menuError(_0x5535ed(0x1cd),_0x5535ed(0x1ce),_0x5535ed(0x19a)+buildLookupCommand(_0xed33d1)+_0x5535ed(0x1b5));return menuFailure(_0x4d7721,_0x19898f,{'stage':_0x5535ed(0x1ca),'failed':{'id':_0x4474bb['id'],..._0x4474bb[_0x5535ed(0x1b8)]===undefined?{}:{'requestedUrlObserved':_0x4474bb[_0x5535ed(0x1b8)]},..._0x4474bb[_0x5535ed(0x1b7)]?{'readbackFailed':!![]}:{}},'after':_0x4474bb[_0x5535ed(0x1d4)],'warnings':[_0x5535ed(0x1bd)],'verification':{'status':'failed','targetId':_0x4474bb['id'],..._0x4474bb[_0x5535ed(0x1b8)]===undefined?{}:{'requestedUrlObserved':_0x4474bb[_0x5535ed(0x1b8)]},..._0x4474bb[_0x5535ed(0x1b7)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0xed33d1)}});}function buildLookupCommand(_0x5edeeb){const _0x46d9a8=a112_0x11bafc,_0x17d5e0='\x27'+_0x5edeeb[_0x46d9a8(0x1cc)](/'/g,_0x46d9a8(0x185))+'\x27';return _0x46d9a8(0x190)+_0x17d5e0+_0x46d9a8(0x1bf);}
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 a113_0x15c043=a113_0x2698;function a113_0x2698(_0x46223b,_0x472df4){_0x46223b=_0x46223b-0x11e;const _0x5a61df=a113_0x5a61();let _0x2698ca=_0x5a61df[_0x46223b];return _0x2698ca;}(function(_0x22925f,_0x37972f){const _0xb1177=a113_0x2698,_0x4710b4=_0x22925f();while(!![]){try{const _0x400275=-parseInt(_0xb1177(0x15a))/0x1+-parseInt(_0xb1177(0x13c))/0x2+-parseInt(_0xb1177(0x152))/0x3*(parseInt(_0xb1177(0x157))/0x4)+parseInt(_0xb1177(0x15b))/0x5*(parseInt(_0xb1177(0x125))/0x6)+parseInt(_0xb1177(0x169))/0x7+-parseInt(_0xb1177(0x14c))/0x8+parseInt(_0xb1177(0x136))/0x9*(-parseInt(_0xb1177(0x146))/0xa);if(_0x400275===_0x37972f)break;else _0x4710b4['push'](_0x4710b4['shift']());}catch(_0x52f41b){_0x4710b4['push'](_0x4710b4['shift']());}}}(a113_0x5a61,0x2e1a7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x15c043(0x129),'path':a113_0x15c043(0x138)}];function a113_0x5a61(){const _0x2ea8cf=['visible','menu','parent-id','\x20has\x20an\x20unexpected\x20label.','197560lCokJN','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Would\x20create\x20empty\x20folder\x20\x22','create','create-response-validation','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','55320DsemxR','Folder\x20label','group-create','Created\x20menu\x20','cookie','20mqDqYy','\x20has\x20unexpected\x20parent\x20','label','70552UzeNdd','10oRdGPc','menu\x20list','Created\x20folder\x20','\x20is\x20not\x20visible.','Created\x20menu\x20folder\x20','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','verify\x20folder\x20creation','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','\x20is\x20missing\x20from\x20menu\x20list.','sort','resources','isSafeInteger','1775508vCmdym','type','parentId','\x20has\x20resources.','hash','appCode','create\x20folder','Folder\x20','428070cGMLNA','after','failed','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','POST','childrenCount','folder','root','str','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20has\x20an\x20unexpected\x20sort.','create-folder','length','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','pageId','111753PWjJce','Menu\x20create\x20response\x20for\x20folder\x20','/smartapi/menu/create','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','trim','15262TLFLrM','\x20is\x20not\x20empty.',';\x20verify\x20it\x20before\x20retrying.','path','depth','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','verification','write','string','menu_create_response_invalid','10zPmeWW','byId'];a113_0x5a61=function(){return _0x2ea8cf;};return a113_0x5a61();}export const menuGroupCreate={'service':a113_0x15c043(0x149),'command':a113_0x15c043(0x154),'description':a113_0x15c043(0x164),'risk':a113_0x15c043(0x143),'structuredErrors':!![],'flags':[{'name':a113_0x15c043(0x159),'type':a113_0x15c043(0x144),'required':!![],'description':a113_0x15c043(0x153)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x25b0f9){validateCreateInput(_0x25b0f9);},async 'dryRun'(_0x1430b9){const _0x29cea5=a113_0x15c043,_0xc5a9c2=await buildCreatePlan(_0x1430b9,!![]),_0xffa568=_0xc5a9c2[_0x29cea5(0x126)];return menuDryRunResult(_0xc5a9c2,{'method':_0x29cea5(0x129),'url':_0x29cea5(0x138),'body':{'parentId':toApiParentId(_0xffa568['parentId']),'label':_0xffa568[_0x29cea5(0x159)],'type':_0x29cea5(0x12b),'visible':!![],'sort':_0xffa568['sort'],'extend':{}},'description':_0x29cea5(0x14e)+String(_0xffa568[_0x29cea5(0x159)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x5880ef){const _0x37ecef=a113_0x15c043;validateCreateInput(_0x5880ef);const _0x43dd84=await buildCreatePlan(_0x5880ef,![]),_0x34b94a=_0x43dd84[_0x37ecef(0x126)];await recheckMutationSnapshot(_0x5880ef,_0x43dd84,_0x37ecef(0x123));let _0x1ff0db;try{_0x1ff0db=await createMenuEntity(_0x5880ef[_0x37ecef(0x122)],_0x5880ef[_0x37ecef(0x156)],{'parentId':toApiParentId(_0x34b94a[_0x37ecef(0x11f)]),'label':String(_0x34b94a[_0x37ecef(0x159)]),'type':_0x37ecef(0x12b),'visible':!![],'sort':Number(_0x34b94a['sort']),'extend':{}});}catch(_0x4393d1){const _0x611c65=mapMenuApiError(_0x4393d1,'create\x20folder');throw menuFailure(_0x611c65,_0x43dd84,{'stage':_0x37ecef(0x14f),'failed':{}});}const _0x5aea00=Number(_0x1ff0db['id']);if(!Number[_0x37ecef(0x168)](_0x5aea00)||_0x5aea00<=0x0){const _0x340db7=menuError(_0x37ecef(0x145),_0x37ecef(0x13a),_0x37ecef(0x141));throw menuFailure(_0x340db7,_0x43dd84,{'stage':_0x37ecef(0x150),'failed':{'createdId':_0x1ff0db['id']??null},'warnings':[_0x37ecef(0x163)],'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139)}});}const _0x29b468=typeof _0x1ff0db[_0x37ecef(0x13f)]===_0x37ecef(0x144)?_0x1ff0db['path']:'';if(!_0x29b468[_0x37ecef(0x13b)]()){const _0x2fc081=menuError(_0x37ecef(0x145),_0x37ecef(0x137)+_0x5aea00+_0x37ecef(0x133),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x2fc081,_0x43dd84,{'stage':_0x37ecef(0x150),'succeeded':[{'id':_0x5aea00,'created':!![]}],'failed':{'id':_0x5aea00,'generatedPathConfirmed':![]},'warnings':[_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x160)],'after':{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}let _0x1ad31a;try{_0x1ad31a=await fetchMenuSnapshot(_0x5880ef['appCode'],_0x5880ef['cookie']);}catch(_0x4b915b){const _0x150b1c=describeMenuErrorCause(_0x4b915b,_0x37ecef(0x162),_0x5aea00),_0x20daae=asVerificationError(_0x4b915b,_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x128));throw menuFailure(_0x20daae,_0x43dd84,{'stage':_0x37ecef(0x142),'succeeded':[{'id':_0x5aea00,'created':!![],'path':_0x29b468}],'failed':{'id':_0x5aea00,'finalFactsConfirmed':![],..._0x150b1c},'warnings':[_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x134)+JSON[_0x37ecef(0x161)](_0x29b468)+_0x37ecef(0x13e)],'after':{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}const _0x1f761f=_0x1ad31a[_0x37ecef(0x147)]['get'](_0x5aea00);let _0x3754fb;try{assertVerified(Boolean(_0x1f761f),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x165)),_0x3754fb=_0x1f761f,assertVerified(_0x3754fb[_0x37ecef(0x11e)]==='folder',_0x37ecef(0x155)+_0x5aea00+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x3754fb[_0x37ecef(0x159)]===_0x34b94a[_0x37ecef(0x159)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x14b)),assertVerified(_0x3754fb[_0x37ecef(0x13f)]===_0x29b468&&Boolean(_0x3754fb[_0x37ecef(0x13f)]['trim']()),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x14d)),assertVerified(_0x3754fb[_0x37ecef(0x148)]===!![],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x15e)),assertVerified(_0x3754fb[_0x37ecef(0x167)][_0x37ecef(0x132)]===0x0,'Created\x20folder\x20'+_0x5aea00+_0x37ecef(0x120)),assertVerified(_0x3754fb[_0x37ecef(0x12a)]===0x0,_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x13d)),assertVerified(_0x3754fb[_0x37ecef(0x166)]===_0x34b94a[_0x37ecef(0x166)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x130)),assertVerified(_0x3754fb[_0x37ecef(0x11f)]===_0x34b94a[_0x37ecef(0x11f)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x158)+(_0x3754fb[_0x37ecef(0x11f)]??_0x37ecef(0x12c))+'.'),assertVerified(_0x3754fb[_0x37ecef(0x135)]==null,_0x37ecef(0x15d)+_0x5aea00+'\x20unexpectedly\x20owns\x20a\x20page.');const _0xf6ada3=_0x3754fb[_0x37ecef(0x11f)]==null?undefined:requireFolder(_0x1ad31a,_0x3754fb[_0x37ecef(0x11f)]);assertVerified(_0x3754fb[_0x37ecef(0x140)]===(_0xf6ada3?_0xf6ada3[_0x37ecef(0x140)]+0x1:0x0),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x151));}catch(_0xcc9795){const _0x15341f=describeMenuErrorCause(_0xcc9795,_0x37ecef(0x162),_0x5aea00),_0x22cc7c=asVerificationError(_0xcc9795,_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x12f));throw menuFailure(_0x22cc7c,_0x43dd84,{'stage':_0x37ecef(0x142),'succeeded':[{'id':_0x5aea00,'created':!![],'path':_0x29b468}],'failed':{'id':_0x5aea00,'finalFactsConfirmed':![],..._0x15341f},'warnings':[_0x37ecef(0x124)+_0x5aea00+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x1f761f??{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}const _0x4e45c0=mutationResult({..._0x43dd84,'after':_0x3754fb,'dryRun':![],'succeeded':[{'id':_0x5aea00,'type':'folder','path':_0x29b468}],'verification':{'checkedBy':_0x37ecef(0x15c),'snapshotHash':_0x1ad31a[_0x37ecef(0x121)],'folder':!![],'path':_0x29b468,'emptyResources':!![]}});return{'ok':!![],'data':_0x4e45c0,'message':_0x37ecef(0x15f)+_0x5aea00+'.'};}};function validateCreateInput(_0x326f45){const _0x592a02=a113_0x15c043,_0x5ef834=_0x326f45[_0x592a02(0x12d)]('label')['trim']();if(!_0x5ef834)throw CliErrors['flagMissing'](_0x592a02(0x159));parseParentId(_0x326f45,_0x592a02(0x14a)),validateSort(_0x326f45);}async function buildCreatePlan(_0x2b16c0,_0x33cc73){const _0x1c6ed9=a113_0x15c043,_0x10c6fd=await fetchMutationSnapshot(_0x2b16c0,_0x1c6ed9(0x123)),_0x58458b=parseParentId(_0x2b16c0,'parent-id')??null;if(_0x58458b!=null)requireFolder(_0x10c6fd,_0x58458b);const _0x2fe377=validateSort(_0x2b16c0),_0x217c8f=_0x2fe377??nextSiblingSort(_0x10c6fd,_0x58458b,_0x1c6ed9(0x12b)),_0x4e77fc=_0x2b16c0[_0x1c6ed9(0x12d)](_0x1c6ed9(0x159))['trim']();return mutationResult({'operation':_0x1c6ed9(0x154),'selector':{'label':_0x4e77fc,'parentId':_0x58458b},'before':null,'after':{'id':null,'parentId':_0x58458b,'label':_0x4e77fc,'path':'<platform-generated>','type':_0x1c6ed9(0x12b),'visible':!![],'sort':_0x217c8f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x33cc73,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1c6ed9(0x131),'method':_0x1c6ed9(0x129),'path':_0x1c6ed9(0x138),'body':{'parentId':toApiParentId(_0x58458b),'label':_0x4e77fc,'type':'folder','visible':!![],'sort':_0x217c8f,'extend':{}}}],'snapshotHash':_0x10c6fd[_0x1c6ed9(0x121)],'warnings':[_0x1c6ed9(0x12e)]});}
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 a114_0x3461d5=a114_0x31cd;(function(_0x510591,_0x1f0973){const _0x5e8380=a114_0x31cd,_0x345c23=_0x510591();while(!![]){try{const _0x5ba75b=parseInt(_0x5e8380(0x86))/0x1+parseInt(_0x5e8380(0x90))/0x2*(-parseInt(_0x5e8380(0x88))/0x3)+-parseInt(_0x5e8380(0x92))/0x4*(-parseInt(_0x5e8380(0x8d))/0x5)+parseInt(_0x5e8380(0x99))/0x6+-parseInt(_0x5e8380(0xae))/0x7*(-parseInt(_0x5e8380(0x9f))/0x8)+parseInt(_0x5e8380(0xa0))/0x9*(-parseInt(_0x5e8380(0x8e))/0xa)+parseInt(_0x5e8380(0xaa))/0xb;if(_0x5ba75b===_0x1f0973)break;else _0x345c23['push'](_0x345c23['shift']());}catch(_0xdb4b2e){_0x345c23['push'](_0x345c23['shift']());}}}(a114_0x29e7,0xafa23));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a114_0x29e7(){const _0x28016f=['menu\x20list','unknown','sort','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','11032pDGfSX','22689uKttNS','\x20is\x20type\x20\x22','validation','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','menu_not_folder','type','trim','POST','parent-id','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','12466531KInKUr','selector','menu','update\x20folder','2219WlWabH','Folder\x20','Updated\x20folder\x20','verification','\x20already\x20matches\x20the\x20requested\x20state.','verify\x20folder\x20update','label','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','\x22,\x20not\x20folder.','\x20is\x20no\x20longer\x20type\x20folder.','group-update','Would\x20update\x20folder\x20','681534IfyACO','--label\x20cannot\x20be\x20empty.','1370826xhCeGI','str','\x20label\x20update\x20did\x20not\x20take\x20effect.','cookie','\x20sort\x20update\x20did\x20not\x20take\x20effect.','15KJlXYa','5620PCRpNM','failed','2vNihOq','Update\x20request\x20for\x20folder\x20','201676eHJxzj','appCode','folder','parentId','New\x20folder\x20label','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20','1139304xALbSH','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state'];a114_0x29e7=function(){return _0x28016f;};return a114_0x29e7();}import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x3461d5(0xa7),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a114_0x3461d5(0xac),'command':a114_0x3461d5(0x84),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':'write','structuredErrors':!![],'rejectedFlags':[{'name':a114_0x3461d5(0xa8),'message':a114_0x3461d5(0xa3),'hint':a114_0x3461d5(0xa9)}],'flags':[MENU_ID_FLAG,{'name':'label','type':'string','description':a114_0x3461d5(0x96)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5a0c12){validateUpdateInput(_0x5a0c12);},async 'dryRun'(_0x50c746){const _0x45e3ab=a114_0x3461d5;validateUpdateInput(_0x50c746);const {plan:_0x26eeb9,patch:_0x58a59d}=await buildUpdatePlan(_0x50c746,!![]);return menuDryRunResult(_0x26eeb9,{'method':'POST','url':'/smartapi/menu/update','body':_0x58a59d,'description':_0x45e3ab(0x85)+_0x26eeb9[_0x45e3ab(0xab)]['id']+'.'});},async 'execute'(_0x2c3b4f){const _0x74add=a114_0x3461d5;validateUpdateInput(_0x2c3b4f);const {plan:_0x29723f,patch:_0x35f67f,noChanges:_0x766c97}=await buildUpdatePlan(_0x2c3b4f,![]),_0x4ce58c=Number(_0x29723f[_0x74add(0xab)]['id']),_0x1931fe=await recheckMutationSnapshot(_0x2c3b4f,_0x29723f,_0x74add(0xad),_0x4ce58c);if(!_0x766c97)try{await updateMenuEntity(_0x2c3b4f[_0x74add(0x93)],_0x2c3b4f['cookie'],_0x35f67f);}catch(_0x46d0e9){const _0x3d568e=mapMenuApiError(_0x46d0e9,_0x74add(0xad),_0x4ce58c);throw menuFailure(_0x3d568e,_0x29723f,{'stage':'update','failed':{'id':_0x4ce58c}});}let _0x54285a=_0x1931fe,_0x34a55c;try{!_0x766c97&&(_0x54285a=await fetchMenuSnapshot(_0x2c3b4f[_0x74add(0x93)],_0x2c3b4f[_0x74add(0x8b)])),_0x34a55c=requireMenu(_0x54285a,_0x4ce58c),verifyPatch(_0x34a55c,_0x35f67f),_0x34a55c[_0x74add(0x95)]!=null&&requireFolder(_0x54285a,_0x34a55c[_0x74add(0x95)]);}catch(_0x20b843){const _0x26e88e=describeMenuErrorCause(_0x20b843,_0x74add(0xb3),_0x4ce58c),_0x32e246=asVerificationError(_0x20b843,_0x74add(0x91)+_0x4ce58c+_0x74add(0x9a));throw menuFailure(_0x32e246,_0x29723f,{'stage':_0x74add(0xb1),'succeeded':[{'id':_0x4ce58c,'updateRequested':!_0x766c97,'skipped':_0x766c97}],'failed':{'id':_0x4ce58c,'requestedStateConfirmed':![],..._0x26e88e},'warnings':[_0x74add(0x81)],'verification':{'status':_0x74add(0x8f),'lookupCommand':_0x74add(0x97),'targetId':_0x4ce58c}});}const _0x4b5ab9=mutationResult({..._0x29723f,'after':_0x34a55c,'dryRun':![],'succeeded':[{'id':_0x4ce58c,'updated':!_0x766c97,'skipped':_0x766c97}],'verification':{'checkedBy':_0x74add(0x9b),'snapshotHash':_0x54285a['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x4b5ab9,'message':_0x766c97?_0x74add(0xaf)+_0x4ce58c+_0x74add(0xb2):_0x74add(0xb0)+_0x4ce58c+'.'};}};function validateUpdateInput(_0x21e544){const _0x19b612=a114_0x3461d5;validateExactId(_0x21e544);if(hasFlag(_0x21e544,_0x19b612(0xa8)))throw CliErrors[_0x19b612(0xa2)](_0x19b612(0xa3),_0x19b612(0xa9));if(!hasFlag(_0x21e544,_0x19b612(0x7f))&&!hasFlag(_0x21e544,_0x19b612(0x9d)))throw CliErrors[_0x19b612(0xa2)](_0x19b612(0x80));if(hasFlag(_0x21e544,_0x19b612(0x7f))&&!_0x21e544[_0x19b612(0x89)]('label')[_0x19b612(0xa6)]())throw CliErrors['validation'](_0x19b612(0x87));validateSort(_0x21e544);}function a114_0x31cd(_0x532be9,_0x5d447c){_0x532be9=_0x532be9-0x7f;const _0x29e70a=a114_0x29e7();let _0x31cd26=_0x29e70a[_0x532be9];return _0x31cd26;}async function buildUpdatePlan(_0x1b86de,_0x54e910){const _0x26b293=a114_0x3461d5,_0x102c12=validateExactId(_0x1b86de),_0x26fcb6=await fetchMutationSnapshot(_0x1b86de,_0x26b293(0xad),_0x102c12),_0x318712=requireMenu(_0x26fcb6,_0x102c12);if(_0x318712[_0x26b293(0xa5)]!==_0x26b293(0x94))throw menuError(_0x26b293(0xa4),_0x26b293(0x98)+_0x102c12+_0x26b293(0xa1)+(_0x318712[_0x26b293(0xa5)]||_0x26b293(0x9c))+_0x26b293(0x82),_0x26b293(0x9e));assertExpectedState(_0x1b86de,_0x318712);const _0x453c71={'id':_0x102c12},_0x207a71={..._0x318712};if(hasFlag(_0x1b86de,_0x26b293(0x7f))){const _0x4e3b31=_0x1b86de[_0x26b293(0x89)](_0x26b293(0x7f))[_0x26b293(0xa6)]();_0x453c71['label']=_0x4e3b31,_0x207a71[_0x26b293(0x7f)]=_0x4e3b31;}if(hasFlag(_0x1b86de,_0x26b293(0x9d))){const _0x129138=validateSort(_0x1b86de);_0x453c71['sort']=_0x129138,_0x207a71[_0x26b293(0x9d)]=_0x129138;}const _0x12687d=sameRequestedState(_0x318712,_0x207a71),_0x3c30d0=_0x12687d?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x453c71,'noChanges':_0x12687d,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x102c12},'before':_0x318712,'after':_0x207a71,'dryRun':_0x54e910,'backend':[...BACKEND],'snapshotHash':_0x26fcb6['hash'],'warnings':_0x3c30d0})};}function sameRequestedState(_0x5c7214,_0x32a3fb){const _0x115884=a114_0x3461d5;return _0x5c7214[_0x115884(0x7f)]===_0x32a3fb['label']&&_0x5c7214[_0x115884(0x9d)]===_0x32a3fb[_0x115884(0x9d)];}function verifyPatch(_0x1f3f5c,_0x26844f){const _0x336949=a114_0x3461d5;assertVerified(_0x1f3f5c['type']==='folder',_0x336949(0x98)+_0x1f3f5c['id']+_0x336949(0x83)),_0x26844f[_0x336949(0x7f)]!==undefined&&assertVerified(_0x1f3f5c[_0x336949(0x7f)]===_0x26844f[_0x336949(0x7f)],'Folder\x20'+_0x1f3f5c['id']+_0x336949(0x8a)),_0x26844f[_0x336949(0x9d)]!==undefined&&assertVerified(_0x1f3f5c[_0x336949(0x9d)]===_0x26844f['sort'],_0x336949(0xaf)+_0x1f3f5c['id']+_0x336949(0x8c));}
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(_0x596450,_0x1e8595){const _0xfec5d3=a115_0x217c,_0x32bcb4=_0x596450();while(!![]){try{const _0x5473e5=parseInt(_0xfec5d3(0xb9))/0x1+parseInt(_0xfec5d3(0xbb))/0x2*(parseInt(_0xfec5d3(0xbc))/0x3)+-parseInt(_0xfec5d3(0xbf))/0x4+-parseInt(_0xfec5d3(0xbe))/0x5*(parseInt(_0xfec5d3(0xba))/0x6)+-parseInt(_0xfec5d3(0xc1))/0x7+-parseInt(_0xfec5d3(0xc0))/0x8*(-parseInt(_0xfec5d3(0xbd))/0x9)+parseInt(_0xfec5d3(0xb8))/0xa;if(_0x5473e5===_0x1e8595)break;else _0x32bcb4['push'](_0x32bcb4['shift']());}catch(_0x265c4d){_0x32bcb4['push'](_0x32bcb4['shift']());}}}(a115_0x2053,0xc03e7));function a115_0x217c(_0x519293,_0x4c37ba){_0x519293=_0x519293-0xb8;const _0x205354=a115_0x2053();let _0x217cb9=_0x205354[_0x519293];return _0x217cb9;}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 a115_0x2053(){const _0x1283cc=['5286730GswjLF','123007ibRAqE','66NpaPWe','1646QHtUwv','5271WSwWMK','45Avstjj','152290nmklZJ','1262816dHgAQv','105848CTuTUp','5079711PEptol'];a115_0x2053=function(){return _0x1283cc;};return a115_0x2053();}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
+ (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 a116_0x40d0fe=a116_0xc111;(function(_0x22802e,_0x5ee743){const _0x20dc4f=a116_0xc111,_0x216f5a=_0x22802e();while(!![]){try{const _0x31cc87=-parseInt(_0x20dc4f(0x171))/0x1+-parseInt(_0x20dc4f(0x176))/0x2+parseInt(_0x20dc4f(0x165))/0x3*(parseInt(_0x20dc4f(0x164))/0x4)+-parseInt(_0x20dc4f(0x170))/0x5*(parseInt(_0x20dc4f(0x166))/0x6)+-parseInt(_0x20dc4f(0x163))/0x7+parseInt(_0x20dc4f(0x16a))/0x8*(parseInt(_0x20dc4f(0x16f))/0x9)+parseInt(_0x20dc4f(0x173))/0xa;if(_0x31cc87===_0x5ee743)break;else _0x216f5a['push'](_0x216f5a['shift']());}catch(_0x36a1b7){_0x216f5a['push'](_0x216f5a['shift']());}}}(a116_0x2496,0x9e596));function a116_0x2496(){const _0x54f86a=['52112tyBBeC','219ZsfUyw','6MmPmsc','hash','cookie','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','8hLZQia','list','boolean','verbose','total','2527173gCLRMF','6068955ePhUxQ','882754omHQtp','\x20menu(s)','32255900eaHHXe','No\x20menus\x20found.','Found\x20','1992426ekgtpN','menus','appCode','bool','5012525pWfhqG'];a116_0x2496=function(){return _0x54f86a;};return a116_0x2496();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a116_0xc111(_0x55dbc4,_0x27343a){_0x55dbc4=_0x55dbc4-0x160;const _0x2496b0=a116_0x2496();let _0xc111d2=_0x2496b0[_0x55dbc4];return _0xc111d2;}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':a116_0x40d0fe(0x16b),'description':a116_0x40d0fe(0x169),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a116_0x40d0fe(0x16d),'type':a116_0x40d0fe(0x16c),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x3fa248){const _0x4ec8a3=a116_0x40d0fe,_0x45d0ea=_0x3fa248[_0x4ec8a3(0x162)](_0x4ec8a3(0x16d)),_0x3f1011=await fetchMenuSnapshot(_0x3fa248[_0x4ec8a3(0x161)],_0x3fa248[_0x4ec8a3(0x168)],{'verbose':_0x45d0ea});return{'ok':!![],'data':{'total':_0x3f1011[_0x4ec8a3(0x16e)],'snapshotHash':_0x3f1011[_0x4ec8a3(0x167)],'menus':_0x3f1011[_0x4ec8a3(0x160)]['map'](toMenuListItem)},'message':_0x3f1011[_0x4ec8a3(0x16e)]===0x0?_0x4ec8a3(0x174):_0x4ec8a3(0x175)+_0x3f1011[_0x4ec8a3(0x16e)]+_0x4ec8a3(0x172)};}};
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 a117_0x3aa3d6=a117_0x30ea;(function(_0x36f6cf,_0x50049a){const _0x17e11f=a117_0x30ea,_0x466f44=_0x36f6cf();while(!![]){try{const _0x478588=parseInt(_0x17e11f(0x9d))/0x1+parseInt(_0x17e11f(0x8f))/0x2*(-parseInt(_0x17e11f(0x88))/0x3)+parseInt(_0x17e11f(0x86))/0x4*(-parseInt(_0x17e11f(0xac))/0x5)+parseInt(_0x17e11f(0xa8))/0x6+-parseInt(_0x17e11f(0x8d))/0x7+-parseInt(_0x17e11f(0xa2))/0x8*(-parseInt(_0x17e11f(0xad))/0x9)+parseInt(_0x17e11f(0x8c))/0xa*(parseInt(_0x17e11f(0x82))/0xb);if(_0x478588===_0x50049a)break;else _0x466f44['push'](_0x466f44['shift']());}catch(_0x47944e){_0x466f44['push'](_0x466f44['shift']());}}}(a117_0x254b,0x4a04b));function a117_0x30ea(_0x44b762,_0x238637){_0x44b762=_0x44b762-0x7b;const _0x254b8a=a117_0x254b();let _0x30eab4=_0x254b8a[_0x44b762];return _0x30eab4;}function a117_0x254b(){const _0x589823=['Move\x20request\x20for\x20menu\x20','447588MkZOmi','POST','Menu\x20','sort','update','1121576aPOtpZ','write','appCode','childrenCount','Would\x20move\x20menu\x20','parent-id','3225360EvFzaR','hash','move\x20menu','after','2301515XxxySU','36alcUXo','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','failed','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','Moved\x20menu\x20','/smartapi/menu/update',',\x20current\x20','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','1331033aZERtr','type','\x20is\x20now\x20type\x20folder.','\x20is\x20no\x20longer\x20a\x20leaf.','4eWWKQy','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','813fuQAwC','menu_state_drift','verify\x20menu\x20move','menu\x20list','20GXxoWW','4073419mcHmCB','move','3266oKUKGt','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','cookie','menu','expect-parent-id','verification','rabetbase\x20menu\x20list\x20--format\x20compress','\x20parent\x20changed:\x20expected\x20','folder','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','parentId','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.'];a117_0x254b=function(){return _0x589823;};return a117_0x254b();}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':a117_0x3aa3d6(0x9e),'path':'/smartapi/menu/update'}];export const menuMove={'service':a117_0x3aa3d6(0x92),'command':a117_0x3aa3d6(0x8e),'description':a117_0x3aa3d6(0x7d),'risk':a117_0x3aa3d6(0xa3),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1abeff){validateMoveInput(_0x1abeff);},async 'dryRun'(_0x2d764e){const _0xc2b78a=a117_0x3aa3d6,{plan:_0x2b7bf2,patch:_0x2e5279}=await buildMovePlan(_0x2d764e,!![]);return menuDryRunResult(_0x2b7bf2,{'method':_0xc2b78a(0x9e),'url':'/smartapi/menu/update','body':{..._0x2e5279,'appCode':_0x2d764e[_0xc2b78a(0xa4)]},'description':_0xc2b78a(0xa6)+_0x2e5279['id']+'.'});},async 'execute'(_0x56c04e){const _0x1e5eff=a117_0x3aa3d6;validateMoveInput(_0x56c04e);const {plan:_0x5c660d,patch:_0xc5821c,noChanges:_0x518c2d,snapshot:_0x435b29}=await buildMovePlan(_0x56c04e,![]),_0x36f0f0=_0xc5821c['id'];if(!_0x518c2d)try{await updateMenuEntity(_0x56c04e['appCode'],_0x56c04e[_0x1e5eff(0x91)],_0xc5821c);}catch(_0x457509){const _0x59c4ca=mapMenuApiError(_0x457509,_0x1e5eff(0x8e),_0x36f0f0);throw menuFailure(_0x59c4ca,_0x5c660d,{'stage':_0x1e5eff(0xa1),'failed':{'id':_0x36f0f0},'warnings':[_0x1e5eff(0x7b)],'verification':{'status':_0x1e5eff(0x7c),'targetId':_0x36f0f0,'lookupCommand':_0x1e5eff(0x95)}});}let _0x5bdf90,_0x1a967c;try{_0x5bdf90=_0x518c2d?_0x435b29:await fetchMenuSnapshot(_0x56c04e['appCode'],_0x56c04e['cookie']),_0x1a967c=requireMenu(_0x5bdf90,_0x36f0f0),verifyMove(_0x1a967c,_0x5c660d[_0x1e5eff(0xab)]),_0x1a967c[_0x1e5eff(0x9a)]!==null&&requireFolder(_0x5bdf90,_0x1a967c['parentId']);}catch(_0x318831){const _0x43f6b2=describeMenuErrorCause(_0x318831,_0x1e5eff(0x8a),_0x36f0f0),_0x481798=asVerificationError(_0x318831,_0x1e5eff(0x9c)+_0x36f0f0+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x481798,_0x5c660d,{'stage':_0x1e5eff(0x94),'succeeded':[{'id':_0x36f0f0,'updateRequested':!_0x518c2d,'skipped':_0x518c2d}],'failed':{'id':_0x36f0f0,'requestedStateConfirmed':![],..._0x43f6b2},'warnings':[_0x1e5eff(0x81)],'verification':{'status':_0x1e5eff(0x7c),'targetId':_0x36f0f0,'lookupCommand':_0x1e5eff(0x95)}});}const _0x3678db=mutationResult({..._0x5c660d,'after':_0x1a967c,'dryRun':![],'succeeded':[{'id':_0x36f0f0,'updated':!_0x518c2d,'skipped':_0x518c2d}],'verification':{'checkedBy':_0x1e5eff(0x8b),'snapshotHash':_0x5bdf90[_0x1e5eff(0xa9)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3678db,'message':_0x518c2d?_0x1e5eff(0x9f)+_0x36f0f0+_0x1e5eff(0x9b):_0x1e5eff(0x7e)+_0x36f0f0+'.'};}};function validateMoveInput(_0x44cf12){const _0x33cc46=a117_0x3aa3d6;validateExactId(_0x44cf12),parseParentId(_0x44cf12,_0x33cc46(0xa7),{'required':!![]}),parseParentId(_0x44cf12,_0x33cc46(0x93),{'required':!![]}),validateSort(_0x44cf12);}async function buildMovePlan(_0x4aca81,_0x29ae3a){const _0x2db31c=a117_0x3aa3d6,_0x50c729=validateExactId(_0x4aca81),_0x4bd1d9=parseParentId(_0x4aca81,'parent-id',{'required':!![]}),_0x44e8b=parseParentId(_0x4aca81,_0x2db31c(0x93),{'required':!![]}),_0x95e22b=validateSort(_0x4aca81),_0x741510=await fetchMutationSnapshot(_0x4aca81,_0x2db31c(0xaa),_0x50c729),_0x440970=requireMenu(_0x741510,_0x50c729);if(_0x440970[_0x2db31c(0x83)]==='folder'||_0x440970[_0x2db31c(0xa5)]!==0x0)throw menuError('menu_move_source_not_leaf',_0x2db31c(0x9f)+_0x50c729+_0x2db31c(0x98),_0x2db31c(0x87));if(_0x440970[_0x2db31c(0x9a)]!==_0x44e8b)throw menuError(_0x2db31c(0x89),_0x2db31c(0x9f)+_0x50c729+_0x2db31c(0x96)+formatParent(_0x44e8b)+_0x2db31c(0x80)+formatParent(_0x440970[_0x2db31c(0x9a)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x4bd1d9!==null&&requireFolder(_0x741510,_0x4bd1d9);const _0x1ba170=_0x95e22b??(_0x440970[_0x2db31c(0x9a)]===_0x4bd1d9?_0x440970[_0x2db31c(0xa0)]??0x0:nextSiblingSort(_0x741510,_0x4bd1d9,_0x2db31c(0x92))),_0x133e78={..._0x440970,'parentId':_0x4bd1d9,'sort':_0x1ba170},_0x5ddf41={'id':_0x50c729,'parentId':toApiParentId(_0x4bd1d9),'sort':_0x1ba170},_0x231653=_0x440970[_0x2db31c(0x9a)]===_0x4bd1d9&&_0x440970[_0x2db31c(0xa0)]===_0x1ba170;return{'patch':_0x5ddf41,'noChanges':_0x231653,'snapshot':_0x741510,'plan':mutationResult({'operation':_0x2db31c(0x8e),'selector':{'id':_0x50c729,'parentId':_0x4bd1d9},'before':_0x440970,'after':_0x133e78,'dryRun':_0x29ae3a,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x2db31c(0x9e),'path':_0x2db31c(0x7f),'body':{..._0x5ddf41,'appCode':_0x4aca81['appCode']}}],'snapshotHash':_0x741510[_0x2db31c(0xa9)],'warnings':_0x231653?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x3c779c,_0x458165){const _0x2c2c3f=a117_0x3aa3d6;assertVerified(_0x3c779c[_0x2c2c3f(0x83)]!==_0x2c2c3f(0x97),_0x2c2c3f(0x9f)+_0x3c779c['id']+_0x2c2c3f(0x84)),assertVerified(_0x3c779c[_0x2c2c3f(0xa5)]===0x0,_0x2c2c3f(0x9f)+_0x3c779c['id']+_0x2c2c3f(0x85)),assertVerified(_0x3c779c[_0x2c2c3f(0x9a)]===_0x458165[_0x2c2c3f(0x9a)],_0x2c2c3f(0x9f)+_0x3c779c['id']+_0x2c2c3f(0x90)),assertVerified(_0x3c779c[_0x2c2c3f(0xa0)]===_0x458165['sort'],_0x2c2c3f(0x9f)+_0x3c779c['id']+_0x2c2c3f(0x99));}
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));}