@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.d.ts +7 -0
  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.d.ts +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.d.ts +107 -0
  68. package/lib/commands/dataset/field-restore.js +1 -0
  69. package/lib/commands/dataset/field-update.js +1 -1
  70. package/lib/commands/dataset/generate.js +1 -1
  71. package/lib/commands/dataset/index.js +1 -1
  72. package/lib/commands/dataset/list.js +1 -1
  73. package/lib/commands/dataset/operations.js +1 -1
  74. package/lib/commands/dataset/relation-audit.js +1 -1
  75. package/lib/commands/dataset/relation-create.js +1 -1
  76. package/lib/commands/dataset/relation-delete.js +1 -1
  77. package/lib/commands/dataset/relation-shared.js +1 -1
  78. package/lib/commands/dataset/relation-update.js +1 -1
  79. package/lib/commands/dataset/relations.js +1 -1
  80. package/lib/commands/dataset/rename.js +1 -1
  81. package/lib/commands/dataset/restore.js +1 -1
  82. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  83. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  84. package/lib/commands/db/analysis-batching.js +1 -1
  85. package/lib/commands/db/analyze-batch-plan.js +1 -1
  86. package/lib/commands/db/analyze-cancel.js +1 -1
  87. package/lib/commands/db/analyze-start.js +1 -1
  88. package/lib/commands/db/analyze-status.js +1 -1
  89. package/lib/commands/db/create.js +1 -1
  90. package/lib/commands/db/delete.js +1 -1
  91. package/lib/commands/db/detail.js +1 -1
  92. package/lib/commands/db/diff-refresh-start.js +1 -1
  93. package/lib/commands/db/diff-refresh-status.js +1 -1
  94. package/lib/commands/db/diff.js +1 -1
  95. package/lib/commands/db/index.js +1 -1
  96. package/lib/commands/db/list.js +1 -1
  97. package/lib/commands/db/shared.js +1 -1
  98. package/lib/commands/db/table-diff-shared.js +1 -1
  99. package/lib/commands/db/tables.js +1 -1
  100. package/lib/commands/db/test.js +1 -1
  101. package/lib/commands/db/update.js +1 -1
  102. package/lib/commands/deployment/auto-sync.d.ts +28 -0
  103. package/lib/commands/deployment/auto-sync.js +1 -0
  104. package/lib/commands/deployment/index.d.ts +2 -0
  105. package/lib/commands/deployment/index.js +1 -0
  106. package/lib/commands/deployment/sync.d.ts +2 -0
  107. package/lib/commands/deployment/sync.js +1 -0
  108. package/lib/commands/doctor.js +1 -1
  109. package/lib/commands/file/index.js +1 -1
  110. package/lib/commands/issue/index.js +1 -1
  111. package/lib/commands/issue/nudge.js +1 -1
  112. package/lib/commands/issue/report.js +1 -1
  113. package/lib/commands/issue/shared.js +1 -1
  114. package/lib/commands/kb/create.js +1 -1
  115. package/lib/commands/kb/delete.js +1 -1
  116. package/lib/commands/kb/detail.js +1 -1
  117. package/lib/commands/kb/index.js +1 -1
  118. package/lib/commands/kb/list.js +1 -1
  119. package/lib/commands/kb/search.js +1 -1
  120. package/lib/commands/kb/shared.js +1 -1
  121. package/lib/commands/kb/update.js +1 -1
  122. package/lib/commands/logs/index.js +1 -1
  123. package/lib/commands/menu/asset-update.js +1 -1
  124. package/lib/commands/menu/delete.js +1 -1
  125. package/lib/commands/menu/external-link-create.js +1 -1
  126. package/lib/commands/menu/external-link-update.js +1 -1
  127. package/lib/commands/menu/group-create.js +1 -1
  128. package/lib/commands/menu/group-update.js +1 -1
  129. package/lib/commands/menu/index.js +1 -1
  130. package/lib/commands/menu/list.js +1 -1
  131. package/lib/commands/menu/move.js +1 -1
  132. package/lib/commands/menu/regroup-start.js +1 -1
  133. package/lib/commands/menu/rename.js +1 -1
  134. package/lib/commands/menu/shared/compare-table.js +1 -1
  135. package/lib/commands/menu/shared/delete-plan.js +1 -1
  136. package/lib/commands/menu/shared/facts.js +1 -1
  137. package/lib/commands/menu/shared/index.js +1 -1
  138. package/lib/commands/menu/shared/inquirer.js +1 -1
  139. package/lib/commands/menu/shared/local-pages.js +1 -1
  140. package/lib/commands/menu/shared/logic.js +1 -1
  141. package/lib/commands/menu/shared/mutations.js +1 -1
  142. package/lib/commands/menu/shared/service.js +1 -1
  143. package/lib/commands/menu/shared/sync-core.js +1 -1
  144. package/lib/commands/menu/shared/update-core.js +1 -1
  145. package/lib/commands/menu/shared/valid-url.js +1 -1
  146. package/lib/commands/menu/sync.js +1 -1
  147. package/lib/commands/menu/visibility-update.js +1 -1
  148. package/lib/commands/notification/config-create.js +1 -1
  149. package/lib/commands/notification/config-delete.js +1 -1
  150. package/lib/commands/notification/config-list.js +1 -1
  151. package/lib/commands/notification/config-update.js +1 -1
  152. package/lib/commands/notification/index.js +1 -1
  153. package/lib/commands/notification/shared.js +1 -1
  154. package/lib/commands/ocr/index.js +1 -1
  155. package/lib/commands/page/create.js +1 -1
  156. package/lib/commands/page/custom/detail.js +1 -1
  157. package/lib/commands/page/custom/list.js +1 -1
  158. package/lib/commands/page/custom/publish.js +1 -1
  159. package/lib/commands/page/custom/shared.js +1 -1
  160. package/lib/commands/page/custom/syntax.js +1 -1
  161. package/lib/commands/page/custom/template.js +1 -1
  162. package/lib/commands/page/custom/update.js +1 -1
  163. package/lib/commands/page/data-list-status.js +1 -1
  164. package/lib/commands/page/generate-start.js +1 -1
  165. package/lib/commands/page/generate-status.js +1 -1
  166. package/lib/commands/page/index.js +1 -1
  167. package/lib/commands/page/pull.js +1 -1
  168. package/lib/commands/page/push.js +1 -1
  169. package/lib/commands/page/relation-audit.js +1 -1
  170. package/lib/commands/page/restore.js +1 -1
  171. package/lib/commands/page/shared.js +1 -1
  172. package/lib/commands/page/sync.js +1 -1
  173. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  174. package/lib/commands/project/create/format-elapsed.js +1 -1
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.js +1 -1
  177. package/lib/commands/project/create/project-name.js +1 -1
  178. package/lib/commands/project/create/project-template-archive.js +1 -1
  179. package/lib/commands/project/create/project-template-path.js +1 -1
  180. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  181. package/lib/commands/project/create/use-format-code.js +1 -1
  182. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  183. package/lib/commands/project/index.js +1 -1
  184. package/lib/commands/project/upgrade.js +1 -1
  185. package/lib/commands/registry.js +1 -1
  186. package/lib/commands/role/delete.js +1 -1
  187. package/lib/commands/role/detail.js +1 -1
  188. package/lib/commands/role/index.js +1 -1
  189. package/lib/commands/role/list.js +1 -1
  190. package/lib/commands/role/shared.js +1 -1
  191. package/lib/commands/role/update.js +1 -1
  192. package/lib/commands/role/user-add.js +1 -1
  193. package/lib/commands/role/user-remove.js +1 -1
  194. package/lib/commands/role/user-resolve.js +1 -1
  195. package/lib/commands/run/index.js +1 -1
  196. package/lib/commands/schema.js +1 -1
  197. package/lib/commands/sql/create.js +1 -1
  198. package/lib/commands/sql/delete.js +1 -1
  199. package/lib/commands/sql/detail.js +1 -1
  200. package/lib/commands/sql/exec.js +1 -1
  201. package/lib/commands/sql/index.js +1 -1
  202. package/lib/commands/sql/list.js +1 -1
  203. package/lib/commands/sql/pull.js +1 -1
  204. package/lib/commands/sql/push.js +1 -1
  205. package/lib/commands/sql/shared.js +1 -1
  206. package/lib/commands/sql/status.js +1 -1
  207. package/lib/commands/sql/validate.js +1 -1
  208. package/lib/commands/task/index.js +1 -1
  209. package/lib/commands/task/status.js +1 -1
  210. package/lib/commands/tenant/index.js +1 -1
  211. package/lib/commands/tenant/members-list.js +1 -1
  212. package/lib/commands/tenant/shared.js +1 -1
  213. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  214. package/lib/commands/user-account/index.js +1 -1
  215. package/lib/commands/workspace/add.js +1 -1
  216. package/lib/commands/workspace/index.js +1 -1
  217. package/lib/commands/workspace/remove.js +1 -1
  218. package/lib/config/deployment-sync.d.ts +10 -0
  219. package/lib/config/deployment-sync.js +1 -0
  220. package/lib/config/domain-config.d.ts +1 -1
  221. package/lib/config/domain-config.js +1 -1
  222. package/lib/config/project-routing.d.ts +30 -0
  223. package/lib/config/project-routing.js +1 -0
  224. package/lib/config/schema.d.ts +1 -1
  225. package/lib/config/schema.js +1 -1
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.d.ts +7 -2
  230. package/lib/constant/domain.js +1 -1
  231. package/lib/constant/env.js +1 -1
  232. package/lib/constant/output.js +1 -1
  233. package/lib/constant/paths.js +1 -1
  234. package/lib/constant/region.d.ts +2 -2
  235. package/lib/constant/region.js +1 -1
  236. package/lib/constant/risk.js +1 -1
  237. package/lib/constant/routing-profile.d.ts +115 -0
  238. package/lib/constant/routing-profile.js +1 -0
  239. package/lib/context/app-resolver.d.ts +2 -0
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +35 -0
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/page/file-system.js +1 -1
  254. package/lib/core/page/hash.js +1 -1
  255. package/lib/core/page/lock.js +1 -1
  256. package/lib/core/sql-index-auditor.js +1 -1
  257. package/lib/core/sql-sync/config.js +1 -1
  258. package/lib/core/sql-sync/file-system.js +1 -1
  259. package/lib/core/sql-sync/hash.js +1 -1
  260. package/lib/core/sql-sync/lock.js +1 -1
  261. package/lib/core/sql-sync/utils.js +1 -1
  262. package/lib/core/sql-validator.js +1 -1
  263. package/lib/errors.js +1 -1
  264. package/lib/framework/build-all-flags.js +1 -1
  265. package/lib/framework/error-output.js +1 -1
  266. package/lib/framework/explicit-yes.js +1 -1
  267. package/lib/framework/flags.js +1 -1
  268. package/lib/framework/help.js +1 -1
  269. package/lib/framework/index.js +1 -1
  270. package/lib/framework/output.js +1 -1
  271. package/lib/framework/response.js +1 -1
  272. package/lib/framework/runner-alias.js +1 -1
  273. package/lib/framework/runner.js +1 -1
  274. package/lib/framework/schema-export.js +1 -1
  275. package/lib/framework/types.d.ts +4 -0
  276. package/lib/framework/types.js +1 -1
  277. package/lib/generated/build-info.d.ts +4 -4
  278. package/lib/generated/build-info.js +1 -1
  279. package/lib/help.js +1 -1
  280. package/lib/postinstall.js +1 -1
  281. package/lib/runtime/confirmation.js +1 -1
  282. package/lib/runtime/event.js +1 -1
  283. package/lib/runtime/index.js +1 -1
  284. package/lib/runtime/queue.js +1 -1
  285. package/lib/runtime/resolve.js +1 -1
  286. package/lib/skills/builtin-skill.js +1 -1
  287. package/lib/skills/main.js +1 -1
  288. package/lib/skills/npx-skills-add.js +1 -1
  289. package/lib/skills/skill-presence.js +1 -1
  290. package/lib/telemetry/cli-command-trace.js +1 -1
  291. package/lib/telemetry/cli-help-trace.js +1 -1
  292. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  293. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  294. package/lib/telemetry/send-cli-trace-log.js +1 -1
  295. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  296. package/lib/utils/ai_config.js +1 -1
  297. package/lib/utils/apply-jq-filter.js +1 -1
  298. package/lib/utils/cdn-config.js +1 -1
  299. package/lib/utils/check-sdk-version.js +1 -1
  300. package/lib/utils/cli-version-check.js +1 -1
  301. package/lib/utils/cli-version-policy.js +1 -1
  302. package/lib/utils/config.js +1 -1
  303. package/lib/utils/entity-with-id.js +1 -1
  304. package/lib/utils/file-utils.js +1 -1
  305. package/lib/utils/guides-cdn.js +1 -1
  306. package/lib/utils/http-client.js +1 -1
  307. package/lib/utils/is-non-interactive.js +1 -1
  308. package/lib/utils/logger.js +1 -1
  309. package/lib/utils/params.js +1 -1
  310. package/lib/utils/platform.js +1 -1
  311. package/lib/utils/sleep.js +1 -1
  312. package/lib/utils/template-replacer.js +1 -1
  313. package/lib/utils/update-notice.js +1 -1
  314. package/lib/utils/version.js +1 -1
  315. package/lib/utils/with-active-cookie.js +1 -1
  316. package/lib/utils/write-cli-side-channel.js +1 -1
  317. package/package.json +1 -2
  318. package/skills/rabetbase/SKILL.md +20 -9
  319. package/skills/rabetbase/guides/frontend-development.md +2 -0
  320. package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
  321. package/skills/rabetbase/guides/typescript-sdk.md +42 -0
  322. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
  323. package/skills/rabetbase/references/rabetbase-config.md +9 -5
  324. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  325. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  326. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  327. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  328. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  329. package/skills/rabetbase/references/rabetbase-init.md +11 -5
  330. package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
  331. package/skills/rabetbase.manifest.json +6 -3
  332. package/templates/README.md +13 -17
@@ -1 +1 @@
1
- const a108_0x401cac=a108_0x62ec;(function(_0x10c830,_0x310c62){const _0x32f823=a108_0x62ec,_0x41b906=_0x10c830();while(!![]){try{const _0x57e406=parseInt(_0x32f823(0x148))/0x1*(parseInt(_0x32f823(0x121))/0x2)+-parseInt(_0x32f823(0x13b))/0x3*(-parseInt(_0x32f823(0x129))/0x4)+parseInt(_0x32f823(0x13a))/0x5+-parseInt(_0x32f823(0x143))/0x6+-parseInt(_0x32f823(0x11d))/0x7*(-parseInt(_0x32f823(0x122))/0x8)+-parseInt(_0x32f823(0x13c))/0x9*(parseInt(_0x32f823(0x128))/0xa)+-parseInt(_0x32f823(0x141))/0xb;if(_0x57e406===_0x310c62)break;else _0x41b906['push'](_0x41b906['shift']());}catch(_0xca342f){_0x41b906['push'](_0x41b906['shift']());}}}(a108_0x5faa,0xf22a0));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH='/admin/knowledge-base/update',NON_ATOMIC_WARNING=a108_0x401cac(0x137);function readUpdatePatch(_0x2b8f5e){const _0x2e1c1c=a108_0x401cac,_0x2e29bf=readKbId(_0x2b8f5e),_0x54f758=_0x2b8f5e['flag']('title'),_0x153e90=_0x2b8f5e[_0x2e1c1c(0x11b)](_0x2e1c1c(0x130)),_0x6d1821=_0x2b8f5e[_0x2e1c1c(0x11b)](_0x2e1c1c(0x127)),_0x419968=_0x54f758===undefined?undefined:String(_0x54f758)['trim']();if(_0x54f758!==undefined&&!_0x419968)throw kbError('kb_title_invalid',_0x2e1c1c(0x12c));const _0x28d5a2=_0x153e90===undefined?undefined:String(_0x153e90)[_0x2e1c1c(0x12e)]();if(_0x153e90!==undefined&&!_0x28d5a2)throw kbError(_0x2e1c1c(0x14d),'--file\x20cannot\x20be\x20empty.');if(_0x419968===undefined&&_0x28d5a2===undefined)throw kbError(_0x2e1c1c(0x13f),_0x2e1c1c(0x12f),_0x2e1c1c(0x135));let _0x18941a;if(_0x6d1821!==undefined){_0x18941a=Number(_0x6d1821);if(!Number[_0x2e1c1c(0x132)](_0x18941a)||_0x18941a<0x0)throw kbError(_0x2e1c1c(0x11a),_0x2e1c1c(0x138));}return{'id':_0x2e29bf,'title':_0x419968,'file':_0x28d5a2,'expectedVersion':_0x18941a};}function a108_0x62ec(_0x1d64d1,_0x55c00e){_0x1d64d1=_0x1d64d1-0x118;const _0x5faac4=a108_0x5faa();let _0x62ec62=_0x5faac4[_0x1d64d1];return _0x62ec62;}async function prepareUpdate(_0x51139b){const _0x12b69c=a108_0x401cac,_0xb7cb1a=readUpdatePatch(_0x51139b),_0x5bd581=await requireKb(_0x51139b,_0xb7cb1a['id']);assertExpectedKbVersion(_0x5bd581,_0xb7cb1a[_0x12b69c(0x147)]);const _0x276801=_0xb7cb1a[_0x12b69c(0x130)]?await readKbFile(_0xb7cb1a['file']):undefined,_0x19b80d=projectKb(_0x5bd581),_0x148dc4=projectKb({..._0x5bd581,..._0xb7cb1a[_0x12b69c(0x11f)]!==undefined?{'title':_0xb7cb1a[_0x12b69c(0x11f)]}:{},..._0x276801?{'content':_0x276801[_0x12b69c(0x120)]}:{}});return{'patch':_0xb7cb1a,'beforeRecord':_0x5bd581,'before':_0x19b80d,'planned':_0x148dc4,'replacement':_0x276801};}function a108_0x5faa(){const _0x4aaf94=['isSafeInteger','write','rabetbase\x20kb\x20detail\x20--id\x20','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','verified','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','before','7922345fxJqkH','3QjSTvj','9clcibw','update','\x20--format\x20compress','kb_update_empty','POST','18850392atmcIY','version','7994784frwjRb','company','kb_verification_failed','New\x20knowledge-base\x20title','expectedVersion','1XKcATM','string','number','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','kb_update_outcome_unknown','kb_file_required','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','appCode','kb_expected_version_invalid','flag','contentHash','1148RcYIDZ','patch','title','content','1665854rYXAUW','50584IOyMoO','push','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','replacement','beforeRecord','expected-version','6759910ISDJtd','5038652vQvJlS','Company\x20knowledge\x20base\x20','Company\x20knowledge-base\x20id','--title\x20cannot\x20be\x20empty.','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','trim','Nothing\x20to\x20update.','file','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection'];a108_0x5faa=function(){return _0x4aaf94;};return a108_0x5faa();}export const kbUpdate={'service':'kb','command':a108_0x401cac(0x13d),'description':a108_0x401cac(0x131),'risk':a108_0x401cac(0x133),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a108_0x401cac(0x14a),'required':!![],'description':a108_0x401cac(0x12b)},{'name':a108_0x401cac(0x11f),'type':a108_0x401cac(0x149),'required':![],'description':a108_0x401cac(0x146)},{'name':a108_0x401cac(0x130),'type':a108_0x401cac(0x149),'required':![],'description':a108_0x401cac(0x12d)},{'name':a108_0x401cac(0x127),'type':'number','required':![],'description':'Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version'}],async 'validate'(_0x1e9869){readUpdatePatch(_0x1e9869);},async 'dryRun'(_0x2ed2e0){const _0x21dac2=a108_0x401cac,_0x5b3f38=await prepareUpdate(_0x2ed2e0),_0x3206f8=_0x5b3f38[_0x21dac2(0x11e)][_0x21dac2(0x147)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':'update','selector':{'id':_0x5b3f38[_0x21dac2(0x139)]['id'],'scope':'company','appCode':_0x5b3f38['before']['appCode']},'before':_0x5b3f38[_0x21dac2(0x139)],'after':_0x5b3f38['planned'],'dryRun':!![],'backend':{'method':_0x21dac2(0x140),'path':UPDATE_PATH},'warnings':_0x3206f8,'verification':{'expectedVersion':_0x5b3f38[_0x21dac2(0x11e)]['expectedVersion']??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x5b3f38[_0x21dac2(0x139)]['snapshotHash'],'lookupCommand':_0x21dac2(0x134)+_0x5b3f38[_0x21dac2(0x139)]['id']+_0x21dac2(0x13e)}},{'method':_0x21dac2(0x140),'url':UPDATE_PATH});},async 'execute'(_0x323f3c){const _0x4f87fe=a108_0x401cac,_0xd0efee=await prepareUpdate(_0x323f3c),_0xbf9633={'id':_0xd0efee[_0x4f87fe(0x11e)]['id'],..._0xd0efee[_0x4f87fe(0x11e)][_0x4f87fe(0x11f)]!==undefined?{'title':_0xd0efee[_0x4f87fe(0x11e)][_0x4f87fe(0x11f)]}:{},..._0xd0efee[_0x4f87fe(0x125)]?{'content':_0xd0efee[_0x4f87fe(0x125)]['content']}:{}};let _0x5f3c59=![];try{const _0x10c381=await updateEnterpriseKnowledgeBase(_0x323f3c['cookie'],_0xbf9633);assertCompanyKnowledgeBase(_0x10c381,_0x323f3c[_0x4f87fe(0x119)],_0xd0efee['patch']['id']);}catch(_0x5ee3a0){if(!isPlatformTransportFailure(_0x5ee3a0))throw _0x5ee3a0;_0x5f3c59=!![];}const _0x577ca8=await verifyKbMutationReadback(_0x4f87fe(0x13d),_0x5f3c59,()=>requireKb(_0x323f3c,_0xd0efee[_0x4f87fe(0x11e)]['id'])),_0x33fcb1=projectKb(_0x577ca8),_0x4cc758=_0xd0efee[_0x4f87fe(0x11e)][_0x4f87fe(0x11f)]===undefined||_0x577ca8[_0x4f87fe(0x11f)]===_0xd0efee[_0x4f87fe(0x11e)][_0x4f87fe(0x11f)],_0x686bd0=!_0xd0efee['replacement']||inspectKbContent(_0x577ca8[_0x4f87fe(0x120)])['contentHash']===_0xd0efee[_0x4f87fe(0x125)][_0x4f87fe(0x11c)],_0x198f0e=!_0xd0efee[_0x4f87fe(0x125)]||_0x577ca8[_0x4f87fe(0x142)]>_0xd0efee[_0x4f87fe(0x126)][_0x4f87fe(0x142)],_0x1f20f5=!_0x5f3c59||_0xd0efee[_0x4f87fe(0x125)]!==undefined||_0xd0efee[_0x4f87fe(0x11e)]['title']===undefined||_0xd0efee['beforeRecord'][_0x4f87fe(0x11f)]!==_0xd0efee['patch'][_0x4f87fe(0x11f)];if(!_0x4cc758||!_0x686bd0||!_0x198f0e||!_0x1f20f5)throw kbError(_0x5f3c59?_0x4f87fe(0x14c):_0x4f87fe(0x145),_0x4f87fe(0x12a)+_0xd0efee[_0x4f87fe(0x11e)]['id']+_0x4f87fe(0x118),_0x4f87fe(0x14b)+_0xd0efee[_0x4f87fe(0x11e)]['id']+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x376511=[];return _0xd0efee[_0x4f87fe(0x11e)][_0x4f87fe(0x147)]!==undefined&&_0x376511[_0x4f87fe(0x123)](NON_ATOMIC_WARNING),_0x5f3c59&&_0x376511[_0x4f87fe(0x123)](_0x4f87fe(0x124)),{'ok':!![],'data':{'operation':_0x4f87fe(0x13d),'selector':{'id':_0x33fcb1['id'],'scope':_0x4f87fe(0x144),'appCode':_0x33fcb1[_0x4f87fe(0x119)]},'before':_0xd0efee[_0x4f87fe(0x139)],'after':_0x33fcb1,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x376511,'verification':{'status':_0x4f87fe(0x136),'recoveredAfterUnknownResponse':_0x5f3c59,'expectedVersion':_0xd0efee['patch'][_0x4f87fe(0x147)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x33fcb1['id']+_0x4f87fe(0x13e)}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x33fcb1['id']};}};
1
+ function a113_0x207e(_0x5c4d47,_0x4c8698){_0x5c4d47=_0x5c4d47-0x68;const _0x5dfe68=a113_0x5dfe();let _0x207e2d=_0x5dfe68[_0x5c4d47];return _0x207e2d;}const a113_0x7fe2e6=a113_0x207e;(function(_0x192417,_0x497f41){const _0x44f40b=a113_0x207e,_0x542842=_0x192417();while(!![]){try{const _0x3c5d85=parseInt(_0x44f40b(0x83))/0x1*(-parseInt(_0x44f40b(0x6e))/0x2)+-parseInt(_0x44f40b(0x70))/0x3+-parseInt(_0x44f40b(0x91))/0x4*(-parseInt(_0x44f40b(0x89))/0x5)+parseInt(_0x44f40b(0x7b))/0x6*(parseInt(_0x44f40b(0x6c))/0x7)+parseInt(_0x44f40b(0x9e))/0x8*(parseInt(_0x44f40b(0x74))/0x9)+-parseInt(_0x44f40b(0x7f))/0xa*(-parseInt(_0x44f40b(0x6f))/0xb)+parseInt(_0x44f40b(0x78))/0xc;if(_0x3c5d85===_0x497f41)break;else _0x542842['push'](_0x542842['shift']());}catch(_0x567cb3){_0x542842['push'](_0x542842['shift']());}}}(a113_0x5dfe,0xa2ab1));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a113_0x7fe2e6(0x82),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x26c0d6){const _0x18e6b5=a113_0x7fe2e6,_0x65a2cf=readKbId(_0x26c0d6),_0xf5afad=_0x26c0d6[_0x18e6b5(0x7d)](_0x18e6b5(0x9d)),_0x2596ea=_0x26c0d6[_0x18e6b5(0x7d)](_0x18e6b5(0x84)),_0x568e48=_0x26c0d6['flag'](_0x18e6b5(0x77)),_0x523795=_0xf5afad===undefined?undefined:String(_0xf5afad)[_0x18e6b5(0x7e)]();if(_0xf5afad!==undefined&&!_0x523795)throw kbError('kb_title_invalid','--title\x20cannot\x20be\x20empty.');const _0x8360a2=_0x2596ea===undefined?undefined:String(_0x2596ea)['trim']();if(_0x2596ea!==undefined&&!_0x8360a2)throw kbError(_0x18e6b5(0x8b),_0x18e6b5(0x80));if(_0x523795===undefined&&_0x8360a2===undefined)throw kbError(_0x18e6b5(0x75),'Nothing\x20to\x20update.',_0x18e6b5(0x6a));let _0x43da22;if(_0x568e48!==undefined){_0x43da22=Number(_0x568e48);if(!Number[_0x18e6b5(0x94)](_0x43da22)||_0x43da22<0x0)throw kbError(_0x18e6b5(0x93),_0x18e6b5(0x85));}return{'id':_0x65a2cf,'title':_0x523795,'file':_0x8360a2,'expectedVersion':_0x43da22};}async function prepareUpdate(_0x1abfd8){const _0x4760bd=a113_0x7fe2e6,_0x4e580e=readUpdatePatch(_0x1abfd8),_0x3d5248=await requireKb(_0x1abfd8,_0x4e580e['id']);assertExpectedKbVersion(_0x3d5248,_0x4e580e['expectedVersion']);const _0x30900e=_0x4e580e[_0x4760bd(0x84)]?await readKbFile(_0x4e580e[_0x4760bd(0x84)]):undefined,_0x3b6bae=projectKb(_0x3d5248),_0xba7d79=projectKb({..._0x3d5248,..._0x4e580e[_0x4760bd(0x9d)]!==undefined?{'title':_0x4e580e[_0x4760bd(0x9d)]}:{},..._0x30900e?{'content':_0x30900e[_0x4760bd(0x8f)]}:{}});return{'patch':_0x4e580e,'beforeRecord':_0x3d5248,'before':_0x3b6bae,'planned':_0xba7d79,'replacement':_0x30900e};}function a113_0x5dfe(){const _0x123d17=['flag','trim','10AsbXmY','--file\x20cannot\x20be\x20empty.','Company\x20knowledge-base\x20id','/admin/knowledge-base/update','26gQKoqR','file','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_verification_failed','contentHash','Updated\x20company\x20knowledge\x20base\x20','45VekKwK','version','kb_file_required','appCode','snapshotHash','string','content','New\x20knowledge-base\x20title','133628Iatknm','patch','kb_expected_version_invalid','isSafeInteger','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','replacement','number','\x20--format\x20compress','before','verified','company','rabetbase\x20kb\x20detail\x20--id\x20','title','123624VqqMBo','update','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','kb_update_outcome_unknown','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','3613022rlynBe','cookie','53934CulizV','5440193qjRBSU','2462373Mayukj','beforeRecord','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','expectedVersion','135WZcLwE','kb_update_empty','planned','expected-version','1546908BXYKKQ','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','POST','12ZIpVtX','push'];a113_0x5dfe=function(){return _0x123d17;};return a113_0x5dfe();}export const kbUpdate={'service':'kb','command':a113_0x7fe2e6(0x9f),'description':a113_0x7fe2e6(0x95),'risk':'write','requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a113_0x7fe2e6(0x97),'required':!![],'description':a113_0x7fe2e6(0x81)},{'name':'title','type':a113_0x7fe2e6(0x8e),'required':![],'description':a113_0x7fe2e6(0x90)},{'name':a113_0x7fe2e6(0x84),'type':a113_0x7fe2e6(0x8e),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':'expected-version','type':'number','required':![],'description':a113_0x7fe2e6(0x6b)}],async 'validate'(_0x17b1dd){readUpdatePatch(_0x17b1dd);},async 'dryRun'(_0x471525){const _0x326fde=a113_0x7fe2e6,_0x3df528=await prepareUpdate(_0x471525),_0x1f950a=_0x3df528[_0x326fde(0x92)][_0x326fde(0x73)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x326fde(0x9f),'selector':{'id':_0x3df528[_0x326fde(0x99)]['id'],'scope':'company','appCode':_0x3df528['before'][_0x326fde(0x8c)]},'before':_0x3df528[_0x326fde(0x99)],'after':_0x3df528[_0x326fde(0x76)],'dryRun':!![],'backend':{'method':_0x326fde(0x7a),'path':UPDATE_PATH},'warnings':_0x1f950a,'verification':{'expectedVersion':_0x3df528[_0x326fde(0x92)]['expectedVersion']??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x3df528['before'][_0x326fde(0x8d)],'lookupCommand':_0x326fde(0x9c)+_0x3df528[_0x326fde(0x99)]['id']+_0x326fde(0x98)}},{'method':_0x326fde(0x7a),'url':UPDATE_PATH});},async 'execute'(_0x357e67){const _0x3ed724=a113_0x7fe2e6,_0x2139ee=await prepareUpdate(_0x357e67),_0x1f2b51={'id':_0x2139ee['patch']['id'],..._0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)]!==undefined?{'title':_0x2139ee['patch']['title']}:{},..._0x2139ee['replacement']?{'content':_0x2139ee[_0x3ed724(0x96)][_0x3ed724(0x8f)]}:{}};let _0x33ebe3=![];try{const _0x48207a=await updateEnterpriseKnowledgeBase(_0x357e67[_0x3ed724(0x6d)],_0x1f2b51);assertCompanyKnowledgeBase(_0x48207a,_0x357e67['appCode'],_0x2139ee[_0x3ed724(0x92)]['id']);}catch(_0x4f2d5d){if(!isPlatformTransportFailure(_0x4f2d5d))throw _0x4f2d5d;_0x33ebe3=!![];}const _0x63c881=await verifyKbMutationReadback(_0x3ed724(0x9f),_0x33ebe3,()=>requireKb(_0x357e67,_0x2139ee['patch']['id'])),_0x391df8=projectKb(_0x63c881),_0x51bdc5=_0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)]===undefined||_0x63c881[_0x3ed724(0x9d)]===_0x2139ee[_0x3ed724(0x92)]['title'],_0x2e2fd8=!_0x2139ee[_0x3ed724(0x96)]||inspectKbContent(_0x63c881['content'])[_0x3ed724(0x87)]===_0x2139ee[_0x3ed724(0x96)][_0x3ed724(0x87)],_0x101a97=!_0x2139ee[_0x3ed724(0x96)]||_0x63c881['version']>_0x2139ee[_0x3ed724(0x71)][_0x3ed724(0x8a)],_0x395a4a=!_0x33ebe3||_0x2139ee[_0x3ed724(0x96)]!==undefined||_0x2139ee['patch'][_0x3ed724(0x9d)]===undefined||_0x2139ee[_0x3ed724(0x71)][_0x3ed724(0x9d)]!==_0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x9d)];if(!_0x51bdc5||!_0x2e2fd8||!_0x101a97||!_0x395a4a)throw kbError(_0x33ebe3?_0x3ed724(0x69):_0x3ed724(0x86),'Company\x20knowledge\x20base\x20'+_0x2139ee[_0x3ed724(0x92)]['id']+_0x3ed724(0x72),_0x3ed724(0x79)+_0x2139ee[_0x3ed724(0x92)]['id']+_0x3ed724(0x68));const _0x185ba6=[];return _0x2139ee[_0x3ed724(0x92)][_0x3ed724(0x73)]!==undefined&&_0x185ba6[_0x3ed724(0x7c)](NON_ATOMIC_WARNING),_0x33ebe3&&_0x185ba6['push']('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':'update','selector':{'id':_0x391df8['id'],'scope':_0x3ed724(0x9b),'appCode':_0x391df8[_0x3ed724(0x8c)]},'before':_0x2139ee['before'],'after':_0x391df8,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x185ba6,'verification':{'status':_0x3ed724(0x9a),'recoveredAfterUnknownResponse':_0x33ebe3,'expectedVersion':_0x2139ee['patch'][_0x3ed724(0x73)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x391df8['id']+_0x3ed724(0x98)}},'message':_0x3ed724(0x88)+_0x391df8['id']};}};
@@ -1 +1 @@
1
- function a109_0x4d8f(){const _0x41725c=['774nyWCZy','show','command','View\x20command\x20history\x20logs','10334lBrcbC','duration','length','218130xIroxC','4ZtqWuF','details','write','warn','\x20\x20\x20Details:\x20','*\x20Lovrabet\x20CLI\x20logs:\x0a','message','359183ZFJmQQ','1345RYmxOM','305223ajziKh','*\x20No\x20logs\x20found','257558esZEFy','*\x20Logs\x20cleared','keys','clear','timestamp','12HRMXCk','403bMVNxO','36mDnOEN','read','1267tVzemJ','success','level','log','\x20\x20\x20Duration:\x20','forEach','33BIudKi','3480GhEjrQ','clearLogs'];a109_0x4d8f=function(){return _0x41725c;};return a109_0x4d8f();}function a109_0x518a(_0x2ac8aa,_0xd3763a){_0x2ac8aa=_0x2ac8aa-0x13e;const _0x4d8fd8=a109_0x4d8f();let _0x518a77=_0x4d8fd8[_0x2ac8aa];return _0x518a77;}const a109_0x461175=a109_0x518a;(function(_0x46fbb3,_0x56d1b9){const _0x58f1ed=a109_0x518a,_0x260a7d=_0x46fbb3();while(!![]){try{const _0xe9fc=parseInt(_0x58f1ed(0x157))/0x1*(-parseInt(_0x58f1ed(0x15e))/0x2)+-parseInt(_0x58f1ed(0x146))/0x3*(parseInt(_0x58f1ed(0x162))/0x4)+-parseInt(_0x58f1ed(0x145))/0x5*(parseInt(_0x58f1ed(0x15a))/0x6)+-parseInt(_0x58f1ed(0x151))/0x7*(parseInt(_0x58f1ed(0x158))/0x8)+parseInt(_0x58f1ed(0x14f))/0x9*(-parseInt(_0x58f1ed(0x161))/0xa)+parseInt(_0x58f1ed(0x144))/0xb*(parseInt(_0x58f1ed(0x14d))/0xc)+-parseInt(_0x58f1ed(0x14e))/0xd*(-parseInt(_0x58f1ed(0x148))/0xe);if(_0xe9fc===_0x56d1b9)break;else _0x260a7d['push'](_0x260a7d['shift']());}catch(_0x241ef4){_0x260a7d['push'](_0x260a7d['shift']());}}}(a109_0x4d8f,0x1fbe4));import{logger}from'../../utils/logger.js';function printLogs(_0x5bd2f5){const _0x232b67=a109_0x518a;if(_0x5bd2f5[_0x232b67(0x160)]===0x0){console[_0x232b67(0x154)](_0x232b67(0x147));return;}console['log'](_0x232b67(0x142)),_0x5bd2f5[_0x232b67(0x156)]((_0x37e217,_0x51e8f8)=>{const _0x3d972b=_0x232b67,_0x1cdc58=new Date(_0x37e217[_0x3d972b(0x14c)])['toLocaleString']('en-US'),_0x3a4aea=_0x37e217['level']===_0x3d972b(0x152)?'√':_0x37e217[_0x3d972b(0x153)]==='error'?'×':_0x37e217[_0x3d972b(0x153)]===_0x3d972b(0x140)?'!':'i';console[_0x3d972b(0x154)](_0x51e8f8+0x1+'.\x20'+_0x3a4aea+'\x20['+_0x37e217[_0x3d972b(0x15c)]+']\x20'+_0x37e217[_0x3d972b(0x143)]),console['log']('\x20\x20\x20Time:\x20'+_0x1cdc58),_0x37e217[_0x3d972b(0x15f)]&&console[_0x3d972b(0x154)](_0x3d972b(0x155)+_0x37e217[_0x3d972b(0x15f)]+'ms'),_0x37e217[_0x3d972b(0x13e)]&&Object[_0x3d972b(0x14a)](_0x37e217[_0x3d972b(0x13e)])['length']>0x0&&console[_0x3d972b(0x154)](_0x3d972b(0x141)+JSON['stringify'](_0x37e217[_0x3d972b(0x13e)],null,0x2)),console[_0x3d972b(0x154)]('');});}export const logsDefinitions=[{'service':'logs','command':a109_0x461175(0x15b),'description':a109_0x461175(0x15d),'risk':a109_0x461175(0x150),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4bea3b){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':'logs','command':a109_0x461175(0x14b),'description':'Clear\x20command\x20history\x20logs','risk':a109_0x461175(0x13f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5464cd){const _0x4b1460=a109_0x461175;return logger[_0x4b1460(0x159)](),console[_0x4b1460(0x154)](_0x4b1460(0x149)),{'ok':!![]};}}];
1
+ function a114_0x193e(_0x3fe3e,_0x3fc229){_0x3fe3e=_0x3fe3e-0x1c3;const _0x2d507d=a114_0x2d50();let _0x193e02=_0x2d507d[_0x3fe3e];return _0x193e02;}const a114_0x2634fa=a114_0x193e;(function(_0x16381f,_0x23982c){const _0x16489f=a114_0x193e,_0x45fc7e=_0x16381f();while(!![]){try{const _0x44a37d=-parseInt(_0x16489f(0x1d2))/0x1+parseInt(_0x16489f(0x1d9))/0x2*(-parseInt(_0x16489f(0x1cb))/0x3)+-parseInt(_0x16489f(0x1da))/0x4+-parseInt(_0x16489f(0x1cf))/0x5*(parseInt(_0x16489f(0x1d5))/0x6)+-parseInt(_0x16489f(0x1c3))/0x7*(-parseInt(_0x16489f(0x1c4))/0x8)+parseInt(_0x16489f(0x1e0))/0x9*(parseInt(_0x16489f(0x1d7))/0xa)+parseInt(_0x16489f(0x1c6))/0xb;if(_0x44a37d===_0x23982c)break;else _0x45fc7e['push'](_0x45fc7e['shift']());}catch(_0x360e04){_0x45fc7e['push'](_0x45fc7e['shift']());}}}(a114_0x2d50,0x2c906));import{logger}from'../../utils/logger.js';function printLogs(_0x251f2f){const _0x27500c=a114_0x193e;if(_0x251f2f[_0x27500c(0x1ce)]===0x0){console[_0x27500c(0x1e4)](_0x27500c(0x1e3));return;}console[_0x27500c(0x1e4)](_0x27500c(0x1d8)),_0x251f2f[_0x27500c(0x1c9)]((_0x298de0,_0x4a6b15)=>{const _0x3c42e6=_0x27500c,_0x228741=new Date(_0x298de0['timestamp'])[_0x3c42e6(0x1e1)]('en-US'),_0x2630ed=_0x298de0[_0x3c42e6(0x1db)]===_0x3c42e6(0x1d0)?'√':_0x298de0['level']===_0x3c42e6(0x1c8)?'×':_0x298de0[_0x3c42e6(0x1db)]==='warn'?'!':'i';console['log'](_0x4a6b15+0x1+'.\x20'+_0x2630ed+'\x20['+_0x298de0[_0x3c42e6(0x1de)]+']\x20'+_0x298de0[_0x3c42e6(0x1ca)]),console[_0x3c42e6(0x1e4)]('\x20\x20\x20Time:\x20'+_0x228741),_0x298de0['duration']&&console['log']('\x20\x20\x20Duration:\x20'+_0x298de0[_0x3c42e6(0x1d1)]+'ms'),_0x298de0['details']&&Object[_0x3c42e6(0x1d3)](_0x298de0[_0x3c42e6(0x1cd)])[_0x3c42e6(0x1ce)]>0x0&&console['log'](_0x3c42e6(0x1e2)+JSON[_0x3c42e6(0x1dd)](_0x298de0[_0x3c42e6(0x1cd)],null,0x2)),console[_0x3c42e6(0x1e4)]('');});}export const logsDefinitions=[{'service':'logs','command':a114_0x2634fa(0x1d4),'description':a114_0x2634fa(0x1df),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x7b3873){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a114_0x2634fa(0x1dc),'command':a114_0x2634fa(0x1c7),'description':a114_0x2634fa(0x1c5),'risk':a114_0x2634fa(0x1d6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2a5b83){const _0x471740=a114_0x2634fa;return logger[_0x471740(0x1e5)](),console[_0x471740(0x1e4)](_0x471740(0x1cc)),{'ok':!![]};}}];function a114_0x2d50(){const _0x197ec3=['logs','stringify','command','View\x20command\x20history\x20logs','45EqEYIy','toLocaleString','\x20\x20\x20Details:\x20','*\x20No\x20logs\x20found','log','clearLogs','24801znRjiU','264TqIpLJ','Clear\x20command\x20history\x20logs','6473577gxDGTT','clear','error','forEach','message','348477PCbnEb','*\x20Logs\x20cleared','details','length','5WHxleE','success','duration','208456zjGUmw','keys','show','19590RlvjRO','write','143620YxfyQr','*\x20Lovrabet\x20CLI\x20logs:\x0a','2XiTjTX','1067288rngPmM','level'];a114_0x2d50=function(){return _0x197ec3;};return a114_0x2d50();}
@@ -1 +1 @@
1
- const a110_0x2f3b77=a110_0x5bf2;(function(_0x58f6e6,_0x40102d){const _0x204034=a110_0x5bf2,_0x4d6d85=_0x58f6e6();while(!![]){try{const _0x5d67c8=parseInt(_0x204034(0x12d))/0x1*(-parseInt(_0x204034(0xfc))/0x2)+parseInt(_0x204034(0x150))/0x3+parseInt(_0x204034(0x134))/0x4+parseInt(_0x204034(0x142))/0x5+parseInt(_0x204034(0x105))/0x6*(parseInt(_0x204034(0x13a))/0x7)+-parseInt(_0x204034(0x146))/0x8*(-parseInt(_0x204034(0x113))/0x9)+-parseInt(_0x204034(0x122))/0xa;if(_0x5d67c8===_0x40102d)break;else _0x4d6d85['push'](_0x4d6d85['shift']());}catch(_0x251bc0){_0x4d6d85['push'](_0x4d6d85['shift']());}}}(a110_0x51d5,0xce72f));import a110_0x258b5c from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';function a110_0x51d5(){const _0x567853=['No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','appcode','1564713jWtoFT','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','\x20\x20Cancelled.','string','yellow','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','\x20menu(s)\x20failed','cookie','\x20menu(s)','\x20menu\x20resource\x20set(s).','message','\x20updated.','\x20failed.','replace','34909790faBHiB','script','bool','split','label','fetch','trim','validation','Menu\x20asset\x20update\x20failed','Fetching\x20online\x20menu\x20list...','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','57203gVfVXw','\x20menu(s)...','updated','skipped','paths','boolean','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','3788928vOPcos','Would\x20update\x20','load-mode','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','stringify','length','7sXxDGU','Updating\x20','rawFlags','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','force','\x20menu(s)\x20with\x20existing\x20resources','cyan','menu-ids','1578045NPhqKk','selectedAppName','Updated\x20','parse','40oBuVQZ','POST','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','write','str','cssUrl','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','/smartapi/menu/update','2960667PwWaYE','mode','\x20updated,\x20','\x20menu(s)\x20with\x20JS:\x20','menu','Menu\x20asset\x20update\x20skipped','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','filter','some','4HeJOIE','map','failed','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','\x20\x20Found\x20','all','object','import','7991910toBScg','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','Online\x20menu\x20list\x20fetched','\x20and\x20CSS:\x20','params','\x20menu(s)\x20updated','appCode','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','jsUrl','patch','Menu\x20asset\x20update\x20completed:\x20','diffs'];a110_0x51d5=function(){return _0x567853;};return a110_0x51d5();}import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';function a110_0x5bf2(_0x38b835,_0x72ec74){_0x38b835=_0x38b835-0xf3;const _0x51d54d=a110_0x51d5();let _0x5bf233=_0x51d54d[_0x38b835];return _0x5bf233;}export const menuAssetUpdate={'service':a110_0x2f3b77(0xf6),'command':'asset-update','description':a110_0x2f3b77(0x114),'risk':a110_0x2f3b77(0x14b),'flags':[{'name':a110_0x2f3b77(0x109),'type':'string','description':a110_0x2f3b77(0xff)+a110_0x2f3b77(0x12c)},{'name':a110_0x2f3b77(0xf3),'type':'string','description':a110_0x2f3b77(0x119)+a110_0x2f3b77(0x118),'enum':['replace','patch'],'default':a110_0x2f3b77(0x10e)},{'name':a110_0x2f3b77(0x13e),'type':a110_0x2f3b77(0x132),'description':a110_0x2f3b77(0xf9)},{'name':a110_0x2f3b77(0x141),'type':'string','description':a110_0x2f3b77(0x13d)},{'name':a110_0x2f3b77(0x131),'type':a110_0x2f3b77(0x116),'description':a110_0x2f3b77(0xf8)},{'name':a110_0x2f3b77(0x102),'type':a110_0x2f3b77(0x132),'description':a110_0x2f3b77(0x106)},{'name':a110_0x2f3b77(0x136),'type':a110_0x2f3b77(0x116),'enum':[a110_0x2f3b77(0x104),a110_0x2f3b77(0x123),a110_0x2f3b77(0x127)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x2d2fdb){const _0x456c67=a110_0x2f3b77;ensureRunnableContext(_0x2d2fdb['rawFlags'],_0x2d2fdb[_0x456c67(0x143)]);const _0x34ed7e=await runMenuUpdateCore(_0x2d2fdb['appCode'],_0x2d2fdb[_0x456c67(0x11b)],_0x2d2fdb[_0x456c67(0x14c)](_0x456c67(0x109)),{'mode':parseMode(_0x2d2fdb[_0x456c67(0x14c)](_0x456c67(0xf3))),'dryRun':!![],'force':_0x2d2fdb[_0x456c67(0x124)](_0x456c67(0x13e)),'selection':parseSelection(_0x2d2fdb),'loadScriptMode':parseLoadScriptMode(_0x2d2fdb[_0x456c67(0x14c)]('load-mode'))});return{'method':_0x456c67(0x147),'url':_0x456c67(0x14f),'body':_0x34ed7e,'description':_0x34ed7e[_0x456c67(0x130)]?_0x456c67(0x111):_0x456c67(0x135)+(_0x34ed7e[_0x456c67(0x110)]?.[_0x456c67(0x139)]??0x0)+_0x456c67(0x11d)};},async 'execute'(_0x3b1eb9){const _0x4db0a5=a110_0x2f3b77;ensureRunnableContext(_0x3b1eb9[_0x4db0a5(0x13c)],_0x3b1eb9[_0x4db0a5(0x143)]);const _0x217bd3=_0x3b1eb9[_0x4db0a5(0x14c)](_0x4db0a5(0x109)),_0x263e1c=parseMode(_0x3b1eb9['str'](_0x4db0a5(0xf3))),_0x3182cc=_0x3b1eb9['bool'](_0x4db0a5(0x13e)),_0x156d4a=parseLoadScriptMode(_0x3b1eb9['str'](_0x4db0a5(0x136))),_0x30dad9=parseParams(_0x217bd3),_0x6b35fe=!!(_0x30dad9[_0x4db0a5(0x10d)]||_0x30dad9[_0x4db0a5(0x14d)]);if(_0x6b35fe){const _0x1405bf=await runMenuUpdateCore(_0x3b1eb9['appCode'],_0x3b1eb9[_0x4db0a5(0x11b)],_0x217bd3,{'mode':_0x263e1c,'force':_0x3182cc,'selection':parseSelection(_0x3b1eb9),'loadScriptMode':_0x156d4a});return _0x1405bf[_0x4db0a5(0x130)]?writeCliSideChannelLine(_0x4db0a5(0x14e)):(writeCliSideChannelLine(_0x4db0a5(0x100)+_0x1405bf[_0x4db0a5(0x12f)]+_0x4db0a5(0x10a)),_0x1405bf['failed']>0x0&&writeCliSideChannelLine('!\x20'+_0x1405bf[_0x4db0a5(0xfe)]+_0x4db0a5(0x11a))),{'ok':_0x1405bf[_0x4db0a5(0xfe)]===0x0,'data':_0x1405bf,'message':_0x1405bf[_0x4db0a5(0x130)]?_0x4db0a5(0xf7):_0x4db0a5(0x10f)+_0x1405bf[_0x4db0a5(0x12f)]+_0x4db0a5(0xf4)+_0x1405bf[_0x4db0a5(0xfe)]+_0x4db0a5(0x120)};}requireInteractive();const _0x2d3f01=startSpinner(_0x4db0a5(0x12b));let _0x32f3ff;try{_0x32f3ff=await fetchOnlineMenuList(_0x3b1eb9['appCode'],_0x3b1eb9[_0x4db0a5(0x11b)]),stopSpinner(_0x2d3f01,_0x4db0a5(0x107),!![]);}catch(_0x1a6755){stopSpinner(_0x2d3f01,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0x4db0a5(0x129)](_0x1a6755 instanceof Error?_0x1a6755['message']:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x1a4352=filterMenusWithResources(_0x32f3ff),_0x4530cf=parseSelection(_0x3b1eb9,![]),_0x4cb724=_0x4530cf?selectMenusForUpdate(_0x1a4352,_0x4530cf):_0x1a4352;if(_0x4cb724[_0x4db0a5(0x139)]===0x0)return writeCliSideChannelLine(a110_0x258b5c[_0x4db0a5(0x117)](_0x4db0a5(0x133))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a110_0x258b5c[_0x4db0a5(0x140)](_0x4db0a5(0x101)+_0x4cb724[_0x4db0a5(0x139)]+_0x4db0a5(0x13f))),writeCliSideChannelLine(renderUpdateSummary(_0x4cb724[_0x4db0a5(0xfd)](_0x3b3853=>_0x3b3853[_0x4db0a5(0x126)]),[_0x30dad9[_0x4db0a5(0x10d)],_0x30dad9[_0x4db0a5(0x14d)]])),writeCliSideChannelLine('');let _0x492ad7=_0x30dad9['jsUrl'],_0xb43f64=_0x30dad9['cssUrl'];!_0x492ad7&&(_0x492ad7=await askJsUrl());!_0xb43f64&&(_0xb43f64=await askCssUrl());const _0x447fe2=await askConfirm('\x20\x20Update\x20'+_0x4cb724[_0x4db0a5(0x139)]+_0x4db0a5(0xf5)+_0x492ad7+_0x4db0a5(0x108)+_0xb43f64+'?');if(!_0x447fe2)return writeCliSideChannelLine(a110_0x258b5c['gray'](_0x4db0a5(0x115))),{'ok':!![]};const _0x293565=startSpinner(_0x4db0a5(0x13b)+_0x4cb724['length']+_0x4db0a5(0x12e));try{const _0x36c865=await runMenuUpdateCore(_0x3b1eb9[_0x4db0a5(0x10b)],_0x3b1eb9['cookie'],JSON[_0x4db0a5(0x138)]({'jsUrl':_0x492ad7,'cssUrl':_0xb43f64}),{'mode':_0x263e1c,'force':_0x3182cc,'selection':{'all':![],'menuIds':_0x4cb724[_0x4db0a5(0xfd)](_0x128674=>_0x128674['id']),'paths':[]},'loadScriptMode':_0x156d4a});return stopSpinner(_0x293565,_0x4db0a5(0x144)+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0x11c),_0x36c865[_0x4db0a5(0xfe)]===0x0),{'ok':_0x36c865[_0x4db0a5(0xfe)]===0x0,'data':_0x36c865,'message':_0x36c865[_0x4db0a5(0xfe)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0xf4)+_0x36c865['failed']+_0x4db0a5(0x120):_0x4db0a5(0x10f)+_0x36c865[_0x4db0a5(0x12f)]+_0x4db0a5(0x11f)};}catch(_0x3bbc34){stopSpinner(_0x293565,_0x4db0a5(0x12a),![]);throw CliErrors['validation'](_0x3bbc34 instanceof Error?_0x3bbc34[_0x4db0a5(0x11e)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x1593bb,_0x2f4f6a){const _0x5a4085=a110_0x2f3b77,_0xfaca4e=_0x1593bb[_0x5a4085(0x112)]?String(_0x1593bb[_0x5a4085(0x112)])[_0x5a4085(0x128)]():'';if(!isInProject()&&!_0x2f4f6a&&!_0xfaca4e)throw CliErrors['validation']('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x180a5c){const _0x3a9bfa=a110_0x2f3b77;if(!_0x180a5c)return _0x3a9bfa(0x10e);if(_0x180a5c===_0x3a9bfa(0x121)||_0x180a5c==='patch')return _0x180a5c;throw CliErrors[_0x3a9bfa(0x129)](_0x3a9bfa(0x148));}function parseSelection(_0x9c434e,_0x39c69a=!![]){const _0x58b8e2=a110_0x2f3b77,_0x573355=_0x9c434e[_0x58b8e2(0x124)](_0x58b8e2(0x102)),_0x28260e=parseMenuIds(_0x9c434e[_0x58b8e2(0x14c)]('menu-ids')),_0x1ad3f0=parseCsv(_0x9c434e[_0x58b8e2(0x14c)](_0x58b8e2(0x131))),_0x485826=_0x28260e['length']>0x0||_0x1ad3f0['length']>0x0;if(_0x573355&&_0x485826)throw CliErrors[_0x58b8e2(0x129)](_0x58b8e2(0x149));if(!_0x573355&&!_0x485826){if(!_0x39c69a)return undefined;throw CliErrors[_0x58b8e2(0x129)](_0x58b8e2(0x137));}return{'all':_0x573355,'menuIds':_0x28260e,'paths':_0x1ad3f0};}function parseMenuIds(_0x4b5808){const _0x3aa57a=a110_0x2f3b77,_0x295b00=parseCsv(_0x4b5808),_0x29f1ac=_0x295b00[_0x3aa57a(0xfd)](Number);if(_0x29f1ac[_0x3aa57a(0xfb)](_0x300d04=>!Number['isSafeInteger'](_0x300d04)||_0x300d04<=0x0))throw CliErrors[_0x3aa57a(0x129)](_0x3aa57a(0x14a));return[...new Set(_0x29f1ac)];}function parseCsv(_0x4b08a1){const _0x20a3f4=a110_0x2f3b77;return[...new Set(_0x4b08a1[_0x20a3f4(0x125)](',')['map'](_0x35e9ba=>_0x35e9ba[_0x20a3f4(0x128)]())[_0x20a3f4(0xfa)](Boolean))];}function parseLoadScriptMode(_0x5a4505){const _0x4f08c1=a110_0x2f3b77;if(!_0x5a4505)return undefined;if(_0x5a4505===_0x4f08c1(0x104)||_0x5a4505==='script'||_0x5a4505===_0x4f08c1(0x127))return _0x5a4505;throw CliErrors[_0x4f08c1(0x129)](_0x4f08c1(0x10c));}function parseParams(_0x4a2a48){const _0x58fa81=a110_0x2f3b77;if(!_0x4a2a48)return{};try{const _0x569c41=JSON[_0x58fa81(0x145)](_0x4a2a48);if(typeof _0x569c41!==_0x58fa81(0x103)||_0x569c41===null||Array['isArray'](_0x569c41))return{};return{'jsUrl':typeof _0x569c41[_0x58fa81(0x10d)]===_0x58fa81(0x116)?_0x569c41[_0x58fa81(0x10d)]['trim']():undefined,'cssUrl':typeof _0x569c41[_0x58fa81(0x14d)]===_0x58fa81(0x116)?_0x569c41['cssUrl'][_0x58fa81(0x128)]():undefined};}catch{return{};}}
1
+ const a115_0x19c3c5=a115_0x5384;(function(_0xe98030,_0x10229b){const _0x397a8f=a115_0x5384,_0xf66376=_0xe98030();while(!![]){try{const _0x42f96f=-parseInt(_0x397a8f(0x1b3))/0x1*(parseInt(_0x397a8f(0x1b9))/0x2)+parseInt(_0x397a8f(0x199))/0x3+-parseInt(_0x397a8f(0x19a))/0x4*(-parseInt(_0x397a8f(0x178))/0x5)+-parseInt(_0x397a8f(0x1c8))/0x6+parseInt(_0x397a8f(0x1a1))/0x7+-parseInt(_0x397a8f(0x1bc))/0x8*(parseInt(_0x397a8f(0x1bb))/0x9)+parseInt(_0x397a8f(0x1c3))/0xa;if(_0x42f96f===_0x10229b)break;else _0xf66376['push'](_0xf66376['shift']());}catch(_0x39e1af){_0xf66376['push'](_0xf66376['shift']());}}}(a115_0x4123,0x2f125));import a115_0x285cd8 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';function a115_0x5384(_0x23087f,_0x442465){_0x23087f=_0x23087f-0x178;const _0x4123cd=a115_0x4123();let _0x5384d1=_0x4123cd[_0x23087f];return _0x5384d1;}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a115_0x19c3c5(0x1ae),'command':a115_0x19c3c5(0x181),'description':a115_0x19c3c5(0x1b4),'risk':a115_0x19c3c5(0x191),'flags':[{'name':a115_0x19c3c5(0x1bf),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x18f)+a115_0x19c3c5(0x189)},{'name':a115_0x19c3c5(0x192),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x198)+a115_0x19c3c5(0x193),'enum':['replace','patch'],'default':a115_0x19c3c5(0x1c9)},{'name':a115_0x19c3c5(0x17a),'type':a115_0x19c3c5(0x1ca),'description':a115_0x19c3c5(0x179)},{'name':a115_0x19c3c5(0x1c5),'type':a115_0x19c3c5(0x188),'description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':a115_0x19c3c5(0x17d),'type':a115_0x19c3c5(0x188),'description':a115_0x19c3c5(0x1c0)},{'name':'all','type':a115_0x19c3c5(0x1ca),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':'load-mode','type':a115_0x19c3c5(0x188),'enum':[a115_0x19c3c5(0x1c1),a115_0x19c3c5(0x17e),a115_0x19c3c5(0x1af)],'description':a115_0x19c3c5(0x19e)}],async 'dryRun'(_0x358af6){const _0xeec3d3=a115_0x19c3c5;ensureRunnableContext(_0x358af6[_0xeec3d3(0x1b6)],_0x358af6[_0xeec3d3(0x19c)]);const _0x500055=await runMenuUpdateCore(_0x358af6[_0xeec3d3(0x17c)],_0x358af6[_0xeec3d3(0x1a9)],_0x358af6['str'](_0xeec3d3(0x1bf)),{'mode':parseMode(_0x358af6[_0xeec3d3(0x1ac)](_0xeec3d3(0x192))),'dryRun':!![],'force':_0x358af6['bool'](_0xeec3d3(0x17a)),'selection':parseSelection(_0x358af6),'loadScriptMode':parseLoadScriptMode(_0x358af6['str'](_0xeec3d3(0x1ba)))});return{'method':'POST','url':'/smartapi/menu/update','body':_0x500055,'description':_0x500055['skipped']?_0xeec3d3(0x19f):_0xeec3d3(0x182)+(_0x500055[_0xeec3d3(0x17b)]?.['length']??0x0)+_0xeec3d3(0x1cd)};},async 'execute'(_0x3283e7){const _0x1fca47=a115_0x19c3c5;ensureRunnableContext(_0x3283e7[_0x1fca47(0x1b6)],_0x3283e7[_0x1fca47(0x19c)]);const _0x2a0966=_0x3283e7[_0x1fca47(0x1ac)](_0x1fca47(0x1bf)),_0x377efa=parseMode(_0x3283e7['str'](_0x1fca47(0x192))),_0x500a79=_0x3283e7[_0x1fca47(0x18d)](_0x1fca47(0x17a)),_0x4d8348=parseLoadScriptMode(_0x3283e7['str'](_0x1fca47(0x1ba))),_0x124287=parseParams(_0x2a0966),_0x92b107=!!(_0x124287[_0x1fca47(0x183)]||_0x124287['cssUrl']);if(_0x92b107){const _0xfd3b28=await runMenuUpdateCore(_0x3283e7[_0x1fca47(0x17c)],_0x3283e7['cookie'],_0x2a0966,{'mode':_0x377efa,'force':_0x500a79,'selection':parseSelection(_0x3283e7),'loadScriptMode':_0x4d8348});return _0xfd3b28['skipped']?writeCliSideChannelLine(_0x1fca47(0x195)):(writeCliSideChannelLine(_0x1fca47(0x186)+_0xfd3b28[_0x1fca47(0x1c4)]+_0x1fca47(0x19b)),_0xfd3b28[_0x1fca47(0x1a6)]>0x0&&writeCliSideChannelLine('!\x20'+_0xfd3b28[_0x1fca47(0x1a6)]+_0x1fca47(0x1b1))),{'ok':_0xfd3b28[_0x1fca47(0x1a6)]===0x0,'data':_0xfd3b28,'message':_0xfd3b28[_0x1fca47(0x1ce)]?_0x1fca47(0x1ab):_0x1fca47(0x1c6)+_0xfd3b28['updated']+_0x1fca47(0x18c)+_0xfd3b28[_0x1fca47(0x1a6)]+_0x1fca47(0x180)};}requireInteractive();const _0x5f5226=startSpinner(_0x1fca47(0x1a4));let _0x3577d6;try{_0x3577d6=await fetchOnlineMenuList(_0x3283e7[_0x1fca47(0x17c)],_0x3283e7[_0x1fca47(0x1a9)]),stopSpinner(_0x5f5226,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x10068c){stopSpinner(_0x5f5226,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0x1fca47(0x1cc)](_0x10068c instanceof Error?_0x10068c['message']:_0x1fca47(0x1cb));}const _0x18849e=filterMenusWithResources(_0x3577d6),_0x215d45=parseSelection(_0x3283e7,![]),_0xb404bb=_0x215d45?selectMenusForUpdate(_0x18849e,_0x215d45):_0x18849e;if(_0xb404bb['length']===0x0)return writeCliSideChannelLine(a115_0x285cd8[_0x1fca47(0x194)](_0x1fca47(0x1b2))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a115_0x285cd8['cyan'](_0x1fca47(0x1c2)+_0xb404bb[_0x1fca47(0x1b0)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0xb404bb[_0x1fca47(0x1a7)](_0x5f1068=>_0x5f1068['label']),[_0x124287[_0x1fca47(0x183)],_0x124287[_0x1fca47(0x190)]])),writeCliSideChannelLine('');let _0xb9f438=_0x124287[_0x1fca47(0x183)],_0x3d9506=_0x124287[_0x1fca47(0x190)];!_0xb9f438&&(_0xb9f438=await askJsUrl());!_0x3d9506&&(_0x3d9506=await askCssUrl());const _0x4cfe6e=await askConfirm(_0x1fca47(0x1b7)+_0xb404bb[_0x1fca47(0x1b0)]+_0x1fca47(0x1a2)+_0xb9f438+'\x20and\x20CSS:\x20'+_0x3d9506+'?');if(!_0x4cfe6e)return writeCliSideChannelLine(a115_0x285cd8[_0x1fca47(0x1a3)](_0x1fca47(0x1b5))),{'ok':!![]};const _0x2d345f=startSpinner(_0x1fca47(0x196)+_0xb404bb[_0x1fca47(0x1b0)]+'\x20menu(s)...');try{const _0x305ad2=await runMenuUpdateCore(_0x3283e7['appCode'],_0x3283e7['cookie'],JSON[_0x1fca47(0x197)]({'jsUrl':_0xb9f438,'cssUrl':_0x3d9506}),{'mode':_0x377efa,'force':_0x500a79,'selection':{'all':![],'menuIds':_0xb404bb['map'](_0x52e0f1=>_0x52e0f1['id']),'paths':[]},'loadScriptMode':_0x4d8348});return stopSpinner(_0x2d345f,'Updated\x20'+_0x305ad2['updated']+'\x20menu(s)',_0x305ad2[_0x1fca47(0x1a6)]===0x0),{'ok':_0x305ad2[_0x1fca47(0x1a6)]===0x0,'data':_0x305ad2,'message':_0x305ad2[_0x1fca47(0x1a6)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x305ad2['updated']+_0x1fca47(0x18c)+_0x305ad2[_0x1fca47(0x1a6)]+_0x1fca47(0x180):_0x1fca47(0x1c6)+_0x305ad2[_0x1fca47(0x1c4)]+_0x1fca47(0x18a)};}catch(_0x5e4167){stopSpinner(_0x2d345f,_0x1fca47(0x18e),![]);throw CliErrors[_0x1fca47(0x1cc)](_0x5e4167 instanceof Error?_0x5e4167[_0x1fca47(0x17f)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x358f1c,_0x1757f6){const _0x903357=a115_0x19c3c5,_0xbed38f=_0x358f1c[_0x903357(0x1aa)]?String(_0x358f1c[_0x903357(0x1aa)])['trim']():'';if(!isInProject()&&!_0x1757f6&&!_0xbed38f)throw CliErrors[_0x903357(0x1cc)](_0x903357(0x1c7)+_0x903357(0x184));}function a115_0x4123(){const _0x3437f7=['jsUrl','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','✓\x20Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','string','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','\x20updated.','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','\x20updated,\x20','bool','Menu\x20asset\x20update\x20failed','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','cssUrl','write','mode','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','yellow','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Updating\x20','stringify','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','659223nPyKFl','4PJkyke','\x20menu(s)\x20updated','selectedAppName','trim','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','1617210CPVdaX','\x20menu(s)\x20with\x20JS:\x20','gray','Fetching\x20online\x20menu\x20list...','isArray','failed','map','replace','cookie','appcode','Menu\x20asset\x20update\x20skipped','str','parse','menu','fetch','length','\x20menu(s)\x20failed','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','42405qCfxpD','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','\x20\x20Cancelled.','rawFlags','\x20\x20Update\x20','some','2ExlNjf','load-mode','73665IUTJlS','200xeWvtM','split','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','params','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','import','\x20\x20Found\x20','342740pmrYHa','updated','menu-ids','Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','453258QLUFbU','patch','boolean','Failed\x20to\x20fetch\x20online\x20menu\x20list','validation','\x20menu\x20resource\x20set(s).','skipped','151665uypbzx','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','force','diffs','appCode','paths','script','message','\x20failed.','asset-update','Would\x20update\x20'];a115_0x4123=function(){return _0x3437f7;};return a115_0x4123();}function parseMode(_0x41989e){const _0x477516=a115_0x19c3c5;if(!_0x41989e)return _0x477516(0x1c9);if(_0x41989e===_0x477516(0x1a8)||_0x41989e==='patch')return _0x41989e;throw CliErrors[_0x477516(0x1cc)](_0x477516(0x185));}function parseSelection(_0x3d8f88,_0x30d5ae=!![]){const _0x4a9751=a115_0x19c3c5,_0x7fd176=_0x3d8f88[_0x4a9751(0x18d)]('all'),_0x1ef7f7=parseMenuIds(_0x3d8f88['str']('menu-ids')),_0x5bbd1c=parseCsv(_0x3d8f88['str'](_0x4a9751(0x17d))),_0x3e3f1c=_0x1ef7f7[_0x4a9751(0x1b0)]>0x0||_0x5bbd1c[_0x4a9751(0x1b0)]>0x0;if(_0x7fd176&&_0x3e3f1c)throw CliErrors[_0x4a9751(0x1cc)](_0x4a9751(0x1be));if(!_0x7fd176&&!_0x3e3f1c){if(!_0x30d5ae)return undefined;throw CliErrors[_0x4a9751(0x1cc)](_0x4a9751(0x187));}return{'all':_0x7fd176,'menuIds':_0x1ef7f7,'paths':_0x5bbd1c};}function parseMenuIds(_0x20f3f0){const _0x277df1=a115_0x19c3c5,_0x4c58cb=parseCsv(_0x20f3f0),_0x530cf1=_0x4c58cb[_0x277df1(0x1a7)](Number);if(_0x530cf1[_0x277df1(0x1b8)](_0x53401e=>!Number['isSafeInteger'](_0x53401e)||_0x53401e<=0x0))throw CliErrors[_0x277df1(0x1cc)](_0x277df1(0x18b));return[...new Set(_0x530cf1)];}function parseCsv(_0x202f61){const _0xb9408a=a115_0x19c3c5;return[...new Set(_0x202f61[_0xb9408a(0x1bd)](',')['map'](_0xd12a20=>_0xd12a20['trim']())['filter'](Boolean))];}function parseLoadScriptMode(_0x5db14d){const _0x10cb39=a115_0x19c3c5;if(!_0x5db14d)return undefined;if(_0x5db14d===_0x10cb39(0x1c1)||_0x5db14d===_0x10cb39(0x17e)||_0x5db14d===_0x10cb39(0x1af))return _0x5db14d;throw CliErrors[_0x10cb39(0x1cc)](_0x10cb39(0x1a0));}function parseParams(_0x4e8734){const _0x3ac857=a115_0x19c3c5;if(!_0x4e8734)return{};try{const _0x2987e8=JSON[_0x3ac857(0x1ad)](_0x4e8734);if(typeof _0x2987e8!=='object'||_0x2987e8===null||Array[_0x3ac857(0x1a5)](_0x2987e8))return{};return{'jsUrl':typeof _0x2987e8[_0x3ac857(0x183)]===_0x3ac857(0x188)?_0x2987e8[_0x3ac857(0x183)][_0x3ac857(0x19d)]():undefined,'cssUrl':typeof _0x2987e8['cssUrl']===_0x3ac857(0x188)?_0x2987e8['cssUrl'][_0x3ac857(0x19d)]():undefined};}catch{return{};}}
@@ -1 +1 @@
1
- const a111_0x351dd6=a111_0x1490;(function(_0x283903,_0x373b7b){const _0x56eaa7=a111_0x1490,_0x3d8a51=_0x283903();while(!![]){try{const _0x136098=parseInt(_0x56eaa7(0x1f4))/0x1+-parseInt(_0x56eaa7(0x205))/0x2*(parseInt(_0x56eaa7(0x1f8))/0x3)+parseInt(_0x56eaa7(0x1f2))/0x4+-parseInt(_0x56eaa7(0x232))/0x5+-parseInt(_0x56eaa7(0x242))/0x6*(parseInt(_0x56eaa7(0x220))/0x7)+parseInt(_0x56eaa7(0x20a))/0x8+-parseInt(_0x56eaa7(0x24f))/0x9;if(_0x136098===_0x373b7b)break;else _0x3d8a51['push'](_0x3d8a51['shift']());}catch(_0xb2e493){_0x3d8a51['push'](_0x3d8a51['shift']());}}}(a111_0x42fd,0x8f493));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';function a111_0x42fd(){const _0xebcdd=['Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','pages','verify\x20batch\x20delete','remainingIds','menu_tree_invalid','string','validation','menu_page_shared','Menu\x20','forEach','target','childrenIds','pageId','Would\x20batch\x20delete\x20','causeCode','toLowerCase','delete','Folder\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_delete_page_bound','boolean','menu_batch_delete_count_mismatch','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','rabetbase\x20menu\x20list\x20--format\x20json','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','selector','hash','3613460HqsVMo','join','1161141FHblZx','str','cookie','\x20and\x20cannot\x20be\x20deleted\x20safely.','33yTGtTD','page\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','stringify','menu_verification_failed','\x20is\x20type\x20\x22','byId','plan','map','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','trim','POST','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','21426BTolDf','\x20deleted\x20menus;\x20expected\x20','folder','):\x20','indexOf','7294768kFUMIp','unconfirmed','unknown','push','flagMissing','plan-out','dry-run','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','expect-parent-id','/smartapi/menu/batchDelete','\x20has\x20','\x20still\x20references\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','childrenCount','\x20menu(s)\x20under\x20exact\x20id\x20','verification','Post-mismatch\x20menu\x20readback\x20failed\x20(','resources','Deleted\x20','menu_plan_invalid','deleteOrder','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','407302TXGgFS','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','plan\x20delete','message','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','menu_folder_resources_invalid','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Recursive\x20menu\x20delete\x20plan\x20root\x20','causeMessage','has','type','expect-path','batch-delete','cascade','filter','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','expiresAt','2307940tvGJKs','menu_recursive_requires_folder','length','pre-write-plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','menu','batch\x20delete','snapshot','Post-failure\x20menu\x20readback\x20failed\x20(',';\x20execution\x20must\x20consume\x20','failed','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','add','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','menu\x20list','bool','6ZaOSUg','\x20->\x20menu\x20','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','absentIds','expected-children-count','\x20references\x20missing\x20child\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','plan-validation','\x20resource\x20URL(s).','recursive','menu_non_empty','appCode','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','15766524MviXnj','size','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','\x20is\x20not\x20a\x20folder.','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'];a111_0x42fd=function(){return _0xebcdd;};return a111_0x42fd();}import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x351dd6(0x203),'path':a111_0x351dd6(0x213)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x351dd6(0x21f)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x351dd6(0x24b),'type':a111_0x351dd6(0x1eb),'description':a111_0x351dd6(0x216)},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x351dd6(0x20f),'type':a111_0x351dd6(0x259),'description':a111_0x351dd6(0x254)},MENU_DELETE_PLAN_FLAG={'name':a111_0x351dd6(0x1ff),'type':'string','description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a111_0x351dd6(0x237),'command':a111_0x351dd6(0x264),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':'high-risk-write','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'(_0x2a816e){const _0x533741=a111_0x351dd6;_0x2a816e[_0x533741(0x241)](_0x533741(0x210))?validateDeleteDryRunInput(_0x2a816e):validateDeleteExecuteInput(_0x2a816e),requireExplicitYes(_0x2a816e);},async 'dryRun'(_0x3a6ff1){const _0x438a3c=a111_0x351dd6;validateDeleteDryRunInput(_0x3a6ff1);const _0x164fec=await buildDeletePlan(_0x3a6ff1),_0x1c0c1a=createMenuDeletePlanFile(_0x3a6ff1['appCode'],_0x164fec),_0x1ea2d7=await writeMenuDeletePlan(_0x3a6ff1['str']('plan-out'),_0x1c0c1a),_0x5d5cab=mutationResult({..._0x164fec,'planFile':{'path':_0x1ea2d7,'createdAt':_0x1c0c1a['createdAt'],'expiresAt':_0x1c0c1a[_0x438a3c(0x231)]}});return menuDryRunResult(_0x5d5cab,{'method':_0x438a3c(0x203),'url':_0x438a3c(0x213),'body':{'idList':_0x5d5cab[_0x438a3c(0x21e)]},'description':_0x438a3c(0x261)+(_0x5d5cab[_0x438a3c(0x21e)]?.[_0x438a3c(0x234)]??0x1)+_0x438a3c(0x218)+_0x5d5cab[_0x438a3c(0x1f0)]['id']+_0x438a3c(0x23b)+_0x1ea2d7+'.'});},async 'execute'(_0x696607){const _0x16ad46=a111_0x351dd6;requireExplicitYes(_0x696607),validateDeleteExecuteInput(_0x696607);const _0x149334=await readMenuDeletePlan(_0x696607[_0x16ad46(0x1f5)](_0x16ad46(0x1ff))),_0x37485b=mutationPlanFromDeleteFile(_0x149334[_0x16ad46(0x1ff)],_0x149334['path']),_0xaa34c8=_0x149334[_0x16ad46(0x1ff)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x149334[_0x16ad46(0x1ff)],_0x696607[_0x16ad46(0x24d)]);}catch(_0x1b904c){throw menuFailure(asMenuError(_0x1b904c),_0x37485b,{'stage':_0x16ad46(0x249),'failed':{'id':_0xaa34c8}});}let _0x500385,_0x56d86b;try{_0x500385=await fetchMutationSnapshot(_0x696607,'execute\x20reviewed\x20delete\x20plan',_0xaa34c8),_0x56d86b=assertMenuDeletePlanCurrent(_0x149334['plan'],_0x696607[_0x16ad46(0x24d)],_0x500385),assertDeleteTargetsComplete(_0x149334['plan'],_0x500385),_0x56d86b[_0x16ad46(0x25d)](_0x57a22c=>assertDeleteSafety(_0x57a22c,_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x24b)])),assertNoSharedPages(_0x500385,_0x56d86b),assertCascadeMatchesPlan(_0x37485b,_0x56d86b);}catch(_0x1ca989){throw menuFailure(asMenuError(_0x1ca989),_0x37485b,{'stage':_0x16ad46(0x235),'failed':{'id':_0xaa34c8}});}const _0x2ff7fc=_0x149334[_0x16ad46(0x1ff)][_0x16ad46(0x21e)];let _0x166616;try{_0x166616=await batchDeleteMenuEntities(_0x696607['cookie'],_0x2ff7fc);}catch(_0x2092e9){const _0x34a575=mapMenuApiError(_0x2092e9,_0x16ad46(0x238)),_0x14136d=[_0x16ad46(0x251)];let _0x5eb9eb;try{_0x5eb9eb=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x104b71){const _0x3b5117=describeMenuErrorCause(_0x104b71,_0x16ad46(0x221),_0xaa34c8);_0x14136d[_0x16ad46(0x20d)](_0x16ad46(0x23a)+_0x3b5117[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x3b5117[_0x16ad46(0x229)]);throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','failed':{'targetIds':_0x2ff7fc,'targetIdsAbsent':_0x16ad46(0x20b),..._0x3b5117},'warnings':_0x14136d,'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x34a575,_0x37485b,{'stage':'batch-delete','succeeded':_0x5eb9eb[_0x16ad46(0x245)]['map'](_0x17d167=>({'id':_0x17d167,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'absentIds':_0x5eb9eb[_0x16ad46(0x245)],'remainingIds':_0x5eb9eb['remainingIds']},'warnings':_0x14136d,'verification':verificationFromOutcome(_0x5eb9eb)});}if(_0x166616!==_0x2ff7fc[_0x16ad46(0x234)]){const _0x3ec12d=menuError(_0x16ad46(0x1ec),'Backend\x20reported\x20'+_0x166616+_0x16ad46(0x206)+_0x2ff7fc[_0x16ad46(0x234)]+'.',_0x16ad46(0x1ef)),_0x4e639c=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x5262d7;try{_0x5262d7=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x489f06){const _0x350e4a=describeMenuErrorCause(_0x489f06,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0xaa34c8);_0x4e639c['push'](_0x16ad46(0x21a)+_0x350e4a[_0x16ad46(0x262)]+_0x16ad46(0x208)+_0x350e4a[_0x16ad46(0x229)]);throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'targetIdsAbsent':'unconfirmed',..._0x350e4a},'warnings':_0x4e639c,'verification':{'status':'failed','lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}throw menuFailure(_0x3ec12d,_0x37485b,{'stage':_0x16ad46(0x22d),'succeeded':_0x5262d7[_0x16ad46(0x245)][_0x16ad46(0x200)](_0x2fe284=>({'id':_0x2fe284,'deleted':!![]})),'failed':{'targetIds':_0x2ff7fc,'expectedCount':_0x2ff7fc[_0x16ad46(0x234)],'reportedDeletedCount':_0x166616,'absentIds':_0x5262d7[_0x16ad46(0x245)],'remainingIds':_0x5262d7[_0x16ad46(0x257)]},'warnings':_0x4e639c,'verification':verificationFromOutcome(_0x5262d7)});}let _0x1a58e4;try{_0x1a58e4=await readDeleteOutcome(_0x696607,_0x2ff7fc);}catch(_0x56e97a){const _0x1ef176=describeMenuErrorCause(_0x56e97a,_0x16ad46(0x256),_0xaa34c8),_0x31513a=asVerificationError(_0x56e97a,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0xaa34c8+_0x16ad46(0x204));throw menuFailure(_0x31513a,_0x37485b,{'stage':'verification','succeeded':_0x2ff7fc['map'](_0x3894aa=>({'id':_0x3894aa,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'targetIdsAbsent':'unconfirmed',..._0x1ef176},'warnings':[_0x16ad46(0x230)],'verification':{'status':_0x16ad46(0x23c),'lookupCommand':_0x16ad46(0x1ee),'targetIds':_0x2ff7fc}});}if(_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x234)]>0x0){const _0x2c0342=menuError(_0x16ad46(0x1fc),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x1a58e4[_0x16ad46(0x257)][_0x16ad46(0x1f3)](',\x20')+'.',_0x16ad46(0x1ef));throw menuFailure(_0x2c0342,_0x37485b,{'stage':_0x16ad46(0x219),'succeeded':_0x2ff7fc['map'](_0x3fb182=>({'id':_0x3fb182,'deleteRequested':!![]})),'failed':{'id':_0xaa34c8,'targetIds':_0x2ff7fc,'absentIds':_0x1a58e4[_0x16ad46(0x245)],'remainingIds':_0x1a58e4['remainingIds']},'warnings':[_0x16ad46(0x253)],'verification':verificationFromOutcome(_0x1a58e4)});}const _0x2ba615=_0x2ff7fc[_0x16ad46(0x200)](_0x4b1139=>({'id':_0x4b1139,'deleted':!![]})),_0x2c45bb=mutationResult({..._0x37485b,'dryRun':![],'succeeded':_0x2ba615,'verification':{'checkedBy':_0x16ad46(0x240),'plannedSnapshotHash':_0x37485b['snapshotHash'],'finalSnapshotHash':_0x1a58e4['snapshot'][_0x16ad46(0x1f1)],'reportedDeletedCount':_0x166616,'targetAbsent':!_0x1a58e4[_0x16ad46(0x239)]['byId']['has'](_0xaa34c8),'allTargetsAbsent':!![],'targetIds':_0x2ff7fc}});return{'ok':!![],'data':_0x2c45bb,'message':_0x16ad46(0x21c)+_0x2ba615[_0x16ad46(0x234)]+_0x16ad46(0x218)+_0xaa34c8+'.'};}};async function readDeleteOutcome(_0xeeed1,_0x5be2ad){const _0x1b2de2=a111_0x351dd6,_0x4669e7=await fetchMenuSnapshot(_0xeeed1[_0x1b2de2(0x24d)],_0xeeed1[_0x1b2de2(0x1f6)]);return{'snapshot':_0x4669e7,'absentIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x17e2fb=>!_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x17e2fb)),'remainingIds':_0x5be2ad[_0x1b2de2(0x22f)](_0x2618f3=>_0x4669e7[_0x1b2de2(0x1fe)][_0x1b2de2(0x22a)](_0x2618f3))};}function verificationFromOutcome(_0x2258e6){const _0x3bdf6c=a111_0x351dd6;return{'checkedBy':'menu\x20list','absentIds':_0x2258e6['absentIds'],'remainingIds':_0x2258e6[_0x3bdf6c(0x257)]};}function validateDeleteDryRunInput(_0x40d8fa){const _0x27a3e7=a111_0x351dd6;validateExactId(_0x40d8fa);if(!hasFlag(_0x40d8fa,_0x27a3e7(0x20f))||!_0x40d8fa[_0x27a3e7(0x1f5)](_0x27a3e7(0x20f))[_0x27a3e7(0x202)]())throw CliErrors[_0x27a3e7(0x20e)](_0x27a3e7(0x20f),_0x27a3e7(0x248));if(hasFlag(_0x40d8fa,'plan'))throw CliErrors['validation'](_0x27a3e7(0x23d));}function validateDeleteExecuteInput(_0x2b9d52){const _0x4ebe3d=a111_0x351dd6;if(!hasFlag(_0x2b9d52,'plan')||!_0x2b9d52[_0x4ebe3d(0x1f5)](_0x4ebe3d(0x1ff))[_0x4ebe3d(0x202)]())throw CliErrors[_0x4ebe3d(0x20e)](_0x4ebe3d(0x1ff),_0x4ebe3d(0x1fa));const _0x2e4353=['id',_0x4ebe3d(0x24b),_0x4ebe3d(0x20f),_0x4ebe3d(0x212),_0x4ebe3d(0x22c),_0x4ebe3d(0x246)][_0x4ebe3d(0x22f)](_0x2be6f4=>hasFlag(_0x2b9d52,_0x2be6f4));if(_0x2e4353[_0x4ebe3d(0x234)]>0x0)throw CliErrors[_0x4ebe3d(0x25a)](_0x4ebe3d(0x201)+_0x2e4353[_0x4ebe3d(0x200)](_0x36e495=>'--'+_0x36e495)[_0x4ebe3d(0x1f3)](',\x20')+'.');}async function buildDeletePlan(_0x53ad22){const _0x150ea9=a111_0x351dd6,_0x5979e0=validateExactId(_0x53ad22),_0x1d4a77=await fetchMutationSnapshot(_0x53ad22,_0x150ea9(0x222),_0x5979e0),_0xe5ac18=requireMenu(_0x1d4a77,_0x5979e0);assertExpectedState(_0x53ad22,_0xe5ac18);const _0x52f338=_0x53ad22[_0x150ea9(0x241)]('recursive');let _0xb202ff;if(_0x52f338){if(_0xe5ac18[_0x150ea9(0x22b)]['trim']()[_0x150ea9(0x263)]()!==_0x150ea9(0x207))throw menuError(_0x150ea9(0x233),_0x150ea9(0x25c)+_0xe5ac18['id']+_0x150ea9(0x1fd)+(_0xe5ac18[_0x150ea9(0x22b)]||_0x150ea9(0x20c))+_0x150ea9(0x1ed));_0xb202ff=collectDeleteTargets(_0x1d4a77,_0xe5ac18),_0xb202ff['forEach'](_0xcd55c0=>assertDeleteSafety(_0xcd55c0,!![]));}else assertDeleteSafety(_0xe5ac18),_0xb202ff=[_0xe5ac18];assertNoSharedPages(_0x1d4a77,_0xb202ff);const _0x513623=_0xb202ff[_0x150ea9(0x200)](_0x5dd631=>_0x5dd631['id']),_0x2b4a06=cascadeForTargets(_0xb202ff),_0x30e3f7=_0x2b4a06[_0x150ea9(0x255)]['length']>0x0?[_0x150ea9(0x244)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x5979e0,'recursive':_0x52f338},'before':_0xe5ac18,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x150ea9(0x203),'path':_0x150ea9(0x213),'body':{'idList':_0x513623}}],'targets':_0xb202ff,'deleteOrder':_0x513623,'snapshotHash':_0x1d4a77[_0x150ea9(0x1f1)],'cascade':_0x2b4a06,'warnings':_0x30e3f7});}function assertDeleteSafety(_0x10e68b,_0xf18233=![]){const _0x364d0e=a111_0x351dd6,_0x1a2e09=_0x10e68b[_0x364d0e(0x22b)][_0x364d0e(0x202)]()[_0x364d0e(0x263)]()===_0x364d0e(0x207);if(_0x10e68b[_0x364d0e(0x217)]>0x0&&(!_0xf18233||!_0x1a2e09))throw menuError(_0x364d0e(0x24c),_0x364d0e(0x25c)+_0x10e68b['id']+_0x364d0e(0x214)+_0x10e68b[_0x364d0e(0x217)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x364d0e(0x236)+_0x10e68b[_0x364d0e(0x25f)]['join'](',\x20'));if(_0x1a2e09&&_0x10e68b[_0x364d0e(0x260)]!=null)throw menuError(_0x364d0e(0x1ea),_0x364d0e(0x265)+_0x10e68b['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x10e68b[_0x364d0e(0x260)]+_0x364d0e(0x1f7),_0x364d0e(0x266));if(!_0x1a2e09)return;if(!_0x10e68b['resourcesValid'])throw menuError(_0x364d0e(0x225),_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x227),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]>0x0)throw menuError('menu_folder_has_resources',_0x364d0e(0x265)+_0x10e68b['id']+_0x364d0e(0x215)+_0x10e68b[_0x364d0e(0x21b)][_0x364d0e(0x234)]+_0x364d0e(0x24a),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x36059e,_0x1b8c2a){const _0x246709=[],_0x2ee0bc=new Set(),_0x2e8c70=new Set(),_0x22d2e6=_0x4acc05=>{const _0x14de98=a111_0x1490;if(_0x2ee0bc['has'](_0x4acc05['id']))throw menuError(_0x14de98(0x258),_0x14de98(0x24e)+_0x4acc05['id']+'.');if(_0x2e8c70[_0x14de98(0x22a)](_0x4acc05['id']))return;_0x2ee0bc[_0x14de98(0x23e)](_0x4acc05['id']);for(const _0x20f3a3 of _0x4acc05[_0x14de98(0x25f)]){const _0x34710e=_0x36059e['byId']['get'](_0x20f3a3);if(!_0x34710e)throw menuError(_0x14de98(0x258),_0x14de98(0x25c)+_0x4acc05['id']+_0x14de98(0x247)+_0x20f3a3+'.');_0x22d2e6(_0x34710e);}_0x2ee0bc[_0x14de98(0x264)](_0x4acc05['id']),_0x2e8c70[_0x14de98(0x23e)](_0x4acc05['id']),_0x246709[_0x14de98(0x20d)](_0x4acc05);};return _0x22d2e6(_0x1b8c2a),_0x246709;}function assertDeleteTargetsComplete(_0x53a2ae,_0x4cf72b){const _0x2c5650=a111_0x351dd6,_0x34a9db=requireMenu(_0x4cf72b,_0x53a2ae[_0x2c5650(0x25e)]['id']);if(_0x53a2ae[_0x2c5650(0x24b)]&&_0x34a9db[_0x2c5650(0x22b)][_0x2c5650(0x202)]()[_0x2c5650(0x263)]()!==_0x2c5650(0x207))throw menuError('menu_plan_invalid',_0x2c5650(0x228)+_0x34a9db['id']+_0x2c5650(0x252));const _0x250869=_0x53a2ae[_0x2c5650(0x24b)]?collectDeleteTargets(_0x4cf72b,_0x34a9db)['map'](_0x10926c=>_0x10926c['id']):[_0x34a9db['id']];if(JSON[_0x2c5650(0x1fb)](_0x53a2ae[_0x2c5650(0x21e)])!==JSON[_0x2c5650(0x1fb)](_0x250869))throw menuError(_0x2c5650(0x21d),_0x2c5650(0x226),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x133e96,_0x2d905d){const _0x110cea=a111_0x351dd6,_0xe9bf26=new Set(_0x2d905d['map'](_0x2ae2c2=>_0x2ae2c2['id'])),_0xdbd520=new Set(_0x2d905d[_0x110cea(0x200)](_0xf2b419=>_0xf2b419[_0x110cea(0x260)])[_0x110cea(0x22f)](_0x2ff56b=>_0x2ff56b!=null));if(_0xdbd520[_0x110cea(0x250)]===0x0)return;const _0x2d488a=_0x133e96['menus']['filter'](_0x376cb6=>!_0xe9bf26[_0x110cea(0x22a)](_0x376cb6['id'])&&_0x376cb6[_0x110cea(0x260)]!=null&&_0xdbd520[_0x110cea(0x22a)](_0x376cb6['pageId']));if(_0x2d488a[_0x110cea(0x234)]===0x0)return;const _0xe3ceef=_0x2d488a[_0x110cea(0x200)](_0xaac535=>_0x110cea(0x1f9)+_0xaac535[_0x110cea(0x260)]+_0x110cea(0x243)+_0xaac535['id'])[_0x110cea(0x1f3)](',\x20');throw menuError(_0x110cea(0x25b),_0x110cea(0x23f)+_0xe3ceef+'.',_0x110cea(0x224));}function assertCascadeMatchesPlan(_0x5b803c,_0x5d12f4){const _0x4fb119=a111_0x351dd6,_0x2bd977=cascadeForTargets(_0x5d12f4);if(JSON[_0x4fb119(0x1fb)](_0x5b803c[_0x4fb119(0x22e)])!==JSON['stringify'](_0x2bd977))throw menuError(_0x4fb119(0x21d),_0x4fb119(0x211));}function a111_0x1490(_0x53ed1e,_0x4c514f){_0x53ed1e=_0x53ed1e-0x1ea;const _0x42fd57=a111_0x42fd();let _0x14902a=_0x42fd57[_0x53ed1e];return _0x14902a;}function cascadeForTargets(_0x54a7e7){const _0x269660=a111_0x351dd6,_0x3b096f=_0x54a7e7['map'](_0x1fa7e2=>_0x1fa7e2[_0x269660(0x260)])[_0x269660(0x22f)](_0x243e7b=>_0x243e7b!=null)[_0x269660(0x22f)]((_0x454c56,_0x574580,_0xe98400)=>_0xe98400[_0x269660(0x209)](_0x454c56)===_0x574580);return{'pages':_0x3b096f,'pageSchemaAffected':_0x3b096f[_0x269660(0x234)]>0x0};}function asMenuError(_0x3a4645){const _0x295db3=a111_0x351dd6;return _0x3a4645 instanceof CliError?_0x3a4645:menuError(_0x295db3(0x21d),_0x3a4645 instanceof Error?_0x3a4645[_0x295db3(0x223)]:String(_0x3a4645));}
1
+ const a116_0x15db39=a116_0x469c;(function(_0x3593fb,_0x1638f7){const _0x2f0358=a116_0x469c,_0x55dbd4=_0x3593fb();while(!![]){try{const _0x36870e=-parseInt(_0x2f0358(0x118))/0x1+-parseInt(_0x2f0358(0x12b))/0x2+-parseInt(_0x2f0358(0x102))/0x3+parseInt(_0x2f0358(0x100))/0x4*(parseInt(_0x2f0358(0xcd))/0x5)+-parseInt(_0x2f0358(0x127))/0x6+-parseInt(_0x2f0358(0x107))/0x7+parseInt(_0x2f0358(0xee))/0x8;if(_0x36870e===_0x1638f7)break;else _0x55dbd4['push'](_0x55dbd4['shift']());}catch(_0x399de2){_0x55dbd4['push'](_0x55dbd4['shift']());}}}(a116_0x1310,0xedd6e));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';function a116_0x469c(_0x2e50bf,_0x57f2b3){_0x2e50bf=_0x2e50bf-0xc1;const _0x1310c8=a116_0x1310();let _0x469cd4=_0x1310c8[_0x2e50bf];return _0x469cd4;}import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a116_0x1310(){const _0x34fa5a=['menu_non_empty','cookie','pre-write-plan-validation','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','join','batch-delete','filter','forEach','917818CYAbTB',';\x20execution\x20must\x20consume\x20','message','trim','Folder\x20','boolean','path','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','get','menu_delete_page_bound','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','plan','absentIds','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','10936782FTZVAv','menu_batch_delete_count_mismatch','folder','rabetbase\x20menu\x20list\x20--format\x20json','3577316IjQizk','appCode','verify\x20batch\x20delete','batch\x20delete','cascade','byId','childrenIds','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','expiresAt','failed','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','target','toLowerCase','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','\x20is\x20type\x20\x22','execute\x20reviewed\x20delete\x20plan','causeCode','unconfirmed','menu_folder_resources_invalid','\x20still\x20references\x20','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','type','validation','6920kPnMGh','push','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu\x20list','unknown','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','createdAt','menu_tree_invalid','flagMissing','deleteOrder','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','add','delete','str','childrenCount','POST','\x20menu(s)\x20under\x20exact\x20id\x20','batch-delete-menu','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Recursive\x20menu\x20delete\x20plan\x20root\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','string','snapshotHash','map','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','menu_plan_invalid','menus','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','plan\x20delete','/smartapi/menu/batchDelete','has','resourcesValid','56217008mBdZWj','bool','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','expected-children-count','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','causeMessage','plan-validation','\x20is\x20not\x20a\x20folder.','pageId','hash','Batch\x20delete\x20request\x20for\x20menu\x20','stringify','Deleted\x20','Would\x20batch\x20delete\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','page\x20','length','remainingIds','476BmaNmd','):\x20','4718724aCVAYz','indexOf','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_folder_has_resources','808157YTiwcd','dry-run','verification','\x20->\x20menu\x20','recursive','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','plan-out','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Menu\x20'];a116_0x1310=function(){return _0x34fa5a;};return a116_0x1310();}const BACKEND=[{'method':a116_0x15db39(0xdc),'path':a116_0x15db39(0xeb)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a116_0x15db39(0x11f)},MENU_DELETE_RECURSIVE_FLAG={'name':a116_0x15db39(0x10b),'type':a116_0x15db39(0x11d),'description':a116_0x15db39(0xdf)},MENU_DELETE_PLAN_OUT_FLAG={'name':a116_0x15db39(0x10d),'type':a116_0x15db39(0xe2),'description':a116_0x15db39(0x132)},MENU_DELETE_PLAN_FLAG={'name':a116_0x15db39(0x123),'type':a116_0x15db39(0xe2),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':'menu','command':a116_0x15db39(0xd9),'description':a116_0x15db39(0x105),'risk':'high-risk-write','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'(_0x52d10d){const _0x5ef444=a116_0x15db39;_0x52d10d[_0x5ef444(0xef)](_0x5ef444(0x108))?validateDeleteDryRunInput(_0x52d10d):validateDeleteExecuteInput(_0x52d10d),requireExplicitYes(_0x52d10d);},async 'dryRun'(_0x3d487e){const _0x25911f=a116_0x15db39;validateDeleteDryRunInput(_0x3d487e);const _0x4eb44c=await buildDeletePlan(_0x3d487e),_0x48a056=createMenuDeletePlanFile(_0x3d487e['appCode'],_0x4eb44c),_0x307fa6=await writeMenuDeletePlan(_0x3d487e[_0x25911f(0xda)](_0x25911f(0x10d)),_0x48a056),_0x3e47cc=mutationResult({..._0x4eb44c,'planFile':{'path':_0x307fa6,'createdAt':_0x48a056[_0x25911f(0xd3)],'expiresAt':_0x48a056[_0x25911f(0x133)]}});return menuDryRunResult(_0x3e47cc,{'method':_0x25911f(0xdc),'url':_0x25911f(0xeb),'body':{'idList':_0x3e47cc[_0x25911f(0xd6)]},'description':_0x25911f(0xfb)+(_0x3e47cc[_0x25911f(0xd6)]?.[_0x25911f(0xfe)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3e47cc['selector']['id']+_0x25911f(0x119)+_0x307fa6+'.'});},async 'execute'(_0x2bae7f){const _0x36f684=a116_0x15db39;requireExplicitYes(_0x2bae7f),validateDeleteExecuteInput(_0x2bae7f);const _0x17e51b=await readMenuDeletePlan(_0x2bae7f[_0x36f684(0xda)](_0x36f684(0x123))),_0x1289bc=mutationPlanFromDeleteFile(_0x17e51b[_0x36f684(0x123)],_0x17e51b[_0x36f684(0x11e)]),_0x72a356=_0x17e51b[_0x36f684(0x123)][_0x36f684(0xc1)]['id'];try{assertMenuDeletePlanExecutable(_0x17e51b['plan'],_0x2bae7f[_0x36f684(0x12c)]);}catch(_0x1bd49d){throw menuFailure(asMenuError(_0x1bd49d),_0x1289bc,{'stage':_0x36f684(0xf4),'failed':{'id':_0x72a356}});}let _0x101e22,_0x2628f4;try{_0x101e22=await fetchMutationSnapshot(_0x2bae7f,_0x36f684(0xc5),_0x72a356),_0x2628f4=assertMenuDeletePlanCurrent(_0x17e51b['plan'],_0x2bae7f[_0x36f684(0x12c)],_0x101e22),assertDeleteTargetsComplete(_0x17e51b['plan'],_0x101e22),_0x2628f4[_0x36f684(0x117)](_0x3f9864=>assertDeleteSafety(_0x3f9864,_0x17e51b[_0x36f684(0x123)]['recursive'])),assertNoSharedPages(_0x101e22,_0x2628f4),assertCascadeMatchesPlan(_0x1289bc,_0x2628f4);}catch(_0x4926bd){throw menuFailure(asMenuError(_0x4926bd),_0x1289bc,{'stage':_0x36f684(0x112),'failed':{'id':_0x72a356}});}const _0x499998=_0x17e51b[_0x36f684(0x123)][_0x36f684(0xd6)];let _0x1e95b2;try{_0x1e95b2=await batchDeleteMenuEntities(_0x2bae7f['cookie'],_0x499998);}catch(_0x4802b4){const _0x5da448=mapMenuApiError(_0x4802b4,_0x36f684(0x12e)),_0x2155b8=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x1f8abe;try{_0x1f8abe=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x49f86f){const _0x30b34e=describeMenuErrorCause(_0x49f86f,_0x36f684(0xe9),_0x72a356);_0x2155b8[_0x36f684(0xce)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x30b34e[_0x36f684(0xc6)]+_0x36f684(0x101)+_0x30b34e[_0x36f684(0xf3)]);throw menuFailure(_0x5da448,_0x1289bc,{'stage':_0x36f684(0x115),'failed':{'targetIds':_0x499998,'targetIdsAbsent':_0x36f684(0xc7),..._0x30b34e},'warnings':_0x2155b8,'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}throw menuFailure(_0x5da448,_0x1289bc,{'stage':'batch-delete','succeeded':_0x1f8abe[_0x36f684(0x124)]['map'](_0x459531=>({'id':_0x459531,'deleted':!![]})),'failed':{'targetIds':_0x499998,'absentIds':_0x1f8abe[_0x36f684(0x124)],'remainingIds':_0x1f8abe[_0x36f684(0xff)]},'warnings':_0x2155b8,'verification':verificationFromOutcome(_0x1f8abe)});}if(_0x1e95b2!==_0x499998['length']){const _0x1f0c09=menuError(_0x36f684(0x128),'Backend\x20reported\x20'+_0x1e95b2+'\x20deleted\x20menus;\x20expected\x20'+_0x499998[_0x36f684(0xfe)]+'.',_0x36f684(0xf2)),_0x4614e4=[_0x36f684(0xc3)];let _0x33f762;try{_0x33f762=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x1bb4d3){const _0x54a2b2=describeMenuErrorCause(_0x1bb4d3,_0x36f684(0x125),_0x72a356);_0x4614e4['push']('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x54a2b2[_0x36f684(0xc6)]+_0x36f684(0x101)+_0x54a2b2[_0x36f684(0xf3)]);throw menuFailure(_0x1f0c09,_0x1289bc,{'stage':'batch-delete','failed':{'targetIds':_0x499998,'expectedCount':_0x499998['length'],'reportedDeletedCount':_0x1e95b2,'targetIdsAbsent':'unconfirmed',..._0x54a2b2},'warnings':_0x4614e4,'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}throw menuFailure(_0x1f0c09,_0x1289bc,{'stage':_0x36f684(0x115),'succeeded':_0x33f762[_0x36f684(0x124)][_0x36f684(0xe4)](_0x369635=>({'id':_0x369635,'deleted':!![]})),'failed':{'targetIds':_0x499998,'expectedCount':_0x499998[_0x36f684(0xfe)],'reportedDeletedCount':_0x1e95b2,'absentIds':_0x33f762[_0x36f684(0x124)],'remainingIds':_0x33f762['remainingIds']},'warnings':_0x4614e4,'verification':verificationFromOutcome(_0x33f762)});}let _0xd388b3;try{_0xd388b3=await readDeleteOutcome(_0x2bae7f,_0x499998);}catch(_0x21a853){const _0x16de32=describeMenuErrorCause(_0x21a853,_0x36f684(0x12d),_0x72a356),_0x50e003=asVerificationError(_0x21a853,_0x36f684(0xf8)+_0x72a356+_0x36f684(0xd2));throw menuFailure(_0x50e003,_0x1289bc,{'stage':_0x36f684(0x109),'succeeded':_0x499998[_0x36f684(0xe4)](_0x4018e9=>({'id':_0x4018e9,'deleteRequested':!![]})),'failed':{'id':_0x72a356,'targetIds':_0x499998,'targetIdsAbsent':_0x36f684(0xc7),..._0x16de32},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x36f684(0x134),'lookupCommand':_0x36f684(0x12a),'targetIds':_0x499998}});}if(_0xd388b3[_0x36f684(0xff)]['length']>0x0){const _0x4150ea=menuError('menu_verification_failed','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0xd388b3[_0x36f684(0xff)][_0x36f684(0x114)](',\x20')+'.',_0x36f684(0xf2));throw menuFailure(_0x4150ea,_0x1289bc,{'stage':'verification','succeeded':_0x499998['map'](_0x36947d=>({'id':_0x36947d,'deleteRequested':!![]})),'failed':{'id':_0x72a356,'targetIds':_0x499998,'absentIds':_0xd388b3[_0x36f684(0x124)],'remainingIds':_0xd388b3['remainingIds']},'warnings':[_0x36f684(0xca)],'verification':verificationFromOutcome(_0xd388b3)});}const _0x17b349=_0x499998[_0x36f684(0xe4)](_0x57339f=>({'id':_0x57339f,'deleted':!![]})),_0x3b7993=mutationResult({..._0x1289bc,'dryRun':![],'succeeded':_0x17b349,'verification':{'checkedBy':_0x36f684(0xd0),'plannedSnapshotHash':_0x1289bc[_0x36f684(0xe3)],'finalSnapshotHash':_0xd388b3['snapshot'][_0x36f684(0xf7)],'reportedDeletedCount':_0x1e95b2,'targetAbsent':!_0xd388b3['snapshot'][_0x36f684(0x130)][_0x36f684(0xec)](_0x72a356),'allTargetsAbsent':!![],'targetIds':_0x499998}});return{'ok':!![],'data':_0x3b7993,'message':_0x36f684(0xfa)+_0x17b349['length']+_0x36f684(0xdd)+_0x72a356+'.'};}};async function readDeleteOutcome(_0x2d4a82,_0x1c146f){const _0x2de292=a116_0x15db39,_0x42e116=await fetchMenuSnapshot(_0x2d4a82['appCode'],_0x2d4a82[_0x2de292(0x111)]);return{'snapshot':_0x42e116,'absentIds':_0x1c146f[_0x2de292(0x116)](_0x1db533=>!_0x42e116[_0x2de292(0x130)][_0x2de292(0xec)](_0x1db533)),'remainingIds':_0x1c146f['filter'](_0x4c1e24=>_0x42e116[_0x2de292(0x130)]['has'](_0x4c1e24))};}function verificationFromOutcome(_0xd8b568){const _0x26c310=a116_0x15db39;return{'checkedBy':'menu\x20list','absentIds':_0xd8b568['absentIds'],'remainingIds':_0xd8b568[_0x26c310(0xff)]};}function validateDeleteDryRunInput(_0x14d062){const _0x4a1cde=a116_0x15db39;validateExactId(_0x14d062);if(!hasFlag(_0x14d062,_0x4a1cde(0x10d))||!_0x14d062[_0x4a1cde(0xda)]('plan-out')['trim']())throw CliErrors[_0x4a1cde(0xd5)]('plan-out',_0x4a1cde(0x113));if(hasFlag(_0x14d062,_0x4a1cde(0x123)))throw CliErrors[_0x4a1cde(0xcc)](_0x4a1cde(0x104));}function validateDeleteExecuteInput(_0x2149dd){const _0x2b8300=a116_0x15db39;if(!hasFlag(_0x2149dd,'plan')||!_0x2149dd['str'](_0x2b8300(0x123))[_0x2b8300(0x11b)]())throw CliErrors[_0x2b8300(0xd5)]('plan',_0x2b8300(0xe1));const _0x4fc9bb=['id',_0x2b8300(0x10b),_0x2b8300(0x10d),'expect-parent-id','expect-path',_0x2b8300(0xf1)]['filter'](_0x1d65d9=>hasFlag(_0x2149dd,_0x1d65d9));if(_0x4fc9bb[_0x2b8300(0xfe)]>0x0)throw CliErrors['validation']('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4fc9bb[_0x2b8300(0xe4)](_0x41dea8=>'--'+_0x41dea8)['join'](',\x20')+'.');}async function buildDeletePlan(_0x5e6004){const _0x157eaf=a116_0x15db39,_0x4e698c=validateExactId(_0x5e6004),_0x15aca8=await fetchMutationSnapshot(_0x5e6004,_0x157eaf(0xea),_0x4e698c),_0x2e4b15=requireMenu(_0x15aca8,_0x4e698c);assertExpectedState(_0x5e6004,_0x2e4b15);const _0x171490=_0x5e6004[_0x157eaf(0xef)]('recursive');let _0x2c3598;if(_0x171490){if(_0x2e4b15[_0x157eaf(0xcb)][_0x157eaf(0x11b)]()[_0x157eaf(0xc2)]()!=='folder')throw menuError('menu_recursive_requires_folder',_0x157eaf(0x10f)+_0x2e4b15['id']+_0x157eaf(0xc4)+(_0x2e4b15[_0x157eaf(0xcb)]||_0x157eaf(0xd1))+_0x157eaf(0x126));_0x2c3598=collectDeleteTargets(_0x15aca8,_0x2e4b15),_0x2c3598['forEach'](_0x296029=>assertDeleteSafety(_0x296029,!![]));}else assertDeleteSafety(_0x2e4b15),_0x2c3598=[_0x2e4b15];assertNoSharedPages(_0x15aca8,_0x2c3598);const _0x1c5c60=_0x2c3598['map'](_0x32c658=>_0x32c658['id']),_0x509e9b=cascadeForTargets(_0x2c3598),_0x22aff9=_0x509e9b['pages'][_0x157eaf(0xfe)]>0x0?[_0x157eaf(0xf0)]:[];return mutationResult({'operation':_0x157eaf(0xd9),'selector':{'id':_0x4e698c,'recursive':_0x171490},'before':_0x2e4b15,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x157eaf(0xde),'method':'POST','path':_0x157eaf(0xeb),'body':{'idList':_0x1c5c60}}],'targets':_0x2c3598,'deleteOrder':_0x1c5c60,'snapshotHash':_0x15aca8[_0x157eaf(0xf7)],'cascade':_0x509e9b,'warnings':_0x22aff9});}function assertDeleteSafety(_0x4f7425,_0x365a7c=![]){const _0x84f0ce=a116_0x15db39,_0x37199b=_0x4f7425[_0x84f0ce(0xcb)][_0x84f0ce(0x11b)]()[_0x84f0ce(0xc2)]()===_0x84f0ce(0x129);if(_0x4f7425[_0x84f0ce(0xdb)]>0x0&&(!_0x365a7c||!_0x37199b))throw menuError(_0x84f0ce(0x110),_0x84f0ce(0x10f)+_0x4f7425['id']+'\x20has\x20'+_0x4f7425[_0x84f0ce(0xdb)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x84f0ce(0xe8)+_0x4f7425[_0x84f0ce(0x131)]['join'](',\x20'));if(_0x37199b&&_0x4f7425['pageId']!=null)throw menuError(_0x84f0ce(0x121),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0xfc)+_0x4f7425['pageId']+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x84f0ce(0xcf));if(!_0x37199b)return;if(!_0x4f7425[_0x84f0ce(0xed)])throw menuError(_0x84f0ce(0xc8),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0x10c),_0x84f0ce(0x10e));if(_0x4f7425['resources'][_0x84f0ce(0xfe)]>0x0)throw menuError(_0x84f0ce(0x106),_0x84f0ce(0x11c)+_0x4f7425['id']+_0x84f0ce(0xc9)+_0x4f7425['resources']['length']+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x199cc4,_0x54ba67){const _0x3f79c8=[],_0x47011a=new Set(),_0xf5f0da=new Set(),_0x186cd8=_0x248775=>{const _0x514a51=a116_0x469c;if(_0x47011a[_0x514a51(0xec)](_0x248775['id']))throw menuError(_0x514a51(0xd4),_0x514a51(0x135)+_0x248775['id']+'.');if(_0xf5f0da[_0x514a51(0xec)](_0x248775['id']))return;_0x47011a[_0x514a51(0xd8)](_0x248775['id']);for(const _0x346e6c of _0x248775[_0x514a51(0x131)]){const _0x401f52=_0x199cc4['byId'][_0x514a51(0x120)](_0x346e6c);if(!_0x401f52)throw menuError('menu_tree_invalid',_0x514a51(0x10f)+_0x248775['id']+'\x20references\x20missing\x20child\x20'+_0x346e6c+'.');_0x186cd8(_0x401f52);}_0x47011a[_0x514a51(0xd9)](_0x248775['id']),_0xf5f0da[_0x514a51(0xd8)](_0x248775['id']),_0x3f79c8['push'](_0x248775);};return _0x186cd8(_0x54ba67),_0x3f79c8;}function assertDeleteTargetsComplete(_0x116e0e,_0x4dcab2){const _0x28fb01=a116_0x15db39,_0x350378=requireMenu(_0x4dcab2,_0x116e0e[_0x28fb01(0xc1)]['id']);if(_0x116e0e[_0x28fb01(0x10b)]&&_0x350378[_0x28fb01(0xcb)]['trim']()[_0x28fb01(0xc2)]()!=='folder')throw menuError(_0x28fb01(0xe6),_0x28fb01(0xe0)+_0x350378['id']+_0x28fb01(0xf5));const _0x52a15a=_0x116e0e[_0x28fb01(0x10b)]?collectDeleteTargets(_0x4dcab2,_0x350378)['map'](_0x21c444=>_0x21c444['id']):[_0x350378['id']];if(JSON['stringify'](_0x116e0e['deleteOrder'])!==JSON[_0x28fb01(0xf9)](_0x52a15a))throw menuError(_0x28fb01(0xe6),_0x28fb01(0x136),_0x28fb01(0xe5));}function assertNoSharedPages(_0xbb1255,_0x3ae1b1){const _0x2d3b6e=a116_0x15db39,_0x1fc0b4=new Set(_0x3ae1b1[_0x2d3b6e(0xe4)](_0x2f05c4=>_0x2f05c4['id'])),_0x487304=new Set(_0x3ae1b1[_0x2d3b6e(0xe4)](_0x3ef384=>_0x3ef384[_0x2d3b6e(0xf6)])['filter'](_0x2c2040=>_0x2c2040!=null));if(_0x487304['size']===0x0)return;const _0x4fdbbe=_0xbb1255[_0x2d3b6e(0xe7)][_0x2d3b6e(0x116)](_0x3f8300=>!_0x1fc0b4['has'](_0x3f8300['id'])&&_0x3f8300[_0x2d3b6e(0xf6)]!=null&&_0x487304[_0x2d3b6e(0xec)](_0x3f8300['pageId']));if(_0x4fdbbe['length']===0x0)return;const _0x2e56e2=_0x4fdbbe[_0x2d3b6e(0xe4)](_0x535a08=>_0x2d3b6e(0xfd)+_0x535a08[_0x2d3b6e(0xf6)]+_0x2d3b6e(0x10a)+_0x535a08['id'])[_0x2d3b6e(0x114)](',\x20');throw menuError('menu_page_shared',_0x2d3b6e(0x122)+_0x2e56e2+'.',_0x2d3b6e(0xd7));}function assertCascadeMatchesPlan(_0x2e88bd,_0x109291){const _0x3f3a06=a116_0x15db39,_0x52f385=cascadeForTargets(_0x109291);if(JSON['stringify'](_0x2e88bd[_0x3f3a06(0x12f)])!==JSON['stringify'](_0x52f385))throw menuError(_0x3f3a06(0xe6),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x419617){const _0x175ce6=a116_0x15db39,_0x124739=_0x419617['map'](_0x55ed1e=>_0x55ed1e[_0x175ce6(0xf6)])[_0x175ce6(0x116)](_0x1ab0d3=>_0x1ab0d3!=null)['filter']((_0x2617aa,_0x1877b3,_0x174922)=>_0x174922[_0x175ce6(0x103)](_0x2617aa)===_0x1877b3);return{'pages':_0x124739,'pageSchemaAffected':_0x124739['length']>0x0};}function asMenuError(_0x476a4d){const _0x59b00e=a116_0x15db39;return _0x476a4d instanceof CliError?_0x476a4d:menuError(_0x59b00e(0xe6),_0x476a4d instanceof Error?_0x476a4d[_0x59b00e(0x11a)]:String(_0x476a4d));}
@@ -1 +1 @@
1
- const a112_0x1c6442=a112_0x147d;(function(_0x4d4626,_0x32a31a){const _0x212547=a112_0x147d,_0x2b00be=_0x4d4626();while(!![]){try{const _0x382897=parseInt(_0x212547(0x1b1))/0x1+-parseInt(_0x212547(0x1a6))/0x2*(-parseInt(_0x212547(0x17d))/0x3)+parseInt(_0x212547(0x1b3))/0x4+parseInt(_0x212547(0x13b))/0x5*(-parseInt(_0x212547(0x1a4))/0x6)+parseInt(_0x212547(0x1b4))/0x7+parseInt(_0x212547(0x179))/0x8+-parseInt(_0x212547(0x177))/0x9;if(_0x382897===_0x32a31a)break;else _0x2b00be['push'](_0x2b00be['shift']());}catch(_0x20577d){_0x2b00be['push'](_0x2b00be['shift']());}}}(a112_0x51c1,0x900e0));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':a112_0x1c6442(0x143),'new-window':'link'};export function validateExternalMenuUrl(_0x32b754){const _0x474b31=a112_0x1c6442,_0x5591ec=_0x32b754[_0x474b31(0x150)]();let _0x190ad7;try{_0x190ad7=new URL(_0x5591ec);}catch{throw menuError(_0x474b31(0x18e),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x474b31(0x1aa));}if(_0x190ad7[_0x474b31(0x13f)]!==_0x474b31(0x195))throw menuError('menu_url_https_required',_0x474b31(0x14d),_0x474b31(0x15b));if(_0x190ad7[_0x474b31(0x16f)]||_0x190ad7[_0x474b31(0x193)])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x474b31(0x14b));return _0x5591ec;}export const menuExternalLinkCreate={'service':'menu','command':a112_0x1c6442(0x1a5),'description':a112_0x1c6442(0x173),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':'string','required':!![],'description':a112_0x1c6442(0x198)},{'name':a112_0x1c6442(0x151),'type':a112_0x1c6442(0x192),'required':!![],'enum':['embedded',a112_0x1c6442(0x180)],'description':a112_0x1c6442(0x1ad)},{'name':a112_0x1c6442(0x186),'type':'string','required':!![],'description':a112_0x1c6442(0x199)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a112_0x1c6442(0x12e),'default':!![],'description':a112_0x1c6442(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x171d45){validateAddInput(_0x171d45);},async 'dryRun'(_0x2a8e5f){const _0x217cbc=a112_0x1c6442;validateAddInput(_0x2a8e5f);const {plan:_0x39ac40}=await buildSafeAddPlan(_0x2a8e5f,!![]),_0x9a8e54=_0x39ac40[_0x217cbc(0x154)],_0x7be26f=createBody(_0x9a8e54);return menuDryRunResult(_0x39ac40,{'method':_0x217cbc(0x176),'url':_0x217cbc(0x1a1),'body':_0x7be26f,'description':_0x217cbc(0x136)+JSON['stringify'](_0x9a8e54[_0x217cbc(0x196)])+_0x217cbc(0x15d)+_0x2a8e5f[_0x217cbc(0x141)]('open-mode')+_0x217cbc(0x1a7)});},async 'execute'(_0x51371d){const _0xf6c55b=a112_0x1c6442;validateAddInput(_0x51371d);const _0x152823=await buildSafeAddPlan(_0x51371d,![]),{plan:_0x592646,snapshot:_0x16c8ea}=_0x152823,_0x118a4c=_0x592646[_0xf6c55b(0x154)],_0xe920a5=buildMenuLookupCommand(_0x51371d[_0xf6c55b(0x19e)]);await recheckAddSnapshot(_0x51371d,_0x592646);let _0x31827f;try{_0x31827f=await createMenuEntity(_0x51371d[_0xf6c55b(0x19e)],_0x51371d['cookie'],createBody(_0x118a4c));}catch(_0x34793f){const _0x1e4dda=mapMenuApiError(_0x34793f,_0xf6c55b(0x140));if(!isMenuResponseLoss(_0x34793f)||_0x1e4dda[_0xf6c55b(0x168)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x1e4dda,_0x592646,{'stage':_0xf6c55b(0x1af),'failed':{},'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5}});return recoverAfterResponseLoss(_0x51371d,_0x152823,_0xe920a5);}const _0x1c2f39=Number(_0x31827f?.['id']),_0x4dcbb3=typeof _0x31827f?.['path']===_0xf6c55b(0x192)?_0x31827f[_0xf6c55b(0x16e)]:'';if(!Number[_0xf6c55b(0x152)](_0x1c2f39)||_0x1c2f39<=0x0||!_0x4dcbb3[_0xf6c55b(0x150)]()){const _0x2f50d6=menuError(_0xf6c55b(0x148),_0xf6c55b(0x155),_0xf6c55b(0x190)+_0xe920a5+_0xf6c55b(0x17a));throw externalLinkCreateFailure(_0x2f50d6,_0x592646,{'stage':'create-response-validation','succeeded':Number['isSafeInteger'](_0x1c2f39)&&_0x1c2f39>0x0?[{'id':_0x1c2f39,'created':!![]}]:[],'failed':{'createdId':Number[_0xf6c55b(0x152)](_0x1c2f39)?_0x1c2f39:null,'generatedPathConfirmed':Boolean(_0x4dcbb3[_0xf6c55b(0x150)]())},'warnings':[_0xf6c55b(0x181)],'after':Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{..._0x118a4c,'id':_0x1c2f39,'path':_0x4dcbb3}:_0x118a4c,'verification':{'status':_0xf6c55b(0x158),'lookupCommand':_0xe920a5,...Number[_0xf6c55b(0x152)](_0x1c2f39)&&_0x1c2f39>0x0?{'targetId':_0x1c2f39}:{}}});}const _0x5b677a=await readAndVerifyCreatedMenu({'appCode':_0x51371d[_0xf6c55b(0x19e)],'cookie':_0x51371d[_0xf6c55b(0x16d)],'plan':_0x592646,'afterPlan':_0x118a4c,'createdId':_0x1c2f39,'expectedPath':_0x4dcbb3,'lookupCommand':_0xe920a5,'recovered':![]});return creationSuccess(_0x592646,_0x5b677a['snapshot'],_0x5b677a['fact'],![]);}};function validateAddInput(_0x376fb1){const _0x51f5ca=a112_0x1c6442;if(!_0x376fb1['str']('label')[_0x51f5ca(0x150)]())throw CliErrors[_0x51f5ca(0x19c)](_0x51f5ca(0x196));resolveExternalMenuType(_0x376fb1),validateExternalMenuUrl(_0x376fb1['str'](_0x51f5ca(0x186))),parseParentId(_0x376fb1,_0x51f5ca(0x172)),validateSort(_0x376fb1);}function resolveExternalMenuType(_0x1e693c){const _0x5245c0=a112_0x1c6442,_0x28ad13=_0x1e693c[_0x5245c0(0x141)]('open-mode')[_0x5245c0(0x150)]();if(!_0x28ad13)throw CliErrors[_0x5245c0(0x19c)]('open-mode');const _0x50024e=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x28ad13];if(!_0x50024e)throw menuError(_0x5245c0(0x19d),_0x5245c0(0x189),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x50024e;}async function buildAddPlan(_0x58a34a,_0x810a35){const _0x407246=a112_0x1c6442,_0x30702e=await fetchMutationSnapshot(_0x58a34a,_0x407246(0x140)),_0xe6499b=parseParentId(_0x58a34a,'parent-id')??null;if(_0xe6499b!=null)requireFolder(_0x30702e,_0xe6499b);const _0x121e43=validateSort(_0x58a34a),_0x27b827=_0x121e43??nextSiblingSort(_0x30702e,_0xe6499b,_0x407246(0x1a8)),_0x5de947=_0x58a34a['str']('label')[_0x407246(0x150)](),_0x4de980=resolveExternalMenuType(_0x58a34a),_0x40ae74=validateExternalMenuUrl(_0x58a34a[_0x407246(0x141)](_0x407246(0x186))),_0x16316f=Object[_0x407246(0x1ac)]['hasOwnProperty'][_0x407246(0x1b0)](_0x58a34a['rawFlags'],_0x407246(0x171))?_0x58a34a['bool'](_0x407246(0x171)):!![],_0x51d568={'id':null,'parentId':_0xe6499b,'label':_0x5de947,'path':_0x407246(0x163),'url':_0x40ae74,'type':_0x4de980,'visible':_0x16316f,'sort':_0x27b827},_0x3603e6=buildMenuLookupCommand(_0x58a34a[_0x407246(0x19e)]),_0x5d53af=mutationResult({'operation':_0x407246(0x147),'selector':{'parentId':_0xe6499b,'type':_0x4de980,'label':_0x5de947,'url':_0x40ae74},'before':null,'after':_0x51d568,'dryRun':_0x810a35,'backend':[{'method':_0x407246(0x176),'path':_0x407246(0x1a1)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x51d568)}],'snapshotHash':_0x30702e[_0x407246(0x18c)],'warnings':[_0x407246(0x187)],'verification':{'lookupCommand':_0x3603e6}});return{'plan':_0x5d53af,'snapshot':_0x30702e};}async function buildSafeAddPlan(_0xe0cefb,_0x4b3f7c){try{return await buildAddPlan(_0xe0cefb,_0x4b3f7c);}catch(_0x48c7b4){throw safeMenuAddError(_0x48c7b4);}}async function recheckAddSnapshot(_0x4fa6a4,_0x32f121){const _0x52a342=a112_0x1c6442;try{await recheckMutationSnapshot(_0x4fa6a4,_0x32f121,_0x52a342(0x140));}catch(_0x21f589){const _0x5523a6=getFailureRecord(_0x21f589);throw externalLinkCreateFailure(_0x21f589,_0x32f121,{'stage':'pre-write-recheck','failed':{..._0x5523a6?.[_0x52a342(0x167)]?{'expectedSnapshotHash':_0x5523a6[_0x52a342(0x167)]}:{},..._0x5523a6?.[_0x52a342(0x13d)]?{'currentSnapshotHash':_0x5523a6[_0x52a342(0x13d)]}:{}}});}}function createBody(_0x532272){const _0x4a8838=a112_0x1c6442;return{'parentId':toApiParentId(_0x532272['parentId']),'label':String(_0x532272[_0x4a8838(0x196)]),'type':String(_0x532272['type']),'url':String(_0x532272[_0x4a8838(0x186)]),'visible':Boolean(_0x532272['visible']),'sort':Number(_0x532272[_0x4a8838(0x130)]),'extend':{}};}function a112_0x51c1(){const _0x434c20=['expectedPath','Created\x20menu\x20','lookupCommand','<redacted>','cookie','path','username','rabetbase\x20menu\x20list\x20--appcode\x20','visible','parent-id','Create\x20an\x20external\x20website\x20link\x20menu','includes','Recovered\x20created\x20external\x20menu\x20','POST','15442704JxnmXg','fromEntries','6310720GlonIH','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','length','Recovered\x20menu\x20','258294DKysFS','data','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','new-window','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-recovery','url','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','causemessage','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_mutation_failed','\x20failed\x20final\x20verification.','hash','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_url_invalid','get','Run\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','string','password','map','https:','label','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Menu\x20label','External\x20HTTPS\x20URL','type','object','flagMissing','menu_open_mode_invalid','appCode','menu_parent_not_folder','readbackerror','/smartapi/menu/create','plannedActions','verification','24JBQaGQ','external-link-create','2AvmGbM','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu','afterPlan','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','prototype','How\x20to\x20open\x20the\x20external\x20website','\x20has\x20an\x20unexpected\x20generated\x20path.','create','call','646737pneSZS','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','4349524HVogCa','1427608ORwjCF','plan','filter','boolean','Menu\x20','sort','selector','cause','has','Whether\x20the\x20menu\x20is\x20visible','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_recovery_required','parentId','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','replace','633870MbsRtu','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','currentSnapshotHash','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','protocol','create\x20external\x20menu','str','body','iframe','\x27\x5c\x27\x27','External\x20menu\x20creation\x20failed.','byId','add','menu_create_response_invalid','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','createdId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','menu_sort_overflow','succeeded','trim','open-mode','isSafeInteger','rawerror','after','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu\x20list','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','failed','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','before','Provide\x20an\x20HTTPS\x20URL.','recovered','\x20with\x20','menu_not_found','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_verification_failed','visibility','menu_state_drift','<platform-generated>','\x20after\x20response\x20loss.','menu_sort_invalid','isArray','expectedSnapshotHash','code'];a112_0x51c1=function(){return _0x434c20;};return a112_0x51c1();}function buildMenuLookupCommand(_0x1ea7f8){const _0x32cc41=a112_0x1c6442,_0x427973='\x27'+_0x1ea7f8[_0x32cc41(0x13a)](/'/g,_0x32cc41(0x144))+'\x27';return _0x32cc41(0x170)+_0x427973+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x10bc09,_0x26af34,_0x5dd4ec){const _0x6f5776=a112_0x1c6442,{plan:_0x55fb58,snapshot:_0x163d44}=_0x26af34,_0x48ba9c=_0x55fb58['after'];let _0x4e80a6;try{_0x4e80a6=await fetchMenuSnapshot(_0x10bc09[_0x6f5776(0x19e)],_0x10bc09[_0x6f5776(0x16d)]);}catch(_0x752a74){throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x18b886=_0x4e80a6['menus'][_0x6f5776(0x12d)](_0x16bfa0=>_0x16bfa0['parentId']===_0x48ba9c[_0x6f5776(0x138)]&&_0x16bfa0[_0x6f5776(0x19a)]===_0x48ba9c[_0x6f5776(0x19a)]&&_0x16bfa0['label']===_0x48ba9c[_0x6f5776(0x196)]&&_0x16bfa0[_0x6f5776(0x186)]===_0x48ba9c[_0x6f5776(0x186)]),_0x671d82=_0x18b886[_0x6f5776(0x12d)](_0x4563aa=>!_0x163d44[_0x6f5776(0x146)][_0x6f5776(0x133)](_0x4563aa['id'])),_0x20dc5c=_0x18b886[_0x6f5776(0x12d)](_0x4e5332=>_0x163d44[_0x6f5776(0x146)]['has'](_0x4e5332['id']));if(_0x18b886[_0x6f5776(0x17b)]!==0x1||_0x671d82[_0x6f5776(0x17b)]!==0x1)throw recoveryRequiredFailure(_0x55fb58,_0x5dd4ec,{'matchCount':_0x18b886[_0x6f5776(0x17b)],'newMatchCount':_0x671d82[_0x6f5776(0x17b)],'preexistingMatchCount':_0x20dc5c[_0x6f5776(0x17b)]});const _0x56e023=_0x671d82[0x0];try{verifyCreatedFact(_0x56e023,_0x56e023['id'],_0x48ba9c,null);}catch(_0x1ce8e5){const _0x32f9b5=_0x1ce8e5 instanceof Error&&_0x6f5776(0x168)in _0x1ce8e5?_0x1ce8e5:menuError(_0x6f5776(0x160),_0x6f5776(0x17c)+_0x56e023['id']+'\x20could\x20not\x20be\x20verified.',_0x6f5776(0x190)+_0x5dd4ec+_0x6f5776(0x183));throw externalLinkCreateFailure(_0x32f9b5,_0x55fb58,{'stage':_0x6f5776(0x1a3),'succeeded':[{'id':_0x56e023['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x56e023['id'],'finalFactsConfirmed':![]},'after':_0x56e023,'warnings':[_0x6f5776(0x12f)+_0x56e023['id']+_0x6f5776(0x197)],'verification':{'status':'failed','targetId':_0x56e023['id'],'recovered':!![],'lookupCommand':_0x5dd4ec}});}return creationSuccess(_0x55fb58,_0x4e80a6,_0x56e023,!![]);}function recoveryRequiredFailure(_0x580e21,_0x27843b,_0x4c2ea7){const _0x5ced52=a112_0x1c6442,_0x5b12cb=menuError(_0x5ced52(0x137),_0x5ced52(0x139),_0x5ced52(0x190)+_0x27843b+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x5b12cb,_0x580e21,{'stage':_0x5ced52(0x185),'failed':_0x4c2ea7,'warnings':[_0x5ced52(0x18d)],'verification':{'status':_0x5ced52(0x158),..._0x4c2ea7,'lookupCommand':_0x27843b}});}async function readAndVerifyCreatedMenu(_0x23866b){const _0x4f117e=a112_0x1c6442;let _0x56ed73;try{_0x56ed73=await fetchMenuSnapshot(_0x23866b[_0x4f117e(0x19e)],_0x23866b[_0x4f117e(0x16d)]);}catch(_0x697206){const _0xe30a2b=menuError('menu_verification_failed','Menu\x20'+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x159),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0xe30a2b,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b['createdId'],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x184)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b['createdId'],'lookupCommand':_0x23866b[_0x4f117e(0x16b)]}});}const _0xd6e408=_0x56ed73[_0x4f117e(0x146)][_0x4f117e(0x18f)](_0x23866b[_0x4f117e(0x14a)]);try{if(!_0xd6e408)throw menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x149),_0x4f117e(0x190)+_0x23866b['lookupCommand']+_0x4f117e(0x135));verifyCreatedFact(_0xd6e408,_0x23866b['createdId'],_0x23866b['afterPlan'],_0x23866b['expectedPath']);}catch(_0x4eb25e){const _0x845358=_0x4eb25e instanceof Error&&_0x4f117e(0x168)in _0x4eb25e?_0x4eb25e:menuError(_0x4f117e(0x160),_0x4f117e(0x16a)+_0x23866b[_0x4f117e(0x14a)]+_0x4f117e(0x18b),'Run\x20'+_0x23866b[_0x4f117e(0x16b)]+_0x4f117e(0x135));throw externalLinkCreateFailure(_0x845358,_0x23866b[_0x4f117e(0x12c)],{'stage':_0x4f117e(0x1a3),'succeeded':[{'id':_0x23866b[_0x4f117e(0x14a)],'created':!![]}],'failed':{'id':_0x23866b[_0x4f117e(0x14a)],'finalFactsConfirmed':![]},'after':_0xd6e408??{..._0x23866b[_0x4f117e(0x1a9)],'id':_0x23866b[_0x4f117e(0x14a)],'path':_0x23866b[_0x4f117e(0x169)]},'warnings':[_0x4f117e(0x12f)+_0x23866b['createdId']+_0x4f117e(0x14c)],'verification':{'status':_0x4f117e(0x158),'targetId':_0x23866b[_0x4f117e(0x14a)],'recovered':_0x23866b[_0x4f117e(0x15c)],'lookupCommand':_0x23866b['lookupCommand']}});}return{'snapshot':_0x56ed73,'fact':_0xd6e408};}function a112_0x147d(_0x477663,_0x263e4b){_0x477663=_0x477663-0x12c;const _0x51c1ae=a112_0x51c1();let _0x147d17=_0x51c1ae[_0x477663];return _0x147d17;}function verifyCreatedFact(_0x398438,_0x210d1e,_0x39d2b9,_0x1aa139){const _0x29cc41=a112_0x1c6442;if(!Number['isSafeInteger'](_0x398438['id'])||_0x398438['id']<=0x0||_0x398438['id']!==_0x210d1e)throw menuError(_0x29cc41(0x160),_0x29cc41(0x13e),_0x29cc41(0x157));const _0x2ea1d0=[['parent',_0x398438[_0x29cc41(0x138)],_0x39d2b9['parentId']],['type',_0x398438[_0x29cc41(0x19a)],_0x39d2b9['type']],[_0x29cc41(0x196),_0x398438[_0x29cc41(0x196)],_0x39d2b9[_0x29cc41(0x196)]],['URL',_0x398438[_0x29cc41(0x186)],_0x39d2b9[_0x29cc41(0x186)]],[_0x29cc41(0x161),_0x398438[_0x29cc41(0x171)],_0x39d2b9['visible']],[_0x29cc41(0x130),_0x398438[_0x29cc41(0x130)],_0x39d2b9[_0x29cc41(0x130)]]];for(const [_0x4f9961,_0x1d9326,_0x39f23f]of _0x2ea1d0){if(_0x1d9326!==_0x39f23f)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+'\x20has\x20an\x20unexpected\x20'+_0x4f9961+'.',_0x29cc41(0x13c));}if(!_0x398438[_0x29cc41(0x16e)][_0x29cc41(0x150)]()||_0x1aa139!==null&&_0x398438[_0x29cc41(0x16e)]!==_0x1aa139)throw menuError(_0x29cc41(0x160),_0x29cc41(0x16a)+_0x398438['id']+_0x29cc41(0x1ae),_0x29cc41(0x13c));}function creationSuccess(_0x189db1,_0x17ad26,_0x5599e2,_0x14407f){const _0x39436f=a112_0x1c6442,_0x3212a6=mutationResult({..._0x189db1,'after':_0x5599e2,'dryRun':![],'succeeded':[{'id':_0x5599e2['id'],'created':!![],'recovered':_0x14407f}],'verification':{'checkedBy':_0x39436f(0x156),'snapshotHash':_0x17ad26[_0x39436f(0x18c)],'targetId':_0x5599e2['id'],'recovered':_0x14407f,'path':_0x5599e2[_0x39436f(0x16e)]}});return{'ok':!![],'message':_0x14407f?_0x39436f(0x175)+_0x5599e2['id']+_0x39436f(0x164):'Created\x20external\x20menu\x20'+_0x5599e2['id']+'.','data':{..._0x3212a6,'recovered':_0x14407f}};}function externalLinkCreateFailure(_0x44a4f3,_0x5dc55f,_0x533f8f){const _0x4641ac=a112_0x1c6442;return menuFailure(safeMenuAddError(_0x44a4f3),redactFailurePlan(_0x5dc55f),{..._0x533f8f,'succeeded':_0x533f8f[_0x4641ac(0x14f)]?.[_0x4641ac(0x194)](redactFailureRecord),'failed':_0x533f8f['failed']?redactFailureRecord(_0x533f8f[_0x4641ac(0x158)]):undefined,'verification':_0x533f8f[_0x4641ac(0x1a3)]?redactFailureRecord(_0x533f8f[_0x4641ac(0x1a3)]):undefined,'after':_0x533f8f[_0x4641ac(0x154)]===undefined?undefined:redactFailureValue(_0x533f8f['after'])});}function redactFailurePlan(_0x4d296d){const _0x424c0f=a112_0x1c6442;return{..._0x4d296d,'selector':redactFailureRecord(_0x4d296d[_0x424c0f(0x131)]),'before':redactFailureValue(_0x4d296d[_0x424c0f(0x15a)]),'after':redactFailureValue(_0x4d296d['after']),'plannedActions':_0x4d296d[_0x424c0f(0x1a2)]?.['map'](_0x5eb707=>({..._0x5eb707,'body':redactFailureRecord(_0x5eb707[_0x424c0f(0x142)])})),'succeeded':_0x4d296d[_0x424c0f(0x14f)][_0x424c0f(0x194)](redactFailureRecord),'failed':_0x4d296d[_0x424c0f(0x158)][_0x424c0f(0x194)](redactFailureRecord),'verification':_0x4d296d[_0x424c0f(0x1a3)]?redactFailureRecord(_0x4d296d[_0x424c0f(0x1a3)]):undefined};}function redactFailureRecord(_0x1677c1){return redactFailureValue(_0x1677c1);}function redactFailureValue(_0x1b7745,_0x2c3ee4=''){const _0x9236d1=a112_0x1c6442,_0x58b06f=_0x2c3ee4['toLowerCase']()['replace'](/[^a-z0-9]/g,'');if([_0x9236d1(0x132),_0x9236d1(0x188),_0x9236d1(0x1a0),_0x9236d1(0x153)][_0x9236d1(0x174)](_0x58b06f))return _0x9236d1(0x16c);if(Array[_0x9236d1(0x166)](_0x1b7745))return _0x1b7745[_0x9236d1(0x194)](_0xf80af0=>redactFailureValue(_0xf80af0));if(_0x1b7745&&typeof _0x1b7745===_0x9236d1(0x19b))return Object[_0x9236d1(0x178)](Object['entries'](_0x1b7745)['map'](([_0x32af94,_0x4f2ff4])=>[_0x32af94,redactFailureValue(_0x4f2ff4,_0x32af94)]));return _0x1b7745;}function safeMenuAddError(_0x50af21){const _0x589322=a112_0x1c6442,_0x55eba9=_0x50af21 instanceof CliError?_0x50af21['code']:_0x589322(0x18a);switch(_0x55eba9){case _0x589322(0x162):return menuError(_0x55eba9,_0x589322(0x15f),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x55eba9,_0x589322(0x191),_0x589322(0x182));case _0x589322(0x148):return menuError(_0x55eba9,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x589322(0x17f));case _0x589322(0x160):return menuError(_0x55eba9,_0x589322(0x1b2),_0x589322(0x17f));case _0x589322(0x137):return menuError(_0x55eba9,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x589322(0x15e):case _0x589322(0x19f):case _0x589322(0x165):case _0x589322(0x14e):return menuError(_0x55eba9,_0x589322(0x145),_0x589322(0x1ab));default:return menuError(_0x589322(0x18a),_0x589322(0x145),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1df411){const _0x4fa56e=a112_0x1c6442;if(!(_0x1df411 instanceof Error)||!(_0x4fa56e(0x17e)in _0x1df411))return undefined;const _0x87541a=_0x1df411['data'];if(!_0x87541a||typeof _0x87541a!==_0x4fa56e(0x19b))return undefined;const _0x2c7659=_0x87541a[_0x4fa56e(0x158)];if(!Array[_0x4fa56e(0x166)](_0x2c7659)||!_0x2c7659[0x0]||typeof _0x2c7659[0x0]!==_0x4fa56e(0x19b))return undefined;return _0x2c7659[0x0];}
1
+ const a117_0x56ea26=a117_0x2b28;(function(_0x12b537,_0x3cbbd9){const _0x7ed048=a117_0x2b28,_0x11b2e3=_0x12b537();while(!![]){try{const _0x4e231a=-parseInt(_0x7ed048(0x1fb))/0x1+parseInt(_0x7ed048(0x1b3))/0x2*(parseInt(_0x7ed048(0x22d))/0x3)+-parseInt(_0x7ed048(0x1e5))/0x4+parseInt(_0x7ed048(0x229))/0x5+parseInt(_0x7ed048(0x23b))/0x6*(-parseInt(_0x7ed048(0x1dd))/0x7)+parseInt(_0x7ed048(0x1ff))/0x8+parseInt(_0x7ed048(0x1eb))/0x9;if(_0x4e231a===_0x3cbbd9)break;else _0x11b2e3['push'](_0x11b2e3['shift']());}catch(_0x3095b0){_0x11b2e3['push'](_0x11b2e3['shift']());}}}(a117_0x586c,0x56ab0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a117_0x586c(){const _0x1a710f=['External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','stringify','menu_sort_invalid','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','rawFlags','path','<redacted>','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','\x27\x5c\x27\x27','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','<platform-generated>','appCode','Menu\x20','\x20with\x20','plan','includes','108661iyCAuQ','label','filter','createdId','url','Provide\x20an\x20HTTPS\x20URL.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','create-response-validation','1727892OBhsND','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','str','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','menu_url_invalid','6362955KVAdQE','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','replace','/smartapi/menu/create','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','\x20--format\x20compress','\x20after\x20response\x20loss.','isSafeInteger','succeeded','afterPlan','menu_verification_failed','menu_url_https_required','External\x20HTTPS\x20URL','map','string','body','570687sVSWku','username','pre-write-recheck','iframe','2952824acmRQt','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_create_recovery_required','fromEntries','trim','after','Created\x20menu\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','visibility','rabetbase\x20menu\x20list\x20--appcode\x20','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','before','create-menu','menu_sort_overflow','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','fact','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','snapshot','External\x20menu\x20creation\x20failed.','type','menu\x20list','call','boolean','create-recovery','selector','parentId','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','cause','menus','expectedPath','How\x20to\x20open\x20the\x20external\x20website','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','hasOwnProperty','get','add','create','object','readbackerror','expectedSnapshotHash','menu','POST','80005qnnbUQ','Recovered\x20menu\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','3EyPXDZ','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_url_credentials_forbidden','Run\x20','currentSnapshotHash','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20failed\x20final\x20verification.','Whether\x20the\x20menu\x20is\x20visible','failed','link','password','causemessage','\x20could\x20not\x20be\x20verified.','6BYZUJW','menu_open_mode_invalid','562152aDGnZb','sort','\x20has\x20an\x20unexpected\x20','byId','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','code','length','prototype','lookupCommand','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','create\x20external\x20menu','isArray','cookie','menu_mutation_failed','new-window','recovered','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','write','verification','visible','has','parent','data','menu_create_response_invalid','menu_permission_denied','parent-id'];a117_0x586c=function(){return _0x1a710f;};return a117_0x586c();}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':a117_0x56ea26(0x1fe),'new-window':a117_0x56ea26(0x237)};export function validateExternalMenuUrl(_0x1a1a67){const _0x42bd85=a117_0x56ea26,_0x4d6086=_0x1a1a67[_0x42bd85(0x204)]();let _0x10dfa6;try{_0x10dfa6=new URL(_0x4d6086);}catch{throw menuError(_0x42bd85(0x1ea),_0x42bd85(0x1cd),_0x42bd85(0x20e));}if(_0x10dfa6['protocol']!=='https:')throw menuError(_0x42bd85(0x1f6),_0x42bd85(0x1e8),_0x42bd85(0x1e2));if(_0x10dfa6[_0x42bd85(0x1fc)]||_0x10dfa6[_0x42bd85(0x238)])throw menuError(_0x42bd85(0x230),_0x42bd85(0x207),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x4d6086;}export const menuExternalLinkCreate={'service':'menu','command':'external-link-create','description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a117_0x56ea26(0x1c4),'structuredErrors':!![],'flags':[{'name':a117_0x56ea26(0x1de),'type':'string','required':!![],'description':'Menu\x20label'},{'name':'open-mode','type':'string','required':!![],'enum':['embedded',a117_0x56ea26(0x1c1)],'description':a117_0x56ea26(0x21e)},{'name':a117_0x56ea26(0x1e1),'type':a117_0x56ea26(0x1f9),'required':!![],'description':a117_0x56ea26(0x1f7)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a117_0x56ea26(0x216),'default':!![],'description':a117_0x56ea26(0x235)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3795b5){validateAddInput(_0x3795b5);},async 'dryRun'(_0x3d2ffc){const _0xb20816=a117_0x56ea26;validateAddInput(_0x3d2ffc);const {plan:_0x4b86c2}=await buildSafeAddPlan(_0x3d2ffc,!![]),_0x1b410f=_0x4b86c2[_0xb20816(0x205)],_0x2213f9=createBody(_0x1b410f);return menuDryRunResult(_0x4b86c2,{'method':_0xb20816(0x228),'url':_0xb20816(0x1ee),'body':_0x2213f9,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0xb20816(0x1ce)](_0x1b410f['label'])+_0xb20816(0x1da)+_0x3d2ffc[_0xb20816(0x1e7)]('open-mode')+_0xb20816(0x1ef)});},async 'execute'(_0x1181b4){const _0x53e8cc=a117_0x56ea26;validateAddInput(_0x1181b4);const _0x3c9d03=await buildSafeAddPlan(_0x1181b4,![]),{plan:_0x33fe89,snapshot:_0x1f0243}=_0x3c9d03,_0x3e98bc=_0x33fe89[_0x53e8cc(0x205)],_0x28584e=buildMenuLookupCommand(_0x1181b4[_0x53e8cc(0x1d8)]);await recheckAddSnapshot(_0x1181b4,_0x33fe89);let _0x37fbde;try{_0x37fbde=await createMenuEntity(_0x1181b4[_0x53e8cc(0x1d8)],_0x1181b4['cookie'],createBody(_0x3e98bc));}catch(_0x1025b1){const _0x34fde5=mapMenuApiError(_0x1025b1,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x1025b1)||_0x34fde5[_0x53e8cc(0x1b8)]===_0x53e8cc(0x1cb))throw externalLinkCreateFailure(_0x34fde5,_0x33fe89,{'stage':_0x53e8cc(0x223),'failed':{},'verification':{'status':_0x53e8cc(0x236),'lookupCommand':_0x28584e}});return recoverAfterResponseLoss(_0x1181b4,_0x3c9d03,_0x28584e);}const _0x4077f1=Number(_0x37fbde?.['id']),_0x124185=typeof _0x37fbde?.[_0x53e8cc(0x1d2)]===_0x53e8cc(0x1f9)?_0x37fbde['path']:'';if(!Number[_0x53e8cc(0x1f2)](_0x4077f1)||_0x4077f1<=0x0||!_0x124185['trim']()){const _0x29c051=menuError(_0x53e8cc(0x1ca),_0x53e8cc(0x1c3),_0x53e8cc(0x231)+_0x28584e+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x29c051,_0x33fe89,{'stage':_0x53e8cc(0x1e4),'succeeded':Number[_0x53e8cc(0x1f2)](_0x4077f1)&&_0x4077f1>0x0?[{'id':_0x4077f1,'created':!![]}]:[],'failed':{'createdId':Number[_0x53e8cc(0x1f2)](_0x4077f1)?_0x4077f1:null,'generatedPathConfirmed':Boolean(_0x124185[_0x53e8cc(0x204)]())},'warnings':[_0x53e8cc(0x233)],'after':Number[_0x53e8cc(0x1f2)](_0x4077f1)&&_0x4077f1>0x0?{..._0x3e98bc,'id':_0x4077f1,'path':_0x124185}:_0x3e98bc,'verification':{'status':_0x53e8cc(0x236),'lookupCommand':_0x28584e,...Number['isSafeInteger'](_0x4077f1)&&_0x4077f1>0x0?{'targetId':_0x4077f1}:{}}});}const _0x472331=await readAndVerifyCreatedMenu({'appCode':_0x1181b4[_0x53e8cc(0x1d8)],'cookie':_0x1181b4['cookie'],'plan':_0x33fe89,'afterPlan':_0x3e98bc,'createdId':_0x4077f1,'expectedPath':_0x124185,'lookupCommand':_0x28584e,'recovered':![]});return creationSuccess(_0x33fe89,_0x472331[_0x53e8cc(0x211)],_0x472331[_0x53e8cc(0x20f)],![]);}};function validateAddInput(_0x6f8ec4){const _0x5ba1b1=a117_0x56ea26;if(!_0x6f8ec4[_0x5ba1b1(0x1e7)](_0x5ba1b1(0x1de))[_0x5ba1b1(0x204)]())throw CliErrors['flagMissing']('label');resolveExternalMenuType(_0x6f8ec4),validateExternalMenuUrl(_0x6f8ec4[_0x5ba1b1(0x1e7)](_0x5ba1b1(0x1e1))),parseParentId(_0x6f8ec4,_0x5ba1b1(0x1cc)),validateSort(_0x6f8ec4);}function resolveExternalMenuType(_0x408895){const _0x4ea507=a117_0x56ea26,_0x4114c6=_0x408895[_0x4ea507(0x1e7)]('open-mode')[_0x4ea507(0x204)]();if(!_0x4114c6)throw CliErrors['flagMissing']('open-mode');const _0x4f0b24=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4114c6];if(!_0x4f0b24)throw menuError(_0x4ea507(0x1b2),_0x4ea507(0x20a),_0x4ea507(0x22f));return _0x4f0b24;}async function buildAddPlan(_0x372609,_0x54eb02){const _0x2aa22a=a117_0x56ea26,_0x1ee546=await fetchMutationSnapshot(_0x372609,_0x2aa22a(0x1bd)),_0x575d6f=parseParentId(_0x372609,'parent-id')??null;if(_0x575d6f!=null)requireFolder(_0x1ee546,_0x575d6f);const _0x5f1cf0=validateSort(_0x372609),_0x32d4ad=_0x5f1cf0??nextSiblingSort(_0x1ee546,_0x575d6f,_0x2aa22a(0x227)),_0x2d5c8e=_0x372609['str'](_0x2aa22a(0x1de))[_0x2aa22a(0x204)](),_0x13e41f=resolveExternalMenuType(_0x372609),_0x30b0d7=validateExternalMenuUrl(_0x372609['str'](_0x2aa22a(0x1e1))),_0x425ba2=Object[_0x2aa22a(0x1ba)][_0x2aa22a(0x220)][_0x2aa22a(0x215)](_0x372609[_0x2aa22a(0x1d1)],_0x2aa22a(0x1c6))?_0x372609['bool'](_0x2aa22a(0x1c6)):!![],_0x20e8f1={'id':null,'parentId':_0x575d6f,'label':_0x2d5c8e,'path':_0x2aa22a(0x1d7),'url':_0x30b0d7,'type':_0x13e41f,'visible':_0x425ba2,'sort':_0x32d4ad},_0x21685b=buildMenuLookupCommand(_0x372609[_0x2aa22a(0x1d8)]),_0x3aa4bd=mutationResult({'operation':_0x2aa22a(0x222),'selector':{'parentId':_0x575d6f,'type':_0x13e41f,'label':_0x2d5c8e,'url':_0x30b0d7},'before':null,'after':_0x20e8f1,'dryRun':_0x54eb02,'backend':[{'method':_0x2aa22a(0x228),'path':_0x2aa22a(0x1ee)}],'plannedActions':[{'stage':_0x2aa22a(0x20c),'method':'POST','path':_0x2aa22a(0x1ee),'body':createBody(_0x20e8f1)}],'snapshotHash':_0x1ee546['hash'],'warnings':[_0x2aa22a(0x22c)],'verification':{'lookupCommand':_0x21685b}});return{'plan':_0x3aa4bd,'snapshot':_0x1ee546};}async function buildSafeAddPlan(_0x458c1f,_0x45d132){try{return await buildAddPlan(_0x458c1f,_0x45d132);}catch(_0x1ebb9e){throw safeMenuAddError(_0x1ebb9e);}}async function recheckAddSnapshot(_0x56f61f,_0x558c14){const _0x4a1e28=a117_0x56ea26;try{await recheckMutationSnapshot(_0x56f61f,_0x558c14,_0x4a1e28(0x1bd));}catch(_0x1538f6){const _0x3e8b9b=getFailureRecord(_0x1538f6);throw externalLinkCreateFailure(_0x1538f6,_0x558c14,{'stage':_0x4a1e28(0x1fd),'failed':{..._0x3e8b9b?.[_0x4a1e28(0x226)]?{'expectedSnapshotHash':_0x3e8b9b[_0x4a1e28(0x226)]}:{},..._0x3e8b9b?.['currentSnapshotHash']?{'currentSnapshotHash':_0x3e8b9b[_0x4a1e28(0x232)]}:{}}});}}function createBody(_0x25507c){const _0x508c7c=a117_0x56ea26;return{'parentId':toApiParentId(_0x25507c[_0x508c7c(0x219)]),'label':String(_0x25507c['label']),'type':String(_0x25507c[_0x508c7c(0x213)]),'url':String(_0x25507c[_0x508c7c(0x1e1)]),'visible':Boolean(_0x25507c['visible']),'sort':Number(_0x25507c[_0x508c7c(0x1b4)]),'extend':{}};}function buildMenuLookupCommand(_0x14f642){const _0x39f59c=a117_0x56ea26,_0x5e298a='\x27'+_0x14f642[_0x39f59c(0x1ed)](/'/g,_0x39f59c(0x1d5))+'\x27';return _0x39f59c(0x209)+_0x5e298a+_0x39f59c(0x1f0);}async function recoverAfterResponseLoss(_0x290b22,_0xcecef3,_0x4da2d4){const _0x4d591b=a117_0x56ea26,{plan:_0x5921ce,snapshot:_0x3dc63b}=_0xcecef3,_0x16da1e=_0x5921ce['after'];let _0x15f6f4;try{_0x15f6f4=await fetchMenuSnapshot(_0x290b22[_0x4d591b(0x1d8)],_0x290b22['cookie']);}catch(_0x5dd593){throw recoveryRequiredFailure(_0x5921ce,_0x4da2d4,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x3e80d2=_0x15f6f4[_0x4d591b(0x21c)][_0x4d591b(0x1df)](_0x30c5ae=>_0x30c5ae['parentId']===_0x16da1e[_0x4d591b(0x219)]&&_0x30c5ae[_0x4d591b(0x213)]===_0x16da1e[_0x4d591b(0x213)]&&_0x30c5ae[_0x4d591b(0x1de)]===_0x16da1e[_0x4d591b(0x1de)]&&_0x30c5ae[_0x4d591b(0x1e1)]===_0x16da1e[_0x4d591b(0x1e1)]),_0x22def2=_0x3e80d2[_0x4d591b(0x1df)](_0x52114d=>!_0x3dc63b[_0x4d591b(0x1b6)][_0x4d591b(0x1c7)](_0x52114d['id'])),_0x471327=_0x3e80d2[_0x4d591b(0x1df)](_0x39aa92=>_0x3dc63b['byId']['has'](_0x39aa92['id']));if(_0x3e80d2[_0x4d591b(0x1b9)]!==0x1||_0x22def2[_0x4d591b(0x1b9)]!==0x1)throw recoveryRequiredFailure(_0x5921ce,_0x4da2d4,{'matchCount':_0x3e80d2[_0x4d591b(0x1b9)],'newMatchCount':_0x22def2[_0x4d591b(0x1b9)],'preexistingMatchCount':_0x471327['length']});const _0x4a379c=_0x22def2[0x0];try{verifyCreatedFact(_0x4a379c,_0x4a379c['id'],_0x16da1e,null);}catch(_0x222ba1){const _0x2d3317=_0x222ba1 instanceof Error&&_0x4d591b(0x1b8)in _0x222ba1?_0x222ba1:menuError('menu_verification_failed',_0x4d591b(0x22a)+_0x4a379c['id']+_0x4d591b(0x23a),'Run\x20'+_0x4da2d4+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2d3317,_0x5921ce,{'stage':_0x4d591b(0x1c5),'succeeded':[{'id':_0x4a379c['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4a379c['id'],'finalFactsConfirmed':![]},'after':_0x4a379c,'warnings':[_0x4d591b(0x1d9)+_0x4a379c['id']+_0x4d591b(0x1d4)],'verification':{'status':_0x4d591b(0x236),'targetId':_0x4a379c['id'],'recovered':!![],'lookupCommand':_0x4da2d4}});}return creationSuccess(_0x5921ce,_0x15f6f4,_0x4a379c,!![]);}function recoveryRequiredFailure(_0x3f610a,_0x37e533,_0x516406){const _0x2f1ee8=a117_0x56ea26,_0x280ef7=menuError(_0x2f1ee8(0x202),_0x2f1ee8(0x21a),_0x2f1ee8(0x231)+_0x37e533+_0x2f1ee8(0x1b7));return externalLinkCreateFailure(_0x280ef7,_0x3f610a,{'stage':_0x2f1ee8(0x217),'failed':_0x516406,'warnings':[_0x2f1ee8(0x210)],'verification':{'status':_0x2f1ee8(0x236),..._0x516406,'lookupCommand':_0x37e533}});}async function readAndVerifyCreatedMenu(_0x4ea8c9){const _0x52a07d=a117_0x56ea26;let _0x1dd16e;try{_0x1dd16e=await fetchMenuSnapshot(_0x4ea8c9[_0x52a07d(0x1d8)],_0x4ea8c9[_0x52a07d(0x1bf)]);}catch(_0xb9132){const _0x38675d=menuError(_0x52a07d(0x1f5),'Menu\x20'+_0x4ea8c9[_0x52a07d(0x1e0)]+_0x52a07d(0x1d6),_0x52a07d(0x231)+_0x4ea8c9['lookupCommand']+_0x52a07d(0x22e));throw externalLinkCreateFailure(_0x38675d,_0x4ea8c9[_0x52a07d(0x1db)],{'stage':'verification','succeeded':[{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'created':!![]}],'failed':{'id':_0x4ea8c9['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4ea8c9[_0x52a07d(0x1f4)],'id':_0x4ea8c9[_0x52a07d(0x1e0)],'path':_0x4ea8c9[_0x52a07d(0x21d)]},'warnings':[_0x52a07d(0x1d9)+_0x4ea8c9[_0x52a07d(0x1e0)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x52a07d(0x236),'targetId':_0x4ea8c9[_0x52a07d(0x1e0)],'lookupCommand':_0x4ea8c9[_0x52a07d(0x1bb)]}});}const _0x581530=_0x1dd16e[_0x52a07d(0x1b6)][_0x52a07d(0x221)](_0x4ea8c9[_0x52a07d(0x1e0)]);try{if(!_0x581530)throw menuError(_0x52a07d(0x1f5),_0x52a07d(0x206)+_0x4ea8c9[_0x52a07d(0x1e0)]+_0x52a07d(0x200),_0x52a07d(0x231)+_0x4ea8c9['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x581530,_0x4ea8c9['createdId'],_0x4ea8c9[_0x52a07d(0x1f4)],_0x4ea8c9['expectedPath']);}catch(_0x6ef221){const _0x423a8e=_0x6ef221 instanceof Error&&_0x52a07d(0x1b8)in _0x6ef221?_0x6ef221:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4ea8c9['createdId']+_0x52a07d(0x234),'Run\x20'+_0x4ea8c9[_0x52a07d(0x1bb)]+_0x52a07d(0x22e));throw externalLinkCreateFailure(_0x423a8e,_0x4ea8c9[_0x52a07d(0x1db)],{'stage':_0x52a07d(0x1c5),'succeeded':[{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'created':!![]}],'failed':{'id':_0x4ea8c9[_0x52a07d(0x1e0)],'finalFactsConfirmed':![]},'after':_0x581530??{..._0x4ea8c9[_0x52a07d(0x1f4)],'id':_0x4ea8c9[_0x52a07d(0x1e0)],'path':_0x4ea8c9[_0x52a07d(0x21d)]},'warnings':[_0x52a07d(0x1d9)+_0x4ea8c9[_0x52a07d(0x1e0)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':'failed','targetId':_0x4ea8c9[_0x52a07d(0x1e0)],'recovered':_0x4ea8c9[_0x52a07d(0x1c2)],'lookupCommand':_0x4ea8c9['lookupCommand']}});}return{'snapshot':_0x1dd16e,'fact':_0x581530};}function verifyCreatedFact(_0x50980a,_0x1b2629,_0x1e257d,_0x5178b8){const _0x3bf388=a117_0x56ea26;if(!Number[_0x3bf388(0x1f2)](_0x50980a['id'])||_0x50980a['id']<=0x0||_0x50980a['id']!==_0x1b2629)throw menuError(_0x3bf388(0x1f5),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x3bf388(0x21f));const _0x484451=[[_0x3bf388(0x1c8),_0x50980a['parentId'],_0x1e257d[_0x3bf388(0x219)]],[_0x3bf388(0x213),_0x50980a[_0x3bf388(0x213)],_0x1e257d['type']],[_0x3bf388(0x1de),_0x50980a['label'],_0x1e257d[_0x3bf388(0x1de)]],['URL',_0x50980a['url'],_0x1e257d[_0x3bf388(0x1e1)]],[_0x3bf388(0x208),_0x50980a[_0x3bf388(0x1c6)],_0x1e257d[_0x3bf388(0x1c6)]],[_0x3bf388(0x1b4),_0x50980a['sort'],_0x1e257d[_0x3bf388(0x1b4)]]];for(const [_0x47497a,_0x25f0a6,_0xe5f5b8]of _0x484451){if(_0x25f0a6!==_0xe5f5b8)throw menuError(_0x3bf388(0x1f5),'Created\x20menu\x20'+_0x50980a['id']+_0x3bf388(0x1b5)+_0x47497a+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x50980a[_0x3bf388(0x1d2)][_0x3bf388(0x204)]()||_0x5178b8!==null&&_0x50980a[_0x3bf388(0x1d2)]!==_0x5178b8)throw menuError(_0x3bf388(0x1f5),_0x3bf388(0x206)+_0x50980a['id']+_0x3bf388(0x22b),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2a3789,_0x4f960f,_0x5f024e,_0xf13b25){const _0x19f31e=a117_0x56ea26,_0xb25ba4=mutationResult({..._0x2a3789,'after':_0x5f024e,'dryRun':![],'succeeded':[{'id':_0x5f024e['id'],'created':!![],'recovered':_0xf13b25}],'verification':{'checkedBy':_0x19f31e(0x214),'snapshotHash':_0x4f960f['hash'],'targetId':_0x5f024e['id'],'recovered':_0xf13b25,'path':_0x5f024e[_0x19f31e(0x1d2)]}});return{'ok':!![],'message':_0xf13b25?'Recovered\x20created\x20external\x20menu\x20'+_0x5f024e['id']+_0x19f31e(0x1f1):'Created\x20external\x20menu\x20'+_0x5f024e['id']+'.','data':{..._0xb25ba4,'recovered':_0xf13b25}};}function externalLinkCreateFailure(_0x5a6854,_0x3b1997,_0x14ea90){const _0x5480af=a117_0x56ea26;return menuFailure(safeMenuAddError(_0x5a6854),redactFailurePlan(_0x3b1997),{..._0x14ea90,'succeeded':_0x14ea90['succeeded']?.[_0x5480af(0x1f8)](redactFailureRecord),'failed':_0x14ea90['failed']?redactFailureRecord(_0x14ea90[_0x5480af(0x236)]):undefined,'verification':_0x14ea90[_0x5480af(0x1c5)]?redactFailureRecord(_0x14ea90[_0x5480af(0x1c5)]):undefined,'after':_0x14ea90[_0x5480af(0x205)]===undefined?undefined:redactFailureValue(_0x14ea90[_0x5480af(0x205)])});}function redactFailurePlan(_0x1efaec){const _0x172eb0=a117_0x56ea26;return{..._0x1efaec,'selector':redactFailureRecord(_0x1efaec[_0x172eb0(0x218)]),'before':redactFailureValue(_0x1efaec[_0x172eb0(0x20b)]),'after':redactFailureValue(_0x1efaec[_0x172eb0(0x205)]),'plannedActions':_0x1efaec['plannedActions']?.['map'](_0x93641e=>({..._0x93641e,'body':redactFailureRecord(_0x93641e[_0x172eb0(0x1fa)])})),'succeeded':_0x1efaec[_0x172eb0(0x1f3)][_0x172eb0(0x1f8)](redactFailureRecord),'failed':_0x1efaec['failed'][_0x172eb0(0x1f8)](redactFailureRecord),'verification':_0x1efaec[_0x172eb0(0x1c5)]?redactFailureRecord(_0x1efaec[_0x172eb0(0x1c5)]):undefined};}function a117_0x2b28(_0xeb98c9,_0x31f000){_0xeb98c9=_0xeb98c9-0x1b2;const _0x586c76=a117_0x586c();let _0x2b2849=_0x586c76[_0xeb98c9];return _0x2b2849;}function redactFailureRecord(_0x28f0e5){return redactFailureValue(_0x28f0e5);}function redactFailureValue(_0x1ff951,_0x2a1852=''){const _0x2f1762=a117_0x56ea26,_0x36891e=_0x2a1852['toLowerCase']()[_0x2f1762(0x1ed)](/[^a-z0-9]/g,'');if([_0x2f1762(0x21b),_0x2f1762(0x239),_0x2f1762(0x225),'rawerror'][_0x2f1762(0x1dc)](_0x36891e))return _0x2f1762(0x1d3);if(Array[_0x2f1762(0x1be)](_0x1ff951))return _0x1ff951[_0x2f1762(0x1f8)](_0x11099a=>redactFailureValue(_0x11099a));if(_0x1ff951&&typeof _0x1ff951===_0x2f1762(0x224))return Object[_0x2f1762(0x203)](Object['entries'](_0x1ff951)[_0x2f1762(0x1f8)](([_0x52a2e0,_0x7d31a9])=>[_0x52a2e0,redactFailureValue(_0x7d31a9,_0x52a2e0)]));return _0x1ff951;}function safeMenuAddError(_0xa4301f){const _0x316fb7=a117_0x56ea26,_0x44f812=_0xa4301f instanceof CliError?_0xa4301f['code']:_0x316fb7(0x1c0);switch(_0x44f812){case'menu_state_drift':return menuError(_0x44f812,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x316fb7(0x1e6));case _0x316fb7(0x1cb):return menuError(_0x44f812,_0x316fb7(0x1ec),_0x316fb7(0x1d0));case _0x316fb7(0x1ca):return menuError(_0x44f812,_0x316fb7(0x1bc),_0x316fb7(0x1e9));case _0x316fb7(0x1f5):return menuError(_0x44f812,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x316fb7(0x1e9));case'menu_create_recovery_required':return menuError(_0x44f812,_0x316fb7(0x1e3),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x316fb7(0x1c0):case'menu_not_found':case'menu_parent_not_folder':case _0x316fb7(0x1cf):case _0x316fb7(0x20d):return menuError(_0x44f812,'External\x20menu\x20creation\x20failed.',_0x316fb7(0x201));default:return menuError(_0x316fb7(0x1c0),_0x316fb7(0x212),_0x316fb7(0x201));}}function getFailureRecord(_0x55bf72){const _0x3c6629=a117_0x56ea26;if(!(_0x55bf72 instanceof Error)||!('data'in _0x55bf72))return undefined;const _0x4bf17d=_0x55bf72[_0x3c6629(0x1c9)];if(!_0x4bf17d||typeof _0x4bf17d!==_0x3c6629(0x224))return undefined;const _0x3ed25e=_0x4bf17d[_0x3c6629(0x236)];if(!Array[_0x3c6629(0x1be)](_0x3ed25e)||!_0x3ed25e[0x0]||typeof _0x3ed25e[0x0]!==_0x3c6629(0x224))return undefined;return _0x3ed25e[0x0];}
@@ -1 +1 @@
1
- const a113_0x12ddee=a113_0x22b9;(function(_0x1ff847,_0x4012ff){const _0x2cd48a=a113_0x22b9,_0x5949c5=_0x1ff847();while(!![]){try{const _0x28bd81=parseInt(_0x2cd48a(0x14d))/0x1+-parseInt(_0x2cd48a(0x131))/0x2+parseInt(_0x2cd48a(0x118))/0x3*(-parseInt(_0x2cd48a(0x152))/0x4)+-parseInt(_0x2cd48a(0x159))/0x5+parseInt(_0x2cd48a(0x157))/0x6*(-parseInt(_0x2cd48a(0x11e))/0x7)+-parseInt(_0x2cd48a(0x125))/0x8+parseInt(_0x2cd48a(0x132))/0x9;if(_0x28bd81===_0x4012ff)break;else _0x5949c5['push'](_0x5949c5['shift']());}catch(_0x2be05e){_0x5949c5['push'](_0x5949c5['shift']());}}}(a113_0x3e00,0x76f39));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x12ddee(0x121),'path':a113_0x12ddee(0x138)}];export const menuExternalLinkUpdate={'service':a113_0x12ddee(0x12f),'command':a113_0x12ddee(0x156),'description':a113_0x12ddee(0x148),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x12ddee(0x130),'type':a113_0x12ddee(0x12e),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x12ddee(0x145),'type':'string','required':!![],'description':a113_0x12ddee(0x13b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x13702c){validateInput(_0x13702c);},async 'dryRun'(_0x499480){const _0x2bb843=a113_0x12ddee;validateInput(_0x499480);const _0x413bff=await buildPlan(_0x499480,!![]);return menuDryRunResult(_0x413bff[_0x2bb843(0x13a)],{'method':_0x2bb843(0x121),'url':_0x2bb843(0x138),'body':_0x413bff[_0x2bb843(0x119)],'description':_0x2bb843(0x144)+_0x413bff['body']['id']+'.'});},async 'execute'(_0x382408){const _0x3da156=a113_0x12ddee;validateInput(_0x382408);const _0x1b8802=await buildPlan(_0x382408,![]),{plan:_0x5b2e0c,body:_0x1fc9de,before:_0xecd80a,noChanges:_0x37ba50}=_0x1b8802,_0x51afde=_0x1fc9de['id'];if(_0x37ba50)return updateSuccess(_0x5b2e0c,_0x1b8802[_0x3da156(0x14c)],_0xecd80a,!![],![]);await recheckMutationSnapshot(_0x382408,_0x5b2e0c,'update\x20external\x20menu\x20URL',_0x51afde);try{await updateMenuEntity(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)],{'id':_0x1fc9de['id'],'url':_0x1fc9de[_0x3da156(0x130)]});}catch(_0x1877fc){const _0xcc9584=mapMenuApiError(_0x1877fc,_0x3da156(0x11b),_0x51afde);if(isMenuResponseLoss(_0x1877fc)&&_0xcc9584[_0x3da156(0x129)]!==_0x3da156(0x122))return recoverAfterResponseLoss(_0x382408,_0x1b8802);throw menuFailure(_0xcc9584,_0x5b2e0c,{'stage':_0x3da156(0x128),'failed':{'id':_0x51afde},'warnings':[_0x3da156(0x146)],'verification':{'status':'failed','targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408['appCode'])}});}let _0x25c3fb,_0x520123;try{_0x25c3fb=await fetchMenuSnapshot(_0x382408[_0x3da156(0x12a)],_0x382408[_0x3da156(0x120)]),_0x520123=requireMenu(_0x25c3fb,_0x51afde),verifyUpdatedFact(_0xecd80a,_0x520123,_0x1fc9de[_0x3da156(0x130)]);}catch(_0x59963f){const _0x1ae810=describeMenuErrorCause(_0x59963f,_0x3da156(0x141),_0x51afde),_0x2714e0=asVerificationError(_0x59963f,'Update\x20request\x20for\x20menu\x20'+_0x51afde+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2714e0,_0x5b2e0c,{'stage':_0x3da156(0x15a),'succeeded':[{'id':_0x51afde,'updateRequested':!![]}],'failed':{'id':_0x51afde,'requestedStateConfirmed':![],..._0x1ae810},'warnings':[_0x3da156(0x142)],'verification':{'status':_0x3da156(0x139),'targetId':_0x51afde,'lookupCommand':buildLookupCommand(_0x382408[_0x3da156(0x12a)])}});}return updateSuccess(_0x5b2e0c,_0x25c3fb,_0x520123,![],![]);}};function validateInput(_0x4df0bf){const _0x3e0f05=a113_0x12ddee;validateExactId(_0x4df0bf),requiredUrl(_0x4df0bf,_0x3e0f05(0x130)),requiredExpectedUrl(_0x4df0bf),parseParentId(_0x4df0bf,_0x3e0f05(0x13e),{'required':!![]});}function a113_0x22b9(_0x367c87,_0x1c0f19){_0x367c87=_0x367c87-0x112;const _0x3e00f3=a113_0x3e00();let _0x22b967=_0x3e00f3[_0x367c87];return _0x22b967;}function requiredUrl(_0x25398f,_0x5e2f8a){const _0x5014d9=a113_0x12ddee;if(!hasFlag(_0x25398f,_0x5e2f8a)||!_0x25398f[_0x5014d9(0x14b)](_0x5e2f8a)[_0x5014d9(0x151)]())throw CliErrors['flagMissing'](_0x5e2f8a);return validateExternalMenuUrl(_0x25398f['str'](_0x5e2f8a));}function requiredExpectedUrl(_0x11ee7b){const _0x444b7d=a113_0x12ddee;if(!hasFlag(_0x11ee7b,_0x444b7d(0x145))||!_0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]())throw CliErrors[_0x444b7d(0x136)](_0x444b7d(0x145));return _0x11ee7b[_0x444b7d(0x14b)](_0x444b7d(0x145))[_0x444b7d(0x151)]();}async function buildPlan(_0x5487be,_0x4aa3a4){const _0x49e480=a113_0x12ddee,_0x85daf7=validateExactId(_0x5487be),_0x50aa1a=requiredUrl(_0x5487be,_0x49e480(0x130)),_0x15355c=requiredExpectedUrl(_0x5487be),_0x2ca024=parseParentId(_0x5487be,_0x49e480(0x13e),{'required':!![]}),_0x507eab=await fetchMutationSnapshot(_0x5487be,'update\x20external\x20menu\x20URL',_0x85daf7),_0x4ad5e2=requireMenu(_0x507eab,_0x85daf7);assertExternalLinkLeaf(_0x4ad5e2);if(_0x4ad5e2[_0x49e480(0x147)]!==_0x2ca024)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+_0x49e480(0x155)+formatParent(_0x2ca024)+',\x20current\x20'+formatParent(_0x4ad5e2[_0x49e480(0x147)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x458458=_0x4ad5e2[_0x49e480(0x130)]===_0x50aa1a;if(!_0x458458&&_0x4ad5e2[_0x49e480(0x130)]!==_0x15355c)throw menuError(_0x49e480(0x123),_0x49e480(0x112)+_0x85daf7+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x2a5a39={'id':_0x85daf7,'appCode':_0x5487be['appCode'],'url':_0x50aa1a},_0x3eca07={..._0x4ad5e2,'url':_0x50aa1a};return{'body':_0x2a5a39,'before':_0x4ad5e2,'noChanges':_0x458458,'snapshot':_0x507eab,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x85daf7},'before':_0x4ad5e2,'after':_0x3eca07,'dryRun':_0x4aa3a4,'backend':[...BACKEND],'plannedActions':_0x458458?[]:[{'stage':_0x49e480(0x143),'method':_0x49e480(0x121),'path':_0x49e480(0x138),'body':_0x2a5a39}],'snapshotHash':_0x507eab[_0x49e480(0x135)],'warnings':_0x458458?[_0x49e480(0x14f)]:[]})};}function assertExternalLinkLeaf(_0x36557a){const _0x5666eb=a113_0x12ddee;if(_0x36557a[_0x5666eb(0x11d)]!==_0x5666eb(0x13c)&&_0x36557a['type']!==_0x5666eb(0x113))throw menuError(_0x5666eb(0x13d),_0x5666eb(0x112)+_0x36557a['id']+'\x20is\x20type\x20\x22'+(_0x36557a[_0x5666eb(0x11d)]||'unknown')+_0x5666eb(0x127),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x36557a[_0x5666eb(0x11f)]!==0x0)throw menuError(_0x5666eb(0x11c),'Menu\x20'+_0x36557a['id']+_0x5666eb(0x126)+_0x36557a['childrenCount']+'\x20direct\x20child\x20menu(s).',_0x5666eb(0x150));if(!_0x36557a[_0x5666eb(0x149)][_0x5666eb(0x151)]())throw menuError('menu_external_link_path_missing',_0x5666eb(0x112)+_0x36557a['id']+'\x20has\x20an\x20empty\x20platform\x20path.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x5100a5,_0x104d84,_0x2faf15){const _0x52e1fd=a113_0x12ddee;assertExternalLinkLeaf(_0x104d84);const _0x49333e=[['id',_0x104d84['id'],_0x5100a5['id']],[_0x52e1fd(0x117),_0x104d84[_0x52e1fd(0x117)],_0x5100a5[_0x52e1fd(0x117)]],['type',_0x104d84[_0x52e1fd(0x11d)],_0x5100a5[_0x52e1fd(0x11d)]],['path',_0x104d84[_0x52e1fd(0x149)],_0x5100a5[_0x52e1fd(0x149)]],[_0x52e1fd(0x147),_0x104d84['parentId'],_0x5100a5[_0x52e1fd(0x147)]],['sort',_0x104d84[_0x52e1fd(0x115)],_0x5100a5[_0x52e1fd(0x115)]],['visible',_0x104d84[_0x52e1fd(0x137)],_0x5100a5[_0x52e1fd(0x137)]]];for(const [_0x1fa492,_0x825bd5,_0x532eaf]of _0x49333e){assertVerified(_0x825bd5===_0x532eaf,'Menu\x20'+_0x5100a5['id']+'\x20'+_0x1fa492+_0x52e1fd(0x114));}assertVerified(_0x104d84[_0x52e1fd(0x130)]===_0x2faf15,_0x52e1fd(0x112)+_0x5100a5['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x2eca4b,_0x53d9b7,_0x1f5f3f,_0x767af5,_0x4d3dcb){const _0x289971=a113_0x12ddee,_0x12b15c=_0x1f5f3f['id'],_0x4e51ef=mutationResult({..._0x2eca4b,'after':_0x1f5f3f,'dryRun':![],'succeeded':[{'id':_0x12b15c,'updated':!_0x767af5,'skipped':_0x767af5,'recovered':_0x4d3dcb}],'verification':{'checkedBy':_0x289971(0x14a),'snapshotHash':_0x53d9b7[_0x289971(0x135)],'targetId':_0x12b15c,'matchesRequestedState':!![],'recovered':_0x4d3dcb}});return{'ok':!![],'message':_0x4d3dcb?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x12b15c+'.':_0x767af5?'Menu\x20'+_0x12b15c+_0x289971(0x124):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x12b15c+'.','data':{..._0x4e51ef,'recovered':_0x4d3dcb}};}async function recoverAfterResponseLoss(_0x3bc07e,_0x400225){const _0xa9872c=a113_0x12ddee,{plan:_0x407f9c,before:_0x4a202f,body:_0x536313}=_0x400225;let _0x1aab84;try{_0x1aab84=await fetchMenuSnapshot(_0x3bc07e[_0xa9872c(0x12a)],_0x3bc07e['cookie']);}catch{throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'readbackFailed':!![]});}const _0x1081f0=_0x1aab84[_0xa9872c(0x158)][_0xa9872c(0x140)](_0x536313['id']);if(!_0x1081f0||_0x1081f0[_0xa9872c(0x130)]!==_0x536313[_0xa9872c(0x130)])throw recoveryRequired(_0x407f9c,_0x3bc07e[_0xa9872c(0x12a)],{'id':_0x536313['id'],'requestedUrlObserved':![],'after':_0x1081f0??null});try{verifyUpdatedFact(_0x4a202f,_0x1081f0,_0x536313['url']);}catch(_0x51de54){const _0x269779=asVerificationError(_0x51de54,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x536313['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x269779,_0x407f9c,{'stage':_0xa9872c(0x11a),'succeeded':[{'id':_0x536313['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1081f0,'warnings':[_0xa9872c(0x133)],'verification':{'status':'failed','targetId':_0x536313['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x3bc07e[_0xa9872c(0x12a)])}});}return updateSuccess(_0x407f9c,_0x1aab84,_0x1081f0,![],!![]);}function recoveryRequired(_0x1246b0,_0x3203ac,_0x4715c0){const _0x43070c=a113_0x12ddee,_0x2912bf=menuError(_0x43070c(0x153),_0x43070c(0x134),_0x43070c(0x12b)+buildLookupCommand(_0x3203ac)+_0x43070c(0x14e));return menuFailure(_0x2912bf,_0x1246b0,{'stage':_0x43070c(0x11a),'failed':{'id':_0x4715c0['id'],..._0x4715c0[_0x43070c(0x116)]===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{}},'after':_0x4715c0[_0x43070c(0x154)],'warnings':[_0x43070c(0x12d)],'verification':{'status':'failed','targetId':_0x4715c0['id'],..._0x4715c0['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4715c0[_0x43070c(0x116)]},..._0x4715c0[_0x43070c(0x12c)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3203ac)}});}function buildLookupCommand(_0x185990){const _0x35d300=a113_0x12ddee,_0x3fc136='\x27'+_0x185990['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3fc136+_0x35d300(0x13f);}function a113_0x3e00(){const _0x16e432=['url','1020814hHrLVz','21046635bkSUMO','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','hash','flagMissing','visible','/smartapi/menu/update','failed','plan','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','menu_external_link_type_required','expect-parent-id','\x20--format\x20compress','get','verify\x20external\x20menu\x20URL\x20update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','update-external-link-url','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','expect-url','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','parentId','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','path','menu\x20list','str','snapshot','572398pjBLnx','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','trim','4VBcKGJ','menu_update_recovery_required','after','\x20parent\x20changed:\x20expected\x20','external-link-update','204lKVnGY','byId','2980545ZAQlhe','verification','Menu\x20','link','\x20changed\x20during\x20the\x20URL-only\x20update.','sort','requestedUrlObserved','label','1281129OnYCjB','body','update-recovery','update\x20external\x20menu\x20URL','menu_external_link_not_leaf','type','143885anLoIx','childrenCount','cookie','POST','menu_permission_denied','menu_state_drift','\x20already\x20matches\x20the\x20requested\x20URL.','1530072aMnxMc','\x20has\x20','\x22,\x20not\x20iframe\x20or\x20link.','update','code','appCode','Run\x20','readbackFailed','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','string','menu'];a113_0x3e00=function(){return _0x16e432;};return a113_0x3e00();}
1
+ const a118_0x557633=a118_0x55c7;(function(_0x40e396,_0x590b6b){const _0x13c38e=a118_0x55c7,_0x24a0c6=_0x40e396();while(!![]){try{const _0x16b8d7=-parseInt(_0x13c38e(0x1a9))/0x1+-parseInt(_0x13c38e(0x19d))/0x2*(-parseInt(_0x13c38e(0x1b0))/0x3)+-parseInt(_0x13c38e(0x1ce))/0x4+parseInt(_0x13c38e(0x1ba))/0x5+parseInt(_0x13c38e(0x191))/0x6*(-parseInt(_0x13c38e(0x1cb))/0x7)+-parseInt(_0x13c38e(0x198))/0x8*(parseInt(_0x13c38e(0x1ab))/0x9)+parseInt(_0x13c38e(0x19b))/0xa;if(_0x16b8d7===_0x590b6b)break;else _0x24a0c6['push'](_0x24a0c6['shift']());}catch(_0x345d75){_0x24a0c6['push'](_0x24a0c6['shift']());}}}(a118_0x11a2,0xec982));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a118_0x55c7(_0x523973,_0x471e65){_0x523973=_0x523973-0x18c;const _0x11a262=a118_0x11a2();let _0x55c7df=_0x11a262[_0x523973];return _0x55c7df;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x557633(0x1a2),'path':a118_0x557633(0x1b7)}];export const menuExternalLinkUpdate={'service':'menu','command':a118_0x557633(0x1bf),'description':a118_0x557633(0x1d5),'risk':a118_0x557633(0x1be),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a118_0x557633(0x1cd),'type':a118_0x557633(0x1ca),'required':!![],'description':a118_0x557633(0x1a3)},{'name':'expect-url','type':a118_0x557633(0x1ca),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53cb1f){validateInput(_0x53cb1f);},async 'dryRun'(_0xcc8117){const _0x43bd51=a118_0x557633;validateInput(_0xcc8117);const _0x18e621=await buildPlan(_0xcc8117,!![]);return menuDryRunResult(_0x18e621[_0x43bd51(0x1d4)],{'method':_0x43bd51(0x1a2),'url':_0x43bd51(0x1b7),'body':_0x18e621['body'],'description':_0x43bd51(0x19e)+_0x18e621['body']['id']+'.'});},async 'execute'(_0x158e79){const _0x292e16=a118_0x557633;validateInput(_0x158e79);const _0x27071d=await buildPlan(_0x158e79,![]),{plan:_0xf65ca9,body:_0x199a3e,before:_0x4f38cb,noChanges:_0x57e3f8}=_0x27071d,_0x591608=_0x199a3e['id'];if(_0x57e3f8)return updateSuccess(_0xf65ca9,_0x27071d[_0x292e16(0x1d3)],_0x4f38cb,!![],![]);await recheckMutationSnapshot(_0x158e79,_0xf65ca9,_0x292e16(0x1c3),_0x591608);try{await updateMenuEntity(_0x158e79[_0x292e16(0x1d8)],_0x158e79['cookie'],{'id':_0x199a3e['id'],'url':_0x199a3e[_0x292e16(0x1cd)]});}catch(_0x17cae9){const _0x51f7d0=mapMenuApiError(_0x17cae9,'update\x20external\x20menu\x20URL',_0x591608);if(isMenuResponseLoss(_0x17cae9)&&_0x51f7d0[_0x292e16(0x194)]!==_0x292e16(0x1ac))return recoverAfterResponseLoss(_0x158e79,_0x27071d);throw menuFailure(_0x51f7d0,_0xf65ca9,{'stage':_0x292e16(0x199),'failed':{'id':_0x591608},'warnings':[_0x292e16(0x1c7)],'verification':{'status':_0x292e16(0x1c9),'targetId':_0x591608,'lookupCommand':buildLookupCommand(_0x158e79['appCode'])}});}let _0x49a3b7,_0x22dad3;try{_0x49a3b7=await fetchMenuSnapshot(_0x158e79[_0x292e16(0x1d8)],_0x158e79[_0x292e16(0x1c1)]),_0x22dad3=requireMenu(_0x49a3b7,_0x591608),verifyUpdatedFact(_0x4f38cb,_0x22dad3,_0x199a3e[_0x292e16(0x1cd)]);}catch(_0x259735){const _0xa74b82=describeMenuErrorCause(_0x259735,_0x292e16(0x18c),_0x591608),_0x5e6815=asVerificationError(_0x259735,_0x292e16(0x195)+_0x591608+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x5e6815,_0xf65ca9,{'stage':_0x292e16(0x1ae),'succeeded':[{'id':_0x591608,'updateRequested':!![]}],'failed':{'id':_0x591608,'requestedStateConfirmed':![],..._0xa74b82},'warnings':[_0x292e16(0x193)],'verification':{'status':_0x292e16(0x1c9),'targetId':_0x591608,'lookupCommand':buildLookupCommand(_0x158e79['appCode'])}});}return updateSuccess(_0xf65ca9,_0x49a3b7,_0x22dad3,![],![]);}};function validateInput(_0x11ee84){const _0x5cfda4=a118_0x557633;validateExactId(_0x11ee84),requiredUrl(_0x11ee84,_0x5cfda4(0x1cd)),requiredExpectedUrl(_0x11ee84),parseParentId(_0x11ee84,_0x5cfda4(0x1d9),{'required':!![]});}function requiredUrl(_0x17c239,_0x540b56){const _0x5d4c0d=a118_0x557633;if(!hasFlag(_0x17c239,_0x540b56)||!_0x17c239['str'](_0x540b56)['trim']())throw CliErrors[_0x5d4c0d(0x1bb)](_0x540b56);return validateExternalMenuUrl(_0x17c239[_0x5d4c0d(0x1b6)](_0x540b56));}function requiredExpectedUrl(_0x51d4ac){const _0x1bef19=a118_0x557633;if(!hasFlag(_0x51d4ac,_0x1bef19(0x18e))||!_0x51d4ac['str']('expect-url')[_0x1bef19(0x1d6)]())throw CliErrors[_0x1bef19(0x1bb)](_0x1bef19(0x18e));return _0x51d4ac[_0x1bef19(0x1b6)]('expect-url')[_0x1bef19(0x1d6)]();}async function buildPlan(_0x17ff0b,_0x4154de){const _0x31076a=a118_0x557633,_0x36d3c2=validateExactId(_0x17ff0b),_0x42fe8c=requiredUrl(_0x17ff0b,'url'),_0x3b7c5f=requiredExpectedUrl(_0x17ff0b),_0x4abac7=parseParentId(_0x17ff0b,_0x31076a(0x1d9),{'required':!![]}),_0x2ee833=await fetchMutationSnapshot(_0x17ff0b,_0x31076a(0x1c3),_0x36d3c2),_0x495734=requireMenu(_0x2ee833,_0x36d3c2);assertExternalLinkLeaf(_0x495734);if(_0x495734[_0x31076a(0x1a1)]!==_0x4abac7)throw menuError(_0x31076a(0x1c0),'Menu\x20'+_0x36d3c2+_0x31076a(0x1b2)+formatParent(_0x4abac7)+_0x31076a(0x1d7)+formatParent(_0x495734['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x405e2c=_0x495734['url']===_0x42fe8c;if(!_0x405e2c&&_0x495734['url']!==_0x3b7c5f)throw menuError(_0x31076a(0x1c0),_0x31076a(0x1a7)+_0x36d3c2+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x31076a(0x19c));const _0x3096e5={'id':_0x36d3c2,'appCode':_0x17ff0b['appCode'],'url':_0x42fe8c},_0x278297={..._0x495734,'url':_0x42fe8c};return{'body':_0x3096e5,'before':_0x495734,'noChanges':_0x405e2c,'snapshot':_0x2ee833,'plan':mutationResult({'operation':_0x31076a(0x1bf),'selector':{'id':_0x36d3c2},'before':_0x495734,'after':_0x278297,'dryRun':_0x4154de,'backend':[...BACKEND],'plannedActions':_0x405e2c?[]:[{'stage':'update-external-link-url','method':'POST','path':_0x31076a(0x1b7),'body':_0x3096e5}],'snapshotHash':_0x2ee833['hash'],'warnings':_0x405e2c?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function a118_0x11a2(){const _0xa61299=['verify\x20external\x20menu\x20URL\x20update','get','expect-url','\x20has\x20','\x20--format\x20compress','11082gwZQJC','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','code','Update\x20request\x20for\x20menu\x20','requestedUrlObserved','readbackFailed','225752sJTJjD','update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','40568850jPSSBf','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','708386QZdkqW','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_type_required','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','parentId','POST','New\x20external\x20HTTPS\x20URL','\x20has\x20an\x20empty\x20platform\x20path.','\x20changed\x20during\x20the\x20URL-only\x20update.','label','Menu\x20','visible','1771972tRjUKF','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','369jJmoCU','menu_permission_denied','sort','verification','menu_external_link_path_missing','12zGdzCD','\x20is\x20type\x20\x22','\x20parent\x20changed:\x20expected\x20','menu\x20list','Updated\x20external\x20URL\x20for\x20menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','str','/smartapi/menu/update','path','replace','8680275YhwUov','flagMissing','hash','\x27\x5c\x27\x27','write','external-link-update','menu_state_drift','cookie','\x20could\x20not\x20be\x20verified\x20safely','update\x20external\x20menu\x20URL','\x20direct\x20child\x20menu(s).','after','update-recovery','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','failed','string','6125VyuVHu','childrenCount','url','6782184xfaEck','unknown','iframe','type','\x22,\x20not\x20iframe\x20or\x20link.','snapshot','plan','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','trim',',\x20current\x20','appCode','expect-parent-id','byId'];a118_0x11a2=function(){return _0xa61299;};return a118_0x11a2();}function assertExternalLinkLeaf(_0x5dedfa){const _0x4c9db5=a118_0x557633;if(_0x5dedfa[_0x4c9db5(0x1d1)]!==_0x4c9db5(0x1d0)&&_0x5dedfa[_0x4c9db5(0x1d1)]!=='link')throw menuError(_0x4c9db5(0x19f),_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x1b1)+(_0x5dedfa[_0x4c9db5(0x1d1)]||_0x4c9db5(0x1cf))+_0x4c9db5(0x1d2),_0x4c9db5(0x1a0));if(_0x5dedfa[_0x4c9db5(0x1cc)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x18f)+_0x5dedfa[_0x4c9db5(0x1cc)]+_0x4c9db5(0x1c4),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x5dedfa[_0x4c9db5(0x1b8)][_0x4c9db5(0x1d6)]())throw menuError(_0x4c9db5(0x1af),_0x4c9db5(0x1a7)+_0x5dedfa['id']+_0x4c9db5(0x1a4),_0x4c9db5(0x1aa));}function verifyUpdatedFact(_0x5b5cfe,_0x1223a5,_0x516425){const _0x30485f=a118_0x557633;assertExternalLinkLeaf(_0x1223a5);const _0x4e5ee3=[['id',_0x1223a5['id'],_0x5b5cfe['id']],['label',_0x1223a5[_0x30485f(0x1a6)],_0x5b5cfe[_0x30485f(0x1a6)]],[_0x30485f(0x1d1),_0x1223a5['type'],_0x5b5cfe[_0x30485f(0x1d1)]],[_0x30485f(0x1b8),_0x1223a5[_0x30485f(0x1b8)],_0x5b5cfe[_0x30485f(0x1b8)]],[_0x30485f(0x1a1),_0x1223a5[_0x30485f(0x1a1)],_0x5b5cfe['parentId']],[_0x30485f(0x1ad),_0x1223a5[_0x30485f(0x1ad)],_0x5b5cfe[_0x30485f(0x1ad)]],[_0x30485f(0x1a8),_0x1223a5[_0x30485f(0x1a8)],_0x5b5cfe[_0x30485f(0x1a8)]]];for(const [_0x59e89f,_0x1c41c3,_0x2881f7]of _0x4e5ee3){assertVerified(_0x1c41c3===_0x2881f7,_0x30485f(0x1a7)+_0x5b5cfe['id']+'\x20'+_0x59e89f+_0x30485f(0x1a5));}assertVerified(_0x1223a5[_0x30485f(0x1cd)]===_0x516425,_0x30485f(0x1a7)+_0x5b5cfe['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x4d9370,_0x4f4628,_0x5e51b9,_0x43145f,_0x55ff04){const _0x1f1658=a118_0x557633,_0x1b6f00=_0x5e51b9['id'],_0x6ee7af=mutationResult({..._0x4d9370,'after':_0x5e51b9,'dryRun':![],'succeeded':[{'id':_0x1b6f00,'updated':!_0x43145f,'skipped':_0x43145f,'recovered':_0x55ff04}],'verification':{'checkedBy':_0x1f1658(0x1b3),'snapshotHash':_0x4f4628[_0x1f1658(0x1bc)],'targetId':_0x1b6f00,'matchesRequestedState':!![],'recovered':_0x55ff04}});return{'ok':!![],'message':_0x55ff04?_0x1f1658(0x192)+_0x1b6f00+'.':_0x43145f?_0x1f1658(0x1a7)+_0x1b6f00+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x1f1658(0x1b4)+_0x1b6f00+'.','data':{..._0x6ee7af,'recovered':_0x55ff04}};}async function recoverAfterResponseLoss(_0x101d39,_0x54b111){const _0x438670=a118_0x557633,{plan:_0xcc7359,before:_0xcce5d1,body:_0x191964}=_0x54b111;let _0x52fcb6;try{_0x52fcb6=await fetchMenuSnapshot(_0x101d39['appCode'],_0x101d39['cookie']);}catch{throw recoveryRequired(_0xcc7359,_0x101d39[_0x438670(0x1d8)],{'id':_0x191964['id'],'readbackFailed':!![]});}const _0x187107=_0x52fcb6[_0x438670(0x1da)][_0x438670(0x18d)](_0x191964['id']);if(!_0x187107||_0x187107['url']!==_0x191964[_0x438670(0x1cd)])throw recoveryRequired(_0xcc7359,_0x101d39[_0x438670(0x1d8)],{'id':_0x191964['id'],'requestedUrlObserved':![],'after':_0x187107??null});try{verifyUpdatedFact(_0xcce5d1,_0x187107,_0x191964[_0x438670(0x1cd)]);}catch(_0x4b61da){const _0x2748e=asVerificationError(_0x4b61da,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x191964['id']+_0x438670(0x1c2));throw menuFailure(_0x2748e,_0xcc7359,{'stage':_0x438670(0x1c6),'succeeded':[{'id':_0x191964['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x191964['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x187107,'warnings':[_0x438670(0x1c8)],'verification':{'status':_0x438670(0x1c9),'targetId':_0x191964['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x101d39[_0x438670(0x1d8)])}});}return updateSuccess(_0xcc7359,_0x52fcb6,_0x187107,![],!![]);}function recoveryRequired(_0x310237,_0x386e3b,_0x511e02){const _0x588b86=a118_0x557633,_0x3d3cf6=menuError('menu_update_recovery_required',_0x588b86(0x19a),'Run\x20'+buildLookupCommand(_0x386e3b)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x3d3cf6,_0x310237,{'stage':_0x588b86(0x1c6),'failed':{'id':_0x511e02['id'],..._0x511e02[_0x588b86(0x196)]===undefined?{}:{'requestedUrlObserved':_0x511e02[_0x588b86(0x196)]},..._0x511e02[_0x588b86(0x197)]?{'readbackFailed':!![]}:{}},'after':_0x511e02[_0x588b86(0x1c5)],'warnings':[_0x588b86(0x1b5)],'verification':{'status':'failed','targetId':_0x511e02['id'],..._0x511e02[_0x588b86(0x196)]===undefined?{}:{'requestedUrlObserved':_0x511e02[_0x588b86(0x196)]},..._0x511e02[_0x588b86(0x197)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x386e3b)}});}function buildLookupCommand(_0x499ef5){const _0x26f746=a118_0x557633,_0x379178='\x27'+_0x499ef5[_0x26f746(0x1b9)](/'/g,_0x26f746(0x1bd))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x379178+_0x26f746(0x190);}
@@ -1 +1 @@
1
- const a114_0x38c12f=a114_0x4d78;(function(_0x24e7ff,_0x2f0ebb){const _0x3e8a70=a114_0x4d78,_0x3dcc49=_0x24e7ff();while(!![]){try{const _0x400a53=parseInt(_0x3e8a70(0x160))/0x1+-parseInt(_0x3e8a70(0x131))/0x2+-parseInt(_0x3e8a70(0x168))/0x3*(parseInt(_0x3e8a70(0x144))/0x4)+-parseInt(_0x3e8a70(0x164))/0x5*(-parseInt(_0x3e8a70(0x14c))/0x6)+-parseInt(_0x3e8a70(0x133))/0x7*(-parseInt(_0x3e8a70(0x14a))/0x8)+parseInt(_0x3e8a70(0x143))/0x9+-parseInt(_0x3e8a70(0x15d))/0xa*(-parseInt(_0x3e8a70(0x158))/0xb);if(_0x400a53===_0x2f0ebb)break;else _0x3dcc49['push'](_0x3dcc49['shift']());}catch(_0x2ecf52){_0x3dcc49['push'](_0x3dcc49['shift']());}}}(a114_0x2431,0x39c1f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a114_0x4d78(_0x493f1e,_0xc32a69){_0x493f1e=_0x493f1e-0x12d;const _0x24315e=a114_0x2431();let _0x4d784f=_0x24315e[_0x493f1e];return _0x4d784f;}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x38c12f(0x167),'path':a114_0x38c12f(0x16c)}];export const menuGroupCreate={'service':'menu','command':a114_0x38c12f(0x142),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x38c12f(0x140),'type':a114_0x38c12f(0x169),'required':!![],'description':a114_0x38c12f(0x13b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x17b504){validateCreateInput(_0x17b504);},async 'dryRun'(_0x3aa57d){const _0x38df5f=a114_0x38c12f,_0x119eaa=await buildCreatePlan(_0x3aa57d,!![]),_0x137c1f=_0x119eaa['after'];return menuDryRunResult(_0x119eaa,{'method':_0x38df5f(0x167),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x137c1f[_0x38df5f(0x150)]),'label':_0x137c1f[_0x38df5f(0x140)],'type':_0x38df5f(0x136),'visible':!![],'sort':_0x137c1f[_0x38df5f(0x161)],'extend':{}},'description':_0x38df5f(0x159)+String(_0x137c1f[_0x38df5f(0x140)])+_0x38df5f(0x162)});},async 'execute'(_0x2da3fc){const _0x5cb090=a114_0x38c12f;validateCreateInput(_0x2da3fc);const _0x3228ff=await buildCreatePlan(_0x2da3fc,![]),_0x421a23=_0x3228ff[_0x5cb090(0x12e)];await recheckMutationSnapshot(_0x2da3fc,_0x3228ff,_0x5cb090(0x139));let _0x241f9f;try{_0x241f9f=await createMenuEntity(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc[_0x5cb090(0x15b)],{'parentId':toApiParentId(_0x421a23[_0x5cb090(0x150)]),'label':String(_0x421a23['label']),'type':_0x5cb090(0x136),'visible':!![],'sort':Number(_0x421a23[_0x5cb090(0x161)]),'extend':{}});}catch(_0x4e2178){const _0xdbb51b=mapMenuApiError(_0x4e2178,_0x5cb090(0x139));throw menuFailure(_0xdbb51b,_0x3228ff,{'stage':'create','failed':{}});}const _0x596dd9=Number(_0x241f9f['id']);if(!Number[_0x5cb090(0x15c)](_0x596dd9)||_0x596dd9<=0x0){const _0x4afc5d=menuError(_0x5cb090(0x152),_0x5cb090(0x13e),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x4afc5d,_0x3228ff,{'stage':_0x5cb090(0x149),'failed':{'createdId':_0x241f9f['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a)}});}const _0x1423ae=typeof _0x241f9f[_0x5cb090(0x13f)]==='string'?_0x241f9f[_0x5cb090(0x13f)]:'';if(!_0x1423ae[_0x5cb090(0x157)]()){const _0x198bcf=menuError('menu_create_response_invalid',_0x5cb090(0x156)+_0x596dd9+_0x5cb090(0x132),_0x5cb090(0x135));throw menuFailure(_0x198bcf,_0x3228ff,{'stage':_0x5cb090(0x149),'succeeded':[{'id':_0x596dd9,'created':!![]}],'failed':{'id':_0x596dd9,'generatedPathConfirmed':![]},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x16b)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':'failed','lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}let _0x19ea04;try{_0x19ea04=await fetchMenuSnapshot(_0x2da3fc[_0x5cb090(0x14b)],_0x2da3fc['cookie']);}catch(_0xee8fbe){const _0x2ea079=describeMenuErrorCause(_0xee8fbe,_0x5cb090(0x16e),_0x596dd9),_0x1708f9=asVerificationError(_0xee8fbe,_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x137));throw menuFailure(_0x1708f9,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x2ea079},'warnings':['Folder\x20'+_0x596dd9+_0x5cb090(0x130)+JSON[_0x5cb090(0x146)](_0x1423ae)+_0x5cb090(0x166)],'after':{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x596dd9}});}const _0x485fd4=_0x19ea04[_0x5cb090(0x138)]['get'](_0x596dd9);let _0x578745;try{assertVerified(Boolean(_0x485fd4),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x145)),_0x578745=_0x485fd4,assertVerified(_0x578745[_0x5cb090(0x15a)]===_0x5cb090(0x136),_0x5cb090(0x163)+_0x596dd9+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x578745[_0x5cb090(0x140)]===_0x421a23['label'],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x13a)),assertVerified(_0x578745['path']===_0x1423ae&&Boolean(_0x578745[_0x5cb090(0x13f)]['trim']()),_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x12f)),assertVerified(_0x578745['visible']===!![],_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x141)),assertVerified(_0x578745['resources'][_0x5cb090(0x16f)]===0x0,_0x5cb090(0x147)+_0x596dd9+'\x20has\x20resources.'),assertVerified(_0x578745['childrenCount']===0x0,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x15e)),assertVerified(_0x578745[_0x5cb090(0x161)]===_0x421a23[_0x5cb090(0x161)],'Created\x20folder\x20'+_0x596dd9+_0x5cb090(0x155)),assertVerified(_0x578745[_0x5cb090(0x150)]===_0x421a23[_0x5cb090(0x150)],_0x5cb090(0x147)+_0x596dd9+'\x20has\x20unexpected\x20parent\x20'+(_0x578745[_0x5cb090(0x150)]??_0x5cb090(0x15f))+'.'),assertVerified(_0x578745['pageId']==null,_0x5cb090(0x147)+_0x596dd9+_0x5cb090(0x134));const _0x2e48a9=_0x578745['parentId']==null?undefined:requireFolder(_0x19ea04,_0x578745['parentId']);assertVerified(_0x578745[_0x5cb090(0x14d)]===(_0x2e48a9?_0x2e48a9[_0x5cb090(0x14d)]+0x1:0x0),_0x5cb090(0x147)+_0x596dd9+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x156915){const _0x4009e4=describeMenuErrorCause(_0x156915,_0x5cb090(0x16e),_0x596dd9),_0xa41a35=asVerificationError(_0x156915,'Folder\x20'+_0x596dd9+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0xa41a35,_0x3228ff,{'stage':'verification','succeeded':[{'id':_0x596dd9,'created':!![],'path':_0x1423ae}],'failed':{'id':_0x596dd9,'finalFactsConfirmed':![],..._0x4009e4},'warnings':[_0x5cb090(0x151)+_0x596dd9+_0x5cb090(0x12d)],'after':_0x485fd4??{..._0x421a23,'id':_0x596dd9,'path':_0x1423ae},'verification':{'status':_0x5cb090(0x13c),'lookupCommand':_0x5cb090(0x16a),'targetId':_0x596dd9}});}const _0x1e1697=mutationResult({..._0x3228ff,'after':_0x578745,'dryRun':![],'succeeded':[{'id':_0x596dd9,'type':_0x5cb090(0x136),'path':_0x1423ae}],'verification':{'checkedBy':_0x5cb090(0x16d),'snapshotHash':_0x19ea04[_0x5cb090(0x165)],'folder':!![],'path':_0x1423ae,'emptyResources':!![]}});return{'ok':!![],'data':_0x1e1697,'message':_0x5cb090(0x148)+_0x596dd9+'.'};}};function validateCreateInput(_0x4f5b71){const _0x407e50=a114_0x38c12f,_0x2fd401=_0x4f5b71[_0x407e50(0x14f)](_0x407e50(0x140))[_0x407e50(0x157)]();if(!_0x2fd401)throw CliErrors[_0x407e50(0x153)](_0x407e50(0x140));parseParentId(_0x4f5b71,_0x407e50(0x154)),validateSort(_0x4f5b71);}async function buildCreatePlan(_0x139cf0,_0x5317c4){const _0x3c964a=a114_0x38c12f,_0x3eb12d=await fetchMutationSnapshot(_0x139cf0,_0x3c964a(0x139)),_0x237a39=parseParentId(_0x139cf0,_0x3c964a(0x154))??null;if(_0x237a39!=null)requireFolder(_0x3eb12d,_0x237a39);const _0x14286b=validateSort(_0x139cf0),_0x586b2f=_0x14286b??nextSiblingSort(_0x3eb12d,_0x237a39,'folder'),_0x4aa3a1=_0x139cf0[_0x3c964a(0x14f)](_0x3c964a(0x140))[_0x3c964a(0x157)]();return mutationResult({'operation':_0x3c964a(0x142),'selector':{'label':_0x4aa3a1,'parentId':_0x237a39},'before':null,'after':{'id':null,'parentId':_0x237a39,'label':_0x4aa3a1,'path':_0x3c964a(0x14e),'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5317c4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3c964a(0x13d),'method':'POST','path':_0x3c964a(0x16c),'body':{'parentId':toApiParentId(_0x237a39),'label':_0x4aa3a1,'type':_0x3c964a(0x136),'visible':!![],'sort':_0x586b2f,'extend':{}}}],'snapshotHash':_0x3eb12d['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}function a114_0x2431(){const _0x43f69a=['8RHseAF','appCode','1686XIeaek','depth','<platform-generated>','str','parentId','Folder\x20','menu_create_response_invalid','flagMissing','parent-id','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20for\x20folder\x20','trim','11xQniJh','Would\x20create\x20empty\x20folder\x20\x22','type','cookie','isSafeInteger','2761790GvqTDt','\x20is\x20not\x20empty.','root','69013tAiSUd','sort','\x22\x20with\x20a\x20platform-generated\x20path.','Created\x20menu\x20','335JHJMWF','hash',';\x20verify\x20it\x20before\x20retrying.','POST','438411NGiuRC','string','rabetbase\x20menu\x20list\x20--format\x20json','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','/smartapi/menu/create','menu\x20list','verify\x20folder\x20creation','length','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','498490naFuWh','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','343483thAMTM','\x20unexpectedly\x20owns\x20a\x20page.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','byId','create\x20folder','\x20has\x20an\x20unexpected\x20label.','Folder\x20label','failed','create-folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','path','label','\x20is\x20not\x20visible.','group-create','3285054cNEdbb','8SCmDcF','\x20is\x20missing\x20from\x20menu\x20list.','stringify','Created\x20folder\x20','Created\x20menu\x20folder\x20','create-response-validation'];a114_0x2431=function(){return _0x43f69a;};return a114_0x2431();}
1
+ function a119_0x51c2(){const _0x25e712=['after',';\x20verify\x20it\x20before\x20retrying.','\x20may\x20exist\x20online\x20at\x20path\x20','label','Created\x20folder\x20','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','root','folder','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','1977610xgAUHl','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','/smartapi/menu/create','<platform-generated>','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','group-create','flagMissing','\x20is\x20not\x20empty.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','str','create\x20folder','\x20unexpectedly\x20owns\x20a\x20page.','POST','get','hash','4247446HoRBKx','parentId','5245200EiZwUH','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','2257588BnsgJC','depth','Folder\x20label','287061kVzyxZ','cookie','3515650IcVvZd','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','menu_create_response_invalid','Created\x20menu\x20folder\x20','string','pageId','143qGUosE','8zhYOYc','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','trim','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','stringify','Would\x20create\x20empty\x20folder\x20\x22','create','failed','6awypki','verification','verify\x20folder\x20creation','rabetbase\x20menu\x20list\x20--format\x20json','appCode','isSafeInteger','create-response-validation','458287IEkRLn','10KSOtRx','menu\x20list','sort','\x20is\x20not\x20type\x20folder.','path','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','Folder\x20','byId','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'];a119_0x51c2=function(){return _0x25e712;};return a119_0x51c2();}const a119_0x44f443=a119_0xd8ff;(function(_0x2b8679,_0x553e61){const _0x2ef0ae=a119_0xd8ff,_0xa0058f=_0x2b8679();while(!![]){try{const _0x265217=-parseInt(_0x2ef0ae(0x202))/0x1+parseInt(_0x2ef0ae(0x203))/0x2*(-parseInt(_0x2ef0ae(0x1e9))/0x3)+-parseInt(_0x2ef0ae(0x1e6))/0x4+-parseInt(_0x2ef0ae(0x1eb))/0x5*(parseInt(_0x2ef0ae(0x1fb))/0x6)+-parseInt(_0x2ef0ae(0x1e2))/0x7*(-parseInt(_0x2ef0ae(0x1f3))/0x8)+-parseInt(_0x2ef0ae(0x1e4))/0x9+parseInt(_0x2ef0ae(0x1d3))/0xa*(parseInt(_0x2ef0ae(0x1f2))/0xb);if(_0x265217===_0x553e61)break;else _0xa0058f['push'](_0xa0058f['shift']());}catch(_0x3e9973){_0xa0058f['push'](_0xa0058f['shift']());}}}(a119_0x51c2,0x5f5de));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a119_0xd8ff(_0x4b78d5,_0x1a9a91){_0x4b78d5=_0x4b78d5-0x1d2;const _0x51c2d6=a119_0x51c2();let _0xd8ff02=_0x51c2d6[_0x4b78d5];return _0xd8ff02;}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':a119_0x44f443(0x1df),'path':a119_0x44f443(0x1d5)}];export const menuGroupCreate={'service':'menu','command':a119_0x44f443(0x1d8),'description':a119_0x44f443(0x1ec),'risk':'write','structuredErrors':!![],'flags':[{'name':a119_0x44f443(0x210),'type':a119_0x44f443(0x1f0),'required':!![],'description':a119_0x44f443(0x1e8)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x40935e){validateCreateInput(_0x40935e);},async 'dryRun'(_0x2d95a7){const _0x5984f1=a119_0x44f443,_0x636cb2=await buildCreatePlan(_0x2d95a7,!![]),_0x638cde=_0x636cb2['after'];return menuDryRunResult(_0x636cb2,{'method':_0x5984f1(0x1df),'url':_0x5984f1(0x1d5),'body':{'parentId':toApiParentId(_0x638cde[_0x5984f1(0x1e3)]),'label':_0x638cde[_0x5984f1(0x210)],'type':_0x5984f1(0x214),'visible':!![],'sort':_0x638cde[_0x5984f1(0x205)],'extend':{}},'description':_0x5984f1(0x1f8)+String(_0x638cde[_0x5984f1(0x210)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3098dd){const _0x18ee45=a119_0x44f443;validateCreateInput(_0x3098dd);const _0x5369a3=await buildCreatePlan(_0x3098dd,![]),_0x46d4d6=_0x5369a3[_0x18ee45(0x20d)];await recheckMutationSnapshot(_0x3098dd,_0x5369a3,_0x18ee45(0x1dd));let _0x10badb;try{_0x10badb=await createMenuEntity(_0x3098dd['appCode'],_0x3098dd[_0x18ee45(0x1ea)],{'parentId':toApiParentId(_0x46d4d6[_0x18ee45(0x1e3)]),'label':String(_0x46d4d6[_0x18ee45(0x210)]),'type':_0x18ee45(0x214),'visible':!![],'sort':Number(_0x46d4d6['sort']),'extend':{}});}catch(_0x4c3192){const _0x490cc6=mapMenuApiError(_0x4c3192,_0x18ee45(0x1dd));throw menuFailure(_0x490cc6,_0x5369a3,{'stage':_0x18ee45(0x1f9),'failed':{}});}const _0x1c8ee1=Number(_0x10badb['id']);if(!Number[_0x18ee45(0x200)](_0x1c8ee1)||_0x1c8ee1<=0x0){const _0x1dfe56=menuError(_0x18ee45(0x1ee),_0x18ee45(0x212),_0x18ee45(0x1f4));throw menuFailure(_0x1dfe56,_0x5369a3,{'stage':_0x18ee45(0x201),'failed':{'createdId':_0x10badb['id']??null},'warnings':[_0x18ee45(0x1d2)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x3c8689=typeof _0x10badb[_0x18ee45(0x207)]===_0x18ee45(0x1f0)?_0x10badb[_0x18ee45(0x207)]:'';if(!_0x3c8689['trim']()){const _0x37e51b=menuError(_0x18ee45(0x1ee),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1d7),_0x18ee45(0x1e5));throw menuFailure(_0x37e51b,_0x5369a3,{'stage':'create-response-validation','succeeded':[{'id':_0x1c8ee1,'created':!![]}],'failed':{'id':_0x1c8ee1,'generatedPathConfirmed':![]},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}let _0x1df837;try{_0x1df837=await fetchMenuSnapshot(_0x3098dd[_0x18ee45(0x1ff)],_0x3098dd[_0x18ee45(0x1ea)]);}catch(_0x43b593){const _0x1aa53e=describeMenuErrorCause(_0x43b593,_0x18ee45(0x1fd),_0x1c8ee1),_0x9c8523=asVerificationError(_0x43b593,'Folder\x20'+_0x1c8ee1+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x9c8523,_0x5369a3,{'stage':'verification','succeeded':[{'id':_0x1c8ee1,'created':!![],'path':_0x3c8689}],'failed':{'id':_0x1c8ee1,'finalFactsConfirmed':![],..._0x1aa53e},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+_0x18ee45(0x20f)+JSON[_0x18ee45(0x1f7)](_0x3c8689)+_0x18ee45(0x20e)],'after':{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}const _0x342863=_0x1df837[_0x18ee45(0x20b)][_0x18ee45(0x1e0)](_0x1c8ee1);let _0x5f3002;try{assertVerified(Boolean(_0x342863),'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x208)),_0x5f3002=_0x342863,assertVerified(_0x5f3002['type']===_0x18ee45(0x214),'Created\x20menu\x20'+_0x1c8ee1+_0x18ee45(0x206)),assertVerified(_0x5f3002[_0x18ee45(0x210)]===_0x46d4d6[_0x18ee45(0x210)],_0x18ee45(0x211)+_0x1c8ee1+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x5f3002[_0x18ee45(0x207)]===_0x3c8689&&Boolean(_0x5f3002['path'][_0x18ee45(0x1f5)]()),_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x1f6)),assertVerified(_0x5f3002['visible']===!![],_0x18ee45(0x211)+_0x1c8ee1+'\x20is\x20not\x20visible.'),assertVerified(_0x5f3002['resources']['length']===0x0,_0x18ee45(0x211)+_0x1c8ee1+'\x20has\x20resources.'),assertVerified(_0x5f3002['childrenCount']===0x0,'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1da)),assertVerified(_0x5f3002[_0x18ee45(0x205)]===_0x46d4d6[_0x18ee45(0x205)],_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x209)),assertVerified(_0x5f3002[_0x18ee45(0x1e3)]===_0x46d4d6[_0x18ee45(0x1e3)],'Created\x20folder\x20'+_0x1c8ee1+'\x20has\x20unexpected\x20parent\x20'+(_0x5f3002[_0x18ee45(0x1e3)]??_0x18ee45(0x213))+'.'),assertVerified(_0x5f3002[_0x18ee45(0x1f1)]==null,'Created\x20folder\x20'+_0x1c8ee1+_0x18ee45(0x1de));const _0x35e542=_0x5f3002['parentId']==null?undefined:requireFolder(_0x1df837,_0x5f3002['parentId']);assertVerified(_0x5f3002[_0x18ee45(0x1e7)]===(_0x35e542?_0x35e542[_0x18ee45(0x1e7)]+0x1:0x0),_0x18ee45(0x211)+_0x1c8ee1+_0x18ee45(0x1db));}catch(_0x255f54){const _0x12671e=describeMenuErrorCause(_0x255f54,_0x18ee45(0x1fd),_0x1c8ee1),_0x2ffa61=asVerificationError(_0x255f54,_0x18ee45(0x20a)+_0x1c8ee1+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x2ffa61,_0x5369a3,{'stage':_0x18ee45(0x1fc),'succeeded':[{'id':_0x1c8ee1,'created':!![],'path':_0x3c8689}],'failed':{'id':_0x1c8ee1,'finalFactsConfirmed':![],..._0x12671e},'warnings':[_0x18ee45(0x20a)+_0x1c8ee1+_0x18ee45(0x20c)],'after':_0x342863??{..._0x46d4d6,'id':_0x1c8ee1,'path':_0x3c8689},'verification':{'status':_0x18ee45(0x1fa),'lookupCommand':_0x18ee45(0x1fe),'targetId':_0x1c8ee1}});}const _0x432322=mutationResult({..._0x5369a3,'after':_0x5f3002,'dryRun':![],'succeeded':[{'id':_0x1c8ee1,'type':_0x18ee45(0x214),'path':_0x3c8689}],'verification':{'checkedBy':_0x18ee45(0x204),'snapshotHash':_0x1df837[_0x18ee45(0x1e1)],'folder':!![],'path':_0x3c8689,'emptyResources':!![]}});return{'ok':!![],'data':_0x432322,'message':_0x18ee45(0x1ef)+_0x1c8ee1+'.'};}};function validateCreateInput(_0x399d87){const _0x5d5b07=a119_0x44f443,_0x15a0ed=_0x399d87['str'](_0x5d5b07(0x210))[_0x5d5b07(0x1f5)]();if(!_0x15a0ed)throw CliErrors[_0x5d5b07(0x1d9)](_0x5d5b07(0x210));parseParentId(_0x399d87,_0x5d5b07(0x1ed)),validateSort(_0x399d87);}async function buildCreatePlan(_0x296276,_0x4e5d5f){const _0x15c1fb=a119_0x44f443,_0x170be8=await fetchMutationSnapshot(_0x296276,_0x15c1fb(0x1dd)),_0x2fb44c=parseParentId(_0x296276,'parent-id')??null;if(_0x2fb44c!=null)requireFolder(_0x170be8,_0x2fb44c);const _0x618a94=validateSort(_0x296276),_0x51d3ca=_0x618a94??nextSiblingSort(_0x170be8,_0x2fb44c,_0x15c1fb(0x214)),_0x3d23e2=_0x296276[_0x15c1fb(0x1dc)](_0x15c1fb(0x210))[_0x15c1fb(0x1f5)]();return mutationResult({'operation':_0x15c1fb(0x1d8),'selector':{'label':_0x3d23e2,'parentId':_0x2fb44c},'before':null,'after':{'id':null,'parentId':_0x2fb44c,'label':_0x3d23e2,'path':_0x15c1fb(0x1d6),'type':_0x15c1fb(0x214),'visible':!![],'sort':_0x51d3ca,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4e5d5f,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x15c1fb(0x1df),'path':_0x15c1fb(0x1d5),'body':{'parentId':toApiParentId(_0x2fb44c),'label':_0x3d23e2,'type':_0x15c1fb(0x214),'visible':!![],'sort':_0x51d3ca,'extend':{}}}],'snapshotHash':_0x170be8[_0x15c1fb(0x1e1)],'warnings':[_0x15c1fb(0x1d4)]});}