@lovrabet/rabetbase-cli 2.4.5-beta.1 → 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
- function a112_0x275e(){const _0xcbefd7=['embedded','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','afterPlan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','plan','rawerror','type','length','Run\x20','rawFlags','7vhKacS','write','verification','snapshot','\x27\x5c\x27\x27','menu_mutation_failed','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','readbackerror','1020SSbZpH','4362444kunvMX','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','recovered','expectedPath','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','create','29012cBhGgE','external-link-create','replace','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Recovered\x20menu\x20','menu_not_found','\x20could\x20not\x20be\x20verified.','new-window','External\x20HTTPS\x20URL','Menu\x20','lookupCommand','after','<platform-generated>','10591808GTlvcP','\x20with\x20','create-recovery','hasOwnProperty','parentId','call','fromEntries','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','menu_parent_not_folder','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','open-mode','menu_url_credentials_forbidden','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','string','/smartapi/menu/create','path','6ExzOYl','expectedSnapshotHash','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','code','currentSnapshotHash','menu_permission_denied','menu_sort_invalid','visible','prototype','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','appCode','\x20has\x20an\x20unexpected\x20','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu_open_mode_invalid','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','5953045VeoETl','fact','succeeded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','before','trim','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','has','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','sort','selector','hash','menu','str','Provide\x20an\x20HTTPS\x20URL.','cause','username','cookie','menu_sort_overflow','data','url','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','filter','407330KsijYs','menu_state_drift','isSafeInteger','causemessage','failed','get','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_verification_failed','includes','toLowerCase','198izTVCW','Whether\x20the\x20menu\x20is\x20visible','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu_create_recovery_required','Created\x20menu\x20','create\x20external\x20menu','\x20has\x20an\x20unexpected\x20generated\x20path.','Recovered\x20created\x20external\x20menu\x20','parent-id','map','How\x20to\x20open\x20the\x20external\x20website','stringify','220fpajaV','POST','menus','object','byId','entries','391560Bjttfw','label','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','302229cUvTfd','menu_url_https_required','protocol','menu_url_invalid','Created\x20external\x20menu\x20','password','\x20--format\x20compress','body','Menu\x20label','create-response-validation','createdId','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','isArray','link'];a112_0x275e=function(){return _0xcbefd7;};return a112_0x275e();}const a112_0x3f0f28=a112_0x5d1c;(function(_0x2ad535,_0x260565){const _0x1fbb32=a112_0x5d1c,_0x31b9b1=_0x2ad535();while(!![]){try{const _0x564336=parseInt(_0x1fbb32(0x11a))/0x1*(parseInt(_0x1fbb32(0xe0))/0x2)+-parseInt(_0x1fbb32(0x123))/0x3+parseInt(_0x1fbb32(0x12a))/0x4*(parseInt(_0x1fbb32(0x122))/0x5)+parseInt(_0x1fbb32(0xb6))/0x6*(parseInt(_0x1fbb32(0xc7))/0x7)+-parseInt(_0x1fbb32(0x137))/0x8+-parseInt(_0x1fbb32(0x101))/0x9*(parseInt(_0x1fbb32(0xf7))/0xa)+parseInt(_0x1fbb32(0xea))/0xb*(parseInt(_0x1fbb32(0xfd))/0xc);if(_0x564336===_0x260565)break;else _0x31b9b1['push'](_0x31b9b1['shift']());}catch(_0x42e008){_0x31b9b1['push'](_0x31b9b1['shift']());}}}(a112_0x275e,0xc9b18));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a112_0x3f0f28(0x10e)};export function validateExternalMenuUrl(_0xd087b8){const _0x5e5a78=a112_0x3f0f28,_0x3d4c85=_0xd087b8[_0x5e5a78(0xcc)]();let _0x1c9aea;try{_0x1c9aea=new URL(_0x3d4c85);}catch{throw menuError(_0x5e5a78(0x104),_0x5e5a78(0x120),_0x5e5a78(0xb2));}if(_0x1c9aea[_0x5e5a78(0x103)]!=='https:')throw menuError(_0x5e5a78(0x102),_0x5e5a78(0xc0),_0x5e5a78(0xd7));if(_0x1c9aea[_0x5e5a78(0xd9)]||_0x1c9aea[_0x5e5a78(0x106)])throw menuError(_0x5e5a78(0xb1),_0x5e5a78(0xff),_0x5e5a78(0x113));return _0x3d4c85;}export const menuExternalLinkCreate={'service':a112_0x3f0f28(0xd5),'command':a112_0x3f0f28(0x12b),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a112_0x3f0f28(0x11b),'structuredErrors':!![],'flags':[{'name':a112_0x3f0f28(0xfe),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x109)},{'name':'open-mode','type':'string','required':!![],'enum':[a112_0x3f0f28(0x10f),a112_0x3f0f28(0x131)],'description':a112_0x3f0f28(0xf5)},{'name':a112_0x3f0f28(0xdd),'type':a112_0x3f0f28(0xb3),'required':!![],'description':a112_0x3f0f28(0x132)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3f0f28(0xbd),'type':'boolean','default':!![],'description':a112_0x3f0f28(0xeb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4cce07){validateAddInput(_0x4cce07);},async 'dryRun'(_0x402269){const _0x1fc569=a112_0x3f0f28;validateAddInput(_0x402269);const {plan:_0x456b28}=await buildSafeAddPlan(_0x402269,!![]),_0x101ee5=_0x456b28[_0x1fc569(0x135)],_0x31b462=createBody(_0x101ee5);return menuDryRunResult(_0x456b28,{'method':_0x1fc569(0xf8),'url':_0x1fc569(0xb4),'body':_0x31b462,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x1fc569(0xf6)](_0x101ee5['label'])+_0x1fc569(0x138)+_0x402269[_0x1fc569(0xd6)](_0x1fc569(0xb0))+_0x1fc569(0x128)});},async 'execute'(_0x5c95d2){const _0x29413a=a112_0x3f0f28;validateAddInput(_0x5c95d2);const _0x19c566=await buildSafeAddPlan(_0x5c95d2,![]),{plan:_0x10aad2,snapshot:_0x321093}=_0x19c566,_0x1c5dda=_0x10aad2[_0x29413a(0x135)],_0xfdf5ec=buildMenuLookupCommand(_0x5c95d2[_0x29413a(0xc2)]);await recheckAddSnapshot(_0x5c95d2,_0x10aad2);let _0xd3dc46;try{_0xd3dc46=await createMenuEntity(_0x5c95d2[_0x29413a(0xc2)],_0x5c95d2[_0x29413a(0xda)],createBody(_0x1c5dda));}catch(_0x44fe2e){const _0xc27100=mapMenuApiError(_0x44fe2e,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x44fe2e)||_0xc27100[_0x29413a(0xb9)]===_0x29413a(0xbb))throw externalLinkCreateFailure(_0xc27100,_0x10aad2,{'stage':_0x29413a(0x129),'failed':{},'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec}});return recoverAfterResponseLoss(_0x5c95d2,_0x19c566,_0xfdf5ec);}const _0xa7247=Number(_0xd3dc46?.['id']),_0x2ab681=typeof _0xd3dc46?.[_0x29413a(0xb5)]==='string'?_0xd3dc46['path']:'';if(!Number[_0x29413a(0xe2)](_0xa7247)||_0xa7247<=0x0||!_0x2ab681[_0x29413a(0xcc)]()){const _0x58d046=menuError(_0x29413a(0xbf),_0x29413a(0x124),_0x29413a(0x118)+_0xfdf5ec+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x58d046,_0x10aad2,{'stage':_0x29413a(0x10a),'succeeded':Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?[{'id':_0xa7247,'created':!![]}]:[],'failed':{'createdId':Number[_0x29413a(0xe2)](_0xa7247)?_0xa7247:null,'generatedPathConfirmed':Boolean(_0x2ab681[_0x29413a(0xcc)]())},'warnings':[_0x29413a(0x112)],'after':Number[_0x29413a(0xe2)](_0xa7247)&&_0xa7247>0x0?{..._0x1c5dda,'id':_0xa7247,'path':_0x2ab681}:_0x1c5dda,'verification':{'status':_0x29413a(0xe4),'lookupCommand':_0xfdf5ec,...Number['isSafeInteger'](_0xa7247)&&_0xa7247>0x0?{'targetId':_0xa7247}:{}}});}const _0x1a00d8=await readAndVerifyCreatedMenu({'appCode':_0x5c95d2['appCode'],'cookie':_0x5c95d2[_0x29413a(0xda)],'plan':_0x10aad2,'afterPlan':_0x1c5dda,'createdId':_0xa7247,'expectedPath':_0x2ab681,'lookupCommand':_0xfdf5ec,'recovered':![]});return creationSuccess(_0x10aad2,_0x1a00d8[_0x29413a(0x11d)],_0x1a00d8[_0x29413a(0xc8)],![]);}};function validateAddInput(_0x43dfbb){const _0xe49992=a112_0x3f0f28;if(!_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xfe))['trim']())throw CliErrors['flagMissing'](_0xe49992(0xfe));resolveExternalMenuType(_0x43dfbb),validateExternalMenuUrl(_0x43dfbb[_0xe49992(0xd6)](_0xe49992(0xdd))),parseParentId(_0x43dfbb,_0xe49992(0xf3)),validateSort(_0x43dfbb);}function resolveExternalMenuType(_0xea5d28){const _0x4bb89f=a112_0x3f0f28,_0x43981c=_0xea5d28[_0x4bb89f(0xd6)](_0x4bb89f(0xb0))[_0x4bb89f(0xcc)]();if(!_0x43981c)throw CliErrors['flagMissing'](_0x4bb89f(0xb0));const _0x5b1c43=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x43981c];if(!_0x5b1c43)throw menuError(_0x4bb89f(0xc5),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x5b1c43;}async function buildAddPlan(_0x250eb6,_0x462746){const _0x18ae1f=a112_0x3f0f28,_0x24f96f=await fetchMutationSnapshot(_0x250eb6,'create\x20external\x20menu'),_0x31edd2=parseParentId(_0x250eb6,'parent-id')??null;if(_0x31edd2!=null)requireFolder(_0x24f96f,_0x31edd2);const _0x5596d0=validateSort(_0x250eb6),_0x378d3d=_0x5596d0??nextSiblingSort(_0x24f96f,_0x31edd2,_0x18ae1f(0xd5)),_0x5813f1=_0x250eb6[_0x18ae1f(0xd6)](_0x18ae1f(0xfe))['trim'](),_0x33a917=resolveExternalMenuType(_0x250eb6),_0x11b30d=validateExternalMenuUrl(_0x250eb6['str'](_0x18ae1f(0xdd))),_0x4f2cc1=Object[_0x18ae1f(0xbe)][_0x18ae1f(0x13a)][_0x18ae1f(0x13c)](_0x250eb6[_0x18ae1f(0x119)],_0x18ae1f(0xbd))?_0x250eb6['bool'](_0x18ae1f(0xbd)):!![],_0x5c0149={'id':null,'parentId':_0x31edd2,'label':_0x5813f1,'path':_0x18ae1f(0x136),'url':_0x11b30d,'type':_0x33a917,'visible':_0x4f2cc1,'sort':_0x378d3d},_0x4f9fad=buildMenuLookupCommand(_0x250eb6[_0x18ae1f(0xc2)]),_0x452fbf=mutationResult({'operation':'add','selector':{'parentId':_0x31edd2,'type':_0x33a917,'label':_0x5813f1,'url':_0x11b30d},'before':null,'after':_0x5c0149,'dryRun':_0x462746,'backend':[{'method':_0x18ae1f(0xf8),'path':_0x18ae1f(0xb4)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x5c0149)}],'snapshotHash':_0x24f96f[_0x18ae1f(0xd4)],'warnings':[_0x18ae1f(0xc4)],'verification':{'lookupCommand':_0x4f9fad}});return{'plan':_0x452fbf,'snapshot':_0x24f96f};}async function buildSafeAddPlan(_0x49e338,_0x134da0){try{return await buildAddPlan(_0x49e338,_0x134da0);}catch(_0x51c234){throw safeMenuAddError(_0x51c234);}}async function recheckAddSnapshot(_0x216df0,_0x56b810){const _0xdb17a3=a112_0x3f0f28;try{await recheckMutationSnapshot(_0x216df0,_0x56b810,_0xdb17a3(0xf0));}catch(_0x246f50){const _0x48ef6a=getFailureRecord(_0x246f50);throw externalLinkCreateFailure(_0x246f50,_0x56b810,{'stage':'pre-write-recheck','failed':{..._0x48ef6a?.[_0xdb17a3(0xb7)]?{'expectedSnapshotHash':_0x48ef6a[_0xdb17a3(0xb7)]}:{},..._0x48ef6a?.[_0xdb17a3(0xba)]?{'currentSnapshotHash':_0x48ef6a['currentSnapshotHash']}:{}}});}}function createBody(_0x3099e1){const _0x41d5cb=a112_0x3f0f28;return{'parentId':toApiParentId(_0x3099e1[_0x41d5cb(0x13b)]),'label':String(_0x3099e1[_0x41d5cb(0xfe)]),'type':String(_0x3099e1['type']),'url':String(_0x3099e1[_0x41d5cb(0xdd)]),'visible':Boolean(_0x3099e1[_0x41d5cb(0xbd)]),'sort':Number(_0x3099e1[_0x41d5cb(0xd2)]),'extend':{}};}function buildMenuLookupCommand(_0xdc252b){const _0x356762=a112_0x3f0f28,_0x507076='\x27'+_0xdc252b[_0x356762(0x12c)](/'/g,_0x356762(0x11e))+'\x27';return _0x356762(0xec)+_0x507076+_0x356762(0x107);}async function recoverAfterResponseLoss(_0x5958a2,_0x937cac,_0x26783d){const _0x7a0295=a112_0x3f0f28,{plan:_0x2d3490,snapshot:_0x65fb84}=_0x937cac,_0x5a7a96=_0x2d3490[_0x7a0295(0x135)];let _0x54b2eb;try{_0x54b2eb=await fetchMenuSnapshot(_0x5958a2[_0x7a0295(0xc2)],_0x5958a2[_0x7a0295(0xda)]);}catch(_0x4b7fde){throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x28aab0=_0x54b2eb[_0x7a0295(0xf9)][_0x7a0295(0xdf)](_0x4f8da8=>_0x4f8da8[_0x7a0295(0x13b)]===_0x5a7a96[_0x7a0295(0x13b)]&&_0x4f8da8[_0x7a0295(0x116)]===_0x5a7a96[_0x7a0295(0x116)]&&_0x4f8da8[_0x7a0295(0xfe)]===_0x5a7a96['label']&&_0x4f8da8['url']===_0x5a7a96['url']),_0x42ab02=_0x28aab0['filter'](_0x39e9e0=>!_0x65fb84[_0x7a0295(0xfb)][_0x7a0295(0xce)](_0x39e9e0['id'])),_0x55abee=_0x28aab0[_0x7a0295(0xdf)](_0x28b2f9=>_0x65fb84[_0x7a0295(0xfb)]['has'](_0x28b2f9['id']));if(_0x28aab0[_0x7a0295(0x117)]!==0x1||_0x42ab02[_0x7a0295(0x117)]!==0x1)throw recoveryRequiredFailure(_0x2d3490,_0x26783d,{'matchCount':_0x28aab0[_0x7a0295(0x117)],'newMatchCount':_0x42ab02[_0x7a0295(0x117)],'preexistingMatchCount':_0x55abee[_0x7a0295(0x117)]});const _0x3cba92=_0x42ab02[0x0];try{verifyCreatedFact(_0x3cba92,_0x3cba92['id'],_0x5a7a96,null);}catch(_0x20ef91){const _0x268e0d=_0x20ef91 instanceof Error&&_0x7a0295(0xb9)in _0x20ef91?_0x20ef91:menuError(_0x7a0295(0xe7),_0x7a0295(0x12e)+_0x3cba92['id']+_0x7a0295(0x130),_0x7a0295(0x118)+_0x26783d+_0x7a0295(0xde));throw externalLinkCreateFailure(_0x268e0d,_0x2d3490,{'stage':_0x7a0295(0x11c),'succeeded':[{'id':_0x3cba92['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3cba92['id'],'finalFactsConfirmed':![]},'after':_0x3cba92,'warnings':['Menu\x20'+_0x3cba92['id']+_0x7a0295(0xc1)],'verification':{'status':'failed','targetId':_0x3cba92['id'],'recovered':!![],'lookupCommand':_0x26783d}});}return creationSuccess(_0x2d3490,_0x54b2eb,_0x3cba92,!![]);}function recoveryRequiredFailure(_0x5e1455,_0x11dc4d,_0x515b86){const _0x2a5ed7=a112_0x3f0f28,_0x2c05be=menuError('menu_create_recovery_required',_0x2a5ed7(0xed),_0x2a5ed7(0x118)+_0x11dc4d+_0x2a5ed7(0xaf));return externalLinkCreateFailure(_0x2c05be,_0x5e1455,{'stage':_0x2a5ed7(0x139),'failed':_0x515b86,'warnings':[_0x2a5ed7(0xcf)],'verification':{'status':'failed',..._0x515b86,'lookupCommand':_0x11dc4d}});}async function readAndVerifyCreatedMenu(_0x312d6e){const _0x23bc91=a112_0x3f0f28;let _0x333acd;try{_0x333acd=await fetchMenuSnapshot(_0x312d6e[_0x23bc91(0xc2)],_0x312d6e[_0x23bc91(0xda)]);}catch(_0x54fa7d){const _0x582581=menuError(_0x23bc91(0xe7),_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xcd),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x582581,_0x312d6e[_0x23bc91(0x114)],{'stage':_0x23bc91(0x11c),'succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x312d6e['afterPlan'],'id':_0x312d6e[_0x23bc91(0x10b)],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'lookupCommand':_0x312d6e['lookupCommand']}});}const _0x58dde9=_0x333acd[_0x23bc91(0xfb)][_0x23bc91(0xe5)](_0x312d6e['createdId']);try{if(!_0x58dde9)throw menuError('menu_verification_failed',_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0x140),_0x23bc91(0x118)+_0x312d6e[_0x23bc91(0x134)]+_0x23bc91(0xe6));verifyCreatedFact(_0x58dde9,_0x312d6e['createdId'],_0x312d6e[_0x23bc91(0x111)],_0x312d6e[_0x23bc91(0x127)]);}catch(_0x2097cb){const _0x274331=_0x2097cb instanceof Error&&_0x23bc91(0xb9)in _0x2097cb?_0x2097cb:menuError(_0x23bc91(0xe7),_0x23bc91(0xef)+_0x312d6e[_0x23bc91(0x10b)]+'\x20failed\x20final\x20verification.',_0x23bc91(0x118)+_0x312d6e['lookupCommand']+_0x23bc91(0xe6));throw externalLinkCreateFailure(_0x274331,_0x312d6e['plan'],{'stage':'verification','succeeded':[{'id':_0x312d6e[_0x23bc91(0x10b)],'created':!![]}],'failed':{'id':_0x312d6e[_0x23bc91(0x10b)],'finalFactsConfirmed':![]},'after':_0x58dde9??{..._0x312d6e[_0x23bc91(0x111)],'id':_0x312d6e['createdId'],'path':_0x312d6e[_0x23bc91(0x127)]},'warnings':[_0x23bc91(0x133)+_0x312d6e[_0x23bc91(0x10b)]+_0x23bc91(0xd0)],'verification':{'status':_0x23bc91(0xe4),'targetId':_0x312d6e[_0x23bc91(0x10b)],'recovered':_0x312d6e[_0x23bc91(0x126)],'lookupCommand':_0x312d6e[_0x23bc91(0x134)]}});}return{'snapshot':_0x333acd,'fact':_0x58dde9};}function verifyCreatedFact(_0x47b949,_0x160f16,_0x43708d,_0x3574cb){const _0x1dff70=a112_0x3f0f28;if(!Number[_0x1dff70(0xe2)](_0x47b949['id'])||_0x47b949['id']<=0x0||_0x47b949['id']!==_0x160f16)throw menuError(_0x1dff70(0xe7),_0x1dff70(0xc6),_0x1dff70(0x100));const _0x1ee7a0=[['parent',_0x47b949['parentId'],_0x43708d[_0x1dff70(0x13b)]],['type',_0x47b949[_0x1dff70(0x116)],_0x43708d[_0x1dff70(0x116)]],[_0x1dff70(0xfe),_0x47b949['label'],_0x43708d['label']],['URL',_0x47b949['url'],_0x43708d[_0x1dff70(0xdd)]],['visibility',_0x47b949['visible'],_0x43708d[_0x1dff70(0xbd)]],[_0x1dff70(0xd2),_0x47b949[_0x1dff70(0xd2)],_0x43708d['sort']]];for(const [_0x209cdf,_0x3f179e,_0x4da756]of _0x1ee7a0){if(_0x3f179e!==_0x4da756)throw menuError('menu_verification_failed',_0x1dff70(0xef)+_0x47b949['id']+_0x1dff70(0xc3)+_0x209cdf+'.',_0x1dff70(0x125));}if(!_0x47b949['path'][_0x1dff70(0xcc)]()||_0x3574cb!==null&&_0x47b949[_0x1dff70(0xb5)]!==_0x3574cb)throw menuError(_0x1dff70(0xe7),'Created\x20menu\x20'+_0x47b949['id']+_0x1dff70(0xf1),_0x1dff70(0x125));}function creationSuccess(_0x154152,_0x44cb98,_0x13dded,_0xbb05b){const _0x337b40=a112_0x3f0f28,_0x3bdc6c=mutationResult({..._0x154152,'after':_0x13dded,'dryRun':![],'succeeded':[{'id':_0x13dded['id'],'created':!![],'recovered':_0xbb05b}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44cb98[_0x337b40(0xd4)],'targetId':_0x13dded['id'],'recovered':_0xbb05b,'path':_0x13dded[_0x337b40(0xb5)]}});return{'ok':!![],'message':_0xbb05b?_0x337b40(0xf2)+_0x13dded['id']+'\x20after\x20response\x20loss.':_0x337b40(0x105)+_0x13dded['id']+'.','data':{..._0x3bdc6c,'recovered':_0xbb05b}};}function externalLinkCreateFailure(_0x180763,_0x3024e6,_0x157943){const _0x371381=a112_0x3f0f28;return menuFailure(safeMenuAddError(_0x180763),redactFailurePlan(_0x3024e6),{..._0x157943,'succeeded':_0x157943['succeeded']?.[_0x371381(0xf4)](redactFailureRecord),'failed':_0x157943[_0x371381(0xe4)]?redactFailureRecord(_0x157943[_0x371381(0xe4)]):undefined,'verification':_0x157943[_0x371381(0x11c)]?redactFailureRecord(_0x157943[_0x371381(0x11c)]):undefined,'after':_0x157943[_0x371381(0x135)]===undefined?undefined:redactFailureValue(_0x157943[_0x371381(0x135)])});}function redactFailurePlan(_0x18c013){const _0x250f16=a112_0x3f0f28;return{..._0x18c013,'selector':redactFailureRecord(_0x18c013[_0x250f16(0xd3)]),'before':redactFailureValue(_0x18c013[_0x250f16(0xcb)]),'after':redactFailureValue(_0x18c013[_0x250f16(0x135)]),'plannedActions':_0x18c013['plannedActions']?.[_0x250f16(0xf4)](_0x4a877b=>({..._0x4a877b,'body':redactFailureRecord(_0x4a877b[_0x250f16(0x108)])})),'succeeded':_0x18c013[_0x250f16(0xc9)][_0x250f16(0xf4)](redactFailureRecord),'failed':_0x18c013[_0x250f16(0xe4)][_0x250f16(0xf4)](redactFailureRecord),'verification':_0x18c013[_0x250f16(0x11c)]?redactFailureRecord(_0x18c013[_0x250f16(0x11c)]):undefined};}function redactFailureRecord(_0x585ae8){return redactFailureValue(_0x585ae8);}function redactFailureValue(_0x3da5d0,_0x28bd17=''){const _0xd99532=a112_0x3f0f28,_0x59b434=_0x28bd17[_0xd99532(0xe9)]()[_0xd99532(0x12c)](/[^a-z0-9]/g,'');if([_0xd99532(0xd8),_0xd99532(0xe3),_0xd99532(0x121),_0xd99532(0x115)][_0xd99532(0xe8)](_0x59b434))return'<redacted>';if(Array['isArray'](_0x3da5d0))return _0x3da5d0[_0xd99532(0xf4)](_0x2d610a=>redactFailureValue(_0x2d610a));if(_0x3da5d0&&typeof _0x3da5d0===_0xd99532(0xfa))return Object[_0xd99532(0x13d)](Object[_0xd99532(0xfc)](_0x3da5d0)[_0xd99532(0xf4)](([_0x301ccc,_0x3ab06d])=>[_0x301ccc,redactFailureValue(_0x3ab06d,_0x301ccc)]));return _0x3da5d0;}function safeMenuAddError(_0x524c48){const _0xc26943=a112_0x3f0f28,_0x1b0de5=_0x524c48 instanceof CliError?_0x524c48[_0xc26943(0xb9)]:'menu_mutation_failed';switch(_0x1b0de5){case _0xc26943(0xe1):return menuError(_0x1b0de5,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0xc26943(0xb8));case'menu_permission_denied':return menuError(_0x1b0de5,_0xc26943(0x110),_0xc26943(0xca));case _0xc26943(0xbf):return menuError(_0x1b0de5,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0xc26943(0x12d));case _0xc26943(0xe7):return menuError(_0x1b0de5,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0xc26943(0xee):return menuError(_0x1b0de5,_0xc26943(0x13e),_0xc26943(0xd1));case _0xc26943(0x11f):case _0xc26943(0x12f):case _0xc26943(0x13f):case _0xc26943(0xbc):case _0xc26943(0xdb):return menuError(_0x1b0de5,'External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));default:return menuError('menu_mutation_failed','External\x20menu\x20creation\x20failed.',_0xc26943(0x10c));}}function a112_0x5d1c(_0x241b70,_0x8a1f6c){_0x241b70=_0x241b70-0xaf;const _0x275ecb=a112_0x275e();let _0x5d1c00=_0x275ecb[_0x241b70];return _0x5d1c00;}function getFailureRecord(_0x299a48){const _0x3e855c=a112_0x3f0f28;if(!(_0x299a48 instanceof Error)||!(_0x3e855c(0xdc)in _0x299a48))return undefined;const _0x1efb56=_0x299a48['data'];if(!_0x1efb56||typeof _0x1efb56!=='object')return undefined;const _0xc84948=_0x1efb56[_0x3e855c(0xe4)];if(!Array[_0x3e855c(0x10d)](_0xc84948)||!_0xc84948[0x0]||typeof _0xc84948[0x0]!==_0x3e855c(0xfa))return undefined;return _0xc84948[0x0];}
1
+ 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_0xc1811f=a113_0x4822;(function(_0x4c8735,_0x327da2){const _0x1c7780=a113_0x4822,_0x4365f2=_0x4c8735();while(!![]){try{const _0xb4714b=-parseInt(_0x1c7780(0x225))/0x1*(parseInt(_0x1c7780(0x219))/0x2)+parseInt(_0x1c7780(0x1e0))/0x3*(parseInt(_0x1c7780(0x20f))/0x4)+parseInt(_0x1c7780(0x1f9))/0x5*(-parseInt(_0x1c7780(0x200))/0x6)+-parseInt(_0x1c7780(0x1f5))/0x7+parseInt(_0x1c7780(0x206))/0x8+parseInt(_0x1c7780(0x1ed))/0x9*(parseInt(_0x1c7780(0x1f0))/0xa)+-parseInt(_0x1c7780(0x20e))/0xb;if(_0xb4714b===_0x327da2)break;else _0x4365f2['push'](_0x4365f2['shift']());}catch(_0x3716b4){_0x4365f2['push'](_0x4365f2['shift']());}}}(a113_0x1fdd,0x4438e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x4822(_0x51d14c,_0x1d6188){_0x51d14c=_0x51d14c-0x1de;const _0x1fddc0=a113_0x1fdd();let _0x4822b1=_0x1fddc0[_0x51d14c];return _0x4822b1;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a113_0x1fdd(){const _0x28607b=['replace','128382MPAMQG','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20--format\x20compress','\x20has\x20','menu\x20list','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20direct\x20child\x20menu(s).','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','update','cookie','1170657fZLuPa','string','label','30kBzrWW','byId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20already\x20matches\x20the\x20requested\x20URL.','menu_state_drift','288729HrbbvM','appCode','requestedUrlObserved','menu_external_link_type_required','10ypczBs','get','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','body','visible','childrenCount','failed','316146ODmvip','external-link-update','expect-url','Updated\x20external\x20URL\x20for\x20menu\x20','snapshot','expect-parent-id','2126280tUUrgU','update\x20external\x20menu\x20URL','sort','hash','POST','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','flagMissing','\x20has\x20an\x20empty\x20platform\x20path.','2973938cotQck','40RsFKiJ','verify\x20external\x20menu\x20URL\x20update','\x20changed\x20during\x20the\x20URL-only\x20update.','Menu\x20','update-recovery','type','parentId','url','\x22,\x20not\x20iframe\x20or\x20link.','iframe','6KXICrm','\x27\x5c\x27\x27','/smartapi/menu/update','rabetbase\x20menu\x20list\x20--appcode\x20','str','Run\x20','trim','after','path','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','code','129173UQAkeI','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.',',\x20current\x20','unknown'];a113_0x1fdd=function(){return _0x28607b;};return a113_0x1fdd();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a113_0xc1811f(0x21b)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0xc1811f(0x201),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0xc1811f(0x216),'type':a113_0xc1811f(0x1ee),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0xc1811f(0x202),'type':a113_0xc1811f(0x1ee),'required':!![],'description':a113_0xc1811f(0x223)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5b64eb){validateInput(_0x5b64eb);},async 'dryRun'(_0x5e44d8){const _0x3615c8=a113_0xc1811f;validateInput(_0x5e44d8);const _0x451b93=await buildPlan(_0x5e44d8,!![]);return menuDryRunResult(_0x451b93['plan'],{'method':_0x3615c8(0x20a),'url':_0x3615c8(0x21b),'body':_0x451b93[_0x3615c8(0x1fc)],'description':_0x3615c8(0x1e3)+_0x451b93[_0x3615c8(0x1fc)]['id']+'.'});},async 'execute'(_0xe8cbc5){const _0x9fa221=a113_0xc1811f;validateInput(_0xe8cbc5);const _0xd550d5=await buildPlan(_0xe8cbc5,![]),{plan:_0x56b8cb,body:_0x5a5a1b,before:_0x287f25,noChanges:_0x4ffd3e}=_0xd550d5,_0x3a7ca1=_0x5a5a1b['id'];if(_0x4ffd3e)return updateSuccess(_0x56b8cb,_0xd550d5[_0x9fa221(0x204)],_0x287f25,!![],![]);await recheckMutationSnapshot(_0xe8cbc5,_0x56b8cb,'update\x20external\x20menu\x20URL',_0x3a7ca1);try{await updateMenuEntity(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)],{'id':_0x5a5a1b['id'],'url':_0x5a5a1b[_0x9fa221(0x216)]});}catch(_0x3d8d58){const _0xc2f6b8=mapMenuApiError(_0x3d8d58,'update\x20external\x20menu\x20URL',_0x3a7ca1);if(isMenuResponseLoss(_0x3d8d58)&&_0xc2f6b8[_0x9fa221(0x224)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0xe8cbc5,_0xd550d5);throw menuFailure(_0xc2f6b8,_0x56b8cb,{'stage':_0x9fa221(0x1eb),'failed':{'id':_0x3a7ca1},'warnings':[_0x9fa221(0x1e1)],'verification':{'status':_0x9fa221(0x1ff),'targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}let _0x3555c6,_0x3e800a;try{_0x3555c6=await fetchMenuSnapshot(_0xe8cbc5['appCode'],_0xe8cbc5[_0x9fa221(0x1ec)]),_0x3e800a=requireMenu(_0x3555c6,_0x3a7ca1),verifyUpdatedFact(_0x287f25,_0x3e800a,_0x5a5a1b['url']);}catch(_0x1dcdd4){const _0x3cdb3c=describeMenuErrorCause(_0x1dcdd4,_0x9fa221(0x210),_0x3a7ca1),_0x29ac87=asVerificationError(_0x1dcdd4,'Update\x20request\x20for\x20menu\x20'+_0x3a7ca1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x29ac87,_0x56b8cb,{'stage':'verification','succeeded':[{'id':_0x3a7ca1,'updateRequested':!![]}],'failed':{'id':_0x3a7ca1,'requestedStateConfirmed':![],..._0x3cdb3c},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x3a7ca1,'lookupCommand':buildLookupCommand(_0xe8cbc5[_0x9fa221(0x1f6)])}});}return updateSuccess(_0x56b8cb,_0x3555c6,_0x3e800a,![],![]);}};function validateInput(_0x2e1065){const _0x449931=a113_0xc1811f;validateExactId(_0x2e1065),requiredUrl(_0x2e1065,'url'),requiredExpectedUrl(_0x2e1065),parseParentId(_0x2e1065,_0x449931(0x205),{'required':!![]});}function requiredUrl(_0x48e551,_0xa2be0d){const _0x2b8ea0=a113_0xc1811f;if(!hasFlag(_0x48e551,_0xa2be0d)||!_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d)['trim']())throw CliErrors[_0x2b8ea0(0x20c)](_0xa2be0d);return validateExternalMenuUrl(_0x48e551[_0x2b8ea0(0x21d)](_0xa2be0d));}function requiredExpectedUrl(_0x1b566e){const _0x430ca4=a113_0xc1811f;if(!hasFlag(_0x1b566e,_0x430ca4(0x202))||!_0x1b566e['str'](_0x430ca4(0x202))[_0x430ca4(0x21f)]())throw CliErrors['flagMissing'](_0x430ca4(0x202));return _0x1b566e[_0x430ca4(0x21d)](_0x430ca4(0x202))[_0x430ca4(0x21f)]();}async function buildPlan(_0x339a2f,_0x109067){const _0x3bf250=a113_0xc1811f,_0x269f0a=validateExactId(_0x339a2f),_0x5612d3=requiredUrl(_0x339a2f,'url'),_0xdee8c8=requiredExpectedUrl(_0x339a2f),_0x3fc89e=parseParentId(_0x339a2f,'expect-parent-id',{'required':!![]}),_0x2adbb7=await fetchMutationSnapshot(_0x339a2f,_0x3bf250(0x207),_0x269f0a),_0x1b472b=requireMenu(_0x2adbb7,_0x269f0a);assertExternalLinkLeaf(_0x1b472b);if(_0x1b472b[_0x3bf250(0x215)]!==_0x3fc89e)throw menuError('menu_state_drift',_0x3bf250(0x212)+_0x269f0a+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x3fc89e)+_0x3bf250(0x227)+formatParent(_0x1b472b[_0x3bf250(0x215)])+'.',_0x3bf250(0x1fb));const _0x48597e=_0x1b472b[_0x3bf250(0x216)]===_0x5612d3;if(!_0x48597e&&_0x1b472b['url']!==_0xdee8c8)throw menuError(_0x3bf250(0x1f4),_0x3bf250(0x212)+_0x269f0a+_0x3bf250(0x20b),_0x3bf250(0x222));const _0x3b848f={'id':_0x269f0a,'appCode':_0x339a2f['appCode'],'url':_0x5612d3},_0x4e813c={..._0x1b472b,'url':_0x5612d3};return{'body':_0x3b848f,'before':_0x1b472b,'noChanges':_0x48597e,'snapshot':_0x2adbb7,'plan':mutationResult({'operation':_0x3bf250(0x201),'selector':{'id':_0x269f0a},'before':_0x1b472b,'after':_0x4e813c,'dryRun':_0x109067,'backend':[...BACKEND],'plannedActions':_0x48597e?[]:[{'stage':'update-external-link-url','method':'POST','path':'/smartapi/menu/update','body':_0x3b848f}],'snapshotHash':_0x2adbb7[_0x3bf250(0x209)],'warnings':_0x48597e?[_0x3bf250(0x1e7)]:[]})};}function assertExternalLinkLeaf(_0x5b67db){const _0x55afde=a113_0xc1811f;if(_0x5b67db[_0x55afde(0x214)]!==_0x55afde(0x218)&&_0x5b67db[_0x55afde(0x214)]!=='link')throw menuError(_0x55afde(0x1f8),'Menu\x20'+_0x5b67db['id']+'\x20is\x20type\x20\x22'+(_0x5b67db['type']||_0x55afde(0x1de))+_0x55afde(0x217),_0x55afde(0x1e9));if(_0x5b67db[_0x55afde(0x1fe)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x1e5)+_0x5b67db[_0x55afde(0x1fe)]+_0x55afde(0x1e8),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x5b67db[_0x55afde(0x221)][_0x55afde(0x21f)]())throw menuError('menu_external_link_path_missing',_0x55afde(0x212)+_0x5b67db['id']+_0x55afde(0x20d),_0x55afde(0x226));}function verifyUpdatedFact(_0x1df0ba,_0x294402,_0xbe8b8c){const _0xd9e823=a113_0xc1811f;assertExternalLinkLeaf(_0x294402);const _0x3a4794=[['id',_0x294402['id'],_0x1df0ba['id']],[_0xd9e823(0x1ef),_0x294402['label'],_0x1df0ba[_0xd9e823(0x1ef)]],[_0xd9e823(0x214),_0x294402[_0xd9e823(0x214)],_0x1df0ba[_0xd9e823(0x214)]],[_0xd9e823(0x221),_0x294402[_0xd9e823(0x221)],_0x1df0ba[_0xd9e823(0x221)]],[_0xd9e823(0x215),_0x294402['parentId'],_0x1df0ba['parentId']],[_0xd9e823(0x208),_0x294402[_0xd9e823(0x208)],_0x1df0ba[_0xd9e823(0x208)]],[_0xd9e823(0x1fd),_0x294402[_0xd9e823(0x1fd)],_0x1df0ba[_0xd9e823(0x1fd)]]];for(const [_0x2ce91f,_0x1b2167,_0x12b9cb]of _0x3a4794){assertVerified(_0x1b2167===_0x12b9cb,_0xd9e823(0x212)+_0x1df0ba['id']+'\x20'+_0x2ce91f+_0xd9e823(0x211));}assertVerified(_0x294402['url']===_0xbe8b8c,_0xd9e823(0x212)+_0x1df0ba['id']+_0xd9e823(0x1ea));}function updateSuccess(_0x53ccd3,_0x510a36,_0x5168bd,_0x548041,_0x2ebc57){const _0x1f80f5=a113_0xc1811f,_0x5a6334=_0x5168bd['id'],_0x420060=mutationResult({..._0x53ccd3,'after':_0x5168bd,'dryRun':![],'succeeded':[{'id':_0x5a6334,'updated':!_0x548041,'skipped':_0x548041,'recovered':_0x2ebc57}],'verification':{'checkedBy':_0x1f80f5(0x1e6),'snapshotHash':_0x510a36[_0x1f80f5(0x209)],'targetId':_0x5a6334,'matchesRequestedState':!![],'recovered':_0x2ebc57}});return{'ok':!![],'message':_0x2ebc57?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x5a6334+'.':_0x548041?_0x1f80f5(0x212)+_0x5a6334+_0x1f80f5(0x1f3):_0x1f80f5(0x203)+_0x5a6334+'.','data':{..._0x420060,'recovered':_0x2ebc57}};}async function recoverAfterResponseLoss(_0x1b4c25,_0x20808f){const _0x27dc90=a113_0xc1811f,{plan:_0xa9d67e,before:_0x3f855d,body:_0x262e0c}=_0x20808f;let _0x25ab56;try{_0x25ab56=await fetchMenuSnapshot(_0x1b4c25[_0x27dc90(0x1f6)],_0x1b4c25[_0x27dc90(0x1ec)]);}catch{throw recoveryRequired(_0xa9d67e,_0x1b4c25['appCode'],{'id':_0x262e0c['id'],'readbackFailed':!![]});}const _0x38eaa1=_0x25ab56[_0x27dc90(0x1f1)][_0x27dc90(0x1fa)](_0x262e0c['id']);if(!_0x38eaa1||_0x38eaa1[_0x27dc90(0x216)]!==_0x262e0c[_0x27dc90(0x216)])throw recoveryRequired(_0xa9d67e,_0x1b4c25[_0x27dc90(0x1f6)],{'id':_0x262e0c['id'],'requestedUrlObserved':![],'after':_0x38eaa1??null});try{verifyUpdatedFact(_0x3f855d,_0x38eaa1,_0x262e0c['url']);}catch(_0x5c9aea){const _0xe2d2f9=asVerificationError(_0x5c9aea,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x262e0c['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xe2d2f9,_0xa9d67e,{'stage':'update-recovery','succeeded':[{'id':_0x262e0c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x38eaa1,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x27dc90(0x1ff),'targetId':_0x262e0c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1b4c25[_0x27dc90(0x1f6)])}});}return updateSuccess(_0xa9d67e,_0x25ab56,_0x38eaa1,![],!![]);}function recoveryRequired(_0x5ad5d5,_0x439c09,_0x3036b2){const _0x149b69=a113_0xc1811f,_0x1fd381=menuError('menu_update_recovery_required',_0x149b69(0x1f2),_0x149b69(0x21e)+buildLookupCommand(_0x439c09)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x1fd381,_0x5ad5d5,{'stage':_0x149b69(0x213),'failed':{'id':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2[_0x149b69(0x1f7)]},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{}},'after':_0x3036b2[_0x149b69(0x220)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x149b69(0x1ff),'targetId':_0x3036b2['id'],..._0x3036b2[_0x149b69(0x1f7)]===undefined?{}:{'requestedUrlObserved':_0x3036b2['requestedUrlObserved']},..._0x3036b2[_0x149b69(0x1e2)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x439c09)}});}function buildLookupCommand(_0x2ee4ad){const _0x2b620e=a113_0xc1811f,_0x1a5363='\x27'+_0x2ee4ad[_0x2b620e(0x1df)](/'/g,_0x2b620e(0x21a))+'\x27';return _0x2b620e(0x21c)+_0x1a5363+_0x2b620e(0x1e4);}
1
+ 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_0x154d3d=a114_0x4a0a;function a114_0x4a0a(_0x5116de,_0x287491){_0x5116de=_0x5116de-0xad;const _0x4bcda4=a114_0x4bcd();let _0x4a0ad3=_0x4bcda4[_0x5116de];return _0x4a0ad3;}(function(_0x5d9e31,_0x17181f){const _0x2e05a3=a114_0x4a0a,_0x2e9105=_0x5d9e31();while(!![]){try{const _0x5e9d14=-parseInt(_0x2e05a3(0xaf))/0x1*(parseInt(_0x2e05a3(0xd4))/0x2)+parseInt(_0x2e05a3(0xea))/0x3*(-parseInt(_0x2e05a3(0xf1))/0x4)+parseInt(_0x2e05a3(0xce))/0x5*(parseInt(_0x2e05a3(0xcd))/0x6)+parseInt(_0x2e05a3(0xe0))/0x7*(-parseInt(_0x2e05a3(0xc3))/0x8)+-parseInt(_0x2e05a3(0xde))/0x9*(parseInt(_0x2e05a3(0xd0))/0xa)+-parseInt(_0x2e05a3(0xbf))/0xb*(parseInt(_0x2e05a3(0xdf))/0xc)+parseInt(_0x2e05a3(0xdb))/0xd*(parseInt(_0x2e05a3(0xc5))/0xe);if(_0x5e9d14===_0x17181f)break;else _0x2e9105['push'](_0x2e9105['shift']());}catch(_0x47acb5){_0x2e9105['push'](_0x2e9105['shift']());}}}(a114_0x4bcd,0x89928));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a114_0x4bcd(){const _0x26389c=['\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','parentId','308604tveMrm','\x20has\x20an\x20unexpected\x20label.','create-response-validation','group-create','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','label','155DEEnlV','Folder\x20','str','pageId','\x22\x20with\x20a\x20platform-generated\x20path.','\x20unexpectedly\x20owns\x20a\x20page.','rabetbase\x20menu\x20list\x20--format\x20json','menu_create_response_invalid','byId','\x20is\x20not\x20type\x20folder.','menu\x20list','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','verification','sort','resources','after','2123WLbeyg','isSafeInteger','appCode','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','1376GSREOW','\x20is\x20missing\x20from\x20menu\x20list.','31615108zanpsT','depth','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20may\x20exist\x20online\x20at\x20path\x20','length','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','failed','path','2694PlOVzt','11070DCjLfm','\x20has\x20unexpected\x20parent\x20','464360mSgPvp','hash','\x20is\x20not\x20visible.','Menu\x20create\x20response\x20for\x20folder\x20','2682ophGYP','Folder\x20label','trim','childrenCount','get','\x20has\x20resources.','create','13hnKbZQ','\x20has\x20an\x20unexpected\x20sort.','create-folder','90FKtvnG','63108WcWTWo','21924EjkDkv','Created\x20folder\x20','cookie','/smartapi/menu/create','write','parent-id','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','\x20is\x20not\x20empty.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','18JyXBrc','folder','create\x20folder','root','<platform-generated>'];a114_0x4bcd=function(){return _0x26389c;};return a114_0x4bcd();}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x154d3d(0xe7),'path':a114_0x154d3d(0xe3)}];export const menuGroupCreate={'service':'menu','command':a114_0x154d3d(0xf4),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x154d3d(0xe4),'structuredErrors':!![],'flags':[{'name':a114_0x154d3d(0xae),'type':'string','required':!![],'description':a114_0x154d3d(0xd5)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1843e4){validateCreateInput(_0x1843e4);},async 'dryRun'(_0x2dd7ca){const _0x12e269=a114_0x154d3d,_0x509fdb=await buildCreatePlan(_0x2dd7ca,!![]),_0x4c8257=_0x509fdb[_0x12e269(0xbe)];return menuDryRunResult(_0x509fdb,{'method':_0x12e269(0xe7),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4c8257[_0x12e269(0xf0)]),'label':_0x4c8257[_0x12e269(0xae)],'type':_0x12e269(0xeb),'visible':!![],'sort':_0x4c8257['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x4c8257[_0x12e269(0xae)])+_0x12e269(0xb3)});},async 'execute'(_0x420128){const _0xd44f46=a114_0x154d3d;validateCreateInput(_0x420128);const _0xd2662=await buildCreatePlan(_0x420128,![]),_0x558c49=_0xd2662['after'];await recheckMutationSnapshot(_0x420128,_0xd2662,_0xd44f46(0xec));let _0x41f93b;try{_0x41f93b=await createMenuEntity(_0x420128[_0xd44f46(0xc1)],_0x420128['cookie'],{'parentId':toApiParentId(_0x558c49[_0xd44f46(0xf0)]),'label':String(_0x558c49[_0xd44f46(0xae)]),'type':_0xd44f46(0xeb),'visible':!![],'sort':Number(_0x558c49[_0xd44f46(0xbc)]),'extend':{}});}catch(_0x23b1c5){const _0x5721a7=mapMenuApiError(_0x23b1c5,'create\x20folder');throw menuFailure(_0x5721a7,_0xd2662,{'stage':_0xd44f46(0xda),'failed':{}});}const _0x326fe2=Number(_0x41f93b['id']);if(!Number[_0xd44f46(0xc0)](_0x326fe2)||_0x326fe2<=0x0){const _0x45a1d0=menuError(_0xd44f46(0xb6),_0xd44f46(0xca),_0xd44f46(0xc2));throw menuFailure(_0x45a1d0,_0xd2662,{'stage':_0xd44f46(0xf3),'failed':{'createdId':_0x41f93b['id']??null},'warnings':[_0xd44f46(0xba)],'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5)}});}const _0x4478b1=typeof _0x41f93b[_0xd44f46(0xcc)]==='string'?_0x41f93b[_0xd44f46(0xcc)]:'';if(!_0x4478b1[_0xd44f46(0xd6)]()){const _0x4a5db9=menuError(_0xd44f46(0xb6),_0xd44f46(0xd3)+_0x326fe2+_0xd44f46(0xe9),_0xd44f46(0xe6));throw menuFailure(_0x4a5db9,_0xd2662,{'stage':_0xd44f46(0xf3),'succeeded':[{'id':_0x326fe2,'created':!![]}],'failed':{'id':_0x326fe2,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x326fe2+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}let _0x5309d6;try{_0x5309d6=await fetchMenuSnapshot(_0x420128['appCode'],_0x420128[_0xd44f46(0xe2)]);}catch(_0x4f17fd){const _0x38d8e2=describeMenuErrorCause(_0x4f17fd,'verify\x20folder\x20creation',_0x326fe2),_0x3bba89=asVerificationError(_0x4f17fd,_0xd44f46(0xb0)+_0x326fe2+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x3bba89,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x38d8e2},'warnings':[_0xd44f46(0xb0)+_0x326fe2+_0xd44f46(0xc8)+JSON['stringify'](_0x4478b1)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':_0xd44f46(0xcb),'lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x2a0fb2=_0x5309d6[_0xd44f46(0xb7)][_0xd44f46(0xd8)](_0x326fe2);let _0x22b6b1;try{assertVerified(Boolean(_0x2a0fb2),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xc4)),_0x22b6b1=_0x2a0fb2,assertVerified(_0x22b6b1['type']===_0xd44f46(0xeb),'Created\x20menu\x20'+_0x326fe2+_0xd44f46(0xb8)),assertVerified(_0x22b6b1['label']===_0x558c49[_0xd44f46(0xae)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xf2)),assertVerified(_0x22b6b1[_0xd44f46(0xcc)]===_0x4478b1&&Boolean(_0x22b6b1[_0xd44f46(0xcc)]['trim']()),_0xd44f46(0xe1)+_0x326fe2+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x22b6b1['visible']===!![],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd2)),assertVerified(_0x22b6b1[_0xd44f46(0xbd)][_0xd44f46(0xc9)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xd9)),assertVerified(_0x22b6b1[_0xd44f46(0xd7)]===0x0,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xe8)),assertVerified(_0x22b6b1[_0xd44f46(0xbc)]===_0x558c49[_0xd44f46(0xbc)],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xdc)),assertVerified(_0x22b6b1[_0xd44f46(0xf0)]===_0x558c49['parentId'],_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xcf)+(_0x22b6b1[_0xd44f46(0xf0)]??_0xd44f46(0xed))+'.'),assertVerified(_0x22b6b1[_0xd44f46(0xb2)]==null,_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xb4));const _0xb5832b=_0x22b6b1['parentId']==null?undefined:requireFolder(_0x5309d6,_0x22b6b1[_0xd44f46(0xf0)]);assertVerified(_0x22b6b1[_0xd44f46(0xc6)]===(_0xb5832b?_0xb5832b[_0xd44f46(0xc6)]+0x1:0x0),_0xd44f46(0xe1)+_0x326fe2+_0xd44f46(0xef));}catch(_0x3c1de0){const _0x208dee=describeMenuErrorCause(_0x3c1de0,'verify\x20folder\x20creation',_0x326fe2),_0x29a6c6=asVerificationError(_0x3c1de0,'Folder\x20'+_0x326fe2+_0xd44f46(0xad));throw menuFailure(_0x29a6c6,_0xd2662,{'stage':_0xd44f46(0xbb),'succeeded':[{'id':_0x326fe2,'created':!![],'path':_0x4478b1}],'failed':{'id':_0x326fe2,'finalFactsConfirmed':![],..._0x208dee},'warnings':['Folder\x20'+_0x326fe2+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2a0fb2??{..._0x558c49,'id':_0x326fe2,'path':_0x4478b1},'verification':{'status':'failed','lookupCommand':_0xd44f46(0xb5),'targetId':_0x326fe2}});}const _0x56b14d=mutationResult({..._0xd2662,'after':_0x22b6b1,'dryRun':![],'succeeded':[{'id':_0x326fe2,'type':_0xd44f46(0xeb),'path':_0x4478b1}],'verification':{'checkedBy':_0xd44f46(0xb9),'snapshotHash':_0x5309d6[_0xd44f46(0xd1)],'folder':!![],'path':_0x4478b1,'emptyResources':!![]}});return{'ok':!![],'data':_0x56b14d,'message':'Created\x20menu\x20folder\x20'+_0x326fe2+'.'};}};function validateCreateInput(_0x1f877c){const _0x57c4ab=a114_0x154d3d,_0x1b818b=_0x1f877c[_0x57c4ab(0xb1)](_0x57c4ab(0xae))[_0x57c4ab(0xd6)]();if(!_0x1b818b)throw CliErrors['flagMissing'](_0x57c4ab(0xae));parseParentId(_0x1f877c,_0x57c4ab(0xe5)),validateSort(_0x1f877c);}async function buildCreatePlan(_0x1a16f6,_0x4f4020){const _0x1d9b9c=a114_0x154d3d,_0x1f2c77=await fetchMutationSnapshot(_0x1a16f6,_0x1d9b9c(0xec)),_0x189bb2=parseParentId(_0x1a16f6,_0x1d9b9c(0xe5))??null;if(_0x189bb2!=null)requireFolder(_0x1f2c77,_0x189bb2);const _0x56e8ca=validateSort(_0x1a16f6),_0x375a4c=_0x56e8ca??nextSiblingSort(_0x1f2c77,_0x189bb2,_0x1d9b9c(0xeb)),_0x1e9d7b=_0x1a16f6[_0x1d9b9c(0xb1)](_0x1d9b9c(0xae))[_0x1d9b9c(0xd6)]();return mutationResult({'operation':_0x1d9b9c(0xf4),'selector':{'label':_0x1e9d7b,'parentId':_0x189bb2},'before':null,'after':{'id':null,'parentId':_0x189bb2,'label':_0x1e9d7b,'path':_0x1d9b9c(0xee),'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4f4020,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1d9b9c(0xdd),'method':'POST','path':_0x1d9b9c(0xe3),'body':{'parentId':toApiParentId(_0x189bb2),'label':_0x1e9d7b,'type':_0x1d9b9c(0xeb),'visible':!![],'sort':_0x375a4c,'extend':{}}}],'snapshotHash':_0x1f2c77[_0x1d9b9c(0xd1)],'warnings':[_0x1d9b9c(0xc7)]});}
1
+ 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_0x479b00=a115_0x17b4;(function(_0x5ee603,_0x301bf1){const _0x284c89=a115_0x17b4,_0x4f7c8f=_0x5ee603();while(!![]){try{const _0x241c68=parseInt(_0x284c89(0x84))/0x1*(-parseInt(_0x284c89(0x99))/0x2)+-parseInt(_0x284c89(0x92))/0x3+-parseInt(_0x284c89(0x8e))/0x4*(-parseInt(_0x284c89(0x94))/0x5)+parseInt(_0x284c89(0x97))/0x6*(parseInt(_0x284c89(0x73))/0x7)+-parseInt(_0x284c89(0x83))/0x8*(parseInt(_0x284c89(0x7b))/0x9)+parseInt(_0x284c89(0x78))/0xa+-parseInt(_0x284c89(0x86))/0xb*(-parseInt(_0x284c89(0x71))/0xc);if(_0x241c68===_0x301bf1)break;else _0x4f7c8f['push'](_0x4f7c8f['shift']());}catch(_0x35d22b){_0x4f7c8f['push'](_0x4f7c8f['shift']());}}}(a115_0x10ee,0x3ec07));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0x479b00(0x95),'path':a115_0x479b00(0x75)}];function a115_0x17b4(_0x3fe842,_0x215be3){_0x3fe842=_0x3fe842-0x6e;const _0x10ee5b=a115_0x10ee();let _0x17b48e=_0x10ee5b[_0x3fe842];return _0x17b48e;}export const menuGroupUpdate={'service':'menu','command':a115_0x479b00(0x79),'description':a115_0x479b00(0x96),'risk':a115_0x479b00(0x7d),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':a115_0x479b00(0x81)}],'flags':[MENU_ID_FLAG,{'name':a115_0x479b00(0x8a),'type':'string','description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x564dcd){validateUpdateInput(_0x564dcd);},async 'dryRun'(_0x426f3b){const _0x386124=a115_0x479b00;validateUpdateInput(_0x426f3b);const {plan:_0x509e06,patch:_0x1f218a}=await buildUpdatePlan(_0x426f3b,!![]);return menuDryRunResult(_0x509e06,{'method':_0x386124(0x95),'url':'/smartapi/menu/update','body':_0x1f218a,'description':_0x386124(0x8b)+_0x509e06[_0x386124(0x9a)]['id']+'.'});},async 'execute'(_0x4e9359){const _0x32c1c6=a115_0x479b00;validateUpdateInput(_0x4e9359);const {plan:_0x6738fd,patch:_0x213b9d,noChanges:_0xd83bb3}=await buildUpdatePlan(_0x4e9359,![]),_0x13678a=Number(_0x6738fd['selector']['id']),_0x185411=await recheckMutationSnapshot(_0x4e9359,_0x6738fd,_0x32c1c6(0x80),_0x13678a);if(!_0xd83bb3)try{await updateMenuEntity(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359[_0x32c1c6(0x72)],_0x213b9d);}catch(_0x57852a){const _0x2f68ea=mapMenuApiError(_0x57852a,_0x32c1c6(0x80),_0x13678a);throw menuFailure(_0x2f68ea,_0x6738fd,{'stage':_0x32c1c6(0x77),'failed':{'id':_0x13678a}});}let _0x52a8fe=_0x185411,_0x2f8297;try{!_0xd83bb3&&(_0x52a8fe=await fetchMenuSnapshot(_0x4e9359[_0x32c1c6(0x9b)],_0x4e9359['cookie'])),_0x2f8297=requireMenu(_0x52a8fe,_0x13678a),verifyPatch(_0x2f8297,_0x213b9d),_0x2f8297[_0x32c1c6(0x6e)]!=null&&requireFolder(_0x52a8fe,_0x2f8297[_0x32c1c6(0x6e)]);}catch(_0x1ce58b){const _0x632f76=describeMenuErrorCause(_0x1ce58b,_0x32c1c6(0x7f),_0x13678a),_0x7cceb9=asVerificationError(_0x1ce58b,_0x32c1c6(0x91)+_0x13678a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x7cceb9,_0x6738fd,{'stage':_0x32c1c6(0x82),'succeeded':[{'id':_0x13678a,'updateRequested':!_0xd83bb3,'skipped':_0xd83bb3}],'failed':{'id':_0x13678a,'requestedStateConfirmed':![],..._0x632f76},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x32c1c6(0x98),'lookupCommand':_0x32c1c6(0x76),'targetId':_0x13678a}});}const _0x3e13d7=mutationResult({..._0x6738fd,'after':_0x2f8297,'dryRun':![],'succeeded':[{'id':_0x13678a,'updated':!_0xd83bb3,'skipped':_0xd83bb3}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x52a8fe[_0x32c1c6(0x8d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3e13d7,'message':_0xd83bb3?_0x32c1c6(0x8f)+_0x13678a+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x13678a+'.'};}};function a115_0x10ee(){const _0x321801=['/smartapi/menu/update','rabetbase\x20menu\x20list\x20--format\x20json','update','1800080qSbumS','group-update','\x22,\x20not\x20folder.','126glUJle','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','write','parent-id','verify\x20folder\x20update','update\x20folder','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','verification','159592MkMQpn','822HsPebG','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','44cOLZFE','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','validation','label','Would\x20update\x20folder\x20','Menu\x20','hash','1532yRpRBR','Folder\x20','folder','Update\x20request\x20for\x20folder\x20','523509ftkaNc','type','2865pXWnfJ','POST','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','18mHLJBv','failed','382YSRszT','selector','appCode','sort','No\x20online\x20fields\x20would\x20change.','parentId','trim','menu_not_folder','850224KRgNSF','cookie','431543knJfEA','str'];a115_0x10ee=function(){return _0x321801;};return a115_0x10ee();}function validateUpdateInput(_0x2183dd){const _0x392844=a115_0x479b00;validateExactId(_0x2183dd);if(hasFlag(_0x2183dd,_0x392844(0x7e)))throw CliErrors['validation'](_0x392844(0x87),_0x392844(0x81));if(!hasFlag(_0x2183dd,_0x392844(0x8a))&&!hasFlag(_0x2183dd,_0x392844(0x9c)))throw CliErrors[_0x392844(0x89)](_0x392844(0x7c));if(hasFlag(_0x2183dd,_0x392844(0x8a))&&!_0x2183dd[_0x392844(0x74)](_0x392844(0x8a))[_0x392844(0x6f)]())throw CliErrors[_0x392844(0x89)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x2183dd);}async function buildUpdatePlan(_0x366f78,_0x5d3020){const _0x3c993d=a115_0x479b00,_0x4a3bbf=validateExactId(_0x366f78),_0x4d4e9d=await fetchMutationSnapshot(_0x366f78,_0x3c993d(0x80),_0x4a3bbf),_0x2f138d=requireMenu(_0x4d4e9d,_0x4a3bbf);if(_0x2f138d[_0x3c993d(0x93)]!==_0x3c993d(0x90))throw menuError(_0x3c993d(0x70),_0x3c993d(0x8c)+_0x4a3bbf+'\x20is\x20type\x20\x22'+(_0x2f138d[_0x3c993d(0x93)]||'unknown')+_0x3c993d(0x7a),_0x3c993d(0x85));assertExpectedState(_0x366f78,_0x2f138d);const _0x4a8f32={'id':_0x4a3bbf},_0x5dd09f={..._0x2f138d};if(hasFlag(_0x366f78,_0x3c993d(0x8a))){const _0x703f08=_0x366f78[_0x3c993d(0x74)](_0x3c993d(0x8a))[_0x3c993d(0x6f)]();_0x4a8f32[_0x3c993d(0x8a)]=_0x703f08,_0x5dd09f[_0x3c993d(0x8a)]=_0x703f08;}if(hasFlag(_0x366f78,_0x3c993d(0x9c))){const _0x5a3099=validateSort(_0x366f78);_0x4a8f32[_0x3c993d(0x9c)]=_0x5a3099,_0x5dd09f[_0x3c993d(0x9c)]=_0x5a3099;}const _0x21e3af=sameRequestedState(_0x2f138d,_0x5dd09f),_0xaf955=_0x21e3af?[_0x3c993d(0x9d)]:[];return{'patch':_0x4a8f32,'noChanges':_0x21e3af,'plan':mutationResult({'operation':_0x3c993d(0x79),'selector':{'id':_0x4a3bbf},'before':_0x2f138d,'after':_0x5dd09f,'dryRun':_0x5d3020,'backend':[...BACKEND],'snapshotHash':_0x4d4e9d[_0x3c993d(0x8d)],'warnings':_0xaf955})};}function sameRequestedState(_0x1463e8,_0x4deead){const _0x5e2141=a115_0x479b00;return _0x1463e8[_0x5e2141(0x8a)]===_0x4deead['label']&&_0x1463e8[_0x5e2141(0x9c)]===_0x4deead['sort'];}function verifyPatch(_0x129160,_0x10be30){const _0x13bdce=a115_0x479b00;assertVerified(_0x129160[_0x13bdce(0x93)]===_0x13bdce(0x90),_0x13bdce(0x8c)+_0x129160['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x10be30[_0x13bdce(0x8a)]!==undefined&&assertVerified(_0x129160[_0x13bdce(0x8a)]===_0x10be30[_0x13bdce(0x8a)],_0x13bdce(0x8f)+_0x129160['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x10be30[_0x13bdce(0x9c)]!==undefined&&assertVerified(_0x129160['sort']===_0x10be30[_0x13bdce(0x9c)],_0x13bdce(0x8f)+_0x129160['id']+_0x13bdce(0x88));}
1
+ 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(_0x3d7041,_0x220c39){const _0x5cf88d=a116_0x3520,_0x12bd95=_0x3d7041();while(!![]){try{const _0x51e21d=-parseInt(_0x5cf88d(0x8b))/0x1+parseInt(_0x5cf88d(0x86))/0x2+parseInt(_0x5cf88d(0x8c))/0x3*(parseInt(_0x5cf88d(0x83))/0x4)+-parseInt(_0x5cf88d(0x87))/0x5*(-parseInt(_0x5cf88d(0x88))/0x6)+parseInt(_0x5cf88d(0x8a))/0x7+parseInt(_0x5cf88d(0x89))/0x8*(-parseInt(_0x5cf88d(0x85))/0x9)+-parseInt(_0x5cf88d(0x84))/0xa;if(_0x51e21d===_0x220c39)break;else _0x12bd95['push'](_0x12bd95['shift']());}catch(_0x1b45f5){_0x12bd95['push'](_0x12bd95['shift']());}}}(a116_0x227e,0x3105d));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';function a116_0x227e(){const _0x2b7130=['455782ejtXXY','63440jeFTRZ','108TmdUbp','56zAGcYZ','900319cpGjAn','265746nipZMR','192243KJtOpY','16DDXwDg','722800IuHwSj','388791Pozcxh'];a116_0x227e=function(){return _0x2b7130;};return a116_0x227e();}function a116_0x3520(_0x441754,_0x2ccc4a){_0x441754=_0x441754-0x83;const _0x227e30=a116_0x227e();let _0x352013=_0x227e30[_0x441754];return _0x352013;}import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
1
+ (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_0x1fb9c4=a117_0x1c68;function a117_0x1c68(_0x37ab56,_0x10f47e){_0x37ab56=_0x37ab56-0x6e;const _0x25477d=a117_0x2547();let _0x1c689b=_0x25477d[_0x37ab56];return _0x1c689b;}(function(_0x22cb75,_0x5e16d2){const _0x1d46c6=a117_0x1c68,_0x194795=_0x22cb75();while(!![]){try{const _0xee9892=-parseInt(_0x1d46c6(0x86))/0x1*(parseInt(_0x1d46c6(0x72))/0x2)+-parseInt(_0x1d46c6(0x81))/0x3*(parseInt(_0x1d46c6(0x70))/0x4)+parseInt(_0x1d46c6(0x85))/0x5+parseInt(_0x1d46c6(0x75))/0x6*(-parseInt(_0x1d46c6(0x82))/0x7)+parseInt(_0x1d46c6(0x71))/0x8*(parseInt(_0x1d46c6(0x79))/0x9)+parseInt(_0x1d46c6(0x84))/0xa*(parseInt(_0x1d46c6(0x6e))/0xb)+-parseInt(_0x1d46c6(0x76))/0xc;if(_0xee9892===_0x5e16d2)break;else _0x194795['push'](_0x194795['shift']());}catch(_0x191b0a){_0x194795['push'](_0x194795['shift']());}}}(a117_0x2547,0x27462));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a117_0x2547(){const _0x170d17=['list','18633Rkbpma','14Opbcwe','boolean','30suYfJF','1453270xwIrIq','184517BNxqHK','592284QJGoXg','map','128UvuXPt','1932616qfrfbI','2TsvowF','hash','menu','151068kHnnwS','1191264swTzQj','total','verbose','9KFTRlk','cookie','bool','No\x20menus\x20found.','read','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','Found\x20'];a117_0x2547=function(){return _0x170d17;};return a117_0x2547();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a117_0x1fb9c4(0x74),'command':a117_0x1fb9c4(0x80),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a117_0x1fb9c4(0x7d),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x1fb9c4(0x78),'type':a117_0x1fb9c4(0x83),'description':a117_0x1fb9c4(0x7e)}],async 'execute'(_0x15e2f4){const _0x59939b=a117_0x1fb9c4,_0x16dfbc=_0x15e2f4[_0x59939b(0x7b)](_0x59939b(0x78)),_0x30eeb3=await fetchMenuSnapshot(_0x15e2f4['appCode'],_0x15e2f4[_0x59939b(0x7a)],{'verbose':_0x16dfbc});return{'ok':!![],'data':{'total':_0x30eeb3[_0x59939b(0x77)],'snapshotHash':_0x30eeb3[_0x59939b(0x73)],'menus':_0x30eeb3['menus'][_0x59939b(0x6f)](toMenuListItem)},'message':_0x30eeb3[_0x59939b(0x77)]===0x0?_0x59939b(0x7c):_0x59939b(0x7f)+_0x30eeb3[_0x59939b(0x77)]+'\x20menu(s)'};}};
1
+ 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_0x15917b=a118_0x7d5a;(function(_0x21b863,_0x5c46bb){const _0x5f27e7=a118_0x7d5a,_0xf9f205=_0x21b863();while(!![]){try{const _0x5bd343=parseInt(_0x5f27e7(0x16b))/0x1+parseInt(_0x5f27e7(0x173))/0x2+parseInt(_0x5f27e7(0x16e))/0x3+parseInt(_0x5f27e7(0x175))/0x4*(-parseInt(_0x5f27e7(0x15b))/0x5)+parseInt(_0x5f27e7(0x160))/0x6*(parseInt(_0x5f27e7(0x157))/0x7)+parseInt(_0x5f27e7(0x159))/0x8+-parseInt(_0x5f27e7(0x164))/0x9*(parseInt(_0x5f27e7(0x15e))/0xa);if(_0x5bd343===_0x5c46bb)break;else _0xf9f205['push'](_0xf9f205['shift']());}catch(_0x4e2d5c){_0xf9f205['push'](_0xf9f205['shift']());}}}(a118_0x5413,0x8cb24));function a118_0x5413(){const _0x439d50=['689042wHhKIR','Menu\x20','96HSPVXm','move\x20menu','parentId','expect-parent-id','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','sort','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--format\x20compress','move','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','497IDygkD','menu_state_drift','6476144zUYrCz','write','214535SdrgPr','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','parent-id','424970YtsVSN','after','75282pPMtTM','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.',',\x20current\x20','POST','378yprKcp','\x20is\x20no\x20longer\x20a\x20leaf.','failed','cookie','Would\x20move\x20menu\x20','childrenCount','menu','1009264ZFVYRF','verify\x20menu\x20move','/smartapi/menu/update','1010382FjtILk','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','folder','appCode','menu_move_source_not_leaf'];a118_0x5413=function(){return _0x439d50;};return a118_0x5413();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a118_0x7d5a(_0x43319c,_0x41f763){_0x43319c=_0x43319c-0x152;const _0x541391=a118_0x5413();let _0x7d5af3=_0x541391[_0x43319c];return _0x7d5af3;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0x15917b(0x163),'path':a118_0x15917b(0x16d)}];export const menuMove={'service':a118_0x15917b(0x16a),'command':'move','description':a118_0x15917b(0x179),'risk':a118_0x15917b(0x15a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53c17b){validateMoveInput(_0x53c17b);},async 'dryRun'(_0x1dc43e){const _0x48c0ef=a118_0x15917b,{plan:_0x3fd8f1,patch:_0x21d424}=await buildMovePlan(_0x1dc43e,!![]);return menuDryRunResult(_0x3fd8f1,{'method':_0x48c0ef(0x163),'url':'/smartapi/menu/update','body':{..._0x21d424,'appCode':_0x1dc43e[_0x48c0ef(0x171)]},'description':_0x48c0ef(0x168)+_0x21d424['id']+'.'});},async 'execute'(_0x4103fd){const _0x186042=a118_0x15917b;validateMoveInput(_0x4103fd);const {plan:_0x337aea,patch:_0x492fc0,noChanges:_0x3b92c8,snapshot:_0x3b4458}=await buildMovePlan(_0x4103fd,![]),_0x5452a5=_0x492fc0['id'];if(!_0x3b92c8)try{await updateMenuEntity(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)],_0x492fc0);}catch(_0x1e0db8){const _0xe74839=mapMenuApiError(_0x1e0db8,'move',_0x5452a5);throw menuFailure(_0xe74839,_0x337aea,{'stage':'update','failed':{'id':_0x5452a5},'warnings':[_0x186042(0x152)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}let _0x27eced,_0x40999b;try{_0x27eced=_0x3b92c8?_0x3b4458:await fetchMenuSnapshot(_0x4103fd[_0x186042(0x171)],_0x4103fd[_0x186042(0x167)]),_0x40999b=requireMenu(_0x27eced,_0x5452a5),verifyMove(_0x40999b,_0x337aea[_0x186042(0x15f)]),_0x40999b[_0x186042(0x177)]!==null&&requireFolder(_0x27eced,_0x40999b[_0x186042(0x177)]);}catch(_0x3017ce){const _0x26bcfc=describeMenuErrorCause(_0x3017ce,_0x186042(0x16c),_0x5452a5),_0x34a40a=asVerificationError(_0x3017ce,'Move\x20request\x20for\x20menu\x20'+_0x5452a5+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x34a40a,_0x337aea,{'stage':'verification','succeeded':[{'id':_0x5452a5,'updateRequested':!_0x3b92c8,'skipped':_0x3b92c8}],'failed':{'id':_0x5452a5,'requestedStateConfirmed':![],..._0x26bcfc},'warnings':[_0x186042(0x17a)],'verification':{'status':_0x186042(0x166),'targetId':_0x5452a5,'lookupCommand':_0x186042(0x153)}});}const _0x51ea34=mutationResult({..._0x337aea,'after':_0x40999b,'dryRun':![],'succeeded':[{'id':_0x5452a5,'updated':!_0x3b92c8,'skipped':_0x3b92c8}],'verification':{'checkedBy':_0x186042(0x156),'snapshotHash':_0x27eced['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x51ea34,'message':_0x3b92c8?_0x186042(0x174)+_0x5452a5+_0x186042(0x161):'Moved\x20menu\x20'+_0x5452a5+'.'};}};function validateMoveInput(_0xc21ecc){const _0x53ef34=a118_0x15917b;validateExactId(_0xc21ecc),parseParentId(_0xc21ecc,_0x53ef34(0x15d),{'required':!![]}),parseParentId(_0xc21ecc,'expect-parent-id',{'required':!![]}),validateSort(_0xc21ecc);}async function buildMovePlan(_0x29ad93,_0x540711){const _0x26b942=a118_0x15917b,_0x35984b=validateExactId(_0x29ad93),_0x319511=parseParentId(_0x29ad93,_0x26b942(0x15d),{'required':!![]}),_0x1492fd=parseParentId(_0x29ad93,_0x26b942(0x178),{'required':!![]}),_0x53ff63=validateSort(_0x29ad93),_0xb791f4=await fetchMutationSnapshot(_0x29ad93,_0x26b942(0x176),_0x35984b),_0x2ec31e=requireMenu(_0xb791f4,_0x35984b);if(_0x2ec31e['type']==='folder'||_0x2ec31e[_0x26b942(0x169)]!==0x0)throw menuError(_0x26b942(0x172),_0x26b942(0x174)+_0x35984b+_0x26b942(0x15c),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2ec31e[_0x26b942(0x177)]!==_0x1492fd)throw menuError(_0x26b942(0x158),'Menu\x20'+_0x35984b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x1492fd)+_0x26b942(0x162)+formatParent(_0x2ec31e[_0x26b942(0x177)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x319511!==null&&requireFolder(_0xb791f4,_0x319511);const _0xe14358=_0x53ff63??(_0x2ec31e['parentId']===_0x319511?_0x2ec31e[_0x26b942(0x17b)]??0x0:nextSiblingSort(_0xb791f4,_0x319511,_0x26b942(0x16a))),_0x22d110={..._0x2ec31e,'parentId':_0x319511,'sort':_0xe14358},_0x36525d={'id':_0x35984b,'parentId':toApiParentId(_0x319511),'sort':_0xe14358},_0x42bad0=_0x2ec31e[_0x26b942(0x177)]===_0x319511&&_0x2ec31e[_0x26b942(0x17b)]===_0xe14358;return{'patch':_0x36525d,'noChanges':_0x42bad0,'snapshot':_0xb791f4,'plan':mutationResult({'operation':_0x26b942(0x154),'selector':{'id':_0x35984b,'parentId':_0x319511},'before':_0x2ec31e,'after':_0x22d110,'dryRun':_0x540711,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x26b942(0x163),'path':'/smartapi/menu/update','body':{..._0x36525d,'appCode':_0x29ad93['appCode']}}],'snapshotHash':_0xb791f4['hash'],'warnings':_0x42bad0?[_0x26b942(0x16f)]:[]})};}function verifyMove(_0x29f23e,_0x523fa9){const _0x1fa931=a118_0x15917b;assertVerified(_0x29f23e['type']!==_0x1fa931(0x170),'Menu\x20'+_0x29f23e['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x29f23e['childrenCount']===0x0,'Menu\x20'+_0x29f23e['id']+_0x1fa931(0x165)),assertVerified(_0x29f23e['parentId']===_0x523fa9[_0x1fa931(0x177)],_0x1fa931(0x174)+_0x29f23e['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x29f23e[_0x1fa931(0x17b)]===_0x523fa9[_0x1fa931(0x17b)],_0x1fa931(0x174)+_0x29f23e['id']+_0x1fa931(0x155));}
1
+ 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_0x4eb3d9=a119_0x1b2e;(function(_0x4f1902,_0x1f4776){const _0x15c9fb=a119_0x1b2e,_0x26d4ce=_0x4f1902();while(!![]){try{const _0x476d99=parseInt(_0x15c9fb(0x11e))/0x1*(-parseInt(_0x15c9fb(0x123))/0x2)+-parseInt(_0x15c9fb(0x110))/0x3*(-parseInt(_0x15c9fb(0xf7))/0x4)+-parseInt(_0x15c9fb(0x106))/0x5*(parseInt(_0x15c9fb(0x129))/0x6)+-parseInt(_0x15c9fb(0xf2))/0x7*(parseInt(_0x15c9fb(0x103))/0x8)+parseInt(_0x15c9fb(0x117))/0x9*(parseInt(_0x15c9fb(0x101))/0xa)+parseInt(_0x15c9fb(0x125))/0xb*(-parseInt(_0x15c9fb(0xe4))/0xc)+parseInt(_0x15c9fb(0x130))/0xd*(parseInt(_0x15c9fb(0xe5))/0xe);if(_0x476d99===_0x1f4776)break;else _0x26d4ce['push'](_0x26d4ce['shift']());}catch(_0x505ad6){_0x26d4ce['push'](_0x26d4ce['shift']());}}}(a119_0x120e,0x86112));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a119_0x4eb3d9(0x128),'path':a119_0x4eb3d9(0xf9)}],MAX_REGROUP_MENU_COUNT=0x64;function a119_0x1b2e(_0x5b9368,_0x110444){_0x5b9368=_0x5b9368-0xde;const _0x120eb6=a119_0x120e();let _0x1b2e54=_0x120eb6[_0x5b9368];return _0x1b2e54;}export const menuRegroupStart={'service':'menu','command':a119_0x4eb3d9(0x137),'description':a119_0x4eb3d9(0x139),'risk':a119_0x4eb3d9(0x116),'structuredErrors':!![],'flags':[{'name':a119_0x4eb3d9(0xe1),'type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11b)},{'name':'menu-ids','type':a119_0x4eb3d9(0xed),'required':!![],'description':a119_0x4eb3d9(0x11f)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2be0c2){validateRegroupInput(_0x2be0c2);},async 'dryRun'(_0x1f1d43){const _0x473e53=a119_0x4eb3d9;validateRegroupInput(_0x1f1d43);const _0x2f789a=await buildRegroupPlan(_0x1f1d43,!![]);return menuDryRunResult(_0x2f789a['plan'],{'method':'POST','url':_0x473e53(0xf9),'body':_0x2f789a[_0x473e53(0x104)],'description':_0x473e53(0x13c)+JSON[_0x473e53(0xe9)](_0x2f789a[_0x473e53(0xe1)])+_0x473e53(0xff)+_0x2f789a['menuIds'][_0x473e53(0xf5)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x21bbfe){const _0x3e479d=a119_0x4eb3d9;validateRegroupInput(_0x21bbfe);const _0x14ee03=await buildRegroupPlan(_0x21bbfe,![]);await recheckMutationSnapshot(_0x21bbfe,_0x14ee03[_0x3e479d(0x105)],_0x3e479d(0x136));const _0x4150e5=buildMenuLookupCommand(_0x21bbfe[_0x3e479d(0x11c)]);let _0x900ef7,_0x5f04f7;try{_0x900ef7=await startMenuRegroup(_0x21bbfe[_0x3e479d(0x109)],_0x14ee03['input']),_0x5f04f7=normalizeAsyncTask(_0x900ef7);}catch(_0x371ca7){const _0x22a771=await inspectRegroupAfterFailure(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)],_0x14ee03[_0x3e479d(0xe1)],_0x14ee03[_0x3e479d(0x100)]),_0x3ab9dd=typeof _0x900ef7?.[_0x3e479d(0xe6)]==='string'&&_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]()?_0x900ef7[_0x3e479d(0xe6)][_0x3e479d(0xe3)]():null,_0x22a0f8=_0x3ab9dd?{'command':buildAsyncTaskStatusCommand(_0x3ab9dd,_0x21bbfe[_0x3e479d(0x11c)])}:null,_0x2d7dfd=mapMenuApiError(_0x371ca7,'start\x20menu\x20regroup');throw menuFailure(_0x2d7dfd,_0x14ee03[_0x3e479d(0x105)],{'stage':_0x3e479d(0x107),'failed':{'menuIds':_0x14ee03[_0x3e479d(0x100)],'taskId':_0x3ab9dd,'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a)},'after':_0x22a771['applied']??null,'warnings':[_0x3e479d(0x114),..._0x22a771[_0x3e479d(0xe8)]?[_0x3e479d(0xe0)+_0x22a771[_0x3e479d(0xe8)]]:[],..._0x3ab9dd?[_0x3e479d(0x138)]:[]],'verification':{'status':_0x3e479d(0x126),'groupingApplied':_0x22a771[_0x3e479d(0xfe)]?!![]:_0x3e479d(0x13a),'taskId':_0x3ab9dd,'query':_0x22a0f8,'lookupCommand':_0x4150e5}});}const _0x341783=buildAsyncTaskStatusCommand(_0x5f04f7[_0x3e479d(0xe6)],_0x21bbfe[_0x3e479d(0x11c)]);let _0x18e655=null,_0x21382c=null,_0x2842cb=null;try{_0x18e655=await fetchMenuSnapshot(_0x21bbfe[_0x3e479d(0x11c)],_0x21bbfe[_0x3e479d(0x109)]),_0x21382c=findAppliedRegroup(_0x18e655,_0x14ee03['label'],_0x14ee03[_0x3e479d(0x100)]);}catch(_0x5598ef){_0x2842cb=_0x5598ef instanceof Error?_0x5598ef[_0x3e479d(0x122)]:String(_0x5598ef);}const _0x3c26bf=mutationResult({..._0x14ee03[_0x3e479d(0x105)],'after':_0x21382c??null,'dryRun':![],'succeeded':[{'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'menuIds':_0x14ee03['menuIds'],'taskId':_0x5f04f7['taskId'],'status':_0x5f04f7['status'],'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a)}],'verification':{'checkedBy':_0x3e479d(0x10b),'snapshotHash':_0x18e655?.[_0x3e479d(0x13b)]??null,'groupId':_0x21382c?.[_0x3e479d(0xea)]['id']??null,'groupingApplied':_0x21382c?!![]:_0x3e479d(0x13a),'readbackError':_0x2842cb,'lookupCommand':_0x4150e5},'warnings':[..._0x14ee03['plan']['warnings'],...!_0x21382c?[unconfirmedRegroupWarning(_0x5f04f7)]:[],..._0x2842cb?['Regroup\x20readback\x20failed:\x20'+_0x2842cb]:[]]}),_0x5a925d=_0x5f04f7['status']===_0x3e479d(0xf0)&&!_0x21382c?'Regroup\x20task\x20'+_0x5f04f7['taskId']+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x3e479d(0x127)+asyncTaskMessage(_0x5f04f7);return{'ok':!![],'message':_0x5a925d,'data':{..._0x3c26bf,'task':_0x5f04f7,'query':_0x5f04f7['isTerminal']?null:{'command':_0x341783}}};}};function validateRegroupInput(_0x136215){const _0x916934=a119_0x4eb3d9;if(!_0x136215[_0x916934(0xde)](_0x916934(0xe1))[_0x916934(0xe3)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x136215[_0x916934(0xde)](_0x916934(0xfc)));}function a119_0x120e(){const _0x2bb3fa=['status','Menu\x20','join','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','1684yjiPfI','some','/smartapi/menu/regroup','toLowerCase','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','menu-ids','sort','applied','\x20and\x20regroup\x20menu\x20ids\x20','menuIds','906380MkvlPe','menus','18808FwxxcZ','input','plan','57445CHXqUa','regroup-submit','plan\x20regroup','cookie','knownStatus','menu\x20list','parentId','<platform-generated>','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','length','4227HqToQB','FAILED','type','size','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','write','27JxnDgO','get','validation','menu_regroup_already_applied','Label\x20of\x20the\x20new\x20root\x20folder','appCode','byId','215FSYaWi','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','childrenIds','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','message','8266uXTScL','map','7117zenwbQ','failed','Regroup\x20task\x20accepted.\x20','POST','204cPvfhg','\x27\x5c\x27\x27','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','\x20menu\x20list\x20--appcode\x20','menu_regroup_target_not_leaf','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','menu_regroup_label_conflict','9113260TbANDp','replace','test','isSafeInteger','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','--menu-ids\x20supports\x20at\x20most\x20','start\x20regroup','regroup-start','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','unconfirmed','hash','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','str','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','Regroup\x20readback\x20also\x20failed:\x20','label','\x20menus\x20per\x20regroup\x20request.','trim','2208osaAYa','28vMEGoA','taskId','<new-group-id>','readbackError','stringify','group','split','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','string','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','filter','SUCCESS','folder','952FSskOZ'];a119_0x120e=function(){return _0x2bb3fa;};return a119_0x120e();}function parseMenuIds(_0xa5cd7a){const _0x5e3a3c=a119_0x4eb3d9,_0x51f0a7=_0xa5cd7a[_0x5e3a3c(0xeb)](',')[_0x5e3a3c(0x124)](_0x24638f=>_0x24638f[_0x5e3a3c(0xe3)]());if(_0x51f0a7[_0x5e3a3c(0x10f)]===0x0||_0x51f0a7[_0x5e3a3c(0xf8)](_0x2d022d=>!_0x2d022d))throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x121));const _0x2e28a5=_0x51f0a7['map'](_0x476bab=>{const _0x32e5f7=_0x5e3a3c;if(!/^\d+$/[_0x32e5f7(0x132)](_0x476bab))throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));const _0x31f12e=Number(_0x476bab);if(!Number[_0x32e5f7(0x133)](_0x31f12e)||_0x31f12e<=0x0)throw CliErrors[_0x32e5f7(0x119)](_0x32e5f7(0x121));return _0x31f12e;});if(new Set(_0x2e28a5)[_0x5e3a3c(0x113)]!==_0x2e28a5[_0x5e3a3c(0x10f)])throw CliErrors[_0x5e3a3c(0x119)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x2e28a5[_0x5e3a3c(0x10f)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5e3a3c(0x119)](_0x5e3a3c(0x135)+MAX_REGROUP_MENU_COUNT+_0x5e3a3c(0xe2));return _0x2e28a5;}function buildMenuLookupCommand(_0x1fa053){const _0xca4ca7=a119_0x4eb3d9,_0x2b4006='\x27'+_0x1fa053[_0xca4ca7(0x131)](/'/g,_0xca4ca7(0x12a))+'\x27';return CLI_BIN_NAME+_0xca4ca7(0x12c)+_0x2b4006+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x479f29){const _0x2aeac5=a119_0x4eb3d9;if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0xf0))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x479f29[_0x2aeac5(0xf3)]===_0x2aeac5(0x111))return _0x2aeac5(0x10e);if(_0x479f29[_0x2aeac5(0x10a)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x2aeac5(0xfb);}async function buildRegroupPlan(_0xcaa33,_0x4b3ddb){const _0x1f9f5d=a119_0x4eb3d9,_0x47cec9=_0xcaa33[_0x1f9f5d(0xde)](_0x1f9f5d(0xe1))[_0x1f9f5d(0xe3)](),_0x5519e0=parseMenuIds(_0xcaa33[_0x1f9f5d(0xde)]('menu-ids')),_0x34e615=await fetchMutationSnapshot(_0xcaa33,_0x1f9f5d(0x108)),_0x798e0d=_0x5519e0[_0x1f9f5d(0x124)](_0x192b8f=>requireMenu(_0x34e615,_0x192b8f));for(const _0x415c43 of _0x798e0d){if(_0x415c43[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()['toLowerCase']()===_0x1f9f5d(0xf1)||_0x415c43['childrenCount']>0x0)throw menuError(_0x1f9f5d(0x12d),'Menu\x20'+_0x415c43['id']+_0x1f9f5d(0xf6),_0x1f9f5d(0xdf));if(!_0x415c43['label'][_0x1f9f5d(0xe3)]())throw menuError('menu_regroup_target_label_missing',_0x1f9f5d(0xf4)+_0x415c43['id']+_0x1f9f5d(0xec),_0x1f9f5d(0x12b));}const _0x3b381f=findAppliedRegroup(_0x34e615,_0x47cec9,_0x5519e0);if(_0x3b381f)throw menuError(_0x1f9f5d(0x11a),'Menus\x20'+_0x5519e0[_0x1f9f5d(0xf5)](',\x20')+_0x1f9f5d(0x134)+_0x3b381f[_0x1f9f5d(0xea)]['id']+'\x20('+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+').',_0x1f9f5d(0xee));const _0x1ab7a1=_0x34e615[_0x1f9f5d(0x102)][_0x1f9f5d(0xef)](_0x3c45a8=>_0x3c45a8[_0x1f9f5d(0x10c)]==null&&_0x3c45a8[_0x1f9f5d(0x112)][_0x1f9f5d(0xe3)]()[_0x1f9f5d(0xfa)]()==='folder'&&_0x3c45a8[_0x1f9f5d(0xe1)]===_0x47cec9);if(_0x1ab7a1[_0x1f9f5d(0x10f)]>0x0)throw menuError(_0x1f9f5d(0x12f),'Root\x20folder\x20label\x20'+JSON[_0x1f9f5d(0xe9)](_0x47cec9)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x1ab7a1[_0x1f9f5d(0x124)](_0x146c0d=>_0x146c0d['id'])[_0x1f9f5d(0xf5)](',\x20')+'.',_0x1f9f5d(0x12e));const _0x422644={'appCode':_0xcaa33[_0x1f9f5d(0x11c)],'menuGroups':[{'label':_0x47cec9,'type':'folder','children':_0x798e0d[_0x1f9f5d(0x124)](_0x1c93e4=>({'id':_0x1c93e4['id'],'label':_0x1c93e4['label']}))}]},_0x34a301=mutationResult({'operation':'regroup-start','selector':{'label':_0x47cec9,'menuIds':_0x5519e0},'before':{'menus':_0x798e0d},'after':{'group':{'id':null,'parentId':null,'label':_0x47cec9,'path':_0x1f9f5d(0x10d),'type':'folder','childrenIds':_0x5519e0},'children':_0x798e0d['map'](_0x4d7c44=>({'id':_0x4d7c44['id'],'label':_0x4d7c44[_0x1f9f5d(0xe1)],'beforeParentId':_0x4d7c44['parentId'],'afterParentId':_0x1f9f5d(0xe7)}))},'dryRun':_0x4b3ddb,'backend':[...BACKEND],'plannedActions':[{'stage':'submit-regroup-task','method':_0x1f9f5d(0x128),'path':_0x1f9f5d(0xf9),'body':_0x422644}],'snapshotHash':_0x34e615['hash'],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x1f9f5d(0x115)]});return{'label':_0x47cec9,'menuIds':_0x5519e0,'input':_0x422644,'plan':_0x34a301};}function findAppliedRegroup(_0x2d5117,_0x44242a,_0x3f0c2d){const _0x4fc0af=a119_0x4eb3d9,_0x34e8ac=_0x3f0c2d[_0x4fc0af(0x124)](_0x4d917c=>_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x4d917c))[_0x4fc0af(0xef)](_0x9d46a4=>Boolean(_0x9d46a4));if(_0x34e8ac[_0x4fc0af(0x10f)]!==_0x3f0c2d[_0x4fc0af(0x10f)])return null;const _0x3fb4aa=_0x34e8ac[0x0]?.[_0x4fc0af(0x10c)];if(_0x3fb4aa==null||_0x34e8ac[_0x4fc0af(0xf8)](_0x2b157b=>_0x2b157b[_0x4fc0af(0x10c)]!==_0x3fb4aa))return null;const _0x2c3e6f=_0x2d5117[_0x4fc0af(0x11d)][_0x4fc0af(0x118)](_0x3fb4aa);if(!_0x2c3e6f||_0x2c3e6f[_0x4fc0af(0x10c)]!=null||_0x2c3e6f[_0x4fc0af(0x112)][_0x4fc0af(0xe3)]()[_0x4fc0af(0xfa)]()!==_0x4fc0af(0xf1)||_0x2c3e6f[_0x4fc0af(0xe1)]!==_0x44242a)return null;const _0xaf30c9=[..._0x3f0c2d][_0x4fc0af(0xfd)]((_0x7d1293,_0x4913b5)=>_0x7d1293-_0x4913b5),_0x330084=[..._0x2c3e6f[_0x4fc0af(0x120)]][_0x4fc0af(0xfd)]((_0x4501a9,_0x38a242)=>_0x4501a9-_0x38a242);if(JSON['stringify'](_0x330084)!==JSON['stringify'](_0xaf30c9))return null;return{'group':_0x2c3e6f,'children':_0x34e8ac};}async function inspectRegroupAfterFailure(_0x788c18,_0xa477b5,_0x217d9f,_0x30223f){try{const _0x5466ea=await fetchMenuSnapshot(_0x788c18,_0xa477b5);return{'applied':findAppliedRegroup(_0x5466ea,_0x217d9f,_0x30223f),'readbackError':null};}catch(_0x28b8f1){return{'applied':null,'readbackError':_0x28b8f1 instanceof Error?_0x28b8f1['message']:String(_0x28b8f1)};}}
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)};}}