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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) 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.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/update-core.js +1 -1
  134. package/lib/commands/menu/shared/valid-url.js +1 -1
  135. package/lib/commands/menu/sync.js +1 -1
  136. package/lib/commands/notification/config-create.js +1 -1
  137. package/lib/commands/notification/config-delete.js +1 -1
  138. package/lib/commands/notification/config-list.js +1 -1
  139. package/lib/commands/notification/config-update.js +1 -1
  140. package/lib/commands/notification/index.js +1 -1
  141. package/lib/commands/notification/shared.js +1 -1
  142. package/lib/commands/ocr/index.js +1 -1
  143. package/lib/commands/page/{standard-page-status.d.ts → create.d.ts} +1 -1
  144. package/lib/commands/page/create.js +1 -0
  145. package/lib/commands/page/{react → custom}/detail.d.ts +1 -1
  146. package/lib/commands/page/custom/detail.js +1 -0
  147. package/lib/commands/page/{react → custom}/list.d.ts +1 -1
  148. package/lib/commands/page/custom/list.js +1 -0
  149. package/lib/commands/page/{react → custom}/publish.d.ts +1 -1
  150. package/lib/commands/page/custom/publish.js +1 -0
  151. package/lib/commands/page/{react → custom}/shared.d.ts +15 -15
  152. package/lib/commands/page/custom/shared.js +1 -0
  153. package/lib/commands/page/{react → custom}/syntax.d.ts +2 -2
  154. package/lib/commands/page/custom/syntax.js +1 -0
  155. package/lib/commands/page/custom/template.js +1 -0
  156. package/lib/commands/page/{react → custom}/update.d.ts +1 -1
  157. package/lib/commands/page/custom/update.js +1 -0
  158. package/lib/commands/page/data-list-status.d.ts +2 -0
  159. package/lib/commands/page/data-list-status.js +1 -0
  160. package/lib/commands/page/generate-start.js +1 -1
  161. package/lib/commands/page/generate-status.js +1 -1
  162. package/lib/commands/page/index.js +1 -1
  163. package/lib/commands/page/pull.js +1 -1
  164. package/lib/commands/page/push.js +1 -1
  165. package/lib/commands/page/relation-audit.js +1 -1
  166. package/lib/commands/page/restore.js +1 -1
  167. package/lib/commands/page/shared.d.ts +18 -18
  168. package/lib/commands/page/shared.js +1 -1
  169. package/lib/commands/page/sync.js +1 -1
  170. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  171. package/lib/commands/project/create/format-elapsed.js +1 -1
  172. package/lib/commands/project/create/main.js +1 -1
  173. package/lib/commands/project/create/materialize-project-template.js +1 -1
  174. package/lib/commands/project/create/project-name.js +1 -1
  175. package/lib/commands/project/create/project-template-archive.js +1 -1
  176. package/lib/commands/project/create/project-template-path.js +1 -1
  177. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  178. package/lib/commands/project/create/use-format-code.js +1 -1
  179. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  180. package/lib/commands/project/index.js +1 -1
  181. package/lib/commands/project/upgrade.js +1 -1
  182. package/lib/commands/registry.js +1 -1
  183. package/lib/commands/role/delete.js +1 -1
  184. package/lib/commands/role/detail.js +1 -1
  185. package/lib/commands/role/index.js +1 -1
  186. package/lib/commands/role/list.js +1 -1
  187. package/lib/commands/role/shared.js +1 -1
  188. package/lib/commands/role/update.js +1 -1
  189. package/lib/commands/role/user-add.js +1 -1
  190. package/lib/commands/role/user-remove.js +1 -1
  191. package/lib/commands/role/user-resolve.js +1 -1
  192. package/lib/commands/run/index.js +1 -1
  193. package/lib/commands/schema.js +1 -1
  194. package/lib/commands/sql/create.js +1 -1
  195. package/lib/commands/sql/delete.js +1 -1
  196. package/lib/commands/sql/detail.js +1 -1
  197. package/lib/commands/sql/exec.js +1 -1
  198. package/lib/commands/sql/index.js +1 -1
  199. package/lib/commands/sql/list.js +1 -1
  200. package/lib/commands/sql/pull.js +1 -1
  201. package/lib/commands/sql/push.js +1 -1
  202. package/lib/commands/sql/shared.js +1 -1
  203. package/lib/commands/sql/status.js +1 -1
  204. package/lib/commands/sql/validate.js +1 -1
  205. package/lib/commands/task/index.js +1 -1
  206. package/lib/commands/task/status.js +1 -1
  207. package/lib/commands/tenant/index.js +1 -1
  208. package/lib/commands/tenant/members-list.js +1 -1
  209. package/lib/commands/tenant/shared.js +1 -1
  210. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  211. package/lib/commands/user-account/index.js +1 -1
  212. package/lib/commands/workspace/add.js +1 -1
  213. package/lib/commands/workspace/index.js +1 -1
  214. package/lib/commands/workspace/remove.js +1 -1
  215. package/lib/config/schema.js +1 -1
  216. package/lib/constant/cdn.js +1 -1
  217. package/lib/constant/cli.js +1 -1
  218. package/lib/constant/defaults.js +1 -1
  219. package/lib/constant/domain.js +1 -1
  220. package/lib/constant/env.js +1 -1
  221. package/lib/constant/output.js +1 -1
  222. package/lib/constant/paths.js +1 -1
  223. package/lib/constant/risk.js +1 -1
  224. package/lib/context/app-resolver.js +1 -1
  225. package/lib/context/auth-resolver.js +1 -1
  226. package/lib/context/config-loader.js +1 -1
  227. package/lib/context.js +1 -1
  228. package/lib/core/alias-resolver.js +1 -1
  229. package/lib/core/api-client.d.ts +43 -43
  230. package/lib/core/api-client.js +1 -1
  231. package/lib/core/bff/config.js +1 -1
  232. package/lib/core/bff/file-system.js +1 -1
  233. package/lib/core/bff/hash.js +1 -1
  234. package/lib/core/bff/lock.js +1 -1
  235. package/lib/core/bff/utils.d.ts +3 -1
  236. package/lib/core/bff/utils.js +1 -1
  237. package/lib/core/db-resolver.js +1 -1
  238. package/lib/core/page/file-system.js +1 -1
  239. package/lib/core/page/hash.js +1 -1
  240. package/lib/core/page/lock.js +1 -1
  241. package/lib/core/sql-index-auditor.js +1 -1
  242. package/lib/core/sql-sync/config.js +1 -1
  243. package/lib/core/sql-sync/file-system.js +1 -1
  244. package/lib/core/sql-sync/hash.js +1 -1
  245. package/lib/core/sql-sync/lock.js +1 -1
  246. package/lib/core/sql-sync/utils.js +1 -1
  247. package/lib/core/sql-validator.js +1 -1
  248. package/lib/errors.js +1 -1
  249. package/lib/framework/build-all-flags.js +1 -1
  250. package/lib/framework/error-output.js +1 -1
  251. package/lib/framework/explicit-yes.js +1 -1
  252. package/lib/framework/flags.js +1 -1
  253. package/lib/framework/help.js +1 -1
  254. package/lib/framework/index.js +1 -1
  255. package/lib/framework/output.js +1 -1
  256. package/lib/framework/response.js +1 -1
  257. package/lib/framework/runner-alias.js +1 -1
  258. package/lib/framework/runner.js +1 -1
  259. package/lib/framework/schema-export.js +1 -1
  260. package/lib/framework/types.js +1 -1
  261. package/lib/generated/build-info.d.ts +4 -4
  262. package/lib/generated/build-info.js +1 -1
  263. package/lib/help.js +1 -1
  264. package/lib/postinstall.js +1 -1
  265. package/lib/runtime/confirmation.js +1 -1
  266. package/lib/runtime/event.js +1 -1
  267. package/lib/runtime/index.js +1 -1
  268. package/lib/runtime/queue.js +1 -1
  269. package/lib/runtime/resolve.js +1 -1
  270. package/lib/skills/builtin-skill.js +1 -1
  271. package/lib/skills/main.js +1 -1
  272. package/lib/skills/npx-skills-add.js +1 -1
  273. package/lib/skills/skill-presence.js +1 -1
  274. package/lib/telemetry/cli-command-trace.js +1 -1
  275. package/lib/telemetry/cli-help-trace.js +1 -1
  276. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  277. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  278. package/lib/telemetry/send-cli-trace-log.js +1 -1
  279. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  280. package/lib/utils/ai_config.js +1 -1
  281. package/lib/utils/apply-jq-filter.js +1 -1
  282. package/lib/utils/cdn-config.js +1 -1
  283. package/lib/utils/check-sdk-version.js +1 -1
  284. package/lib/utils/cli-version-check.js +1 -1
  285. package/lib/utils/cli-version-policy.js +1 -1
  286. package/lib/utils/config.js +1 -1
  287. package/lib/utils/entity-with-id.js +1 -1
  288. package/lib/utils/file-utils.js +1 -1
  289. package/lib/utils/guides-cdn.js +1 -1
  290. package/lib/utils/http-client.js +1 -1
  291. package/lib/utils/is-non-interactive.js +1 -1
  292. package/lib/utils/logger.js +1 -1
  293. package/lib/utils/params.js +1 -1
  294. package/lib/utils/platform.js +1 -1
  295. package/lib/utils/rules-cdn.js +1 -1
  296. package/lib/utils/sleep.js +1 -1
  297. package/lib/utils/template-replacer.js +1 -1
  298. package/lib/utils/update-notice.js +1 -1
  299. package/lib/utils/version.js +1 -1
  300. package/lib/utils/with-active-cookie.js +1 -1
  301. package/lib/utils/write-cli-side-channel.js +1 -1
  302. package/package.json +1 -1
  303. package/skills/rabetbase/SKILL.md +34 -34
  304. package/skills/rabetbase/guides/backend-function.md +63 -18
  305. package/skills/rabetbase/guides/bff-creation-workflow.md +2 -0
  306. package/skills/rabetbase/guides/{react-custom-page-workflow.md → custom-page-workflow.md} +45 -45
  307. package/skills/rabetbase/guides/page-development-workflow.md +22 -22
  308. package/skills/rabetbase/knowledge/{react-page → custom-page}/components.md +2 -2
  309. package/skills/rabetbase/knowledge/{react-page → custom-page}/generation-standards.md +6 -6
  310. package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +6 -6
  311. package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +1 -1
  312. package/skills/rabetbase/references/rabetbase-bff-create.md +2 -0
  313. package/skills/rabetbase/references/{rabetbase-standard-page-status.md → rabetbase-data-list-status.md} +6 -6
  314. package/skills/rabetbase/references/rabetbase-dataset-generate.md +1 -1
  315. package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +1 -1
  316. package/skills/rabetbase/references/rabetbase-dataset-relations.md +1 -1
  317. package/skills/rabetbase/references/rabetbase-dataset-restore.md +1 -1
  318. package/skills/rabetbase/references/rabetbase-menu-list.md +1 -1
  319. package/skills/rabetbase/references/rabetbase-page-create.md +31 -0
  320. package/skills/rabetbase/references/{rabetbase-page-react-detail.md → rabetbase-page-custom-detail.md} +5 -5
  321. package/skills/rabetbase/references/{rabetbase-page-react-list.md → rabetbase-page-custom-list.md} +4 -4
  322. package/skills/rabetbase/references/{rabetbase-page-react-publish.md → rabetbase-page-custom-publish.md} +6 -6
  323. package/skills/rabetbase/references/{rabetbase-page-react-update.md → rabetbase-page-custom-update.md} +6 -6
  324. package/skills/rabetbase/references/rabetbase-page-generate-start.md +5 -4
  325. package/skills/rabetbase/references/rabetbase-page-generate-status.md +4 -4
  326. package/skills/rabetbase/references/rabetbase-page-pull.md +2 -2
  327. package/skills/rabetbase/references/rabetbase-page-relation-binding.md +1 -1
  328. package/skills/rabetbase/references/rabetbase-page-restore.md +7 -7
  329. package/skills/rabetbase/references/rabetbase-page-sync.md +3 -3
  330. package/skills/rabetbase.manifest.json +12 -12
  331. package/lib/commands/page/react/create.d.ts +0 -2
  332. package/lib/commands/page/react/create.js +0 -1
  333. package/lib/commands/page/react/detail.js +0 -1
  334. package/lib/commands/page/react/list.js +0 -1
  335. package/lib/commands/page/react/publish.js +0 -1
  336. package/lib/commands/page/react/shared.js +0 -1
  337. package/lib/commands/page/react/syntax.js +0 -1
  338. package/lib/commands/page/react/template.js +0 -1
  339. package/lib/commands/page/react/update.js +0 -1
  340. package/lib/commands/page/standard-page-status.js +0 -1
  341. package/skills/rabetbase/references/rabetbase-page-react-create.md +0 -29
  342. /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_0x58aba4=a112_0x40e0;(function(_0x2d946c,_0x37c94f){const _0x5ad6aa=a112_0x40e0,_0x39fc79=_0x2d946c();while(!![]){try{const _0x3d29e3=parseInt(_0x5ad6aa(0x218))/0x1*(-parseInt(_0x5ad6aa(0x20a))/0x2)+-parseInt(_0x5ad6aa(0x1f3))/0x3*(parseInt(_0x5ad6aa(0x210))/0x4)+parseInt(_0x5ad6aa(0x26f))/0x5+-parseInt(_0x5ad6aa(0x23e))/0x6*(-parseInt(_0x5ad6aa(0x259))/0x7)+-parseInt(_0x5ad6aa(0x23a))/0x8+-parseInt(_0x5ad6aa(0x224))/0x9+parseInt(_0x5ad6aa(0x25f))/0xa;if(_0x3d29e3===_0x37c94f)break;else _0x39fc79['push'](_0x39fc79['shift']());}catch(_0x4fcfe9){_0x39fc79['push'](_0x39fc79['shift']());}}}(a112_0x45d0,0xe03be));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';function a112_0x45d0(){const _0x4409a7=['External\x20menu\x20URL\x20must\x20use\x20HTTPS.','open-mode','parent','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','expectedSnapshotHash','isSafeInteger','currentSnapshotHash','menu_create_response_invalid','menu_url_https_required','boolean','menu_create_recovery_required','bool','plannedActions','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','write','URL','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','12XSugqX','iframe','\x20with\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Create\x20an\x20external\x20website\x20link\x20menu','9592ZinpHL','menu_mutation_failed','Recovered\x20menu\x20','filter','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','create','menus','120789ciBhKY','has','parent-id','body','rawFlags','Whether\x20the\x20menu\x20is\x20visible','<platform-generated>','fact','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','readbackerror','menu_sort_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','6250797ZoAspx','rawerror','createdId','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','object','create\x20external\x20menu','menu_url_invalid','\x27\x5c\x27\x27','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','menu_permission_denied','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20has\x20an\x20unexpected\x20','/smartapi/menu/create','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','snapshot','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','afterPlan','Menu\x20label','Menu\x20','visibility','sort','menu_url_credentials_forbidden','10190120oMoOuC','map','succeeded','https:','6etRAPL','prototype','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','menu_verification_failed','expectedPath','code','data','hash','create-response-validation','Provide\x20an\x20HTTPS\x20URL.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','includes','embedded','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Created\x20external\x20menu\x20','verification','hasOwnProperty','lookupCommand','recovered','parentId','\x20after\x20response\x20loss.','url','menu_sort_overflow','label','menu_not_found','username','Would\x20create\x20external\x20website\x20link\x20menu\x20','1349250NpNczI','stringify','password','causemessage','flagMissing','menu\x20list','43856030maEizq','new-window','string','str','link','plan','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Recovered\x20created\x20external\x20menu\x20','POST','How\x20to\x20open\x20the\x20external\x20website','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','length','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','trim','path','Run\x20','2935225RZEYFX','Created\x20menu\x20','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','protocol','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','failed','\x20failed\x20final\x20verification.','replace','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','after','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','visible','\x20--format\x20compress','\x20has\x20an\x20unexpected\x20generated\x20path.','type','cookie','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','selector','byId','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu','appCode','External\x20menu\x20creation\x20failed.','1944nYIIHC','menu_open_mode_invalid','isArray','get','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.'];a112_0x45d0=function(){return _0x4409a7;};return a112_0x45d0();}function a112_0x40e0(_0x9cdc96,_0x332088){_0x9cdc96=_0x9cdc96-0x1ed;const _0x45d097=a112_0x45d0();let _0x40e08=_0x45d097[_0x9cdc96];return _0x40e08;}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x58aba4(0x20b),'new-window':a112_0x58aba4(0x263)};export function validateExternalMenuUrl(_0x3efde3){const _0x36e4f3=a112_0x58aba4,_0x54ee1e=_0x3efde3[_0x36e4f3(0x26c)]();let _0x13f751;try{_0x13f751=new URL(_0x54ee1e);}catch{throw menuError(_0x36e4f3(0x22a),_0x36e4f3(0x223),_0x36e4f3(0x214));}if(_0x13f751[_0x36e4f3(0x272)]!==_0x36e4f3(0x23d))throw menuError(_0x36e4f3(0x201),_0x36e4f3(0x1f9),_0x36e4f3(0x247));if(_0x13f751[_0x36e4f3(0x257)]||_0x13f751[_0x36e4f3(0x25b)])throw menuError(_0x36e4f3(0x239),_0x36e4f3(0x22c),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x54ee1e;}export const menuExternalLinkCreate={'service':a112_0x58aba4(0x1f0),'command':'external-link-create','description':a112_0x58aba4(0x20f),'risk':a112_0x58aba4(0x207),'structuredErrors':!![],'flags':[{'name':a112_0x58aba4(0x255),'type':a112_0x58aba4(0x261),'required':!![],'description':a112_0x58aba4(0x235)},{'name':a112_0x58aba4(0x1fa),'type':a112_0x58aba4(0x261),'required':!![],'enum':[a112_0x58aba4(0x24a),a112_0x58aba4(0x260)],'description':a112_0x58aba4(0x268)},{'name':a112_0x58aba4(0x253),'type':a112_0x58aba4(0x261),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x58aba4(0x27b),'type':a112_0x58aba4(0x202),'default':!![],'description':a112_0x58aba4(0x21d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4938c0){validateAddInput(_0x4938c0);},async 'dryRun'(_0x185058){const _0x27eea9=a112_0x58aba4;validateAddInput(_0x185058);const {plan:_0x38cc1b}=await buildSafeAddPlan(_0x185058,!![]),_0x30155f=_0x38cc1b[_0x27eea9(0x278)],_0x12d18a=createBody(_0x30155f);return menuDryRunResult(_0x38cc1b,{'method':_0x27eea9(0x267),'url':_0x27eea9(0x230),'body':_0x12d18a,'description':_0x27eea9(0x258)+JSON[_0x27eea9(0x25a)](_0x30155f[_0x27eea9(0x255)])+_0x27eea9(0x20c)+_0x185058['str']('open-mode')+_0x27eea9(0x220)});},async 'execute'(_0x3335e9){const _0x1cc530=a112_0x58aba4;validateAddInput(_0x3335e9);const _0x3dbfd5=await buildSafeAddPlan(_0x3335e9,![]),{plan:_0x1704c6,snapshot:_0x5cb1a4}=_0x3dbfd5,_0x2c4b7a=_0x1704c6[_0x1cc530(0x278)],_0x432289=buildMenuLookupCommand(_0x3335e9[_0x1cc530(0x1f1)]);await recheckAddSnapshot(_0x3335e9,_0x1704c6);let _0x3c831d;try{_0x3c831d=await createMenuEntity(_0x3335e9[_0x1cc530(0x1f1)],_0x3335e9[_0x1cc530(0x27f)],createBody(_0x2c4b7a));}catch(_0x38adfb){const _0x13865d=mapMenuApiError(_0x38adfb,_0x1cc530(0x229));if(!isMenuResponseLoss(_0x38adfb)||_0x13865d[_0x1cc530(0x243)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x13865d,_0x1704c6,{'stage':_0x1cc530(0x216),'failed':{},'verification':{'status':_0x1cc530(0x274),'lookupCommand':_0x432289}});return recoverAfterResponseLoss(_0x3335e9,_0x3dbfd5,_0x432289);}const _0x2c3d7e=Number(_0x3c831d?.['id']),_0x379407=typeof _0x3c831d?.[_0x1cc530(0x26d)]===_0x1cc530(0x261)?_0x3c831d['path']:'';if(!Number[_0x1cc530(0x1fe)](_0x2c3d7e)||_0x2c3d7e<=0x0||!_0x379407[_0x1cc530(0x26c)]()){const _0x15561f=menuError('menu_create_response_invalid',_0x1cc530(0x22e),_0x1cc530(0x26e)+_0x432289+_0x1cc530(0x240));throw externalLinkCreateFailure(_0x15561f,_0x1704c6,{'stage':_0x1cc530(0x246),'succeeded':Number[_0x1cc530(0x1fe)](_0x2c3d7e)&&_0x2c3d7e>0x0?[{'id':_0x2c3d7e,'created':!![]}]:[],'failed':{'createdId':Number[_0x1cc530(0x1fe)](_0x2c3d7e)?_0x2c3d7e:null,'generatedPathConfirmed':Boolean(_0x379407[_0x1cc530(0x26c)]())},'warnings':[_0x1cc530(0x227)],'after':Number[_0x1cc530(0x1fe)](_0x2c3d7e)&&_0x2c3d7e>0x0?{..._0x2c4b7a,'id':_0x2c3d7e,'path':_0x379407}:_0x2c4b7a,'verification':{'status':'failed','lookupCommand':_0x432289,...Number[_0x1cc530(0x1fe)](_0x2c3d7e)&&_0x2c3d7e>0x0?{'targetId':_0x2c3d7e}:{}}});}const _0x364253=await readAndVerifyCreatedMenu({'appCode':_0x3335e9['appCode'],'cookie':_0x3335e9[_0x1cc530(0x27f)],'plan':_0x1704c6,'afterPlan':_0x2c4b7a,'createdId':_0x2c3d7e,'expectedPath':_0x379407,'lookupCommand':_0x432289,'recovered':![]});return creationSuccess(_0x1704c6,_0x364253[_0x1cc530(0x232)],_0x364253[_0x1cc530(0x21f)],![]);}};function validateAddInput(_0x112034){const _0x4c1c72=a112_0x58aba4;if(!_0x112034[_0x4c1c72(0x262)](_0x4c1c72(0x255))[_0x4c1c72(0x26c)]())throw CliErrors[_0x4c1c72(0x25d)](_0x4c1c72(0x255));resolveExternalMenuType(_0x112034),validateExternalMenuUrl(_0x112034[_0x4c1c72(0x262)](_0x4c1c72(0x253))),parseParentId(_0x112034,'parent-id'),validateSort(_0x112034);}function resolveExternalMenuType(_0x1d1adc){const _0x3d95fc=a112_0x58aba4,_0xe53d8c=_0x1d1adc[_0x3d95fc(0x262)](_0x3d95fc(0x1fa))[_0x3d95fc(0x26c)]();if(!_0xe53d8c)throw CliErrors['flagMissing']('open-mode');const _0xea5752=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0xe53d8c];if(!_0xea5752)throw menuError(_0x3d95fc(0x1f4),_0x3d95fc(0x1ef),_0x3d95fc(0x26b));return _0xea5752;}async function buildAddPlan(_0xdb4931,_0x5ec3d4){const _0x1172c4=a112_0x58aba4,_0xe7ba46=await fetchMutationSnapshot(_0xdb4931,_0x1172c4(0x229)),_0x5783e7=parseParentId(_0xdb4931,_0x1172c4(0x21a))??null;if(_0x5783e7!=null)requireFolder(_0xe7ba46,_0x5783e7);const _0x112904=validateSort(_0xdb4931),_0x22ba45=_0x112904??nextSiblingSort(_0xe7ba46,_0x5783e7,'menu'),_0x220833=_0xdb4931[_0x1172c4(0x262)](_0x1172c4(0x255))['trim'](),_0x130170=resolveExternalMenuType(_0xdb4931),_0x43d89e=validateExternalMenuUrl(_0xdb4931[_0x1172c4(0x262)](_0x1172c4(0x253))),_0x111466=Object[_0x1172c4(0x23f)][_0x1172c4(0x24e)]['call'](_0xdb4931[_0x1172c4(0x21c)],_0x1172c4(0x27b))?_0xdb4931[_0x1172c4(0x204)](_0x1172c4(0x27b)):!![],_0x3997b5={'id':null,'parentId':_0x5783e7,'label':_0x220833,'path':_0x1172c4(0x21e),'url':_0x43d89e,'type':_0x130170,'visible':_0x111466,'sort':_0x22ba45},_0x434557=buildMenuLookupCommand(_0xdb4931[_0x1172c4(0x1f1)]),_0x45fe52=mutationResult({'operation':'add','selector':{'parentId':_0x5783e7,'type':_0x130170,'label':_0x220833,'url':_0x43d89e},'before':null,'after':_0x3997b5,'dryRun':_0x5ec3d4,'backend':[{'method':_0x1172c4(0x267),'path':_0x1172c4(0x230)}],'plannedActions':[{'stage':'create-menu','method':_0x1172c4(0x267),'path':_0x1172c4(0x230),'body':createBody(_0x3997b5)}],'snapshotHash':_0xe7ba46[_0x1172c4(0x245)],'warnings':[_0x1172c4(0x20e)],'verification':{'lookupCommand':_0x434557}});return{'plan':_0x45fe52,'snapshot':_0xe7ba46};}async function buildSafeAddPlan(_0x1f5afd,_0xf4e679){try{return await buildAddPlan(_0x1f5afd,_0xf4e679);}catch(_0x48e577){throw safeMenuAddError(_0x48e577);}}async function recheckAddSnapshot(_0x1d1ee4,_0x19f899){const _0x68b9f8=a112_0x58aba4;try{await recheckMutationSnapshot(_0x1d1ee4,_0x19f899,_0x68b9f8(0x229));}catch(_0x475d77){const _0x190d81=getFailureRecord(_0x475d77);throw externalLinkCreateFailure(_0x475d77,_0x19f899,{'stage':'pre-write-recheck','failed':{..._0x190d81?.[_0x68b9f8(0x1fd)]?{'expectedSnapshotHash':_0x190d81[_0x68b9f8(0x1fd)]}:{},..._0x190d81?.[_0x68b9f8(0x1ff)]?{'currentSnapshotHash':_0x190d81['currentSnapshotHash']}:{}}});}}function createBody(_0x46ef08){const _0x29c0a9=a112_0x58aba4;return{'parentId':toApiParentId(_0x46ef08[_0x29c0a9(0x251)]),'label':String(_0x46ef08[_0x29c0a9(0x255)]),'type':String(_0x46ef08[_0x29c0a9(0x27e)]),'url':String(_0x46ef08[_0x29c0a9(0x253)]),'visible':Boolean(_0x46ef08[_0x29c0a9(0x27b)]),'sort':Number(_0x46ef08['sort']),'extend':{}};}function buildMenuLookupCommand(_0x5c0608){const _0x46dd69=a112_0x58aba4,_0x3de467='\x27'+_0x5c0608['replace'](/'/g,_0x46dd69(0x22b))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3de467+_0x46dd69(0x27c);}async function recoverAfterResponseLoss(_0x567edd,_0x141c06,_0x3326be){const _0x33d576=a112_0x58aba4,{plan:_0x4d21a0,snapshot:_0x37ff0e}=_0x141c06,_0x23aa84=_0x4d21a0[_0x33d576(0x278)];let _0x240f5a;try{_0x240f5a=await fetchMenuSnapshot(_0x567edd[_0x33d576(0x1f1)],_0x567edd[_0x33d576(0x27f)]);}catch(_0xacb9c8){throw recoveryRequiredFailure(_0x4d21a0,_0x3326be,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x43f6f3=_0x240f5a[_0x33d576(0x217)]['filter'](_0x1e0313=>_0x1e0313['parentId']===_0x23aa84['parentId']&&_0x1e0313[_0x33d576(0x27e)]===_0x23aa84[_0x33d576(0x27e)]&&_0x1e0313['label']===_0x23aa84[_0x33d576(0x255)]&&_0x1e0313['url']===_0x23aa84[_0x33d576(0x253)]),_0x5182bd=_0x43f6f3['filter'](_0x36b652=>!_0x37ff0e['byId'][_0x33d576(0x219)](_0x36b652['id'])),_0x4b9810=_0x43f6f3[_0x33d576(0x213)](_0x17594b=>_0x37ff0e['byId']['has'](_0x17594b['id']));if(_0x43f6f3[_0x33d576(0x26a)]!==0x1||_0x5182bd[_0x33d576(0x26a)]!==0x1)throw recoveryRequiredFailure(_0x4d21a0,_0x3326be,{'matchCount':_0x43f6f3[_0x33d576(0x26a)],'newMatchCount':_0x5182bd[_0x33d576(0x26a)],'preexistingMatchCount':_0x4b9810['length']});const _0x21a32c=_0x5182bd[0x0];try{verifyCreatedFact(_0x21a32c,_0x21a32c['id'],_0x23aa84,null);}catch(_0x231af7){const _0x21a296=_0x231af7 instanceof Error&&_0x33d576(0x243)in _0x231af7?_0x231af7:menuError('menu_verification_failed',_0x33d576(0x212)+_0x21a32c['id']+'\x20could\x20not\x20be\x20verified.',_0x33d576(0x26e)+_0x3326be+_0x33d576(0x273));throw externalLinkCreateFailure(_0x21a296,_0x4d21a0,{'stage':_0x33d576(0x24d),'succeeded':[{'id':_0x21a32c['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x21a32c['id'],'finalFactsConfirmed':![]},'after':_0x21a32c,'warnings':[_0x33d576(0x236)+_0x21a32c['id']+_0x33d576(0x209)],'verification':{'status':_0x33d576(0x274),'targetId':_0x21a32c['id'],'recovered':!![],'lookupCommand':_0x3326be}});}return creationSuccess(_0x4d21a0,_0x240f5a,_0x21a32c,!![]);}function recoveryRequiredFailure(_0x4fcdde,_0x2440bd,_0x9662b){const _0x59f487=a112_0x58aba4,_0x49ac81=menuError(_0x59f487(0x203),_0x59f487(0x1f8),_0x59f487(0x26e)+_0x2440bd+_0x59f487(0x271));return externalLinkCreateFailure(_0x49ac81,_0x4fcdde,{'stage':'create-recovery','failed':_0x9662b,'warnings':[_0x59f487(0x277)],'verification':{'status':_0x59f487(0x274),..._0x9662b,'lookupCommand':_0x2440bd}});}async function readAndVerifyCreatedMenu(_0x41385d){const _0x583dbc=a112_0x58aba4;let _0x391c20;try{_0x391c20=await fetchMenuSnapshot(_0x41385d['appCode'],_0x41385d['cookie']);}catch(_0x3334d8){const _0x3e42c7=menuError(_0x583dbc(0x241),_0x583dbc(0x236)+_0x41385d['createdId']+_0x583dbc(0x265),_0x583dbc(0x26e)+_0x41385d[_0x583dbc(0x24f)]+_0x583dbc(0x269));throw externalLinkCreateFailure(_0x3e42c7,_0x41385d[_0x583dbc(0x264)],{'stage':_0x583dbc(0x24d),'succeeded':[{'id':_0x41385d[_0x583dbc(0x226)],'created':!![]}],'failed':{'id':_0x41385d['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x41385d[_0x583dbc(0x234)],'id':_0x41385d['createdId'],'path':_0x41385d[_0x583dbc(0x242)]},'warnings':[_0x583dbc(0x236)+_0x41385d[_0x583dbc(0x226)]+_0x583dbc(0x248)],'verification':{'status':'failed','targetId':_0x41385d['createdId'],'lookupCommand':_0x41385d['lookupCommand']}});}const _0x127b05=_0x391c20[_0x583dbc(0x1ee)][_0x583dbc(0x1f6)](_0x41385d[_0x583dbc(0x226)]);try{if(!_0x127b05)throw menuError(_0x583dbc(0x241),_0x583dbc(0x270)+_0x41385d[_0x583dbc(0x226)]+_0x583dbc(0x233),_0x583dbc(0x26e)+_0x41385d[_0x583dbc(0x24f)]+_0x583dbc(0x269));verifyCreatedFact(_0x127b05,_0x41385d[_0x583dbc(0x226)],_0x41385d[_0x583dbc(0x234)],_0x41385d[_0x583dbc(0x242)]);}catch(_0x521191){const _0x247b0c=_0x521191 instanceof Error&&_0x583dbc(0x243)in _0x521191?_0x521191:menuError('menu_verification_failed',_0x583dbc(0x270)+_0x41385d['createdId']+_0x583dbc(0x275),_0x583dbc(0x26e)+_0x41385d[_0x583dbc(0x24f)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x247b0c,_0x41385d['plan'],{'stage':'verification','succeeded':[{'id':_0x41385d[_0x583dbc(0x226)],'created':!![]}],'failed':{'id':_0x41385d[_0x583dbc(0x226)],'finalFactsConfirmed':![]},'after':_0x127b05??{..._0x41385d[_0x583dbc(0x234)],'id':_0x41385d[_0x583dbc(0x226)],'path':_0x41385d[_0x583dbc(0x242)]},'warnings':[_0x583dbc(0x236)+_0x41385d[_0x583dbc(0x226)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x583dbc(0x274),'targetId':_0x41385d[_0x583dbc(0x226)],'recovered':_0x41385d[_0x583dbc(0x250)],'lookupCommand':_0x41385d[_0x583dbc(0x24f)]}});}return{'snapshot':_0x391c20,'fact':_0x127b05};}function verifyCreatedFact(_0x3c5793,_0x355a46,_0x290340,_0x408dbe){const _0x2aa752=a112_0x58aba4;if(!Number[_0x2aa752(0x1fe)](_0x3c5793['id'])||_0x3c5793['id']<=0x0||_0x3c5793['id']!==_0x355a46)throw menuError(_0x2aa752(0x241),_0x2aa752(0x1fc),_0x2aa752(0x231));const _0x47fa15=[[_0x2aa752(0x1fb),_0x3c5793[_0x2aa752(0x251)],_0x290340[_0x2aa752(0x251)]],[_0x2aa752(0x27e),_0x3c5793['type'],_0x290340['type']],[_0x2aa752(0x255),_0x3c5793['label'],_0x290340[_0x2aa752(0x255)]],[_0x2aa752(0x208),_0x3c5793[_0x2aa752(0x253)],_0x290340['url']],[_0x2aa752(0x237),_0x3c5793[_0x2aa752(0x27b)],_0x290340[_0x2aa752(0x27b)]],[_0x2aa752(0x238),_0x3c5793[_0x2aa752(0x238)],_0x290340[_0x2aa752(0x238)]]];for(const [_0x2870a4,_0x20b98e,_0x11ebe1]of _0x47fa15){if(_0x20b98e!==_0x11ebe1)throw menuError(_0x2aa752(0x241),_0x2aa752(0x270)+_0x3c5793['id']+_0x2aa752(0x22f)+_0x2870a4+'.',_0x2aa752(0x24b));}if(!_0x3c5793[_0x2aa752(0x26d)][_0x2aa752(0x26c)]()||_0x408dbe!==null&&_0x3c5793[_0x2aa752(0x26d)]!==_0x408dbe)throw menuError(_0x2aa752(0x241),'Created\x20menu\x20'+_0x3c5793['id']+_0x2aa752(0x27d),_0x2aa752(0x24b));}function creationSuccess(_0x2d3b40,_0x7d6574,_0x2c01ca,_0x4ebe49){const _0x4ed6f7=a112_0x58aba4,_0x56c41f=mutationResult({..._0x2d3b40,'after':_0x2c01ca,'dryRun':![],'succeeded':[{'id':_0x2c01ca['id'],'created':!![],'recovered':_0x4ebe49}],'verification':{'checkedBy':_0x4ed6f7(0x25e),'snapshotHash':_0x7d6574[_0x4ed6f7(0x245)],'targetId':_0x2c01ca['id'],'recovered':_0x4ebe49,'path':_0x2c01ca[_0x4ed6f7(0x26d)]}});return{'ok':!![],'message':_0x4ebe49?_0x4ed6f7(0x266)+_0x2c01ca['id']+_0x4ed6f7(0x252):_0x4ed6f7(0x24c)+_0x2c01ca['id']+'.','data':{..._0x56c41f,'recovered':_0x4ebe49}};}function externalLinkCreateFailure(_0x3434d1,_0x35b5ad,_0x58f736){const _0x4cccbb=a112_0x58aba4;return menuFailure(safeMenuAddError(_0x3434d1),redactFailurePlan(_0x35b5ad),{..._0x58f736,'succeeded':_0x58f736['succeeded']?.['map'](redactFailureRecord),'failed':_0x58f736[_0x4cccbb(0x274)]?redactFailureRecord(_0x58f736[_0x4cccbb(0x274)]):undefined,'verification':_0x58f736['verification']?redactFailureRecord(_0x58f736[_0x4cccbb(0x24d)]):undefined,'after':_0x58f736[_0x4cccbb(0x278)]===undefined?undefined:redactFailureValue(_0x58f736['after'])});}function redactFailurePlan(_0xd5918){const _0x1009a7=a112_0x58aba4;return{..._0xd5918,'selector':redactFailureRecord(_0xd5918[_0x1009a7(0x1ed)]),'before':redactFailureValue(_0xd5918['before']),'after':redactFailureValue(_0xd5918[_0x1009a7(0x278)]),'plannedActions':_0xd5918[_0x1009a7(0x205)]?.['map'](_0x4cfe46=>({..._0x4cfe46,'body':redactFailureRecord(_0x4cfe46[_0x1009a7(0x21b)])})),'succeeded':_0xd5918[_0x1009a7(0x23c)][_0x1009a7(0x23b)](redactFailureRecord),'failed':_0xd5918['failed'][_0x1009a7(0x23b)](redactFailureRecord),'verification':_0xd5918[_0x1009a7(0x24d)]?redactFailureRecord(_0xd5918[_0x1009a7(0x24d)]):undefined};}function redactFailureRecord(_0x4d2d61){return redactFailureValue(_0x4d2d61);}function redactFailureValue(_0x5eaf11,_0x32f3c9=''){const _0x2edcc6=a112_0x58aba4,_0x37316f=_0x32f3c9['toLowerCase']()[_0x2edcc6(0x276)](/[^a-z0-9]/g,'');if(['cause',_0x2edcc6(0x25c),_0x2edcc6(0x221),_0x2edcc6(0x225)][_0x2edcc6(0x249)](_0x37316f))return'<redacted>';if(Array[_0x2edcc6(0x1f5)](_0x5eaf11))return _0x5eaf11[_0x2edcc6(0x23b)](_0x1b552e=>redactFailureValue(_0x1b552e));if(_0x5eaf11&&typeof _0x5eaf11===_0x2edcc6(0x228))return Object['fromEntries'](Object['entries'](_0x5eaf11)['map'](([_0x20ad48,_0x108ba7])=>[_0x20ad48,redactFailureValue(_0x108ba7,_0x20ad48)]));return _0x5eaf11;}function safeMenuAddError(_0x12a892){const _0x3be113=a112_0x58aba4,_0x4fa072=_0x12a892 instanceof CliError?_0x12a892[_0x3be113(0x243)]:_0x3be113(0x211);switch(_0x4fa072){case'menu_state_drift':return menuError(_0x4fa072,_0x3be113(0x1f7),_0x3be113(0x20d));case _0x3be113(0x22d):return menuError(_0x4fa072,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x3be113(0x200):return menuError(_0x4fa072,_0x3be113(0x27a),_0x3be113(0x215));case _0x3be113(0x241):return menuError(_0x4fa072,_0x3be113(0x280),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x3be113(0x203):return menuError(_0x4fa072,_0x3be113(0x206),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x3be113(0x211):case _0x3be113(0x256):case'menu_parent_not_folder':case _0x3be113(0x222):case _0x3be113(0x254):return menuError(_0x4fa072,_0x3be113(0x1f2),_0x3be113(0x279));default:return menuError('menu_mutation_failed',_0x3be113(0x1f2),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x4754ce){const _0x1fa19f=a112_0x58aba4;if(!(_0x4754ce instanceof Error)||!('data'in _0x4754ce))return undefined;const _0xee9d1=_0x4754ce[_0x1fa19f(0x244)];if(!_0xee9d1||typeof _0xee9d1!==_0x1fa19f(0x228))return undefined;const _0x1cf991=_0xee9d1['failed'];if(!Array[_0x1fa19f(0x1f5)](_0x1cf991)||!_0x1cf991[0x0]||typeof _0x1cf991[0x0]!==_0x1fa19f(0x228))return undefined;return _0x1cf991[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
+ function a113_0x3870(_0x29e55f,_0x53d063){_0x29e55f=_0x29e55f-0xe1;const _0x5dc498=a113_0x5dc4();let _0x3870dd=_0x5dc498[_0x29e55f];return _0x3870dd;}const a113_0x4acce3=a113_0x3870;(function(_0x147793,_0x21b9cf){const _0x2cf4f6=a113_0x3870,_0x3669db=_0x147793();while(!![]){try{const _0x16f6e6=parseInt(_0x2cf4f6(0x125))/0x1+-parseInt(_0x2cf4f6(0x11c))/0x2*(-parseInt(_0x2cf4f6(0xf4))/0x3)+-parseInt(_0x2cf4f6(0x12d))/0x4*(-parseInt(_0x2cf4f6(0x11f))/0x5)+-parseInt(_0x2cf4f6(0xee))/0x6+parseInt(_0x2cf4f6(0x115))/0x7*(-parseInt(_0x2cf4f6(0x102))/0x8)+-parseInt(_0x2cf4f6(0x10f))/0x9*(-parseInt(_0x2cf4f6(0x114))/0xa)+-parseInt(_0x2cf4f6(0xfd))/0xb;if(_0x16f6e6===_0x21b9cf)break;else _0x3669db['push'](_0x3669db['shift']());}catch(_0x21fb50){_0x3669db['push'](_0x3669db['shift']());}}}(a113_0x5dc4,0x3f66f));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_0x4acce3(0xf6),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a113_0x4acce3(0x106),'command':a113_0x4acce3(0x105),'description':a113_0x4acce3(0xf9),'risk':a113_0x4acce3(0x12c),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x4acce3(0x119),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x4acce3(0x133),'type':a113_0x4acce3(0xec),'required':!![],'description':a113_0x4acce3(0x109)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2d3221){validateInput(_0x2d3221);},async 'dryRun'(_0x46cf48){const _0x1b633a=a113_0x4acce3;validateInput(_0x46cf48);const _0x33a4c7=await buildPlan(_0x46cf48,!![]);return menuDryRunResult(_0x33a4c7[_0x1b633a(0xff)],{'method':_0x1b633a(0xf6),'url':_0x1b633a(0x12e),'body':_0x33a4c7[_0x1b633a(0x127)],'description':_0x1b633a(0xeb)+_0x33a4c7['body']['id']+'.'});},async 'execute'(_0x187df2){const _0x5eccdb=a113_0x4acce3;validateInput(_0x187df2);const _0x4062d3=await buildPlan(_0x187df2,![]),{plan:_0xa7482c,body:_0x8b2088,before:_0x24c620,noChanges:_0x5728eb}=_0x4062d3,_0xf103a7=_0x8b2088['id'];if(_0x5728eb)return updateSuccess(_0xa7482c,_0x4062d3[_0x5eccdb(0xe9)],_0x24c620,!![],![]);await recheckMutationSnapshot(_0x187df2,_0xa7482c,_0x5eccdb(0x121),_0xf103a7);try{await updateMenuEntity(_0x187df2[_0x5eccdb(0xfe)],_0x187df2[_0x5eccdb(0x118)],{'id':_0x8b2088['id'],'url':_0x8b2088[_0x5eccdb(0x119)]});}catch(_0x52be89){const _0xf9a951=mapMenuApiError(_0x52be89,_0x5eccdb(0x121),_0xf103a7);if(isMenuResponseLoss(_0x52be89)&&_0xf9a951['code']!=='menu_permission_denied')return recoverAfterResponseLoss(_0x187df2,_0x4062d3);throw menuFailure(_0xf9a951,_0xa7482c,{'stage':_0x5eccdb(0x128),'failed':{'id':_0xf103a7},'warnings':[_0x5eccdb(0xe3)],'verification':{'status':_0x5eccdb(0x112),'targetId':_0xf103a7,'lookupCommand':buildLookupCommand(_0x187df2[_0x5eccdb(0xfe)])}});}let _0x2874c2,_0x15cfc7;try{_0x2874c2=await fetchMenuSnapshot(_0x187df2[_0x5eccdb(0xfe)],_0x187df2[_0x5eccdb(0x118)]),_0x15cfc7=requireMenu(_0x2874c2,_0xf103a7),verifyUpdatedFact(_0x24c620,_0x15cfc7,_0x8b2088['url']);}catch(_0x1f93ef){const _0x411667=describeMenuErrorCause(_0x1f93ef,_0x5eccdb(0xf7),_0xf103a7),_0xaec685=asVerificationError(_0x1f93ef,_0x5eccdb(0x120)+_0xf103a7+_0x5eccdb(0x132));throw menuFailure(_0xaec685,_0xa7482c,{'stage':_0x5eccdb(0x10e),'succeeded':[{'id':_0xf103a7,'updateRequested':!![]}],'failed':{'id':_0xf103a7,'requestedStateConfirmed':![],..._0x411667},'warnings':[_0x5eccdb(0x129)],'verification':{'status':'failed','targetId':_0xf103a7,'lookupCommand':buildLookupCommand(_0x187df2[_0x5eccdb(0xfe)])}});}return updateSuccess(_0xa7482c,_0x2874c2,_0x15cfc7,![],![]);}};function validateInput(_0xa54376){const _0x39debb=a113_0x4acce3;validateExactId(_0xa54376),requiredUrl(_0xa54376,_0x39debb(0x119)),requiredExpectedUrl(_0xa54376),parseParentId(_0xa54376,_0x39debb(0x10a),{'required':!![]});}function requiredUrl(_0x47ad9a,_0x447c80){const _0x29ae9e=a113_0x4acce3;if(!hasFlag(_0x47ad9a,_0x447c80)||!_0x47ad9a[_0x29ae9e(0x110)](_0x447c80)[_0x29ae9e(0xe5)]())throw CliErrors[_0x29ae9e(0xe7)](_0x447c80);return validateExternalMenuUrl(_0x47ad9a[_0x29ae9e(0x110)](_0x447c80));}function requiredExpectedUrl(_0x378ac2){const _0x18bd6a=a113_0x4acce3;if(!hasFlag(_0x378ac2,'expect-url')||!_0x378ac2['str'](_0x18bd6a(0x133))[_0x18bd6a(0xe5)]())throw CliErrors['flagMissing'](_0x18bd6a(0x133));return _0x378ac2[_0x18bd6a(0x110)](_0x18bd6a(0x133))['trim']();}function a113_0x5dc4(){const _0xb59bcb=['Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','string','Response\x20was\x20lost\x20and\x20menu\x20','3001116BgzPjd','\x20changed\x20during\x20the\x20URL-only\x20update.','childrenCount','rabetbase\x20menu\x20list\x20--appcode\x20','menu\x20list','label','720096tsyLCX','\x20direct\x20child\x20menu(s).','POST','verify\x20external\x20menu\x20URL\x20update','path','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','requestedUrlObserved','menu_state_drift','\x20URL\x20update\x20did\x20not\x20take\x20effect.','3975895asScSw','appCode','plan','after','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','8GjuytO','hash',',\x20current\x20','external-link-update','menu','Menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','expect-parent-id','\x27\x5c\x27\x27','byId','update-external-link-url','verification','202518kTqODw','str','readbackFailed','failed','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','110QHqWYn','659183McqzwN','visible','Run\x20','cookie','url','type','menu_external_link_type_required','4jVvzbe','\x20could\x20not\x20be\x20verified\x20safely','sort','1053385dIzRKD','Update\x20request\x20for\x20menu\x20','update\x20external\x20menu\x20URL','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','parentId','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','277232DgIHMo','iframe','body','update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','link','replace','write','4HLxSKO','/smartapi/menu/update','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','expect-url','get','Updated\x20external\x20URL\x20for\x20menu\x20','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','update-recovery','trim','\x20has\x20an\x20empty\x20platform\x20path.','flagMissing','menu_update_recovery_required','snapshot','\x20already\x20matches\x20the\x20requested\x20URL.'];a113_0x5dc4=function(){return _0xb59bcb;};return a113_0x5dc4();}async function buildPlan(_0x328c85,_0xee8112){const _0x14fd44=a113_0x4acce3,_0xbe52e6=validateExactId(_0x328c85),_0x5261db=requiredUrl(_0x328c85,'url'),_0x3da25d=requiredExpectedUrl(_0x328c85),_0x1c4f6c=parseParentId(_0x328c85,_0x14fd44(0x10a),{'required':!![]}),_0x1eda45=await fetchMutationSnapshot(_0x328c85,_0x14fd44(0x121),_0xbe52e6),_0x535c21=requireMenu(_0x1eda45,_0xbe52e6);assertExternalLinkLeaf(_0x535c21);if(_0x535c21[_0x14fd44(0x123)]!==_0x1c4f6c)throw menuError(_0x14fd44(0xfb),_0x14fd44(0x107)+_0xbe52e6+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x1c4f6c)+_0x14fd44(0x104)+formatParent(_0x535c21[_0x14fd44(0x123)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x38f1b8=_0x535c21[_0x14fd44(0x119)]===_0x5261db;if(!_0x38f1b8&&_0x535c21[_0x14fd44(0x119)]!==_0x3da25d)throw menuError(_0x14fd44(0xfb),_0x14fd44(0x107)+_0xbe52e6+_0x14fd44(0x113),_0x14fd44(0x124));const _0x2d3e76={'id':_0xbe52e6,'appCode':_0x328c85[_0x14fd44(0xfe)],'url':_0x5261db},_0x1774bf={..._0x535c21,'url':_0x5261db};return{'body':_0x2d3e76,'before':_0x535c21,'noChanges':_0x38f1b8,'snapshot':_0x1eda45,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0xbe52e6},'before':_0x535c21,'after':_0x1774bf,'dryRun':_0xee8112,'backend':[...BACKEND],'plannedActions':_0x38f1b8?[]:[{'stage':_0x14fd44(0x10d),'method':_0x14fd44(0xf6),'path':_0x14fd44(0x12e),'body':_0x2d3e76}],'snapshotHash':_0x1eda45[_0x14fd44(0x103)],'warnings':_0x38f1b8?[_0x14fd44(0x12f)]:[]})};}function assertExternalLinkLeaf(_0x2f614b){const _0x967ae3=a113_0x4acce3;if(_0x2f614b[_0x967ae3(0x11a)]!==_0x967ae3(0x126)&&_0x2f614b[_0x967ae3(0x11a)]!==_0x967ae3(0x12a))throw menuError(_0x967ae3(0x11b),_0x967ae3(0x107)+_0x2f614b['id']+'\x20is\x20type\x20\x22'+(_0x2f614b[_0x967ae3(0x11a)]||'unknown')+'\x22,\x20not\x20iframe\x20or\x20link.',_0x967ae3(0x101));if(_0x2f614b[_0x967ae3(0xf0)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x967ae3(0x107)+_0x2f614b['id']+'\x20has\x20'+_0x2f614b['childrenCount']+_0x967ae3(0xf5),_0x967ae3(0x130));if(!_0x2f614b['path'][_0x967ae3(0xe5)]())throw menuError('menu_external_link_path_missing','Menu\x20'+_0x2f614b['id']+_0x967ae3(0xe6),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x22ea97,_0x1faa99,_0x458fc0){const _0x1680ae=a113_0x4acce3;assertExternalLinkLeaf(_0x1faa99);const _0x362f9d=[['id',_0x1faa99['id'],_0x22ea97['id']],[_0x1680ae(0xf3),_0x1faa99[_0x1680ae(0xf3)],_0x22ea97[_0x1680ae(0xf3)]],[_0x1680ae(0x11a),_0x1faa99[_0x1680ae(0x11a)],_0x22ea97['type']],['path',_0x1faa99[_0x1680ae(0xf8)],_0x22ea97[_0x1680ae(0xf8)]],[_0x1680ae(0x123),_0x1faa99[_0x1680ae(0x123)],_0x22ea97['parentId']],[_0x1680ae(0x11e),_0x1faa99[_0x1680ae(0x11e)],_0x22ea97[_0x1680ae(0x11e)]],[_0x1680ae(0x116),_0x1faa99[_0x1680ae(0x116)],_0x22ea97[_0x1680ae(0x116)]]];for(const [_0x1ad98c,_0x1f84a1,_0x325514]of _0x362f9d){assertVerified(_0x1f84a1===_0x325514,_0x1680ae(0x107)+_0x22ea97['id']+'\x20'+_0x1ad98c+_0x1680ae(0xef));}assertVerified(_0x1faa99[_0x1680ae(0x119)]===_0x458fc0,_0x1680ae(0x107)+_0x22ea97['id']+_0x1680ae(0xfc));}function updateSuccess(_0x5caa2e,_0x32ed08,_0x4d3640,_0x43e00d,_0x379032){const _0x3fb4d5=a113_0x4acce3,_0x3b61fa=_0x4d3640['id'],_0x4300d5=mutationResult({..._0x5caa2e,'after':_0x4d3640,'dryRun':![],'succeeded':[{'id':_0x3b61fa,'updated':!_0x43e00d,'skipped':_0x43e00d,'recovered':_0x379032}],'verification':{'checkedBy':_0x3fb4d5(0xf2),'snapshotHash':_0x32ed08[_0x3fb4d5(0x103)],'targetId':_0x3b61fa,'matchesRequestedState':!![],'recovered':_0x379032}});return{'ok':!![],'message':_0x379032?_0x3fb4d5(0x131)+_0x3b61fa+'.':_0x43e00d?'Menu\x20'+_0x3b61fa+_0x3fb4d5(0xea):_0x3fb4d5(0xe2)+_0x3b61fa+'.','data':{..._0x4300d5,'recovered':_0x379032}};}async function recoverAfterResponseLoss(_0x5a86ff,_0x86755d){const _0x59417f=a113_0x4acce3,{plan:_0x5f2dbb,before:_0x137164,body:_0x6afe42}=_0x86755d;let _0x3514de;try{_0x3514de=await fetchMenuSnapshot(_0x5a86ff['appCode'],_0x5a86ff[_0x59417f(0x118)]);}catch{throw recoveryRequired(_0x5f2dbb,_0x5a86ff[_0x59417f(0xfe)],{'id':_0x6afe42['id'],'readbackFailed':!![]});}const _0x180e85=_0x3514de[_0x59417f(0x10c)][_0x59417f(0xe1)](_0x6afe42['id']);if(!_0x180e85||_0x180e85[_0x59417f(0x119)]!==_0x6afe42[_0x59417f(0x119)])throw recoveryRequired(_0x5f2dbb,_0x5a86ff['appCode'],{'id':_0x6afe42['id'],'requestedUrlObserved':![],'after':_0x180e85??null});try{verifyUpdatedFact(_0x137164,_0x180e85,_0x6afe42[_0x59417f(0x119)]);}catch(_0x2eaadd){const _0x2ff345=asVerificationError(_0x2eaadd,_0x59417f(0xed)+_0x6afe42['id']+_0x59417f(0x11d));throw menuFailure(_0x2ff345,_0x5f2dbb,{'stage':_0x59417f(0xe4),'succeeded':[{'id':_0x6afe42['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x6afe42['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x180e85,'warnings':[_0x59417f(0x122)],'verification':{'status':_0x59417f(0x112),'targetId':_0x6afe42['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5a86ff[_0x59417f(0xfe)])}});}return updateSuccess(_0x5f2dbb,_0x3514de,_0x180e85,![],!![]);}function recoveryRequired(_0x105002,_0x156059,_0x5ea137){const _0x1b2174=a113_0x4acce3,_0x3d22e6=menuError(_0x1b2174(0xe8),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x1b2174(0x117)+buildLookupCommand(_0x156059)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x3d22e6,_0x105002,{'stage':_0x1b2174(0xe4),'failed':{'id':_0x5ea137['id'],..._0x5ea137[_0x1b2174(0xfa)]===undefined?{}:{'requestedUrlObserved':_0x5ea137[_0x1b2174(0xfa)]},..._0x5ea137['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x5ea137[_0x1b2174(0x100)],'warnings':[_0x1b2174(0x108)],'verification':{'status':_0x1b2174(0x112),'targetId':_0x5ea137['id'],..._0x5ea137[_0x1b2174(0xfa)]===undefined?{}:{'requestedUrlObserved':_0x5ea137[_0x1b2174(0xfa)]},..._0x5ea137[_0x1b2174(0x111)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x156059)}});}function buildLookupCommand(_0x87beca){const _0x32cf90=a113_0x4acce3,_0x206895='\x27'+_0x87beca[_0x32cf90(0x12b)](/'/g,_0x32cf90(0x10b))+'\x27';return _0x32cf90(0xf1)+_0x206895+'\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_0x5b4b14=a114_0x2e60;(function(_0x2c0d6d,_0x1d1a7e){const _0x4e25ec=a114_0x2e60,_0x3148b5=_0x2c0d6d();while(!![]){try{const _0x5b376d=-parseInt(_0x4e25ec(0x134))/0x1+parseInt(_0x4e25ec(0x13d))/0x2+-parseInt(_0x4e25ec(0x114))/0x3+-parseInt(_0x4e25ec(0x138))/0x4+-parseInt(_0x4e25ec(0x122))/0x5*(-parseInt(_0x4e25ec(0x113))/0x6)+-parseInt(_0x4e25ec(0x129))/0x7+parseInt(_0x4e25ec(0x139))/0x8;if(_0x5b376d===_0x1d1a7e)break;else _0x3148b5['push'](_0x3148b5['shift']());}catch(_0x571ad3){_0x3148b5['push'](_0x3148b5['shift']());}}}(a114_0x482a,0x9fa68));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_0x5b4b14(0x127),'path':a114_0x5b4b14(0x141)}];export const menuGroupCreate={'service':'menu','command':'group-create','description':a114_0x5b4b14(0x14c),'risk':a114_0x5b4b14(0x146),'structuredErrors':!![],'flags':[{'name':a114_0x5b4b14(0x13a),'type':'string','required':!![],'description':a114_0x5b4b14(0x132)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x15b6ad){validateCreateInput(_0x15b6ad);},async 'dryRun'(_0x7c9917){const _0x4ca78c=a114_0x5b4b14,_0x4ef2f4=await buildCreatePlan(_0x7c9917,!![]),_0x1f82c5=_0x4ef2f4['after'];return menuDryRunResult(_0x4ef2f4,{'method':_0x4ca78c(0x127),'url':_0x4ca78c(0x141),'body':{'parentId':toApiParentId(_0x1f82c5[_0x4ca78c(0x133)]),'label':_0x1f82c5[_0x4ca78c(0x13a)],'type':_0x4ca78c(0x128),'visible':!![],'sort':_0x1f82c5[_0x4ca78c(0x111)],'extend':{}},'description':_0x4ca78c(0x144)+String(_0x1f82c5[_0x4ca78c(0x13a)])+_0x4ca78c(0x118)});},async 'execute'(_0x4b7150){const _0x3245f2=a114_0x5b4b14;validateCreateInput(_0x4b7150);const _0x14f0f3=await buildCreatePlan(_0x4b7150,![]),_0x2d6d57=_0x14f0f3[_0x3245f2(0x149)];await recheckMutationSnapshot(_0x4b7150,_0x14f0f3,_0x3245f2(0x142));let _0x380b9a;try{_0x380b9a=await createMenuEntity(_0x4b7150[_0x3245f2(0x125)],_0x4b7150[_0x3245f2(0x10e)],{'parentId':toApiParentId(_0x2d6d57[_0x3245f2(0x133)]),'label':String(_0x2d6d57['label']),'type':_0x3245f2(0x128),'visible':!![],'sort':Number(_0x2d6d57[_0x3245f2(0x111)]),'extend':{}});}catch(_0x110c6b){const _0x39409d=mapMenuApiError(_0x110c6b,_0x3245f2(0x142));throw menuFailure(_0x39409d,_0x14f0f3,{'stage':_0x3245f2(0x10c),'failed':{}});}const _0x516640=Number(_0x380b9a['id']);if(!Number[_0x3245f2(0x11b)](_0x516640)||_0x516640<=0x0){const _0x53ad5f=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x3245f2(0x12d));throw menuFailure(_0x53ad5f,_0x14f0f3,{'stage':'create-response-validation','failed':{'createdId':_0x380b9a['id']??null},'warnings':[_0x3245f2(0x11f)],'verification':{'status':'failed','lookupCommand':_0x3245f2(0x123)}});}const _0x12726b=typeof _0x380b9a['path']===_0x3245f2(0x11c)?_0x380b9a['path']:'';if(!_0x12726b['trim']()){const _0x13f27a=menuError(_0x3245f2(0x145),_0x3245f2(0x136)+_0x516640+_0x3245f2(0x115),_0x3245f2(0x14b));throw menuFailure(_0x13f27a,_0x14f0f3,{'stage':_0x3245f2(0x135),'succeeded':[{'id':_0x516640,'created':!![]}],'failed':{'id':_0x516640,'generatedPathConfirmed':![]},'warnings':[_0x3245f2(0x13b)+_0x516640+_0x3245f2(0x12c)],'after':{..._0x2d6d57,'id':_0x516640,'path':_0x12726b},'verification':{'status':_0x3245f2(0x117),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x516640}});}let _0x303f65;try{_0x303f65=await fetchMenuSnapshot(_0x4b7150[_0x3245f2(0x125)],_0x4b7150[_0x3245f2(0x10e)]);}catch(_0x4e2d98){const _0x27ea79=describeMenuErrorCause(_0x4e2d98,_0x3245f2(0x11d),_0x516640),_0x1fb9b9=asVerificationError(_0x4e2d98,_0x3245f2(0x13b)+_0x516640+_0x3245f2(0x121));throw menuFailure(_0x1fb9b9,_0x14f0f3,{'stage':'verification','succeeded':[{'id':_0x516640,'created':!![],'path':_0x12726b}],'failed':{'id':_0x516640,'finalFactsConfirmed':![],..._0x27ea79},'warnings':[_0x3245f2(0x13b)+_0x516640+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON[_0x3245f2(0x11e)](_0x12726b)+_0x3245f2(0x140)],'after':{..._0x2d6d57,'id':_0x516640,'path':_0x12726b},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x516640}});}const _0x2715b7=_0x303f65['byId']['get'](_0x516640);let _0x22f0e1;try{assertVerified(Boolean(_0x2715b7),'Created\x20folder\x20'+_0x516640+_0x3245f2(0x119)),_0x22f0e1=_0x2715b7,assertVerified(_0x22f0e1[_0x3245f2(0x110)]===_0x3245f2(0x128),_0x3245f2(0x10d)+_0x516640+_0x3245f2(0x12f)),assertVerified(_0x22f0e1[_0x3245f2(0x13a)]===_0x2d6d57[_0x3245f2(0x13a)],_0x3245f2(0x11a)+_0x516640+_0x3245f2(0x124)),assertVerified(_0x22f0e1[_0x3245f2(0x13c)]===_0x12726b&&Boolean(_0x22f0e1['path']['trim']()),'Created\x20folder\x20'+_0x516640+_0x3245f2(0x12a)),assertVerified(_0x22f0e1[_0x3245f2(0x14a)]===!![],_0x3245f2(0x11a)+_0x516640+'\x20is\x20not\x20visible.'),assertVerified(_0x22f0e1[_0x3245f2(0x112)][_0x3245f2(0x10f)]===0x0,'Created\x20folder\x20'+_0x516640+_0x3245f2(0x120)),assertVerified(_0x22f0e1[_0x3245f2(0x12e)]===0x0,_0x3245f2(0x11a)+_0x516640+_0x3245f2(0x148)),assertVerified(_0x22f0e1[_0x3245f2(0x111)]===_0x2d6d57[_0x3245f2(0x111)],_0x3245f2(0x11a)+_0x516640+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x22f0e1[_0x3245f2(0x133)]===_0x2d6d57[_0x3245f2(0x133)],'Created\x20folder\x20'+_0x516640+'\x20has\x20unexpected\x20parent\x20'+(_0x22f0e1['parentId']??'root')+'.'),assertVerified(_0x22f0e1['pageId']==null,'Created\x20folder\x20'+_0x516640+_0x3245f2(0x116));const _0x51db7a=_0x22f0e1[_0x3245f2(0x133)]==null?undefined:requireFolder(_0x303f65,_0x22f0e1[_0x3245f2(0x133)]);assertVerified(_0x22f0e1[_0x3245f2(0x10b)]===(_0x51db7a?_0x51db7a[_0x3245f2(0x10b)]+0x1:0x0),_0x3245f2(0x11a)+_0x516640+_0x3245f2(0x143));}catch(_0xce1ee3){const _0x3db30f=describeMenuErrorCause(_0xce1ee3,'verify\x20folder\x20creation',_0x516640),_0x541e6c=asVerificationError(_0xce1ee3,_0x3245f2(0x13b)+_0x516640+_0x3245f2(0x126));throw menuFailure(_0x541e6c,_0x14f0f3,{'stage':_0x3245f2(0x147),'succeeded':[{'id':_0x516640,'created':!![],'path':_0x12726b}],'failed':{'id':_0x516640,'finalFactsConfirmed':![],..._0x3db30f},'warnings':[_0x3245f2(0x13b)+_0x516640+_0x3245f2(0x131)],'after':_0x2715b7??{..._0x2d6d57,'id':_0x516640,'path':_0x12726b},'verification':{'status':_0x3245f2(0x117),'lookupCommand':_0x3245f2(0x123),'targetId':_0x516640}});}const _0xbc57f6=mutationResult({..._0x14f0f3,'after':_0x22f0e1,'dryRun':![],'succeeded':[{'id':_0x516640,'type':'folder','path':_0x12726b}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x303f65[_0x3245f2(0x137)],'folder':!![],'path':_0x12726b,'emptyResources':!![]}});return{'ok':!![],'data':_0xbc57f6,'message':'Created\x20menu\x20folder\x20'+_0x516640+'.'};}};function validateCreateInput(_0x1860b3){const _0x26c653=a114_0x5b4b14,_0x533716=_0x1860b3['str'](_0x26c653(0x13a))[_0x26c653(0x13f)]();if(!_0x533716)throw CliErrors[_0x26c653(0x12b)](_0x26c653(0x13a));parseParentId(_0x1860b3,_0x26c653(0x130)),validateSort(_0x1860b3);}function a114_0x2e60(_0x3b3d20,_0x39f830){_0x3b3d20=_0x3b3d20-0x10b;const _0x482a83=a114_0x482a();let _0x2e6039=_0x482a83[_0x3b3d20];return _0x2e6039;}async function buildCreatePlan(_0x4259ca,_0x499947){const _0xc53284=a114_0x5b4b14,_0x42147a=await fetchMutationSnapshot(_0x4259ca,_0xc53284(0x142)),_0x44c0ad=parseParentId(_0x4259ca,'parent-id')??null;if(_0x44c0ad!=null)requireFolder(_0x42147a,_0x44c0ad);const _0x3de7f8=validateSort(_0x4259ca),_0x1a9759=_0x3de7f8??nextSiblingSort(_0x42147a,_0x44c0ad,_0xc53284(0x128)),_0x2ea166=_0x4259ca['str'](_0xc53284(0x13a))[_0xc53284(0x13f)]();return mutationResult({'operation':'group-create','selector':{'label':_0x2ea166,'parentId':_0x44c0ad},'before':null,'after':{'id':null,'parentId':_0x44c0ad,'label':_0x2ea166,'path':_0xc53284(0x13e),'type':_0xc53284(0x128),'visible':!![],'sort':_0x1a9759,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x499947,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0xc53284(0x127),'path':_0xc53284(0x141),'body':{'parentId':toApiParentId(_0x44c0ad),'label':_0x2ea166,'type':'folder','visible':!![],'sort':_0x1a9759,'extend':{}}}],'snapshotHash':_0x42147a[_0xc53284(0x137)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}function a114_0x482a(){const _0x7883f2=['\x20is\x20not\x20type\x20folder.','parent-id','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','Folder\x20label','parentId','847954YTIYxq','create-response-validation','Menu\x20create\x20response\x20for\x20folder\x20','hash','2049256AqjChE','4621928nCPCKm','label','Folder\x20','path','1280330HXaCYo','<platform-generated>','trim',';\x20verify\x20it\x20before\x20retrying.','/smartapi/menu/create','create\x20folder','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Would\x20create\x20empty\x20folder\x20\x22','menu_create_response_invalid','write','verification','\x20is\x20not\x20empty.','after','visible','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','depth','create','Created\x20menu\x20','cookie','length','type','sort','resources','202866SiDdiB','1021197TnGRjL','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20unexpectedly\x20owns\x20a\x20page.','failed','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20missing\x20from\x20menu\x20list.','Created\x20folder\x20','isSafeInteger','string','verify\x20folder\x20creation','stringify','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20has\x20resources.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','185emNNOp','rabetbase\x20menu\x20list\x20--format\x20json','\x20has\x20an\x20unexpected\x20label.','appCode','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','POST','folder','800226PEsnSo','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','flagMissing','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','childrenCount'];a114_0x482a=function(){return _0x7883f2;};return a114_0x482a();}
@@ -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_0x4f31d3=a115_0x5a58;(function(_0x119503,_0x455d2a){const _0x2ef7d4=a115_0x5a58,_0x9989fb=_0x119503();while(!![]){try{const _0x217ca2=parseInt(_0x2ef7d4(0x97))/0x1+-parseInt(_0x2ef7d4(0x7e))/0x2+parseInt(_0x2ef7d4(0x8a))/0x3+-parseInt(_0x2ef7d4(0x9d))/0x4*(parseInt(_0x2ef7d4(0xa0))/0x5)+-parseInt(_0x2ef7d4(0x9a))/0x6+-parseInt(_0x2ef7d4(0x96))/0x7+parseInt(_0x2ef7d4(0x87))/0x8;if(_0x217ca2===_0x455d2a)break;else _0x9989fb['push'](_0x9989fb['shift']());}catch(_0x499534){_0x9989fb['push'](_0x9989fb['shift']());}}}(a115_0x5260,0x75b2e));function a115_0x5a58(_0x2e4205,_0x567cc8){_0x2e4205=_0x2e4205-0x78;const _0x526091=a115_0x5260();let _0x5a588e=_0x526091[_0x2e4205];return _0x5a588e;}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':'POST','path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0x4f31d3(0x92),'command':a115_0x4f31d3(0x95),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a115_0x4f31d3(0x89),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a115_0x4f31d3(0xa2),'hint':a115_0x4f31d3(0x83)}],'flags':[MENU_ID_FLAG,{'name':a115_0x4f31d3(0x93),'type':a115_0x4f31d3(0x9c),'description':a115_0x4f31d3(0x85)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x409221){validateUpdateInput(_0x409221);},async 'dryRun'(_0x397408){const _0x478877=a115_0x4f31d3;validateUpdateInput(_0x397408);const {plan:_0x48fc14,patch:_0x192a43}=await buildUpdatePlan(_0x397408,!![]);return menuDryRunResult(_0x48fc14,{'method':'POST','url':_0x478877(0x9f),'body':_0x192a43,'description':_0x478877(0x81)+_0x48fc14['selector']['id']+'.'});},async 'execute'(_0x4b5842){const _0x51a7c1=a115_0x4f31d3;validateUpdateInput(_0x4b5842);const {plan:_0x29f70c,patch:_0x569e8c,noChanges:_0x2bed81}=await buildUpdatePlan(_0x4b5842,![]),_0x421585=Number(_0x29f70c[_0x51a7c1(0x8b)]['id']),_0x509d6b=await recheckMutationSnapshot(_0x4b5842,_0x29f70c,_0x51a7c1(0x82),_0x421585);if(!_0x2bed81)try{await updateMenuEntity(_0x4b5842[_0x51a7c1(0x8c)],_0x4b5842[_0x51a7c1(0x7b)],_0x569e8c);}catch(_0x3dc8e0){const _0x1f3197=mapMenuApiError(_0x3dc8e0,_0x51a7c1(0x82),_0x421585);throw menuFailure(_0x1f3197,_0x29f70c,{'stage':_0x51a7c1(0x7f),'failed':{'id':_0x421585}});}let _0x3c1ab9=_0x509d6b,_0x7b4ef6;try{!_0x2bed81&&(_0x3c1ab9=await fetchMenuSnapshot(_0x4b5842[_0x51a7c1(0x8c)],_0x4b5842[_0x51a7c1(0x7b)])),_0x7b4ef6=requireMenu(_0x3c1ab9,_0x421585),verifyPatch(_0x7b4ef6,_0x569e8c),_0x7b4ef6['parentId']!=null&&requireFolder(_0x3c1ab9,_0x7b4ef6[_0x51a7c1(0x86)]);}catch(_0x4fce3f){const _0xc4d0ef=describeMenuErrorCause(_0x4fce3f,_0x51a7c1(0xa1),_0x421585),_0x385e54=asVerificationError(_0x4fce3f,_0x51a7c1(0x84)+_0x421585+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x385e54,_0x29f70c,{'stage':_0x51a7c1(0xa3),'succeeded':[{'id':_0x421585,'updateRequested':!_0x2bed81,'skipped':_0x2bed81}],'failed':{'id':_0x421585,'requestedStateConfirmed':![],..._0xc4d0ef},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x51a7c1(0x8e),'targetId':_0x421585}});}const _0x27ab0e=mutationResult({..._0x29f70c,'after':_0x7b4ef6,'dryRun':![],'succeeded':[{'id':_0x421585,'updated':!_0x2bed81,'skipped':_0x2bed81}],'verification':{'checkedBy':_0x51a7c1(0x91),'snapshotHash':_0x3c1ab9[_0x51a7c1(0xa4)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x27ab0e,'message':_0x2bed81?_0x51a7c1(0xa6)+_0x421585+_0x51a7c1(0x99):_0x51a7c1(0x79)+_0x421585+'.'};}};function a115_0x5260(){const _0xedad37=['Would\x20update\x20folder\x20','update\x20folder','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Update\x20request\x20for\x20folder\x20','New\x20folder\x20label','parentId','3564576JBTYlu','sort','write','1710231miEGkG','selector','appCode','validation','rabetbase\x20menu\x20list\x20--format\x20json','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','trim','menu\x20list','menu','label','--label\x20cannot\x20be\x20empty.','group-update','786093tOMyWh','885467svpHkc','type','\x20already\x20matches\x20the\x20requested\x20state.','2802798nxAgLY','menu_not_folder','string','180364lafhVe','\x20label\x20update\x20did\x20not\x20take\x20effect.','/smartapi/menu/update','65PcbNDR','verify\x20folder\x20update','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','verification','hash','Menu\x20','Folder\x20','\x20is\x20no\x20longer\x20type\x20folder.','Updated\x20folder\x20','str','cookie','No\x20online\x20fields\x20would\x20change.','folder','506814VTNdND','update','\x22,\x20not\x20folder.'];a115_0x5260=function(){return _0xedad37;};return a115_0x5260();}function validateUpdateInput(_0x55f868){const _0x578d05=a115_0x4f31d3;validateExactId(_0x55f868);if(hasFlag(_0x55f868,'parent-id'))throw CliErrors[_0x578d05(0x8d)](_0x578d05(0xa2),_0x578d05(0x83));if(!hasFlag(_0x55f868,_0x578d05(0x93))&&!hasFlag(_0x55f868,_0x578d05(0x88)))throw CliErrors[_0x578d05(0x8d)](_0x578d05(0x8f));if(hasFlag(_0x55f868,'label')&&!_0x55f868['str']('label')[_0x578d05(0x90)]())throw CliErrors[_0x578d05(0x8d)](_0x578d05(0x94));validateSort(_0x55f868);}async function buildUpdatePlan(_0x41c49f,_0x11f0a6){const _0x40a615=a115_0x4f31d3,_0x4fc0f1=validateExactId(_0x41c49f),_0x14917f=await fetchMutationSnapshot(_0x41c49f,_0x40a615(0x82),_0x4fc0f1),_0x5c979e=requireMenu(_0x14917f,_0x4fc0f1);if(_0x5c979e[_0x40a615(0x98)]!==_0x40a615(0x7d))throw menuError(_0x40a615(0x9b),_0x40a615(0xa5)+_0x4fc0f1+'\x20is\x20type\x20\x22'+(_0x5c979e[_0x40a615(0x98)]||'unknown')+_0x40a615(0x80),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x41c49f,_0x5c979e);const _0x90b689={'id':_0x4fc0f1},_0x53acce={..._0x5c979e};if(hasFlag(_0x41c49f,'label')){const _0xd65e24=_0x41c49f[_0x40a615(0x7a)](_0x40a615(0x93))[_0x40a615(0x90)]();_0x90b689['label']=_0xd65e24,_0x53acce[_0x40a615(0x93)]=_0xd65e24;}if(hasFlag(_0x41c49f,_0x40a615(0x88))){const _0x2eb6bb=validateSort(_0x41c49f);_0x90b689['sort']=_0x2eb6bb,_0x53acce[_0x40a615(0x88)]=_0x2eb6bb;}const _0x70f353=sameRequestedState(_0x5c979e,_0x53acce),_0x1d7adc=_0x70f353?[_0x40a615(0x7c)]:[];return{'patch':_0x90b689,'noChanges':_0x70f353,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x4fc0f1},'before':_0x5c979e,'after':_0x53acce,'dryRun':_0x11f0a6,'backend':[...BACKEND],'snapshotHash':_0x14917f[_0x40a615(0xa4)],'warnings':_0x1d7adc})};}function sameRequestedState(_0x2a93e0,_0x50779a){const _0x33c254=a115_0x4f31d3;return _0x2a93e0[_0x33c254(0x93)]===_0x50779a['label']&&_0x2a93e0[_0x33c254(0x88)]===_0x50779a[_0x33c254(0x88)];}function verifyPatch(_0x198c22,_0x41120f){const _0x316820=a115_0x4f31d3;assertVerified(_0x198c22[_0x316820(0x98)]===_0x316820(0x7d),_0x316820(0xa5)+_0x198c22['id']+_0x316820(0x78)),_0x41120f[_0x316820(0x93)]!==undefined&&assertVerified(_0x198c22[_0x316820(0x93)]===_0x41120f[_0x316820(0x93)],_0x316820(0xa6)+_0x198c22['id']+_0x316820(0x9e)),_0x41120f[_0x316820(0x88)]!==undefined&&assertVerified(_0x198c22['sort']===_0x41120f['sort'],_0x316820(0xa6)+_0x198c22['id']+'\x20sort\x20update\x20did\x20not\x20take\x20effect.');}
@@ -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(_0x541d33,_0x15e6c2){const _0x5c7685=a116_0xa2c8,_0xda1339=_0x541d33();while(!![]){try{const _0x20d38b=-parseInt(_0x5c7685(0x1f5))/0x1+parseInt(_0x5c7685(0x1f1))/0x2+parseInt(_0x5c7685(0x1f8))/0x3+-parseInt(_0x5c7685(0x1f2))/0x4+parseInt(_0x5c7685(0x1f6))/0x5+parseInt(_0x5c7685(0x1f4))/0x6+-parseInt(_0x5c7685(0x1f3))/0x7*(-parseInt(_0x5c7685(0x1f7))/0x8);if(_0x20d38b===_0x15e6c2)break;else _0xda1339['push'](_0xda1339['shift']());}catch(_0x5245db){_0xda1339['push'](_0xda1339['shift']());}}}(a116_0x5eb5,0x5a844));import{menuList}from'../../commands/menu/list.js';function a116_0xa2c8(_0x1ba51d,_0x267b0e){_0x1ba51d=_0x1ba51d-0x1f1;const _0x5eb598=a116_0x5eb5();let _0xa2c8db=_0x5eb598[_0x1ba51d];return _0xa2c8db;}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_0x5eb5(){const _0x1a5d9a=['3518574WbXlYT','596225IpAwgP','2485835TMRyiD','136jbnXxZ','134856ttAMjT','941394yhqYhP','2657032yCpVnQ','13174LhqMsj'];a116_0x5eb5=function(){return _0x1a5d9a;};return a116_0x5eb5();}import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -1 +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_0x5919b7=a117_0x3a2e;function a117_0xfb59(){const _0x3aee7e=['1985027xKzvsB','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','menu','Found\x20','total','7ShjHIv','list','642717YALvqh','20UQmWtf','1315555dzIOPj','bool','boolean','\x20menu(s)','6ecTciF','167782LNVKTL','732968GvDjsa','read','verbose','No\x20menus\x20found.','1LGbBjh','519174jbMQIO','796648ccMTip'];a117_0xfb59=function(){return _0x3aee7e;};return a117_0xfb59();}(function(_0x9611b5,_0x173bc5){const _0xbbc4dd=a117_0x3a2e,_0x2d23e9=_0x9611b5();while(!![]){try{const _0x1c0e31=parseInt(_0xbbc4dd(0x116))/0x1*(parseInt(_0xbbc4dd(0x111))/0x2)+parseInt(_0xbbc4dd(0x117))/0x3+-parseInt(_0xbbc4dd(0x112))/0x4+-parseInt(_0xbbc4dd(0x10c))/0x5*(-parseInt(_0xbbc4dd(0x110))/0x6)+-parseInt(_0xbbc4dd(0x108))/0x7*(parseInt(_0xbbc4dd(0x118))/0x8)+-parseInt(_0xbbc4dd(0x10a))/0x9*(-parseInt(_0xbbc4dd(0x10b))/0xa)+-parseInt(_0xbbc4dd(0x119))/0xb;if(_0x1c0e31===_0x173bc5)break;else _0x2d23e9['push'](_0x2d23e9['shift']());}catch(_0x515eb7){_0x2d23e9['push'](_0x2d23e9['shift']());}}}(a117_0xfb59,0x30bb6));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x3a2e(_0x164140,_0x5e08e8){_0x164140=_0x164140-0x108;const _0xfb591=a117_0xfb59();let _0x3a2e9a=_0xfb591[_0x164140];return _0x3a2e9a;}export const menuList={'service':a117_0x5919b7(0x11b),'command':a117_0x5919b7(0x109),'description':a117_0x5919b7(0x11a),'risk':a117_0x5919b7(0x113),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x5919b7(0x114),'type':a117_0x5919b7(0x10e),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x1909ef){const _0x42d0d3=a117_0x5919b7,_0x5e16b8=_0x1909ef[_0x42d0d3(0x10d)](_0x42d0d3(0x114)),_0x1ad62b=await fetchMenuSnapshot(_0x1909ef['appCode'],_0x1909ef['cookie'],{'verbose':_0x5e16b8});return{'ok':!![],'data':{'total':_0x1ad62b[_0x42d0d3(0x11d)],'snapshotHash':_0x1ad62b['hash'],'menus':_0x1ad62b['menus']['map'](toMenuListItem)},'message':_0x1ad62b[_0x42d0d3(0x11d)]===0x0?_0x42d0d3(0x115):_0x42d0d3(0x11c)+_0x1ad62b[_0x42d0d3(0x11d)]+_0x42d0d3(0x10f)};}};
@@ -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
+ const a118_0x5d22ff=a118_0x3ddc;function a118_0x3ddc(_0x1efdf7,_0x2b05f3){_0x1efdf7=_0x1efdf7-0xc4;const _0x137ed9=a118_0x137e();let _0x3ddc1e=_0x137ed9[_0x1efdf7];return _0x3ddc1e;}(function(_0xb71f3b,_0x2575b1){const _0x4fad79=a118_0x3ddc,_0x2b9b3d=_0xb71f3b();while(!![]){try{const _0x410a17=-parseInt(_0x4fad79(0xe8))/0x1+-parseInt(_0x4fad79(0xd2))/0x2*(parseInt(_0x4fad79(0xc5))/0x3)+-parseInt(_0x4fad79(0xe9))/0x4+parseInt(_0x4fad79(0xf4))/0x5+-parseInt(_0x4fad79(0xf3))/0x6+parseInt(_0x4fad79(0xc6))/0x7+-parseInt(_0x4fad79(0xcc))/0x8*(-parseInt(_0x4fad79(0xc9))/0x9);if(_0x410a17===_0x2575b1)break;else _0x2b9b3d['push'](_0x2b9b3d['shift']());}catch(_0x347583){_0x2b9b3d['push'](_0x2b9b3d['shift']());}}}(a118_0x137e,0x819ed));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_0x5d22ff(0xd6),'path':'/smartapi/menu/update'}];export const menuMove={'service':a118_0x5d22ff(0xd0),'command':a118_0x5d22ff(0xcd),'description':a118_0x5d22ff(0xcb),'risk':a118_0x5d22ff(0xec),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5014e0){validateMoveInput(_0x5014e0);},async 'dryRun'(_0x93f51c){const _0x64e193=a118_0x5d22ff,{plan:_0x525ae2,patch:_0x198aeb}=await buildMovePlan(_0x93f51c,!![]);return menuDryRunResult(_0x525ae2,{'method':_0x64e193(0xd6),'url':_0x64e193(0xe3),'body':{..._0x198aeb,'appCode':_0x93f51c[_0x64e193(0xe2)]},'description':_0x64e193(0xce)+_0x198aeb['id']+'.'});},async 'execute'(_0x5a9353){const _0x4c6a2f=a118_0x5d22ff;validateMoveInput(_0x5a9353);const {plan:_0x2ac021,patch:_0x1be2d9,noChanges:_0x1ace1b,snapshot:_0x40c4ce}=await buildMovePlan(_0x5a9353,![]),_0x24d009=_0x1be2d9['id'];if(!_0x1ace1b)try{await updateMenuEntity(_0x5a9353[_0x4c6a2f(0xe2)],_0x5a9353['cookie'],_0x1be2d9);}catch(_0x3c5966){const _0x5129ee=mapMenuApiError(_0x3c5966,_0x4c6a2f(0xcd),_0x24d009);throw menuFailure(_0x5129ee,_0x2ac021,{'stage':_0x4c6a2f(0xe1),'failed':{'id':_0x24d009},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x24d009,'lookupCommand':_0x4c6a2f(0xe0)}});}let _0x44484c,_0x11d8af;try{_0x44484c=_0x1ace1b?_0x40c4ce:await fetchMenuSnapshot(_0x5a9353[_0x4c6a2f(0xe2)],_0x5a9353[_0x4c6a2f(0xc4)]),_0x11d8af=requireMenu(_0x44484c,_0x24d009),verifyMove(_0x11d8af,_0x2ac021[_0x4c6a2f(0xd1)]),_0x11d8af[_0x4c6a2f(0xd9)]!==null&&requireFolder(_0x44484c,_0x11d8af[_0x4c6a2f(0xd9)]);}catch(_0x3e231c){const _0xc247f6=describeMenuErrorCause(_0x3e231c,_0x4c6a2f(0xef),_0x24d009),_0x47a697=asVerificationError(_0x3e231c,_0x4c6a2f(0xdf)+_0x24d009+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x47a697,_0x2ac021,{'stage':_0x4c6a2f(0xed),'succeeded':[{'id':_0x24d009,'updateRequested':!_0x1ace1b,'skipped':_0x1ace1b}],'failed':{'id':_0x24d009,'requestedStateConfirmed':![],..._0xc247f6},'warnings':[_0x4c6a2f(0xd8)],'verification':{'status':_0x4c6a2f(0xde),'targetId':_0x24d009,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x106f29=mutationResult({..._0x2ac021,'after':_0x11d8af,'dryRun':![],'succeeded':[{'id':_0x24d009,'updated':!_0x1ace1b,'skipped':_0x1ace1b}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44484c[_0x4c6a2f(0xe4)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x106f29,'message':_0x1ace1b?_0x4c6a2f(0xee)+_0x24d009+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x4c6a2f(0xc8)+_0x24d009+'.'};}};function validateMoveInput(_0x2708f4){const _0x29a687=a118_0x5d22ff;validateExactId(_0x2708f4),parseParentId(_0x2708f4,_0x29a687(0xf2),{'required':!![]}),parseParentId(_0x2708f4,_0x29a687(0xe5),{'required':!![]}),validateSort(_0x2708f4);}async function buildMovePlan(_0x4757dd,_0x81fce9){const _0x22495d=a118_0x5d22ff,_0x1b9b31=validateExactId(_0x4757dd),_0x57a25c=parseParentId(_0x4757dd,_0x22495d(0xf2),{'required':!![]}),_0x5c28e6=parseParentId(_0x4757dd,_0x22495d(0xe5),{'required':!![]}),_0x3f61fe=validateSort(_0x4757dd),_0x2488c3=await fetchMutationSnapshot(_0x4757dd,_0x22495d(0xdd),_0x1b9b31),_0x15c353=requireMenu(_0x2488c3,_0x1b9b31);if(_0x15c353[_0x22495d(0xf0)]===_0x22495d(0xf5)||_0x15c353[_0x22495d(0xeb)]!==0x0)throw menuError(_0x22495d(0xd3),_0x22495d(0xee)+_0x1b9b31+_0x22495d(0xd7),_0x22495d(0xe6));if(_0x15c353[_0x22495d(0xd9)]!==_0x5c28e6)throw menuError(_0x22495d(0xda),'Menu\x20'+_0x1b9b31+_0x22495d(0xea)+formatParent(_0x5c28e6)+_0x22495d(0xd5)+formatParent(_0x15c353[_0x22495d(0xd9)])+'.',_0x22495d(0xe7));_0x57a25c!==null&&requireFolder(_0x2488c3,_0x57a25c);const _0x602147=_0x3f61fe??(_0x15c353[_0x22495d(0xd9)]===_0x57a25c?_0x15c353[_0x22495d(0xdc)]??0x0:nextSiblingSort(_0x2488c3,_0x57a25c,_0x22495d(0xd0))),_0x21fcde={..._0x15c353,'parentId':_0x57a25c,'sort':_0x602147},_0xea1493={'id':_0x1b9b31,'parentId':toApiParentId(_0x57a25c),'sort':_0x602147},_0x4e1518=_0x15c353[_0x22495d(0xd9)]===_0x57a25c&&_0x15c353[_0x22495d(0xdc)]===_0x602147;return{'patch':_0xea1493,'noChanges':_0x4e1518,'snapshot':_0x2488c3,'plan':mutationResult({'operation':_0x22495d(0xcd),'selector':{'id':_0x1b9b31,'parentId':_0x57a25c},'before':_0x15c353,'after':_0x21fcde,'dryRun':_0x81fce9,'backend':[...BACKEND],'plannedActions':[{'stage':_0x22495d(0xf1),'method':_0x22495d(0xd6),'path':_0x22495d(0xe3),'body':{..._0xea1493,'appCode':_0x4757dd[_0x22495d(0xe2)]}}],'snapshotHash':_0x2488c3['hash'],'warnings':_0x4e1518?[_0x22495d(0xc7)]:[]})};}function a118_0x137e(){const _0x66c833=['parent-id','5042232FAmHPy','2586035shmBgP','folder','cookie','3DUeKXF','1241905BbJYEX','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Moved\x20menu\x20','18lCvYJX','\x20is\x20no\x20longer\x20a\x20leaf.','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','10290376PTLGvT','move','Would\x20move\x20menu\x20','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu','after','526678VnaVxG','menu_move_source_not_leaf','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.',',\x20current\x20','POST','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','parentId','menu_state_drift','\x20is\x20now\x20type\x20folder.','sort','move\x20menu','failed','Move\x20request\x20for\x20menu\x20','rabetbase\x20menu\x20list\x20--format\x20compress','update','appCode','/smartapi/menu/update','hash','expect-parent-id','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','711156MvvyKO','3685696GYkmxM','\x20parent\x20changed:\x20expected\x20','childrenCount','write','verification','Menu\x20','verify\x20menu\x20move','type','move-menu'];a118_0x137e=function(){return _0x66c833;};return a118_0x137e();}function verifyMove(_0x33710f,_0x49901b){const _0x4bfa36=a118_0x5d22ff;assertVerified(_0x33710f[_0x4bfa36(0xf0)]!==_0x4bfa36(0xf5),_0x4bfa36(0xee)+_0x33710f['id']+_0x4bfa36(0xdb)),assertVerified(_0x33710f['childrenCount']===0x0,_0x4bfa36(0xee)+_0x33710f['id']+_0x4bfa36(0xca)),assertVerified(_0x33710f[_0x4bfa36(0xd9)]===_0x49901b[_0x4bfa36(0xd9)],_0x4bfa36(0xee)+_0x33710f['id']+_0x4bfa36(0xd4)),assertVerified(_0x33710f['sort']===_0x49901b[_0x4bfa36(0xdc)],_0x4bfa36(0xee)+_0x33710f['id']+_0x4bfa36(0xcf));}
@@ -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_0x19b983=a119_0x42b2;(function(_0xea0b9d,_0x506eca){const _0x4bd42e=a119_0x42b2,_0x16dd14=_0xea0b9d();while(!![]){try{const _0x5adc63=-parseInt(_0x4bd42e(0x20f))/0x1*(-parseInt(_0x4bd42e(0x1e1))/0x2)+parseInt(_0x4bd42e(0x1e3))/0x3+parseInt(_0x4bd42e(0x212))/0x4+-parseInt(_0x4bd42e(0x22c))/0x5*(-parseInt(_0x4bd42e(0x1ef))/0x6)+-parseInt(_0x4bd42e(0x1de))/0x7*(-parseInt(_0x4bd42e(0x220))/0x8)+-parseInt(_0x4bd42e(0x1fc))/0x9+-parseInt(_0x4bd42e(0x229))/0xa*(parseInt(_0x4bd42e(0x1ff))/0xb);if(_0x5adc63===_0x506eca)break;else _0x16dd14['push'](_0x16dd14['shift']());}catch(_0x22a698){_0x16dd14['push'](_0x16dd14['shift']());}}}(a119_0x1e7d,0xc341c));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':'POST','path':a119_0x19b983(0x218)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a119_0x19b983(0x1d9),'command':'regroup-start','description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':a119_0x19b983(0x1df),'structuredErrors':!![],'flags':[{'name':a119_0x19b983(0x1f4),'type':a119_0x19b983(0x202),'required':!![],'description':a119_0x19b983(0x21c)},{'name':a119_0x19b983(0x204),'type':a119_0x19b983(0x202),'required':!![],'description':a119_0x19b983(0x209)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xa02aa6){validateRegroupInput(_0xa02aa6);},async 'dryRun'(_0x2fbafe){const _0x1a3fba=a119_0x19b983;validateRegroupInput(_0x2fbafe);const _0xd06366=await buildRegroupPlan(_0x2fbafe,!![]);return menuDryRunResult(_0xd06366[_0x1a3fba(0x1fe)],{'method':_0x1a3fba(0x20e),'url':'/smartapi/menu/regroup','body':_0xd06366[_0x1a3fba(0x1fa)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x1a3fba(0x215)](_0xd06366[_0x1a3fba(0x1f4)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0xd06366[_0x1a3fba(0x228)][_0x1a3fba(0x1f2)](',\x20')+_0x1a3fba(0x214)});},async 'execute'(_0x2ad879){const _0x11e630=a119_0x19b983;validateRegroupInput(_0x2ad879);const _0x44257d=await buildRegroupPlan(_0x2ad879,![]);await recheckMutationSnapshot(_0x2ad879,_0x44257d[_0x11e630(0x1fe)],_0x11e630(0x1dc));const _0x51605d=buildMenuLookupCommand(_0x2ad879['appCode']);let _0x4dfaf0,_0x3f032c;try{_0x4dfaf0=await startMenuRegroup(_0x2ad879[_0x11e630(0x207)],_0x44257d[_0x11e630(0x1fa)]),_0x3f032c=normalizeAsyncTask(_0x4dfaf0);}catch(_0x94b7f){const _0x4ce80a=await inspectRegroupAfterFailure(_0x2ad879[_0x11e630(0x203)],_0x2ad879['cookie'],_0x44257d['label'],_0x44257d[_0x11e630(0x228)]),_0xd64f48=typeof _0x4dfaf0?.[_0x11e630(0x21b)]==='string'&&_0x4dfaf0[_0x11e630(0x21b)]['trim']()?_0x4dfaf0[_0x11e630(0x21b)]['trim']():null,_0x57fdac=_0xd64f48?{'command':buildAsyncTaskStatusCommand(_0xd64f48,_0x2ad879[_0x11e630(0x203)])}:null,_0x46d8fb=mapMenuApiError(_0x94b7f,'start\x20menu\x20regroup');throw menuFailure(_0x46d8fb,_0x44257d[_0x11e630(0x1fe)],{'stage':_0x11e630(0x1fd),'failed':{'menuIds':_0x44257d[_0x11e630(0x228)],'taskId':_0xd64f48,'groupingApplied':_0x4ce80a[_0x11e630(0x1e2)]?!![]:_0x11e630(0x1f8)},'after':_0x4ce80a[_0x11e630(0x1e2)]??null,'warnings':[_0x11e630(0x206),..._0x4ce80a['readbackError']?[_0x11e630(0x1f1)+_0x4ce80a[_0x11e630(0x224)]]:[],..._0xd64f48?[_0x11e630(0x226)]:[]],'verification':{'status':_0x11e630(0x1f7),'groupingApplied':_0x4ce80a[_0x11e630(0x1e2)]?!![]:_0x11e630(0x1f8),'taskId':_0xd64f48,'query':_0x57fdac,'lookupCommand':_0x51605d}});}const _0x1635f3=buildAsyncTaskStatusCommand(_0x3f032c[_0x11e630(0x21b)],_0x2ad879['appCode']);let _0x3ed77c=null,_0x4eb903=null,_0x1c2c47=null;try{_0x3ed77c=await fetchMenuSnapshot(_0x2ad879['appCode'],_0x2ad879[_0x11e630(0x207)]),_0x4eb903=findAppliedRegroup(_0x3ed77c,_0x44257d[_0x11e630(0x1f4)],_0x44257d[_0x11e630(0x228)]);}catch(_0x240d89){_0x1c2c47=_0x240d89 instanceof Error?_0x240d89[_0x11e630(0x211)]:String(_0x240d89);}const _0x6b8a7a=mutationResult({..._0x44257d['plan'],'after':_0x4eb903??null,'dryRun':![],'succeeded':[{'groupId':_0x4eb903?.['group']['id']??null,'menuIds':_0x44257d[_0x11e630(0x228)],'taskId':_0x3f032c[_0x11e630(0x21b)],'status':_0x3f032c[_0x11e630(0x1f9)],'groupingApplied':_0x4eb903?!![]:_0x11e630(0x1f8)}],'verification':{'checkedBy':_0x11e630(0x216),'snapshotHash':_0x3ed77c?.[_0x11e630(0x1ec)]??null,'groupId':_0x4eb903?.[_0x11e630(0x1e6)]['id']??null,'groupingApplied':_0x4eb903?!![]:_0x11e630(0x1f8),'readbackError':_0x1c2c47,'lookupCommand':_0x51605d},'warnings':[..._0x44257d['plan']['warnings'],...!_0x4eb903?[unconfirmedRegroupWarning(_0x3f032c)]:[],..._0x1c2c47?['Regroup\x20readback\x20failed:\x20'+_0x1c2c47]:[]]}),_0xd0b29=_0x3f032c[_0x11e630(0x1f9)]==='SUCCESS'&&!_0x4eb903?'Regroup\x20task\x20'+_0x3f032c[_0x11e630(0x21b)]+_0x11e630(0x232):_0x11e630(0x22e)+asyncTaskMessage(_0x3f032c);return{'ok':!![],'message':_0xd0b29,'data':{..._0x6b8a7a,'task':_0x3f032c,'query':_0x3f032c[_0x11e630(0x231)]?null:{'command':_0x1635f3}}};}};function a119_0x1e7d(){const _0x1876b1=['Root\x20folder\x20label\x20','/smartapi/menu/regroup','some','folder','taskId','Label\x20of\x20the\x20new\x20root\x20folder','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','Menus\x20','type','139224wRbkGV','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','flagMissing','validation','readbackError','trim','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','menuIds','790QftZOl','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','<new-group-id>','1115315xCRrph','byId','Regroup\x20task\x20accepted.\x20','menu_regroup_label_conflict','submit-regroup-task','isTerminal','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','\x20menus\x20per\x20regroup\x20request.','Menu\x20','menu','test','\x20menu\x20list\x20--appcode\x20','start\x20regroup','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','301tMWXMJ','write','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.','50dtWvYH','applied','937383tlefqh','parentId','regroup-start','group','length','replace','\x20--format\x20compress','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','filter','hash','menu_regroup_target_not_leaf','knownStatus','30XabDTA','sort','Regroup\x20readback\x20also\x20failed:\x20','join','<platform-generated>','label','FAILED','SUCCESS','failed','unconfirmed','status','input','get','69534uOBVIf','regroup-submit','plan','363638rynyTf','str','--menu-ids\x20supports\x20at\x20most\x20','string','appCode','menu-ids','menu_regroup_already_applied','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','cookie','map','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','menu_regroup_target_label_missing','\x27\x5c\x27\x27','POST','31089bSsGsk','toLowerCase','message','1863000NrveJp','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','stringify','menu\x20list'];a119_0x1e7d=function(){return _0x1876b1;};return a119_0x1e7d();}function validateRegroupInput(_0x5aeb37){const _0xfc4b37=a119_0x19b983;if(!_0x5aeb37[_0xfc4b37(0x200)](_0xfc4b37(0x1f4))[_0xfc4b37(0x225)]())throw CliErrors[_0xfc4b37(0x222)]('label');parseMenuIds(_0x5aeb37[_0xfc4b37(0x200)](_0xfc4b37(0x204)));}function parseMenuIds(_0x466f40){const _0x282a7e=a119_0x19b983,_0x200d35=_0x466f40['split'](',')[_0x282a7e(0x208)](_0x31559d=>_0x31559d[_0x282a7e(0x225)]());if(_0x200d35[_0x282a7e(0x1e7)]===0x0||_0x200d35[_0x282a7e(0x219)](_0x4e93cf=>!_0x4e93cf))throw CliErrors['validation'](_0x282a7e(0x22a));const _0x4246ac=_0x200d35[_0x282a7e(0x208)](_0x567d9e=>{const _0x1751f7=_0x282a7e;if(!/^\d+$/[_0x1751f7(0x1da)](_0x567d9e))throw CliErrors[_0x1751f7(0x223)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x4356aa=Number(_0x567d9e);if(!Number['isSafeInteger'](_0x4356aa)||_0x4356aa<=0x0)throw CliErrors[_0x1751f7(0x223)](_0x1751f7(0x22a));return _0x4356aa;});if(new Set(_0x4246ac)['size']!==_0x4246ac[_0x282a7e(0x1e7)])throw CliErrors['validation'](_0x282a7e(0x213));if(_0x4246ac[_0x282a7e(0x1e7)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x282a7e(0x223)](_0x282a7e(0x201)+MAX_REGROUP_MENU_COUNT+_0x282a7e(0x233));return _0x4246ac;}function buildMenuLookupCommand(_0x144b59){const _0x18150c=a119_0x19b983,_0x1940bb='\x27'+_0x144b59[_0x18150c(0x1e8)](/'/g,_0x18150c(0x20d))+'\x27';return CLI_BIN_NAME+_0x18150c(0x1db)+_0x1940bb+_0x18150c(0x1e9);}function unconfirmedRegroupWarning(_0x12ce3d){const _0x315881=a119_0x19b983;if(_0x12ce3d[_0x315881(0x1f9)]===_0x315881(0x1f6))return _0x315881(0x20a);if(_0x12ce3d[_0x315881(0x1f9)]===_0x315881(0x1f5))return _0x315881(0x21d);if(_0x12ce3d[_0x315881(0x1ee)])return _0x315881(0x221);return _0x315881(0x1e0);}async function buildRegroupPlan(_0x40baa1,_0x2adcf5){const _0x253dfd=a119_0x19b983,_0x295ee7=_0x40baa1[_0x253dfd(0x200)]('label')[_0x253dfd(0x225)](),_0x2d3de5=parseMenuIds(_0x40baa1[_0x253dfd(0x200)]('menu-ids')),_0x1e97a6=await fetchMutationSnapshot(_0x40baa1,'plan\x20regroup'),_0x2d9f7d=_0x2d3de5[_0x253dfd(0x208)](_0x54a9b4=>requireMenu(_0x1e97a6,_0x54a9b4));for(const _0x3ad921 of _0x2d9f7d){if(_0x3ad921[_0x253dfd(0x21f)][_0x253dfd(0x225)]()[_0x253dfd(0x210)]()===_0x253dfd(0x21a)||_0x3ad921['childrenCount']>0x0)throw menuError(_0x253dfd(0x1ed),_0x253dfd(0x234)+_0x3ad921['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x3ad921['label'][_0x253dfd(0x225)]())throw menuError(_0x253dfd(0x20c),_0x253dfd(0x234)+_0x3ad921['id']+'\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.',_0x253dfd(0x227));}const _0xd3a118=findAppliedRegroup(_0x1e97a6,_0x295ee7,_0x2d3de5);if(_0xd3a118)throw menuError(_0x253dfd(0x205),_0x253dfd(0x21e)+_0x2d3de5[_0x253dfd(0x1f2)](',\x20')+_0x253dfd(0x20b)+_0xd3a118[_0x253dfd(0x1e6)]['id']+'\x20('+JSON[_0x253dfd(0x215)](_0x295ee7)+').',_0x253dfd(0x1ea));const _0x58192c=_0x1e97a6['menus']['filter'](_0x44d56d=>_0x44d56d['parentId']==null&&_0x44d56d['type']['trim']()[_0x253dfd(0x210)]()==='folder'&&_0x44d56d[_0x253dfd(0x1f4)]===_0x295ee7);if(_0x58192c[_0x253dfd(0x1e7)]>0x0)throw menuError(_0x253dfd(0x22f),_0x253dfd(0x217)+JSON[_0x253dfd(0x215)](_0x295ee7)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x58192c[_0x253dfd(0x208)](_0x5086e9=>_0x5086e9['id'])['join'](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x9c4984={'appCode':_0x40baa1[_0x253dfd(0x203)],'menuGroups':[{'label':_0x295ee7,'type':_0x253dfd(0x21a),'children':_0x2d9f7d[_0x253dfd(0x208)](_0x41c30d=>({'id':_0x41c30d['id'],'label':_0x41c30d[_0x253dfd(0x1f4)]}))}]},_0x13af31=mutationResult({'operation':_0x253dfd(0x1e5),'selector':{'label':_0x295ee7,'menuIds':_0x2d3de5},'before':{'menus':_0x2d9f7d},'after':{'group':{'id':null,'parentId':null,'label':_0x295ee7,'path':_0x253dfd(0x1f3),'type':_0x253dfd(0x21a),'childrenIds':_0x2d3de5},'children':_0x2d9f7d[_0x253dfd(0x208)](_0xb6da20=>({'id':_0xb6da20['id'],'label':_0xb6da20[_0x253dfd(0x1f4)],'beforeParentId':_0xb6da20[_0x253dfd(0x1e4)],'afterParentId':_0x253dfd(0x22b)}))},'dryRun':_0x2adcf5,'backend':[...BACKEND],'plannedActions':[{'stage':_0x253dfd(0x230),'method':_0x253dfd(0x20e),'path':'/smartapi/menu/regroup','body':_0x9c4984}],'snapshotHash':_0x1e97a6[_0x253dfd(0x1ec)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x253dfd(0x1dd)]});return{'label':_0x295ee7,'menuIds':_0x2d3de5,'input':_0x9c4984,'plan':_0x13af31};}function a119_0x42b2(_0x5ebcd4,_0x5a1803){_0x5ebcd4=_0x5ebcd4-0x1d9;const _0x1e7d20=a119_0x1e7d();let _0x42b2b5=_0x1e7d20[_0x5ebcd4];return _0x42b2b5;}function findAppliedRegroup(_0x4cf884,_0x562dc6,_0x400fc5){const _0x11c84c=a119_0x19b983,_0x17ac63=_0x400fc5['map'](_0x5296dd=>_0x4cf884[_0x11c84c(0x22d)][_0x11c84c(0x1fb)](_0x5296dd))[_0x11c84c(0x1eb)](_0x4ea880=>Boolean(_0x4ea880));if(_0x17ac63[_0x11c84c(0x1e7)]!==_0x400fc5[_0x11c84c(0x1e7)])return null;const _0x5164c7=_0x17ac63[0x0]?.['parentId'];if(_0x5164c7==null||_0x17ac63['some'](_0xbe5dcf=>_0xbe5dcf[_0x11c84c(0x1e4)]!==_0x5164c7))return null;const _0x5d3c62=_0x4cf884[_0x11c84c(0x22d)][_0x11c84c(0x1fb)](_0x5164c7);if(!_0x5d3c62||_0x5d3c62[_0x11c84c(0x1e4)]!=null||_0x5d3c62[_0x11c84c(0x21f)]['trim']()['toLowerCase']()!==_0x11c84c(0x21a)||_0x5d3c62[_0x11c84c(0x1f4)]!==_0x562dc6)return null;const _0x5094fe=[..._0x400fc5][_0x11c84c(0x1f0)]((_0x37ec84,_0x2572f6)=>_0x37ec84-_0x2572f6),_0x195f80=[..._0x5d3c62['childrenIds']][_0x11c84c(0x1f0)]((_0x4b295e,_0x15a52a)=>_0x4b295e-_0x15a52a);if(JSON[_0x11c84c(0x215)](_0x195f80)!==JSON[_0x11c84c(0x215)](_0x5094fe))return null;return{'group':_0x5d3c62,'children':_0x17ac63};}async function inspectRegroupAfterFailure(_0x1ce357,_0x225949,_0x1b3b3e,_0x972dc5){const _0x4df582=a119_0x19b983;try{const _0x56d15f=await fetchMenuSnapshot(_0x1ce357,_0x225949);return{'applied':findAppliedRegroup(_0x56d15f,_0x1b3b3e,_0x972dc5),'readbackError':null};}catch(_0x31935f){return{'applied':null,'readbackError':_0x31935f instanceof Error?_0x31935f[_0x4df582(0x211)]:String(_0x31935f)};}}