@lovrabet/rabetbase-cli 2.5.2-beta.3 → 2.5.2-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +1 -1
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/auth/auth-server-ui.js +1 -1
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-restore.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/dataset/user-deleted-field-list.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.js +1 -1
  95. package/lib/commands/db/table-diff-shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/deployment/auto-sync.js +1 -1
  100. package/lib/commands/deployment/index.js +1 -1
  101. package/lib/commands/deployment/sync-all.js +1 -1
  102. package/lib/commands/deployment/sync-jobs.js +1 -1
  103. package/lib/commands/deployment/sync-status.js +1 -1
  104. package/lib/commands/deployment/sync.js +1 -1
  105. package/lib/commands/doctor.js +1 -1
  106. package/lib/commands/file/index.js +1 -1
  107. package/lib/commands/instant-api-policy/current.js +1 -1
  108. package/lib/commands/instant-api-policy/index.js +1 -1
  109. package/lib/commands/instant-api-policy/init.js +1 -1
  110. package/lib/commands/instant-api-policy/publish.js +1 -1
  111. package/lib/commands/instant-api-policy/pull.js +1 -1
  112. package/lib/commands/instant-api-policy/revision.js +1 -1
  113. package/lib/commands/instant-api-policy/revisions.js +1 -1
  114. package/lib/commands/instant-api-policy/rollback.js +1 -1
  115. package/lib/commands/instant-api-policy/shared.js +1 -1
  116. package/lib/commands/instant-api-policy/validate.js +1 -1
  117. package/lib/commands/issue/index.js +1 -1
  118. package/lib/commands/issue/nudge.js +1 -1
  119. package/lib/commands/issue/report.js +1 -1
  120. package/lib/commands/issue/shared.js +1 -1
  121. package/lib/commands/kb/create.js +1 -1
  122. package/lib/commands/kb/delete.js +1 -1
  123. package/lib/commands/kb/detail.js +1 -1
  124. package/lib/commands/kb/index.js +1 -1
  125. package/lib/commands/kb/list.js +1 -1
  126. package/lib/commands/kb/search.js +1 -1
  127. package/lib/commands/kb/shared.js +1 -1
  128. package/lib/commands/kb/update.js +1 -1
  129. package/lib/commands/logs/index.js +1 -1
  130. package/lib/commands/menu/asset-update.js +1 -1
  131. package/lib/commands/menu/delete.js +1 -1
  132. package/lib/commands/menu/external-link-create.js +1 -1
  133. package/lib/commands/menu/external-link-update.js +1 -1
  134. package/lib/commands/menu/group-create.js +1 -1
  135. package/lib/commands/menu/group-update.js +1 -1
  136. package/lib/commands/menu/index.js +1 -1
  137. package/lib/commands/menu/list.js +1 -1
  138. package/lib/commands/menu/move.js +1 -1
  139. package/lib/commands/menu/regroup-start.js +1 -1
  140. package/lib/commands/menu/rename.js +1 -1
  141. package/lib/commands/menu/shared/compare-table.js +1 -1
  142. package/lib/commands/menu/shared/delete-plan.js +1 -1
  143. package/lib/commands/menu/shared/facts.js +1 -1
  144. package/lib/commands/menu/shared/index.js +1 -1
  145. package/lib/commands/menu/shared/inquirer.js +1 -1
  146. package/lib/commands/menu/shared/local-pages.js +1 -1
  147. package/lib/commands/menu/shared/logic.js +1 -1
  148. package/lib/commands/menu/shared/mutations.js +1 -1
  149. package/lib/commands/menu/shared/service.js +1 -1
  150. package/lib/commands/menu/shared/sync-core.js +1 -1
  151. package/lib/commands/menu/shared/update-core.js +1 -1
  152. package/lib/commands/menu/shared/valid-url.js +1 -1
  153. package/lib/commands/menu/sync.js +1 -1
  154. package/lib/commands/menu/visibility-update.js +1 -1
  155. package/lib/commands/notification/config-create.js +1 -1
  156. package/lib/commands/notification/config-delete.js +1 -1
  157. package/lib/commands/notification/config-list.js +1 -1
  158. package/lib/commands/notification/config-update.js +1 -1
  159. package/lib/commands/notification/index.js +1 -1
  160. package/lib/commands/notification/shared.js +1 -1
  161. package/lib/commands/ocr/index.js +1 -1
  162. package/lib/commands/page/create.js +1 -1
  163. package/lib/commands/page/custom/detail.js +1 -1
  164. package/lib/commands/page/custom/list.js +1 -1
  165. package/lib/commands/page/custom/publish.js +1 -1
  166. package/lib/commands/page/custom/shared.d.ts +0 -8
  167. package/lib/commands/page/custom/shared.js +1 -1
  168. package/lib/commands/page/custom/syntax.js +1 -1
  169. package/lib/commands/page/custom/update.js +1 -1
  170. package/lib/commands/page/data-list-status.js +1 -1
  171. package/lib/commands/page/generate-start.js +1 -1
  172. package/lib/commands/page/generate-status.js +1 -1
  173. package/lib/commands/page/index.js +1 -1
  174. package/lib/commands/page/pull.js +1 -1
  175. package/lib/commands/page/push.js +1 -1
  176. package/lib/commands/page/relation-audit.js +1 -1
  177. package/lib/commands/page/restore.js +1 -1
  178. package/lib/commands/page/shared.js +1 -1
  179. package/lib/commands/page/sync.js +1 -1
  180. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  181. package/lib/commands/project/create/format-elapsed.js +1 -1
  182. package/lib/commands/project/create/main.js +1 -1
  183. package/lib/commands/project/create/materialize-project-template.js +1 -1
  184. package/lib/commands/project/create/project-name.js +1 -1
  185. package/lib/commands/project/create/project-template-archive.js +1 -1
  186. package/lib/commands/project/create/project-template-path.js +1 -1
  187. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  188. package/lib/commands/project/create/use-format-code.js +1 -1
  189. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  190. package/lib/commands/project/domain-routing-sync.js +1 -1
  191. package/lib/commands/project/index.js +1 -1
  192. package/lib/commands/project/upgrade.js +1 -1
  193. package/lib/commands/registry.js +1 -1
  194. package/lib/commands/role/delete.js +1 -1
  195. package/lib/commands/role/detail.js +1 -1
  196. package/lib/commands/role/index.js +1 -1
  197. package/lib/commands/role/list.js +1 -1
  198. package/lib/commands/role/shared.js +1 -1
  199. package/lib/commands/role/update.js +1 -1
  200. package/lib/commands/role/user-add.js +1 -1
  201. package/lib/commands/role/user-remove.js +1 -1
  202. package/lib/commands/role/user-resolve.js +1 -1
  203. package/lib/commands/rule/get.js +1 -1
  204. package/lib/commands/rule/index.js +1 -1
  205. package/lib/commands/rule/list.js +1 -1
  206. package/lib/commands/rule/set.js +1 -1
  207. package/lib/commands/rule/shared.js +1 -1
  208. package/lib/commands/run/index.d.ts +4 -0
  209. package/lib/commands/run/index.js +1 -1
  210. package/lib/commands/schema.js +1 -1
  211. package/lib/commands/sql/create.js +1 -1
  212. package/lib/commands/sql/delete.js +1 -1
  213. package/lib/commands/sql/detail.js +1 -1
  214. package/lib/commands/sql/exec.js +1 -1
  215. package/lib/commands/sql/index.js +1 -1
  216. package/lib/commands/sql/list.js +1 -1
  217. package/lib/commands/sql/pull.js +1 -1
  218. package/lib/commands/sql/push.js +1 -1
  219. package/lib/commands/sql/shared.js +1 -1
  220. package/lib/commands/sql/status.js +1 -1
  221. package/lib/commands/sql/validate.js +1 -1
  222. package/lib/commands/task/index.js +1 -1
  223. package/lib/commands/task/status.js +1 -1
  224. package/lib/commands/tenant/index.js +1 -1
  225. package/lib/commands/tenant/members-list.js +1 -1
  226. package/lib/commands/tenant/shared.js +1 -1
  227. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  228. package/lib/commands/user-account/index.js +1 -1
  229. package/lib/commands/workspace/add.js +1 -1
  230. package/lib/commands/workspace/index.js +1 -1
  231. package/lib/commands/workspace/remove.js +1 -1
  232. package/lib/config/domain-config.js +1 -1
  233. package/lib/config/project-domain-routing.d.ts +5 -1
  234. package/lib/config/project-domain-routing.js +1 -1
  235. package/lib/config/schema.js +1 -1
  236. package/lib/constant/cdn.js +1 -1
  237. package/lib/constant/cli.js +1 -1
  238. package/lib/constant/defaults.js +1 -1
  239. package/lib/constant/domain.js +1 -1
  240. package/lib/constant/env.js +1 -1
  241. package/lib/constant/output.js +1 -1
  242. package/lib/constant/paths.js +1 -1
  243. package/lib/constant/region.js +1 -1
  244. package/lib/constant/risk.js +1 -1
  245. package/lib/constant/routing-profile.js +1 -1
  246. package/lib/context/app-resolver.js +1 -1
  247. package/lib/context/auth-resolver.js +1 -1
  248. package/lib/context/config-loader.js +1 -1
  249. package/lib/context.js +1 -1
  250. package/lib/core/alias-resolver.js +1 -1
  251. package/lib/core/api-client.d.ts +0 -26
  252. package/lib/core/api-client.js +1 -1
  253. package/lib/core/bff/config.js +1 -1
  254. package/lib/core/bff/file-system.js +1 -1
  255. package/lib/core/bff/hash.js +1 -1
  256. package/lib/core/bff/lock.js +1 -1
  257. package/lib/core/bff/utils.js +1 -1
  258. package/lib/core/db-resolver.js +1 -1
  259. package/lib/core/instant-api-policy/config.js +1 -1
  260. package/lib/core/kb-search-client.js +1 -1
  261. package/lib/core/page/file-system.d.ts +43 -0
  262. package/lib/core/page/file-system.js +1 -1
  263. package/lib/core/page/hash.js +1 -1
  264. package/lib/core/page/lock.js +1 -1
  265. package/lib/core/sql-index-auditor.js +1 -1
  266. package/lib/core/sql-sync/config.js +1 -1
  267. package/lib/core/sql-sync/file-system.js +1 -1
  268. package/lib/core/sql-sync/hash.js +1 -1
  269. package/lib/core/sql-sync/lock.js +1 -1
  270. package/lib/core/sql-sync/utils.js +1 -1
  271. package/lib/core/sql-validator.js +1 -1
  272. package/lib/errors.js +1 -1
  273. package/lib/framework/build-all-flags.js +1 -1
  274. package/lib/framework/error-output.js +1 -1
  275. package/lib/framework/explicit-yes.js +1 -1
  276. package/lib/framework/flags.js +1 -1
  277. package/lib/framework/help.js +1 -1
  278. package/lib/framework/index.js +1 -1
  279. package/lib/framework/output.js +1 -1
  280. package/lib/framework/response.js +1 -1
  281. package/lib/framework/runner-alias.js +1 -1
  282. package/lib/framework/runner.js +1 -1
  283. package/lib/framework/schema-export.js +1 -1
  284. package/lib/framework/supported-flags.js +1 -1
  285. package/lib/framework/types.js +1 -1
  286. package/lib/generated/build-info.d.ts +4 -4
  287. package/lib/generated/build-info.js +1 -1
  288. package/lib/generated/official-routing.js +1 -1
  289. package/lib/generated/routing-contract.js +1 -1
  290. package/lib/help.js +1 -1
  291. package/lib/postinstall.js +1 -1
  292. package/lib/runtime/confirmation.js +1 -1
  293. package/lib/runtime/event.js +1 -1
  294. package/lib/runtime/index.js +1 -1
  295. package/lib/runtime/queue.js +1 -1
  296. package/lib/runtime/resolve.js +1 -1
  297. package/lib/skills/builtin-skill.js +1 -1
  298. package/lib/skills/main.js +1 -1
  299. package/lib/skills/npx-skills-add.js +1 -1
  300. package/lib/skills/skill-presence.js +1 -1
  301. package/lib/telemetry/cli-command-trace.js +1 -1
  302. package/lib/telemetry/cli-help-trace.js +1 -1
  303. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  304. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  305. package/lib/telemetry/send-cli-trace-log.js +1 -1
  306. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  307. package/lib/utils/ai_config.js +1 -1
  308. package/lib/utils/apply-jq-filter.js +1 -1
  309. package/lib/utils/cdn-config.js +1 -1
  310. package/lib/utils/check-sdk-version.js +1 -1
  311. package/lib/utils/cli-version-check.js +1 -1
  312. package/lib/utils/cli-version-policy.js +1 -1
  313. package/lib/utils/config.js +1 -1
  314. package/lib/utils/entity-with-id.js +1 -1
  315. package/lib/utils/file-utils.js +1 -1
  316. package/lib/utils/guides-cdn.js +1 -1
  317. package/lib/utils/http-client.js +1 -1
  318. package/lib/utils/is-non-interactive.js +1 -1
  319. package/lib/utils/logger.js +1 -1
  320. package/lib/utils/params.js +1 -1
  321. package/lib/utils/platform.d.ts +6 -5
  322. package/lib/utils/platform.js +1 -1
  323. package/lib/utils/sleep.js +1 -1
  324. package/lib/utils/template-replacer.js +1 -1
  325. package/lib/utils/update-notice.js +1 -1
  326. package/lib/utils/version.js +1 -1
  327. package/lib/utils/with-active-cookie.js +1 -1
  328. package/lib/utils/write-cli-side-channel.js +1 -1
  329. package/package.json +2 -1
  330. package/skills/rabetbase/SKILL.md +5 -5
  331. package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
  332. package/skills/rabetbase/guides/page-development-workflow.md +1 -1
  333. package/skills/rabetbase/knowledge/components.md +292 -0
  334. package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
  335. package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
  336. package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
  337. package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
  338. package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
  339. package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
  340. package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
  341. package/skills/rabetbase/references/rabetbase-run.md +1 -0
  342. package/skills/rabetbase.manifest.json +5 -4
  343. package/templates/README.md +10 -4
  344. package/templates/custom-pages/blank.json +5 -0
  345. package/templates/custom-pages/dashboard.json +5 -0
  346. package/templates/custom-pages/onepage.json +5 -0
  347. package/templates/generate-api/api.ts.tpl +1 -1
  348. package/lib/commands/page/custom/template.d.ts +0 -8
  349. package/lib/commands/page/custom/template.js +0 -1
  350. package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
@@ -1 +1 @@
1
- const a129_0x2c2199=a129_0x4f72;(function(_0x190dd7,_0x4d4ba6){const _0x2ee876=a129_0x4f72,_0x4ede3a=_0x190dd7();while(!![]){try{const _0xb18f84=parseInt(_0x2ee876(0xc5))/0x1+-parseInt(_0x2ee876(0xc2))/0x2+-parseInt(_0x2ee876(0xd5))/0x3*(-parseInt(_0x2ee876(0xba))/0x4)+parseInt(_0x2ee876(0xad))/0x5*(parseInt(_0x2ee876(0xab))/0x6)+parseInt(_0x2ee876(0x115))/0x7+-parseInt(_0x2ee876(0x112))/0x8+-parseInt(_0x2ee876(0xf4))/0x9;if(_0xb18f84===_0x4d4ba6)break;else _0x4ede3a['push'](_0x4ede3a['shift']());}catch(_0x3b8aa3){_0x4ede3a['push'](_0x4ede3a['shift']());}}}(a129_0x5979,0xefb13));function a129_0x5979(){const _0x5ad175=['delete','stringify','length','push','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','folder','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','verification','\x20still\x20references\x20','filter','plan-out','42ZtqfJg','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','40115UaZDhr','Menu\x20','toLowerCase','batch-delete','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','indexOf','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu\x20list','page\x20','Post-failure\x20menu\x20readback\x20failed\x20(','POST','snapshot','unconfirmed','8188sMbXdX','cascade','string','add','path','flagMissing','str','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','2085812DMfSEH','forEach','causeMessage','1070348uhvMYb','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','absentIds','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20is\x20not\x20a\x20folder.','deleteOrder','size','menu','menu_folder_resources_invalid','selector','menu_batch_delete_count_mismatch','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menu_page_shared','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','1167OfANMh','pre-write-plan-validation','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','menu_recursive_requires_folder','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','validation','menus','\x20has\x20','plan','menu_verification_failed','dry-run','expected-children-count','cookie','hash','menu_plan_invalid','plan\x20delete','expect-parent-id','trim','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Deleted\x20','map','\x20references\x20missing\x20child\x20','\x20deleted\x20menus;\x20expected\x20','snapshotHash','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','bool','expiresAt','Recursive\x20menu\x20delete\x20plan\x20root\x20','byId','childrenIds','target','334629ozWvbd','menu_tree_invalid','has','resources','failed','/smartapi/menu/batchDelete','plan-validation','Folder\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','join',';\x20execution\x20must\x20consume\x20','menu_folder_has_resources','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','get','childrenCount','recursive','Batch\x20delete\x20request\x20for\x20menu\x20','execute\x20reviewed\x20delete\x20plan','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20menu(s)\x20under\x20exact\x20id\x20','Post-mismatch\x20menu\x20readback\x20failed\x20(','\x20is\x20type\x20\x22','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','):\x20','high-risk-write','boolean','Would\x20batch\x20delete\x20','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','type','Backend\x20reported\x20','4604752kfEzLM','appCode','rabetbase\x20menu\x20list\x20--format\x20json','5002676Ogtuzc','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','remainingIds','pageId','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.'];a129_0x5979=function(){return _0x5ad175;};return a129_0x5979();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a129_0x2c2199(0xb7),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a129_0x2c2199(0xc7)},MENU_DELETE_RECURSIVE_FLAG={'name':a129_0x2c2199(0x103),'type':a129_0x2c2199(0x10d),'description':a129_0x2c2199(0xc6)},MENU_DELETE_PLAN_OUT_FLAG={'name':a129_0x2c2199(0xaa),'type':a129_0x2c2199(0xbc),'description':a129_0x2c2199(0x10f)},MENU_DELETE_PLAN_FLAG={'name':a129_0x2c2199(0xdd),'type':'string','description':a129_0x2c2199(0xe7)};export const menuDelete={'service':a129_0x2c2199(0xce),'command':a129_0x2c2199(0x11a),'description':a129_0x2c2199(0xd4),'risk':a129_0x2c2199(0x10c),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x10d6a5){const _0x26a520=a129_0x2c2199;_0x10d6a5[_0x26a520(0xee)](_0x26a520(0xdf))?validateDeleteDryRunInput(_0x10d6a5):validateDeleteExecuteInput(_0x10d6a5),requireExplicitYes(_0x10d6a5);},async 'dryRun'(_0x109c74){const _0x50332d=a129_0x2c2199;validateDeleteDryRunInput(_0x109c74);const _0x18dc7f=await buildDeletePlan(_0x109c74),_0x75c46a=createMenuDeletePlanFile(_0x109c74[_0x50332d(0x113)],_0x18dc7f),_0x1ed016=await writeMenuDeletePlan(_0x109c74[_0x50332d(0xc0)](_0x50332d(0xaa)),_0x75c46a),_0x188959=mutationResult({..._0x18dc7f,'planFile':{'path':_0x1ed016,'createdAt':_0x75c46a['createdAt'],'expiresAt':_0x75c46a[_0x50332d(0xef)]}});return menuDryRunResult(_0x188959,{'method':_0x50332d(0xb7),'url':_0x50332d(0xf9),'body':{'idList':_0x188959[_0x50332d(0xcc)]},'description':_0x50332d(0x10e)+(_0x188959[_0x50332d(0xcc)]?.['length']??0x1)+_0x50332d(0x107)+_0x188959[_0x50332d(0xd0)]['id']+_0x50332d(0xfe)+_0x1ed016+'.'});},async 'execute'(_0x5283b6){const _0x51674b=a129_0x2c2199;requireExplicitYes(_0x5283b6),validateDeleteExecuteInput(_0x5283b6);const _0x36d62b=await readMenuDeletePlan(_0x5283b6[_0x51674b(0xc0)]('plan')),_0x2edb97=mutationPlanFromDeleteFile(_0x36d62b['plan'],_0x36d62b[_0x51674b(0xbe)]),_0x46d81c=_0x36d62b['plan'][_0x51674b(0xf3)]['id'];try{assertMenuDeletePlanExecutable(_0x36d62b['plan'],_0x5283b6[_0x51674b(0x113)]);}catch(_0x4ab2b4){throw menuFailure(asMenuError(_0x4ab2b4),_0x2edb97,{'stage':_0x51674b(0xfa),'failed':{'id':_0x46d81c}});}let _0x5e4785,_0x39266e;try{_0x5e4785=await fetchMutationSnapshot(_0x5283b6,_0x51674b(0x105),_0x46d81c),_0x39266e=assertMenuDeletePlanCurrent(_0x36d62b[_0x51674b(0xdd)],_0x5283b6[_0x51674b(0x113)],_0x5e4785),assertDeleteTargetsComplete(_0x36d62b[_0x51674b(0xdd)],_0x5e4785),_0x39266e['forEach'](_0x23ba8c=>assertDeleteSafety(_0x23ba8c,_0x36d62b[_0x51674b(0xdd)]['recursive'])),assertNoSharedPages(_0x5e4785,_0x39266e),assertCascadeMatchesPlan(_0x2edb97,_0x39266e);}catch(_0x30ea30){throw menuFailure(asMenuError(_0x30ea30),_0x2edb97,{'stage':_0x51674b(0xd6),'failed':{'id':_0x46d81c}});}const _0x48fd3e=_0x36d62b[_0x51674b(0xdd)][_0x51674b(0xcc)];let _0x18674a;try{_0x18674a=await batchDeleteMenuEntities(_0x5283b6[_0x51674b(0xe1)],_0x48fd3e);}catch(_0x1814ba){const _0xf3ad56=mapMenuApiError(_0x1814ba,'batch\x20delete'),_0x69592a=[_0x51674b(0xa6)];let _0x1de6e9;try{_0x1de6e9=await readDeleteOutcome(_0x5283b6,_0x48fd3e);}catch(_0x4d2198){const _0x253d52=describeMenuErrorCause(_0x4d2198,_0x51674b(0x106),_0x46d81c);_0x69592a['push'](_0x51674b(0xb6)+_0x253d52['causeCode']+'):\x20'+_0x253d52[_0x51674b(0xc4)]);throw menuFailure(_0xf3ad56,_0x2edb97,{'stage':_0x51674b(0xb0),'failed':{'targetIds':_0x48fd3e,'targetIdsAbsent':_0x51674b(0xb9),..._0x253d52},'warnings':_0x69592a,'verification':{'status':_0x51674b(0xf8),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x48fd3e}});}throw menuFailure(_0xf3ad56,_0x2edb97,{'stage':'batch-delete','succeeded':_0x1de6e9[_0x51674b(0xc9)][_0x51674b(0xe9)](_0x2124f7=>({'id':_0x2124f7,'deleted':!![]})),'failed':{'targetIds':_0x48fd3e,'absentIds':_0x1de6e9[_0x51674b(0xc9)],'remainingIds':_0x1de6e9['remainingIds']},'warnings':_0x69592a,'verification':verificationFromOutcome(_0x1de6e9)});}if(_0x18674a!==_0x48fd3e[_0x51674b(0xa1)]){const _0xca0986=menuError(_0x51674b(0xd1),_0x51674b(0x111)+_0x18674a+_0x51674b(0xeb)+_0x48fd3e['length']+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x1c69c7=[_0x51674b(0xa5)];let _0xd76103;try{_0xd76103=await readDeleteOutcome(_0x5283b6,_0x48fd3e);}catch(_0x4f582d){const _0x3171b2=describeMenuErrorCause(_0x4f582d,_0x51674b(0xc8),_0x46d81c);_0x1c69c7[_0x51674b(0xa2)](_0x51674b(0x108)+_0x3171b2['causeCode']+_0x51674b(0x10b)+_0x3171b2[_0x51674b(0xc4)]);throw menuFailure(_0xca0986,_0x2edb97,{'stage':_0x51674b(0xb0),'failed':{'targetIds':_0x48fd3e,'expectedCount':_0x48fd3e[_0x51674b(0xa1)],'reportedDeletedCount':_0x18674a,'targetIdsAbsent':_0x51674b(0xb9),..._0x3171b2},'warnings':_0x1c69c7,'verification':{'status':_0x51674b(0xf8),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x48fd3e}});}throw menuFailure(_0xca0986,_0x2edb97,{'stage':_0x51674b(0xb0),'succeeded':_0xd76103[_0x51674b(0xc9)][_0x51674b(0xe9)](_0x210ae8=>({'id':_0x210ae8,'deleted':!![]})),'failed':{'targetIds':_0x48fd3e,'expectedCount':_0x48fd3e[_0x51674b(0xa1)],'reportedDeletedCount':_0x18674a,'absentIds':_0xd76103[_0x51674b(0xc9)],'remainingIds':_0xd76103['remainingIds']},'warnings':_0x1c69c7,'verification':verificationFromOutcome(_0xd76103)});}let _0x4fe91b;try{_0x4fe91b=await readDeleteOutcome(_0x5283b6,_0x48fd3e);}catch(_0x3aa4ad){const _0x54a3c9=describeMenuErrorCause(_0x3aa4ad,'verify\x20batch\x20delete',_0x46d81c),_0x3fa126=asVerificationError(_0x3aa4ad,_0x51674b(0x104)+_0x46d81c+_0x51674b(0xd2));throw menuFailure(_0x3fa126,_0x2edb97,{'stage':_0x51674b(0xa7),'succeeded':_0x48fd3e[_0x51674b(0xe9)](_0x3a2b5f=>({'id':_0x3a2b5f,'deleteRequested':!![]})),'failed':{'id':_0x46d81c,'targetIds':_0x48fd3e,'targetIdsAbsent':_0x51674b(0xb9),..._0x54a3c9},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x51674b(0xf8),'lookupCommand':_0x51674b(0x114),'targetIds':_0x48fd3e}});}if(_0x4fe91b[_0x51674b(0x117)][_0x51674b(0xa1)]>0x0){const _0x4a55c=menuError(_0x51674b(0xde),_0x51674b(0xfc)+_0x4fe91b[_0x51674b(0x117)][_0x51674b(0xfd)](',\x20')+'.',_0x51674b(0xca));throw menuFailure(_0x4a55c,_0x2edb97,{'stage':_0x51674b(0xa7),'succeeded':_0x48fd3e[_0x51674b(0xe9)](_0x195e2d=>({'id':_0x195e2d,'deleteRequested':!![]})),'failed':{'id':_0x46d81c,'targetIds':_0x48fd3e,'absentIds':_0x4fe91b['absentIds'],'remainingIds':_0x4fe91b[_0x51674b(0x117)]},'warnings':[_0x51674b(0xc1)],'verification':verificationFromOutcome(_0x4fe91b)});}const _0x5505b7=_0x48fd3e[_0x51674b(0xe9)](_0x37ef17=>({'id':_0x37ef17,'deleted':!![]})),_0x1aa73b=mutationResult({..._0x2edb97,'dryRun':![],'succeeded':_0x5505b7,'verification':{'checkedBy':_0x51674b(0xb4),'plannedSnapshotHash':_0x2edb97[_0x51674b(0xec)],'finalSnapshotHash':_0x4fe91b[_0x51674b(0xb8)][_0x51674b(0xe2)],'reportedDeletedCount':_0x18674a,'targetAbsent':!_0x4fe91b['snapshot']['byId']['has'](_0x46d81c),'allTargetsAbsent':!![],'targetIds':_0x48fd3e}});return{'ok':!![],'data':_0x1aa73b,'message':_0x51674b(0xe8)+_0x5505b7[_0x51674b(0xa1)]+_0x51674b(0x107)+_0x46d81c+'.'};}};function a129_0x4f72(_0x36082c,_0x486065){_0x36082c=_0x36082c-0xa1;const _0x597967=a129_0x5979();let _0x4f72ff=_0x597967[_0x36082c];return _0x4f72ff;}async function readDeleteOutcome(_0x4b4e67,_0x2c6d91){const _0x2bc46f=a129_0x2c2199,_0x5e0a82=await fetchMenuSnapshot(_0x4b4e67[_0x2bc46f(0x113)],_0x4b4e67['cookie']);return{'snapshot':_0x5e0a82,'absentIds':_0x2c6d91[_0x2bc46f(0xa9)](_0x137cf8=>!_0x5e0a82[_0x2bc46f(0xf1)][_0x2bc46f(0xf6)](_0x137cf8)),'remainingIds':_0x2c6d91['filter'](_0x41fdba=>_0x5e0a82[_0x2bc46f(0xf1)][_0x2bc46f(0xf6)](_0x41fdba))};}function verificationFromOutcome(_0x2c39f2){const _0x825b6b=a129_0x2c2199;return{'checkedBy':'menu\x20list','absentIds':_0x2c39f2[_0x825b6b(0xc9)],'remainingIds':_0x2c39f2['remainingIds']};}function validateDeleteDryRunInput(_0x12ee81){const _0x3eb4f6=a129_0x2c2199;validateExactId(_0x12ee81);if(!hasFlag(_0x12ee81,_0x3eb4f6(0xaa))||!_0x12ee81[_0x3eb4f6(0xc0)](_0x3eb4f6(0xaa))[_0x3eb4f6(0xe6)]())throw CliErrors[_0x3eb4f6(0xbf)](_0x3eb4f6(0xaa),_0x3eb4f6(0xa3));if(hasFlag(_0x12ee81,_0x3eb4f6(0xdd)))throw CliErrors[_0x3eb4f6(0xda)](_0x3eb4f6(0x10a));}function validateDeleteExecuteInput(_0x12064f){const _0x54c111=a129_0x2c2199;if(!hasFlag(_0x12064f,_0x54c111(0xdd))||!_0x12064f[_0x54c111(0xc0)](_0x54c111(0xdd))[_0x54c111(0xe6)]())throw CliErrors[_0x54c111(0xbf)](_0x54c111(0xdd),_0x54c111(0xb1));const _0x26810c=['id',_0x54c111(0x103),_0x54c111(0xaa),_0x54c111(0xe5),'expect-path',_0x54c111(0xe0)][_0x54c111(0xa9)](_0x500a69=>hasFlag(_0x12064f,_0x500a69));if(_0x26810c[_0x54c111(0xa1)]>0x0)throw CliErrors['validation']('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x26810c[_0x54c111(0xe9)](_0xa71239=>'--'+_0xa71239)['join'](',\x20')+'.');}async function buildDeletePlan(_0x4db0a0){const _0x1b06fe=a129_0x2c2199,_0x11cbac=validateExactId(_0x4db0a0),_0x2eb280=await fetchMutationSnapshot(_0x4db0a0,_0x1b06fe(0xe4),_0x11cbac),_0x76d54d=requireMenu(_0x2eb280,_0x11cbac);assertExpectedState(_0x4db0a0,_0x76d54d);const _0x3020e4=_0x4db0a0[_0x1b06fe(0xee)](_0x1b06fe(0x103));let _0x25e7cd;if(_0x3020e4){if(_0x76d54d[_0x1b06fe(0x110)][_0x1b06fe(0xe6)]()['toLowerCase']()!=='folder')throw menuError(_0x1b06fe(0xd8),_0x1b06fe(0xae)+_0x76d54d['id']+_0x1b06fe(0x109)+(_0x76d54d[_0x1b06fe(0x110)]||'unknown')+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x25e7cd=collectDeleteTargets(_0x2eb280,_0x76d54d),_0x25e7cd[_0x1b06fe(0xc3)](_0x4c7a4d=>assertDeleteSafety(_0x4c7a4d,!![]));}else assertDeleteSafety(_0x76d54d),_0x25e7cd=[_0x76d54d];assertNoSharedPages(_0x2eb280,_0x25e7cd);const _0x24882a=_0x25e7cd[_0x1b06fe(0xe9)](_0x2add06=>_0x2add06['id']),_0x588a8d=cascadeForTargets(_0x25e7cd),_0x11bb07=_0x588a8d['pages'][_0x1b06fe(0xa1)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x1b06fe(0x11a),'selector':{'id':_0x11cbac,'recursive':_0x3020e4},'before':_0x76d54d,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x1b06fe(0xb7),'path':_0x1b06fe(0xf9),'body':{'idList':_0x24882a}}],'targets':_0x25e7cd,'deleteOrder':_0x24882a,'snapshotHash':_0x2eb280[_0x1b06fe(0xe2)],'cascade':_0x588a8d,'warnings':_0x11bb07});}function assertDeleteSafety(_0x3cd280,_0x56f2dc=![]){const _0x275908=a129_0x2c2199,_0x3f4f81=_0x3cd280[_0x275908(0x110)][_0x275908(0xe6)]()[_0x275908(0xaf)]()===_0x275908(0xa4);if(_0x3cd280['childrenCount']>0x0&&(!_0x56f2dc||!_0x3f4f81))throw menuError('menu_non_empty',_0x275908(0xae)+_0x3cd280['id']+_0x275908(0xdc)+_0x3cd280[_0x275908(0x102)]+_0x275908(0xd7),'Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x3cd280[_0x275908(0xf2)][_0x275908(0xfd)](',\x20'));if(_0x3f4f81&&_0x3cd280[_0x275908(0x118)]!=null)throw menuError('menu_delete_page_bound',_0x275908(0xfb)+_0x3cd280['id']+_0x275908(0x100)+_0x3cd280[_0x275908(0x118)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x3f4f81)return;if(!_0x3cd280['resourcesValid'])throw menuError(_0x275908(0xcf),_0x275908(0xfb)+_0x3cd280['id']+_0x275908(0xac),_0x275908(0xb3));if(_0x3cd280['resources']['length']>0x0)throw menuError(_0x275908(0xff),'Folder\x20'+_0x3cd280['id']+_0x275908(0xa8)+_0x3cd280[_0x275908(0xf7)][_0x275908(0xa1)]+'\x20resource\x20URL(s).',_0x275908(0x116));}function collectDeleteTargets(_0x1628b9,_0x2d7182){const _0x3e2393=[],_0x17d3a8=new Set(),_0x5d2b0b=new Set(),_0x239e11=_0x1ccb39=>{const _0x113b18=a129_0x4f72;if(_0x17d3a8[_0x113b18(0xf6)](_0x1ccb39['id']))throw menuError(_0x113b18(0xf5),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x1ccb39['id']+'.');if(_0x5d2b0b[_0x113b18(0xf6)](_0x1ccb39['id']))return;_0x17d3a8['add'](_0x1ccb39['id']);for(const _0x2def45 of _0x1ccb39[_0x113b18(0xf2)]){const _0x1818c7=_0x1628b9[_0x113b18(0xf1)][_0x113b18(0x101)](_0x2def45);if(!_0x1818c7)throw menuError(_0x113b18(0xf5),_0x113b18(0xae)+_0x1ccb39['id']+_0x113b18(0xea)+_0x2def45+'.');_0x239e11(_0x1818c7);}_0x17d3a8[_0x113b18(0x11a)](_0x1ccb39['id']),_0x5d2b0b[_0x113b18(0xbd)](_0x1ccb39['id']),_0x3e2393[_0x113b18(0xa2)](_0x1ccb39);};return _0x239e11(_0x2d7182),_0x3e2393;}function assertDeleteTargetsComplete(_0x1e51e3,_0x226e9e){const _0x1881a5=a129_0x2c2199,_0x42e9b9=requireMenu(_0x226e9e,_0x1e51e3[_0x1881a5(0xf3)]['id']);if(_0x1e51e3[_0x1881a5(0x103)]&&_0x42e9b9[_0x1881a5(0x110)][_0x1881a5(0xe6)]()[_0x1881a5(0xaf)]()!=='folder')throw menuError(_0x1881a5(0xe3),_0x1881a5(0xf0)+_0x42e9b9['id']+_0x1881a5(0xcb));const _0x3bf3dc=_0x1e51e3['recursive']?collectDeleteTargets(_0x226e9e,_0x42e9b9)[_0x1881a5(0xe9)](_0x5e8f5c=>_0x5e8f5c['id']):[_0x42e9b9['id']];if(JSON[_0x1881a5(0x11b)](_0x1e51e3[_0x1881a5(0xcc)])!==JSON['stringify'](_0x3bf3dc))throw menuError('menu_plan_invalid',_0x1881a5(0x119),_0x1881a5(0xed));}function assertNoSharedPages(_0x4a3734,_0x56641c){const _0x5245a0=a129_0x2c2199,_0x518fd3=new Set(_0x56641c[_0x5245a0(0xe9)](_0x1a935f=>_0x1a935f['id'])),_0x3a103b=new Set(_0x56641c[_0x5245a0(0xe9)](_0x1aba9d=>_0x1aba9d[_0x5245a0(0x118)])[_0x5245a0(0xa9)](_0x44b542=>_0x44b542!=null));if(_0x3a103b[_0x5245a0(0xcd)]===0x0)return;const _0x20b1b6=_0x4a3734[_0x5245a0(0xdb)]['filter'](_0x3ae297=>!_0x518fd3[_0x5245a0(0xf6)](_0x3ae297['id'])&&_0x3ae297[_0x5245a0(0x118)]!=null&&_0x3a103b['has'](_0x3ae297[_0x5245a0(0x118)]));if(_0x20b1b6[_0x5245a0(0xa1)]===0x0)return;const _0xea4d3f=_0x20b1b6[_0x5245a0(0xe9)](_0xf3bcc0=>_0x5245a0(0xb5)+_0xf3bcc0['pageId']+'\x20->\x20menu\x20'+_0xf3bcc0['id'])[_0x5245a0(0xfd)](',\x20');throw menuError(_0x5245a0(0xd3),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0xea4d3f+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x1d67ee,_0x25d83b){const _0x13a4ca=a129_0x2c2199,_0x2df9b6=cascadeForTargets(_0x25d83b);if(JSON[_0x13a4ca(0x11b)](_0x1d67ee[_0x13a4ca(0xbb)])!==JSON[_0x13a4ca(0x11b)](_0x2df9b6))throw menuError(_0x13a4ca(0xe3),_0x13a4ca(0xd9));}function cascadeForTargets(_0x8e23e){const _0x33325d=a129_0x2c2199,_0x299fc1=_0x8e23e['map'](_0x963552=>_0x963552['pageId'])[_0x33325d(0xa9)](_0x506549=>_0x506549!=null)[_0x33325d(0xa9)]((_0x270aa6,_0xf7971e,_0x1a07b0)=>_0x1a07b0[_0x33325d(0xb2)](_0x270aa6)===_0xf7971e);return{'pages':_0x299fc1,'pageSchemaAffected':_0x299fc1['length']>0x0};}function asMenuError(_0x3e6155){const _0x16f833=a129_0x2c2199;return _0x3e6155 instanceof CliError?_0x3e6155:menuError(_0x16f833(0xe3),_0x3e6155 instanceof Error?_0x3e6155['message']:String(_0x3e6155));}
1
+ const a129_0x45ceab=a129_0x22bc;(function(_0x330ab6,_0x1716ad){const _0x112163=a129_0x22bc,_0x1d5ea3=_0x330ab6();while(!![]){try{const _0x299964=parseInt(_0x112163(0x222))/0x1+parseInt(_0x112163(0x212))/0x2+parseInt(_0x112163(0x21d))/0x3*(-parseInt(_0x112163(0x202))/0x4)+parseInt(_0x112163(0x225))/0x5*(-parseInt(_0x112163(0x21f))/0x6)+-parseInt(_0x112163(0x231))/0x7*(-parseInt(_0x112163(0x1ef))/0x8)+-parseInt(_0x112163(0x250))/0x9+-parseInt(_0x112163(0x226))/0xa;if(_0x299964===_0x1716ad)break;else _0x1d5ea3['push'](_0x1d5ea3['shift']());}catch(_0x5441f2){_0x1d5ea3['push'](_0x1d5ea3['shift']());}}}(a129_0x33ad,0x207d6));function a129_0x33ad(){const _0x31d6b2=['string','delete','path','get','unconfirmed','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_delete_page_bound','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','51hhwZho','join','71646vbCrJz','absentIds','trim','32724TAPHaJ','/smartapi/menu/batchDelete','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','10JGwvfH','1242820zHeCVY','\x20deleted\x20menus;\x20expected\x20','bool','menu_non_empty','childrenCount','POST','snapshotHash','filter','menu\x20list','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','folder','617127ZYZPaS','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','childrenIds','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','):\x20','menu_recursive_requires_folder','cascade','indexOf','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','plan','forEach','causeCode','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','execute\x20reviewed\x20delete\x20plan','byId','menu_page_shared','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','menu_tree_invalid','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','batch\x20delete','menu_folder_resources_invalid','cookie','recursive','add','flagMissing','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Menu\x20','\x20is\x20not\x20a\x20folder.','menu_plan_invalid','1545804Agwnak','map','snapshot','plan-validation','Recursive\x20menu\x20delete\x20plan\x20root\x20','length','resourcesValid','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','menu_folder_has_resources','Backend\x20reported\x20','has','remainingIds','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','\x20is\x20type\x20\x22','target','hash','toLowerCase','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','str','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','batch-delete-menu','stringify','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','high-risk-write','Folder\x20','16ciOodk','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','\x20and\x20cannot\x20be\x20deleted\x20safely.','menus','selector','menu','failed','\x20still\x20references\x20','page\x20','rabetbase\x20menu\x20list\x20--format\x20json','appCode','type','\x20references\x20missing\x20child\x20','batch-delete','Would\x20batch\x20delete\x20','plan-out','Deleted\x20','menu_verification_failed','resources','4184ITWTmt','verification','size','pageId','\x20->\x20menu\x20','expiresAt','verify\x20batch\x20delete','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Batch\x20delete\x20request\x20for\x20menu\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','\x20resource\x20URL(s).','causeMessage','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','validation','message','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','523468tWvLou','push'];a129_0x33ad=function(){return _0x31d6b2;};return a129_0x33ad();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a129_0x45ceab(0x22b),'path':a129_0x45ceab(0x223)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a129_0x45ceab(0x233)},MENU_DELETE_RECURSIVE_FLAG={'name':a129_0x45ceab(0x249),'type':'boolean','description':a129_0x45ceab(0x243)},MENU_DELETE_PLAN_OUT_FLAG={'name':a129_0x45ceab(0x1fe),'type':a129_0x45ceab(0x214),'description':a129_0x45ceab(0x245)},MENU_DELETE_PLAN_FLAG={'name':a129_0x45ceab(0x23c),'type':a129_0x45ceab(0x214),'description':a129_0x45ceab(0x263)};function a129_0x22bc(_0x52796a,_0x57b5ca){_0x52796a=_0x52796a-0x1ed;const _0x33ad1a=a129_0x33ad();let _0x22bcee=_0x33ad1a[_0x52796a];return _0x22bcee;}export const menuDelete={'service':a129_0x45ceab(0x1f4),'command':'delete','description':a129_0x45ceab(0x236),'risk':a129_0x45ceab(0x1ed),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x21c181){const _0x45e0df=a129_0x45ceab;_0x21c181[_0x45e0df(0x228)]('dry-run')?validateDeleteDryRunInput(_0x21c181):validateDeleteExecuteInput(_0x21c181),requireExplicitYes(_0x21c181);},async 'dryRun'(_0x5259ce){const _0x548846=a129_0x45ceab;validateDeleteDryRunInput(_0x5259ce);const _0x4c1f6d=await buildDeletePlan(_0x5259ce),_0x35dc91=createMenuDeletePlanFile(_0x5259ce[_0x548846(0x1f9)],_0x4c1f6d),_0x1c70d9=await writeMenuDeletePlan(_0x5259ce[_0x548846(0x262)](_0x548846(0x1fe)),_0x35dc91),_0x56202a=mutationResult({..._0x4c1f6d,'planFile':{'path':_0x1c70d9,'createdAt':_0x35dc91['createdAt'],'expiresAt':_0x35dc91[_0x548846(0x207)]}});return menuDryRunResult(_0x56202a,{'method':'POST','url':_0x548846(0x223),'body':{'idList':_0x56202a['deleteOrder']},'description':_0x548846(0x1fd)+(_0x56202a['deleteOrder']?.[_0x548846(0x255)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x56202a[_0x548846(0x1f3)]['id']+';\x20execution\x20must\x20consume\x20'+_0x1c70d9+'.'});},async 'execute'(_0x58f24a){const _0x530014=a129_0x45ceab;requireExplicitYes(_0x58f24a),validateDeleteExecuteInput(_0x58f24a);const _0x44c603=await readMenuDeletePlan(_0x58f24a[_0x530014(0x262)](_0x530014(0x23c))),_0x2f2356=mutationPlanFromDeleteFile(_0x44c603[_0x530014(0x23c)],_0x44c603[_0x530014(0x216)]),_0x7475ba=_0x44c603[_0x530014(0x23c)][_0x530014(0x25e)]['id'];try{assertMenuDeletePlanExecutable(_0x44c603['plan'],_0x58f24a[_0x530014(0x1f9)]);}catch(_0x45d1bd){throw menuFailure(asMenuError(_0x45d1bd),_0x2f2356,{'stage':_0x530014(0x253),'failed':{'id':_0x7475ba}});}let _0x3c9632,_0x335956;try{_0x3c9632=await fetchMutationSnapshot(_0x58f24a,_0x530014(0x240),_0x7475ba),_0x335956=assertMenuDeletePlanCurrent(_0x44c603[_0x530014(0x23c)],_0x58f24a[_0x530014(0x1f9)],_0x3c9632),assertDeleteTargetsComplete(_0x44c603[_0x530014(0x23c)],_0x3c9632),_0x335956[_0x530014(0x23d)](_0x1e7678=>assertDeleteSafety(_0x1e7678,_0x44c603[_0x530014(0x23c)][_0x530014(0x249)])),assertNoSharedPages(_0x3c9632,_0x335956),assertCascadeMatchesPlan(_0x2f2356,_0x335956);}catch(_0x1aba39){throw menuFailure(asMenuError(_0x1aba39),_0x2f2356,{'stage':'pre-write-plan-validation','failed':{'id':_0x7475ba}});}const _0x2923cb=_0x44c603[_0x530014(0x23c)]['deleteOrder'];let _0x55791;try{_0x55791=await batchDeleteMenuEntities(_0x58f24a['cookie'],_0x2923cb);}catch(_0x22c569){const _0x71d57c=mapMenuApiError(_0x22c569,_0x530014(0x246)),_0x3af557=[_0x530014(0x21b)];let _0x175041;try{_0x175041=await readDeleteOutcome(_0x58f24a,_0x2923cb);}catch(_0xca03d1){const _0x177e80=describeMenuErrorCause(_0xca03d1,_0x530014(0x261),_0x7475ba);_0x3af557[_0x530014(0x213)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x177e80[_0x530014(0x23e)]+_0x530014(0x237)+_0x177e80[_0x530014(0x20d)]);throw menuFailure(_0x71d57c,_0x2f2356,{'stage':_0x530014(0x1fc),'failed':{'targetIds':_0x2923cb,'targetIdsAbsent':_0x530014(0x218),..._0x177e80},'warnings':_0x3af557,'verification':{'status':_0x530014(0x1f5),'lookupCommand':_0x530014(0x1f8),'targetIds':_0x2923cb}});}throw menuFailure(_0x71d57c,_0x2f2356,{'stage':_0x530014(0x1fc),'succeeded':_0x175041[_0x530014(0x220)]['map'](_0x1f0404=>({'id':_0x1f0404,'deleted':!![]})),'failed':{'targetIds':_0x2923cb,'absentIds':_0x175041[_0x530014(0x220)],'remainingIds':_0x175041[_0x530014(0x25b)]},'warnings':_0x3af557,'verification':verificationFromOutcome(_0x175041)});}if(_0x55791!==_0x2923cb[_0x530014(0x255)]){const _0x230207=menuError('menu_batch_delete_count_mismatch',_0x530014(0x259)+_0x55791+_0x530014(0x227)+_0x2923cb[_0x530014(0x255)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x4a9e06=[_0x530014(0x23f)];let _0x1c6707;try{_0x1c6707=await readDeleteOutcome(_0x58f24a,_0x2923cb);}catch(_0xb75a2b){const _0x3a5b58=describeMenuErrorCause(_0xb75a2b,_0x530014(0x232),_0x7475ba);_0x4a9e06[_0x530014(0x213)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x3a5b58[_0x530014(0x23e)]+_0x530014(0x237)+_0x3a5b58[_0x530014(0x20d)]);throw menuFailure(_0x230207,_0x2f2356,{'stage':'batch-delete','failed':{'targetIds':_0x2923cb,'expectedCount':_0x2923cb[_0x530014(0x255)],'reportedDeletedCount':_0x55791,'targetIdsAbsent':'unconfirmed',..._0x3a5b58},'warnings':_0x4a9e06,'verification':{'status':'failed','lookupCommand':_0x530014(0x1f8),'targetIds':_0x2923cb}});}throw menuFailure(_0x230207,_0x2f2356,{'stage':_0x530014(0x1fc),'succeeded':_0x1c6707[_0x530014(0x220)][_0x530014(0x251)](_0x530bc1=>({'id':_0x530bc1,'deleted':!![]})),'failed':{'targetIds':_0x2923cb,'expectedCount':_0x2923cb['length'],'reportedDeletedCount':_0x55791,'absentIds':_0x1c6707[_0x530014(0x220)],'remainingIds':_0x1c6707[_0x530014(0x25b)]},'warnings':_0x4a9e06,'verification':verificationFromOutcome(_0x1c6707)});}let _0x2271a0;try{_0x2271a0=await readDeleteOutcome(_0x58f24a,_0x2923cb);}catch(_0x596582){const _0x95f86c=describeMenuErrorCause(_0x596582,_0x530014(0x208),_0x7475ba),_0x562ffa=asVerificationError(_0x596582,_0x530014(0x20a)+_0x7475ba+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x562ffa,_0x2f2356,{'stage':_0x530014(0x203),'succeeded':_0x2923cb[_0x530014(0x251)](_0x44eb3b=>({'id':_0x44eb3b,'deleteRequested':!![]})),'failed':{'id':_0x7475ba,'targetIds':_0x2923cb,'targetIdsAbsent':_0x530014(0x218),..._0x95f86c},'warnings':[_0x530014(0x21c)],'verification':{'status':'failed','lookupCommand':_0x530014(0x1f8),'targetIds':_0x2923cb}});}if(_0x2271a0[_0x530014(0x25b)][_0x530014(0x255)]>0x0){const _0xa685be=menuError(_0x530014(0x200),_0x530014(0x209)+_0x2271a0[_0x530014(0x25b)]['join'](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0xa685be,_0x2f2356,{'stage':_0x530014(0x203),'succeeded':_0x2923cb['map'](_0x45601a=>({'id':_0x45601a,'deleteRequested':!![]})),'failed':{'id':_0x7475ba,'targetIds':_0x2923cb,'absentIds':_0x2271a0['absentIds'],'remainingIds':_0x2271a0[_0x530014(0x25b)]},'warnings':[_0x530014(0x266)],'verification':verificationFromOutcome(_0x2271a0)});}const _0x5196b9=_0x2923cb[_0x530014(0x251)](_0x55c0f3=>({'id':_0x55c0f3,'deleted':!![]})),_0x2c6762=mutationResult({..._0x2f2356,'dryRun':![],'succeeded':_0x5196b9,'verification':{'checkedBy':_0x530014(0x22e),'plannedSnapshotHash':_0x2f2356[_0x530014(0x22c)],'finalSnapshotHash':_0x2271a0['snapshot'][_0x530014(0x25f)],'reportedDeletedCount':_0x55791,'targetAbsent':!_0x2271a0[_0x530014(0x252)][_0x530014(0x241)]['has'](_0x7475ba),'allTargetsAbsent':!![],'targetIds':_0x2923cb}});return{'ok':!![],'data':_0x2c6762,'message':_0x530014(0x1ff)+_0x5196b9[_0x530014(0x255)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x7475ba+'.'};}};async function readDeleteOutcome(_0x290812,_0x4d605f){const _0x685507=a129_0x45ceab,_0x567944=await fetchMenuSnapshot(_0x290812['appCode'],_0x290812[_0x685507(0x248)]);return{'snapshot':_0x567944,'absentIds':_0x4d605f[_0x685507(0x22d)](_0x4134b5=>!_0x567944['byId']['has'](_0x4134b5)),'remainingIds':_0x4d605f[_0x685507(0x22d)](_0x17d97f=>_0x567944[_0x685507(0x241)][_0x685507(0x25a)](_0x17d97f))};}function verificationFromOutcome(_0x1b0d31){const _0x1033f4=a129_0x45ceab;return{'checkedBy':'menu\x20list','absentIds':_0x1b0d31[_0x1033f4(0x220)],'remainingIds':_0x1b0d31[_0x1033f4(0x25b)]};}function validateDeleteDryRunInput(_0x2f4c41){const _0x7a0564=a129_0x45ceab;validateExactId(_0x2f4c41);if(!hasFlag(_0x2f4c41,_0x7a0564(0x1fe))||!_0x2f4c41[_0x7a0564(0x262)](_0x7a0564(0x1fe))[_0x7a0564(0x221)]())throw CliErrors[_0x7a0564(0x24b)](_0x7a0564(0x1fe),_0x7a0564(0x211));if(hasFlag(_0x2f4c41,'plan'))throw CliErrors[_0x7a0564(0x20f)](_0x7a0564(0x23b));}function validateDeleteExecuteInput(_0x5f30ae){const _0x1b46ea=a129_0x45ceab;if(!hasFlag(_0x5f30ae,_0x1b46ea(0x23c))||!_0x5f30ae[_0x1b46ea(0x262)](_0x1b46ea(0x23c))['trim']())throw CliErrors[_0x1b46ea(0x24b)](_0x1b46ea(0x23c),_0x1b46ea(0x257));const _0x49fe87=['id',_0x1b46ea(0x249),'plan-out','expect-parent-id','expect-path','expected-children-count'][_0x1b46ea(0x22d)](_0x3431e1=>hasFlag(_0x5f30ae,_0x3431e1));if(_0x49fe87['length']>0x0)throw CliErrors[_0x1b46ea(0x20f)](_0x1b46ea(0x22f)+_0x49fe87['map'](_0xdb6856=>'--'+_0xdb6856)[_0x1b46ea(0x21e)](',\x20')+'.');}async function buildDeletePlan(_0x3dd2a7){const _0x4013f4=a129_0x45ceab,_0x29715c=validateExactId(_0x3dd2a7),_0x26ff34=await fetchMutationSnapshot(_0x3dd2a7,'plan\x20delete',_0x29715c),_0x3030c9=requireMenu(_0x26ff34,_0x29715c);assertExpectedState(_0x3dd2a7,_0x3030c9);const _0x171251=_0x3dd2a7[_0x4013f4(0x228)](_0x4013f4(0x249));let _0x1c5708;if(_0x171251){if(_0x3030c9['type'][_0x4013f4(0x221)]()[_0x4013f4(0x260)]()!==_0x4013f4(0x230))throw menuError(_0x4013f4(0x238),_0x4013f4(0x24d)+_0x3030c9['id']+_0x4013f4(0x25d)+(_0x3030c9[_0x4013f4(0x1fa)]||'unknown')+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x1c5708=collectDeleteTargets(_0x26ff34,_0x3030c9),_0x1c5708[_0x4013f4(0x23d)](_0x26e06c=>assertDeleteSafety(_0x26e06c,!![]));}else assertDeleteSafety(_0x3030c9),_0x1c5708=[_0x3030c9];assertNoSharedPages(_0x26ff34,_0x1c5708);const _0x54a5f7=_0x1c5708[_0x4013f4(0x251)](_0x567cea=>_0x567cea['id']),_0x5a6504=cascadeForTargets(_0x1c5708),_0x36c962=_0x5a6504['pages']['length']>0x0?[_0x4013f4(0x224)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x29715c,'recursive':_0x171251},'before':_0x3030c9,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4013f4(0x264),'method':_0x4013f4(0x22b),'path':_0x4013f4(0x223),'body':{'idList':_0x54a5f7}}],'targets':_0x1c5708,'deleteOrder':_0x54a5f7,'snapshotHash':_0x26ff34[_0x4013f4(0x25f)],'cascade':_0x5a6504,'warnings':_0x36c962});}function assertDeleteSafety(_0x520f9b,_0x19e170=![]){const _0x1c3db5=a129_0x45ceab,_0x3750b2=_0x520f9b[_0x1c3db5(0x1fa)][_0x1c3db5(0x221)]()['toLowerCase']()===_0x1c3db5(0x230);if(_0x520f9b[_0x1c3db5(0x22a)]>0x0&&(!_0x19e170||!_0x3750b2))throw menuError(_0x1c3db5(0x229),'Menu\x20'+_0x520f9b['id']+'\x20has\x20'+_0x520f9b[_0x1c3db5(0x22a)]+_0x1c3db5(0x20e),'Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x520f9b[_0x1c3db5(0x235)][_0x1c3db5(0x21e)](',\x20'));if(_0x3750b2&&_0x520f9b[_0x1c3db5(0x205)]!=null)throw menuError(_0x1c3db5(0x21a),_0x1c3db5(0x1ee)+_0x520f9b['id']+_0x1c3db5(0x1f0)+_0x520f9b['pageId']+_0x1c3db5(0x1f1),_0x1c3db5(0x219));if(!_0x3750b2)return;if(!_0x520f9b[_0x1c3db5(0x256)])throw menuError(_0x1c3db5(0x247),'Folder\x20'+_0x520f9b['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x1c3db5(0x234));if(_0x520f9b[_0x1c3db5(0x201)]['length']>0x0)throw menuError(_0x1c3db5(0x258),_0x1c3db5(0x1ee)+_0x520f9b['id']+_0x1c3db5(0x1f6)+_0x520f9b['resources']['length']+_0x1c3db5(0x20c),_0x1c3db5(0x25c));}function collectDeleteTargets(_0x11d251,_0x2cfa3e){const _0x274586=[],_0x45574c=new Set(),_0x550c8d=new Set(),_0x1c6f9e=_0x346380=>{const _0x132d64=a129_0x22bc;if(_0x45574c[_0x132d64(0x25a)](_0x346380['id']))throw menuError(_0x132d64(0x244),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x346380['id']+'.');if(_0x550c8d[_0x132d64(0x25a)](_0x346380['id']))return;_0x45574c[_0x132d64(0x24a)](_0x346380['id']);for(const _0x3d2383 of _0x346380[_0x132d64(0x235)]){const _0x272c16=_0x11d251['byId'][_0x132d64(0x217)](_0x3d2383);if(!_0x272c16)throw menuError(_0x132d64(0x244),'Menu\x20'+_0x346380['id']+_0x132d64(0x1fb)+_0x3d2383+'.');_0x1c6f9e(_0x272c16);}_0x45574c[_0x132d64(0x215)](_0x346380['id']),_0x550c8d[_0x132d64(0x24a)](_0x346380['id']),_0x274586[_0x132d64(0x213)](_0x346380);};return _0x1c6f9e(_0x2cfa3e),_0x274586;}function assertDeleteTargetsComplete(_0x152682,_0x2b1b68){const _0x9df380=a129_0x45ceab,_0x38b7c6=requireMenu(_0x2b1b68,_0x152682['target']['id']);if(_0x152682['recursive']&&_0x38b7c6[_0x9df380(0x1fa)]['trim']()[_0x9df380(0x260)]()!==_0x9df380(0x230))throw menuError('menu_plan_invalid',_0x9df380(0x254)+_0x38b7c6['id']+_0x9df380(0x24e));const _0x1c3499=_0x152682[_0x9df380(0x249)]?collectDeleteTargets(_0x2b1b68,_0x38b7c6)[_0x9df380(0x251)](_0x1f90cb=>_0x1f90cb['id']):[_0x38b7c6['id']];if(JSON[_0x9df380(0x265)](_0x152682['deleteOrder'])!==JSON[_0x9df380(0x265)](_0x1c3499))throw menuError(_0x9df380(0x24f),_0x9df380(0x24c),_0x9df380(0x20b));}function assertNoSharedPages(_0x5db5e3,_0x3beec4){const _0x578de5=a129_0x45ceab,_0x2e294e=new Set(_0x3beec4['map'](_0x324380=>_0x324380['id'])),_0x404c92=new Set(_0x3beec4[_0x578de5(0x251)](_0x8a133a=>_0x8a133a[_0x578de5(0x205)])[_0x578de5(0x22d)](_0x4f310e=>_0x4f310e!=null));if(_0x404c92[_0x578de5(0x204)]===0x0)return;const _0x596fdf=_0x5db5e3[_0x578de5(0x1f2)][_0x578de5(0x22d)](_0x1fe1ba=>!_0x2e294e[_0x578de5(0x25a)](_0x1fe1ba['id'])&&_0x1fe1ba[_0x578de5(0x205)]!=null&&_0x404c92[_0x578de5(0x25a)](_0x1fe1ba[_0x578de5(0x205)]));if(_0x596fdf['length']===0x0)return;const _0x1fc7e7=_0x596fdf[_0x578de5(0x251)](_0x14f572=>_0x578de5(0x1f7)+_0x14f572[_0x578de5(0x205)]+_0x578de5(0x206)+_0x14f572['id'])[_0x578de5(0x21e)](',\x20');throw menuError(_0x578de5(0x242),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x1fc7e7+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x2d8068,_0x10f02e){const _0x278d9e=a129_0x45ceab,_0x167aea=cascadeForTargets(_0x10f02e);if(JSON[_0x278d9e(0x265)](_0x2d8068[_0x278d9e(0x239)])!==JSON[_0x278d9e(0x265)](_0x167aea))throw menuError(_0x278d9e(0x24f),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x2aae9b){const _0x1100ff=a129_0x45ceab,_0x5000bd=_0x2aae9b[_0x1100ff(0x251)](_0x1fb030=>_0x1fb030[_0x1100ff(0x205)])[_0x1100ff(0x22d)](_0xde9dcb=>_0xde9dcb!=null)['filter']((_0x3c0d52,_0x56ed7d,_0x1e2727)=>_0x1e2727[_0x1100ff(0x23a)](_0x3c0d52)===_0x56ed7d);return{'pages':_0x5000bd,'pageSchemaAffected':_0x5000bd[_0x1100ff(0x255)]>0x0};}function asMenuError(_0x494dcd){const _0x407e3d=a129_0x45ceab;return _0x494dcd instanceof CliError?_0x494dcd:menuError('menu_plan_invalid',_0x494dcd instanceof Error?_0x494dcd[_0x407e3d(0x210)]:String(_0x494dcd));}
@@ -1 +1 @@
1
- const a130_0x42720f=a130_0x4847;(function(_0x46cf69,_0x17b147){const _0x3bcbaa=a130_0x4847,_0x36b9b1=_0x46cf69();while(!![]){try{const _0x31157e=-parseInt(_0x3bcbaa(0xbb))/0x1*(parseInt(_0x3bcbaa(0x97))/0x2)+-parseInt(_0x3bcbaa(0xbc))/0x3*(-parseInt(_0x3bcbaa(0xdf))/0x4)+parseInt(_0x3bcbaa(0x10b))/0x5+parseInt(_0x3bcbaa(0xfc))/0x6+-parseInt(_0x3bcbaa(0xfb))/0x7*(-parseInt(_0x3bcbaa(0x10e))/0x8)+-parseInt(_0x3bcbaa(0xd9))/0x9*(parseInt(_0x3bcbaa(0xae))/0xa)+-parseInt(_0x3bcbaa(0x10c))/0xb*(parseInt(_0x3bcbaa(0xce))/0xc);if(_0x31157e===_0x17b147)break;else _0x36b9b1['push'](_0x36b9b1['shift']());}catch(_0x3eeecf){_0x36b9b1['push'](_0x36b9b1['shift']());}}}(a130_0x7044,0xef252));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};function a130_0x7044(){const _0x1e005f=['13884cYzzbW','\x20could\x20not\x20be\x20verified.','<platform-generated>','verification','plan','filter','External\x20menu\x20creation\x20failed.','lookupCommand','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','\x20after\x20response\x20loss.','999vVOYlL','protocol','menu_create_response_invalid','menu_open_mode_invalid','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','menu_permission_denied','4OyCyrO','Provide\x20an\x20HTTPS\x20URL.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','username','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','sort','toLowerCase','visibility','menu_state_drift','Created\x20menu\x20','createdId','POST','entries','menus','Created\x20external\x20menu\x20','Recovered\x20menu\x20','map','Menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','create-menu','str','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','body','parentId','object','succeeded','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','menu\x20list','4500741zaYSgr','8780226bhvhLg','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','get','menu_parent_not_folder','rabetbase\x20menu\x20list\x20--appcode\x20','currentSnapshotHash','hash','code','fact','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','How\x20to\x20open\x20the\x20external\x20website','stringify','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','recovered','bool','2142330BRkfgl','1309WPwHgJ','includes','8LWsFqc','length','byId','after','menu_url_invalid','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','has','parent','url','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','expectedPath','visible','isSafeInteger','selector','cookie','373192HfBpwS','\x20--format\x20compress','failed','type','expectedSnapshotHash','cause','path','Whether\x20the\x20menu\x20is\x20visible','readbackerror','menu_mutation_failed','appCode','string','menu_verification_failed','\x27\x5c\x27\x27','create-recovery','boolean','create-response-validation','password','<redacted>','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','data','add','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','167630LWzrnd','replace','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','open-mode','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','before','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu_url_https_required','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','https:','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','3CCPMRc','3008706qoNfzz','external-link-create','create\x20external\x20menu','embedded','create','menu_sort_overflow','label','parent-id','Run\x20','menu_sort_invalid','rawerror','/smartapi/menu/create','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','afterPlan','rawFlags','trim','prototype','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.'];a130_0x7044=function(){return _0x1e005f;};return a130_0x7044();}export function validateExternalMenuUrl(_0x42e540){const _0x438555=a130_0x4847,_0x4075f2=_0x42e540[_0x438555(0xcb)]();let _0x4122bc;try{_0x4122bc=new URL(_0x4075f2);}catch{throw menuError(_0x438555(0x112),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x438555(0xe1));}if(_0x4122bc[_0x438555(0xda)]!==_0x438555(0xb9))throw menuError(_0x438555(0xb6),_0x438555(0xb5),_0x438555(0xe0));if(_0x4122bc[_0x438555(0xe2)]||_0x4122bc[_0x438555(0xa8)])throw menuError('menu_url_credentials_forbidden',_0x438555(0xd7),_0x438555(0x117));return _0x4075f2;}export const menuExternalLinkCreate={'service':'menu','command':a130_0x42720f(0xbd),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a130_0x42720f(0xc2),'type':a130_0x42720f(0xa2),'required':!![],'description':'Menu\x20label'},{'name':a130_0x42720f(0xb1),'type':'string','required':!![],'enum':[a130_0x42720f(0xbf),'new-window'],'description':a130_0x42720f(0x106)},{'name':'url','type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a130_0x42720f(0xa6),'default':!![],'description':a130_0x42720f(0x9e)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x136fcf){validateAddInput(_0x136fcf);},async 'dryRun'(_0xb3b41f){const _0x34aa43=a130_0x42720f;validateAddInput(_0xb3b41f);const {plan:_0x5767d0}=await buildSafeAddPlan(_0xb3b41f,!![]),_0x4b1858=_0x5767d0[_0x34aa43(0x111)],_0x4a4ba8=createBody(_0x4b1858);return menuDryRunResult(_0x5767d0,{'method':_0x34aa43(0xea),'url':_0x34aa43(0xc7),'body':_0x4a4ba8,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x34aa43(0x107)](_0x4b1858[_0x34aa43(0xc2)])+'\x20with\x20'+_0xb3b41f[_0x34aa43(0xf3)](_0x34aa43(0xb1))+_0x34aa43(0xf4)});},async 'execute'(_0x3b7807){const _0x176442=a130_0x42720f;validateAddInput(_0x3b7807);const _0x52dc98=await buildSafeAddPlan(_0x3b7807,![]),{plan:_0xa03db0,snapshot:_0x9f5aeb}=_0x52dc98,_0x44f516=_0xa03db0[_0x176442(0x111)],_0xf03aed=buildMenuLookupCommand(_0x3b7807[_0x176442(0xa1)]);await recheckAddSnapshot(_0x3b7807,_0xa03db0);let _0x47349a;try{_0x47349a=await createMenuEntity(_0x3b7807[_0x176442(0xa1)],_0x3b7807[_0x176442(0x96)],createBody(_0x44f516));}catch(_0x5cf9bf){const _0x2909d6=mapMenuApiError(_0x5cf9bf,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x5cf9bf)||_0x2909d6['code']===_0x176442(0xde))throw externalLinkCreateFailure(_0x2909d6,_0xa03db0,{'stage':_0x176442(0xc0),'failed':{},'verification':{'status':_0x176442(0x99),'lookupCommand':_0xf03aed}});return recoverAfterResponseLoss(_0x3b7807,_0x52dc98,_0xf03aed);}const _0x3292fe=Number(_0x47349a?.['id']),_0x231e72=typeof _0x47349a?.['path']===_0x176442(0xa2)?_0x47349a[_0x176442(0x9d)]:'';if(!Number[_0x176442(0x94)](_0x3292fe)||_0x3292fe<=0x0||!_0x231e72[_0x176442(0xcb)]()){const _0x15c0a6=menuError(_0x176442(0xdb),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x176442(0xc4)+_0xf03aed+_0x176442(0x118));throw externalLinkCreateFailure(_0x15c0a6,_0xa03db0,{'stage':_0x176442(0xa7),'succeeded':Number[_0x176442(0x94)](_0x3292fe)&&_0x3292fe>0x0?[{'id':_0x3292fe,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x3292fe)?_0x3292fe:null,'generatedPathConfirmed':Boolean(_0x231e72[_0x176442(0xcb)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number['isSafeInteger'](_0x3292fe)&&_0x3292fe>0x0?{..._0x44f516,'id':_0x3292fe,'path':_0x231e72}:_0x44f516,'verification':{'status':_0x176442(0x99),'lookupCommand':_0xf03aed,...Number[_0x176442(0x94)](_0x3292fe)&&_0x3292fe>0x0?{'targetId':_0x3292fe}:{}}});}const _0x4843cf=await readAndVerifyCreatedMenu({'appCode':_0x3b7807[_0x176442(0xa1)],'cookie':_0x3b7807[_0x176442(0x96)],'plan':_0xa03db0,'afterPlan':_0x44f516,'createdId':_0x3292fe,'expectedPath':_0x231e72,'lookupCommand':_0xf03aed,'recovered':![]});return creationSuccess(_0xa03db0,_0x4843cf['snapshot'],_0x4843cf[_0x176442(0x104)],![]);}};function validateAddInput(_0x3d94ab){const _0x204ea7=a130_0x42720f;if(!_0x3d94ab[_0x204ea7(0xf3)]('label')['trim']())throw CliErrors['flagMissing']('label');resolveExternalMenuType(_0x3d94ab),validateExternalMenuUrl(_0x3d94ab[_0x204ea7(0xf3)](_0x204ea7(0x116))),parseParentId(_0x3d94ab,_0x204ea7(0xc3)),validateSort(_0x3d94ab);}function resolveExternalMenuType(_0x4dfc47){const _0x1114f9=a130_0x42720f,_0x1e7f3e=_0x4dfc47[_0x1114f9(0xf3)](_0x1114f9(0xb1))[_0x1114f9(0xcb)]();if(!_0x1e7f3e)throw CliErrors['flagMissing'](_0x1114f9(0xb1));const _0x25244a=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1e7f3e];if(!_0x25244a)throw menuError(_0x1114f9(0xdc),_0x1114f9(0xd6),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x25244a;}function a130_0x4847(_0x4ffd2e,_0x340354){_0x4ffd2e=_0x4ffd2e-0x94;const _0x70443a=a130_0x7044();let _0x484734=_0x70443a[_0x4ffd2e];return _0x484734;}async function buildAddPlan(_0x13ad98,_0x44c0f9){const _0x167964=a130_0x42720f,_0x405cc5=await fetchMutationSnapshot(_0x13ad98,'create\x20external\x20menu'),_0x2fb156=parseParentId(_0x13ad98,'parent-id')??null;if(_0x2fb156!=null)requireFolder(_0x405cc5,_0x2fb156);const _0x4885a5=validateSort(_0x13ad98),_0x5a0d5d=_0x4885a5??nextSiblingSort(_0x405cc5,_0x2fb156,'menu'),_0x121e8e=_0x13ad98['str'](_0x167964(0xc2))['trim'](),_0x1de63e=resolveExternalMenuType(_0x13ad98),_0x191642=validateExternalMenuUrl(_0x13ad98[_0x167964(0xf3)](_0x167964(0x116))),_0x61788d=Object[_0x167964(0xcc)]['hasOwnProperty']['call'](_0x13ad98[_0x167964(0xca)],_0x167964(0x11a))?_0x13ad98[_0x167964(0x10a)](_0x167964(0x11a)):!![],_0xfe4146={'id':null,'parentId':_0x2fb156,'label':_0x121e8e,'path':_0x167964(0xd0),'url':_0x191642,'type':_0x1de63e,'visible':_0x61788d,'sort':_0x5a0d5d},_0x537290=buildMenuLookupCommand(_0x13ad98[_0x167964(0xa1)]),_0x35dcd7=mutationResult({'operation':_0x167964(0xac),'selector':{'parentId':_0x2fb156,'type':_0x1de63e,'label':_0x121e8e,'url':_0x191642},'before':null,'after':_0xfe4146,'dryRun':_0x44c0f9,'backend':[{'method':'POST','path':_0x167964(0xc7)}],'plannedActions':[{'stage':_0x167964(0xf2),'method':_0x167964(0xea),'path':_0x167964(0xc7),'body':createBody(_0xfe4146)}],'snapshotHash':_0x405cc5[_0x167964(0x102)],'warnings':[_0x167964(0x108)],'verification':{'lookupCommand':_0x537290}});return{'plan':_0x35dcd7,'snapshot':_0x405cc5};}async function buildSafeAddPlan(_0x190fbc,_0xc4a498){try{return await buildAddPlan(_0x190fbc,_0xc4a498);}catch(_0x3911ce){throw safeMenuAddError(_0x3911ce);}}async function recheckAddSnapshot(_0x24a1b2,_0x21e5f2){const _0x407d8c=a130_0x42720f;try{await recheckMutationSnapshot(_0x24a1b2,_0x21e5f2,_0x407d8c(0xbe));}catch(_0x998267){const _0x411fd9=getFailureRecord(_0x998267);throw externalLinkCreateFailure(_0x998267,_0x21e5f2,{'stage':'pre-write-recheck','failed':{..._0x411fd9?.[_0x407d8c(0x9b)]?{'expectedSnapshotHash':_0x411fd9['expectedSnapshotHash']}:{},..._0x411fd9?.[_0x407d8c(0x101)]?{'currentSnapshotHash':_0x411fd9['currentSnapshotHash']}:{}}});}}function createBody(_0xeafee2){const _0x4463d0=a130_0x42720f;return{'parentId':toApiParentId(_0xeafee2[_0x4463d0(0xf6)]),'label':String(_0xeafee2[_0x4463d0(0xc2)]),'type':String(_0xeafee2[_0x4463d0(0x9a)]),'url':String(_0xeafee2[_0x4463d0(0x116)]),'visible':Boolean(_0xeafee2['visible']),'sort':Number(_0xeafee2[_0x4463d0(0xe4)]),'extend':{}};}function buildMenuLookupCommand(_0x27e7bb){const _0x4fff7e=a130_0x42720f,_0x3dde24='\x27'+_0x27e7bb[_0x4fff7e(0xaf)](/'/g,_0x4fff7e(0xa4))+'\x27';return _0x4fff7e(0x100)+_0x3dde24+_0x4fff7e(0x98);}async function recoverAfterResponseLoss(_0x3f5d98,_0x13badc,_0x160d45){const _0x2df0b6=a130_0x42720f,{plan:_0x1c4e69,snapshot:_0x3b522e}=_0x13badc,_0x61e899=_0x1c4e69[_0x2df0b6(0x111)];let _0x79905e;try{_0x79905e=await fetchMenuSnapshot(_0x3f5d98[_0x2df0b6(0xa1)],_0x3f5d98['cookie']);}catch(_0x198bd8){throw recoveryRequiredFailure(_0x1c4e69,_0x160d45,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x2bfe16=_0x79905e[_0x2df0b6(0xec)][_0x2df0b6(0xd3)](_0x2dbf9c=>_0x2dbf9c[_0x2df0b6(0xf6)]===_0x61e899[_0x2df0b6(0xf6)]&&_0x2dbf9c[_0x2df0b6(0x9a)]===_0x61e899['type']&&_0x2dbf9c[_0x2df0b6(0xc2)]===_0x61e899[_0x2df0b6(0xc2)]&&_0x2dbf9c[_0x2df0b6(0x116)]===_0x61e899['url']),_0x3f1e7e=_0x2bfe16[_0x2df0b6(0xd3)](_0x823711=>!_0x3b522e[_0x2df0b6(0x110)][_0x2df0b6(0x114)](_0x823711['id'])),_0x57aca4=_0x2bfe16[_0x2df0b6(0xd3)](_0x5ad59f=>_0x3b522e[_0x2df0b6(0x110)]['has'](_0x5ad59f['id']));if(_0x2bfe16[_0x2df0b6(0x10f)]!==0x1||_0x3f1e7e[_0x2df0b6(0x10f)]!==0x1)throw recoveryRequiredFailure(_0x1c4e69,_0x160d45,{'matchCount':_0x2bfe16[_0x2df0b6(0x10f)],'newMatchCount':_0x3f1e7e[_0x2df0b6(0x10f)],'preexistingMatchCount':_0x57aca4[_0x2df0b6(0x10f)]});const _0x2cb880=_0x3f1e7e[0x0];try{verifyCreatedFact(_0x2cb880,_0x2cb880['id'],_0x61e899,null);}catch(_0x2a69a8){const _0x35f612=_0x2a69a8 instanceof Error&&'code'in _0x2a69a8?_0x2a69a8:menuError(_0x2df0b6(0xa3),_0x2df0b6(0xee)+_0x2cb880['id']+_0x2df0b6(0xcf),_0x2df0b6(0xc4)+_0x160d45+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x35f612,_0x1c4e69,{'stage':'verification','succeeded':[{'id':_0x2cb880['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x2cb880['id'],'finalFactsConfirmed':![]},'after':_0x2cb880,'warnings':[_0x2df0b6(0xf0)+_0x2cb880['id']+_0x2df0b6(0xe3)],'verification':{'status':_0x2df0b6(0x99),'targetId':_0x2cb880['id'],'recovered':!![],'lookupCommand':_0x160d45}});}return creationSuccess(_0x1c4e69,_0x79905e,_0x2cb880,!![]);}function recoveryRequiredFailure(_0x1e6368,_0x22f337,_0x2eea0d){const _0x37c0b7=a130_0x42720f,_0x3e9c75=menuError('menu_create_recovery_required',_0x37c0b7(0x113),_0x37c0b7(0xc4)+_0x22f337+_0x37c0b7(0xb3));return externalLinkCreateFailure(_0x3e9c75,_0x1e6368,{'stage':_0x37c0b7(0xa5),'failed':_0x2eea0d,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':'failed',..._0x2eea0d,'lookupCommand':_0x22f337}});}async function readAndVerifyCreatedMenu(_0x481646){const _0x1c0b85=a130_0x42720f;let _0x29ef94;try{_0x29ef94=await fetchMenuSnapshot(_0x481646[_0x1c0b85(0xa1)],_0x481646[_0x1c0b85(0x96)]);}catch(_0x1bce00){const _0x33e867=menuError('menu_verification_failed',_0x1c0b85(0xf0)+_0x481646[_0x1c0b85(0xe9)]+_0x1c0b85(0xcd),_0x1c0b85(0xc4)+_0x481646[_0x1c0b85(0xd5)]+_0x1c0b85(0xb2));throw externalLinkCreateFailure(_0x33e867,_0x481646[_0x1c0b85(0xd2)],{'stage':_0x1c0b85(0xd1),'succeeded':[{'id':_0x481646[_0x1c0b85(0xe9)],'created':!![]}],'failed':{'id':_0x481646[_0x1c0b85(0xe9)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x481646[_0x1c0b85(0xc9)],'id':_0x481646['createdId'],'path':_0x481646[_0x1c0b85(0x119)]},'warnings':['Menu\x20'+_0x481646[_0x1c0b85(0xe9)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x1c0b85(0x99),'targetId':_0x481646[_0x1c0b85(0xe9)],'lookupCommand':_0x481646[_0x1c0b85(0xd5)]}});}const _0xbcba48=_0x29ef94[_0x1c0b85(0x110)][_0x1c0b85(0xfe)](_0x481646[_0x1c0b85(0xe9)]);try{if(!_0xbcba48)throw menuError(_0x1c0b85(0xa3),'Created\x20menu\x20'+_0x481646[_0x1c0b85(0xe9)]+_0x1c0b85(0xdd),_0x1c0b85(0xc4)+_0x481646['lookupCommand']+_0x1c0b85(0xb2));verifyCreatedFact(_0xbcba48,_0x481646['createdId'],_0x481646[_0x1c0b85(0xc9)],_0x481646['expectedPath']);}catch(_0x5455f5){const _0x186e2d=_0x5455f5 instanceof Error&&_0x1c0b85(0x103)in _0x5455f5?_0x5455f5:menuError('menu_verification_failed',_0x1c0b85(0xe8)+_0x481646[_0x1c0b85(0xe9)]+'\x20failed\x20final\x20verification.',_0x1c0b85(0xc4)+_0x481646[_0x1c0b85(0xd5)]+_0x1c0b85(0xb2));throw externalLinkCreateFailure(_0x186e2d,_0x481646[_0x1c0b85(0xd2)],{'stage':_0x1c0b85(0xd1),'succeeded':[{'id':_0x481646[_0x1c0b85(0xe9)],'created':!![]}],'failed':{'id':_0x481646['createdId'],'finalFactsConfirmed':![]},'after':_0xbcba48??{..._0x481646[_0x1c0b85(0xc9)],'id':_0x481646[_0x1c0b85(0xe9)],'path':_0x481646[_0x1c0b85(0x119)]},'warnings':[_0x1c0b85(0xf0)+_0x481646['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x1c0b85(0x99),'targetId':_0x481646[_0x1c0b85(0xe9)],'recovered':_0x481646[_0x1c0b85(0x109)],'lookupCommand':_0x481646[_0x1c0b85(0xd5)]}});}return{'snapshot':_0x29ef94,'fact':_0xbcba48};}function verifyCreatedFact(_0x55c77a,_0x5a0acd,_0x327bca,_0x2ec40a){const _0x4fea79=a130_0x42720f;if(!Number[_0x4fea79(0x94)](_0x55c77a['id'])||_0x55c77a['id']<=0x0||_0x55c77a['id']!==_0x5a0acd)throw menuError('menu_verification_failed',_0x4fea79(0xb8),_0x4fea79(0xf9));const _0x259354=[[_0x4fea79(0x115),_0x55c77a[_0x4fea79(0xf6)],_0x327bca[_0x4fea79(0xf6)]],[_0x4fea79(0x9a),_0x55c77a['type'],_0x327bca['type']],[_0x4fea79(0xc2),_0x55c77a[_0x4fea79(0xc2)],_0x327bca[_0x4fea79(0xc2)]],['URL',_0x55c77a['url'],_0x327bca[_0x4fea79(0x116)]],[_0x4fea79(0xe6),_0x55c77a['visible'],_0x327bca[_0x4fea79(0x11a)]],['sort',_0x55c77a[_0x4fea79(0xe4)],_0x327bca[_0x4fea79(0xe4)]]];for(const [_0x5d9e64,_0x32fd5c,_0x35be6a]of _0x259354){if(_0x32fd5c!==_0x35be6a)throw menuError(_0x4fea79(0xa3),_0x4fea79(0xe8)+_0x55c77a['id']+'\x20has\x20an\x20unexpected\x20'+_0x5d9e64+'.',_0x4fea79(0xfd));}if(!_0x55c77a[_0x4fea79(0x9d)][_0x4fea79(0xcb)]()||_0x2ec40a!==null&&_0x55c77a['path']!==_0x2ec40a)throw menuError(_0x4fea79(0xa3),_0x4fea79(0xe8)+_0x55c77a['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x4fea79(0xfd));}function creationSuccess(_0x59248e,_0x5869b8,_0xbd7de,_0x217908){const _0x1fcadc=a130_0x42720f,_0xb14122=mutationResult({..._0x59248e,'after':_0xbd7de,'dryRun':![],'succeeded':[{'id':_0xbd7de['id'],'created':!![],'recovered':_0x217908}],'verification':{'checkedBy':_0x1fcadc(0xfa),'snapshotHash':_0x5869b8['hash'],'targetId':_0xbd7de['id'],'recovered':_0x217908,'path':_0xbd7de[_0x1fcadc(0x9d)]}});return{'ok':!![],'message':_0x217908?'Recovered\x20created\x20external\x20menu\x20'+_0xbd7de['id']+_0x1fcadc(0xd8):_0x1fcadc(0xed)+_0xbd7de['id']+'.','data':{..._0xb14122,'recovered':_0x217908}};}function externalLinkCreateFailure(_0x1fb9ac,_0x4e5f51,_0x379eb6){const _0x22202c=a130_0x42720f;return menuFailure(safeMenuAddError(_0x1fb9ac),redactFailurePlan(_0x4e5f51),{..._0x379eb6,'succeeded':_0x379eb6[_0x22202c(0xf8)]?.[_0x22202c(0xef)](redactFailureRecord),'failed':_0x379eb6['failed']?redactFailureRecord(_0x379eb6[_0x22202c(0x99)]):undefined,'verification':_0x379eb6['verification']?redactFailureRecord(_0x379eb6[_0x22202c(0xd1)]):undefined,'after':_0x379eb6[_0x22202c(0x111)]===undefined?undefined:redactFailureValue(_0x379eb6[_0x22202c(0x111)])});}function redactFailurePlan(_0x3f2025){const _0xc67c62=a130_0x42720f;return{..._0x3f2025,'selector':redactFailureRecord(_0x3f2025[_0xc67c62(0x95)]),'before':redactFailureValue(_0x3f2025[_0xc67c62(0xb4)]),'after':redactFailureValue(_0x3f2025[_0xc67c62(0x111)]),'plannedActions':_0x3f2025['plannedActions']?.[_0xc67c62(0xef)](_0x419e63=>({..._0x419e63,'body':redactFailureRecord(_0x419e63[_0xc67c62(0xf5)])})),'succeeded':_0x3f2025[_0xc67c62(0xf8)][_0xc67c62(0xef)](redactFailureRecord),'failed':_0x3f2025[_0xc67c62(0x99)][_0xc67c62(0xef)](redactFailureRecord),'verification':_0x3f2025[_0xc67c62(0xd1)]?redactFailureRecord(_0x3f2025[_0xc67c62(0xd1)]):undefined};}function redactFailureRecord(_0x3463d8){return redactFailureValue(_0x3463d8);}function redactFailureValue(_0x3ce353,_0x5cf472=''){const _0x2bdb67=a130_0x42720f,_0x40f7d9=_0x5cf472[_0x2bdb67(0xe5)]()['replace'](/[^a-z0-9]/g,'');if([_0x2bdb67(0x9c),'causemessage',_0x2bdb67(0x9f),_0x2bdb67(0xc6)][_0x2bdb67(0x10d)](_0x40f7d9))return _0x2bdb67(0xa9);if(Array['isArray'](_0x3ce353))return _0x3ce353[_0x2bdb67(0xef)](_0x53f38a=>redactFailureValue(_0x53f38a));if(_0x3ce353&&typeof _0x3ce353===_0x2bdb67(0xf7))return Object['fromEntries'](Object[_0x2bdb67(0xeb)](_0x3ce353)['map'](([_0x15f1e6,_0x2eff54])=>[_0x15f1e6,redactFailureValue(_0x2eff54,_0x15f1e6)]));return _0x3ce353;}function safeMenuAddError(_0x36fe42){const _0x3d8f10=a130_0x42720f,_0x59fa78=_0x36fe42 instanceof CliError?_0x36fe42[_0x3d8f10(0x103)]:_0x3d8f10(0xa0);switch(_0x59fa78){case _0x3d8f10(0xe7):return menuError(_0x59fa78,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x3d8f10(0xc8));case _0x3d8f10(0xde):return menuError(_0x59fa78,_0x3d8f10(0xf1),_0x3d8f10(0xb0));case'menu_create_response_invalid':return menuError(_0x59fa78,_0x3d8f10(0x105),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x59fa78,_0x3d8f10(0xba),_0x3d8f10(0xaa));case'menu_create_recovery_required':return menuError(_0x59fa78,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x3d8f10(0xad));case _0x3d8f10(0xa0):case'menu_not_found':case _0x3d8f10(0xff):case _0x3d8f10(0xc5):case _0x3d8f10(0xc1):return menuError(_0x59fa78,_0x3d8f10(0xd4),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x3d8f10(0xa0),_0x3d8f10(0xd4),_0x3d8f10(0xb7));}}function getFailureRecord(_0x5baad9){const _0x4d6a76=a130_0x42720f;if(!(_0x5baad9 instanceof Error)||!(_0x4d6a76(0xab)in _0x5baad9))return undefined;const _0x3c0c05=_0x5baad9[_0x4d6a76(0xab)];if(!_0x3c0c05||typeof _0x3c0c05!=='object')return undefined;const _0x1a66ca=_0x3c0c05[_0x4d6a76(0x99)];if(!Array['isArray'](_0x1a66ca)||!_0x1a66ca[0x0]||typeof _0x1a66ca[0x0]!=='object')return undefined;return _0x1a66ca[0x0];}
1
+ const a130_0x398eb6=a130_0x2e78;(function(_0x17dac4,_0x5cbcdc){const _0x3ed7ed=a130_0x2e78,_0xd2bf51=_0x17dac4();while(!![]){try{const _0x4cbf9f=parseInt(_0x3ed7ed(0x232))/0x1+parseInt(_0x3ed7ed(0x1da))/0x2+parseInt(_0x3ed7ed(0x1d7))/0x3+parseInt(_0x3ed7ed(0x1eb))/0x4*(-parseInt(_0x3ed7ed(0x22c))/0x5)+-parseInt(_0x3ed7ed(0x1dd))/0x6*(parseInt(_0x3ed7ed(0x23f))/0x7)+parseInt(_0x3ed7ed(0x1ff))/0x8*(parseInt(_0x3ed7ed(0x1fb))/0x9)+-parseInt(_0x3ed7ed(0x246))/0xa;if(_0x4cbf9f===_0x5cbcdc)break;else _0xd2bf51['push'](_0xd2bf51['shift']());}catch(_0x436014){_0xd2bf51['push'](_0xd2bf51['shift']());}}}(a130_0x2540,0x3e484));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a130_0x2e78(_0x3ea306,_0x5a6802){_0x3ea306=_0x3ea306-0x1c4;const _0x254046=a130_0x2540();let _0x2e785a=_0x254046[_0x3ea306];return _0x2e785a;}import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a130_0x398eb6(0x1de),'new-window':a130_0x398eb6(0x210)};export function validateExternalMenuUrl(_0x20dfe6){const _0x1ce109=a130_0x398eb6,_0x5e2225=_0x20dfe6[_0x1ce109(0x206)]();let _0x291b6f;try{_0x291b6f=new URL(_0x5e2225);}catch{throw menuError(_0x1ce109(0x21e),_0x1ce109(0x233),_0x1ce109(0x1fc));}if(_0x291b6f['protocol']!=='https:')throw menuError(_0x1ce109(0x228),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x291b6f['username']||_0x291b6f[_0x1ce109(0x209)])throw menuError(_0x1ce109(0x1e2),_0x1ce109(0x21f),_0x1ce109(0x219));return _0x5e2225;}export const menuExternalLinkCreate={'service':a130_0x398eb6(0x1f9),'command':a130_0x398eb6(0x1e0),'description':a130_0x398eb6(0x200),'risk':a130_0x398eb6(0x1fe),'structuredErrors':!![],'flags':[{'name':'label','type':a130_0x398eb6(0x207),'required':!![],'description':a130_0x398eb6(0x229)},{'name':a130_0x398eb6(0x221),'type':a130_0x398eb6(0x207),'required':!![],'enum':['embedded',a130_0x398eb6(0x203)],'description':a130_0x398eb6(0x211)},{'name':'url','type':a130_0x398eb6(0x207),'required':!![],'description':a130_0x398eb6(0x1d5)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a130_0x398eb6(0x1f2),'type':a130_0x398eb6(0x1f5),'default':!![],'description':a130_0x398eb6(0x1d1)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xc7accc){validateAddInput(_0xc7accc);},async 'dryRun'(_0x3418f3){const _0x3a5f95=a130_0x398eb6;validateAddInput(_0x3418f3);const {plan:_0x27b914}=await buildSafeAddPlan(_0x3418f3,!![]),_0x4e3ea7=_0x27b914['after'],_0x28e292=createBody(_0x4e3ea7);return menuDryRunResult(_0x27b914,{'method':_0x3a5f95(0x1c5),'url':_0x3a5f95(0x20b),'body':_0x28e292,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x3a5f95(0x223)](_0x4e3ea7[_0x3a5f95(0x23c)])+_0x3a5f95(0x1f4)+_0x3418f3[_0x3a5f95(0x1cb)](_0x3a5f95(0x221))+_0x3a5f95(0x241)});},async 'execute'(_0x156c8c){const _0x46a059=a130_0x398eb6;validateAddInput(_0x156c8c);const _0x42cc62=await buildSafeAddPlan(_0x156c8c,![]),{plan:_0x2af981,snapshot:_0x153acc}=_0x42cc62,_0x46eb96=_0x2af981[_0x46a059(0x1e7)],_0x40b65f=buildMenuLookupCommand(_0x156c8c['appCode']);await recheckAddSnapshot(_0x156c8c,_0x2af981);let _0x3be6f0;try{_0x3be6f0=await createMenuEntity(_0x156c8c[_0x46a059(0x23d)],_0x156c8c['cookie'],createBody(_0x46eb96));}catch(_0x165eb9){const _0x4c31d9=mapMenuApiError(_0x165eb9,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x165eb9)||_0x4c31d9[_0x46a059(0x242)]===_0x46a059(0x20f))throw externalLinkCreateFailure(_0x4c31d9,_0x2af981,{'stage':_0x46a059(0x204),'failed':{},'verification':{'status':'failed','lookupCommand':_0x40b65f}});return recoverAfterResponseLoss(_0x156c8c,_0x42cc62,_0x40b65f);}const _0x5e07fa=Number(_0x3be6f0?.['id']),_0x3b35cb=typeof _0x3be6f0?.[_0x46a059(0x1e3)]==='string'?_0x3be6f0['path']:'';if(!Number[_0x46a059(0x21d)](_0x5e07fa)||_0x5e07fa<=0x0||!_0x3b35cb[_0x46a059(0x206)]()){const _0x57dff6=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x46a059(0x1f3)+_0x40b65f+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x57dff6,_0x2af981,{'stage':_0x46a059(0x244),'succeeded':Number[_0x46a059(0x21d)](_0x5e07fa)&&_0x5e07fa>0x0?[{'id':_0x5e07fa,'created':!![]}]:[],'failed':{'createdId':Number[_0x46a059(0x21d)](_0x5e07fa)?_0x5e07fa:null,'generatedPathConfirmed':Boolean(_0x3b35cb[_0x46a059(0x206)]())},'warnings':[_0x46a059(0x239)],'after':Number[_0x46a059(0x21d)](_0x5e07fa)&&_0x5e07fa>0x0?{..._0x46eb96,'id':_0x5e07fa,'path':_0x3b35cb}:_0x46eb96,'verification':{'status':'failed','lookupCommand':_0x40b65f,...Number['isSafeInteger'](_0x5e07fa)&&_0x5e07fa>0x0?{'targetId':_0x5e07fa}:{}}});}const _0x44cfd0=await readAndVerifyCreatedMenu({'appCode':_0x156c8c['appCode'],'cookie':_0x156c8c[_0x46a059(0x218)],'plan':_0x2af981,'afterPlan':_0x46eb96,'createdId':_0x5e07fa,'expectedPath':_0x3b35cb,'lookupCommand':_0x40b65f,'recovered':![]});return creationSuccess(_0x2af981,_0x44cfd0[_0x46a059(0x236)],_0x44cfd0['fact'],![]);}};function validateAddInput(_0x4ac664){const _0x366fe8=a130_0x398eb6;if(!_0x4ac664[_0x366fe8(0x1cb)]('label')[_0x366fe8(0x206)]())throw CliErrors[_0x366fe8(0x1e4)](_0x366fe8(0x23c));resolveExternalMenuType(_0x4ac664),validateExternalMenuUrl(_0x4ac664[_0x366fe8(0x1cb)](_0x366fe8(0x1d6))),parseParentId(_0x4ac664,'parent-id'),validateSort(_0x4ac664);}function resolveExternalMenuType(_0x5ccacc){const _0x16a4e2=a130_0x398eb6,_0x5550ec=_0x5ccacc['str'](_0x16a4e2(0x221))[_0x16a4e2(0x206)]();if(!_0x5550ec)throw CliErrors[_0x16a4e2(0x1e4)](_0x16a4e2(0x221));const _0x1ee7f5=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x5550ec];if(!_0x1ee7f5)throw menuError(_0x16a4e2(0x23b),_0x16a4e2(0x224),_0x16a4e2(0x216));return _0x1ee7f5;}async function buildAddPlan(_0x290208,_0x3b7cd7){const _0x5d5fc7=a130_0x398eb6,_0x503bc4=await fetchMutationSnapshot(_0x290208,_0x5d5fc7(0x1d0)),_0x3d3840=parseParentId(_0x290208,_0x5d5fc7(0x240))??null;if(_0x3d3840!=null)requireFolder(_0x503bc4,_0x3d3840);const _0x25109a=validateSort(_0x290208),_0x24a9f4=_0x25109a??nextSiblingSort(_0x503bc4,_0x3d3840,_0x5d5fc7(0x1f9)),_0x217413=_0x290208['str'](_0x5d5fc7(0x23c))[_0x5d5fc7(0x206)](),_0x11584f=resolveExternalMenuType(_0x290208),_0x52471f=validateExternalMenuUrl(_0x290208[_0x5d5fc7(0x1cb)](_0x5d5fc7(0x1d6))),_0x42662f=Object['prototype'][_0x5d5fc7(0x1d4)]['call'](_0x290208['rawFlags'],'visible')?_0x290208['bool'](_0x5d5fc7(0x1f2)):!![],_0x9001a3={'id':null,'parentId':_0x3d3840,'label':_0x217413,'path':'<platform-generated>','url':_0x52471f,'type':_0x11584f,'visible':_0x42662f,'sort':_0x24a9f4},_0x539953=buildMenuLookupCommand(_0x290208['appCode']),_0x16b32e=mutationResult({'operation':_0x5d5fc7(0x226),'selector':{'parentId':_0x3d3840,'type':_0x11584f,'label':_0x217413,'url':_0x52471f},'before':null,'after':_0x9001a3,'dryRun':_0x3b7cd7,'backend':[{'method':_0x5d5fc7(0x1c5),'path':_0x5d5fc7(0x20b)}],'plannedActions':[{'stage':'create-menu','method':_0x5d5fc7(0x1c5),'path':_0x5d5fc7(0x20b),'body':createBody(_0x9001a3)}],'snapshotHash':_0x503bc4[_0x5d5fc7(0x1f1)],'warnings':[_0x5d5fc7(0x247)],'verification':{'lookupCommand':_0x539953}});return{'plan':_0x16b32e,'snapshot':_0x503bc4};}async function buildSafeAddPlan(_0x317967,_0x4575bb){try{return await buildAddPlan(_0x317967,_0x4575bb);}catch(_0xf4daa2){throw safeMenuAddError(_0xf4daa2);}}async function recheckAddSnapshot(_0x50b68d,_0x321ae8){const _0x4d67f8=a130_0x398eb6;try{await recheckMutationSnapshot(_0x50b68d,_0x321ae8,'create\x20external\x20menu');}catch(_0x218ff5){const _0x501ede=getFailureRecord(_0x218ff5);throw externalLinkCreateFailure(_0x218ff5,_0x321ae8,{'stage':'pre-write-recheck','failed':{..._0x501ede?.[_0x4d67f8(0x1e6)]?{'expectedSnapshotHash':_0x501ede['expectedSnapshotHash']}:{},..._0x501ede?.[_0x4d67f8(0x234)]?{'currentSnapshotHash':_0x501ede[_0x4d67f8(0x234)]}:{}}});}}function createBody(_0x1620da){const _0x48cf3d=a130_0x398eb6;return{'parentId':toApiParentId(_0x1620da['parentId']),'label':String(_0x1620da[_0x48cf3d(0x23c)]),'type':String(_0x1620da[_0x48cf3d(0x21a)]),'url':String(_0x1620da[_0x48cf3d(0x1d6)]),'visible':Boolean(_0x1620da[_0x48cf3d(0x1f2)]),'sort':Number(_0x1620da[_0x48cf3d(0x1ec)]),'extend':{}};}function buildMenuLookupCommand(_0x2f483a){const _0x1b8fa2=a130_0x398eb6,_0x1738e6='\x27'+_0x2f483a[_0x1b8fa2(0x237)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x1b8fa2(0x202)+_0x1738e6+'\x20--format\x20compress';}function a130_0x2540(){const _0x291e6c=['336010GGWIXU','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','currentSnapshotHash','menu_parent_not_folder','snapshot','replace','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_open_mode_invalid','label','appCode','Recovered\x20menu\x20','147854Fydkqa','parent-id','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','code','data','create-response-validation','menu_sort_overflow','5392050RQgQyL','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','POST','Menu\x20','isArray','object','parent','byId','str','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','cause','lookupCommand','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','create\x20external\x20menu','Whether\x20the\x20menu\x20is\x20visible','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','entries','hasOwnProperty','External\x20HTTPS\x20URL','url','1190298qeCsEg','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','length','294802xkWtaT','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create-recovery','24WtRkPW','iframe','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','external-link-create','readbackerror','menu_url_credentials_forbidden','path','flagMissing','body','expectedSnapshotHash','after','<redacted>','Created\x20menu\x20','verification','1984228WoiwBn','sort','visibility','succeeded','menu_not_found','map','hash','visible','Run\x20','\x20with\x20','boolean','menu_verification_failed','recovered','toLowerCase','menu','createdId','4452129XemCyo','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','write','8UKwLFl','Create\x20an\x20external\x20website\x20link\x20menu','failed','rabetbase\x20menu\x20list\x20--appcode\x20','new-window','create','afterPlan','trim','string','selector','password','rawerror','/smartapi/menu/create','parentId','\x20could\x20not\x20be\x20verified.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','menu_permission_denied','link','How\x20to\x20open\x20the\x20external\x20website','before','\x20has\x20an\x20unexpected\x20','plan','filter','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menus','cookie','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','type','Recovered\x20created\x20external\x20menu\x20','menu_mutation_failed','isSafeInteger','menu_url_invalid','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','has','open-mode','get','stringify','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_create_recovery_required','add','Created\x20external\x20menu\x20','menu_url_https_required','Menu\x20label','expectedPath','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','5ChxPOb','includes','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.'];a130_0x2540=function(){return _0x291e6c;};return a130_0x2540();}async function recoverAfterResponseLoss(_0x3b889b,_0x45acf8,_0x128f2c){const _0x1cdeec=a130_0x398eb6,{plan:_0x328f19,snapshot:_0x4abb50}=_0x45acf8,_0x5cf7b4=_0x328f19[_0x1cdeec(0x1e7)];let _0x2a6830;try{_0x2a6830=await fetchMenuSnapshot(_0x3b889b['appCode'],_0x3b889b['cookie']);}catch(_0x110c25){throw recoveryRequiredFailure(_0x328f19,_0x128f2c,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x2ddd92=_0x2a6830[_0x1cdeec(0x217)][_0x1cdeec(0x215)](_0x480984=>_0x480984['parentId']===_0x5cf7b4[_0x1cdeec(0x20c)]&&_0x480984[_0x1cdeec(0x21a)]===_0x5cf7b4[_0x1cdeec(0x21a)]&&_0x480984[_0x1cdeec(0x23c)]===_0x5cf7b4[_0x1cdeec(0x23c)]&&_0x480984[_0x1cdeec(0x1d6)]===_0x5cf7b4[_0x1cdeec(0x1d6)]),_0x1f0a28=_0x2ddd92[_0x1cdeec(0x215)](_0x5b23e8=>!_0x4abb50[_0x1cdeec(0x1ca)][_0x1cdeec(0x220)](_0x5b23e8['id'])),_0x572cac=_0x2ddd92[_0x1cdeec(0x215)](_0x270481=>_0x4abb50[_0x1cdeec(0x1ca)][_0x1cdeec(0x220)](_0x270481['id']));if(_0x2ddd92[_0x1cdeec(0x1d9)]!==0x1||_0x1f0a28[_0x1cdeec(0x1d9)]!==0x1)throw recoveryRequiredFailure(_0x328f19,_0x128f2c,{'matchCount':_0x2ddd92[_0x1cdeec(0x1d9)],'newMatchCount':_0x1f0a28[_0x1cdeec(0x1d9)],'preexistingMatchCount':_0x572cac[_0x1cdeec(0x1d9)]});const _0x1cea1d=_0x1f0a28[0x0];try{verifyCreatedFact(_0x1cea1d,_0x1cea1d['id'],_0x5cf7b4,null);}catch(_0x283264){const _0x35b4b0=_0x283264 instanceof Error&&'code'in _0x283264?_0x283264:menuError(_0x1cdeec(0x1f6),_0x1cdeec(0x23e)+_0x1cea1d['id']+_0x1cdeec(0x20d),_0x1cdeec(0x1f3)+_0x128f2c+_0x1cdeec(0x20e));throw externalLinkCreateFailure(_0x35b4b0,_0x328f19,{'stage':_0x1cdeec(0x1ea),'succeeded':[{'id':_0x1cea1d['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x1cea1d['id'],'finalFactsConfirmed':![]},'after':_0x1cea1d,'warnings':[_0x1cdeec(0x1c6)+_0x1cea1d['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x1cdeec(0x201),'targetId':_0x1cea1d['id'],'recovered':!![],'lookupCommand':_0x128f2c}});}return creationSuccess(_0x328f19,_0x2a6830,_0x1cea1d,!![]);}function recoveryRequiredFailure(_0x3bad4e,_0x1043eb,_0xd7d819){const _0x743d=a130_0x398eb6,_0x48d79b=menuError('menu_create_recovery_required',_0x743d(0x1db),'Run\x20'+_0x1043eb+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x48d79b,_0x3bad4e,{'stage':_0x743d(0x1dc),'failed':_0xd7d819,'warnings':[_0x743d(0x230)],'verification':{'status':_0x743d(0x201),..._0xd7d819,'lookupCommand':_0x1043eb}});}async function readAndVerifyCreatedMenu(_0x580bf3){const _0x28666d=a130_0x398eb6;let _0x174036;try{_0x174036=await fetchMenuSnapshot(_0x580bf3[_0x28666d(0x23d)],_0x580bf3[_0x28666d(0x218)]);}catch(_0x3f39c8){const _0x55a706=menuError(_0x28666d(0x1f6),_0x28666d(0x1c6)+_0x580bf3[_0x28666d(0x1fa)]+_0x28666d(0x22f),_0x28666d(0x1f3)+_0x580bf3[_0x28666d(0x1ce)]+_0x28666d(0x1c4));throw externalLinkCreateFailure(_0x55a706,_0x580bf3[_0x28666d(0x214)],{'stage':_0x28666d(0x1ea),'succeeded':[{'id':_0x580bf3[_0x28666d(0x1fa)],'created':!![]}],'failed':{'id':_0x580bf3[_0x28666d(0x1fa)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x580bf3[_0x28666d(0x205)],'id':_0x580bf3['createdId'],'path':_0x580bf3[_0x28666d(0x22a)]},'warnings':[_0x28666d(0x1c6)+_0x580bf3['createdId']+_0x28666d(0x1cc)],'verification':{'status':_0x28666d(0x201),'targetId':_0x580bf3[_0x28666d(0x1fa)],'lookupCommand':_0x580bf3[_0x28666d(0x1ce)]}});}const _0x259bf8=_0x174036[_0x28666d(0x1ca)][_0x28666d(0x222)](_0x580bf3[_0x28666d(0x1fa)]);try{if(!_0x259bf8)throw menuError(_0x28666d(0x1f6),_0x28666d(0x1e9)+_0x580bf3[_0x28666d(0x1fa)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x28666d(0x1f3)+_0x580bf3['lookupCommand']+_0x28666d(0x1c4));verifyCreatedFact(_0x259bf8,_0x580bf3[_0x28666d(0x1fa)],_0x580bf3[_0x28666d(0x205)],_0x580bf3[_0x28666d(0x22a)]);}catch(_0x58b116){const _0x151e03=_0x58b116 instanceof Error&&_0x28666d(0x242)in _0x58b116?_0x58b116:menuError('menu_verification_failed','Created\x20menu\x20'+_0x580bf3['createdId']+'\x20failed\x20final\x20verification.','Run\x20'+_0x580bf3[_0x28666d(0x1ce)]+_0x28666d(0x1c4));throw externalLinkCreateFailure(_0x151e03,_0x580bf3[_0x28666d(0x214)],{'stage':_0x28666d(0x1ea),'succeeded':[{'id':_0x580bf3[_0x28666d(0x1fa)],'created':!![]}],'failed':{'id':_0x580bf3['createdId'],'finalFactsConfirmed':![]},'after':_0x259bf8??{..._0x580bf3[_0x28666d(0x205)],'id':_0x580bf3[_0x28666d(0x1fa)],'path':_0x580bf3[_0x28666d(0x22a)]},'warnings':[_0x28666d(0x1c6)+_0x580bf3[_0x28666d(0x1fa)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':'failed','targetId':_0x580bf3[_0x28666d(0x1fa)],'recovered':_0x580bf3[_0x28666d(0x1f7)],'lookupCommand':_0x580bf3[_0x28666d(0x1ce)]}});}return{'snapshot':_0x174036,'fact':_0x259bf8};}function verifyCreatedFact(_0x46a8d5,_0x2874e2,_0x31b975,_0x39ad98){const _0x83b090=a130_0x398eb6;if(!Number[_0x83b090(0x21d)](_0x46a8d5['id'])||_0x46a8d5['id']<=0x0||_0x46a8d5['id']!==_0x2874e2)throw menuError(_0x83b090(0x1f6),_0x83b090(0x1d2),_0x83b090(0x22e));const _0x26dc46=[[_0x83b090(0x1c9),_0x46a8d5[_0x83b090(0x20c)],_0x31b975[_0x83b090(0x20c)]],[_0x83b090(0x21a),_0x46a8d5['type'],_0x31b975[_0x83b090(0x21a)]],[_0x83b090(0x23c),_0x46a8d5[_0x83b090(0x23c)],_0x31b975[_0x83b090(0x23c)]],['URL',_0x46a8d5[_0x83b090(0x1d6)],_0x31b975[_0x83b090(0x1d6)]],[_0x83b090(0x1ed),_0x46a8d5[_0x83b090(0x1f2)],_0x31b975['visible']],[_0x83b090(0x1ec),_0x46a8d5[_0x83b090(0x1ec)],_0x31b975[_0x83b090(0x1ec)]]];for(const [_0x153431,_0x1a5b07,_0x2a822c]of _0x26dc46){if(_0x1a5b07!==_0x2a822c)throw menuError(_0x83b090(0x1f6),_0x83b090(0x1e9)+_0x46a8d5['id']+_0x83b090(0x213)+_0x153431+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x46a8d5[_0x83b090(0x1e3)][_0x83b090(0x206)]()||_0x39ad98!==null&&_0x46a8d5['path']!==_0x39ad98)throw menuError(_0x83b090(0x1f6),_0x83b090(0x1e9)+_0x46a8d5['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2b3525,_0x59c669,_0x2969a1,_0x5cda16){const _0x5e14ab=a130_0x398eb6,_0x3d2d63=mutationResult({..._0x2b3525,'after':_0x2969a1,'dryRun':![],'succeeded':[{'id':_0x2969a1['id'],'created':!![],'recovered':_0x5cda16}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x59c669[_0x5e14ab(0x1f1)],'targetId':_0x2969a1['id'],'recovered':_0x5cda16,'path':_0x2969a1['path']}});return{'ok':!![],'message':_0x5cda16?_0x5e14ab(0x21b)+_0x2969a1['id']+'\x20after\x20response\x20loss.':_0x5e14ab(0x227)+_0x2969a1['id']+'.','data':{..._0x3d2d63,'recovered':_0x5cda16}};}function externalLinkCreateFailure(_0x1d48ed,_0x359fa8,_0x26e041){const _0x70f446=a130_0x398eb6;return menuFailure(safeMenuAddError(_0x1d48ed),redactFailurePlan(_0x359fa8),{..._0x26e041,'succeeded':_0x26e041[_0x70f446(0x1ee)]?.[_0x70f446(0x1f0)](redactFailureRecord),'failed':_0x26e041[_0x70f446(0x201)]?redactFailureRecord(_0x26e041['failed']):undefined,'verification':_0x26e041['verification']?redactFailureRecord(_0x26e041[_0x70f446(0x1ea)]):undefined,'after':_0x26e041[_0x70f446(0x1e7)]===undefined?undefined:redactFailureValue(_0x26e041[_0x70f446(0x1e7)])});}function redactFailurePlan(_0x32f226){const _0x24d262=a130_0x398eb6;return{..._0x32f226,'selector':redactFailureRecord(_0x32f226[_0x24d262(0x208)]),'before':redactFailureValue(_0x32f226[_0x24d262(0x212)]),'after':redactFailureValue(_0x32f226[_0x24d262(0x1e7)]),'plannedActions':_0x32f226['plannedActions']?.[_0x24d262(0x1f0)](_0x50870d=>({..._0x50870d,'body':redactFailureRecord(_0x50870d[_0x24d262(0x1e5)])})),'succeeded':_0x32f226[_0x24d262(0x1ee)]['map'](redactFailureRecord),'failed':_0x32f226[_0x24d262(0x201)][_0x24d262(0x1f0)](redactFailureRecord),'verification':_0x32f226[_0x24d262(0x1ea)]?redactFailureRecord(_0x32f226['verification']):undefined};}function redactFailureRecord(_0x31c531){return redactFailureValue(_0x31c531);}function redactFailureValue(_0x2a37ad,_0x5052cc=''){const _0x4ac26c=a130_0x398eb6,_0x4bef62=_0x5052cc[_0x4ac26c(0x1f8)]()['replace'](/[^a-z0-9]/g,'');if([_0x4ac26c(0x1cd),'causemessage',_0x4ac26c(0x1e1),_0x4ac26c(0x20a)][_0x4ac26c(0x22d)](_0x4bef62))return _0x4ac26c(0x1e8);if(Array[_0x4ac26c(0x1c7)](_0x2a37ad))return _0x2a37ad[_0x4ac26c(0x1f0)](_0x597594=>redactFailureValue(_0x597594));if(_0x2a37ad&&typeof _0x2a37ad===_0x4ac26c(0x1c8))return Object['fromEntries'](Object[_0x4ac26c(0x1d3)](_0x2a37ad)[_0x4ac26c(0x1f0)](([_0x4efe36,_0x36bd27])=>[_0x4efe36,redactFailureValue(_0x36bd27,_0x4efe36)]));return _0x2a37ad;}function safeMenuAddError(_0x2c0cd1){const _0x4f0e10=a130_0x398eb6,_0x5890b4=_0x2c0cd1 instanceof CliError?_0x2c0cd1['code']:_0x4f0e10(0x21c);switch(_0x5890b4){case'menu_state_drift':return menuError(_0x5890b4,_0x4f0e10(0x1fd),_0x4f0e10(0x1d8));case'menu_permission_denied':return menuError(_0x5890b4,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x4f0e10(0x231));case'menu_create_response_invalid':return menuError(_0x5890b4,_0x4f0e10(0x22b),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x4f0e10(0x1f6):return menuError(_0x5890b4,_0x4f0e10(0x23a),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x4f0e10(0x225):return menuError(_0x5890b4,_0x4f0e10(0x1df),_0x4f0e10(0x238));case'menu_mutation_failed':case _0x4f0e10(0x1ef):case _0x4f0e10(0x235):case'menu_sort_invalid':case _0x4f0e10(0x245):return menuError(_0x5890b4,'External\x20menu\x20creation\x20failed.',_0x4f0e10(0x1cf));default:return menuError(_0x4f0e10(0x21c),'External\x20menu\x20creation\x20failed.',_0x4f0e10(0x1cf));}}function getFailureRecord(_0x2100f2){const _0x595f57=a130_0x398eb6;if(!(_0x2100f2 instanceof Error)||!('data'in _0x2100f2))return undefined;const _0x2391ca=_0x2100f2[_0x595f57(0x243)];if(!_0x2391ca||typeof _0x2391ca!=='object')return undefined;const _0x36959d=_0x2391ca[_0x595f57(0x201)];if(!Array[_0x595f57(0x1c7)](_0x36959d)||!_0x36959d[0x0]||typeof _0x36959d[0x0]!==_0x595f57(0x1c8))return undefined;return _0x36959d[0x0];}
@@ -1 +1 @@
1
- const a131_0x59c482=a131_0x4640;function a131_0x4640(_0x3ad81c,_0x3fd079){_0x3ad81c=_0x3ad81c-0x1aa;const _0xba04c4=a131_0xba04();let _0x46407d=_0xba04c4[_0x3ad81c];return _0x46407d;}(function(_0x3dfe0a,_0x4cf613){const _0xd6a6dc=a131_0x4640,_0x315927=_0x3dfe0a();while(!![]){try{const _0x1de47a=-parseInt(_0xd6a6dc(0x1c7))/0x1*(parseInt(_0xd6a6dc(0x1dc))/0x2)+-parseInt(_0xd6a6dc(0x1aa))/0x3+parseInt(_0xd6a6dc(0x1b6))/0x4*(parseInt(_0xd6a6dc(0x1ab))/0x5)+parseInt(_0xd6a6dc(0x1ca))/0x6+parseInt(_0xd6a6dc(0x1be))/0x7+parseInt(_0xd6a6dc(0x1bf))/0x8+parseInt(_0xd6a6dc(0x1bc))/0x9;if(_0x1de47a===_0x4cf613)break;else _0x315927['push'](_0x315927['shift']());}catch(_0xdcffc2){_0x315927['push'](_0x315927['shift']());}}}(a131_0xba04,0x6f1c9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a131_0xba04(){const _0x3e1dc6=['5DFlrRj','/smartapi/menu/update','\x20is\x20type\x20\x22','cookie','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','path','url','snapshot',',\x20current\x20','requestedUrlObserved','1027744miixzZ','Run\x20','\x22,\x20not\x20iframe\x20or\x20link.','str','update-recovery','external-link-update','2348604kWprfT','verify\x20external\x20menu\x20URL\x20update','5328953dlguXF','432488XqTgfY','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','parentId','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','childrenCount','Update\x20request\x20for\x20menu\x20','after','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','18tNPeJO','write','menu_permission_denied','1783188IHWQwn','rabetbase\x20menu\x20list\x20--appcode\x20','menu','\x20parent\x20changed:\x20expected\x20','expect-url','update\x20external\x20menu\x20URL','New\x20external\x20HTTPS\x20URL','Menu\x20','menu_state_drift','trim','label','appCode','sort','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu\x20list','\x20has\x20an\x20empty\x20platform\x20path.','menu_external_link_path_missing','\x20direct\x20child\x20menu(s).','30220CsAwmD','visible','string','POST','hash','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','link','flagMissing','Updated\x20external\x20URL\x20for\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','type','menu_external_link_type_required','update','\x20URL\x20update\x20did\x20not\x20take\x20effect.','replace','failed','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','Response\x20was\x20lost\x20and\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','byId','\x20could\x20not\x20be\x20verified\x20safely','iframe','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','menu_external_link_not_leaf','\x20changed\x20during\x20the\x20URL-only\x20update.','body','2710011oSIlIV'];a131_0xba04=function(){return _0x3e1dc6;};return a131_0xba04();}const BACKEND=[{'method':a131_0x59c482(0x1df),'path':a131_0x59c482(0x1ac)}];export const menuExternalLinkUpdate={'service':a131_0x59c482(0x1cc),'command':a131_0x59c482(0x1bb),'description':a131_0x59c482(0x1e5),'risk':a131_0x59c482(0x1c8),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a131_0x59c482(0x1de),'required':!![],'description':a131_0x59c482(0x1d0)},{'name':a131_0x59c482(0x1ce),'type':a131_0x59c482(0x1de),'required':!![],'description':a131_0x59c482(0x1f5)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x22d9cc){validateInput(_0x22d9cc);},async 'dryRun'(_0x4d1b37){const _0x46a741=a131_0x59c482;validateInput(_0x4d1b37);const _0x39af15=await buildPlan(_0x4d1b37,!![]);return menuDryRunResult(_0x39af15['plan'],{'method':'POST','url':'/smartapi/menu/update','body':_0x39af15[_0x46a741(0x1f8)],'description':_0x46a741(0x1e1)+_0x39af15[_0x46a741(0x1f8)]['id']+'.'});},async 'execute'(_0x2ae9da){const _0x216f8c=a131_0x59c482;validateInput(_0x2ae9da);const _0x119eae=await buildPlan(_0x2ae9da,![]),{plan:_0x201f52,body:_0x2b7b8f,before:_0x4249ed,noChanges:_0x3b36d9}=_0x119eae,_0x2117e7=_0x2b7b8f['id'];if(_0x3b36d9)return updateSuccess(_0x201f52,_0x119eae[_0x216f8c(0x1b3)],_0x4249ed,!![],![]);await recheckMutationSnapshot(_0x2ae9da,_0x201f52,_0x216f8c(0x1cf),_0x2117e7);try{await updateMenuEntity(_0x2ae9da[_0x216f8c(0x1d5)],_0x2ae9da[_0x216f8c(0x1ae)],{'id':_0x2b7b8f['id'],'url':_0x2b7b8f[_0x216f8c(0x1b2)]});}catch(_0x355150){const _0x1051fa=mapMenuApiError(_0x355150,_0x216f8c(0x1cf),_0x2117e7);if(isMenuResponseLoss(_0x355150)&&_0x1051fa['code']!==_0x216f8c(0x1c9))return recoverAfterResponseLoss(_0x2ae9da,_0x119eae);throw menuFailure(_0x1051fa,_0x201f52,{'stage':_0x216f8c(0x1e8),'failed':{'id':_0x2117e7},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x2117e7,'lookupCommand':buildLookupCommand(_0x2ae9da['appCode'])}});}let _0x29e03d,_0x1ceb0c;try{_0x29e03d=await fetchMenuSnapshot(_0x2ae9da['appCode'],_0x2ae9da[_0x216f8c(0x1ae)]),_0x1ceb0c=requireMenu(_0x29e03d,_0x2117e7),verifyUpdatedFact(_0x4249ed,_0x1ceb0c,_0x2b7b8f[_0x216f8c(0x1b2)]);}catch(_0x26ada0){const _0x1c19e7=describeMenuErrorCause(_0x26ada0,_0x216f8c(0x1bd),_0x2117e7),_0x35f686=asVerificationError(_0x26ada0,_0x216f8c(0x1c4)+_0x2117e7+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x35f686,_0x201f52,{'stage':'verification','succeeded':[{'id':_0x2117e7,'updateRequested':!![]}],'failed':{'id':_0x2117e7,'requestedStateConfirmed':![],..._0x1c19e7},'warnings':[_0x216f8c(0x1c0)],'verification':{'status':'failed','targetId':_0x2117e7,'lookupCommand':buildLookupCommand(_0x2ae9da['appCode'])}});}return updateSuccess(_0x201f52,_0x29e03d,_0x1ceb0c,![],![]);}};function validateInput(_0x16f57a){const _0x37f27a=a131_0x59c482;validateExactId(_0x16f57a),requiredUrl(_0x16f57a,_0x37f27a(0x1b2)),requiredExpectedUrl(_0x16f57a),parseParentId(_0x16f57a,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x2a1f69,_0x5e7205){const _0x47bce9=a131_0x59c482;if(!hasFlag(_0x2a1f69,_0x5e7205)||!_0x2a1f69[_0x47bce9(0x1b9)](_0x5e7205)[_0x47bce9(0x1d3)]())throw CliErrors['flagMissing'](_0x5e7205);return validateExternalMenuUrl(_0x2a1f69[_0x47bce9(0x1b9)](_0x5e7205));}function requiredExpectedUrl(_0x5f597a){const _0x541f5a=a131_0x59c482;if(!hasFlag(_0x5f597a,_0x541f5a(0x1ce))||!_0x5f597a[_0x541f5a(0x1b9)]('expect-url')['trim']())throw CliErrors[_0x541f5a(0x1e3)](_0x541f5a(0x1ce));return _0x5f597a[_0x541f5a(0x1b9)](_0x541f5a(0x1ce))[_0x541f5a(0x1d3)]();}async function buildPlan(_0x1eb3db,_0x228de0){const _0x300b32=a131_0x59c482,_0x4db1cd=validateExactId(_0x1eb3db),_0x21feaf=requiredUrl(_0x1eb3db,_0x300b32(0x1b2)),_0x41cb35=requiredExpectedUrl(_0x1eb3db),_0x23a108=parseParentId(_0x1eb3db,'expect-parent-id',{'required':!![]}),_0x4348de=await fetchMutationSnapshot(_0x1eb3db,_0x300b32(0x1cf),_0x4db1cd),_0x7c7a31=requireMenu(_0x4348de,_0x4db1cd);assertExternalLinkLeaf(_0x7c7a31);if(_0x7c7a31['parentId']!==_0x23a108)throw menuError(_0x300b32(0x1d2),'Menu\x20'+_0x4db1cd+_0x300b32(0x1cd)+formatParent(_0x23a108)+_0x300b32(0x1b4)+formatParent(_0x7c7a31['parentId'])+'.',_0x300b32(0x1c6));const _0x5d3eb7=_0x7c7a31[_0x300b32(0x1b2)]===_0x21feaf;if(!_0x5d3eb7&&_0x7c7a31['url']!==_0x41cb35)throw menuError(_0x300b32(0x1d2),_0x300b32(0x1d1)+_0x4db1cd+_0x300b32(0x1ec),_0x300b32(0x1f3));const _0x7c83d7={'id':_0x4db1cd,'appCode':_0x1eb3db[_0x300b32(0x1d5)],'url':_0x21feaf},_0x4e7eed={..._0x7c7a31,'url':_0x21feaf};return{'body':_0x7c83d7,'before':_0x7c7a31,'noChanges':_0x5d3eb7,'snapshot':_0x4348de,'plan':mutationResult({'operation':_0x300b32(0x1bb),'selector':{'id':_0x4db1cd},'before':_0x7c7a31,'after':_0x4e7eed,'dryRun':_0x228de0,'backend':[...BACKEND],'plannedActions':_0x5d3eb7?[]:[{'stage':'update-external-link-url','method':'POST','path':_0x300b32(0x1ac),'body':_0x7c83d7}],'snapshotHash':_0x4348de[_0x300b32(0x1e0)],'warnings':_0x5d3eb7?[_0x300b32(0x1ed)]:[]})};}function assertExternalLinkLeaf(_0x4eb3b6){const _0x5a54c9=a131_0x59c482;if(_0x4eb3b6['type']!==_0x5a54c9(0x1f2)&&_0x4eb3b6[_0x5a54c9(0x1e6)]!==_0x5a54c9(0x1e2))throw menuError(_0x5a54c9(0x1e7),'Menu\x20'+_0x4eb3b6['id']+_0x5a54c9(0x1ad)+(_0x4eb3b6[_0x5a54c9(0x1e6)]||'unknown')+_0x5a54c9(0x1b8),_0x5a54c9(0x1f4));if(_0x4eb3b6['childrenCount']!==0x0)throw menuError(_0x5a54c9(0x1f6),'Menu\x20'+_0x4eb3b6['id']+'\x20has\x20'+_0x4eb3b6[_0x5a54c9(0x1c3)]+_0x5a54c9(0x1db),_0x5a54c9(0x1c2));if(!_0x4eb3b6[_0x5a54c9(0x1b1)][_0x5a54c9(0x1d3)]())throw menuError(_0x5a54c9(0x1da),'Menu\x20'+_0x4eb3b6['id']+_0x5a54c9(0x1d9),_0x5a54c9(0x1b0));}function verifyUpdatedFact(_0x1d1473,_0x59ab0b,_0x5e9643){const _0x599e5b=a131_0x59c482;assertExternalLinkLeaf(_0x59ab0b);const _0x22ccfc=[['id',_0x59ab0b['id'],_0x1d1473['id']],[_0x599e5b(0x1d4),_0x59ab0b[_0x599e5b(0x1d4)],_0x1d1473['label']],['type',_0x59ab0b[_0x599e5b(0x1e6)],_0x1d1473['type']],[_0x599e5b(0x1b1),_0x59ab0b[_0x599e5b(0x1b1)],_0x1d1473[_0x599e5b(0x1b1)]],[_0x599e5b(0x1c1),_0x59ab0b[_0x599e5b(0x1c1)],_0x1d1473[_0x599e5b(0x1c1)]],['sort',_0x59ab0b['sort'],_0x1d1473[_0x599e5b(0x1d6)]],[_0x599e5b(0x1dd),_0x59ab0b[_0x599e5b(0x1dd)],_0x1d1473[_0x599e5b(0x1dd)]]];for(const [_0x43c0a7,_0x131f9d,_0x37e6d0]of _0x22ccfc){assertVerified(_0x131f9d===_0x37e6d0,_0x599e5b(0x1d1)+_0x1d1473['id']+'\x20'+_0x43c0a7+_0x599e5b(0x1f7));}assertVerified(_0x59ab0b['url']===_0x5e9643,_0x599e5b(0x1d1)+_0x1d1473['id']+_0x599e5b(0x1e9));}function updateSuccess(_0x95e12a,_0x26c609,_0x229cfb,_0x3b38f0,_0x2e42df){const _0x5aa0fc=a131_0x59c482,_0x1c8a43=_0x229cfb['id'],_0x1cea84=mutationResult({..._0x95e12a,'after':_0x229cfb,'dryRun':![],'succeeded':[{'id':_0x1c8a43,'updated':!_0x3b38f0,'skipped':_0x3b38f0,'recovered':_0x2e42df}],'verification':{'checkedBy':_0x5aa0fc(0x1d8),'snapshotHash':_0x26c609[_0x5aa0fc(0x1e0)],'targetId':_0x1c8a43,'matchesRequestedState':!![],'recovered':_0x2e42df}});return{'ok':!![],'message':_0x2e42df?_0x5aa0fc(0x1d7)+_0x1c8a43+'.':_0x3b38f0?_0x5aa0fc(0x1d1)+_0x1c8a43+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x5aa0fc(0x1e4)+_0x1c8a43+'.','data':{..._0x1cea84,'recovered':_0x2e42df}};}async function recoverAfterResponseLoss(_0xb4f03b,_0x534dca){const _0x3dcab4=a131_0x59c482,{plan:_0x4c66e9,before:_0x120d84,body:_0x448d93}=_0x534dca;let _0x4f479b;try{_0x4f479b=await fetchMenuSnapshot(_0xb4f03b[_0x3dcab4(0x1d5)],_0xb4f03b[_0x3dcab4(0x1ae)]);}catch{throw recoveryRequired(_0x4c66e9,_0xb4f03b[_0x3dcab4(0x1d5)],{'id':_0x448d93['id'],'readbackFailed':!![]});}const _0x34d3c5=_0x4f479b[_0x3dcab4(0x1f0)]['get'](_0x448d93['id']);if(!_0x34d3c5||_0x34d3c5[_0x3dcab4(0x1b2)]!==_0x448d93['url'])throw recoveryRequired(_0x4c66e9,_0xb4f03b['appCode'],{'id':_0x448d93['id'],'requestedUrlObserved':![],'after':_0x34d3c5??null});try{verifyUpdatedFact(_0x120d84,_0x34d3c5,_0x448d93[_0x3dcab4(0x1b2)]);}catch(_0x12c391){const _0x31413c=asVerificationError(_0x12c391,_0x3dcab4(0x1ee)+_0x448d93['id']+_0x3dcab4(0x1f1));throw menuFailure(_0x31413c,_0x4c66e9,{'stage':_0x3dcab4(0x1ba),'succeeded':[{'id':_0x448d93['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x448d93['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x34d3c5,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x3dcab4(0x1eb),'targetId':_0x448d93['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xb4f03b[_0x3dcab4(0x1d5)])}});}return updateSuccess(_0x4c66e9,_0x4f479b,_0x34d3c5,![],!![]);}function recoveryRequired(_0x1ba9ad,_0x41e836,_0x5dde40){const _0x127bcf=a131_0x59c482,_0x5f1014=menuError('menu_update_recovery_required',_0x127bcf(0x1af),_0x127bcf(0x1b7)+buildLookupCommand(_0x41e836)+_0x127bcf(0x1ef));return menuFailure(_0x5f1014,_0x1ba9ad,{'stage':_0x127bcf(0x1ba),'failed':{'id':_0x5dde40['id'],..._0x5dde40['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x5dde40['requestedUrlObserved']},..._0x5dde40['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x5dde40[_0x127bcf(0x1c5)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x127bcf(0x1eb),'targetId':_0x5dde40['id'],..._0x5dde40[_0x127bcf(0x1b5)]===undefined?{}:{'requestedUrlObserved':_0x5dde40[_0x127bcf(0x1b5)]},..._0x5dde40['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x41e836)}});}function buildLookupCommand(_0x3a9b2a){const _0x30d075=a131_0x59c482,_0x3e25b3='\x27'+_0x3a9b2a[_0x30d075(0x1ea)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x30d075(0x1cb)+_0x3e25b3+'\x20--format\x20compress';}
1
+ const a131_0x43217c=a131_0x93ba;(function(_0x592f94,_0x46be0b){const _0x15dc12=a131_0x93ba,_0x278f2f=_0x592f94();while(!![]){try{const _0x4b5769=parseInt(_0x15dc12(0x136))/0x1+-parseInt(_0x15dc12(0x137))/0x2+-parseInt(_0x15dc12(0x133))/0x3*(parseInt(_0x15dc12(0x12d))/0x4)+-parseInt(_0x15dc12(0x10c))/0x5+parseInt(_0x15dc12(0x116))/0x6+-parseInt(_0x15dc12(0x140))/0x7*(parseInt(_0x15dc12(0x12e))/0x8)+parseInt(_0x15dc12(0x14b))/0x9;if(_0x4b5769===_0x46be0b)break;else _0x278f2f['push'](_0x278f2f['shift']());}catch(_0x1db4d7){_0x278f2f['push'](_0x278f2f['shift']());}}}(a131_0x812e,0xe3d45));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';function a131_0x93ba(_0x24a438,_0x3fac37){_0x24a438=_0x24a438-0x106;const _0x812e55=a131_0x812e();let _0x93ba42=_0x812e55[_0x24a438];return _0x93ba42;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a131_0x812e(){const _0x378cbc=['cookie','update-recovery','code','failed','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','update\x20external\x20menu\x20URL','6452105GxseXr','url','menu_external_link_path_missing','parentId','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','\x20changed\x20during\x20the\x20URL-only\x20update.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','readbackFailed','body','9089412zSviRb','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','hash','rabetbase\x20menu\x20list\x20--appcode\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20is\x20type\x20\x22','path','menu_permission_denied','childrenCount','flagMissing','menu\x20list','Menu\x20','byId','unknown','link','label','visible','menu_update_recovery_required','menu','sort','expect-url','\x20has\x20an\x20empty\x20platform\x20path.','menu_external_link_type_required','2368468bqmsOV','63688NhknRP','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','str','\x20parent\x20changed:\x20expected\x20','3btspVv','update-external-link-url','appCode','1342172zjmyPn','974832WFASqf','\x22,\x20not\x20iframe\x20or\x20link.','Run\x20','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','type','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','get','Update\x20request\x20for\x20menu\x20','trim','714tBDaXr','update','string','\x27\x5c\x27\x27','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','POST','requestedUrlObserved','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20direct\x20child\x20menu(s).','expect-parent-id','\x20--format\x20compress','11322819GiHOOQ','/smartapi/menu/update','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','New\x20external\x20HTTPS\x20URL','replace','menu_external_link_not_leaf','external-link-update'];a131_0x812e=function(){return _0x378cbc;};return a131_0x812e();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a131_0x43217c(0x145),'path':a131_0x43217c(0x14c)}];export const menuExternalLinkUpdate={'service':a131_0x43217c(0x128),'command':a131_0x43217c(0x152),'description':a131_0x43217c(0x12f),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a131_0x43217c(0x10d),'type':a131_0x43217c(0x142),'required':!![],'description':a131_0x43217c(0x14f)},{'name':'expect-url','type':a131_0x43217c(0x142),'required':!![],'description':a131_0x43217c(0x13a)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x159ff0){validateInput(_0x159ff0);},async 'dryRun'(_0x1b4411){const _0x2c255e=a131_0x43217c;validateInput(_0x1b4411);const _0x2417b3=await buildPlan(_0x1b4411,!![]);return menuDryRunResult(_0x2417b3['plan'],{'method':_0x2c255e(0x145),'url':'/smartapi/menu/update','body':_0x2417b3[_0x2c255e(0x115)],'description':_0x2c255e(0x112)+_0x2417b3[_0x2c255e(0x115)]['id']+'.'});},async 'execute'(_0x43027b){const _0x53bb4c=a131_0x43217c;validateInput(_0x43027b);const _0x3aa21c=await buildPlan(_0x43027b,![]),{plan:_0x998c7a,body:_0x59894e,before:_0xb97553,noChanges:_0x5beb19}=_0x3aa21c,_0x3a1998=_0x59894e['id'];if(_0x5beb19)return updateSuccess(_0x998c7a,_0x3aa21c['snapshot'],_0xb97553,!![],![]);await recheckMutationSnapshot(_0x43027b,_0x998c7a,_0x53bb4c(0x10b),_0x3a1998);try{await updateMenuEntity(_0x43027b[_0x53bb4c(0x135)],_0x43027b['cookie'],{'id':_0x59894e['id'],'url':_0x59894e[_0x53bb4c(0x10d)]});}catch(_0x4bca10){const _0xf1bf4=mapMenuApiError(_0x4bca10,_0x53bb4c(0x10b),_0x3a1998);if(isMenuResponseLoss(_0x4bca10)&&_0xf1bf4[_0x53bb4c(0x108)]!==_0x53bb4c(0x11d))return recoverAfterResponseLoss(_0x43027b,_0x3aa21c);throw menuFailure(_0xf1bf4,_0x998c7a,{'stage':_0x53bb4c(0x141),'failed':{'id':_0x3a1998},'warnings':[_0x53bb4c(0x144)],'verification':{'status':'failed','targetId':_0x3a1998,'lookupCommand':buildLookupCommand(_0x43027b['appCode'])}});}let _0x253a71,_0x1e01b5;try{_0x253a71=await fetchMenuSnapshot(_0x43027b[_0x53bb4c(0x135)],_0x43027b['cookie']),_0x1e01b5=requireMenu(_0x253a71,_0x3a1998),verifyUpdatedFact(_0xb97553,_0x1e01b5,_0x59894e[_0x53bb4c(0x10d)]);}catch(_0x450600){const _0x47f4c1=describeMenuErrorCause(_0x450600,'verify\x20external\x20menu\x20URL\x20update',_0x3a1998),_0x55cd91=asVerificationError(_0x450600,_0x53bb4c(0x13e)+_0x3a1998+_0x53bb4c(0x11a));throw menuFailure(_0x55cd91,_0x998c7a,{'stage':'verification','succeeded':[{'id':_0x3a1998,'updateRequested':!![]}],'failed':{'id':_0x3a1998,'requestedStateConfirmed':![],..._0x47f4c1},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x3a1998,'lookupCommand':buildLookupCommand(_0x43027b['appCode'])}});}return updateSuccess(_0x998c7a,_0x253a71,_0x1e01b5,![],![]);}};function validateInput(_0xd8fb7){const _0x24cc62=a131_0x43217c;validateExactId(_0xd8fb7),requiredUrl(_0xd8fb7,_0x24cc62(0x10d)),requiredExpectedUrl(_0xd8fb7),parseParentId(_0xd8fb7,_0x24cc62(0x149),{'required':!![]});}function requiredUrl(_0x46b5c7,_0x4ddb6b){const _0x58510a=a131_0x43217c;if(!hasFlag(_0x46b5c7,_0x4ddb6b)||!_0x46b5c7[_0x58510a(0x131)](_0x4ddb6b)['trim']())throw CliErrors[_0x58510a(0x11f)](_0x4ddb6b);return validateExternalMenuUrl(_0x46b5c7[_0x58510a(0x131)](_0x4ddb6b));}function requiredExpectedUrl(_0xed949e){const _0x1f7be8=a131_0x43217c;if(!hasFlag(_0xed949e,'expect-url')||!_0xed949e[_0x1f7be8(0x131)](_0x1f7be8(0x12a))[_0x1f7be8(0x13f)]())throw CliErrors['flagMissing'](_0x1f7be8(0x12a));return _0xed949e['str'](_0x1f7be8(0x12a))['trim']();}async function buildPlan(_0x292db4,_0x378441){const _0x1e2349=a131_0x43217c,_0x3416eb=validateExactId(_0x292db4),_0x422496=requiredUrl(_0x292db4,_0x1e2349(0x10d)),_0x8cd84b=requiredExpectedUrl(_0x292db4),_0x513555=parseParentId(_0x292db4,'expect-parent-id',{'required':!![]}),_0x299897=await fetchMutationSnapshot(_0x292db4,_0x1e2349(0x10b),_0x3416eb),_0x12f987=requireMenu(_0x299897,_0x3416eb);assertExternalLinkLeaf(_0x12f987);if(_0x12f987['parentId']!==_0x513555)throw menuError('menu_state_drift',_0x1e2349(0x121)+_0x3416eb+_0x1e2349(0x132)+formatParent(_0x513555)+',\x20current\x20'+formatParent(_0x12f987['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x171854=_0x12f987[_0x1e2349(0x10d)]===_0x422496;if(!_0x171854&&_0x12f987[_0x1e2349(0x10d)]!==_0x8cd84b)throw menuError('menu_state_drift',_0x1e2349(0x121)+_0x3416eb+_0x1e2349(0x117),_0x1e2349(0x10a));const _0x23280e={'id':_0x3416eb,'appCode':_0x292db4[_0x1e2349(0x135)],'url':_0x422496},_0x55b33c={..._0x12f987,'url':_0x422496};return{'body':_0x23280e,'before':_0x12f987,'noChanges':_0x171854,'snapshot':_0x299897,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x3416eb},'before':_0x12f987,'after':_0x55b33c,'dryRun':_0x378441,'backend':[...BACKEND],'plannedActions':_0x171854?[]:[{'stage':_0x1e2349(0x134),'method':_0x1e2349(0x145),'path':'/smartapi/menu/update','body':_0x23280e}],'snapshotHash':_0x299897['hash'],'warnings':_0x171854?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x1b5df0){const _0x22d270=a131_0x43217c;if(_0x1b5df0[_0x22d270(0x13b)]!=='iframe'&&_0x1b5df0[_0x22d270(0x13b)]!==_0x22d270(0x124))throw menuError(_0x22d270(0x12c),_0x22d270(0x121)+_0x1b5df0['id']+_0x22d270(0x11b)+(_0x1b5df0['type']||_0x22d270(0x123))+_0x22d270(0x138),_0x22d270(0x130));if(_0x1b5df0[_0x22d270(0x11e)]!==0x0)throw menuError(_0x22d270(0x151),_0x22d270(0x121)+_0x1b5df0['id']+'\x20has\x20'+_0x1b5df0[_0x22d270(0x11e)]+_0x22d270(0x148),_0x22d270(0x14e));if(!_0x1b5df0['path'][_0x22d270(0x13f)]())throw menuError(_0x22d270(0x10e),_0x22d270(0x121)+_0x1b5df0['id']+_0x22d270(0x12b),_0x22d270(0x147));}function verifyUpdatedFact(_0x6c54bc,_0x3f3843,_0x2faa39){const _0x55ab62=a131_0x43217c;assertExternalLinkLeaf(_0x3f3843);const _0x4eb86a=[['id',_0x3f3843['id'],_0x6c54bc['id']],['label',_0x3f3843[_0x55ab62(0x125)],_0x6c54bc[_0x55ab62(0x125)]],[_0x55ab62(0x13b),_0x3f3843[_0x55ab62(0x13b)],_0x6c54bc[_0x55ab62(0x13b)]],['path',_0x3f3843[_0x55ab62(0x11c)],_0x6c54bc[_0x55ab62(0x11c)]],[_0x55ab62(0x10f),_0x3f3843[_0x55ab62(0x10f)],_0x6c54bc[_0x55ab62(0x10f)]],[_0x55ab62(0x129),_0x3f3843[_0x55ab62(0x129)],_0x6c54bc[_0x55ab62(0x129)]],[_0x55ab62(0x126),_0x3f3843['visible'],_0x6c54bc[_0x55ab62(0x126)]]];for(const [_0x5dfa5,_0x30130f,_0x5cc421]of _0x4eb86a){assertVerified(_0x30130f===_0x5cc421,'Menu\x20'+_0x6c54bc['id']+'\x20'+_0x5dfa5+_0x55ab62(0x111));}assertVerified(_0x3f3843[_0x55ab62(0x10d)]===_0x2faa39,_0x55ab62(0x121)+_0x6c54bc['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x268957,_0x3bbae3,_0x23d0da,_0x2ddd17,_0x5ef905){const _0x5b5779=a131_0x43217c,_0xd59fdf=_0x23d0da['id'],_0x6aea78=mutationResult({..._0x268957,'after':_0x23d0da,'dryRun':![],'succeeded':[{'id':_0xd59fdf,'updated':!_0x2ddd17,'skipped':_0x2ddd17,'recovered':_0x5ef905}],'verification':{'checkedBy':_0x5b5779(0x120),'snapshotHash':_0x3bbae3[_0x5b5779(0x118)],'targetId':_0xd59fdf,'matchesRequestedState':!![],'recovered':_0x5ef905}});return{'ok':!![],'message':_0x5ef905?_0x5b5779(0x14d)+_0xd59fdf+'.':_0x2ddd17?'Menu\x20'+_0xd59fdf+'\x20already\x20matches\x20the\x20requested\x20URL.':'Updated\x20external\x20URL\x20for\x20menu\x20'+_0xd59fdf+'.','data':{..._0x6aea78,'recovered':_0x5ef905}};}async function recoverAfterResponseLoss(_0x23b72e,_0x28ec10){const _0xe48a2d=a131_0x43217c,{plan:_0x420c3f,before:_0x6f4e16,body:_0x2d7cea}=_0x28ec10;let _0x579ec7;try{_0x579ec7=await fetchMenuSnapshot(_0x23b72e[_0xe48a2d(0x135)],_0x23b72e[_0xe48a2d(0x106)]);}catch{throw recoveryRequired(_0x420c3f,_0x23b72e[_0xe48a2d(0x135)],{'id':_0x2d7cea['id'],'readbackFailed':!![]});}const _0xf1bd4a=_0x579ec7[_0xe48a2d(0x122)][_0xe48a2d(0x13d)](_0x2d7cea['id']);if(!_0xf1bd4a||_0xf1bd4a[_0xe48a2d(0x10d)]!==_0x2d7cea[_0xe48a2d(0x10d)])throw recoveryRequired(_0x420c3f,_0x23b72e[_0xe48a2d(0x135)],{'id':_0x2d7cea['id'],'requestedUrlObserved':![],'after':_0xf1bd4a??null});try{verifyUpdatedFact(_0x6f4e16,_0xf1bd4a,_0x2d7cea['url']);}catch(_0x55c857){const _0x58db01=asVerificationError(_0x55c857,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x2d7cea['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x58db01,_0x420c3f,{'stage':_0xe48a2d(0x107),'succeeded':[{'id':_0x2d7cea['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x2d7cea['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0xf1bd4a,'warnings':[_0xe48a2d(0x13c)],'verification':{'status':_0xe48a2d(0x109),'targetId':_0x2d7cea['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x23b72e['appCode'])}});}return updateSuccess(_0x420c3f,_0x579ec7,_0xf1bd4a,![],!![]);}function recoveryRequired(_0xb83045,_0x3d04f6,_0xaa8dbd){const _0x4daac7=a131_0x43217c,_0x83f21e=menuError(_0x4daac7(0x127),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x4daac7(0x139)+buildLookupCommand(_0x3d04f6)+_0x4daac7(0x110));return menuFailure(_0x83f21e,_0xb83045,{'stage':_0x4daac7(0x107),'failed':{'id':_0xaa8dbd['id'],..._0xaa8dbd[_0x4daac7(0x146)]===undefined?{}:{'requestedUrlObserved':_0xaa8dbd[_0x4daac7(0x146)]},..._0xaa8dbd[_0x4daac7(0x114)]?{'readbackFailed':!![]}:{}},'after':_0xaa8dbd['after'],'warnings':[_0x4daac7(0x113)],'verification':{'status':_0x4daac7(0x109),'targetId':_0xaa8dbd['id'],..._0xaa8dbd[_0x4daac7(0x146)]===undefined?{}:{'requestedUrlObserved':_0xaa8dbd[_0x4daac7(0x146)]},..._0xaa8dbd['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3d04f6)}});}function buildLookupCommand(_0x28b421){const _0x35dc06=a131_0x43217c,_0x1609a7='\x27'+_0x28b421[_0x35dc06(0x150)](/'/g,_0x35dc06(0x143))+'\x27';return _0x35dc06(0x119)+_0x1609a7+_0x35dc06(0x14a);}
@@ -1 +1 @@
1
- const a132_0x1fb52d=a132_0x4a2e;(function(_0x5c9354,_0x4789db){const _0x33a29a=a132_0x4a2e,_0x1d0b57=_0x5c9354();while(!![]){try{const _0x22b1d9=-parseInt(_0x33a29a(0x85))/0x1*(-parseInt(_0x33a29a(0xa7))/0x2)+-parseInt(_0x33a29a(0x86))/0x3+-parseInt(_0x33a29a(0x9d))/0x4*(-parseInt(_0x33a29a(0xb8))/0x5)+parseInt(_0x33a29a(0xb6))/0x6+-parseInt(_0x33a29a(0xad))/0x7*(-parseInt(_0x33a29a(0x93))/0x8)+-parseInt(_0x33a29a(0xa0))/0x9*(-parseInt(_0x33a29a(0xa6))/0xa)+-parseInt(_0x33a29a(0x8c))/0xb*(parseInt(_0x33a29a(0x7c))/0xc);if(_0x22b1d9===_0x4789db)break;else _0x1d0b57['push'](_0x1d0b57['shift']());}catch(_0x28d1cd){_0x1d0b57['push'](_0x1d0b57['shift']());}}}(a132_0x2e27,0x33ca6));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':a132_0x1fb52d(0x84),'path':a132_0x1fb52d(0xbd)}];export const menuGroupCreate={'service':'menu','command':a132_0x1fb52d(0xc2),'description':a132_0x1fb52d(0xae),'risk':a132_0x1fb52d(0x99),'structuredErrors':!![],'flags':[{'name':a132_0x1fb52d(0xbe),'type':'string','required':!![],'description':a132_0x1fb52d(0x82)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x190818){validateCreateInput(_0x190818);},async 'dryRun'(_0x509c34){const _0x308f96=a132_0x1fb52d,_0x1bcdac=await buildCreatePlan(_0x509c34,!![]),_0x43a5b9=_0x1bcdac['after'];return menuDryRunResult(_0x1bcdac,{'method':'POST','url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x43a5b9[_0x308f96(0x9b)]),'label':_0x43a5b9[_0x308f96(0xbe)],'type':_0x308f96(0xa1),'visible':!![],'sort':_0x43a5b9[_0x308f96(0x8b)],'extend':{}},'description':_0x308f96(0x8a)+String(_0x43a5b9[_0x308f96(0xbe)])+_0x308f96(0x8d)});},async 'execute'(_0x3dae78){const _0x4c1a4c=a132_0x1fb52d;validateCreateInput(_0x3dae78);const _0x541199=await buildCreatePlan(_0x3dae78,![]),_0x11b4f0=_0x541199['after'];await recheckMutationSnapshot(_0x3dae78,_0x541199,_0x4c1a4c(0x79));let _0x279129;try{_0x279129=await createMenuEntity(_0x3dae78[_0x4c1a4c(0xaa)],_0x3dae78['cookie'],{'parentId':toApiParentId(_0x11b4f0[_0x4c1a4c(0x9b)]),'label':String(_0x11b4f0[_0x4c1a4c(0xbe)]),'type':_0x4c1a4c(0xa1),'visible':!![],'sort':Number(_0x11b4f0[_0x4c1a4c(0x8b)]),'extend':{}});}catch(_0x5a5036){const _0x29bafe=mapMenuApiError(_0x5a5036,_0x4c1a4c(0x79));throw menuFailure(_0x29bafe,_0x541199,{'stage':_0x4c1a4c(0xb3),'failed':{}});}const _0x5c5ecb=Number(_0x279129['id']);if(!Number[_0x4c1a4c(0xaf)](_0x5c5ecb)||_0x5c5ecb<=0x0){const _0x3419f6=menuError(_0x4c1a4c(0xb7),_0x4c1a4c(0x77),_0x4c1a4c(0xbb));throw menuFailure(_0x3419f6,_0x541199,{'stage':_0x4c1a4c(0x96),'failed':{'createdId':_0x279129['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x4c1a4c(0xb0),'lookupCommand':_0x4c1a4c(0x7f)}});}const _0x1bca6d=typeof _0x279129[_0x4c1a4c(0x7d)]===_0x4c1a4c(0xa9)?_0x279129[_0x4c1a4c(0x7d)]:'';if(!_0x1bca6d['trim']()){const _0x2ddb17=menuError(_0x4c1a4c(0xb7),_0x4c1a4c(0xa8)+_0x5c5ecb+_0x4c1a4c(0x90),_0x4c1a4c(0xb5));throw menuFailure(_0x2ddb17,_0x541199,{'stage':_0x4c1a4c(0x96),'succeeded':[{'id':_0x5c5ecb,'created':!![]}],'failed':{'id':_0x5c5ecb,'generatedPathConfirmed':![]},'warnings':[_0x4c1a4c(0x7e)+_0x5c5ecb+_0x4c1a4c(0x92)],'after':{..._0x11b4f0,'id':_0x5c5ecb,'path':_0x1bca6d},'verification':{'status':_0x4c1a4c(0xb0),'lookupCommand':_0x4c1a4c(0x7f),'targetId':_0x5c5ecb}});}let _0x46aa88;try{_0x46aa88=await fetchMenuSnapshot(_0x3dae78['appCode'],_0x3dae78[_0x4c1a4c(0x95)]);}catch(_0x564cdc){const _0x535d37=describeMenuErrorCause(_0x564cdc,_0x4c1a4c(0xac),_0x5c5ecb),_0x454b1d=asVerificationError(_0x564cdc,'Folder\x20'+_0x5c5ecb+_0x4c1a4c(0x80));throw menuFailure(_0x454b1d,_0x541199,{'stage':_0x4c1a4c(0xb2),'succeeded':[{'id':_0x5c5ecb,'created':!![],'path':_0x1bca6d}],'failed':{'id':_0x5c5ecb,'finalFactsConfirmed':![],..._0x535d37},'warnings':['Folder\x20'+_0x5c5ecb+_0x4c1a4c(0x9e)+JSON[_0x4c1a4c(0x88)](_0x1bca6d)+_0x4c1a4c(0x9f)],'after':{..._0x11b4f0,'id':_0x5c5ecb,'path':_0x1bca6d},'verification':{'status':_0x4c1a4c(0xb0),'lookupCommand':_0x4c1a4c(0x7f),'targetId':_0x5c5ecb}});}const _0x50599d=_0x46aa88[_0x4c1a4c(0xbf)][_0x4c1a4c(0x87)](_0x5c5ecb);let _0x4e1be2;try{assertVerified(Boolean(_0x50599d),'Created\x20folder\x20'+_0x5c5ecb+_0x4c1a4c(0x94)),_0x4e1be2=_0x50599d,assertVerified(_0x4e1be2['type']===_0x4c1a4c(0xa1),_0x4c1a4c(0x98)+_0x5c5ecb+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x4e1be2[_0x4c1a4c(0xbe)]===_0x11b4f0[_0x4c1a4c(0xbe)],_0x4c1a4c(0xb4)+_0x5c5ecb+_0x4c1a4c(0xbc)),assertVerified(_0x4e1be2[_0x4c1a4c(0x7d)]===_0x1bca6d&&Boolean(_0x4e1be2[_0x4c1a4c(0x7d)]['trim']()),_0x4c1a4c(0xb4)+_0x5c5ecb+_0x4c1a4c(0x7a)),assertVerified(_0x4e1be2[_0x4c1a4c(0xb1)]===!![],_0x4c1a4c(0xb4)+_0x5c5ecb+_0x4c1a4c(0xa5)),assertVerified(_0x4e1be2[_0x4c1a4c(0x9c)][_0x4c1a4c(0x7b)]===0x0,_0x4c1a4c(0xb4)+_0x5c5ecb+'\x20has\x20resources.'),assertVerified(_0x4e1be2[_0x4c1a4c(0x91)]===0x0,_0x4c1a4c(0xb4)+_0x5c5ecb+_0x4c1a4c(0x81)),assertVerified(_0x4e1be2['sort']===_0x11b4f0[_0x4c1a4c(0x8b)],'Created\x20folder\x20'+_0x5c5ecb+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x4e1be2[_0x4c1a4c(0x9b)]===_0x11b4f0[_0x4c1a4c(0x9b)],_0x4c1a4c(0xb4)+_0x5c5ecb+_0x4c1a4c(0x89)+(_0x4e1be2[_0x4c1a4c(0x9b)]??_0x4c1a4c(0xab))+'.'),assertVerified(_0x4e1be2[_0x4c1a4c(0x97)]==null,_0x4c1a4c(0xb4)+_0x5c5ecb+'\x20unexpectedly\x20owns\x20a\x20page.');const _0xf08483=_0x4e1be2['parentId']==null?undefined:requireFolder(_0x46aa88,_0x4e1be2['parentId']);assertVerified(_0x4e1be2[_0x4c1a4c(0xb9)]===(_0xf08483?_0xf08483[_0x4c1a4c(0xb9)]+0x1:0x0),_0x4c1a4c(0xb4)+_0x5c5ecb+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x1917ae){const _0x3595e5=describeMenuErrorCause(_0x1917ae,'verify\x20folder\x20creation',_0x5c5ecb),_0x1da944=asVerificationError(_0x1917ae,_0x4c1a4c(0x7e)+_0x5c5ecb+_0x4c1a4c(0x8e));throw menuFailure(_0x1da944,_0x541199,{'stage':_0x4c1a4c(0xb2),'succeeded':[{'id':_0x5c5ecb,'created':!![],'path':_0x1bca6d}],'failed':{'id':_0x5c5ecb,'finalFactsConfirmed':![],..._0x3595e5},'warnings':[_0x4c1a4c(0x7e)+_0x5c5ecb+_0x4c1a4c(0x9a)],'after':_0x50599d??{..._0x11b4f0,'id':_0x5c5ecb,'path':_0x1bca6d},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5c5ecb}});}const _0x4222b8=mutationResult({..._0x541199,'after':_0x4e1be2,'dryRun':![],'succeeded':[{'id':_0x5c5ecb,'type':'folder','path':_0x1bca6d}],'verification':{'checkedBy':_0x4c1a4c(0xc1),'snapshotHash':_0x46aa88[_0x4c1a4c(0x78)],'folder':!![],'path':_0x1bca6d,'emptyResources':!![]}});return{'ok':!![],'data':_0x4222b8,'message':_0x4c1a4c(0xa4)+_0x5c5ecb+'.'};}};function validateCreateInput(_0x59cf06){const _0xd5af22=a132_0x1fb52d,_0x285ce0=_0x59cf06[_0xd5af22(0xa3)](_0xd5af22(0xbe))['trim']();if(!_0x285ce0)throw CliErrors[_0xd5af22(0xba)]('label');parseParentId(_0x59cf06,_0xd5af22(0x83)),validateSort(_0x59cf06);}async function buildCreatePlan(_0x21691e,_0x2b4492){const _0x112991=a132_0x1fb52d,_0x268e71=await fetchMutationSnapshot(_0x21691e,_0x112991(0x79)),_0x200fd1=parseParentId(_0x21691e,_0x112991(0x83))??null;if(_0x200fd1!=null)requireFolder(_0x268e71,_0x200fd1);const _0x28c34a=validateSort(_0x21691e),_0x645b84=_0x28c34a??nextSiblingSort(_0x268e71,_0x200fd1,_0x112991(0xa1)),_0xd6f6a9=_0x21691e['str']('label')[_0x112991(0x8f)]();return mutationResult({'operation':_0x112991(0xc2),'selector':{'label':_0xd6f6a9,'parentId':_0x200fd1},'before':null,'after':{'id':null,'parentId':_0x200fd1,'label':_0xd6f6a9,'path':_0x112991(0xa2),'type':_0x112991(0xa1),'visible':!![],'sort':_0x645b84,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2b4492,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x200fd1),'label':_0xd6f6a9,'type':_0x112991(0xa1),'visible':!![],'sort':_0x645b84,'extend':{}}}],'snapshotHash':_0x268e71[_0x112991(0x78)],'warnings':[_0x112991(0xc0)]});}function a132_0x4a2e(_0x25c546,_0x3f7098){_0x25c546=_0x25c546-0x77;const _0x2e27e7=a132_0x2e27();let _0x4a2e9a=_0x2e27e7[_0x25c546];return _0x4a2e9a;}function a132_0x2e27(){const _0x59caf7=['24486tpDyLX','\x22\x20with\x20a\x20platform-generated\x20path.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','trim','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','childrenCount','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','104OrbDtP','\x20is\x20missing\x20from\x20menu\x20list.','cookie','create-response-validation','pageId','Created\x20menu\x20','write','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','parentId','resources','28CqQtPb','\x20may\x20exist\x20online\x20at\x20path\x20',';\x20verify\x20it\x20before\x20retrying.','37953QSZYFS','folder','<platform-generated>','str','Created\x20menu\x20folder\x20','\x20is\x20not\x20visible.','10iqNMdr','18UTwkJE','Menu\x20create\x20response\x20for\x20folder\x20','string','appCode','root','verify\x20folder\x20creation','79331wJunKb','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','isSafeInteger','failed','visible','verification','create','Created\x20folder\x20','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','1590744aNMbnU','menu_create_response_invalid','196275UhKjhO','depth','flagMissing','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20has\x20an\x20unexpected\x20label.','/smartapi/menu/create','label','byId','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu\x20list','group-create','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','hash','create\x20folder','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','length','2040NnflJZ','path','Folder\x20','rabetbase\x20menu\x20list\x20--format\x20json','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20is\x20not\x20empty.','Folder\x20label','parent-id','POST','11338HQaftY','608829vraWNT','get','stringify','\x20has\x20unexpected\x20parent\x20','Would\x20create\x20empty\x20folder\x20\x22','sort'];a132_0x2e27=function(){return _0x59caf7;};return a132_0x2e27();}
1
+ const a132_0xba45c3=a132_0x277e;(function(_0x429ac8,_0x1117ed){const _0x107a07=a132_0x277e,_0x15dbab=_0x429ac8();while(!![]){try{const _0x4f820e=-parseInt(_0x107a07(0x181))/0x1+parseInt(_0x107a07(0x1af))/0x2*(parseInt(_0x107a07(0x173))/0x3)+parseInt(_0x107a07(0x1a8))/0x4*(parseInt(_0x107a07(0x16b))/0x5)+parseInt(_0x107a07(0x1ab))/0x6+parseInt(_0x107a07(0x175))/0x7+parseInt(_0x107a07(0x19c))/0x8+-parseInt(_0x107a07(0x17b))/0x9*(-parseInt(_0x107a07(0x177))/0xa);if(_0x4f820e===_0x1117ed)break;else _0x15dbab['push'](_0x15dbab['shift']());}catch(_0x5770b5){_0x15dbab['push'](_0x15dbab['shift']());}}}(a132_0x1812,0xf0dc9));function a132_0x277e(_0x38e78d,_0x4407c3){_0x38e78d=_0x38e78d-0x169;const _0x181226=a132_0x1812();let _0x277ea1=_0x181226[_0x38e78d];return _0x277ea1;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a132_0xba45c3(0x18b)}];export const menuGroupCreate={'service':a132_0xba45c3(0x192),'command':a132_0xba45c3(0x1aa),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':a132_0xba45c3(0x19f),'type':a132_0xba45c3(0x182),'required':!![],'description':a132_0xba45c3(0x179)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x28cbb4){validateCreateInput(_0x28cbb4);},async 'dryRun'(_0x5cbd5b){const _0x5a764e=a132_0xba45c3,_0x201728=await buildCreatePlan(_0x5cbd5b,!![]),_0x12f1ab=_0x201728['after'];return menuDryRunResult(_0x201728,{'method':_0x5a764e(0x19e),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x12f1ab['parentId']),'label':_0x12f1ab[_0x5a764e(0x19f)],'type':'folder','visible':!![],'sort':_0x12f1ab[_0x5a764e(0x1a5)],'extend':{}},'description':_0x5a764e(0x17c)+String(_0x12f1ab[_0x5a764e(0x19f)])+_0x5a764e(0x16e)});},async 'execute'(_0x57fe27){const _0x3d097a=a132_0xba45c3;validateCreateInput(_0x57fe27);const _0x32ac15=await buildCreatePlan(_0x57fe27,![]),_0x22a94b=_0x32ac15[_0x3d097a(0x1a1)];await recheckMutationSnapshot(_0x57fe27,_0x32ac15,_0x3d097a(0x199));let _0x796f44;try{_0x796f44=await createMenuEntity(_0x57fe27['appCode'],_0x57fe27[_0x3d097a(0x190)],{'parentId':toApiParentId(_0x22a94b[_0x3d097a(0x19a)]),'label':String(_0x22a94b[_0x3d097a(0x19f)]),'type':_0x3d097a(0x16c),'visible':!![],'sort':Number(_0x22a94b[_0x3d097a(0x1a5)]),'extend':{}});}catch(_0x481cf9){const _0x384b09=mapMenuApiError(_0x481cf9,_0x3d097a(0x199));throw menuFailure(_0x384b09,_0x32ac15,{'stage':_0x3d097a(0x188),'failed':{}});}const _0x32372e=Number(_0x796f44['id']);if(!Number['isSafeInteger'](_0x32372e)||_0x32372e<=0x0){const _0x289d0f=menuError(_0x3d097a(0x17f),_0x3d097a(0x189),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x289d0f,_0x32ac15,{'stage':_0x3d097a(0x18d),'failed':{'createdId':_0x796f44['id']??null},'warnings':[_0x3d097a(0x172)],'verification':{'status':_0x3d097a(0x1ac),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x3fd6e4=typeof _0x796f44[_0x3d097a(0x185)]===_0x3d097a(0x182)?_0x796f44[_0x3d097a(0x185)]:'';if(!_0x3fd6e4[_0x3d097a(0x16a)]()){const _0x25cab6=menuError(_0x3d097a(0x17f),_0x3d097a(0x1a3)+_0x32372e+_0x3d097a(0x197),_0x3d097a(0x18a));throw menuFailure(_0x25cab6,_0x32ac15,{'stage':_0x3d097a(0x18d),'succeeded':[{'id':_0x32372e,'created':!![]}],'failed':{'id':_0x32372e,'generatedPathConfirmed':![]},'warnings':[_0x3d097a(0x193)+_0x32372e+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x22a94b,'id':_0x32372e,'path':_0x3fd6e4},'verification':{'status':'failed','lookupCommand':_0x3d097a(0x1ae),'targetId':_0x32372e}});}let _0x1c96d0;try{_0x1c96d0=await fetchMenuSnapshot(_0x57fe27[_0x3d097a(0x191)],_0x57fe27[_0x3d097a(0x190)]);}catch(_0x4d5cad){const _0xc04194=describeMenuErrorCause(_0x4d5cad,_0x3d097a(0x1a4),_0x32372e),_0x4eb519=asVerificationError(_0x4d5cad,_0x3d097a(0x193)+_0x32372e+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x4eb519,_0x32ac15,{'stage':_0x3d097a(0x17d),'succeeded':[{'id':_0x32372e,'created':!![],'path':_0x3fd6e4}],'failed':{'id':_0x32372e,'finalFactsConfirmed':![],..._0xc04194},'warnings':[_0x3d097a(0x193)+_0x32372e+_0x3d097a(0x170)+JSON[_0x3d097a(0x16f)](_0x3fd6e4)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x22a94b,'id':_0x32372e,'path':_0x3fd6e4},'verification':{'status':_0x3d097a(0x1ac),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x32372e}});}const _0x590242=_0x1c96d0[_0x3d097a(0x17a)][_0x3d097a(0x17e)](_0x32372e);let _0x1fae64;try{assertVerified(Boolean(_0x590242),'Created\x20folder\x20'+_0x32372e+_0x3d097a(0x18e)),_0x1fae64=_0x590242,assertVerified(_0x1fae64[_0x3d097a(0x1a6)]===_0x3d097a(0x16c),_0x3d097a(0x183)+_0x32372e+_0x3d097a(0x16d)),assertVerified(_0x1fae64[_0x3d097a(0x19f)]===_0x22a94b['label'],_0x3d097a(0x1b0)+_0x32372e+_0x3d097a(0x1b2)),assertVerified(_0x1fae64[_0x3d097a(0x185)]===_0x3fd6e4&&Boolean(_0x1fae64[_0x3d097a(0x185)][_0x3d097a(0x16a)]()),_0x3d097a(0x1b0)+_0x32372e+_0x3d097a(0x194)),assertVerified(_0x1fae64[_0x3d097a(0x198)]===!![],_0x3d097a(0x1b0)+_0x32372e+_0x3d097a(0x1a7)),assertVerified(_0x1fae64[_0x3d097a(0x1a0)][_0x3d097a(0x1ad)]===0x0,'Created\x20folder\x20'+_0x32372e+_0x3d097a(0x19b)),assertVerified(_0x1fae64[_0x3d097a(0x18f)]===0x0,'Created\x20folder\x20'+_0x32372e+_0x3d097a(0x18c)),assertVerified(_0x1fae64[_0x3d097a(0x1a5)]===_0x22a94b['sort'],'Created\x20folder\x20'+_0x32372e+_0x3d097a(0x176)),assertVerified(_0x1fae64[_0x3d097a(0x19a)]===_0x22a94b[_0x3d097a(0x19a)],_0x3d097a(0x1b0)+_0x32372e+_0x3d097a(0x187)+(_0x1fae64[_0x3d097a(0x19a)]??_0x3d097a(0x1a9))+'.'),assertVerified(_0x1fae64[_0x3d097a(0x196)]==null,_0x3d097a(0x1b0)+_0x32372e+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x344a8b=_0x1fae64['parentId']==null?undefined:requireFolder(_0x1c96d0,_0x1fae64[_0x3d097a(0x19a)]);assertVerified(_0x1fae64['depth']===(_0x344a8b?_0x344a8b[_0x3d097a(0x184)]+0x1:0x0),_0x3d097a(0x1b0)+_0x32372e+_0x3d097a(0x1a2));}catch(_0x7fba29){const _0x31f08d=describeMenuErrorCause(_0x7fba29,_0x3d097a(0x1a4),_0x32372e),_0x56ffbf=asVerificationError(_0x7fba29,_0x3d097a(0x193)+_0x32372e+_0x3d097a(0x178));throw menuFailure(_0x56ffbf,_0x32ac15,{'stage':_0x3d097a(0x17d),'succeeded':[{'id':_0x32372e,'created':!![],'path':_0x3fd6e4}],'failed':{'id':_0x32372e,'finalFactsConfirmed':![],..._0x31f08d},'warnings':[_0x3d097a(0x193)+_0x32372e+_0x3d097a(0x19d)],'after':_0x590242??{..._0x22a94b,'id':_0x32372e,'path':_0x3fd6e4},'verification':{'status':'failed','lookupCommand':_0x3d097a(0x1ae),'targetId':_0x32372e}});}const _0x46b723=mutationResult({..._0x32ac15,'after':_0x1fae64,'dryRun':![],'succeeded':[{'id':_0x32372e,'type':_0x3d097a(0x16c),'path':_0x3fd6e4}],'verification':{'checkedBy':_0x3d097a(0x186),'snapshotHash':_0x1c96d0[_0x3d097a(0x171)],'folder':!![],'path':_0x3fd6e4,'emptyResources':!![]}});return{'ok':!![],'data':_0x46b723,'message':_0x3d097a(0x169)+_0x32372e+'.'};}};function validateCreateInput(_0x56c2d5){const _0x8328ba=a132_0xba45c3,_0x227faf=_0x56c2d5['str'](_0x8328ba(0x19f))[_0x8328ba(0x16a)]();if(!_0x227faf)throw CliErrors['flagMissing'](_0x8328ba(0x19f));parseParentId(_0x56c2d5,_0x8328ba(0x174)),validateSort(_0x56c2d5);}async function buildCreatePlan(_0x343b63,_0x4d208d){const _0x3514c0=a132_0xba45c3,_0x42ac74=await fetchMutationSnapshot(_0x343b63,_0x3514c0(0x199)),_0x456131=parseParentId(_0x343b63,'parent-id')??null;if(_0x456131!=null)requireFolder(_0x42ac74,_0x456131);const _0x52a025=validateSort(_0x343b63),_0x4357d5=_0x52a025??nextSiblingSort(_0x42ac74,_0x456131,_0x3514c0(0x16c)),_0x5a62be=_0x343b63[_0x3514c0(0x180)](_0x3514c0(0x19f))['trim']();return mutationResult({'operation':'group-create','selector':{'label':_0x5a62be,'parentId':_0x456131},'before':null,'after':{'id':null,'parentId':_0x456131,'label':_0x5a62be,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x4357d5,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4d208d,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3514c0(0x1b1),'method':_0x3514c0(0x19e),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x456131),'label':_0x5a62be,'type':_0x3514c0(0x16c),'visible':!![],'sort':_0x4357d5,'extend':{}}}],'snapshotHash':_0x42ac74[_0x3514c0(0x171)],'warnings':[_0x3514c0(0x195)]});}function a132_0x1812(){const _0x95f3ea=['\x20has\x20an\x20unexpected\x20sort.','88430kuYFfU','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Folder\x20label','byId','81iAvmcW','Would\x20create\x20empty\x20folder\x20\x22','verification','get','menu_create_response_invalid','str','1478953FBnWyr','string','Created\x20menu\x20','depth','path','menu\x20list','\x20has\x20unexpected\x20parent\x20','create','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','/smartapi/menu/create','\x20is\x20not\x20empty.','create-response-validation','\x20is\x20missing\x20from\x20menu\x20list.','childrenCount','cookie','appCode','menu','Folder\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','pageId','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','visible','create\x20folder','parentId','\x20has\x20resources.','1127192HmzndA','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','POST','label','resources','after','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Menu\x20create\x20response\x20for\x20folder\x20','verify\x20folder\x20creation','sort','type','\x20is\x20not\x20visible.','4vTOpUh','root','group-create','4172592XZvmmj','failed','length','rabetbase\x20menu\x20list\x20--format\x20json','65432GJYqoV','Created\x20folder\x20','create-folder','\x20has\x20an\x20unexpected\x20label.','Created\x20menu\x20folder\x20','trim','4805485BZBUIc','folder','\x20is\x20not\x20type\x20folder.','\x22\x20with\x20a\x20platform-generated\x20path.','stringify','\x20may\x20exist\x20online\x20at\x20path\x20','hash','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','24XxvmUD','parent-id','2287453CNKArI'];a132_0x1812=function(){return _0x95f3ea;};return a132_0x1812();}
@@ -1 +1 @@
1
- const a133_0x5dea1d=a133_0x495d;function a133_0x495d(_0xe69b77,_0x53206f){_0xe69b77=_0xe69b77-0x12e;const _0x3782d7=a133_0x3782();let _0x495db7=_0x3782d7[_0xe69b77];return _0x495db7;}(function(_0x40faef,_0x5791f5){const _0x358b34=a133_0x495d,_0x1d93aa=_0x40faef();while(!![]){try{const _0x428341=-parseInt(_0x358b34(0x14d))/0x1*(-parseInt(_0x358b34(0x148))/0x2)+parseInt(_0x358b34(0x147))/0x3+-parseInt(_0x358b34(0x162))/0x4*(parseInt(_0x358b34(0x155))/0x5)+-parseInt(_0x358b34(0x15c))/0x6*(parseInt(_0x358b34(0x13d))/0x7)+parseInt(_0x358b34(0x140))/0x8*(parseInt(_0x358b34(0x15e))/0x9)+-parseInt(_0x358b34(0x12e))/0xa*(parseInt(_0x358b34(0x12f))/0xb)+parseInt(_0x358b34(0x143))/0xc;if(_0x428341===_0x5791f5)break;else _0x1d93aa['push'](_0x1d93aa['shift']());}catch(_0x2766d8){_0x1d93aa['push'](_0x1d93aa['shift']());}}}(a133_0x3782,0x832f5));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':a133_0x5dea1d(0x13e),'command':'group-update','description':a133_0x5dea1d(0x142),'risk':a133_0x5dea1d(0x14a),'structuredErrors':!![],'rejectedFlags':[{'name':a133_0x5dea1d(0x133),'message':a133_0x5dea1d(0x144),'hint':a133_0x5dea1d(0x13a)}],'flags':[MENU_ID_FLAG,{'name':a133_0x5dea1d(0x137),'type':a133_0x5dea1d(0x131),'description':a133_0x5dea1d(0x165)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x147f9a){validateUpdateInput(_0x147f9a);},async 'dryRun'(_0x49c452){const _0x370f5f=a133_0x5dea1d;validateUpdateInput(_0x49c452);const {plan:_0x38474b,patch:_0x20879b}=await buildUpdatePlan(_0x49c452,!![]);return menuDryRunResult(_0x38474b,{'method':_0x370f5f(0x153),'url':_0x370f5f(0x152),'body':_0x20879b,'description':_0x370f5f(0x130)+_0x38474b[_0x370f5f(0x14b)]['id']+'.'});},async 'execute'(_0x20bdab){const _0x3c6e4b=a133_0x5dea1d;validateUpdateInput(_0x20bdab);const {plan:_0x36aa6d,patch:_0x2c5be0,noChanges:_0x51df8c}=await buildUpdatePlan(_0x20bdab,![]),_0x24fae3=Number(_0x36aa6d['selector']['id']),_0x3105fe=await recheckMutationSnapshot(_0x20bdab,_0x36aa6d,'update\x20folder',_0x24fae3);if(!_0x51df8c)try{await updateMenuEntity(_0x20bdab['appCode'],_0x20bdab[_0x3c6e4b(0x156)],_0x2c5be0);}catch(_0x2c0a9f){const _0x50d48e=mapMenuApiError(_0x2c0a9f,_0x3c6e4b(0x15d),_0x24fae3);throw menuFailure(_0x50d48e,_0x36aa6d,{'stage':'update','failed':{'id':_0x24fae3}});}let _0x30edd8=_0x3105fe,_0x1ef5d6;try{!_0x51df8c&&(_0x30edd8=await fetchMenuSnapshot(_0x20bdab[_0x3c6e4b(0x13c)],_0x20bdab[_0x3c6e4b(0x156)])),_0x1ef5d6=requireMenu(_0x30edd8,_0x24fae3),verifyPatch(_0x1ef5d6,_0x2c5be0),_0x1ef5d6['parentId']!=null&&requireFolder(_0x30edd8,_0x1ef5d6[_0x3c6e4b(0x15a)]);}catch(_0x1e800d){const _0x216a7e=describeMenuErrorCause(_0x1e800d,_0x3c6e4b(0x145),_0x24fae3),_0x10978b=asVerificationError(_0x1e800d,_0x3c6e4b(0x159)+_0x24fae3+_0x3c6e4b(0x138));throw menuFailure(_0x10978b,_0x36aa6d,{'stage':_0x3c6e4b(0x13f),'succeeded':[{'id':_0x24fae3,'updateRequested':!_0x51df8c,'skipped':_0x51df8c}],'failed':{'id':_0x24fae3,'requestedStateConfirmed':![],..._0x216a7e},'warnings':[_0x3c6e4b(0x14e)],'verification':{'status':_0x3c6e4b(0x146),'lookupCommand':_0x3c6e4b(0x149),'targetId':_0x24fae3}});}const _0x11bf5e=mutationResult({..._0x36aa6d,'after':_0x1ef5d6,'dryRun':![],'succeeded':[{'id':_0x24fae3,'updated':!_0x51df8c,'skipped':_0x51df8c}],'verification':{'checkedBy':_0x3c6e4b(0x15b),'snapshotHash':_0x30edd8[_0x3c6e4b(0x161)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x11bf5e,'message':_0x51df8c?_0x3c6e4b(0x157)+_0x24fae3+_0x3c6e4b(0x151):_0x3c6e4b(0x163)+_0x24fae3+'.'};}};function validateUpdateInput(_0x2c2f85){const _0x36c9e0=a133_0x5dea1d;validateExactId(_0x2c2f85);if(hasFlag(_0x2c2f85,_0x36c9e0(0x133)))throw CliErrors[_0x36c9e0(0x14f)]('Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.',_0x36c9e0(0x13a));if(!hasFlag(_0x2c2f85,'label')&&!hasFlag(_0x2c2f85,'sort'))throw CliErrors[_0x36c9e0(0x14f)](_0x36c9e0(0x164));if(hasFlag(_0x2c2f85,_0x36c9e0(0x137))&&!_0x2c2f85[_0x36c9e0(0x139)]('label')[_0x36c9e0(0x14c)]())throw CliErrors[_0x36c9e0(0x14f)](_0x36c9e0(0x150));validateSort(_0x2c2f85);}async function buildUpdatePlan(_0x67c1ef,_0x3de385){const _0x4ed1f4=a133_0x5dea1d,_0x5c0425=validateExactId(_0x67c1ef),_0x355a74=await fetchMutationSnapshot(_0x67c1ef,_0x4ed1f4(0x15d),_0x5c0425),_0x4da057=requireMenu(_0x355a74,_0x5c0425);if(_0x4da057[_0x4ed1f4(0x166)]!=='folder')throw menuError(_0x4ed1f4(0x13b),_0x4ed1f4(0x154)+_0x5c0425+_0x4ed1f4(0x134)+(_0x4da057[_0x4ed1f4(0x166)]||'unknown')+_0x4ed1f4(0x136),_0x4ed1f4(0x160));assertExpectedState(_0x67c1ef,_0x4da057);const _0x5bf3f3={'id':_0x5c0425},_0x48909a={..._0x4da057};if(hasFlag(_0x67c1ef,'label')){const _0x213660=_0x67c1ef[_0x4ed1f4(0x139)](_0x4ed1f4(0x137))[_0x4ed1f4(0x14c)]();_0x5bf3f3[_0x4ed1f4(0x137)]=_0x213660,_0x48909a[_0x4ed1f4(0x137)]=_0x213660;}if(hasFlag(_0x67c1ef,'sort')){const _0xeea98d=validateSort(_0x67c1ef);_0x5bf3f3[_0x4ed1f4(0x135)]=_0xeea98d,_0x48909a['sort']=_0xeea98d;}const _0x317732=sameRequestedState(_0x4da057,_0x48909a),_0x48f73a=_0x317732?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x5bf3f3,'noChanges':_0x317732,'plan':mutationResult({'operation':_0x4ed1f4(0x132),'selector':{'id':_0x5c0425},'before':_0x4da057,'after':_0x48909a,'dryRun':_0x3de385,'backend':[...BACKEND],'snapshotHash':_0x355a74['hash'],'warnings':_0x48f73a})};}function sameRequestedState(_0xeea746,_0x3985b5){const _0x3caeb5=a133_0x5dea1d;return _0xeea746[_0x3caeb5(0x137)]===_0x3985b5[_0x3caeb5(0x137)]&&_0xeea746[_0x3caeb5(0x135)]===_0x3985b5[_0x3caeb5(0x135)];}function verifyPatch(_0x4bd48f,_0x1b50b6){const _0x35860d=a133_0x5dea1d;assertVerified(_0x4bd48f[_0x35860d(0x166)]===_0x35860d(0x15f),_0x35860d(0x154)+_0x4bd48f['id']+_0x35860d(0x141)),_0x1b50b6[_0x35860d(0x137)]!==undefined&&assertVerified(_0x4bd48f['label']===_0x1b50b6['label'],_0x35860d(0x157)+_0x4bd48f['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x1b50b6[_0x35860d(0x135)]!==undefined&&assertVerified(_0x4bd48f[_0x35860d(0x135)]===_0x1b50b6['sort'],'Folder\x20'+_0x4bd48f['id']+_0x35860d(0x158));}function a133_0x3782(){const _0x176370=['44LRnkpC','Would\x20update\x20folder\x20','string','group-update','parent-id','\x20is\x20type\x20\x22','sort','\x22,\x20not\x20folder.','label','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','str','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','menu_not_folder','appCode','376117hmNRXu','menu','verification','19680sXXozf','\x20is\x20no\x20longer\x20type\x20folder.','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','5395428yBjpPA','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','verify\x20folder\x20update','failed','1865064aGWRiu','220896UqkuaS','rabetbase\x20menu\x20list\x20--format\x20json','write','selector','trim','9tATMgh','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','validation','--label\x20cannot\x20be\x20empty.','\x20already\x20matches\x20the\x20requested\x20state.','/smartapi/menu/update','POST','Menu\x20','4784035MRFBBF','cookie','Folder\x20','\x20sort\x20update\x20did\x20not\x20take\x20effect.','Update\x20request\x20for\x20folder\x20','parentId','menu\x20list','6wiSvuO','update\x20folder','1548XPJsBf','folder','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','hash','4Fkyjcc','Updated\x20folder\x20','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','New\x20folder\x20label','type','2351470BxoGSd'];a133_0x3782=function(){return _0x176370;};return a133_0x3782();}
1
+ function a133_0x35bd(){const _0x135458=['/smartapi/menu/update','14767317xxumFB','selector','New\x20folder\x20label','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','POST','menu','sort','1702295eSpUHE','validation','cookie','string','appCode','1706680GEMZYd','689432tkJZPF','\x20is\x20no\x20longer\x20type\x20folder.','\x20already\x20matches\x20the\x20requested\x20state.','verification','trim','folder','write','update\x20folder','unknown','10vtPpKC','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','group-update','Update\x20request\x20for\x20folder\x20','update','label','parentId','rabetbase\x20menu\x20list\x20--format\x20json','parent-id','859884apHwEj','10887PvAbBC','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','7sVWEqK','\x22,\x20not\x20folder.','Folder\x20','str','No\x20online\x20fields\x20would\x20change.','1755252eWmOdG','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','\x20label\x20update\x20did\x20not\x20take\x20effect.','hash','\x20is\x20type\x20\x22','verify\x20folder\x20update','10CkXMYY','menu\x20list','\x20sort\x20update\x20did\x20not\x20take\x20effect.','type','Would\x20update\x20folder\x20','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.'];a133_0x35bd=function(){return _0x135458;};return a133_0x35bd();}const a133_0x3c572c=a133_0x37ba;(function(_0x13c037,_0x3ab029){const _0x1b2834=a133_0x37ba,_0x27894b=_0x13c037();while(!![]){try{const _0x33c618=-parseInt(_0x1b2834(0x84))/0x1*(-parseInt(_0x1b2834(0x7a))/0x2)+-parseInt(_0x1b2834(0x8b))/0x3+-parseInt(_0x1b2834(0xa4))/0x4+-parseInt(_0x1b2834(0x9f))/0x5+parseInt(_0x1b2834(0x83))/0x6+-parseInt(_0x1b2834(0x86))/0x7*(parseInt(_0x1b2834(0xa5))/0x8)+parseInt(_0x1b2834(0x98))/0x9*(parseInt(_0x1b2834(0x91))/0xa);if(_0x33c618===_0x3ab029)break;else _0x27894b['push'](_0x27894b['shift']());}catch(_0x4bed7d){_0x27894b['push'](_0x27894b['shift']());}}}(a133_0x35bd,0x61b2a));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':a133_0x3c572c(0x97)}];function a133_0x37ba(_0x429f77,_0x5913ef){_0x429f77=_0x429f77-0x79;const _0x35bdce=a133_0x35bd();let _0x37ba89=_0x35bdce[_0x429f77];return _0x37ba89;}export const menuGroupUpdate={'service':a133_0x3c572c(0x9d),'command':a133_0x3c572c(0x7c),'description':a133_0x3c572c(0x8c),'risk':a133_0x3c572c(0xab),'structuredErrors':!![],'rejectedFlags':[{'name':a133_0x3c572c(0x82),'message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':a133_0x3c572c(0x7b)}],'flags':[MENU_ID_FLAG,{'name':a133_0x3c572c(0x7f),'type':a133_0x3c572c(0xa2),'description':a133_0x3c572c(0x9a)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x362cd1){validateUpdateInput(_0x362cd1);},async 'dryRun'(_0x27ae8d){const _0x1c1113=a133_0x3c572c;validateUpdateInput(_0x27ae8d);const {plan:_0x2710d1,patch:_0x59cc23}=await buildUpdatePlan(_0x27ae8d,!![]);return menuDryRunResult(_0x2710d1,{'method':_0x1c1113(0x9c),'url':_0x1c1113(0x97),'body':_0x59cc23,'description':_0x1c1113(0x95)+_0x2710d1[_0x1c1113(0x99)]['id']+'.'});},async 'execute'(_0x272f62){const _0x30e134=a133_0x3c572c;validateUpdateInput(_0x272f62);const {plan:_0x6f3348,patch:_0x229219,noChanges:_0xc2862d}=await buildUpdatePlan(_0x272f62,![]),_0x448c60=Number(_0x6f3348[_0x30e134(0x99)]['id']),_0x1f2844=await recheckMutationSnapshot(_0x272f62,_0x6f3348,_0x30e134(0xac),_0x448c60);if(!_0xc2862d)try{await updateMenuEntity(_0x272f62['appCode'],_0x272f62[_0x30e134(0xa1)],_0x229219);}catch(_0x4aa08d){const _0x2d3173=mapMenuApiError(_0x4aa08d,_0x30e134(0xac),_0x448c60);throw menuFailure(_0x2d3173,_0x6f3348,{'stage':_0x30e134(0x7e),'failed':{'id':_0x448c60}});}let _0x161856=_0x1f2844,_0x1d2a24;try{!_0xc2862d&&(_0x161856=await fetchMenuSnapshot(_0x272f62[_0x30e134(0xa3)],_0x272f62[_0x30e134(0xa1)])),_0x1d2a24=requireMenu(_0x161856,_0x448c60),verifyPatch(_0x1d2a24,_0x229219),_0x1d2a24[_0x30e134(0x80)]!=null&&requireFolder(_0x161856,_0x1d2a24[_0x30e134(0x80)]);}catch(_0x40b140){const _0x1dd7f8=describeMenuErrorCause(_0x40b140,_0x30e134(0x90),_0x448c60),_0x58a24b=asVerificationError(_0x40b140,_0x30e134(0x7d)+_0x448c60+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x58a24b,_0x6f3348,{'stage':_0x30e134(0xa8),'succeeded':[{'id':_0x448c60,'updateRequested':!_0xc2862d,'skipped':_0xc2862d}],'failed':{'id':_0x448c60,'requestedStateConfirmed':![],..._0x1dd7f8},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x30e134(0x81),'targetId':_0x448c60}});}const _0x1bb163=mutationResult({..._0x6f3348,'after':_0x1d2a24,'dryRun':![],'succeeded':[{'id':_0x448c60,'updated':!_0xc2862d,'skipped':_0xc2862d}],'verification':{'checkedBy':_0x30e134(0x92),'snapshotHash':_0x161856[_0x30e134(0x8e)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x1bb163,'message':_0xc2862d?_0x30e134(0x88)+_0x448c60+_0x30e134(0xa7):'Updated\x20folder\x20'+_0x448c60+'.'};}};function validateUpdateInput(_0xd032f5){const _0x503bac=a133_0x3c572c;validateExactId(_0xd032f5);if(hasFlag(_0xd032f5,'parent-id'))throw CliErrors['validation'](_0x503bac(0x85),_0x503bac(0x7b));if(!hasFlag(_0xd032f5,_0x503bac(0x7f))&&!hasFlag(_0xd032f5,_0x503bac(0x9e)))throw CliErrors[_0x503bac(0xa0)](_0x503bac(0x96));if(hasFlag(_0xd032f5,'label')&&!_0xd032f5[_0x503bac(0x89)](_0x503bac(0x7f))[_0x503bac(0xa9)]())throw CliErrors['validation']('--label\x20cannot\x20be\x20empty.');validateSort(_0xd032f5);}async function buildUpdatePlan(_0x2c606a,_0xb489c8){const _0x29fbf8=a133_0x3c572c,_0x210012=validateExactId(_0x2c606a),_0x28f201=await fetchMutationSnapshot(_0x2c606a,_0x29fbf8(0xac),_0x210012),_0x3671c7=requireMenu(_0x28f201,_0x210012);if(_0x3671c7['type']!==_0x29fbf8(0xaa))throw menuError('menu_not_folder','Menu\x20'+_0x210012+_0x29fbf8(0x8f)+(_0x3671c7['type']||_0x29fbf8(0x79))+_0x29fbf8(0x87),_0x29fbf8(0x9b));assertExpectedState(_0x2c606a,_0x3671c7);const _0x2ac8ca={'id':_0x210012},_0x27c57a={..._0x3671c7};if(hasFlag(_0x2c606a,_0x29fbf8(0x7f))){const _0x59b3f8=_0x2c606a[_0x29fbf8(0x89)](_0x29fbf8(0x7f))['trim']();_0x2ac8ca[_0x29fbf8(0x7f)]=_0x59b3f8,_0x27c57a[_0x29fbf8(0x7f)]=_0x59b3f8;}if(hasFlag(_0x2c606a,'sort')){const _0x247917=validateSort(_0x2c606a);_0x2ac8ca[_0x29fbf8(0x9e)]=_0x247917,_0x27c57a[_0x29fbf8(0x9e)]=_0x247917;}const _0x172cf3=sameRequestedState(_0x3671c7,_0x27c57a),_0x47da32=_0x172cf3?[_0x29fbf8(0x8a)]:[];return{'patch':_0x2ac8ca,'noChanges':_0x172cf3,'plan':mutationResult({'operation':_0x29fbf8(0x7c),'selector':{'id':_0x210012},'before':_0x3671c7,'after':_0x27c57a,'dryRun':_0xb489c8,'backend':[...BACKEND],'snapshotHash':_0x28f201[_0x29fbf8(0x8e)],'warnings':_0x47da32})};}function sameRequestedState(_0x32c7bd,_0x5ebcd3){const _0xa16243=a133_0x3c572c;return _0x32c7bd[_0xa16243(0x7f)]===_0x5ebcd3[_0xa16243(0x7f)]&&_0x32c7bd[_0xa16243(0x9e)]===_0x5ebcd3[_0xa16243(0x9e)];}function verifyPatch(_0x1f60df,_0x53d557){const _0x52db29=a133_0x3c572c;assertVerified(_0x1f60df[_0x52db29(0x94)]==='folder','Menu\x20'+_0x1f60df['id']+_0x52db29(0xa6)),_0x53d557[_0x52db29(0x7f)]!==undefined&&assertVerified(_0x1f60df['label']===_0x53d557[_0x52db29(0x7f)],_0x52db29(0x88)+_0x1f60df['id']+_0x52db29(0x8d)),_0x53d557[_0x52db29(0x9e)]!==undefined&&assertVerified(_0x1f60df[_0x52db29(0x9e)]===_0x53d557[_0x52db29(0x9e)],_0x52db29(0x88)+_0x1f60df['id']+_0x52db29(0x93));}
@@ -1 +1 @@
1
- (function(_0xcff11c,_0x326233){const _0xf29112=a134_0x52fe,_0x3a92db=_0xcff11c();while(!![]){try{const _0x34a359=parseInt(_0xf29112(0x178))/0x1+-parseInt(_0xf29112(0x17a))/0x2*(parseInt(_0xf29112(0x17b))/0x3)+-parseInt(_0xf29112(0x17d))/0x4+parseInt(_0xf29112(0x179))/0x5+-parseInt(_0xf29112(0x180))/0x6*(-parseInt(_0xf29112(0x17f))/0x7)+parseInt(_0xf29112(0x17e))/0x8+parseInt(_0xf29112(0x181))/0x9*(-parseInt(_0xf29112(0x17c))/0xa);if(_0x34a359===_0x326233)break;else _0x3a92db['push'](_0x3a92db['shift']());}catch(_0x9c1bb0){_0x3a92db['push'](_0x3a92db['shift']());}}}(a134_0x1736,0x59bba));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';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];function a134_0x52fe(_0x24d4e7,_0x8d89){_0x24d4e7=_0x24d4e7-0x178;const _0x173630=a134_0x1736();let _0x52fe05=_0x173630[_0x24d4e7];return _0x52fe05;}function a134_0x1736(){const _0x4fd1bd=['1246xKgRic','1635kDgWsB','118630FICNmE','1446028YJDwZI','2631656ziWKpT','3142979SoMrQe','6xBgatP','387eTTCqD','351707YiBTmW','2245180KVwcRt'];a134_0x1736=function(){return _0x4fd1bd;};return a134_0x1736();}
1
+ (function(_0x3d3ff8,_0x56b610){const _0x16be60=a134_0x2ab7,_0x42ab79=_0x3d3ff8();while(!![]){try{const _0x12dd52=parseInt(_0x16be60(0xe3))/0x1*(parseInt(_0x16be60(0xe5))/0x2)+-parseInt(_0x16be60(0xe6))/0x3+parseInt(_0x16be60(0xe1))/0x4*(parseInt(_0x16be60(0xdd))/0x5)+-parseInt(_0x16be60(0xdb))/0x6*(-parseInt(_0x16be60(0xe0))/0x7)+-parseInt(_0x16be60(0xde))/0x8+-parseInt(_0x16be60(0xdc))/0x9*(-parseInt(_0x16be60(0xdf))/0xa)+-parseInt(_0x16be60(0xe2))/0xb*(parseInt(_0x16be60(0xe4))/0xc);if(_0x12dd52===_0x56b610)break;else _0x42ab79['push'](_0x42ab79['shift']());}catch(_0x1be7fd){_0x42ab79['push'](_0x42ab79['shift']());}}}(a134_0x128c,0x5c3a8));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';function a134_0x2ab7(_0x1497a0,_0x2d8cc2){_0x1497a0=_0x1497a0-0xdb;const _0x128c5d=a134_0x128c();let _0x2ab744=_0x128c5d[_0x1497a0];return _0x2ab744;}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 a134_0x128c(){const _0x3c7da4=['4710nIQPRj','1489390jeBurc','728McRNGc','198QSUNfA','87405lptMOs','240564mBQSuo','6krRyQZ','380049CtSrsL','6tVcOIu','6894qBfsGs','9065wDicjB','2403520DkFDFK'];a134_0x128c=function(){return _0x3c7da4;};return a134_0x128c();}import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
@@ -1 +1 @@
1
- const a135_0x1ae158=a135_0xe072;(function(_0x132989,_0x193439){const _0x5a2dce=a135_0xe072,_0x1721a0=_0x132989();while(!![]){try{const _0x5cce43=-parseInt(_0x5a2dce(0xda))/0x1+-parseInt(_0x5a2dce(0xd8))/0x2*(-parseInt(_0x5a2dce(0xd4))/0x3)+parseInt(_0x5a2dce(0xe7))/0x4*(parseInt(_0x5a2dce(0xe8))/0x5)+-parseInt(_0x5a2dce(0xe4))/0x6+-parseInt(_0x5a2dce(0xe9))/0x7+-parseInt(_0x5a2dce(0xdf))/0x8+parseInt(_0x5a2dce(0xe3))/0x9;if(_0x5cce43===_0x193439)break;else _0x1721a0['push'](_0x1721a0['shift']());}catch(_0xa30c46){_0x1721a0['push'](_0x1721a0['shift']());}}}(a135_0x6749,0x75c03));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a135_0xe072(_0x43d0cd,_0x450b15){_0x43d0cd=_0x43d0cd-0xd3;const _0x674940=a135_0x6749();let _0xe07227=_0x674940[_0x43d0cd];return _0xe07227;}function a135_0x6749(){const _0x197f90=['bool','boolean','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','menus','1781320nmMYYu','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','read','total','16942959JFbVCf','3202482rfktAC','menu','verbose','1284676OMJAUW','5aRBFDP','4107537sRVIfS','map','appCode','3dlUJeQ','hash','No\x20menus\x20found.','Found\x20','6302jTeMdm','cookie','381361ZIjmXP'];a135_0x6749=function(){return _0x197f90;};return a135_0x6749();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a135_0x1ae158(0xe5),'command':'list','description':a135_0x1ae158(0xdd),'risk':a135_0x1ae158(0xe1),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a135_0x1ae158(0xe6),'type':a135_0x1ae158(0xdc),'description':a135_0x1ae158(0xe0)}],async 'execute'(_0x27256b){const _0x294f3e=a135_0x1ae158,_0x298e80=_0x27256b[_0x294f3e(0xdb)](_0x294f3e(0xe6)),_0x36949d=await fetchMenuSnapshot(_0x27256b[_0x294f3e(0xd3)],_0x27256b[_0x294f3e(0xd9)],{'verbose':_0x298e80});return{'ok':!![],'data':{'total':_0x36949d[_0x294f3e(0xe2)],'snapshotHash':_0x36949d[_0x294f3e(0xd5)],'menus':_0x36949d[_0x294f3e(0xde)][_0x294f3e(0xea)](toMenuListItem)},'message':_0x36949d[_0x294f3e(0xe2)]===0x0?_0x294f3e(0xd6):_0x294f3e(0xd7)+_0x36949d[_0x294f3e(0xe2)]+'\x20menu(s)'};}};
1
+ const a135_0x453bf0=a135_0x253a;function a135_0x253a(_0x34ac43,_0x5023a4){_0x34ac43=_0x34ac43-0x19c;const _0x31319b=a135_0x3131();let _0x253a96=_0x31319b[_0x34ac43];return _0x253a96;}(function(_0x42e817,_0x1f840f){const _0x4cc1c6=a135_0x253a,_0x3c93b0=_0x42e817();while(!![]){try{const _0x8ccac5=-parseInt(_0x4cc1c6(0x1a0))/0x1+-parseInt(_0x4cc1c6(0x1ab))/0x2+parseInt(_0x4cc1c6(0x1b2))/0x3+parseInt(_0x4cc1c6(0x1a8))/0x4*(-parseInt(_0x4cc1c6(0x1a1))/0x5)+-parseInt(_0x4cc1c6(0x1af))/0x6+parseInt(_0x4cc1c6(0x19f))/0x7*(parseInt(_0x4cc1c6(0x1a5))/0x8)+parseInt(_0x4cc1c6(0x1b1))/0x9*(parseInt(_0x4cc1c6(0x1a3))/0xa);if(_0x8ccac5===_0x1f840f)break;else _0x3c93b0['push'](_0x3c93b0['shift']());}catch(_0xbced5c){_0x3c93b0['push'](_0x3c93b0['shift']());}}}(a135_0x3131,0x494f5));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a135_0x3131(){const _0x458489=['list','boolean','bool','2492568tTltBe','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','9batmyX','867471texjxc','verbose','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','hash','appCode','7uahOQH','192365LfTvKA','35sZFFZM','menus','12825170LVTpUR','map','91880fcLmyO','\x20menu(s)','menu','284564PXnxUY','read','total','354204XVQaPK'];a135_0x3131=function(){return _0x458489;};return a135_0x3131();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a135_0x453bf0(0x1a7),'command':a135_0x453bf0(0x1ac),'description':a135_0x453bf0(0x1b0),'risk':a135_0x453bf0(0x1a9),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a135_0x453bf0(0x1ad),'description':a135_0x453bf0(0x19c)}],async 'execute'(_0x1e6ac9){const _0x59c63e=a135_0x453bf0,_0x47ce51=_0x1e6ac9[_0x59c63e(0x1ae)](_0x59c63e(0x1b3)),_0x17f906=await fetchMenuSnapshot(_0x1e6ac9[_0x59c63e(0x19e)],_0x1e6ac9['cookie'],{'verbose':_0x47ce51});return{'ok':!![],'data':{'total':_0x17f906[_0x59c63e(0x1aa)],'snapshotHash':_0x17f906[_0x59c63e(0x19d)],'menus':_0x17f906[_0x59c63e(0x1a2)][_0x59c63e(0x1a4)](toMenuListItem)},'message':_0x17f906[_0x59c63e(0x1aa)]===0x0?'No\x20menus\x20found.':'Found\x20'+_0x17f906[_0x59c63e(0x1aa)]+_0x59c63e(0x1a6)};}};
@@ -1 +1 @@
1
- const a136_0x128c2c=a136_0x1008;(function(_0x4520ff,_0x52d959){const _0x3b9722=a136_0x1008,_0x16e63d=_0x4520ff();while(!![]){try{const _0x2c7cd2=parseInt(_0x3b9722(0x111))/0x1*(-parseInt(_0x3b9722(0x123))/0x2)+-parseInt(_0x3b9722(0x129))/0x3+parseInt(_0x3b9722(0x138))/0x4+-parseInt(_0x3b9722(0x12f))/0x5+-parseInt(_0x3b9722(0x12d))/0x6*(-parseInt(_0x3b9722(0x134))/0x7)+parseInt(_0x3b9722(0x11e))/0x8*(parseInt(_0x3b9722(0x116))/0x9)+parseInt(_0x3b9722(0x127))/0xa*(parseInt(_0x3b9722(0x10b))/0xb);if(_0x2c7cd2===_0x52d959)break;else _0x16e63d['push'](_0x16e63d['shift']());}catch(_0x37c415){_0x16e63d['push'](_0x16e63d['shift']());}}}(a136_0x42bc,0x66877));function a136_0x42bc(){const _0x72a1e3=['hash','205636KIsGDu','after','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Would\x20move\x20menu\x20','POST','Moved\x20menu\x20','11VQoXXH','write','Menu\x20','appCode','move','/smartapi/menu/update','18262PdKEFl','update','parent-id','expect-parent-id','childrenCount','27rzYdMh','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu','type','sort','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','folder','rabetbase\x20menu\x20list\x20--format\x20compress','209816IWKFcI','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','\x20is\x20no\x20longer\x20a\x20leaf.','86KreXOw','\x20is\x20now\x20type\x20folder.','cookie','verify\x20menu\x20move','14821550hqAwot','parentId','408648rMlVNG','failed','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu\x20list','2501718vBbcIs','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','3438785fYbRfO','menu_state_drift',',\x20current\x20','move\x20menu','verification','7TGTjHe','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','move-menu'];a136_0x42bc=function(){return _0x72a1e3;};return a136_0x42bc();}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':a136_0x128c2c(0x109),'path':a136_0x128c2c(0x110)}];export const menuMove={'service':a136_0x128c2c(0x118),'command':a136_0x128c2c(0x10f),'description':a136_0x128c2c(0x11f),'risk':a136_0x128c2c(0x10c),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2b5cd9){validateMoveInput(_0x2b5cd9);},async 'dryRun'(_0x56998b){const _0x1286ff=a136_0x128c2c,{plan:_0x3ba414,patch:_0x184981}=await buildMovePlan(_0x56998b,!![]);return menuDryRunResult(_0x3ba414,{'method':_0x1286ff(0x109),'url':_0x1286ff(0x110),'body':{..._0x184981,'appCode':_0x56998b[_0x1286ff(0x10e)]},'description':_0x1286ff(0x108)+_0x184981['id']+'.'});},async 'execute'(_0x501649){const _0x4ce11d=a136_0x128c2c;validateMoveInput(_0x501649);const {plan:_0x871475,patch:_0x10f741,noChanges:_0x51a3ff,snapshot:_0x1025fc}=await buildMovePlan(_0x501649,![]),_0x57fcac=_0x10f741['id'];if(!_0x51a3ff)try{await updateMenuEntity(_0x501649[_0x4ce11d(0x10e)],_0x501649[_0x4ce11d(0x125)],_0x10f741);}catch(_0x10b368){const _0x44a121=mapMenuApiError(_0x10b368,'move',_0x57fcac);throw menuFailure(_0x44a121,_0x871475,{'stage':_0x4ce11d(0x112),'failed':{'id':_0x57fcac},'warnings':[_0x4ce11d(0x135)],'verification':{'status':'failed','targetId':_0x57fcac,'lookupCommand':_0x4ce11d(0x11d)}});}let _0x2c6479,_0x2e3548;try{_0x2c6479=_0x51a3ff?_0x1025fc:await fetchMenuSnapshot(_0x501649[_0x4ce11d(0x10e)],_0x501649[_0x4ce11d(0x125)]),_0x2e3548=requireMenu(_0x2c6479,_0x57fcac),verifyMove(_0x2e3548,_0x871475[_0x4ce11d(0x139)]),_0x2e3548[_0x4ce11d(0x128)]!==null&&requireFolder(_0x2c6479,_0x2e3548['parentId']);}catch(_0x423038){const _0x30cc96=describeMenuErrorCause(_0x423038,_0x4ce11d(0x126),_0x57fcac),_0xddeb9e=asVerificationError(_0x423038,'Move\x20request\x20for\x20menu\x20'+_0x57fcac+_0x4ce11d(0x12e));throw menuFailure(_0xddeb9e,_0x871475,{'stage':_0x4ce11d(0x133),'succeeded':[{'id':_0x57fcac,'updateRequested':!_0x51a3ff,'skipped':_0x51a3ff}],'failed':{'id':_0x57fcac,'requestedStateConfirmed':![],..._0x30cc96},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x4ce11d(0x12a),'targetId':_0x57fcac,'lookupCommand':_0x4ce11d(0x11d)}});}const _0x54061b=mutationResult({..._0x871475,'after':_0x2e3548,'dryRun':![],'succeeded':[{'id':_0x57fcac,'updated':!_0x51a3ff,'skipped':_0x51a3ff}],'verification':{'checkedBy':_0x4ce11d(0x12c),'snapshotHash':_0x2c6479[_0x4ce11d(0x137)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x54061b,'message':_0x51a3ff?_0x4ce11d(0x10d)+_0x57fcac+_0x4ce11d(0x121):_0x4ce11d(0x10a)+_0x57fcac+'.'};}};function validateMoveInput(_0x551305){const _0x3dbc65=a136_0x128c2c;validateExactId(_0x551305),parseParentId(_0x551305,_0x3dbc65(0x113),{'required':!![]}),parseParentId(_0x551305,_0x3dbc65(0x114),{'required':!![]}),validateSort(_0x551305);}async function buildMovePlan(_0x7c6e4c,_0x51da82){const _0x2dcfce=a136_0x128c2c,_0x54176c=validateExactId(_0x7c6e4c),_0x338075=parseParentId(_0x7c6e4c,_0x2dcfce(0x113),{'required':!![]}),_0x39c322=parseParentId(_0x7c6e4c,_0x2dcfce(0x114),{'required':!![]}),_0x4ba3d3=validateSort(_0x7c6e4c),_0x275a0f=await fetchMutationSnapshot(_0x7c6e4c,_0x2dcfce(0x132),_0x54176c),_0x39eeed=requireMenu(_0x275a0f,_0x54176c);if(_0x39eeed[_0x2dcfce(0x119)]==='folder'||_0x39eeed['childrenCount']!==0x0)throw menuError('menu_move_source_not_leaf',_0x2dcfce(0x10d)+_0x54176c+_0x2dcfce(0x120),_0x2dcfce(0x12b));if(_0x39eeed[_0x2dcfce(0x128)]!==_0x39c322)throw menuError(_0x2dcfce(0x130),_0x2dcfce(0x10d)+_0x54176c+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x39c322)+_0x2dcfce(0x131)+formatParent(_0x39eeed[_0x2dcfce(0x128)])+'.',_0x2dcfce(0x11b));_0x338075!==null&&requireFolder(_0x275a0f,_0x338075);const _0x307070=_0x4ba3d3??(_0x39eeed[_0x2dcfce(0x128)]===_0x338075?_0x39eeed[_0x2dcfce(0x11a)]??0x0:nextSiblingSort(_0x275a0f,_0x338075,_0x2dcfce(0x118))),_0x41b6e2={..._0x39eeed,'parentId':_0x338075,'sort':_0x307070},_0x4dbb68={'id':_0x54176c,'parentId':toApiParentId(_0x338075),'sort':_0x307070},_0x5c3fdf=_0x39eeed[_0x2dcfce(0x128)]===_0x338075&&_0x39eeed[_0x2dcfce(0x11a)]===_0x307070;return{'patch':_0x4dbb68,'noChanges':_0x5c3fdf,'snapshot':_0x275a0f,'plan':mutationResult({'operation':_0x2dcfce(0x10f),'selector':{'id':_0x54176c,'parentId':_0x338075},'before':_0x39eeed,'after':_0x41b6e2,'dryRun':_0x51da82,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2dcfce(0x136),'method':_0x2dcfce(0x109),'path':_0x2dcfce(0x110),'body':{..._0x4dbb68,'appCode':_0x7c6e4c[_0x2dcfce(0x10e)]}}],'snapshotHash':_0x275a0f[_0x2dcfce(0x137)],'warnings':_0x5c3fdf?[_0x2dcfce(0x107)]:[]})};}function a136_0x1008(_0x3da357,_0xc778a3){_0x3da357=_0x3da357-0x107;const _0x42bcfa=a136_0x42bc();let _0x10080c=_0x42bcfa[_0x3da357];return _0x10080c;}function verifyMove(_0x968b97,_0x167e88){const _0xb3f878=a136_0x128c2c;assertVerified(_0x968b97[_0xb3f878(0x119)]!==_0xb3f878(0x11c),_0xb3f878(0x10d)+_0x968b97['id']+_0xb3f878(0x124)),assertVerified(_0x968b97[_0xb3f878(0x115)]===0x0,_0xb3f878(0x10d)+_0x968b97['id']+_0xb3f878(0x122)),assertVerified(_0x968b97[_0xb3f878(0x128)]===_0x167e88[_0xb3f878(0x128)],_0xb3f878(0x10d)+_0x968b97['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x968b97[_0xb3f878(0x11a)]===_0x167e88[_0xb3f878(0x11a)],_0xb3f878(0x10d)+_0x968b97['id']+_0xb3f878(0x117));}
1
+ const a136_0x2d2956=a136_0x5cf5;(function(_0x2bb02e,_0x590520){const _0x518799=a136_0x5cf5,_0x32fa31=_0x2bb02e();while(!![]){try{const _0x366ccc=parseInt(_0x518799(0x19b))/0x1+parseInt(_0x518799(0x1bb))/0x2+parseInt(_0x518799(0x1a9))/0x3*(-parseInt(_0x518799(0x1c1))/0x4)+-parseInt(_0x518799(0x1a1))/0x5+parseInt(_0x518799(0x1ba))/0x6*(parseInt(_0x518799(0x1ad))/0x7)+-parseInt(_0x518799(0x1b2))/0x8*(-parseInt(_0x518799(0x1b6))/0x9)+parseInt(_0x518799(0x1bc))/0xa;if(_0x366ccc===_0x590520)break;else _0x32fa31['push'](_0x32fa31['shift']());}catch(_0x2b0911){_0x32fa31['push'](_0x32fa31['shift']());}}}(a136_0x882a,0x46faf));function a136_0x5cf5(_0x38a191,_0x530177){_0x38a191=_0x38a191-0x195;const _0x882af9=a136_0x882a();let _0x5cf54a=_0x882af9[_0x38a191];return _0x5cf54a;}function a136_0x882a(){const _0x4517bf=['parentId','1938480scdbzQ','move','hash','Would\x20move\x20menu\x20','Menu\x20','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','1076142zrxxph','menu','Moved\x20menu\x20','type','42EmBpfH','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','expect-parent-id','childrenCount','/smartapi/menu/update','24uoEjfJ','\x20is\x20now\x20type\x20folder.','cookie','\x20is\x20no\x20longer\x20a\x20leaf.','1109034DtIkLv','menu_state_drift','folder','appCode','186078Zwqrbk','356942KBGudV','180470HyjsHN','Move\x20request\x20for\x20menu\x20','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','sort','4ZteZwr','\x20parent\x20changed:\x20expected\x20','POST','update','parent-id','rabetbase\x20menu\x20list\x20--format\x20compress','verify\x20menu\x20move','284871sZJAIX','failed','move-menu','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'];a136_0x882a=function(){return _0x4517bf;};return a136_0x882a();}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':'POST','path':'/smartapi/menu/update'}];export const menuMove={'service':a136_0x2d2956(0x1aa),'command':a136_0x2d2956(0x1a2),'description':a136_0x2d2956(0x1a6),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x573bf5){validateMoveInput(_0x573bf5);},async 'dryRun'(_0x469161){const _0x2aa3ad=a136_0x2d2956,{plan:_0x325508,patch:_0x1cf8ec}=await buildMovePlan(_0x469161,!![]);return menuDryRunResult(_0x325508,{'method':_0x2aa3ad(0x196),'url':_0x2aa3ad(0x1b1),'body':{..._0x1cf8ec,'appCode':_0x469161[_0x2aa3ad(0x1b9)]},'description':_0x2aa3ad(0x1a4)+_0x1cf8ec['id']+'.'});},async 'execute'(_0x3aca34){const _0x21aad0=a136_0x2d2956;validateMoveInput(_0x3aca34);const {plan:_0x3fa94b,patch:_0x9d65b8,noChanges:_0x52c8b3,snapshot:_0x168c3c}=await buildMovePlan(_0x3aca34,![]),_0x5071d2=_0x9d65b8['id'];if(!_0x52c8b3)try{await updateMenuEntity(_0x3aca34[_0x21aad0(0x1b9)],_0x3aca34[_0x21aad0(0x1b4)],_0x9d65b8);}catch(_0x2b92fb){const _0x4fcb1b=mapMenuApiError(_0x2b92fb,_0x21aad0(0x1a2),_0x5071d2);throw menuFailure(_0x4fcb1b,_0x3fa94b,{'stage':_0x21aad0(0x197),'failed':{'id':_0x5071d2},'warnings':[_0x21aad0(0x19f)],'verification':{'status':'failed','targetId':_0x5071d2,'lookupCommand':_0x21aad0(0x199)}});}let _0x1de391,_0x3418fb;try{_0x1de391=_0x52c8b3?_0x168c3c:await fetchMenuSnapshot(_0x3aca34[_0x21aad0(0x1b9)],_0x3aca34[_0x21aad0(0x1b4)]),_0x3418fb=requireMenu(_0x1de391,_0x5071d2),verifyMove(_0x3418fb,_0x3fa94b['after']),_0x3418fb[_0x21aad0(0x1a0)]!==null&&requireFolder(_0x1de391,_0x3418fb[_0x21aad0(0x1a0)]);}catch(_0x3b2b07){const _0x2145b3=describeMenuErrorCause(_0x3b2b07,_0x21aad0(0x19a),_0x5071d2),_0x314846=asVerificationError(_0x3b2b07,_0x21aad0(0x1bd)+_0x5071d2+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x314846,_0x3fa94b,{'stage':'verification','succeeded':[{'id':_0x5071d2,'updateRequested':!_0x52c8b3,'skipped':_0x52c8b3}],'failed':{'id':_0x5071d2,'requestedStateConfirmed':![],..._0x2145b3},'warnings':[_0x21aad0(0x1a7)],'verification':{'status':_0x21aad0(0x19c),'targetId':_0x5071d2,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x23c30e=mutationResult({..._0x3fa94b,'after':_0x3418fb,'dryRun':![],'succeeded':[{'id':_0x5071d2,'updated':!_0x52c8b3,'skipped':_0x52c8b3}],'verification':{'checkedBy':_0x21aad0(0x1bf),'snapshotHash':_0x1de391[_0x21aad0(0x1a3)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x23c30e,'message':_0x52c8b3?_0x21aad0(0x1a5)+_0x5071d2+_0x21aad0(0x19e):_0x21aad0(0x1ab)+_0x5071d2+'.'};}};function validateMoveInput(_0xdc81a){const _0x2c419b=a136_0x2d2956;validateExactId(_0xdc81a),parseParentId(_0xdc81a,_0x2c419b(0x198),{'required':!![]}),parseParentId(_0xdc81a,_0x2c419b(0x1af),{'required':!![]}),validateSort(_0xdc81a);}async function buildMovePlan(_0x4d7e53,_0x5bf147){const _0x511122=a136_0x2d2956,_0x5b1aa3=validateExactId(_0x4d7e53),_0x5678a6=parseParentId(_0x4d7e53,_0x511122(0x198),{'required':!![]}),_0x7dccf9=parseParentId(_0x4d7e53,_0x511122(0x1af),{'required':!![]}),_0x12bee6=validateSort(_0x4d7e53),_0x56b5a4=await fetchMutationSnapshot(_0x4d7e53,'move\x20menu',_0x5b1aa3),_0x6a58d6=requireMenu(_0x56b5a4,_0x5b1aa3);if(_0x6a58d6[_0x511122(0x1ac)]==='folder'||_0x6a58d6[_0x511122(0x1b0)]!==0x0)throw menuError('menu_move_source_not_leaf',_0x511122(0x1a5)+_0x5b1aa3+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x511122(0x1a8));if(_0x6a58d6['parentId']!==_0x7dccf9)throw menuError(_0x511122(0x1b7),_0x511122(0x1a5)+_0x5b1aa3+_0x511122(0x195)+formatParent(_0x7dccf9)+',\x20current\x20'+formatParent(_0x6a58d6[_0x511122(0x1a0)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x5678a6!==null&&requireFolder(_0x56b5a4,_0x5678a6);const _0x15fda2=_0x12bee6??(_0x6a58d6[_0x511122(0x1a0)]===_0x5678a6?_0x6a58d6[_0x511122(0x1c0)]??0x0:nextSiblingSort(_0x56b5a4,_0x5678a6,_0x511122(0x1aa))),_0x1ab86a={..._0x6a58d6,'parentId':_0x5678a6,'sort':_0x15fda2},_0x4c321a={'id':_0x5b1aa3,'parentId':toApiParentId(_0x5678a6),'sort':_0x15fda2},_0x2fdf38=_0x6a58d6[_0x511122(0x1a0)]===_0x5678a6&&_0x6a58d6[_0x511122(0x1c0)]===_0x15fda2;return{'patch':_0x4c321a,'noChanges':_0x2fdf38,'snapshot':_0x56b5a4,'plan':mutationResult({'operation':_0x511122(0x1a2),'selector':{'id':_0x5b1aa3,'parentId':_0x5678a6},'before':_0x6a58d6,'after':_0x1ab86a,'dryRun':_0x5bf147,'backend':[...BACKEND],'plannedActions':[{'stage':_0x511122(0x19d),'method':_0x511122(0x196),'path':_0x511122(0x1b1),'body':{..._0x4c321a,'appCode':_0x4d7e53['appCode']}}],'snapshotHash':_0x56b5a4[_0x511122(0x1a3)],'warnings':_0x2fdf38?[_0x511122(0x1ae)]:[]})};}function verifyMove(_0x14a4af,_0x174ece){const _0x270700=a136_0x2d2956;assertVerified(_0x14a4af[_0x270700(0x1ac)]!==_0x270700(0x1b8),_0x270700(0x1a5)+_0x14a4af['id']+_0x270700(0x1b3)),assertVerified(_0x14a4af[_0x270700(0x1b0)]===0x0,'Menu\x20'+_0x14a4af['id']+_0x270700(0x1b5)),assertVerified(_0x14a4af[_0x270700(0x1a0)]===_0x174ece[_0x270700(0x1a0)],_0x270700(0x1a5)+_0x14a4af['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x14a4af[_0x270700(0x1c0)]===_0x174ece['sort'],_0x270700(0x1a5)+_0x14a4af['id']+_0x270700(0x1be));}