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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.d.ts +1 -0
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/{permit/index.d.ts → dataset/business-groups.d.ts} +1 -1
  63. package/lib/commands/dataset/business-groups.js +1 -0
  64. package/lib/commands/dataset/capability.js +1 -1
  65. package/lib/commands/dataset/delete.js +1 -1
  66. package/lib/commands/dataset/detail.js +1 -1
  67. package/lib/commands/dataset/extend-update.js +1 -1
  68. package/lib/commands/dataset/field-update.js +1 -1
  69. package/lib/commands/dataset/generate.js +1 -1
  70. package/lib/commands/dataset/index.js +1 -1
  71. package/lib/commands/dataset/list.js +1 -1
  72. package/lib/commands/dataset/operations.js +1 -1
  73. package/lib/commands/dataset/relation-audit.js +1 -1
  74. package/lib/commands/dataset/relation-create.js +1 -1
  75. package/lib/commands/dataset/relation-delete.js +1 -1
  76. package/lib/commands/dataset/relation-shared.js +1 -1
  77. package/lib/commands/dataset/relation-update.js +1 -1
  78. package/lib/commands/dataset/relations.js +1 -1
  79. package/lib/commands/dataset/rename.js +1 -1
  80. package/lib/commands/dataset/restore.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.d.ts +15 -1
  95. package/lib/commands/db/shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/doctor.js +1 -1
  100. package/lib/commands/file/index.js +1 -1
  101. package/lib/commands/init/index.js +1 -1
  102. package/lib/commands/issue/index.js +1 -1
  103. package/lib/commands/issue/nudge.js +1 -1
  104. package/lib/commands/issue/report.js +1 -1
  105. package/lib/commands/issue/shared.js +1 -1
  106. package/lib/commands/kb/create.js +1 -1
  107. package/lib/commands/kb/delete.js +1 -1
  108. package/lib/commands/kb/detail.js +1 -1
  109. package/lib/commands/kb/index.js +1 -1
  110. package/lib/commands/kb/list.js +1 -1
  111. package/lib/commands/kb/shared.js +1 -1
  112. package/lib/commands/kb/update.js +1 -1
  113. package/lib/commands/logs/index.js +1 -1
  114. package/lib/commands/menu/asset-update.js +1 -1
  115. package/lib/commands/menu/delete.js +1 -1
  116. package/lib/commands/menu/external-link-create.js +1 -1
  117. package/lib/commands/menu/external-link-update.js +1 -1
  118. package/lib/commands/menu/group-create.js +1 -1
  119. package/lib/commands/menu/group-update.js +1 -1
  120. package/lib/commands/menu/index.js +1 -1
  121. package/lib/commands/menu/list.js +1 -1
  122. package/lib/commands/menu/move.js +1 -1
  123. package/lib/commands/menu/regroup-start.js +1 -1
  124. package/lib/commands/menu/rename.js +1 -1
  125. package/lib/commands/menu/shared/compare-table.js +1 -1
  126. package/lib/commands/menu/shared/delete-plan.js +1 -1
  127. package/lib/commands/menu/shared/facts.js +1 -1
  128. package/lib/commands/menu/shared/index.js +1 -1
  129. package/lib/commands/menu/shared/inquirer.js +1 -1
  130. package/lib/commands/menu/shared/local-pages.js +1 -1
  131. package/lib/commands/menu/shared/logic.js +1 -1
  132. package/lib/commands/menu/shared/mutations.js +1 -1
  133. package/lib/commands/menu/shared/service.js +1 -1
  134. package/lib/commands/menu/shared/sync-core.js +1 -1
  135. package/lib/commands/menu/shared/update-core.js +1 -1
  136. package/lib/commands/menu/shared/valid-url.js +1 -1
  137. package/lib/commands/menu/sync.js +1 -1
  138. package/lib/commands/notification/config-create.js +1 -1
  139. package/lib/commands/notification/config-delete.js +1 -1
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.js +1 -1
  142. package/lib/commands/notification/index.js +1 -1
  143. package/lib/commands/notification/shared.js +1 -1
  144. package/lib/commands/ocr/index.js +1 -1
  145. package/lib/commands/page/generate-start.js +1 -1
  146. package/lib/commands/page/generate-status.js +1 -1
  147. package/lib/commands/page/index.js +1 -1
  148. package/lib/commands/page/pull.js +1 -1
  149. package/lib/commands/page/push.js +1 -1
  150. package/lib/commands/page/react/create.js +1 -1
  151. package/lib/commands/page/react/detail.js +1 -1
  152. package/lib/commands/page/react/list.js +1 -1
  153. package/lib/commands/page/react/publish.js +1 -1
  154. package/lib/commands/page/react/shared.js +1 -1
  155. package/lib/commands/page/react/syntax.js +1 -1
  156. package/lib/commands/page/react/template.js +1 -1
  157. package/lib/commands/page/react/update.js +1 -1
  158. package/lib/commands/page/relation-audit.js +1 -1
  159. package/lib/commands/page/restore.js +1 -1
  160. package/lib/commands/page/shared.js +1 -1
  161. package/lib/commands/page/standard-page-status.js +1 -1
  162. package/lib/commands/page/sync.js +1 -1
  163. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  164. package/lib/commands/project/create/format-elapsed.js +1 -1
  165. package/lib/commands/project/create/main.js +1 -1
  166. package/lib/commands/project/create/materialize-project-template.js +1 -1
  167. package/lib/commands/project/create/project-name.js +1 -1
  168. package/lib/commands/project/create/project-template-archive.js +1 -1
  169. package/lib/commands/project/create/project-template-path.js +1 -1
  170. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  171. package/lib/commands/project/create/use-format-code.js +1 -1
  172. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  173. package/lib/commands/project/index.js +1 -1
  174. package/lib/commands/project/upgrade.js +1 -1
  175. package/lib/commands/registry.js +1 -1
  176. package/lib/commands/role/delete.js +1 -1
  177. package/lib/commands/role/detail.js +1 -1
  178. package/lib/commands/role/index.js +1 -1
  179. package/lib/commands/role/list.js +1 -1
  180. package/lib/commands/role/shared.d.ts +15 -17
  181. package/lib/commands/role/shared.js +1 -1
  182. package/lib/commands/role/update.js +1 -1
  183. package/lib/commands/role/user-add.js +1 -1
  184. package/lib/commands/role/user-remove.js +1 -1
  185. package/lib/commands/role/user-resolve.js +1 -1
  186. package/lib/commands/run/index.js +1 -1
  187. package/lib/commands/schema.js +1 -1
  188. package/lib/commands/sql/create.js +1 -1
  189. package/lib/commands/sql/delete.js +1 -1
  190. package/lib/commands/sql/detail.js +1 -1
  191. package/lib/commands/sql/exec.js +1 -1
  192. package/lib/commands/sql/index.js +1 -1
  193. package/lib/commands/sql/list.js +1 -1
  194. package/lib/commands/sql/pull.js +1 -1
  195. package/lib/commands/sql/push.js +1 -1
  196. package/lib/commands/sql/shared.js +1 -1
  197. package/lib/commands/sql/status.js +1 -1
  198. package/lib/commands/sql/validate.js +1 -1
  199. package/lib/commands/task/index.js +1 -1
  200. package/lib/commands/task/status.js +1 -1
  201. package/lib/commands/tenant/index.js +1 -1
  202. package/lib/commands/tenant/members-list.js +1 -1
  203. package/lib/commands/tenant/shared.js +1 -1
  204. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  205. package/lib/commands/user-account/index.js +1 -1
  206. package/lib/commands/workspace/add.js +1 -1
  207. package/lib/commands/workspace/index.js +1 -1
  208. package/lib/commands/workspace/remove.js +1 -1
  209. package/lib/config/schema.js +1 -1
  210. package/lib/constant/cdn.js +1 -1
  211. package/lib/constant/cli.js +1 -1
  212. package/lib/constant/defaults.js +1 -1
  213. package/lib/constant/domain.js +1 -1
  214. package/lib/constant/env.js +1 -1
  215. package/lib/constant/output.js +1 -1
  216. package/lib/constant/paths.js +1 -1
  217. package/lib/constant/risk.js +1 -1
  218. package/lib/context/app-resolver.js +1 -1
  219. package/lib/context/auth-resolver.js +1 -1
  220. package/lib/context/config-loader.js +1 -1
  221. package/lib/context.js +1 -1
  222. package/lib/core/alias-resolver.js +1 -1
  223. package/lib/core/api-client.d.ts +70 -79
  224. package/lib/core/api-client.js +1 -1
  225. package/lib/core/bff/config.js +1 -1
  226. package/lib/core/bff/file-system.d.ts +1 -0
  227. package/lib/core/bff/file-system.js +1 -1
  228. package/lib/core/bff/hash.js +1 -1
  229. package/lib/core/bff/lock.js +1 -1
  230. package/lib/core/bff/utils.js +1 -1
  231. package/lib/core/db-resolver.js +1 -1
  232. package/lib/core/page/file-system.js +1 -1
  233. package/lib/core/page/hash.js +1 -1
  234. package/lib/core/page/lock.js +1 -1
  235. package/lib/core/sql-index-auditor.js +1 -1
  236. package/lib/core/sql-sync/config.js +1 -1
  237. package/lib/core/sql-sync/file-system.js +1 -1
  238. package/lib/core/sql-sync/hash.js +1 -1
  239. package/lib/core/sql-sync/lock.js +1 -1
  240. package/lib/core/sql-sync/utils.js +1 -1
  241. package/lib/core/sql-validator.js +1 -1
  242. package/lib/errors.js +1 -1
  243. package/lib/framework/build-all-flags.js +1 -1
  244. package/lib/framework/error-output.js +1 -1
  245. package/lib/framework/explicit-yes.js +1 -1
  246. package/lib/framework/flags.js +1 -1
  247. package/lib/framework/help.js +1 -1
  248. package/lib/framework/index.js +1 -1
  249. package/lib/framework/output.js +1 -1
  250. package/lib/framework/response.js +1 -1
  251. package/lib/framework/runner-alias.js +1 -1
  252. package/lib/framework/runner.js +1 -1
  253. package/lib/framework/schema-export.js +1 -1
  254. package/lib/framework/types.js +1 -1
  255. package/lib/generated/build-info.d.ts +4 -4
  256. package/lib/generated/build-info.js +1 -1
  257. package/lib/help.js +1 -1
  258. package/lib/postinstall.js +1 -1
  259. package/lib/runtime/confirmation.js +1 -1
  260. package/lib/runtime/event.js +1 -1
  261. package/lib/runtime/index.js +1 -1
  262. package/lib/runtime/queue.js +1 -1
  263. package/lib/runtime/resolve.js +1 -1
  264. package/lib/skills/builtin-skill.js +1 -1
  265. package/lib/skills/main.js +1 -1
  266. package/lib/skills/npx-skills-add.js +1 -1
  267. package/lib/skills/skill-presence.js +1 -1
  268. package/lib/telemetry/cli-command-trace.js +1 -1
  269. package/lib/telemetry/cli-help-trace.js +1 -1
  270. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  271. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  272. package/lib/telemetry/send-cli-trace-log.js +1 -1
  273. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  274. package/lib/utils/ai_config.js +1 -1
  275. package/lib/utils/apply-jq-filter.js +1 -1
  276. package/lib/utils/cdn-config.js +1 -1
  277. package/lib/utils/check-sdk-version.js +1 -1
  278. package/lib/utils/cli-version-check.js +1 -1
  279. package/lib/utils/cli-version-policy.js +1 -1
  280. package/lib/utils/config.js +1 -1
  281. package/lib/utils/entity-with-id.js +1 -1
  282. package/lib/utils/file-utils.js +1 -1
  283. package/lib/utils/guides-cdn.js +1 -1
  284. package/lib/utils/http-client.js +1 -1
  285. package/lib/utils/is-non-interactive.js +1 -1
  286. package/lib/utils/logger.js +1 -1
  287. package/lib/utils/params.js +1 -1
  288. package/lib/utils/platform.js +1 -1
  289. package/lib/utils/rules-cdn.js +1 -1
  290. package/lib/utils/sleep.js +1 -1
  291. package/lib/utils/template-replacer.js +1 -1
  292. package/lib/utils/update-notice.js +1 -1
  293. package/lib/utils/version.js +1 -1
  294. package/lib/utils/with-active-cookie.js +1 -1
  295. package/lib/utils/write-cli-side-channel.js +1 -1
  296. package/package.json +1 -1
  297. package/skills/rabetbase/SKILL.md +18 -24
  298. package/skills/rabetbase/guides/database-connection-workflow.md +6 -2
  299. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +28 -0
  300. package/skills/rabetbase/references/rabetbase-dataset-delete.md +7 -5
  301. package/skills/rabetbase/references/rabetbase-dataset-list.md +6 -6
  302. package/skills/rabetbase/references/rabetbase-dataset-restore.md +5 -5
  303. package/skills/rabetbase/references/rabetbase-db-create.md +3 -0
  304. package/skills/rabetbase/references/rabetbase-db-delete.md +10 -2
  305. package/skills/rabetbase/references/rabetbase-db-detail.md +2 -0
  306. package/skills/rabetbase/references/rabetbase-db-list.md +3 -2
  307. package/skills/rabetbase/references/rabetbase-db-update.md +4 -2
  308. package/skills/rabetbase/references/rabetbase-role-list.md +9 -17
  309. package/skills/rabetbase/references/rabetbase-role-user-add.md +44 -16
  310. package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
  311. package/skills/rabetbase.manifest.json +4 -7
  312. package/lib/commands/permit/index.js +0 -1
  313. package/lib/commands/permit/page-get.d.ts +0 -2
  314. package/lib/commands/permit/page-get.js +0 -1
  315. package/lib/commands/permit/page-set.d.ts +0 -2
  316. package/lib/commands/permit/page-set.js +0 -1
  317. package/lib/commands/permit/role-apis-set.d.ts +0 -2
  318. package/lib/commands/permit/role-apis-set.js +0 -1
  319. package/lib/commands/permit/role-menus-set.d.ts +0 -2
  320. package/lib/commands/permit/role-menus-set.js +0 -1
  321. package/lib/commands/permit/role-menus.d.ts +0 -2
  322. package/lib/commands/permit/role-menus.js +0 -1
  323. package/lib/commands/permit/shared.d.ts +0 -74
  324. package/lib/commands/permit/shared.js +0 -1
  325. package/lib/commands/role/create.d.ts +0 -2
  326. package/lib/commands/role/create.js +0 -1
  327. package/skills/rabetbase/guides/role-permit-workflow.md +0 -127
  328. package/skills/rabetbase/references/rabetbase-permit-page-set.md +0 -69
  329. package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +0 -53
  330. package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +0 -57
@@ -1 +1 @@
1
- const a111_0x1f3d87=a111_0x2ece;(function(_0x41a465,_0x2c0b24){const _0x3fcb57=a111_0x2ece,_0x57b9ed=_0x41a465();while(!![]){try{const _0x2e160c=-parseInt(_0x3fcb57(0x18e))/0x1*(parseInt(_0x3fcb57(0x181))/0x2)+-parseInt(_0x3fcb57(0x147))/0x3*(parseInt(_0x3fcb57(0x174))/0x4)+-parseInt(_0x3fcb57(0x142))/0x5*(parseInt(_0x3fcb57(0x17a))/0x6)+parseInt(_0x3fcb57(0x150))/0x7+-parseInt(_0x3fcb57(0x1b0))/0x8+-parseInt(_0x3fcb57(0x1ae))/0x9*(-parseInt(_0x3fcb57(0x13a))/0xa)+parseInt(_0x3fcb57(0x14d))/0xb;if(_0x2e160c===_0x2c0b24)break;else _0x57b9ed['push'](_0x57b9ed['shift']());}catch(_0x44e0dd){_0x57b9ed['push'](_0x57b9ed['shift']());}}}(a111_0x5bc7,0xd49bf));function a111_0x5bc7(){const _0x437ab9=['entries','sort','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','after','plan','menus','External\x20menu\x20creation\x20failed.','add','verification','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','object','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','url','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menu_permission_denied','open-mode','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Created\x20external\x20menu\x20','menu_url_invalid','menu_state_drift','External\x20HTTPS\x20URL','cause','str','menu_url_credentials_forbidden','succeeded','create\x20external\x20menu','rawerror','replace','765NbzpSS','Menu\x20','3180976RNSnBf','parentId','link','filter','POST','hasOwnProperty','byId','menu','menu\x20list','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_open_mode_invalid','Create\x20an\x20external\x20website\x20link\x20menu','Whether\x20the\x20menu\x20is\x20visible','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20could\x20not\x20be\x20verified.','menu_verification_failed','<redacted>','195350dUNjOK','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Created\x20menu\x20','appCode','recovered','\x20with\x20','menu_not_found','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','2505135ErkSDd','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','flagMissing','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Would\x20create\x20external\x20website\x20link\x20menu\x20','9507ZFjPaC','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','embedded','<platform-generated>','visibility','26845412njNeJq','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','snapshot','4146163DeKRtY','map','Run\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','string','createdId','afterPlan','bool','has','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','currentSnapshotHash','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','iframe','cookie','\x20after\x20response\x20loss.','isArray','Menu\x20label','menu_url_https_required','length','menu_parent_not_folder','URL','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','boolean','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','parent-id','expectedPath','external-link-create','parent','trim','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/create','path','lookupCommand','1844yyqHGU','visible','fromEntries','create-response-validation','code','menu_create_recovery_required','18NKuGQM','hash','type','get','failed','isSafeInteger','create-menu','131662HhFMZW','\x20--format\x20compress','menu_sort_overflow','Recovered\x20menu\x20','Recovered\x20created\x20external\x20menu\x20','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','create','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','plannedActions','How\x20to\x20open\x20the\x20external\x20website','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','expectedSnapshotHash','new-window','7iEMeCt','label','data'];a111_0x5bc7=function(){return _0x437ab9;};return a111_0x5bc7();}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':a111_0x1f3d87(0x15f),'new-window':a111_0x1f3d87(0x1b2)};export function validateExternalMenuUrl(_0x4b9c97){const _0x969cd9=a111_0x1f3d87,_0xe7f13=_0x4b9c97[_0x969cd9(0x16f)]();let _0x346401;try{_0x346401=new URL(_0xe7f13);}catch{throw menuError(_0x969cd9(0x1a4),_0x969cd9(0x149),_0x969cd9(0x148));}if(_0x346401['protocol']!=='https:')throw menuError(_0x969cd9(0x164),_0x969cd9(0x13b),'Provide\x20an\x20HTTPS\x20URL.');if(_0x346401['username']||_0x346401['password'])throw menuError(_0x969cd9(0x1a9),_0x969cd9(0x15b),_0x969cd9(0x186));return _0xe7f13;}export const menuExternalLinkCreate={'service':'menu','command':a111_0x1f3d87(0x16d),'description':a111_0x1f3d87(0x134),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x163)},{'name':'open-mode','type':a111_0x1f3d87(0x154),'required':!![],'enum':[a111_0x1f3d87(0x14a),a111_0x1f3d87(0x18d)],'description':a111_0x1f3d87(0x18a)},{'name':a111_0x1f3d87(0x19e),'type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x1a6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a111_0x1f3d87(0x175),'type':a111_0x1f3d87(0x169),'default':!![],'description':a111_0x1f3d87(0x135)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3a8a06){validateAddInput(_0x3a8a06);},async 'dryRun'(_0x4ba168){const _0x4d6cc4=a111_0x1f3d87;validateAddInput(_0x4ba168);const {plan:_0x463628}=await buildSafeAddPlan(_0x4ba168,!![]),_0x328efa=_0x463628['after'],_0x361602=createBody(_0x328efa);return menuDryRunResult(_0x463628,{'method':_0x4d6cc4(0x1b4),'url':_0x4d6cc4(0x171),'body':_0x361602,'description':_0x4d6cc4(0x146)+JSON['stringify'](_0x328efa[_0x4d6cc4(0x18f)])+_0x4d6cc4(0x13f)+_0x4ba168['str'](_0x4d6cc4(0x1a1))+_0x4d6cc4(0x19b)});},async 'execute'(_0x28ec50){const _0x1d9a90=a111_0x1f3d87;validateAddInput(_0x28ec50);const _0x5449e3=await buildSafeAddPlan(_0x28ec50,![]),{plan:_0x30429e,snapshot:_0x5ad3c6}=_0x5449e3,_0x503bbb=_0x30429e[_0x1d9a90(0x194)],_0x1fba45=buildMenuLookupCommand(_0x28ec50[_0x1d9a90(0x13d)]);await recheckAddSnapshot(_0x28ec50,_0x30429e);let _0x2ab9da;try{_0x2ab9da=await createMenuEntity(_0x28ec50[_0x1d9a90(0x13d)],_0x28ec50[_0x1d9a90(0x160)],createBody(_0x503bbb));}catch(_0x55b361){const _0x23d3a8=mapMenuApiError(_0x55b361,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x55b361)||_0x23d3a8[_0x1d9a90(0x178)]===_0x1d9a90(0x1a0))throw externalLinkCreateFailure(_0x23d3a8,_0x30429e,{'stage':_0x1d9a90(0x187),'failed':{},'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45}});return recoverAfterResponseLoss(_0x28ec50,_0x5449e3,_0x1fba45);}const _0x42a863=Number(_0x2ab9da?.['id']),_0x4b62a7=typeof _0x2ab9da?.[_0x1d9a90(0x172)]===_0x1d9a90(0x154)?_0x2ab9da[_0x1d9a90(0x172)]:'';if(!Number['isSafeInteger'](_0x42a863)||_0x42a863<=0x0||!_0x4b62a7[_0x1d9a90(0x16f)]()){const _0x12b440=menuError(_0x1d9a90(0x15a),_0x1d9a90(0x136),_0x1d9a90(0x152)+_0x1fba45+_0x1d9a90(0x193));throw externalLinkCreateFailure(_0x12b440,_0x30429e,{'stage':_0x1d9a90(0x177),'succeeded':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?[{'id':_0x42a863,'created':!![]}]:[],'failed':{'createdId':Number[_0x1d9a90(0x17f)](_0x42a863)?_0x42a863:null,'generatedPathConfirmed':Boolean(_0x4b62a7[_0x1d9a90(0x16f)]())},'warnings':[_0x1d9a90(0x15e)],'after':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?{..._0x503bbb,'id':_0x42a863,'path':_0x4b62a7}:_0x503bbb,'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45,...Number[_0x1d9a90(0x17f)](_0x42a863)&&_0x42a863>0x0?{'targetId':_0x42a863}:{}}});}const _0xa6ec9b=await readAndVerifyCreatedMenu({'appCode':_0x28ec50[_0x1d9a90(0x13d)],'cookie':_0x28ec50[_0x1d9a90(0x160)],'plan':_0x30429e,'afterPlan':_0x503bbb,'createdId':_0x42a863,'expectedPath':_0x4b62a7,'lookupCommand':_0x1fba45,'recovered':![]});return creationSuccess(_0x30429e,_0xa6ec9b[_0x1d9a90(0x14f)],_0xa6ec9b['fact'],![]);}};function validateAddInput(_0x48505c){const _0x6db613=a111_0x1f3d87;if(!_0x48505c[_0x6db613(0x1a8)](_0x6db613(0x18f))[_0x6db613(0x16f)]())throw CliErrors[_0x6db613(0x144)]('label');resolveExternalMenuType(_0x48505c),validateExternalMenuUrl(_0x48505c['str'](_0x6db613(0x19e))),parseParentId(_0x48505c,_0x6db613(0x16b)),validateSort(_0x48505c);}function resolveExternalMenuType(_0x397fb9){const _0x5dda72=a111_0x1f3d87,_0x4f1476=_0x397fb9['str'](_0x5dda72(0x1a1))['trim']();if(!_0x4f1476)throw CliErrors[_0x5dda72(0x144)](_0x5dda72(0x1a1));const _0x431788=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4f1476];if(!_0x431788)throw menuError(_0x5dda72(0x1ba),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x5dda72(0x159));return _0x431788;}async function buildAddPlan(_0x3b81eb,_0x413ed5){const _0x4c3728=a111_0x1f3d87,_0x23ec05=await fetchMutationSnapshot(_0x3b81eb,'create\x20external\x20menu'),_0x47b03f=parseParentId(_0x3b81eb,'parent-id')??null;if(_0x47b03f!=null)requireFolder(_0x23ec05,_0x47b03f);const _0x4a355a=validateSort(_0x3b81eb),_0x93c9c2=_0x4a355a??nextSiblingSort(_0x23ec05,_0x47b03f,_0x4c3728(0x1b7)),_0x4f1190=_0x3b81eb[_0x4c3728(0x1a8)](_0x4c3728(0x18f))[_0x4c3728(0x16f)](),_0x51cf22=resolveExternalMenuType(_0x3b81eb),_0x481f30=validateExternalMenuUrl(_0x3b81eb['str'](_0x4c3728(0x19e))),_0x533a96=Object['prototype'][_0x4c3728(0x1b5)]['call'](_0x3b81eb['rawFlags'],_0x4c3728(0x175))?_0x3b81eb[_0x4c3728(0x157)](_0x4c3728(0x175)):!![],_0x21b64c={'id':null,'parentId':_0x47b03f,'label':_0x4f1190,'path':_0x4c3728(0x14b),'url':_0x481f30,'type':_0x51cf22,'visible':_0x533a96,'sort':_0x93c9c2},_0x5e9dfc=buildMenuLookupCommand(_0x3b81eb['appCode']),_0x5d0e5b=mutationResult({'operation':_0x4c3728(0x198),'selector':{'parentId':_0x47b03f,'type':_0x51cf22,'label':_0x4f1190,'url':_0x481f30},'before':null,'after':_0x21b64c,'dryRun':_0x413ed5,'backend':[{'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171)}],'plannedActions':[{'stage':_0x4c3728(0x180),'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171),'body':createBody(_0x21b64c)}],'snapshotHash':_0x23ec05['hash'],'warnings':[_0x4c3728(0x19a)],'verification':{'lookupCommand':_0x5e9dfc}});return{'plan':_0x5d0e5b,'snapshot':_0x23ec05};}async function buildSafeAddPlan(_0x131e6f,_0xce74cb){try{return await buildAddPlan(_0x131e6f,_0xce74cb);}catch(_0xd12c56){throw safeMenuAddError(_0xd12c56);}}async function recheckAddSnapshot(_0x558d3b,_0x1275d1){const _0x5f1abf=a111_0x1f3d87;try{await recheckMutationSnapshot(_0x558d3b,_0x1275d1,_0x5f1abf(0x1ab));}catch(_0x449219){const _0x368d32=getFailureRecord(_0x449219);throw externalLinkCreateFailure(_0x449219,_0x1275d1,{'stage':'pre-write-recheck','failed':{..._0x368d32?.[_0x5f1abf(0x18c)]?{'expectedSnapshotHash':_0x368d32[_0x5f1abf(0x18c)]}:{},..._0x368d32?.[_0x5f1abf(0x15c)]?{'currentSnapshotHash':_0x368d32['currentSnapshotHash']}:{}}});}}function createBody(_0x41e5af){const _0x3f0a25=a111_0x1f3d87;return{'parentId':toApiParentId(_0x41e5af[_0x3f0a25(0x1b1)]),'label':String(_0x41e5af[_0x3f0a25(0x18f)]),'type':String(_0x41e5af[_0x3f0a25(0x17c)]),'url':String(_0x41e5af['url']),'visible':Boolean(_0x41e5af[_0x3f0a25(0x175)]),'sort':Number(_0x41e5af['sort']),'extend':{}};}function buildMenuLookupCommand(_0x391398){const _0x42c68c=a111_0x1f3d87,_0x261c4b='\x27'+_0x391398[_0x42c68c(0x1ad)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x42c68c(0x170)+_0x261c4b+_0x42c68c(0x182);}async function recoverAfterResponseLoss(_0x590a6f,_0x16099e,_0x2436f6){const _0x6d908d=a111_0x1f3d87,{plan:_0x182581,snapshot:_0x4bc975}=_0x16099e,_0x24d722=_0x182581[_0x6d908d(0x194)];let _0x1898c8;try{_0x1898c8=await fetchMenuSnapshot(_0x590a6f[_0x6d908d(0x13d)],_0x590a6f[_0x6d908d(0x160)]);}catch(_0x1f6b42){throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1d447b=_0x1898c8[_0x6d908d(0x196)][_0x6d908d(0x1b3)](_0x54aaa0=>_0x54aaa0[_0x6d908d(0x1b1)]===_0x24d722[_0x6d908d(0x1b1)]&&_0x54aaa0[_0x6d908d(0x17c)]===_0x24d722['type']&&_0x54aaa0[_0x6d908d(0x18f)]===_0x24d722[_0x6d908d(0x18f)]&&_0x54aaa0[_0x6d908d(0x19e)]===_0x24d722[_0x6d908d(0x19e)]),_0x227c73=_0x1d447b[_0x6d908d(0x1b3)](_0x193788=>!_0x4bc975[_0x6d908d(0x1b6)]['has'](_0x193788['id'])),_0x227aae=_0x1d447b[_0x6d908d(0x1b3)](_0x41cd1a=>_0x4bc975[_0x6d908d(0x1b6)][_0x6d908d(0x158)](_0x41cd1a['id']));if(_0x1d447b[_0x6d908d(0x165)]!==0x1||_0x227c73[_0x6d908d(0x165)]!==0x1)throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':_0x1d447b['length'],'newMatchCount':_0x227c73[_0x6d908d(0x165)],'preexistingMatchCount':_0x227aae[_0x6d908d(0x165)]});const _0x4bd31f=_0x227c73[0x0];try{verifyCreatedFact(_0x4bd31f,_0x4bd31f['id'],_0x24d722,null);}catch(_0x5524b5){const _0x457331=_0x5524b5 instanceof Error&&'code'in _0x5524b5?_0x5524b5:menuError(_0x6d908d(0x138),_0x6d908d(0x184)+_0x4bd31f['id']+_0x6d908d(0x137),'Run\x20'+_0x2436f6+_0x6d908d(0x18b));throw externalLinkCreateFailure(_0x457331,_0x182581,{'stage':_0x6d908d(0x199),'succeeded':[{'id':_0x4bd31f['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4bd31f['id'],'finalFactsConfirmed':![]},'after':_0x4bd31f,'warnings':[_0x6d908d(0x1af)+_0x4bd31f['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x4bd31f['id'],'recovered':!![],'lookupCommand':_0x2436f6}});}return creationSuccess(_0x182581,_0x1898c8,_0x4bd31f,!![]);}function recoveryRequiredFailure(_0x1a95ef,_0x1c344a,_0x15fb24){const _0x3ca68d=a111_0x1f3d87,_0x44e37c=menuError(_0x3ca68d(0x179),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x3ca68d(0x152)+_0x1c344a+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x44e37c,_0x1a95ef,{'stage':'create-recovery','failed':_0x15fb24,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x3ca68d(0x17e),..._0x15fb24,'lookupCommand':_0x1c344a}});}async function readAndVerifyCreatedMenu(_0x52c791){const _0x2fe1bc=a111_0x1f3d87;let _0x79a4f1;try{_0x79a4f1=await fetchMenuSnapshot(_0x52c791[_0x2fe1bc(0x13d)],_0x52c791['cookie']);}catch(_0xe49af7){const _0x1b435e=menuError(_0x2fe1bc(0x138),'Menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+_0x2fe1bc(0x188),_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0x1b435e,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791[_0x2fe1bc(0x155)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x52c791[_0x2fe1bc(0x156)],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':['Menu\x20'+_0x52c791['createdId']+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'lookupCommand':_0x52c791['lookupCommand']}});}const _0x1fa094=_0x79a4f1[_0x2fe1bc(0x1b6)][_0x2fe1bc(0x17d)](_0x52c791['createdId']);try{if(!_0x1fa094)throw menuError('menu_verification_failed',_0x2fe1bc(0x13c)+_0x52c791[_0x2fe1bc(0x155)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x1fa094,_0x52c791[_0x2fe1bc(0x155)],_0x52c791['afterPlan'],_0x52c791[_0x2fe1bc(0x16c)]);}catch(_0x506ffa){const _0xe55d5f=_0x506ffa instanceof Error&&'code'in _0x506ffa?_0x506ffa:menuError(_0x2fe1bc(0x138),'Created\x20menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+'\x20failed\x20final\x20verification.',_0x2fe1bc(0x152)+_0x52c791['lookupCommand']+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0xe55d5f,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791['createdId'],'finalFactsConfirmed':![]},'after':_0x1fa094??{..._0x52c791['afterPlan'],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':[_0x2fe1bc(0x1af)+_0x52c791['createdId']+_0x2fe1bc(0x19d)],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'recovered':_0x52c791[_0x2fe1bc(0x13e)],'lookupCommand':_0x52c791[_0x2fe1bc(0x173)]}});}return{'snapshot':_0x79a4f1,'fact':_0x1fa094};}function verifyCreatedFact(_0x26ce7f,_0x3b8559,_0x44ea1b,_0x39e190){const _0x2b5c5c=a111_0x1f3d87;if(!Number[_0x2b5c5c(0x17f)](_0x26ce7f['id'])||_0x26ce7f['id']<=0x0||_0x26ce7f['id']!==_0x3b8559)throw menuError('menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x345e96=[[_0x2b5c5c(0x16e),_0x26ce7f[_0x2b5c5c(0x1b1)],_0x44ea1b[_0x2b5c5c(0x1b1)]],['type',_0x26ce7f['type'],_0x44ea1b[_0x2b5c5c(0x17c)]],[_0x2b5c5c(0x18f),_0x26ce7f[_0x2b5c5c(0x18f)],_0x44ea1b[_0x2b5c5c(0x18f)]],[_0x2b5c5c(0x167),_0x26ce7f['url'],_0x44ea1b[_0x2b5c5c(0x19e)]],[_0x2b5c5c(0x14c),_0x26ce7f[_0x2b5c5c(0x175)],_0x44ea1b[_0x2b5c5c(0x175)]],[_0x2b5c5c(0x192),_0x26ce7f[_0x2b5c5c(0x192)],_0x44ea1b['sort']]];for(const [_0x49369c,_0x2b43d1,_0x2c2c0a]of _0x345e96){if(_0x2b43d1!==_0x2c2c0a)throw menuError(_0x2b5c5c(0x138),_0x2b5c5c(0x13c)+_0x26ce7f['id']+'\x20has\x20an\x20unexpected\x20'+_0x49369c+'.',_0x2b5c5c(0x143));}if(!_0x26ce7f[_0x2b5c5c(0x172)][_0x2b5c5c(0x16f)]()||_0x39e190!==null&&_0x26ce7f[_0x2b5c5c(0x172)]!==_0x39e190)throw menuError(_0x2b5c5c(0x138),'Created\x20menu\x20'+_0x26ce7f['id']+_0x2b5c5c(0x153),_0x2b5c5c(0x143));}function creationSuccess(_0x4b7e66,_0x517a1d,_0x5f41dd,_0x492830){const _0x4c4d8a=a111_0x1f3d87,_0x561231=mutationResult({..._0x4b7e66,'after':_0x5f41dd,'dryRun':![],'succeeded':[{'id':_0x5f41dd['id'],'created':!![],'recovered':_0x492830}],'verification':{'checkedBy':_0x4c4d8a(0x1b8),'snapshotHash':_0x517a1d[_0x4c4d8a(0x17b)],'targetId':_0x5f41dd['id'],'recovered':_0x492830,'path':_0x5f41dd[_0x4c4d8a(0x172)]}});return{'ok':!![],'message':_0x492830?_0x4c4d8a(0x185)+_0x5f41dd['id']+_0x4c4d8a(0x161):_0x4c4d8a(0x1a3)+_0x5f41dd['id']+'.','data':{..._0x561231,'recovered':_0x492830}};}function a111_0x2ece(_0x54e598,_0x16e357){_0x54e598=_0x54e598-0x134;const _0x5bc769=a111_0x5bc7();let _0x2ece6c=_0x5bc769[_0x54e598];return _0x2ece6c;}function externalLinkCreateFailure(_0xccf20,_0x905185,_0x48b08a){const _0xc69bc2=a111_0x1f3d87;return menuFailure(safeMenuAddError(_0xccf20),redactFailurePlan(_0x905185),{..._0x48b08a,'succeeded':_0x48b08a[_0xc69bc2(0x1aa)]?.['map'](redactFailureRecord),'failed':_0x48b08a[_0xc69bc2(0x17e)]?redactFailureRecord(_0x48b08a['failed']):undefined,'verification':_0x48b08a[_0xc69bc2(0x199)]?redactFailureRecord(_0x48b08a[_0xc69bc2(0x199)]):undefined,'after':_0x48b08a[_0xc69bc2(0x194)]===undefined?undefined:redactFailureValue(_0x48b08a['after'])});}function redactFailurePlan(_0x40ed47){const _0x5550ba=a111_0x1f3d87;return{..._0x40ed47,'selector':redactFailureRecord(_0x40ed47['selector']),'before':redactFailureValue(_0x40ed47['before']),'after':redactFailureValue(_0x40ed47[_0x5550ba(0x194)]),'plannedActions':_0x40ed47[_0x5550ba(0x189)]?.[_0x5550ba(0x151)](_0x183485=>({..._0x183485,'body':redactFailureRecord(_0x183485['body'])})),'succeeded':_0x40ed47[_0x5550ba(0x1aa)][_0x5550ba(0x151)](redactFailureRecord),'failed':_0x40ed47['failed']['map'](redactFailureRecord),'verification':_0x40ed47['verification']?redactFailureRecord(_0x40ed47[_0x5550ba(0x199)]):undefined};}function redactFailureRecord(_0x8cd39d){return redactFailureValue(_0x8cd39d);}function redactFailureValue(_0x1b6744,_0x27471b=''){const _0x567106=a111_0x1f3d87,_0x22fe8d=_0x27471b['toLowerCase']()[_0x567106(0x1ad)](/[^a-z0-9]/g,'');if([_0x567106(0x1a7),'causemessage','readbackerror',_0x567106(0x1ac)]['includes'](_0x22fe8d))return _0x567106(0x139);if(Array[_0x567106(0x162)](_0x1b6744))return _0x1b6744[_0x567106(0x151)](_0xdd9231=>redactFailureValue(_0xdd9231));if(_0x1b6744&&typeof _0x1b6744==='object')return Object[_0x567106(0x176)](Object[_0x567106(0x191)](_0x1b6744)[_0x567106(0x151)](([_0x534eaa,_0x46af0f])=>[_0x534eaa,redactFailureValue(_0x46af0f,_0x534eaa)]));return _0x1b6744;}function safeMenuAddError(_0x33be56){const _0x43b657=a111_0x1f3d87,_0x30aeb3=_0x33be56 instanceof CliError?_0x33be56['code']:_0x43b657(0x15d);switch(_0x30aeb3){case _0x43b657(0x1a5):return menuError(_0x30aeb3,_0x43b657(0x1b9),_0x43b657(0x141));case _0x43b657(0x1a0):return menuError(_0x30aeb3,_0x43b657(0x19f),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x43b657(0x15a):return menuError(_0x30aeb3,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x43b657(0x14e));case _0x43b657(0x138):return menuError(_0x30aeb3,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x30aeb3,_0x43b657(0x16a),_0x43b657(0x145));case _0x43b657(0x15d):case _0x43b657(0x140):case _0x43b657(0x166):case'menu_sort_invalid':case _0x43b657(0x183):return menuError(_0x30aeb3,_0x43b657(0x197),_0x43b657(0x1a2));default:return menuError(_0x43b657(0x15d),_0x43b657(0x197),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0xc5191a){const _0x5cf210=a111_0x1f3d87;if(!(_0xc5191a instanceof Error)||!(_0x5cf210(0x190)in _0xc5191a))return undefined;const _0x4d898e=_0xc5191a[_0x5cf210(0x190)];if(!_0x4d898e||typeof _0x4d898e!==_0x5cf210(0x19c))return undefined;const _0x120154=_0x4d898e[_0x5cf210(0x17e)];if(!Array[_0x5cf210(0x162)](_0x120154)||!_0x120154[0x0]||typeof _0x120154[0x0]!==_0x5cf210(0x19c))return undefined;return _0x120154[0x0];}
1
+ function a112_0x275e(){const _0xcbefd7=['embedded','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','afterPlan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','plan','rawerror','type','length','Run\x20','rawFlags','7vhKacS','write','verification','snapshot','\x27\x5c\x27\x27','menu_mutation_failed','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','readbackerror','1020SSbZpH','4362444kunvMX','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','recovered','expectedPath','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','create','29012cBhGgE','external-link-create','replace','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Recovered\x20menu\x20','menu_not_found','\x20could\x20not\x20be\x20verified.','new-window','External\x20HTTPS\x20URL','Menu\x20','lookupCommand','after','<platform-generated>','10591808GTlvcP','\x20with\x20','create-recovery','hasOwnProperty','parentId','call','fromEntries','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','menu_parent_not_folder','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','open-mode','menu_url_credentials_forbidden','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','string','/smartapi/menu/create','path','6ExzOYl','expectedSnapshotHash','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','code','currentSnapshotHash','menu_permission_denied','menu_sort_invalid','visible','prototype','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','appCode','\x20has\x20an\x20unexpected\x20','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu_open_mode_invalid','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','5953045VeoETl','fact','succeeded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','before','trim','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','has','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','sort','selector','hash','menu','str','Provide\x20an\x20HTTPS\x20URL.','cause','username','cookie','menu_sort_overflow','data','url','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','filter','407330KsijYs','menu_state_drift','isSafeInteger','causemessage','failed','get','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_verification_failed','includes','toLowerCase','198izTVCW','Whether\x20the\x20menu\x20is\x20visible','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu_create_recovery_required','Created\x20menu\x20','create\x20external\x20menu','\x20has\x20an\x20unexpected\x20generated\x20path.','Recovered\x20created\x20external\x20menu\x20','parent-id','map','How\x20to\x20open\x20the\x20external\x20website','stringify','220fpajaV','POST','menus','object','byId','entries','391560Bjttfw','label','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','302229cUvTfd','menu_url_https_required','protocol','menu_url_invalid','Created\x20external\x20menu\x20','password','\x20--format\x20compress','body','Menu\x20label','create-response-validation','createdId','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','isArray','link'];a112_0x275e=function(){return _0xcbefd7;};return a112_0x275e();}const a112_0x3f0f28=a112_0x5d1c;(function(_0x2ad535,_0x260565){const _0x1fbb32=a112_0x5d1c,_0x31b9b1=_0x2ad535();while(!![]){try{const _0x564336=parseInt(_0x1fbb32(0x11a))/0x1*(parseInt(_0x1fbb32(0xe0))/0x2)+-parseInt(_0x1fbb32(0x123))/0x3+parseInt(_0x1fbb32(0x12a))/0x4*(parseInt(_0x1fbb32(0x122))/0x5)+parseInt(_0x1fbb32(0xb6))/0x6*(parseInt(_0x1fbb32(0xc7))/0x7)+-parseInt(_0x1fbb32(0x137))/0x8+-parseInt(_0x1fbb32(0x101))/0x9*(parseInt(_0x1fbb32(0xf7))/0xa)+parseInt(_0x1fbb32(0xea))/0xb*(parseInt(_0x1fbb32(0xfd))/0xc);if(_0x564336===_0x260565)break;else _0x31b9b1['push'](_0x31b9b1['shift']());}catch(_0x42e008){_0x31b9b1['push'](_0x31b9b1['shift']());}}}(a112_0x275e,0xc9b18));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a112_0x3f0f28(0x10e)};export function validateExternalMenuUrl(_0xd087b8){const _0x5e5a78=a112_0x3f0f28,_0x3d4c85=_0xd087b8[_0x5e5a78(0xcc)]();let _0x1c9aea;try{_0x1c9aea=new URL(_0x3d4c85);}catch{throw menuError(_0x5e5a78(0x104),_0x5e5a78(0x120),_0x5e5a78(0xb2));}if(_0x1c9aea[_0x5e5a78(0x103)]!=='https:')throw menuError(_0x5e5a78(0x102),_0x5e5a78(0xc0),_0x5e5a78(0xd7));if(_0x1c9aea[_0x5e5a78(0xd9)]||_0x1c9aea[_0x5e5a78(0x106)])throw menuError(_0x5e5a78(0xb1),_0x5e5a78(0xff),_0x5e5a78(0x113));return _0x3d4c85;}export const menuExternalLinkCreate={'service':a112_0x3f0f28(0xd5),'command':a112_0x3f0f28(0x12b),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a112_0x3f0f28(0x11b),'structuredErrors':!![],'flags':[{'name':a112_0x3f0f28(0xfe),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x109)},{'name':'open-mode','type':'string','required':!![],'enum':[a112_0x3f0f28(0x10f),a112_0x3f0f28(0x131)],'description':a112_0x3f0f28(0xf5)},{'name':a112_0x3f0f28(0xdd),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x132)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3f0f28(0xbd),'type':'boolean','default':!![],'description':a112_0x3f0f28(0xeb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4cce07){validateAddInput(_0x4cce07);},async 'dryRun'(_0x402269){const _0x1fc569=a112_0x3f0f28;validateAddInput(_0x402269);const {plan:_0x456b28}=await buildSafeAddPlan(_0x402269,!![]),_0x101ee5=_0x456b28[_0x1fc569(0x135)],_0x31b462=createBody(_0x101ee5);return menuDryRunResult(_0x456b28,{'method':_0x1fc569(0xf8),'url':_0x1fc569(0xb4),'body':_0x31b462,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x1fc569(0xf6)](_0x101ee5['label'])+_0x1fc569(0x138)+_0x402269[_0x1fc569(0xd6)](_0x1fc569(0xb0))+_0x1fc569(0x128)});},async 'execute'(_0x5c95d2){const _0x29413a=a112_0x3f0f28;validateAddInput(_0x5c95d2);const _0x19c566=await buildSafeAddPlan(_0x5c95d2,![]),{plan:_0x10aad2,snapshot:_0x321093}=_0x19c566,_0x1c5dda=_0x10aad2[_0x29413a(0x135)],_0xfdf5ec=buildMenuLookupCommand(_0x5c95d2[_0x29413a(0xc2)]);await recheckAddSnapshot(_0x5c95d2,_0x10aad2);let _0xd3dc46;try{_0xd3dc46=await createMenuEntity(_0x5c95d2[_0x29413a(0xc2)],_0x5c95d2[_0x29413a(0xda)],createBody(_0x1c5dda));}catch(_0x44fe2e){const _0xc27100=mapMenuApiError(_0x44fe2e,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x44fe2e)||_0xc27100[_0x29413a(0xb9)]===_0x29413a(0xbb))throw externalLinkCreateFailure(_0xc27100,_0x10aad2,{'stage':_0x29413a(0x129),'failed':{},'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec}});return recoverAfterResponseLoss(_0x5c95d2,_0x19c566,_0xfdf5ec);}const _0xa7247=Number(_0xd3dc46?.['id']),_0x2ab681=typeof _0xd3dc46?.[_0x29413a(0xb5)]==='string'?_0xd3dc46['path']:'';if(!Number[_0x29413a(0xe2)](_0xa7247)||_0xa7247<=0x0||!_0x2ab681[_0x29413a(0xcc)]()){const _0x58d046=menuError(_0x29413a(0xbf),_0x29413a(0x124),_0x29413a(0x118)+_0xfdf5ec+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x58d046,_0x10aad2,{'stage':_0x29413a(0x10a),'succeeded':Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?[{'id':_0xa7247,'created':!![]}]:[],'failed':{'createdId':Number[_0x29413a(0xe2)](_0xa7247)?_0xa7247:null,'generatedPathConfirmed':Boolean(_0x2ab681[_0x29413a(0xcc)]())},'warnings':[_0x29413a(0x112)],'after':Number[_0x29413a(0xe2)](_0xa7247)&&_0xa7247>0x0?{..._0x1c5dda,'id':_0xa7247,'path':_0x2ab681}:_0x1c5dda,'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec,...Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?{'targetId':_0xa7247}:{}}});}const _0x1a00d8=await readAndVerifyCreatedMenu({'appCode':_0x5c95d2['appCode'],'cookie':_0x5c95d2[_0x29413a(0xda)],'plan':_0x10aad2,'afterPlan':_0x1c5dda,'createdId':_0xa7247,'expectedPath':_0x2ab681,'lookupCommand':_0xfdf5ec,'recovered':![]});return creationSuccess(_0x10aad2,_0x1a00d8[_0x29413a(0x11d)],_0x1a00d8[_0x29413a(0xc8)],![]);}};function validateAddInput(_0x43dfbb){const _0xe49992=a112_0x3f0f28;if(!_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xfe))['trim']())throw CliErrors['flagMissing'](_0xe49992(0xfe));resolveExternalMenuType(_0x43dfbb),validateExternalMenuUrl(_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xdd))),parseParentId(_0x43dfbb,_0xe49992(0xf3)),validateSort(_0x43dfbb);}function resolveExternalMenuType(_0xea5d28){const _0x4bb89f=a112_0x3f0f28,_0x43981c=_0xea5d28[_0x4bb89f(0xd6)](_0x4bb89f(0xb0))[_0x4bb89f(0xcc)]();if(!_0x43981c)throw CliErrors['flagMissing'](_0x4bb89f(0xb0));const _0x5b1c43=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x43981c];if(!_0x5b1c43)throw menuError(_0x4bb89f(0xc5),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x5b1c43;}async function buildAddPlan(_0x250eb6,_0x462746){const _0x18ae1f=a112_0x3f0f28,_0x24f96f=await fetchMutationSnapshot(_0x250eb6,'create\x20external\x20menu'),_0x31edd2=parseParentId(_0x250eb6,'parent-id')??null;if(_0x31edd2!=null)requireFolder(_0x24f96f,_0x31edd2);const _0x5596d0=validateSort(_0x250eb6),_0x378d3d=_0x5596d0??nextSiblingSort(_0x24f96f,_0x31edd2,_0x18ae1f(0xd5)),_0x5813f1=_0x250eb6[_0x18ae1f(0xd6)](_0x18ae1f(0xfe))['trim'](),_0x33a917=resolveExternalMenuType(_0x250eb6),_0x11b30d=validateExternalMenuUrl(_0x250eb6['str'](_0x18ae1f(0xdd))),_0x4f2cc1=Object[_0x18ae1f(0xbe)][_0x18ae1f(0x13a)][_0x18ae1f(0x13c)](_0x250eb6[_0x18ae1f(0x119)],_0x18ae1f(0xbd))?_0x250eb6['bool'](_0x18ae1f(0xbd)):!![],_0x5c0149={'id':null,'parentId':_0x31edd2,'label':_0x5813f1,'path':_0x18ae1f(0x136),'url':_0x11b30d,'type':_0x33a917,'visible':_0x4f2cc1,'sort':_0x378d3d},_0x4f9fad=buildMenuLookupCommand(_0x250eb6[_0x18ae1f(0xc2)]),_0x452fbf=mutationResult({'operation':'add','selector':{'parentId':_0x31edd2,'type':_0x33a917,'label':_0x5813f1,'url':_0x11b30d},'before':null,'after':_0x5c0149,'dryRun':_0x462746,'backend':[{'method':_0x18ae1f(0xf8),'path':_0x18ae1f(0xb4)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x5c0149)}],'snapshotHash':_0x24f96f[_0x18ae1f(0xd4)],'warnings':[_0x18ae1f(0xc4)],'verification':{'lookupCommand':_0x4f9fad}});return{'plan':_0x452fbf,'snapshot':_0x24f96f};}async function buildSafeAddPlan(_0x49e338,_0x134da0){try{return await buildAddPlan(_0x49e338,_0x134da0);}catch(_0x51c234){throw safeMenuAddError(_0x51c234);}}async function recheckAddSnapshot(_0x216df0,_0x56b810){const _0xdb17a3=a112_0x3f0f28;try{await recheckMutationSnapshot(_0x216df0,_0x56b810,_0xdb17a3(0xf0));}catch(_0x246f50){const _0x48ef6a=getFailureRecord(_0x246f50);throw externalLinkCreateFailure(_0x246f50,_0x56b810,{'stage':'pre-write-recheck','failed':{..._0x48ef6a?.[_0xdb17a3(0xb7)]?{'expectedSnapshotHash':_0x48ef6a[_0xdb17a3(0xb7)]}:{},..._0x48ef6a?.[_0xdb17a3(0xba)]?{'currentSnapshotHash':_0x48ef6a['currentSnapshotHash']}:{}}});}}function createBody(_0x3099e1){const _0x41d5cb=a112_0x3f0f28;return{'parentId':toApiParentId(_0x3099e1[_0x41d5cb(0x13b)]),'label':String(_0x3099e1[_0x41d5cb(0xfe)]),'type':String(_0x3099e1['type']),'url':String(_0x3099e1[_0x41d5cb(0xdd)]),'visible':Boolean(_0x3099e1[_0x41d5cb(0xbd)]),'sort':Number(_0x3099e1[_0x41d5cb(0xd2)]),'extend':{}};}function buildMenuLookupCommand(_0xdc252b){const _0x356762=a112_0x3f0f28,_0x507076='\x27'+_0xdc252b[_0x356762(0x12c)](/'/g,_0x356762(0x11e))+'\x27';return _0x356762(0xec)+_0x507076+_0x356762(0x107);}async function recoverAfterResponseLoss(_0x5958a2,_0x937cac,_0x26783d){const _0x7a0295=a112_0x3f0f28,{plan:_0x2d3490,snapshot:_0x65fb84}=_0x937cac,_0x5a7a96=_0x2d3490[_0x7a0295(0x135)];let _0x54b2eb;try{_0x54b2eb=await fetchMenuSnapshot(_0x5958a2[_0x7a0295(0xc2)],_0x5958a2[_0x7a0295(0xda)]);}catch(_0x4b7fde){throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x28aab0=_0x54b2eb[_0x7a0295(0xf9)][_0x7a0295(0xdf)](_0x4f8da8=>_0x4f8da8[_0x7a0295(0x13b)]===_0x5a7a96[_0x7a0295(0x13b)]&&_0x4f8da8[_0x7a0295(0x116)]===_0x5a7a96[_0x7a0295(0x116)]&&_0x4f8da8[_0x7a0295(0xfe)]===_0x5a7a96['label']&&_0x4f8da8['url']===_0x5a7a96['url']),_0x42ab02=_0x28aab0['filter'](_0x39e9e0=>!_0x65fb84[_0x7a0295(0xfb)][_0x7a0295(0xce)](_0x39e9e0['id'])),_0x55abee=_0x28aab0[_0x7a0295(0xdf)](_0x28b2f9=>_0x65fb84[_0x7a0295(0xfb)]['has'](_0x28b2f9['id']));if(_0x28aab0[_0x7a0295(0x117)]!==0x1||_0x42ab02[_0x7a0295(0x117)]!==0x1)throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':_0x28aab0[_0x7a0295(0x117)],'newMatchCount':_0x42ab02[_0x7a0295(0x117)],'preexistingMatchCount':_0x55abee[_0x7a0295(0x117)]});const _0x3cba92=_0x42ab02[0x0];try{verifyCreatedFact(_0x3cba92,_0x3cba92['id'],_0x5a7a96,null);}catch(_0x20ef91){const _0x268e0d=_0x20ef91 instanceof Error&&_0x7a0295(0xb9)in _0x20ef91?_0x20ef91:menuError(_0x7a0295(0xe7),_0x7a0295(0x12e)+_0x3cba92['id']+_0x7a0295(0x130),_0x7a0295(0x118)+_0x26783d+_0x7a0295(0xde));throw externalLinkCreateFailure(_0x268e0d,_0x2d3490,{'stage':_0x7a0295(0x11c),'succeeded':[{'id':_0x3cba92['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3cba92['id'],'finalFactsConfirmed':![]},'after':_0x3cba92,'warnings':['Menu\x20'+_0x3cba92['id']+_0x7a0295(0xc1)],'verification':{'status':'failed','targetId':_0x3cba92['id'],'recovered':!![],'lookupCommand':_0x26783d}});}return creationSuccess(_0x2d3490,_0x54b2eb,_0x3cba92,!![]);}function recoveryRequiredFailure(_0x5e1455,_0x11dc4d,_0x515b86){const _0x2a5ed7=a112_0x3f0f28,_0x2c05be=menuError('menu_create_recovery_required',_0x2a5ed7(0xed),_0x2a5ed7(0x118)+_0x11dc4d+_0x2a5ed7(0xaf));return externalLinkCreateFailure(_0x2c05be,_0x5e1455,{'stage':_0x2a5ed7(0x139),'failed':_0x515b86,'warnings':[_0x2a5ed7(0xcf)],'verification':{'status':'failed',..._0x515b86,'lookupCommand':_0x11dc4d}});}async function readAndVerifyCreatedMenu(_0x312d6e){const _0x23bc91=a112_0x3f0f28;let _0x333acd;try{_0x333acd=await fetchMenuSnapshot(_0x312d6e[_0x23bc91(0xc2)],_0x312d6e[_0x23bc91(0xda)]);}catch(_0x54fa7d){const _0x582581=menuError(_0x23bc91(0xe7),_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xcd),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x582581,_0x312d6e[_0x23bc91(0x114)],{'stage':_0x23bc91(0x11c),'succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x312d6e['afterPlan'],'id':_0x312d6e[_0x23bc91(0x10b)],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'lookupCommand':_0x312d6e['lookupCommand']}});}const _0x58dde9=_0x333acd[_0x23bc91(0xfb)][_0x23bc91(0xe5)](_0x312d6e['createdId']);try{if(!_0x58dde9)throw menuError('menu_verification_failed',_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0x140),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));verifyCreatedFact(_0x58dde9,_0x312d6e['createdId'],_0x312d6e[_0x23bc91(0x111)],_0x312d6e[_0x23bc91(0x127)]);}catch(_0x2097cb){const _0x274331=_0x2097cb instanceof Error&&_0x23bc91(0xb9)in _0x2097cb?_0x2097cb:menuError(_0x23bc91(0xe7),_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+'\x20failed\x20final\x20verification.',_0x23bc91(0x118)+_0x312d6e['lookupCommand']+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x274331,_0x312d6e['plan'],{'stage':'verification','succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![]},'after':_0x58dde9??{..._0x312d6e[_0x23bc91(0x111)],'id':_0x312d6e['createdId'],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xd0)],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'recovered':_0x312d6e[_0x23bc91(0x126)],'lookupCommand':_0x312d6e[_0x23bc91(0x134)]}});}return{'snapshot':_0x333acd,'fact':_0x58dde9};}function verifyCreatedFact(_0x47b949,_0x160f16,_0x43708d,_0x3574cb){const _0x1dff70=a112_0x3f0f28;if(!Number[_0x1dff70(0xe2)](_0x47b949['id'])||_0x47b949['id']<=0x0||_0x47b949['id']!==_0x160f16)throw menuError(_0x1dff70(0xe7),_0x1dff70(0xc6),_0x1dff70(0x100));const _0x1ee7a0=[['parent',_0x47b949['parentId'],_0x43708d[_0x1dff70(0x13b)]],['type',_0x47b949[_0x1dff70(0x116)],_0x43708d[_0x1dff70(0x116)]],[_0x1dff70(0xfe),_0x47b949['label'],_0x43708d['label']],['URL',_0x47b949['url'],_0x43708d[_0x1dff70(0xdd)]],['visibility',_0x47b949['visible'],_0x43708d[_0x1dff70(0xbd)]],[_0x1dff70(0xd2),_0x47b949[_0x1dff70(0xd2)],_0x43708d['sort']]];for(const [_0x209cdf,_0x3f179e,_0x4da756]of _0x1ee7a0){if(_0x3f179e!==_0x4da756)throw menuError('menu_verification_failed',_0x1dff70(0xef)+_0x47b949['id']+_0x1dff70(0xc3)+_0x209cdf+'.',_0x1dff70(0x125));}if(!_0x47b949['path'][_0x1dff70(0xcc)]()||_0x3574cb!==null&&_0x47b949[_0x1dff70(0xb5)]!==_0x3574cb)throw menuError(_0x1dff70(0xe7),'Created\x20menu\x20'+_0x47b949['id']+_0x1dff70(0xf1),_0x1dff70(0x125));}function creationSuccess(_0x154152,_0x44cb98,_0x13dded,_0xbb05b){const _0x337b40=a112_0x3f0f28,_0x3bdc6c=mutationResult({..._0x154152,'after':_0x13dded,'dryRun':![],'succeeded':[{'id':_0x13dded['id'],'created':!![],'recovered':_0xbb05b}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44cb98[_0x337b40(0xd4)],'targetId':_0x13dded['id'],'recovered':_0xbb05b,'path':_0x13dded[_0x337b40(0xb5)]}});return{'ok':!![],'message':_0xbb05b?_0x337b40(0xf2)+_0x13dded['id']+'\x20after\x20response\x20loss.':_0x337b40(0x105)+_0x13dded['id']+'.','data':{..._0x3bdc6c,'recovered':_0xbb05b}};}function externalLinkCreateFailure(_0x180763,_0x3024e6,_0x157943){const _0x371381=a112_0x3f0f28;return menuFailure(safeMenuAddError(_0x180763),redactFailurePlan(_0x3024e6),{..._0x157943,'succeeded':_0x157943['succeeded']?.[_0x371381(0xf4)](redactFailureRecord),'failed':_0x157943[_0x371381(0xe4)]?redactFailureRecord(_0x157943[_0x371381(0xe4)]):undefined,'verification':_0x157943[_0x371381(0x11c)]?redactFailureRecord(_0x157943[_0x371381(0x11c)]):undefined,'after':_0x157943[_0x371381(0x135)]===undefined?undefined:redactFailureValue(_0x157943[_0x371381(0x135)])});}function redactFailurePlan(_0x18c013){const _0x250f16=a112_0x3f0f28;return{..._0x18c013,'selector':redactFailureRecord(_0x18c013[_0x250f16(0xd3)]),'before':redactFailureValue(_0x18c013[_0x250f16(0xcb)]),'after':redactFailureValue(_0x18c013[_0x250f16(0x135)]),'plannedActions':_0x18c013['plannedActions']?.[_0x250f16(0xf4)](_0x4a877b=>({..._0x4a877b,'body':redactFailureRecord(_0x4a877b[_0x250f16(0x108)])})),'succeeded':_0x18c013[_0x250f16(0xc9)][_0x250f16(0xf4)](redactFailureRecord),'failed':_0x18c013[_0x250f16(0xe4)][_0x250f16(0xf4)](redactFailureRecord),'verification':_0x18c013[_0x250f16(0x11c)]?redactFailureRecord(_0x18c013[_0x250f16(0x11c)]):undefined};}function redactFailureRecord(_0x585ae8){return redactFailureValue(_0x585ae8);}function redactFailureValue(_0x3da5d0,_0x28bd17=''){const _0xd99532=a112_0x3f0f28,_0x59b434=_0x28bd17[_0xd99532(0xe9)]()[_0xd99532(0x12c)](/[^a-z0-9]/g,'');if([_0xd99532(0xd8),_0xd99532(0xe3),_0xd99532(0x121),_0xd99532(0x115)][_0xd99532(0xe8)](_0x59b434))return'<redacted>';if(Array['isArray'](_0x3da5d0))return _0x3da5d0[_0xd99532(0xf4)](_0x2d610a=>redactFailureValue(_0x2d610a));if(_0x3da5d0&&typeof _0x3da5d0===_0xd99532(0xfa))return Object[_0xd99532(0x13d)](Object[_0xd99532(0xfc)](_0x3da5d0)[_0xd99532(0xf4)](([_0x301ccc,_0x3ab06d])=>[_0x301ccc,redactFailureValue(_0x3ab06d,_0x301ccc)]));return _0x3da5d0;}function safeMenuAddError(_0x524c48){const _0xc26943=a112_0x3f0f28,_0x1b0de5=_0x524c48 instanceof CliError?_0x524c48[_0xc26943(0xb9)]:'menu_mutation_failed';switch(_0x1b0de5){case _0xc26943(0xe1):return menuError(_0x1b0de5,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0xc26943(0xb8));case'menu_permission_denied':return menuError(_0x1b0de5,_0xc26943(0x110),_0xc26943(0xca));case _0xc26943(0xbf):return menuError(_0x1b0de5,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0xc26943(0x12d));case _0xc26943(0xe7):return menuError(_0x1b0de5,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0xc26943(0xee):return menuError(_0x1b0de5,_0xc26943(0x13e),_0xc26943(0xd1));case _0xc26943(0x11f):case _0xc26943(0x12f):case _0xc26943(0x13f):case _0xc26943(0xbc):case _0xc26943(0xdb):return menuError(_0x1b0de5,'External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));default:return menuError('menu_mutation_failed','External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));}}function a112_0x5d1c(_0x241b70,_0x8a1f6c){_0x241b70=_0x241b70-0xaf;const _0x275ecb=a112_0x275e();let _0x5d1c00=_0x275ecb[_0x241b70];return _0x5d1c00;}function getFailureRecord(_0x299a48){const _0x3e855c=a112_0x3f0f28;if(!(_0x299a48 instanceof Error)||!(_0x3e855c(0xdc)in _0x299a48))return undefined;const _0x1efb56=_0x299a48['data'];if(!_0x1efb56||typeof _0x1efb56!=='object')return undefined;const _0xc84948=_0x1efb56[_0x3e855c(0xe4)];if(!Array[_0x3e855c(0x10d)](_0xc84948)||!_0xc84948[0x0]||typeof _0xc84948[0x0]!==_0x3e855c(0xfa))return undefined;return _0xc84948[0x0];}
@@ -1 +1 @@
1
- const a112_0x877a16=a112_0x11dd;(function(_0x3c1db9,_0x237086){const _0x2fcd28=a112_0x11dd,_0x239f0f=_0x3c1db9();while(!![]){try{const _0x1dd9ad=-parseInt(_0x2fcd28(0x8c))/0x1*(-parseInt(_0x2fcd28(0x90))/0x2)+-parseInt(_0x2fcd28(0x70))/0x3*(parseInt(_0x2fcd28(0xb2))/0x4)+-parseInt(_0x2fcd28(0xaa))/0x5*(-parseInt(_0x2fcd28(0x7f))/0x6)+parseInt(_0x2fcd28(0x6e))/0x7+-parseInt(_0x2fcd28(0x71))/0x8*(parseInt(_0x2fcd28(0x94))/0x9)+parseInt(_0x2fcd28(0x67))/0xa*(-parseInt(_0x2fcd28(0x92))/0xb)+-parseInt(_0x2fcd28(0x97))/0xc*(-parseInt(_0x2fcd28(0xa1))/0xd);if(_0x1dd9ad===_0x237086)break;else _0x239f0f['push'](_0x239f0f['shift']());}catch(_0x1f14d3){_0x239f0f['push'](_0x239f0f['shift']());}}}(a112_0x389e,0x49967));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a112_0x11dd(_0x306c0f,_0x4480e7){_0x306c0f=_0x306c0f-0x67;const _0x389ed5=a112_0x389e();let _0x11ddf5=_0x389ed5[_0x306c0f];return _0x11ddf5;}function a112_0x389e(){const _0x1c013c=['hash','childrenCount','\x20has\x20','13194zIBwtY','expect-parent-id','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','label','requestedUrlObserved','plan','/smartapi/menu/update','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','code','\x20direct\x20child\x20menu(s).','244oxpXNV','\x20already\x20matches\x20the\x20requested\x20URL.','POST','string','3156mAoeJR','menu_update_recovery_required','11WEmDdl','\x22,\x20not\x20iframe\x20or\x20link.','1656ZWVakV','update','\x20parent\x20changed:\x20expected\x20','145332nXbmet','visible','trim','Response\x20was\x20lost\x20and\x20menu\x20','body','appCode','New\x20external\x20HTTPS\x20URL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','parentId','572QOUHRS','menu_external_link_type_required','verify\x20external\x20menu\x20URL\x20update','expect-url','menu\x20list','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.',',\x20current\x20','path','685buNnfY','readbackFailed','menu','failed','cookie','byId','type','Menu\x20','810916NAVHBI','verification','Run\x20','menu_state_drift','flagMissing','sort','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','str','menu_external_link_not_leaf','5613280xqeUkn','url','menu_permission_denied','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20is\x20type\x20\x22','\x20--format\x20compress','774907xIleda','after','3JTLoel','11496yalxlU','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20could\x20not\x20be\x20verified\x20safely','link','update-external-link-url','menu_external_link_path_missing','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','update\x20external\x20menu\x20URL','\x20has\x20an\x20empty\x20platform\x20path.','Update\x20request\x20for\x20menu\x20'];a112_0x389e=function(){return _0x1c013c;};return a112_0x389e();}const BACKEND=[{'method':'POST','path':a112_0x877a16(0x87)}];export const menuExternalLinkUpdate={'service':a112_0x877a16(0xac),'command':a112_0x877a16(0x82),'description':a112_0x877a16(0x6b),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0x877a16(0x68),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9d)},{'name':a112_0x877a16(0xa4),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9e)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57a718){validateInput(_0x57a718);},async 'dryRun'(_0x1e0c67){const _0x3e16c5=a112_0x877a16;validateInput(_0x1e0c67);const _0x3d726f=await buildPlan(_0x1e0c67,!![]);return menuDryRunResult(_0x3d726f[_0x3e16c5(0x86)],{'method':_0x3e16c5(0x8e),'url':_0x3e16c5(0x87),'body':_0x3d726f['body'],'description':_0x3e16c5(0xa6)+_0x3d726f[_0x3e16c5(0x9b)]['id']+'.'});},async 'execute'(_0x466213){const _0x300a37=a112_0x877a16;validateInput(_0x466213);const _0x1a3f52=await buildPlan(_0x466213,![]),{plan:_0x31f5ff,body:_0x4bd5df,before:_0x56831a,noChanges:_0x214ad1}=_0x1a3f52,_0x5273c3=_0x4bd5df['id'];if(_0x214ad1)return updateSuccess(_0x31f5ff,_0x1a3f52['snapshot'],_0x56831a,!![],![]);await recheckMutationSnapshot(_0x466213,_0x31f5ff,_0x300a37(0x79),_0x5273c3);try{await updateMenuEntity(_0x466213[_0x300a37(0x9c)],_0x466213[_0x300a37(0xae)],{'id':_0x4bd5df['id'],'url':_0x4bd5df[_0x300a37(0x68)]});}catch(_0x9932e3){const _0x25c3d6=mapMenuApiError(_0x9932e3,'update\x20external\x20menu\x20URL',_0x5273c3);if(isMenuResponseLoss(_0x9932e3)&&_0x25c3d6[_0x300a37(0x8a)]!==_0x300a37(0x69))return recoverAfterResponseLoss(_0x466213,_0x1a3f52);throw menuFailure(_0x25c3d6,_0x31f5ff,{'stage':_0x300a37(0x95),'failed':{'id':_0x5273c3},'warnings':[_0x300a37(0x88)],'verification':{'status':'failed','targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}let _0xdc3678,_0x1d6db5;try{_0xdc3678=await fetchMenuSnapshot(_0x466213['appCode'],_0x466213[_0x300a37(0xae)]),_0x1d6db5=requireMenu(_0xdc3678,_0x5273c3),verifyUpdatedFact(_0x56831a,_0x1d6db5,_0x4bd5df[_0x300a37(0x68)]);}catch(_0xd8893c){const _0x30fc15=describeMenuErrorCause(_0xd8893c,_0x300a37(0xa3),_0x5273c3),_0x23f79e=asVerificationError(_0xd8893c,_0x300a37(0x7b)+_0x5273c3+_0x300a37(0x73));throw menuFailure(_0x23f79e,_0x31f5ff,{'stage':_0x300a37(0xb3),'succeeded':[{'id':_0x5273c3,'updateRequested':!![]}],'failed':{'id':_0x5273c3,'requestedStateConfirmed':![],..._0x30fc15},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x300a37(0xad),'targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}return updateSuccess(_0x31f5ff,_0xdc3678,_0x1d6db5,![],![]);}};function validateInput(_0x159997){const _0x10e67f=a112_0x877a16;validateExactId(_0x159997),requiredUrl(_0x159997,'url'),requiredExpectedUrl(_0x159997),parseParentId(_0x159997,_0x10e67f(0x80),{'required':!![]});}function requiredUrl(_0x5e1d87,_0x5e2475){const _0x3467da=a112_0x877a16;if(!hasFlag(_0x5e1d87,_0x5e2475)||!_0x5e1d87[_0x3467da(0xba)](_0x5e2475)[_0x3467da(0x99)]())throw CliErrors[_0x3467da(0xb6)](_0x5e2475);return validateExternalMenuUrl(_0x5e1d87[_0x3467da(0xba)](_0x5e2475));}function requiredExpectedUrl(_0x4be270){const _0xf50ea7=a112_0x877a16;if(!hasFlag(_0x4be270,_0xf50ea7(0xa4))||!_0x4be270[_0xf50ea7(0xba)](_0xf50ea7(0xa4))[_0xf50ea7(0x99)]())throw CliErrors[_0xf50ea7(0xb6)](_0xf50ea7(0xa4));return _0x4be270['str'](_0xf50ea7(0xa4))['trim']();}async function buildPlan(_0x1c3625,_0x32b0b5){const _0x29a19c=a112_0x877a16,_0x1b0a89=validateExactId(_0x1c3625),_0x2c229c=requiredUrl(_0x1c3625,'url'),_0x24b6d5=requiredExpectedUrl(_0x1c3625),_0x11d217=parseParentId(_0x1c3625,'expect-parent-id',{'required':!![]}),_0x487c01=await fetchMutationSnapshot(_0x1c3625,_0x29a19c(0x79),_0x1b0a89),_0x2da45d=requireMenu(_0x487c01,_0x1b0a89);assertExternalLinkLeaf(_0x2da45d);if(_0x2da45d[_0x29a19c(0xa0)]!==_0x11d217)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x96)+formatParent(_0x11d217)+_0x29a19c(0xa8)+formatParent(_0x2da45d[_0x29a19c(0xa0)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x1d2ee4=_0x2da45d[_0x29a19c(0x68)]===_0x2c229c;if(!_0x1d2ee4&&_0x2da45d['url']!==_0x24b6d5)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x89),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x284c54={'id':_0x1b0a89,'appCode':_0x1c3625[_0x29a19c(0x9c)],'url':_0x2c229c},_0x40be34={..._0x2da45d,'url':_0x2c229c};return{'body':_0x284c54,'before':_0x2da45d,'noChanges':_0x1d2ee4,'snapshot':_0x487c01,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x1b0a89},'before':_0x2da45d,'after':_0x40be34,'dryRun':_0x32b0b5,'backend':[...BACKEND],'plannedActions':_0x1d2ee4?[]:[{'stage':_0x29a19c(0x76),'method':_0x29a19c(0x8e),'path':_0x29a19c(0x87),'body':_0x284c54}],'snapshotHash':_0x487c01[_0x29a19c(0x7c)],'warnings':_0x1d2ee4?[_0x29a19c(0xb9)]:[]})};}function assertExternalLinkLeaf(_0x28c5df){const _0x5cd8fd=a112_0x877a16;if(_0x28c5df[_0x5cd8fd(0xb0)]!==_0x5cd8fd(0x9f)&&_0x28c5df['type']!==_0x5cd8fd(0x75))throw menuError(_0x5cd8fd(0xa2),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x6c)+(_0x28c5df['type']||'unknown')+_0x5cd8fd(0x93),_0x5cd8fd(0x81));if(_0x28c5df['childrenCount']!==0x0)throw menuError(_0x5cd8fd(0xbb),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7e)+_0x28c5df[_0x5cd8fd(0x7d)]+_0x5cd8fd(0x8b),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x28c5df['path']['trim']())throw menuError(_0x5cd8fd(0x77),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7a),_0x5cd8fd(0x72));}function verifyUpdatedFact(_0x903266,_0x5a13bb,_0x1674ce){const _0x3bb945=a112_0x877a16;assertExternalLinkLeaf(_0x5a13bb);const _0x4e35de=[['id',_0x5a13bb['id'],_0x903266['id']],['label',_0x5a13bb[_0x3bb945(0x84)],_0x903266[_0x3bb945(0x84)]],[_0x3bb945(0xb0),_0x5a13bb[_0x3bb945(0xb0)],_0x903266[_0x3bb945(0xb0)]],[_0x3bb945(0xa9),_0x5a13bb['path'],_0x903266[_0x3bb945(0xa9)]],[_0x3bb945(0xa0),_0x5a13bb[_0x3bb945(0xa0)],_0x903266[_0x3bb945(0xa0)]],[_0x3bb945(0xb7),_0x5a13bb['sort'],_0x903266[_0x3bb945(0xb7)]],[_0x3bb945(0x98),_0x5a13bb[_0x3bb945(0x98)],_0x903266[_0x3bb945(0x98)]]];for(const [_0x198d3a,_0xa5745b,_0xb88e65]of _0x4e35de){assertVerified(_0xa5745b===_0xb88e65,_0x3bb945(0xb1)+_0x903266['id']+'\x20'+_0x198d3a+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x5a13bb[_0x3bb945(0x68)]===_0x1674ce,_0x3bb945(0xb1)+_0x903266['id']+_0x3bb945(0x6a));}function updateSuccess(_0x209139,_0x532a5,_0x402bc1,_0x3da688,_0x4fa27b){const _0x4c7ee5=a112_0x877a16,_0x119f1e=_0x402bc1['id'],_0x5ab119=mutationResult({..._0x209139,'after':_0x402bc1,'dryRun':![],'succeeded':[{'id':_0x119f1e,'updated':!_0x3da688,'skipped':_0x3da688,'recovered':_0x4fa27b}],'verification':{'checkedBy':_0x4c7ee5(0xa5),'snapshotHash':_0x532a5['hash'],'targetId':_0x119f1e,'matchesRequestedState':!![],'recovered':_0x4fa27b}});return{'ok':!![],'message':_0x4fa27b?_0x4c7ee5(0xb8)+_0x119f1e+'.':_0x3da688?'Menu\x20'+_0x119f1e+_0x4c7ee5(0x8d):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x119f1e+'.','data':{..._0x5ab119,'recovered':_0x4fa27b}};}async function recoverAfterResponseLoss(_0x4fa5e2,_0x10a8ef){const _0x30e2e8=a112_0x877a16,{plan:_0x383e16,before:_0x1f3245,body:_0x3e3a15}=_0x10a8ef;let _0x361396;try{_0x361396=await fetchMenuSnapshot(_0x4fa5e2[_0x30e2e8(0x9c)],_0x4fa5e2[_0x30e2e8(0xae)]);}catch{throw recoveryRequired(_0x383e16,_0x4fa5e2[_0x30e2e8(0x9c)],{'id':_0x3e3a15['id'],'readbackFailed':!![]});}const _0x4ee2c1=_0x361396[_0x30e2e8(0xaf)]['get'](_0x3e3a15['id']);if(!_0x4ee2c1||_0x4ee2c1[_0x30e2e8(0x68)]!==_0x3e3a15[_0x30e2e8(0x68)])throw recoveryRequired(_0x383e16,_0x4fa5e2['appCode'],{'id':_0x3e3a15['id'],'requestedUrlObserved':![],'after':_0x4ee2c1??null});try{verifyUpdatedFact(_0x1f3245,_0x4ee2c1,_0x3e3a15[_0x30e2e8(0x68)]);}catch(_0x2bd531){const _0x33fc8b=asVerificationError(_0x2bd531,_0x30e2e8(0x9a)+_0x3e3a15['id']+_0x30e2e8(0x74));throw menuFailure(_0x33fc8b,_0x383e16,{'stage':'update-recovery','succeeded':[{'id':_0x3e3a15['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4ee2c1,'warnings':[_0x30e2e8(0x78)],'verification':{'status':_0x30e2e8(0xad),'targetId':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x4fa5e2[_0x30e2e8(0x9c)])}});}return updateSuccess(_0x383e16,_0x361396,_0x4ee2c1,![],!![]);}function recoveryRequired(_0xa09ae6,_0x3a2c2c,_0x505c5a){const _0x1175f7=a112_0x877a16,_0x5ba61f=menuError(_0x1175f7(0x91),_0x1175f7(0x83),_0x1175f7(0xb4)+buildLookupCommand(_0x3a2c2c)+_0x1175f7(0xa7));return menuFailure(_0x5ba61f,_0xa09ae6,{'stage':'update-recovery','failed':{'id':_0x505c5a['id'],..._0x505c5a['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x505c5a[_0x1175f7(0x85)]},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{}},'after':_0x505c5a[_0x1175f7(0x6f)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x1175f7(0xad),'targetId':_0x505c5a['id'],..._0x505c5a[_0x1175f7(0x85)]===undefined?{}:{'requestedUrlObserved':_0x505c5a['requestedUrlObserved']},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3a2c2c)}});}function buildLookupCommand(_0x614c56){const _0x4882ef=a112_0x877a16,_0xe14485='\x27'+_0x614c56['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0xe14485+_0x4882ef(0x6d);}
1
+ const a113_0xc1811f=a113_0x4822;(function(_0x4c8735,_0x327da2){const _0x1c7780=a113_0x4822,_0x4365f2=_0x4c8735();while(!![]){try{const _0xb4714b=-parseInt(_0x1c7780(0x225))/0x1*(parseInt(_0x1c7780(0x219))/0x2)+parseInt(_0x1c7780(0x1e0))/0x3*(parseInt(_0x1c7780(0x20f))/0x4)+parseInt(_0x1c7780(0x1f9))/0x5*(-parseInt(_0x1c7780(0x200))/0x6)+-parseInt(_0x1c7780(0x1f5))/0x7+parseInt(_0x1c7780(0x206))/0x8+parseInt(_0x1c7780(0x1ed))/0x9*(parseInt(_0x1c7780(0x1f0))/0xa)+-parseInt(_0x1c7780(0x20e))/0xb;if(_0xb4714b===_0x327da2)break;else _0x4365f2['push'](_0x4365f2['shift']());}catch(_0x3716b4){_0x4365f2['push'](_0x4365f2['shift']());}}}(a113_0x1fdd,0x4438e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x4822(_0x51d14c,_0x1d6188){_0x51d14c=_0x51d14c-0x1de;const _0x1fddc0=a113_0x1fdd();let _0x4822b1=_0x1fddc0[_0x51d14c];return _0x4822b1;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a113_0x1fdd(){const _0x28607b=['replace','128382MPAMQG','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20--format\x20compress','\x20has\x20','menu\x20list','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20direct\x20child\x20menu(s).','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','update','cookie','1170657fZLuPa','string','label','30kBzrWW','byId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20already\x20matches\x20the\x20requested\x20URL.','menu_state_drift','288729HrbbvM','appCode','requestedUrlObserved','menu_external_link_type_required','10ypczBs','get','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','body','visible','childrenCount','failed','316146ODmvip','external-link-update','expect-url','Updated\x20external\x20URL\x20for\x20menu\x20','snapshot','expect-parent-id','2126280tUUrgU','update\x20external\x20menu\x20URL','sort','hash','POST','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','flagMissing','\x20has\x20an\x20empty\x20platform\x20path.','2973938cotQck','40RsFKiJ','verify\x20external\x20menu\x20URL\x20update','\x20changed\x20during\x20the\x20URL-only\x20update.','Menu\x20','update-recovery','type','parentId','url','\x22,\x20not\x20iframe\x20or\x20link.','iframe','6KXICrm','\x27\x5c\x27\x27','/smartapi/menu/update','rabetbase\x20menu\x20list\x20--appcode\x20','str','Run\x20','trim','after','path','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','code','129173UQAkeI','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.',',\x20current\x20','unknown'];a113_0x1fdd=function(){return _0x28607b;};return a113_0x1fdd();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a113_0xc1811f(0x21b)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0xc1811f(0x201),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0xc1811f(0x216),'type':a113_0xc1811f(0x1ee),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0xc1811f(0x202),'type':a113_0xc1811f(0x1ee),'required':!![],'description':a113_0xc1811f(0x223)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5b64eb){validateInput(_0x5b64eb);},async 'dryRun'(_0x5e44d8){const _0x3615c8=a113_0xc1811f;validateInput(_0x5e44d8);const _0x451b93=await buildPlan(_0x5e44d8,!![]);return menuDryRunResult(_0x451b93['plan'],{'method':_0x3615c8(0x20a),'url':_0x3615c8(0x21b),'body':_0x451b93[_0x3615c8(0x1fc)],'description':_0x3615c8(0x1e3)+_0x451b93[_0x3615c8(0x1fc)]['id']+'.'});},async 'execute'(_0xe8cbc5){const _0x9fa221=a113_0xc1811f;validateInput(_0xe8cbc5);const _0xd550d5=await buildPlan(_0xe8cbc5,![]),{plan:_0x56b8cb,body:_0x5a5a1b,before:_0x287f25,noChanges:_0x4ffd3e}=_0xd550d5,_0x3a7ca1=_0x5a5a1b['id'];if(_0x4ffd3e)return updateSuccess(_0x56b8cb,_0xd550d5[_0x9fa221(0x204)],_0x287f25,!![],![]);await recheckMutationSnapshot(_0xe8cbc5,_0x56b8cb,'update\x20external\x20menu\x20URL',_0x3a7ca1);try{await updateMenuEntity(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)],{'id':_0x5a5a1b['id'],'url':_0x5a5a1b[_0x9fa221(0x216)]});}catch(_0x3d8d58){const _0xc2f6b8=mapMenuApiError(_0x3d8d58,'update\x20external\x20menu\x20URL',_0x3a7ca1);if(isMenuResponseLoss(_0x3d8d58)&&_0xc2f6b8[_0x9fa221(0x224)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0xe8cbc5,_0xd550d5);throw menuFailure(_0xc2f6b8,_0x56b8cb,{'stage':_0x9fa221(0x1eb),'failed':{'id':_0x3a7ca1},'warnings':[_0x9fa221(0x1e1)],'verification':{'status':_0x9fa221(0x1ff),'targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}let _0x3555c6,_0x3e800a;try{_0x3555c6=await fetchMenuSnapshot(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)]),_0x3e800a=requireMenu(_0x3555c6,_0x3a7ca1),verifyUpdatedFact(_0x287f25,_0x3e800a,_0x5a5a1b['url']);}catch(_0x1dcdd4){const _0x3cdb3c=describeMenuErrorCause(_0x1dcdd4,_0x9fa221(0x210),_0x3a7ca1),_0x29ac87=asVerificationError(_0x1dcdd4,'Update\x20request\x20for\x20menu\x20'+_0x3a7ca1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x29ac87,_0x56b8cb,{'stage':'verification','succeeded':[{'id':_0x3a7ca1,'updateRequested':!![]}],'failed':{'id':_0x3a7ca1,'requestedStateConfirmed':![],..._0x3cdb3c},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}return updateSuccess(_0x56b8cb,_0x3555c6,_0x3e800a,![],![]);}};function validateInput(_0x2e1065){const _0x449931=a113_0xc1811f;validateExactId(_0x2e1065),requiredUrl(_0x2e1065,'url'),requiredExpectedUrl(_0x2e1065),parseParentId(_0x2e1065,_0x449931(0x205),{'required':!![]});}function requiredUrl(_0x48e551,_0xa2be0d){const _0x2b8ea0=a113_0xc1811f;if(!hasFlag(_0x48e551,_0xa2be0d)||!_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d)['trim']())throw CliErrors[_0x2b8ea0(0x20c)](_0xa2be0d);return validateExternalMenuUrl(_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d));}function requiredExpectedUrl(_0x1b566e){const _0x430ca4=a113_0xc1811f;if(!hasFlag(_0x1b566e,_0x430ca4(0x202))||!_0x1b566e['str'](_0x430ca4(0x202))[_0x430ca4(0x21f)]())throw CliErrors['flagMissing'](_0x430ca4(0x202));return _0x1b566e[_0x430ca4(0x21d)](_0x430ca4(0x202))[_0x430ca4(0x21f)]();}async function buildPlan(_0x339a2f,_0x109067){const _0x3bf250=a113_0xc1811f,_0x269f0a=validateExactId(_0x339a2f),_0x5612d3=requiredUrl(_0x339a2f,'url'),_0xdee8c8=requiredExpectedUrl(_0x339a2f),_0x3fc89e=parseParentId(_0x339a2f,'expect-parent-id',{'required':!![]}),_0x2adbb7=await fetchMutationSnapshot(_0x339a2f,_0x3bf250(0x207),_0x269f0a),_0x1b472b=requireMenu(_0x2adbb7,_0x269f0a);assertExternalLinkLeaf(_0x1b472b);if(_0x1b472b[_0x3bf250(0x215)]!==_0x3fc89e)throw menuError('menu_state_drift',_0x3bf250(0x212)+_0x269f0a+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x3fc89e)+_0x3bf250(0x227)+formatParent(_0x1b472b[_0x3bf250(0x215)])+'.',_0x3bf250(0x1fb));const _0x48597e=_0x1b472b[_0x3bf250(0x216)]===_0x5612d3;if(!_0x48597e&&_0x1b472b['url']!==_0xdee8c8)throw menuError(_0x3bf250(0x1f4),_0x3bf250(0x212)+_0x269f0a+_0x3bf250(0x20b),_0x3bf250(0x222));const _0x3b848f={'id':_0x269f0a,'appCode':_0x339a2f['appCode'],'url':_0x5612d3},_0x4e813c={..._0x1b472b,'url':_0x5612d3};return{'body':_0x3b848f,'before':_0x1b472b,'noChanges':_0x48597e,'snapshot':_0x2adbb7,'plan':mutationResult({'operation':_0x3bf250(0x201),'selector':{'id':_0x269f0a},'before':_0x1b472b,'after':_0x4e813c,'dryRun':_0x109067,'backend':[...BACKEND],'plannedActions':_0x48597e?[]:[{'stage':'update-external-link-url','method':'POST','path':'/smartapi/menu/update','body':_0x3b848f}],'snapshotHash':_0x2adbb7[_0x3bf250(0x209)],'warnings':_0x48597e?[_0x3bf250(0x1e7)]:[]})};}function assertExternalLinkLeaf(_0x5b67db){const _0x55afde=a113_0xc1811f;if(_0x5b67db[_0x55afde(0x214)]!==_0x55afde(0x218)&&_0x5b67db[_0x55afde(0x214)]!=='link')throw menuError(_0x55afde(0x1f8),'Menu\x20'+_0x5b67db['id']+'\x20is\x20type\x20\x22'+(_0x5b67db['type']||_0x55afde(0x1de))+_0x55afde(0x217),_0x55afde(0x1e9));if(_0x5b67db[_0x55afde(0x1fe)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x1e5)+_0x5b67db[_0x55afde(0x1fe)]+_0x55afde(0x1e8),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x5b67db[_0x55afde(0x221)][_0x55afde(0x21f)]())throw menuError('menu_external_link_path_missing',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x20d),_0x55afde(0x226));}function verifyUpdatedFact(_0x1df0ba,_0x294402,_0xbe8b8c){const _0xd9e823=a113_0xc1811f;assertExternalLinkLeaf(_0x294402);const _0x3a4794=[['id',_0x294402['id'],_0x1df0ba['id']],[_0xd9e823(0x1ef),_0x294402['label'],_0x1df0ba[_0xd9e823(0x1ef)]],[_0xd9e823(0x214),_0x294402[_0xd9e823(0x214)],_0x1df0ba[_0xd9e823(0x214)]],[_0xd9e823(0x221),_0x294402[_0xd9e823(0x221)],_0x1df0ba[_0xd9e823(0x221)]],[_0xd9e823(0x215),_0x294402['parentId'],_0x1df0ba['parentId']],[_0xd9e823(0x208),_0x294402[_0xd9e823(0x208)],_0x1df0ba[_0xd9e823(0x208)]],[_0xd9e823(0x1fd),_0x294402[_0xd9e823(0x1fd)],_0x1df0ba[_0xd9e823(0x1fd)]]];for(const [_0x2ce91f,_0x1b2167,_0x12b9cb]of _0x3a4794){assertVerified(_0x1b2167===_0x12b9cb,_0xd9e823(0x212)+_0x1df0ba['id']+'\x20'+_0x2ce91f+_0xd9e823(0x211));}assertVerified(_0x294402['url']===_0xbe8b8c,_0xd9e823(0x212)+_0x1df0ba['id']+_0xd9e823(0x1ea));}function updateSuccess(_0x53ccd3,_0x510a36,_0x5168bd,_0x548041,_0x2ebc57){const _0x1f80f5=a113_0xc1811f,_0x5a6334=_0x5168bd['id'],_0x420060=mutationResult({..._0x53ccd3,'after':_0x5168bd,'dryRun':![],'succeeded':[{'id':_0x5a6334,'updated':!_0x548041,'skipped':_0x548041,'recovered':_0x2ebc57}],'verification':{'checkedBy':_0x1f80f5(0x1e6),'snapshotHash':_0x510a36[_0x1f80f5(0x209)],'targetId':_0x5a6334,'matchesRequestedState':!![],'recovered':_0x2ebc57}});return{'ok':!![],'message':_0x2ebc57?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x5a6334+'.':_0x548041?_0x1f80f5(0x212)+_0x5a6334+_0x1f80f5(0x1f3):_0x1f80f5(0x203)+_0x5a6334+'.','data':{..._0x420060,'recovered':_0x2ebc57}};}async function recoverAfterResponseLoss(_0x1b4c25,_0x20808f){const _0x27dc90=a113_0xc1811f,{plan:_0xa9d67e,before:_0x3f855d,body:_0x262e0c}=_0x20808f;let _0x25ab56;try{_0x25ab56=await fetchMenuSnapshot(_0x1b4c25[_0x27dc90(0x1f6)],_0x1b4c25[_0x27dc90(0x1ec)]);}catch{throw recoveryRequired(_0xa9d67e,_0x1b4c25['appCode'],{'id':_0x262e0c['id'],'readbackFailed':!![]});}const _0x38eaa1=_0x25ab56[_0x27dc90(0x1f1)][_0x27dc90(0x1fa)](_0x262e0c['id']);if(!_0x38eaa1||_0x38eaa1[_0x27dc90(0x216)]!==_0x262e0c[_0x27dc90(0x216)])throw recoveryRequired(_0xa9d67e,_0x1b4c25[_0x27dc90(0x1f6)],{'id':_0x262e0c['id'],'requestedUrlObserved':![],'after':_0x38eaa1??null});try{verifyUpdatedFact(_0x3f855d,_0x38eaa1,_0x262e0c['url']);}catch(_0x5c9aea){const _0xe2d2f9=asVerificationError(_0x5c9aea,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x262e0c['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xe2d2f9,_0xa9d67e,{'stage':'update-recovery','succeeded':[{'id':_0x262e0c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x38eaa1,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x27dc90(0x1ff),'targetId':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1b4c25[_0x27dc90(0x1f6)])}});}return updateSuccess(_0xa9d67e,_0x25ab56,_0x38eaa1,![],!![]);}function recoveryRequired(_0x5ad5d5,_0x439c09,_0x3036b2){const _0x149b69=a113_0xc1811f,_0x1fd381=menuError('menu_update_recovery_required',_0x149b69(0x1f2),_0x149b69(0x21e)+buildLookupCommand(_0x439c09)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x1fd381,_0x5ad5d5,{'stage':_0x149b69(0x213),'failed':{'id':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2[_0x149b69(0x1f7)]},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{}},'after':_0x3036b2[_0x149b69(0x220)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x149b69(0x1ff),'targetId':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2['requestedUrlObserved']},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x439c09)}});}function buildLookupCommand(_0x2ee4ad){const _0x2b620e=a113_0xc1811f,_0x1a5363='\x27'+_0x2ee4ad[_0x2b620e(0x1df)](/'/g,_0x2b620e(0x21a))+'\x27';return _0x2b620e(0x21c)+_0x1a5363+_0x2b620e(0x1e4);}
@@ -1 +1 @@
1
- const a113_0x148232=a113_0x4233;(function(_0x3d5682,_0x516305){const _0x559611=a113_0x4233,_0x4adb36=_0x3d5682();while(!![]){try{const _0x654ef0=parseInt(_0x559611(0xf4))/0x1*(parseInt(_0x559611(0xe0))/0x2)+parseInt(_0x559611(0x123))/0x3*(parseInt(_0x559611(0x125))/0x4)+-parseInt(_0x559611(0xf8))/0x5+-parseInt(_0x559611(0xf1))/0x6*(-parseInt(_0x559611(0xee))/0x7)+parseInt(_0x559611(0xfc))/0x8+parseInt(_0x559611(0x10f))/0x9*(-parseInt(_0x559611(0x115))/0xa)+parseInt(_0x559611(0xde))/0xb*(-parseInt(_0x559611(0xe9))/0xc);if(_0x654ef0===_0x516305)break;else _0x4adb36['push'](_0x4adb36['shift']());}catch(_0x5d3a8f){_0x4adb36['push'](_0x4adb36['shift']());}}}(a113_0x4151,0xb860e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a113_0x4151(){const _0x1d564e=['\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','Folder\x20label','resources','5264730Dliykx','cookie','Created\x20folder\x20','create\x20folder','11241256nztrPl','Would\x20create\x20empty\x20folder\x20\x22','rabetbase\x20menu\x20list\x20--format\x20json','hash','\x20unexpectedly\x20owns\x20a\x20page.','\x20may\x20exist\x20online\x20at\x20path\x20','\x20has\x20resources.','str','type','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20is\x20not\x20type\x20folder.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','stringify','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x22\x20with\x20a\x20platform-generated\x20path.','<platform-generated>','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','Folder\x20','171eDcHut','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','path','root','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','573730wOfhoL','visible','verification','failed','isSafeInteger','get','group-create','length','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parentId','\x20is\x20missing\x20from\x20menu\x20list.','create-response-validation','flagMissing','87skqxqi','create','189260QJQebR','after','Created\x20menu\x20','write','appCode','\x20has\x20unexpected\x20parent\x20','4411lCjZkQ','childrenCount','2ziIfwl','byId','menu_create_response_invalid','folder','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20for\x20folder\x20','Created\x20menu\x20folder\x20','trim',';\x20verify\x20it\x20before\x20retrying.','23964TnFXCg','sort','parent-id','label','/smartapi/menu/create','193711NUYTIv','\x20is\x20not\x20empty.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','150NwHTfR','string','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','229927HvtokH'];a113_0x4151=function(){return _0x1d564e;};return a113_0x4151();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x148232(0x10d),'path':a113_0x148232(0xed)}];function a113_0x4233(_0x5887b2,_0x58a23a){_0x5887b2=_0x5887b2-0xd9;const _0x415157=a113_0x4151();let _0x4233bc=_0x415157[_0x5887b2];return _0x4233bc;}export const menuGroupCreate={'service':'menu','command':'group-create','description':a113_0x148232(0x11e),'risk':a113_0x148232(0xdb),'structuredErrors':!![],'flags':[{'name':a113_0x148232(0xec),'type':a113_0x148232(0xf2),'required':!![],'description':a113_0x148232(0xf6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2e0b51){validateCreateInput(_0x2e0b51);},async 'dryRun'(_0x58b512){const _0x5a5b87=a113_0x148232,_0x504516=await buildCreatePlan(_0x58b512,!![]),_0x19bc1b=_0x504516[_0x5a5b87(0xd9)];return menuDryRunResult(_0x504516,{'method':_0x5a5b87(0x10d),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x19bc1b[_0x5a5b87(0x11f)]),'label':_0x19bc1b['label'],'type':_0x5a5b87(0xe3),'visible':!![],'sort':_0x19bc1b[_0x5a5b87(0xea)],'extend':{}},'description':_0x5a5b87(0xfd)+String(_0x19bc1b[_0x5a5b87(0xec)])+_0x5a5b87(0x10a)});},async 'execute'(_0x5ad838){const _0x2e1be7=a113_0x148232;validateCreateInput(_0x5ad838);const _0x53a5ff=await buildCreatePlan(_0x5ad838,![]),_0x3ac8ac=_0x53a5ff[_0x2e1be7(0xd9)];await recheckMutationSnapshot(_0x5ad838,_0x53a5ff,_0x2e1be7(0xfb));let _0x481f92;try{_0x481f92=await createMenuEntity(_0x5ad838[_0x2e1be7(0xdc)],_0x5ad838[_0x2e1be7(0xf9)],{'parentId':toApiParentId(_0x3ac8ac['parentId']),'label':String(_0x3ac8ac[_0x2e1be7(0xec)]),'type':_0x2e1be7(0xe3),'visible':!![],'sort':Number(_0x3ac8ac[_0x2e1be7(0xea)]),'extend':{}});}catch(_0x2e887e){const _0x4a9c58=mapMenuApiError(_0x2e887e,_0x2e1be7(0xfb));throw menuFailure(_0x4a9c58,_0x53a5ff,{'stage':_0x2e1be7(0x124),'failed':{}});}const _0x323125=Number(_0x481f92['id']);if(!Number[_0x2e1be7(0x119)](_0x323125)||_0x323125<=0x0){const _0x390db2=menuError(_0x2e1be7(0xe2),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x2e1be7(0xf3));throw menuFailure(_0x390db2,_0x53a5ff,{'stage':_0x2e1be7(0x121),'failed':{'createdId':_0x481f92['id']??null},'warnings':[_0x2e1be7(0x105)],'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe)}});}const _0x5257ce=typeof _0x481f92[_0x2e1be7(0x112)]===_0x2e1be7(0xf2)?_0x481f92[_0x2e1be7(0x112)]:'';if(!_0x5257ce[_0x2e1be7(0xe7)]()){const _0x43b724=menuError(_0x2e1be7(0xe2),_0x2e1be7(0xe5)+_0x323125+_0x2e1be7(0x114),_0x2e1be7(0x10c));throw menuFailure(_0x43b724,_0x53a5ff,{'stage':_0x2e1be7(0x121),'succeeded':[{'id':_0x323125,'created':!![]}],'failed':{'id':_0x323125,'generatedPathConfirmed':![]},'warnings':[_0x2e1be7(0x10e)+_0x323125+_0x2e1be7(0xf5)],'after':{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}let _0x4da797;try{_0x4da797=await fetchMenuSnapshot(_0x5ad838[_0x2e1be7(0xdc)],_0x5ad838[_0x2e1be7(0xf9)]);}catch(_0x1a3585){const _0x472580=describeMenuErrorCause(_0x1a3585,'verify\x20folder\x20creation',_0x323125),_0x51d009=asVerificationError(_0x1a3585,'Folder\x20'+_0x323125+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x51d009,_0x53a5ff,{'stage':_0x2e1be7(0x117),'succeeded':[{'id':_0x323125,'created':!![],'path':_0x5257ce}],'failed':{'id':_0x323125,'finalFactsConfirmed':![],..._0x472580},'warnings':['Folder\x20'+_0x323125+_0x2e1be7(0x101)+JSON[_0x2e1be7(0x108)](_0x5257ce)+_0x2e1be7(0xe8)],'after':{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}const _0x1d3c96=_0x4da797[_0x2e1be7(0xe1)][_0x2e1be7(0x11a)](_0x323125);let _0xfbac6a;try{assertVerified(Boolean(_0x1d3c96),'Created\x20folder\x20'+_0x323125+_0x2e1be7(0x120)),_0xfbac6a=_0x1d3c96,assertVerified(_0xfbac6a[_0x2e1be7(0x104)]==='folder',_0x2e1be7(0xda)+_0x323125+_0x2e1be7(0x106)),assertVerified(_0xfbac6a['label']===_0x3ac8ac[_0x2e1be7(0xec)],_0x2e1be7(0xfa)+_0x323125+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0xfbac6a[_0x2e1be7(0x112)]===_0x5257ce&&Boolean(_0xfbac6a[_0x2e1be7(0x112)][_0x2e1be7(0xe7)]()),_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x11d)),assertVerified(_0xfbac6a[_0x2e1be7(0x116)]===!![],_0x2e1be7(0xfa)+_0x323125+'\x20is\x20not\x20visible.'),assertVerified(_0xfbac6a[_0x2e1be7(0xf7)][_0x2e1be7(0x11c)]===0x0,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x102)),assertVerified(_0xfbac6a[_0x2e1be7(0xdf)]===0x0,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0xef)),assertVerified(_0xfbac6a[_0x2e1be7(0xea)]===_0x3ac8ac[_0x2e1be7(0xea)],'Created\x20folder\x20'+_0x323125+_0x2e1be7(0xe4)),assertVerified(_0xfbac6a[_0x2e1be7(0x11f)]===_0x3ac8ac[_0x2e1be7(0x11f)],_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0xdd)+(_0xfbac6a['parentId']??_0x2e1be7(0x113))+'.'),assertVerified(_0xfbac6a['pageId']==null,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x100));const _0x59baa4=_0xfbac6a['parentId']==null?undefined:requireFolder(_0x4da797,_0xfbac6a[_0x2e1be7(0x11f)]);assertVerified(_0xfbac6a['depth']===(_0x59baa4?_0x59baa4['depth']+0x1:0x0),'Created\x20folder\x20'+_0x323125+_0x2e1be7(0x111));}catch(_0x210c3d){const _0x598fb8=describeMenuErrorCause(_0x210c3d,'verify\x20folder\x20creation',_0x323125),_0x58dcaf=asVerificationError(_0x210c3d,'Folder\x20'+_0x323125+_0x2e1be7(0x109));throw menuFailure(_0x58dcaf,_0x53a5ff,{'stage':_0x2e1be7(0x117),'succeeded':[{'id':_0x323125,'created':!![],'path':_0x5257ce}],'failed':{'id':_0x323125,'finalFactsConfirmed':![],..._0x598fb8},'warnings':[_0x2e1be7(0x10e)+_0x323125+_0x2e1be7(0xf0)],'after':_0x1d3c96??{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}const _0x21efdf=mutationResult({..._0x53a5ff,'after':_0xfbac6a,'dryRun':![],'succeeded':[{'id':_0x323125,'type':'folder','path':_0x5257ce}],'verification':{'checkedBy':_0x2e1be7(0x110),'snapshotHash':_0x4da797[_0x2e1be7(0xff)],'folder':!![],'path':_0x5257ce,'emptyResources':!![]}});return{'ok':!![],'data':_0x21efdf,'message':_0x2e1be7(0xe6)+_0x323125+'.'};}};function validateCreateInput(_0x5a8096){const _0x1fbe3f=a113_0x148232,_0x2e4572=_0x5a8096['str']('label')['trim']();if(!_0x2e4572)throw CliErrors[_0x1fbe3f(0x122)]('label');parseParentId(_0x5a8096,_0x1fbe3f(0xeb)),validateSort(_0x5a8096);}async function buildCreatePlan(_0x3ad515,_0x9325cb){const _0x5b55c5=a113_0x148232,_0x4b9c12=await fetchMutationSnapshot(_0x3ad515,_0x5b55c5(0xfb)),_0x36eaac=parseParentId(_0x3ad515,_0x5b55c5(0xeb))??null;if(_0x36eaac!=null)requireFolder(_0x4b9c12,_0x36eaac);const _0x4ab9b4=validateSort(_0x3ad515),_0xdd69f=_0x4ab9b4??nextSiblingSort(_0x4b9c12,_0x36eaac,_0x5b55c5(0xe3)),_0x7de0c6=_0x3ad515[_0x5b55c5(0x103)](_0x5b55c5(0xec))[_0x5b55c5(0xe7)]();return mutationResult({'operation':_0x5b55c5(0x11b),'selector':{'label':_0x7de0c6,'parentId':_0x36eaac},'before':null,'after':{'id':null,'parentId':_0x36eaac,'label':_0x7de0c6,'path':_0x5b55c5(0x10b),'type':_0x5b55c5(0xe3),'visible':!![],'sort':_0xdd69f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x9325cb,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x5b55c5(0x10d),'path':_0x5b55c5(0xed),'body':{'parentId':toApiParentId(_0x36eaac),'label':_0x7de0c6,'type':_0x5b55c5(0xe3),'visible':!![],'sort':_0xdd69f,'extend':{}}}],'snapshotHash':_0x4b9c12['hash'],'warnings':[_0x5b55c5(0x107)]});}
1
+ const a114_0x154d3d=a114_0x4a0a;function a114_0x4a0a(_0x5116de,_0x287491){_0x5116de=_0x5116de-0xad;const _0x4bcda4=a114_0x4bcd();let _0x4a0ad3=_0x4bcda4[_0x5116de];return _0x4a0ad3;}(function(_0x5d9e31,_0x17181f){const _0x2e05a3=a114_0x4a0a,_0x2e9105=_0x5d9e31();while(!![]){try{const _0x5e9d14=-parseInt(_0x2e05a3(0xaf))/0x1*(parseInt(_0x2e05a3(0xd4))/0x2)+parseInt(_0x2e05a3(0xea))/0x3*(-parseInt(_0x2e05a3(0xf1))/0x4)+parseInt(_0x2e05a3(0xce))/0x5*(parseInt(_0x2e05a3(0xcd))/0x6)+parseInt(_0x2e05a3(0xe0))/0x7*(-parseInt(_0x2e05a3(0xc3))/0x8)+-parseInt(_0x2e05a3(0xde))/0x9*(parseInt(_0x2e05a3(0xd0))/0xa)+-parseInt(_0x2e05a3(0xbf))/0xb*(parseInt(_0x2e05a3(0xdf))/0xc)+parseInt(_0x2e05a3(0xdb))/0xd*(parseInt(_0x2e05a3(0xc5))/0xe);if(_0x5e9d14===_0x17181f)break;else _0x2e9105['push'](_0x2e9105['shift']());}catch(_0x47acb5){_0x2e9105['push'](_0x2e9105['shift']());}}}(a114_0x4bcd,0x89928));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a114_0x4bcd(){const _0x26389c=['\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','parentId','308604tveMrm','\x20has\x20an\x20unexpected\x20label.','create-response-validation','group-create','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','label','155DEEnlV','Folder\x20','str','pageId','\x22\x20with\x20a\x20platform-generated\x20path.','\x20unexpectedly\x20owns\x20a\x20page.','rabetbase\x20menu\x20list\x20--format\x20json','menu_create_response_invalid','byId','\x20is\x20not\x20type\x20folder.','menu\x20list','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','verification','sort','resources','after','2123WLbeyg','isSafeInteger','appCode','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','1376GSREOW','\x20is\x20missing\x20from\x20menu\x20list.','31615108zanpsT','depth','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20may\x20exist\x20online\x20at\x20path\x20','length','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','failed','path','2694PlOVzt','11070DCjLfm','\x20has\x20unexpected\x20parent\x20','464360mSgPvp','hash','\x20is\x20not\x20visible.','Menu\x20create\x20response\x20for\x20folder\x20','2682ophGYP','Folder\x20label','trim','childrenCount','get','\x20has\x20resources.','create','13hnKbZQ','\x20has\x20an\x20unexpected\x20sort.','create-folder','90FKtvnG','63108WcWTWo','21924EjkDkv','Created\x20folder\x20','cookie','/smartapi/menu/create','write','parent-id','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','\x20is\x20not\x20empty.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','18JyXBrc','folder','create\x20folder','root','<platform-generated>'];a114_0x4bcd=function(){return _0x26389c;};return a114_0x4bcd();}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x154d3d(0xe7),'path':a114_0x154d3d(0xe3)}];export const menuGroupCreate={'service':'menu','command':a114_0x154d3d(0xf4),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x154d3d(0xe4),'structuredErrors':!![],'flags':[{'name':a114_0x154d3d(0xae),'type':'string','required':!![],'description':a114_0x154d3d(0xd5)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1843e4){validateCreateInput(_0x1843e4);},async 'dryRun'(_0x2dd7ca){const _0x12e269=a114_0x154d3d,_0x509fdb=await buildCreatePlan(_0x2dd7ca,!![]),_0x4c8257=_0x509fdb[_0x12e269(0xbe)];return menuDryRunResult(_0x509fdb,{'method':_0x12e269(0xe7),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4c8257[_0x12e269(0xf0)]),'label':_0x4c8257[_0x12e269(0xae)],'type':_0x12e269(0xeb),'visible':!![],'sort':_0x4c8257['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x4c8257[_0x12e269(0xae)])+_0x12e269(0xb3)});},async 'execute'(_0x420128){const _0xd44f46=a114_0x154d3d;validateCreateInput(_0x420128);const _0xd2662=await buildCreatePlan(_0x420128,![]),_0x558c49=_0xd2662['after'];await recheckMutationSnapshot(_0x420128,_0xd2662,_0xd44f46(0xec));let _0x41f93b;try{_0x41f93b=await createMenuEntity(_0x420128[_0xd44f46(0xc1)],_0x420128['cookie'],{'parentId':toApiParentId(_0x558c49[_0xd44f46(0xf0)]),'label':String(_0x558c49[_0xd44f46(0xae)]),'type':_0xd44f46(0xeb),'visible':!![],'sort':Number(_0x558c49[_0xd44f46(0xbc)]),'extend':{}});}catch(_0x23b1c5){const _0x5721a7=mapMenuApiError(_0x23b1c5,'create\x20folder');throw menuFailure(_0x5721a7,_0xd2662,{'stage':_0xd44f46(0xda),'failed':{}});}const _0x326fe2=Number(_0x41f93b['id']);if(!Number[_0xd44f46(0xc0)](_0x326fe2)||_0x326fe2<=0x0){const _0x45a1d0=menuError(_0xd44f46(0xb6),_0xd44f46(0xca),_0xd44f46(0xc2));throw menuFailure(_0x45a1d0,_0xd2662,{'stage':_0xd44f46(0xf3),'failed':{'createdId':_0x41f93b['id']??null},'warnings':[_0xd44f46(0xba)],'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5)}});}const _0x4478b1=typeof _0x41f93b[_0xd44f46(0xcc)]==='string'?_0x41f93b[_0xd44f46(0xcc)]:'';if(!_0x4478b1[_0xd44f46(0xd6)]()){const _0x4a5db9=menuError(_0xd44f46(0xb6),_0xd44f46(0xd3)+_0x326fe2+_0xd44f46(0xe9),_0xd44f46(0xe6));throw menuFailure(_0x4a5db9,_0xd2662,{'stage':_0xd44f46(0xf3),'succeeded':[{'id':_0x326fe2,'created':!![]}],'failed':{'id':_0x326fe2,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x326fe2+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}let _0x5309d6;try{_0x5309d6=await fetchMenuSnapshot(_0x420128['appCode'],_0x420128[_0xd44f46(0xe2)]);}catch(_0x4f17fd){const _0x38d8e2=describeMenuErrorCause(_0x4f17fd,'verify\x20folder\x20creation',_0x326fe2),_0x3bba89=asVerificationError(_0x4f17fd,_0xd44f46(0xb0)+_0x326fe2+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x3bba89,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x38d8e2},'warnings':[_0xd44f46(0xb0)+_0x326fe2+_0xd44f46(0xc8)+JSON['stringify'](_0x4478b1)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x2a0fb2=_0x5309d6[_0xd44f46(0xb7)][_0xd44f46(0xd8)](_0x326fe2);let _0x22b6b1;try{assertVerified(Boolean(_0x2a0fb2),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xc4)),_0x22b6b1=_0x2a0fb2,assertVerified(_0x22b6b1['type']===_0xd44f46(0xeb),'Created\x20menu\x20'+_0x326fe2+_0xd44f46(0xb8)),assertVerified(_0x22b6b1['label']===_0x558c49[_0xd44f46(0xae)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xf2)),assertVerified(_0x22b6b1[_0xd44f46(0xcc)]===_0x4478b1&&Boolean(_0x22b6b1[_0xd44f46(0xcc)]['trim']()),_0xd44f46(0xe1)+_0x326fe2+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x22b6b1['visible']===!![],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd2)),assertVerified(_0x22b6b1[_0xd44f46(0xbd)][_0xd44f46(0xc9)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd9)),assertVerified(_0x22b6b1[_0xd44f46(0xd7)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xe8)),assertVerified(_0x22b6b1[_0xd44f46(0xbc)]===_0x558c49[_0xd44f46(0xbc)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xdc)),assertVerified(_0x22b6b1[_0xd44f46(0xf0)]===_0x558c49['parentId'],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xcf)+(_0x22b6b1[_0xd44f46(0xf0)]??_0xd44f46(0xed))+'.'),assertVerified(_0x22b6b1[_0xd44f46(0xb2)]==null,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xb4));const _0xb5832b=_0x22b6b1['parentId']==null?undefined:requireFolder(_0x5309d6,_0x22b6b1[_0xd44f46(0xf0)]);assertVerified(_0x22b6b1[_0xd44f46(0xc6)]===(_0xb5832b?_0xb5832b[_0xd44f46(0xc6)]+0x1:0x0),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xef));}catch(_0x3c1de0){const _0x208dee=describeMenuErrorCause(_0x3c1de0,'verify\x20folder\x20creation',_0x326fe2),_0x29a6c6=asVerificationError(_0x3c1de0,'Folder\x20'+_0x326fe2+_0xd44f46(0xad));throw menuFailure(_0x29a6c6,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x208dee},'warnings':['Folder\x20'+_0x326fe2+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2a0fb2??{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x56b14d=mutationResult({..._0xd2662,'after':_0x22b6b1,'dryRun':![],'succeeded':[{'id':_0x326fe2,'type':_0xd44f46(0xeb),'path':_0x4478b1}],'verification':{'checkedBy':_0xd44f46(0xb9),'snapshotHash':_0x5309d6[_0xd44f46(0xd1)],'folder':!![],'path':_0x4478b1,'emptyResources':!![]}});return{'ok':!![],'data':_0x56b14d,'message':'Created\x20menu\x20folder\x20'+_0x326fe2+'.'};}};function validateCreateInput(_0x1f877c){const _0x57c4ab=a114_0x154d3d,_0x1b818b=_0x1f877c[_0x57c4ab(0xb1)](_0x57c4ab(0xae))[_0x57c4ab(0xd6)]();if(!_0x1b818b)throw CliErrors['flagMissing'](_0x57c4ab(0xae));parseParentId(_0x1f877c,_0x57c4ab(0xe5)),validateSort(_0x1f877c);}async function buildCreatePlan(_0x1a16f6,_0x4f4020){const _0x1d9b9c=a114_0x154d3d,_0x1f2c77=await fetchMutationSnapshot(_0x1a16f6,_0x1d9b9c(0xec)),_0x189bb2=parseParentId(_0x1a16f6,_0x1d9b9c(0xe5))??null;if(_0x189bb2!=null)requireFolder(_0x1f2c77,_0x189bb2);const _0x56e8ca=validateSort(_0x1a16f6),_0x375a4c=_0x56e8ca??nextSiblingSort(_0x1f2c77,_0x189bb2,_0x1d9b9c(0xeb)),_0x1e9d7b=_0x1a16f6[_0x1d9b9c(0xb1)](_0x1d9b9c(0xae))[_0x1d9b9c(0xd6)]();return mutationResult({'operation':_0x1d9b9c(0xf4),'selector':{'label':_0x1e9d7b,'parentId':_0x189bb2},'before':null,'after':{'id':null,'parentId':_0x189bb2,'label':_0x1e9d7b,'path':_0x1d9b9c(0xee),'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4f4020,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1d9b9c(0xdd),'method':'POST','path':_0x1d9b9c(0xe3),'body':{'parentId':toApiParentId(_0x189bb2),'label':_0x1e9d7b,'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'extend':{}}}],'snapshotHash':_0x1f2c77[_0x1d9b9c(0xd1)],'warnings':[_0x1d9b9c(0xc7)]});}
@@ -1 +1 @@
1
- const a114_0x8d2047=a114_0x1f1d;(function(_0x377b95,_0xa6743c){const _0x2a1e09=a114_0x1f1d,_0x17a29b=_0x377b95();while(!![]){try{const _0x4bc59a=-parseInt(_0x2a1e09(0xb8))/0x1*(-parseInt(_0x2a1e09(0x9e))/0x2)+-parseInt(_0x2a1e09(0x9b))/0x3*(parseInt(_0x2a1e09(0xc3))/0x4)+parseInt(_0x2a1e09(0x95))/0x5+parseInt(_0x2a1e09(0xbf))/0x6*(-parseInt(_0x2a1e09(0xab))/0x7)+parseInt(_0x2a1e09(0xa4))/0x8+-parseInt(_0x2a1e09(0xa0))/0x9+parseInt(_0x2a1e09(0xb5))/0xa;if(_0x4bc59a===_0xa6743c)break;else _0x17a29b['push'](_0x17a29b['shift']());}catch(_0x413ffb){_0x17a29b['push'](_0x17a29b['shift']());}}}(a114_0x4446,0x7d2ad));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x8d2047(0x98),'path':a114_0x8d2047(0xc1)}];export const menuGroupUpdate={'service':'menu','command':'group-update','description':a114_0x8d2047(0xa3),'risk':a114_0x8d2047(0xac),'structuredErrors':!![],'rejectedFlags':[{'name':a114_0x8d2047(0xba),'message':a114_0x8d2047(0x97),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':'label','type':a114_0x8d2047(0x9d),'description':a114_0x8d2047(0xaf)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4ce019){validateUpdateInput(_0x4ce019);},async 'dryRun'(_0x5e8d01){const _0x3ec642=a114_0x8d2047;validateUpdateInput(_0x5e8d01);const {plan:_0x2d75ac,patch:_0x126f6f}=await buildUpdatePlan(_0x5e8d01,!![]);return menuDryRunResult(_0x2d75ac,{'method':_0x3ec642(0x98),'url':_0x3ec642(0xc1),'body':_0x126f6f,'description':_0x3ec642(0xb2)+_0x2d75ac[_0x3ec642(0xb4)]['id']+'.'});},async 'execute'(_0x1644b6){const _0x3ae091=a114_0x8d2047;validateUpdateInput(_0x1644b6);const {plan:_0x24e176,patch:_0x1d979b,noChanges:_0x2bae2b}=await buildUpdatePlan(_0x1644b6,![]),_0x15d61b=Number(_0x24e176['selector']['id']),_0x540e7e=await recheckMutationSnapshot(_0x1644b6,_0x24e176,_0x3ae091(0xae),_0x15d61b);if(!_0x2bae2b)try{await updateMenuEntity(_0x1644b6[_0x3ae091(0x9c)],_0x1644b6[_0x3ae091(0x9f)],_0x1d979b);}catch(_0x1d3462){const _0x3b6643=mapMenuApiError(_0x1d3462,_0x3ae091(0xae),_0x15d61b);throw menuFailure(_0x3b6643,_0x24e176,{'stage':_0x3ae091(0xb3),'failed':{'id':_0x15d61b}});}let _0x5ddae5=_0x540e7e,_0x323f79;try{!_0x2bae2b&&(_0x5ddae5=await fetchMenuSnapshot(_0x1644b6[_0x3ae091(0x9c)],_0x1644b6[_0x3ae091(0x9f)])),_0x323f79=requireMenu(_0x5ddae5,_0x15d61b),verifyPatch(_0x323f79,_0x1d979b),_0x323f79[_0x3ae091(0xa5)]!=null&&requireFolder(_0x5ddae5,_0x323f79[_0x3ae091(0xa5)]);}catch(_0x2af369){const _0x3aebf8=describeMenuErrorCause(_0x2af369,_0x3ae091(0xad),_0x15d61b),_0x44b316=asVerificationError(_0x2af369,'Update\x20request\x20for\x20folder\x20'+_0x15d61b+_0x3ae091(0x99));throw menuFailure(_0x44b316,_0x24e176,{'stage':_0x3ae091(0xbc),'succeeded':[{'id':_0x15d61b,'updateRequested':!_0x2bae2b,'skipped':_0x2bae2b}],'failed':{'id':_0x15d61b,'requestedStateConfirmed':![],..._0x3aebf8},'warnings':[_0x3ae091(0xc0)],'verification':{'status':_0x3ae091(0x92),'lookupCommand':_0x3ae091(0xc2),'targetId':_0x15d61b}});}const _0x10eeb4=mutationResult({..._0x24e176,'after':_0x323f79,'dryRun':![],'succeeded':[{'id':_0x15d61b,'updated':!_0x2bae2b,'skipped':_0x2bae2b}],'verification':{'checkedBy':_0x3ae091(0x93),'snapshotHash':_0x5ddae5['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x10eeb4,'message':_0x2bae2b?_0x3ae091(0xb0)+_0x15d61b+_0x3ae091(0x8f):_0x3ae091(0xbb)+_0x15d61b+'.'};}};function a114_0x1f1d(_0x528aab,_0x5c3efd){_0x528aab=_0x528aab-0x8f;const _0x44469c=a114_0x4446();let _0x1f1d9f=_0x44469c[_0x528aab];return _0x1f1d9f;}function a114_0x4446(){const _0x20db61=['6mswVRF','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','/smartapi/menu/update','rabetbase\x20menu\x20list\x20--format\x20json','1472484fvwHrP','\x20already\x20matches\x20the\x20requested\x20state.','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','group-update','failed','menu\x20list','label','473715EeGkLA','str','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','sort','3OiKujf','appCode','string','1791806cXhUjG','cookie','5687919YVnnae','No\x20online\x20fields\x20would\x20change.','menu_not_folder','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','5680240CMJNmD','parentId','trim','\x20sort\x20update\x20did\x20not\x20take\x20effect.','hash','\x20is\x20no\x20longer\x20type\x20folder.','type','3128118VQThcA','write','verify\x20folder\x20update','update\x20folder','New\x20folder\x20label','Folder\x20','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','Would\x20update\x20folder\x20','update','selector','2589950DROrsu','validation','\x20label\x20update\x20did\x20not\x20take\x20effect.','1cFwmUz','folder','parent-id','Updated\x20folder\x20','verification','Menu\x20','--label\x20cannot\x20be\x20empty.'];a114_0x4446=function(){return _0x20db61;};return a114_0x4446();}function validateUpdateInput(_0x2eee55){const _0x37c5d9=a114_0x8d2047;validateExactId(_0x2eee55);if(hasFlag(_0x2eee55,'parent-id'))throw CliErrors[_0x37c5d9(0xb6)](_0x37c5d9(0x97),_0x37c5d9(0x90));if(!hasFlag(_0x2eee55,'label')&&!hasFlag(_0x2eee55,_0x37c5d9(0x9a)))throw CliErrors[_0x37c5d9(0xb6)](_0x37c5d9(0xb1));if(hasFlag(_0x2eee55,_0x37c5d9(0x94))&&!_0x2eee55[_0x37c5d9(0x96)]('label')['trim']())throw CliErrors[_0x37c5d9(0xb6)](_0x37c5d9(0xbe));validateSort(_0x2eee55);}async function buildUpdatePlan(_0x517205,_0x532653){const _0x234ee6=a114_0x8d2047,_0x4eb611=validateExactId(_0x517205),_0x541b94=await fetchMutationSnapshot(_0x517205,_0x234ee6(0xae),_0x4eb611),_0x17de48=requireMenu(_0x541b94,_0x4eb611);if(_0x17de48[_0x234ee6(0xaa)]!==_0x234ee6(0xb9))throw menuError(_0x234ee6(0xa2),_0x234ee6(0xbd)+_0x4eb611+'\x20is\x20type\x20\x22'+(_0x17de48[_0x234ee6(0xaa)]||'unknown')+'\x22,\x20not\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x517205,_0x17de48);const _0x49173c={'id':_0x4eb611},_0x2bf917={..._0x17de48};if(hasFlag(_0x517205,'label')){const _0x5461bc=_0x517205[_0x234ee6(0x96)](_0x234ee6(0x94))[_0x234ee6(0xa6)]();_0x49173c[_0x234ee6(0x94)]=_0x5461bc,_0x2bf917['label']=_0x5461bc;}if(hasFlag(_0x517205,_0x234ee6(0x9a))){const _0x357b8a=validateSort(_0x517205);_0x49173c['sort']=_0x357b8a,_0x2bf917['sort']=_0x357b8a;}const _0x1283c8=sameRequestedState(_0x17de48,_0x2bf917),_0x1df48e=_0x1283c8?[_0x234ee6(0xa1)]:[];return{'patch':_0x49173c,'noChanges':_0x1283c8,'plan':mutationResult({'operation':_0x234ee6(0x91),'selector':{'id':_0x4eb611},'before':_0x17de48,'after':_0x2bf917,'dryRun':_0x532653,'backend':[...BACKEND],'snapshotHash':_0x541b94[_0x234ee6(0xa8)],'warnings':_0x1df48e})};}function sameRequestedState(_0x5cb72e,_0x31492b){const _0x3754ac=a114_0x8d2047;return _0x5cb72e[_0x3754ac(0x94)]===_0x31492b[_0x3754ac(0x94)]&&_0x5cb72e[_0x3754ac(0x9a)]===_0x31492b[_0x3754ac(0x9a)];}function verifyPatch(_0x5c0a23,_0xc4e71c){const _0x4c7c4d=a114_0x8d2047;assertVerified(_0x5c0a23['type']==='folder',_0x4c7c4d(0xbd)+_0x5c0a23['id']+_0x4c7c4d(0xa9)),_0xc4e71c[_0x4c7c4d(0x94)]!==undefined&&assertVerified(_0x5c0a23[_0x4c7c4d(0x94)]===_0xc4e71c[_0x4c7c4d(0x94)],_0x4c7c4d(0xb0)+_0x5c0a23['id']+_0x4c7c4d(0xb7)),_0xc4e71c['sort']!==undefined&&assertVerified(_0x5c0a23[_0x4c7c4d(0x9a)]===_0xc4e71c[_0x4c7c4d(0x9a)],'Folder\x20'+_0x5c0a23['id']+_0x4c7c4d(0xa7));}
1
+ const a115_0x479b00=a115_0x17b4;(function(_0x5ee603,_0x301bf1){const _0x284c89=a115_0x17b4,_0x4f7c8f=_0x5ee603();while(!![]){try{const _0x241c68=parseInt(_0x284c89(0x84))/0x1*(-parseInt(_0x284c89(0x99))/0x2)+-parseInt(_0x284c89(0x92))/0x3+-parseInt(_0x284c89(0x8e))/0x4*(-parseInt(_0x284c89(0x94))/0x5)+parseInt(_0x284c89(0x97))/0x6*(parseInt(_0x284c89(0x73))/0x7)+-parseInt(_0x284c89(0x83))/0x8*(parseInt(_0x284c89(0x7b))/0x9)+parseInt(_0x284c89(0x78))/0xa+-parseInt(_0x284c89(0x86))/0xb*(-parseInt(_0x284c89(0x71))/0xc);if(_0x241c68===_0x301bf1)break;else _0x4f7c8f['push'](_0x4f7c8f['shift']());}catch(_0x35d22b){_0x4f7c8f['push'](_0x4f7c8f['shift']());}}}(a115_0x10ee,0x3ec07));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0x479b00(0x95),'path':a115_0x479b00(0x75)}];function a115_0x17b4(_0x3fe842,_0x215be3){_0x3fe842=_0x3fe842-0x6e;const _0x10ee5b=a115_0x10ee();let _0x17b48e=_0x10ee5b[_0x3fe842];return _0x17b48e;}export const menuGroupUpdate={'service':'menu','command':a115_0x479b00(0x79),'description':a115_0x479b00(0x96),'risk':a115_0x479b00(0x7d),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':a115_0x479b00(0x81)}],'flags':[MENU_ID_FLAG,{'name':a115_0x479b00(0x8a),'type':'string','description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x564dcd){validateUpdateInput(_0x564dcd);},async 'dryRun'(_0x426f3b){const _0x386124=a115_0x479b00;validateUpdateInput(_0x426f3b);const {plan:_0x509e06,patch:_0x1f218a}=await buildUpdatePlan(_0x426f3b,!![]);return menuDryRunResult(_0x509e06,{'method':_0x386124(0x95),'url':'/smartapi/menu/update','body':_0x1f218a,'description':_0x386124(0x8b)+_0x509e06[_0x386124(0x9a)]['id']+'.'});},async 'execute'(_0x4e9359){const _0x32c1c6=a115_0x479b00;validateUpdateInput(_0x4e9359);const {plan:_0x6738fd,patch:_0x213b9d,noChanges:_0xd83bb3}=await buildUpdatePlan(_0x4e9359,![]),_0x13678a=Number(_0x6738fd['selector']['id']),_0x185411=await recheckMutationSnapshot(_0x4e9359,_0x6738fd,_0x32c1c6(0x80),_0x13678a);if(!_0xd83bb3)try{await updateMenuEntity(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359[_0x32c1c6(0x72)],_0x213b9d);}catch(_0x57852a){const _0x2f68ea=mapMenuApiError(_0x57852a,_0x32c1c6(0x80),_0x13678a);throw menuFailure(_0x2f68ea,_0x6738fd,{'stage':_0x32c1c6(0x77),'failed':{'id':_0x13678a}});}let _0x52a8fe=_0x185411,_0x2f8297;try{!_0xd83bb3&&(_0x52a8fe=await fetchMenuSnapshot(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359['cookie'])),_0x2f8297=requireMenu(_0x52a8fe,_0x13678a),verifyPatch(_0x2f8297,_0x213b9d),_0x2f8297[_0x32c1c6(0x6e)]!=null&&requireFolder(_0x52a8fe,_0x2f8297[_0x32c1c6(0x6e)]);}catch(_0x1ce58b){const _0x632f76=describeMenuErrorCause(_0x1ce58b,_0x32c1c6(0x7f),_0x13678a),_0x7cceb9=asVerificationError(_0x1ce58b,_0x32c1c6(0x91)+_0x13678a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x7cceb9,_0x6738fd,{'stage':_0x32c1c6(0x82),'succeeded':[{'id':_0x13678a,'updateRequested':!_0xd83bb3,'skipped':_0xd83bb3}],'failed':{'id':_0x13678a,'requestedStateConfirmed':![],..._0x632f76},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x32c1c6(0x98),'lookupCommand':_0x32c1c6(0x76),'targetId':_0x13678a}});}const _0x3e13d7=mutationResult({..._0x6738fd,'after':_0x2f8297,'dryRun':![],'succeeded':[{'id':_0x13678a,'updated':!_0xd83bb3,'skipped':_0xd83bb3}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x52a8fe[_0x32c1c6(0x8d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3e13d7,'message':_0xd83bb3?_0x32c1c6(0x8f)+_0x13678a+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x13678a+'.'};}};function a115_0x10ee(){const _0x321801=['/smartapi/menu/update','rabetbase\x20menu\x20list\x20--format\x20json','update','1800080qSbumS','group-update','\x22,\x20not\x20folder.','126glUJle','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','write','parent-id','verify\x20folder\x20update','update\x20folder','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','verification','159592MkMQpn','822HsPebG','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','44cOLZFE','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','validation','label','Would\x20update\x20folder\x20','Menu\x20','hash','1532yRpRBR','Folder\x20','folder','Update\x20request\x20for\x20folder\x20','523509ftkaNc','type','2865pXWnfJ','POST','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','18mHLJBv','failed','382YSRszT','selector','appCode','sort','No\x20online\x20fields\x20would\x20change.','parentId','trim','menu_not_folder','850224KRgNSF','cookie','431543knJfEA','str'];a115_0x10ee=function(){return _0x321801;};return a115_0x10ee();}function validateUpdateInput(_0x2183dd){const _0x392844=a115_0x479b00;validateExactId(_0x2183dd);if(hasFlag(_0x2183dd,_0x392844(0x7e)))throw CliErrors['validation'](_0x392844(0x87),_0x392844(0x81));if(!hasFlag(_0x2183dd,_0x392844(0x8a))&&!hasFlag(_0x2183dd,_0x392844(0x9c)))throw CliErrors[_0x392844(0x89)](_0x392844(0x7c));if(hasFlag(_0x2183dd,_0x392844(0x8a))&&!_0x2183dd[_0x392844(0x74)](_0x392844(0x8a))[_0x392844(0x6f)]())throw CliErrors[_0x392844(0x89)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x2183dd);}async function buildUpdatePlan(_0x366f78,_0x5d3020){const _0x3c993d=a115_0x479b00,_0x4a3bbf=validateExactId(_0x366f78),_0x4d4e9d=await fetchMutationSnapshot(_0x366f78,_0x3c993d(0x80),_0x4a3bbf),_0x2f138d=requireMenu(_0x4d4e9d,_0x4a3bbf);if(_0x2f138d[_0x3c993d(0x93)]!==_0x3c993d(0x90))throw menuError(_0x3c993d(0x70),_0x3c993d(0x8c)+_0x4a3bbf+'\x20is\x20type\x20\x22'+(_0x2f138d[_0x3c993d(0x93)]||'unknown')+_0x3c993d(0x7a),_0x3c993d(0x85));assertExpectedState(_0x366f78,_0x2f138d);const _0x4a8f32={'id':_0x4a3bbf},_0x5dd09f={..._0x2f138d};if(hasFlag(_0x366f78,_0x3c993d(0x8a))){const _0x703f08=_0x366f78[_0x3c993d(0x74)](_0x3c993d(0x8a))[_0x3c993d(0x6f)]();_0x4a8f32[_0x3c993d(0x8a)]=_0x703f08,_0x5dd09f[_0x3c993d(0x8a)]=_0x703f08;}if(hasFlag(_0x366f78,_0x3c993d(0x9c))){const _0x5a3099=validateSort(_0x366f78);_0x4a8f32[_0x3c993d(0x9c)]=_0x5a3099,_0x5dd09f[_0x3c993d(0x9c)]=_0x5a3099;}const _0x21e3af=sameRequestedState(_0x2f138d,_0x5dd09f),_0xaf955=_0x21e3af?[_0x3c993d(0x9d)]:[];return{'patch':_0x4a8f32,'noChanges':_0x21e3af,'plan':mutationResult({'operation':_0x3c993d(0x79),'selector':{'id':_0x4a3bbf},'before':_0x2f138d,'after':_0x5dd09f,'dryRun':_0x5d3020,'backend':[...BACKEND],'snapshotHash':_0x4d4e9d[_0x3c993d(0x8d)],'warnings':_0xaf955})};}function sameRequestedState(_0x1463e8,_0x4deead){const _0x5e2141=a115_0x479b00;return _0x1463e8[_0x5e2141(0x8a)]===_0x4deead['label']&&_0x1463e8[_0x5e2141(0x9c)]===_0x4deead['sort'];}function verifyPatch(_0x129160,_0x10be30){const _0x13bdce=a115_0x479b00;assertVerified(_0x129160[_0x13bdce(0x93)]===_0x13bdce(0x90),_0x13bdce(0x8c)+_0x129160['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x10be30[_0x13bdce(0x8a)]!==undefined&&assertVerified(_0x129160[_0x13bdce(0x8a)]===_0x10be30[_0x13bdce(0x8a)],_0x13bdce(0x8f)+_0x129160['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x10be30[_0x13bdce(0x9c)]!==undefined&&assertVerified(_0x129160['sort']===_0x10be30[_0x13bdce(0x9c)],_0x13bdce(0x8f)+_0x129160['id']+_0x13bdce(0x88));}
@@ -1 +1 @@
1
- function a115_0x92aa(_0x19749c,_0x36d8d3){_0x19749c=_0x19749c-0x8d;const _0x358f8c=a115_0x358f();let _0x92aa7a=_0x358f8c[_0x19749c];return _0x92aa7a;}(function(_0x2d563e,_0x5d217e){const _0x275aca=a115_0x92aa,_0xece0ed=_0x2d563e();while(!![]){try{const _0x559252=-parseInt(_0x275aca(0x8d))/0x1+parseInt(_0x275aca(0x90))/0x2*(parseInt(_0x275aca(0x96))/0x3)+parseInt(_0x275aca(0x92))/0x4*(-parseInt(_0x275aca(0x94))/0x5)+parseInt(_0x275aca(0x93))/0x6*(parseInt(_0x275aca(0x95))/0x7)+-parseInt(_0x275aca(0x8f))/0x8+parseInt(_0x275aca(0x91))/0x9+parseInt(_0x275aca(0x97))/0xa*(parseInt(_0x275aca(0x8e))/0xb);if(_0x559252===_0x5d217e)break;else _0xece0ed['push'](_0xece0ed['shift']());}catch(_0x317e7a){_0xece0ed['push'](_0xece0ed['shift']());}}}(a115_0x358f,0x47530));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';function a115_0x358f(){const _0x34f2ef=['2526jPsgzg','957033DcqXrc','679280OQINgw','78DeqxTG','15YPMFwZ','171766QBrgur','1329xaeJgY','100thUXOQ','94209EXsAro','75911dQsAXa','1264296YZSPTJ'];a115_0x358f=function(){return _0x34f2ef;};return a115_0x358f();}import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ (function(_0x3d7041,_0x220c39){const _0x5cf88d=a116_0x3520,_0x12bd95=_0x3d7041();while(!![]){try{const _0x51e21d=-parseInt(_0x5cf88d(0x8b))/0x1+parseInt(_0x5cf88d(0x86))/0x2+parseInt(_0x5cf88d(0x8c))/0x3*(parseInt(_0x5cf88d(0x83))/0x4)+-parseInt(_0x5cf88d(0x87))/0x5*(-parseInt(_0x5cf88d(0x88))/0x6)+parseInt(_0x5cf88d(0x8a))/0x7+parseInt(_0x5cf88d(0x89))/0x8*(-parseInt(_0x5cf88d(0x85))/0x9)+-parseInt(_0x5cf88d(0x84))/0xa;if(_0x51e21d===_0x220c39)break;else _0x12bd95['push'](_0x12bd95['shift']());}catch(_0x1b45f5){_0x12bd95['push'](_0x12bd95['shift']());}}}(a116_0x227e,0x3105d));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';function a116_0x227e(){const _0x2b7130=['455782ejtXXY','63440jeFTRZ','108TmdUbp','56zAGcYZ','900319cpGjAn','265746nipZMR','192243KJtOpY','16DDXwDg','722800IuHwSj','388791Pozcxh'];a116_0x227e=function(){return _0x2b7130;};return a116_0x227e();}function a116_0x3520(_0x441754,_0x2ccc4a){_0x441754=_0x441754-0x83;const _0x227e30=a116_0x227e();let _0x352013=_0x227e30[_0x441754];return _0x352013;}import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -1 +1 @@
1
- function a116_0x6efc(){const _0x5625ad=['108241lnQLhU','22NrmGLa','boolean','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','total','map','4dRdRlu','4244uPqqfY','7850rFgNHy','bool','cookie','2459601zZisqp','read','395875agKKlz','list','96PMHPRq','2088624OhuEHS','No\x20menus\x20found.','2334009TGLQFT','19415820zRvGLt','24yhlMYL','verbose','appCode','hash'];a116_0x6efc=function(){return _0x5625ad;};return a116_0x6efc();}function a116_0x1cd7(_0x42d3fc,_0x102133){_0x42d3fc=_0x42d3fc-0x93;const _0x6efc41=a116_0x6efc();let _0x1cd7cf=_0x6efc41[_0x42d3fc];return _0x1cd7cf;}const a116_0x57b583=a116_0x1cd7;(function(_0x274df3,_0x56ff75){const _0x35e9f9=a116_0x1cd7,_0x14ff61=_0x274df3();while(!![]){try{const _0x2b3bf2=-parseInt(_0x35e9f9(0x9f))/0x1*(parseInt(_0x35e9f9(0x98))/0x2)+parseInt(_0x35e9f9(0xa4))/0x3+-parseInt(_0x35e9f9(0x99))/0x4*(parseInt(_0x35e9f9(0x9a))/0x5)+parseInt(_0x35e9f9(0xa1))/0x6*(parseInt(_0x35e9f9(0xaa))/0x7)+parseInt(_0x35e9f9(0xa6))/0x8*(parseInt(_0x35e9f9(0x9d))/0x9)+parseInt(_0x35e9f9(0xa5))/0xa+-parseInt(_0x35e9f9(0x93))/0xb*(parseInt(_0x35e9f9(0xa2))/0xc);if(_0x2b3bf2===_0x56ff75)break;else _0x14ff61['push'](_0x14ff61['shift']());}catch(_0x5cb901){_0x14ff61['push'](_0x14ff61['shift']());}}}(a116_0x6efc,0xef8f4));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':a116_0x57b583(0xa0),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a116_0x57b583(0x9e),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a116_0x57b583(0x94),'description':a116_0x57b583(0x95)}],async 'execute'(_0x257b23){const _0x3da10f=a116_0x57b583,_0xaf2e3b=_0x257b23[_0x3da10f(0x9b)](_0x3da10f(0xa7)),_0x5b3706=await fetchMenuSnapshot(_0x257b23[_0x3da10f(0xa8)],_0x257b23[_0x3da10f(0x9c)],{'verbose':_0xaf2e3b});return{'ok':!![],'data':{'total':_0x5b3706[_0x3da10f(0x96)],'snapshotHash':_0x5b3706[_0x3da10f(0xa9)],'menus':_0x5b3706['menus'][_0x3da10f(0x97)](toMenuListItem)},'message':_0x5b3706[_0x3da10f(0x96)]===0x0?_0x3da10f(0xa3):'Found\x20'+_0x5b3706['total']+'\x20menu(s)'};}};
1
+ const a117_0x1fb9c4=a117_0x1c68;function a117_0x1c68(_0x37ab56,_0x10f47e){_0x37ab56=_0x37ab56-0x6e;const _0x25477d=a117_0x2547();let _0x1c689b=_0x25477d[_0x37ab56];return _0x1c689b;}(function(_0x22cb75,_0x5e16d2){const _0x1d46c6=a117_0x1c68,_0x194795=_0x22cb75();while(!![]){try{const _0xee9892=-parseInt(_0x1d46c6(0x86))/0x1*(parseInt(_0x1d46c6(0x72))/0x2)+-parseInt(_0x1d46c6(0x81))/0x3*(parseInt(_0x1d46c6(0x70))/0x4)+parseInt(_0x1d46c6(0x85))/0x5+parseInt(_0x1d46c6(0x75))/0x6*(-parseInt(_0x1d46c6(0x82))/0x7)+parseInt(_0x1d46c6(0x71))/0x8*(parseInt(_0x1d46c6(0x79))/0x9)+parseInt(_0x1d46c6(0x84))/0xa*(parseInt(_0x1d46c6(0x6e))/0xb)+-parseInt(_0x1d46c6(0x76))/0xc;if(_0xee9892===_0x5e16d2)break;else _0x194795['push'](_0x194795['shift']());}catch(_0x191b0a){_0x194795['push'](_0x194795['shift']());}}}(a117_0x2547,0x27462));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a117_0x2547(){const _0x170d17=['list','18633Rkbpma','14Opbcwe','boolean','30suYfJF','1453270xwIrIq','184517BNxqHK','592284QJGoXg','map','128UvuXPt','1932616qfrfbI','2TsvowF','hash','menu','151068kHnnwS','1191264swTzQj','total','verbose','9KFTRlk','cookie','bool','No\x20menus\x20found.','read','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','Found\x20'];a117_0x2547=function(){return _0x170d17;};return a117_0x2547();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a117_0x1fb9c4(0x74),'command':a117_0x1fb9c4(0x80),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a117_0x1fb9c4(0x7d),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x1fb9c4(0x78),'type':a117_0x1fb9c4(0x83),'description':a117_0x1fb9c4(0x7e)}],async 'execute'(_0x15e2f4){const _0x59939b=a117_0x1fb9c4,_0x16dfbc=_0x15e2f4[_0x59939b(0x7b)](_0x59939b(0x78)),_0x30eeb3=await fetchMenuSnapshot(_0x15e2f4['appCode'],_0x15e2f4[_0x59939b(0x7a)],{'verbose':_0x16dfbc});return{'ok':!![],'data':{'total':_0x30eeb3[_0x59939b(0x77)],'snapshotHash':_0x30eeb3[_0x59939b(0x73)],'menus':_0x30eeb3['menus'][_0x59939b(0x6f)](toMenuListItem)},'message':_0x30eeb3[_0x59939b(0x77)]===0x0?_0x59939b(0x7c):_0x59939b(0x7f)+_0x30eeb3[_0x59939b(0x77)]+'\x20menu(s)'};}};
@@ -1 +1 @@
1
- const a117_0x8c4e22=a117_0x2171;(function(_0x2fd874,_0x31468c){const _0x61f18d=a117_0x2171,_0x37e1cd=_0x2fd874();while(!![]){try{const _0x4fbf04=parseInt(_0x61f18d(0x108))/0x1+parseInt(_0x61f18d(0x112))/0x2+-parseInt(_0x61f18d(0x116))/0x3+-parseInt(_0x61f18d(0x11a))/0x4*(parseInt(_0x61f18d(0x12a))/0x5)+parseInt(_0x61f18d(0x104))/0x6+-parseInt(_0x61f18d(0x118))/0x7*(-parseInt(_0x61f18d(0x10b))/0x8)+parseInt(_0x61f18d(0x129))/0x9*(-parseInt(_0x61f18d(0x120))/0xa);if(_0x4fbf04===_0x31468c)break;else _0x37e1cd['push'](_0x37e1cd['shift']());}catch(_0x30db04){_0x37e1cd['push'](_0x37e1cd['shift']());}}}(a117_0x3026,0x74493));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a117_0x3026(){const _0x468f65=['4385unphjS','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Move\x20request\x20for\x20menu\x20','Menu\x20','folder','/smartapi/menu/update','appCode','after','menu_move_source_not_leaf','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','verification','hash','cookie','4250412KRPSnA','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20is\x20no\x20longer\x20a\x20leaf.','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','750172bTgWOW','menu_state_drift','rabetbase\x20menu\x20list\x20--format\x20compress','16VLeSXZ','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','\x20is\x20now\x20type\x20folder.','verify\x20menu\x20move','update','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','sort','1362174tylGEG',',\x20current\x20','type','Moved\x20menu\x20','75960UsMpPS','write','778533xPABLu','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','4320FTlABO','parent-id','\x20parent\x20changed:\x20expected\x20','parentId','expect-parent-id','move','20YZnXHD','POST','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Would\x20move\x20menu\x20','childrenCount','failed','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','4109904CuzGdM'];a117_0x3026=function(){return _0x468f65;};return a117_0x3026();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a117_0x2171(_0x2d75c6,_0x306d76){_0x2d75c6=_0x2d75c6-0xf8;const _0x3026b5=a117_0x3026();let _0x2171f9=_0x3026b5[_0x2d75c6];return _0x2171f9;}const BACKEND=[{'method':'POST','path':a117_0x8c4e22(0xfc)}];export const menuMove={'service':a117_0x8c4e22(0x127),'command':a117_0x8c4e22(0x11f),'description':a117_0x8c4e22(0x126),'risk':a117_0x8c4e22(0x117),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x295673){validateMoveInput(_0x295673);},async 'dryRun'(_0x4fb59d){const _0x27fcb7=a117_0x8c4e22,{plan:_0x12d351,patch:_0x4958e7}=await buildMovePlan(_0x4fb59d,!![]);return menuDryRunResult(_0x12d351,{'method':_0x27fcb7(0x121),'url':_0x27fcb7(0xfc),'body':{..._0x4958e7,'appCode':_0x4fb59d[_0x27fcb7(0xfd)]},'description':_0x27fcb7(0x123)+_0x4958e7['id']+'.'});},async 'execute'(_0x23cc2c){const _0x36eedd=a117_0x8c4e22;validateMoveInput(_0x23cc2c);const {plan:_0x23642a,patch:_0x8898c4,noChanges:_0x12f901,snapshot:_0x470d01}=await buildMovePlan(_0x23cc2c,![]),_0x115de7=_0x8898c4['id'];if(!_0x12f901)try{await updateMenuEntity(_0x23cc2c[_0x36eedd(0xfd)],_0x23cc2c[_0x36eedd(0x103)],_0x8898c4);}catch(_0x3d56a6){const _0x6bb05a=mapMenuApiError(_0x3d56a6,_0x36eedd(0x11f),_0x115de7);throw menuFailure(_0x6bb05a,_0x23642a,{'stage':_0x36eedd(0x10f),'failed':{'id':_0x115de7},'warnings':[_0x36eedd(0x105)],'verification':{'status':_0x36eedd(0x125),'targetId':_0x115de7,'lookupCommand':_0x36eedd(0x10a)}});}let _0xcb4492,_0x19d0e0;try{_0xcb4492=_0x12f901?_0x470d01:await fetchMenuSnapshot(_0x23cc2c['appCode'],_0x23cc2c['cookie']),_0x19d0e0=requireMenu(_0xcb4492,_0x115de7),verifyMove(_0x19d0e0,_0x23642a[_0x36eedd(0xfe)]),_0x19d0e0[_0x36eedd(0x11d)]!==null&&requireFolder(_0xcb4492,_0x19d0e0[_0x36eedd(0x11d)]);}catch(_0x22a893){const _0x3b6d9e=describeMenuErrorCause(_0x22a893,_0x36eedd(0x10e),_0x115de7),_0x55399c=asVerificationError(_0x22a893,_0x36eedd(0xf9)+_0x115de7+_0x36eedd(0xf8));throw menuFailure(_0x55399c,_0x23642a,{'stage':_0x36eedd(0x101),'succeeded':[{'id':_0x115de7,'updateRequested':!_0x12f901,'skipped':_0x12f901}],'failed':{'id':_0x115de7,'requestedStateConfirmed':![],..._0x3b6d9e},'warnings':[_0x36eedd(0x119)],'verification':{'status':_0x36eedd(0x125),'targetId':_0x115de7,'lookupCommand':_0x36eedd(0x10a)}});}const _0x38654e=mutationResult({..._0x23642a,'after':_0x19d0e0,'dryRun':![],'succeeded':[{'id':_0x115de7,'updated':!_0x12f901,'skipped':_0x12f901}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xcb4492['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x38654e,'message':_0x12f901?'Menu\x20'+_0x115de7+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x36eedd(0x115)+_0x115de7+'.'};}};function validateMoveInput(_0x1c99f0){const _0x1b2474=a117_0x8c4e22;validateExactId(_0x1c99f0),parseParentId(_0x1c99f0,_0x1b2474(0x11b),{'required':!![]}),parseParentId(_0x1c99f0,_0x1b2474(0x11e),{'required':!![]}),validateSort(_0x1c99f0);}async function buildMovePlan(_0xc10914,_0x3a29dc){const _0x1e6018=a117_0x8c4e22,_0x4fb007=validateExactId(_0xc10914),_0x1e6731=parseParentId(_0xc10914,_0x1e6018(0x11b),{'required':!![]}),_0x73626=parseParentId(_0xc10914,_0x1e6018(0x11e),{'required':!![]}),_0x21a938=validateSort(_0xc10914),_0x233f57=await fetchMutationSnapshot(_0xc10914,'move\x20menu',_0x4fb007),_0x344139=requireMenu(_0x233f57,_0x4fb007);if(_0x344139[_0x1e6018(0x114)]===_0x1e6018(0xfb)||_0x344139[_0x1e6018(0x124)]!==0x0)throw menuError(_0x1e6018(0xff),'Menu\x20'+_0x4fb007+_0x1e6018(0x107),_0x1e6018(0x100));if(_0x344139[_0x1e6018(0x11d)]!==_0x73626)throw menuError(_0x1e6018(0x109),_0x1e6018(0xfa)+_0x4fb007+_0x1e6018(0x11c)+formatParent(_0x73626)+_0x1e6018(0x113)+formatParent(_0x344139['parentId'])+'.',_0x1e6018(0x128));_0x1e6731!==null&&requireFolder(_0x233f57,_0x1e6731);const _0x513368=_0x21a938??(_0x344139[_0x1e6018(0x11d)]===_0x1e6731?_0x344139[_0x1e6018(0x111)]??0x0:nextSiblingSort(_0x233f57,_0x1e6731,_0x1e6018(0x127))),_0x5169e5={..._0x344139,'parentId':_0x1e6731,'sort':_0x513368},_0x457b74={'id':_0x4fb007,'parentId':toApiParentId(_0x1e6731),'sort':_0x513368},_0x326467=_0x344139[_0x1e6018(0x11d)]===_0x1e6731&&_0x344139[_0x1e6018(0x111)]===_0x513368;return{'patch':_0x457b74,'noChanges':_0x326467,'snapshot':_0x233f57,'plan':mutationResult({'operation':_0x1e6018(0x11f),'selector':{'id':_0x4fb007,'parentId':_0x1e6731},'before':_0x344139,'after':_0x5169e5,'dryRun':_0x3a29dc,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x1e6018(0x121),'path':_0x1e6018(0xfc),'body':{..._0x457b74,'appCode':_0xc10914[_0x1e6018(0xfd)]}}],'snapshotHash':_0x233f57[_0x1e6018(0x102)],'warnings':_0x326467?[_0x1e6018(0x110)]:[]})};}function verifyMove(_0x574661,_0x417971){const _0x29dfa5=a117_0x8c4e22;assertVerified(_0x574661[_0x29dfa5(0x114)]!=='folder','Menu\x20'+_0x574661['id']+_0x29dfa5(0x10d)),assertVerified(_0x574661[_0x29dfa5(0x124)]===0x0,_0x29dfa5(0xfa)+_0x574661['id']+_0x29dfa5(0x106)),assertVerified(_0x574661[_0x29dfa5(0x11d)]===_0x417971[_0x29dfa5(0x11d)],'Menu\x20'+_0x574661['id']+_0x29dfa5(0x122)),assertVerified(_0x574661['sort']===_0x417971[_0x29dfa5(0x111)],_0x29dfa5(0xfa)+_0x574661['id']+_0x29dfa5(0x10c));}
1
+ const a118_0x15917b=a118_0x7d5a;(function(_0x21b863,_0x5c46bb){const _0x5f27e7=a118_0x7d5a,_0xf9f205=_0x21b863();while(!![]){try{const _0x5bd343=parseInt(_0x5f27e7(0x16b))/0x1+parseInt(_0x5f27e7(0x173))/0x2+parseInt(_0x5f27e7(0x16e))/0x3+parseInt(_0x5f27e7(0x175))/0x4*(-parseInt(_0x5f27e7(0x15b))/0x5)+parseInt(_0x5f27e7(0x160))/0x6*(parseInt(_0x5f27e7(0x157))/0x7)+parseInt(_0x5f27e7(0x159))/0x8+-parseInt(_0x5f27e7(0x164))/0x9*(parseInt(_0x5f27e7(0x15e))/0xa);if(_0x5bd343===_0x5c46bb)break;else _0xf9f205['push'](_0xf9f205['shift']());}catch(_0x4e2d5c){_0xf9f205['push'](_0xf9f205['shift']());}}}(a118_0x5413,0x8cb24));function a118_0x5413(){const _0x439d50=['689042wHhKIR','Menu\x20','96HSPVXm','move\x20menu','parentId','expect-parent-id','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','sort','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--format\x20compress','move','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','497IDygkD','menu_state_drift','6476144zUYrCz','write','214535SdrgPr','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','parent-id','424970YtsVSN','after','75282pPMtTM','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.',',\x20current\x20','POST','378yprKcp','\x20is\x20no\x20longer\x20a\x20leaf.','failed','cookie','Would\x20move\x20menu\x20','childrenCount','menu','1009264ZFVYRF','verify\x20menu\x20move','/smartapi/menu/update','1010382FjtILk','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','folder','appCode','menu_move_source_not_leaf'];a118_0x5413=function(){return _0x439d50;};return a118_0x5413();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a118_0x7d5a(_0x43319c,_0x41f763){_0x43319c=_0x43319c-0x152;const _0x541391=a118_0x5413();let _0x7d5af3=_0x541391[_0x43319c];return _0x7d5af3;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0x15917b(0x163),'path':a118_0x15917b(0x16d)}];export const menuMove={'service':a118_0x15917b(0x16a),'command':'move','description':a118_0x15917b(0x179),'risk':a118_0x15917b(0x15a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53c17b){validateMoveInput(_0x53c17b);},async 'dryRun'(_0x1dc43e){const _0x48c0ef=a118_0x15917b,{plan:_0x3fd8f1,patch:_0x21d424}=await buildMovePlan(_0x1dc43e,!![]);return menuDryRunResult(_0x3fd8f1,{'method':_0x48c0ef(0x163),'url':'/smartapi/menu/update','body':{..._0x21d424,'appCode':_0x1dc43e[_0x48c0ef(0x171)]},'description':_0x48c0ef(0x168)+_0x21d424['id']+'.'});},async 'execute'(_0x4103fd){const _0x186042=a118_0x15917b;validateMoveInput(_0x4103fd);const {plan:_0x337aea,patch:_0x492fc0,noChanges:_0x3b92c8,snapshot:_0x3b4458}=await buildMovePlan(_0x4103fd,![]),_0x5452a5=_0x492fc0['id'];if(!_0x3b92c8)try{await updateMenuEntity(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)],_0x492fc0);}catch(_0x1e0db8){const _0xe74839=mapMenuApiError(_0x1e0db8,'move',_0x5452a5);throw menuFailure(_0xe74839,_0x337aea,{'stage':'update','failed':{'id':_0x5452a5},'warnings':[_0x186042(0x152)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}let _0x27eced,_0x40999b;try{_0x27eced=_0x3b92c8?_0x3b4458:await fetchMenuSnapshot(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)]),_0x40999b=requireMenu(_0x27eced,_0x5452a5),verifyMove(_0x40999b,_0x337aea[_0x186042(0x15f)]),_0x40999b[_0x186042(0x177)]!==null&&requireFolder(_0x27eced,_0x40999b[_0x186042(0x177)]);}catch(_0x3017ce){const _0x26bcfc=describeMenuErrorCause(_0x3017ce,_0x186042(0x16c),_0x5452a5),_0x34a40a=asVerificationError(_0x3017ce,'Move\x20request\x20for\x20menu\x20'+_0x5452a5+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x34a40a,_0x337aea,{'stage':'verification','succeeded':[{'id':_0x5452a5,'updateRequested':!_0x3b92c8,'skipped':_0x3b92c8}],'failed':{'id':_0x5452a5,'requestedStateConfirmed':![],..._0x26bcfc},'warnings':[_0x186042(0x17a)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}const _0x51ea34=mutationResult({..._0x337aea,'after':_0x40999b,'dryRun':![],'succeeded':[{'id':_0x5452a5,'updated':!_0x3b92c8,'skipped':_0x3b92c8}],'verification':{'checkedBy':_0x186042(0x156),'snapshotHash':_0x27eced['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x51ea34,'message':_0x3b92c8?_0x186042(0x174)+_0x5452a5+_0x186042(0x161):'Moved\x20menu\x20'+_0x5452a5+'.'};}};function validateMoveInput(_0xc21ecc){const _0x53ef34=a118_0x15917b;validateExactId(_0xc21ecc),parseParentId(_0xc21ecc,_0x53ef34(0x15d),{'required':!![]}),parseParentId(_0xc21ecc,'expect-parent-id',{'required':!![]}),validateSort(_0xc21ecc);}async function buildMovePlan(_0x29ad93,_0x540711){const _0x26b942=a118_0x15917b,_0x35984b=validateExactId(_0x29ad93),_0x319511=parseParentId(_0x29ad93,_0x26b942(0x15d),{'required':!![]}),_0x1492fd=parseParentId(_0x29ad93,_0x26b942(0x178),{'required':!![]}),_0x53ff63=validateSort(_0x29ad93),_0xb791f4=await fetchMutationSnapshot(_0x29ad93,_0x26b942(0x176),_0x35984b),_0x2ec31e=requireMenu(_0xb791f4,_0x35984b);if(_0x2ec31e['type']==='folder'||_0x2ec31e[_0x26b942(0x169)]!==0x0)throw menuError(_0x26b942(0x172),_0x26b942(0x174)+_0x35984b+_0x26b942(0x15c),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2ec31e[_0x26b942(0x177)]!==_0x1492fd)throw menuError(_0x26b942(0x158),'Menu\x20'+_0x35984b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x1492fd)+_0x26b942(0x162)+formatParent(_0x2ec31e[_0x26b942(0x177)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x319511!==null&&requireFolder(_0xb791f4,_0x319511);const _0xe14358=_0x53ff63??(_0x2ec31e['parentId']===_0x319511?_0x2ec31e[_0x26b942(0x17b)]??0x0:nextSiblingSort(_0xb791f4,_0x319511,_0x26b942(0x16a))),_0x22d110={..._0x2ec31e,'parentId':_0x319511,'sort':_0xe14358},_0x36525d={'id':_0x35984b,'parentId':toApiParentId(_0x319511),'sort':_0xe14358},_0x42bad0=_0x2ec31e[_0x26b942(0x177)]===_0x319511&&_0x2ec31e[_0x26b942(0x17b)]===_0xe14358;return{'patch':_0x36525d,'noChanges':_0x42bad0,'snapshot':_0xb791f4,'plan':mutationResult({'operation':_0x26b942(0x154),'selector':{'id':_0x35984b,'parentId':_0x319511},'before':_0x2ec31e,'after':_0x22d110,'dryRun':_0x540711,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x26b942(0x163),'path':'/smartapi/menu/update','body':{..._0x36525d,'appCode':_0x29ad93['appCode']}}],'snapshotHash':_0xb791f4['hash'],'warnings':_0x42bad0?[_0x26b942(0x16f)]:[]})};}function verifyMove(_0x29f23e,_0x523fa9){const _0x1fa931=a118_0x15917b;assertVerified(_0x29f23e['type']!==_0x1fa931(0x170),'Menu\x20'+_0x29f23e['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x29f23e['childrenCount']===0x0,'Menu\x20'+_0x29f23e['id']+_0x1fa931(0x165)),assertVerified(_0x29f23e['parentId']===_0x523fa9[_0x1fa931(0x177)],_0x1fa931(0x174)+_0x29f23e['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x29f23e[_0x1fa931(0x17b)]===_0x523fa9[_0x1fa931(0x17b)],_0x1fa931(0x174)+_0x29f23e['id']+_0x1fa931(0x155));}
@@ -1 +1 @@
1
- function a118_0x430d(){const _0xad8e68=['stringify','<platform-generated>','appCode','folder','1467641yxRNer','Regroup\x20readback\x20also\x20failed:\x20','length','Label\x20of\x20the\x20new\x20root\x20folder','6FQPvrs','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','plan\x20regroup','--menu-ids\x20supports\x20at\x20most\x20','menu_regroup_already_applied','readbackError','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','12882jtPWSJ','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','flagMissing','Regroup\x20task\x20accepted.\x20','trim','unconfirmed','plan','Menus\x20','warnings','toLowerCase','22310zCPUEg','menu-ids','2063748mqclEL','POST','size','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','failed','SUCCESS','str','\x20menus\x20per\x20regroup\x20request.','\x20--format\x20compress','knownStatus','1552962ZCqZhx','validation','\x20and\x20regroup\x20menu\x20ids\x20','41bypqox','byId','menu_regroup_target_not_leaf','split','Regroup\x20readback\x20failed:\x20','write','parentId','map','menus','isTerminal','FAILED','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','Menu\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','submit-regroup-task','message','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','menu_regroup_target_label_missing','regroup-start','\x27\x5c\x27\x27','cookie','childrenCount','taskId','some','status','label','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','1746fMtful','589056jEALOn','regroup-submit','hash','filter','start\x20menu\x20regroup','string','/smartapi/menu/regroup','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','menu\x20list','childrenIds','applied','menuIds','join','start\x20regroup','get','1060180CsXaaT','input','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','group'];a118_0x430d=function(){return _0xad8e68;};return a118_0x430d();}const a118_0x36c4eb=a118_0x5d6c;(function(_0x430dd6,_0x259f4c){const _0x5ea7f4=a118_0x5d6c,_0x3e424e=_0x430dd6();while(!![]){try{const _0xec11b1=parseInt(_0x5ea7f4(0x216))/0x1*(parseInt(_0x5ea7f4(0x1fb))/0x2)+parseInt(_0x5ea7f4(0x213))/0x3+parseInt(_0x5ea7f4(0x207))/0x4+-parseInt(_0x5ea7f4(0x1e7))/0x5+-parseInt(_0x5ea7f4(0x1f3))/0x6*(parseInt(_0x5ea7f4(0x1ef))/0x7)+-parseInt(_0x5ea7f4(0x1d8))/0x8+parseInt(_0x5ea7f4(0x1d7))/0x9*(-parseInt(_0x5ea7f4(0x205))/0xa);if(_0xec11b1===_0x259f4c)break;else _0x3e424e['push'](_0x3e424e['shift']());}catch(_0xbd997e){_0x3e424e['push'](_0x3e424e['shift']());}}}(a118_0x430d,0x5a377));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a118_0x5d6c(_0x49baab,_0x4ee779){_0x49baab=_0x49baab-0x1c3;const _0x430d8f=a118_0x430d();let _0x5d6c40=_0x430d8f[_0x49baab];return _0x5d6c40;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':'menu','command':a118_0x36c4eb(0x1cd),'description':a118_0x36c4eb(0x1d6),'risk':a118_0x36c4eb(0x21b),'structuredErrors':!![],'flags':[{'name':a118_0x36c4eb(0x1d4),'type':'string','required':!![],'description':a118_0x36c4eb(0x1f2)},{'name':a118_0x36c4eb(0x206),'type':a118_0x36c4eb(0x1dd),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x32bfb7){validateRegroupInput(_0x32bfb7);},async 'dryRun'(_0x2fe51e){const _0x1cf3c7=a118_0x36c4eb;validateRegroupInput(_0x2fe51e);const _0x40040d=await buildRegroupPlan(_0x2fe51e,!![]);return menuDryRunResult(_0x40040d[_0x1cf3c7(0x201)],{'method':_0x1cf3c7(0x208),'url':_0x1cf3c7(0x1de),'body':_0x40040d[_0x1cf3c7(0x1e8)],'description':_0x1cf3c7(0x1c6)+JSON['stringify'](_0x40040d[_0x1cf3c7(0x1d4)])+_0x1cf3c7(0x215)+_0x40040d[_0x1cf3c7(0x1e3)][_0x1cf3c7(0x1e4)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x5e6fab){const _0x24cee8=a118_0x36c4eb;validateRegroupInput(_0x5e6fab);const _0x2747c7=await buildRegroupPlan(_0x5e6fab,![]);await recheckMutationSnapshot(_0x5e6fab,_0x2747c7['plan'],_0x24cee8(0x1e5));const _0x55758e=buildMenuLookupCommand(_0x5e6fab[_0x24cee8(0x1ed)]);let _0x4fc23a,_0x677c6d;try{_0x4fc23a=await startMenuRegroup(_0x5e6fab[_0x24cee8(0x1cf)],_0x2747c7['input']),_0x677c6d=normalizeAsyncTask(_0x4fc23a);}catch(_0x44f43e){const _0x48aa19=await inspectRegroupAfterFailure(_0x5e6fab[_0x24cee8(0x1ed)],_0x5e6fab[_0x24cee8(0x1cf)],_0x2747c7[_0x24cee8(0x1d4)],_0x2747c7['menuIds']),_0x3171a3=typeof _0x4fc23a?.['taskId']===_0x24cee8(0x1dd)&&_0x4fc23a[_0x24cee8(0x1d1)][_0x24cee8(0x1ff)]()?_0x4fc23a[_0x24cee8(0x1d1)][_0x24cee8(0x1ff)]():null,_0x4be7a1=_0x3171a3?{'command':buildAsyncTaskStatusCommand(_0x3171a3,_0x5e6fab['appCode'])}:null,_0x1c5599=mapMenuApiError(_0x44f43e,_0x24cee8(0x1dc));throw menuFailure(_0x1c5599,_0x2747c7['plan'],{'stage':_0x24cee8(0x1d9),'failed':{'menuIds':_0x2747c7['menuIds'],'taskId':_0x3171a3,'groupingApplied':_0x48aa19[_0x24cee8(0x1e2)]?!![]:_0x24cee8(0x200)},'after':_0x48aa19[_0x24cee8(0x1e2)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x48aa19[_0x24cee8(0x1f9)]?[_0x24cee8(0x1f0)+_0x48aa19[_0x24cee8(0x1f9)]]:[],..._0x3171a3?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':_0x24cee8(0x20d),'groupingApplied':_0x48aa19[_0x24cee8(0x1e2)]?!![]:_0x24cee8(0x200),'taskId':_0x3171a3,'query':_0x4be7a1,'lookupCommand':_0x55758e}});}const _0xa9d91d=buildAsyncTaskStatusCommand(_0x677c6d[_0x24cee8(0x1d1)],_0x5e6fab[_0x24cee8(0x1ed)]);let _0x3bced1=null,_0xee7df5=null,_0x32a1eb=null;try{_0x3bced1=await fetchMenuSnapshot(_0x5e6fab[_0x24cee8(0x1ed)],_0x5e6fab[_0x24cee8(0x1cf)]),_0xee7df5=findAppliedRegroup(_0x3bced1,_0x2747c7[_0x24cee8(0x1d4)],_0x2747c7[_0x24cee8(0x1e3)]);}catch(_0x1b45c0){_0x32a1eb=_0x1b45c0 instanceof Error?_0x1b45c0['message']:String(_0x1b45c0);}const _0x6dca25=mutationResult({..._0x2747c7[_0x24cee8(0x201)],'after':_0xee7df5??null,'dryRun':![],'succeeded':[{'groupId':_0xee7df5?.['group']['id']??null,'menuIds':_0x2747c7['menuIds'],'taskId':_0x677c6d[_0x24cee8(0x1d1)],'status':_0x677c6d[_0x24cee8(0x1d3)],'groupingApplied':_0xee7df5?!![]:_0x24cee8(0x200)}],'verification':{'checkedBy':_0x24cee8(0x1e0),'snapshotHash':_0x3bced1?.[_0x24cee8(0x1da)]??null,'groupId':_0xee7df5?.[_0x24cee8(0x1ea)]['id']??null,'groupingApplied':_0xee7df5?!![]:_0x24cee8(0x200),'readbackError':_0x32a1eb,'lookupCommand':_0x55758e},'warnings':[..._0x2747c7[_0x24cee8(0x201)][_0x24cee8(0x203)],...!_0xee7df5?[unconfirmedRegroupWarning(_0x677c6d)]:[],..._0x32a1eb?[_0x24cee8(0x21a)+_0x32a1eb]:[]]}),_0x31772c=_0x677c6d['status']===_0x24cee8(0x20e)&&!_0xee7df5?'Regroup\x20task\x20'+_0x677c6d['taskId']+_0x24cee8(0x1f5):_0x24cee8(0x1fe)+asyncTaskMessage(_0x677c6d);return{'ok':!![],'message':_0x31772c,'data':{..._0x6dca25,'task':_0x677c6d,'query':_0x677c6d[_0x24cee8(0x1c4)]?null:{'command':_0xa9d91d}}};}};function validateRegroupInput(_0x182968){const _0x9fb945=a118_0x36c4eb;if(!_0x182968[_0x9fb945(0x20f)](_0x9fb945(0x1d4))[_0x9fb945(0x1ff)]())throw CliErrors[_0x9fb945(0x1fd)](_0x9fb945(0x1d4));parseMenuIds(_0x182968[_0x9fb945(0x20f)]('menu-ids'));}function parseMenuIds(_0x50570e){const _0x27e1a4=a118_0x36c4eb,_0x219562=_0x50570e[_0x27e1a4(0x219)](',')[_0x27e1a4(0x21d)](_0x3fb414=>_0x3fb414[_0x27e1a4(0x1ff)]());if(_0x219562[_0x27e1a4(0x1f1)]===0x0||_0x219562['some'](_0x5d6808=>!_0x5d6808))throw CliErrors[_0x27e1a4(0x214)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x25221f=_0x219562[_0x27e1a4(0x21d)](_0x1aef47=>{const _0x1453cc=_0x27e1a4;if(!/^\d+$/['test'](_0x1aef47))throw CliErrors['validation'](_0x1453cc(0x1fa));const _0x5e6f7b=Number(_0x1aef47);if(!Number['isSafeInteger'](_0x5e6f7b)||_0x5e6f7b<=0x0)throw CliErrors[_0x1453cc(0x214)](_0x1453cc(0x1fa));return _0x5e6f7b;});if(new Set(_0x25221f)[_0x27e1a4(0x209)]!==_0x25221f[_0x27e1a4(0x1f1)])throw CliErrors['validation'](_0x27e1a4(0x1fc));if(_0x25221f[_0x27e1a4(0x1f1)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x27e1a4(0x214)](_0x27e1a4(0x1f7)+MAX_REGROUP_MENU_COUNT+_0x27e1a4(0x210));return _0x25221f;}function buildMenuLookupCommand(_0x1c54db){const _0x4bcc0c=a118_0x36c4eb,_0x1893bd='\x27'+_0x1c54db['replace'](/'/g,_0x4bcc0c(0x1ce))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x1893bd+_0x4bcc0c(0x211);}function unconfirmedRegroupWarning(_0x148187){const _0x51f805=a118_0x36c4eb;if(_0x148187[_0x51f805(0x1d3)]===_0x51f805(0x20e))return _0x51f805(0x1c8);if(_0x148187['status']===_0x51f805(0x1c5))return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x148187[_0x51f805(0x212)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x51f805(0x1df);}async function buildRegroupPlan(_0x1e625e,_0x8bdd09){const _0x5843bf=a118_0x36c4eb,_0x49db9f=_0x1e625e[_0x5843bf(0x20f)]('label')[_0x5843bf(0x1ff)](),_0x2ad4da=parseMenuIds(_0x1e625e[_0x5843bf(0x20f)]('menu-ids')),_0x592eb3=await fetchMutationSnapshot(_0x1e625e,_0x5843bf(0x1f6)),_0x5a61b3=_0x2ad4da['map'](_0x2e1d6f=>requireMenu(_0x592eb3,_0x2e1d6f));for(const _0xf5429a of _0x5a61b3){if(_0xf5429a['type'][_0x5843bf(0x1ff)]()[_0x5843bf(0x204)]()===_0x5843bf(0x1ee)||_0xf5429a[_0x5843bf(0x1d0)]>0x0)throw menuError(_0x5843bf(0x218),'Menu\x20'+_0xf5429a['id']+_0x5843bf(0x20c),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0xf5429a[_0x5843bf(0x1d4)][_0x5843bf(0x1ff)]())throw menuError(_0x5843bf(0x1cc),_0x5843bf(0x1c7)+_0xf5429a['id']+_0x5843bf(0x1e9),_0x5843bf(0x20a));}const _0x5f2dac=findAppliedRegroup(_0x592eb3,_0x49db9f,_0x2ad4da);if(_0x5f2dac)throw menuError(_0x5843bf(0x1f8),_0x5843bf(0x202)+_0x2ad4da[_0x5843bf(0x1e4)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x5f2dac[_0x5843bf(0x1ea)]['id']+'\x20('+JSON['stringify'](_0x49db9f)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x57222f=_0x592eb3[_0x5843bf(0x1c3)][_0x5843bf(0x1db)](_0x32ce17=>_0x32ce17[_0x5843bf(0x21c)]==null&&_0x32ce17['type']['trim']()[_0x5843bf(0x204)]()===_0x5843bf(0x1ee)&&_0x32ce17[_0x5843bf(0x1d4)]===_0x49db9f);if(_0x57222f[_0x5843bf(0x1f1)]>0x0)throw menuError('menu_regroup_label_conflict','Root\x20folder\x20label\x20'+JSON[_0x5843bf(0x1eb)](_0x49db9f)+_0x5843bf(0x1cb)+_0x57222f[_0x5843bf(0x21d)](_0x198259=>_0x198259['id'])['join'](',\x20')+'.',_0x5843bf(0x1d5));const _0x7d5de3={'appCode':_0x1e625e[_0x5843bf(0x1ed)],'menuGroups':[{'label':_0x49db9f,'type':_0x5843bf(0x1ee),'children':_0x5a61b3['map'](_0x59bed6=>({'id':_0x59bed6['id'],'label':_0x59bed6['label']}))}]},_0x3ebb88=mutationResult({'operation':_0x5843bf(0x1cd),'selector':{'label':_0x49db9f,'menuIds':_0x2ad4da},'before':{'menus':_0x5a61b3},'after':{'group':{'id':null,'parentId':null,'label':_0x49db9f,'path':_0x5843bf(0x1ec),'type':'folder','childrenIds':_0x2ad4da},'children':_0x5a61b3['map'](_0x243db1=>({'id':_0x243db1['id'],'label':_0x243db1[_0x5843bf(0x1d4)],'beforeParentId':_0x243db1[_0x5843bf(0x21c)],'afterParentId':'<new-group-id>'}))},'dryRun':_0x8bdd09,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5843bf(0x1c9),'method':'POST','path':_0x5843bf(0x1de),'body':_0x7d5de3}],'snapshotHash':_0x592eb3['hash'],'warnings':[_0x5843bf(0x1f4),_0x5843bf(0x20b)]});return{'label':_0x49db9f,'menuIds':_0x2ad4da,'input':_0x7d5de3,'plan':_0x3ebb88};}function findAppliedRegroup(_0x3163b1,_0xd8fb4f,_0x106eaa){const _0x42c1fe=a118_0x36c4eb,_0x39539e=_0x106eaa['map'](_0x30b106=>_0x3163b1[_0x42c1fe(0x217)]['get'](_0x30b106))['filter'](_0x4c16f4=>Boolean(_0x4c16f4));if(_0x39539e[_0x42c1fe(0x1f1)]!==_0x106eaa[_0x42c1fe(0x1f1)])return null;const _0x54f823=_0x39539e[0x0]?.[_0x42c1fe(0x21c)];if(_0x54f823==null||_0x39539e[_0x42c1fe(0x1d2)](_0x4b465d=>_0x4b465d[_0x42c1fe(0x21c)]!==_0x54f823))return null;const _0x328e68=_0x3163b1[_0x42c1fe(0x217)][_0x42c1fe(0x1e6)](_0x54f823);if(!_0x328e68||_0x328e68[_0x42c1fe(0x21c)]!=null||_0x328e68['type'][_0x42c1fe(0x1ff)]()[_0x42c1fe(0x204)]()!==_0x42c1fe(0x1ee)||_0x328e68[_0x42c1fe(0x1d4)]!==_0xd8fb4f)return null;const _0x3289b3=[..._0x106eaa]['sort']((_0xb5386c,_0x82ca0d)=>_0xb5386c-_0x82ca0d),_0x5048b9=[..._0x328e68[_0x42c1fe(0x1e1)]]['sort']((_0x43d0f0,_0x2af4b9)=>_0x43d0f0-_0x2af4b9);if(JSON[_0x42c1fe(0x1eb)](_0x5048b9)!==JSON[_0x42c1fe(0x1eb)](_0x3289b3))return null;return{'group':_0x328e68,'children':_0x39539e};}async function inspectRegroupAfterFailure(_0x42a8a2,_0x4af33a,_0x396ad9,_0x175fe8){const _0x5e02fb=a118_0x36c4eb;try{const _0xd304e5=await fetchMenuSnapshot(_0x42a8a2,_0x4af33a);return{'applied':findAppliedRegroup(_0xd304e5,_0x396ad9,_0x175fe8),'readbackError':null};}catch(_0x1cf307){return{'applied':null,'readbackError':_0x1cf307 instanceof Error?_0x1cf307[_0x5e02fb(0x1ca)]:String(_0x1cf307)};}}
1
+ const a119_0x4eb3d9=a119_0x1b2e;(function(_0x4f1902,_0x1f4776){const _0x15c9fb=a119_0x1b2e,_0x26d4ce=_0x4f1902();while(!![]){try{const _0x476d99=parseInt(_0x15c9fb(0x11e))/0x1*(-parseInt(_0x15c9fb(0x123))/0x2)+-parseInt(_0x15c9fb(0x110))/0x3*(-parseInt(_0x15c9fb(0xf7))/0x4)+-parseInt(_0x15c9fb(0x106))/0x5*(parseInt(_0x15c9fb(0x129))/0x6)+-parseInt(_0x15c9fb(0xf2))/0x7*(parseInt(_0x15c9fb(0x103))/0x8)+parseInt(_0x15c9fb(0x117))/0x9*(parseInt(_0x15c9fb(0x101))/0xa)+parseInt(_0x15c9fb(0x125))/0xb*(-parseInt(_0x15c9fb(0xe4))/0xc)+parseInt(_0x15c9fb(0x130))/0xd*(parseInt(_0x15c9fb(0xe5))/0xe);if(_0x476d99===_0x1f4776)break;else _0x26d4ce['push'](_0x26d4ce['shift']());}catch(_0x505ad6){_0x26d4ce['push'](_0x26d4ce['shift']());}}}(a119_0x120e,0x86112));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a119_0x4eb3d9(0x128),'path':a119_0x4eb3d9(0xf9)}],MAX_REGROUP_MENU_COUNT=0x64;function a119_0x1b2e(_0x5b9368,_0x110444){_0x5b9368=_0x5b9368-0xde;const _0x120eb6=a119_0x120e();let _0x1b2e54=_0x120eb6[_0x5b9368];return _0x1b2e54;}export const menuRegroupStart={'service':'menu','command':a119_0x4eb3d9(0x137),'description':a119_0x4eb3d9(0x139),'risk':a119_0x4eb3d9(0x116),'structuredErrors':!![],'flags':[{'name':a119_0x4eb3d9(0xe1),'type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11b)},{'name':'menu-ids','type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11f)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2be0c2){validateRegroupInput(_0x2be0c2);},async 'dryRun'(_0x1f1d43){const _0x473e53=a119_0x4eb3d9;validateRegroupInput(_0x1f1d43);const _0x2f789a=await buildRegroupPlan(_0x1f1d43,!![]);return menuDryRunResult(_0x2f789a['plan'],{'method':'POST','url':_0x473e53(0xf9),'body':_0x2f789a[_0x473e53(0x104)],'description':_0x473e53(0x13c)+JSON[_0x473e53(0xe9)](_0x2f789a[_0x473e53(0xe1)])+_0x473e53(0xff)+_0x2f789a['menuIds'][_0x473e53(0xf5)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x21bbfe){const _0x3e479d=a119_0x4eb3d9;validateRegroupInput(_0x21bbfe);const _0x14ee03=await buildRegroupPlan(_0x21bbfe,![]);await recheckMutationSnapshot(_0x21bbfe,_0x14ee03[_0x3e479d(0x105)],_0x3e479d(0x136));const _0x4150e5=buildMenuLookupCommand(_0x21bbfe[_0x3e479d(0x11c)]);let _0x900ef7,_0x5f04f7;try{_0x900ef7=await startMenuRegroup(_0x21bbfe[_0x3e479d(0x109)],_0x14ee03['input']),_0x5f04f7=normalizeAsyncTask(_0x900ef7);}catch(_0x371ca7){const _0x22a771=await inspectRegroupAfterFailure(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)],_0x14ee03[_0x3e479d(0xe1)],_0x14ee03[_0x3e479d(0x100)]),_0x3ab9dd=typeof _0x900ef7?.[_0x3e479d(0xe6)]==='string'&&_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]()?_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]():null,_0x22a0f8=_0x3ab9dd?{'command':buildAsyncTaskStatusCommand(_0x3ab9dd,_0x21bbfe[_0x3e479d(0x11c)])}:null,_0x2d7dfd=mapMenuApiError(_0x371ca7,'start\x20menu\x20regroup');throw menuFailure(_0x2d7dfd,_0x14ee03[_0x3e479d(0x105)],{'stage':_0x3e479d(0x107),'failed':{'menuIds':_0x14ee03[_0x3e479d(0x100)],'taskId':_0x3ab9dd,'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a)},'after':_0x22a771['applied']??null,'warnings':[_0x3e479d(0x114),..._0x22a771[_0x3e479d(0xe8)]?[_0x3e479d(0xe0)+_0x22a771[_0x3e479d(0xe8)]]:[],..._0x3ab9dd?[_0x3e479d(0x138)]:[]],'verification':{'status':_0x3e479d(0x126),'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a),'taskId':_0x3ab9dd,'query':_0x22a0f8,'lookupCommand':_0x4150e5}});}const _0x341783=buildAsyncTaskStatusCommand(_0x5f04f7[_0x3e479d(0xe6)],_0x21bbfe[_0x3e479d(0x11c)]);let _0x18e655=null,_0x21382c=null,_0x2842cb=null;try{_0x18e655=await fetchMenuSnapshot(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)]),_0x21382c=findAppliedRegroup(_0x18e655,_0x14ee03['label'],_0x14ee03[_0x3e479d(0x100)]);}catch(_0x5598ef){_0x2842cb=_0x5598ef instanceof Error?_0x5598ef[_0x3e479d(0x122)]:String(_0x5598ef);}const _0x3c26bf=mutationResult({..._0x14ee03[_0x3e479d(0x105)],'after':_0x21382c??null,'dryRun':![],'succeeded':[{'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'menuIds':_0x14ee03['menuIds'],'taskId':_0x5f04f7['taskId'],'status':_0x5f04f7['status'],'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a)}],'verification':{'checkedBy':_0x3e479d(0x10b),'snapshotHash':_0x18e655?.[_0x3e479d(0x13b)]??null,'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a),'readbackError':_0x2842cb,'lookupCommand':_0x4150e5},'warnings':[..._0x14ee03['plan']['warnings'],...!_0x21382c?[unconfirmedRegroupWarning(_0x5f04f7)]:[],..._0x2842cb?['Regroup\x20readback\x20failed:\x20'+_0x2842cb]:[]]}),_0x5a925d=_0x5f04f7['status']===_0x3e479d(0xf0)&&!_0x21382c?'Regroup\x20task\x20'+_0x5f04f7['taskId']+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x3e479d(0x127)+asyncTaskMessage(_0x5f04f7);return{'ok':!![],'message':_0x5a925d,'data':{..._0x3c26bf,'task':_0x5f04f7,'query':_0x5f04f7['isTerminal']?null:{'command':_0x341783}}};}};function validateRegroupInput(_0x136215){const _0x916934=a119_0x4eb3d9;if(!_0x136215[_0x916934(0xde)](_0x916934(0xe1))[_0x916934(0xe3)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x136215[_0x916934(0xde)](_0x916934(0xfc)));}function a119_0x120e(){const _0x2bb3fa=['status','Menu\x20','join','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','1684yjiPfI','some','/smartapi/menu/regroup','toLowerCase','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','menu-ids','sort','applied','\x20and\x20regroup\x20menu\x20ids\x20','menuIds','906380MkvlPe','menus','18808FwxxcZ','input','plan','57445CHXqUa','regroup-submit','plan\x20regroup','cookie','knownStatus','menu\x20list','parentId','<platform-generated>','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','length','4227HqToQB','FAILED','type','size','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','write','27JxnDgO','get','validation','menu_regroup_already_applied','Label\x20of\x20the\x20new\x20root\x20folder','appCode','byId','215FSYaWi','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','childrenIds','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','message','8266uXTScL','map','7117zenwbQ','failed','Regroup\x20task\x20accepted.\x20','POST','204cPvfhg','\x27\x5c\x27\x27','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','\x20menu\x20list\x20--appcode\x20','menu_regroup_target_not_leaf','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','menu_regroup_label_conflict','9113260TbANDp','replace','test','isSafeInteger','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','--menu-ids\x20supports\x20at\x20most\x20','start\x20regroup','regroup-start','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','unconfirmed','hash','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','str','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','Regroup\x20readback\x20also\x20failed:\x20','label','\x20menus\x20per\x20regroup\x20request.','trim','2208osaAYa','28vMEGoA','taskId','<new-group-id>','readbackError','stringify','group','split','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','string','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','filter','SUCCESS','folder','952FSskOZ'];a119_0x120e=function(){return _0x2bb3fa;};return a119_0x120e();}function parseMenuIds(_0xa5cd7a){const _0x5e3a3c=a119_0x4eb3d9,_0x51f0a7=_0xa5cd7a[_0x5e3a3c(0xeb)](',')[_0x5e3a3c(0x124)](_0x24638f=>_0x24638f[_0x5e3a3c(0xe3)]());if(_0x51f0a7[_0x5e3a3c(0x10f)]===0x0||_0x51f0a7[_0x5e3a3c(0xf8)](_0x2d022d=>!_0x2d022d))throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x121));const _0x2e28a5=_0x51f0a7['map'](_0x476bab=>{const _0x32e5f7=_0x5e3a3c;if(!/^\d+$/[_0x32e5f7(0x132)](_0x476bab))throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));const _0x31f12e=Number(_0x476bab);if(!Number[_0x32e5f7(0x133)](_0x31f12e)||_0x31f12e<=0x0)throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));return _0x31f12e;});if(new Set(_0x2e28a5)[_0x5e3a3c(0x113)]!==_0x2e28a5[_0x5e3a3c(0x10f)])throw CliErrors[_0x5e3a3c(0x119)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x2e28a5[_0x5e3a3c(0x10f)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x135)+MAX_REGROUP_MENU_COUNT+_0x5e3a3c(0xe2));return _0x2e28a5;}function buildMenuLookupCommand(_0x1fa053){const _0xca4ca7=a119_0x4eb3d9,_0x2b4006='\x27'+_0x1fa053[_0xca4ca7(0x131)](/'/g,_0xca4ca7(0x12a))+'\x27';return CLI_BIN_NAME+_0xca4ca7(0x12c)+_0x2b4006+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x479f29){const _0x2aeac5=a119_0x4eb3d9;if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0xf0))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0x111))return _0x2aeac5(0x10e);if(_0x479f29[_0x2aeac5(0x10a)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x2aeac5(0xfb);}async function buildRegroupPlan(_0xcaa33,_0x4b3ddb){const _0x1f9f5d=a119_0x4eb3d9,_0x47cec9=_0xcaa33[_0x1f9f5d(0xde)](_0x1f9f5d(0xe1))[_0x1f9f5d(0xe3)](),_0x5519e0=parseMenuIds(_0xcaa33[_0x1f9f5d(0xde)]('menu-ids')),_0x34e615=await fetchMutationSnapshot(_0xcaa33,_0x1f9f5d(0x108)),_0x798e0d=_0x5519e0[_0x1f9f5d(0x124)](_0x192b8f=>requireMenu(_0x34e615,_0x192b8f));for(const _0x415c43 of _0x798e0d){if(_0x415c43[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()['toLowerCase']()===_0x1f9f5d(0xf1)||_0x415c43['childrenCount']>0x0)throw menuError(_0x1f9f5d(0x12d),'Menu\x20'+_0x415c43['id']+_0x1f9f5d(0xf6),_0x1f9f5d(0xdf));if(!_0x415c43['label'][_0x1f9f5d(0xe3)]())throw menuError('menu_regroup_target_label_missing',_0x1f9f5d(0xf4)+_0x415c43['id']+_0x1f9f5d(0xec),_0x1f9f5d(0x12b));}const _0x3b381f=findAppliedRegroup(_0x34e615,_0x47cec9,_0x5519e0);if(_0x3b381f)throw menuError(_0x1f9f5d(0x11a),'Menus\x20'+_0x5519e0[_0x1f9f5d(0xf5)](',\x20')+_0x1f9f5d(0x134)+_0x3b381f[_0x1f9f5d(0xea)]['id']+'\x20('+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+').',_0x1f9f5d(0xee));const _0x1ab7a1=_0x34e615[_0x1f9f5d(0x102)][_0x1f9f5d(0xef)](_0x3c45a8=>_0x3c45a8[_0x1f9f5d(0x10c)]==null&&_0x3c45a8[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()[_0x1f9f5d(0xfa)]()==='folder'&&_0x3c45a8[_0x1f9f5d(0xe1)]===_0x47cec9);if(_0x1ab7a1[_0x1f9f5d(0x10f)]>0x0)throw menuError(_0x1f9f5d(0x12f),'Root\x20folder\x20label\x20'+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x1ab7a1[_0x1f9f5d(0x124)](_0x146c0d=>_0x146c0d['id'])[_0x1f9f5d(0xf5)](',\x20')+'.',_0x1f9f5d(0x12e));const _0x422644={'appCode':_0xcaa33[_0x1f9f5d(0x11c)],'menuGroups':[{'label':_0x47cec9,'type':'folder','children':_0x798e0d[_0x1f9f5d(0x124)](_0x1c93e4=>({'id':_0x1c93e4['id'],'label':_0x1c93e4['label']}))}]},_0x34a301=mutationResult({'operation':'regroup-start','selector':{'label':_0x47cec9,'menuIds':_0x5519e0},'before':{'menus':_0x798e0d},'after':{'group':{'id':null,'parentId':null,'label':_0x47cec9,'path':_0x1f9f5d(0x10d),'type':'folder','childrenIds':_0x5519e0},'children':_0x798e0d['map'](_0x4d7c44=>({'id':_0x4d7c44['id'],'label':_0x4d7c44[_0x1f9f5d(0xe1)],'beforeParentId':_0x4d7c44['parentId'],'afterParentId':_0x1f9f5d(0xe7)}))},'dryRun':_0x4b3ddb,'backend':[...BACKEND],'plannedActions':[{'stage':'submit-regroup-task','method':_0x1f9f5d(0x128),'path':_0x1f9f5d(0xf9),'body':_0x422644}],'snapshotHash':_0x34e615['hash'],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x1f9f5d(0x115)]});return{'label':_0x47cec9,'menuIds':_0x5519e0,'input':_0x422644,'plan':_0x34a301};}function findAppliedRegroup(_0x2d5117,_0x44242a,_0x3f0c2d){const _0x4fc0af=a119_0x4eb3d9,_0x34e8ac=_0x3f0c2d[_0x4fc0af(0x124)](_0x4d917c=>_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x4d917c))[_0x4fc0af(0xef)](_0x9d46a4=>Boolean(_0x9d46a4));if(_0x34e8ac[_0x4fc0af(0x10f)]!==_0x3f0c2d[_0x4fc0af(0x10f)])return null;const _0x3fb4aa=_0x34e8ac[0x0]?.[_0x4fc0af(0x10c)];if(_0x3fb4aa==null||_0x34e8ac[_0x4fc0af(0xf8)](_0x2b157b=>_0x2b157b[_0x4fc0af(0x10c)]!==_0x3fb4aa))return null;const _0x2c3e6f=_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x3fb4aa);if(!_0x2c3e6f||_0x2c3e6f[_0x4fc0af(0x10c)]!=null||_0x2c3e6f[_0x4fc0af(0x112)][_0x4fc0af(0xe3)]()[_0x4fc0af(0xfa)]()!==_0x4fc0af(0xf1)||_0x2c3e6f[_0x4fc0af(0xe1)]!==_0x44242a)return null;const _0xaf30c9=[..._0x3f0c2d][_0x4fc0af(0xfd)]((_0x7d1293,_0x4913b5)=>_0x7d1293-_0x4913b5),_0x330084=[..._0x2c3e6f[_0x4fc0af(0x120)]][_0x4fc0af(0xfd)]((_0x4501a9,_0x38a242)=>_0x4501a9-_0x38a242);if(JSON['stringify'](_0x330084)!==JSON['stringify'](_0xaf30c9))return null;return{'group':_0x2c3e6f,'children':_0x34e8ac};}async function inspectRegroupAfterFailure(_0x788c18,_0xa477b5,_0x217d9f,_0x30223f){try{const _0x5466ea=await fetchMenuSnapshot(_0x788c18,_0xa477b5);return{'applied':findAppliedRegroup(_0x5466ea,_0x217d9f,_0x30223f),'readbackError':null};}catch(_0x28b8f1){return{'applied':null,'readbackError':_0x28b8f1 instanceof Error?_0x28b8f1['message']:String(_0x28b8f1)};}}