@lovrabet/rabetbase-cli 2.5.1-beta.1 → 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 (316) 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.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/delete.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/init.js +1 -1
  56. package/lib/commands/config/list.js +1 -1
  57. package/lib/commands/config/set.js +1 -1
  58. package/lib/commands/config/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/business-groups.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-restore.d.ts +107 -0
  66. package/lib/commands/dataset/field-restore.js +1 -0
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  81. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  82. package/lib/commands/db/analysis-batching.js +1 -1
  83. package/lib/commands/db/analyze-batch-plan.js +1 -1
  84. package/lib/commands/db/analyze-cancel.js +1 -1
  85. package/lib/commands/db/analyze-start.js +1 -1
  86. package/lib/commands/db/analyze-status.js +1 -1
  87. package/lib/commands/db/create.js +1 -1
  88. package/lib/commands/db/delete.js +1 -1
  89. package/lib/commands/db/detail.js +1 -1
  90. package/lib/commands/db/diff-refresh-start.js +1 -1
  91. package/lib/commands/db/diff-refresh-status.js +1 -1
  92. package/lib/commands/db/diff.js +1 -1
  93. package/lib/commands/db/index.js +1 -1
  94. package/lib/commands/db/list.js +1 -1
  95. package/lib/commands/db/shared.js +1 -1
  96. package/lib/commands/db/table-diff-shared.js +1 -1
  97. package/lib/commands/db/tables.js +1 -1
  98. package/lib/commands/db/test.js +1 -1
  99. package/lib/commands/db/update.js +1 -1
  100. package/lib/commands/deployment/auto-sync.d.ts +28 -0
  101. package/lib/commands/deployment/auto-sync.js +1 -0
  102. package/lib/commands/deployment/index.d.ts +2 -0
  103. package/lib/commands/deployment/index.js +1 -0
  104. package/lib/commands/deployment/sync.d.ts +2 -0
  105. package/lib/commands/deployment/sync.js +1 -0
  106. package/lib/commands/doctor.js +1 -1
  107. package/lib/commands/file/index.js +1 -1
  108. package/lib/commands/issue/index.js +1 -1
  109. package/lib/commands/issue/nudge.js +1 -1
  110. package/lib/commands/issue/report.js +1 -1
  111. package/lib/commands/issue/shared.js +1 -1
  112. package/lib/commands/kb/create.js +1 -1
  113. package/lib/commands/kb/delete.js +1 -1
  114. package/lib/commands/kb/detail.js +1 -1
  115. package/lib/commands/kb/index.js +1 -1
  116. package/lib/commands/kb/list.js +1 -1
  117. package/lib/commands/kb/search.js +1 -1
  118. package/lib/commands/kb/shared.js +1 -1
  119. package/lib/commands/kb/update.js +1 -1
  120. package/lib/commands/logs/index.js +1 -1
  121. package/lib/commands/menu/asset-update.js +1 -1
  122. package/lib/commands/menu/delete.js +1 -1
  123. package/lib/commands/menu/external-link-create.js +1 -1
  124. package/lib/commands/menu/external-link-update.js +1 -1
  125. package/lib/commands/menu/group-create.js +1 -1
  126. package/lib/commands/menu/group-update.js +1 -1
  127. package/lib/commands/menu/index.js +1 -1
  128. package/lib/commands/menu/list.js +1 -1
  129. package/lib/commands/menu/move.js +1 -1
  130. package/lib/commands/menu/regroup-start.js +1 -1
  131. package/lib/commands/menu/rename.js +1 -1
  132. package/lib/commands/menu/shared/compare-table.js +1 -1
  133. package/lib/commands/menu/shared/delete-plan.js +1 -1
  134. package/lib/commands/menu/shared/facts.js +1 -1
  135. package/lib/commands/menu/shared/index.js +1 -1
  136. package/lib/commands/menu/shared/inquirer.js +1 -1
  137. package/lib/commands/menu/shared/local-pages.js +1 -1
  138. package/lib/commands/menu/shared/logic.js +1 -1
  139. package/lib/commands/menu/shared/mutations.js +1 -1
  140. package/lib/commands/menu/shared/service.js +1 -1
  141. package/lib/commands/menu/shared/sync-core.js +1 -1
  142. package/lib/commands/menu/shared/update-core.js +1 -1
  143. package/lib/commands/menu/shared/valid-url.js +1 -1
  144. package/lib/commands/menu/sync.js +1 -1
  145. package/lib/commands/menu/visibility-update.js +1 -1
  146. package/lib/commands/notification/config-create.js +1 -1
  147. package/lib/commands/notification/config-delete.js +1 -1
  148. package/lib/commands/notification/config-list.js +1 -1
  149. package/lib/commands/notification/config-update.js +1 -1
  150. package/lib/commands/notification/index.js +1 -1
  151. package/lib/commands/notification/shared.js +1 -1
  152. package/lib/commands/ocr/index.js +1 -1
  153. package/lib/commands/page/create.js +1 -1
  154. package/lib/commands/page/custom/detail.js +1 -1
  155. package/lib/commands/page/custom/list.js +1 -1
  156. package/lib/commands/page/custom/publish.js +1 -1
  157. package/lib/commands/page/custom/shared.js +1 -1
  158. package/lib/commands/page/custom/syntax.js +1 -1
  159. package/lib/commands/page/custom/template.js +1 -1
  160. package/lib/commands/page/custom/update.js +1 -1
  161. package/lib/commands/page/data-list-status.js +1 -1
  162. package/lib/commands/page/generate-start.js +1 -1
  163. package/lib/commands/page/generate-status.js +1 -1
  164. package/lib/commands/page/index.js +1 -1
  165. package/lib/commands/page/pull.js +1 -1
  166. package/lib/commands/page/push.js +1 -1
  167. package/lib/commands/page/relation-audit.js +1 -1
  168. package/lib/commands/page/restore.js +1 -1
  169. package/lib/commands/page/shared.js +1 -1
  170. package/lib/commands/page/sync.js +1 -1
  171. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  172. package/lib/commands/project/create/format-elapsed.js +1 -1
  173. package/lib/commands/project/create/main.js +1 -1
  174. package/lib/commands/project/create/materialize-project-template.js +1 -1
  175. package/lib/commands/project/create/project-name.js +1 -1
  176. package/lib/commands/project/create/project-template-archive.js +1 -1
  177. package/lib/commands/project/create/project-template-path.js +1 -1
  178. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  179. package/lib/commands/project/create/use-format-code.js +1 -1
  180. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  181. package/lib/commands/project/index.js +1 -1
  182. package/lib/commands/project/upgrade.js +1 -1
  183. package/lib/commands/registry.js +1 -1
  184. package/lib/commands/role/delete.js +1 -1
  185. package/lib/commands/role/detail.js +1 -1
  186. package/lib/commands/role/index.js +1 -1
  187. package/lib/commands/role/list.js +1 -1
  188. package/lib/commands/role/shared.js +1 -1
  189. package/lib/commands/role/update.js +1 -1
  190. package/lib/commands/role/user-add.js +1 -1
  191. package/lib/commands/role/user-remove.js +1 -1
  192. package/lib/commands/role/user-resolve.js +1 -1
  193. package/lib/commands/run/index.js +1 -1
  194. package/lib/commands/schema.js +1 -1
  195. package/lib/commands/sql/create.js +1 -1
  196. package/lib/commands/sql/delete.js +1 -1
  197. package/lib/commands/sql/detail.js +1 -1
  198. package/lib/commands/sql/exec.js +1 -1
  199. package/lib/commands/sql/index.js +1 -1
  200. package/lib/commands/sql/list.js +1 -1
  201. package/lib/commands/sql/pull.js +1 -1
  202. package/lib/commands/sql/push.js +1 -1
  203. package/lib/commands/sql/shared.js +1 -1
  204. package/lib/commands/sql/status.js +1 -1
  205. package/lib/commands/sql/validate.js +1 -1
  206. package/lib/commands/task/index.js +1 -1
  207. package/lib/commands/task/status.js +1 -1
  208. package/lib/commands/tenant/index.js +1 -1
  209. package/lib/commands/tenant/members-list.js +1 -1
  210. package/lib/commands/tenant/shared.js +1 -1
  211. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  212. package/lib/commands/user-account/index.js +1 -1
  213. package/lib/commands/workspace/add.js +1 -1
  214. package/lib/commands/workspace/index.js +1 -1
  215. package/lib/commands/workspace/remove.js +1 -1
  216. package/lib/config/deployment-sync.d.ts +10 -0
  217. package/lib/config/deployment-sync.js +1 -0
  218. package/lib/config/domain-config.js +1 -1
  219. package/lib/config/project-routing.js +1 -1
  220. package/lib/config/schema.js +1 -1
  221. package/lib/constant/cdn.js +1 -1
  222. package/lib/constant/cli.js +1 -1
  223. package/lib/constant/defaults.js +1 -1
  224. package/lib/constant/domain.js +1 -1
  225. package/lib/constant/env.js +1 -1
  226. package/lib/constant/output.js +1 -1
  227. package/lib/constant/paths.js +1 -1
  228. package/lib/constant/region.js +1 -1
  229. package/lib/constant/risk.js +1 -1
  230. package/lib/constant/routing-profile.js +1 -1
  231. package/lib/context/app-resolver.d.ts +2 -0
  232. package/lib/context/app-resolver.js +1 -1
  233. package/lib/context/auth-resolver.js +1 -1
  234. package/lib/context/config-loader.js +1 -1
  235. package/lib/context.js +1 -1
  236. package/lib/core/alias-resolver.js +1 -1
  237. package/lib/core/api-client.d.ts +35 -0
  238. package/lib/core/api-client.js +1 -1
  239. package/lib/core/bff/config.js +1 -1
  240. package/lib/core/bff/file-system.js +1 -1
  241. package/lib/core/bff/hash.js +1 -1
  242. package/lib/core/bff/lock.js +1 -1
  243. package/lib/core/bff/utils.js +1 -1
  244. package/lib/core/db-resolver.js +1 -1
  245. package/lib/core/page/file-system.js +1 -1
  246. package/lib/core/page/hash.js +1 -1
  247. package/lib/core/page/lock.js +1 -1
  248. package/lib/core/sql-index-auditor.js +1 -1
  249. package/lib/core/sql-sync/config.js +1 -1
  250. package/lib/core/sql-sync/file-system.js +1 -1
  251. package/lib/core/sql-sync/hash.js +1 -1
  252. package/lib/core/sql-sync/lock.js +1 -1
  253. package/lib/core/sql-sync/utils.js +1 -1
  254. package/lib/core/sql-validator.js +1 -1
  255. package/lib/errors.js +1 -1
  256. package/lib/framework/build-all-flags.js +1 -1
  257. package/lib/framework/error-output.js +1 -1
  258. package/lib/framework/explicit-yes.js +1 -1
  259. package/lib/framework/flags.js +1 -1
  260. package/lib/framework/help.js +1 -1
  261. package/lib/framework/index.js +1 -1
  262. package/lib/framework/output.js +1 -1
  263. package/lib/framework/response.js +1 -1
  264. package/lib/framework/runner-alias.js +1 -1
  265. package/lib/framework/runner.js +1 -1
  266. package/lib/framework/schema-export.js +1 -1
  267. package/lib/framework/types.d.ts +4 -0
  268. package/lib/framework/types.js +1 -1
  269. package/lib/generated/build-info.d.ts +4 -4
  270. package/lib/generated/build-info.js +1 -1
  271. package/lib/help.js +1 -1
  272. package/lib/postinstall.js +1 -1
  273. package/lib/runtime/confirmation.js +1 -1
  274. package/lib/runtime/event.js +1 -1
  275. package/lib/runtime/index.js +1 -1
  276. package/lib/runtime/queue.js +1 -1
  277. package/lib/runtime/resolve.js +1 -1
  278. package/lib/skills/builtin-skill.js +1 -1
  279. package/lib/skills/main.js +1 -1
  280. package/lib/skills/npx-skills-add.js +1 -1
  281. package/lib/skills/skill-presence.js +1 -1
  282. package/lib/telemetry/cli-command-trace.js +1 -1
  283. package/lib/telemetry/cli-help-trace.js +1 -1
  284. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  285. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  286. package/lib/telemetry/send-cli-trace-log.js +1 -1
  287. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  288. package/lib/utils/ai_config.js +1 -1
  289. package/lib/utils/apply-jq-filter.js +1 -1
  290. package/lib/utils/cdn-config.js +1 -1
  291. package/lib/utils/check-sdk-version.js +1 -1
  292. package/lib/utils/cli-version-check.js +1 -1
  293. package/lib/utils/cli-version-policy.js +1 -1
  294. package/lib/utils/config.js +1 -1
  295. package/lib/utils/entity-with-id.js +1 -1
  296. package/lib/utils/file-utils.js +1 -1
  297. package/lib/utils/guides-cdn.js +1 -1
  298. package/lib/utils/http-client.js +1 -1
  299. package/lib/utils/is-non-interactive.js +1 -1
  300. package/lib/utils/logger.js +1 -1
  301. package/lib/utils/params.js +1 -1
  302. package/lib/utils/platform.js +1 -1
  303. package/lib/utils/sleep.js +1 -1
  304. package/lib/utils/template-replacer.js +1 -1
  305. package/lib/utils/update-notice.js +1 -1
  306. package/lib/utils/version.js +1 -1
  307. package/lib/utils/with-active-cookie.js +1 -1
  308. package/lib/utils/write-cli-side-channel.js +1 -1
  309. package/package.json +1 -1
  310. package/skills/rabetbase/SKILL.md +11 -5
  311. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  312. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  313. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  314. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  315. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  316. package/skills/rabetbase.manifest.json +6 -3
@@ -1 +1 @@
1
- const a108_0x4197b7=a108_0x6d90;(function(_0x28f44c,_0x1cf784){const _0x335c6c=a108_0x6d90,_0x449010=_0x28f44c();while(!![]){try{const _0x40908d=parseInt(_0x335c6c(0x108))/0x1*(-parseInt(_0x335c6c(0x12c))/0x2)+-parseInt(_0x335c6c(0x10b))/0x3*(parseInt(_0x335c6c(0x123))/0x4)+-parseInt(_0x335c6c(0x128))/0x5*(parseInt(_0x335c6c(0x125))/0x6)+-parseInt(_0x335c6c(0xf6))/0x7*(-parseInt(_0x335c6c(0x114))/0x8)+parseInt(_0x335c6c(0xf8))/0x9+parseInt(_0x335c6c(0x111))/0xa*(-parseInt(_0x335c6c(0x104))/0xb)+-parseInt(_0x335c6c(0x117))/0xc*(-parseInt(_0x335c6c(0x11d))/0xd);if(_0x40908d===_0x1cf784)break;else _0x449010['push'](_0x449010['shift']());}catch(_0x416769){_0x449010['push'](_0x449010['shift']());}}}(a108_0xed57,0x75766));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_0x4197b7(0x12d);function a108_0xed57(){const _0x3f8a20=['trim','kb_file_required','cookie','kb_expected_version_invalid','contentHash','string','company','Company\x20knowledge\x20base\x20','rabetbase\x20kb\x20detail\x20--id\x20','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','50259zGcOWt','isSafeInteger','Nothing\x20to\x20update.','update','1qpnWoc','kb_verification_failed','Company\x20knowledge-base\x20id','2332965tJDXxF','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','replacement','expected-version','appCode','1710qhmhFv','--file\x20cannot\x20be\x20empty.','expectedVersion','8GRdqiq','write','kb_title_invalid','2599836cQdfKw','--title\x20cannot\x20be\x20empty.','patch','push','content','beforeRecord','156lDmNkn','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','title','planned','number','flag','4dwecxf','snapshotHash','138UKJAGR','kb_update_empty','POST','65730GKSBbg','file','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','version','1559468BelGLO','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','Updated\x20company\x20knowledge\x20base\x20','New\x20knowledge-base\x20title','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','1830899CopqeY','before','2347011McHKjK','\x20--format\x20compress'];a108_0xed57=function(){return _0x3f8a20;};return a108_0xed57();}function readUpdatePatch(_0x411a86){const _0x713773=a108_0x4197b7,_0xa7a86d=readKbId(_0x411a86),_0x2d1500=_0x411a86[_0x713773(0x122)]('title'),_0x1c4bb5=_0x411a86[_0x713773(0x122)](_0x713773(0x129)),_0x523e64=_0x411a86[_0x713773(0x122)](_0x713773(0x10f)),_0x4c5106=_0x2d1500===undefined?undefined:String(_0x2d1500)[_0x713773(0xfa)]();if(_0x2d1500!==undefined&&!_0x4c5106)throw kbError(_0x713773(0x116),_0x713773(0x118));const _0x3ce2b7=_0x1c4bb5===undefined?undefined:String(_0x1c4bb5)[_0x713773(0xfa)]();if(_0x1c4bb5!==undefined&&!_0x3ce2b7)throw kbError(_0x713773(0xfb),_0x713773(0x112));if(_0x4c5106===undefined&&_0x3ce2b7===undefined)throw kbError(_0x713773(0x126),_0x713773(0x106),_0x713773(0x12e));let _0x145ed1;if(_0x523e64!==undefined){_0x145ed1=Number(_0x523e64);if(!Number[_0x713773(0x105)](_0x145ed1)||_0x145ed1<0x0)throw kbError(_0x713773(0xfd),_0x713773(0x103));}return{'id':_0xa7a86d,'title':_0x4c5106,'file':_0x3ce2b7,'expectedVersion':_0x145ed1};}function a108_0x6d90(_0x7a59c5,_0x1c4242){_0x7a59c5=_0x7a59c5-0xf5;const _0xed57a9=a108_0xed57();let _0x6d90d8=_0xed57a9[_0x7a59c5];return _0x6d90d8;}async function prepareUpdate(_0x3dbe8a){const _0x423b4d=a108_0x4197b7,_0x5a88f2=readUpdatePatch(_0x3dbe8a),_0x18c051=await requireKb(_0x3dbe8a,_0x5a88f2['id']);assertExpectedKbVersion(_0x18c051,_0x5a88f2['expectedVersion']);const _0x20a939=_0x5a88f2[_0x423b4d(0x129)]?await readKbFile(_0x5a88f2[_0x423b4d(0x129)]):undefined,_0x5926ea=projectKb(_0x18c051),_0x4e1af5=projectKb({..._0x18c051,..._0x5a88f2['title']!==undefined?{'title':_0x5a88f2[_0x423b4d(0x11f)]}:{},..._0x20a939?{'content':_0x20a939[_0x423b4d(0x11b)]}:{}});return{'patch':_0x5a88f2,'beforeRecord':_0x18c051,'before':_0x5926ea,'planned':_0x4e1af5,'replacement':_0x20a939};}export const kbUpdate={'service':'kb','command':a108_0x4197b7(0x107),'description':'Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','risk':a108_0x4197b7(0x115),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a108_0x4197b7(0x121),'required':!![],'description':a108_0x4197b7(0x10a)},{'name':a108_0x4197b7(0x11f),'type':a108_0x4197b7(0xff),'required':![],'description':a108_0x4197b7(0x130)},{'name':a108_0x4197b7(0x129),'type':a108_0x4197b7(0xff),'required':![],'description':a108_0x4197b7(0x10d)},{'name':'expected-version','type':'number','required':![],'description':a108_0x4197b7(0x11e)}],async 'validate'(_0x5f5500){readUpdatePatch(_0x5f5500);},async 'dryRun'(_0x2d7cdf){const _0x427a30=a108_0x4197b7,_0x487379=await prepareUpdate(_0x2d7cdf),_0x2c250=_0x487379['patch'][_0x427a30(0x113)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x427a30(0x107),'selector':{'id':_0x487379[_0x427a30(0xf7)]['id'],'scope':_0x427a30(0x100),'appCode':_0x487379[_0x427a30(0xf7)][_0x427a30(0x110)]},'before':_0x487379[_0x427a30(0xf7)],'after':_0x487379[_0x427a30(0x120)],'dryRun':!![],'backend':{'method':_0x427a30(0x127),'path':UPDATE_PATH},'warnings':_0x2c250,'verification':{'expectedVersion':_0x487379[_0x427a30(0x119)][_0x427a30(0x113)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x487379[_0x427a30(0xf7)][_0x427a30(0x124)],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x487379['before']['id']+_0x427a30(0xf9)}},{'method':_0x427a30(0x127),'url':UPDATE_PATH});},async 'execute'(_0x23926c){const _0x3596f4=a108_0x4197b7,_0x38ad33=await prepareUpdate(_0x23926c),_0xf70416={'id':_0x38ad33[_0x3596f4(0x119)]['id'],..._0x38ad33['patch'][_0x3596f4(0x11f)]!==undefined?{'title':_0x38ad33[_0x3596f4(0x119)][_0x3596f4(0x11f)]}:{},..._0x38ad33['replacement']?{'content':_0x38ad33[_0x3596f4(0x10e)][_0x3596f4(0x11b)]}:{}};let _0x1015e6=![];try{const _0x190406=await updateEnterpriseKnowledgeBase(_0x23926c[_0x3596f4(0xfc)],_0xf70416);assertCompanyKnowledgeBase(_0x190406,_0x23926c[_0x3596f4(0x110)],_0x38ad33['patch']['id']);}catch(_0x56fa01){if(!isPlatformTransportFailure(_0x56fa01))throw _0x56fa01;_0x1015e6=!![];}const _0x5b7b67=await verifyKbMutationReadback('update',_0x1015e6,()=>requireKb(_0x23926c,_0x38ad33[_0x3596f4(0x119)]['id'])),_0x1db0e5=projectKb(_0x5b7b67),_0x582944=_0x38ad33['patch']['title']===undefined||_0x5b7b67[_0x3596f4(0x11f)]===_0x38ad33[_0x3596f4(0x119)]['title'],_0x444bc4=!_0x38ad33[_0x3596f4(0x10e)]||inspectKbContent(_0x5b7b67['content'])[_0x3596f4(0xfe)]===_0x38ad33[_0x3596f4(0x10e)][_0x3596f4(0xfe)],_0x3a14a1=!_0x38ad33['replacement']||_0x5b7b67[_0x3596f4(0x12b)]>_0x38ad33[_0x3596f4(0x11c)][_0x3596f4(0x12b)],_0x1d5343=!_0x1015e6||_0x38ad33[_0x3596f4(0x10e)]!==undefined||_0x38ad33[_0x3596f4(0x119)]['title']===undefined||_0x38ad33[_0x3596f4(0x11c)]['title']!==_0x38ad33[_0x3596f4(0x119)][_0x3596f4(0x11f)];if(!_0x582944||!_0x444bc4||!_0x3a14a1||!_0x1d5343)throw kbError(_0x1015e6?'kb_update_outcome_unknown':_0x3596f4(0x109),_0x3596f4(0x101)+_0x38ad33[_0x3596f4(0x119)]['id']+_0x3596f4(0xf5),'Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20'+_0x38ad33[_0x3596f4(0x119)]['id']+_0x3596f4(0x10c));const _0x51a449=[];return _0x38ad33[_0x3596f4(0x119)][_0x3596f4(0x113)]!==undefined&&_0x51a449['push'](NON_ATOMIC_WARNING),_0x1015e6&&_0x51a449[_0x3596f4(0x11a)](_0x3596f4(0x12a)),{'ok':!![],'data':{'operation':'update','selector':{'id':_0x1db0e5['id'],'scope':_0x3596f4(0x100),'appCode':_0x1db0e5[_0x3596f4(0x110)]},'before':_0x38ad33['before'],'after':_0x1db0e5,'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x51a449,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0x1015e6,'expectedVersion':_0x38ad33[_0x3596f4(0x119)][_0x3596f4(0x113)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x3596f4(0x102)+_0x1db0e5['id']+_0x3596f4(0xf9)}},'message':_0x3596f4(0x12f)+_0x1db0e5['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
- const a109_0x2681aa=a109_0x9ee3;function a109_0x9ee3(_0x4d264b,_0x2fcebc){_0x4d264b=_0x4d264b-0x1c2;const _0x4ab7f9=a109_0x4ab7();let _0x9ee3b4=_0x4ab7f9[_0x4d264b];return _0x9ee3b4;}function a109_0x4ab7(){const _0x2977c9=['\x20\x20\x20Time:\x20','41222WEVZfo','20595906xKxJed','details','readLogs','1762146uKDLfn','\x20\x20\x20Details:\x20','\x20\x20\x20Duration:\x20','warn','32aLIqln','show','stringify','read','*\x20Lovrabet\x20CLI\x20logs:\x0a','clearLogs','forEach','message','keys','*\x20Logs\x20cleared','duration','1193332gxjQDd','timestamp','toLocaleString','log','6507944UrcKMv','2345568DxjAAD','1105SSclIX','level','length','10208rIexRY','write','command','clear','en-US'];a109_0x4ab7=function(){return _0x2977c9;};return a109_0x4ab7();}(function(_0x369d4f,_0x3dccc7){const _0x16bdb6=a109_0x9ee3,_0x5da2cf=_0x369d4f();while(!![]){try{const _0x5d9f20=parseInt(_0x16bdb6(0x1c6))/0x1*(-parseInt(_0x16bdb6(0x1e0))/0x2)+-parseInt(_0x16bdb6(0x1c2))/0x3+-parseInt(_0x16bdb6(0x1da))/0x4*(-parseInt(_0x16bdb6(0x1d7))/0x5)+-parseInt(_0x16bdb6(0x1d6))/0x6+parseInt(_0x16bdb6(0x1d1))/0x7+-parseInt(_0x16bdb6(0x1d5))/0x8+parseInt(_0x16bdb6(0x1e1))/0x9;if(_0x5d9f20===_0x3dccc7)break;else _0x5da2cf['push'](_0x5da2cf['shift']());}catch(_0x3cdd32){_0x5da2cf['push'](_0x5da2cf['shift']());}}}(a109_0x4ab7,0x8b89b));import{logger}from'../../utils/logger.js';function printLogs(_0x1bdae1){const _0xfee405=a109_0x9ee3;if(_0x1bdae1[_0xfee405(0x1d9)]===0x0){console[_0xfee405(0x1d4)]('*\x20No\x20logs\x20found');return;}console['log'](_0xfee405(0x1ca)),_0x1bdae1[_0xfee405(0x1cc)]((_0x1f642b,_0x1ac80c)=>{const _0x20cc9f=_0xfee405,_0xe9e5ec=new Date(_0x1f642b[_0x20cc9f(0x1d2)])[_0x20cc9f(0x1d3)](_0x20cc9f(0x1de)),_0x29629a=_0x1f642b[_0x20cc9f(0x1d8)]==='success'?'√':_0x1f642b[_0x20cc9f(0x1d8)]==='error'?'×':_0x1f642b[_0x20cc9f(0x1d8)]===_0x20cc9f(0x1c5)?'!':'i';console[_0x20cc9f(0x1d4)](_0x1ac80c+0x1+'.\x20'+_0x29629a+'\x20['+_0x1f642b[_0x20cc9f(0x1dc)]+']\x20'+_0x1f642b[_0x20cc9f(0x1cd)]),console[_0x20cc9f(0x1d4)](_0x20cc9f(0x1df)+_0xe9e5ec),_0x1f642b['duration']&&console[_0x20cc9f(0x1d4)](_0x20cc9f(0x1c4)+_0x1f642b[_0x20cc9f(0x1d0)]+'ms'),_0x1f642b[_0x20cc9f(0x1e2)]&&Object[_0x20cc9f(0x1ce)](_0x1f642b[_0x20cc9f(0x1e2)])[_0x20cc9f(0x1d9)]>0x0&&console[_0x20cc9f(0x1d4)](_0x20cc9f(0x1c3)+JSON[_0x20cc9f(0x1c8)](_0x1f642b[_0x20cc9f(0x1e2)],null,0x2)),console[_0x20cc9f(0x1d4)]('');});}export const logsDefinitions=[{'service':'logs','command':a109_0x2681aa(0x1c7),'description':'View\x20command\x20history\x20logs','risk':a109_0x2681aa(0x1c9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x75950a){const _0x331057=a109_0x2681aa;return printLogs(logger[_0x331057(0x1e3)]()),{'ok':!![]};}},{'service':'logs','command':a109_0x2681aa(0x1dd),'description':'Clear\x20command\x20history\x20logs','risk':a109_0x2681aa(0x1db),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x39a56f){const _0xda9a85=a109_0x2681aa;return logger[_0xda9a85(0x1cb)](),console[_0xda9a85(0x1d4)](_0xda9a85(0x1cf)),{'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_0x336424=a110_0xdc00;(function(_0x1d3150,_0x4d3720){const _0x31030e=a110_0xdc00,_0x16e4c0=_0x1d3150();while(!![]){try{const _0x303e05=parseInt(_0x31030e(0x1d6))/0x1+-parseInt(_0x31030e(0x1b4))/0x2*(-parseInt(_0x31030e(0x1ee))/0x3)+-parseInt(_0x31030e(0x1ab))/0x4*(-parseInt(_0x31030e(0x1ea))/0x5)+parseInt(_0x31030e(0x1f1))/0x6*(-parseInt(_0x31030e(0x1b9))/0x7)+parseInt(_0x31030e(0x1e9))/0x8*(parseInt(_0x31030e(0x19f))/0x9)+-parseInt(_0x31030e(0x1d9))/0xa*(-parseInt(_0x31030e(0x1cb))/0xb)+-parseInt(_0x31030e(0x1f4))/0xc;if(_0x303e05===_0x4d3720)break;else _0x16e4c0['push'](_0x16e4c0['shift']());}catch(_0x2b5f66){_0x16e4c0['push'](_0x16e4c0['shift']());}}}(a110_0x18b4,0xe88b1));import a110_0x34de45 from'chalk';function a110_0xdc00(_0x53f414,_0x44e5d2){_0x53f414=_0x53f414-0x19e;const _0x18b457=a110_0x18b4();let _0xdc0042=_0x18b457[_0x53f414];return _0xdc0042;}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 a110_0x18b4(){const _0x11a142=['cyan','validation','\x20menu(s)\x20failed','appCode','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','4xolfEy','Failed\x20to\x20fetch\x20online\x20menu\x20list','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Menu\x20asset\x20update\x20completed:\x20','3751160VMFjek','Updated\x20','trim','Menu\x20asset\x20update\x20skipped','force','load-mode','cookie','\x20\x20Update\x20','✓\x20Menu\x20asset\x20update\x20completed:\x20','boolean','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','\x20menu(s)','replace','paths','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','bool','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','\x20menu(s)...','68596HISpJo','\x20updated,\x20','updated','\x20\x20Cancelled.','\x20failed.','appcode','isArray','fetch','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','object','split','211091LCHZdc','gray','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','1550TVxfYW','message','\x20menu\x20resource\x20set(s).','asset-update','import','patch','stringify','jsUrl','mode','rawFlags','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','write','\x20and\x20CSS:\x20','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','/smartapi/menu/update','script','6008BDmmXF','125215JxYRzs','Would\x20update\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','cssUrl','2387826Pmzvjm','label','\x20menu(s)\x20updated','6DtQVdq','diffs','POST','30709464UqfmkZ','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','str','length','isSafeInteger','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','menu-ids','9csxzYs','Menu\x20asset\x20update\x20failed','map','failed','string','\x20updated.','Online\x20menu\x20list\x20fetched','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','params','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20\x20Found\x20','parse','204BMIByi','skipped','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','all'];a110_0x18b4=function(){return _0x11a142;};return a110_0x18b4();}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':'menu','command':a110_0x336424(0x1dc),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a110_0x336424(0x1e4),'flags':[{'name':'params','type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1c7)+a110_0x336424(0x1f9)},{'name':'mode','type':a110_0x336424(0x1a3),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a110_0x336424(0x1b6),'enum':[a110_0x336424(0x1c5),'patch'],'default':'patch'},{'name':a110_0x336424(0x1bd),'type':a110_0x336424(0x1c2),'description':a110_0x336424(0x1d3)},{'name':a110_0x336424(0x19e),'type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1a8)},{'name':a110_0x336424(0x1c6),'type':a110_0x336424(0x1a3),'description':a110_0x336424(0x1a6)},{'name':a110_0x336424(0x1ae),'type':a110_0x336424(0x1c2),'description':a110_0x336424(0x1f5)},{'name':a110_0x336424(0x1be),'type':a110_0x336424(0x1a3),'enum':[a110_0x336424(0x1dd),'script',a110_0x336424(0x1d2)],'description':a110_0x336424(0x1e3)}],async 'dryRun'(_0x128acc){const _0x548dfc=a110_0x336424;ensureRunnableContext(_0x128acc[_0x548dfc(0x1e2)],_0x128acc['selectedAppName']);const _0x3911c8=await runMenuUpdateCore(_0x128acc[_0x548dfc(0x1b2)],_0x128acc['cookie'],_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1a7)),{'mode':parseMode(_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1e1))),'dryRun':!![],'force':_0x128acc[_0x548dfc(0x1c8)](_0x548dfc(0x1bd)),'selection':parseSelection(_0x128acc),'loadScriptMode':parseLoadScriptMode(_0x128acc[_0x548dfc(0x1f6)](_0x548dfc(0x1be)))});return{'method':_0x548dfc(0x1f3),'url':_0x548dfc(0x1e7),'body':_0x3911c8,'description':_0x3911c8['skipped']?_0x548dfc(0x1c3):_0x548dfc(0x1eb)+(_0x3911c8[_0x548dfc(0x1f2)]?.['length']??0x0)+_0x548dfc(0x1db)};},async 'execute'(_0x51a75b){const _0x5d53c3=a110_0x336424;ensureRunnableContext(_0x51a75b[_0x5d53c3(0x1e2)],_0x51a75b['selectedAppName']);const _0x345270=_0x51a75b[_0x5d53c3(0x1f6)](_0x5d53c3(0x1a7)),_0x2f663f=parseMode(_0x51a75b[_0x5d53c3(0x1f6)](_0x5d53c3(0x1e1))),_0x2f308f=_0x51a75b['bool'](_0x5d53c3(0x1bd)),_0x4359bf=parseLoadScriptMode(_0x51a75b['str'](_0x5d53c3(0x1be))),_0x46979d=parseParams(_0x345270),_0x2ff927=!!(_0x46979d[_0x5d53c3(0x1e0)]||_0x46979d[_0x5d53c3(0x1ed)]);if(_0x2ff927){const _0x45780d=await runMenuUpdateCore(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)],_0x345270,{'mode':_0x2f663f,'force':_0x2f308f,'selection':parseSelection(_0x51a75b),'loadScriptMode':_0x4359bf});return _0x45780d[_0x5d53c3(0x1ac)]?writeCliSideChannelLine(_0x5d53c3(0x1b3)):(writeCliSideChannelLine(_0x5d53c3(0x1c1)+_0x45780d[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1f0)),_0x45780d[_0x5d53c3(0x1a2)]>0x0&&writeCliSideChannelLine('!\x20'+_0x45780d[_0x5d53c3(0x1a2)]+_0x5d53c3(0x1b1))),{'ok':_0x45780d[_0x5d53c3(0x1a2)]===0x0,'data':_0x45780d,'message':_0x45780d[_0x5d53c3(0x1ac)]?_0x5d53c3(0x1bc):_0x5d53c3(0x1b8)+_0x45780d[_0x5d53c3(0x1cd)]+'\x20updated,\x20'+_0x45780d[_0x5d53c3(0x1a2)]+_0x5d53c3(0x1cf)};}requireInteractive();const _0xcc89c7=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x458459;try{_0x458459=await fetchOnlineMenuList(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)]),stopSpinner(_0xcc89c7,_0x5d53c3(0x1a5),!![]);}catch(_0x597fb7){stopSpinner(_0xcc89c7,_0x5d53c3(0x1b5),![]);throw CliErrors[_0x5d53c3(0x1b0)](_0x597fb7 instanceof Error?_0x597fb7['message']:_0x5d53c3(0x1b5));}const _0x2cfbd7=filterMenusWithResources(_0x458459),_0x662939=parseSelection(_0x51a75b,![]),_0x51c572=_0x662939?selectMenusForUpdate(_0x2cfbd7,_0x662939):_0x2cfbd7;if(_0x51c572[_0x5d53c3(0x1f7)]===0x0)return writeCliSideChannelLine(a110_0x34de45['yellow'](_0x5d53c3(0x1e6))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a110_0x34de45[_0x5d53c3(0x1af)](_0x5d53c3(0x1a9)+_0x51c572[_0x5d53c3(0x1f7)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0x51c572[_0x5d53c3(0x1a1)](_0x913a74=>_0x913a74[_0x5d53c3(0x1ef)]),[_0x46979d['jsUrl'],_0x46979d['cssUrl']])),writeCliSideChannelLine('');let _0x2d6dc4=_0x46979d[_0x5d53c3(0x1e0)],_0x5cad53=_0x46979d[_0x5d53c3(0x1ed)];!_0x2d6dc4&&(_0x2d6dc4=await askJsUrl());!_0x5cad53&&(_0x5cad53=await askCssUrl());const _0x1eea3d=await askConfirm(_0x5d53c3(0x1c0)+_0x51c572['length']+'\x20menu(s)\x20with\x20JS:\x20'+_0x2d6dc4+_0x5d53c3(0x1e5)+_0x5cad53+'?');if(!_0x1eea3d)return writeCliSideChannelLine(a110_0x34de45[_0x5d53c3(0x1d7)](_0x5d53c3(0x1ce))),{'ok':!![]};const _0x59d84f=startSpinner('Updating\x20'+_0x51c572[_0x5d53c3(0x1f7)]+_0x5d53c3(0x1ca));try{const _0x48f4f8=await runMenuUpdateCore(_0x51a75b[_0x5d53c3(0x1b2)],_0x51a75b[_0x5d53c3(0x1bf)],JSON[_0x5d53c3(0x1df)]({'jsUrl':_0x2d6dc4,'cssUrl':_0x5cad53}),{'mode':_0x2f663f,'force':_0x2f308f,'selection':{'all':![],'menuIds':_0x51c572[_0x5d53c3(0x1a1)](_0x2b7ea2=>_0x2b7ea2['id']),'paths':[]},'loadScriptMode':_0x4359bf});return stopSpinner(_0x59d84f,_0x5d53c3(0x1ba)+_0x48f4f8['updated']+_0x5d53c3(0x1c4),_0x48f4f8[_0x5d53c3(0x1a2)]===0x0),{'ok':_0x48f4f8['failed']===0x0,'data':_0x48f4f8,'message':_0x48f4f8['failed']>0x0?_0x5d53c3(0x1b8)+_0x48f4f8[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1cc)+_0x48f4f8[_0x5d53c3(0x1a2)]+'\x20failed.':_0x5d53c3(0x1b8)+_0x48f4f8[_0x5d53c3(0x1cd)]+_0x5d53c3(0x1a4)};}catch(_0xae7df6){stopSpinner(_0x59d84f,_0x5d53c3(0x1a0),![]);throw CliErrors[_0x5d53c3(0x1b0)](_0xae7df6 instanceof Error?_0xae7df6[_0x5d53c3(0x1da)]:_0x5d53c3(0x1a0));}}};function ensureRunnableContext(_0x32374b,_0x4e9308){const _0x56bb9f=a110_0x336424,_0x4b70dd=_0x32374b[_0x56bb9f(0x1d0)]?String(_0x32374b[_0x56bb9f(0x1d0)])[_0x56bb9f(0x1bb)]():'';if(!isInProject()&&!_0x4e9308&&!_0x4b70dd)throw CliErrors['validation'](_0x56bb9f(0x1d8)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x2f1f5e){const _0x1d330b=a110_0x336424;if(!_0x2f1f5e)return'patch';if(_0x2f1f5e===_0x1d330b(0x1c5)||_0x2f1f5e===_0x1d330b(0x1de))return _0x2f1f5e;throw CliErrors[_0x1d330b(0x1b0)](_0x1d330b(0x1b7));}function parseSelection(_0x59851f,_0x450460=!![]){const _0x5f2d09=a110_0x336424,_0x3e5f2e=_0x59851f[_0x5f2d09(0x1c8)](_0x5f2d09(0x1ae)),_0x18db66=parseMenuIds(_0x59851f[_0x5f2d09(0x1f6)](_0x5f2d09(0x19e))),_0x4ebadc=parseCsv(_0x59851f[_0x5f2d09(0x1f6)](_0x5f2d09(0x1c6))),_0x2ac427=_0x18db66[_0x5f2d09(0x1f7)]>0x0||_0x4ebadc['length']>0x0;if(_0x3e5f2e&&_0x2ac427)throw CliErrors[_0x5f2d09(0x1b0)](_0x5f2d09(0x1ec));if(!_0x3e5f2e&&!_0x2ac427){if(!_0x450460)return undefined;throw CliErrors[_0x5f2d09(0x1b0)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x3e5f2e,'menuIds':_0x18db66,'paths':_0x4ebadc};}function parseMenuIds(_0x1e8eb6){const _0xa351e2=a110_0x336424,_0x52a369=parseCsv(_0x1e8eb6),_0x1238b5=_0x52a369[_0xa351e2(0x1a1)](Number);if(_0x1238b5['some'](_0x58e96e=>!Number[_0xa351e2(0x1f8)](_0x58e96e)||_0x58e96e<=0x0))throw CliErrors[_0xa351e2(0x1b0)](_0xa351e2(0x1ad));return[...new Set(_0x1238b5)];}function parseCsv(_0x1cec19){const _0x22d0ad=a110_0x336424;return[...new Set(_0x1cec19[_0x22d0ad(0x1d5)](',')[_0x22d0ad(0x1a1)](_0x31d7cb=>_0x31d7cb[_0x22d0ad(0x1bb)]())['filter'](Boolean))];}function parseLoadScriptMode(_0x10b478){const _0x6b2345=a110_0x336424;if(!_0x10b478)return undefined;if(_0x10b478===_0x6b2345(0x1dd)||_0x10b478===_0x6b2345(0x1e8)||_0x10b478===_0x6b2345(0x1d2))return _0x10b478;throw CliErrors['validation'](_0x6b2345(0x1c9));}function parseParams(_0x3ea882){const _0x5455f5=a110_0x336424;if(!_0x3ea882)return{};try{const _0x40185c=JSON[_0x5455f5(0x1aa)](_0x3ea882);if(typeof _0x40185c!==_0x5455f5(0x1d4)||_0x40185c===null||Array[_0x5455f5(0x1d1)](_0x40185c))return{};return{'jsUrl':typeof _0x40185c[_0x5455f5(0x1e0)]===_0x5455f5(0x1a3)?_0x40185c[_0x5455f5(0x1e0)][_0x5455f5(0x1bb)]():undefined,'cssUrl':typeof _0x40185c[_0x5455f5(0x1ed)]===_0x5455f5(0x1a3)?_0x40185c[_0x5455f5(0x1ed)][_0x5455f5(0x1bb)]():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_0x2ff704=a111_0x54fb;(function(_0x1cac41,_0x4193c7){const _0x5e235c=a111_0x54fb,_0x2d9ff1=_0x1cac41();while(!![]){try{const _0x5285ee=parseInt(_0x5e235c(0x144))/0x1*(-parseInt(_0x5e235c(0xea))/0x2)+parseInt(_0x5e235c(0x127))/0x3*(parseInt(_0x5e235c(0x116))/0x4)+-parseInt(_0x5e235c(0x145))/0x5+-parseInt(_0x5e235c(0x139))/0x6*(-parseInt(_0x5e235c(0xec))/0x7)+-parseInt(_0x5e235c(0x112))/0x8*(-parseInt(_0x5e235c(0xdf))/0x9)+-parseInt(_0x5e235c(0xe5))/0xa*(parseInt(_0x5e235c(0x11b))/0xb)+-parseInt(_0x5e235c(0xe7))/0xc;if(_0x5285ee===_0x4193c7)break;else _0x2d9ff1['push'](_0x2d9ff1['shift']());}catch(_0x323d50){_0x2d9ff1['push'](_0x2d9ff1['shift']());}}}(a111_0x1c7c,0xc2081));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a111_0x54fb(_0x43c5e2,_0x58f7dd){_0x43c5e2=_0x43c5e2-0xd1;const _0x1c7c23=a111_0x1c7c();let _0x54fb68=_0x1c7c23[_0x43c5e2];return _0x54fb68;}const BACKEND=[{'method':a111_0x2ff704(0xe3),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x2ff704(0xe4)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x2ff704(0x130),'type':a111_0x2ff704(0x135),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a111_0x2ff704(0xdb),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a111_0x2ff704(0xfe),'type':a111_0x2ff704(0xdb),'description':a111_0x2ff704(0xf4)};export const menuDelete={'service':'menu','command':a111_0x2ff704(0x11f),'description':a111_0x2ff704(0xdd),'risk':a111_0x2ff704(0xda),'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'(_0x5bc566){const _0x58618a=a111_0x2ff704;_0x5bc566[_0x58618a(0xe0)]('dry-run')?validateDeleteDryRunInput(_0x5bc566):validateDeleteExecuteInput(_0x5bc566),requireExplicitYes(_0x5bc566);},async 'dryRun'(_0x1338b8){const _0x570bba=a111_0x2ff704;validateDeleteDryRunInput(_0x1338b8);const _0x2ca492=await buildDeletePlan(_0x1338b8),_0x503b81=createMenuDeletePlanFile(_0x1338b8[_0x570bba(0x128)],_0x2ca492),_0x4afca0=await writeMenuDeletePlan(_0x1338b8[_0x570bba(0x110)](_0x570bba(0xe2)),_0x503b81),_0x1087d6=mutationResult({..._0x2ca492,'planFile':{'path':_0x4afca0,'createdAt':_0x503b81[_0x570bba(0x12a)],'expiresAt':_0x503b81[_0x570bba(0x14f)]}});return menuDryRunResult(_0x1087d6,{'method':_0x570bba(0xe3),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1087d6[_0x570bba(0x138)]},'description':_0x570bba(0xeb)+(_0x1087d6[_0x570bba(0x138)]?.[_0x570bba(0x125)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x1087d6[_0x570bba(0x101)]['id']+_0x570bba(0xd3)+_0x4afca0+'.'});},async 'execute'(_0x31cf65){const _0x12af47=a111_0x2ff704;requireExplicitYes(_0x31cf65),validateDeleteExecuteInput(_0x31cf65);const _0x33b9af=await readMenuDeletePlan(_0x31cf65[_0x12af47(0x110)](_0x12af47(0xfe))),_0x50fafd=mutationPlanFromDeleteFile(_0x33b9af[_0x12af47(0xfe)],_0x33b9af[_0x12af47(0xed)]),_0x17747a=_0x33b9af[_0x12af47(0xfe)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x33b9af[_0x12af47(0xfe)],_0x31cf65[_0x12af47(0x128)]);}catch(_0x57ef18){throw menuFailure(asMenuError(_0x57ef18),_0x50fafd,{'stage':_0x12af47(0x13b),'failed':{'id':_0x17747a}});}let _0x564cd6,_0x1374c6;try{_0x564cd6=await fetchMutationSnapshot(_0x31cf65,'execute\x20reviewed\x20delete\x20plan',_0x17747a),_0x1374c6=assertMenuDeletePlanCurrent(_0x33b9af['plan'],_0x31cf65[_0x12af47(0x128)],_0x564cd6),assertDeleteTargetsComplete(_0x33b9af[_0x12af47(0xfe)],_0x564cd6),_0x1374c6[_0x12af47(0x149)](_0xdad8d4=>assertDeleteSafety(_0xdad8d4,_0x33b9af['plan']['recursive'])),assertNoSharedPages(_0x564cd6,_0x1374c6),assertCascadeMatchesPlan(_0x50fafd,_0x1374c6);}catch(_0x62391d){throw menuFailure(asMenuError(_0x62391d),_0x50fafd,{'stage':'pre-write-plan-validation','failed':{'id':_0x17747a}});}const _0x5d9265=_0x33b9af[_0x12af47(0xfe)][_0x12af47(0x138)];let _0x471165;try{_0x471165=await batchDeleteMenuEntities(_0x31cf65['cookie'],_0x5d9265);}catch(_0xb46623){const _0x8c8be3=mapMenuApiError(_0xb46623,_0x12af47(0xd5)),_0x5bf77f=[_0x12af47(0x11e)];let _0x2f9bf1;try{_0x2f9bf1=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x2ae39d){const _0x2ccdd3=describeMenuErrorCause(_0x2ae39d,_0x12af47(0x111),_0x17747a);_0x5bf77f[_0x12af47(0xf7)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x2ccdd3[_0x12af47(0x11a)]+_0x12af47(0x104)+_0x2ccdd3[_0x12af47(0x10c)]);throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'failed':{'targetIds':_0x5d9265,'targetIdsAbsent':_0x12af47(0x134),..._0x2ccdd3},'warnings':_0x5bf77f,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x2f9bf1[_0x12af47(0x100)][_0x12af47(0x123)](_0x42371a=>({'id':_0x42371a,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'absentIds':_0x2f9bf1[_0x12af47(0x100)],'remainingIds':_0x2f9bf1[_0x12af47(0x122)]},'warnings':_0x5bf77f,'verification':verificationFromOutcome(_0x2f9bf1)});}if(_0x471165!==_0x5d9265[_0x12af47(0x125)]){const _0x2094b7=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x471165+_0x12af47(0xd4)+_0x5d9265[_0x12af47(0x125)]+'.',_0x12af47(0x132)),_0x135283=[_0x12af47(0xd6)];let _0x12920f;try{_0x12920f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0xb05570){const _0x3eeeca=describeMenuErrorCause(_0xb05570,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x17747a);_0x135283[_0x12af47(0xf7)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x3eeeca['causeCode']+_0x12af47(0x104)+_0x3eeeca[_0x12af47(0x10c)]);throw menuFailure(_0x2094b7,_0x50fafd,{'stage':'batch-delete','failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'targetIdsAbsent':_0x12af47(0x134),..._0x3eeeca},'warnings':_0x135283,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x2094b7,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x12920f[_0x12af47(0x100)][_0x12af47(0x123)](_0x1d8226=>({'id':_0x1d8226,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'absentIds':_0x12920f[_0x12af47(0x100)],'remainingIds':_0x12920f[_0x12af47(0x122)]},'warnings':_0x135283,'verification':verificationFromOutcome(_0x12920f)});}let _0x54062f;try{_0x54062f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x4967e2){const _0x861db6=describeMenuErrorCause(_0x4967e2,'verify\x20batch\x20delete',_0x17747a),_0x5138b4=asVerificationError(_0x4967e2,_0x12af47(0x13a)+_0x17747a+_0x12af47(0xd2));throw menuFailure(_0x5138b4,_0x50fafd,{'stage':_0x12af47(0x14e),'succeeded':_0x5d9265[_0x12af47(0x123)](_0x1c7306=>({'id':_0x1c7306,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'targetIdsAbsent':'unconfirmed',..._0x861db6},'warnings':[_0x12af47(0xfd)],'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}if(_0x54062f['remainingIds'][_0x12af47(0x125)]>0x0){const _0x1efe92=menuError('menu_verification_failed',_0x12af47(0xfa)+_0x54062f[_0x12af47(0x122)]['join'](',\x20')+'.',_0x12af47(0x132));throw menuFailure(_0x1efe92,_0x50fafd,{'stage':'verification','succeeded':_0x5d9265[_0x12af47(0x123)](_0x2bf844=>({'id':_0x2bf844,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'absentIds':_0x54062f['absentIds'],'remainingIds':_0x54062f[_0x12af47(0x122)]},'warnings':[_0x12af47(0xf5)],'verification':verificationFromOutcome(_0x54062f)});}const _0x5a4b98=_0x5d9265[_0x12af47(0x123)](_0x2b69d5=>({'id':_0x2b69d5,'deleted':!![]})),_0x32b3de=mutationResult({..._0x50fafd,'dryRun':![],'succeeded':_0x5a4b98,'verification':{'checkedBy':_0x12af47(0x143),'plannedSnapshotHash':_0x50fafd['snapshotHash'],'finalSnapshotHash':_0x54062f[_0x12af47(0x137)][_0x12af47(0x103)],'reportedDeletedCount':_0x471165,'targetAbsent':!_0x54062f[_0x12af47(0x137)][_0x12af47(0x114)][_0x12af47(0xe1)](_0x17747a),'allTargetsAbsent':!![],'targetIds':_0x5d9265}});return{'ok':!![],'data':_0x32b3de,'message':_0x12af47(0x126)+_0x5a4b98[_0x12af47(0x125)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x17747a+'.'};}};async function readDeleteOutcome(_0xb9d9d8,_0x30988a){const _0x43880b=a111_0x2ff704,_0x25f99b=await fetchMenuSnapshot(_0xb9d9d8[_0x43880b(0x128)],_0xb9d9d8[_0x43880b(0xfb)]);return{'snapshot':_0x25f99b,'absentIds':_0x30988a[_0x43880b(0x106)](_0x4f9172=>!_0x25f99b[_0x43880b(0x114)][_0x43880b(0xe1)](_0x4f9172)),'remainingIds':_0x30988a[_0x43880b(0x106)](_0x5d25b6=>_0x25f99b['byId'][_0x43880b(0xe1)](_0x5d25b6))};}function verificationFromOutcome(_0x2efdca){const _0x36eba0=a111_0x2ff704;return{'checkedBy':_0x36eba0(0x143),'absentIds':_0x2efdca[_0x36eba0(0x100)],'remainingIds':_0x2efdca[_0x36eba0(0x122)]};}function validateDeleteDryRunInput(_0xc17e83){const _0x27ef3f=a111_0x2ff704;validateExactId(_0xc17e83);if(!hasFlag(_0xc17e83,_0x27ef3f(0xe2))||!_0xc17e83[_0x27ef3f(0x110)](_0x27ef3f(0xe2))['trim']())throw CliErrors[_0x27ef3f(0x105)]('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0xc17e83,_0x27ef3f(0xfe)))throw CliErrors['validation'](_0x27ef3f(0x107));}function validateDeleteExecuteInput(_0x17ed2d){const _0x37f000=a111_0x2ff704;if(!hasFlag(_0x17ed2d,_0x37f000(0xfe))||!_0x17ed2d['str'](_0x37f000(0xfe))[_0x37f000(0x14c)]())throw CliErrors[_0x37f000(0x105)](_0x37f000(0xfe),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x6faf86=['id',_0x37f000(0x130),'plan-out',_0x37f000(0xdc),_0x37f000(0xd9),_0x37f000(0x136)][_0x37f000(0x106)](_0x1259d4=>hasFlag(_0x17ed2d,_0x1259d4));if(_0x6faf86[_0x37f000(0x125)]>0x0)throw CliErrors[_0x37f000(0x108)](_0x37f000(0x147)+_0x6faf86['map'](_0x1692ff=>'--'+_0x1692ff)['join'](',\x20')+'.');}async function buildDeletePlan(_0x2443da){const _0x5594d2=a111_0x2ff704,_0x24d722=validateExactId(_0x2443da),_0xf619f9=await fetchMutationSnapshot(_0x2443da,_0x5594d2(0x113),_0x24d722),_0x5b9ce7=requireMenu(_0xf619f9,_0x24d722);assertExpectedState(_0x2443da,_0x5b9ce7);const _0x3a8a99=_0x2443da[_0x5594d2(0xe0)](_0x5594d2(0x130));let _0x7610b6;if(_0x3a8a99){if(_0x5b9ce7['type'][_0x5594d2(0x14c)]()[_0x5594d2(0xfc)]()!==_0x5594d2(0xff))throw menuError(_0x5594d2(0xde),'Menu\x20'+_0x5b9ce7['id']+_0x5594d2(0x11c)+(_0x5b9ce7[_0x5594d2(0x12f)]||_0x5594d2(0xe6))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x7610b6=collectDeleteTargets(_0xf619f9,_0x5b9ce7),_0x7610b6['forEach'](_0x2ffd5b=>assertDeleteSafety(_0x2ffd5b,!![]));}else assertDeleteSafety(_0x5b9ce7),_0x7610b6=[_0x5b9ce7];assertNoSharedPages(_0xf619f9,_0x7610b6);const _0x50975f=_0x7610b6['map'](_0x41341f=>_0x41341f['id']),_0x49ae53=cascadeForTargets(_0x7610b6),_0x346e1e=_0x49ae53[_0x5594d2(0x119)][_0x5594d2(0x125)]>0x0?[_0x5594d2(0xf6)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x24d722,'recursive':_0x3a8a99},'before':_0x5b9ce7,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5594d2(0xe8),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x50975f}}],'targets':_0x7610b6,'deleteOrder':_0x50975f,'snapshotHash':_0xf619f9[_0x5594d2(0x103)],'cascade':_0x49ae53,'warnings':_0x346e1e});}function assertDeleteSafety(_0x3694fb,_0x193cd0=![]){const _0x1368ca=a111_0x2ff704,_0x4d7c0f=_0x3694fb[_0x1368ca(0x12f)]['trim']()[_0x1368ca(0xfc)]()===_0x1368ca(0xff);if(_0x3694fb['childrenCount']>0x0&&(!_0x193cd0||!_0x4d7c0f))throw menuError(_0x1368ca(0xe9),_0x1368ca(0x129)+_0x3694fb['id']+_0x1368ca(0xf3)+_0x3694fb[_0x1368ca(0x121)]+_0x1368ca(0x120),_0x1368ca(0x13c)+_0x3694fb['childrenIds'][_0x1368ca(0xd7)](',\x20'));if(_0x4d7c0f&&_0x3694fb['pageId']!=null)throw menuError(_0x1368ca(0x124),'Folder\x20'+_0x3694fb['id']+_0x1368ca(0x13e)+_0x3694fb[_0x1368ca(0x12b)]+_0x1368ca(0x11d),_0x1368ca(0xd8));if(!_0x4d7c0f)return;if(!_0x3694fb[_0x1368ca(0x13d)])throw menuError(_0x1368ca(0x109),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x133),_0x1368ca(0x10a));if(_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]>0x0)throw menuError(_0x1368ca(0x14d),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x10f)+_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]+_0x1368ca(0xf8),_0x1368ca(0xf0));}function collectDeleteTargets(_0x43f110,_0x52750a){const _0x128b25=[],_0x27e845=new Set(),_0x64d78e=new Set(),_0x25a7d0=_0xaa4f82=>{const _0x144ee8=a111_0x54fb;if(_0x27e845[_0x144ee8(0xe1)](_0xaa4f82['id']))throw menuError(_0x144ee8(0x12e),_0x144ee8(0x146)+_0xaa4f82['id']+'.');if(_0x64d78e[_0x144ee8(0xe1)](_0xaa4f82['id']))return;_0x27e845['add'](_0xaa4f82['id']);for(const _0x2416e1 of _0xaa4f82[_0x144ee8(0x118)]){const _0x478b82=_0x43f110[_0x144ee8(0x114)][_0x144ee8(0x14b)](_0x2416e1);if(!_0x478b82)throw menuError(_0x144ee8(0x12e),_0x144ee8(0x129)+_0xaa4f82['id']+'\x20references\x20missing\x20child\x20'+_0x2416e1+'.');_0x25a7d0(_0x478b82);}_0x27e845['delete'](_0xaa4f82['id']),_0x64d78e[_0x144ee8(0x10b)](_0xaa4f82['id']),_0x128b25[_0x144ee8(0xf7)](_0xaa4f82);};return _0x25a7d0(_0x52750a),_0x128b25;}function assertDeleteTargetsComplete(_0x4a5af6,_0x3c5549){const _0x4b26cb=a111_0x2ff704,_0x532b56=requireMenu(_0x3c5549,_0x4a5af6[_0x4b26cb(0xf1)]['id']);if(_0x4a5af6['recursive']&&_0x532b56[_0x4b26cb(0x12f)][_0x4b26cb(0x14c)]()[_0x4b26cb(0xfc)]()!==_0x4b26cb(0xff))throw menuError('menu_plan_invalid','Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x532b56['id']+_0x4b26cb(0x12d));const _0x5dd84b=_0x4a5af6[_0x4b26cb(0x130)]?collectDeleteTargets(_0x3c5549,_0x532b56)['map'](_0x3d193b=>_0x3d193b['id']):[_0x532b56['id']];if(JSON[_0x4b26cb(0x115)](_0x4a5af6[_0x4b26cb(0x138)])!==JSON[_0x4b26cb(0x115)](_0x5dd84b))throw menuError(_0x4b26cb(0x142),_0x4b26cb(0xd1),_0x4b26cb(0x148));}function assertNoSharedPages(_0x13f2de,_0xede579){const _0x16c694=a111_0x2ff704,_0x3381ae=new Set(_0xede579[_0x16c694(0x123)](_0x38171b=>_0x38171b['id'])),_0x59c2e7=new Set(_0xede579[_0x16c694(0x123)](_0x66837a=>_0x66837a[_0x16c694(0x12b)])[_0x16c694(0x106)](_0x1b5eb0=>_0x1b5eb0!=null));if(_0x59c2e7[_0x16c694(0x102)]===0x0)return;const _0x46c50b=_0x13f2de[_0x16c694(0x117)][_0x16c694(0x106)](_0x63f81c=>!_0x3381ae[_0x16c694(0xe1)](_0x63f81c['id'])&&_0x63f81c[_0x16c694(0x12b)]!=null&&_0x59c2e7['has'](_0x63f81c['pageId']));if(_0x46c50b[_0x16c694(0x125)]===0x0)return;const _0x3b5df5=_0x46c50b[_0x16c694(0x123)](_0x1deb50=>_0x16c694(0xef)+_0x1deb50['pageId']+_0x16c694(0xf9)+_0x1deb50['id'])[_0x16c694(0xd7)](',\x20');throw menuError(_0x16c694(0x141),_0x16c694(0x131)+_0x3b5df5+'.',_0x16c694(0x13f));}function a111_0x1c7c(){const _0x245d34=['Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','unconfirmed','boolean','expected-children-count','snapshot','deleteOrder','78rtEPxY','Batch\x20delete\x20request\x20for\x20menu\x20','plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','resourcesValid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','resources','menu_page_shared','menu_plan_invalid','menu\x20list','11osciJE','590450PIdMWS','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','forEach','batch-delete','get','trim','menu_folder_has_resources','verification','expiresAt','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence',';\x20execution\x20must\x20consume\x20','\x20deleted\x20menus;\x20expected\x20','batch\x20delete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','join','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','expect-path','high-risk-write','string','expect-parent-id','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_recursive_requires_folder','9SDkoCo','bool','has','plan-out','POST','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','15310IXsqNK','unknown','26603556MbnLtk','batch-delete-menu','menu_non_empty','88580WupcFE','Would\x20batch\x20delete\x20','788039SiUfLr','path','indexOf','page\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','target','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','\x20has\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','push','\x20resource\x20URL(s).','\x20->\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','cookie','toLowerCase','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','plan','folder','absentIds','selector','size','hash','):\x20','flagMissing','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','validation','menu_folder_resources_invalid','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','add','causeMessage','failed','Folder\x20','\x20still\x20references\x20','str','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','12552872fcLGnR','plan\x20delete','byId','stringify','3692OXFDpB','menus','childrenIds','pages','causeCode','3421yLJWsA','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','delete','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','childrenCount','remainingIds','map','menu_delete_page_bound','length','Deleted\x20','3447qnXdCC','appCode','Menu\x20','createdAt','pageId','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','menu_tree_invalid','type','recursive','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'];a111_0x1c7c=function(){return _0x245d34;};return a111_0x1c7c();}function assertCascadeMatchesPlan(_0x57aa38,_0x4c2728){const _0x22e501=a111_0x2ff704,_0x242c4b=cascadeForTargets(_0x4c2728);if(JSON[_0x22e501(0x115)](_0x57aa38['cascade'])!==JSON[_0x22e501(0x115)](_0x242c4b))throw menuError(_0x22e501(0x142),_0x22e501(0xf2));}function cascadeForTargets(_0x42d2d1){const _0x110b4c=a111_0x2ff704,_0x20e882=_0x42d2d1[_0x110b4c(0x123)](_0x37ac3f=>_0x37ac3f[_0x110b4c(0x12b)])['filter'](_0x4eecea=>_0x4eecea!=null)[_0x110b4c(0x106)]((_0x4d6bd3,_0x4c1df7,_0x171fb6)=>_0x171fb6[_0x110b4c(0xee)](_0x4d6bd3)===_0x4c1df7);return{'pages':_0x20e882,'pageSchemaAffected':_0x20e882[_0x110b4c(0x125)]>0x0};}function asMenuError(_0x1afc31){const _0x168380=a111_0x2ff704;return _0x1afc31 instanceof CliError?_0x1afc31:menuError(_0x168380(0x142),_0x1afc31 instanceof Error?_0x1afc31['message']:String(_0x1afc31));}
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_0x3cfc30=a112_0x5b33;(function(_0x4c258a,_0x50ece1){const _0x148c01=a112_0x5b33,_0x48b0b4=_0x4c258a();while(!![]){try{const _0x30a7a8=-parseInt(_0x148c01(0x96))/0x1*(-parseInt(_0x148c01(0xb7))/0x2)+parseInt(_0x148c01(0x94))/0x3*(-parseInt(_0x148c01(0x87))/0x4)+parseInt(_0x148c01(0x93))/0x5+-parseInt(_0x148c01(0xbf))/0x6*(parseInt(_0x148c01(0xa4))/0x7)+-parseInt(_0x148c01(0xb8))/0x8*(parseInt(_0x148c01(0x7d))/0x9)+parseInt(_0x148c01(0x8c))/0xa+-parseInt(_0x148c01(0xb4))/0xb*(-parseInt(_0x148c01(0x88))/0xc);if(_0x30a7a8===_0x50ece1)break;else _0x48b0b4['push'](_0x48b0b4['shift']());}catch(_0x13f727){_0x48b0b4['push'](_0x48b0b4['shift']());}}}(a112_0x449b,0x73ed8));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_0x3cfc30(0xe5),'new-window':a112_0x3cfc30(0x83)};export function validateExternalMenuUrl(_0x43d2f3){const _0x2885a4=a112_0x3cfc30,_0x3e5338=_0x43d2f3[_0x2885a4(0xd6)]();let _0x20d9af;try{_0x20d9af=new URL(_0x3e5338);}catch{throw menuError(_0x2885a4(0xa8),_0x2885a4(0x75),_0x2885a4(0x7b));}if(_0x20d9af['protocol']!==_0x2885a4(0xcd))throw menuError(_0x2885a4(0xec),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x2885a4(0xfa));if(_0x20d9af[_0x2885a4(0xfb)]||_0x20d9af[_0x2885a4(0xd0)])throw menuError(_0x2885a4(0xb6),_0x2885a4(0xab),_0x2885a4(0x89));return _0x3e5338;}export const menuExternalLinkCreate={'service':a112_0x3cfc30(0x84),'command':a112_0x3cfc30(0xb0),'description':a112_0x3cfc30(0xa7),'risk':a112_0x3cfc30(0x85),'structuredErrors':!![],'flags':[{'name':a112_0x3cfc30(0xeb),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xf5)},{'name':a112_0x3cfc30(0x91),'type':a112_0x3cfc30(0xef),'required':!![],'enum':[a112_0x3cfc30(0xe3),a112_0x3cfc30(0x78)],'description':a112_0x3cfc30(0xe8)},{'name':a112_0x3cfc30(0xce),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xed)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3cfc30(0x74),'type':a112_0x3cfc30(0x99),'default':!![],'description':a112_0x3cfc30(0xe6)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57bd43){validateAddInput(_0x57bd43);},async 'dryRun'(_0x45ded0){const _0x2d9919=a112_0x3cfc30;validateAddInput(_0x45ded0);const {plan:_0x387f18}=await buildSafeAddPlan(_0x45ded0,!![]),_0x3e2d3d=_0x387f18[_0x2d9919(0x9e)],_0x5287f9=createBody(_0x3e2d3d);return menuDryRunResult(_0x387f18,{'method':_0x2d9919(0xc2),'url':_0x2d9919(0xc4),'body':_0x5287f9,'description':_0x2d9919(0xf8)+JSON['stringify'](_0x3e2d3d['label'])+'\x20with\x20'+_0x45ded0[_0x2d9919(0xcc)](_0x2d9919(0x91))+_0x2d9919(0xdd)});},async 'execute'(_0x55bc35){const _0xfcc812=a112_0x3cfc30;validateAddInput(_0x55bc35);const _0x3655c7=await buildSafeAddPlan(_0x55bc35,![]),{plan:_0x44b16d,snapshot:_0x3b5c4b}=_0x3655c7,_0x2e8c24=_0x44b16d[_0xfcc812(0x9e)],_0x320e92=buildMenuLookupCommand(_0x55bc35[_0xfcc812(0xc9)]);await recheckAddSnapshot(_0x55bc35,_0x44b16d);let _0x3b20e0;try{_0x3b20e0=await createMenuEntity(_0x55bc35[_0xfcc812(0xc9)],_0x55bc35[_0xfcc812(0x90)],createBody(_0x2e8c24));}catch(_0x1b93c2){const _0x590fb8=mapMenuApiError(_0x1b93c2,_0xfcc812(0x6a));if(!isMenuResponseLoss(_0x1b93c2)||_0x590fb8['code']===_0xfcc812(0xad))throw externalLinkCreateFailure(_0x590fb8,_0x44b16d,{'stage':_0xfcc812(0xb2),'failed':{},'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92}});return recoverAfterResponseLoss(_0x55bc35,_0x3655c7,_0x320e92);}const _0x195784=Number(_0x3b20e0?.['id']),_0x1210f4=typeof _0x3b20e0?.[_0xfcc812(0x8a)]===_0xfcc812(0xef)?_0x3b20e0[_0xfcc812(0x8a)]:'';if(!Number[_0xfcc812(0xdc)](_0x195784)||_0x195784<=0x0||!_0x1210f4[_0xfcc812(0xd6)]()){const _0x5e5e3d=menuError(_0xfcc812(0xf9),_0xfcc812(0xde),_0xfcc812(0xaf)+_0x320e92+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5e5e3d,_0x44b16d,{'stage':_0xfcc812(0x6b),'succeeded':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?[{'id':_0x195784,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x195784)?_0x195784:null,'generatedPathConfirmed':Boolean(_0x1210f4[_0xfcc812(0xd6)]())},'warnings':[_0xfcc812(0xe2)],'after':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?{..._0x2e8c24,'id':_0x195784,'path':_0x1210f4}:_0x2e8c24,'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92,...Number['isSafeInteger'](_0x195784)&&_0x195784>0x0?{'targetId':_0x195784}:{}}});}const _0x460658=await readAndVerifyCreatedMenu({'appCode':_0x55bc35[_0xfcc812(0xc9)],'cookie':_0x55bc35[_0xfcc812(0x90)],'plan':_0x44b16d,'afterPlan':_0x2e8c24,'createdId':_0x195784,'expectedPath':_0x1210f4,'lookupCommand':_0x320e92,'recovered':![]});return creationSuccess(_0x44b16d,_0x460658['snapshot'],_0x460658[_0xfcc812(0xa1)],![]);}};function validateAddInput(_0x7e6261){const _0x2b6f0e=a112_0x3cfc30;if(!_0x7e6261[_0x2b6f0e(0xcc)](_0x2b6f0e(0xeb))['trim']())throw CliErrors[_0x2b6f0e(0xdf)]('label');resolveExternalMenuType(_0x7e6261),validateExternalMenuUrl(_0x7e6261['str'](_0x2b6f0e(0xce))),parseParentId(_0x7e6261,'parent-id'),validateSort(_0x7e6261);}function resolveExternalMenuType(_0x5aa6c8){const _0x44bb0c=a112_0x3cfc30,_0x578e9b=_0x5aa6c8[_0x44bb0c(0xcc)](_0x44bb0c(0x91))[_0x44bb0c(0xd6)]();if(!_0x578e9b)throw CliErrors[_0x44bb0c(0xdf)](_0x44bb0c(0x91));const _0x30cdbd=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x578e9b];if(!_0x30cdbd)throw menuError('menu_open_mode_invalid',_0x44bb0c(0x6e),_0x44bb0c(0xd2));return _0x30cdbd;}async function buildAddPlan(_0x2135ca,_0x2dcadf){const _0x522a03=a112_0x3cfc30,_0x217d26=await fetchMutationSnapshot(_0x2135ca,_0x522a03(0x6a)),_0x1c019d=parseParentId(_0x2135ca,_0x522a03(0x6f))??null;if(_0x1c019d!=null)requireFolder(_0x217d26,_0x1c019d);const _0x9283d0=validateSort(_0x2135ca),_0x4a897a=_0x9283d0??nextSiblingSort(_0x217d26,_0x1c019d,'menu'),_0x33da11=_0x2135ca[_0x522a03(0xcc)](_0x522a03(0xeb))[_0x522a03(0xd6)](),_0x1514a3=resolveExternalMenuType(_0x2135ca),_0x3f9a8f=validateExternalMenuUrl(_0x2135ca[_0x522a03(0xcc)]('url')),_0x2f8445=Object[_0x522a03(0xe7)]['hasOwnProperty'][_0x522a03(0xa5)](_0x2135ca[_0x522a03(0x95)],_0x522a03(0x74))?_0x2135ca[_0x522a03(0xa9)](_0x522a03(0x74)):!![],_0x1be884={'id':null,'parentId':_0x1c019d,'label':_0x33da11,'path':_0x522a03(0xdb),'url':_0x3f9a8f,'type':_0x1514a3,'visible':_0x2f8445,'sort':_0x4a897a},_0x56e050=buildMenuLookupCommand(_0x2135ca[_0x522a03(0xc9)]),_0x397c69=mutationResult({'operation':_0x522a03(0xc3),'selector':{'parentId':_0x1c019d,'type':_0x1514a3,'label':_0x33da11,'url':_0x3f9a8f},'before':null,'after':_0x1be884,'dryRun':_0x2dcadf,'backend':[{'method':_0x522a03(0xc2),'path':_0x522a03(0xc4)}],'plannedActions':[{'stage':_0x522a03(0x7a),'method':'POST','path':'/smartapi/menu/create','body':createBody(_0x1be884)}],'snapshotHash':_0x217d26['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x56e050}});return{'plan':_0x397c69,'snapshot':_0x217d26};}async function buildSafeAddPlan(_0x420393,_0x289f45){try{return await buildAddPlan(_0x420393,_0x289f45);}catch(_0x2a66eb){throw safeMenuAddError(_0x2a66eb);}}function a112_0x5b33(_0x438b70,_0x372207){_0x438b70=_0x438b70-0x69;const _0x449b1d=a112_0x449b();let _0x5b33e5=_0x449b1d[_0x438b70];return _0x5b33e5;}async function recheckAddSnapshot(_0x10e3ea,_0x5a0cfa){const _0x206edf=a112_0x3cfc30;try{await recheckMutationSnapshot(_0x10e3ea,_0x5a0cfa,_0x206edf(0x6a));}catch(_0x28876b){const _0x370de7=getFailureRecord(_0x28876b);throw externalLinkCreateFailure(_0x28876b,_0x5a0cfa,{'stage':_0x206edf(0x9b),'failed':{..._0x370de7?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x370de7['expectedSnapshotHash']}:{},..._0x370de7?.[_0x206edf(0xe0)]?{'currentSnapshotHash':_0x370de7[_0x206edf(0xe0)]}:{}}});}}function createBody(_0x5531e4){const _0x43f470=a112_0x3cfc30;return{'parentId':toApiParentId(_0x5531e4['parentId']),'label':String(_0x5531e4[_0x43f470(0xeb)]),'type':String(_0x5531e4['type']),'url':String(_0x5531e4[_0x43f470(0xce)]),'visible':Boolean(_0x5531e4[_0x43f470(0x74)]),'sort':Number(_0x5531e4['sort']),'extend':{}};}function buildMenuLookupCommand(_0x1f3a34){const _0x5afebf=a112_0x3cfc30,_0x52c25a='\x27'+_0x1f3a34[_0x5afebf(0xac)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x5afebf(0xaa)+_0x52c25a+_0x5afebf(0xf1);}async function recoverAfterResponseLoss(_0x467012,_0x2d77ce,_0x7171b1){const _0x40a067=a112_0x3cfc30,{plan:_0x51a305,snapshot:_0x8024ea}=_0x2d77ce,_0x1b0feb=_0x51a305[_0x40a067(0x9e)];let _0x511abf;try{_0x511abf=await fetchMenuSnapshot(_0x467012['appCode'],_0x467012[_0x40a067(0x90)]);}catch(_0x57722c){throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20f6e6=_0x511abf['menus'][_0x40a067(0xd5)](_0x5b142d=>_0x5b142d[_0x40a067(0x98)]===_0x1b0feb[_0x40a067(0x98)]&&_0x5b142d[_0x40a067(0xb9)]===_0x1b0feb['type']&&_0x5b142d[_0x40a067(0xeb)]===_0x1b0feb[_0x40a067(0xeb)]&&_0x5b142d[_0x40a067(0xce)]===_0x1b0feb[_0x40a067(0xce)]),_0x41a0b6=_0x20f6e6[_0x40a067(0xd5)](_0x14ffab=>!_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x14ffab['id'])),_0x49f7f6=_0x20f6e6[_0x40a067(0xd5)](_0x18d306=>_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x18d306['id']));if(_0x20f6e6['length']!==0x1||_0x41a0b6[_0x40a067(0xe1)]!==0x1)throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':_0x20f6e6[_0x40a067(0xe1)],'newMatchCount':_0x41a0b6[_0x40a067(0xe1)],'preexistingMatchCount':_0x49f7f6[_0x40a067(0xe1)]});const _0x51e124=_0x41a0b6[0x0];try{verifyCreatedFact(_0x51e124,_0x51e124['id'],_0x1b0feb,null);}catch(_0x3edd2b){const _0x133a58=_0x3edd2b instanceof Error&&'code'in _0x3edd2b?_0x3edd2b:menuError(_0x40a067(0xb1),'Recovered\x20menu\x20'+_0x51e124['id']+_0x40a067(0xf2),'Run\x20'+_0x7171b1+_0x40a067(0xe4));throw externalLinkCreateFailure(_0x133a58,_0x51a305,{'stage':'verification','succeeded':[{'id':_0x51e124['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x51e124['id'],'finalFactsConfirmed':![]},'after':_0x51e124,'warnings':[_0x40a067(0xbc)+_0x51e124['id']+_0x40a067(0x9f)],'verification':{'status':_0x40a067(0x7f),'targetId':_0x51e124['id'],'recovered':!![],'lookupCommand':_0x7171b1}});}return creationSuccess(_0x51a305,_0x511abf,_0x51e124,!![]);}function recoveryRequiredFailure(_0xb48c15,_0x3ec3a1,_0x59546f){const _0x27c0ae=a112_0x3cfc30,_0x45c643=menuError(_0x27c0ae(0xc0),_0x27c0ae(0x7e),_0x27c0ae(0xaf)+_0x3ec3a1+_0x27c0ae(0xcb));return externalLinkCreateFailure(_0x45c643,_0xb48c15,{'stage':_0x27c0ae(0x8f),'failed':_0x59546f,'warnings':[_0x27c0ae(0xd7)],'verification':{'status':_0x27c0ae(0x7f),..._0x59546f,'lookupCommand':_0x3ec3a1}});}async function readAndVerifyCreatedMenu(_0x4b41d0){const _0x28a7ab=a112_0x3cfc30;let _0x55496b;try{_0x55496b=await fetchMenuSnapshot(_0x4b41d0[_0x28a7ab(0xc9)],_0x4b41d0[_0x28a7ab(0x90)]);}catch(_0x4fb9ec){const _0x33af65=menuError(_0x28a7ab(0xb1),'Menu\x20'+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xc6),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x33af65,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0['createdId'],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0[_0x28a7ab(0xc5)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0[_0x28a7ab(0xc5)],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}const _0xb63a9d=_0x55496b[_0x28a7ab(0xc1)]['get'](_0x4b41d0[_0x28a7ab(0xc5)]);try{if(!_0xb63a9d)throw menuError('menu_verification_failed',_0x28a7ab(0x81)+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xda),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));verifyCreatedFact(_0xb63a9d,_0x4b41d0[_0x28a7ab(0xc5)],_0x4b41d0[_0x28a7ab(0xb3)],_0x4b41d0['expectedPath']);}catch(_0x47a539){const _0x15c706=_0x47a539 instanceof Error&&'code'in _0x47a539?_0x47a539:menuError(_0x28a7ab(0xb1),_0x28a7ab(0x81)+_0x4b41d0['createdId']+_0x28a7ab(0x9a),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));throw externalLinkCreateFailure(_0x15c706,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0[_0x28a7ab(0xc5)],'finalFactsConfirmed':![]},'after':_0xb63a9d??{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0[_0x28a7ab(0xc5)],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0['createdId']+_0x28a7ab(0x9c)],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0['createdId'],'recovered':_0x4b41d0['recovered'],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}return{'snapshot':_0x55496b,'fact':_0xb63a9d};}function verifyCreatedFact(_0x4abe65,_0x1a9f2e,_0x2c1581,_0x4b733d){const _0x354e3b=a112_0x3cfc30;if(!Number[_0x354e3b(0xdc)](_0x4abe65['id'])||_0x4abe65['id']<=0x0||_0x4abe65['id']!==_0x1a9f2e)throw menuError(_0x354e3b(0xb1),_0x354e3b(0xb5),_0x354e3b(0x71));const _0x5c6692=[[_0x354e3b(0xbe),_0x4abe65[_0x354e3b(0x98)],_0x2c1581[_0x354e3b(0x98)]],['type',_0x4abe65[_0x354e3b(0xb9)],_0x2c1581['type']],[_0x354e3b(0xeb),_0x4abe65['label'],_0x2c1581[_0x354e3b(0xeb)]],[_0x354e3b(0x92),_0x4abe65[_0x354e3b(0xce)],_0x2c1581[_0x354e3b(0xce)]],[_0x354e3b(0xf4),_0x4abe65[_0x354e3b(0x74)],_0x2c1581[_0x354e3b(0x74)]],[_0x354e3b(0xa6),_0x4abe65['sort'],_0x2c1581[_0x354e3b(0xa6)]]];for(const [_0x1f7b2e,_0x5a2766,_0x2c2e40]of _0x5c6692){if(_0x5a2766!==_0x2c2e40)throw menuError('menu_verification_failed',_0x354e3b(0x81)+_0x4abe65['id']+'\x20has\x20an\x20unexpected\x20'+_0x1f7b2e+'.',_0x354e3b(0xbb));}if(!_0x4abe65[_0x354e3b(0x8a)][_0x354e3b(0xd6)]()||_0x4b733d!==null&&_0x4abe65[_0x354e3b(0x8a)]!==_0x4b733d)throw menuError(_0x354e3b(0xb1),_0x354e3b(0x81)+_0x4abe65['id']+_0x354e3b(0x6c),_0x354e3b(0xbb));}function creationSuccess(_0x509b11,_0xdffc16,_0x15e907,_0x42d499){const _0x4bc4f7=a112_0x3cfc30,_0x3d5c36=mutationResult({..._0x509b11,'after':_0x15e907,'dryRun':![],'succeeded':[{'id':_0x15e907['id'],'created':!![],'recovered':_0x42d499}],'verification':{'checkedBy':_0x4bc4f7(0xe9),'snapshotHash':_0xdffc16[_0x4bc4f7(0xd4)],'targetId':_0x15e907['id'],'recovered':_0x42d499,'path':_0x15e907['path']}});return{'ok':!![],'message':_0x42d499?_0x4bc4f7(0x7c)+_0x15e907['id']+_0x4bc4f7(0x8b):'Created\x20external\x20menu\x20'+_0x15e907['id']+'.','data':{..._0x3d5c36,'recovered':_0x42d499}};}function externalLinkCreateFailure(_0x1f5dfc,_0x3d5ddd,_0x332953){const _0x484322=a112_0x3cfc30;return menuFailure(safeMenuAddError(_0x1f5dfc),redactFailurePlan(_0x3d5ddd),{..._0x332953,'succeeded':_0x332953[_0x484322(0x73)]?.[_0x484322(0x9d)](redactFailureRecord),'failed':_0x332953['failed']?redactFailureRecord(_0x332953[_0x484322(0x7f)]):undefined,'verification':_0x332953[_0x484322(0xf0)]?redactFailureRecord(_0x332953[_0x484322(0xf0)]):undefined,'after':_0x332953[_0x484322(0x9e)]===undefined?undefined:redactFailureValue(_0x332953[_0x484322(0x9e)])});}function redactFailurePlan(_0x30d610){const _0x139b98=a112_0x3cfc30;return{..._0x30d610,'selector':redactFailureRecord(_0x30d610[_0x139b98(0xf7)]),'before':redactFailureValue(_0x30d610[_0x139b98(0xa0)]),'after':redactFailureValue(_0x30d610[_0x139b98(0x9e)]),'plannedActions':_0x30d610[_0x139b98(0x70)]?.[_0x139b98(0x9d)](_0x529e4a=>({..._0x529e4a,'body':redactFailureRecord(_0x529e4a[_0x139b98(0x77)])})),'succeeded':_0x30d610[_0x139b98(0x73)]['map'](redactFailureRecord),'failed':_0x30d610[_0x139b98(0x7f)][_0x139b98(0x9d)](redactFailureRecord),'verification':_0x30d610['verification']?redactFailureRecord(_0x30d610[_0x139b98(0xf0)]):undefined};}function redactFailureRecord(_0x4d0bec){return redactFailureValue(_0x4d0bec);}function redactFailureValue(_0x30c2cd,_0x5330f4=''){const _0x30289f=a112_0x3cfc30,_0x4f1943=_0x5330f4[_0x30289f(0xf3)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x30289f(0x86),_0x30289f(0xa3),_0x30289f(0x76)][_0x30289f(0x69)](_0x4f1943))return'<redacted>';if(Array[_0x30289f(0xd9)](_0x30c2cd))return _0x30c2cd[_0x30289f(0x9d)](_0x27415f=>redactFailureValue(_0x27415f));if(_0x30c2cd&&typeof _0x30c2cd===_0x30289f(0xae))return Object[_0x30289f(0xcf)](Object[_0x30289f(0xea)](_0x30c2cd)[_0x30289f(0x9d)](([_0xd70879,_0x261978])=>[_0xd70879,redactFailureValue(_0x261978,_0xd70879)]));return _0x30c2cd;}function safeMenuAddError(_0x44e4e1){const _0x113954=a112_0x3cfc30,_0x4d29e7=_0x44e4e1 instanceof CliError?_0x44e4e1['code']:_0x113954(0xd8);switch(_0x4d29e7){case'menu_state_drift':return menuError(_0x4d29e7,_0x113954(0xc8),_0x113954(0xa2));case _0x113954(0xad):return menuError(_0x4d29e7,_0x113954(0x82),_0x113954(0xf6));case'menu_create_response_invalid':return menuError(_0x4d29e7,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x113954(0xd1));case _0x113954(0xb1):return menuError(_0x4d29e7,_0x113954(0xd3),_0x113954(0xd1));case _0x113954(0xc0):return menuError(_0x4d29e7,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x113954(0xd8):case _0x113954(0xca):case _0x113954(0xee):case _0x113954(0x6d):case _0x113954(0x8e):return menuError(_0x4d29e7,_0x113954(0xc7),_0x113954(0xba));default:return menuError(_0x113954(0xd8),'External\x20menu\x20creation\x20failed.',_0x113954(0xba));}}function getFailureRecord(_0x2728f4){const _0x5751f3=a112_0x3cfc30;if(!(_0x2728f4 instanceof Error)||!(_0x5751f3(0x97)in _0x2728f4))return undefined;const _0x22f0dd=_0x2728f4['data'];if(!_0x22f0dd||typeof _0x22f0dd!==_0x5751f3(0xae))return undefined;const _0x54843e=_0x22f0dd[_0x5751f3(0x7f)];if(!Array[_0x5751f3(0xd9)](_0x54843e)||!_0x54843e[0x0]||typeof _0x54843e[0x0]!==_0x5751f3(0xae))return undefined;return _0x54843e[0x0];}function a112_0x449b(){const _0x6861f1=['External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','replace','menu_permission_denied','object','Run\x20','external-link-create','menu_verification_failed','create','afterPlan','193303tTnWYh','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_url_credentials_forbidden','12jZMTyg','8UnUIyE','type','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Menu\x20','expectedPath','parent','6nVSJLT','menu_create_recovery_required','byId','POST','add','/smartapi/menu/create','createdId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','External\x20menu\x20creation\x20failed.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','appCode','menu_not_found','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','str','https:','url','fromEntries','password','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','hash','filter','trim','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_mutation_failed','isArray','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','<platform-generated>','isSafeInteger','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','flagMissing','currentSnapshotHash','length','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','embedded','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','iframe','Whether\x20the\x20menu\x20is\x20visible','prototype','How\x20to\x20open\x20the\x20external\x20website','menu\x20list','entries','label','menu_url_https_required','External\x20HTTPS\x20URL','menu_parent_not_folder','string','verification','\x20--format\x20compress','\x20could\x20not\x20be\x20verified.','toLowerCase','visibility','Menu\x20label','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','selector','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_response_invalid','Provide\x20an\x20HTTPS\x20URL.','username','includes','create\x20external\x20menu','create-response-validation','\x20has\x20an\x20unexpected\x20generated\x20path.','menu_sort_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','parent-id','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','has','succeeded','visible','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','rawerror','body','new-window','lookupCommand','create-menu','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Recovered\x20created\x20external\x20menu\x20','6825015LzOXyf','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','plan','Created\x20menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','link','menu','write','causemessage','9308sdsMoU','552dgKjLZ','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','path','\x20after\x20response\x20loss.','6393930awAqCT','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_overflow','create-recovery','cookie','open-mode','URL','4109050YQzuSF','327dLCEDi','rawFlags','233QxCCfL','data','parentId','boolean','\x20failed\x20final\x20verification.','pre-write-recheck','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','map','after','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','before','fact','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','readbackerror','5488987gZkhNT','call','sort','Create\x20an\x20external\x20website\x20link\x20menu','menu_url_invalid','bool','rabetbase\x20menu\x20list\x20--appcode\x20'];a112_0x449b=function(){return _0x6861f1;};return a112_0x449b();}
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_0x27bc98=a113_0x50f5;(function(_0x44d662,_0x3661b8){const _0x14e91=a113_0x50f5,_0x2aacf2=_0x44d662();while(!![]){try{const _0x2e090a=-parseInt(_0x14e91(0x18f))/0x1*(parseInt(_0x14e91(0x191))/0x2)+-parseInt(_0x14e91(0x16a))/0x3*(-parseInt(_0x14e91(0x198))/0x4)+parseInt(_0x14e91(0x1a4))/0x5+parseInt(_0x14e91(0x179))/0x6*(-parseInt(_0x14e91(0x164))/0x7)+-parseInt(_0x14e91(0x195))/0x8+-parseInt(_0x14e91(0x17a))/0x9+parseInt(_0x14e91(0x172))/0xa;if(_0x2e090a===_0x3661b8)break;else _0x2aacf2['push'](_0x2aacf2['shift']());}catch(_0x20da45){_0x2aacf2['push'](_0x2aacf2['shift']());}}}(a113_0xaaf1,0x9a275));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';function a113_0xaaf1(){const _0x34724f=['Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','url','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verify\x20external\x20menu\x20URL\x20update','17907yzKxdN','external-link-update','104iJcjOS','str','label','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','5080592WRrPDG','POST','\x22,\x20not\x20iframe\x20or\x20link.','105468kizzwd','write','rabetbase\x20menu\x20list\x20--appcode\x20','type','flagMissing','verification','menu_permission_denied','\x20is\x20type\x20\x22','string','update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_not_leaf','1256430OwUnIz','\x20could\x20not\x20be\x20verified\x20safely','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20has\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-parent-id','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','trim','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20parent\x20changed:\x20expected\x20','link','byId','childrenCount','7SJlZHx','path','\x20already\x20matches\x20the\x20requested\x20URL.','menu\x20list','menu_external_link_type_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','12EHnUyJ','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','New\x20external\x20HTTPS\x20URL','update-external-link-url','\x27\x5c\x27\x27','expect-url','code','29714350tJvnVB','get','Run\x20','/smartapi/menu/update','Update\x20request\x20for\x20menu\x20','replace',',\x20current\x20','3624714MmYuLH','4737771NpKxHs','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20direct\x20child\x20menu(s).','\x20--format\x20compress','body','failed','\x20has\x20an\x20empty\x20platform\x20path.','visible','requestedUrlObserved','Response\x20was\x20lost\x20and\x20menu\x20','appCode','sort','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','parentId'];a113_0xaaf1=function(){return _0x34724f;};return a113_0xaaf1();}function a113_0x50f5(_0x3fbcbb,_0xa04f8c){_0x3fbcbb=_0x3fbcbb-0x15d;const _0xaaf15=a113_0xaaf1();let _0x50f570=_0xaaf15[_0x3fbcbb];return _0x50f570;}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_0x27bc98(0x196),'path':a113_0x27bc98(0x175)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x27bc98(0x190),'description':a113_0x27bc98(0x1a6),'risk':a113_0x27bc98(0x199),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x27bc98(0x18a),'type':a113_0x27bc98(0x1a0),'required':!![],'description':a113_0x27bc98(0x16d)},{'name':'expect-url','type':a113_0x27bc98(0x1a0),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4f274c){validateInput(_0x4f274c);},async 'dryRun'(_0x31c485){const _0x18eeef=a113_0x27bc98;validateInput(_0x31c485);const _0x50617d=await buildPlan(_0x31c485,!![]);return menuDryRunResult(_0x50617d['plan'],{'method':_0x18eeef(0x196),'url':_0x18eeef(0x175),'body':_0x50617d[_0x18eeef(0x17e)],'description':_0x18eeef(0x17b)+_0x50617d[_0x18eeef(0x17e)]['id']+'.'});},async 'execute'(_0x2a886d){const _0x1f0b47=a113_0x27bc98;validateInput(_0x2a886d);const _0x85f300=await buildPlan(_0x2a886d,![]),{plan:_0x25e722,body:_0x308350,before:_0x3f52ea,noChanges:_0x3c3620}=_0x85f300,_0x483f14=_0x308350['id'];if(_0x3c3620)return updateSuccess(_0x25e722,_0x85f300['snapshot'],_0x3f52ea,!![],![]);await recheckMutationSnapshot(_0x2a886d,_0x25e722,_0x1f0b47(0x15d),_0x483f14);try{await updateMenuEntity(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie'],{'id':_0x308350['id'],'url':_0x308350[_0x1f0b47(0x18a)]});}catch(_0x336b60){const _0x512973=mapMenuApiError(_0x336b60,_0x1f0b47(0x15d),_0x483f14);if(isMenuResponseLoss(_0x336b60)&&_0x512973[_0x1f0b47(0x171)]!==_0x1f0b47(0x19e))return recoverAfterResponseLoss(_0x2a886d,_0x85f300);throw menuFailure(_0x512973,_0x25e722,{'stage':_0x1f0b47(0x1a1),'failed':{'id':_0x483f14},'warnings':[_0x1f0b47(0x194)],'verification':{'status':'failed','targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d['appCode'])}});}let _0x43ece6,_0x405dc1;try{_0x43ece6=await fetchMenuSnapshot(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie']),_0x405dc1=requireMenu(_0x43ece6,_0x483f14),verifyUpdatedFact(_0x3f52ea,_0x405dc1,_0x308350[_0x1f0b47(0x18a)]);}catch(_0x597879){const _0x13b706=describeMenuErrorCause(_0x597879,_0x1f0b47(0x18e),_0x483f14),_0x44c0aa=asVerificationError(_0x597879,_0x1f0b47(0x176)+_0x483f14+_0x1f0b47(0x189));throw menuFailure(_0x44c0aa,_0x25e722,{'stage':_0x1f0b47(0x19d),'succeeded':[{'id':_0x483f14,'updateRequested':!![]}],'failed':{'id':_0x483f14,'requestedStateConfirmed':![],..._0x13b706},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x1f0b47(0x17f),'targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d[_0x1f0b47(0x184)])}});}return updateSuccess(_0x25e722,_0x43ece6,_0x405dc1,![],![]);}};function validateInput(_0x1b7508){const _0x3c949c=a113_0x27bc98;validateExactId(_0x1b7508),requiredUrl(_0x1b7508,'url'),requiredExpectedUrl(_0x1b7508),parseParentId(_0x1b7508,_0x3c949c(0x1a9),{'required':!![]});}function requiredUrl(_0x10a17a,_0x405372){const _0x115bfd=a113_0x27bc98;if(!hasFlag(_0x10a17a,_0x405372)||!_0x10a17a[_0x115bfd(0x192)](_0x405372)[_0x115bfd(0x15e)]())throw CliErrors['flagMissing'](_0x405372);return validateExternalMenuUrl(_0x10a17a['str'](_0x405372));}function requiredExpectedUrl(_0x425af8){const _0x125bf8=a113_0x27bc98;if(!hasFlag(_0x425af8,_0x125bf8(0x170))||!_0x425af8[_0x125bf8(0x192)]('expect-url')['trim']())throw CliErrors[_0x125bf8(0x19c)](_0x125bf8(0x170));return _0x425af8[_0x125bf8(0x192)](_0x125bf8(0x170))[_0x125bf8(0x15e)]();}async function buildPlan(_0xfab6af,_0x58a7d9){const _0x38988e=a113_0x27bc98,_0x5f13d2=validateExactId(_0xfab6af),_0x540297=requiredUrl(_0xfab6af,_0x38988e(0x18a)),_0x1cec6f=requiredExpectedUrl(_0xfab6af),_0x20e5a6=parseParentId(_0xfab6af,'expect-parent-id',{'required':!![]}),_0x52613f=await fetchMutationSnapshot(_0xfab6af,_0x38988e(0x15d),_0x5f13d2),_0x1fee33=requireMenu(_0x52613f,_0x5f13d2);assertExternalLinkLeaf(_0x1fee33);if(_0x1fee33[_0x38988e(0x187)]!==_0x20e5a6)throw menuError(_0x38988e(0x18c),'Menu\x20'+_0x5f13d2+_0x38988e(0x160)+formatParent(_0x20e5a6)+_0x38988e(0x178)+formatParent(_0x1fee33[_0x38988e(0x187)])+'.',_0x38988e(0x18d));const _0x29f93a=_0x1fee33['url']===_0x540297;if(!_0x29f93a&&_0x1fee33[_0x38988e(0x18a)]!==_0x1cec6f)throw menuError('menu_state_drift',_0x38988e(0x188)+_0x5f13d2+_0x38988e(0x1a2),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x1c985f={'id':_0x5f13d2,'appCode':_0xfab6af[_0x38988e(0x184)],'url':_0x540297},_0x385108={..._0x1fee33,'url':_0x540297};return{'body':_0x1c985f,'before':_0x1fee33,'noChanges':_0x29f93a,'snapshot':_0x52613f,'plan':mutationResult({'operation':_0x38988e(0x190),'selector':{'id':_0x5f13d2},'before':_0x1fee33,'after':_0x385108,'dryRun':_0x58a7d9,'backend':[...BACKEND],'plannedActions':_0x29f93a?[]:[{'stage':_0x38988e(0x16e),'method':_0x38988e(0x196),'path':_0x38988e(0x175),'body':_0x1c985f}],'snapshotHash':_0x52613f['hash'],'warnings':_0x29f93a?[_0x38988e(0x15f)]:[]})};}function assertExternalLinkLeaf(_0x1c7b7b){const _0x3a42ad=a113_0x27bc98;if(_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x16c)&&_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x161))throw menuError(_0x3a42ad(0x168),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x19f)+(_0x1c7b7b[_0x3a42ad(0x19b)]||'unknown')+_0x3a42ad(0x197),_0x3a42ad(0x1a8));if(_0x1c7b7b[_0x3a42ad(0x163)]!==0x0)throw menuError(_0x3a42ad(0x1a3),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x1a7)+_0x1c7b7b[_0x3a42ad(0x163)]+_0x3a42ad(0x17c),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x1c7b7b[_0x3a42ad(0x165)][_0x3a42ad(0x15e)]())throw menuError('menu_external_link_path_missing',_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x180),_0x3a42ad(0x186));}function verifyUpdatedFact(_0x4f41ea,_0x307eae,_0x166a4e){const _0x310c61=a113_0x27bc98;assertExternalLinkLeaf(_0x307eae);const _0xc7c8d3=[['id',_0x307eae['id'],_0x4f41ea['id']],['label',_0x307eae['label'],_0x4f41ea[_0x310c61(0x193)]],[_0x310c61(0x19b),_0x307eae[_0x310c61(0x19b)],_0x4f41ea[_0x310c61(0x19b)]],[_0x310c61(0x165),_0x307eae[_0x310c61(0x165)],_0x4f41ea['path']],[_0x310c61(0x187),_0x307eae[_0x310c61(0x187)],_0x4f41ea[_0x310c61(0x187)]],[_0x310c61(0x185),_0x307eae[_0x310c61(0x185)],_0x4f41ea[_0x310c61(0x185)]],[_0x310c61(0x181),_0x307eae[_0x310c61(0x181)],_0x4f41ea[_0x310c61(0x181)]]];for(const [_0x21af07,_0x97e053,_0x16e819]of _0xc7c8d3){assertVerified(_0x97e053===_0x16e819,_0x310c61(0x188)+_0x4f41ea['id']+'\x20'+_0x21af07+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x307eae[_0x310c61(0x18a)]===_0x166a4e,_0x310c61(0x188)+_0x4f41ea['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x512d87,_0x27216d,_0x379435,_0x3d225d,_0x1dcb73){const _0x3d6c70=a113_0x27bc98,_0x3bca74=_0x379435['id'],_0x37fe42=mutationResult({..._0x512d87,'after':_0x379435,'dryRun':![],'succeeded':[{'id':_0x3bca74,'updated':!_0x3d225d,'skipped':_0x3d225d,'recovered':_0x1dcb73}],'verification':{'checkedBy':_0x3d6c70(0x167),'snapshotHash':_0x27216d['hash'],'targetId':_0x3bca74,'matchesRequestedState':!![],'recovered':_0x1dcb73}});return{'ok':!![],'message':_0x1dcb73?_0x3d6c70(0x18b)+_0x3bca74+'.':_0x3d225d?_0x3d6c70(0x188)+_0x3bca74+_0x3d6c70(0x166):_0x3d6c70(0x16b)+_0x3bca74+'.','data':{..._0x37fe42,'recovered':_0x1dcb73}};}async function recoverAfterResponseLoss(_0x42185a,_0xd50061){const _0x30e50d=a113_0x27bc98,{plan:_0x445379,before:_0x2bb57b,body:_0x475bab}=_0xd50061;let _0xdc5893;try{_0xdc5893=await fetchMenuSnapshot(_0x42185a['appCode'],_0x42185a['cookie']);}catch{throw recoveryRequired(_0x445379,_0x42185a['appCode'],{'id':_0x475bab['id'],'readbackFailed':!![]});}const _0x15128a=_0xdc5893[_0x30e50d(0x162)][_0x30e50d(0x173)](_0x475bab['id']);if(!_0x15128a||_0x15128a[_0x30e50d(0x18a)]!==_0x475bab[_0x30e50d(0x18a)])throw recoveryRequired(_0x445379,_0x42185a[_0x30e50d(0x184)],{'id':_0x475bab['id'],'requestedUrlObserved':![],'after':_0x15128a??null});try{verifyUpdatedFact(_0x2bb57b,_0x15128a,_0x475bab[_0x30e50d(0x18a)]);}catch(_0x4f5127){const _0x238af2=asVerificationError(_0x4f5127,_0x30e50d(0x183)+_0x475bab['id']+_0x30e50d(0x1a5));throw menuFailure(_0x238af2,_0x445379,{'stage':'update-recovery','succeeded':[{'id':_0x475bab['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x15128a,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x30e50d(0x17f),'targetId':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x42185a['appCode'])}});}return updateSuccess(_0x445379,_0xdc5893,_0x15128a,![],!![]);}function recoveryRequired(_0x1a0701,_0x42a65d,_0x4817d3){const _0x3cb335=a113_0x27bc98,_0xf3cb84=menuError('menu_update_recovery_required',_0x3cb335(0x169),_0x3cb335(0x174)+buildLookupCommand(_0x42a65d)+_0x3cb335(0x1aa));return menuFailure(_0xf3cb84,_0x1a0701,{'stage':'update-recovery','failed':{'id':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4817d3['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x3cb335(0x17f),'targetId':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x42a65d)}});}function buildLookupCommand(_0x1bc779){const _0x2d8032=a113_0x27bc98,_0x157108='\x27'+_0x1bc779[_0x2d8032(0x177)](/'/g,_0x2d8032(0x16f))+'\x27';return _0x2d8032(0x19a)+_0x157108+_0x2d8032(0x17d);}
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_0x39f9e4=a114_0x9b40;(function(_0x57e545,_0x102c3f){const _0x2196f7=a114_0x9b40,_0x4f5c72=_0x57e545();while(!![]){try{const _0x315995=-parseInt(_0x2196f7(0x1bd))/0x1*(parseInt(_0x2196f7(0x1c3))/0x2)+parseInt(_0x2196f7(0x1c5))/0x3*(-parseInt(_0x2196f7(0x194))/0x4)+parseInt(_0x2196f7(0x1cd))/0x5*(parseInt(_0x2196f7(0x1b5))/0x6)+-parseInt(_0x2196f7(0x1b9))/0x7*(-parseInt(_0x2196f7(0x1d8))/0x8)+parseInt(_0x2196f7(0x199))/0x9+-parseInt(_0x2196f7(0x1ac))/0xa+-parseInt(_0x2196f7(0x1a8))/0xb;if(_0x315995===_0x102c3f)break;else _0x4f5c72['push'](_0x4f5c72['shift']());}catch(_0x8c1b45){_0x4f5c72['push'](_0x4f5c72['shift']());}}}(a114_0x1bdb,0xad5bd));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a114_0x1bdb(){const _0x423a4d=['create\x20folder','sort','11543310ZektYN','create-folder','parent-id','group-create','\x20is\x20missing\x20from\x20menu\x20list.','folder','resources','rabetbase\x20menu\x20list\x20--format\x20json','hash','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20an\x20unexpected\x20label.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Created\x20menu\x20','523391aGGxnG','create-response-validation','verification','childrenCount','1805480mqxmwL','cookie','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','parentId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','POST','9318VPtXIn','str',';\x20verify\x20it\x20before\x20retrying.','label','133BgIZAX','\x20is\x20not\x20visible.','Folder\x20label','string','1310eYHpYB','appCode','root','Folder\x20','type','/smartapi/menu/create','1270itBlby','\x20has\x20resources.','922353JrqhgR','\x20may\x20exist\x20online\x20at\x20path\x20','failed','length','menu','\x20is\x20not\x20empty.','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','1715Hwinsn','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20folder\x20','path','depth','verify\x20folder\x20creation','isSafeInteger','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','\x20unexpectedly\x20owns\x20a\x20page.','110416LBDLwo','visible','\x20has\x20unexpected\x20parent\x20','menu_create_response_invalid','Created\x20menu\x20folder\x20','get','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','4ELDHoJ','byId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.'];a114_0x1bdb=function(){return _0x423a4d;};return a114_0x1bdb();}function a114_0x9b40(_0x3be109,_0x56abef){_0x3be109=_0x3be109-0x190;const _0x1bdb7f=a114_0x1bdb();let _0x9b40d9=_0x1bdb7f[_0x3be109];return _0x9b40d9;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x39f9e4(0x1b4),'path':a114_0x39f9e4(0x1c2)}];export const menuGroupCreate={'service':a114_0x39f9e4(0x1c9),'command':a114_0x39f9e4(0x19c),'description':a114_0x39f9e4(0x1b1),'risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x39f9e4(0x1b8),'type':a114_0x39f9e4(0x1bc),'required':!![],'description':a114_0x39f9e4(0x1bb)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14d4ba){validateCreateInput(_0x14d4ba);},async 'dryRun'(_0x180b7c){const _0x31ac87=a114_0x39f9e4,_0x44a66a=await buildCreatePlan(_0x180b7c,!![]),_0x264d00=_0x44a66a[_0x31ac87(0x1b2)];return menuDryRunResult(_0x44a66a,{'method':_0x31ac87(0x1b4),'url':_0x31ac87(0x1c2),'body':{'parentId':toApiParentId(_0x264d00['parentId']),'label':_0x264d00[_0x31ac87(0x1b8)],'type':_0x31ac87(0x19e),'visible':!![],'sort':_0x264d00[_0x31ac87(0x198)],'extend':{}},'description':_0x31ac87(0x1a2)+String(_0x264d00[_0x31ac87(0x1b8)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x407316){const _0x5336fb=a114_0x39f9e4;validateCreateInput(_0x407316);const _0x136518=await buildCreatePlan(_0x407316,![]),_0x51a577=_0x136518[_0x5336fb(0x1b2)];await recheckMutationSnapshot(_0x407316,_0x136518,_0x5336fb(0x197));let _0xc49a93;try{_0xc49a93=await createMenuEntity(_0x407316[_0x5336fb(0x1be)],_0x407316['cookie'],{'parentId':toApiParentId(_0x51a577['parentId']),'label':String(_0x51a577[_0x5336fb(0x1b8)]),'type':'folder','visible':!![],'sort':Number(_0x51a577[_0x5336fb(0x198)]),'extend':{}});}catch(_0x2f9054){const _0x5c8106=mapMenuApiError(_0x2f9054,_0x5336fb(0x197));throw menuFailure(_0x5c8106,_0x136518,{'stage':'create','failed':{}});}const _0x366169=Number(_0xc49a93['id']);if(!Number[_0x5336fb(0x1d3)](_0x366169)||_0x366169<=0x0){const _0x10fa94=menuError('menu_create_response_invalid',_0x5336fb(0x1cc),_0x5336fb(0x1d5));throw menuFailure(_0x10fa94,_0x136518,{'stage':_0x5336fb(0x1a9),'failed':{'createdId':_0xc49a93['id']??null},'warnings':[_0x5336fb(0x1ce)],'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1a4e6c=typeof _0xc49a93[_0x5336fb(0x1d0)]==='string'?_0xc49a93['path']:'';if(!_0x1a4e6c['trim']()){const _0x10c1d8=menuError(_0x5336fb(0x190),_0x5336fb(0x1a3)+_0x366169+_0x5336fb(0x1a4),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x10c1d8,_0x136518,{'stage':_0x5336fb(0x1a9),'succeeded':[{'id':_0x366169,'created':!![]}],'failed':{'id':_0x366169,'generatedPathConfirmed':![]},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x1ae)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}let _0x4b8465;try{_0x4b8465=await fetchMenuSnapshot(_0x407316[_0x5336fb(0x1be)],_0x407316[_0x5336fb(0x1ad)]);}catch(_0x5ade3b){const _0x3c0e4c=describeMenuErrorCause(_0x5ade3b,_0x5336fb(0x1d2),_0x366169),_0x552496=asVerificationError(_0x5ade3b,_0x5336fb(0x1c0)+_0x366169+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x552496,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x3c0e4c},'warnings':['Folder\x20'+_0x366169+_0x5336fb(0x1c6)+JSON[_0x5336fb(0x1af)](_0x1a4e6c)+_0x5336fb(0x1b7)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x3e840d=_0x4b8465[_0x5336fb(0x195)][_0x5336fb(0x192)](_0x366169);let _0x44d625;try{assertVerified(Boolean(_0x3e840d),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x19d)),_0x44d625=_0x3e840d,assertVerified(_0x44d625[_0x5336fb(0x1c1)]===_0x5336fb(0x19e),_0x5336fb(0x1a7)+_0x366169+_0x5336fb(0x1d6)),assertVerified(_0x44d625[_0x5336fb(0x1b8)]===_0x51a577[_0x5336fb(0x1b8)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1a5)),assertVerified(_0x44d625[_0x5336fb(0x1d0)]===_0x1a4e6c&&Boolean(_0x44d625['path'][_0x5336fb(0x1d4)]()),'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1b3)),assertVerified(_0x44d625[_0x5336fb(0x1d9)]===!![],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1ba)),assertVerified(_0x44d625[_0x5336fb(0x19f)][_0x5336fb(0x1c8)]===0x0,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1c4)),assertVerified(_0x44d625[_0x5336fb(0x1ab)]===0x0,'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1ca)),assertVerified(_0x44d625[_0x5336fb(0x198)]===_0x51a577[_0x5336fb(0x198)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1cb)),assertVerified(_0x44d625[_0x5336fb(0x1b0)]===_0x51a577[_0x5336fb(0x1b0)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1da)+(_0x44d625[_0x5336fb(0x1b0)]??_0x5336fb(0x1bf))+'.'),assertVerified(_0x44d625['pageId']==null,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1d7));const _0x331ca3=_0x44d625[_0x5336fb(0x1b0)]==null?undefined:requireFolder(_0x4b8465,_0x44d625[_0x5336fb(0x1b0)]);assertVerified(_0x44d625[_0x5336fb(0x1d1)]===(_0x331ca3?_0x331ca3['depth']+0x1:0x0),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x196));}catch(_0x15c28d){const _0x2e6cb0=describeMenuErrorCause(_0x15c28d,_0x5336fb(0x1d2),_0x366169),_0xc253c4=asVerificationError(_0x15c28d,'Folder\x20'+_0x366169+_0x5336fb(0x1a6));throw menuFailure(_0xc253c4,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x2e6cb0},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x193)],'after':_0x3e840d??{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x43f203=mutationResult({..._0x136518,'after':_0x44d625,'dryRun':![],'succeeded':[{'id':_0x366169,'type':_0x5336fb(0x19e),'path':_0x1a4e6c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4b8465[_0x5336fb(0x1a1)],'folder':!![],'path':_0x1a4e6c,'emptyResources':!![]}});return{'ok':!![],'data':_0x43f203,'message':_0x5336fb(0x191)+_0x366169+'.'};}};function validateCreateInput(_0x27883d){const _0x2a562e=a114_0x39f9e4,_0x12968d=_0x27883d[_0x2a562e(0x1b6)](_0x2a562e(0x1b8))[_0x2a562e(0x1d4)]();if(!_0x12968d)throw CliErrors['flagMissing'](_0x2a562e(0x1b8));parseParentId(_0x27883d,_0x2a562e(0x19b)),validateSort(_0x27883d);}async function buildCreatePlan(_0x2da247,_0x2c784f){const _0x272017=a114_0x39f9e4,_0x357b03=await fetchMutationSnapshot(_0x2da247,_0x272017(0x197)),_0x325821=parseParentId(_0x2da247,'parent-id')??null;if(_0x325821!=null)requireFolder(_0x357b03,_0x325821);const _0x139051=validateSort(_0x2da247),_0xbe7cbe=_0x139051??nextSiblingSort(_0x357b03,_0x325821,_0x272017(0x19e)),_0x894c84=_0x2da247[_0x272017(0x1b6)]('label')[_0x272017(0x1d4)]();return mutationResult({'operation':_0x272017(0x19c),'selector':{'label':_0x894c84,'parentId':_0x325821},'before':null,'after':{'id':null,'parentId':_0x325821,'label':_0x894c84,'path':'<platform-generated>','type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2c784f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x272017(0x19a),'method':_0x272017(0x1b4),'path':_0x272017(0x1c2),'body':{'parentId':toApiParentId(_0x325821),'label':_0x894c84,'type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'extend':{}}}],'snapshotHash':_0x357b03[_0x272017(0x1a1)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
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)]});}