@lovrabet/rabetbase-cli 2.4.1-beta.1 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) 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/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.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-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -1
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/kb/create.js +1 -1
  101. package/lib/commands/kb/delete.js +1 -1
  102. package/lib/commands/kb/detail.js +1 -1
  103. package/lib/commands/kb/index.js +1 -1
  104. package/lib/commands/kb/list.js +1 -1
  105. package/lib/commands/kb/shared.js +1 -1
  106. package/lib/commands/kb/update.js +1 -1
  107. package/lib/commands/logs/index.js +1 -1
  108. package/lib/commands/menu/asset-update.js +1 -1
  109. package/lib/commands/menu/delete.js +1 -1
  110. package/lib/commands/menu/external-link-create.js +1 -1
  111. package/lib/commands/menu/external-link-update.js +1 -1
  112. package/lib/commands/menu/group-create.js +1 -1
  113. package/lib/commands/menu/group-update.js +1 -1
  114. package/lib/commands/menu/index.js +1 -1
  115. package/lib/commands/menu/list.js +1 -1
  116. package/lib/commands/menu/move.js +1 -1
  117. package/lib/commands/menu/regroup-start.js +1 -1
  118. package/lib/commands/menu/rename.js +1 -1
  119. package/lib/commands/menu/shared/compare-table.js +1 -1
  120. package/lib/commands/menu/shared/delete-plan.js +1 -1
  121. package/lib/commands/menu/shared/facts.js +1 -1
  122. package/lib/commands/menu/shared/index.js +1 -1
  123. package/lib/commands/menu/shared/inquirer.js +1 -1
  124. package/lib/commands/menu/shared/local-pages.js +1 -1
  125. package/lib/commands/menu/shared/logic.js +1 -1
  126. package/lib/commands/menu/shared/mutations.js +1 -1
  127. package/lib/commands/menu/shared/service.js +1 -1
  128. package/lib/commands/menu/shared/sync-core.js +1 -1
  129. package/lib/commands/menu/shared/update-core.js +1 -1
  130. package/lib/commands/menu/shared/valid-url.js +1 -1
  131. package/lib/commands/menu/sync.js +1 -1
  132. package/lib/commands/notification/config-list.js +1 -1
  133. package/lib/commands/notification/index.js +1 -1
  134. package/lib/commands/ocr/index.js +1 -1
  135. package/lib/commands/page/generate-start.js +1 -1
  136. package/lib/commands/page/generate-status.js +1 -1
  137. package/lib/commands/page/index.js +1 -1
  138. package/lib/commands/page/pull.js +1 -1
  139. package/lib/commands/page/push.js +1 -1
  140. package/lib/commands/page/react/create.js +1 -1
  141. package/lib/commands/page/react/detail.js +1 -1
  142. package/lib/commands/page/react/list.js +1 -1
  143. package/lib/commands/page/react/publish.js +1 -1
  144. package/lib/commands/page/react/shared.js +1 -1
  145. package/lib/commands/page/react/syntax.js +1 -1
  146. package/lib/commands/page/react/template.js +1 -1
  147. package/lib/commands/page/react/update.js +1 -1
  148. package/lib/commands/page/relation-audit.js +1 -1
  149. package/lib/commands/page/restore.js +1 -1
  150. package/lib/commands/page/shared.js +1 -1
  151. package/lib/commands/page/standard-page-status.js +1 -1
  152. package/lib/commands/page/sync.js +1 -1
  153. package/lib/commands/permit/index.js +1 -1
  154. package/lib/commands/permit/page-get.js +1 -1
  155. package/lib/commands/permit/page-set.js +1 -1
  156. package/lib/commands/permit/role-apis-set.js +1 -1
  157. package/lib/commands/permit/role-menus-set.js +1 -1
  158. package/lib/commands/permit/role-menus.js +1 -1
  159. package/lib/commands/permit/shared.js +1 -1
  160. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  161. package/lib/commands/project/create/format-elapsed.js +1 -1
  162. package/lib/commands/project/create/main.js +1 -1
  163. package/lib/commands/project/create/non-interactive.js +1 -1
  164. package/lib/commands/project/create/project-template-path.js +1 -1
  165. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  166. package/lib/commands/project/create/use-format-code.js +1 -1
  167. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  168. package/lib/commands/project/index.js +1 -1
  169. package/lib/commands/project/upgrade.js +1 -1
  170. package/lib/commands/registry.js +1 -1
  171. package/lib/commands/role/create.js +1 -1
  172. package/lib/commands/role/delete.js +1 -1
  173. package/lib/commands/role/detail.js +1 -1
  174. package/lib/commands/role/index.js +1 -1
  175. package/lib/commands/role/list.js +1 -1
  176. package/lib/commands/role/shared.js +1 -1
  177. package/lib/commands/role/update.js +1 -1
  178. package/lib/commands/role/user-add.js +1 -1
  179. package/lib/commands/role/user-remove.js +1 -1
  180. package/lib/commands/role/user-resolve.js +1 -1
  181. package/lib/commands/run/index.js +1 -1
  182. package/lib/commands/schema.js +1 -1
  183. package/lib/commands/sql/create.js +1 -1
  184. package/lib/commands/sql/delete.js +1 -1
  185. package/lib/commands/sql/detail.js +1 -1
  186. package/lib/commands/sql/exec.js +1 -1
  187. package/lib/commands/sql/index.js +1 -1
  188. package/lib/commands/sql/list.js +1 -1
  189. package/lib/commands/sql/pull.js +1 -1
  190. package/lib/commands/sql/push.js +1 -1
  191. package/lib/commands/sql/shared.js +1 -1
  192. package/lib/commands/sql/status.js +1 -1
  193. package/lib/commands/sql/validate.js +1 -1
  194. package/lib/commands/task/index.js +1 -1
  195. package/lib/commands/task/status.js +1 -1
  196. package/lib/commands/tenant/index.js +1 -1
  197. package/lib/commands/tenant/members-list.js +1 -1
  198. package/lib/commands/tenant/shared.js +1 -1
  199. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  200. package/lib/commands/user-account/index.js +1 -1
  201. package/lib/commands/workspace/add.js +1 -1
  202. package/lib/commands/workspace/index.js +1 -1
  203. package/lib/commands/workspace/remove.js +1 -1
  204. package/lib/config/schema.js +1 -1
  205. package/lib/constant/cdn.js +1 -1
  206. package/lib/constant/cli.js +1 -1
  207. package/lib/constant/defaults.js +1 -1
  208. package/lib/constant/domain.js +1 -1
  209. package/lib/constant/env.js +1 -1
  210. package/lib/constant/output.js +1 -1
  211. package/lib/constant/paths.js +1 -1
  212. package/lib/constant/risk.js +1 -1
  213. package/lib/context/app-resolver.js +1 -1
  214. package/lib/context/auth-resolver.js +1 -1
  215. package/lib/context/config-loader.js +1 -1
  216. package/lib/context.js +1 -1
  217. package/lib/core/alias-resolver.js +1 -1
  218. package/lib/core/api-client.js +1 -1
  219. package/lib/core/bff/config.js +1 -1
  220. package/lib/core/bff/file-system.js +1 -1
  221. package/lib/core/bff/hash.js +1 -1
  222. package/lib/core/bff/lock.js +1 -1
  223. package/lib/core/bff/utils.js +1 -1
  224. package/lib/core/db-resolver.js +1 -1
  225. package/lib/core/page/file-system.js +1 -1
  226. package/lib/core/page/hash.js +1 -1
  227. package/lib/core/page/lock.js +1 -1
  228. package/lib/core/sql-index-auditor.js +1 -1
  229. package/lib/core/sql-sync/config.js +1 -1
  230. package/lib/core/sql-sync/file-system.js +1 -1
  231. package/lib/core/sql-sync/hash.js +1 -1
  232. package/lib/core/sql-sync/lock.js +1 -1
  233. package/lib/core/sql-sync/utils.js +1 -1
  234. package/lib/core/sql-validator.js +1 -1
  235. package/lib/errors.js +1 -1
  236. package/lib/framework/build-all-flags.js +1 -1
  237. package/lib/framework/error-output.js +1 -1
  238. package/lib/framework/explicit-yes.js +1 -1
  239. package/lib/framework/flags.js +1 -1
  240. package/lib/framework/help.js +1 -1
  241. package/lib/framework/index.js +1 -1
  242. package/lib/framework/output.js +1 -1
  243. package/lib/framework/response.js +1 -1
  244. package/lib/framework/runner-alias.js +1 -1
  245. package/lib/framework/runner.js +1 -1
  246. package/lib/framework/schema-export.js +1 -1
  247. package/lib/framework/types.js +1 -1
  248. package/lib/generated/build-info.d.ts +4 -4
  249. package/lib/generated/build-info.js +1 -1
  250. package/lib/help.js +1 -1
  251. package/lib/postinstall.js +1 -1
  252. package/lib/runtime/confirmation.js +1 -1
  253. package/lib/runtime/event.js +1 -1
  254. package/lib/runtime/index.js +1 -1
  255. package/lib/runtime/queue.js +1 -1
  256. package/lib/runtime/resolve.js +1 -1
  257. package/lib/skills/builtin-skill.js +1 -1
  258. package/lib/skills/main.js +1 -1
  259. package/lib/skills/npx-skills-add.js +1 -1
  260. package/lib/skills/skill-presence.js +1 -1
  261. package/lib/telemetry/cli-command-trace.js +1 -1
  262. package/lib/telemetry/cli-help-trace.js +1 -1
  263. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  264. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  265. package/lib/telemetry/send-cli-trace-log.js +1 -1
  266. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  267. package/lib/utils/ai_config.js +1 -1
  268. package/lib/utils/apply-jq-filter.js +1 -1
  269. package/lib/utils/cdn-config.js +1 -1
  270. package/lib/utils/check-sdk-version.js +1 -1
  271. package/lib/utils/cli-version-check.js +1 -1
  272. package/lib/utils/cli-version-policy.js +1 -1
  273. package/lib/utils/config.js +1 -1
  274. package/lib/utils/copy-directory.js +1 -1
  275. package/lib/utils/entity-with-id.js +1 -1
  276. package/lib/utils/file-utils.js +1 -1
  277. package/lib/utils/guides-cdn.js +1 -1
  278. package/lib/utils/http-client.js +1 -1
  279. package/lib/utils/is-non-interactive.js +1 -1
  280. package/lib/utils/logger.js +1 -1
  281. package/lib/utils/params.js +1 -1
  282. package/lib/utils/platform.js +1 -1
  283. package/lib/utils/rules-cdn.js +1 -1
  284. package/lib/utils/sleep.js +1 -1
  285. package/lib/utils/template-replacer.js +1 -1
  286. package/lib/utils/update-notice.js +1 -1
  287. package/lib/utils/version.js +1 -1
  288. package/lib/utils/with-active-cookie.js +1 -1
  289. package/lib/utils/write-cli-side-channel.js +1 -1
  290. package/package.json +1 -1
  291. package/skills/rabetbase/SKILL.md +1 -1
  292. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a104_0x3c12f2=a104_0x5f2d;(function(_0x72a15c,_0x4729f0){const _0x1ab3d6=a104_0x5f2d,_0x5b95b5=_0x72a15c();while(!![]){try{const _0x4345c4=parseInt(_0x1ab3d6(0x181))/0x1*(-parseInt(_0x1ab3d6(0x186))/0x2)+-parseInt(_0x1ab3d6(0x167))/0x3*(-parseInt(_0x1ab3d6(0x16e))/0x4)+parseInt(_0x1ab3d6(0x16c))/0x5+parseInt(_0x1ab3d6(0x18f))/0x6*(-parseInt(_0x1ab3d6(0x17c))/0x7)+parseInt(_0x1ab3d6(0x173))/0x8*(-parseInt(_0x1ab3d6(0x16d))/0x9)+-parseInt(_0x1ab3d6(0x183))/0xa+-parseInt(_0x1ab3d6(0x1a9))/0xb*(-parseInt(_0x1ab3d6(0x17a))/0xc);if(_0x4345c4===_0x4729f0)break;else _0x5b95b5['push'](_0x5b95b5['shift']());}catch(_0x53f116){_0x5b95b5['push'](_0x5b95b5['shift']());}}}(a104_0x356d,0x8dd2a));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x3c12f2(0x19a);export function kbError(_0x517439,_0x47f2e3,_0x474459){return new CliError(_0x517439,0x1,_0x47f2e3,_0x474459);}export function readKbId(_0x3bf1ed){const _0x27552c=a104_0x3c12f2,_0x4cb850=_0x3bf1ed[_0x27552c(0x1b4)]('id');if(!Number[_0x27552c(0x1af)](_0x4cb850)||_0x4cb850<=0x0)throw kbError(_0x27552c(0x171),_0x27552c(0x16a));return _0x4cb850;}export function requireKbExplicitYes(_0x3723d7){const _0x11cb7c=a104_0x3c12f2;if(_0x3723d7[_0x11cb7c(0x1b1)]('dry-run')||_0x3723d7['bool'](_0x11cb7c(0x162)))return;throw kbError(_0x11cb7c(0x15d),_0x11cb7c(0x197),_0x11cb7c(0x172));}function sha256(_0xc646e3){const _0x398c42=a104_0x3c12f2;return'sha256:'+createHash(_0x398c42(0x1a4))['update'](_0xc646e3)['digest']('hex');}export function inspectKbContent(_0x294c78){const _0x2edaca=a104_0x3c12f2,_0x57a0d=Buffer[_0x2edaca(0x1ad)](_0x294c78,_0x2edaca(0x18c));return{'content':_0x294c78,'byteSize':_0x57a0d['byteLength'],'contentHash':sha256(_0x57a0d)};}export async function readKbFile(_0x171726){const _0x3c355b=a104_0x3c12f2,_0x2d6c2b=_0x171726[_0x3c355b(0x1a8)]();if(!_0x2d6c2b)throw kbError('kb_file_required',_0x3c355b(0x165),_0x3c355b(0x1a3));const _0xe44b12=resolve(_0x2d6c2b);let _0x28ac69;try{_0x28ac69=await stat(_0xe44b12);}catch(_0x49e328){throw kbError(_0x3c355b(0x1a1),_0x3c355b(0x174)+_0x2d6c2b,_0x49e328 instanceof Error?_0x49e328['message']:String(_0x49e328));}if(!_0x28ac69[_0x3c355b(0x1b8)]())throw kbError('kb_file_invalid','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2d6c2b);let _0x4f7079;try{_0x4f7079=await readFile(_0xe44b12);}catch(_0x4c0df9){throw kbError('kb_file_unreadable','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x2d6c2b,_0x4c0df9 instanceof Error?_0x4c0df9['message']:String(_0x4c0df9));}let _0x27634d;try{_0x27634d=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})['decode'](_0x4f7079);}catch{throw kbError(_0x3c355b(0x19f),_0x3c355b(0x196)+_0x2d6c2b);}if(!_0x27634d[_0x3c355b(0x1a8)]())throw kbError(_0x3c355b(0x19f),_0x3c355b(0x190)+_0x2d6c2b);return inspectKbContent(_0x27634d);}export async function verifyKbMutationReadback(_0x5eeff6,_0x5b8dce,_0x5a7b3a){const _0x3388d7=a104_0x3c12f2;try{return await _0x5a7b3a();}catch(_0x587421){const _0x5952e7=kbError(_0x3388d7(0x17e)+_0x5eeff6+'_'+(_0x5b8dce?_0x3388d7(0x19b):_0x3388d7(0x1a5)),_0x3388d7(0x179)+_0x5eeff6+'\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.',_0x3388d7(0x1ab));Object[_0x3388d7(0x18a)](_0x5952e7,_0x3388d7(0x193),{'value':_0x587421,'enumerable':![]});throw _0x5952e7;}}function requireRecordText(_0x44959e,_0x17b320,_0x5bc46c,_0x3985c0={}){const _0x4a751e=a104_0x3c12f2;if(typeof _0x44959e==='string'&&(_0x3985c0[_0x4a751e(0x180)]||_0x44959e[_0x4a751e(0x1a8)]()))return _0x44959e;throw kbError(_0x4a751e(0x1ae),'Knowledge\x20base\x20'+String(_0x5bc46c)+_0x4a751e(0x17f)+_0x17b320+'.');}export function projectKb(_0x56f267){const _0x152339=a104_0x3c12f2;if(!Number[_0x152339(0x1af)](_0x56f267['id'])||_0x56f267['id']<=0x0)throw kbError(_0x152339(0x1ae),_0x152339(0x176));if(!Number['isSafeInteger'](_0x56f267[_0x152339(0x19c)])||_0x56f267[_0x152339(0x19c)]<0x0)throw kbError('kb_response_invalid','Knowledge\x20base\x20'+_0x56f267['id']+_0x152339(0x18e));if(_0x56f267[_0x152339(0x182)]!==_0x152339(0x1a7))throw kbError(_0x152339(0x187),_0x152339(0x18d)+_0x56f267['id']+_0x152339(0x168));const _0x13afad=requireRecordText(_0x56f267[_0x152339(0x191)],'appCode',_0x56f267['id']),_0x34580f=requireRecordText(_0x56f267['title'],_0x152339(0x199),_0x56f267['id']),_0x52fd71=inspectKbContent(requireRecordText(_0x56f267[_0x152339(0x1b0)],_0x152339(0x1b0),_0x56f267['id'],{'allowEmpty':!![]})),_0xf4f8b4=typeof _0x56f267['createTime']===_0x152339(0x169)||typeof _0x56f267[_0x152339(0x161)]===_0x152339(0x16b)?_0x56f267[_0x152339(0x161)]:undefined,_0x285a11=typeof _0x56f267['updateTime']===_0x152339(0x169)||typeof _0x56f267['updateTime']===_0x152339(0x16b)?_0x56f267[_0x152339(0x1b2)]:undefined,_0x36bfc3=sha256(JSON[_0x152339(0x15f)]({'id':_0x56f267['id'],'scope':_0x56f267[_0x152339(0x182)],'appCode':_0x13afad,'title':_0x34580f,'version':_0x56f267[_0x152339(0x19c)],'contentHash':_0x52fd71['contentHash'],'createTime':_0xf4f8b4,'updateTime':_0x285a11}));return{'id':_0x56f267['id'],'scope':_0x152339(0x1a7),'appCode':_0x13afad,'title':_0x34580f,'version':_0x56f267[_0x152339(0x19c)],'contentByteSize':_0x52fd71[_0x152339(0x177)],'contentHash':_0x52fd71[_0x152339(0x1a0)],'snapshotHash':_0x36bfc3,..._0xf4f8b4!==undefined?{'createTime':_0xf4f8b4}:{},..._0x285a11!==undefined?{'updateTime':_0x285a11}:{}};}export function assertCompanyKnowledgeBase(_0x3e3c35,_0x466798,_0x1de68b){const _0x2aabe4=a104_0x3c12f2;if(_0x1de68b!==undefined&&_0x3e3c35['id']!==_0x1de68b)throw kbError(_0x2aabe4(0x1ae),_0x2aabe4(0x17b)+_0x3e3c35['id']+_0x2aabe4(0x1aa)+_0x1de68b+_0x2aabe4(0x184));if(_0x3e3c35[_0x2aabe4(0x182)]!==_0x2aabe4(0x1a7)||_0x3e3c35[_0x2aabe4(0x191)]!==_0x466798)throw kbError(_0x2aabe4(0x187),_0x2aabe4(0x18d)+_0x3e3c35['id']+_0x2aabe4(0x1b7)+_0x466798+'.');}export async function fetchAllCompanyKnowledgeBases(_0x9549a7,_0x22329c){const _0x168753=a104_0x3c12f2,_0x27fe8c=[],_0x163dd5=new Set();let _0x458e26=0x1,_0x492063=0x0,_0x402ae2;while(!![]){const _0x18cc3f=await listEnterpriseKnowledgeBases(_0x9549a7[_0x168753(0x160)],{'currentPage':_0x458e26,'pageSize':LIST_PAGE_SIZE,'appCode':_0x9549a7[_0x168753(0x191)],..._0x22329c}),_0x34d4d1=_0x18cc3f[_0x168753(0x166)]?.[_0x168753(0x19e)];if(_0x18cc3f[_0x168753(0x166)]?.[_0x168753(0x195)]!==undefined&&_0x18cc3f[_0x168753(0x166)][_0x168753(0x195)]!==_0x458e26)throw kbError('kb_list_contract_invalid',_0x168753(0x170)+_0x18cc3f[_0x168753(0x166)][_0x168753(0x195)]+_0x168753(0x16f)+_0x458e26+_0x168753(0x184));if(_0x34d4d1!==undefined){if(_0x402ae2!==undefined&&_0x34d4d1!==_0x402ae2)throw kbError('kb_list_contract_invalid',_0x168753(0x189)+_0x402ae2+'\x20to\x20'+_0x34d4d1+_0x168753(0x175),_0x168753(0x178));_0x402ae2=_0x34d4d1;}for(const _0x2ea8b4 of _0x18cc3f[_0x168753(0x164)]){if(!Number[_0x168753(0x1af)](_0x2ea8b4['id'])||_0x163dd5[_0x168753(0x1a6)](_0x2ea8b4['id']))throw kbError(_0x168753(0x198),_0x168753(0x188)+String(_0x2ea8b4['id'])+'.');_0x163dd5[_0x168753(0x18b)](_0x2ea8b4['id']),_0x2ea8b4[_0x168753(0x182)]===_0x168753(0x1a7)&&_0x2ea8b4[_0x168753(0x191)]===_0x9549a7[_0x168753(0x191)]&&_0x27fe8c[_0x168753(0x185)](_0x2ea8b4);}_0x492063+=_0x18cc3f[_0x168753(0x164)][_0x168753(0x15e)];if(_0x34d4d1!==undefined&&_0x492063>=_0x34d4d1)break;if(_0x18cc3f['items']['length']<LIST_PAGE_SIZE){if(_0x34d4d1!==undefined&&_0x492063<_0x34d4d1)throw kbError(_0x168753(0x198),_0x168753(0x163)+_0x492063+_0x168753(0x19d)+_0x34d4d1+'\x20records.');break;}_0x458e26+=0x1;}return _0x27fe8c;}export function findExactCompanyKnowledgeBases(_0x5229b0,_0x232b0e,_0x53d5d2){const _0x40f778=a104_0x3c12f2;return _0x5229b0[_0x40f778(0x1a2)](_0x1a0d0f=>_0x1a0d0f['scope']===_0x40f778(0x1a7)&&_0x1a0d0f[_0x40f778(0x191)]===_0x232b0e&&_0x1a0d0f['title']===_0x53d5d2);}function a104_0x5f2d(_0x140738,_0x1d219d){_0x140738=_0x140738-0x15d;const _0x356dca=a104_0x356d();let _0x5f2df6=_0x356dca[_0x140738];return _0x5f2df6;}export async function getKbOrNull(_0x35cf0f,_0x3a5b1d){const _0x28942b=a104_0x3c12f2;try{const _0x3eac77=await getEnterpriseKnowledgeBase(_0x35cf0f[_0x28942b(0x160)],_0x3a5b1d);return assertCompanyKnowledgeBase(_0x3eac77,_0x35cf0f['appCode'],_0x3a5b1d),_0x3eac77;}catch(_0x112e4c){if(getPlatformErrorCode(_0x112e4c)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x112e4c;}}export async function requireKb(_0x3ae268,_0x4fd8bf){const _0x28416b=a104_0x3c12f2,_0x292e84=await getKbOrNull(_0x3ae268,_0x4fd8bf);if(!_0x292e84)throw kbError(_0x28416b(0x194),_0x28416b(0x17d)+_0x4fd8bf,_0x28416b(0x1ac));return _0x292e84;}export function assertExpectedKbVersion(_0x2069e5,_0xdc6ed1){const _0x507c85=a104_0x3c12f2;if(_0xdc6ed1===undefined||_0x2069e5[_0x507c85(0x19c)]===_0xdc6ed1)return;throw kbError(_0x507c85(0x1b6),_0x507c85(0x18d)+_0x2069e5['id']+_0x507c85(0x1b3)+_0xdc6ed1+_0x507c85(0x1b5)+_0x2069e5['version']+'.',_0x507c85(0x192));}function a104_0x356d(){const _0x93ab9b=['push','37078lrISjN','kb_scope_mismatch','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','Knowledge-base\x20list\x20total\x20changed\x20from\x20','defineProperty','add','utf8','Knowledge\x20base\x20','\x20response\x20contains\x20an\x20invalid\x20version.','6TBqZjV','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','appCode','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','cause','kb_not_found','currentPage','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','kb_list_contract_invalid','title','306','outcome_unknown','version','\x20of\x20','totalCount','kb_content_invalid','contentHash','kb_file_unreadable','filter','Pass\x20--file\x20<knowledge.md>.','sha256','verification_unavailable','has','company','trim','2231603eZzNEq','\x20while\x20id\x20','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','from','kb_response_invalid','isSafeInteger','content','bool','updateTime','\x20version\x20changed:\x20expected\x20','num',',\x20current\x20','kb_state_drift','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','isFile','kb_confirmation_required','length','stringify','cookie','createTime','yes','Knowledge-base\x20list\x20stopped\x20at\x20','items','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','paging','3hDNNFM','\x20is\x20not\x20company-scoped.','string','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','number','184475iTeopj','541818pBQPcG','4340152Hhxmmv','\x20while\x20page\x20','Knowledge-base\x20list\x20returned\x20page\x20','kb_id_invalid','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','136OYjLny','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','\x20during\x20paging.','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','byteSize','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','The\x20','168rqypEJ','Knowledge-base\x20get-one\x20returned\x20id\x20','3767547ECZUtf','Company\x20knowledge\x20base\x20not\x20found:\x20','kb_','\x20response\x20is\x20missing\x20','allowEmpty','40htzdEj','scope','10780340TyThVx','\x20was\x20requested.'];a104_0x356d=function(){return _0x93ab9b;};return a104_0x356d();}
1
+ function a104_0x3ac7(){const _0x9cd5ea=['kb_id_invalid','\x20is\x20not\x20company-scoped.','message','\x20while\x20page\x20','\x20records.','kb_list_contract_invalid','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','utf8','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','from','9259821okIfsP','string','9884922tvaDgN','cookie','\x20while\x20id\x20','createTime','push','Knowledge-base\x20get-one\x20returned\x20id\x20','Knowledge\x20base\x20','bool','Knowledge-base\x20list\x20returned\x20page\x20','\x20response\x20contains\x20an\x20invalid\x20version.','number','kb_response_invalid','updateTime','byteSize','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','length','items','282865bFkHpo','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','currentPage','appCode','content','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','7jwZQYK','kb_confirmation_required','kb_file_unreadable','yes','isFile','12BKsBLD','update','filter','sha256','hex','Knowledge-base\x20list\x20stopped\x20at\x20','kb_file_required','version','company','Knowledge-base\x20list\x20total\x20changed\x20from\x20','scope','\x20response\x20is\x20missing\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','964520BbCDtt','isSafeInteger','outcome_unknown','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','verification_unavailable','14521190NFfKNn','stringify','kb_scope_mismatch','num','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.',',\x20current\x20','kb_content_invalid','add','sha256:','5173059aQBjml','8vqqMlY','9180226mOYAaX','contentHash','kb_state_drift','Company\x20knowledge\x20base\x20not\x20found:\x20','title','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','2XbDLuC','kb_','\x20was\x20requested.','paging','cause','306','dry-run','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','trim','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','kb_not_found'];a104_0x3ac7=function(){return _0x9cd5ea;};return a104_0x3ac7();}const a104_0x161617=a104_0x13ab;(function(_0x35fd48,_0x2aac53){const _0x40f70d=a104_0x13ab,_0x5f3a52=_0x35fd48();while(!![]){try{const _0x28c799=-parseInt(_0x40f70d(0xb6))/0x1+-parseInt(_0x40f70d(0xcc))/0x2*(-parseInt(_0x40f70d(0xc4))/0x3)+-parseInt(_0x40f70d(0xa9))/0x4*(-parseInt(_0x40f70d(0x9e))/0x5)+-parseInt(_0x40f70d(0x8d))/0x6*(-parseInt(_0x40f70d(0xa4))/0x7)+-parseInt(_0x40f70d(0xc5))/0x8*(parseInt(_0x40f70d(0x8b))/0x9)+-parseInt(_0x40f70d(0xbb))/0xa+parseInt(_0x40f70d(0xc6))/0xb;if(_0x28c799===_0x2aac53)break;else _0x5f3a52['push'](_0x5f3a52['shift']());}catch(_0xc2fdae){_0x5f3a52['push'](_0x5f3a52['shift']());}}}(a104_0x3ac7,0xe3339));import{createHash}from'node:crypto';function a104_0x13ab(_0x389d09,_0x16f222){_0x389d09=_0x389d09-0x7e;const _0x3ac774=a104_0x3ac7();let _0x13ab8a=_0x3ac774[_0x389d09];return _0x13ab8a;}import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x161617(0xd1);export function kbError(_0x3ca57d,_0x1c4192,_0x558075){return new CliError(_0x3ca57d,0x1,_0x1c4192,_0x558075);}export function readKbId(_0x264c39){const _0x386e43=a104_0x161617,_0x4f436a=_0x264c39[_0x386e43(0xbe)]('id');if(!Number['isSafeInteger'](_0x4f436a)||_0x4f436a<=0x0)throw kbError(_0x386e43(0x81),_0x386e43(0x7e));return _0x4f436a;}export function requireKbExplicitYes(_0x2be4b0){const _0x4d7a35=a104_0x161617;if(_0x2be4b0['bool'](_0x4d7a35(0xd2))||_0x2be4b0[_0x4d7a35(0x94)](_0x4d7a35(0xa7)))return;throw kbError(_0x4d7a35(0xa5),'This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.',_0x4d7a35(0xb5));}function sha256(_0x315ff5){const _0x301c04=a104_0x161617;return _0x301c04(0xc3)+createHash(_0x301c04(0xac))[_0x301c04(0xaa)](_0x315ff5)['digest'](_0x301c04(0xad));}export function inspectKbContent(_0x2ce17a){const _0x29a794=a104_0x161617,_0x39d939=Buffer[_0x29a794(0x8a)](_0x2ce17a,_0x29a794(0x88));return{'content':_0x2ce17a,'byteSize':_0x39d939['byteLength'],'contentHash':sha256(_0x39d939)};}export async function readKbFile(_0x5e6d99){const _0x4b2480=a104_0x161617,_0x33ae6b=_0x5e6d99[_0x4b2480(0xd4)]();if(!_0x33ae6b)throw kbError(_0x4b2480(0xaf),_0x4b2480(0xd3),'Pass\x20--file\x20<knowledge.md>.');const _0x49ec94=resolve(_0x33ae6b);let _0x241c92;try{_0x241c92=await stat(_0x49ec94);}catch(_0x1ed622){throw kbError('kb_file_unreadable',_0x4b2480(0xb9)+_0x33ae6b,_0x1ed622 instanceof Error?_0x1ed622[_0x4b2480(0x83)]:String(_0x1ed622));}if(!_0x241c92[_0x4b2480(0xa8)]())throw kbError('kb_file_invalid',_0x4b2480(0x9b)+_0x33ae6b);let _0x378a17;try{_0x378a17=await readFile(_0x49ec94);}catch(_0x3c2bec){throw kbError(_0x4b2480(0xa6),_0x4b2480(0xd5)+_0x33ae6b,_0x3c2bec instanceof Error?_0x3c2bec['message']:String(_0x3c2bec));}let _0xaba57e;try{_0xaba57e=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})['decode'](_0x378a17);}catch{throw kbError(_0x4b2480(0xc1),_0x4b2480(0xcb)+_0x33ae6b);}if(!_0xaba57e[_0x4b2480(0xd4)]())throw kbError(_0x4b2480(0xc1),_0x4b2480(0xa3)+_0x33ae6b);return inspectKbContent(_0xaba57e);}export async function verifyKbMutationReadback(_0x52a9df,_0x22d99e,_0x5e9b69){const _0x15bef2=a104_0x161617;try{return await _0x5e9b69();}catch(_0x601611){const _0x1a6289=kbError(_0x15bef2(0xcd)+_0x52a9df+'_'+(_0x22d99e?_0x15bef2(0xb8):_0x15bef2(0xba)),'The\x20'+_0x52a9df+_0x15bef2(0x87),_0x15bef2(0x9f));Object['defineProperty'](_0x1a6289,_0x15bef2(0xd0),{'value':_0x601611,'enumerable':![]});throw _0x1a6289;}}function requireRecordText(_0x47acd2,_0x167e4b,_0x512273,_0x4e02ea={}){const _0x53740b=a104_0x161617;if(typeof _0x47acd2==='string'&&(_0x4e02ea['allowEmpty']||_0x47acd2['trim']()))return _0x47acd2;throw kbError('kb_response_invalid',_0x53740b(0x93)+String(_0x512273)+_0x53740b(0xb4)+_0x167e4b+'.');}export function projectKb(_0x13b2b8){const _0x375bb4=a104_0x161617;if(!Number[_0x375bb4(0xb7)](_0x13b2b8['id'])||_0x13b2b8['id']<=0x0)throw kbError(_0x375bb4(0x98),'Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.');if(!Number[_0x375bb4(0xb7)](_0x13b2b8[_0x375bb4(0xb0)])||_0x13b2b8[_0x375bb4(0xb0)]<0x0)throw kbError(_0x375bb4(0x98),_0x375bb4(0x93)+_0x13b2b8['id']+_0x375bb4(0x96));if(_0x13b2b8['scope']!=='company')throw kbError(_0x375bb4(0xbd),_0x375bb4(0x93)+_0x13b2b8['id']+_0x375bb4(0x82));const _0x51422f=requireRecordText(_0x13b2b8[_0x375bb4(0xa1)],_0x375bb4(0xa1),_0x13b2b8['id']),_0x117c13=requireRecordText(_0x13b2b8[_0x375bb4(0xca)],_0x375bb4(0xca),_0x13b2b8['id']),_0x2ff4cd=inspectKbContent(requireRecordText(_0x13b2b8['content'],_0x375bb4(0xa2),_0x13b2b8['id'],{'allowEmpty':!![]})),_0x20a730=typeof _0x13b2b8['createTime']===_0x375bb4(0x8c)||typeof _0x13b2b8[_0x375bb4(0x90)]===_0x375bb4(0x97)?_0x13b2b8[_0x375bb4(0x90)]:undefined,_0x137cab=typeof _0x13b2b8[_0x375bb4(0x99)]==='string'||typeof _0x13b2b8[_0x375bb4(0x99)]===_0x375bb4(0x97)?_0x13b2b8[_0x375bb4(0x99)]:undefined,_0x2083e4=sha256(JSON[_0x375bb4(0xbc)]({'id':_0x13b2b8['id'],'scope':_0x13b2b8[_0x375bb4(0xb3)],'appCode':_0x51422f,'title':_0x117c13,'version':_0x13b2b8[_0x375bb4(0xb0)],'contentHash':_0x2ff4cd[_0x375bb4(0xc7)],'createTime':_0x20a730,'updateTime':_0x137cab}));return{'id':_0x13b2b8['id'],'scope':_0x375bb4(0xb1),'appCode':_0x51422f,'title':_0x117c13,'version':_0x13b2b8[_0x375bb4(0xb0)],'contentByteSize':_0x2ff4cd[_0x375bb4(0x9a)],'contentHash':_0x2ff4cd[_0x375bb4(0xc7)],'snapshotHash':_0x2083e4,..._0x20a730!==undefined?{'createTime':_0x20a730}:{},..._0x137cab!==undefined?{'updateTime':_0x137cab}:{}};}export function assertCompanyKnowledgeBase(_0x1be85f,_0x38eb35,_0x5567c0){const _0x12e5c0=a104_0x161617;if(_0x5567c0!==undefined&&_0x1be85f['id']!==_0x5567c0)throw kbError(_0x12e5c0(0x98),_0x12e5c0(0x92)+_0x1be85f['id']+_0x12e5c0(0x8f)+_0x5567c0+'\x20was\x20requested.');if(_0x1be85f[_0x12e5c0(0xb3)]!==_0x12e5c0(0xb1)||_0x1be85f[_0x12e5c0(0xa1)]!==_0x38eb35)throw kbError(_0x12e5c0(0xbd),_0x12e5c0(0x93)+_0x1be85f['id']+_0x12e5c0(0x7f)+_0x38eb35+'.');}export async function fetchAllCompanyKnowledgeBases(_0xd6ae4b,_0xd93c24){const _0x33f327=a104_0x161617,_0x1618bc=[],_0x361bd5=new Set();let _0x5a7042=0x1,_0x44b88a=0x0,_0x19dc6f;while(!![]){const _0x4101fd=await listEnterpriseKnowledgeBases(_0xd6ae4b[_0x33f327(0x8e)],{'currentPage':_0x5a7042,'pageSize':LIST_PAGE_SIZE,'appCode':_0xd6ae4b[_0x33f327(0xa1)],..._0xd93c24}),_0x5335a4=_0x4101fd[_0x33f327(0xcf)]?.['totalCount'];if(_0x4101fd[_0x33f327(0xcf)]?.[_0x33f327(0xa0)]!==undefined&&_0x4101fd[_0x33f327(0xcf)][_0x33f327(0xa0)]!==_0x5a7042)throw kbError(_0x33f327(0x86),_0x33f327(0x95)+_0x4101fd[_0x33f327(0xcf)]['currentPage']+_0x33f327(0x84)+_0x5a7042+_0x33f327(0xce));if(_0x5335a4!==undefined){if(_0x19dc6f!==undefined&&_0x5335a4!==_0x19dc6f)throw kbError(_0x33f327(0x86),_0x33f327(0xb2)+_0x19dc6f+'\x20to\x20'+_0x5335a4+'\x20during\x20paging.','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.');_0x19dc6f=_0x5335a4;}for(const _0x2489ec of _0x4101fd[_0x33f327(0x9d)]){if(!Number[_0x33f327(0xb7)](_0x2489ec['id'])||_0x361bd5['has'](_0x2489ec['id']))throw kbError('kb_list_contract_invalid',_0x33f327(0xd6)+String(_0x2489ec['id'])+'.');_0x361bd5[_0x33f327(0xc2)](_0x2489ec['id']),_0x2489ec[_0x33f327(0xb3)]==='company'&&_0x2489ec[_0x33f327(0xa1)]===_0xd6ae4b[_0x33f327(0xa1)]&&_0x1618bc[_0x33f327(0x91)](_0x2489ec);}_0x44b88a+=_0x4101fd[_0x33f327(0x9d)][_0x33f327(0x9c)];if(_0x5335a4!==undefined&&_0x44b88a>=_0x5335a4)break;if(_0x4101fd[_0x33f327(0x9d)]['length']<LIST_PAGE_SIZE){if(_0x5335a4!==undefined&&_0x44b88a<_0x5335a4)throw kbError(_0x33f327(0x86),_0x33f327(0xae)+_0x44b88a+'\x20of\x20'+_0x5335a4+_0x33f327(0x85));break;}_0x5a7042+=0x1;}return _0x1618bc;}export function findExactCompanyKnowledgeBases(_0x37d0f2,_0x47a0b1,_0x5737c1){const _0x46d5b9=a104_0x161617;return _0x37d0f2[_0x46d5b9(0xab)](_0x2b96ac=>_0x2b96ac[_0x46d5b9(0xb3)]==='company'&&_0x2b96ac['appCode']===_0x47a0b1&&_0x2b96ac[_0x46d5b9(0xca)]===_0x5737c1);}export async function getKbOrNull(_0x2bb400,_0x1caca0){try{const _0x52503e=await getEnterpriseKnowledgeBase(_0x2bb400['cookie'],_0x1caca0);return assertCompanyKnowledgeBase(_0x52503e,_0x2bb400['appCode'],_0x1caca0),_0x52503e;}catch(_0x330521){if(getPlatformErrorCode(_0x330521)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x330521;}}export async function requireKb(_0x5503d6,_0x38b47e){const _0x5d521f=a104_0x161617,_0x13acda=await getKbOrNull(_0x5503d6,_0x38b47e);if(!_0x13acda)throw kbError(_0x5d521f(0x80),_0x5d521f(0xc9)+_0x38b47e,_0x5d521f(0x89));return _0x13acda;}export function assertExpectedKbVersion(_0x528596,_0x288814){const _0x453dbb=a104_0x161617;if(_0x288814===undefined||_0x528596[_0x453dbb(0xb0)]===_0x288814)return;throw kbError(_0x453dbb(0xc8),'Knowledge\x20base\x20'+_0x528596['id']+'\x20version\x20changed:\x20expected\x20'+_0x288814+_0x453dbb(0xc0)+_0x528596[_0x453dbb(0xb0)]+'.',_0x453dbb(0xbf));}
@@ -1 +1 @@
1
- const a105_0x364b7b=a105_0x4e05;function a105_0x4e05(_0x35c67e,_0x3dde5a){_0x35c67e=_0x35c67e-0x1a6;const _0x5f04ae=a105_0x5f04();let _0x4e0514=_0x5f04ae[_0x35c67e];return _0x4e0514;}(function(_0x3a3b61,_0x438c1b){const _0x34488e=a105_0x4e05,_0x486a2b=_0x3a3b61();while(!![]){try{const _0x2d1f99=-parseInt(_0x34488e(0x1c3))/0x1*(parseInt(_0x34488e(0x1bc))/0x2)+parseInt(_0x34488e(0x1a9))/0x3+-parseInt(_0x34488e(0x1d0))/0x4+-parseInt(_0x34488e(0x1c7))/0x5*(parseInt(_0x34488e(0x1c8))/0x6)+parseInt(_0x34488e(0x1b6))/0x7+-parseInt(_0x34488e(0x1ac))/0x8+parseInt(_0x34488e(0x1ce))/0x9;if(_0x2d1f99===_0x438c1b)break;else _0x486a2b['push'](_0x486a2b['shift']());}catch(_0x523717){_0x486a2b['push'](_0x486a2b['shift']());}}}(a105_0x5f04,0x4edbd));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a105_0x5f04(){const _0x27b5ef=['replacement','rabetbase\x20kb\x20detail\x20--id\x20','POST','file','string','21486GgBOOZ','high-risk-write','number','\x20--format\x20compress','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','46VmqtFw','kb_title_invalid','beforeRecord','push','3100390wIJcaz','6laRyfT','cookie','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','contentHash','kb_update_outcome_unknown','verified','13722606lLGzXO','company','2199584CoiUuq','appCode','title','expectedVersion','snapshotHash','--file\x20cannot\x20be\x20empty.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_verification_failed','trim','kb_file_required','version','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','484182zGSEKL','before','flag','2400256ezKhug','Nothing\x20to\x20update.','patch','isSafeInteger','New\x20knowledge-base\x20title','planned','content','update','expected-version','kb_update_empty','4207427lMJoaJ'];a105_0x5f04=function(){return _0x27b5ef;};return a105_0x5f04();}import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH='/admin/knowledge-base/update',NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x228ee3){const _0x187f34=a105_0x4e05,_0x34cf2e=readKbId(_0x228ee3),_0x416170=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1d2)),_0x1f436b=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1ba)),_0x4ce856=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1b4)),_0x5bdaec=_0x416170===undefined?undefined:String(_0x416170)[_0x187f34(0x1d8)]();if(_0x416170!==undefined&&!_0x5bdaec)throw kbError(_0x187f34(0x1c4),'--title\x20cannot\x20be\x20empty.');const _0x340aab=_0x1f436b===undefined?undefined:String(_0x1f436b)[_0x187f34(0x1d8)]();if(_0x1f436b!==undefined&&!_0x340aab)throw kbError(_0x187f34(0x1a6),_0x187f34(0x1d5));if(_0x5bdaec===undefined&&_0x340aab===undefined)throw kbError(_0x187f34(0x1b5),_0x187f34(0x1ad),_0x187f34(0x1a8));let _0x11d952;if(_0x4ce856!==undefined){_0x11d952=Number(_0x4ce856);if(!Number[_0x187f34(0x1af)](_0x11d952)||_0x11d952<0x0)throw kbError('kb_expected_version_invalid',_0x187f34(0x1d6));}return{'id':_0x34cf2e,'title':_0x5bdaec,'file':_0x340aab,'expectedVersion':_0x11d952};}async function prepareUpdate(_0x3fa021){const _0x23cb1c=a105_0x4e05,_0x43e52a=readUpdatePatch(_0x3fa021),_0x304882=await requireKb(_0x3fa021,_0x43e52a['id']);assertExpectedKbVersion(_0x304882,_0x43e52a['expectedVersion']);const _0x4e77bf=_0x43e52a[_0x23cb1c(0x1ba)]?await readKbFile(_0x43e52a[_0x23cb1c(0x1ba)]):undefined,_0x4f039e=projectKb(_0x304882),_0x23f650=projectKb({..._0x304882,..._0x43e52a[_0x23cb1c(0x1d2)]!==undefined?{'title':_0x43e52a['title']}:{},..._0x4e77bf?{'content':_0x4e77bf['content']}:{}});return{'patch':_0x43e52a,'beforeRecord':_0x304882,'before':_0x4f039e,'planned':_0x23f650,'replacement':_0x4e77bf};}export const kbUpdate={'service':'kb','command':a105_0x364b7b(0x1b3),'description':a105_0x364b7b(0x1ca),'risk':a105_0x364b7b(0x1bd),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x364b7b(0x1be),'required':!![],'description':'Company\x20knowledge-base\x20id'},{'name':a105_0x364b7b(0x1d2),'type':'string','required':![],'description':a105_0x364b7b(0x1b0)},{'name':a105_0x364b7b(0x1ba),'type':a105_0x364b7b(0x1bb),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':a105_0x364b7b(0x1b4),'type':a105_0x364b7b(0x1be),'required':![],'description':a105_0x364b7b(0x1c2)}],async 'validate'(_0x74c535){readUpdatePatch(_0x74c535),requireKbExplicitYes(_0x74c535);},async 'dryRun'(_0x3ab513){const _0x32f380=a105_0x364b7b,_0x1323ee=await prepareUpdate(_0x3ab513),_0x1217e8=_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':'update','selector':{'id':_0x1323ee[_0x32f380(0x1aa)]['id'],'scope':_0x32f380(0x1cf),'appCode':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d1)]},'before':_0x1323ee[_0x32f380(0x1aa)],'after':_0x1323ee[_0x32f380(0x1b1)],'dryRun':!![],'backend':{'method':_0x32f380(0x1b9),'path':UPDATE_PATH},'warnings':_0x1217e8,'verification':{'expectedVersion':_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d4)],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x1323ee['before']['id']+_0x32f380(0x1bf)}},{'method':_0x32f380(0x1b9),'url':UPDATE_PATH});},async 'execute'(_0x1d296f){const _0x316677=a105_0x364b7b;requireKbExplicitYes(_0x1d296f);const _0x52ddc4=await prepareUpdate(_0x1d296f),_0x2df4b5={'id':_0x52ddc4[_0x316677(0x1ae)]['id'],..._0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]!==undefined?{'title':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]}:{},..._0x52ddc4[_0x316677(0x1b7)]?{'content':_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1b2)]}:{}};let _0x278019=![];try{const _0x39af58=await updateEnterpriseKnowledgeBase(_0x1d296f[_0x316677(0x1c9)],_0x2df4b5);assertCompanyKnowledgeBase(_0x39af58,_0x1d296f[_0x316677(0x1d1)],_0x52ddc4[_0x316677(0x1ae)]['id']);}catch(_0x1cea7a){if(!isPlatformTransportFailure(_0x1cea7a))throw _0x1cea7a;_0x278019=!![];}const _0x43256b=await verifyKbMutationReadback('update',_0x278019,()=>requireKb(_0x1d296f,_0x52ddc4[_0x316677(0x1ae)]['id'])),_0x447587=projectKb(_0x43256b),_0x4c0bc=_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x43256b[_0x316677(0x1d2)]===_0x52ddc4['patch'][_0x316677(0x1d2)],_0xff8e2a=!_0x52ddc4['replacement']||inspectKbContent(_0x43256b[_0x316677(0x1b2)])['contentHash']===_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1cb)],_0x617a32=!_0x52ddc4[_0x316677(0x1b7)]||_0x43256b[_0x316677(0x1a7)]>_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1a7)],_0xe57e73=!_0x278019||_0x52ddc4[_0x316677(0x1b7)]!==undefined||_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1d2)]!==_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)];if(!_0x4c0bc||!_0xff8e2a||!_0x617a32||!_0xe57e73)throw kbError(_0x278019?_0x316677(0x1cc):_0x316677(0x1d7),'Company\x20knowledge\x20base\x20'+_0x52ddc4['patch']['id']+_0x316677(0x1c0),_0x316677(0x1c1)+_0x52ddc4[_0x316677(0x1ae)]['id']+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x47c23e=[];return _0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]!==undefined&&_0x47c23e[_0x316677(0x1c6)](NON_ATOMIC_WARNING),_0x278019&&_0x47c23e[_0x316677(0x1c6)]('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':_0x316677(0x1b3),'selector':{'id':_0x447587['id'],'scope':'company','appCode':_0x447587[_0x316677(0x1d1)]},'before':_0x52ddc4[_0x316677(0x1aa)],'after':_0x447587,'dryRun':![],'backend':{'method':_0x316677(0x1b9),'path':UPDATE_PATH},'warnings':_0x47c23e,'verification':{'status':_0x316677(0x1cd),'recoveredAfterUnknownResponse':_0x278019,'expectedVersion':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x316677(0x1b8)+_0x447587['id']+_0x316677(0x1bf)}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x447587['id']};}};
1
+ const a105_0x36ba5f=a105_0x290f;(function(_0x105db6,_0x7a500){const _0x4c4b98=a105_0x290f,_0x43fb89=_0x105db6();while(!![]){try{const _0x136324=parseInt(_0x4c4b98(0x8b))/0x1+parseInt(_0x4c4b98(0xb3))/0x2+parseInt(_0x4c4b98(0x99))/0x3*(parseInt(_0x4c4b98(0x8c))/0x4)+parseInt(_0x4c4b98(0x90))/0x5*(-parseInt(_0x4c4b98(0x94))/0x6)+-parseInt(_0x4c4b98(0xbc))/0x7+parseInt(_0x4c4b98(0x9a))/0x8+-parseInt(_0x4c4b98(0xb9))/0x9;if(_0x136324===_0x7a500)break;else _0x43fb89['push'](_0x43fb89['shift']());}catch(_0xbfca8){_0x43fb89['push'](_0x43fb89['shift']());}}}(a105_0x4496,0x490c8));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,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';function a105_0x290f(_0x2670a8,_0x4bcdc1){_0x2670a8=_0x2670a8-0x89;const _0x449605=a105_0x4496();let _0x290f3b=_0x449605[_0x2670a8];return _0x290f3b;}const UPDATE_PATH=a105_0x36ba5f(0xa7),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function a105_0x4496(){const _0x5e69fc=['string','content','appCode','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','76282DqyQee','beforeRecord','company','number','trim','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','840528isQdiD','high-risk-write','before','3519222EEcpGu','title','kb_expected_version_invalid','POST','337140EJZsUB','1409968hitOEf','cookie','update','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','135NtYzLV','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','planned','patch','35646zGHpOO','flag','kb_update_outcome_unknown','kb_verification_failed','New\x20knowledge-base\x20title','3xrWfaB','2623840FFYiJj','rabetbase\x20kb\x20detail\x20--id\x20','\x20--format\x20compress','contentHash','expectedVersion','isSafeInteger','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','Company\x20knowledge-base\x20id','push','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','expected-version','--title\x20cannot\x20be\x20empty.','version','/admin/knowledge-base/update','replacement','file','snapshotHash','--file\x20cannot\x20be\x20empty.','Nothing\x20to\x20update.','kb_update_empty','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.'];a105_0x4496=function(){return _0x5e69fc;};return a105_0x4496();}function readUpdatePatch(_0x40b60e){const _0x4656c2=a105_0x36ba5f,_0x4e9728=readKbId(_0x40b60e),_0x510391=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xbd)),_0x34cab4=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xa9)),_0x294499=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xa4)),_0x405c12=_0x510391===undefined?undefined:String(_0x510391)[_0x4656c2(0xb7)]();if(_0x510391!==undefined&&!_0x405c12)throw kbError('kb_title_invalid',_0x4656c2(0xa5));const _0x273381=_0x34cab4===undefined?undefined:String(_0x34cab4)['trim']();if(_0x34cab4!==undefined&&!_0x273381)throw kbError('kb_file_required',_0x4656c2(0xab));if(_0x405c12===undefined&&_0x273381===undefined)throw kbError(_0x4656c2(0xad),_0x4656c2(0xac),'Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.');let _0x523021;if(_0x294499!==undefined){_0x523021=Number(_0x294499);if(!Number[_0x4656c2(0x9f)](_0x523021)||_0x523021<0x0)throw kbError(_0x4656c2(0x89),_0x4656c2(0xa0));}return{'id':_0x4e9728,'title':_0x405c12,'file':_0x273381,'expectedVersion':_0x523021};}async function prepareUpdate(_0x5b3168){const _0x12e948=a105_0x36ba5f,_0x1fcc1e=readUpdatePatch(_0x5b3168),_0x57a62a=await requireKb(_0x5b3168,_0x1fcc1e['id']);assertExpectedKbVersion(_0x57a62a,_0x1fcc1e[_0x12e948(0x9e)]);const _0x33152e=_0x1fcc1e[_0x12e948(0xa9)]?await readKbFile(_0x1fcc1e[_0x12e948(0xa9)]):undefined,_0x5a8f4e=projectKb(_0x57a62a),_0x271db2=projectKb({..._0x57a62a,..._0x1fcc1e['title']!==undefined?{'title':_0x1fcc1e['title']}:{},..._0x33152e?{'content':_0x33152e[_0x12e948(0xb0)]}:{}});return{'patch':_0x1fcc1e,'beforeRecord':_0x57a62a,'before':_0x5a8f4e,'planned':_0x271db2,'replacement':_0x33152e};}export const kbUpdate={'service':'kb','command':'update','description':a105_0x36ba5f(0x8f),'risk':a105_0x36ba5f(0xba),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x36ba5f(0xb6),'required':!![],'description':a105_0x36ba5f(0xa1)},{'name':'title','type':a105_0x36ba5f(0xaf),'required':![],'description':a105_0x36ba5f(0x98)},{'name':a105_0x36ba5f(0xa9),'type':a105_0x36ba5f(0xaf),'required':![],'description':a105_0x36ba5f(0x91)},{'name':a105_0x36ba5f(0xa4),'type':a105_0x36ba5f(0xb6),'required':![],'description':a105_0x36ba5f(0xa3)}],async 'validate'(_0x5b376d){readUpdatePatch(_0x5b376d),requireKbExplicitYes(_0x5b376d);},async 'dryRun'(_0x2712e8){const _0x1cabe9=a105_0x36ba5f,_0x2f26fc=await prepareUpdate(_0x2712e8),_0x2b94ab=_0x2f26fc['patch'][_0x1cabe9(0x9e)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x1cabe9(0x8e),'selector':{'id':_0x2f26fc['before']['id'],'scope':'company','appCode':_0x2f26fc[_0x1cabe9(0xbb)][_0x1cabe9(0xb1)]},'before':_0x2f26fc[_0x1cabe9(0xbb)],'after':_0x2f26fc[_0x1cabe9(0x92)],'dryRun':!![],'backend':{'method':_0x1cabe9(0x8a),'path':UPDATE_PATH},'warnings':_0x2b94ab,'verification':{'expectedVersion':_0x2f26fc[_0x1cabe9(0x93)][_0x1cabe9(0x9e)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x2f26fc[_0x1cabe9(0xbb)][_0x1cabe9(0xaa)],'lookupCommand':_0x1cabe9(0x9b)+_0x2f26fc['before']['id']+_0x1cabe9(0x9c)}},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0xc9d0a6){const _0x18d9a5=a105_0x36ba5f;requireKbExplicitYes(_0xc9d0a6);const _0x4877d5=await prepareUpdate(_0xc9d0a6),_0x1c328f={'id':_0x4877d5[_0x18d9a5(0x93)]['id'],..._0x4877d5['patch']['title']!==undefined?{'title':_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)]}:{},..._0x4877d5[_0x18d9a5(0xa8)]?{'content':_0x4877d5['replacement'][_0x18d9a5(0xb0)]}:{}};let _0xf1c5a6=![];try{const _0x63a70d=await updateEnterpriseKnowledgeBase(_0xc9d0a6[_0x18d9a5(0x8d)],_0x1c328f);assertCompanyKnowledgeBase(_0x63a70d,_0xc9d0a6[_0x18d9a5(0xb1)],_0x4877d5[_0x18d9a5(0x93)]['id']);}catch(_0x30d273){if(!isPlatformTransportFailure(_0x30d273))throw _0x30d273;_0xf1c5a6=!![];}const _0x5e1c22=await verifyKbMutationReadback(_0x18d9a5(0x8e),_0xf1c5a6,()=>requireKb(_0xc9d0a6,_0x4877d5[_0x18d9a5(0x93)]['id'])),_0x182ed8=projectKb(_0x5e1c22),_0x5e8f14=_0x4877d5['patch']['title']===undefined||_0x5e1c22[_0x18d9a5(0xbd)]===_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)],_0xcbe7fb=!_0x4877d5[_0x18d9a5(0xa8)]||inspectKbContent(_0x5e1c22['content'])[_0x18d9a5(0x9d)]===_0x4877d5[_0x18d9a5(0xa8)]['contentHash'],_0x599d8a=!_0x4877d5['replacement']||_0x5e1c22[_0x18d9a5(0xa6)]>_0x4877d5[_0x18d9a5(0xb4)][_0x18d9a5(0xa6)],_0x57218e=!_0xf1c5a6||_0x4877d5[_0x18d9a5(0xa8)]!==undefined||_0x4877d5[_0x18d9a5(0x93)]['title']===undefined||_0x4877d5[_0x18d9a5(0xb4)][_0x18d9a5(0xbd)]!==_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)];if(!_0x5e8f14||!_0xcbe7fb||!_0x599d8a||!_0x57218e)throw kbError(_0xf1c5a6?_0x18d9a5(0x96):_0x18d9a5(0x97),'Company\x20knowledge\x20base\x20'+_0x4877d5[_0x18d9a5(0x93)]['id']+'\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.',_0x18d9a5(0xb8)+_0x4877d5['patch']['id']+_0x18d9a5(0xae));const _0x5b5049=[];return _0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0x9e)]!==undefined&&_0x5b5049['push'](NON_ATOMIC_WARNING),_0xf1c5a6&&_0x5b5049[_0x18d9a5(0xa2)](_0x18d9a5(0xb2)),{'ok':!![],'data':{'operation':_0x18d9a5(0x8e),'selector':{'id':_0x182ed8['id'],'scope':_0x18d9a5(0xb5),'appCode':_0x182ed8[_0x18d9a5(0xb1)]},'before':_0x4877d5[_0x18d9a5(0xbb)],'after':_0x182ed8,'dryRun':![],'backend':{'method':_0x18d9a5(0x8a),'path':UPDATE_PATH},'warnings':_0x5b5049,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0xf1c5a6,'expectedVersion':_0x4877d5[_0x18d9a5(0x93)]['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x18d9a5(0x9b)+_0x182ed8['id']+'\x20--format\x20compress'}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x182ed8['id']};}};
@@ -1 +1 @@
1
- const a106_0x32646b=a106_0x187d;function a106_0x3aac(){const _0xc8b7ba=['message','\x20\x20\x20Details:\x20','699LGvorw','error','duration','clear','log','395064VTiUrW','222TcFYbj','*\x20No\x20logs\x20found','44310048pqSLcJ','\x20\x20\x20Time:\x20','level','write','493620oVUheb','153pmjXCK','5koykwW','readLogs','181531HUYyZV','logs','warn','details','70rPNBMm','keys','31702xjOEJH','258870iesvsu','9436xMrlRZ','show','*\x20Logs\x20cleared','stringify','*\x20Lovrabet\x20CLI\x20logs:\x0a','clearLogs','length'];a106_0x3aac=function(){return _0xc8b7ba;};return a106_0x3aac();}(function(_0x29fe86,_0x30ada4){const _0x5ef76b=a106_0x187d,_0x147722=_0x29fe86();while(!![]){try{const _0x568bdf=-parseInt(_0x5ef76b(0x151))/0x1*(parseInt(_0x5ef76b(0x139))/0x2)+parseInt(_0x5ef76b(0x143))/0x3*(-parseInt(_0x5ef76b(0x13a))/0x4)+-parseInt(_0x5ef76b(0x14f))/0x5+-parseInt(_0x5ef76b(0x149))/0x6*(parseInt(_0x5ef76b(0x153))/0x7)+-parseInt(_0x5ef76b(0x148))/0x8*(parseInt(_0x5ef76b(0x150))/0x9)+-parseInt(_0x5ef76b(0x136))/0xa*(-parseInt(_0x5ef76b(0x138))/0xb)+parseInt(_0x5ef76b(0x14b))/0xc;if(_0x568bdf===_0x30ada4)break;else _0x147722['push'](_0x147722['shift']());}catch(_0x166c8d){_0x147722['push'](_0x147722['shift']());}}}(a106_0x3aac,0x96e74));function a106_0x187d(_0x2b1586,_0x1387cc){_0x2b1586=_0x2b1586-0x133;const _0x3aac8b=a106_0x3aac();let _0x187dd0=_0x3aac8b[_0x2b1586];return _0x187dd0;}import{logger}from'../../utils/logger.js';function printLogs(_0x2f42d8){const _0x4c268c=a106_0x187d;if(_0x2f42d8[_0x4c268c(0x140)]===0x0){console['log'](_0x4c268c(0x14a));return;}console[_0x4c268c(0x147)](_0x4c268c(0x13e)),_0x2f42d8['forEach']((_0x266922,_0x15c368)=>{const _0x2189e4=_0x4c268c,_0x595eda=new Date(_0x266922['timestamp'])['toLocaleString']('en-US'),_0x20a3cd=_0x266922[_0x2189e4(0x14d)]==='success'?'√':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x144)?'×':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x134)?'!':'i';console[_0x2189e4(0x147)](_0x15c368+0x1+'.\x20'+_0x20a3cd+'\x20['+_0x266922['command']+']\x20'+_0x266922[_0x2189e4(0x141)]),console[_0x2189e4(0x147)](_0x2189e4(0x14c)+_0x595eda),_0x266922[_0x2189e4(0x145)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x266922[_0x2189e4(0x145)]+'ms'),_0x266922['details']&&Object[_0x2189e4(0x137)](_0x266922[_0x2189e4(0x135)])['length']>0x0&&console[_0x2189e4(0x147)](_0x2189e4(0x142)+JSON[_0x2189e4(0x13d)](_0x266922['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x13b),'description':'View\x20command\x20history\x20logs','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x339f42){const _0x258ddf=a106_0x32646b;return printLogs(logger[_0x258ddf(0x152)]()),{'ok':!![]};}},{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x146),'description':'Clear\x20command\x20history\x20logs','risk':a106_0x32646b(0x14e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xb527cc){const _0x421545=a106_0x32646b;return logger[_0x421545(0x13f)](),console[_0x421545(0x147)](_0x421545(0x13c)),{'ok':!![]};}}];
1
+ const a106_0x5252f0=a106_0x208d;(function(_0x39ff8f,_0x12fabb){const _0x1e7144=a106_0x208d,_0x1ec4d6=_0x39ff8f();while(!![]){try{const _0x788b63=parseInt(_0x1e7144(0x96))/0x1*(-parseInt(_0x1e7144(0x7d))/0x2)+-parseInt(_0x1e7144(0x7f))/0x3+-parseInt(_0x1e7144(0x7c))/0x4+parseInt(_0x1e7144(0x7b))/0x5*(-parseInt(_0x1e7144(0x9b))/0x6)+parseInt(_0x1e7144(0x97))/0x7*(-parseInt(_0x1e7144(0x95))/0x8)+-parseInt(_0x1e7144(0x9f))/0x9*(parseInt(_0x1e7144(0x80))/0xa)+-parseInt(_0x1e7144(0x99))/0xb*(-parseInt(_0x1e7144(0x9c))/0xc);if(_0x788b63===_0x12fabb)break;else _0x1ec4d6['push'](_0x1ec4d6['shift']());}catch(_0x50e0ac){_0x1ec4d6['push'](_0x1ec4d6['shift']());}}}(a106_0x57a4,0x8252c));import{logger}from'../../utils/logger.js';function a106_0x57a4(){const _0x64f83d=['653784jpeStR','16xFuqTf','7FQnobU','View\x20command\x20history\x20logs','2821258iRkpyS','forEach','6XIasxR','180nqWGRI','message','readLogs','9rfDKmQ','length','\x20\x20\x20Time:\x20','1444470BJCdOX','3511116JLFEbr','111464DVCbDb','command','2580963nygKXo','3129370jtYkhe','log','keys','details','warn','stringify','en-US','clear','level','success','toLocaleString','*\x20No\x20logs\x20found','Clear\x20command\x20history\x20logs','timestamp','read','\x20\x20\x20Duration:\x20','logs','\x20\x20\x20Details:\x20','write','duration','show'];a106_0x57a4=function(){return _0x64f83d;};return a106_0x57a4();}function a106_0x208d(_0x1a1111,_0x17c10a){_0x1a1111=_0x1a1111-0x79;const _0x57a427=a106_0x57a4();let _0x208d6b=_0x57a427[_0x1a1111];return _0x208d6b;}function printLogs(_0x1e229f){const _0xde9cb2=a106_0x208d;if(_0x1e229f[_0xde9cb2(0x79)]===0x0){console[_0xde9cb2(0x81)](_0xde9cb2(0x8b));return;}console[_0xde9cb2(0x81)]('*\x20Lovrabet\x20CLI\x20logs:\x0a'),_0x1e229f[_0xde9cb2(0x9a)]((_0xe69208,_0x468232)=>{const _0x2b1613=_0xde9cb2,_0x38b79c=new Date(_0xe69208[_0x2b1613(0x8d)])[_0x2b1613(0x8a)](_0x2b1613(0x86)),_0x4b3e55=_0xe69208[_0x2b1613(0x88)]===_0x2b1613(0x89)?'√':_0xe69208[_0x2b1613(0x88)]==='error'?'×':_0xe69208[_0x2b1613(0x88)]===_0x2b1613(0x84)?'!':'i';console[_0x2b1613(0x81)](_0x468232+0x1+'.\x20'+_0x4b3e55+'\x20['+_0xe69208[_0x2b1613(0x7e)]+']\x20'+_0xe69208[_0x2b1613(0x9d)]),console[_0x2b1613(0x81)](_0x2b1613(0x7a)+_0x38b79c),_0xe69208[_0x2b1613(0x93)]&&console[_0x2b1613(0x81)](_0x2b1613(0x8f)+_0xe69208[_0x2b1613(0x93)]+'ms'),_0xe69208[_0x2b1613(0x83)]&&Object[_0x2b1613(0x82)](_0xe69208[_0x2b1613(0x83)])['length']>0x0&&console[_0x2b1613(0x81)](_0x2b1613(0x91)+JSON[_0x2b1613(0x85)](_0xe69208[_0x2b1613(0x83)],null,0x2)),console[_0x2b1613(0x81)]('');});}export const logsDefinitions=[{'service':a106_0x5252f0(0x90),'command':a106_0x5252f0(0x94),'description':a106_0x5252f0(0x98),'risk':a106_0x5252f0(0x8e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xca6a33){const _0x954980=a106_0x5252f0;return printLogs(logger[_0x954980(0x9e)]()),{'ok':!![]};}},{'service':a106_0x5252f0(0x90),'command':a106_0x5252f0(0x87),'description':a106_0x5252f0(0x8c),'risk':a106_0x5252f0(0x92),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1a42be){const _0x221028=a106_0x5252f0;return logger['clearLogs'](),console[_0x221028(0x81)]('*\x20Logs\x20cleared'),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a107_0x4f8c40=a107_0x4fb5;(function(_0x341558,_0xc22d18){const _0x5c18a6=a107_0x4fb5,_0x237754=_0x341558();while(!![]){try{const _0x29c089=-parseInt(_0x5c18a6(0x9a))/0x1+parseInt(_0x5c18a6(0xa7))/0x2+parseInt(_0x5c18a6(0x92))/0x3+-parseInt(_0x5c18a6(0xb4))/0x4*(parseInt(_0x5c18a6(0xab))/0x5)+-parseInt(_0x5c18a6(0x90))/0x6*(-parseInt(_0x5c18a6(0x80))/0x7)+-parseInt(_0x5c18a6(0xa6))/0x8*(parseInt(_0x5c18a6(0xb0))/0x9)+-parseInt(_0x5c18a6(0xbe))/0xa*(-parseInt(_0x5c18a6(0x84))/0xb);if(_0x29c089===_0xc22d18)break;else _0x237754['push'](_0x237754['shift']());}catch(_0x2452cb){_0x237754['push'](_0x237754['shift']());}}}(a107_0x324f,0xcfdaa));import a107_0x3dc387 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,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a107_0x324f(){const _0x3fbd0b=['3454SaksnL','selectedAppName','object','rawFlags','bool','isSafeInteger','gray','validation','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Online\x20menu\x20list\x20fetched','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','label','10608XTVKqX','map','2416314iGJQeI','replace','POST','Updating\x20','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','Menu\x20asset\x20update\x20failed','\x20menu(s)\x20with\x20existing\x20resources','menu-ids','803856opXrdB','paths','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','mode','yellow','str','\x20menu(s)','script','\x20\x20Update\x20','jsUrl','force','trim','48GvMnkZ','257852FffdNu','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','flag','skipped','188755SpcfPF','message','\x20menu\x20resource\x20set(s).','\x20failed.','appcode','1277829LNfVLn','asset-update','yes','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','128YALAYx','Failed\x20to\x20fetch\x20online\x20menu\x20list','cookie','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','Menu\x20asset\x20update\x20completed:\x20','params','boolean','\x20updated,\x20','76060CspScv','load-mode','filter','\x20\x20Cancelled.','✓\x20Menu\x20asset\x20update\x20completed:\x20','fetch','/smartapi/menu/update','\x20menu(s)...','Menu\x20asset\x20update\x20skipped','split','high-risk-write','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','import','updated','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Fetching\x20online\x20menu\x20list...','length','menu','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','appCode','isArray','string','\x20menu(s)\x20updated','1554YXpuCD','all','cssUrl','Would\x20update\x20'];a107_0x324f=function(){return _0x3fbd0b;};return a107_0x324f();}import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';function a107_0x4fb5(_0x527465,_0x17fc9f){_0x527465=_0x527465-0x76;const _0x324f54=a107_0x324f();let _0x4fb57d=_0x324f54[_0x527465];return _0x4fb57d;}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x4f8c40(0x7a),'command':a107_0x4f8c40(0xb1),'description':a107_0x4f8c40(0xc9),'risk':a107_0x4f8c40(0xc8),'flags':[{'name':a107_0x4f8c40(0xbb),'type':a107_0x4f8c40(0x7e),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+'JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}'},{'name':'mode','type':a107_0x4f8c40(0x7e),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x4f8c40(0x77),'enum':[a107_0x4f8c40(0x93),'patch'],'default':a107_0x4f8c40(0xca)},{'name':a107_0x4f8c40(0xa4),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xa8)},{'name':'menu-ids','type':a107_0x4f8c40(0x7e),'description':a107_0x4f8c40(0x7b)},{'name':'paths','type':a107_0x4f8c40(0x7e),'description':'Exact\x20comma-separated\x20menu\x20paths\x20to\x20update'},{'name':a107_0x4f8c40(0x81),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xb3)},{'name':a107_0x4f8c40(0xbf),'type':a107_0x4f8c40(0x7e),'enum':['import',a107_0x4f8c40(0xa1),a107_0x4f8c40(0xc3)],'description':a107_0x4f8c40(0xb8)}],async 'dryRun'(_0x5c87b1){const _0x55bc84=a107_0x4f8c40;ensureRunnableContext(_0x5c87b1[_0x55bc84(0x87)],_0x5c87b1['selectedAppName']);const _0x24527c=await runMenuUpdateCore(_0x5c87b1[_0x55bc84(0x7c)],_0x5c87b1['cookie'],_0x5c87b1['str'](_0x55bc84(0xbb)),{'mode':parseMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0x9d))),'dryRun':!![],'force':_0x5c87b1['bool'](_0x55bc84(0xa4)),'selection':parseSelection(_0x5c87b1),'loadScriptMode':parseLoadScriptMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0xbf)))});return{'method':_0x55bc84(0x94),'url':_0x55bc84(0xc4),'body':_0x24527c,'description':_0x24527c[_0x55bc84(0xaa)]?_0x55bc84(0x8c):_0x55bc84(0x83)+(_0x24527c['diffs']?.[_0x55bc84(0x79)]??0x0)+_0x55bc84(0xad)};},async 'execute'(_0x35e22e){const _0x447500=a107_0x4f8c40;ensureRunnableContext(_0x35e22e['rawFlags'],_0x35e22e[_0x447500(0x85)]);const _0x4bd9c2=_0x35e22e[_0x447500(0xa9)](_0x447500(0xb2)),_0x9f95ee=_0x35e22e[_0x447500(0x9f)](_0x447500(0xbb)),_0x490668=parseMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0x9d))),_0xc02560=_0x35e22e[_0x447500(0x88)](_0x447500(0xa4)),_0x3bb86b=parseLoadScriptMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0xbf))),_0x4b0606=parseParams(_0x9f95ee),_0x30df1c=!!(_0x4b0606[_0x447500(0xa3)]||_0x4b0606[_0x447500(0x82)]);if(_0x4bd9c2||_0x30df1c&&!isInteractive()){const _0x4d0388=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)],_0x9f95ee,{'mode':_0x490668,'force':_0xc02560,'selection':parseSelection(_0x35e22e),'loadScriptMode':_0x3bb86b});return _0x4d0388['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0x447500(0xc2)+_0x4d0388[_0x447500(0x76)]+_0x447500(0x7f)),_0x4d0388[_0x447500(0xb7)]>0x0&&writeCliSideChannelLine('!\x20'+_0x4d0388['failed']+'\x20menu(s)\x20failed')),{'ok':_0x4d0388['failed']===0x0,'data':_0x4d0388,'message':_0x4d0388[_0x447500(0xaa)]?_0x447500(0xc6):_0x447500(0xba)+_0x4d0388[_0x447500(0x76)]+_0x447500(0xbd)+_0x4d0388[_0x447500(0xb7)]+_0x447500(0xae)};}requireInteractive();const _0x5cdf67=startSpinner(_0x447500(0x78));let _0x38965b;try{_0x38965b=await fetchOnlineMenuList(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)]),stopSpinner(_0x5cdf67,_0x447500(0x8d),!![]);}catch(_0x109b65){stopSpinner(_0x5cdf67,_0x447500(0xb5),![]);throw CliErrors['validation'](_0x109b65 instanceof Error?_0x109b65[_0x447500(0xac)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x44890b=filterMenusWithResources(_0x38965b),_0x273598=parseSelection(_0x35e22e,![]),_0x36b6df=_0x273598?selectMenusForUpdate(_0x44890b,_0x273598):_0x44890b;if(_0x36b6df[_0x447500(0x79)]===0x0)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x9e)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x3dc387['cyan']('\x20\x20Found\x20'+_0x36b6df[_0x447500(0x79)]+_0x447500(0x98))),writeCliSideChannelLine(renderUpdateSummary(_0x36b6df[_0x447500(0x91)](_0x41693d=>_0x41693d[_0x447500(0x8f)]),[_0x4b0606['jsUrl'],_0x4b0606[_0x447500(0x82)]])),writeCliSideChannelLine('');let _0xb7618b=_0x4b0606[_0x447500(0xa3)],_0x3aa13b=_0x4b0606[_0x447500(0x82)];!_0xb7618b&&(_0xb7618b=await askJsUrl());!_0x3aa13b&&(_0x3aa13b=await askCssUrl());const _0x4117af=await askConfirm(_0x447500(0xa2)+_0x36b6df['length']+'\x20menu(s)\x20with\x20JS:\x20'+_0xb7618b+'\x20and\x20CSS:\x20'+_0x3aa13b+'?');if(!_0x4117af)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x8a)](_0x447500(0xc1))),{'ok':!![]};const _0x58972c=startSpinner(_0x447500(0x95)+_0x36b6df[_0x447500(0x79)]+_0x447500(0xc5));try{const _0x6e17c7=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e['cookie'],JSON['stringify']({'jsUrl':_0xb7618b,'cssUrl':_0x3aa13b}),{'mode':_0x490668,'force':_0xc02560,'selection':{'all':![],'menuIds':_0x36b6df['map'](_0x1dd29f=>_0x1dd29f['id']),'paths':[]},'loadScriptMode':_0x3bb86b});return stopSpinner(_0x58972c,'Updated\x20'+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xa0),_0x6e17c7['failed']===0x0),{'ok':_0x6e17c7[_0x447500(0xb7)]===0x0,'data':_0x6e17c7,'message':_0x6e17c7['failed']>0x0?_0x447500(0xba)+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xbd)+_0x6e17c7[_0x447500(0xb7)]+'\x20failed.':'Menu\x20asset\x20update\x20completed:\x20'+_0x6e17c7['updated']+'\x20updated.'};}catch(_0x4bcd99){stopSpinner(_0x58972c,_0x447500(0x97),![]);throw CliErrors[_0x447500(0x8b)](_0x4bcd99 instanceof Error?_0x4bcd99['message']:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x3023cf,_0x3402f1){const _0x34b977=a107_0x4f8c40,_0x3bea20=_0x3023cf[_0x34b977(0xaf)]?String(_0x3023cf[_0x34b977(0xaf)])[_0x34b977(0xa5)]():'';if(!isInProject()&&!_0x3402f1&&!_0x3bea20)throw CliErrors['validation'](_0x34b977(0xb9)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x97a1f){const _0x444a6a=a107_0x4f8c40;if(!_0x97a1f)return _0x444a6a(0xca);if(_0x97a1f==='replace'||_0x97a1f===_0x444a6a(0xca))return _0x97a1f;throw CliErrors[_0x444a6a(0x8b)](_0x444a6a(0x9c));}function parseSelection(_0x201c6b,_0x5915e7=!![]){const _0x2d65de=a107_0x4f8c40,_0x416793=_0x201c6b[_0x2d65de(0x88)]('all'),_0x140e3=parseMenuIds(_0x201c6b[_0x2d65de(0x9f)](_0x2d65de(0x99))),_0x2e4009=parseCsv(_0x201c6b['str'](_0x2d65de(0x9b))),_0x1af8ae=_0x140e3[_0x2d65de(0x79)]>0x0||_0x2e4009[_0x2d65de(0x79)]>0x0;if(_0x416793&&_0x1af8ae)throw CliErrors[_0x2d65de(0x8b)]('--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.');if(!_0x416793&&!_0x1af8ae){if(!_0x5915e7)return undefined;throw CliErrors['validation'](_0x2d65de(0x8e));}return{'all':_0x416793,'menuIds':_0x140e3,'paths':_0x2e4009};}function parseMenuIds(_0x473114){const _0x2c3a32=a107_0x4f8c40,_0x44f9e9=parseCsv(_0x473114),_0x4b51ca=_0x44f9e9[_0x2c3a32(0x91)](Number);if(_0x4b51ca['some'](_0x19b55f=>!Number[_0x2c3a32(0x89)](_0x19b55f)||_0x19b55f<=0x0))throw CliErrors[_0x2c3a32(0x8b)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x4b51ca)];}function parseCsv(_0x413ce2){const _0x783a5b=a107_0x4f8c40;return[...new Set(_0x413ce2[_0x783a5b(0xc7)](',')[_0x783a5b(0x91)](_0x20779b=>_0x20779b['trim']())[_0x783a5b(0xc0)](Boolean))];}function parseLoadScriptMode(_0x4a52e5){const _0x20de02=a107_0x4f8c40;if(!_0x4a52e5)return undefined;if(_0x4a52e5===_0x20de02(0xcb)||_0x4a52e5==='script'||_0x4a52e5===_0x20de02(0xc3))return _0x4a52e5;throw CliErrors[_0x20de02(0x8b)](_0x20de02(0x96));}function parseParams(_0x5594ae){const _0x39daf0=a107_0x4f8c40;if(!_0x5594ae)return{};try{const _0x20e871=JSON['parse'](_0x5594ae);if(typeof _0x20e871!==_0x39daf0(0x86)||_0x20e871===null||Array[_0x39daf0(0x7d)](_0x20e871))return{};return{'jsUrl':typeof _0x20e871[_0x39daf0(0xa3)]===_0x39daf0(0x7e)?_0x20e871[_0x39daf0(0xa3)][_0x39daf0(0xa5)]():undefined,'cssUrl':typeof _0x20e871[_0x39daf0(0x82)]==='string'?_0x20e871[_0x39daf0(0x82)][_0x39daf0(0xa5)]():undefined};}catch{return{};}}
1
+ const a107_0x3985b2=a107_0x3e81;(function(_0x39e591,_0x23b643){const _0x2da4f7=a107_0x3e81,_0x966485=_0x39e591();while(!![]){try{const _0x5e3e36=parseInt(_0x2da4f7(0x174))/0x1*(parseInt(_0x2da4f7(0x15f))/0x2)+parseInt(_0x2da4f7(0x19d))/0x3+parseInt(_0x2da4f7(0x18b))/0x4*(-parseInt(_0x2da4f7(0x19b))/0x5)+parseInt(_0x2da4f7(0x167))/0x6+-parseInt(_0x2da4f7(0x184))/0x7*(parseInt(_0x2da4f7(0x180))/0x8)+-parseInt(_0x2da4f7(0x175))/0x9+-parseInt(_0x2da4f7(0x162))/0xa;if(_0x5e3e36===_0x23b643)break;else _0x966485['push'](_0x966485['shift']());}catch(_0x563f60){_0x966485['push'](_0x966485['shift']());}}}(a107_0x467c,0x1ddac));import a107_0xc5405c 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,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':'menu','command':a107_0x3985b2(0x15c),'description':a107_0x3985b2(0x16b),'risk':a107_0x3985b2(0x160),'flags':[{'name':a107_0x3985b2(0x166),'type':'string','description':a107_0x3985b2(0x18c)+a107_0x3985b2(0x1a1)},{'name':'mode','type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':['replace',a107_0x3985b2(0x16c)],'default':a107_0x3985b2(0x16c)},{'name':a107_0x3985b2(0x16d),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x16f)},{'name':'menu-ids','type':a107_0x3985b2(0x19f),'description':a107_0x3985b2(0x17a)},{'name':a107_0x3985b2(0x17c),'type':'string','description':a107_0x3985b2(0x177)},{'name':a107_0x3985b2(0x18e),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x188)},{'name':a107_0x3985b2(0x163),'type':a107_0x3985b2(0x19f),'enum':['import',a107_0x3985b2(0x172),'fetch'],'description':a107_0x3985b2(0x1ac)}],async 'dryRun'(_0x3ef557){const _0x570824=a107_0x3985b2;ensureRunnableContext(_0x3ef557[_0x570824(0x1a6)],_0x3ef557[_0x570824(0x161)]);const _0x473adb=await runMenuUpdateCore(_0x3ef557[_0x570824(0x181)],_0x3ef557[_0x570824(0x190)],_0x3ef557[_0x570824(0x18d)](_0x570824(0x166)),{'mode':parseMode(_0x3ef557[_0x570824(0x18d)]('mode')),'dryRun':!![],'force':_0x3ef557[_0x570824(0x191)]('force'),'selection':parseSelection(_0x3ef557),'loadScriptMode':parseLoadScriptMode(_0x3ef557[_0x570824(0x18d)](_0x570824(0x163)))});return{'method':'POST','url':_0x570824(0x185),'body':_0x473adb,'description':_0x473adb[_0x570824(0x19c)]?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':'Would\x20update\x20'+(_0x473adb[_0x570824(0x18a)]?.[_0x570824(0x16a)]??0x0)+_0x570824(0x178)};},async 'execute'(_0x4ed46f){const _0xba3caf=a107_0x3985b2;ensureRunnableContext(_0x4ed46f[_0xba3caf(0x1a6)],_0x4ed46f[_0xba3caf(0x161)]);const _0x49ae5f=_0x4ed46f[_0xba3caf(0x1a8)](_0xba3caf(0x1ae)),_0x4630ae=_0x4ed46f['str'](_0xba3caf(0x166)),_0xe492fd=parseMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x1a7))),_0x1909a2=_0x4ed46f[_0xba3caf(0x191)]('force'),_0x380a81=parseLoadScriptMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x163))),_0x32d70f=parseParams(_0x4630ae),_0x48b2e7=!!(_0x32d70f[_0xba3caf(0x196)]||_0x32d70f[_0xba3caf(0x15a)]);if(_0x49ae5f||_0x48b2e7&&!isInteractive()){const _0x1cc9b3=await runMenuUpdateCore(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)],_0x4630ae,{'mode':_0xe492fd,'force':_0x1909a2,'selection':parseSelection(_0x4ed46f),'loadScriptMode':_0x380a81});return _0x1cc9b3['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0xba3caf(0x171)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x187)),_0x1cc9b3[_0xba3caf(0x1ab)]>0x0&&writeCliSideChannelLine('!\x20'+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20menu(s)\x20failed')),{'ok':_0x1cc9b3[_0xba3caf(0x1ab)]===0x0,'data':_0x1cc9b3,'message':_0x1cc9b3['skipped']?'Menu\x20asset\x20update\x20skipped':_0xba3caf(0x1a2)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20failed.'};}requireInteractive();const _0x3fe4c4=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x2d86ad;try{_0x2d86ad=await fetchOnlineMenuList(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)]),stopSpinner(_0x3fe4c4,_0xba3caf(0x173),!![]);}catch(_0x581a29){stopSpinner(_0x3fe4c4,_0xba3caf(0x1a0),![]);throw CliErrors[_0xba3caf(0x192)](_0x581a29 instanceof Error?_0x581a29[_0xba3caf(0x193)]:_0xba3caf(0x1a0));}const _0x1f8e52=filterMenusWithResources(_0x2d86ad),_0x2250bb=parseSelection(_0x4ed46f,![]),_0x16ae34=_0x2250bb?selectMenusForUpdate(_0x1f8e52,_0x2250bb):_0x1f8e52;if(_0x16ae34[_0xba3caf(0x16a)]===0x0)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x169)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x16e)](_0xba3caf(0x17d)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x183))),writeCliSideChannelLine(renderUpdateSummary(_0x16ae34[_0xba3caf(0x164)](_0x2c657e=>_0x2c657e[_0xba3caf(0x1ad)]),[_0x32d70f[_0xba3caf(0x196)],_0x32d70f[_0xba3caf(0x15a)]])),writeCliSideChannelLine('');let _0x965f48=_0x32d70f[_0xba3caf(0x196)],_0x422661=_0x32d70f[_0xba3caf(0x15a)];!_0x965f48&&(_0x965f48=await askJsUrl());!_0x422661&&(_0x422661=await askCssUrl());const _0x4abdfd=await askConfirm('\x20\x20Update\x20'+_0x16ae34[_0xba3caf(0x16a)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x965f48+_0xba3caf(0x194)+_0x422661+'?');if(!_0x4abdfd)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x17f)](_0xba3caf(0x17e))),{'ok':!![]};const _0x3d6bb4=startSpinner(_0xba3caf(0x182)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x1aa));try{const _0x5c2ec9=await runMenuUpdateCore(_0x4ed46f['appCode'],_0x4ed46f[_0xba3caf(0x190)],JSON[_0xba3caf(0x197)]({'jsUrl':_0x965f48,'cssUrl':_0x422661}),{'mode':_0xe492fd,'force':_0x1909a2,'selection':{'all':![],'menuIds':_0x16ae34[_0xba3caf(0x164)](_0x15940f=>_0x15940f['id']),'paths':[]},'loadScriptMode':_0x380a81});return stopSpinner(_0x3d6bb4,_0xba3caf(0x15d)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x18f),_0x5c2ec9[_0xba3caf(0x1ab)]===0x0),{'ok':_0x5c2ec9['failed']===0x0,'data':_0x5c2ec9,'message':_0x5c2ec9[_0xba3caf(0x1ab)]>0x0?_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x5c2ec9[_0xba3caf(0x1ab)]+'\x20failed.':_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+'\x20updated.'};}catch(_0x2f3cf1){stopSpinner(_0x3d6bb4,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors[_0xba3caf(0x192)](_0x2f3cf1 instanceof Error?_0x2f3cf1['message']:_0xba3caf(0x19e));}}};function ensureRunnableContext(_0x1d447d,_0x1d7f49){const _0x14ec34=a107_0x3985b2,_0x25feeb=_0x1d447d[_0x14ec34(0x198)]?String(_0x1d447d['appcode'])[_0x14ec34(0x1a4)]():'';if(!isInProject()&&!_0x1d7f49&&!_0x25feeb)throw CliErrors[_0x14ec34(0x192)](_0x14ec34(0x195)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x361ae9){const _0x9f0a87=a107_0x3985b2;if(!_0x361ae9)return _0x9f0a87(0x16c);if(_0x361ae9===_0x9f0a87(0x1a9)||_0x361ae9==='patch')return _0x361ae9;throw CliErrors['validation'](_0x9f0a87(0x176));}function parseSelection(_0x14c078,_0x58cfd4=!![]){const _0x5bb571=a107_0x3985b2,_0x37e77f=_0x14c078[_0x5bb571(0x191)](_0x5bb571(0x18e)),_0x3c1272=parseMenuIds(_0x14c078[_0x5bb571(0x18d)](_0x5bb571(0x168))),_0x23cb27=parseCsv(_0x14c078[_0x5bb571(0x18d)]('paths')),_0x47c973=_0x3c1272[_0x5bb571(0x16a)]>0x0||_0x23cb27['length']>0x0;if(_0x37e77f&&_0x47c973)throw CliErrors['validation'](_0x5bb571(0x15e));if(!_0x37e77f&&!_0x47c973){if(!_0x58cfd4)return undefined;throw CliErrors['validation']('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x37e77f,'menuIds':_0x3c1272,'paths':_0x23cb27};}function a107_0x3e81(_0x2babda,_0x1017c7){_0x2babda=_0x2babda-0x15a;const _0x467c10=a107_0x467c();let _0x3e8185=_0x467c10[_0x2babda];return _0x3e8185;}function parseMenuIds(_0x31106b){const _0x3df16c=a107_0x3985b2,_0x1c0f27=parseCsv(_0x31106b),_0x976b1e=_0x1c0f27[_0x3df16c(0x164)](Number);if(_0x976b1e[_0x3df16c(0x189)](_0x28eb63=>!Number[_0x3df16c(0x15b)](_0x28eb63)||_0x28eb63<=0x0))throw CliErrors[_0x3df16c(0x192)](_0x3df16c(0x19a));return[...new Set(_0x976b1e)];}function parseCsv(_0x47845f){const _0x18f041=a107_0x3985b2;return[...new Set(_0x47845f['split'](',')[_0x18f041(0x164)](_0x134da9=>_0x134da9[_0x18f041(0x1a4)]())[_0x18f041(0x17b)](Boolean))];}function parseLoadScriptMode(_0x5f5ceb){const _0x5c66fc=a107_0x3985b2;if(!_0x5f5ceb)return undefined;if(_0x5f5ceb==='import'||_0x5f5ceb==='script'||_0x5f5ceb===_0x5c66fc(0x1a3))return _0x5f5ceb;throw CliErrors[_0x5c66fc(0x192)](_0x5c66fc(0x1a5));}function parseParams(_0x2286f5){const _0x212df2=a107_0x3985b2;if(!_0x2286f5)return{};try{const _0x4d5c07=JSON[_0x212df2(0x186)](_0x2286f5);if(typeof _0x4d5c07!==_0x212df2(0x165)||_0x4d5c07===null||Array['isArray'](_0x4d5c07))return{};return{'jsUrl':typeof _0x4d5c07[_0x212df2(0x196)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x196)][_0x212df2(0x1a4)]():undefined,'cssUrl':typeof _0x4d5c07[_0x212df2(0x15a)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x15a)][_0x212df2(0x1a4)]():undefined};}catch{return{};}}function a107_0x467c(){const _0xf05f98=['1082205ZiXjgY','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20menu\x20resource\x20set(s).','boolean','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','filter','paths','\x20\x20Found\x20','\x20\x20Cancelled.','gray','6728EDFMmq','appCode','Updating\x20','\x20menu(s)\x20with\x20existing\x20resources','651UKMPDn','/smartapi/menu/update','parse','\x20menu(s)\x20updated','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','some','diffs','76LDNJyV','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','str','all','\x20menu(s)','cookie','bool','validation','message','\x20and\x20CSS:\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','jsUrl','stringify','appcode','\x20updated,\x20','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','1955LQNHCT','skipped','76839YnkNxX','Menu\x20asset\x20update\x20failed','string','Failed\x20to\x20fetch\x20online\x20menu\x20list','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Menu\x20asset\x20update\x20completed:\x20','fetch','trim','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','rawFlags','mode','flag','replace','\x20menu(s)...','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','label','yes','cssUrl','isSafeInteger','asset-update','Updated\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','2cdNggD','high-risk-write','selectedAppName','843500mzwCIp','load-mode','map','object','params','1024098icRRYQ','menu-ids','yellow','length','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','force','cyan','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','updated','✓\x20Menu\x20asset\x20update\x20completed:\x20','script','Online\x20menu\x20list\x20fetched','216225FiIodz'];a107_0x467c=function(){return _0xf05f98;};return a107_0x467c();}
@@ -1 +1 @@
1
- const a108_0x42aa36=a108_0x36d9;(function(_0xba7495,_0xa96a23){const _0x4942c2=a108_0x36d9,_0x4df4da=_0xba7495();while(!![]){try{const _0x4a211c=parseInt(_0x4942c2(0xd6))/0x1+parseInt(_0x4942c2(0x87))/0x2*(parseInt(_0x4942c2(0x7f))/0x3)+parseInt(_0x4942c2(0xdf))/0x4*(parseInt(_0x4942c2(0xe3))/0x5)+-parseInt(_0x4942c2(0x84))/0x6+-parseInt(_0x4942c2(0x8a))/0x7+-parseInt(_0x4942c2(0xd3))/0x8+parseInt(_0x4942c2(0xca))/0x9;if(_0x4a211c===_0xa96a23)break;else _0x4df4da['push'](_0x4df4da['shift']());}catch(_0x42e5c7){_0x4df4da['push'](_0x4df4da['shift']());}}}(a108_0x248c,0x7b38d));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';function a108_0x36d9(_0x49a947,_0x40890a){_0x49a947=_0x49a947-0x77;const _0x248c27=a108_0x248c();let _0x36d926=_0x248c27[_0x49a947];return _0x36d926;}import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a108_0x42aa36(0xbc)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x42aa36(0xe1)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x42aa36(0xf0),'type':a108_0x42aa36(0xbf),'description':a108_0x42aa36(0xc5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x42aa36(0xb8),'type':a108_0x42aa36(0x97),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a108_0x42aa36(0xee),'type':a108_0x42aa36(0x97),'description':a108_0x42aa36(0xc9)};export const menuDelete={'service':a108_0x42aa36(0xe2),'command':a108_0x42aa36(0x9e),'description':a108_0x42aa36(0xdc),'risk':a108_0x42aa36(0x95),'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'(_0x489e38){const _0x47616d=a108_0x42aa36;_0x489e38['bool'](_0x47616d(0x8d))?validateDeleteDryRunInput(_0x489e38):validateDeleteExecuteInput(_0x489e38),requireExplicitYes(_0x489e38);},async 'dryRun'(_0x5b0537){const _0x28b8b1=a108_0x42aa36;validateDeleteDryRunInput(_0x5b0537);const _0x1918b3=await buildDeletePlan(_0x5b0537),_0x451a7f=createMenuDeletePlanFile(_0x5b0537[_0x28b8b1(0x9d)],_0x1918b3),_0xc48a93=await writeMenuDeletePlan(_0x5b0537['str']('plan-out'),_0x451a7f),_0x7e0a91=mutationResult({..._0x1918b3,'planFile':{'path':_0xc48a93,'createdAt':_0x451a7f['createdAt'],'expiresAt':_0x451a7f['expiresAt']}});return menuDryRunResult(_0x7e0a91,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x7e0a91[_0x28b8b1(0x9b)]},'description':_0x28b8b1(0xd4)+(_0x7e0a91[_0x28b8b1(0x9b)]?.[_0x28b8b1(0xc0)]??0x1)+_0x28b8b1(0x9a)+_0x7e0a91['selector']['id']+_0x28b8b1(0x8c)+_0xc48a93+'.'});},async 'execute'(_0x5219f2){const _0x41f997=a108_0x42aa36;requireExplicitYes(_0x5219f2),validateDeleteExecuteInput(_0x5219f2);const _0x4cbf8f=await readMenuDeletePlan(_0x5219f2[_0x41f997(0xd2)](_0x41f997(0xee))),_0x2bf237=mutationPlanFromDeleteFile(_0x4cbf8f[_0x41f997(0xee)],_0x4cbf8f['path']),_0x455d32=_0x4cbf8f['plan']['target']['id'];try{assertMenuDeletePlanExecutable(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)]);}catch(_0x47958e){throw menuFailure(asMenuError(_0x47958e),_0x2bf237,{'stage':_0x41f997(0x81),'failed':{'id':_0x455d32}});}let _0x809127,_0x292e84;try{_0x809127=await fetchMutationSnapshot(_0x5219f2,_0x41f997(0xe7),_0x455d32),_0x292e84=assertMenuDeletePlanCurrent(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)],_0x809127),assertDeleteTargetsComplete(_0x4cbf8f[_0x41f997(0xee)],_0x809127),_0x292e84[_0x41f997(0xac)](_0x1700ba=>assertDeleteSafety(_0x1700ba,_0x4cbf8f[_0x41f997(0xee)][_0x41f997(0xf0)])),assertNoSharedPages(_0x809127,_0x292e84),assertCascadeMatchesPlan(_0x2bf237,_0x292e84);}catch(_0x54f6df){throw menuFailure(asMenuError(_0x54f6df),_0x2bf237,{'stage':_0x41f997(0xe0),'failed':{'id':_0x455d32}});}const _0x3cfcaf=_0x4cbf8f[_0x41f997(0xee)]['deleteOrder'];let _0x1ffe1a;try{_0x1ffe1a=await batchDeleteMenuEntities(_0x5219f2[_0x41f997(0x92)],_0x3cfcaf);}catch(_0x1c1b5a){const _0x22072a=mapMenuApiError(_0x1c1b5a,_0x41f997(0xda)),_0x3cdafc=[_0x41f997(0xd1)];let _0x5a06ba;try{_0x5a06ba=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x3a5d03){const _0x1ac8e2=describeMenuErrorCause(_0x3a5d03,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x455d32);_0x3cdafc[_0x41f997(0x80)](_0x41f997(0xed)+_0x1ac8e2['causeCode']+'):\x20'+_0x1ac8e2[_0x41f997(0xa4)]);throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'failed':{'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x1ac8e2},'warnings':_0x3cdafc,'verification':{'status':_0x41f997(0x93),'lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x5a06ba['absentIds'][_0x41f997(0xa9)](_0x1157ea=>({'id':_0x1157ea,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'absentIds':_0x5a06ba['absentIds'],'remainingIds':_0x5a06ba[_0x41f997(0xd7)]},'warnings':_0x3cdafc,'verification':verificationFromOutcome(_0x5a06ba)});}if(_0x1ffe1a!==_0x3cfcaf[_0x41f997(0xc0)]){const _0xe2760c=menuError(_0x41f997(0xaa),'Backend\x20reported\x20'+_0x1ffe1a+'\x20deleted\x20menus;\x20expected\x20'+_0x3cfcaf[_0x41f997(0xc0)]+'.',_0x41f997(0x9c)),_0x40bc3e=[_0x41f997(0xd9)];let _0x56b86a;try{_0x56b86a=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x579562){const _0x527fc2=describeMenuErrorCause(_0x579562,_0x41f997(0x8e),_0x455d32);_0x40bc3e[_0x41f997(0x80)](_0x41f997(0x89)+_0x527fc2[_0x41f997(0xaf)]+_0x41f997(0xa0)+_0x527fc2[_0x41f997(0xa4)]);throw menuFailure(_0xe2760c,_0x2bf237,{'stage':'batch-delete','failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'targetIdsAbsent':_0x41f997(0x82),..._0x527fc2},'warnings':_0x40bc3e,'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0xe2760c,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x56b86a[_0x41f997(0xa6)][_0x41f997(0xa9)](_0x45351b=>({'id':_0x45351b,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'absentIds':_0x56b86a[_0x41f997(0xa6)],'remainingIds':_0x56b86a[_0x41f997(0xd7)]},'warnings':_0x40bc3e,'verification':verificationFromOutcome(_0x56b86a)});}let _0xeb7ae;try{_0xeb7ae=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x35b5e4){const _0x5c7de6=describeMenuErrorCause(_0x35b5e4,'verify\x20batch\x20delete',_0x455d32),_0x13ebe3=asVerificationError(_0x35b5e4,_0x41f997(0x83)+_0x455d32+_0x41f997(0xb0));throw menuFailure(_0x13ebe3,_0x2bf237,{'stage':'verification','succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x3b359c=>({'id':_0x3b359c,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x5c7de6},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}if(_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xc0)]>0x0){const _0x26a3dd=menuError(_0x41f997(0x90),_0x41f997(0xf1)+_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xbd)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x26a3dd,_0x2bf237,{'stage':_0x41f997(0xd8),'succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x5b26d9=>({'id':_0x5b26d9,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'absentIds':_0xeb7ae[_0x41f997(0xa6)],'remainingIds':_0xeb7ae[_0x41f997(0xd7)]},'warnings':[_0x41f997(0x8b)],'verification':verificationFromOutcome(_0xeb7ae)});}const _0x24c3c6=_0x3cfcaf[_0x41f997(0xa9)](_0x3209f3=>({'id':_0x3209f3,'deleted':!![]})),_0x2b762f=mutationResult({..._0x2bf237,'dryRun':![],'succeeded':_0x24c3c6,'verification':{'checkedBy':_0x41f997(0x98),'plannedSnapshotHash':_0x2bf237[_0x41f997(0x94)],'finalSnapshotHash':_0xeb7ae['snapshot'][_0x41f997(0xa2)],'reportedDeletedCount':_0x1ffe1a,'targetAbsent':!_0xeb7ae[_0x41f997(0x96)][_0x41f997(0xdb)][_0x41f997(0xb9)](_0x455d32),'allTargetsAbsent':!![],'targetIds':_0x3cfcaf}});return{'ok':!![],'data':_0x2b762f,'message':_0x41f997(0xc2)+_0x24c3c6[_0x41f997(0xc0)]+_0x41f997(0x9a)+_0x455d32+'.'};}};async function readDeleteOutcome(_0x51c05e,_0x4f804f){const _0x57d364=a108_0x42aa36,_0x476d3a=await fetchMenuSnapshot(_0x51c05e[_0x57d364(0x9d)],_0x51c05e[_0x57d364(0x92)]);return{'snapshot':_0x476d3a,'absentIds':_0x4f804f[_0x57d364(0xcf)](_0x306a8d=>!_0x476d3a['byId'][_0x57d364(0xb9)](_0x306a8d)),'remainingIds':_0x4f804f[_0x57d364(0xcf)](_0x152e0b=>_0x476d3a[_0x57d364(0xdb)]['has'](_0x152e0b))};}function verificationFromOutcome(_0x172b47){const _0xf493cc=a108_0x42aa36;return{'checkedBy':_0xf493cc(0x98),'absentIds':_0x172b47[_0xf493cc(0xa6)],'remainingIds':_0x172b47[_0xf493cc(0xd7)]};}function a108_0x248c(){const _0x3b92a6=['menu_tree_invalid','boolean','length','menu_page_shared','Deleted\x20','menu_delete_page_bound','childrenCount','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','menu_folder_has_resources','unknown','menu_plan_invalid','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','6736725nOawVN','resources','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','get','filter','plan\x20delete','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','str','3376064nTkgSd','Would\x20batch\x20delete\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','266286TFQhoS','remainingIds','verification','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','batch\x20delete','byId','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Recursive\x20menu\x20delete\x20plan\x20root\x20','resourcesValid','1867044vgkcSz','pre-write-plan-validation','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu','5WZVvmF','Folder\x20','batch-delete','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','execute\x20reviewed\x20delete\x20plan','\x20has\x20','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','expect-path','Post-failure\x20menu\x20readback\x20failed\x20(','plan','add','recursive','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20still\x20references\x20','\x20is\x20not\x20a\x20folder.','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','POST','rabetbase\x20menu\x20list\x20--format\x20json','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','34989rEmFOM','push','plan-validation','unconfirmed','Batch\x20delete\x20request\x20for\x20menu\x20','701172VaIWMh','type','validation','38HJExik','menu_folder_resources_invalid','Post-mismatch\x20menu\x20readback\x20failed\x20(','4617074ZZIhKQ','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.',';\x20execution\x20must\x20consume\x20','dry-run','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','target','menu_verification_failed','folder','cookie','failed','snapshotHash','high-risk-write','snapshot','string','menu\x20list','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','\x20menu(s)\x20under\x20exact\x20id\x20','deleteOrder','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','appCode','delete','trim','):\x20','menu_non_empty','hash','Menu\x20','causeMessage','pages','absentIds','toLowerCase','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','map','menu_batch_delete_count_mismatch','pageId','forEach','menus','stringify','causeCode','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','expected-children-count','cascade','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','batch-delete-menu','plan-out','has','size','childrenIds','/smartapi/menu/batchDelete','join'];a108_0x248c=function(){return _0x3b92a6;};return a108_0x248c();}function validateDeleteDryRunInput(_0x7438a9){const _0x3d3a4f=a108_0x42aa36;validateExactId(_0x7438a9);if(!hasFlag(_0x7438a9,_0x3d3a4f(0xb8))||!_0x7438a9['str'](_0x3d3a4f(0xb8))[_0x3d3a4f(0x9f)]())throw CliErrors['flagMissing']('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x7438a9,_0x3d3a4f(0xee)))throw CliErrors['validation']('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x2a0eee){const _0x2c8ccf=a108_0x42aa36;if(!hasFlag(_0x2a0eee,_0x2c8ccf(0xee))||!_0x2a0eee['str'](_0x2c8ccf(0xee))[_0x2c8ccf(0x9f)]())throw CliErrors['flagMissing'](_0x2c8ccf(0xee),_0x2c8ccf(0x99));const _0x4a79a7=['id',_0x2c8ccf(0xf0),'plan-out','expect-parent-id',_0x2c8ccf(0xec),_0x2c8ccf(0xb4)][_0x2c8ccf(0xcf)](_0x421147=>hasFlag(_0x2a0eee,_0x421147));if(_0x4a79a7[_0x2c8ccf(0xc0)]>0x0)throw CliErrors[_0x2c8ccf(0x86)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4a79a7[_0x2c8ccf(0xa9)](_0x3c3c74=>'--'+_0x3c3c74)[_0x2c8ccf(0xbd)](',\x20')+'.');}async function buildDeletePlan(_0x26f416){const _0x402484=a108_0x42aa36,_0x4744cd=validateExactId(_0x26f416),_0x10e05a=await fetchMutationSnapshot(_0x26f416,_0x402484(0xd0),_0x4744cd),_0x186c81=requireMenu(_0x10e05a,_0x4744cd);assertExpectedState(_0x26f416,_0x186c81);const _0x3c9ca8=_0x26f416['bool']('recursive');let _0x440d1a;if(_0x3c9ca8){if(_0x186c81[_0x402484(0x85)]['trim']()[_0x402484(0xa7)]()!==_0x402484(0x91))throw menuError('menu_recursive_requires_folder','Menu\x20'+_0x186c81['id']+_0x402484(0xe9)+(_0x186c81[_0x402484(0x85)]||_0x402484(0xc7))+_0x402484(0xe6));_0x440d1a=collectDeleteTargets(_0x10e05a,_0x186c81),_0x440d1a[_0x402484(0xac)](_0x83548e=>assertDeleteSafety(_0x83548e,!![]));}else assertDeleteSafety(_0x186c81),_0x440d1a=[_0x186c81];assertNoSharedPages(_0x10e05a,_0x440d1a);const _0x5cdea8=_0x440d1a[_0x402484(0xa9)](_0x3511c5=>_0x3511c5['id']),_0x286103=cascadeForTargets(_0x440d1a),_0x3cf8f5=_0x286103[_0x402484(0xa5)]['length']>0x0?[_0x402484(0x7e)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x4744cd,'recursive':_0x3c9ca8},'before':_0x186c81,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x402484(0xb7),'method':_0x402484(0x7c),'path':_0x402484(0xbc),'body':{'idList':_0x5cdea8}}],'targets':_0x440d1a,'deleteOrder':_0x5cdea8,'snapshotHash':_0x10e05a['hash'],'cascade':_0x286103,'warnings':_0x3cf8f5});}function assertDeleteSafety(_0x4ebabd,_0x412a95=![]){const _0x462534=a108_0x42aa36,_0x58d9ee=_0x4ebabd[_0x462534(0x85)]['trim']()['toLowerCase']()===_0x462534(0x91);if(_0x4ebabd[_0x462534(0xc4)]>0x0&&(!_0x412a95||!_0x58d9ee))throw menuError(_0x462534(0xa1),_0x462534(0xa3)+_0x4ebabd['id']+_0x462534(0xe8)+_0x4ebabd[_0x462534(0xc4)]+_0x462534(0xb2),_0x462534(0xb3)+_0x4ebabd['childrenIds'][_0x462534(0xbd)](',\x20'));if(_0x58d9ee&&_0x4ebabd[_0x462534(0xab)]!=null)throw menuError(_0x462534(0xc3),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xd5)+_0x4ebabd[_0x462534(0xab)]+_0x462534(0xea),_0x462534(0xb6));if(!_0x58d9ee)return;if(!_0x4ebabd[_0x462534(0xde)])throw menuError(_0x462534(0x88),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xeb),_0x462534(0xcd));if(_0x4ebabd[_0x462534(0xcb)]['length']>0x0)throw menuError(_0x462534(0xc6),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0x77)+_0x4ebabd['resources'][_0x462534(0xc0)]+'\x20resource\x20URL(s).',_0x462534(0x79));}function collectDeleteTargets(_0xd69062,_0x3212ed){const _0x3a3617=[],_0x47e2cd=new Set(),_0x4b25fd=new Set(),_0x112b6f=_0x4ee43a=>{const _0x3ae775=a108_0x36d9;if(_0x47e2cd['has'](_0x4ee43a['id']))throw menuError(_0x3ae775(0xbe),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x4ee43a['id']+'.');if(_0x4b25fd[_0x3ae775(0xb9)](_0x4ee43a['id']))return;_0x47e2cd[_0x3ae775(0xef)](_0x4ee43a['id']);for(const _0x57ad91 of _0x4ee43a[_0x3ae775(0xbb)]){const _0x48af25=_0xd69062['byId'][_0x3ae775(0xce)](_0x57ad91);if(!_0x48af25)throw menuError(_0x3ae775(0xbe),_0x3ae775(0xa3)+_0x4ee43a['id']+'\x20references\x20missing\x20child\x20'+_0x57ad91+'.');_0x112b6f(_0x48af25);}_0x47e2cd[_0x3ae775(0x9e)](_0x4ee43a['id']),_0x4b25fd['add'](_0x4ee43a['id']),_0x3a3617['push'](_0x4ee43a);};return _0x112b6f(_0x3212ed),_0x3a3617;}function assertDeleteTargetsComplete(_0x2ba81c,_0x491779){const _0x171534=a108_0x42aa36,_0x4b79bd=requireMenu(_0x491779,_0x2ba81c[_0x171534(0x8f)]['id']);if(_0x2ba81c[_0x171534(0xf0)]&&_0x4b79bd[_0x171534(0x85)][_0x171534(0x9f)]()[_0x171534(0xa7)]()!==_0x171534(0x91))throw menuError(_0x171534(0xc8),_0x171534(0xdd)+_0x4b79bd['id']+_0x171534(0x78));const _0x2f0027=_0x2ba81c['recursive']?collectDeleteTargets(_0x491779,_0x4b79bd)[_0x171534(0xa9)](_0x2eae37=>_0x2eae37['id']):[_0x4b79bd['id']];if(JSON[_0x171534(0xae)](_0x2ba81c[_0x171534(0x9b)])!==JSON[_0x171534(0xae)](_0x2f0027))throw menuError('menu_plan_invalid',_0x171534(0xa8),_0x171534(0x7b));}function assertNoSharedPages(_0x545fff,_0x1c1d8f){const _0x3f7daf=a108_0x42aa36,_0x2c9a92=new Set(_0x1c1d8f['map'](_0x244fbb=>_0x244fbb['id'])),_0x32f1f2=new Set(_0x1c1d8f[_0x3f7daf(0xa9)](_0xa54085=>_0xa54085[_0x3f7daf(0xab)])[_0x3f7daf(0xcf)](_0x588d84=>_0x588d84!=null));if(_0x32f1f2[_0x3f7daf(0xba)]===0x0)return;const _0x2b5aeb=_0x545fff[_0x3f7daf(0xad)]['filter'](_0x3239a0=>!_0x2c9a92[_0x3f7daf(0xb9)](_0x3239a0['id'])&&_0x3239a0[_0x3f7daf(0xab)]!=null&&_0x32f1f2[_0x3f7daf(0xb9)](_0x3239a0[_0x3f7daf(0xab)]));if(_0x2b5aeb[_0x3f7daf(0xc0)]===0x0)return;const _0x3f5cb8=_0x2b5aeb[_0x3f7daf(0xa9)](_0x3d0e25=>'page\x20'+_0x3d0e25['pageId']+'\x20->\x20menu\x20'+_0x3d0e25['id'])['join'](',\x20');throw menuError(_0x3f7daf(0xc1),_0x3f7daf(0x7a)+_0x3f5cb8+'.',_0x3f7daf(0xb1));}function assertCascadeMatchesPlan(_0x9ec973,_0x1c2101){const _0x1e05a8=a108_0x42aa36,_0x499d5b=cascadeForTargets(_0x1c2101);if(JSON['stringify'](_0x9ec973[_0x1e05a8(0xb5)])!==JSON[_0x1e05a8(0xae)](_0x499d5b))throw menuError(_0x1e05a8(0xc8),_0x1e05a8(0xcc));}function cascadeForTargets(_0x5c5705){const _0x38ed86=a108_0x42aa36,_0x944734=_0x5c5705['map'](_0x19f16e=>_0x19f16e[_0x38ed86(0xab)])[_0x38ed86(0xcf)](_0x3f48c6=>_0x3f48c6!=null)[_0x38ed86(0xcf)]((_0x230a5e,_0x512d8e,_0x101a07)=>_0x101a07['indexOf'](_0x230a5e)===_0x512d8e);return{'pages':_0x944734,'pageSchemaAffected':_0x944734[_0x38ed86(0xc0)]>0x0};}function asMenuError(_0x16974f){const _0x41320c=a108_0x42aa36;return _0x16974f instanceof CliError?_0x16974f:menuError(_0x41320c(0xc8),_0x16974f instanceof Error?_0x16974f['message']:String(_0x16974f));}
1
+ const a108_0x3fd744=a108_0x330a;function a108_0x583f(){const _0x2df324=['hash','menu_page_shared','folder','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','batch\x20delete','Would\x20batch\x20delete\x20','Batch\x20delete\x20request\x20for\x20menu\x20','menu_delete_page_bound','\x20menu(s)\x20under\x20exact\x20id\x20','Backend\x20reported\x20','\x20is\x20type\x20\x22','expiresAt','451716HtQQRn','unknown','target','map','menu_folder_resources_invalid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','snapshotHash','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','string','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','remainingIds','selector',';\x20execution\x20must\x20consume\x20','POST','cookie','flagMissing','):\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','115pAKawn','causeCode','expect-parent-id','expected-children-count','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','2970EJDNwd','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','snapshot','menu_tree_invalid','dry-run','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','str','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','130arOrhe','failed','childrenCount','join','type','plan','menu','menu_verification_failed','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','resources','cascade','path','/smartapi/menu/batchDelete','9567rHebjQ','recursive','268287lpZGsi','createdAt','toLowerCase','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','verify\x20batch\x20delete','validation','Post-failure\x20menu\x20readback\x20failed\x20(','Menu\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x20has\x20','batch-delete','76314EzJqJm','641951ukeaeH','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','indexOf','add','message','\x20->\x20menu\x20','Folder\x20','\x20still\x20references\x20','byId','absentIds','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','menus','Post-mismatch\x20menu\x20readback\x20failed\x20(','trim','187284kJHxUH','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','causeMessage','push','menu_batch_delete_count_mismatch','boolean','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Deleted\x20','pre-write-plan-validation','resourcesValid','childrenIds','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','batch-delete-menu','appCode','pageId','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','filter','6190fdGEGt','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','224schCyU','6XASvIQ','unconfirmed','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','plan-validation','has','verification','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','delete','size','length','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','expect-path','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','plan-out','menu_plan_invalid','3736mXaVVq','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','deleteOrder','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','bool','high-risk-write','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menu_folder_has_resources','stringify'];a108_0x583f=function(){return _0x2df324;};return a108_0x583f();}(function(_0x2ac571,_0xabd1b2){const _0x5425e1=a108_0x330a,_0x20cf00=_0x2ac571();while(!![]){try{const _0x59b396=-parseInt(_0x5425e1(0x155))/0x1+parseInt(_0x5425e1(0x177))/0x2*(-parseInt(_0x5425e1(0x146))/0x3)+parseInt(_0x5425e1(0x163))/0x4*(parseInt(_0x5425e1(0x129))/0x5)+-parseInt(_0x5425e1(0x154))/0x6*(-parseInt(_0x5425e1(0x176))/0x7)+parseInt(_0x5425e1(0xff))/0x8*(-parseInt(_0x5425e1(0x144))/0x9)+parseInt(_0x5425e1(0x174))/0xa*(parseInt(_0x5425e1(0x12e))/0xb)+-parseInt(_0x5425e1(0x116))/0xc*(-parseInt(_0x5425e1(0x137))/0xd);if(_0x59b396===_0xabd1b2)break;else _0x20cf00['push'](_0x20cf00['shift']());}catch(_0x1fa6ca){_0x20cf00['push'](_0x20cf00['shift']());}}}(a108_0x583f,0x978f8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a108_0x330a(_0x596a91,_0x425094){_0x596a91=_0x596a91-0xf2;const _0x583fb1=a108_0x583f();let _0x330a28=_0x583fb1[_0x596a91];return _0x330a28;}import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a108_0x3fd744(0x124),'path':a108_0x3fd744(0x143)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x3fd744(0xfc)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a108_0x3fd744(0x168),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x3fd744(0xfd),'type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x16e)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x14a)};export const menuDelete={'service':a108_0x3fd744(0x13d),'command':a108_0x3fd744(0xf7),'description':a108_0x3fd744(0xf2),'risk':a108_0x3fd744(0x104),'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'(_0x40df45){const _0xc451c3=a108_0x3fd744;_0x40df45[_0xc451c3(0x103)](_0xc451c3(0x133))?validateDeleteDryRunInput(_0x40df45):validateDeleteExecuteInput(_0x40df45),requireExplicitYes(_0x40df45);},async 'dryRun'(_0x553c8a){const _0x329d33=a108_0x3fd744;validateDeleteDryRunInput(_0x553c8a);const _0x4acb72=await buildDeletePlan(_0x553c8a),_0x3bd287=createMenuDeletePlanFile(_0x553c8a[_0x329d33(0x170)],_0x4acb72),_0x1969a3=await writeMenuDeletePlan(_0x553c8a[_0x329d33(0x135)]('plan-out'),_0x3bd287),_0x563956=mutationResult({..._0x4acb72,'planFile':{'path':_0x1969a3,'createdAt':_0x3bd287[_0x329d33(0x147)],'expiresAt':_0x3bd287[_0x329d33(0x115)]}});return menuDryRunResult(_0x563956,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x563956[_0x329d33(0x101)]},'description':_0x329d33(0x10f)+(_0x563956['deleteOrder']?.[_0x329d33(0xf9)]??0x1)+_0x329d33(0x112)+_0x563956[_0x329d33(0x122)]['id']+_0x329d33(0x123)+_0x1969a3+'.'});},async 'execute'(_0x290ce4){const _0x3fdaca=a108_0x3fd744;requireExplicitYes(_0x290ce4),validateDeleteExecuteInput(_0x290ce4);const _0x47e09f=await readMenuDeletePlan(_0x290ce4[_0x3fdaca(0x135)](_0x3fdaca(0x13c))),_0x3a41b1=mutationPlanFromDeleteFile(_0x47e09f[_0x3fdaca(0x13c)],_0x47e09f[_0x3fdaca(0x142)]),_0x2d9525=_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x118)]['id'];try{assertMenuDeletePlanExecutable(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)]);}catch(_0x10a3fa){throw menuFailure(asMenuError(_0x10a3fa),_0x3a41b1,{'stage':_0x3fdaca(0xf3),'failed':{'id':_0x2d9525}});}let _0x2a5c09,_0xd87a42;try{_0x2a5c09=await fetchMutationSnapshot(_0x290ce4,'execute\x20reviewed\x20delete\x20plan',_0x2d9525),_0xd87a42=assertMenuDeletePlanCurrent(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)],_0x2a5c09),assertDeleteTargetsComplete(_0x47e09f['plan'],_0x2a5c09),_0xd87a42['forEach'](_0x1386b9=>assertDeleteSafety(_0x1386b9,_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x145)])),assertNoSharedPages(_0x2a5c09,_0xd87a42),assertCascadeMatchesPlan(_0x3a41b1,_0xd87a42);}catch(_0x2943d8){throw menuFailure(asMenuError(_0x2943d8),_0x3a41b1,{'stage':_0x3fdaca(0x16b),'failed':{'id':_0x2d9525}});}const _0xd36b17=_0x47e09f[_0x3fdaca(0x13c)]['deleteOrder'];let _0xbe6ec7;try{_0xbe6ec7=await batchDeleteMenuEntities(_0x290ce4[_0x3fdaca(0x125)],_0xd36b17);}catch(_0x3db500){const _0x31f7f5=mapMenuApiError(_0x3db500,_0x3fdaca(0x10e)),_0x30900c=[_0x3fdaca(0xfa)];let _0x96b439;try{_0x96b439=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x4d7fa4){const _0x2176e4=describeMenuErrorCause(_0x4d7fa4,_0x3fdaca(0x172),_0x2d9525);_0x30900c['push'](_0x3fdaca(0x14f)+_0x2176e4[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x2176e4[_0x3fdaca(0x165)]);throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x2176e4},'warnings':_0x30900c,'verification':{'status':_0x3fdaca(0x138),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0xd36b17}});}throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x96b439[_0x3fdaca(0x15e)][_0x3fdaca(0x119)](_0xd06d14=>({'id':_0xd06d14,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'absentIds':_0x96b439['absentIds'],'remainingIds':_0x96b439[_0x3fdaca(0x121)]},'warnings':_0x30900c,'verification':verificationFromOutcome(_0x96b439)});}if(_0xbe6ec7!==_0xd36b17[_0x3fdaca(0xf9)]){const _0xcba1b7=menuError(_0x3fdaca(0x167),_0x3fdaca(0x113)+_0xbe6ec7+'\x20deleted\x20menus;\x20expected\x20'+_0xd36b17[_0x3fdaca(0xf9)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x2b5b3e=[_0x3fdaca(0x14c)];let _0x54e74a;try{_0x54e74a=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x342aee){const _0x28afc1=describeMenuErrorCause(_0x342aee,_0x3fdaca(0x13f),_0x2d9525);_0x2b5b3e[_0x3fdaca(0x166)](_0x3fdaca(0x161)+_0x28afc1[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x28afc1['causeMessage']);throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'targetIdsAbsent':_0x3fdaca(0x178),..._0x28afc1},'warnings':_0x2b5b3e,'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x54e74a[_0x3fdaca(0x15e)]['map'](_0x3981cf=>({'id':_0x3981cf,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'absentIds':_0x54e74a[_0x3fdaca(0x15e)],'remainingIds':_0x54e74a[_0x3fdaca(0x121)]},'warnings':_0x2b5b3e,'verification':verificationFromOutcome(_0x54e74a)});}let _0x305466;try{_0x305466=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x5267d1){const _0x3209f5=describeMenuErrorCause(_0x5267d1,_0x3fdaca(0x14d),_0x2d9525),_0x38eacc=asVerificationError(_0x5267d1,_0x3fdaca(0x110)+_0x2d9525+_0x3fdaca(0x105));throw menuFailure(_0x38eacc,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x3c1f8d=>({'id':_0x3c1f8d,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x3209f5},'warnings':[_0x3fdaca(0x15f)],'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}if(_0x305466['remainingIds'][_0x3fdaca(0xf9)]>0x0){const _0xc04d95=menuError(_0x3fdaca(0x13e),_0x3fdaca(0x149)+_0x305466['remainingIds'][_0x3fdaca(0x13a)](',\x20')+'.',_0x3fdaca(0x136));throw menuFailure(_0xc04d95,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x190d3f=>({'id':_0x190d3f,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'absentIds':_0x305466[_0x3fdaca(0x15e)],'remainingIds':_0x305466[_0x3fdaca(0x121)]},'warnings':[_0x3fdaca(0x175)],'verification':verificationFromOutcome(_0x305466)});}const _0x46a1e3=_0xd36b17[_0x3fdaca(0x119)](_0x3d0e3b=>({'id':_0x3d0e3b,'deleted':!![]})),_0x46d697=mutationResult({..._0x3a41b1,'dryRun':![],'succeeded':_0x46a1e3,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x3a41b1[_0x3fdaca(0x11d)],'finalSnapshotHash':_0x305466[_0x3fdaca(0x131)][_0x3fdaca(0x108)],'reportedDeletedCount':_0xbe6ec7,'targetAbsent':!_0x305466['snapshot'][_0x3fdaca(0x15d)][_0x3fdaca(0xf4)](_0x2d9525),'allTargetsAbsent':!![],'targetIds':_0xd36b17}});return{'ok':!![],'data':_0x46d697,'message':_0x3fdaca(0x16a)+_0x46a1e3['length']+_0x3fdaca(0x112)+_0x2d9525+'.'};}};async function readDeleteOutcome(_0x45e596,_0x2a1365){const _0x19462a=a108_0x3fd744,_0x5916b7=await fetchMenuSnapshot(_0x45e596[_0x19462a(0x170)],_0x45e596[_0x19462a(0x125)]);return{'snapshot':_0x5916b7,'absentIds':_0x2a1365[_0x19462a(0x173)](_0x4ded09=>!_0x5916b7[_0x19462a(0x15d)][_0x19462a(0xf4)](_0x4ded09)),'remainingIds':_0x2a1365['filter'](_0x8fc693=>_0x5916b7[_0x19462a(0x15d)]['has'](_0x8fc693))};}function verificationFromOutcome(_0x44cf70){const _0x579c3e=a108_0x3fd744;return{'checkedBy':'menu\x20list','absentIds':_0x44cf70[_0x579c3e(0x15e)],'remainingIds':_0x44cf70[_0x579c3e(0x121)]};}function validateDeleteDryRunInput(_0x1858da){const _0x2df801=a108_0x3fd744;validateExactId(_0x1858da);if(!hasFlag(_0x1858da,_0x2df801(0xfd))||!_0x1858da[_0x2df801(0x135)](_0x2df801(0xfd))[_0x2df801(0x162)]())throw CliErrors[_0x2df801(0x126)](_0x2df801(0xfd),_0x2df801(0x120));if(hasFlag(_0x1858da,_0x2df801(0x13c)))throw CliErrors[_0x2df801(0x14e)](_0x2df801(0x102));}function validateDeleteExecuteInput(_0x2a91d2){const _0x504cb6=a108_0x3fd744;if(!hasFlag(_0x2a91d2,_0x504cb6(0x13c))||!_0x2a91d2[_0x504cb6(0x135)](_0x504cb6(0x13c))[_0x504cb6(0x162)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x15fb75=['id',_0x504cb6(0x145),'plan-out',_0x504cb6(0x12b),_0x504cb6(0xfb),_0x504cb6(0x12c)][_0x504cb6(0x173)](_0x59ba13=>hasFlag(_0x2a91d2,_0x59ba13));if(_0x15fb75[_0x504cb6(0xf9)]>0x0)throw CliErrors[_0x504cb6(0x14e)](_0x504cb6(0x156)+_0x15fb75[_0x504cb6(0x119)](_0x3cb753=>'--'+_0x3cb753)[_0x504cb6(0x13a)](',\x20')+'.');}async function buildDeletePlan(_0x245da1){const _0x4a22f5=a108_0x3fd744,_0xaa3cd4=validateExactId(_0x245da1),_0x3dbe6f=await fetchMutationSnapshot(_0x245da1,'plan\x20delete',_0xaa3cd4),_0x41649c=requireMenu(_0x3dbe6f,_0xaa3cd4);assertExpectedState(_0x245da1,_0x41649c);const _0x4d317a=_0x245da1[_0x4a22f5(0x103)](_0x4a22f5(0x145));let _0x5767b3;if(_0x4d317a){if(_0x41649c[_0x4a22f5(0x13b)][_0x4a22f5(0x162)]()['toLowerCase']()!==_0x4a22f5(0x10a))throw menuError('menu_recursive_requires_folder',_0x4a22f5(0x150)+_0x41649c['id']+_0x4a22f5(0x114)+(_0x41649c[_0x4a22f5(0x13b)]||_0x4a22f5(0x117))+_0x4a22f5(0x11e));_0x5767b3=collectDeleteTargets(_0x3dbe6f,_0x41649c),_0x5767b3['forEach'](_0x4a2c48=>assertDeleteSafety(_0x4a2c48,!![]));}else assertDeleteSafety(_0x41649c),_0x5767b3=[_0x41649c];assertNoSharedPages(_0x3dbe6f,_0x5767b3);const _0x1a32e8=_0x5767b3[_0x4a22f5(0x119)](_0x4abb91=>_0x4abb91['id']),_0x39867f=cascadeForTargets(_0x5767b3),_0x54cd4d=_0x39867f['pages'][_0x4a22f5(0xf9)]>0x0?[_0x4a22f5(0x12d)]:[];return mutationResult({'operation':_0x4a22f5(0xf7),'selector':{'id':_0xaa3cd4,'recursive':_0x4d317a},'before':_0x41649c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4a22f5(0x16f),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x1a32e8}}],'targets':_0x5767b3,'deleteOrder':_0x1a32e8,'snapshotHash':_0x3dbe6f['hash'],'cascade':_0x39867f,'warnings':_0x54cd4d});}function assertDeleteSafety(_0x1c8999,_0x5f04d2=![]){const _0x3a5379=a108_0x3fd744,_0x1a7236=_0x1c8999[_0x3a5379(0x13b)][_0x3a5379(0x162)]()[_0x3a5379(0x148)]()==='folder';if(_0x1c8999[_0x3a5379(0x139)]>0x0&&(!_0x5f04d2||!_0x1a7236))throw menuError('menu_non_empty',_0x3a5379(0x150)+_0x1c8999['id']+_0x3a5379(0x152)+_0x1c8999['childrenCount']+_0x3a5379(0xf6),_0x3a5379(0x10d)+_0x1c8999[_0x3a5379(0x16d)][_0x3a5379(0x13a)](',\x20'));if(_0x1a7236&&_0x1c8999[_0x3a5379(0x171)]!=null)throw menuError(_0x3a5379(0x111),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x11b)+_0x1c8999[_0x3a5379(0x171)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x3a5379(0x128));if(!_0x1a7236)return;if(!_0x1c8999[_0x3a5379(0x16c)])throw menuError(_0x3a5379(0x11a),_0x3a5379(0x15b)+_0x1c8999['id']+_0x3a5379(0x100),_0x3a5379(0x169));if(_0x1c8999[_0x3a5379(0x140)][_0x3a5379(0xf9)]>0x0)throw menuError(_0x3a5379(0x106),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x15c)+_0x1c8999[_0x3a5379(0x140)]['length']+'\x20resource\x20URL(s).',_0x3a5379(0x134));}function collectDeleteTargets(_0x4691ec,_0x59d738){const _0x33ae21=[],_0x242e62=new Set(),_0x1d145f=new Set(),_0x443ab4=_0x395a65=>{const _0x30819a=a108_0x330a;if(_0x242e62[_0x30819a(0xf4)](_0x395a65['id']))throw menuError(_0x30819a(0x132),_0x30819a(0x14b)+_0x395a65['id']+'.');if(_0x1d145f[_0x30819a(0xf4)](_0x395a65['id']))return;_0x242e62[_0x30819a(0x158)](_0x395a65['id']);for(const _0x51171f of _0x395a65[_0x30819a(0x16d)]){const _0x14a52b=_0x4691ec['byId']['get'](_0x51171f);if(!_0x14a52b)throw menuError(_0x30819a(0x132),'Menu\x20'+_0x395a65['id']+'\x20references\x20missing\x20child\x20'+_0x51171f+'.');_0x443ab4(_0x14a52b);}_0x242e62[_0x30819a(0xf7)](_0x395a65['id']),_0x1d145f[_0x30819a(0x158)](_0x395a65['id']),_0x33ae21[_0x30819a(0x166)](_0x395a65);};return _0x443ab4(_0x59d738),_0x33ae21;}function assertDeleteTargetsComplete(_0x512309,_0x2a8fa6){const _0xb8090e=a108_0x3fd744,_0x2e3599=requireMenu(_0x2a8fa6,_0x512309[_0xb8090e(0x118)]['id']);if(_0x512309['recursive']&&_0x2e3599[_0xb8090e(0x13b)][_0xb8090e(0x162)]()['toLowerCase']()!==_0xb8090e(0x10a))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x151)+_0x2e3599['id']+_0xb8090e(0x10c));const _0xb3d897=_0x512309['recursive']?collectDeleteTargets(_0x2a8fa6,_0x2e3599)[_0xb8090e(0x119)](_0x2a689a=>_0x2a689a['id']):[_0x2e3599['id']];if(JSON['stringify'](_0x512309[_0xb8090e(0x101)])!==JSON[_0xb8090e(0x107)](_0xb3d897))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x11c),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x2179e1,_0x2d8fcb){const _0x1de8a8=a108_0x3fd744,_0xb06837=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x36b5e7=>_0x36b5e7['id'])),_0x5e8d24=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x4e75ec=>_0x4e75ec[_0x1de8a8(0x171)])[_0x1de8a8(0x173)](_0x14ccac=>_0x14ccac!=null));if(_0x5e8d24[_0x1de8a8(0xf8)]===0x0)return;const _0x2389f6=_0x2179e1[_0x1de8a8(0x160)][_0x1de8a8(0x173)](_0x286b54=>!_0xb06837['has'](_0x286b54['id'])&&_0x286b54[_0x1de8a8(0x171)]!=null&&_0x5e8d24[_0x1de8a8(0xf4)](_0x286b54[_0x1de8a8(0x171)]));if(_0x2389f6[_0x1de8a8(0xf9)]===0x0)return;const _0x3baf98=_0x2389f6[_0x1de8a8(0x119)](_0x45ae43=>'page\x20'+_0x45ae43[_0x1de8a8(0x171)]+_0x1de8a8(0x15a)+_0x45ae43['id'])[_0x1de8a8(0x13a)](',\x20');throw menuError(_0x1de8a8(0x109),_0x1de8a8(0x12f)+_0x3baf98+'.',_0x1de8a8(0x130));}function assertCascadeMatchesPlan(_0x5d1b79,_0x35a317){const _0x318fdb=a108_0x3fd744,_0x9e81c2=cascadeForTargets(_0x35a317);if(JSON[_0x318fdb(0x107)](_0x5d1b79[_0x318fdb(0x141)])!==JSON[_0x318fdb(0x107)](_0x9e81c2))throw menuError(_0x318fdb(0xfe),_0x318fdb(0x164));}function cascadeForTargets(_0x32b287){const _0x22c8c0=a108_0x3fd744,_0xd6e3b5=_0x32b287[_0x22c8c0(0x119)](_0x3c1614=>_0x3c1614['pageId'])['filter'](_0x1d77c4=>_0x1d77c4!=null)['filter']((_0x259760,_0x41a264,_0x69c79c)=>_0x69c79c[_0x22c8c0(0x157)](_0x259760)===_0x41a264);return{'pages':_0xd6e3b5,'pageSchemaAffected':_0xd6e3b5[_0x22c8c0(0xf9)]>0x0};}function asMenuError(_0x7f73e9){const _0x4b77a7=a108_0x3fd744;return _0x7f73e9 instanceof CliError?_0x7f73e9:menuError(_0x4b77a7(0xfe),_0x7f73e9 instanceof Error?_0x7f73e9[_0x4b77a7(0x159)]:String(_0x7f73e9));}
@@ -1 +1 @@
1
- const a109_0xd2b4ac=a109_0x4ccc;(function(_0x214ced,_0x53e2a1){const _0x50b1cc=a109_0x4ccc,_0x224d3a=_0x214ced();while(!![]){try{const _0x23e13f=-parseInt(_0x50b1cc(0xfd))/0x1*(parseInt(_0x50b1cc(0xf9))/0x2)+-parseInt(_0x50b1cc(0x12d))/0x3+parseInt(_0x50b1cc(0x138))/0x4+-parseInt(_0x50b1cc(0xd2))/0x5+-parseInt(_0x50b1cc(0x119))/0x6+parseInt(_0x50b1cc(0xd6))/0x7*(parseInt(_0x50b1cc(0xeb))/0x8)+parseInt(_0x50b1cc(0xf6))/0x9*(parseInt(_0x50b1cc(0x134))/0xa);if(_0x23e13f===_0x53e2a1)break;else _0x224d3a['push'](_0x224d3a['shift']());}catch(_0x270fa2){_0x224d3a['push'](_0x224d3a['shift']());}}}(a109_0x386f,0x889f2));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};function a109_0x386f(){const _0x436321=['label','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','replace','hasOwnProperty','fromEntries','menu_sort_invalid','<platform-generated>','\x27\x5c\x27\x27','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','POST','create\x20external\x20menu','visible','embedded','rawerror','readbackerror','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','succeeded','map','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','create-menu','length','recovered','URL','5091265WgPzOF','menu_url_invalid','Created\x20external\x20menu\x20','username','253687NwNkKq','byId','cause','open-mode','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu_not_found','new-window','Would\x20create\x20external\x20website\x20link\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','toLowerCase','after','hash','call','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','flagMissing','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','cookie','verification','menu_url_credentials_forbidden','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','filter','136gGpQTP','\x20with\x20','plan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','prototype','password','add','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','data','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','873aBOKqM','code','path','2SXCLSE','isSafeInteger','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','fact','737131Nddqdy','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','write','menus','get','menu_permission_denied','parentId','protocol','external-link-create','expectedPath','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','\x20--format\x20compress','menu_sort_overflow','string','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','snapshot','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','visibility','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','rawFlags','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu','pre-write-recheck','str','/smartapi/menu/create','has','Whether\x20the\x20menu\x20is\x20visible','1307532XADbJS','currentSnapshotHash','\x20after\x20response\x20loss.','menu_parent_not_folder','type','menu_url_https_required','Recovered\x20created\x20external\x20menu\x20','menu_create_response_invalid','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','entries','createdId','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','isArray','parent-id','Provide\x20an\x20HTTPS\x20URL.','before','failed','url','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','1659111iFoxyS','Created\x20menu\x20','boolean','expectedSnapshotHash','trim','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','239980HrTUTY','\x20failed\x20final\x20verification.','Run\x20','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','568168trHcHn','body','sort','object','menu_create_recovery_required','parent','Menu\x20','create','menu_verification_failed','afterPlan','rabetbase\x20menu\x20list\x20--appcode\x20','appCode','lookupCommand','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20label'];a109_0x386f=function(){return _0x436321;};return a109_0x386f();}export function validateExternalMenuUrl(_0x56bdab){const _0x270af0=a109_0x4ccc,_0x56e545=_0x56bdab[_0x270af0(0x131)]();let _0xf448d9;try{_0xf448d9=new URL(_0x56e545);}catch{throw menuError(_0x270af0(0xd3),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x270af0(0x12c));}if(_0xf448d9[_0x270af0(0x104)]!=='https:')throw menuError(_0x270af0(0x11e),_0x270af0(0x137),_0x270af0(0x128));if(_0xf448d9[_0x270af0(0xd5)]||_0xf448d9[_0x270af0(0xf0)])throw menuError(_0x270af0(0xe8),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x270af0(0xf2));return _0x56e545;}export const menuExternalLinkCreate={'service':'menu','command':a109_0xd2b4ac(0x105),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a109_0xd2b4ac(0xff),'structuredErrors':!![],'flags':[{'name':a109_0xd2b4ac(0x147),'type':'string','required':!![],'description':a109_0xd2b4ac(0x146)},{'name':'open-mode','type':a109_0xd2b4ac(0x10a),'required':!![],'enum':[a109_0xd2b4ac(0xc7),a109_0xd2b4ac(0xdc)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a109_0xd2b4ac(0x12b),'type':a109_0xd2b4ac(0x10a),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0xd2b4ac(0xc6),'type':a109_0xd2b4ac(0x12f),'default':!![],'description':a109_0xd2b4ac(0x118)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf93ee7){validateAddInput(_0xf93ee7);},async 'dryRun'(_0x5f31b3){const _0x591124=a109_0xd2b4ac;validateAddInput(_0x5f31b3);const {plan:_0x34e7ea}=await buildSafeAddPlan(_0x5f31b3,!![]),_0x2f20e3=_0x34e7ea['after'],_0x51a86f=createBody(_0x2f20e3);return menuDryRunResult(_0x34e7ea,{'method':_0x591124(0x150),'url':_0x591124(0x116),'body':_0x51a86f,'description':_0x591124(0xdd)+JSON['stringify'](_0x2f20e3[_0x591124(0x147)])+_0x591124(0xec)+_0x5f31b3[_0x591124(0x115)]('open-mode')+_0x591124(0xe3)});},async 'execute'(_0x15b38a){const _0x42e81b=a109_0xd2b4ac;validateAddInput(_0x15b38a);const _0x4358ca=await buildSafeAddPlan(_0x15b38a,![]),{plan:_0x3cf70c,snapshot:_0x1ccc5c}=_0x4358ca,_0xf374ce=_0x3cf70c[_0x42e81b(0xe0)],_0x278a42=buildMenuLookupCommand(_0x15b38a[_0x42e81b(0x143)]);await recheckAddSnapshot(_0x15b38a,_0x3cf70c);let _0x4e4413;try{_0x4e4413=await createMenuEntity(_0x15b38a['appCode'],_0x15b38a[_0x42e81b(0xe6)],createBody(_0xf374ce));}catch(_0x3ba1d8){const _0x294d9d=mapMenuApiError(_0x3ba1d8,_0x42e81b(0xc5));if(!isMenuResponseLoss(_0x3ba1d8)||_0x294d9d[_0x42e81b(0xf7)]===_0x42e81b(0x102))throw externalLinkCreateFailure(_0x294d9d,_0x3cf70c,{'stage':_0x42e81b(0x13f),'failed':{},'verification':{'status':'failed','lookupCommand':_0x278a42}});return recoverAfterResponseLoss(_0x15b38a,_0x4358ca,_0x278a42);}const _0x2da49d=Number(_0x4e4413?.['id']),_0x129012=typeof _0x4e4413?.[_0x42e81b(0xf8)]===_0x42e81b(0x10a)?_0x4e4413[_0x42e81b(0xf8)]:'';if(!Number[_0x42e81b(0xfa)](_0x2da49d)||_0x2da49d<=0x0||!_0x129012['trim']()){const _0x5d6737=menuError('menu_create_response_invalid',_0x42e81b(0xda),_0x42e81b(0x136)+_0x278a42+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5d6737,_0x3cf70c,{'stage':'create-response-validation','succeeded':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?[{'id':_0x2da49d,'created':!![]}]:[],'failed':{'createdId':Number[_0x42e81b(0xfa)](_0x2da49d)?_0x2da49d:null,'generatedPathConfirmed':Boolean(_0x129012[_0x42e81b(0x131)]())},'warnings':[_0x42e81b(0xee)],'after':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{..._0xf374ce,'id':_0x2da49d,'path':_0x129012}:_0xf374ce,'verification':{'status':_0x42e81b(0x12a),'lookupCommand':_0x278a42,...Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{'targetId':_0x2da49d}:{}}});}const _0x360395=await readAndVerifyCreatedMenu({'appCode':_0x15b38a['appCode'],'cookie':_0x15b38a[_0x42e81b(0xe6)],'plan':_0x3cf70c,'afterPlan':_0xf374ce,'createdId':_0x2da49d,'expectedPath':_0x129012,'lookupCommand':_0x278a42,'recovered':![]});return creationSuccess(_0x3cf70c,_0x360395[_0x42e81b(0x10c)],_0x360395[_0x42e81b(0xfc)],![]);}};function validateAddInput(_0x325906){const _0x1f6936=a109_0xd2b4ac;if(!_0x325906['str'](_0x1f6936(0x147))['trim']())throw CliErrors[_0x1f6936(0xe4)]('label');resolveExternalMenuType(_0x325906),validateExternalMenuUrl(_0x325906[_0x1f6936(0x115)](_0x1f6936(0x12b))),parseParentId(_0x325906,'parent-id'),validateSort(_0x325906);}function resolveExternalMenuType(_0x19825b){const _0x16b43d=a109_0xd2b4ac,_0x376a89=_0x19825b[_0x16b43d(0x115)](_0x16b43d(0xd9))[_0x16b43d(0x131)]();if(!_0x376a89)throw CliErrors['flagMissing'](_0x16b43d(0xd9));const _0x4308c5=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x376a89];if(!_0x4308c5)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x16b43d(0xe9));return _0x4308c5;}async function buildAddPlan(_0x1a0ed7,_0x2ed03e){const _0x2461ca=a109_0xd2b4ac,_0x1c85fe=await fetchMutationSnapshot(_0x1a0ed7,_0x2461ca(0xc5)),_0x4bd78f=parseParentId(_0x1a0ed7,_0x2461ca(0x127))??null;if(_0x4bd78f!=null)requireFolder(_0x1c85fe,_0x4bd78f);const _0x5d7806=validateSort(_0x1a0ed7),_0x1591b2=_0x5d7806??nextSiblingSort(_0x1c85fe,_0x4bd78f,_0x2461ca(0x113)),_0x4fbbf6=_0x1a0ed7[_0x2461ca(0x115)](_0x2461ca(0x147))[_0x2461ca(0x131)](),_0x56bb7c=resolveExternalMenuType(_0x1a0ed7),_0x5c6a68=validateExternalMenuUrl(_0x1a0ed7['str'](_0x2461ca(0x12b))),_0x2cc434=Object[_0x2461ca(0xef)][_0x2461ca(0x14a)][_0x2461ca(0xe2)](_0x1a0ed7[_0x2461ca(0x110)],_0x2461ca(0xc6))?_0x1a0ed7['bool'](_0x2461ca(0xc6)):!![],_0x4e08b6={'id':null,'parentId':_0x4bd78f,'label':_0x4fbbf6,'path':_0x2461ca(0x14d),'url':_0x5c6a68,'type':_0x56bb7c,'visible':_0x2cc434,'sort':_0x1591b2},_0x2d6ecd=buildMenuLookupCommand(_0x1a0ed7['appCode']),_0x34a3d1=mutationResult({'operation':_0x2461ca(0xf1),'selector':{'parentId':_0x4bd78f,'type':_0x56bb7c,'label':_0x4fbbf6,'url':_0x5c6a68},'before':null,'after':_0x4e08b6,'dryRun':_0x2ed03e,'backend':[{'method':_0x2461ca(0x150),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x2461ca(0xce),'method':'POST','path':_0x2461ca(0x116),'body':createBody(_0x4e08b6)}],'snapshotHash':_0x1c85fe[_0x2461ca(0xe1)],'warnings':[_0x2461ca(0xf5)],'verification':{'lookupCommand':_0x2d6ecd}});return{'plan':_0x34a3d1,'snapshot':_0x1c85fe};}async function buildSafeAddPlan(_0x1c43fa,_0x44c2e0){try{return await buildAddPlan(_0x1c43fa,_0x44c2e0);}catch(_0x23f85c){throw safeMenuAddError(_0x23f85c);}}async function recheckAddSnapshot(_0x10657f,_0x564642){const _0x4949ac=a109_0xd2b4ac;try{await recheckMutationSnapshot(_0x10657f,_0x564642,_0x4949ac(0xc5));}catch(_0x30e26d){const _0x21a5bf=getFailureRecord(_0x30e26d);throw externalLinkCreateFailure(_0x30e26d,_0x564642,{'stage':_0x4949ac(0x114),'failed':{..._0x21a5bf?.[_0x4949ac(0x130)]?{'expectedSnapshotHash':_0x21a5bf['expectedSnapshotHash']}:{},..._0x21a5bf?.['currentSnapshotHash']?{'currentSnapshotHash':_0x21a5bf[_0x4949ac(0x11a)]}:{}}});}}function createBody(_0x5d439b){const _0x4c6f3f=a109_0xd2b4ac;return{'parentId':toApiParentId(_0x5d439b[_0x4c6f3f(0x103)]),'label':String(_0x5d439b[_0x4c6f3f(0x147)]),'type':String(_0x5d439b['type']),'url':String(_0x5d439b[_0x4c6f3f(0x12b)]),'visible':Boolean(_0x5d439b[_0x4c6f3f(0xc6)]),'sort':Number(_0x5d439b[_0x4c6f3f(0x13a)]),'extend':{}};}function buildMenuLookupCommand(_0x2b3059){const _0x49afa5=a109_0xd2b4ac,_0x4d6803='\x27'+_0x2b3059[_0x49afa5(0x149)](/'/g,_0x49afa5(0x14e))+'\x27';return _0x49afa5(0x142)+_0x4d6803+_0x49afa5(0x108);}async function recoverAfterResponseLoss(_0x576396,_0x16af81,_0x3d2c3e){const _0x305939=a109_0xd2b4ac,{plan:_0x435b97,snapshot:_0xd66b70}=_0x16af81,_0x17af4d=_0x435b97[_0x305939(0xe0)];let _0xa35a1c;try{_0xa35a1c=await fetchMenuSnapshot(_0x576396['appCode'],_0x576396[_0x305939(0xe6)]);}catch(_0x260be3){throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0xa0cec5=_0xa35a1c[_0x305939(0x100)][_0x305939(0xea)](_0x45af86=>_0x45af86[_0x305939(0x103)]===_0x17af4d['parentId']&&_0x45af86[_0x305939(0x11d)]===_0x17af4d[_0x305939(0x11d)]&&_0x45af86['label']===_0x17af4d[_0x305939(0x147)]&&_0x45af86['url']===_0x17af4d[_0x305939(0x12b)]),_0x51706c=_0xa0cec5[_0x305939(0xea)](_0x3cf384=>!_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x3cf384['id'])),_0x11dd13=_0xa0cec5[_0x305939(0xea)](_0x59d3e5=>_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x59d3e5['id']));if(_0xa0cec5[_0x305939(0xcf)]!==0x1||_0x51706c[_0x305939(0xcf)]!==0x1)throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':_0xa0cec5[_0x305939(0xcf)],'newMatchCount':_0x51706c[_0x305939(0xcf)],'preexistingMatchCount':_0x11dd13[_0x305939(0xcf)]});const _0xc50680=_0x51706c[0x0];try{verifyCreatedFact(_0xc50680,_0xc50680['id'],_0x17af4d,null);}catch(_0x1ea97e){const _0x2761dc=_0x1ea97e instanceof Error&&'code'in _0x1ea97e?_0x1ea97e:menuError(_0x305939(0x140),'Recovered\x20menu\x20'+_0xc50680['id']+'\x20could\x20not\x20be\x20verified.',_0x305939(0x136)+_0x3d2c3e+_0x305939(0xfe));throw externalLinkCreateFailure(_0x2761dc,_0x435b97,{'stage':_0x305939(0xe7),'succeeded':[{'id':_0xc50680['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xc50680['id'],'finalFactsConfirmed':![]},'after':_0xc50680,'warnings':[_0x305939(0x13e)+_0xc50680['id']+_0x305939(0x10b)],'verification':{'status':'failed','targetId':_0xc50680['id'],'recovered':!![],'lookupCommand':_0x3d2c3e}});}return creationSuccess(_0x435b97,_0xa35a1c,_0xc50680,!![]);}function recoveryRequiredFailure(_0x11488b,_0x365b0b,_0x375e32){const _0xb93168=a109_0xd2b4ac,_0xd127dd=menuError(_0xb93168(0x13c),_0xb93168(0x145),_0xb93168(0x136)+_0x365b0b+_0xb93168(0x132));return externalLinkCreateFailure(_0xd127dd,_0x11488b,{'stage':'create-recovery','failed':_0x375e32,'warnings':[_0xb93168(0x112)],'verification':{'status':_0xb93168(0x12a),..._0x375e32,'lookupCommand':_0x365b0b}});}async function readAndVerifyCreatedMenu(_0x4ab959){const _0xad792=a109_0xd2b4ac;let _0x5bfd50;try{_0x5bfd50=await fetchMenuSnapshot(_0x4ab959[_0xad792(0x143)],_0x4ab959[_0xad792(0xe6)]);}catch(_0x3bc875){const _0x2a4e5c=menuError(_0xad792(0x140),_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xca),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x2a4e5c,_0x4ab959['plan'],{'stage':'verification','succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xfb)],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'lookupCommand':_0x4ab959['lookupCommand']}});}const _0x45e414=_0x5bfd50[_0xad792(0xd7)][_0xad792(0x101)](_0x4ab959[_0xad792(0x124)]);try{if(!_0x45e414)throw menuError('menu_verification_failed',_0xad792(0x12e)+_0x4ab959['createdId']+_0xad792(0xcd),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));verifyCreatedFact(_0x45e414,_0x4ab959[_0xad792(0x124)],_0x4ab959[_0xad792(0x141)],_0x4ab959[_0xad792(0x106)]);}catch(_0x40330e){const _0x48537d=_0x40330e instanceof Error&&_0xad792(0xf7)in _0x40330e?_0x40330e:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4ab959[_0xad792(0x124)]+_0xad792(0x135),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x48537d,_0x4ab959[_0xad792(0xed)],{'stage':_0xad792(0xe7),'succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![]},'after':_0x45e414??{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'recovered':_0x4ab959[_0xad792(0xd0)],'lookupCommand':_0x4ab959[_0xad792(0x144)]}});}return{'snapshot':_0x5bfd50,'fact':_0x45e414};}function verifyCreatedFact(_0x2ae30c,_0x3227b9,_0x2aea2a,_0x15f495){const _0x508905=a109_0xd2b4ac;if(!Number[_0x508905(0xfa)](_0x2ae30c['id'])||_0x2ae30c['id']<=0x0||_0x2ae30c['id']!==_0x3227b9)throw menuError(_0x508905(0x140),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x508905(0x10f));const _0x45d81a=[[_0x508905(0x13d),_0x2ae30c[_0x508905(0x103)],_0x2aea2a[_0x508905(0x103)]],['type',_0x2ae30c[_0x508905(0x11d)],_0x2aea2a[_0x508905(0x11d)]],['label',_0x2ae30c[_0x508905(0x147)],_0x2aea2a['label']],[_0x508905(0xd1),_0x2ae30c['url'],_0x2aea2a[_0x508905(0x12b)]],[_0x508905(0x10e),_0x2ae30c['visible'],_0x2aea2a['visible']],[_0x508905(0x13a),_0x2ae30c[_0x508905(0x13a)],_0x2aea2a[_0x508905(0x13a)]]];for(const [_0x2efa5b,_0x2bebf8,_0x3f5a9f]of _0x45d81a){if(_0x2bebf8!==_0x3f5a9f)throw menuError('menu_verification_failed',_0x508905(0x12e)+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20'+_0x2efa5b+'.',_0x508905(0x10d));}if(!_0x2ae30c[_0x508905(0xf8)][_0x508905(0x131)]()||_0x15f495!==null&&_0x2ae30c[_0x508905(0xf8)]!==_0x15f495)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x1d48af,_0x540f22,_0x2621e4,_0x25beea){const _0x1f4bf5=a109_0xd2b4ac,_0xe19d6b=mutationResult({..._0x1d48af,'after':_0x2621e4,'dryRun':![],'succeeded':[{'id':_0x2621e4['id'],'created':!![],'recovered':_0x25beea}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x540f22['hash'],'targetId':_0x2621e4['id'],'recovered':_0x25beea,'path':_0x2621e4[_0x1f4bf5(0xf8)]}});return{'ok':!![],'message':_0x25beea?_0x1f4bf5(0x11f)+_0x2621e4['id']+_0x1f4bf5(0x11b):_0x1f4bf5(0xd4)+_0x2621e4['id']+'.','data':{..._0xe19d6b,'recovered':_0x25beea}};}function externalLinkCreateFailure(_0x5b6305,_0x29ad8d,_0x4cb93c){const _0x17e1a3=a109_0xd2b4ac;return menuFailure(safeMenuAddError(_0x5b6305),redactFailurePlan(_0x29ad8d),{..._0x4cb93c,'succeeded':_0x4cb93c[_0x17e1a3(0xcb)]?.[_0x17e1a3(0xcc)](redactFailureRecord),'failed':_0x4cb93c[_0x17e1a3(0x12a)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0x12a)]):undefined,'verification':_0x4cb93c[_0x17e1a3(0xe7)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0xe7)]):undefined,'after':_0x4cb93c['after']===undefined?undefined:redactFailureValue(_0x4cb93c[_0x17e1a3(0xe0)])});}function redactFailurePlan(_0x401ab4){const _0x1ceaa4=a109_0xd2b4ac;return{..._0x401ab4,'selector':redactFailureRecord(_0x401ab4['selector']),'before':redactFailureValue(_0x401ab4[_0x1ceaa4(0x129)]),'after':redactFailureValue(_0x401ab4[_0x1ceaa4(0xe0)]),'plannedActions':_0x401ab4['plannedActions']?.[_0x1ceaa4(0xcc)](_0x25a791=>({..._0x25a791,'body':redactFailureRecord(_0x25a791[_0x1ceaa4(0x139)])})),'succeeded':_0x401ab4['succeeded'][_0x1ceaa4(0xcc)](redactFailureRecord),'failed':_0x401ab4['failed'][_0x1ceaa4(0xcc)](redactFailureRecord),'verification':_0x401ab4[_0x1ceaa4(0xe7)]?redactFailureRecord(_0x401ab4[_0x1ceaa4(0xe7)]):undefined};}function redactFailureRecord(_0x327eaa){return redactFailureValue(_0x327eaa);}function a109_0x4ccc(_0x42bbf8,_0x24c634){_0x42bbf8=_0x42bbf8-0xc5;const _0x386fc2=a109_0x386f();let _0x4ccc73=_0x386fc2[_0x42bbf8];return _0x4ccc73;}function redactFailureValue(_0x2e2a60,_0x273354=''){const _0xb96dc9=a109_0xd2b4ac,_0x3918f7=_0x273354[_0xb96dc9(0xdf)]()[_0xb96dc9(0x149)](/[^a-z0-9]/g,'');if([_0xb96dc9(0xd8),'causemessage',_0xb96dc9(0xc9),_0xb96dc9(0xc8)]['includes'](_0x3918f7))return'<redacted>';if(Array[_0xb96dc9(0x126)](_0x2e2a60))return _0x2e2a60[_0xb96dc9(0xcc)](_0x460ec0=>redactFailureValue(_0x460ec0));if(_0x2e2a60&&typeof _0x2e2a60===_0xb96dc9(0x13b))return Object[_0xb96dc9(0x14b)](Object[_0xb96dc9(0x123)](_0x2e2a60)[_0xb96dc9(0xcc)](([_0x581a23,_0x131493])=>[_0x581a23,redactFailureValue(_0x131493,_0x581a23)]));return _0x2e2a60;}function safeMenuAddError(_0x359169){const _0x52158f=a109_0xd2b4ac,_0x257698=_0x359169 instanceof CliError?_0x359169[_0x52158f(0xf7)]:_0x52158f(0x111);switch(_0x257698){case'menu_state_drift':return menuError(_0x257698,_0x52158f(0x122),_0x52158f(0x133));case _0x52158f(0x102):return menuError(_0x257698,_0x52158f(0x148),_0x52158f(0x121));case _0x52158f(0x120):return menuError(_0x257698,_0x52158f(0xde),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x257698,_0x52158f(0xe5),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x257698,_0x52158f(0x107),_0x52158f(0x125));case _0x52158f(0x111):case _0x52158f(0xdb):case _0x52158f(0x11c):case _0x52158f(0x14c):case _0x52158f(0x109):return menuError(_0x257698,'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));default:return menuError(_0x52158f(0x111),'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));}}function getFailureRecord(_0x2eb8b8){const _0x373c16=a109_0xd2b4ac;if(!(_0x2eb8b8 instanceof Error)||!(_0x373c16(0xf4)in _0x2eb8b8))return undefined;const _0x50e6a4=_0x2eb8b8['data'];if(!_0x50e6a4||typeof _0x50e6a4!==_0x373c16(0x13b))return undefined;const _0x385cf=_0x50e6a4[_0x373c16(0x12a)];if(!Array[_0x373c16(0x126)](_0x385cf)||!_0x385cf[0x0]||typeof _0x385cf[0x0]!==_0x373c16(0x13b))return undefined;return _0x385cf[0x0];}
1
+ const a109_0x429820=a109_0x75f7;(function(_0x47954f,_0x1cda9a){const _0x32a118=a109_0x75f7,_0x27f949=_0x47954f();while(!![]){try{const _0x36c363=-parseInt(_0x32a118(0x201))/0x1+-parseInt(_0x32a118(0x21e))/0x2+parseInt(_0x32a118(0x239))/0x3*(-parseInt(_0x32a118(0x1de))/0x4)+-parseInt(_0x32a118(0x1f2))/0x5*(-parseInt(_0x32a118(0x1d6))/0x6)+parseInt(_0x32a118(0x1d9))/0x7*(parseInt(_0x32a118(0x255))/0x8)+parseInt(_0x32a118(0x203))/0x9+-parseInt(_0x32a118(0x221))/0xa*(-parseInt(_0x32a118(0x227))/0xb);if(_0x36c363===_0x1cda9a)break;else _0x27f949['push'](_0x27f949['shift']());}catch(_0x2ec7e5){_0x27f949['push'](_0x27f949['shift']());}}}(a109_0x1869,0x500e0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a109_0x1869(){const _0x15ae07=['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','parent-id','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','new-window','length','create-recovery','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','username','<platform-generated>','url','object','\x20after\x20response\x20loss.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Menu\x20','afterPlan','Created\x20menu\x20','lookupCommand','5huftTe','<redacted>','replace','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu_sort_invalid','code','hash','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','data','Recovered\x20menu\x20','External\x20menu\x20creation\x20failed.','isSafeInteger','651172DgvxYN','byId','3397878yfBmFq','type','body','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_create_response_invalid','path','How\x20to\x20open\x20the\x20external\x20website','sort','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','\x20has\x20an\x20unexpected\x20generated\x20path.','createdId','Menu\x20label','rabetbase\x20menu\x20list\x20--appcode\x20','str','menu_url_credentials_forbidden','menu_parent_not_folder','prototype','\x27\x5c\x27\x27','visibility','\x20failed\x20final\x20verification.','pre-write-recheck','snapshot','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','plannedActions','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','860564CqBgHL','label','menu_mutation_failed','10WaqPbh','add','trim','menu','isArray','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','2964302MIvkVP','toLowerCase','https:','external-link-create','parent','POST','Whether\x20the\x20menu\x20is\x20visible','External\x20HTTPS\x20URL','has','fact','menu_state_drift','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','expectedPath','Recovered\x20created\x20external\x20menu\x20','visible','parentId','verification','cookie','87mqcihj','string','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20--format\x20compress','rawerror','before','Run\x20','stringify','failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plan','menu_not_found','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','link','includes','menu_permission_denied','bool','causemessage','readbackerror','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','after','succeeded','/smartapi/menu/create','currentSnapshotHash','rawFlags','open-mode','167208wYvPJW','menu_create_recovery_required','create\x20external\x20menu','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','expectedSnapshotHash','filter','menu\x20list','2261274NGAQNb','\x20with\x20','menu_verification_failed','189RUJVee','menus','get','menu_url_invalid','iframe','24672RanSxl','appCode'];a109_0x1869=function(){return _0x15ae07;};return a109_0x1869();}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':a109_0x429820(0x1dd),'new-window':a109_0x429820(0x247)};export function validateExternalMenuUrl(_0x16538c){const _0x35391c=a109_0x429820,_0x5865d2=_0x16538c['trim']();let _0x1cfcdb;try{_0x1cfcdb=new URL(_0x5865d2);}catch{throw menuError(_0x35391c(0x1dc),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x35391c(0x232));}if(_0x1cfcdb['protocol']!==_0x35391c(0x229))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x1cfcdb[_0x35391c(0x1e8)]||_0x1cfcdb['password'])throw menuError(_0x35391c(0x211),_0x35391c(0x21c),_0x35391c(0x24e));return _0x5865d2;}function a109_0x75f7(_0x2a966d,_0x1f884b){_0x2a966d=_0x2a966d-0x1d2;const _0x186910=a109_0x1869();let _0x75f738=_0x186910[_0x2a966d];return _0x75f738;}export const menuExternalLinkCreate={'service':a109_0x429820(0x224),'command':a109_0x429820(0x22a),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a109_0x429820(0x21f),'type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x20e)},{'name':a109_0x429820(0x254),'type':'string','required':!![],'enum':['embedded',a109_0x429820(0x1e4)],'description':a109_0x429820(0x209)},{'name':'url','type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x22e)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x429820(0x235),'type':'boolean','default':!![],'description':a109_0x429820(0x22d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42b1d1){validateAddInput(_0x42b1d1);},async 'dryRun'(_0x1fbfc0){const _0x1ec4cf=a109_0x429820;validateAddInput(_0x1fbfc0);const {plan:_0x1d9867}=await buildSafeAddPlan(_0x1fbfc0,!![]),_0x4ff3a1=_0x1d9867[_0x1ec4cf(0x24f)],_0x26321=createBody(_0x4ff3a1);return menuDryRunResult(_0x1d9867,{'method':_0x1ec4cf(0x22c),'url':_0x1ec4cf(0x251),'body':_0x26321,'description':_0x1ec4cf(0x1e2)+JSON[_0x1ec4cf(0x240)](_0x4ff3a1[_0x1ec4cf(0x21f)])+_0x1ec4cf(0x1d7)+_0x1fbfc0[_0x1ec4cf(0x210)](_0x1ec4cf(0x254))+_0x1ec4cf(0x1f7)});},async 'execute'(_0xcdcd06){const _0x4078f1=a109_0x429820;validateAddInput(_0xcdcd06);const _0x95ef32=await buildSafeAddPlan(_0xcdcd06,![]),{plan:_0x46f08f,snapshot:_0x2832d4}=_0x95ef32,_0x575092=_0x46f08f[_0x4078f1(0x24f)],_0x3f996d=buildMenuLookupCommand(_0xcdcd06[_0x4078f1(0x1df)]);await recheckAddSnapshot(_0xcdcd06,_0x46f08f);let _0x2233d3;try{_0x2233d3=await createMenuEntity(_0xcdcd06['appCode'],_0xcdcd06['cookie'],createBody(_0x575092));}catch(_0xd28fc3){const _0x153b0f=mapMenuApiError(_0xd28fc3,_0x4078f1(0x257));if(!isMenuResponseLoss(_0xd28fc3)||_0x153b0f[_0x4078f1(0x1f9)]===_0x4078f1(0x249))throw externalLinkCreateFailure(_0x153b0f,_0x46f08f,{'stage':'create','failed':{},'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d}});return recoverAfterResponseLoss(_0xcdcd06,_0x95ef32,_0x3f996d);}const _0x69be02=Number(_0x2233d3?.['id']),_0x5e031d=typeof _0x2233d3?.[_0x4078f1(0x208)]==='string'?_0x2233d3[_0x4078f1(0x208)]:'';if(!Number[_0x4078f1(0x200)](_0x69be02)||_0x69be02<=0x0||!_0x5e031d['trim']()){const _0x3c39d2=menuError(_0x4078f1(0x207),_0x4078f1(0x21a),'Run\x20'+_0x3f996d+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x3c39d2,_0x46f08f,{'stage':'create-response-validation','succeeded':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?[{'id':_0x69be02,'created':!![]}]:[],'failed':{'createdId':Number[_0x4078f1(0x200)](_0x69be02)?_0x69be02:null,'generatedPathConfirmed':Boolean(_0x5e031d[_0x4078f1(0x223)]())},'warnings':[_0x4078f1(0x1e0)],'after':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?{..._0x575092,'id':_0x69be02,'path':_0x5e031d}:_0x575092,'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d,...Number['isSafeInteger'](_0x69be02)&&_0x69be02>0x0?{'targetId':_0x69be02}:{}}});}const _0x133e77=await readAndVerifyCreatedMenu({'appCode':_0xcdcd06[_0x4078f1(0x1df)],'cookie':_0xcdcd06[_0x4078f1(0x238)],'plan':_0x46f08f,'afterPlan':_0x575092,'createdId':_0x69be02,'expectedPath':_0x5e031d,'lookupCommand':_0x3f996d,'recovered':![]});return creationSuccess(_0x46f08f,_0x133e77[_0x4078f1(0x218)],_0x133e77[_0x4078f1(0x230)],![]);}};function validateAddInput(_0x525568){const _0x113b48=a109_0x429820;if(!_0x525568[_0x113b48(0x210)](_0x113b48(0x21f))[_0x113b48(0x223)]())throw CliErrors['flagMissing'](_0x113b48(0x21f));resolveExternalMenuType(_0x525568),validateExternalMenuUrl(_0x525568[_0x113b48(0x210)]('url')),parseParentId(_0x525568,_0x113b48(0x1e1)),validateSort(_0x525568);}function resolveExternalMenuType(_0x51fc8b){const _0x2b36bd=a109_0x429820,_0x2e0651=_0x51fc8b[_0x2b36bd(0x210)]('open-mode')[_0x2b36bd(0x223)]();if(!_0x2e0651)throw CliErrors['flagMissing'](_0x2b36bd(0x254));const _0x3cf0ff=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2e0651];if(!_0x3cf0ff)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x2b36bd(0x1fc));return _0x3cf0ff;}async function buildAddPlan(_0x4f4f79,_0x35cab2){const _0x26fa3b=a109_0x429820,_0x234d45=await fetchMutationSnapshot(_0x4f4f79,_0x26fa3b(0x257)),_0x36ad91=parseParentId(_0x4f4f79,_0x26fa3b(0x1e1))??null;if(_0x36ad91!=null)requireFolder(_0x234d45,_0x36ad91);const _0x2dad00=validateSort(_0x4f4f79),_0x365a82=_0x2dad00??nextSiblingSort(_0x234d45,_0x36ad91,_0x26fa3b(0x224)),_0xc118c5=_0x4f4f79['str'](_0x26fa3b(0x21f))[_0x26fa3b(0x223)](),_0x3fb9a8=resolveExternalMenuType(_0x4f4f79),_0x1286e2=validateExternalMenuUrl(_0x4f4f79['str'](_0x26fa3b(0x1ea))),_0x482996=Object[_0x26fa3b(0x213)]['hasOwnProperty']['call'](_0x4f4f79[_0x26fa3b(0x253)],_0x26fa3b(0x235))?_0x4f4f79[_0x26fa3b(0x24a)](_0x26fa3b(0x235)):!![],_0x4a2f8c={'id':null,'parentId':_0x36ad91,'label':_0xc118c5,'path':_0x26fa3b(0x1e9),'url':_0x1286e2,'type':_0x3fb9a8,'visible':_0x482996,'sort':_0x365a82},_0x38de8e=buildMenuLookupCommand(_0x4f4f79[_0x26fa3b(0x1df)]),_0xcbca49=mutationResult({'operation':_0x26fa3b(0x222),'selector':{'parentId':_0x36ad91,'type':_0x3fb9a8,'label':_0xc118c5,'url':_0x1286e2},'before':null,'after':_0x4a2f8c,'dryRun':_0x35cab2,'backend':[{'method':_0x26fa3b(0x22c),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':'create-menu','method':_0x26fa3b(0x22c),'path':_0x26fa3b(0x251),'body':createBody(_0x4a2f8c)}],'snapshotHash':_0x234d45[_0x26fa3b(0x1fa)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x38de8e}});return{'plan':_0xcbca49,'snapshot':_0x234d45};}async function buildSafeAddPlan(_0x29e4fa,_0x3c0d79){try{return await buildAddPlan(_0x29e4fa,_0x3c0d79);}catch(_0x3bc9cf){throw safeMenuAddError(_0x3bc9cf);}}async function recheckAddSnapshot(_0x4c5a2a,_0x341d8c){const _0x1ff30a=a109_0x429820;try{await recheckMutationSnapshot(_0x4c5a2a,_0x341d8c,_0x1ff30a(0x257));}catch(_0x54579b){const _0xbd3555=getFailureRecord(_0x54579b);throw externalLinkCreateFailure(_0x54579b,_0x341d8c,{'stage':_0x1ff30a(0x217),'failed':{..._0xbd3555?.[_0x1ff30a(0x1d3)]?{'expectedSnapshotHash':_0xbd3555[_0x1ff30a(0x1d3)]}:{},..._0xbd3555?.[_0x1ff30a(0x252)]?{'currentSnapshotHash':_0xbd3555[_0x1ff30a(0x252)]}:{}}});}}function createBody(_0x1ae5f9){const _0x37e61c=a109_0x429820;return{'parentId':toApiParentId(_0x1ae5f9[_0x37e61c(0x236)]),'label':String(_0x1ae5f9[_0x37e61c(0x21f)]),'type':String(_0x1ae5f9[_0x37e61c(0x204)]),'url':String(_0x1ae5f9[_0x37e61c(0x1ea)]),'visible':Boolean(_0x1ae5f9[_0x37e61c(0x235)]),'sort':Number(_0x1ae5f9[_0x37e61c(0x20a)]),'extend':{}};}function buildMenuLookupCommand(_0x4559e6){const _0x349ef1=a109_0x429820,_0x13c4d8='\x27'+_0x4559e6['replace'](/'/g,_0x349ef1(0x214))+'\x27';return _0x349ef1(0x20f)+_0x13c4d8+_0x349ef1(0x23c);}async function recoverAfterResponseLoss(_0x20f880,_0x1bc9af,_0x2718fb){const _0x1eb2ed=a109_0x429820,{plan:_0x11bfe3,snapshot:_0x3d1f5b}=_0x1bc9af,_0x4dfc09=_0x11bfe3[_0x1eb2ed(0x24f)];let _0x95caff;try{_0x95caff=await fetchMenuSnapshot(_0x20f880['appCode'],_0x20f880[_0x1eb2ed(0x238)]);}catch(_0x3095b9){throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4305d3=_0x95caff[_0x1eb2ed(0x1da)]['filter'](_0x42831d=>_0x42831d['parentId']===_0x4dfc09[_0x1eb2ed(0x236)]&&_0x42831d[_0x1eb2ed(0x204)]===_0x4dfc09['type']&&_0x42831d[_0x1eb2ed(0x21f)]===_0x4dfc09['label']&&_0x42831d[_0x1eb2ed(0x1ea)]===_0x4dfc09[_0x1eb2ed(0x1ea)]),_0x845eae=_0x4305d3[_0x1eb2ed(0x1d4)](_0xc78c02=>!_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0xc78c02['id'])),_0x30610e=_0x4305d3[_0x1eb2ed(0x1d4)](_0x129d36=>_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0x129d36['id']));if(_0x4305d3[_0x1eb2ed(0x1e5)]!==0x1||_0x845eae[_0x1eb2ed(0x1e5)]!==0x1)throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':_0x4305d3[_0x1eb2ed(0x1e5)],'newMatchCount':_0x845eae[_0x1eb2ed(0x1e5)],'preexistingMatchCount':_0x30610e[_0x1eb2ed(0x1e5)]});const _0x5b9ed2=_0x845eae[0x0];try{verifyCreatedFact(_0x5b9ed2,_0x5b9ed2['id'],_0x4dfc09,null);}catch(_0x222970){const _0x35f2ea=_0x222970 instanceof Error&&_0x1eb2ed(0x1f9)in _0x222970?_0x222970:menuError(_0x1eb2ed(0x1d8),_0x1eb2ed(0x1fe)+_0x5b9ed2['id']+'\x20could\x20not\x20be\x20verified.',_0x1eb2ed(0x23f)+_0x2718fb+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x35f2ea,_0x11bfe3,{'stage':_0x1eb2ed(0x237),'succeeded':[{'id':_0x5b9ed2['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x5b9ed2['id'],'finalFactsConfirmed':![]},'after':_0x5b9ed2,'warnings':[_0x1eb2ed(0x1ee)+_0x5b9ed2['id']+_0x1eb2ed(0x1e7)],'verification':{'status':_0x1eb2ed(0x241),'targetId':_0x5b9ed2['id'],'recovered':!![],'lookupCommand':_0x2718fb}});}return creationSuccess(_0x11bfe3,_0x95caff,_0x5b9ed2,!![]);}function recoveryRequiredFailure(_0x444b7f,_0xa81b0,_0x174333){const _0x581b8a=a109_0x429820,_0x4723c4=menuError(_0x581b8a(0x256),_0x581b8a(0x246),_0x581b8a(0x23f)+_0xa81b0+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x4723c4,_0x444b7f,{'stage':_0x581b8a(0x1e6),'failed':_0x174333,'warnings':[_0x581b8a(0x242)],'verification':{'status':_0x581b8a(0x241),..._0x174333,'lookupCommand':_0xa81b0}});}async function readAndVerifyCreatedMenu(_0x11e04e){const _0x37e134=a109_0x429820;let _0x39e14e;try{_0x39e14e=await fetchMenuSnapshot(_0x11e04e['appCode'],_0x11e04e[_0x37e134(0x238)]);}catch(_0x9cbbcd){const _0x2d0342=menuError(_0x37e134(0x1d8),_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x1e3),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2d0342,_0x11e04e['plan'],{'stage':_0x37e134(0x237),'succeeded':[{'id':_0x11e04e[_0x37e134(0x20d)],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x11e04e[_0x37e134(0x1ef)],'id':_0x11e04e[_0x37e134(0x20d)],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':['Menu\x20'+_0x11e04e[_0x37e134(0x20d)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x11e04e['createdId'],'lookupCommand':_0x11e04e[_0x37e134(0x1f1)]}});}const _0x15fea1=_0x39e14e[_0x37e134(0x202)][_0x37e134(0x1db)](_0x11e04e[_0x37e134(0x20d)]);try{if(!_0x15fea1)throw menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x23b),_0x37e134(0x23f)+_0x11e04e['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x15fea1,_0x11e04e[_0x37e134(0x20d)],_0x11e04e[_0x37e134(0x1ef)],_0x11e04e[_0x37e134(0x233)]);}catch(_0x299cdc){const _0x37a83f=_0x299cdc instanceof Error&&'code'in _0x299cdc?_0x299cdc:menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x216),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+_0x37e134(0x219));throw externalLinkCreateFailure(_0x37a83f,_0x11e04e[_0x37e134(0x243)],{'stage':'verification','succeeded':[{'id':_0x11e04e['createdId'],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![]},'after':_0x15fea1??{..._0x11e04e['afterPlan'],'id':_0x11e04e['createdId'],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':[_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x20b)],'verification':{'status':'failed','targetId':_0x11e04e[_0x37e134(0x20d)],'recovered':_0x11e04e['recovered'],'lookupCommand':_0x11e04e['lookupCommand']}});}return{'snapshot':_0x39e14e,'fact':_0x15fea1};}function verifyCreatedFact(_0x4915dc,_0x1604a5,_0x3d7fcf,_0x34e115){const _0x2d2840=a109_0x429820;if(!Number['isSafeInteger'](_0x4915dc['id'])||_0x4915dc['id']<=0x0||_0x4915dc['id']!==_0x1604a5)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x2d2840(0x1fb));const _0x1b624d=[[_0x2d2840(0x22b),_0x4915dc[_0x2d2840(0x236)],_0x3d7fcf[_0x2d2840(0x236)]],['type',_0x4915dc[_0x2d2840(0x204)],_0x3d7fcf[_0x2d2840(0x204)]],[_0x2d2840(0x21f),_0x4915dc[_0x2d2840(0x21f)],_0x3d7fcf[_0x2d2840(0x21f)]],['URL',_0x4915dc[_0x2d2840(0x1ea)],_0x3d7fcf['url']],[_0x2d2840(0x215),_0x4915dc[_0x2d2840(0x235)],_0x3d7fcf[_0x2d2840(0x235)]],[_0x2d2840(0x20a),_0x4915dc[_0x2d2840(0x20a)],_0x3d7fcf[_0x2d2840(0x20a)]]];for(const [_0x28211d,_0x1a687a,_0x3bedaf]of _0x1b624d){if(_0x1a687a!==_0x3bedaf)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20'+_0x4915dc['id']+'\x20has\x20an\x20unexpected\x20'+_0x28211d+'.',_0x2d2840(0x259));}if(!_0x4915dc[_0x2d2840(0x208)][_0x2d2840(0x223)]()||_0x34e115!==null&&_0x4915dc[_0x2d2840(0x208)]!==_0x34e115)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4915dc['id']+_0x2d2840(0x20c),_0x2d2840(0x259));}function creationSuccess(_0x2496ac,_0x4eb08d,_0x5d9f55,_0x516fd1){const _0x1faeab=a109_0x429820,_0xa8f8ac=mutationResult({..._0x2496ac,'after':_0x5d9f55,'dryRun':![],'succeeded':[{'id':_0x5d9f55['id'],'created':!![],'recovered':_0x516fd1}],'verification':{'checkedBy':_0x1faeab(0x1d5),'snapshotHash':_0x4eb08d[_0x1faeab(0x1fa)],'targetId':_0x5d9f55['id'],'recovered':_0x516fd1,'path':_0x5d9f55[_0x1faeab(0x208)]}});return{'ok':!![],'message':_0x516fd1?_0x1faeab(0x234)+_0x5d9f55['id']+_0x1faeab(0x1ec):_0x1faeab(0x245)+_0x5d9f55['id']+'.','data':{..._0xa8f8ac,'recovered':_0x516fd1}};}function externalLinkCreateFailure(_0x3834da,_0x4b7614,_0x31e545){const _0x46b193=a109_0x429820;return menuFailure(safeMenuAddError(_0x3834da),redactFailurePlan(_0x4b7614),{..._0x31e545,'succeeded':_0x31e545[_0x46b193(0x250)]?.[_0x46b193(0x1d2)](redactFailureRecord),'failed':_0x31e545[_0x46b193(0x241)]?redactFailureRecord(_0x31e545[_0x46b193(0x241)]):undefined,'verification':_0x31e545[_0x46b193(0x237)]?redactFailureRecord(_0x31e545['verification']):undefined,'after':_0x31e545[_0x46b193(0x24f)]===undefined?undefined:redactFailureValue(_0x31e545[_0x46b193(0x24f)])});}function redactFailurePlan(_0xe42d66){const _0x3e75c2=a109_0x429820;return{..._0xe42d66,'selector':redactFailureRecord(_0xe42d66['selector']),'before':redactFailureValue(_0xe42d66[_0x3e75c2(0x23e)]),'after':redactFailureValue(_0xe42d66[_0x3e75c2(0x24f)]),'plannedActions':_0xe42d66[_0x3e75c2(0x21b)]?.[_0x3e75c2(0x1d2)](_0x22b54b=>({..._0x22b54b,'body':redactFailureRecord(_0x22b54b[_0x3e75c2(0x205)])})),'succeeded':_0xe42d66[_0x3e75c2(0x250)][_0x3e75c2(0x1d2)](redactFailureRecord),'failed':_0xe42d66[_0x3e75c2(0x241)]['map'](redactFailureRecord),'verification':_0xe42d66[_0x3e75c2(0x237)]?redactFailureRecord(_0xe42d66[_0x3e75c2(0x237)]):undefined};}function redactFailureRecord(_0x2a27fa){return redactFailureValue(_0x2a27fa);}function redactFailureValue(_0x3f623e,_0x1841bd=''){const _0x2e2088=a109_0x429820,_0x4726da=_0x1841bd[_0x2e2088(0x228)]()[_0x2e2088(0x1f4)](/[^a-z0-9]/g,'');if(['cause',_0x2e2088(0x24b),_0x2e2088(0x24c),_0x2e2088(0x23d)][_0x2e2088(0x248)](_0x4726da))return _0x2e2088(0x1f3);if(Array[_0x2e2088(0x225)](_0x3f623e))return _0x3f623e[_0x2e2088(0x1d2)](_0x5a51b5=>redactFailureValue(_0x5a51b5));if(_0x3f623e&&typeof _0x3f623e==='object')return Object['fromEntries'](Object['entries'](_0x3f623e)[_0x2e2088(0x1d2)](([_0x1ac93d,_0x4068b8])=>[_0x1ac93d,redactFailureValue(_0x4068b8,_0x1ac93d)]));return _0x3f623e;}function safeMenuAddError(_0x11f805){const _0x4f2650=a109_0x429820,_0x226175=_0x11f805 instanceof CliError?_0x11f805[_0x4f2650(0x1f9)]:'menu_mutation_failed';switch(_0x226175){case _0x4f2650(0x231):return menuError(_0x226175,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x4f2650(0x21d));case _0x4f2650(0x249):return menuError(_0x226175,_0x4f2650(0x1ed),_0x4f2650(0x24d));case _0x4f2650(0x207):return menuError(_0x226175,_0x4f2650(0x1f6),_0x4f2650(0x226));case _0x4f2650(0x1d8):return menuError(_0x226175,_0x4f2650(0x1f5),_0x4f2650(0x226));case _0x4f2650(0x256):return menuError(_0x226175,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x4f2650(0x258));case'menu_mutation_failed':case _0x4f2650(0x244):case _0x4f2650(0x212):case _0x4f2650(0x1f8):case'menu_sort_overflow':return menuError(_0x226175,'External\x20menu\x20creation\x20failed.',_0x4f2650(0x206));default:return menuError(_0x4f2650(0x220),_0x4f2650(0x1ff),_0x4f2650(0x206));}}function getFailureRecord(_0x4dc44f){const _0x40bc7c=a109_0x429820;if(!(_0x4dc44f instanceof Error)||!(_0x40bc7c(0x1fd)in _0x4dc44f))return undefined;const _0x4f8104=_0x4dc44f[_0x40bc7c(0x1fd)];if(!_0x4f8104||typeof _0x4f8104!==_0x40bc7c(0x1eb))return undefined;const _0x5adeb2=_0x4f8104[_0x40bc7c(0x241)];if(!Array[_0x40bc7c(0x225)](_0x5adeb2)||!_0x5adeb2[0x0]||typeof _0x5adeb2[0x0]!==_0x40bc7c(0x1eb))return undefined;return _0x5adeb2[0x0];}
@@ -1 +1 @@
1
- function a110_0x41d9(){const _0x5c1d46=['rabetbase\x20menu\x20list\x20--appcode\x20','2402770NyJvnt','245764wPBwOo','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','type','1019333joNJhZ','appCode','byId','menu_permission_denied','30OGSRCu','10IrRtnD','\x20could\x20not\x20be\x20verified\x20safely','str','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_not_leaf','body','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','string','45vyoPSR','menu\x20list','label','\x20changed\x20during\x20the\x20URL-only\x20update.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','parentId','menu_state_drift','46746btlxlj','POST','path','expect-url','\x20--format\x20compress','/smartapi/menu/update','failed','hash','external-link-update','visible','Response\x20was\x20lost\x20and\x20menu\x20','Run\x20','9001NNHBPd','710280wCEcde','Update\x20request\x20for\x20menu\x20','44lArNQy','\x20already\x20matches\x20the\x20requested\x20URL.','\x20has\x20an\x20empty\x20platform\x20path.',',\x20current\x20','8UAgLso','sort','update\x20external\x20menu\x20URL','expect-parent-id','Menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','flagMissing','7400364nlgGgT','cookie','get','\x27\x5c\x27\x27','update-recovery','update-external-link-url','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','childrenCount','\x20is\x20type\x20\x22','link','after','unknown','trim','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','readbackFailed','verify\x20external\x20menu\x20URL\x20update','verification','url','requestedUrlObserved','menu_update_recovery_required'];a110_0x41d9=function(){return _0x5c1d46;};return a110_0x41d9();}const a110_0x2233cd=a110_0x2d65;(function(_0x2615ce,_0xc9fb3d){const _0x293469=a110_0x2d65,_0x57461d=_0x2615ce();while(!![]){try{const _0x21cdb1=-parseInt(_0x293469(0x8b))/0x1*(-parseInt(_0x293469(0xb8))/0x2)+parseInt(_0x293469(0xb7))/0x3*(parseInt(_0x293469(0xaf))/0x4)+parseInt(_0x293469(0x72))/0x5*(-parseInt(_0x293469(0x7f))/0x6)+parseInt(_0x293469(0xb3))/0x7*(-parseInt(_0x293469(0x92))/0x8)+-parseInt(_0x293469(0x8c))/0x9+parseInt(_0x293469(0xae))/0xa*(parseInt(_0x293469(0x8e))/0xb)+-parseInt(_0x293469(0x99))/0xc;if(_0x21cdb1===_0xc9fb3d)break;else _0x57461d['push'](_0x57461d['shift']());}catch(_0x463906){_0x57461d['push'](_0x57461d['shift']());}}}(a110_0x41d9,0xad230));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a110_0x2d65(_0x3d8297,_0x190529){_0x3d8297=_0x3d8297-0x71;const _0x41d901=a110_0x41d9();let _0x2d65a0=_0x41d901[_0x3d8297];return _0x2d65a0;}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,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x2233cd(0x80),'path':a110_0x2233cd(0x84)}];export const menuExternalLinkUpdate={'service':a110_0x2233cd(0xc1),'command':'external-link-update','description':a110_0x2233cd(0x97),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x2233cd(0xaa),'type':a110_0x2233cd(0x71),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a110_0x2233cd(0x82),'type':a110_0x2233cd(0x71),'required':!![],'description':a110_0x2233cd(0x78)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x447dbc){validateInput(_0x447dbc),requireExplicitYes(_0x447dbc);},async 'dryRun'(_0x3d5ec5){const _0x5ef6de=a110_0x2233cd;validateInput(_0x3d5ec5);const _0x2dd62d=await buildPlan(_0x3d5ec5,!![]);return menuDryRunResult(_0x2dd62d['plan'],{'method':_0x5ef6de(0x80),'url':_0x5ef6de(0x84),'body':_0x2dd62d[_0x5ef6de(0xbf)],'description':_0x5ef6de(0x7b)+_0x2dd62d[_0x5ef6de(0xbf)]['id']+'.'});},async 'execute'(_0x228b96){const _0x2f880f=a110_0x2233cd;validateInput(_0x228b96),requireExplicitYes(_0x228b96);const _0x431b7d=await buildPlan(_0x228b96,![]),{plan:_0x4f7923,body:_0x592424,before:_0xb580de,noChanges:_0x572396}=_0x431b7d,_0x570888=_0x592424['id'];if(_0x572396)return updateSuccess(_0x4f7923,_0x431b7d['snapshot'],_0xb580de,!![],![]);await recheckMutationSnapshot(_0x228b96,_0x4f7923,'update\x20external\x20menu\x20URL',_0x570888);try{await updateMenuEntity(_0x228b96['appCode'],_0x228b96[_0x2f880f(0x9a)],{'id':_0x592424['id'],'url':_0x592424[_0x2f880f(0xaa)]});}catch(_0x4f690f){const _0x591730=mapMenuApiError(_0x4f690f,_0x2f880f(0x94),_0x570888);if(isMenuResponseLoss(_0x4f690f)&&_0x591730['code']!==_0x2f880f(0xb6))return recoverAfterResponseLoss(_0x228b96,_0x431b7d);throw menuFailure(_0x591730,_0x4f7923,{'stage':'update','failed':{'id':_0x570888},'warnings':[_0x2f880f(0xc2)],'verification':{'status':_0x2f880f(0x85),'targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}let _0x5fe246,_0x10a74f;try{_0x5fe246=await fetchMenuSnapshot(_0x228b96[_0x2f880f(0xb4)],_0x228b96['cookie']),_0x10a74f=requireMenu(_0x5fe246,_0x570888),verifyUpdatedFact(_0xb580de,_0x10a74f,_0x592424[_0x2f880f(0xaa)]);}catch(_0xda194e){const _0x98b11e=describeMenuErrorCause(_0xda194e,_0x2f880f(0xa8),_0x570888),_0x2422c8=asVerificationError(_0xda194e,_0x2f880f(0x8d)+_0x570888+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2422c8,_0x4f7923,{'stage':_0x2f880f(0xa9),'succeeded':[{'id':_0x570888,'updateRequested':!![]}],'failed':{'id':_0x570888,'requestedStateConfirmed':![],..._0x98b11e},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}return updateSuccess(_0x4f7923,_0x5fe246,_0x10a74f,![],![]);}};function validateInput(_0x1b15ae){const _0x41bf87=a110_0x2233cd;validateExactId(_0x1b15ae),requiredUrl(_0x1b15ae,_0x41bf87(0xaa)),requiredExpectedUrl(_0x1b15ae),parseParentId(_0x1b15ae,_0x41bf87(0x95),{'required':!![]});}function requiredUrl(_0x35e002,_0x5edf2d){const _0x34dfe2=a110_0x2233cd;if(!hasFlag(_0x35e002,_0x5edf2d)||!_0x35e002['str'](_0x5edf2d)['trim']())throw CliErrors[_0x34dfe2(0x98)](_0x5edf2d);return validateExternalMenuUrl(_0x35e002[_0x34dfe2(0xba)](_0x5edf2d));}function requiredExpectedUrl(_0x2d7cb9){const _0x59a2c1=a110_0x2233cd;if(!hasFlag(_0x2d7cb9,_0x59a2c1(0x82))||!_0x2d7cb9['str']('expect-url')['trim']())throw CliErrors[_0x59a2c1(0x98)](_0x59a2c1(0x82));return _0x2d7cb9[_0x59a2c1(0xba)](_0x59a2c1(0x82))[_0x59a2c1(0xa5)]();}async function buildPlan(_0x2b4008,_0x1635aa){const _0x48d358=a110_0x2233cd,_0x5a24df=validateExactId(_0x2b4008),_0x36261a=requiredUrl(_0x2b4008,_0x48d358(0xaa)),_0x493c3b=requiredExpectedUrl(_0x2b4008),_0xd9495c=parseParentId(_0x2b4008,_0x48d358(0x95),{'required':!![]}),_0xdcc5e8=await fetchMutationSnapshot(_0x2b4008,'update\x20external\x20menu\x20URL',_0x5a24df),_0x39dd59=requireMenu(_0xdcc5e8,_0x5a24df);assertExternalLinkLeaf(_0x39dd59);if(_0x39dd59[_0x48d358(0x7d)]!==_0xd9495c)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xd9495c)+_0x48d358(0x91)+formatParent(_0x39dd59[_0x48d358(0x7d)])+'.',_0x48d358(0xbc));const _0x1bbccb=_0x39dd59[_0x48d358(0xaa)]===_0x36261a;if(!_0x1bbccb&&_0x39dd59[_0x48d358(0xaa)]!==_0x493c3b)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x48d358(0xc4));const _0x4e118f={'id':_0x5a24df,'appCode':_0x2b4008[_0x48d358(0xb4)],'url':_0x36261a},_0x448631={..._0x39dd59,'url':_0x36261a};return{'body':_0x4e118f,'before':_0x39dd59,'noChanges':_0x1bbccb,'snapshot':_0xdcc5e8,'plan':mutationResult({'operation':_0x48d358(0x87),'selector':{'id':_0x5a24df},'before':_0x39dd59,'after':_0x448631,'dryRun':_0x1635aa,'backend':[...BACKEND],'plannedActions':_0x1bbccb?[]:[{'stage':_0x48d358(0x9e),'method':'POST','path':_0x48d358(0x84),'body':_0x4e118f}],'snapshotHash':_0xdcc5e8[_0x48d358(0x86)],'warnings':_0x1bbccb?[_0x48d358(0x9f)]:[]})};}function assertExternalLinkLeaf(_0x118da7){const _0x41dd99=a110_0x2233cd;if(_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0x79)&&_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0xa2))throw menuError('menu_external_link_type_required',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xa1)+(_0x118da7[_0x41dd99(0xb2)]||_0x41dd99(0xa4))+_0x41dd99(0xbd),_0x41dd99(0x77));if(_0x118da7['childrenCount']!==0x0)throw menuError(_0x41dd99(0xbe),_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xc3)+_0x118da7[_0x41dd99(0xa0)]+'\x20direct\x20child\x20menu(s).',_0x41dd99(0xb0));if(!_0x118da7[_0x41dd99(0x81)]['trim']())throw menuError('menu_external_link_path_missing',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0x90),_0x41dd99(0x7a));}function verifyUpdatedFact(_0x2e9273,_0x2bc04c,_0x1deafc){const _0x4377c9=a110_0x2233cd;assertExternalLinkLeaf(_0x2bc04c);const _0x85b60d=[['id',_0x2bc04c['id'],_0x2e9273['id']],[_0x4377c9(0x74),_0x2bc04c['label'],_0x2e9273['label']],[_0x4377c9(0xb2),_0x2bc04c[_0x4377c9(0xb2)],_0x2e9273[_0x4377c9(0xb2)]],[_0x4377c9(0x81),_0x2bc04c[_0x4377c9(0x81)],_0x2e9273[_0x4377c9(0x81)]],[_0x4377c9(0x7d),_0x2bc04c[_0x4377c9(0x7d)],_0x2e9273[_0x4377c9(0x7d)]],[_0x4377c9(0x93),_0x2bc04c['sort'],_0x2e9273[_0x4377c9(0x93)]],[_0x4377c9(0x88),_0x2bc04c[_0x4377c9(0x88)],_0x2e9273[_0x4377c9(0x88)]]];for(const [_0x536acd,_0x38d9d7,_0x3aacea]of _0x85b60d){assertVerified(_0x38d9d7===_0x3aacea,'Menu\x20'+_0x2e9273['id']+'\x20'+_0x536acd+_0x4377c9(0x75));}assertVerified(_0x2bc04c[_0x4377c9(0xaa)]===_0x1deafc,_0x4377c9(0x96)+_0x2e9273['id']+_0x4377c9(0x76));}function updateSuccess(_0x3ea150,_0x1a45ef,_0xd69beb,_0x167ba9,_0x5b6b58){const _0x55119c=a110_0x2233cd,_0xc810ee=_0xd69beb['id'],_0x34b8cc=mutationResult({..._0x3ea150,'after':_0xd69beb,'dryRun':![],'succeeded':[{'id':_0xc810ee,'updated':!_0x167ba9,'skipped':_0x167ba9,'recovered':_0x5b6b58}],'verification':{'checkedBy':_0x55119c(0x73),'snapshotHash':_0x1a45ef[_0x55119c(0x86)],'targetId':_0xc810ee,'matchesRequestedState':!![],'recovered':_0x5b6b58}});return{'ok':!![],'message':_0x5b6b58?_0x55119c(0xc0)+_0xc810ee+'.':_0x167ba9?_0x55119c(0x96)+_0xc810ee+_0x55119c(0x8f):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0xc810ee+'.','data':{..._0x34b8cc,'recovered':_0x5b6b58}};}async function recoverAfterResponseLoss(_0xf619e8,_0x5260d4){const _0x320663=a110_0x2233cd,{plan:_0x3aa6f8,before:_0x2a5417,body:_0x542003}=_0x5260d4;let _0x2dd444;try{_0x2dd444=await fetchMenuSnapshot(_0xf619e8[_0x320663(0xb4)],_0xf619e8['cookie']);}catch{throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'readbackFailed':!![]});}const _0x48fca2=_0x2dd444[_0x320663(0xb5)][_0x320663(0x9b)](_0x542003['id']);if(!_0x48fca2||_0x48fca2['url']!==_0x542003[_0x320663(0xaa)])throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'requestedUrlObserved':![],'after':_0x48fca2??null});try{verifyUpdatedFact(_0x2a5417,_0x48fca2,_0x542003[_0x320663(0xaa)]);}catch(_0x4cdb11){const _0x3d591d=asVerificationError(_0x4cdb11,_0x320663(0x89)+_0x542003['id']+_0x320663(0xb9));throw menuFailure(_0x3d591d,_0x3aa6f8,{'stage':_0x320663(0x9d),'succeeded':[{'id':_0x542003['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x48fca2,'warnings':[_0x320663(0xa6)],'verification':{'status':'failed','targetId':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xf619e8[_0x320663(0xb4)])}});}return updateSuccess(_0x3aa6f8,_0x2dd444,_0x48fca2,![],!![]);}function recoveryRequired(_0x4edd86,_0x33fdd9,_0xc141ed){const _0xc473e4=a110_0x2233cd,_0x1dbf97=menuError(_0xc473e4(0xac),_0xc473e4(0xb1),_0xc473e4(0x8a)+buildLookupCommand(_0x33fdd9)+_0xc473e4(0x7c));return menuFailure(_0x1dbf97,_0x4edd86,{'stage':_0xc473e4(0x9d),'failed':{'id':_0xc141ed['id'],..._0xc141ed['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed[_0xc473e4(0xa7)]?{'readbackFailed':!![]}:{}},'after':_0xc141ed[_0xc473e4(0xa3)],'warnings':[_0xc473e4(0xbb)],'verification':{'status':'failed','targetId':_0xc141ed['id'],..._0xc141ed[_0xc473e4(0xab)]===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x33fdd9)}});}function buildLookupCommand(_0x11951b){const _0x4e3417=a110_0x2233cd,_0x5a067f='\x27'+_0x11951b['replace'](/'/g,_0x4e3417(0x9c))+'\x27';return _0x4e3417(0xad)+_0x5a067f+_0x4e3417(0x83);}
1
+ const a110_0x3e1cec=a110_0x2a10;(function(_0x368946,_0x533480){const _0x47705c=a110_0x2a10,_0x5771ca=_0x368946();while(!![]){try{const _0x16d9a6=-parseInt(_0x47705c(0x191))/0x1+parseInt(_0x47705c(0x189))/0x2*(-parseInt(_0x47705c(0x1af))/0x3)+parseInt(_0x47705c(0x170))/0x4*(parseInt(_0x47705c(0x17a))/0x5)+-parseInt(_0x47705c(0x1ab))/0x6+parseInt(_0x47705c(0x17c))/0x7+-parseInt(_0x47705c(0x1bc))/0x8*(-parseInt(_0x47705c(0x1b3))/0x9)+parseInt(_0x47705c(0x17b))/0xa*(parseInt(_0x47705c(0x1a6))/0xb);if(_0x16d9a6===_0x533480)break;else _0x5771ca['push'](_0x5771ca['shift']());}catch(_0x5d00f2){_0x5771ca['push'](_0x5771ca['shift']());}}}(a110_0x3f9e,0xe4e24));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a110_0x3f9e(){const _0x104e69=['Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','verification','path','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','195046dEobVV','unknown','body','menu_state_drift','label','verify\x20external\x20menu\x20URL\x20update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','1869064IkuwVd','update-recovery','update\x20external\x20menu\x20URL','Update\x20request\x20for\x20menu\x20','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','str','visible','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','string','expect-url','high-risk-write','expect-parent-id','flagMissing','appCode','New\x20external\x20HTTPS\x20URL','menu_permission_denied','11ogkkmL','\x20has\x20an\x20empty\x20platform\x20path.','\x27\x5c\x27\x27','update-external-link-url','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','5947764SivDnk','\x20changed\x20during\x20the\x20URL-only\x20update.','/smartapi/menu/update','\x20--format\x20compress','12mDrTbI','sort','POST','\x20parent\x20changed:\x20expected\x20','9TsLRFy','parentId','url','\x20already\x20matches\x20the\x20requested\x20URL.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_external_link_path_missing','\x20is\x20type\x20\x22','readbackFailed','get','2821672rYOmEE','menu_update_recovery_required','\x22,\x20not\x20iframe\x20or\x20link.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','Menu\x20','requestedUrlObserved','byId','4PDAhjy','Response\x20was\x20lost\x20and\x20menu\x20','cookie','\x20could\x20not\x20be\x20verified\x20safely','menu_external_link_type_required','code','trim','link','childrenCount','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','8803905gAARPT','15799870WYNEWN','3461367eabFfW','Run\x20','menu\x20list','plan','failed','hash','type'];a110_0x3f9e=function(){return _0x104e69;};return a110_0x3f9e();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x3e1cec(0x1b1),'path':a110_0x3e1cec(0x1ad)}];export const menuExternalLinkUpdate={'service':'menu','command':a110_0x3e1cec(0x190),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a110_0x3e1cec(0x1a0),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x3e1cec(0x1b5),'type':'string','required':!![],'description':a110_0x3e1cec(0x1a4)},{'name':a110_0x3e1cec(0x19f),'type':a110_0x3e1cec(0x19e),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5636ff){validateInput(_0x5636ff),requireExplicitYes(_0x5636ff);},async 'dryRun'(_0x3ba1fd){const _0x491f79=a110_0x3e1cec;validateInput(_0x3ba1fd);const _0x276913=await buildPlan(_0x3ba1fd,!![]);return menuDryRunResult(_0x276913[_0x491f79(0x17f)],{'method':'POST','url':'/smartapi/menu/update','body':_0x276913[_0x491f79(0x18b)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x276913[_0x491f79(0x18b)]['id']+'.'});},async 'execute'(_0x1e0784){const _0x178607=a110_0x3e1cec;validateInput(_0x1e0784),requireExplicitYes(_0x1e0784);const _0x34ad47=await buildPlan(_0x1e0784,![]),{plan:_0x99e758,body:_0x5d653f,before:_0xef5670,noChanges:_0x8e095f}=_0x34ad47,_0xd17375=_0x5d653f['id'];if(_0x8e095f)return updateSuccess(_0x99e758,_0x34ad47['snapshot'],_0xef5670,!![],![]);await recheckMutationSnapshot(_0x1e0784,_0x99e758,_0x178607(0x193),_0xd17375);try{await updateMenuEntity(_0x1e0784[_0x178607(0x1a3)],_0x1e0784[_0x178607(0x172)],{'id':_0x5d653f['id'],'url':_0x5d653f[_0x178607(0x1b5)]});}catch(_0x1701ed){const _0x41251c=mapMenuApiError(_0x1701ed,_0x178607(0x193),_0xd17375);if(isMenuResponseLoss(_0x1701ed)&&_0x41251c[_0x178607(0x175)]!==_0x178607(0x1a5))return recoverAfterResponseLoss(_0x1e0784,_0x34ad47);throw menuFailure(_0x41251c,_0x99e758,{'stage':_0x178607(0x197),'failed':{'id':_0xd17375},'warnings':[_0x178607(0x1b7)],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784['appCode'])}});}let _0x491738,_0x109621;try{_0x491738=await fetchMenuSnapshot(_0x1e0784['appCode'],_0x1e0784['cookie']),_0x109621=requireMenu(_0x491738,_0xd17375),verifyUpdatedFact(_0xef5670,_0x109621,_0x5d653f[_0x178607(0x1b5)]);}catch(_0x3ec485){const _0x4228cb=describeMenuErrorCause(_0x3ec485,_0x178607(0x18e),_0xd17375),_0x5b7778=asVerificationError(_0x3ec485,_0x178607(0x194)+_0xd17375+_0x178607(0x1aa));throw menuFailure(_0x5b7778,_0x99e758,{'stage':_0x178607(0x185),'succeeded':[{'id':_0xd17375,'updateRequested':!![]}],'failed':{'id':_0xd17375,'requestedStateConfirmed':![],..._0x4228cb},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784[_0x178607(0x1a3)])}});}return updateSuccess(_0x99e758,_0x491738,_0x109621,![],![]);}};function validateInput(_0x5d803e){const _0x2d6904=a110_0x3e1cec;validateExactId(_0x5d803e),requiredUrl(_0x5d803e,'url'),requiredExpectedUrl(_0x5d803e),parseParentId(_0x5d803e,_0x2d6904(0x1a1),{'required':!![]});}function a110_0x2a10(_0x1c3af2,_0x301f1c){_0x1c3af2=_0x1c3af2-0x16e;const _0x3f9ebf=a110_0x3f9e();let _0x2a104f=_0x3f9ebf[_0x1c3af2];return _0x2a104f;}function requiredUrl(_0x2a56d0,_0x58d54b){const _0x24158e=a110_0x3e1cec;if(!hasFlag(_0x2a56d0,_0x58d54b)||!_0x2a56d0[_0x24158e(0x19a)](_0x58d54b)[_0x24158e(0x176)]())throw CliErrors[_0x24158e(0x1a2)](_0x58d54b);return validateExternalMenuUrl(_0x2a56d0['str'](_0x58d54b));}function requiredExpectedUrl(_0x8341a9){const _0xbef2aa=a110_0x3e1cec;if(!hasFlag(_0x8341a9,_0xbef2aa(0x19f))||!_0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]())throw CliErrors[_0xbef2aa(0x1a2)]('expect-url');return _0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]();}async function buildPlan(_0x5ed44b,_0x25be0a){const _0x2132a3=a110_0x3e1cec,_0x24c8f1=validateExactId(_0x5ed44b),_0x435736=requiredUrl(_0x5ed44b,_0x2132a3(0x1b5)),_0x529ffa=requiredExpectedUrl(_0x5ed44b),_0x4ae1e2=parseParentId(_0x5ed44b,_0x2132a3(0x1a1),{'required':!![]}),_0x4a8b9a=await fetchMutationSnapshot(_0x5ed44b,'update\x20external\x20menu\x20URL',_0x24c8f1),_0x5c97e7=requireMenu(_0x4a8b9a,_0x24c8f1);assertExternalLinkLeaf(_0x5c97e7);if(_0x5c97e7[_0x2132a3(0x1b4)]!==_0x4ae1e2)throw menuError(_0x2132a3(0x18c),_0x2132a3(0x1c1)+_0x24c8f1+_0x2132a3(0x1b2)+formatParent(_0x4ae1e2)+',\x20current\x20'+formatParent(_0x5c97e7[_0x2132a3(0x1b4)])+'.',_0x2132a3(0x196));const _0x38beb4=_0x5c97e7[_0x2132a3(0x1b5)]===_0x435736;if(!_0x38beb4&&_0x5c97e7[_0x2132a3(0x1b5)]!==_0x529ffa)throw menuError(_0x2132a3(0x18c),'Menu\x20'+_0x24c8f1+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x2132a3(0x199));const _0x22e552={'id':_0x24c8f1,'appCode':_0x5ed44b['appCode'],'url':_0x435736},_0x3e2428={..._0x5c97e7,'url':_0x435736};return{'body':_0x22e552,'before':_0x5c97e7,'noChanges':_0x38beb4,'snapshot':_0x4a8b9a,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x24c8f1},'before':_0x5c97e7,'after':_0x3e2428,'dryRun':_0x25be0a,'backend':[...BACKEND],'plannedActions':_0x38beb4?[]:[{'stage':_0x2132a3(0x1a9),'method':'POST','path':_0x2132a3(0x1ad),'body':_0x22e552}],'snapshotHash':_0x4a8b9a[_0x2132a3(0x181)],'warnings':_0x38beb4?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x256012){const _0x2fe061=a110_0x3e1cec;if(_0x256012['type']!==_0x2fe061(0x188)&&_0x256012[_0x2fe061(0x182)]!==_0x2fe061(0x177))throw menuError(_0x2fe061(0x174),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1b9)+(_0x256012[_0x2fe061(0x182)]||_0x2fe061(0x18a))+_0x2fe061(0x1be),_0x2fe061(0x18f));if(_0x256012[_0x2fe061(0x178)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x2fe061(0x1c1)+_0x256012['id']+_0x2fe061(0x195)+_0x256012[_0x2fe061(0x178)]+_0x2fe061(0x1c0),_0x2fe061(0x19c));if(!_0x256012[_0x2fe061(0x186)][_0x2fe061(0x176)]())throw menuError(_0x2fe061(0x1b8),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1a7),_0x2fe061(0x179));}function verifyUpdatedFact(_0x20fb56,_0x32eb9c,_0x4cf012){const _0x23b391=a110_0x3e1cec;assertExternalLinkLeaf(_0x32eb9c);const _0x1c1091=[['id',_0x32eb9c['id'],_0x20fb56['id']],[_0x23b391(0x18d),_0x32eb9c[_0x23b391(0x18d)],_0x20fb56[_0x23b391(0x18d)]],[_0x23b391(0x182),_0x32eb9c[_0x23b391(0x182)],_0x20fb56[_0x23b391(0x182)]],['path',_0x32eb9c[_0x23b391(0x186)],_0x20fb56['path']],[_0x23b391(0x1b4),_0x32eb9c[_0x23b391(0x1b4)],_0x20fb56[_0x23b391(0x1b4)]],[_0x23b391(0x1b0),_0x32eb9c[_0x23b391(0x1b0)],_0x20fb56[_0x23b391(0x1b0)]],[_0x23b391(0x19b),_0x32eb9c['visible'],_0x20fb56['visible']]];for(const [_0x1902f3,_0x5dc305,_0x4654b0]of _0x1c1091){assertVerified(_0x5dc305===_0x4654b0,_0x23b391(0x1c1)+_0x20fb56['id']+'\x20'+_0x1902f3+_0x23b391(0x1ac));}assertVerified(_0x32eb9c[_0x23b391(0x1b5)]===_0x4cf012,'Menu\x20'+_0x20fb56['id']+_0x23b391(0x184));}function updateSuccess(_0x2756f4,_0x99abfc,_0x538302,_0x1ae6e1,_0x520af7){const _0x49383f=a110_0x3e1cec,_0x3b360f=_0x538302['id'],_0xeacec8=mutationResult({..._0x2756f4,'after':_0x538302,'dryRun':![],'succeeded':[{'id':_0x3b360f,'updated':!_0x1ae6e1,'skipped':_0x1ae6e1,'recovered':_0x520af7}],'verification':{'checkedBy':_0x49383f(0x17e),'snapshotHash':_0x99abfc[_0x49383f(0x181)],'targetId':_0x3b360f,'matchesRequestedState':!![],'recovered':_0x520af7}});return{'ok':!![],'message':_0x520af7?_0x49383f(0x183)+_0x3b360f+'.':_0x1ae6e1?_0x49383f(0x1c1)+_0x3b360f+_0x49383f(0x1b6):_0x49383f(0x187)+_0x3b360f+'.','data':{..._0xeacec8,'recovered':_0x520af7}};}async function recoverAfterResponseLoss(_0x33c844,_0x2219f9){const _0x4dfa92=a110_0x3e1cec,{plan:_0x3e2953,before:_0x1ecf4d,body:_0x5a2ec3}=_0x2219f9;let _0x59de93;try{_0x59de93=await fetchMenuSnapshot(_0x33c844['appCode'],_0x33c844[_0x4dfa92(0x172)]);}catch{throw recoveryRequired(_0x3e2953,_0x33c844[_0x4dfa92(0x1a3)],{'id':_0x5a2ec3['id'],'readbackFailed':!![]});}const _0x4d96b1=_0x59de93[_0x4dfa92(0x16f)][_0x4dfa92(0x1bb)](_0x5a2ec3['id']);if(!_0x4d96b1||_0x4d96b1[_0x4dfa92(0x1b5)]!==_0x5a2ec3[_0x4dfa92(0x1b5)])throw recoveryRequired(_0x3e2953,_0x33c844['appCode'],{'id':_0x5a2ec3['id'],'requestedUrlObserved':![],'after':_0x4d96b1??null});try{verifyUpdatedFact(_0x1ecf4d,_0x4d96b1,_0x5a2ec3[_0x4dfa92(0x1b5)]);}catch(_0x45cfb3){const _0x339eb5=asVerificationError(_0x45cfb3,_0x4dfa92(0x171)+_0x5a2ec3['id']+_0x4dfa92(0x173));throw menuFailure(_0x339eb5,_0x3e2953,{'stage':_0x4dfa92(0x192),'succeeded':[{'id':_0x5a2ec3['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4d96b1,'warnings':[_0x4dfa92(0x1bf)],'verification':{'status':_0x4dfa92(0x180),'targetId':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x33c844[_0x4dfa92(0x1a3)])}});}return updateSuccess(_0x3e2953,_0x59de93,_0x4d96b1,![],!![]);}function recoveryRequired(_0x51f444,_0x16c6a2,_0x513cb4){const _0xdf8752=a110_0x3e1cec,_0x12ef2e=menuError(_0xdf8752(0x1bd),_0xdf8752(0x198),_0xdf8752(0x17d)+buildLookupCommand(_0x16c6a2)+_0xdf8752(0x19d));return menuFailure(_0x12ef2e,_0x51f444,{'stage':_0xdf8752(0x192),'failed':{'id':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4['requestedUrlObserved']},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{}},'after':_0x513cb4['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xdf8752(0x180),'targetId':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4[_0xdf8752(0x16e)]},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x16c6a2)}});}function buildLookupCommand(_0x31c48b){const _0x15b63f=a110_0x3e1cec,_0x59c13c='\x27'+_0x31c48b['replace'](/'/g,_0x15b63f(0x1a8))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x59c13c+_0x15b63f(0x1ae);}