@lovrabet/rabetbase-cli 2.4.5 → 2.4.6-beta.2

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 (347) hide show
  1. package/README.md +3 -2
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  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/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff-refresh-start.js +1 -1
  89. package/lib/commands/db/diff-refresh-status.js +1 -1
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/tables.js +1 -1
  95. package/lib/commands/db/test.js +1 -1
  96. package/lib/commands/db/update.js +1 -1
  97. package/lib/commands/doctor.js +1 -1
  98. package/lib/commands/file/index.js +1 -1
  99. package/lib/commands/init/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/shared.js +1 -1
  110. package/lib/commands/kb/update.js +1 -1
  111. package/lib/commands/logs/index.js +1 -1
  112. package/lib/commands/menu/asset-update.js +1 -1
  113. package/lib/commands/menu/delete.js +1 -1
  114. package/lib/commands/menu/external-link-create.js +1 -1
  115. package/lib/commands/menu/external-link-update.js +1 -1
  116. package/lib/commands/menu/group-create.js +1 -1
  117. package/lib/commands/menu/group-update.js +1 -1
  118. package/lib/commands/menu/index.js +1 -1
  119. package/lib/commands/menu/list.js +1 -1
  120. package/lib/commands/menu/move.js +1 -1
  121. package/lib/commands/menu/regroup-start.js +1 -1
  122. package/lib/commands/menu/rename.js +1 -1
  123. package/lib/commands/menu/shared/compare-table.js +1 -1
  124. package/lib/commands/menu/shared/delete-plan.js +1 -1
  125. package/lib/commands/menu/shared/facts.js +1 -1
  126. package/lib/commands/menu/shared/index.js +1 -1
  127. package/lib/commands/menu/shared/inquirer.js +1 -1
  128. package/lib/commands/menu/shared/local-pages.js +1 -1
  129. package/lib/commands/menu/shared/logic.js +1 -1
  130. package/lib/commands/menu/shared/mutations.d.ts +8 -7
  131. package/lib/commands/menu/shared/mutations.js +1 -1
  132. package/lib/commands/menu/shared/service.js +1 -1
  133. package/lib/commands/menu/shared/sync-core.js +1 -1
  134. package/lib/commands/menu/shared/types.d.ts +17 -2
  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/{page/standard-page-status.d.ts → menu/visibility-update.d.ts} +1 -1
  139. package/lib/commands/menu/visibility-update.js +1 -0
  140. package/lib/commands/notification/config-create.js +1 -1
  141. package/lib/commands/notification/config-delete.js +1 -1
  142. package/lib/commands/notification/config-list.js +1 -1
  143. package/lib/commands/notification/config-update.js +1 -1
  144. package/lib/commands/notification/index.js +1 -1
  145. package/lib/commands/notification/shared.js +1 -1
  146. package/lib/commands/ocr/index.js +1 -1
  147. package/lib/commands/page/create.d.ts +2 -0
  148. package/lib/commands/page/create.js +1 -0
  149. package/lib/commands/page/{react → custom}/detail.d.ts +1 -1
  150. package/lib/commands/page/custom/detail.js +1 -0
  151. package/lib/commands/page/{react → custom}/list.d.ts +1 -1
  152. package/lib/commands/page/custom/list.js +1 -0
  153. package/lib/commands/page/{react → custom}/publish.d.ts +1 -1
  154. package/lib/commands/page/custom/publish.js +1 -0
  155. package/lib/commands/page/{react → custom}/shared.d.ts +15 -15
  156. package/lib/commands/page/custom/shared.js +1 -0
  157. package/lib/commands/page/{react → custom}/syntax.d.ts +2 -2
  158. package/lib/commands/page/custom/syntax.js +1 -0
  159. package/lib/commands/page/custom/template.js +1 -0
  160. package/lib/commands/page/{react → custom}/update.d.ts +1 -1
  161. package/lib/commands/page/custom/update.js +1 -0
  162. package/lib/commands/page/data-list-status.d.ts +2 -0
  163. package/lib/commands/page/data-list-status.js +1 -0
  164. package/lib/commands/page/generate-start.js +1 -1
  165. package/lib/commands/page/generate-status.js +1 -1
  166. package/lib/commands/page/index.js +1 -1
  167. package/lib/commands/page/pull.js +1 -1
  168. package/lib/commands/page/push.js +1 -1
  169. package/lib/commands/page/relation-audit.js +1 -1
  170. package/lib/commands/page/restore.js +1 -1
  171. package/lib/commands/page/shared.d.ts +18 -18
  172. package/lib/commands/page/shared.js +1 -1
  173. package/lib/commands/page/sync.js +1 -1
  174. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  175. package/lib/commands/project/create/format-elapsed.js +1 -1
  176. package/lib/commands/project/create/main.js +1 -1
  177. package/lib/commands/project/create/materialize-project-template.js +1 -1
  178. package/lib/commands/project/create/project-name.js +1 -1
  179. package/lib/commands/project/create/project-template-archive.js +1 -1
  180. package/lib/commands/project/create/project-template-path.js +1 -1
  181. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  182. package/lib/commands/project/create/use-format-code.js +1 -1
  183. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  184. package/lib/commands/project/index.js +1 -1
  185. package/lib/commands/project/upgrade.js +1 -1
  186. package/lib/commands/registry.js +1 -1
  187. package/lib/commands/role/delete.js +1 -1
  188. package/lib/commands/role/detail.js +1 -1
  189. package/lib/commands/role/index.js +1 -1
  190. package/lib/commands/role/list.js +1 -1
  191. package/lib/commands/role/shared.js +1 -1
  192. package/lib/commands/role/update.js +1 -1
  193. package/lib/commands/role/user-add.js +1 -1
  194. package/lib/commands/role/user-remove.js +1 -1
  195. package/lib/commands/role/user-resolve.js +1 -1
  196. package/lib/commands/run/index.js +1 -1
  197. package/lib/commands/schema.js +1 -1
  198. package/lib/commands/sql/create.js +1 -1
  199. package/lib/commands/sql/delete.js +1 -1
  200. package/lib/commands/sql/detail.js +1 -1
  201. package/lib/commands/sql/exec.js +1 -1
  202. package/lib/commands/sql/index.js +1 -1
  203. package/lib/commands/sql/list.js +1 -1
  204. package/lib/commands/sql/pull.js +1 -1
  205. package/lib/commands/sql/push.js +1 -1
  206. package/lib/commands/sql/shared.js +1 -1
  207. package/lib/commands/sql/status.js +1 -1
  208. package/lib/commands/sql/validate.js +1 -1
  209. package/lib/commands/task/index.js +1 -1
  210. package/lib/commands/task/status.js +1 -1
  211. package/lib/commands/tenant/index.js +1 -1
  212. package/lib/commands/tenant/members-list.js +1 -1
  213. package/lib/commands/tenant/shared.js +1 -1
  214. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  215. package/lib/commands/user-account/index.js +1 -1
  216. package/lib/commands/workspace/add.js +1 -1
  217. package/lib/commands/workspace/index.js +1 -1
  218. package/lib/commands/workspace/remove.js +1 -1
  219. package/lib/config/schema.js +1 -1
  220. package/lib/constant/cdn.js +1 -1
  221. package/lib/constant/cli.js +1 -1
  222. package/lib/constant/defaults.js +1 -1
  223. package/lib/constant/domain.js +1 -1
  224. package/lib/constant/env.js +1 -1
  225. package/lib/constant/output.js +1 -1
  226. package/lib/constant/paths.js +1 -1
  227. package/lib/constant/risk.js +1 -1
  228. package/lib/context/app-resolver.js +1 -1
  229. package/lib/context/auth-resolver.js +1 -1
  230. package/lib/context/config-loader.js +1 -1
  231. package/lib/context.js +1 -1
  232. package/lib/core/alias-resolver.js +1 -1
  233. package/lib/core/api-client.d.ts +43 -43
  234. package/lib/core/api-client.js +1 -1
  235. package/lib/core/bff/config.js +1 -1
  236. package/lib/core/bff/file-system.js +1 -1
  237. package/lib/core/bff/hash.js +1 -1
  238. package/lib/core/bff/lock.js +1 -1
  239. package/lib/core/bff/utils.d.ts +3 -1
  240. package/lib/core/bff/utils.js +1 -1
  241. package/lib/core/db-resolver.js +1 -1
  242. package/lib/core/page/file-system.js +1 -1
  243. package/lib/core/page/hash.js +1 -1
  244. package/lib/core/page/lock.js +1 -1
  245. package/lib/core/sql-index-auditor.js +1 -1
  246. package/lib/core/sql-sync/config.js +1 -1
  247. package/lib/core/sql-sync/file-system.js +1 -1
  248. package/lib/core/sql-sync/hash.js +1 -1
  249. package/lib/core/sql-sync/lock.js +1 -1
  250. package/lib/core/sql-sync/utils.js +1 -1
  251. package/lib/core/sql-validator.js +1 -1
  252. package/lib/errors.js +1 -1
  253. package/lib/framework/build-all-flags.js +1 -1
  254. package/lib/framework/error-output.js +1 -1
  255. package/lib/framework/explicit-yes.js +1 -1
  256. package/lib/framework/flags.js +1 -1
  257. package/lib/framework/help.js +1 -1
  258. package/lib/framework/index.js +1 -1
  259. package/lib/framework/output.js +1 -1
  260. package/lib/framework/response.js +1 -1
  261. package/lib/framework/runner-alias.js +1 -1
  262. package/lib/framework/runner.js +1 -1
  263. package/lib/framework/schema-export.js +1 -1
  264. package/lib/framework/types.js +1 -1
  265. package/lib/generated/build-info.d.ts +4 -4
  266. package/lib/generated/build-info.js +1 -1
  267. package/lib/help.js +1 -1
  268. package/lib/postinstall.js +1 -1
  269. package/lib/runtime/confirmation.js +1 -1
  270. package/lib/runtime/event.js +1 -1
  271. package/lib/runtime/index.js +1 -1
  272. package/lib/runtime/queue.js +1 -1
  273. package/lib/runtime/resolve.js +1 -1
  274. package/lib/skills/builtin-skill.js +1 -1
  275. package/lib/skills/main.js +1 -1
  276. package/lib/skills/npx-skills-add.js +1 -1
  277. package/lib/skills/skill-presence.js +1 -1
  278. package/lib/telemetry/cli-command-trace.js +1 -1
  279. package/lib/telemetry/cli-help-trace.js +1 -1
  280. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  281. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  282. package/lib/telemetry/send-cli-trace-log.js +1 -1
  283. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  284. package/lib/utils/ai_config.js +1 -1
  285. package/lib/utils/apply-jq-filter.js +1 -1
  286. package/lib/utils/cdn-config.js +1 -1
  287. package/lib/utils/check-sdk-version.js +1 -1
  288. package/lib/utils/cli-version-check.js +1 -1
  289. package/lib/utils/cli-version-policy.js +1 -1
  290. package/lib/utils/config.js +1 -1
  291. package/lib/utils/entity-with-id.js +1 -1
  292. package/lib/utils/file-utils.js +1 -1
  293. package/lib/utils/guides-cdn.js +1 -1
  294. package/lib/utils/http-client.js +1 -1
  295. package/lib/utils/is-non-interactive.js +1 -1
  296. package/lib/utils/logger.js +1 -1
  297. package/lib/utils/params.js +1 -1
  298. package/lib/utils/platform.js +1 -1
  299. package/lib/utils/rules-cdn.js +1 -1
  300. package/lib/utils/sleep.js +1 -1
  301. package/lib/utils/template-replacer.js +1 -1
  302. package/lib/utils/update-notice.js +1 -1
  303. package/lib/utils/version.js +1 -1
  304. package/lib/utils/with-active-cookie.js +1 -1
  305. package/lib/utils/write-cli-side-channel.js +1 -1
  306. package/package.json +1 -1
  307. package/skills/rabetbase/SKILL.md +35 -34
  308. package/skills/rabetbase/guides/backend-function.md +63 -18
  309. package/skills/rabetbase/guides/bff-creation-workflow.md +2 -0
  310. package/skills/rabetbase/guides/{react-custom-page-workflow.md → custom-page-workflow.md} +45 -45
  311. package/skills/rabetbase/guides/page-development-workflow.md +22 -22
  312. package/skills/rabetbase/knowledge/{react-page → custom-page}/components.md +2 -2
  313. package/skills/rabetbase/knowledge/{react-page → custom-page}/generation-standards.md +6 -6
  314. package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +6 -6
  315. package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +1 -1
  316. package/skills/rabetbase/references/rabetbase-bff-create.md +2 -0
  317. package/skills/rabetbase/references/{rabetbase-standard-page-status.md → rabetbase-data-list-status.md} +6 -6
  318. package/skills/rabetbase/references/rabetbase-dataset-generate.md +1 -1
  319. package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +1 -1
  320. package/skills/rabetbase/references/rabetbase-dataset-relations.md +1 -1
  321. package/skills/rabetbase/references/rabetbase-dataset-restore.md +1 -1
  322. package/skills/rabetbase/references/rabetbase-menu-list.md +4 -2
  323. package/skills/rabetbase/references/rabetbase-menu-visibility-update.md +59 -0
  324. package/skills/rabetbase/references/rabetbase-page-create.md +31 -0
  325. package/skills/rabetbase/references/{rabetbase-page-react-detail.md → rabetbase-page-custom-detail.md} +5 -5
  326. package/skills/rabetbase/references/{rabetbase-page-react-list.md → rabetbase-page-custom-list.md} +4 -4
  327. package/skills/rabetbase/references/{rabetbase-page-react-publish.md → rabetbase-page-custom-publish.md} +6 -6
  328. package/skills/rabetbase/references/{rabetbase-page-react-update.md → rabetbase-page-custom-update.md} +6 -6
  329. package/skills/rabetbase/references/rabetbase-page-generate-start.md +5 -4
  330. package/skills/rabetbase/references/rabetbase-page-generate-status.md +4 -4
  331. package/skills/rabetbase/references/rabetbase-page-pull.md +2 -2
  332. package/skills/rabetbase/references/rabetbase-page-relation-binding.md +1 -1
  333. package/skills/rabetbase/references/rabetbase-page-restore.md +7 -7
  334. package/skills/rabetbase/references/rabetbase-page-sync.md +3 -3
  335. package/skills/rabetbase.manifest.json +13 -12
  336. package/lib/commands/page/react/create.d.ts +0 -2
  337. package/lib/commands/page/react/create.js +0 -1
  338. package/lib/commands/page/react/detail.js +0 -1
  339. package/lib/commands/page/react/list.js +0 -1
  340. package/lib/commands/page/react/publish.js +0 -1
  341. package/lib/commands/page/react/shared.js +0 -1
  342. package/lib/commands/page/react/syntax.js +0 -1
  343. package/lib/commands/page/react/template.js +0 -1
  344. package/lib/commands/page/react/update.js +0 -1
  345. package/lib/commands/page/standard-page-status.js +0 -1
  346. package/skills/rabetbase/references/rabetbase-page-react-create.md +0 -29
  347. /package/lib/commands/page/{react → custom}/template.d.ts +0 -0
@@ -1 +1 @@
1
- const a112_0x128637=a112_0x4c2c;(function(_0x5d65ff,_0x5a237f){const _0x1c47da=a112_0x4c2c,_0x3151b9=_0x5d65ff();while(!![]){try{const _0x4d1a5c=parseInt(_0x1c47da(0x1f6))/0x1+parseInt(_0x1c47da(0x1ed))/0x2*(-parseInt(_0x1c47da(0x1b5))/0x3)+parseInt(_0x1c47da(0x1c1))/0x4*(-parseInt(_0x1c47da(0x227))/0x5)+parseInt(_0x1c47da(0x1bd))/0x6*(parseInt(_0x1c47da(0x1d2))/0x7)+-parseInt(_0x1c47da(0x1d9))/0x8+parseInt(_0x1c47da(0x20c))/0x9+parseInt(_0x1c47da(0x1e1))/0xa;if(_0x4d1a5c===_0x5a237f)break;else _0x3151b9['push'](_0x3151b9['shift']());}catch(_0x4b0010){_0x3151b9['push'](_0x3151b9['shift']());}}}(a112_0x133c,0xc7b1f));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';function a112_0x4c2c(_0x2e1bf0,_0x21349b){_0x2e1bf0=_0x2e1bf0-0x1a9;const _0x133c42=a112_0x133c();let _0x4c2c05=_0x133c42[_0x2e1bf0];return _0x4c2c05;}import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x128637(0x1cd),'new-window':a112_0x128637(0x21f)};export function validateExternalMenuUrl(_0x2709f5){const _0x6f97d0=a112_0x128637,_0x5a0c13=_0x2709f5['trim']();let _0x5e83e5;try{_0x5e83e5=new URL(_0x5a0c13);}catch{throw menuError('menu_url_invalid',_0x6f97d0(0x21e),_0x6f97d0(0x1d4));}if(_0x5e83e5[_0x6f97d0(0x1cc)]!==_0x6f97d0(0x1de))throw menuError(_0x6f97d0(0x235),_0x6f97d0(0x1c5),_0x6f97d0(0x216));if(_0x5e83e5['username']||_0x5e83e5[_0x6f97d0(0x222)])throw menuError(_0x6f97d0(0x1d1),_0x6f97d0(0x1b2),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x5a0c13;}export const menuExternalLinkCreate={'service':a112_0x128637(0x226),'command':a112_0x128637(0x1f4),'description':a112_0x128637(0x1d8),'risk':a112_0x128637(0x1da),'structuredErrors':!![],'flags':[{'name':a112_0x128637(0x22d),'type':'string','required':!![],'description':a112_0x128637(0x207)},{'name':a112_0x128637(0x20a),'type':'string','required':!![],'enum':[a112_0x128637(0x1af),a112_0x128637(0x1dd)],'description':a112_0x128637(0x233)},{'name':'url','type':a112_0x128637(0x1ae),'required':!![],'description':a112_0x128637(0x224)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x128637(0x1fe),'type':'boolean','default':!![],'description':a112_0x128637(0x1cb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5df3f1){validateAddInput(_0x5df3f1);},async 'dryRun'(_0x4ffb76){const _0x17730e=a112_0x128637;validateAddInput(_0x4ffb76);const {plan:_0x499304}=await buildSafeAddPlan(_0x4ffb76,!![]),_0x3c2fd2=_0x499304[_0x17730e(0x20b)],_0x35c5a3=createBody(_0x3c2fd2);return menuDryRunResult(_0x499304,{'method':_0x17730e(0x211),'url':'/smartapi/menu/create','body':_0x35c5a3,'description':_0x17730e(0x1e4)+JSON['stringify'](_0x3c2fd2['label'])+'\x20with\x20'+_0x4ffb76[_0x17730e(0x21c)](_0x17730e(0x20a))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x4f8390){const _0x59eab8=a112_0x128637;validateAddInput(_0x4f8390);const _0x148685=await buildSafeAddPlan(_0x4f8390,![]),{plan:_0x30e9dc,snapshot:_0x34b1f4}=_0x148685,_0x2fe84d=_0x30e9dc[_0x59eab8(0x20b)],_0x297b10=buildMenuLookupCommand(_0x4f8390[_0x59eab8(0x230)]);await recheckAddSnapshot(_0x4f8390,_0x30e9dc);let _0x5ed702;try{_0x5ed702=await createMenuEntity(_0x4f8390[_0x59eab8(0x230)],_0x4f8390[_0x59eab8(0x22f)],createBody(_0x2fe84d));}catch(_0x1dae05){const _0x431eea=mapMenuApiError(_0x1dae05,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x1dae05)||_0x431eea[_0x59eab8(0x1b6)]===_0x59eab8(0x1df))throw externalLinkCreateFailure(_0x431eea,_0x30e9dc,{'stage':'create','failed':{},'verification':{'status':_0x59eab8(0x21d),'lookupCommand':_0x297b10}});return recoverAfterResponseLoss(_0x4f8390,_0x148685,_0x297b10);}const _0x1e2ec9=Number(_0x5ed702?.['id']),_0x2ce04c=typeof _0x5ed702?.[_0x59eab8(0x1f7)]===_0x59eab8(0x1ae)?_0x5ed702[_0x59eab8(0x1f7)]:'';if(!Number['isSafeInteger'](_0x1e2ec9)||_0x1e2ec9<=0x0||!_0x2ce04c[_0x59eab8(0x1f8)]()){const _0x2d88f3=menuError(_0x59eab8(0x221),_0x59eab8(0x201),_0x59eab8(0x1c6)+_0x297b10+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x2d88f3,_0x30e9dc,{'stage':_0x59eab8(0x1f9),'succeeded':Number[_0x59eab8(0x1c2)](_0x1e2ec9)&&_0x1e2ec9>0x0?[{'id':_0x1e2ec9,'created':!![]}]:[],'failed':{'createdId':Number[_0x59eab8(0x1c2)](_0x1e2ec9)?_0x1e2ec9:null,'generatedPathConfirmed':Boolean(_0x2ce04c['trim']())},'warnings':[_0x59eab8(0x1ab)],'after':Number['isSafeInteger'](_0x1e2ec9)&&_0x1e2ec9>0x0?{..._0x2fe84d,'id':_0x1e2ec9,'path':_0x2ce04c}:_0x2fe84d,'verification':{'status':_0x59eab8(0x21d),'lookupCommand':_0x297b10,...Number[_0x59eab8(0x1c2)](_0x1e2ec9)&&_0x1e2ec9>0x0?{'targetId':_0x1e2ec9}:{}}});}const _0x165afe=await readAndVerifyCreatedMenu({'appCode':_0x4f8390[_0x59eab8(0x230)],'cookie':_0x4f8390[_0x59eab8(0x22f)],'plan':_0x30e9dc,'afterPlan':_0x2fe84d,'createdId':_0x1e2ec9,'expectedPath':_0x2ce04c,'lookupCommand':_0x297b10,'recovered':![]});return creationSuccess(_0x30e9dc,_0x165afe['snapshot'],_0x165afe[_0x59eab8(0x1ba)],![]);}};function validateAddInput(_0x43dba9){const _0x3abf00=a112_0x128637;if(!_0x43dba9[_0x3abf00(0x21c)](_0x3abf00(0x22d))['trim']())throw CliErrors[_0x3abf00(0x1e0)](_0x3abf00(0x22d));resolveExternalMenuType(_0x43dba9),validateExternalMenuUrl(_0x43dba9[_0x3abf00(0x21c)]('url')),parseParentId(_0x43dba9,_0x3abf00(0x234)),validateSort(_0x43dba9);}function resolveExternalMenuType(_0x185d63){const _0x5a5d14=a112_0x128637,_0x4fece8=_0x185d63[_0x5a5d14(0x21c)](_0x5a5d14(0x20a))[_0x5a5d14(0x1f8)]();if(!_0x4fece8)throw CliErrors[_0x5a5d14(0x1e0)](_0x5a5d14(0x20a));const _0x424150=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4fece8];if(!_0x424150)throw menuError(_0x5a5d14(0x1e7),_0x5a5d14(0x1ee),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x424150;}async function buildAddPlan(_0x36b3a6,_0x273e7d){const _0x14d5bd=a112_0x128637,_0x21386f=await fetchMutationSnapshot(_0x36b3a6,_0x14d5bd(0x1ce)),_0x2934ec=parseParentId(_0x36b3a6,'parent-id')??null;if(_0x2934ec!=null)requireFolder(_0x21386f,_0x2934ec);const _0x1cbed0=validateSort(_0x36b3a6),_0x47c9d4=_0x1cbed0??nextSiblingSort(_0x21386f,_0x2934ec,_0x14d5bd(0x226)),_0x160384=_0x36b3a6['str'](_0x14d5bd(0x22d))[_0x14d5bd(0x1f8)](),_0x4f7436=resolveExternalMenuType(_0x36b3a6),_0x4796f2=validateExternalMenuUrl(_0x36b3a6[_0x14d5bd(0x21c)](_0x14d5bd(0x1c9))),_0x23f542=Object[_0x14d5bd(0x1b1)][_0x14d5bd(0x1b3)][_0x14d5bd(0x20d)](_0x36b3a6[_0x14d5bd(0x1cf)],'visible')?_0x36b3a6['bool'](_0x14d5bd(0x1fe)):!![],_0x10cc54={'id':null,'parentId':_0x2934ec,'label':_0x160384,'path':_0x14d5bd(0x1f1),'url':_0x4796f2,'type':_0x4f7436,'visible':_0x23f542,'sort':_0x47c9d4},_0x1d2a08=buildMenuLookupCommand(_0x36b3a6[_0x14d5bd(0x230)]),_0x548f8a=mutationResult({'operation':'add','selector':{'parentId':_0x2934ec,'type':_0x4f7436,'label':_0x160384,'url':_0x4796f2},'before':null,'after':_0x10cc54,'dryRun':_0x273e7d,'backend':[{'method':_0x14d5bd(0x211),'path':_0x14d5bd(0x21b)}],'plannedActions':[{'stage':'create-menu','method':_0x14d5bd(0x211),'path':'/smartapi/menu/create','body':createBody(_0x10cc54)}],'snapshotHash':_0x21386f[_0x14d5bd(0x22e)],'warnings':[_0x14d5bd(0x203)],'verification':{'lookupCommand':_0x1d2a08}});return{'plan':_0x548f8a,'snapshot':_0x21386f};}function a112_0x133c(){const _0x255d42=['code','visibility','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','fact','entries','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','1014wqFgEk','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','has','4sMLeNo','isSafeInteger','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','get','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Run\x20','plan','verification','url','succeeded','Whether\x20the\x20menu\x20is\x20visible','protocol','iframe','create\x20external\x20menu','rawFlags','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_url_credentials_forbidden','48153WgkNYQ','createdId','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','afterPlan','Recovered\x20menu\x20','Create\x20an\x20external\x20website\x20link\x20menu','4881656skcZJk','write','Menu\x20','menu_mutation_failed','new-window','https:','menu_permission_denied','flagMissing','14967140bBQtRF','menu_parent_not_folder','\x20has\x20an\x20unexpected\x20','Would\x20create\x20external\x20website\x20link\x20menu\x20','rawerror','menus','menu_open_mode_invalid','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20failed\x20final\x20verification.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','164HGdhAN','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_verification_failed','isArray','<platform-generated>','includes','pre-write-recheck','external-link-create','type','225367QYSetC','path','trim','create-response-validation','rabetbase\x20menu\x20list\x20--appcode\x20','parent','expectedSnapshotHash','menu_sort_overflow','visible','toLowerCase','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','map','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu_not_found','lookupCommand','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Menu\x20label','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','\x27\x5c\x27\x27','open-mode','after','448290bvTFuU','call','\x20has\x20an\x20unexpected\x20generated\x20path.','create-recovery','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','POST','menu_create_recovery_required','Recovered\x20created\x20external\x20menu\x20','fromEntries','Created\x20external\x20menu\x20','Provide\x20an\x20HTTPS\x20URL.','object','sort','parentId','before','/smartapi/menu/create','str','failed','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','link','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_create_response_invalid','password','length','External\x20HTTPS\x20URL','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menu','901310NCTchB','Created\x20menu\x20','data','selector','causemessage','External\x20menu\x20creation\x20failed.','label','hash','cookie','appCode','expectedPath','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','How\x20to\x20open\x20the\x20external\x20website','parent-id','menu_url_https_required','menu\x20list','currentSnapshotHash','\x20could\x20not\x20be\x20verified.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','filter','string','embedded','replace','prototype','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','hasOwnProperty','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','48513uLwgjF'];a112_0x133c=function(){return _0x255d42;};return a112_0x133c();}async function buildSafeAddPlan(_0x2ef2f1,_0x3ba9a0){try{return await buildAddPlan(_0x2ef2f1,_0x3ba9a0);}catch(_0x38a412){throw safeMenuAddError(_0x38a412);}}async function recheckAddSnapshot(_0x57bea1,_0x51f90a){const _0x1524d4=a112_0x128637;try{await recheckMutationSnapshot(_0x57bea1,_0x51f90a,_0x1524d4(0x1ce));}catch(_0x416c26){const _0x49c788=getFailureRecord(_0x416c26);throw externalLinkCreateFailure(_0x416c26,_0x51f90a,{'stage':_0x1524d4(0x1f3),'failed':{..._0x49c788?.[_0x1524d4(0x1fc)]?{'expectedSnapshotHash':_0x49c788[_0x1524d4(0x1fc)]}:{},..._0x49c788?.[_0x1524d4(0x1a9)]?{'currentSnapshotHash':_0x49c788['currentSnapshotHash']}:{}}});}}function createBody(_0x2d2a04){const _0x3980ee=a112_0x128637;return{'parentId':toApiParentId(_0x2d2a04[_0x3980ee(0x219)]),'label':String(_0x2d2a04[_0x3980ee(0x22d)]),'type':String(_0x2d2a04[_0x3980ee(0x1f5)]),'url':String(_0x2d2a04[_0x3980ee(0x1c9)]),'visible':Boolean(_0x2d2a04['visible']),'sort':Number(_0x2d2a04['sort']),'extend':{}};}function buildMenuLookupCommand(_0x4dbf30){const _0x3e84f6=a112_0x128637,_0x4e0c14='\x27'+_0x4dbf30[_0x3e84f6(0x1b0)](/'/g,_0x3e84f6(0x209))+'\x27';return _0x3e84f6(0x1fa)+_0x4e0c14+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x2b9793,_0x426637,_0x7b4e32){const _0x2410cc=a112_0x128637,{plan:_0x103722,snapshot:_0x496947}=_0x426637,_0x3cf914=_0x103722['after'];let _0x51d10d;try{_0x51d10d=await fetchMenuSnapshot(_0x2b9793[_0x2410cc(0x230)],_0x2b9793[_0x2410cc(0x22f)]);}catch(_0x2c029b){throw recoveryRequiredFailure(_0x103722,_0x7b4e32,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x505be5=_0x51d10d[_0x2410cc(0x1e6)][_0x2410cc(0x1ad)](_0x411128=>_0x411128[_0x2410cc(0x219)]===_0x3cf914[_0x2410cc(0x219)]&&_0x411128['type']===_0x3cf914['type']&&_0x411128[_0x2410cc(0x22d)]===_0x3cf914[_0x2410cc(0x22d)]&&_0x411128[_0x2410cc(0x1c9)]===_0x3cf914[_0x2410cc(0x1c9)]),_0x2d8dad=_0x505be5['filter'](_0x392717=>!_0x496947['byId']['has'](_0x392717['id'])),_0x2cddd2=_0x505be5['filter'](_0x46679f=>_0x496947['byId'][_0x2410cc(0x1c0)](_0x46679f['id']));if(_0x505be5[_0x2410cc(0x223)]!==0x1||_0x2d8dad[_0x2410cc(0x223)]!==0x1)throw recoveryRequiredFailure(_0x103722,_0x7b4e32,{'matchCount':_0x505be5[_0x2410cc(0x223)],'newMatchCount':_0x2d8dad['length'],'preexistingMatchCount':_0x2cddd2[_0x2410cc(0x223)]});const _0x358427=_0x2d8dad[0x0];try{verifyCreatedFact(_0x358427,_0x358427['id'],_0x3cf914,null);}catch(_0x208b91){const _0x4307d8=_0x208b91 instanceof Error&&_0x2410cc(0x1b6)in _0x208b91?_0x208b91:menuError('menu_verification_failed',_0x2410cc(0x1d7)+_0x358427['id']+_0x2410cc(0x1aa),_0x2410cc(0x1c6)+_0x7b4e32+_0x2410cc(0x1ea));throw externalLinkCreateFailure(_0x4307d8,_0x103722,{'stage':'verification','succeeded':[{'id':_0x358427['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x358427['id'],'finalFactsConfirmed':![]},'after':_0x358427,'warnings':[_0x2410cc(0x1db)+_0x358427['id']+_0x2410cc(0x1be)],'verification':{'status':_0x2410cc(0x21d),'targetId':_0x358427['id'],'recovered':!![],'lookupCommand':_0x7b4e32}});}return creationSuccess(_0x103722,_0x51d10d,_0x358427,!![]);}function recoveryRequiredFailure(_0x4506e7,_0x34c77d,_0x40a214){const _0x53f477=a112_0x128637,_0x22fa7e=menuError('menu_create_recovery_required',_0x53f477(0x1b9),_0x53f477(0x1c6)+_0x34c77d+_0x53f477(0x208));return externalLinkCreateFailure(_0x22fa7e,_0x4506e7,{'stage':_0x53f477(0x20f),'failed':_0x40a214,'warnings':[_0x53f477(0x1d0)],'verification':{'status':_0x53f477(0x21d),..._0x40a214,'lookupCommand':_0x34c77d}});}async function readAndVerifyCreatedMenu(_0x4c04ec){const _0x9d658=a112_0x128637;let _0x492b00;try{_0x492b00=await fetchMenuSnapshot(_0x4c04ec['appCode'],_0x4c04ec[_0x9d658(0x22f)]);}catch(_0xb74dfa){const _0x2832c2=menuError(_0x9d658(0x1ef),_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+_0x9d658(0x220),_0x9d658(0x1c6)+_0x4c04ec[_0x9d658(0x205)]+_0x9d658(0x1ac));throw externalLinkCreateFailure(_0x2832c2,_0x4c04ec['plan'],{'stage':_0x9d658(0x1c8),'succeeded':[{'id':_0x4c04ec[_0x9d658(0x1d3)],'created':!![]}],'failed':{'id':_0x4c04ec[_0x9d658(0x1d3)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4c04ec[_0x9d658(0x1d6)],'id':_0x4c04ec[_0x9d658(0x1d3)],'path':_0x4c04ec['expectedPath']},'warnings':[_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+_0x9d658(0x1e8)],'verification':{'status':'failed','targetId':_0x4c04ec['createdId'],'lookupCommand':_0x4c04ec[_0x9d658(0x205)]}});}const _0x1d099e=_0x492b00['byId'][_0x9d658(0x1c4)](_0x4c04ec[_0x9d658(0x1d3)]);try{if(!_0x1d099e)throw menuError('menu_verification_failed',_0x9d658(0x228)+_0x4c04ec[_0x9d658(0x1d3)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Run\x20'+_0x4c04ec[_0x9d658(0x205)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x1d099e,_0x4c04ec[_0x9d658(0x1d3)],_0x4c04ec[_0x9d658(0x1d6)],_0x4c04ec['expectedPath']);}catch(_0x45fda6){const _0x1ecc3c=_0x45fda6 instanceof Error&&'code'in _0x45fda6?_0x45fda6:menuError(_0x9d658(0x1ef),_0x9d658(0x228)+_0x4c04ec['createdId']+_0x9d658(0x1eb),_0x9d658(0x1c6)+_0x4c04ec['lookupCommand']+_0x9d658(0x1ac));throw externalLinkCreateFailure(_0x1ecc3c,_0x4c04ec[_0x9d658(0x1c7)],{'stage':_0x9d658(0x1c8),'succeeded':[{'id':_0x4c04ec[_0x9d658(0x1d3)],'created':!![]}],'failed':{'id':_0x4c04ec[_0x9d658(0x1d3)],'finalFactsConfirmed':![]},'after':_0x1d099e??{..._0x4c04ec['afterPlan'],'id':_0x4c04ec[_0x9d658(0x1d3)],'path':_0x4c04ec[_0x9d658(0x231)]},'warnings':[_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x9d658(0x21d),'targetId':_0x4c04ec[_0x9d658(0x1d3)],'recovered':_0x4c04ec['recovered'],'lookupCommand':_0x4c04ec[_0x9d658(0x205)]}});}return{'snapshot':_0x492b00,'fact':_0x1d099e};}function verifyCreatedFact(_0x59cf31,_0x1105b7,_0x1079ca,_0x2eee3b){const _0x44e2ba=a112_0x128637;if(!Number[_0x44e2ba(0x1c2)](_0x59cf31['id'])||_0x59cf31['id']<=0x0||_0x59cf31['id']!==_0x1105b7)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x200),_0x44e2ba(0x1bc));const _0x220f4c=[[_0x44e2ba(0x1fb),_0x59cf31[_0x44e2ba(0x219)],_0x1079ca[_0x44e2ba(0x219)]],['type',_0x59cf31[_0x44e2ba(0x1f5)],_0x1079ca[_0x44e2ba(0x1f5)]],['label',_0x59cf31[_0x44e2ba(0x22d)],_0x1079ca[_0x44e2ba(0x22d)]],['URL',_0x59cf31[_0x44e2ba(0x1c9)],_0x1079ca[_0x44e2ba(0x1c9)]],[_0x44e2ba(0x1b7),_0x59cf31[_0x44e2ba(0x1fe)],_0x1079ca[_0x44e2ba(0x1fe)]],[_0x44e2ba(0x218),_0x59cf31['sort'],_0x1079ca[_0x44e2ba(0x218)]]];for(const [_0x2dd0fc,_0x4349b2,_0x2ee48a]of _0x220f4c){if(_0x4349b2!==_0x2ee48a)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x228)+_0x59cf31['id']+_0x44e2ba(0x1e3)+_0x2dd0fc+'.',_0x44e2ba(0x225));}if(!_0x59cf31[_0x44e2ba(0x1f7)]['trim']()||_0x2eee3b!==null&&_0x59cf31[_0x44e2ba(0x1f7)]!==_0x2eee3b)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x228)+_0x59cf31['id']+_0x44e2ba(0x20e),_0x44e2ba(0x225));}function creationSuccess(_0x50f82e,_0xc1c791,_0x246d8c,_0x25581c){const _0x463413=a112_0x128637,_0x1f6fac=mutationResult({..._0x50f82e,'after':_0x246d8c,'dryRun':![],'succeeded':[{'id':_0x246d8c['id'],'created':!![],'recovered':_0x25581c}],'verification':{'checkedBy':_0x463413(0x236),'snapshotHash':_0xc1c791[_0x463413(0x22e)],'targetId':_0x246d8c['id'],'recovered':_0x25581c,'path':_0x246d8c[_0x463413(0x1f7)]}});return{'ok':!![],'message':_0x25581c?_0x463413(0x213)+_0x246d8c['id']+'\x20after\x20response\x20loss.':_0x463413(0x215)+_0x246d8c['id']+'.','data':{..._0x1f6fac,'recovered':_0x25581c}};}function externalLinkCreateFailure(_0x22548c,_0xaed5cb,_0x29a95c){const _0x33ce5a=a112_0x128637;return menuFailure(safeMenuAddError(_0x22548c),redactFailurePlan(_0xaed5cb),{..._0x29a95c,'succeeded':_0x29a95c[_0x33ce5a(0x1ca)]?.[_0x33ce5a(0x202)](redactFailureRecord),'failed':_0x29a95c['failed']?redactFailureRecord(_0x29a95c[_0x33ce5a(0x21d)]):undefined,'verification':_0x29a95c[_0x33ce5a(0x1c8)]?redactFailureRecord(_0x29a95c[_0x33ce5a(0x1c8)]):undefined,'after':_0x29a95c[_0x33ce5a(0x20b)]===undefined?undefined:redactFailureValue(_0x29a95c[_0x33ce5a(0x20b)])});}function redactFailurePlan(_0x21854f){const _0x3e628c=a112_0x128637;return{..._0x21854f,'selector':redactFailureRecord(_0x21854f[_0x3e628c(0x22a)]),'before':redactFailureValue(_0x21854f[_0x3e628c(0x21a)]),'after':redactFailureValue(_0x21854f['after']),'plannedActions':_0x21854f['plannedActions']?.[_0x3e628c(0x202)](_0x173c6c=>({..._0x173c6c,'body':redactFailureRecord(_0x173c6c['body'])})),'succeeded':_0x21854f['succeeded']['map'](redactFailureRecord),'failed':_0x21854f['failed'][_0x3e628c(0x202)](redactFailureRecord),'verification':_0x21854f['verification']?redactFailureRecord(_0x21854f[_0x3e628c(0x1c8)]):undefined};}function redactFailureRecord(_0x3d1607){return redactFailureValue(_0x3d1607);}function redactFailureValue(_0x1b72d7,_0x405224=''){const _0x25c94b=a112_0x128637,_0x2f0440=_0x405224[_0x25c94b(0x1ff)]()[_0x25c94b(0x1b0)](/[^a-z0-9]/g,'');if(['cause',_0x25c94b(0x22b),'readbackerror',_0x25c94b(0x1e5)][_0x25c94b(0x1f2)](_0x2f0440))return'<redacted>';if(Array['isArray'](_0x1b72d7))return _0x1b72d7[_0x25c94b(0x202)](_0x2f6ece=>redactFailureValue(_0x2f6ece));if(_0x1b72d7&&typeof _0x1b72d7===_0x25c94b(0x217))return Object[_0x25c94b(0x214)](Object[_0x25c94b(0x1bb)](_0x1b72d7)[_0x25c94b(0x202)](([_0x2320e5,_0x544557])=>[_0x2320e5,redactFailureValue(_0x544557,_0x2320e5)]));return _0x1b72d7;}function safeMenuAddError(_0x48fffc){const _0x2bdbf2=a112_0x128637,_0x557dc4=_0x48fffc instanceof CliError?_0x48fffc[_0x2bdbf2(0x1b6)]:'menu_mutation_failed';switch(_0x557dc4){case'menu_state_drift':return menuError(_0x557dc4,_0x2bdbf2(0x1ec),_0x2bdbf2(0x1b4));case _0x2bdbf2(0x1df):return menuError(_0x557dc4,_0x2bdbf2(0x1e9),_0x2bdbf2(0x1bf));case _0x2bdbf2(0x221):return menuError(_0x557dc4,_0x2bdbf2(0x1d5),_0x2bdbf2(0x232));case _0x2bdbf2(0x1ef):return menuError(_0x557dc4,_0x2bdbf2(0x1c3),_0x2bdbf2(0x232));case _0x2bdbf2(0x212):return menuError(_0x557dc4,_0x2bdbf2(0x210),_0x2bdbf2(0x1b8));case _0x2bdbf2(0x1dc):case _0x2bdbf2(0x204):case _0x2bdbf2(0x1e2):case'menu_sort_invalid':case _0x2bdbf2(0x1fd):return menuError(_0x557dc4,_0x2bdbf2(0x22c),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x2bdbf2(0x1dc),_0x2bdbf2(0x22c),_0x2bdbf2(0x206));}}function getFailureRecord(_0x24a4e3){const _0xfb7551=a112_0x128637;if(!(_0x24a4e3 instanceof Error)||!(_0xfb7551(0x229)in _0x24a4e3))return undefined;const _0x158051=_0x24a4e3[_0xfb7551(0x229)];if(!_0x158051||typeof _0x158051!==_0xfb7551(0x217))return undefined;const _0x3549da=_0x158051[_0xfb7551(0x21d)];if(!Array[_0xfb7551(0x1f0)](_0x3549da)||!_0x3549da[0x0]||typeof _0x3549da[0x0]!==_0xfb7551(0x217))return undefined;return _0x3549da[0x0];}
1
+ const a112_0x273c0f=a112_0x10e0;(function(_0x481aa7,_0xd14162){const _0x43257b=a112_0x10e0,_0x65d6a6=_0x481aa7();while(!![]){try{const _0x5286d9=-parseInt(_0x43257b(0x1af))/0x1*(parseInt(_0x43257b(0x1be))/0x2)+parseInt(_0x43257b(0x187))/0x3*(parseInt(_0x43257b(0x1ae))/0x4)+-parseInt(_0x43257b(0x19e))/0x5*(parseInt(_0x43257b(0x17f))/0x6)+parseInt(_0x43257b(0x1a5))/0x7+-parseInt(_0x43257b(0x16d))/0x8+parseInt(_0x43257b(0x189))/0x9*(-parseInt(_0x43257b(0x1a9))/0xa)+parseInt(_0x43257b(0x169))/0xb;if(_0x5286d9===_0xd14162)break;else _0x65d6a6['push'](_0x65d6a6['shift']());}catch(_0x1c132a){_0x65d6a6['push'](_0x65d6a6['shift']());}}}(a112_0x143d,0x3bcec));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a112_0x143d(){const _0x26984e=['afterPlan','path','label','url','parentId','Whether\x20the\x20menu\x20is\x20visible','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_verification_failed','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Recovered\x20menu\x20','menu_create_response_invalid','recovered','plan','before','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','code','selector','protocol','\x20has\x20an\x20unexpected\x20','readbackerror','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Created\x20external\x20menu\x20','\x20could\x20not\x20be\x20verified.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','expectedSnapshotHash','visibility','https:','iframe','Created\x20menu\x20','visible','pre-write-recheck','plannedActions','add','menu_url_credentials_forbidden','menu_open_mode_invalid','8999056bMcBxt','External\x20menu\x20creation\x20failed.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','stringify','3555944ccqRCv','menu_mutation_failed','hash','menu\x20list','POST','create-recovery','parent-id','string','replace','new-window','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','menu_state_drift','rawerror','password','\x20has\x20an\x20unexpected\x20generated\x20path.','rabetbase\x20menu\x20list\x20--appcode\x20','map','hasOwnProperty','213438ePdjtc','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','lookupCommand','embedded','filter','has','772359rOxuQH','isSafeInteger','873bOqCvg','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','flagMissing','expectedPath','Run\x20','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','object','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','create\x20external\x20menu','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','toLowerCase','body','currentSnapshotHash','sort','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','str','byId','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','/smartapi/menu/create','boolean','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','15lYRYGo','menu_create_recovery_required','\x20after\x20response\x20loss.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_sort_invalid','appCode','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','2485420RCyeyu','trim','after','\x20--format\x20compress','18210rJXZvA','create-menu','type','createdId','get','4WLOPNm','3KOqjEu','cookie','open-mode','menu_permission_denied','create-response-validation','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','data','failed','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Create\x20an\x20external\x20website\x20link\x20menu','write','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu_url_invalid','external-link-create','Menu\x20','305192UDAwsY','rawFlags','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','cause','create','\x20failed\x20final\x20verification.','menu_url_https_required','How\x20to\x20open\x20the\x20external\x20website','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','verification','length','URL','isArray','succeeded','Would\x20create\x20external\x20website\x20link\x20menu\x20'];a112_0x143d=function(){return _0x26984e;};return a112_0x143d();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a112_0x10e0(_0x8013e5,_0xdccc93){_0x8013e5=_0x8013e5-0x150;const _0x143db8=a112_0x143d();let _0x10e010=_0x143db8[_0x8013e5];return _0x10e010;}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x273c0f(0x161),'new-window':'link'};export function validateExternalMenuUrl(_0x50bca8){const _0x228890=a112_0x273c0f,_0x170550=_0x50bca8[_0x228890(0x1a6)]();let _0x182e25;try{_0x182e25=new URL(_0x170550);}catch{throw menuError(_0x228890(0x1bb),_0x228890(0x1a4),_0x228890(0x152));}if(_0x182e25[_0x228890(0x155)]!==_0x228890(0x160))throw menuError(_0x228890(0x1c4),_0x228890(0x1c6),'Provide\x20an\x20HTTPS\x20URL.');if(_0x182e25['username']||_0x182e25[_0x228890(0x17a)])throw menuError(_0x228890(0x167),_0x228890(0x158),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x170550;}export const menuExternalLinkCreate={'service':a112_0x273c0f(0x1c7),'command':a112_0x273c0f(0x1bc),'description':a112_0x273c0f(0x1b8),'risk':a112_0x273c0f(0x1b9),'structuredErrors':!![],'flags':[{'name':a112_0x273c0f(0x1d2),'type':a112_0x273c0f(0x174),'required':!![],'description':'Menu\x20label'},{'name':a112_0x273c0f(0x1b1),'type':a112_0x273c0f(0x174),'required':!![],'enum':[a112_0x273c0f(0x184),a112_0x273c0f(0x176)],'description':a112_0x273c0f(0x1c5)},{'name':a112_0x273c0f(0x1d3),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a112_0x273c0f(0x19c),'default':!![],'description':a112_0x273c0f(0x1d5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x28993a){validateAddInput(_0x28993a);},async 'dryRun'(_0x4de7a0){const _0x3ee2e4=a112_0x273c0f;validateAddInput(_0x4de7a0);const {plan:_0x2c2d07}=await buildSafeAddPlan(_0x4de7a0,!![]),_0x4e2517=_0x2c2d07[_0x3ee2e4(0x1a7)],_0x11d282=createBody(_0x4e2517);return menuDryRunResult(_0x2c2d07,{'method':_0x3ee2e4(0x171),'url':_0x3ee2e4(0x19b),'body':_0x11d282,'description':_0x3ee2e4(0x1cf)+JSON[_0x3ee2e4(0x16c)](_0x4e2517[_0x3ee2e4(0x1d2)])+'\x20with\x20'+_0x4de7a0[_0x3ee2e4(0x198)](_0x3ee2e4(0x1b1))+_0x3ee2e4(0x19d)});},async 'execute'(_0x75e27d){const _0xcb7a4f=a112_0x273c0f;validateAddInput(_0x75e27d);const _0x40ad37=await buildSafeAddPlan(_0x75e27d,![]),{plan:_0x1cf9f5,snapshot:_0x3fcd61}=_0x40ad37,_0x12ccfe=_0x1cf9f5['after'],_0x4c1540=buildMenuLookupCommand(_0x75e27d[_0xcb7a4f(0x1a3)]);await recheckAddSnapshot(_0x75e27d,_0x1cf9f5);let _0x2fbd7e;try{_0x2fbd7e=await createMenuEntity(_0x75e27d[_0xcb7a4f(0x1a3)],_0x75e27d['cookie'],createBody(_0x12ccfe));}catch(_0x434af7){const _0x1a4051=mapMenuApiError(_0x434af7,_0xcb7a4f(0x191));if(!isMenuResponseLoss(_0x434af7)||_0x1a4051[_0xcb7a4f(0x153)]===_0xcb7a4f(0x1b2))throw externalLinkCreateFailure(_0x1a4051,_0x1cf9f5,{'stage':_0xcb7a4f(0x1c2),'failed':{},'verification':{'status':_0xcb7a4f(0x1b6),'lookupCommand':_0x4c1540}});return recoverAfterResponseLoss(_0x75e27d,_0x40ad37,_0x4c1540);}const _0x345cad=Number(_0x2fbd7e?.['id']),_0x3bfaf5=typeof _0x2fbd7e?.[_0xcb7a4f(0x1d1)]===_0xcb7a4f(0x174)?_0x2fbd7e[_0xcb7a4f(0x1d1)]:'';if(!Number['isSafeInteger'](_0x345cad)||_0x345cad<=0x0||!_0x3bfaf5[_0xcb7a4f(0x1a6)]()){const _0x2c7a34=menuError(_0xcb7a4f(0x1da),_0xcb7a4f(0x159),'Run\x20'+_0x4c1540+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x2c7a34,_0x1cf9f5,{'stage':_0xcb7a4f(0x1b3),'succeeded':Number['isSafeInteger'](_0x345cad)&&_0x345cad>0x0?[{'id':_0x345cad,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x345cad)?_0x345cad:null,'generatedPathConfirmed':Boolean(_0x3bfaf5['trim']())},'warnings':[_0xcb7a4f(0x1c8)],'after':Number[_0xcb7a4f(0x188)](_0x345cad)&&_0x345cad>0x0?{..._0x12ccfe,'id':_0x345cad,'path':_0x3bfaf5}:_0x12ccfe,'verification':{'status':'failed','lookupCommand':_0x4c1540,...Number['isSafeInteger'](_0x345cad)&&_0x345cad>0x0?{'targetId':_0x345cad}:{}}});}const _0x2bcdc7=await readAndVerifyCreatedMenu({'appCode':_0x75e27d[_0xcb7a4f(0x1a3)],'cookie':_0x75e27d['cookie'],'plan':_0x1cf9f5,'afterPlan':_0x12ccfe,'createdId':_0x345cad,'expectedPath':_0x3bfaf5,'lookupCommand':_0x4c1540,'recovered':![]});return creationSuccess(_0x1cf9f5,_0x2bcdc7['snapshot'],_0x2bcdc7['fact'],![]);}};function validateAddInput(_0x1c9718){const _0x205007=a112_0x273c0f;if(!_0x1c9718[_0x205007(0x198)](_0x205007(0x1d2))[_0x205007(0x1a6)]())throw CliErrors[_0x205007(0x18b)](_0x205007(0x1d2));resolveExternalMenuType(_0x1c9718),validateExternalMenuUrl(_0x1c9718[_0x205007(0x198)]('url')),parseParentId(_0x1c9718,_0x205007(0x173)),validateSort(_0x1c9718);}function resolveExternalMenuType(_0x37a846){const _0x1fd2d8=a112_0x273c0f,_0x5d16e0=_0x37a846['str']('open-mode')[_0x1fd2d8(0x1a6)]();if(!_0x5d16e0)throw CliErrors[_0x1fd2d8(0x18b)](_0x1fd2d8(0x1b1));const _0x5e1652=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x5d16e0];if(!_0x5e1652)throw menuError(_0x1fd2d8(0x168),_0x1fd2d8(0x16b),_0x1fd2d8(0x181));return _0x5e1652;}async function buildAddPlan(_0x46f029,_0x178b82){const _0x55f85b=a112_0x273c0f,_0x582285=await fetchMutationSnapshot(_0x46f029,_0x55f85b(0x191)),_0x19354d=parseParentId(_0x46f029,_0x55f85b(0x173))??null;if(_0x19354d!=null)requireFolder(_0x582285,_0x19354d);const _0xba9d95=validateSort(_0x46f029),_0x557bf0=_0xba9d95??nextSiblingSort(_0x582285,_0x19354d,'menu'),_0x2881c8=_0x46f029[_0x55f85b(0x198)](_0x55f85b(0x1d2))[_0x55f85b(0x1a6)](),_0x2921c9=resolveExternalMenuType(_0x46f029),_0x1208e6=validateExternalMenuUrl(_0x46f029[_0x55f85b(0x198)](_0x55f85b(0x1d3))),_0x5140be=Object['prototype'][_0x55f85b(0x17e)]['call'](_0x46f029[_0x55f85b(0x1bf)],_0x55f85b(0x163))?_0x46f029['bool']('visible'):!![],_0x3f4c82={'id':null,'parentId':_0x19354d,'label':_0x2881c8,'path':'<platform-generated>','url':_0x1208e6,'type':_0x2921c9,'visible':_0x5140be,'sort':_0x557bf0},_0x1a17d5=buildMenuLookupCommand(_0x46f029['appCode']),_0x43714e=mutationResult({'operation':_0x55f85b(0x166),'selector':{'parentId':_0x19354d,'type':_0x2921c9,'label':_0x2881c8,'url':_0x1208e6},'before':null,'after':_0x3f4c82,'dryRun':_0x178b82,'backend':[{'method':_0x55f85b(0x171),'path':_0x55f85b(0x19b)}],'plannedActions':[{'stage':_0x55f85b(0x1aa),'method':_0x55f85b(0x171),'path':_0x55f85b(0x19b),'body':createBody(_0x3f4c82)}],'snapshotHash':_0x582285[_0x55f85b(0x16f)],'warnings':[_0x55f85b(0x197)],'verification':{'lookupCommand':_0x1a17d5}});return{'plan':_0x43714e,'snapshot':_0x582285};}async function buildSafeAddPlan(_0x1ca17a,_0x53b0f2){try{return await buildAddPlan(_0x1ca17a,_0x53b0f2);}catch(_0xc4f505){throw safeMenuAddError(_0xc4f505);}}async function recheckAddSnapshot(_0xa1f3b9,_0x21c915){const _0x22bcfa=a112_0x273c0f;try{await recheckMutationSnapshot(_0xa1f3b9,_0x21c915,_0x22bcfa(0x191));}catch(_0x13df6e){const _0x385ae2=getFailureRecord(_0x13df6e);throw externalLinkCreateFailure(_0x13df6e,_0x21c915,{'stage':_0x22bcfa(0x164),'failed':{..._0x385ae2?.[_0x22bcfa(0x15e)]?{'expectedSnapshotHash':_0x385ae2[_0x22bcfa(0x15e)]}:{},..._0x385ae2?.[_0x22bcfa(0x195)]?{'currentSnapshotHash':_0x385ae2['currentSnapshotHash']}:{}}});}}function createBody(_0x1bb6a4){const _0x4c6f38=a112_0x273c0f;return{'parentId':toApiParentId(_0x1bb6a4['parentId']),'label':String(_0x1bb6a4[_0x4c6f38(0x1d2)]),'type':String(_0x1bb6a4[_0x4c6f38(0x1ab)]),'url':String(_0x1bb6a4[_0x4c6f38(0x1d3)]),'visible':Boolean(_0x1bb6a4[_0x4c6f38(0x163)]),'sort':Number(_0x1bb6a4[_0x4c6f38(0x196)]),'extend':{}};}function buildMenuLookupCommand(_0x1799d4){const _0x11c0a1=a112_0x273c0f,_0x269b6c='\x27'+_0x1799d4[_0x11c0a1(0x175)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x11c0a1(0x17c)+_0x269b6c+_0x11c0a1(0x1a8);}async function recoverAfterResponseLoss(_0x269649,_0x2c7134,_0x30334f){const _0x47ed61=a112_0x273c0f,{plan:_0x34489e,snapshot:_0x10c2ca}=_0x2c7134,_0x544f40=_0x34489e[_0x47ed61(0x1a7)];let _0x428694;try{_0x428694=await fetchMenuSnapshot(_0x269649[_0x47ed61(0x1a3)],_0x269649[_0x47ed61(0x1b0)]);}catch(_0x4bfef2){throw recoveryRequiredFailure(_0x34489e,_0x30334f,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x30ca16=_0x428694['menus'][_0x47ed61(0x185)](_0x3f9ff3=>_0x3f9ff3[_0x47ed61(0x1d4)]===_0x544f40[_0x47ed61(0x1d4)]&&_0x3f9ff3['type']===_0x544f40['type']&&_0x3f9ff3[_0x47ed61(0x1d2)]===_0x544f40[_0x47ed61(0x1d2)]&&_0x3f9ff3[_0x47ed61(0x1d3)]===_0x544f40[_0x47ed61(0x1d3)]),_0x2f1372=_0x30ca16[_0x47ed61(0x185)](_0x57a395=>!_0x10c2ca[_0x47ed61(0x199)][_0x47ed61(0x186)](_0x57a395['id'])),_0x523659=_0x30ca16[_0x47ed61(0x185)](_0xa6ca08=>_0x10c2ca[_0x47ed61(0x199)][_0x47ed61(0x186)](_0xa6ca08['id']));if(_0x30ca16[_0x47ed61(0x1cb)]!==0x1||_0x2f1372[_0x47ed61(0x1cb)]!==0x1)throw recoveryRequiredFailure(_0x34489e,_0x30334f,{'matchCount':_0x30ca16[_0x47ed61(0x1cb)],'newMatchCount':_0x2f1372[_0x47ed61(0x1cb)],'preexistingMatchCount':_0x523659['length']});const _0x240692=_0x2f1372[0x0];try{verifyCreatedFact(_0x240692,_0x240692['id'],_0x544f40,null);}catch(_0x282a0b){const _0x311cd2=_0x282a0b instanceof Error&&_0x47ed61(0x153)in _0x282a0b?_0x282a0b:menuError(_0x47ed61(0x1d7),_0x47ed61(0x1d9)+_0x240692['id']+_0x47ed61(0x15c),_0x47ed61(0x18d)+_0x30334f+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x311cd2,_0x34489e,{'stage':_0x47ed61(0x1ca),'succeeded':[{'id':_0x240692['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x240692['id'],'finalFactsConfirmed':![]},'after':_0x240692,'warnings':[_0x47ed61(0x1bd)+_0x240692['id']+_0x47ed61(0x1c0)],'verification':{'status':'failed','targetId':_0x240692['id'],'recovered':!![],'lookupCommand':_0x30334f}});}return creationSuccess(_0x34489e,_0x428694,_0x240692,!![]);}function recoveryRequiredFailure(_0x343702,_0x4f64c8,_0x1624eb){const _0x583d7e=a112_0x273c0f,_0xebbb3b=menuError(_0x583d7e(0x19f),_0x583d7e(0x1b4),'Run\x20'+_0x4f64c8+_0x583d7e(0x192));return externalLinkCreateFailure(_0xebbb3b,_0x343702,{'stage':_0x583d7e(0x172),'failed':_0x1624eb,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x583d7e(0x1b6),..._0x1624eb,'lookupCommand':_0x4f64c8}});}async function readAndVerifyCreatedMenu(_0x2ce36d){const _0x26f86e=a112_0x273c0f;let _0x39c60b;try{_0x39c60b=await fetchMenuSnapshot(_0x2ce36d[_0x26f86e(0x1a3)],_0x2ce36d['cookie']);}catch(_0x10536d){const _0x7f6482=menuError(_0x26f86e(0x1d7),_0x26f86e(0x1bd)+_0x2ce36d[_0x26f86e(0x1ac)]+_0x26f86e(0x190),_0x26f86e(0x18d)+_0x2ce36d['lookupCommand']+_0x26f86e(0x1d6));throw externalLinkCreateFailure(_0x7f6482,_0x2ce36d[_0x26f86e(0x150)],{'stage':_0x26f86e(0x1ca),'succeeded':[{'id':_0x2ce36d['createdId'],'created':!![]}],'failed':{'id':_0x2ce36d[_0x26f86e(0x1ac)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x2ce36d[_0x26f86e(0x1d0)],'id':_0x2ce36d['createdId'],'path':_0x2ce36d[_0x26f86e(0x18c)]},'warnings':[_0x26f86e(0x1bd)+_0x2ce36d[_0x26f86e(0x1ac)]+_0x26f86e(0x180)],'verification':{'status':_0x26f86e(0x1b6),'targetId':_0x2ce36d['createdId'],'lookupCommand':_0x2ce36d[_0x26f86e(0x183)]}});}const _0x40272e=_0x39c60b['byId'][_0x26f86e(0x1ad)](_0x2ce36d[_0x26f86e(0x1ac)]);try{if(!_0x40272e)throw menuError('menu_verification_failed',_0x26f86e(0x162)+_0x2ce36d[_0x26f86e(0x1ac)]+_0x26f86e(0x182),_0x26f86e(0x18d)+_0x2ce36d[_0x26f86e(0x183)]+_0x26f86e(0x1d6));verifyCreatedFact(_0x40272e,_0x2ce36d[_0x26f86e(0x1ac)],_0x2ce36d['afterPlan'],_0x2ce36d[_0x26f86e(0x18c)]);}catch(_0xb1738f){const _0x21f34e=_0xb1738f instanceof Error&&_0x26f86e(0x153)in _0xb1738f?_0xb1738f:menuError(_0x26f86e(0x1d7),_0x26f86e(0x162)+_0x2ce36d[_0x26f86e(0x1ac)]+_0x26f86e(0x1c3),_0x26f86e(0x18d)+_0x2ce36d['lookupCommand']+_0x26f86e(0x1d6));throw externalLinkCreateFailure(_0x21f34e,_0x2ce36d[_0x26f86e(0x150)],{'stage':_0x26f86e(0x1ca),'succeeded':[{'id':_0x2ce36d['createdId'],'created':!![]}],'failed':{'id':_0x2ce36d[_0x26f86e(0x1ac)],'finalFactsConfirmed':![]},'after':_0x40272e??{..._0x2ce36d[_0x26f86e(0x1d0)],'id':_0x2ce36d['createdId'],'path':_0x2ce36d['expectedPath']},'warnings':['Menu\x20'+_0x2ce36d['createdId']+_0x26f86e(0x15a)],'verification':{'status':_0x26f86e(0x1b6),'targetId':_0x2ce36d[_0x26f86e(0x1ac)],'recovered':_0x2ce36d[_0x26f86e(0x1db)],'lookupCommand':_0x2ce36d[_0x26f86e(0x183)]}});}return{'snapshot':_0x39c60b,'fact':_0x40272e};}function verifyCreatedFact(_0x1a99c5,_0x2bcc35,_0x2536c1,_0xb8085e){const _0x26363b=a112_0x273c0f;if(!Number[_0x26363b(0x188)](_0x1a99c5['id'])||_0x1a99c5['id']<=0x0||_0x1a99c5['id']!==_0x2bcc35)throw menuError(_0x26363b(0x1d7),_0x26363b(0x1a1),_0x26363b(0x177));const _0xf5fb3a=[['parent',_0x1a99c5[_0x26363b(0x1d4)],_0x2536c1[_0x26363b(0x1d4)]],[_0x26363b(0x1ab),_0x1a99c5['type'],_0x2536c1[_0x26363b(0x1ab)]],[_0x26363b(0x1d2),_0x1a99c5[_0x26363b(0x1d2)],_0x2536c1['label']],[_0x26363b(0x1cc),_0x1a99c5[_0x26363b(0x1d3)],_0x2536c1[_0x26363b(0x1d3)]],[_0x26363b(0x15f),_0x1a99c5[_0x26363b(0x163)],_0x2536c1['visible']],['sort',_0x1a99c5['sort'],_0x2536c1[_0x26363b(0x196)]]];for(const [_0x199719,_0x4a3e7a,_0x3baa05]of _0xf5fb3a){if(_0x4a3e7a!==_0x3baa05)throw menuError('menu_verification_failed',_0x26363b(0x162)+_0x1a99c5['id']+_0x26363b(0x156)+_0x199719+'.',_0x26363b(0x1d8));}if(!_0x1a99c5['path'][_0x26363b(0x1a6)]()||_0xb8085e!==null&&_0x1a99c5[_0x26363b(0x1d1)]!==_0xb8085e)throw menuError('menu_verification_failed',_0x26363b(0x162)+_0x1a99c5['id']+_0x26363b(0x17b),_0x26363b(0x1d8));}function creationSuccess(_0x55d5e7,_0x2937a6,_0x1be686,_0x25e4ff){const _0x168916=a112_0x273c0f,_0x2815e7=mutationResult({..._0x55d5e7,'after':_0x1be686,'dryRun':![],'succeeded':[{'id':_0x1be686['id'],'created':!![],'recovered':_0x25e4ff}],'verification':{'checkedBy':_0x168916(0x170),'snapshotHash':_0x2937a6[_0x168916(0x16f)],'targetId':_0x1be686['id'],'recovered':_0x25e4ff,'path':_0x1be686[_0x168916(0x1d1)]}});return{'ok':!![],'message':_0x25e4ff?'Recovered\x20created\x20external\x20menu\x20'+_0x1be686['id']+_0x168916(0x1a0):_0x168916(0x15b)+_0x1be686['id']+'.','data':{..._0x2815e7,'recovered':_0x25e4ff}};}function externalLinkCreateFailure(_0xd4b9f0,_0x1dedf7,_0x735dd3){const _0x4e2ab7=a112_0x273c0f;return menuFailure(safeMenuAddError(_0xd4b9f0),redactFailurePlan(_0x1dedf7),{..._0x735dd3,'succeeded':_0x735dd3[_0x4e2ab7(0x1ce)]?.[_0x4e2ab7(0x17d)](redactFailureRecord),'failed':_0x735dd3[_0x4e2ab7(0x1b6)]?redactFailureRecord(_0x735dd3[_0x4e2ab7(0x1b6)]):undefined,'verification':_0x735dd3[_0x4e2ab7(0x1ca)]?redactFailureRecord(_0x735dd3['verification']):undefined,'after':_0x735dd3[_0x4e2ab7(0x1a7)]===undefined?undefined:redactFailureValue(_0x735dd3[_0x4e2ab7(0x1a7)])});}function redactFailurePlan(_0x2d5ff6){const _0xff0fe7=a112_0x273c0f;return{..._0x2d5ff6,'selector':redactFailureRecord(_0x2d5ff6[_0xff0fe7(0x154)]),'before':redactFailureValue(_0x2d5ff6[_0xff0fe7(0x151)]),'after':redactFailureValue(_0x2d5ff6['after']),'plannedActions':_0x2d5ff6[_0xff0fe7(0x165)]?.[_0xff0fe7(0x17d)](_0x193074=>({..._0x193074,'body':redactFailureRecord(_0x193074[_0xff0fe7(0x194)])})),'succeeded':_0x2d5ff6[_0xff0fe7(0x1ce)][_0xff0fe7(0x17d)](redactFailureRecord),'failed':_0x2d5ff6['failed'][_0xff0fe7(0x17d)](redactFailureRecord),'verification':_0x2d5ff6[_0xff0fe7(0x1ca)]?redactFailureRecord(_0x2d5ff6[_0xff0fe7(0x1ca)]):undefined};}function redactFailureRecord(_0x3fd576){return redactFailureValue(_0x3fd576);}function redactFailureValue(_0x262fff,_0x237657=''){const _0x5ea8e9=a112_0x273c0f,_0x16b8da=_0x237657[_0x5ea8e9(0x193)]()[_0x5ea8e9(0x175)](/[^a-z0-9]/g,'');if([_0x5ea8e9(0x1c1),'causemessage',_0x5ea8e9(0x157),_0x5ea8e9(0x179)]['includes'](_0x16b8da))return'<redacted>';if(Array['isArray'](_0x262fff))return _0x262fff[_0x5ea8e9(0x17d)](_0x4061e2=>redactFailureValue(_0x4061e2));if(_0x262fff&&typeof _0x262fff==='object')return Object['fromEntries'](Object['entries'](_0x262fff)[_0x5ea8e9(0x17d)](([_0x4eec78,_0x521ce1])=>[_0x4eec78,redactFailureValue(_0x521ce1,_0x4eec78)]));return _0x262fff;}function safeMenuAddError(_0x1dfcc3){const _0xc321ae=a112_0x273c0f,_0x327f19=_0x1dfcc3 instanceof CliError?_0x1dfcc3[_0xc321ae(0x153)]:_0xc321ae(0x16e);switch(_0x327f19){case _0xc321ae(0x178):return menuError(_0x327f19,_0xc321ae(0x18e),_0xc321ae(0x1c9));case'menu_permission_denied':return menuError(_0x327f19,_0xc321ae(0x1b7),_0xc321ae(0x1ba));case _0xc321ae(0x1da):return menuError(_0x327f19,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0xc321ae(0x15d));case'menu_verification_failed':return menuError(_0x327f19,_0xc321ae(0x19a),_0xc321ae(0x15d));case _0xc321ae(0x19f):return menuError(_0x327f19,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0xc321ae(0x16e):case'menu_not_found':case'menu_parent_not_folder':case _0xc321ae(0x1a2):case'menu_sort_overflow':return menuError(_0x327f19,_0xc321ae(0x16a),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0xc321ae(0x16e),_0xc321ae(0x16a),_0xc321ae(0x18a));}}function getFailureRecord(_0x510834){const _0x1a4057=a112_0x273c0f;if(!(_0x510834 instanceof Error)||!('data'in _0x510834))return undefined;const _0x4d5c89=_0x510834[_0x1a4057(0x1b5)];if(!_0x4d5c89||typeof _0x4d5c89!==_0x1a4057(0x18f))return undefined;const _0x5db41d=_0x4d5c89[_0x1a4057(0x1b6)];if(!Array[_0x1a4057(0x1cd)](_0x5db41d)||!_0x5db41d[0x0]||typeof _0x5db41d[0x0]!=='object')return undefined;return _0x5db41d[0x0];}
@@ -1 +1 @@
1
- const a113_0x42a84f=a113_0x9e5e;(function(_0x258644,_0x59c4dc){const _0x54d91b=a113_0x9e5e,_0x57118d=_0x258644();while(!![]){try{const _0x1b2624=-parseInt(_0x54d91b(0x1bb))/0x1+parseInt(_0x54d91b(0x1c1))/0x2*(parseInt(_0x54d91b(0x1c3))/0x3)+parseInt(_0x54d91b(0x1d5))/0x4+-parseInt(_0x54d91b(0x19c))/0x5*(parseInt(_0x54d91b(0x1a2))/0x6)+-parseInt(_0x54d91b(0x1e0))/0x7*(parseInt(_0x54d91b(0x1ad))/0x8)+-parseInt(_0x54d91b(0x1d8))/0x9*(parseInt(_0x54d91b(0x1cb))/0xa)+parseInt(_0x54d91b(0x1d7))/0xb;if(_0x1b2624===_0x59c4dc)break;else _0x57118d['push'](_0x57118d['shift']());}catch(_0x41d58b){_0x57118d['push'](_0x57118d['shift']());}}}(a113_0x508c,0xc485b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x42a84f(0x1c0),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a113_0x42a84f(0x1b5),'command':a113_0x42a84f(0x1c7),'description':a113_0x42a84f(0x1ce),'risk':a113_0x42a84f(0x1a6),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x42a84f(0x19b),'type':a113_0x42a84f(0x1df),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x42a84f(0x1d1),'type':a113_0x42a84f(0x1df),'required':!![],'description':a113_0x42a84f(0x1cf)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x331186){validateInput(_0x331186);},async 'dryRun'(_0x12e902){const _0x3349b4=a113_0x42a84f;validateInput(_0x12e902);const _0x17028b=await buildPlan(_0x12e902,!![]);return menuDryRunResult(_0x17028b[_0x3349b4(0x19f)],{'method':_0x3349b4(0x1c0),'url':_0x3349b4(0x1c9),'body':_0x17028b['body'],'description':_0x3349b4(0x1a9)+_0x17028b[_0x3349b4(0x1b1)]['id']+'.'});},async 'execute'(_0x318ca0){const _0x22e868=a113_0x42a84f;validateInput(_0x318ca0);const _0x19e9a3=await buildPlan(_0x318ca0,![]),{plan:_0x496a29,body:_0x2493f1,before:_0xdba725,noChanges:_0x550395}=_0x19e9a3,_0x285ff6=_0x2493f1['id'];if(_0x550395)return updateSuccess(_0x496a29,_0x19e9a3[_0x22e868(0x1d9)],_0xdba725,!![],![]);await recheckMutationSnapshot(_0x318ca0,_0x496a29,'update\x20external\x20menu\x20URL',_0x285ff6);try{await updateMenuEntity(_0x318ca0['appCode'],_0x318ca0[_0x22e868(0x1c8)],{'id':_0x2493f1['id'],'url':_0x2493f1['url']});}catch(_0x561788){const _0x4670a0=mapMenuApiError(_0x561788,'update\x20external\x20menu\x20URL',_0x285ff6);if(isMenuResponseLoss(_0x561788)&&_0x4670a0['code']!==_0x22e868(0x1e2))return recoverAfterResponseLoss(_0x318ca0,_0x19e9a3);throw menuFailure(_0x4670a0,_0x496a29,{'stage':_0x22e868(0x1d6),'failed':{'id':_0x285ff6},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x22e868(0x1b8),'targetId':_0x285ff6,'lookupCommand':buildLookupCommand(_0x318ca0['appCode'])}});}let _0x4667a7,_0x201fda;try{_0x4667a7=await fetchMenuSnapshot(_0x318ca0[_0x22e868(0x1a5)],_0x318ca0[_0x22e868(0x1c8)]),_0x201fda=requireMenu(_0x4667a7,_0x285ff6),verifyUpdatedFact(_0xdba725,_0x201fda,_0x2493f1[_0x22e868(0x19b)]);}catch(_0x1100f5){const _0x3d1284=describeMenuErrorCause(_0x1100f5,'verify\x20external\x20menu\x20URL\x20update',_0x285ff6),_0x26c054=asVerificationError(_0x1100f5,'Update\x20request\x20for\x20menu\x20'+_0x285ff6+_0x22e868(0x1d0));throw menuFailure(_0x26c054,_0x496a29,{'stage':_0x22e868(0x1b4),'succeeded':[{'id':_0x285ff6,'updateRequested':!![]}],'failed':{'id':_0x285ff6,'requestedStateConfirmed':![],..._0x3d1284},'warnings':[_0x22e868(0x1da)],'verification':{'status':_0x22e868(0x1b8),'targetId':_0x285ff6,'lookupCommand':buildLookupCommand(_0x318ca0[_0x22e868(0x1a5)])}});}return updateSuccess(_0x496a29,_0x4667a7,_0x201fda,![],![]);}};function validateInput(_0x204904){const _0x3a34d6=a113_0x42a84f;validateExactId(_0x204904),requiredUrl(_0x204904,_0x3a34d6(0x19b)),requiredExpectedUrl(_0x204904),parseParentId(_0x204904,_0x3a34d6(0x1b2),{'required':!![]});}function requiredUrl(_0x33435c,_0x3df16b){const _0x2689a1=a113_0x42a84f;if(!hasFlag(_0x33435c,_0x3df16b)||!_0x33435c[_0x2689a1(0x1bf)](_0x3df16b)[_0x2689a1(0x1ca)]())throw CliErrors[_0x2689a1(0x199)](_0x3df16b);return validateExternalMenuUrl(_0x33435c[_0x2689a1(0x1bf)](_0x3df16b));}function requiredExpectedUrl(_0x3daab9){const _0x39a9bd=a113_0x42a84f;if(!hasFlag(_0x3daab9,'expect-url')||!_0x3daab9[_0x39a9bd(0x1bf)](_0x39a9bd(0x1d1))[_0x39a9bd(0x1ca)]())throw CliErrors[_0x39a9bd(0x199)](_0x39a9bd(0x1d1));return _0x3daab9[_0x39a9bd(0x1bf)](_0x39a9bd(0x1d1))[_0x39a9bd(0x1ca)]();}async function buildPlan(_0x5bf0b9,_0x4ff208){const _0x285d5e=a113_0x42a84f,_0x265485=validateExactId(_0x5bf0b9),_0x1d2165=requiredUrl(_0x5bf0b9,_0x285d5e(0x19b)),_0x2e0bdb=requiredExpectedUrl(_0x5bf0b9),_0x4d5e0f=parseParentId(_0x5bf0b9,_0x285d5e(0x1b2),{'required':!![]}),_0x251a2d=await fetchMutationSnapshot(_0x5bf0b9,'update\x20external\x20menu\x20URL',_0x265485),_0x36beec=requireMenu(_0x251a2d,_0x265485);assertExternalLinkLeaf(_0x36beec);if(_0x36beec['parentId']!==_0x4d5e0f)throw menuError(_0x285d5e(0x1a7),'Menu\x20'+_0x265485+_0x285d5e(0x1dd)+formatParent(_0x4d5e0f)+_0x285d5e(0x1af)+formatParent(_0x36beec[_0x285d5e(0x1c4)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x15dc0d=_0x36beec[_0x285d5e(0x19b)]===_0x1d2165;if(!_0x15dc0d&&_0x36beec['url']!==_0x2e0bdb)throw menuError('menu_state_drift',_0x285d5e(0x1ba)+_0x265485+_0x285d5e(0x1a4),_0x285d5e(0x1e1));const _0x1f3c84={'id':_0x265485,'appCode':_0x5bf0b9['appCode'],'url':_0x1d2165},_0x5a022d={..._0x36beec,'url':_0x1d2165};return{'body':_0x1f3c84,'before':_0x36beec,'noChanges':_0x15dc0d,'snapshot':_0x251a2d,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x265485},'before':_0x36beec,'after':_0x5a022d,'dryRun':_0x4ff208,'backend':[...BACKEND],'plannedActions':_0x15dc0d?[]:[{'stage':'update-external-link-url','method':_0x285d5e(0x1c0),'path':_0x285d5e(0x1c9),'body':_0x1f3c84}],'snapshotHash':_0x251a2d[_0x285d5e(0x1a3)],'warnings':_0x15dc0d?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x1f37a6){const _0x36c453=a113_0x42a84f;if(_0x1f37a6[_0x36c453(0x1be)]!=='iframe'&&_0x1f37a6['type']!=='link')throw menuError(_0x36c453(0x1ac),'Menu\x20'+_0x1f37a6['id']+_0x36c453(0x1d4)+(_0x1f37a6['type']||_0x36c453(0x1b9))+'\x22,\x20not\x20iframe\x20or\x20link.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x1f37a6['childrenCount']!==0x0)throw menuError(_0x36c453(0x1a8),'Menu\x20'+_0x1f37a6['id']+_0x36c453(0x1c2)+_0x1f37a6[_0x36c453(0x1a0)]+_0x36c453(0x19a),_0x36c453(0x1ae));if(!_0x1f37a6[_0x36c453(0x1e4)]['trim']())throw menuError('menu_external_link_path_missing',_0x36c453(0x1ba)+_0x1f37a6['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x36c453(0x1cc));}function a113_0x508c(){const _0x3360a7=['snapshot','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20--format\x20compress','visible','\x20parent\x20changed:\x20expected\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','string','5608155wVbkBq','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','menu_permission_denied','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','path','flagMissing','\x20direct\x20child\x20menu(s).','url','400CQXtLr','update-recovery','replace','plan','childrenCount','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','50166gJkcbC','hash','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','appCode','write','menu_state_drift','menu_external_link_not_leaf','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20already\x20matches\x20the\x20requested\x20URL.','sort','menu_external_link_type_required','8WkXAGm','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.',',\x20current\x20','menu_update_recovery_required','body','expect-parent-id','label','verification','menu','Updated\x20external\x20URL\x20for\x20menu\x20','readbackFailed','failed','unknown','Menu\x20','645252mNpfsU','byId','get','type','str','POST','1048658teERwb','\x20has\x20','9AtIjjD','parentId','rabetbase\x20menu\x20list\x20--appcode\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','external-link-update','cookie','/smartapi/menu/update','trim','18140XZwNXm','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','Response\x20was\x20lost\x20and\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','expect-url','requestedUrlObserved','menu\x20list','\x20is\x20type\x20\x22','4061964cFVqfz','update','19173726nhGTMu','7002IUWidM'];a113_0x508c=function(){return _0x3360a7;};return a113_0x508c();}function verifyUpdatedFact(_0x4bffea,_0xaa0f3e,_0x22dda3){const _0x4ce86b=a113_0x42a84f;assertExternalLinkLeaf(_0xaa0f3e);const _0x139239=[['id',_0xaa0f3e['id'],_0x4bffea['id']],[_0x4ce86b(0x1b3),_0xaa0f3e[_0x4ce86b(0x1b3)],_0x4bffea[_0x4ce86b(0x1b3)]],['type',_0xaa0f3e[_0x4ce86b(0x1be)],_0x4bffea[_0x4ce86b(0x1be)]],[_0x4ce86b(0x1e4),_0xaa0f3e[_0x4ce86b(0x1e4)],_0x4bffea[_0x4ce86b(0x1e4)]],['parentId',_0xaa0f3e[_0x4ce86b(0x1c4)],_0x4bffea[_0x4ce86b(0x1c4)]],[_0x4ce86b(0x1ab),_0xaa0f3e['sort'],_0x4bffea[_0x4ce86b(0x1ab)]],[_0x4ce86b(0x1dc),_0xaa0f3e[_0x4ce86b(0x1dc)],_0x4bffea[_0x4ce86b(0x1dc)]]];for(const [_0xf01616,_0x6d046,_0x3daed3]of _0x139239){assertVerified(_0x6d046===_0x3daed3,_0x4ce86b(0x1ba)+_0x4bffea['id']+'\x20'+_0xf01616+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0xaa0f3e[_0x4ce86b(0x19b)]===_0x22dda3,_0x4ce86b(0x1ba)+_0x4bffea['id']+_0x4ce86b(0x1de));}function updateSuccess(_0x170403,_0x5406f0,_0x4e8096,_0x208d4e,_0x1d7370){const _0x2feaf1=a113_0x42a84f,_0x1dddeb=_0x4e8096['id'],_0x3193c0=mutationResult({..._0x170403,'after':_0x4e8096,'dryRun':![],'succeeded':[{'id':_0x1dddeb,'updated':!_0x208d4e,'skipped':_0x208d4e,'recovered':_0x1d7370}],'verification':{'checkedBy':_0x2feaf1(0x1d3),'snapshotHash':_0x5406f0[_0x2feaf1(0x1a3)],'targetId':_0x1dddeb,'matchesRequestedState':!![],'recovered':_0x1d7370}});return{'ok':!![],'message':_0x1d7370?_0x2feaf1(0x1e3)+_0x1dddeb+'.':_0x208d4e?'Menu\x20'+_0x1dddeb+_0x2feaf1(0x1aa):_0x2feaf1(0x1b6)+_0x1dddeb+'.','data':{..._0x3193c0,'recovered':_0x1d7370}};}function a113_0x9e5e(_0x32e01d,_0x54bf01){_0x32e01d=_0x32e01d-0x199;const _0x508c51=a113_0x508c();let _0x9e5ea4=_0x508c51[_0x32e01d];return _0x9e5ea4;}async function recoverAfterResponseLoss(_0x124315,_0x1793b4){const _0x43c281=a113_0x42a84f,{plan:_0x106b37,before:_0xeecdfe,body:_0xc91560}=_0x1793b4;let _0x1fe485;try{_0x1fe485=await fetchMenuSnapshot(_0x124315['appCode'],_0x124315['cookie']);}catch{throw recoveryRequired(_0x106b37,_0x124315[_0x43c281(0x1a5)],{'id':_0xc91560['id'],'readbackFailed':!![]});}const _0x5db382=_0x1fe485[_0x43c281(0x1bc)][_0x43c281(0x1bd)](_0xc91560['id']);if(!_0x5db382||_0x5db382[_0x43c281(0x19b)]!==_0xc91560['url'])throw recoveryRequired(_0x106b37,_0x124315[_0x43c281(0x1a5)],{'id':_0xc91560['id'],'requestedUrlObserved':![],'after':_0x5db382??null});try{verifyUpdatedFact(_0xeecdfe,_0x5db382,_0xc91560['url']);}catch(_0xb5381c){const _0x7dc0d0=asVerificationError(_0xb5381c,_0x43c281(0x1cd)+_0xc91560['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x7dc0d0,_0x106b37,{'stage':_0x43c281(0x19d),'succeeded':[{'id':_0xc91560['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xc91560['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5db382,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x43c281(0x1b8),'targetId':_0xc91560['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x124315[_0x43c281(0x1a5)])}});}return updateSuccess(_0x106b37,_0x1fe485,_0x5db382,![],!![]);}function recoveryRequired(_0x3b546e,_0x217e0a,_0x37f485){const _0x4e3e0e=a113_0x42a84f,_0x25569e=menuError(_0x4e3e0e(0x1b0),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x217e0a)+_0x4e3e0e(0x1c6));return menuFailure(_0x25569e,_0x3b546e,{'stage':_0x4e3e0e(0x19d),'failed':{'id':_0x37f485['id'],..._0x37f485[_0x4e3e0e(0x1d2)]===undefined?{}:{'requestedUrlObserved':_0x37f485[_0x4e3e0e(0x1d2)]},..._0x37f485[_0x4e3e0e(0x1b7)]?{'readbackFailed':!![]}:{}},'after':_0x37f485['after'],'warnings':[_0x4e3e0e(0x1a1)],'verification':{'status':_0x4e3e0e(0x1b8),'targetId':_0x37f485['id'],..._0x37f485['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x37f485[_0x4e3e0e(0x1d2)]},..._0x37f485['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x217e0a)}});}function buildLookupCommand(_0x49bf27){const _0x3c5a12=a113_0x42a84f,_0x3a0e92='\x27'+_0x49bf27[_0x3c5a12(0x19e)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x3c5a12(0x1c5)+_0x3a0e92+_0x3c5a12(0x1db);}
1
+ const a113_0x4886b0=a113_0x33a0;(function(_0x27e1fa,_0x2f884d){const _0x7944d4=a113_0x33a0,_0x51be08=_0x27e1fa();while(!![]){try{const _0xf62cad=-parseInt(_0x7944d4(0x146))/0x1+parseInt(_0x7944d4(0x120))/0x2*(parseInt(_0x7944d4(0x158))/0x3)+parseInt(_0x7944d4(0x144))/0x4+-parseInt(_0x7944d4(0x13c))/0x5*(parseInt(_0x7944d4(0x15e))/0x6)+parseInt(_0x7944d4(0x139))/0x7+-parseInt(_0x7944d4(0x130))/0x8+parseInt(_0x7944d4(0x165))/0x9*(parseInt(_0x7944d4(0x14c))/0xa);if(_0xf62cad===_0x2f884d)break;else _0x51be08['push'](_0x51be08['shift']());}catch(_0x406c3f){_0x51be08['push'](_0x51be08['shift']());}}}(a113_0x57bc,0xd2671));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';function a113_0x33a0(_0x4e0e0d,_0x2ec650){_0x4e0e0d=_0x4e0e0d-0x11b;const _0x57bcb9=a113_0x57bc();let _0x33a0a7=_0x57bcb9[_0x4e0e0d];return _0x33a0a7;}import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x4886b0(0x11d),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a113_0x4886b0(0x141),'command':a113_0x4886b0(0x166),'description':a113_0x4886b0(0x11b),'risk':a113_0x4886b0(0x138),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x4886b0(0x161),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x4886b0(0x167),'type':a113_0x4886b0(0x164),'required':!![],'description':a113_0x4886b0(0x13b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x48a9f1){validateInput(_0x48a9f1);},async 'dryRun'(_0x4726b1){const _0x6eb7c7=a113_0x4886b0;validateInput(_0x4726b1);const _0x5df62f=await buildPlan(_0x4726b1,!![]);return menuDryRunResult(_0x5df62f[_0x6eb7c7(0x12d)],{'method':'POST','url':_0x6eb7c7(0x127),'body':_0x5df62f[_0x6eb7c7(0x125)],'description':_0x6eb7c7(0x143)+_0x5df62f[_0x6eb7c7(0x125)]['id']+'.'});},async 'execute'(_0x247c10){const _0xfcdc4e=a113_0x4886b0;validateInput(_0x247c10);const _0x3bcf17=await buildPlan(_0x247c10,![]),{plan:_0x3e7d28,body:_0x5d31e9,before:_0x1bcd9a,noChanges:_0x2cd63c}=_0x3bcf17,_0x327cb9=_0x5d31e9['id'];if(_0x2cd63c)return updateSuccess(_0x3e7d28,_0x3bcf17[_0xfcdc4e(0x147)],_0x1bcd9a,!![],![]);await recheckMutationSnapshot(_0x247c10,_0x3e7d28,_0xfcdc4e(0x13e),_0x327cb9);try{await updateMenuEntity(_0x247c10[_0xfcdc4e(0x14a)],_0x247c10[_0xfcdc4e(0x163)],{'id':_0x5d31e9['id'],'url':_0x5d31e9[_0xfcdc4e(0x161)]});}catch(_0x422c38){const _0x288468=mapMenuApiError(_0x422c38,_0xfcdc4e(0x13e),_0x327cb9);if(isMenuResponseLoss(_0x422c38)&&_0x288468[_0xfcdc4e(0x11f)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x247c10,_0x3bcf17);throw menuFailure(_0x288468,_0x3e7d28,{'stage':_0xfcdc4e(0x129),'failed':{'id':_0x327cb9},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0xfcdc4e(0x13d),'targetId':_0x327cb9,'lookupCommand':buildLookupCommand(_0x247c10['appCode'])}});}let _0x17f465,_0x2d5f33;try{_0x17f465=await fetchMenuSnapshot(_0x247c10[_0xfcdc4e(0x14a)],_0x247c10['cookie']),_0x2d5f33=requireMenu(_0x17f465,_0x327cb9),verifyUpdatedFact(_0x1bcd9a,_0x2d5f33,_0x5d31e9['url']);}catch(_0x2ebaca){const _0x459dca=describeMenuErrorCause(_0x2ebaca,_0xfcdc4e(0x14b),_0x327cb9),_0x2a40e9=asVerificationError(_0x2ebaca,_0xfcdc4e(0x15f)+_0x327cb9+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2a40e9,_0x3e7d28,{'stage':'verification','succeeded':[{'id':_0x327cb9,'updateRequested':!![]}],'failed':{'id':_0x327cb9,'requestedStateConfirmed':![],..._0x459dca},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x327cb9,'lookupCommand':buildLookupCommand(_0x247c10[_0xfcdc4e(0x14a)])}});}return updateSuccess(_0x3e7d28,_0x17f465,_0x2d5f33,![],![]);}};function validateInput(_0x4174fd){const _0x2281b6=a113_0x4886b0;validateExactId(_0x4174fd),requiredUrl(_0x4174fd,_0x2281b6(0x161)),requiredExpectedUrl(_0x4174fd),parseParentId(_0x4174fd,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x1d4937,_0xe2977a){const _0xcc87d5=a113_0x4886b0;if(!hasFlag(_0x1d4937,_0xe2977a)||!_0x1d4937['str'](_0xe2977a)['trim']())throw CliErrors[_0xcc87d5(0x140)](_0xe2977a);return validateExternalMenuUrl(_0x1d4937['str'](_0xe2977a));}function requiredExpectedUrl(_0x3a05ad){const _0x4d3d8e=a113_0x4886b0;if(!hasFlag(_0x3a05ad,_0x4d3d8e(0x167))||!_0x3a05ad[_0x4d3d8e(0x135)](_0x4d3d8e(0x167))['trim']())throw CliErrors[_0x4d3d8e(0x140)](_0x4d3d8e(0x167));return _0x3a05ad[_0x4d3d8e(0x135)](_0x4d3d8e(0x167))[_0x4d3d8e(0x159)]();}async function buildPlan(_0x55cc19,_0x5754bc){const _0x2c305b=a113_0x4886b0,_0x113f3e=validateExactId(_0x55cc19),_0x823b4e=requiredUrl(_0x55cc19,'url'),_0x227d42=requiredExpectedUrl(_0x55cc19),_0x487008=parseParentId(_0x55cc19,_0x2c305b(0x142),{'required':!![]}),_0x4ee451=await fetchMutationSnapshot(_0x55cc19,_0x2c305b(0x13e),_0x113f3e),_0x2cd6a1=requireMenu(_0x4ee451,_0x113f3e);assertExternalLinkLeaf(_0x2cd6a1);if(_0x2cd6a1[_0x2c305b(0x124)]!==_0x487008)throw menuError(_0x2c305b(0x151),_0x2c305b(0x15c)+_0x113f3e+_0x2c305b(0x131)+formatParent(_0x487008)+',\x20current\x20'+formatParent(_0x2cd6a1[_0x2c305b(0x124)])+'.',_0x2c305b(0x13a));const _0x4872a5=_0x2cd6a1['url']===_0x823b4e;if(!_0x4872a5&&_0x2cd6a1[_0x2c305b(0x161)]!==_0x227d42)throw menuError('menu_state_drift',_0x2c305b(0x15c)+_0x113f3e+_0x2c305b(0x152),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4ba3da={'id':_0x113f3e,'appCode':_0x55cc19['appCode'],'url':_0x823b4e},_0x367579={..._0x2cd6a1,'url':_0x823b4e};return{'body':_0x4ba3da,'before':_0x2cd6a1,'noChanges':_0x4872a5,'snapshot':_0x4ee451,'plan':mutationResult({'operation':_0x2c305b(0x166),'selector':{'id':_0x113f3e},'before':_0x2cd6a1,'after':_0x367579,'dryRun':_0x5754bc,'backend':[...BACKEND],'plannedActions':_0x4872a5?[]:[{'stage':_0x2c305b(0x136),'method':_0x2c305b(0x11d),'path':_0x2c305b(0x127),'body':_0x4ba3da}],'snapshotHash':_0x4ee451[_0x2c305b(0x160)],'warnings':_0x4872a5?[_0x2c305b(0x11e)]:[]})};}function assertExternalLinkLeaf(_0x50379f){const _0xc88ce4=a113_0x4886b0;if(_0x50379f['type']!==_0xc88ce4(0x14d)&&_0x50379f[_0xc88ce4(0x153)]!==_0xc88ce4(0x15d))throw menuError(_0xc88ce4(0x12c),_0xc88ce4(0x15c)+_0x50379f['id']+_0xc88ce4(0x155)+(_0x50379f[_0xc88ce4(0x153)]||_0xc88ce4(0x168))+_0xc88ce4(0x169),_0xc88ce4(0x150));if(_0x50379f['childrenCount']!==0x0)throw menuError(_0xc88ce4(0x132),'Menu\x20'+_0x50379f['id']+_0xc88ce4(0x121)+_0x50379f[_0xc88ce4(0x13f)]+_0xc88ce4(0x156),_0xc88ce4(0x128));if(!_0x50379f[_0xc88ce4(0x14e)]['trim']())throw menuError(_0xc88ce4(0x133),_0xc88ce4(0x15c)+_0x50379f['id']+_0xc88ce4(0x12a),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function a113_0x57bc(){const _0x13def2=['2845107EgaTEe','external-link-update','expect-url','unknown','\x22,\x20not\x20iframe\x20or\x20link.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','label','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','replace','POST','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','code','588454JXbLty','\x20has\x20','Updated\x20external\x20URL\x20for\x20menu\x20','visible','parentId','body','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/update','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','update','\x20has\x20an\x20empty\x20platform\x20path.','after','menu_external_link_type_required','plan','menu_update_recovery_required','get','11672632zvXvTf','\x20parent\x20changed:\x20expected\x20','menu_external_link_not_leaf','menu_external_link_path_missing','\x20URL\x20update\x20did\x20not\x20take\x20effect.','str','update-external-link-url','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','write','5750703MajcGQ','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','1327890UGyHar','failed','update\x20external\x20menu\x20URL','childrenCount','flagMissing','menu','expect-parent-id','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','5444996qiDPEo','sort','838908BszqBh','snapshot','\x20could\x20not\x20be\x20verified\x20safely','requestedUrlObserved','appCode','verify\x20external\x20menu\x20URL\x20update','30hwEsif','iframe','path','byId','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','menu_state_drift','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','type','readbackFailed','\x20is\x20type\x20\x22','\x20direct\x20child\x20menu(s).','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','3wKrPiT','trim','update-recovery','menu\x20list','Menu\x20','link','6OAGWNs','Update\x20request\x20for\x20menu\x20','hash','url','\x20changed\x20during\x20the\x20URL-only\x20update.','cookie','string'];a113_0x57bc=function(){return _0x13def2;};return a113_0x57bc();}function verifyUpdatedFact(_0x11610e,_0x116122,_0x1f0e45){const _0x5be3cb=a113_0x4886b0;assertExternalLinkLeaf(_0x116122);const _0x545e63=[['id',_0x116122['id'],_0x11610e['id']],['label',_0x116122[_0x5be3cb(0x16b)],_0x11610e[_0x5be3cb(0x16b)]],[_0x5be3cb(0x153),_0x116122[_0x5be3cb(0x153)],_0x11610e[_0x5be3cb(0x153)]],[_0x5be3cb(0x14e),_0x116122['path'],_0x11610e['path']],[_0x5be3cb(0x124),_0x116122[_0x5be3cb(0x124)],_0x11610e[_0x5be3cb(0x124)]],[_0x5be3cb(0x145),_0x116122[_0x5be3cb(0x145)],_0x11610e[_0x5be3cb(0x145)]],[_0x5be3cb(0x123),_0x116122['visible'],_0x11610e['visible']]];for(const [_0x2d47fe,_0x2097dd,_0x31a464]of _0x545e63){assertVerified(_0x2097dd===_0x31a464,_0x5be3cb(0x15c)+_0x11610e['id']+'\x20'+_0x2d47fe+_0x5be3cb(0x162));}assertVerified(_0x116122[_0x5be3cb(0x161)]===_0x1f0e45,'Menu\x20'+_0x11610e['id']+_0x5be3cb(0x134));}function updateSuccess(_0x529065,_0x54eb60,_0x739c30,_0x4f029f,_0x467698){const _0x77743a=a113_0x4886b0,_0x52cc1f=_0x739c30['id'],_0x985c52=mutationResult({..._0x529065,'after':_0x739c30,'dryRun':![],'succeeded':[{'id':_0x52cc1f,'updated':!_0x4f029f,'skipped':_0x4f029f,'recovered':_0x467698}],'verification':{'checkedBy':_0x77743a(0x15b),'snapshotHash':_0x54eb60['hash'],'targetId':_0x52cc1f,'matchesRequestedState':!![],'recovered':_0x467698}});return{'ok':!![],'message':_0x467698?_0x77743a(0x157)+_0x52cc1f+'.':_0x4f029f?_0x77743a(0x15c)+_0x52cc1f+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x77743a(0x122)+_0x52cc1f+'.','data':{..._0x985c52,'recovered':_0x467698}};}async function recoverAfterResponseLoss(_0x30c6d0,_0x253a26){const _0x13231d=a113_0x4886b0,{plan:_0x4695c7,before:_0x51f8a3,body:_0x5479f4}=_0x253a26;let _0x36c199;try{_0x36c199=await fetchMenuSnapshot(_0x30c6d0[_0x13231d(0x14a)],_0x30c6d0[_0x13231d(0x163)]);}catch{throw recoveryRequired(_0x4695c7,_0x30c6d0[_0x13231d(0x14a)],{'id':_0x5479f4['id'],'readbackFailed':!![]});}const _0x404aba=_0x36c199[_0x13231d(0x14f)][_0x13231d(0x12f)](_0x5479f4['id']);if(!_0x404aba||_0x404aba[_0x13231d(0x161)]!==_0x5479f4[_0x13231d(0x161)])throw recoveryRequired(_0x4695c7,_0x30c6d0[_0x13231d(0x14a)],{'id':_0x5479f4['id'],'requestedUrlObserved':![],'after':_0x404aba??null});try{verifyUpdatedFact(_0x51f8a3,_0x404aba,_0x5479f4['url']);}catch(_0x155d95){const _0x55ee63=asVerificationError(_0x155d95,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x5479f4['id']+_0x13231d(0x148));throw menuFailure(_0x55ee63,_0x4695c7,{'stage':_0x13231d(0x15a),'succeeded':[{'id':_0x5479f4['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5479f4['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x404aba,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x13231d(0x13d),'targetId':_0x5479f4['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x30c6d0['appCode'])}});}return updateSuccess(_0x4695c7,_0x36c199,_0x404aba,![],!![]);}function recoveryRequired(_0x21e735,_0x1b6ed4,_0x36f16e){const _0xd763a7=a113_0x4886b0,_0x5c6928=menuError(_0xd763a7(0x12e),_0xd763a7(0x137),'Run\x20'+buildLookupCommand(_0x1b6ed4)+_0xd763a7(0x16a));return menuFailure(_0x5c6928,_0x21e735,{'stage':_0xd763a7(0x15a),'failed':{'id':_0x36f16e['id'],..._0x36f16e['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x36f16e[_0xd763a7(0x149)]},..._0x36f16e[_0xd763a7(0x154)]?{'readbackFailed':!![]}:{}},'after':_0x36f16e[_0xd763a7(0x12b)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xd763a7(0x13d),'targetId':_0x36f16e['id'],..._0x36f16e[_0xd763a7(0x149)]===undefined?{}:{'requestedUrlObserved':_0x36f16e[_0xd763a7(0x149)]},..._0x36f16e['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x1b6ed4)}});}function buildLookupCommand(_0x586158){const _0x2ced67=a113_0x4886b0,_0x1ff1f9='\x27'+_0x586158[_0x2ced67(0x11c)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x2ced67(0x126)+_0x1ff1f9+'\x20--format\x20compress';}
@@ -1 +1 @@
1
- const a114_0x5f460d=a114_0x3f7c;function a114_0x2643(){const _0x414e80=['\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','folder','path','738uowJSE','\x20unexpectedly\x20owns\x20a\x20page.','38124gtkVHU','hash','visible','failed','3079860yXvcog','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','pageId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','stringify','POST','Would\x20create\x20empty\x20folder\x20\x22','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Folder\x20','label','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Created\x20folder\x20','flagMissing','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','after','/smartapi/menu/create','parent-id','trim','rabetbase\x20menu\x20list\x20--format\x20json','792460EQMLDJ','create-response-validation','38053lRcHUz','35cBCPew','childrenCount','verification','3055344ZgvJrQ','\x20has\x20an\x20unexpected\x20label.','Folder\x20label','\x20has\x20an\x20unexpected\x20sort.','parentId','resources','menu_create_response_invalid','group-create','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','5233176igQPig','appCode','sort','\x20is\x20not\x20empty.','root','\x20is\x20missing\x20from\x20menu\x20list.','verify\x20folder\x20creation','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','str','cookie','Created\x20menu\x20folder\x20','685QihtON','write','\x20may\x20exist\x20online\x20at\x20path\x20','1246144EmbpqE','depth','string','type','get','create','\x22\x20with\x20a\x20platform-generated\x20path.','create-folder','\x20has\x20resources.','\x20is\x20not\x20type\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','byId','create\x20folder'];a114_0x2643=function(){return _0x414e80;};return a114_0x2643();}(function(_0x4eb522,_0x3883f3){const _0xa7fd8c=a114_0x3f7c,_0x5adef4=_0x4eb522();while(!![]){try{const _0x293308=-parseInt(_0xa7fd8c(0x13a))/0x1+-parseInt(_0xa7fd8c(0x125))/0x2+-parseInt(_0xa7fd8c(0x13e))/0x3+-parseInt(_0xa7fd8c(0x101))/0x4+parseInt(_0xa7fd8c(0x10c))/0x5*(-parseInt(_0xa7fd8c(0x121))/0x6)+-parseInt(_0xa7fd8c(0x13b))/0x7*(parseInt(_0xa7fd8c(0x10f))/0x8)+parseInt(_0xa7fd8c(0x11f))/0x9*(parseInt(_0xa7fd8c(0x138))/0xa);if(_0x293308===_0x3883f3)break;else _0x5adef4['push'](_0x5adef4['shift']());}catch(_0x25c3f3){_0x5adef4['push'](_0x5adef4['shift']());}}}(a114_0x2643,0xe67ed));function a114_0x3f7c(_0x11c234,_0x5166ec){_0x11c234=_0x11c234-0xfa;const _0x26435e=a114_0x2643();let _0x3f7c88=_0x26435e[_0x11c234];return _0x3f7c88;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x5f460d(0x12a),'path':a114_0x5f460d(0x134)}];export const menuGroupCreate={'service':'menu','command':a114_0x5f460d(0xff),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x5f460d(0x10d),'structuredErrors':!![],'flags':[{'name':a114_0x5f460d(0x12e),'type':a114_0x5f460d(0x111),'required':!![],'description':a114_0x5f460d(0xfa)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x30d341){validateCreateInput(_0x30d341);},async 'dryRun'(_0x131341){const _0x26a4fe=a114_0x5f460d,_0x20267f=await buildCreatePlan(_0x131341,!![]),_0x5c0d5e=_0x20267f['after'];return menuDryRunResult(_0x20267f,{'method':_0x26a4fe(0x12a),'url':_0x26a4fe(0x134),'body':{'parentId':toApiParentId(_0x5c0d5e[_0x26a4fe(0xfc)]),'label':_0x5c0d5e[_0x26a4fe(0x12e)],'type':_0x26a4fe(0x11d),'visible':!![],'sort':_0x5c0d5e[_0x26a4fe(0x103)],'extend':{}},'description':_0x26a4fe(0x12b)+String(_0x5c0d5e[_0x26a4fe(0x12e)])+_0x26a4fe(0x115)});},async 'execute'(_0x902740){const _0x7ac15c=a114_0x5f460d;validateCreateInput(_0x902740);const _0x2d009a=await buildCreatePlan(_0x902740,![]),_0x21ca1a=_0x2d009a[_0x7ac15c(0x133)];await recheckMutationSnapshot(_0x902740,_0x2d009a,_0x7ac15c(0x11b));let _0x2811d6;try{_0x2811d6=await createMenuEntity(_0x902740[_0x7ac15c(0x102)],_0x902740['cookie'],{'parentId':toApiParentId(_0x21ca1a[_0x7ac15c(0xfc)]),'label':String(_0x21ca1a[_0x7ac15c(0x12e)]),'type':_0x7ac15c(0x11d),'visible':!![],'sort':Number(_0x21ca1a['sort']),'extend':{}});}catch(_0x2589ca){const _0x3bc3d8=mapMenuApiError(_0x2589ca,'create\x20folder');throw menuFailure(_0x3bc3d8,_0x2d009a,{'stage':_0x7ac15c(0x114),'failed':{}});}const _0x520e74=Number(_0x2811d6['id']);if(!Number['isSafeInteger'](_0x520e74)||_0x520e74<=0x0){const _0x2c7399=menuError(_0x7ac15c(0xfe),_0x7ac15c(0x12f),_0x7ac15c(0x119));throw menuFailure(_0x2c7399,_0x2d009a,{'stage':'create-response-validation','failed':{'createdId':_0x2811d6['id']??null},'warnings':[_0x7ac15c(0x126)],'verification':{'status':_0x7ac15c(0x124),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1f620c=typeof _0x2811d6[_0x7ac15c(0x11e)]===_0x7ac15c(0x111)?_0x2811d6['path']:'';if(!_0x1f620c[_0x7ac15c(0x136)]()){const _0x23b2d5=menuError(_0x7ac15c(0xfe),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x520e74+_0x7ac15c(0x11c),_0x7ac15c(0x100));throw menuFailure(_0x23b2d5,_0x2d009a,{'stage':_0x7ac15c(0x139),'succeeded':[{'id':_0x520e74,'created':!![]}],'failed':{'id':_0x520e74,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x520e74+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x520e74}});}let _0x248ca8;try{_0x248ca8=await fetchMenuSnapshot(_0x902740[_0x7ac15c(0x102)],_0x902740[_0x7ac15c(0x10a)]);}catch(_0xad58fb){const _0x15bb84=describeMenuErrorCause(_0xad58fb,'verify\x20folder\x20creation',_0x520e74),_0x1c6f6f=asVerificationError(_0xad58fb,_0x7ac15c(0x12d)+_0x520e74+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x1c6f6f,_0x2d009a,{'stage':_0x7ac15c(0x13d),'succeeded':[{'id':_0x520e74,'created':!![],'path':_0x1f620c}],'failed':{'id':_0x520e74,'finalFactsConfirmed':![],..._0x15bb84},'warnings':[_0x7ac15c(0x12d)+_0x520e74+_0x7ac15c(0x10e)+JSON[_0x7ac15c(0x129)](_0x1f620c)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':_0x7ac15c(0x137),'targetId':_0x520e74}});}const _0x37d298=_0x248ca8[_0x7ac15c(0x11a)][_0x7ac15c(0x113)](_0x520e74);let _0x288bd8;try{assertVerified(Boolean(_0x37d298),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x106)),_0x288bd8=_0x37d298,assertVerified(_0x288bd8[_0x7ac15c(0x112)]===_0x7ac15c(0x11d),'Created\x20menu\x20'+_0x520e74+_0x7ac15c(0x118)),assertVerified(_0x288bd8['label']===_0x21ca1a['label'],_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x13f)),assertVerified(_0x288bd8[_0x7ac15c(0x11e)]===_0x1f620c&&Boolean(_0x288bd8['path'][_0x7ac15c(0x136)]()),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x108)),assertVerified(_0x288bd8[_0x7ac15c(0x123)]===!![],_0x7ac15c(0x130)+_0x520e74+'\x20is\x20not\x20visible.'),assertVerified(_0x288bd8[_0x7ac15c(0xfd)]['length']===0x0,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x117)),assertVerified(_0x288bd8[_0x7ac15c(0x13c)]===0x0,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x104)),assertVerified(_0x288bd8['sort']===_0x21ca1a[_0x7ac15c(0x103)],_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0xfb)),assertVerified(_0x288bd8[_0x7ac15c(0xfc)]===_0x21ca1a[_0x7ac15c(0xfc)],'Created\x20folder\x20'+_0x520e74+'\x20has\x20unexpected\x20parent\x20'+(_0x288bd8[_0x7ac15c(0xfc)]??_0x7ac15c(0x105))+'.'),assertVerified(_0x288bd8[_0x7ac15c(0x127)]==null,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x120));const _0x21eaf0=_0x288bd8[_0x7ac15c(0xfc)]==null?undefined:requireFolder(_0x248ca8,_0x288bd8[_0x7ac15c(0xfc)]);assertVerified(_0x288bd8['depth']===(_0x21eaf0?_0x21eaf0[_0x7ac15c(0x110)]+0x1:0x0),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x128));}catch(_0x39cd3c){const _0x249159=describeMenuErrorCause(_0x39cd3c,_0x7ac15c(0x107),_0x520e74),_0x403eb9=asVerificationError(_0x39cd3c,_0x7ac15c(0x12d)+_0x520e74+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x403eb9,_0x2d009a,{'stage':_0x7ac15c(0x13d),'succeeded':[{'id':_0x520e74,'created':!![],'path':_0x1f620c}],'failed':{'id':_0x520e74,'finalFactsConfirmed':![],..._0x249159},'warnings':[_0x7ac15c(0x12d)+_0x520e74+_0x7ac15c(0x132)],'after':_0x37d298??{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':_0x7ac15c(0x137),'targetId':_0x520e74}});}const _0x49f015=mutationResult({..._0x2d009a,'after':_0x288bd8,'dryRun':![],'succeeded':[{'id':_0x520e74,'type':_0x7ac15c(0x11d),'path':_0x1f620c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x248ca8[_0x7ac15c(0x122)],'folder':!![],'path':_0x1f620c,'emptyResources':!![]}});return{'ok':!![],'data':_0x49f015,'message':_0x7ac15c(0x10b)+_0x520e74+'.'};}};function validateCreateInput(_0x145bb0){const _0x164096=a114_0x5f460d,_0x4210a6=_0x145bb0['str'](_0x164096(0x12e))[_0x164096(0x136)]();if(!_0x4210a6)throw CliErrors[_0x164096(0x131)](_0x164096(0x12e));parseParentId(_0x145bb0,_0x164096(0x135)),validateSort(_0x145bb0);}async function buildCreatePlan(_0x2345b7,_0x3cff50){const _0x1a4388=a114_0x5f460d,_0x2ab7d7=await fetchMutationSnapshot(_0x2345b7,_0x1a4388(0x11b)),_0x39e93f=parseParentId(_0x2345b7,'parent-id')??null;if(_0x39e93f!=null)requireFolder(_0x2ab7d7,_0x39e93f);const _0x4c60fa=validateSort(_0x2345b7),_0x26c8e4=_0x4c60fa??nextSiblingSort(_0x2ab7d7,_0x39e93f,_0x1a4388(0x11d)),_0x254486=_0x2345b7[_0x1a4388(0x109)](_0x1a4388(0x12e))[_0x1a4388(0x136)]();return mutationResult({'operation':_0x1a4388(0xff),'selector':{'label':_0x254486,'parentId':_0x39e93f},'before':null,'after':{'id':null,'parentId':_0x39e93f,'label':_0x254486,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x26c8e4,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x3cff50,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1a4388(0x116),'method':_0x1a4388(0x12a),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x39e93f),'label':_0x254486,'type':_0x1a4388(0x11d),'visible':!![],'sort':_0x26c8e4,'extend':{}}}],'snapshotHash':_0x2ab7d7[_0x1a4388(0x122)],'warnings':[_0x1a4388(0x12c)]});}
1
+ const a114_0x333ff3=a114_0x1f76;(function(_0x455ca7,_0x3cc302){const _0x24846b=a114_0x1f76,_0x2ba77c=_0x455ca7();while(!![]){try{const _0x4f2282=-parseInt(_0x24846b(0x16c))/0x1*(-parseInt(_0x24846b(0x172))/0x2)+-parseInt(_0x24846b(0x156))/0x3*(-parseInt(_0x24846b(0x12a))/0x4)+-parseInt(_0x24846b(0x15d))/0x5*(parseInt(_0x24846b(0x15a))/0x6)+parseInt(_0x24846b(0x14e))/0x7*(-parseInt(_0x24846b(0x170))/0x8)+parseInt(_0x24846b(0x171))/0x9+parseInt(_0x24846b(0x12e))/0xa*(parseInt(_0x24846b(0x162))/0xb)+parseInt(_0x24846b(0x15f))/0xc*(parseInt(_0x24846b(0x15b))/0xd);if(_0x4f2282===_0x3cc302)break;else _0x2ba77c['push'](_0x2ba77c['shift']());}catch(_0x18a029){_0x2ba77c['push'](_0x2ba77c['shift']());}}}(a114_0x16ca,0xc0f48));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a114_0x1f76(_0x417d3e,_0xac2ae3){_0x417d3e=_0x417d3e-0x129;const _0x16cac1=a114_0x16ca();let _0x1f76a0=_0x16cac1[_0x417d3e];return _0x1f76a0;}const BACKEND=[{'method':a114_0x333ff3(0x166),'path':a114_0x333ff3(0x153)}];export const menuGroupCreate={'service':a114_0x333ff3(0x165),'command':a114_0x333ff3(0x13b),'description':a114_0x333ff3(0x129),'risk':a114_0x333ff3(0x130),'structuredErrors':!![],'flags':[{'name':a114_0x333ff3(0x152),'type':a114_0x333ff3(0x160),'required':!![],'description':a114_0x333ff3(0x143)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x10b260){validateCreateInput(_0x10b260);},async 'dryRun'(_0x4be8ed){const _0x4d7aaf=a114_0x333ff3,_0x321b22=await buildCreatePlan(_0x4be8ed,!![]),_0xb21849=_0x321b22['after'];return menuDryRunResult(_0x321b22,{'method':'POST','url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0xb21849[_0x4d7aaf(0x16e)]),'label':_0xb21849[_0x4d7aaf(0x152)],'type':_0x4d7aaf(0x140),'visible':!![],'sort':_0xb21849[_0x4d7aaf(0x150)],'extend':{}},'description':_0x4d7aaf(0x13f)+String(_0xb21849[_0x4d7aaf(0x152)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x2dedb8){const _0x38e3d5=a114_0x333ff3;validateCreateInput(_0x2dedb8);const _0x1937ab=await buildCreatePlan(_0x2dedb8,![]),_0x24d37e=_0x1937ab[_0x38e3d5(0x136)];await recheckMutationSnapshot(_0x2dedb8,_0x1937ab,_0x38e3d5(0x145));let _0x18679b;try{_0x18679b=await createMenuEntity(_0x2dedb8[_0x38e3d5(0x142)],_0x2dedb8['cookie'],{'parentId':toApiParentId(_0x24d37e[_0x38e3d5(0x16e)]),'label':String(_0x24d37e[_0x38e3d5(0x152)]),'type':_0x38e3d5(0x140),'visible':!![],'sort':Number(_0x24d37e[_0x38e3d5(0x150)]),'extend':{}});}catch(_0x44257a){const _0x4f837f=mapMenuApiError(_0x44257a,_0x38e3d5(0x145));throw menuFailure(_0x4f837f,_0x1937ab,{'stage':_0x38e3d5(0x12c),'failed':{}});}const _0x4bb79a=Number(_0x18679b['id']);if(!Number[_0x38e3d5(0x132)](_0x4bb79a)||_0x4bb79a<=0x0){const _0x4b108e=menuError(_0x38e3d5(0x146),_0x38e3d5(0x134),_0x38e3d5(0x16f));throw menuFailure(_0x4b108e,_0x1937ab,{'stage':_0x38e3d5(0x16d),'failed':{'createdId':_0x18679b['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':'failed','lookupCommand':_0x38e3d5(0x154)}});}const _0x331700=typeof _0x18679b[_0x38e3d5(0x14f)]==='string'?_0x18679b[_0x38e3d5(0x14f)]:'';if(!_0x331700[_0x38e3d5(0x13e)]()){const _0x4afe74=menuError(_0x38e3d5(0x146),_0x38e3d5(0x138)+_0x4bb79a+_0x38e3d5(0x159),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x4afe74,_0x1937ab,{'stage':'create-response-validation','succeeded':[{'id':_0x4bb79a,'created':!![]}],'failed':{'id':_0x4bb79a,'generatedPathConfirmed':![]},'warnings':[_0x38e3d5(0x135)+_0x4bb79a+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x24d37e,'id':_0x4bb79a,'path':_0x331700},'verification':{'status':_0x38e3d5(0x163),'lookupCommand':_0x38e3d5(0x154),'targetId':_0x4bb79a}});}let _0x3b063d;try{_0x3b063d=await fetchMenuSnapshot(_0x2dedb8[_0x38e3d5(0x142)],_0x2dedb8['cookie']);}catch(_0xc85238){const _0x5e13bb=describeMenuErrorCause(_0xc85238,_0x38e3d5(0x14a),_0x4bb79a),_0x20bda5=asVerificationError(_0xc85238,_0x38e3d5(0x135)+_0x4bb79a+_0x38e3d5(0x16b));throw menuFailure(_0x20bda5,_0x1937ab,{'stage':_0x38e3d5(0x147),'succeeded':[{'id':_0x4bb79a,'created':!![],'path':_0x331700}],'failed':{'id':_0x4bb79a,'finalFactsConfirmed':![],..._0x5e13bb},'warnings':['Folder\x20'+_0x4bb79a+_0x38e3d5(0x13d)+JSON[_0x38e3d5(0x167)](_0x331700)+_0x38e3d5(0x161)],'after':{..._0x24d37e,'id':_0x4bb79a,'path':_0x331700},'verification':{'status':_0x38e3d5(0x163),'lookupCommand':_0x38e3d5(0x154),'targetId':_0x4bb79a}});}const _0x59e36a=_0x3b063d[_0x38e3d5(0x173)]['get'](_0x4bb79a);let _0x731ef9;try{assertVerified(Boolean(_0x59e36a),_0x38e3d5(0x158)+_0x4bb79a+_0x38e3d5(0x139)),_0x731ef9=_0x59e36a,assertVerified(_0x731ef9[_0x38e3d5(0x151)]==='folder',_0x38e3d5(0x16a)+_0x4bb79a+_0x38e3d5(0x14b)),assertVerified(_0x731ef9['label']===_0x24d37e[_0x38e3d5(0x152)],'Created\x20folder\x20'+_0x4bb79a+_0x38e3d5(0x149)),assertVerified(_0x731ef9[_0x38e3d5(0x14f)]===_0x331700&&Boolean(_0x731ef9[_0x38e3d5(0x14f)][_0x38e3d5(0x13e)]()),_0x38e3d5(0x158)+_0x4bb79a+_0x38e3d5(0x131)),assertVerified(_0x731ef9[_0x38e3d5(0x12b)]===!![],_0x38e3d5(0x158)+_0x4bb79a+'\x20is\x20not\x20visible.'),assertVerified(_0x731ef9[_0x38e3d5(0x137)][_0x38e3d5(0x157)]===0x0,_0x38e3d5(0x158)+_0x4bb79a+'\x20has\x20resources.'),assertVerified(_0x731ef9[_0x38e3d5(0x12f)]===0x0,_0x38e3d5(0x158)+_0x4bb79a+'\x20is\x20not\x20empty.'),assertVerified(_0x731ef9[_0x38e3d5(0x150)]===_0x24d37e[_0x38e3d5(0x150)],_0x38e3d5(0x158)+_0x4bb79a+_0x38e3d5(0x169)),assertVerified(_0x731ef9['parentId']===_0x24d37e[_0x38e3d5(0x16e)],_0x38e3d5(0x158)+_0x4bb79a+'\x20has\x20unexpected\x20parent\x20'+(_0x731ef9['parentId']??_0x38e3d5(0x155))+'.'),assertVerified(_0x731ef9['pageId']==null,_0x38e3d5(0x158)+_0x4bb79a+_0x38e3d5(0x164));const _0x46ce06=_0x731ef9['parentId']==null?undefined:requireFolder(_0x3b063d,_0x731ef9[_0x38e3d5(0x16e)]);assertVerified(_0x731ef9[_0x38e3d5(0x15c)]===(_0x46ce06?_0x46ce06[_0x38e3d5(0x15c)]+0x1:0x0),'Created\x20folder\x20'+_0x4bb79a+_0x38e3d5(0x12d));}catch(_0x578854){const _0x42ba02=describeMenuErrorCause(_0x578854,_0x38e3d5(0x14a),_0x4bb79a),_0x453f13=asVerificationError(_0x578854,_0x38e3d5(0x135)+_0x4bb79a+_0x38e3d5(0x148));throw menuFailure(_0x453f13,_0x1937ab,{'stage':_0x38e3d5(0x147),'succeeded':[{'id':_0x4bb79a,'created':!![],'path':_0x331700}],'failed':{'id':_0x4bb79a,'finalFactsConfirmed':![],..._0x42ba02},'warnings':[_0x38e3d5(0x135)+_0x4bb79a+_0x38e3d5(0x15e)],'after':_0x59e36a??{..._0x24d37e,'id':_0x4bb79a,'path':_0x331700},'verification':{'status':'failed','lookupCommand':_0x38e3d5(0x154),'targetId':_0x4bb79a}});}const _0x5f1562=mutationResult({..._0x1937ab,'after':_0x731ef9,'dryRun':![],'succeeded':[{'id':_0x4bb79a,'type':'folder','path':_0x331700}],'verification':{'checkedBy':_0x38e3d5(0x168),'snapshotHash':_0x3b063d['hash'],'folder':!![],'path':_0x331700,'emptyResources':!![]}});return{'ok':!![],'data':_0x5f1562,'message':_0x38e3d5(0x13a)+_0x4bb79a+'.'};}};function validateCreateInput(_0x2470f3){const _0x342ba3=a114_0x333ff3,_0x5139d1=_0x2470f3[_0x342ba3(0x141)](_0x342ba3(0x152))['trim']();if(!_0x5139d1)throw CliErrors['flagMissing'](_0x342ba3(0x152));parseParentId(_0x2470f3,_0x342ba3(0x133)),validateSort(_0x2470f3);}async function buildCreatePlan(_0x2674c3,_0x24daad){const _0x983393=a114_0x333ff3,_0x4db371=await fetchMutationSnapshot(_0x2674c3,_0x983393(0x145)),_0x286bc2=parseParentId(_0x2674c3,_0x983393(0x133))??null;if(_0x286bc2!=null)requireFolder(_0x4db371,_0x286bc2);const _0x5b8b96=validateSort(_0x2674c3),_0x1760c9=_0x5b8b96??nextSiblingSort(_0x4db371,_0x286bc2,_0x983393(0x140)),_0x28ea8a=_0x2674c3[_0x983393(0x141)](_0x983393(0x152))[_0x983393(0x13e)]();return mutationResult({'operation':_0x983393(0x13b),'selector':{'label':_0x28ea8a,'parentId':_0x286bc2},'before':null,'after':{'id':null,'parentId':_0x286bc2,'label':_0x28ea8a,'path':_0x983393(0x144),'type':_0x983393(0x140),'visible':!![],'sort':_0x1760c9,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x24daad,'backend':[...BACKEND],'plannedActions':[{'stage':_0x983393(0x13c),'method':_0x983393(0x166),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x286bc2),'label':_0x28ea8a,'type':'folder','visible':!![],'sort':_0x1760c9,'extend':{}}}],'snapshotHash':_0x4db371[_0x983393(0x14d)],'warnings':[_0x983393(0x14c)]});}function a114_0x16ca(){const _0x2d984f=['Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','231128bEOFvt','595764IrkQXW','128olrSVs','byId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','4368164ZoXPHZ','visible','create','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','161640jHsinx','childrenCount','write','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','isSafeInteger','parent-id','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Folder\x20','after','resources','Menu\x20create\x20response\x20for\x20folder\x20','\x20is\x20missing\x20from\x20menu\x20list.','Created\x20menu\x20folder\x20','group-create','create-folder','\x20may\x20exist\x20online\x20at\x20path\x20','trim','Would\x20create\x20empty\x20folder\x20\x22','folder','str','appCode','Folder\x20label','<platform-generated>','create\x20folder','menu_create_response_invalid','verification','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20has\x20an\x20unexpected\x20label.','verify\x20folder\x20creation','\x20is\x20not\x20type\x20folder.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','hash','147BtHKHs','path','sort','type','label','/smartapi/menu/create','rabetbase\x20menu\x20list\x20--format\x20json','root','3hfFSAP','length','Created\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','6vnpMhK','13XzVFmR','depth','1239855WkVVeF','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','331020rEJWOM','string',';\x20verify\x20it\x20before\x20retrying.','99lqHLLl','failed','\x20unexpectedly\x20owns\x20a\x20page.','menu','POST','stringify','menu\x20list','\x20has\x20an\x20unexpected\x20sort.','Created\x20menu\x20','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','4902gptdTR','create-response-validation','parentId'];a114_0x16ca=function(){return _0x2d984f;};return a114_0x16ca();}
@@ -1 +1 @@
1
- const a115_0x4f3403=a115_0x31ea;(function(_0x390f68,_0x2bafbc){const _0x8369bc=a115_0x31ea,_0x437d17=_0x390f68();while(!![]){try{const _0x5f470d=-parseInt(_0x8369bc(0x1a4))/0x1*(parseInt(_0x8369bc(0x19c))/0x2)+parseInt(_0x8369bc(0x1a5))/0x3*(-parseInt(_0x8369bc(0x19e))/0x4)+parseInt(_0x8369bc(0x1b8))/0x5+parseInt(_0x8369bc(0x1c5))/0x6+parseInt(_0x8369bc(0x19d))/0x7+parseInt(_0x8369bc(0x1b9))/0x8*(parseInt(_0x8369bc(0x1ca))/0x9)+parseInt(_0x8369bc(0x1ba))/0xa*(-parseInt(_0x8369bc(0x1b4))/0xb);if(_0x5f470d===_0x2bafbc)break;else _0x437d17['push'](_0x437d17['shift']());}catch(_0x4ec51b){_0x437d17['push'](_0x437d17['shift']());}}}(a115_0xa2e5,0x9c896));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a115_0xa2e5(){const _0x15d694=['7728833rTqRbk','8HGBZPL','menu','\x20sort\x20update\x20did\x20not\x20take\x20effect.','rabetbase\x20menu\x20list\x20--format\x20json','verify\x20folder\x20update','sort','84361mUWwZo','1259889eLbtuJ','parent-id','str','\x20already\x20matches\x20the\x20requested\x20state.','selector','Updated\x20folder\x20','write','validation','trim','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','parentId','unknown','type','\x20is\x20no\x20longer\x20type\x20folder.','label','591019EiHlRU','--label\x20cannot\x20be\x20empty.','No\x20online\x20fields\x20would\x20change.','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','3920105XIfbXt','54688ymyYli','120XbDraP','Would\x20update\x20folder\x20','string','Menu\x20','appCode','folder','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','POST','group-update','cookie','New\x20folder\x20label','102480tlEZLM','update\x20folder','menu\x20list','Folder\x20','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','1179RpHeTx','16cTFvRS'];a115_0xa2e5=function(){return _0x15d694;};return a115_0xa2e5();}const BACKEND=[{'method':a115_0x4f3403(0x1c1),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0x4f3403(0x19f),'command':a115_0x4f3403(0x1c2),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a115_0x4f3403(0x1ab),'structuredErrors':!![],'rejectedFlags':[{'name':a115_0x4f3403(0x1a6),'message':a115_0x4f3403(0x1ae),'hint':a115_0x4f3403(0x1b7)}],'flags':[MENU_ID_FLAG,{'name':a115_0x4f3403(0x1b3),'type':a115_0x4f3403(0x1bc),'description':a115_0x4f3403(0x1c4)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x45a322){validateUpdateInput(_0x45a322);},async 'dryRun'(_0x35acfe){const _0x157655=a115_0x4f3403;validateUpdateInput(_0x35acfe);const {plan:_0x160721,patch:_0x1fdacb}=await buildUpdatePlan(_0x35acfe,!![]);return menuDryRunResult(_0x160721,{'method':_0x157655(0x1c1),'url':'/smartapi/menu/update','body':_0x1fdacb,'description':_0x157655(0x1bb)+_0x160721[_0x157655(0x1a9)]['id']+'.'});},async 'execute'(_0x293ce1){const _0x19c380=a115_0x4f3403;validateUpdateInput(_0x293ce1);const {plan:_0x492686,patch:_0x47baa6,noChanges:_0x2978cb}=await buildUpdatePlan(_0x293ce1,![]),_0x2610e3=Number(_0x492686[_0x19c380(0x1a9)]['id']),_0x18dd4b=await recheckMutationSnapshot(_0x293ce1,_0x492686,_0x19c380(0x1c6),_0x2610e3);if(!_0x2978cb)try{await updateMenuEntity(_0x293ce1[_0x19c380(0x1be)],_0x293ce1[_0x19c380(0x1c3)],_0x47baa6);}catch(_0x4d34b5){const _0x569241=mapMenuApiError(_0x4d34b5,_0x19c380(0x1c6),_0x2610e3);throw menuFailure(_0x569241,_0x492686,{'stage':'update','failed':{'id':_0x2610e3}});}let _0x264b33=_0x18dd4b,_0x278eb1;try{!_0x2978cb&&(_0x264b33=await fetchMenuSnapshot(_0x293ce1[_0x19c380(0x1be)],_0x293ce1[_0x19c380(0x1c3)])),_0x278eb1=requireMenu(_0x264b33,_0x2610e3),verifyPatch(_0x278eb1,_0x47baa6),_0x278eb1[_0x19c380(0x1af)]!=null&&requireFolder(_0x264b33,_0x278eb1[_0x19c380(0x1af)]);}catch(_0x27affb){const _0xac8488=describeMenuErrorCause(_0x27affb,_0x19c380(0x1a2),_0x2610e3),_0x17265a=asVerificationError(_0x27affb,'Update\x20request\x20for\x20folder\x20'+_0x2610e3+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x17265a,_0x492686,{'stage':'verification','succeeded':[{'id':_0x2610e3,'updateRequested':!_0x2978cb,'skipped':_0x2978cb}],'failed':{'id':_0x2610e3,'requestedStateConfirmed':![],..._0xac8488},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x19c380(0x1a1),'targetId':_0x2610e3}});}const _0x2a8262=mutationResult({..._0x492686,'after':_0x278eb1,'dryRun':![],'succeeded':[{'id':_0x2610e3,'updated':!_0x2978cb,'skipped':_0x2978cb}],'verification':{'checkedBy':_0x19c380(0x1c7),'snapshotHash':_0x264b33['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a8262,'message':_0x2978cb?'Folder\x20'+_0x2610e3+_0x19c380(0x1a8):_0x19c380(0x1aa)+_0x2610e3+'.'};}};function validateUpdateInput(_0x1d7511){const _0x1a26bf=a115_0x4f3403;validateExactId(_0x1d7511);if(hasFlag(_0x1d7511,_0x1a26bf(0x1a6)))throw CliErrors['validation'](_0x1a26bf(0x1ae),_0x1a26bf(0x1b7));if(!hasFlag(_0x1d7511,_0x1a26bf(0x1b3))&&!hasFlag(_0x1d7511,_0x1a26bf(0x1a3)))throw CliErrors[_0x1a26bf(0x1ac)](_0x1a26bf(0x1c9));if(hasFlag(_0x1d7511,_0x1a26bf(0x1b3))&&!_0x1d7511[_0x1a26bf(0x1a7)](_0x1a26bf(0x1b3))[_0x1a26bf(0x1ad)]())throw CliErrors[_0x1a26bf(0x1ac)](_0x1a26bf(0x1b5));validateSort(_0x1d7511);}function a115_0x31ea(_0x46c809,_0x4369a4){_0x46c809=_0x46c809-0x19c;const _0xa2e534=a115_0xa2e5();let _0x31eadc=_0xa2e534[_0x46c809];return _0x31eadc;}async function buildUpdatePlan(_0x2b1d37,_0xda3cf5){const _0x593fe5=a115_0x4f3403,_0x15000c=validateExactId(_0x2b1d37),_0x316549=await fetchMutationSnapshot(_0x2b1d37,_0x593fe5(0x1c6),_0x15000c),_0x2e76a6=requireMenu(_0x316549,_0x15000c);if(_0x2e76a6[_0x593fe5(0x1b1)]!==_0x593fe5(0x1bf))throw menuError('menu_not_folder','Menu\x20'+_0x15000c+'\x20is\x20type\x20\x22'+(_0x2e76a6[_0x593fe5(0x1b1)]||_0x593fe5(0x1b0))+'\x22,\x20not\x20folder.',_0x593fe5(0x1c0));assertExpectedState(_0x2b1d37,_0x2e76a6);const _0x284b0e={'id':_0x15000c},_0x2f6817={..._0x2e76a6};if(hasFlag(_0x2b1d37,_0x593fe5(0x1b3))){const _0x5116f1=_0x2b1d37[_0x593fe5(0x1a7)](_0x593fe5(0x1b3))[_0x593fe5(0x1ad)]();_0x284b0e[_0x593fe5(0x1b3)]=_0x5116f1,_0x2f6817['label']=_0x5116f1;}if(hasFlag(_0x2b1d37,_0x593fe5(0x1a3))){const _0x390442=validateSort(_0x2b1d37);_0x284b0e[_0x593fe5(0x1a3)]=_0x390442,_0x2f6817[_0x593fe5(0x1a3)]=_0x390442;}const _0x4a8eb6=sameRequestedState(_0x2e76a6,_0x2f6817),_0x1fa2b4=_0x4a8eb6?[_0x593fe5(0x1b6)]:[];return{'patch':_0x284b0e,'noChanges':_0x4a8eb6,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x15000c},'before':_0x2e76a6,'after':_0x2f6817,'dryRun':_0xda3cf5,'backend':[...BACKEND],'snapshotHash':_0x316549['hash'],'warnings':_0x1fa2b4})};}function sameRequestedState(_0x25ca0d,_0xe9d772){const _0x2d3537=a115_0x4f3403;return _0x25ca0d['label']===_0xe9d772[_0x2d3537(0x1b3)]&&_0x25ca0d[_0x2d3537(0x1a3)]===_0xe9d772[_0x2d3537(0x1a3)];}function verifyPatch(_0x3ce417,_0x255182){const _0x2e2a6d=a115_0x4f3403;assertVerified(_0x3ce417[_0x2e2a6d(0x1b1)]===_0x2e2a6d(0x1bf),_0x2e2a6d(0x1bd)+_0x3ce417['id']+_0x2e2a6d(0x1b2)),_0x255182[_0x2e2a6d(0x1b3)]!==undefined&&assertVerified(_0x3ce417[_0x2e2a6d(0x1b3)]===_0x255182[_0x2e2a6d(0x1b3)],_0x2e2a6d(0x1c8)+_0x3ce417['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x255182[_0x2e2a6d(0x1a3)]!==undefined&&assertVerified(_0x3ce417['sort']===_0x255182[_0x2e2a6d(0x1a3)],_0x2e2a6d(0x1c8)+_0x3ce417['id']+_0x2e2a6d(0x1a0));}
1
+ const a115_0x21c0ad=a115_0x4b59;function a115_0x2a95(){const _0x4bb9b9=['2337081rJxkPP','validation','menu\x20list','\x20is\x20no\x20longer\x20type\x20folder.','cookie','POST','Folder\x20','105592FVIlbD','226589ABtkEW','\x20already\x20matches\x20the\x20requested\x20state.','No\x20online\x20fields\x20would\x20change.','folder','label','531452PbfNcB','\x22,\x20not\x20folder.','type','str','rabetbase\x20menu\x20list\x20--format\x20json','group-update','\x20label\x20update\x20did\x20not\x20take\x20effect.','New\x20folder\x20label','Would\x20update\x20folder\x20','--label\x20cannot\x20be\x20empty.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','3820DkTHKl','trim','parentId','menu_not_folder','menu','30tpDXKL','Updated\x20folder\x20','1840hyoIAX','1359882Ddbdpy','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','Menu\x20','write','selector','sort','\x20is\x20type\x20\x22','77qZMTEk','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','2sqIvCS','update\x20folder','hash','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','1308olHtDw','2764746sBeTKc','Update\x20request\x20for\x20folder\x20'];a115_0x2a95=function(){return _0x4bb9b9;};return a115_0x2a95();}function a115_0x4b59(_0x5eae71,_0xbcba76){_0x5eae71=_0x5eae71-0x116;const _0x2a9509=a115_0x2a95();let _0x4b595c=_0x2a9509[_0x5eae71];return _0x4b595c;}(function(_0x455851,_0x234a75){const _0x3bb7e4=a115_0x4b59,_0x5c5678=_0x455851();while(!![]){try{const _0x2002a9=-parseInt(_0x3bb7e4(0x131))/0x1+parseInt(_0x3bb7e4(0x11d))/0x2*(-parseInt(_0x3bb7e4(0x124))/0x3)+parseInt(_0x3bb7e4(0x144))/0x4*(-parseInt(_0x3bb7e4(0x13d))/0x5)+parseInt(_0x3bb7e4(0x122))/0x6+-parseInt(_0x3bb7e4(0x11a))/0x7*(parseInt(_0x3bb7e4(0x12b))/0x8)+-parseInt(_0x3bb7e4(0x145))/0x9*(parseInt(_0x3bb7e4(0x142))/0xa)+parseInt(_0x3bb7e4(0x12c))/0xb*(parseInt(_0x3bb7e4(0x121))/0xc);if(_0x2002a9===_0x234a75)break;else _0x5c5678['push'](_0x5c5678['shift']());}catch(_0x4ded30){_0x5c5678['push'](_0x5c5678['shift']());}}}(a115_0x2a95,0x6ccf0));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_0x21c0ad(0x129),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0x21c0ad(0x141),'command':a115_0x21c0ad(0x136),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a115_0x21c0ad(0x116),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a115_0x21c0ad(0x120),'hint':a115_0x21c0ad(0x11b)}],'flags':[MENU_ID_FLAG,{'name':a115_0x21c0ad(0x130),'type':'string','description':a115_0x21c0ad(0x138)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xd6a758){validateUpdateInput(_0xd6a758);},async 'dryRun'(_0x3351eb){const _0x10861b=a115_0x21c0ad;validateUpdateInput(_0x3351eb);const {plan:_0x2851da,patch:_0x161f28}=await buildUpdatePlan(_0x3351eb,!![]);return menuDryRunResult(_0x2851da,{'method':'POST','url':'/smartapi/menu/update','body':_0x161f28,'description':_0x10861b(0x139)+_0x2851da[_0x10861b(0x117)]['id']+'.'});},async 'execute'(_0x36bc8a){const _0x43a530=a115_0x21c0ad;validateUpdateInput(_0x36bc8a);const {plan:_0xa332b4,patch:_0x1a30c5,noChanges:_0x267991}=await buildUpdatePlan(_0x36bc8a,![]),_0x38b134=Number(_0xa332b4['selector']['id']),_0x4932f1=await recheckMutationSnapshot(_0x36bc8a,_0xa332b4,_0x43a530(0x11e),_0x38b134);if(!_0x267991)try{await updateMenuEntity(_0x36bc8a['appCode'],_0x36bc8a[_0x43a530(0x128)],_0x1a30c5);}catch(_0x54da61){const _0xe6b633=mapMenuApiError(_0x54da61,_0x43a530(0x11e),_0x38b134);throw menuFailure(_0xe6b633,_0xa332b4,{'stage':'update','failed':{'id':_0x38b134}});}let _0x194a4f=_0x4932f1,_0x27f122;try{!_0x267991&&(_0x194a4f=await fetchMenuSnapshot(_0x36bc8a['appCode'],_0x36bc8a[_0x43a530(0x128)])),_0x27f122=requireMenu(_0x194a4f,_0x38b134),verifyPatch(_0x27f122,_0x1a30c5),_0x27f122['parentId']!=null&&requireFolder(_0x194a4f,_0x27f122[_0x43a530(0x13f)]);}catch(_0x5f031c){const _0x34dd5a=describeMenuErrorCause(_0x5f031c,'verify\x20folder\x20update',_0x38b134),_0x79cdaa=asVerificationError(_0x5f031c,_0x43a530(0x123)+_0x38b134+_0x43a530(0x13b));throw menuFailure(_0x79cdaa,_0xa332b4,{'stage':'verification','succeeded':[{'id':_0x38b134,'updateRequested':!_0x267991,'skipped':_0x267991}],'failed':{'id':_0x38b134,'requestedStateConfirmed':![],..._0x34dd5a},'warnings':[_0x43a530(0x13c)],'verification':{'status':'failed','lookupCommand':_0x43a530(0x135),'targetId':_0x38b134}});}const _0x43863c=mutationResult({..._0xa332b4,'after':_0x27f122,'dryRun':![],'succeeded':[{'id':_0x38b134,'updated':!_0x267991,'skipped':_0x267991}],'verification':{'checkedBy':_0x43a530(0x126),'snapshotHash':_0x194a4f['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x43863c,'message':_0x267991?_0x43a530(0x12a)+_0x38b134+_0x43a530(0x12d):_0x43a530(0x143)+_0x38b134+'.'};}};function validateUpdateInput(_0x5500fc){const _0x372cc6=a115_0x21c0ad;validateExactId(_0x5500fc);if(hasFlag(_0x5500fc,'parent-id'))throw CliErrors['validation']('Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.',_0x372cc6(0x11b));if(!hasFlag(_0x5500fc,_0x372cc6(0x130))&&!hasFlag(_0x5500fc,_0x372cc6(0x118)))throw CliErrors[_0x372cc6(0x125)](_0x372cc6(0x146));if(hasFlag(_0x5500fc,_0x372cc6(0x130))&&!_0x5500fc[_0x372cc6(0x134)](_0x372cc6(0x130))[_0x372cc6(0x13e)]())throw CliErrors[_0x372cc6(0x125)](_0x372cc6(0x13a));validateSort(_0x5500fc);}async function buildUpdatePlan(_0x5b8464,_0x2c1920){const _0x233438=a115_0x21c0ad,_0x386763=validateExactId(_0x5b8464),_0x24319d=await fetchMutationSnapshot(_0x5b8464,_0x233438(0x11e),_0x386763),_0x53fcfd=requireMenu(_0x24319d,_0x386763);if(_0x53fcfd[_0x233438(0x133)]!==_0x233438(0x12f))throw menuError(_0x233438(0x140),_0x233438(0x148)+_0x386763+_0x233438(0x119)+(_0x53fcfd[_0x233438(0x133)]||'unknown')+_0x233438(0x132),_0x233438(0x11c));assertExpectedState(_0x5b8464,_0x53fcfd);const _0x478422={'id':_0x386763},_0x55230c={..._0x53fcfd};if(hasFlag(_0x5b8464,'label')){const _0x309d3a=_0x5b8464['str'](_0x233438(0x130))[_0x233438(0x13e)]();_0x478422[_0x233438(0x130)]=_0x309d3a,_0x55230c[_0x233438(0x130)]=_0x309d3a;}if(hasFlag(_0x5b8464,_0x233438(0x118))){const _0x3ce0ae=validateSort(_0x5b8464);_0x478422[_0x233438(0x118)]=_0x3ce0ae,_0x55230c[_0x233438(0x118)]=_0x3ce0ae;}const _0x29c7db=sameRequestedState(_0x53fcfd,_0x55230c),_0x3ffb65=_0x29c7db?[_0x233438(0x12e)]:[];return{'patch':_0x478422,'noChanges':_0x29c7db,'plan':mutationResult({'operation':_0x233438(0x136),'selector':{'id':_0x386763},'before':_0x53fcfd,'after':_0x55230c,'dryRun':_0x2c1920,'backend':[...BACKEND],'snapshotHash':_0x24319d[_0x233438(0x11f)],'warnings':_0x3ffb65})};}function sameRequestedState(_0x1f1449,_0x3bd5fa){const _0x410c6a=a115_0x21c0ad;return _0x1f1449[_0x410c6a(0x130)]===_0x3bd5fa[_0x410c6a(0x130)]&&_0x1f1449[_0x410c6a(0x118)]===_0x3bd5fa['sort'];}function verifyPatch(_0x565358,_0x5ab3dd){const _0x3ba5e3=a115_0x21c0ad;assertVerified(_0x565358['type']===_0x3ba5e3(0x12f),_0x3ba5e3(0x148)+_0x565358['id']+_0x3ba5e3(0x127)),_0x5ab3dd[_0x3ba5e3(0x130)]!==undefined&&assertVerified(_0x565358[_0x3ba5e3(0x130)]===_0x5ab3dd[_0x3ba5e3(0x130)],_0x3ba5e3(0x12a)+_0x565358['id']+_0x3ba5e3(0x137)),_0x5ab3dd[_0x3ba5e3(0x118)]!==undefined&&assertVerified(_0x565358[_0x3ba5e3(0x118)]===_0x5ab3dd['sort'],_0x3ba5e3(0x12a)+_0x565358['id']+_0x3ba5e3(0x147));}
@@ -1 +1 @@
1
- (function(_0x231405,_0x1dda38){const _0x4bcdf7=a116_0x4c2c,_0x5319bf=_0x231405();while(!![]){try{const _0x33e332=parseInt(_0x4bcdf7(0xf9))/0x1*(parseInt(_0x4bcdf7(0xf3))/0x2)+parseInt(_0x4bcdf7(0xfb))/0x3*(parseInt(_0x4bcdf7(0xf7))/0x4)+parseInt(_0x4bcdf7(0xfa))/0x5*(-parseInt(_0x4bcdf7(0xf5))/0x6)+-parseInt(_0x4bcdf7(0xf4))/0x7*(-parseInt(_0x4bcdf7(0xf6))/0x8)+-parseInt(_0x4bcdf7(0xfc))/0x9+parseInt(_0x4bcdf7(0xf8))/0xa+-parseInt(_0x4bcdf7(0xf2))/0xb;if(_0x33e332===_0x1dda38)break;else _0x5319bf['push'](_0x5319bf['shift']());}catch(_0x5181b4){_0x5319bf['push'](_0x5319bf['shift']());}}}(a116_0x38ae,0xf3b7a));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';function a116_0x4c2c(_0x5ab412,_0x49bf69){_0x5ab412=_0x5ab412-0xf2;const _0x38aebf=a116_0x38ae();let _0x4c2c77=_0x38aebf[_0x5ab412];return _0x4c2c77;}import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';function a116_0x38ae(){const _0x4aabe4=['45896ZTjmxk','14020vzMntH','4555550oalgTt','801489wSZOAO','2840dlpqyE','1383oCsSKg','6556536QvAGst','8060316VJxkNv','2rGKXGb','371jlRkBP','7578QGYNsK'];a116_0x38ae=function(){return _0x4aabe4;};return a116_0x38ae();}import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ (function(_0x4c269b,_0x517aac){const _0x385d82=a116_0x5bd2,_0x424881=_0x4c269b();while(!![]){try{const _0x3e8001=parseInt(_0x385d82(0x189))/0x1+parseInt(_0x385d82(0x186))/0x2*(parseInt(_0x385d82(0x185))/0x3)+parseInt(_0x385d82(0x18a))/0x4+-parseInt(_0x385d82(0x188))/0x5*(-parseInt(_0x385d82(0x18f))/0x6)+parseInt(_0x385d82(0x187))/0x7*(-parseInt(_0x385d82(0x18c))/0x8)+parseInt(_0x385d82(0x18b))/0x9*(parseInt(_0x385d82(0x18d))/0xa)+parseInt(_0x385d82(0x184))/0xb*(-parseInt(_0x385d82(0x18e))/0xc);if(_0x3e8001===_0x517aac)break;else _0x424881['push'](_0x424881['shift']());}catch(_0x26b0ab){_0x424881['push'](_0x424881['shift']());}}}(a116_0x16e5,0xdf2a0));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';function a116_0x5bd2(_0x53f7e4,_0x455c92){_0x53f7e4=_0x53f7e4-0x184;const _0x16e5e6=a116_0x16e5();let _0x5bd28f=_0x16e5e6[_0x53f7e4];return _0x5bd28f;}function a116_0x16e5(){const _0x3e5b51=['65862EGYmlF','8zHlGQx','2090WmXEKe','1232196bFnmLV','6wScUjE','220YnEGBq','3aWuCEl','185206jNEOqq','9808288LQzHIH','7106530XJDZdT','205768Avaoei','4479140vtdVEr'];a116_0x16e5=function(){return _0x3e5b51;};return a116_0x16e5();}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';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -1 +1 @@
1
- const a117_0x49bdd1=a117_0x1573;(function(_0x279ff8,_0x229573){const _0x45775e=a117_0x1573,_0x38ae23=_0x279ff8();while(!![]){try{const _0xd9b4ec=parseInt(_0x45775e(0xa3))/0x1*(-parseInt(_0x45775e(0xb2))/0x2)+parseInt(_0x45775e(0xb1))/0x3+parseInt(_0x45775e(0xa8))/0x4+parseInt(_0x45775e(0xa7))/0x5*(-parseInt(_0x45775e(0xac))/0x6)+parseInt(_0x45775e(0xae))/0x7*(parseInt(_0x45775e(0xa2))/0x8)+-parseInt(_0x45775e(0xa5))/0x9+parseInt(_0x45775e(0xb0))/0xa*(parseInt(_0x45775e(0xa6))/0xb);if(_0xd9b4ec===_0x229573)break;else _0x38ae23['push'](_0x38ae23['shift']());}catch(_0x58ae6c){_0x38ae23['push'](_0x38ae23['shift']());}}}(a117_0x3503,0x8343b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x1573(_0x3ba7d3,_0x3bf839){_0x3ba7d3=_0x3ba7d3-0x9d;const _0x35030f=a117_0x3503();let _0x1573c1=_0x35030f[_0x3ba7d3];return _0x1573c1;}export const menuList={'service':a117_0x49bdd1(0xa0),'command':'list','description':a117_0x49bdd1(0xa1),'risk':a117_0x49bdd1(0xa4),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x49bdd1(0x9e),'type':a117_0x49bdd1(0x9f),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x5a7970){const _0x2f6ffe=a117_0x49bdd1,_0x23884e=_0x5a7970[_0x2f6ffe(0xad)](_0x2f6ffe(0x9e)),_0x573311=await fetchMenuSnapshot(_0x5a7970['appCode'],_0x5a7970['cookie'],{'verbose':_0x23884e});return{'ok':!![],'data':{'total':_0x573311[_0x2f6ffe(0xaa)],'snapshotHash':_0x573311['hash'],'menus':_0x573311[_0x2f6ffe(0xa9)][_0x2f6ffe(0xaf)](toMenuListItem)},'message':_0x573311['total']===0x0?_0x2f6ffe(0x9d):'Found\x20'+_0x573311[_0x2f6ffe(0xaa)]+_0x2f6ffe(0xab)};}};function a117_0x3503(){const _0x3552dd=['menu','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','353264WVVUgU','190253Zjspbw','read','7206714DbFTFl','4389583LwaJhz','57955vlijAg','395712fjZaqh','menus','total','\x20menu(s)','24ZBupQT','bool','21vEpuek','map','50KyIUXL','328101sVlfpV','10YWyMFm','No\x20menus\x20found.','verbose','boolean'];a117_0x3503=function(){return _0x3552dd;};return a117_0x3503();}
1
+ const a117_0x7fdb09=a117_0x11a3;(function(_0x5cb93a,_0x4a506b){const _0x1103ab=a117_0x11a3,_0x2e266a=_0x5cb93a();while(!![]){try{const _0x17e7ee=-parseInt(_0x1103ab(0xba))/0x1*(parseInt(_0x1103ab(0xb7))/0x2)+-parseInt(_0x1103ab(0xb3))/0x3+parseInt(_0x1103ab(0xae))/0x4*(-parseInt(_0x1103ab(0xb6))/0x5)+parseInt(_0x1103ab(0xb5))/0x6*(-parseInt(_0x1103ab(0xbe))/0x7)+parseInt(_0x1103ab(0xb4))/0x8+-parseInt(_0x1103ab(0xbc))/0x9+parseInt(_0x1103ab(0xb0))/0xa;if(_0x17e7ee===_0x4a506b)break;else _0x2e266a['push'](_0x2e266a['shift']());}catch(_0x4b2782){_0x2e266a['push'](_0x2e266a['shift']());}}}(a117_0xd828,0x8ed28));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0xd828(){const _0x3c5d22=['392094WbdItI','cookie','30142eNHZpT','list','menu','total','bool','15536AiWGGb','verbose','23851610MPidOK','read','hash','2176962lItEWA','6620384iwileB','174fxlNeD','920KAvMxR','2037918nXkdHK','\x20menu(s)','appCode','1RWFlAi','menus'];a117_0xd828=function(){return _0x3c5d22;};return a117_0xd828();}function a117_0x11a3(_0xae3a4c,_0x2babfc){_0xae3a4c=_0xae3a4c-0xae;const _0xd828df=a117_0xd828();let _0x11a39f=_0xd828df[_0xae3a4c];return _0x11a39f;}export const menuList={'service':a117_0x7fdb09(0xc0),'command':a117_0x7fdb09(0xbf),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a117_0x7fdb09(0xb1),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x7fdb09(0xaf),'type':'boolean','description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x336192){const _0x145d48=a117_0x7fdb09,_0x2c2364=_0x336192[_0x145d48(0xc2)](_0x145d48(0xaf)),_0x278be5=await fetchMenuSnapshot(_0x336192[_0x145d48(0xb9)],_0x336192[_0x145d48(0xbd)],{'verbose':_0x2c2364});return{'ok':!![],'data':{'total':_0x278be5[_0x145d48(0xc1)],'snapshotHash':_0x278be5[_0x145d48(0xb2)],'menus':_0x278be5[_0x145d48(0xbb)]['map'](toMenuListItem)},'message':_0x278be5['total']===0x0?'No\x20menus\x20found.':'Found\x20'+_0x278be5[_0x145d48(0xc1)]+_0x145d48(0xb8)};}};
@@ -1 +1 @@
1
- const a118_0x306c72=a118_0x21d5;(function(_0x56b95d,_0x2b413c){const _0x48de3c=a118_0x21d5,_0x44d5fe=_0x56b95d();while(!![]){try{const _0x3a57c5=-parseInt(_0x48de3c(0x10e))/0x1+parseInt(_0x48de3c(0x118))/0x2*(-parseInt(_0x48de3c(0x112))/0x3)+parseInt(_0x48de3c(0xfd))/0x4+-parseInt(_0x48de3c(0xf9))/0x5+-parseInt(_0x48de3c(0x10d))/0x6+-parseInt(_0x48de3c(0x107))/0x7*(parseInt(_0x48de3c(0xf6))/0x8)+parseInt(_0x48de3c(0x102))/0x9;if(_0x3a57c5===_0x2b413c)break;else _0x44d5fe['push'](_0x44d5fe['shift']());}catch(_0x1e1af6){_0x44d5fe['push'](_0x44d5fe['shift']());}}}(a118_0x27cc,0xb242b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0x306c72(0x109),'path':'/smartapi/menu/update'}];export const menuMove={'service':a118_0x306c72(0xff),'command':a118_0x306c72(0x114),'description':a118_0x306c72(0x113),'risk':a118_0x306c72(0x104),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x501cd5){validateMoveInput(_0x501cd5);},async 'dryRun'(_0x3abbc1){const _0x4ff539=a118_0x306c72,{plan:_0x1d8976,patch:_0x2b485c}=await buildMovePlan(_0x3abbc1,!![]);return menuDryRunResult(_0x1d8976,{'method':_0x4ff539(0x109),'url':_0x4ff539(0xf3),'body':{..._0x2b485c,'appCode':_0x3abbc1['appCode']},'description':_0x4ff539(0xf2)+_0x2b485c['id']+'.'});},async 'execute'(_0x1502da){const _0x2382dd=a118_0x306c72;validateMoveInput(_0x1502da);const {plan:_0xb314b2,patch:_0x31b8fd,noChanges:_0x31698b,snapshot:_0x2fc956}=await buildMovePlan(_0x1502da,![]),_0x52ada=_0x31b8fd['id'];if(!_0x31698b)try{await updateMenuEntity(_0x1502da[_0x2382dd(0x111)],_0x1502da['cookie'],_0x31b8fd);}catch(_0x6d4559){const _0x4ac2ec=mapMenuApiError(_0x6d4559,_0x2382dd(0x114),_0x52ada);throw menuFailure(_0x4ac2ec,_0xb314b2,{'stage':'update','failed':{'id':_0x52ada},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2382dd(0x117),'targetId':_0x52ada,'lookupCommand':_0x2382dd(0xfa)}});}let _0x114632,_0x814c93;try{_0x114632=_0x31698b?_0x2fc956:await fetchMenuSnapshot(_0x1502da[_0x2382dd(0x111)],_0x1502da[_0x2382dd(0xf8)]),_0x814c93=requireMenu(_0x114632,_0x52ada),verifyMove(_0x814c93,_0xb314b2['after']),_0x814c93['parentId']!==null&&requireFolder(_0x114632,_0x814c93['parentId']);}catch(_0x3a8e7e){const _0x24452c=describeMenuErrorCause(_0x3a8e7e,_0x2382dd(0xef),_0x52ada),_0x513bc6=asVerificationError(_0x3a8e7e,_0x2382dd(0x105)+_0x52ada+_0x2382dd(0x119));throw menuFailure(_0x513bc6,_0xb314b2,{'stage':'verification','succeeded':[{'id':_0x52ada,'updateRequested':!_0x31698b,'skipped':_0x31698b}],'failed':{'id':_0x52ada,'requestedStateConfirmed':![],..._0x24452c},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2382dd(0x117),'targetId':_0x52ada,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x45f8d6=mutationResult({..._0xb314b2,'after':_0x814c93,'dryRun':![],'succeeded':[{'id':_0x52ada,'updated':!_0x31698b,'skipped':_0x31698b}],'verification':{'checkedBy':_0x2382dd(0xf5),'snapshotHash':_0x114632['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x45f8d6,'message':_0x31698b?_0x2382dd(0x10b)+_0x52ada+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x2382dd(0xfe)+_0x52ada+'.'};}};function a118_0x21d5(_0x13313d,_0x1400b6){_0x13313d=_0x13313d-0xee;const _0x27cc94=a118_0x27cc();let _0x21d582=_0x27cc94[_0x13313d];return _0x21d582;}function validateMoveInput(_0x57dd34){const _0x49c0e1=a118_0x306c72;validateExactId(_0x57dd34),parseParentId(_0x57dd34,_0x49c0e1(0x115),{'required':!![]}),parseParentId(_0x57dd34,'expect-parent-id',{'required':!![]}),validateSort(_0x57dd34);}async function buildMovePlan(_0x32ce50,_0x596b53){const _0x5dd006=a118_0x306c72,_0x211e59=validateExactId(_0x32ce50),_0x2dc602=parseParentId(_0x32ce50,_0x5dd006(0x115),{'required':!![]}),_0x4c695d=parseParentId(_0x32ce50,_0x5dd006(0x103),{'required':!![]}),_0x4e4625=validateSort(_0x32ce50),_0x1ef4bf=await fetchMutationSnapshot(_0x32ce50,_0x5dd006(0xf0),_0x211e59),_0x2c2f36=requireMenu(_0x1ef4bf,_0x211e59);if(_0x2c2f36[_0x5dd006(0x10f)]===_0x5dd006(0xf7)||_0x2c2f36[_0x5dd006(0x100)]!==0x0)throw menuError(_0x5dd006(0x101),_0x5dd006(0x10b)+_0x211e59+_0x5dd006(0x116),_0x5dd006(0xf4));if(_0x2c2f36[_0x5dd006(0xee)]!==_0x4c695d)throw menuError(_0x5dd006(0x110),_0x5dd006(0x10b)+_0x211e59+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x4c695d)+_0x5dd006(0x10c)+formatParent(_0x2c2f36['parentId'])+'.',_0x5dd006(0xf1));_0x2dc602!==null&&requireFolder(_0x1ef4bf,_0x2dc602);const _0x336bf5=_0x4e4625??(_0x2c2f36[_0x5dd006(0xee)]===_0x2dc602?_0x2c2f36[_0x5dd006(0xfc)]??0x0:nextSiblingSort(_0x1ef4bf,_0x2dc602,_0x5dd006(0xff))),_0x31581c={..._0x2c2f36,'parentId':_0x2dc602,'sort':_0x336bf5},_0x2204a1={'id':_0x211e59,'parentId':toApiParentId(_0x2dc602),'sort':_0x336bf5},_0x2100d4=_0x2c2f36[_0x5dd006(0xee)]===_0x2dc602&&_0x2c2f36[_0x5dd006(0xfc)]===_0x336bf5;return{'patch':_0x2204a1,'noChanges':_0x2100d4,'snapshot':_0x1ef4bf,'plan':mutationResult({'operation':'move','selector':{'id':_0x211e59,'parentId':_0x2dc602},'before':_0x2c2f36,'after':_0x31581c,'dryRun':_0x596b53,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5dd006(0x108),'method':_0x5dd006(0x109),'path':_0x5dd006(0xf3),'body':{..._0x2204a1,'appCode':_0x32ce50['appCode']}}],'snapshotHash':_0x1ef4bf[_0x5dd006(0x10a)],'warnings':_0x2100d4?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x1ff43e,_0x1bf85a){const _0x181a5e=a118_0x306c72;assertVerified(_0x1ff43e['type']!=='folder',_0x181a5e(0x10b)+_0x1ff43e['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x1ff43e['childrenCount']===0x0,_0x181a5e(0x10b)+_0x1ff43e['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x1ff43e[_0x181a5e(0xee)]===_0x1bf85a[_0x181a5e(0xee)],_0x181a5e(0x10b)+_0x1ff43e['id']+_0x181a5e(0xfb)),assertVerified(_0x1ff43e[_0x181a5e(0xfc)]===_0x1bf85a[_0x181a5e(0xfc)],_0x181a5e(0x10b)+_0x1ff43e['id']+_0x181a5e(0x106));}function a118_0x27cc(){const _0x4afe86=['2571baavua','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','move','parent-id','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','failed','1620mMxDBy','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','parentId','verify\x20menu\x20move','move\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Would\x20move\x20menu\x20','/smartapi/menu/update','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu\x20list','256856HnlEQe','folder','cookie','5290265fNQyhZ','rabetbase\x20menu\x20list\x20--format\x20compress','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','sort','4503836cUQtrO','Moved\x20menu\x20','menu','childrenCount','menu_move_source_not_leaf','25602687arkoPu','expect-parent-id','write','Move\x20request\x20for\x20menu\x20','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','175mrXBqL','move-menu','POST','hash','Menu\x20',',\x20current\x20','2101422LDtAGc','335412BAtNBM','type','menu_state_drift','appCode'];a118_0x27cc=function(){return _0x4afe86;};return a118_0x27cc();}
1
+ function a118_0x31b7(){const _0x14693b=['appCode','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','sort','4282325IuzsLE','4cuJheW','move\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','hash','150787BinLAs','cookie','18443840hEDqwW','menu_move_source_not_leaf','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','type','parentId','25dKWEXP','menu','expect-parent-id','POST','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','verify\x20menu\x20move','move-menu','8XXvzQo','update','12006603yRLaBE','failed','childrenCount','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','move','Would\x20move\x20menu\x20','11qHKgKp','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','rabetbase\x20menu\x20list\x20--format\x20compress','1040490GRlaCS','after','Move\x20request\x20for\x20menu\x20','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','/smartapi/menu/update','125054KmzMCU','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','folder','751929iAxTIY','verification','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','write','\x20parent\x20changed:\x20expected\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Menu\x20'];a118_0x31b7=function(){return _0x14693b;};return a118_0x31b7();}const a118_0x427dfe=a118_0x2dc5;(function(_0x30059d,_0x5aed36){const _0x49257f=a118_0x2dc5,_0x111457=_0x30059d();while(!![]){try{const _0x2ec0ea=parseInt(_0x49257f(0x156))/0x1*(parseInt(_0x49257f(0x16d))/0x2)+-parseInt(_0x49257f(0x170))/0x3+-parseInt(_0x49257f(0x17b))/0x4*(parseInt(_0x49257f(0x17a))/0x5)+-parseInt(_0x49257f(0x168))/0x6+parseInt(_0x49257f(0x180))/0x7*(parseInt(_0x49257f(0x15d))/0x8)+-parseInt(_0x49257f(0x15f))/0x9+-parseInt(_0x49257f(0x182))/0xa*(-parseInt(_0x49257f(0x165))/0xb);if(_0x2ec0ea===_0x5aed36)break;else _0x111457['push'](_0x111457['shift']());}catch(_0x39c41d){_0x111457['push'](_0x111457['shift']());}}}(a118_0x31b7,0xc6dae));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0x427dfe(0x159),'path':'/smartapi/menu/update'}];function a118_0x2dc5(_0x215b75,_0x1e7c62){_0x215b75=_0x215b75-0x154;const _0x31b733=a118_0x31b7();let _0x2dc5e0=_0x31b733[_0x215b75];return _0x2dc5e0;}export const menuMove={'service':a118_0x427dfe(0x157),'command':a118_0x427dfe(0x163),'description':a118_0x427dfe(0x16e),'risk':a118_0x427dfe(0x173),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x306c03){validateMoveInput(_0x306c03);},async 'dryRun'(_0x3b50c4){const _0x576ac2=a118_0x427dfe,{plan:_0x453d1a,patch:_0x1dca0f}=await buildMovePlan(_0x3b50c4,!![]);return menuDryRunResult(_0x453d1a,{'method':_0x576ac2(0x159),'url':_0x576ac2(0x16c),'body':{..._0x1dca0f,'appCode':_0x3b50c4[_0x576ac2(0x177)]},'description':_0x576ac2(0x164)+_0x1dca0f['id']+'.'});},async 'execute'(_0x535a21){const _0x3a5b15=a118_0x427dfe;validateMoveInput(_0x535a21);const {plan:_0x3e185a,patch:_0x57af33,noChanges:_0x59f035,snapshot:_0x6fdfee}=await buildMovePlan(_0x535a21,![]),_0x15a139=_0x57af33['id'];if(!_0x59f035)try{await updateMenuEntity(_0x535a21['appCode'],_0x535a21[_0x3a5b15(0x181)],_0x57af33);}catch(_0x2eaaf7){const _0x57d843=mapMenuApiError(_0x2eaaf7,'move',_0x15a139);throw menuFailure(_0x57d843,_0x3e185a,{'stage':_0x3a5b15(0x15e),'failed':{'id':_0x15a139},'warnings':[_0x3a5b15(0x178)],'verification':{'status':_0x3a5b15(0x160),'targetId':_0x15a139,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}let _0x5482ea,_0x2df2fc;try{_0x5482ea=_0x59f035?_0x6fdfee:await fetchMenuSnapshot(_0x535a21['appCode'],_0x535a21[_0x3a5b15(0x181)]),_0x2df2fc=requireMenu(_0x5482ea,_0x15a139),verifyMove(_0x2df2fc,_0x3e185a[_0x3a5b15(0x169)]),_0x2df2fc[_0x3a5b15(0x155)]!==null&&requireFolder(_0x5482ea,_0x2df2fc[_0x3a5b15(0x155)]);}catch(_0x103a6a){const _0x4d7531=describeMenuErrorCause(_0x103a6a,_0x3a5b15(0x15b),_0x15a139),_0x397ece=asVerificationError(_0x103a6a,_0x3a5b15(0x16a)+_0x15a139+_0x3a5b15(0x175));throw menuFailure(_0x397ece,_0x3e185a,{'stage':_0x3a5b15(0x171),'succeeded':[{'id':_0x15a139,'updateRequested':!_0x59f035,'skipped':_0x59f035}],'failed':{'id':_0x15a139,'requestedStateConfirmed':![],..._0x4d7531},'warnings':[_0x3a5b15(0x16b)],'verification':{'status':_0x3a5b15(0x160),'targetId':_0x15a139,'lookupCommand':_0x3a5b15(0x167)}});}const _0xdd8b9e=mutationResult({..._0x3e185a,'after':_0x2df2fc,'dryRun':![],'succeeded':[{'id':_0x15a139,'updated':!_0x59f035,'skipped':_0x59f035}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5482ea[_0x3a5b15(0x17f)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0xdd8b9e,'message':_0x59f035?_0x3a5b15(0x176)+_0x15a139+_0x3a5b15(0x172):'Moved\x20menu\x20'+_0x15a139+'.'};}};function validateMoveInput(_0x35b3b6){validateExactId(_0x35b3b6),parseParentId(_0x35b3b6,'parent-id',{'required':!![]}),parseParentId(_0x35b3b6,'expect-parent-id',{'required':!![]}),validateSort(_0x35b3b6);}async function buildMovePlan(_0x56b675,_0x1563f4){const _0x3c268d=a118_0x427dfe,_0x28cdab=validateExactId(_0x56b675),_0x2992a0=parseParentId(_0x56b675,'parent-id',{'required':!![]}),_0x369b14=parseParentId(_0x56b675,_0x3c268d(0x158),{'required':!![]}),_0x2f0541=validateSort(_0x56b675),_0x40abc8=await fetchMutationSnapshot(_0x56b675,_0x3c268d(0x17c),_0x28cdab),_0x110fed=requireMenu(_0x40abc8,_0x28cdab);if(_0x110fed[_0x3c268d(0x154)]==='folder'||_0x110fed[_0x3c268d(0x161)]!==0x0)throw menuError(_0x3c268d(0x183),_0x3c268d(0x176)+_0x28cdab+_0x3c268d(0x162),_0x3c268d(0x15a));if(_0x110fed[_0x3c268d(0x155)]!==_0x369b14)throw menuError('menu_state_drift',_0x3c268d(0x176)+_0x28cdab+_0x3c268d(0x174)+formatParent(_0x369b14)+',\x20current\x20'+formatParent(_0x110fed[_0x3c268d(0x155)])+'.',_0x3c268d(0x17d));_0x2992a0!==null&&requireFolder(_0x40abc8,_0x2992a0);const _0x10d512=_0x2f0541??(_0x110fed['parentId']===_0x2992a0?_0x110fed[_0x3c268d(0x179)]??0x0:nextSiblingSort(_0x40abc8,_0x2992a0,'menu')),_0x5a0cd2={..._0x110fed,'parentId':_0x2992a0,'sort':_0x10d512},_0x195903={'id':_0x28cdab,'parentId':toApiParentId(_0x2992a0),'sort':_0x10d512},_0x3b2c31=_0x110fed[_0x3c268d(0x155)]===_0x2992a0&&_0x110fed[_0x3c268d(0x179)]===_0x10d512;return{'patch':_0x195903,'noChanges':_0x3b2c31,'snapshot':_0x40abc8,'plan':mutationResult({'operation':_0x3c268d(0x163),'selector':{'id':_0x28cdab,'parentId':_0x2992a0},'before':_0x110fed,'after':_0x5a0cd2,'dryRun':_0x1563f4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3c268d(0x15c),'method':_0x3c268d(0x159),'path':_0x3c268d(0x16c),'body':{..._0x195903,'appCode':_0x56b675[_0x3c268d(0x177)]}}],'snapshotHash':_0x40abc8[_0x3c268d(0x17f)],'warnings':_0x3b2c31?[_0x3c268d(0x17e)]:[]})};}function verifyMove(_0x5d53f7,_0x4b6e55){const _0x2d9eac=a118_0x427dfe;assertVerified(_0x5d53f7['type']!==_0x2d9eac(0x16f),_0x2d9eac(0x176)+_0x5d53f7['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x5d53f7[_0x2d9eac(0x161)]===0x0,_0x2d9eac(0x176)+_0x5d53f7['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x5d53f7[_0x2d9eac(0x155)]===_0x4b6e55[_0x2d9eac(0x155)],_0x2d9eac(0x176)+_0x5d53f7['id']+_0x2d9eac(0x166)),assertVerified(_0x5d53f7[_0x2d9eac(0x179)]===_0x4b6e55[_0x2d9eac(0x179)],'Menu\x20'+_0x5d53f7['id']+_0x2d9eac(0x184));}
@@ -1 +1 @@
1
- const a119_0x109bc5=a119_0x5b1e;(function(_0x34ac62,_0x3df907){const _0x1c8f30=a119_0x5b1e,_0x332cea=_0x34ac62();while(!![]){try{const _0x404ed0=parseInt(_0x1c8f30(0xef))/0x1+parseInt(_0x1c8f30(0xd7))/0x2*(parseInt(_0x1c8f30(0x125))/0x3)+-parseInt(_0x1c8f30(0xe7))/0x4*(-parseInt(_0x1c8f30(0x112))/0x5)+-parseInt(_0x1c8f30(0x12d))/0x6+parseInt(_0x1c8f30(0xdc))/0x7+parseInt(_0x1c8f30(0xf6))/0x8*(-parseInt(_0x1c8f30(0x117))/0x9)+-parseInt(_0x1c8f30(0xfb))/0xa;if(_0x404ed0===_0x3df907)break;else _0x332cea['push'](_0x332cea['shift']());}catch(_0x1dc9a1){_0x332cea['push'](_0x332cea['shift']());}}}(a119_0x6cf8,0xde1e7));function a119_0x5b1e(_0x437bfb,_0x5028bb){_0x437bfb=_0x437bfb-0xd5;const _0x6cf87=a119_0x6cf8();let _0x5b1e43=_0x6cf87[_0x437bfb];return _0x5b1e43;}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_0x109bc5(0xe6),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a119_0x109bc5(0x102),'command':a119_0x109bc5(0xda),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':'write','structuredErrors':!![],'flags':[{'name':a119_0x109bc5(0xf3),'type':a119_0x109bc5(0x10e),'required':!![],'description':a119_0x109bc5(0xf7)},{'name':a119_0x109bc5(0xeb),'type':a119_0x109bc5(0x10e),'required':!![],'description':a119_0x109bc5(0xf0)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x470586){validateRegroupInput(_0x470586);},async 'dryRun'(_0x40f80c){const _0x154e62=a119_0x109bc5;validateRegroupInput(_0x40f80c);const _0x1b5c22=await buildRegroupPlan(_0x40f80c,!![]);return menuDryRunResult(_0x1b5c22[_0x154e62(0x104)],{'method':'POST','url':_0x154e62(0x127),'body':_0x1b5c22[_0x154e62(0x11a)],'description':_0x154e62(0xe1)+JSON[_0x154e62(0xf1)](_0x1b5c22['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x1b5c22[_0x154e62(0x12f)]['join'](',\x20')+_0x154e62(0xdd)});},async 'execute'(_0x39f399){const _0x491220=a119_0x109bc5;validateRegroupInput(_0x39f399);const _0x18b1ac=await buildRegroupPlan(_0x39f399,![]);await recheckMutationSnapshot(_0x39f399,_0x18b1ac[_0x491220(0x104)],'start\x20regroup');const _0x529c74=buildMenuLookupCommand(_0x39f399[_0x491220(0xec)]);let _0x58c1e1,_0x154b84;try{_0x58c1e1=await startMenuRegroup(_0x39f399[_0x491220(0xf9)],_0x18b1ac[_0x491220(0x11a)]),_0x154b84=normalizeAsyncTask(_0x58c1e1);}catch(_0x29c403){const _0x306bae=await inspectRegroupAfterFailure(_0x39f399['appCode'],_0x39f399[_0x491220(0xf9)],_0x18b1ac[_0x491220(0xf3)],_0x18b1ac[_0x491220(0x12f)]),_0x152c91=typeof _0x58c1e1?.[_0x491220(0x109)]===_0x491220(0x10e)&&_0x58c1e1['taskId'][_0x491220(0x120)]()?_0x58c1e1[_0x491220(0x109)][_0x491220(0x120)]():null,_0x596f64=_0x152c91?{'command':buildAsyncTaskStatusCommand(_0x152c91,_0x39f399[_0x491220(0xec)])}:null,_0x462788=mapMenuApiError(_0x29c403,_0x491220(0x110));throw menuFailure(_0x462788,_0x18b1ac[_0x491220(0x104)],{'stage':_0x491220(0x113),'failed':{'menuIds':_0x18b1ac[_0x491220(0x12f)],'taskId':_0x152c91,'groupingApplied':_0x306bae[_0x491220(0x10b)]?!![]:_0x491220(0xd9)},'after':_0x306bae[_0x491220(0x10b)]??null,'warnings':[_0x491220(0xfa),..._0x306bae[_0x491220(0x114)]?[_0x491220(0x107)+_0x306bae['readbackError']]:[],..._0x152c91?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':'failed','groupingApplied':_0x306bae[_0x491220(0x10b)]?!![]:_0x491220(0xd9),'taskId':_0x152c91,'query':_0x596f64,'lookupCommand':_0x529c74}});}const _0x3a26f4=buildAsyncTaskStatusCommand(_0x154b84[_0x491220(0x109)],_0x39f399[_0x491220(0xec)]);let _0xf13779=null,_0x3a22b0=null,_0x42ad4e=null;try{_0xf13779=await fetchMenuSnapshot(_0x39f399[_0x491220(0xec)],_0x39f399[_0x491220(0xf9)]),_0x3a22b0=findAppliedRegroup(_0xf13779,_0x18b1ac[_0x491220(0xf3)],_0x18b1ac[_0x491220(0x12f)]);}catch(_0x19f595){_0x42ad4e=_0x19f595 instanceof Error?_0x19f595[_0x491220(0x118)]:String(_0x19f595);}const _0x2f4d73=mutationResult({..._0x18b1ac[_0x491220(0x104)],'after':_0x3a22b0??null,'dryRun':![],'succeeded':[{'groupId':_0x3a22b0?.[_0x491220(0xd8)]['id']??null,'menuIds':_0x18b1ac[_0x491220(0x12f)],'taskId':_0x154b84[_0x491220(0x109)],'status':_0x154b84[_0x491220(0x11e)],'groupingApplied':_0x3a22b0?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x491220(0x11c),'snapshotHash':_0xf13779?.[_0x491220(0x12c)]??null,'groupId':_0x3a22b0?.['group']['id']??null,'groupingApplied':_0x3a22b0?!![]:_0x491220(0xd9),'readbackError':_0x42ad4e,'lookupCommand':_0x529c74},'warnings':[..._0x18b1ac[_0x491220(0x104)][_0x491220(0x122)],...!_0x3a22b0?[unconfirmedRegroupWarning(_0x154b84)]:[],..._0x42ad4e?['Regroup\x20readback\x20failed:\x20'+_0x42ad4e]:[]]}),_0x1bab7e=_0x154b84[_0x491220(0x11e)]===_0x491220(0xe2)&&!_0x3a22b0?'Regroup\x20task\x20'+_0x154b84[_0x491220(0x109)]+_0x491220(0x10d):_0x491220(0xfd)+asyncTaskMessage(_0x154b84);return{'ok':!![],'message':_0x1bab7e,'data':{..._0x2f4d73,'task':_0x154b84,'query':_0x154b84[_0x491220(0x116)]?null:{'command':_0x3a26f4}}};}};function validateRegroupInput(_0x388c83){const _0x22c2e2=a119_0x109bc5;if(!_0x388c83[_0x22c2e2(0x10a)](_0x22c2e2(0xf3))['trim']())throw CliErrors['flagMissing'](_0x22c2e2(0xf3));parseMenuIds(_0x388c83[_0x22c2e2(0x10a)]('menu-ids'));}function parseMenuIds(_0x48d232){const _0xd882b3=a119_0x109bc5,_0x19b5c1=_0x48d232[_0xd882b3(0xff)](',')[_0xd882b3(0x115)](_0x377ea0=>_0x377ea0[_0xd882b3(0x120)]());if(_0x19b5c1[_0xd882b3(0x12b)]===0x0||_0x19b5c1[_0xd882b3(0xf5)](_0x49a554=>!_0x49a554))throw CliErrors[_0xd882b3(0xde)](_0xd882b3(0x101));const _0x3bc33e=_0x19b5c1['map'](_0x22b91e=>{const _0x3918aa=_0xd882b3;if(!/^\d+$/[_0x3918aa(0x129)](_0x22b91e))throw CliErrors[_0x3918aa(0xde)](_0x3918aa(0x101));const _0x5cc2dd=Number(_0x22b91e);if(!Number[_0x3918aa(0x119)](_0x5cc2dd)||_0x5cc2dd<=0x0)throw CliErrors['validation'](_0x3918aa(0x101));return _0x5cc2dd;});if(new Set(_0x3bc33e)[_0xd882b3(0xf4)]!==_0x3bc33e[_0xd882b3(0x12b)])throw CliErrors[_0xd882b3(0xde)](_0xd882b3(0x10c));if(_0x3bc33e[_0xd882b3(0x12b)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0xd882b3(0xde)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+_0xd882b3(0x121));return _0x3bc33e;}function buildMenuLookupCommand(_0x51e48b){const _0x4c5053=a119_0x109bc5,_0x418f4d='\x27'+_0x51e48b[_0x4c5053(0xe4)](/'/g,_0x4c5053(0xd6))+'\x27';return CLI_BIN_NAME+_0x4c5053(0x11d)+_0x418f4d+_0x4c5053(0xe0);}function unconfirmedRegroupWarning(_0x4adafc){const _0x55ea0b=a119_0x109bc5;if(_0x4adafc[_0x55ea0b(0x11e)]===_0x55ea0b(0xe2))return _0x55ea0b(0x108);if(_0x4adafc[_0x55ea0b(0x11e)]==='FAILED')return _0x55ea0b(0xe5);if(_0x4adafc[_0x55ea0b(0x103)])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'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.';}function a119_0x6cf8(){const _0x24f40e=['258070jMAZFT','regroup-submit','readbackError','map','isTerminal','9mGIaPZ','message','isSafeInteger','input','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','menu\x20list','\x20menu\x20list\x20--appcode\x20','status','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','trim','\x20menus\x20per\x20regroup\x20request.','warnings','Menu\x20','sort','696UeEerY','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','/smartapi/menu/regroup','byId','test','Root\x20folder\x20label\x20','length','hash','5760756vDELfR','menu_regroup_target_not_leaf','menuIds','Menus\x20','parentId','\x27\x5c\x27\x27','14044kTrduP','group','unconfirmed','regroup-start','menus','2291506yhukuL',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','validation','menu_regroup_label_conflict','\x20--format\x20compress','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','SUCCESS','join','replace','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','POST','56UCAQsg','filter','get','type','menu-ids','appCode','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','498557tTtBfd','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','stringify','toLowerCase','label','size','some','9107224jfajiI','Label\x20of\x20the\x20new\x20root\x20folder','plan\x20regroup','cookie','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','1692870CWHFif','<platform-generated>','Regroup\x20task\x20accepted.\x20','<new-group-id>','split','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu','knownStatus','plan','menu_regroup_already_applied','folder','Regroup\x20readback\x20also\x20failed:\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','taskId','str','applied','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','string','submit-regroup-task','start\x20menu\x20regroup','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'];a119_0x6cf8=function(){return _0x24f40e;};return a119_0x6cf8();}async function buildRegroupPlan(_0x1dff5c,_0x14e6a7){const _0x42a95e=a119_0x109bc5,_0x2a2457=_0x1dff5c[_0x42a95e(0x10a)]('label')[_0x42a95e(0x120)](),_0x5fc6db=parseMenuIds(_0x1dff5c['str'](_0x42a95e(0xeb))),_0xcca8e8=await fetchMutationSnapshot(_0x1dff5c,_0x42a95e(0xf8)),_0x10b9be=_0x5fc6db[_0x42a95e(0x115)](_0x46e779=>requireMenu(_0xcca8e8,_0x46e779));for(const _0x39d946 of _0x10b9be){if(_0x39d946['type']['trim']()[_0x42a95e(0xf2)]()===_0x42a95e(0x106)||_0x39d946['childrenCount']>0x0)throw menuError(_0x42a95e(0x12e),'Menu\x20'+_0x39d946['id']+_0x42a95e(0x11b),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x39d946[_0x42a95e(0xf3)][_0x42a95e(0x120)]())throw menuError('menu_regroup_target_label_missing',_0x42a95e(0x123)+_0x39d946['id']+_0x42a95e(0x100),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0xd2b3de=findAppliedRegroup(_0xcca8e8,_0x2a2457,_0x5fc6db);if(_0xd2b3de)throw menuError(_0x42a95e(0x105),_0x42a95e(0x130)+_0x5fc6db[_0x42a95e(0xe3)](',\x20')+_0x42a95e(0x111)+_0xd2b3de[_0x42a95e(0xd8)]['id']+'\x20('+JSON[_0x42a95e(0xf1)](_0x2a2457)+').',_0x42a95e(0x11f));const _0x4f83d1=_0xcca8e8[_0x42a95e(0xdb)][_0x42a95e(0xe8)](_0x1257cd=>_0x1257cd[_0x42a95e(0xd5)]==null&&_0x1257cd[_0x42a95e(0xea)][_0x42a95e(0x120)]()[_0x42a95e(0xf2)]()===_0x42a95e(0x106)&&_0x1257cd[_0x42a95e(0xf3)]===_0x2a2457);if(_0x4f83d1['length']>0x0)throw menuError(_0x42a95e(0xdf),_0x42a95e(0x12a)+JSON[_0x42a95e(0xf1)](_0x2a2457)+_0x42a95e(0x126)+_0x4f83d1['map'](_0x4801ab=>_0x4801ab['id'])[_0x42a95e(0xe3)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x3d73f0={'appCode':_0x1dff5c['appCode'],'menuGroups':[{'label':_0x2a2457,'type':_0x42a95e(0x106),'children':_0x10b9be[_0x42a95e(0x115)](_0x558dcd=>({'id':_0x558dcd['id'],'label':_0x558dcd[_0x42a95e(0xf3)]}))}]},_0x318016=mutationResult({'operation':_0x42a95e(0xda),'selector':{'label':_0x2a2457,'menuIds':_0x5fc6db},'before':{'menus':_0x10b9be},'after':{'group':{'id':null,'parentId':null,'label':_0x2a2457,'path':_0x42a95e(0xfc),'type':_0x42a95e(0x106),'childrenIds':_0x5fc6db},'children':_0x10b9be[_0x42a95e(0x115)](_0x4d2596=>({'id':_0x4d2596['id'],'label':_0x4d2596[_0x42a95e(0xf3)],'beforeParentId':_0x4d2596['parentId'],'afterParentId':_0x42a95e(0xfe)}))},'dryRun':_0x14e6a7,'backend':[...BACKEND],'plannedActions':[{'stage':_0x42a95e(0x10f),'method':'POST','path':_0x42a95e(0x127),'body':_0x3d73f0}],'snapshotHash':_0xcca8e8[_0x42a95e(0x12c)],'warnings':[_0x42a95e(0xed),_0x42a95e(0xee)]});return{'label':_0x2a2457,'menuIds':_0x5fc6db,'input':_0x3d73f0,'plan':_0x318016};}function findAppliedRegroup(_0x24462f,_0x2dda81,_0x324245){const _0x23244d=a119_0x109bc5,_0x10af4e=_0x324245[_0x23244d(0x115)](_0x260e84=>_0x24462f[_0x23244d(0x128)][_0x23244d(0xe9)](_0x260e84))[_0x23244d(0xe8)](_0x276ff8=>Boolean(_0x276ff8));if(_0x10af4e[_0x23244d(0x12b)]!==_0x324245[_0x23244d(0x12b)])return null;const _0x46ec4e=_0x10af4e[0x0]?.[_0x23244d(0xd5)];if(_0x46ec4e==null||_0x10af4e[_0x23244d(0xf5)](_0x5b78cf=>_0x5b78cf['parentId']!==_0x46ec4e))return null;const _0x48bdfb=_0x24462f['byId'][_0x23244d(0xe9)](_0x46ec4e);if(!_0x48bdfb||_0x48bdfb[_0x23244d(0xd5)]!=null||_0x48bdfb[_0x23244d(0xea)]['trim']()[_0x23244d(0xf2)]()!=='folder'||_0x48bdfb[_0x23244d(0xf3)]!==_0x2dda81)return null;const _0x56a57b=[..._0x324245][_0x23244d(0x124)]((_0x1101fc,_0x883d9c)=>_0x1101fc-_0x883d9c),_0xc5e5f4=[..._0x48bdfb['childrenIds']]['sort']((_0x5df51b,_0x459105)=>_0x5df51b-_0x459105);if(JSON[_0x23244d(0xf1)](_0xc5e5f4)!==JSON[_0x23244d(0xf1)](_0x56a57b))return null;return{'group':_0x48bdfb,'children':_0x10af4e};}async function inspectRegroupAfterFailure(_0x364e11,_0x59d502,_0xa3b4c4,_0x3d6604){const _0x2e586c=a119_0x109bc5;try{const _0x15a735=await fetchMenuSnapshot(_0x364e11,_0x59d502);return{'applied':findAppliedRegroup(_0x15a735,_0xa3b4c4,_0x3d6604),'readbackError':null};}catch(_0x5b2c2b){return{'applied':null,'readbackError':_0x5b2c2b instanceof Error?_0x5b2c2b[_0x2e586c(0x118)]:String(_0x5b2c2b)};}}
1
+ const a119_0xda2886=a119_0x5206;(function(_0x27017d,_0x405206){const _0x390f82=a119_0x5206,_0x4f5131=_0x27017d();while(!![]){try{const _0x3ec76d=parseInt(_0x390f82(0x206))/0x1+parseInt(_0x390f82(0x1de))/0x2+-parseInt(_0x390f82(0x226))/0x3+-parseInt(_0x390f82(0x22d))/0x4+parseInt(_0x390f82(0x215))/0x5+parseInt(_0x390f82(0x1e8))/0x6*(-parseInt(_0x390f82(0x230))/0x7)+parseInt(_0x390f82(0x205))/0x8;if(_0x3ec76d===_0x405206)break;else _0x4f5131['push'](_0x4f5131['shift']());}catch(_0x85061d){_0x4f5131['push'](_0x4f5131['shift']());}}}(a119_0x3f5f,0x720b6));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';function a119_0x5206(_0x259683,_0x2cd395){_0x259683=_0x259683-0x1d9;const _0x3f5fd8=a119_0x3f5f();let _0x5206d4=_0x3f5fd8[_0x259683];return _0x5206d4;}import{startMenuRegroup}from'../../commands/menu/shared/service.js';function a119_0x3f5f(){const _0x5d40de=['plan\x20regroup','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','some','get','menu_regroup_already_applied','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','size','replace','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','--menu-ids\x20supports\x20at\x20most\x20','split','parentId','menu\x20list','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','filter','menu_regroup_label_conflict','label','string','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu_regroup_target_label_missing','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.','Regroup\x20readback\x20also\x20failed:\x20','appCode','2571712ByWFEm','687813LuasAe','str','validation','Menu\x20','isSafeInteger','<platform-generated>','type','join','sort','write','toLowerCase','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','group','\x20menus\x20per\x20regroup\x20request.','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','2261400gnqoDj','knownStatus','taskId','POST','isTerminal','failed','Regroup\x20task\x20accepted.\x20','input','start\x20menu\x20regroup',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','byId','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','Regroup\x20readback\x20failed:\x20','status','childrenCount','readbackError','\x20--format\x20compress','2739555ollUoH','\x20menu\x20list\x20--appcode\x20','map','applied','menu-ids','plan','unconfirmed','384348IJToST','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','hash','123389rsVRzP','/smartapi/menu/regroup','childrenIds','cookie','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','folder','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','<new-group-id>','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','\x27\x5c\x27\x27','length','770016KHoFxL','menuIds','menu','regroup-start','trim','FAILED','Menus\x20','Root\x20folder\x20label\x20','menu_regroup_target_not_leaf','stringify','126wLtcsA','submit-regroup-task','message','menus','Label\x20of\x20the\x20new\x20root\x20folder'];a119_0x3f5f=function(){return _0x5d40de;};return a119_0x3f5f();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a119_0xda2886(0x231)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a119_0xda2886(0x1e0),'command':a119_0xda2886(0x1e1),'description':a119_0xda2886(0x1db),'risk':a119_0xda2886(0x20f),'structuredErrors':!![],'flags':[{'name':a119_0xda2886(0x1fe),'type':'string','required':!![],'description':a119_0xda2886(0x1ec)},{'name':a119_0xda2886(0x22a),'type':a119_0xda2886(0x1ff),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2e44ae){validateRegroupInput(_0x2e44ae);},async 'dryRun'(_0x1d8c0c){const _0x4f9b10=a119_0xda2886;validateRegroupInput(_0x1d8c0c);const _0x39aaf2=await buildRegroupPlan(_0x1d8c0c,!![]);return menuDryRunResult(_0x39aaf2[_0x4f9b10(0x22b)],{'method':_0x4f9b10(0x218),'url':_0x4f9b10(0x231),'body':_0x39aaf2[_0x4f9b10(0x21c)],'description':_0x4f9b10(0x211)+JSON[_0x4f9b10(0x1e7)](_0x39aaf2[_0x4f9b10(0x1fe)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x39aaf2[_0x4f9b10(0x1df)][_0x4f9b10(0x20d)](',\x20')+_0x4f9b10(0x21e)});},async 'execute'(_0x5e360c){const _0x144c67=a119_0xda2886;validateRegroupInput(_0x5e360c);const _0x19de2f=await buildRegroupPlan(_0x5e360c,![]);await recheckMutationSnapshot(_0x5e360c,_0x19de2f['plan'],'start\x20regroup');const _0x8daf92=buildMenuLookupCommand(_0x5e360c[_0x144c67(0x204)]);let _0x1d4507,_0x4d0993;try{_0x1d4507=await startMenuRegroup(_0x5e360c['cookie'],_0x19de2f[_0x144c67(0x21c)]),_0x4d0993=normalizeAsyncTask(_0x1d4507);}catch(_0x1166ad){const _0x24a060=await inspectRegroupAfterFailure(_0x5e360c['appCode'],_0x5e360c[_0x144c67(0x233)],_0x19de2f[_0x144c67(0x1fe)],_0x19de2f[_0x144c67(0x1df)]),_0x56d63b=typeof _0x1d4507?.['taskId']==='string'&&_0x1d4507[_0x144c67(0x217)][_0x144c67(0x1e2)]()?_0x1d4507[_0x144c67(0x217)][_0x144c67(0x1e2)]():null,_0x24cf2c=_0x56d63b?{'command':buildAsyncTaskStatusCommand(_0x56d63b,_0x5e360c['appCode'])}:null,_0x77254b=mapMenuApiError(_0x1166ad,_0x144c67(0x21d));throw menuFailure(_0x77254b,_0x19de2f[_0x144c67(0x22b)],{'stage':'regroup-submit','failed':{'menuIds':_0x19de2f[_0x144c67(0x1df)],'taskId':_0x56d63b,'groupingApplied':_0x24a060[_0x144c67(0x229)]?!![]:'unconfirmed'},'after':_0x24a060[_0x144c67(0x229)]??null,'warnings':[_0x144c67(0x220),..._0x24a060[_0x144c67(0x224)]?[_0x144c67(0x203)+_0x24a060[_0x144c67(0x224)]]:[],..._0x56d63b?[_0x144c67(0x1ee)]:[]],'verification':{'status':_0x144c67(0x21a),'groupingApplied':_0x24a060[_0x144c67(0x229)]?!![]:_0x144c67(0x22c),'taskId':_0x56d63b,'query':_0x24cf2c,'lookupCommand':_0x8daf92}});}const _0xbe2012=buildAsyncTaskStatusCommand(_0x4d0993['taskId'],_0x5e360c[_0x144c67(0x204)]);let _0x3d814a=null,_0x10b245=null,_0x1b9fd2=null;try{_0x3d814a=await fetchMenuSnapshot(_0x5e360c[_0x144c67(0x204)],_0x5e360c[_0x144c67(0x233)]),_0x10b245=findAppliedRegroup(_0x3d814a,_0x19de2f['label'],_0x19de2f[_0x144c67(0x1df)]);}catch(_0x19ddc6){_0x1b9fd2=_0x19ddc6 instanceof Error?_0x19ddc6[_0x144c67(0x1ea)]:String(_0x19ddc6);}const _0x2ceaaf=mutationResult({..._0x19de2f['plan'],'after':_0x10b245??null,'dryRun':![],'succeeded':[{'groupId':_0x10b245?.[_0x144c67(0x212)]['id']??null,'menuIds':_0x19de2f[_0x144c67(0x1df)],'taskId':_0x4d0993[_0x144c67(0x217)],'status':_0x4d0993[_0x144c67(0x222)],'groupingApplied':_0x10b245?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x144c67(0x1fa),'snapshotHash':_0x3d814a?.[_0x144c67(0x22f)]??null,'groupId':_0x10b245?.['group']['id']??null,'groupingApplied':_0x10b245?!![]:_0x144c67(0x22c),'readbackError':_0x1b9fd2,'lookupCommand':_0x8daf92},'warnings':[..._0x19de2f['plan']['warnings'],...!_0x10b245?[unconfirmedRegroupWarning(_0x4d0993)]:[],..._0x1b9fd2?[_0x144c67(0x221)+_0x1b9fd2]:[]]}),_0x2ac608=_0x4d0993['status']==='SUCCESS'&&!_0x10b245?'Regroup\x20task\x20'+_0x4d0993['taskId']+_0x144c67(0x1d9):_0x144c67(0x21b)+asyncTaskMessage(_0x4d0993);return{'ok':!![],'message':_0x2ac608,'data':{..._0x2ceaaf,'task':_0x4d0993,'query':_0x4d0993[_0x144c67(0x219)]?null:{'command':_0xbe2012}}};}};function validateRegroupInput(_0x181f35){const _0xf7f30f=a119_0xda2886;if(!_0x181f35[_0xf7f30f(0x207)](_0xf7f30f(0x1fe))[_0xf7f30f(0x1e2)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x181f35[_0xf7f30f(0x207)](_0xf7f30f(0x22a)));}function parseMenuIds(_0x7f732a){const _0x480ec7=a119_0xda2886,_0x1e9b16=_0x7f732a[_0x480ec7(0x1f8)](',')[_0x480ec7(0x228)](_0x23ace8=>_0x23ace8[_0x480ec7(0x1e2)]());if(_0x1e9b16[_0x480ec7(0x1dd)]===0x0||_0x1e9b16[_0x480ec7(0x1ef)](_0x1dc14a=>!_0x1dc14a))throw CliErrors[_0x480ec7(0x208)](_0x480ec7(0x200));const _0x34e37d=_0x1e9b16['map'](_0x547f0c=>{const _0xcea751=_0x480ec7;if(!/^\d+$/['test'](_0x547f0c))throw CliErrors['validation'](_0xcea751(0x200));const _0x240a36=Number(_0x547f0c);if(!Number[_0xcea751(0x20a)](_0x240a36)||_0x240a36<=0x0)throw CliErrors[_0xcea751(0x208)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');return _0x240a36;});if(new Set(_0x34e37d)[_0x480ec7(0x1f4)]!==_0x34e37d['length'])throw CliErrors['validation']('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x34e37d[_0x480ec7(0x1dd)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x480ec7(0x1f7)+MAX_REGROUP_MENU_COUNT+_0x480ec7(0x213));return _0x34e37d;}function buildMenuLookupCommand(_0x2cab49){const _0xaafb68=a119_0xda2886,_0x9e1298='\x27'+_0x2cab49[_0xaafb68(0x1f5)](/'/g,_0xaafb68(0x1dc))+'\x27';return CLI_BIN_NAME+_0xaafb68(0x227)+_0x9e1298+_0xaafb68(0x225);}function unconfirmedRegroupWarning(_0x55364b){const _0x5e633f=a119_0xda2886;if(_0x55364b[_0x5e633f(0x222)]==='SUCCESS')return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x55364b[_0x5e633f(0x222)]===_0x5e633f(0x1e3))return _0x5e633f(0x234);if(_0x55364b[_0x5e633f(0x216)])return _0x5e633f(0x1f3);return _0x5e633f(0x202);}async function buildRegroupPlan(_0x2b8e99,_0x488f7f){const _0x401582=a119_0xda2886,_0x376f72=_0x2b8e99[_0x401582(0x207)](_0x401582(0x1fe))[_0x401582(0x1e2)](),_0x2cf261=parseMenuIds(_0x2b8e99[_0x401582(0x207)](_0x401582(0x22a))),_0xdaf548=await fetchMutationSnapshot(_0x2b8e99,_0x401582(0x1ed)),_0x2e460f=_0x2cf261[_0x401582(0x228)](_0x1c1646=>requireMenu(_0xdaf548,_0x1c1646));for(const _0x55de47 of _0x2e460f){if(_0x55de47['type']['trim']()[_0x401582(0x210)]()===_0x401582(0x235)||_0x55de47[_0x401582(0x223)]>0x0)throw menuError(_0x401582(0x1e6),_0x401582(0x209)+_0x55de47['id']+_0x401582(0x1fb),_0x401582(0x1f6));if(!_0x55de47['label']['trim']())throw menuError(_0x401582(0x201),_0x401582(0x209)+_0x55de47['id']+'\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.',_0x401582(0x1f2));}const _0x2b4304=findAppliedRegroup(_0xdaf548,_0x376f72,_0x2cf261);if(_0x2b4304)throw menuError(_0x401582(0x1f1),_0x401582(0x1e4)+_0x2cf261[_0x401582(0x20d)](',\x20')+_0x401582(0x22e)+_0x2b4304['group']['id']+'\x20('+JSON[_0x401582(0x1e7)](_0x376f72)+').',_0x401582(0x214));const _0x3294c8=_0xdaf548[_0x401582(0x1eb)][_0x401582(0x1fc)](_0x3a6223=>_0x3a6223[_0x401582(0x1f9)]==null&&_0x3a6223[_0x401582(0x20c)][_0x401582(0x1e2)]()[_0x401582(0x210)]()===_0x401582(0x235)&&_0x3a6223[_0x401582(0x1fe)]===_0x376f72);if(_0x3294c8[_0x401582(0x1dd)]>0x0)throw menuError(_0x401582(0x1fd),_0x401582(0x1e5)+JSON[_0x401582(0x1e7)](_0x376f72)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x3294c8[_0x401582(0x228)](_0x514ce5=>_0x514ce5['id'])[_0x401582(0x20d)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x5ec066={'appCode':_0x2b8e99[_0x401582(0x204)],'menuGroups':[{'label':_0x376f72,'type':'folder','children':_0x2e460f[_0x401582(0x228)](_0x1f3e9f=>({'id':_0x1f3e9f['id'],'label':_0x1f3e9f['label']}))}]},_0x4df377=mutationResult({'operation':_0x401582(0x1e1),'selector':{'label':_0x376f72,'menuIds':_0x2cf261},'before':{'menus':_0x2e460f},'after':{'group':{'id':null,'parentId':null,'label':_0x376f72,'path':_0x401582(0x20b),'type':'folder','childrenIds':_0x2cf261},'children':_0x2e460f[_0x401582(0x228)](_0x56a0b3=>({'id':_0x56a0b3['id'],'label':_0x56a0b3[_0x401582(0x1fe)],'beforeParentId':_0x56a0b3[_0x401582(0x1f9)],'afterParentId':_0x401582(0x1da)}))},'dryRun':_0x488f7f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x401582(0x1e9),'method':'POST','path':'/smartapi/menu/regroup','body':_0x5ec066}],'snapshotHash':_0xdaf548[_0x401582(0x22f)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.']});return{'label':_0x376f72,'menuIds':_0x2cf261,'input':_0x5ec066,'plan':_0x4df377};}function findAppliedRegroup(_0x27b863,_0x3f4777,_0x1a4b8a){const _0x500203=a119_0xda2886,_0xd7800d=_0x1a4b8a[_0x500203(0x228)](_0x32053a=>_0x27b863[_0x500203(0x21f)][_0x500203(0x1f0)](_0x32053a))[_0x500203(0x1fc)](_0x3047c5=>Boolean(_0x3047c5));if(_0xd7800d[_0x500203(0x1dd)]!==_0x1a4b8a['length'])return null;const _0x496506=_0xd7800d[0x0]?.[_0x500203(0x1f9)];if(_0x496506==null||_0xd7800d['some'](_0x2c66fb=>_0x2c66fb['parentId']!==_0x496506))return null;const _0x5e7d6d=_0x27b863['byId'][_0x500203(0x1f0)](_0x496506);if(!_0x5e7d6d||_0x5e7d6d[_0x500203(0x1f9)]!=null||_0x5e7d6d[_0x500203(0x20c)][_0x500203(0x1e2)]()[_0x500203(0x210)]()!==_0x500203(0x235)||_0x5e7d6d[_0x500203(0x1fe)]!==_0x3f4777)return null;const _0x5624cb=[..._0x1a4b8a][_0x500203(0x20e)]((_0x2a8fc0,_0x4ca478)=>_0x2a8fc0-_0x4ca478),_0x22fac6=[..._0x5e7d6d[_0x500203(0x232)]][_0x500203(0x20e)]((_0x15f965,_0x48016a)=>_0x15f965-_0x48016a);if(JSON['stringify'](_0x22fac6)!==JSON[_0x500203(0x1e7)](_0x5624cb))return null;return{'group':_0x5e7d6d,'children':_0xd7800d};}async function inspectRegroupAfterFailure(_0x3bba44,_0x194efa,_0x1033e2,_0x4a9a0f){try{const _0x372b15=await fetchMenuSnapshot(_0x3bba44,_0x194efa);return{'applied':findAppliedRegroup(_0x372b15,_0x1033e2,_0x4a9a0f),'readbackError':null};}catch(_0x46e12b){return{'applied':null,'readbackError':_0x46e12b instanceof Error?_0x46e12b['message']:String(_0x46e12b)};}}