@lovrabet/rabetbase-cli 2.4.6-beta.1 → 2.4.6-beta.3

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 (299) 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/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff-refresh-start.js +1 -1
  88. package/lib/commands/db/diff-refresh-status.js +1 -1
  89. package/lib/commands/db/diff.js +1 -1
  90. package/lib/commands/db/index.js +1 -1
  91. package/lib/commands/db/list.js +1 -1
  92. package/lib/commands/db/shared.js +1 -1
  93. package/lib/commands/db/tables.js +1 -1
  94. package/lib/commands/db/test.js +1 -1
  95. package/lib/commands/db/update.js +1 -1
  96. package/lib/commands/doctor.js +1 -1
  97. package/lib/commands/file/index.js +1 -1
  98. package/lib/commands/init/index.js +1 -1
  99. package/lib/commands/issue/index.js +1 -1
  100. package/lib/commands/issue/nudge.js +1 -1
  101. package/lib/commands/issue/report.js +1 -1
  102. package/lib/commands/issue/shared.js +1 -1
  103. package/lib/commands/kb/create.js +1 -1
  104. package/lib/commands/kb/delete.js +1 -1
  105. package/lib/commands/kb/detail.js +1 -1
  106. package/lib/commands/kb/index.js +1 -1
  107. package/lib/commands/kb/list.js +1 -1
  108. package/lib/commands/kb/shared.js +1 -1
  109. package/lib/commands/kb/update.js +1 -1
  110. package/lib/commands/logs/index.js +1 -1
  111. package/lib/commands/menu/asset-update.js +1 -1
  112. package/lib/commands/menu/delete.js +1 -1
  113. package/lib/commands/menu/external-link-create.js +1 -1
  114. package/lib/commands/menu/external-link-update.js +1 -1
  115. package/lib/commands/menu/group-create.js +1 -1
  116. package/lib/commands/menu/group-update.js +1 -1
  117. package/lib/commands/menu/index.js +1 -1
  118. package/lib/commands/menu/list.js +1 -1
  119. package/lib/commands/menu/move.js +1 -1
  120. package/lib/commands/menu/regroup-start.js +1 -1
  121. package/lib/commands/menu/rename.js +1 -1
  122. package/lib/commands/menu/shared/compare-table.js +1 -1
  123. package/lib/commands/menu/shared/delete-plan.js +1 -1
  124. package/lib/commands/menu/shared/facts.js +1 -1
  125. package/lib/commands/menu/shared/index.js +1 -1
  126. package/lib/commands/menu/shared/inquirer.js +1 -1
  127. package/lib/commands/menu/shared/local-pages.js +1 -1
  128. package/lib/commands/menu/shared/logic.js +1 -1
  129. package/lib/commands/menu/shared/mutations.d.ts +8 -7
  130. package/lib/commands/menu/shared/mutations.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/types.d.ts +17 -2
  134. package/lib/commands/menu/shared/update-core.js +1 -1
  135. package/lib/commands/menu/shared/valid-url.js +1 -1
  136. package/lib/commands/menu/sync.js +1 -1
  137. package/lib/commands/menu/visibility-update.d.ts +2 -0
  138. package/lib/commands/menu/visibility-update.js +1 -0
  139. package/lib/commands/notification/config-create.js +1 -1
  140. package/lib/commands/notification/config-delete.js +1 -1
  141. package/lib/commands/notification/config-list.js +1 -1
  142. package/lib/commands/notification/config-update.js +1 -1
  143. package/lib/commands/notification/index.js +1 -1
  144. package/lib/commands/notification/shared.js +1 -1
  145. package/lib/commands/ocr/index.js +1 -1
  146. package/lib/commands/page/create.js +1 -1
  147. package/lib/commands/page/custom/detail.js +1 -1
  148. package/lib/commands/page/custom/list.js +1 -1
  149. package/lib/commands/page/custom/publish.js +1 -1
  150. package/lib/commands/page/custom/shared.js +1 -1
  151. package/lib/commands/page/custom/syntax.js +1 -1
  152. package/lib/commands/page/custom/template.js +1 -1
  153. package/lib/commands/page/custom/update.js +1 -1
  154. package/lib/commands/page/data-list-status.js +1 -1
  155. package/lib/commands/page/generate-start.js +1 -1
  156. package/lib/commands/page/generate-status.js +1 -1
  157. package/lib/commands/page/index.js +1 -1
  158. package/lib/commands/page/pull.js +1 -1
  159. package/lib/commands/page/push.js +1 -1
  160. package/lib/commands/page/relation-audit.js +1 -1
  161. package/lib/commands/page/restore.js +1 -1
  162. package/lib/commands/page/shared.js +1 -1
  163. package/lib/commands/page/sync.js +1 -1
  164. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  165. package/lib/commands/project/create/format-elapsed.js +1 -1
  166. package/lib/commands/project/create/main.js +1 -1
  167. package/lib/commands/project/create/materialize-project-template.js +1 -1
  168. package/lib/commands/project/create/project-name.js +1 -1
  169. package/lib/commands/project/create/project-template-archive.js +1 -1
  170. package/lib/commands/project/create/project-template-path.js +1 -1
  171. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  172. package/lib/commands/project/create/use-format-code.js +1 -1
  173. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  174. package/lib/commands/project/index.js +1 -1
  175. package/lib/commands/project/upgrade.js +1 -1
  176. package/lib/commands/registry.js +1 -1
  177. package/lib/commands/role/delete.js +1 -1
  178. package/lib/commands/role/detail.js +1 -1
  179. package/lib/commands/role/index.js +1 -1
  180. package/lib/commands/role/list.js +1 -1
  181. package/lib/commands/role/shared.js +1 -1
  182. package/lib/commands/role/update.js +1 -1
  183. package/lib/commands/role/user-add.js +1 -1
  184. package/lib/commands/role/user-remove.js +1 -1
  185. package/lib/commands/role/user-resolve.js +1 -1
  186. package/lib/commands/run/index.js +1 -1
  187. package/lib/commands/schema.js +1 -1
  188. package/lib/commands/sql/create.js +1 -1
  189. package/lib/commands/sql/delete.js +1 -1
  190. package/lib/commands/sql/detail.js +1 -1
  191. package/lib/commands/sql/exec.js +1 -1
  192. package/lib/commands/sql/index.js +1 -1
  193. package/lib/commands/sql/list.js +1 -1
  194. package/lib/commands/sql/pull.js +1 -1
  195. package/lib/commands/sql/push.js +1 -1
  196. package/lib/commands/sql/shared.js +1 -1
  197. package/lib/commands/sql/status.js +1 -1
  198. package/lib/commands/sql/validate.js +1 -1
  199. package/lib/commands/task/index.js +1 -1
  200. package/lib/commands/task/status.js +1 -1
  201. package/lib/commands/tenant/index.js +1 -1
  202. package/lib/commands/tenant/members-list.js +1 -1
  203. package/lib/commands/tenant/shared.js +1 -1
  204. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  205. package/lib/commands/user-account/index.js +1 -1
  206. package/lib/commands/workspace/add.js +1 -1
  207. package/lib/commands/workspace/index.js +1 -1
  208. package/lib/commands/workspace/remove.js +1 -1
  209. package/lib/config/schema.js +1 -1
  210. package/lib/constant/cdn.js +1 -1
  211. package/lib/constant/cli.js +1 -1
  212. package/lib/constant/defaults.js +1 -1
  213. package/lib/constant/domain.js +1 -1
  214. package/lib/constant/env.js +1 -1
  215. package/lib/constant/output.js +1 -1
  216. package/lib/constant/paths.js +1 -1
  217. package/lib/constant/risk.js +1 -1
  218. package/lib/context/app-resolver.js +1 -1
  219. package/lib/context/auth-resolver.js +1 -1
  220. package/lib/context/config-loader.js +1 -1
  221. package/lib/context.js +1 -1
  222. package/lib/core/alias-resolver.js +1 -1
  223. package/lib/core/api-client.js +1 -1
  224. package/lib/core/bff/config.js +1 -1
  225. package/lib/core/bff/file-system.js +1 -1
  226. package/lib/core/bff/hash.js +1 -1
  227. package/lib/core/bff/lock.js +1 -1
  228. package/lib/core/bff/utils.js +1 -1
  229. package/lib/core/db-resolver.js +1 -1
  230. package/lib/core/page/file-system.js +1 -1
  231. package/lib/core/page/hash.js +1 -1
  232. package/lib/core/page/lock.js +1 -1
  233. package/lib/core/sql-index-auditor.js +1 -1
  234. package/lib/core/sql-sync/config.js +1 -1
  235. package/lib/core/sql-sync/file-system.js +1 -1
  236. package/lib/core/sql-sync/hash.js +1 -1
  237. package/lib/core/sql-sync/lock.js +1 -1
  238. package/lib/core/sql-sync/utils.js +1 -1
  239. package/lib/core/sql-validator.js +1 -1
  240. package/lib/errors.js +1 -1
  241. package/lib/framework/build-all-flags.js +1 -1
  242. package/lib/framework/error-output.js +1 -1
  243. package/lib/framework/explicit-yes.js +1 -1
  244. package/lib/framework/flags.js +1 -1
  245. package/lib/framework/help.js +1 -1
  246. package/lib/framework/index.js +1 -1
  247. package/lib/framework/output.js +1 -1
  248. package/lib/framework/response.js +1 -1
  249. package/lib/framework/runner-alias.js +1 -1
  250. package/lib/framework/runner.js +1 -1
  251. package/lib/framework/schema-export.js +1 -1
  252. package/lib/framework/types.js +1 -1
  253. package/lib/generated/build-info.d.ts +4 -4
  254. package/lib/generated/build-info.js +1 -1
  255. package/lib/help.js +1 -1
  256. package/lib/postinstall.js +1 -1
  257. package/lib/runtime/confirmation.js +1 -1
  258. package/lib/runtime/event.js +1 -1
  259. package/lib/runtime/index.js +1 -1
  260. package/lib/runtime/queue.js +1 -1
  261. package/lib/runtime/resolve.js +1 -1
  262. package/lib/skills/builtin-skill.js +1 -1
  263. package/lib/skills/main.js +1 -1
  264. package/lib/skills/npx-skills-add.js +1 -1
  265. package/lib/skills/skill-presence.js +1 -1
  266. package/lib/telemetry/cli-command-trace.js +1 -1
  267. package/lib/telemetry/cli-help-trace.js +1 -1
  268. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  269. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  270. package/lib/telemetry/send-cli-trace-log.js +1 -1
  271. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  272. package/lib/utils/ai_config.js +1 -1
  273. package/lib/utils/apply-jq-filter.js +1 -1
  274. package/lib/utils/cdn-config.js +1 -1
  275. package/lib/utils/check-sdk-version.js +1 -1
  276. package/lib/utils/cli-version-check.js +1 -1
  277. package/lib/utils/cli-version-policy.js +1 -1
  278. package/lib/utils/config.js +1 -1
  279. package/lib/utils/entity-with-id.js +1 -1
  280. package/lib/utils/file-utils.js +1 -1
  281. package/lib/utils/guides-cdn.js +1 -1
  282. package/lib/utils/http-client.js +1 -1
  283. package/lib/utils/is-non-interactive.js +1 -1
  284. package/lib/utils/logger.js +1 -1
  285. package/lib/utils/params.js +1 -1
  286. package/lib/utils/platform.js +1 -1
  287. package/lib/utils/rules-cdn.js +1 -1
  288. package/lib/utils/sleep.js +1 -1
  289. package/lib/utils/template-replacer.js +1 -1
  290. package/lib/utils/update-notice.js +1 -1
  291. package/lib/utils/version.js +1 -1
  292. package/lib/utils/with-active-cookie.js +1 -1
  293. package/lib/utils/write-cli-side-channel.js +1 -1
  294. package/package.json +1 -1
  295. package/skills/rabetbase/SKILL.md +4 -3
  296. package/skills/rabetbase/references/rabetbase-menu-list.md +3 -1
  297. package/skills/rabetbase/references/rabetbase-menu-visibility-update.md +59 -0
  298. package/skills/rabetbase/references/rabetbase-ocr.md +17 -2
  299. package/skills/rabetbase.manifest.json +4 -3
@@ -1 +1 @@
1
- const a122_0x808c05=a122_0x3b06;function a122_0x30aa(){const _0x165691=['Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','utf8','type','7cIwheW','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','datasetCode','410296zccPfe','\x20requires\x20a\x20non-empty\x20file\x20path.','toISOString','command','expiresAt','updateUserId','1337118mRVNRZ','Menu\x20delete\x20plan\x20expired\x20at\x20','extendHash','every','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','appCode','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','57uscxgz','Planned\x20menu\x20','boolean',',\x20current\x20app\x20is\x20','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','object','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','sha256','pages','datasetId','map','12dRDoYX','menu_plan_expired','updateTime','resources','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','isInteger','POST','pageType','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','visible','parse','size','menu_plan_file_exists','target','extend','snapshotHash','\x20of\x20the\x20','depth','6000310vlaIbj','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','isArray','label','recursive','isSafeInteger','updateUserName','Menu\x20delete\x20plan\x20creation\x20time\x20','plan','resourcesHash','isFinite','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','EEXIST','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','\x20is\x20in\x20the\x20future.','childrenIds','path','15710CgGgBf','length','trim','Menu\x20delete\x20plan\x20targets\x20app\x20','menu\x20delete','targets','createdAt','cascade','delete','parentId','update','Cannot\x20read\x20menu\x20delete\x20plan\x20','deleteOrder','warnings','getTime','87850fgUgbQ','menu_state_drift','test','/smartapi/menu/batchDelete','hash','pageId','version','string','targetFingerprint','resourcesValid','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','before','728vHiLSg','batch-delete-menu','number','modelType','11UXpPjl','\x20contract.','662702gBbXzD','sort','selector','pageSchemaAffected','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','code','menu_plan_write_failed','menu_plan_invalid','28234115FaKXGP','childrenCount','targetFingerprints','stringify','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','99regPaF'];a122_0x30aa=function(){return _0x165691;};return a122_0x30aa();}(function(_0x198a80,_0x551d9d){const _0xb528fd=a122_0x3b06,_0x32184e=_0x198a80();while(!![]){try{const _0x282f6b=parseInt(_0xb528fd(0x132))/0x1+-parseInt(_0xb528fd(0x120))/0x2*(parseInt(_0xb528fd(0x153))/0x3)+-parseInt(_0xb528fd(0x12c))/0x4*(parseInt(_0xb528fd(0x111))/0x5)+-parseInt(_0xb528fd(0x14c))/0x6*(-parseInt(_0xb528fd(0x143))/0x7)+parseInt(_0xb528fd(0x146))/0x8*(-parseInt(_0xb528fd(0x13f))/0x9)+parseInt(_0xb528fd(0x100))/0xa*(-parseInt(_0xb528fd(0x130))/0xb)+parseInt(_0xb528fd(0xed))/0xc*(parseInt(_0xb528fd(0x13a))/0xd);if(_0x282f6b===_0x551d9d)break;else _0x32184e['push'](_0x32184e['shift']());}catch(_0x12bb72){_0x32184e['push'](_0x32184e['shift']());}}}(a122_0x30aa,0x76d93));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a122_0x808c05(0x115),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x479415,_0x272735,_0x341616=new Date()){const _0x91fdef=a122_0x808c05;if(!_0x272735['before']||!isMenuFact(_0x272735[_0x91fdef(0x12b)]))throw menuError(_0x91fdef(0x139),_0x91fdef(0xf5));const _0x2b09c4=_0x272735[_0x91fdef(0x116)]?.[_0x91fdef(0x112)]?_0x272735[_0x91fdef(0x116)]:[_0x272735['before']],_0x5837a7=_0x272735[_0x91fdef(0x11d)]?.[_0x91fdef(0x112)]?_0x272735['deleteOrder']:_0x2b09c4['map'](_0x5b17df=>_0x5b17df['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x479415,'createdAt':_0x341616[_0x91fdef(0x148)](),'expiresAt':new Date(_0x341616[_0x91fdef(0x11f)]()+PLAN_TTL_MS)[_0x91fdef(0x148)](),'snapshotHash':_0x272735['snapshotHash'],'recursive':_0x272735[_0x91fdef(0x134)][_0x91fdef(0x104)]===!![],'target':_0x272735['before'],'targetFingerprint':fingerprint(_0x272735[_0x91fdef(0x12b)]),'targets':_0x2b09c4,'targetFingerprints':_0x2b09c4[_0x91fdef(0x15d)](fingerprint),'deleteOrder':_0x5837a7,'cascade':_0x272735[_0x91fdef(0x118)]??{'pages':_0x272735[_0x91fdef(0x12b)]['pageId']==null?[]:[_0x272735[_0x91fdef(0x12b)]['pageId']],'pageSchemaAffected':_0x272735[_0x91fdef(0x12b)][_0x91fdef(0x125)]!=null},'warnings':[..._0x272735[_0x91fdef(0x11e)]]};}export async function writeMenuDeletePlan(_0x276faa,_0x3f89c1){const _0x2d3af0=a122_0x808c05,_0x1316d2=resolvePlanPath(_0x276faa,'plan-out');await mkdir(dirname(_0x1316d2),{'recursive':!![]});try{await writeFile(_0x1316d2,JSON[_0x2d3af0(0x13d)](_0x3f89c1,null,0x2)+'\x0a',{'encoding':_0x2d3af0(0x141),'flag':'wx'});}catch(_0x2905c1){if(_0x2905c1[_0x2d3af0(0x137)]===_0x2d3af0(0x10c))throw menuError(_0x2d3af0(0xfa),_0x2d3af0(0x12a)+_0x1316d2,_0x2d3af0(0xf6));throw menuError(_0x2d3af0(0x138),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x1316d2+':\x20'+errorMessage(_0x2905c1));}return _0x1316d2;}export async function readMenuDeletePlan(_0x404412){const _0x40eefe=a122_0x808c05,_0x449d0a=resolvePlanPath(_0x404412,_0x40eefe(0x108));let _0x1cc4d6;try{_0x1cc4d6=(await stat(_0x449d0a))[_0x40eefe(0xf9)];}catch(_0x743d9){throw menuError(_0x40eefe(0x139),_0x40eefe(0x11c)+_0x449d0a+':\x20'+errorMessage(_0x743d9));}if(_0x1cc4d6>MAX_PLAN_BYTES)throw menuError(_0x40eefe(0x139),_0x40eefe(0x140)+_0x1cc4d6+'\x20bytes.');let _0x406377;try{_0x406377=JSON[_0x40eefe(0xf8)](await readFile(_0x449d0a,_0x40eefe(0x141)));}catch(_0x4c9e1d){throw menuError(_0x40eefe(0x139),_0x40eefe(0x144)+errorMessage(_0x4c9e1d));}if(!isMenuDeletePlanFile(_0x406377))throw menuError(_0x40eefe(0x139),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+_0x40eefe(0xfe)+PLAN_COMMAND+_0x40eefe(0x131));if(!sameFingerprint(_0x406377[_0x40eefe(0x128)],fingerprint(_0x406377[_0x40eefe(0xfb)])))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.',_0x40eefe(0x13e));if(!_0x406377[_0x40eefe(0x116)]['every']((_0x4a63b8,_0x5c54b6)=>sameFingerprint(_0x406377[_0x40eefe(0x13c)][_0x5c54b6],fingerprint(_0x4a63b8)))||!sameFingerprint(_0x406377[_0x40eefe(0x128)],fingerprint(_0x406377['targets'][_0x406377[_0x40eefe(0x116)][_0x40eefe(0x112)]-0x1])))throw menuError('menu_plan_invalid',_0x40eefe(0x10b),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.');return{'path':_0x449d0a,'plan':_0x406377};}export function mutationPlanFromDeleteFile(_0x41f08a,_0x5d0257){const _0x501ede=a122_0x808c05;return mutationResult({'operation':_0x501ede(0x119),'selector':{'id':_0x41f08a[_0x501ede(0xfb)]['id'],'recursive':_0x41f08a['recursive']},'before':_0x41f08a[_0x501ede(0xfb)],'after':null,'dryRun':![],'backend':[{'method':_0x501ede(0xf3),'path':_0x501ede(0x123)}],'plannedActions':[{'stage':_0x501ede(0x12d),'method':'POST','path':_0x501ede(0x123),'body':{'idList':_0x41f08a[_0x501ede(0x11d)]}}],'targets':_0x41f08a[_0x501ede(0x116)],'deleteOrder':_0x41f08a[_0x501ede(0x11d)],'snapshotHash':_0x41f08a[_0x501ede(0xfd)],'cascade':_0x41f08a[_0x501ede(0x118)],'planFile':{'path':_0x5d0257,'createdAt':_0x41f08a[_0x501ede(0x117)],'expiresAt':_0x41f08a[_0x501ede(0x14a)]},'warnings':_0x41f08a[_0x501ede(0x11e)]});}export function assertMenuDeletePlanCurrent(_0x3244f2,_0x2a5d7e,_0x55ffe1,_0xdd28c1=new Date()){const _0x3e6ad8=a122_0x808c05;assertMenuDeletePlanExecutable(_0x3244f2,_0x2a5d7e,_0xdd28c1);if(_0x55ffe1[_0x3e6ad8(0x124)]!==_0x3244f2['snapshotHash'])throw menuError(_0x3e6ad8(0x121),_0x3e6ad8(0x157),_0x3e6ad8(0x101));return _0x3244f2[_0x3e6ad8(0x116)][_0x3e6ad8(0x15d)]((_0x9beffb,_0x5125e6)=>{const _0x259fd9=_0x3e6ad8,_0x3b0d1a=_0x55ffe1['byId']['get'](_0x9beffb['id']);if(!_0x3b0d1a)throw menuError(_0x259fd9(0x121),_0x259fd9(0x154)+_0x9beffb['id']+_0x259fd9(0x136));if(!sameFingerprint(_0x3244f2[_0x259fd9(0x13c)][_0x5125e6],fingerprint(_0x3b0d1a)))throw menuError(_0x259fd9(0x121),_0x259fd9(0x154)+_0x9beffb['id']+_0x259fd9(0x159),_0x259fd9(0xf1));return _0x3b0d1a;});}export function assertMenuDeletePlanExecutable(_0x4f36ef,_0x2e53ee,_0x57ae58=new Date()){const _0x4f2d27=a122_0x808c05;if(_0x4f36ef['appCode']!==_0x2e53ee)throw menuError('menu_plan_app_mismatch',_0x4f2d27(0x114)+JSON[_0x4f2d27(0x13d)](_0x4f36ef[_0x4f2d27(0x151)])+_0x4f2d27(0x156)+JSON[_0x4f2d27(0x13d)](_0x2e53ee)+'.');const _0x37811d=Date[_0x4f2d27(0xf8)](_0x4f36ef['createdAt']),_0x56efdd=Date[_0x4f2d27(0xf8)](_0x4f36ef[_0x4f2d27(0x14a)]);if(!Number[_0x4f2d27(0x10a)](_0x37811d)||!Number[_0x4f2d27(0x10a)](_0x56efdd)||_0x56efdd-_0x37811d!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0x4f2d27(0x152));if(_0x37811d>_0x57ae58['getTime']())throw menuError(_0x4f2d27(0x139),_0x4f2d27(0x107)+_0x4f36ef[_0x4f2d27(0x117)]+_0x4f2d27(0x10e),_0x4f2d27(0x150));if(_0x57ae58[_0x4f2d27(0x11f)]()>_0x56efdd)throw menuError(_0x4f2d27(0xee),_0x4f2d27(0x14d)+_0x4f36ef[_0x4f2d27(0x14a)]+'.',_0x4f2d27(0x10d));}function a122_0x3b06(_0x205c49,_0x12f40a){_0x205c49=_0x205c49-0xed;const _0x30aa07=a122_0x30aa();let _0x3b0616=_0x30aa07[_0x205c49];return _0x3b0616;}function fingerprint(_0x591770){const _0x4c07ab=a122_0x808c05;return{'id':_0x591770['id'],'parentId':_0x591770[_0x4c07ab(0x11a)],'depth':_0x591770['depth'],'label':_0x591770[_0x4c07ab(0x103)],'path':_0x591770[_0x4c07ab(0x110)],'type':_0x591770[_0x4c07ab(0x142)],'visible':_0x591770[_0x4c07ab(0xf7)],'sort':_0x591770[_0x4c07ab(0x133)],'pageId':_0x591770[_0x4c07ab(0x125)],'pageType':_0x591770[_0x4c07ab(0xf4)],'modelType':_0x591770[_0x4c07ab(0x12f)],'datasetId':_0x591770['datasetId'],'datasetCode':_0x591770['datasetCode'],'childrenIds':[..._0x591770[_0x4c07ab(0x10f)]],'childrenCount':_0x591770[_0x4c07ab(0x13b)],'resourcesValid':_0x591770[_0x4c07ab(0x129)],'resourcesHash':hashValue(_0x591770[_0x4c07ab(0xf0)]),'extendHash':hashValue(_0x591770[_0x4c07ab(0xfc)]??null),'updateTime':_0x591770[_0x4c07ab(0xef)]};}function hashValue(_0x1d5b78){const _0x3b0099=a122_0x808c05;return createHash(_0x3b0099(0x15a))[_0x3b0099(0x11b)](JSON['stringify'](_0x1d5b78))['digest']('hex');}function sameFingerprint(_0x382d07,_0xcf2b15){const _0x5891ff=a122_0x808c05;return JSON[_0x5891ff(0x13d)](_0x382d07)===JSON[_0x5891ff(0x13d)](_0xcf2b15);}function resolvePlanPath(_0x3a7caf,_0x4ce713){const _0x1b2771=a122_0x808c05,_0x3a83c7=_0x3a7caf[_0x1b2771(0x113)]();if(!_0x3a83c7)throw menuError(_0x1b2771(0x139),'--'+_0x4ce713+_0x1b2771(0x147));return resolve(_0x3a83c7);}function isMenuDeletePlanFile(_0x1928f5){const _0x3294db=a122_0x808c05;if(!isRecord(_0x1928f5))return![];return _0x1928f5[_0x3294db(0x126)]===PLAN_VERSION&&_0x1928f5[_0x3294db(0x149)]===PLAN_COMMAND&&typeof _0x1928f5[_0x3294db(0x151)]===_0x3294db(0x127)&&_0x1928f5[_0x3294db(0x151)][_0x3294db(0x112)]>0x0&&typeof _0x1928f5['createdAt']===_0x3294db(0x127)&&typeof _0x1928f5[_0x3294db(0x14a)]===_0x3294db(0x127)&&typeof _0x1928f5['snapshotHash']===_0x3294db(0x127)&&/^sha256:[a-f0-9]{64}$/[_0x3294db(0x122)](_0x1928f5[_0x3294db(0xfd)])&&typeof _0x1928f5[_0x3294db(0x104)]===_0x3294db(0x155)&&isMenuFact(_0x1928f5['target'])&&isTargetFingerprint(_0x1928f5[_0x3294db(0x128)])&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x116)])&&_0x1928f5['targets'][_0x3294db(0x112)]>0x0&&_0x1928f5[_0x3294db(0x116)][_0x3294db(0x14f)](isMenuFact)&&Array['isArray'](_0x1928f5[_0x3294db(0x13c)])&&_0x1928f5[_0x3294db(0x13c)]['length']===_0x1928f5[_0x3294db(0x116)]['length']&&_0x1928f5[_0x3294db(0x13c)][_0x3294db(0x14f)](isTargetFingerprint)&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x11d)])&&_0x1928f5[_0x3294db(0x11d)]['length']===_0x1928f5[_0x3294db(0x116)][_0x3294db(0x112)]&&_0x1928f5[_0x3294db(0x11d)][_0x3294db(0x14f)](isPositiveInteger)&&new Set(_0x1928f5['deleteOrder'])[_0x3294db(0xf9)]===_0x1928f5['deleteOrder'][_0x3294db(0x112)]&&_0x1928f5['targets'][_0x3294db(0x14f)]((_0x8b979b,_0x1c1da3)=>_0x8b979b['id']===_0x1928f5[_0x3294db(0x11d)][_0x1c1da3])&&_0x1928f5[_0x3294db(0x116)][_0x1928f5[_0x3294db(0x116)][_0x3294db(0x112)]-0x1]?.['id']===_0x1928f5[_0x3294db(0xfb)]['id']&&isRecord(_0x1928f5['cascade'])&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x118)][_0x3294db(0x15b)])&&_0x1928f5[_0x3294db(0x118)][_0x3294db(0x15b)][_0x3294db(0x14f)](isPositiveInteger)&&typeof _0x1928f5[_0x3294db(0x118)][_0x3294db(0x135)]===_0x3294db(0x155)&&Array[_0x3294db(0x102)](_0x1928f5['warnings'])&&_0x1928f5['warnings'][_0x3294db(0x14f)](_0x3a2bfc=>typeof _0x3a2bfc==='string');}function isMenuFact(_0x34d656){const _0x35815d=a122_0x808c05;if(!isRecord(_0x34d656))return![];return isPositiveInteger(_0x34d656['id'])&&(_0x34d656[_0x35815d(0x11a)]===null||isPositiveInteger(_0x34d656['parentId']))&&Number[_0x35815d(0xf2)](_0x34d656['depth'])&&_0x34d656[_0x35815d(0xff)]>=0x0&&typeof _0x34d656[_0x35815d(0x103)]===_0x35815d(0x127)&&typeof _0x34d656[_0x35815d(0x110)]===_0x35815d(0x127)&&typeof _0x34d656[_0x35815d(0x142)]===_0x35815d(0x127)&&(_0x34d656[_0x35815d(0xf7)]===null||typeof _0x34d656['visible']===_0x35815d(0x155))&&(_0x34d656[_0x35815d(0x133)]===null||Number[_0x35815d(0xf2)](_0x34d656[_0x35815d(0x133)]))&&Array[_0x35815d(0x102)](_0x34d656[_0x35815d(0xf0)])&&_0x34d656['resources'][_0x35815d(0x14f)](_0x44b722=>typeof _0x44b722===_0x35815d(0x127))&&typeof _0x34d656[_0x35815d(0x129)]==='boolean'&&Array[_0x35815d(0x102)](_0x34d656[_0x35815d(0x10f)])&&_0x34d656[_0x35815d(0x10f)][_0x35815d(0x14f)](isPositiveInteger)&&Number[_0x35815d(0xf2)](_0x34d656[_0x35815d(0x13b)])&&_0x34d656['childrenCount']>=0x0&&(_0x34d656[_0x35815d(0x125)]===null||isPositiveInteger(_0x34d656[_0x35815d(0x125)]))&&typeof _0x34d656[_0x35815d(0xf4)]===_0x35815d(0x127)&&typeof _0x34d656['modelType']===_0x35815d(0x127)&&(_0x34d656[_0x35815d(0x15c)]===null||isPositiveInteger(_0x34d656[_0x35815d(0x15c)]))&&typeof _0x34d656[_0x35815d(0x145)]===_0x35815d(0x127)&&(_0x34d656['updateUserId']===null||typeof _0x34d656[_0x35815d(0x14b)]==='string')&&(_0x34d656[_0x35815d(0x106)]===null||typeof _0x34d656[_0x35815d(0x106)]===_0x35815d(0x127))&&(_0x34d656['updateTime']===null||typeof _0x34d656[_0x35815d(0xef)]===_0x35815d(0x127)||typeof _0x34d656['updateTime']===_0x35815d(0x12e))&&(_0x34d656[_0x35815d(0xfc)]===undefined||_0x34d656[_0x35815d(0xfc)]===null||isRecord(_0x34d656[_0x35815d(0xfc)]));}function isTargetFingerprint(_0x2de35a){const _0x446dd8=a122_0x808c05;if(!isRecord(_0x2de35a))return![];return isPositiveInteger(_0x2de35a['id'])&&(_0x2de35a[_0x446dd8(0x11a)]===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x11a)]))&&Number[_0x446dd8(0xf2)](_0x2de35a[_0x446dd8(0xff)])&&_0x2de35a['depth']>=0x0&&typeof _0x2de35a[_0x446dd8(0x103)]==='string'&&typeof _0x2de35a[_0x446dd8(0x110)]==='string'&&typeof _0x2de35a[_0x446dd8(0x142)]==='string'&&(_0x2de35a['visible']===null||typeof _0x2de35a[_0x446dd8(0xf7)]===_0x446dd8(0x155))&&(_0x2de35a[_0x446dd8(0x133)]===null||Number[_0x446dd8(0xf2)](_0x2de35a['sort']))&&(_0x2de35a[_0x446dd8(0x125)]===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x125)]))&&typeof _0x2de35a[_0x446dd8(0xf4)]===_0x446dd8(0x127)&&typeof _0x2de35a[_0x446dd8(0x12f)]===_0x446dd8(0x127)&&(_0x2de35a['datasetId']===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x15c)]))&&typeof _0x2de35a[_0x446dd8(0x145)]===_0x446dd8(0x127)&&Array[_0x446dd8(0x102)](_0x2de35a['childrenIds'])&&_0x2de35a['childrenIds'][_0x446dd8(0x14f)](isPositiveInteger)&&Number[_0x446dd8(0xf2)](_0x2de35a[_0x446dd8(0x13b)])&&_0x2de35a[_0x446dd8(0x13b)]>=0x0&&typeof _0x2de35a['resourcesValid']==='boolean'&&typeof _0x2de35a[_0x446dd8(0x109)]===_0x446dd8(0x127)&&/^[a-f0-9]{64}$/[_0x446dd8(0x122)](_0x2de35a['resourcesHash'])&&typeof _0x2de35a[_0x446dd8(0x14e)]===_0x446dd8(0x127)&&/^[a-f0-9]{64}$/[_0x446dd8(0x122)](_0x2de35a[_0x446dd8(0x14e)])&&(_0x2de35a[_0x446dd8(0xef)]===null||typeof _0x2de35a[_0x446dd8(0xef)]===_0x446dd8(0x127)||typeof _0x2de35a[_0x446dd8(0xef)]===_0x446dd8(0x12e));}function isRecord(_0x1393a6){const _0x291944=a122_0x808c05;return typeof _0x1393a6===_0x291944(0x158)&&_0x1393a6!==null&&!Array[_0x291944(0x102)](_0x1393a6);}function isPositiveInteger(_0xd865d9){const _0x185f03=a122_0x808c05;return Number[_0x185f03(0x105)](_0xd865d9)&&Number(_0xd865d9)>0x0;}function errorMessage(_0x592acb){return _0x592acb instanceof Error?_0x592acb['message']:String(_0x592acb);}
1
+ function a122_0x455f(_0x15871,_0x4e0d9c){_0x15871=_0x15871-0x1a9;const _0x494d18=a122_0x494d();let _0x455f70=_0x494d18[_0x15871];return _0x455f70;}const a122_0x555cf6=a122_0x455f;(function(_0x516d9d,_0x654223){const _0x273124=a122_0x455f,_0x40dec1=_0x516d9d();while(!![]){try{const _0x29e76e=parseInt(_0x273124(0x1ad))/0x1*(-parseInt(_0x273124(0x1b8))/0x2)+-parseInt(_0x273124(0x208))/0x3+-parseInt(_0x273124(0x1f4))/0x4+-parseInt(_0x273124(0x20e))/0x5+-parseInt(_0x273124(0x201))/0x6+-parseInt(_0x273124(0x1db))/0x7*(-parseInt(_0x273124(0x1f0))/0x8)+parseInt(_0x273124(0x1c7))/0x9;if(_0x29e76e===_0x654223)break;else _0x40dec1['push'](_0x40dec1['shift']());}catch(_0x17d78e){_0x40dec1['push'](_0x40dec1['shift']());}}}(a122_0x494d,0x9352c));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a122_0x555cf6(0x1ae),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x4e7ac3,_0x1bed5a,_0x263c3a=new Date()){const _0x2af46b=a122_0x555cf6;if(!_0x1bed5a[_0x2af46b(0x1bd)]||!isMenuFact(_0x1bed5a[_0x2af46b(0x1bd)]))throw menuError(_0x2af46b(0x1ca),_0x2af46b(0x1e8));const _0x3ea2ba=_0x1bed5a[_0x2af46b(0x1fe)]?.['length']?_0x1bed5a[_0x2af46b(0x1fe)]:[_0x1bed5a[_0x2af46b(0x1bd)]],_0xe46a37=_0x1bed5a[_0x2af46b(0x204)]?.[_0x2af46b(0x200)]?_0x1bed5a['deleteOrder']:_0x3ea2ba[_0x2af46b(0x1d5)](_0x10b8c6=>_0x10b8c6['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x4e7ac3,'createdAt':_0x263c3a[_0x2af46b(0x1f9)](),'expiresAt':new Date(_0x263c3a['getTime']()+PLAN_TTL_MS)[_0x2af46b(0x1f9)](),'snapshotHash':_0x1bed5a[_0x2af46b(0x1dc)],'recursive':_0x1bed5a['selector']['recursive']===!![],'target':_0x1bed5a['before'],'targetFingerprint':fingerprint(_0x1bed5a[_0x2af46b(0x1bd)]),'targets':_0x3ea2ba,'targetFingerprints':_0x3ea2ba[_0x2af46b(0x1d5)](fingerprint),'deleteOrder':_0xe46a37,'cascade':_0x1bed5a['cascade']??{'pages':_0x1bed5a[_0x2af46b(0x1bd)][_0x2af46b(0x209)]==null?[]:[_0x1bed5a[_0x2af46b(0x1bd)]['pageId']],'pageSchemaAffected':_0x1bed5a[_0x2af46b(0x1bd)][_0x2af46b(0x209)]!=null},'warnings':[..._0x1bed5a[_0x2af46b(0x1f7)]]};}export async function writeMenuDeletePlan(_0x559570,_0x3622be){const _0x4791cc=a122_0x555cf6,_0x4b27df=resolvePlanPath(_0x559570,_0x4791cc(0x1b2));await mkdir(dirname(_0x4b27df),{'recursive':!![]});try{await writeFile(_0x4b27df,JSON[_0x4791cc(0x1f5)](_0x3622be,null,0x2)+'\x0a',{'encoding':_0x4791cc(0x1d8),'flag':'wx'});}catch(_0x6ddc2){if(_0x6ddc2[_0x4791cc(0x1f8)]===_0x4791cc(0x1ab))throw menuError(_0x4791cc(0x1e0),_0x4791cc(0x205)+_0x4b27df,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError('menu_plan_write_failed','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x4b27df+':\x20'+errorMessage(_0x6ddc2));}return _0x4b27df;}export async function readMenuDeletePlan(_0x4dfbfa){const _0x461f1d=a122_0x555cf6,_0x4948f1=resolvePlanPath(_0x4dfbfa,_0x461f1d(0x1e4));let _0x105851;try{_0x105851=(await stat(_0x4948f1))[_0x461f1d(0x1af)];}catch(_0x20154a){throw menuError('menu_plan_invalid','Cannot\x20read\x20menu\x20delete\x20plan\x20'+_0x4948f1+':\x20'+errorMessage(_0x20154a));}if(_0x105851>MAX_PLAN_BYTES)throw menuError('menu_plan_invalid',_0x461f1d(0x1b7)+_0x105851+_0x461f1d(0x1d7));let _0x455037;try{_0x455037=JSON[_0x461f1d(0x202)](await readFile(_0x4948f1,_0x461f1d(0x1d8)));}catch(_0x1dc694){throw menuError(_0x461f1d(0x1ca),_0x461f1d(0x1fa)+errorMessage(_0x1dc694));}if(!isMenuDeletePlanFile(_0x455037))throw menuError(_0x461f1d(0x1ca),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+_0x461f1d(0x1f2)+PLAN_COMMAND+_0x461f1d(0x20f));if(!sameFingerprint(_0x455037['targetFingerprint'],fingerprint(_0x455037[_0x461f1d(0x1c6)])))throw menuError('menu_plan_invalid',_0x461f1d(0x1c5),_0x461f1d(0x1e1));if(!_0x455037[_0x461f1d(0x1fe)][_0x461f1d(0x1df)]((_0x32d8a6,_0x1f9061)=>sameFingerprint(_0x455037[_0x461f1d(0x207)][_0x1f9061],fingerprint(_0x32d8a6)))||!sameFingerprint(_0x455037['targetFingerprint'],fingerprint(_0x455037['targets'][_0x455037[_0x461f1d(0x1fe)][_0x461f1d(0x200)]-0x1])))throw menuError(_0x461f1d(0x1ca),'Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.',_0x461f1d(0x1e1));return{'path':_0x4948f1,'plan':_0x455037};}export function mutationPlanFromDeleteFile(_0x9300df,_0x2fbdbe){const _0x1b8d16=a122_0x555cf6;return mutationResult({'operation':_0x1b8d16(0x1b3),'selector':{'id':_0x9300df[_0x1b8d16(0x1c6)]['id'],'recursive':_0x9300df[_0x1b8d16(0x1cf)]},'before':_0x9300df[_0x1b8d16(0x1c6)],'after':null,'dryRun':![],'backend':[{'method':_0x1b8d16(0x206),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x1b8d16(0x1c1),'method':_0x1b8d16(0x206),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x9300df['deleteOrder']}}],'targets':_0x9300df['targets'],'deleteOrder':_0x9300df[_0x1b8d16(0x204)],'snapshotHash':_0x9300df[_0x1b8d16(0x1dc)],'cascade':_0x9300df[_0x1b8d16(0x1e3)],'planFile':{'path':_0x2fbdbe,'createdAt':_0x9300df[_0x1b8d16(0x1cd)],'expiresAt':_0x9300df[_0x1b8d16(0x1d6)]},'warnings':_0x9300df['warnings']});}export function assertMenuDeletePlanCurrent(_0x2f3299,_0x506e4f,_0x29cb14,_0x14bd58=new Date()){const _0x11f4d2=a122_0x555cf6;assertMenuDeletePlanExecutable(_0x2f3299,_0x506e4f,_0x14bd58);if(_0x29cb14['hash']!==_0x2f3299[_0x11f4d2(0x1dc)])throw menuError(_0x11f4d2(0x1bc),_0x11f4d2(0x1de),_0x11f4d2(0x1ed));return _0x2f3299[_0x11f4d2(0x1fe)][_0x11f4d2(0x1d5)]((_0x2f8a39,_0xfd600b)=>{const _0xae0ffc=_0x11f4d2,_0x26a4a9=_0x29cb14[_0xae0ffc(0x1bf)]['get'](_0x2f8a39['id']);if(!_0x26a4a9)throw menuError('menu_state_drift',_0xae0ffc(0x1e7)+_0x2f8a39['id']+_0xae0ffc(0x1d2));if(!sameFingerprint(_0x2f3299[_0xae0ffc(0x207)][_0xfd600b],fingerprint(_0x26a4a9)))throw menuError(_0xae0ffc(0x1bc),_0xae0ffc(0x1e7)+_0x2f8a39['id']+'\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.');return _0x26a4a9;});}export function assertMenuDeletePlanExecutable(_0x37823f,_0x16006b,_0x57f2cb=new Date()){const _0xb104f2=a122_0x555cf6;if(_0x37823f[_0xb104f2(0x1f6)]!==_0x16006b)throw menuError(_0xb104f2(0x1ce),_0xb104f2(0x1f3)+JSON[_0xb104f2(0x1f5)](_0x37823f[_0xb104f2(0x1f6)])+',\x20current\x20app\x20is\x20'+JSON[_0xb104f2(0x1f5)](_0x16006b)+'.');const _0x4058dc=Date[_0xb104f2(0x202)](_0x37823f[_0xb104f2(0x1cd)]),_0xb6a62=Date['parse'](_0x37823f[_0xb104f2(0x1d6)]);if(!Number[_0xb104f2(0x1e6)](_0x4058dc)||!Number[_0xb104f2(0x1e6)](_0xb6a62)||_0xb6a62-_0x4058dc!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0xb104f2(0x1c8));if(_0x4058dc>_0x57f2cb[_0xb104f2(0x1fc)]())throw menuError(_0xb104f2(0x1ca),_0xb104f2(0x1ec)+_0x37823f['createdAt']+_0xb104f2(0x1aa),'Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.');if(_0x57f2cb[_0xb104f2(0x1fc)]()>_0xb6a62)throw menuError('menu_plan_expired',_0xb104f2(0x1ea)+_0x37823f[_0xb104f2(0x1d6)]+'.',_0xb104f2(0x1e5));}function a122_0x494d(){const _0x54e6fc=['extendHash','batch-delete-menu','updateUserId','resourcesValid','resources','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','target','28381887SJpDOi','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','type','menu_plan_invalid','string','visible','createdAt','menu_plan_app_mismatch','recursive','isSafeInteger','command','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','parentId','test','map','expiresAt','\x20bytes.','utf8','\x20requires\x20a\x20non-empty\x20file\x20path.','boolean','1058323LzGKkl','snapshotHash','pages','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','every','menu_plan_file_exists','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','resourcesHash','cascade','plan','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','isFinite','Planned\x20menu\x20','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','number','Menu\x20delete\x20plan\x20expired\x20at\x20','path','Menu\x20delete\x20plan\x20creation\x20time\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','updateUserName','depth','8tgOlmi','targetFingerprint','\x20of\x20the\x20','Menu\x20delete\x20plan\x20targets\x20app\x20','3614152XTVKwY','stringify','appCode','warnings','code','toISOString','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','pageType','getTime','isInteger','targets','childrenCount','length','3336192sInEyt','parse','update','deleteOrder','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','POST','targetFingerprints','1887267eVuyRJ','pageId','isArray','message','hex','label','2315905qmxMgG','\x20contract.','datasetCode','\x20is\x20in\x20the\x20future.','EEXIST','modelType','4ceMsqz','menu\x20delete','size','datasetId','sha256','plan-out','delete','sort','pageSchemaAffected','childrenIds','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','74728NaWoYp','updateTime','digest','version','menu_state_drift','before','extend','byId'];a122_0x494d=function(){return _0x54e6fc;};return a122_0x494d();}function fingerprint(_0x27b524){const _0x280030=a122_0x555cf6;return{'id':_0x27b524['id'],'parentId':_0x27b524['parentId'],'depth':_0x27b524['depth'],'label':_0x27b524[_0x280030(0x20d)],'path':_0x27b524[_0x280030(0x1eb)],'type':_0x27b524[_0x280030(0x1c9)],'visible':_0x27b524[_0x280030(0x1cc)],'sort':_0x27b524['sort'],'pageId':_0x27b524['pageId'],'pageType':_0x27b524['pageType'],'modelType':_0x27b524[_0x280030(0x1ac)],'datasetId':_0x27b524[_0x280030(0x1b0)],'datasetCode':_0x27b524[_0x280030(0x1a9)],'childrenIds':[..._0x27b524[_0x280030(0x1b6)]],'childrenCount':_0x27b524[_0x280030(0x1ff)],'resourcesValid':_0x27b524[_0x280030(0x1c3)],'resourcesHash':hashValue(_0x27b524['resources']),'extendHash':hashValue(_0x27b524[_0x280030(0x1be)]??null),'updateTime':_0x27b524[_0x280030(0x1b9)]};}function hashValue(_0x45975d){const _0x3f7995=a122_0x555cf6;return createHash(_0x3f7995(0x1b1))[_0x3f7995(0x203)](JSON[_0x3f7995(0x1f5)](_0x45975d))[_0x3f7995(0x1ba)](_0x3f7995(0x20c));}function sameFingerprint(_0x46049c,_0x1bd78b){const _0x311e08=a122_0x555cf6;return JSON['stringify'](_0x46049c)===JSON[_0x311e08(0x1f5)](_0x1bd78b);}function resolvePlanPath(_0x1b92f3,_0x5bd151){const _0xe330a9=a122_0x555cf6,_0x24cc0b=_0x1b92f3['trim']();if(!_0x24cc0b)throw menuError('menu_plan_invalid','--'+_0x5bd151+_0xe330a9(0x1d9));return resolve(_0x24cc0b);}function isMenuDeletePlanFile(_0x423756){const _0xc20a78=a122_0x555cf6;if(!isRecord(_0x423756))return![];return _0x423756[_0xc20a78(0x1bb)]===PLAN_VERSION&&_0x423756[_0xc20a78(0x1d1)]===PLAN_COMMAND&&typeof _0x423756[_0xc20a78(0x1f6)]===_0xc20a78(0x1cb)&&_0x423756['appCode']['length']>0x0&&typeof _0x423756[_0xc20a78(0x1cd)]==='string'&&typeof _0x423756[_0xc20a78(0x1d6)]===_0xc20a78(0x1cb)&&typeof _0x423756['snapshotHash']===_0xc20a78(0x1cb)&&/^sha256:[a-f0-9]{64}$/[_0xc20a78(0x1d4)](_0x423756[_0xc20a78(0x1dc)])&&typeof _0x423756[_0xc20a78(0x1cf)]===_0xc20a78(0x1da)&&isMenuFact(_0x423756[_0xc20a78(0x1c6)])&&isTargetFingerprint(_0x423756[_0xc20a78(0x1f1)])&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1fe)])&&_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x200)]>0x0&&_0x423756[_0xc20a78(0x1fe)]['every'](isMenuFact)&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x207)])&&_0x423756[_0xc20a78(0x207)][_0xc20a78(0x200)]===_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x200)]&&_0x423756[_0xc20a78(0x207)]['every'](isTargetFingerprint)&&Array['isArray'](_0x423756['deleteOrder'])&&_0x423756[_0xc20a78(0x204)][_0xc20a78(0x200)]===_0x423756[_0xc20a78(0x1fe)]['length']&&_0x423756[_0xc20a78(0x204)][_0xc20a78(0x1df)](isPositiveInteger)&&new Set(_0x423756[_0xc20a78(0x204)])[_0xc20a78(0x1af)]===_0x423756[_0xc20a78(0x204)]['length']&&_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x1df)]((_0x26eb19,_0xa5b758)=>_0x26eb19['id']===_0x423756[_0xc20a78(0x204)][_0xa5b758])&&_0x423756[_0xc20a78(0x1fe)][_0x423756['targets'][_0xc20a78(0x200)]-0x1]?.['id']===_0x423756[_0xc20a78(0x1c6)]['id']&&isRecord(_0x423756[_0xc20a78(0x1e3)])&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1e3)][_0xc20a78(0x1dd)])&&_0x423756['cascade'][_0xc20a78(0x1dd)][_0xc20a78(0x1df)](isPositiveInteger)&&typeof _0x423756[_0xc20a78(0x1e3)][_0xc20a78(0x1b5)]===_0xc20a78(0x1da)&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1f7)])&&_0x423756[_0xc20a78(0x1f7)]['every'](_0x50f761=>typeof _0x50f761===_0xc20a78(0x1cb));}function isMenuFact(_0x3ebeb2){const _0x3d0fa9=a122_0x555cf6;if(!isRecord(_0x3ebeb2))return![];return isPositiveInteger(_0x3ebeb2['id'])&&(_0x3ebeb2[_0x3d0fa9(0x1d3)]===null||isPositiveInteger(_0x3ebeb2[_0x3d0fa9(0x1d3)]))&&Number[_0x3d0fa9(0x1fd)](_0x3ebeb2['depth'])&&_0x3ebeb2[_0x3d0fa9(0x1ef)]>=0x0&&typeof _0x3ebeb2[_0x3d0fa9(0x20d)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1eb)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1c9)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1cc)]===null||typeof _0x3ebeb2['visible']===_0x3d0fa9(0x1da))&&(_0x3ebeb2['sort']===null||Number['isInteger'](_0x3ebeb2[_0x3d0fa9(0x1b4)]))&&Array[_0x3d0fa9(0x20a)](_0x3ebeb2[_0x3d0fa9(0x1c4)])&&_0x3ebeb2[_0x3d0fa9(0x1c4)][_0x3d0fa9(0x1df)](_0x99cd78=>typeof _0x99cd78===_0x3d0fa9(0x1cb))&&typeof _0x3ebeb2[_0x3d0fa9(0x1c3)]===_0x3d0fa9(0x1da)&&Array[_0x3d0fa9(0x20a)](_0x3ebeb2[_0x3d0fa9(0x1b6)])&&_0x3ebeb2[_0x3d0fa9(0x1b6)]['every'](isPositiveInteger)&&Number[_0x3d0fa9(0x1fd)](_0x3ebeb2[_0x3d0fa9(0x1ff)])&&_0x3ebeb2[_0x3d0fa9(0x1ff)]>=0x0&&(_0x3ebeb2[_0x3d0fa9(0x209)]===null||isPositiveInteger(_0x3ebeb2['pageId']))&&typeof _0x3ebeb2[_0x3d0fa9(0x1fb)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1ac)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1b0)]===null||isPositiveInteger(_0x3ebeb2[_0x3d0fa9(0x1b0)]))&&typeof _0x3ebeb2[_0x3d0fa9(0x1a9)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1c2)]===null||typeof _0x3ebeb2['updateUserId']===_0x3d0fa9(0x1cb))&&(_0x3ebeb2[_0x3d0fa9(0x1ee)]===null||typeof _0x3ebeb2[_0x3d0fa9(0x1ee)]===_0x3d0fa9(0x1cb))&&(_0x3ebeb2[_0x3d0fa9(0x1b9)]===null||typeof _0x3ebeb2[_0x3d0fa9(0x1b9)]===_0x3d0fa9(0x1cb)||typeof _0x3ebeb2[_0x3d0fa9(0x1b9)]===_0x3d0fa9(0x1e9))&&(_0x3ebeb2[_0x3d0fa9(0x1be)]===undefined||_0x3ebeb2[_0x3d0fa9(0x1be)]===null||isRecord(_0x3ebeb2[_0x3d0fa9(0x1be)]));}function isTargetFingerprint(_0x3aae9f){const _0x1c4249=a122_0x555cf6;if(!isRecord(_0x3aae9f))return![];return isPositiveInteger(_0x3aae9f['id'])&&(_0x3aae9f[_0x1c4249(0x1d3)]===null||isPositiveInteger(_0x3aae9f[_0x1c4249(0x1d3)]))&&Number[_0x1c4249(0x1fd)](_0x3aae9f[_0x1c4249(0x1ef)])&&_0x3aae9f[_0x1c4249(0x1ef)]>=0x0&&typeof _0x3aae9f[_0x1c4249(0x20d)]===_0x1c4249(0x1cb)&&typeof _0x3aae9f[_0x1c4249(0x1eb)]==='string'&&typeof _0x3aae9f[_0x1c4249(0x1c9)]===_0x1c4249(0x1cb)&&(_0x3aae9f[_0x1c4249(0x1cc)]===null||typeof _0x3aae9f[_0x1c4249(0x1cc)]===_0x1c4249(0x1da))&&(_0x3aae9f[_0x1c4249(0x1b4)]===null||Number[_0x1c4249(0x1fd)](_0x3aae9f[_0x1c4249(0x1b4)]))&&(_0x3aae9f[_0x1c4249(0x209)]===null||isPositiveInteger(_0x3aae9f['pageId']))&&typeof _0x3aae9f[_0x1c4249(0x1fb)]===_0x1c4249(0x1cb)&&typeof _0x3aae9f[_0x1c4249(0x1ac)]===_0x1c4249(0x1cb)&&(_0x3aae9f['datasetId']===null||isPositiveInteger(_0x3aae9f[_0x1c4249(0x1b0)]))&&typeof _0x3aae9f[_0x1c4249(0x1a9)]==='string'&&Array[_0x1c4249(0x20a)](_0x3aae9f[_0x1c4249(0x1b6)])&&_0x3aae9f[_0x1c4249(0x1b6)][_0x1c4249(0x1df)](isPositiveInteger)&&Number['isInteger'](_0x3aae9f[_0x1c4249(0x1ff)])&&_0x3aae9f[_0x1c4249(0x1ff)]>=0x0&&typeof _0x3aae9f[_0x1c4249(0x1c3)]===_0x1c4249(0x1da)&&typeof _0x3aae9f[_0x1c4249(0x1e2)]===_0x1c4249(0x1cb)&&/^[a-f0-9]{64}$/[_0x1c4249(0x1d4)](_0x3aae9f[_0x1c4249(0x1e2)])&&typeof _0x3aae9f[_0x1c4249(0x1c0)]===_0x1c4249(0x1cb)&&/^[a-f0-9]{64}$/[_0x1c4249(0x1d4)](_0x3aae9f['extendHash'])&&(_0x3aae9f[_0x1c4249(0x1b9)]===null||typeof _0x3aae9f[_0x1c4249(0x1b9)]===_0x1c4249(0x1cb)||typeof _0x3aae9f[_0x1c4249(0x1b9)]==='number');}function isRecord(_0x26e121){const _0x54050f=a122_0x555cf6;return typeof _0x26e121==='object'&&_0x26e121!==null&&!Array[_0x54050f(0x20a)](_0x26e121);}function isPositiveInteger(_0x350ce4){const _0x1693aa=a122_0x555cf6;return Number[_0x1693aa(0x1d0)](_0x350ce4)&&Number(_0x350ce4)>0x0;}function errorMessage(_0x25a1b3){const _0x5f425a=a122_0x555cf6;return _0x25a1b3 instanceof Error?_0x25a1b3[_0x5f425a(0x20b)]:String(_0x25a1b3);}
@@ -1 +1 @@
1
- (function(_0x495c5d,_0x9d2b6d){const _0x52ffac=a123_0x4d7e,_0x244569=_0x495c5d();while(!![]){try{const _0x272e7c=-parseInt(_0x52ffac(0x128))/0x1*(parseInt(_0x52ffac(0x120))/0x2)+-parseInt(_0x52ffac(0x124))/0x3+parseInt(_0x52ffac(0x140))/0x4+-parseInt(_0x52ffac(0x13e))/0x5*(parseInt(_0x52ffac(0x131))/0x6)+-parseInt(_0x52ffac(0x138))/0x7+parseInt(_0x52ffac(0x122))/0x8+parseInt(_0x52ffac(0x121))/0x9;if(_0x272e7c===_0x9d2b6d)break;else _0x244569['push'](_0x244569['shift']());}catch(_0x1568d1){_0x244569['push'](_0x244569['shift']());}}}(a123_0x5895,0x59c65));import{createHash}from'node:crypto';import{getMenuTree}from'../../../core/api-client.js';export async function fetchMenuSnapshot(_0x29eb35,_0x20334f,_0xa8f6b={}){const _0x115cdb=a123_0x4d7e,_0x38e66e=await getMenuTree(_0x29eb35,_0x20334f);return buildMenuSnapshot(Array[_0x115cdb(0x130)](_0x38e66e)?_0x38e66e:[],_0xa8f6b);}function a123_0x4d7e(_0x2a5342,_0x17adc7){_0x2a5342=_0x2a5342-0x110;const _0x5895ce=a123_0x5895();let _0x4d7eb7=_0x5895ce[_0x2a5342];return _0x4d7eb7;}export function buildMenuSnapshot(_0x16360b,_0xef913={}){const _0x8eac00=a123_0x4d7e,_0x3f50c9=flattenMenuItems(_0x16360b,{'verbose':_0xef913[_0x8eac00(0x135)]===!![],'parentId':null,'depth':0x0}),_0x2be8f9=new Map(_0x3f50c9[_0x8eac00(0x12d)](_0x1a9f0e=>[_0x1a9f0e['id'],_0x1a9f0e])),_0x2c015d=createHash(_0x8eac00(0x112))[_0x8eac00(0x137)](JSON[_0x8eac00(0x11d)](_0x3f50c9[_0x8eac00(0x12d)](toHashInput)))[_0x8eac00(0x123)](_0x8eac00(0x13f));return{'total':_0x3f50c9[_0x8eac00(0x12f)],'hash':'sha256:'+_0x2c015d,'menus':_0x3f50c9,'byId':_0x2be8f9};}export function toProcessedMenuItem(_0x4779c0){const _0x23dd06=a123_0x4d7e;return{'id':_0x4779c0['id'],'path':_0x4779c0['path'],'label':_0x4779c0[_0x23dd06(0x11a)],'resources':[..._0x4779c0[_0x23dd06(0x133)]],'extend':_0x4779c0[_0x23dd06(0x119)]??null};}export function toMenuListItem(_0x1dd29a){const {modelType:_0x4981e7,datasetId:_0x570d2e,datasetCode:_0x4bc898,resourcesValid:_0x54ee7b,..._0x509922}=_0x1dd29a;return _0x509922;}export function getChildren(_0x13655f,_0x4a8769){const _0xf61567=a123_0x4d7e;return _0x13655f['menus'][_0xf61567(0x11e)](_0x351269=>_0x351269[_0xf61567(0x139)]===_0x4a8769);}function flattenMenuItems(_0xb77c13,_0x35e22b){const _0x1963c2=a123_0x4d7e,_0x16c8c8=sortMenuItems(_0xb77c13),_0x5bdc01=[];for(const _0x1bd7ad of _0x16c8c8){const _0x417549=sortMenuItems(Array[_0x1963c2(0x130)](_0x1bd7ad[_0x1963c2(0x134)])?_0x1bd7ad[_0x1963c2(0x134)]:[]);_0x5bdc01[_0x1963c2(0x117)](toMenuFact(_0x1bd7ad,_0x417549,_0x35e22b)),_0x417549['length']>0x0&&_0x5bdc01[_0x1963c2(0x117)](...flattenMenuItems(_0x417549,{'verbose':_0x35e22b[_0x1963c2(0x135)],'parentId':_0x1bd7ad['id'],'depth':_0x35e22b['depth']+0x1}));}return _0x5bdc01;}function sortMenuItems(_0x97af5){const _0xc52a08=a123_0x4d7e;return _0x97af5[_0xc52a08(0x12d)]((_0x2b3a9e,_0x2eebae)=>({'item':_0x2b3a9e,'index':_0x2eebae}))[_0xc52a08(0x113)]((_0x5e29ea,_0x438d38)=>{const _0x54b6e7=_0xc52a08,_0x270ae9=normalizeSort(_0x5e29ea[_0x54b6e7(0x13c)]['sort']),_0x4b15c0=normalizeSort(_0x438d38[_0x54b6e7(0x13c)]['sort']);if(_0x270ae9!==_0x4b15c0)return _0x270ae9-_0x4b15c0;return _0x5e29ea[_0x54b6e7(0x118)]-_0x438d38[_0x54b6e7(0x118)];})['map'](({item:_0x6bfda9})=>_0x6bfda9);}function toMenuFact(_0x54de82,_0x311fde,_0x56ab09){const _0x352956=a123_0x4d7e,_0x4fb630=normalizeResourceValue(_0x54de82['extend']?.[_0x352956(0x133)]),_0x2277e5={'id':_0x54de82['id'],'parentId':_0x56ab09[_0x352956(0x139)],'depth':_0x56ab09[_0x352956(0x136)],'label':normalizeString(_0x54de82[_0x352956(0x11a)]),'path':normalizeString(_0x54de82[_0x352956(0x115)]),'url':normalizeString(_0x54de82[_0x352956(0x127)]),'type':normalizeString(_0x54de82[_0x352956(0x114)]),'visible':typeof _0x54de82['visible']===_0x352956(0x12c)?_0x54de82[_0x352956(0x11f)]:null,'sort':typeof _0x54de82[_0x352956(0x113)]===_0x352956(0x12a)&&Number[_0x352956(0x129)](_0x54de82['sort'])?_0x54de82[_0x352956(0x113)]:null,'resources':_0x4fb630[_0x352956(0x11b)],'resourcesValid':_0x4fb630[_0x352956(0x111)],'childrenIds':_0x311fde[_0x352956(0x12d)](_0x1c3779=>_0x1c3779['id']),'childrenCount':_0x311fde[_0x352956(0x12f)],'pageId':normalizeNullableNumber(_0x54de82[_0x352956(0x12e)]),'pageType':normalizeString(_0x54de82[_0x352956(0x132)]),'modelType':normalizeString(_0x54de82[_0x352956(0x13a)]),'datasetId':normalizeNullableNumber(_0x54de82['datasetId']),'datasetCode':normalizeString(_0x54de82[_0x352956(0x141)]),'updateUserId':normalizeNullableString(_0x54de82[_0x352956(0x116)]),'updateUserName':normalizeNullableString(_0x54de82[_0x352956(0x125)]),'updateTime':normalizeNullableTimestamp(_0x54de82[_0x352956(0x13b)])};return _0x56ab09[_0x352956(0x135)]&&(_0x2277e5['extend']=_0x54de82[_0x352956(0x119)]??null),_0x2277e5;}function toHashInput(_0x43253e){const _0x17c1c9=a123_0x4d7e;return{'id':_0x43253e['id'],'parentId':_0x43253e[_0x17c1c9(0x139)],'label':_0x43253e[_0x17c1c9(0x11a)],'path':_0x43253e[_0x17c1c9(0x115)],'url':_0x43253e[_0x17c1c9(0x127)],'type':_0x43253e['type'],'visible':_0x43253e['visible'],'sort':_0x43253e[_0x17c1c9(0x113)],'resources':_0x43253e['resources'],'resourcesValid':_0x43253e[_0x17c1c9(0x13d)],'childrenIds':_0x43253e[_0x17c1c9(0x12b)],'pageId':_0x43253e[_0x17c1c9(0x12e)],'pageType':_0x43253e[_0x17c1c9(0x132)],'modelType':_0x43253e[_0x17c1c9(0x13a)],'datasetId':_0x43253e[_0x17c1c9(0x126)],'datasetCode':_0x43253e[_0x17c1c9(0x141)],'updateUserId':_0x43253e['updateUserId'],'updateUserName':_0x43253e[_0x17c1c9(0x125)],'updateTime':_0x43253e[_0x17c1c9(0x13b)]};}function normalizeSort(_0x16e3e2){const _0x5a7761=a123_0x4d7e;return typeof _0x16e3e2===_0x5a7761(0x12a)&&Number[_0x5a7761(0x129)](_0x16e3e2)?_0x16e3e2:Number[_0x5a7761(0x11c)];}function normalizeString(_0x5e6c39){const _0x59ebcd=a123_0x4d7e;return typeof _0x5e6c39===_0x59ebcd(0x110)?_0x5e6c39:'';}function a123_0x5895(){const _0xd771cd=['label','values','POSITIVE_INFINITY','stringify','filter','visible','208646nuLiOv','13639896pQAzXr','3913560quqisl','digest','1324374CwTYfF','updateUserName','datasetId','url','4yjCTbb','isFinite','number','childrenIds','boolean','map','pageId','length','isArray','6GpvOtJ','pageType','resources','children','verbose','depth','update','4687935eOHUFZ','parentId','modelType','updateTime','item','resourcesValid','1724955PiOYOM','hex','945696KrfSsS','datasetCode','string','valid','sha256','sort','type','path','updateUserId','push','index','extend'];a123_0x5895=function(){return _0xd771cd;};return a123_0x5895();}function normalizeNullableNumber(_0xf4d19d){const _0xffa11e=a123_0x4d7e;return typeof _0xf4d19d===_0xffa11e(0x12a)&&Number['isFinite'](_0xf4d19d)?_0xf4d19d:null;}function normalizeNullableString(_0x1b898f){const _0x41084c=a123_0x4d7e;return typeof _0x1b898f===_0x41084c(0x110)&&_0x1b898f['length']>0x0?_0x1b898f:null;}function normalizeNullableTimestamp(_0x17c868){const _0x325522=a123_0x4d7e;if(typeof _0x17c868===_0x325522(0x110))return _0x17c868[_0x325522(0x12f)]>0x0?_0x17c868:null;return typeof _0x17c868==='number'&&Number[_0x325522(0x129)](_0x17c868)?_0x17c868:null;}export function normalizeResources(_0x3a8390){const _0x73850e=a123_0x4d7e;return normalizeResourceValue(_0x3a8390)[_0x73850e(0x11b)];}function normalizeResourceValue(_0x449114){const _0x4d2ae0=a123_0x4d7e;if(_0x449114==null)return{'values':[],'valid':!![]};if(Array['isArray'](_0x449114))return{'values':_0x449114[_0x4d2ae0(0x12d)](String),'valid':!![]};if(typeof _0x449114!==_0x4d2ae0(0x110))return{'values':[],'valid':![]};try{const _0x20128a=JSON['parse'](_0x449114);return Array[_0x4d2ae0(0x130)](_0x20128a)?{'values':_0x20128a[_0x4d2ae0(0x12d)](String),'valid':!![]}:{'values':[],'valid':![]};}catch{return{'values':[],'valid':![]};}}
1
+ (function(_0x7a6aaf,_0x5dc174){const _0x2af5a8=a123_0x56d7,_0x32504c=_0x7a6aaf();while(!![]){try{const _0x462200=parseInt(_0x2af5a8(0x1e9))/0x1+parseInt(_0x2af5a8(0x1f9))/0x2+parseInt(_0x2af5a8(0x218))/0x3*(parseInt(_0x2af5a8(0x1f2))/0x4)+-parseInt(_0x2af5a8(0x216))/0x5+parseInt(_0x2af5a8(0x206))/0x6*(parseInt(_0x2af5a8(0x215))/0x7)+-parseInt(_0x2af5a8(0x214))/0x8+-parseInt(_0x2af5a8(0x1f3))/0x9*(parseInt(_0x2af5a8(0x1ec))/0xa);if(_0x462200===_0x5dc174)break;else _0x32504c['push'](_0x32504c['shift']());}catch(_0x3cf675){_0x32504c['push'](_0x32504c['shift']());}}}(a123_0x590d,0x5d40f));import{createHash}from'node:crypto';import{getMenuTree}from'../../../core/api-client.js';export async function fetchMenuSnapshot(_0x4bff5e,_0x263d73,_0x539373={}){const _0x39cd58=await getMenuTree(_0x4bff5e,_0x263d73);return buildMenuSnapshot(Array['isArray'](_0x39cd58)?_0x39cd58:[],_0x539373);}export function buildMenuSnapshot(_0x3af9d6,_0x37f9af={}){const _0xc3b57b=a123_0x56d7,_0x290333=flattenMenuItems(_0x3af9d6,{'verbose':_0x37f9af[_0xc3b57b(0x1ea)]===!![],'parentId':null,'depth':0x0}),_0x327b5a=new Map(_0x290333[_0xc3b57b(0x1f1)](_0x8082e3=>[_0x8082e3['id'],_0x8082e3])),_0x3495b6=createHash(_0xc3b57b(0x217))[_0xc3b57b(0x1ed)](JSON[_0xc3b57b(0x210)](_0x290333[_0xc3b57b(0x1f1)](toHashInput)))[_0xc3b57b(0x20d)]('hex');return{'total':_0x290333[_0xc3b57b(0x1ef)],'hash':_0xc3b57b(0x211)+_0x3495b6,'menus':_0x290333,'byId':_0x327b5a};}export function toProcessedMenuItem(_0x1ab451){const _0x3988bc=a123_0x56d7;return{'id':_0x1ab451['id'],'path':_0x1ab451[_0x3988bc(0x213)],'label':_0x1ab451[_0x3988bc(0x20f)],'resources':[..._0x1ab451[_0x3988bc(0x1f7)]],'extend':_0x1ab451[_0x3988bc(0x209)]??null};}export function toMenuListItem(_0x52ff27){const {modelType:_0x692f77,datasetId:_0x4598d9,datasetCode:_0x17b75b,resourcesValid:_0x1f7913,..._0x47967c}=_0x52ff27;return _0x47967c;}export function getChildren(_0x38a651,_0x224128){return _0x38a651['menus']['filter'](_0x4ff883=>_0x4ff883['parentId']===_0x224128);}function a123_0x56d7(_0x1fc7d9,_0x3621ba){_0x1fc7d9=_0x1fc7d9-0x1e9;const _0x590dc1=a123_0x590d();let _0x56d76a=_0x590dc1[_0x1fc7d9];return _0x56d76a;}function flattenMenuItems(_0x1949d1,_0x2767be){const _0x2ba988=a123_0x56d7,_0x2a9848=sortMenuItems(_0x1949d1),_0x386c72=[];for(const _0x22ff0a of _0x2a9848){const _0x28833e=sortMenuItems(Array[_0x2ba988(0x1fa)](_0x22ff0a[_0x2ba988(0x1fb)])?_0x22ff0a['children']:[]);_0x386c72['push'](toMenuFact(_0x22ff0a,_0x28833e,_0x2767be)),_0x28833e['length']>0x0&&_0x386c72[_0x2ba988(0x201)](...flattenMenuItems(_0x28833e,{'verbose':_0x2767be['verbose'],'parentId':_0x22ff0a['id'],'depth':_0x2767be['depth']+0x1}));}return _0x386c72;}function sortMenuItems(_0x312e07){const _0xcd3fa8=a123_0x56d7;return _0x312e07[_0xcd3fa8(0x1f1)]((_0x223c3b,_0x5ed756)=>({'item':_0x223c3b,'index':_0x5ed756}))[_0xcd3fa8(0x1f5)]((_0x1724e4,_0x1e6b99)=>{const _0xd2dd13=_0xcd3fa8,_0x4d6029=normalizeSort(_0x1724e4[_0xd2dd13(0x20b)][_0xd2dd13(0x1f5)]),_0x1f30d3=normalizeSort(_0x1e6b99['item']['sort']);if(_0x4d6029!==_0x1f30d3)return _0x4d6029-_0x1f30d3;return _0x1724e4[_0xd2dd13(0x203)]-_0x1e6b99[_0xd2dd13(0x203)];})[_0xcd3fa8(0x1f1)](({item:_0x19a110})=>_0x19a110);}function toMenuFact(_0x3284d0,_0xeb0d88,_0x533878){const _0x432924=a123_0x56d7,_0x3e3e9e=normalizeResourceValue(_0x3284d0[_0x432924(0x209)]?.[_0x432924(0x1f7)]),_0x3ca3fd={'id':_0x3284d0['id'],'parentId':_0x533878[_0x432924(0x1fc)],'depth':_0x533878[_0x432924(0x1ff)],'label':normalizeString(_0x3284d0['label']),'path':normalizeString(_0x3284d0['path']),'url':normalizeString(_0x3284d0[_0x432924(0x1f8)]),'type':normalizeString(_0x3284d0[_0x432924(0x204)]),'visible':typeof _0x3284d0['visible']===_0x432924(0x1f0)?_0x3284d0[_0x432924(0x1ee)]:null,'sort':typeof _0x3284d0['sort']===_0x432924(0x1f6)&&Number[_0x432924(0x212)](_0x3284d0[_0x432924(0x1f5)])?_0x3284d0[_0x432924(0x1f5)]:null,'resources':_0x3e3e9e[_0x432924(0x200)],'resourcesValid':_0x3e3e9e[_0x432924(0x207)],'childrenIds':_0xeb0d88[_0x432924(0x1f1)](_0x33e09f=>_0x33e09f['id']),'childrenCount':_0xeb0d88[_0x432924(0x1ef)],'pageId':normalizeNullableNumber(_0x3284d0[_0x432924(0x202)]),'pageType':normalizeString(_0x3284d0[_0x432924(0x219)]),'modelType':normalizeString(_0x3284d0[_0x432924(0x1f4)]),'datasetId':normalizeNullableNumber(_0x3284d0[_0x432924(0x1eb)]),'datasetCode':normalizeString(_0x3284d0[_0x432924(0x205)]),'updateUserId':normalizeNullableString(_0x3284d0['updateUserId']),'updateUserName':normalizeNullableString(_0x3284d0[_0x432924(0x20e)]),'updateTime':normalizeNullableTimestamp(_0x3284d0['updateTime'])};return _0x533878[_0x432924(0x1ea)]&&(_0x3ca3fd['extend']=_0x3284d0[_0x432924(0x209)]??null),_0x3ca3fd;}function toHashInput(_0x28a4fd){const _0x4df6c6=a123_0x56d7;return{'id':_0x28a4fd['id'],'parentId':_0x28a4fd['parentId'],'label':_0x28a4fd['label'],'path':_0x28a4fd[_0x4df6c6(0x213)],'url':_0x28a4fd['url'],'type':_0x28a4fd['type'],'visible':_0x28a4fd[_0x4df6c6(0x1ee)],'sort':_0x28a4fd[_0x4df6c6(0x1f5)],'resources':_0x28a4fd[_0x4df6c6(0x1f7)],'resourcesValid':_0x28a4fd[_0x4df6c6(0x20c)],'childrenIds':_0x28a4fd['childrenIds'],'pageId':_0x28a4fd[_0x4df6c6(0x202)],'pageType':_0x28a4fd[_0x4df6c6(0x219)],'modelType':_0x28a4fd[_0x4df6c6(0x1f4)],'datasetId':_0x28a4fd[_0x4df6c6(0x1eb)],'datasetCode':_0x28a4fd[_0x4df6c6(0x205)],'updateUserId':_0x28a4fd['updateUserId'],'updateUserName':_0x28a4fd[_0x4df6c6(0x20e)],'updateTime':_0x28a4fd[_0x4df6c6(0x20a)]};}function normalizeSort(_0x372da8){const _0x23f8e3=a123_0x56d7;return typeof _0x372da8===_0x23f8e3(0x1f6)&&Number[_0x23f8e3(0x212)](_0x372da8)?_0x372da8:Number[_0x23f8e3(0x1fe)];}function normalizeString(_0x1480f0){const _0x5f3c93=a123_0x56d7;return typeof _0x1480f0===_0x5f3c93(0x1fd)?_0x1480f0:'';}function a123_0x590d(){const _0x592397=['isArray','children','parentId','string','POSITIVE_INFINITY','depth','values','push','pageId','index','type','datasetCode','1752uMBLFM','valid','parse','extend','updateTime','item','resourcesValid','digest','updateUserName','label','stringify','sha256:','isFinite','path','3846304cHqrUo','2240vowuYI','2317905WlaLyx','sha256','6894lMKFnU','pageType','252834DJdPgR','verbose','datasetId','10kdXSNJ','update','visible','length','boolean','map','1228CbQIzY','1744191RvKNnP','modelType','sort','number','resources','url','936750bDkVGp'];a123_0x590d=function(){return _0x592397;};return a123_0x590d();}function normalizeNullableNumber(_0xe49581){const _0x306990=a123_0x56d7;return typeof _0xe49581===_0x306990(0x1f6)&&Number[_0x306990(0x212)](_0xe49581)?_0xe49581:null;}function normalizeNullableString(_0x4c496e){const _0x3c4e1f=a123_0x56d7;return typeof _0x4c496e===_0x3c4e1f(0x1fd)&&_0x4c496e[_0x3c4e1f(0x1ef)]>0x0?_0x4c496e:null;}function normalizeNullableTimestamp(_0x4853bb){const _0x8cfbca=a123_0x56d7;if(typeof _0x4853bb===_0x8cfbca(0x1fd))return _0x4853bb[_0x8cfbca(0x1ef)]>0x0?_0x4853bb:null;return typeof _0x4853bb===_0x8cfbca(0x1f6)&&Number['isFinite'](_0x4853bb)?_0x4853bb:null;}export function normalizeResources(_0x3ce118){const _0xd1a5c3=a123_0x56d7;return normalizeResourceValue(_0x3ce118)[_0xd1a5c3(0x200)];}function normalizeResourceValue(_0x4f6ac3){const _0x28d75b=a123_0x56d7;if(_0x4f6ac3==null)return{'values':[],'valid':!![]};if(Array[_0x28d75b(0x1fa)](_0x4f6ac3))return{'values':_0x4f6ac3['map'](String),'valid':!![]};if(typeof _0x4f6ac3!==_0x28d75b(0x1fd))return{'values':[],'valid':![]};try{const _0x243fcc=JSON[_0x28d75b(0x208)](_0x4f6ac3);return Array[_0x28d75b(0x1fa)](_0x243fcc)?{'values':_0x243fcc[_0x28d75b(0x1f1)](String),'valid':!![]}:{'values':[],'valid':![]};}catch{return{'values':[],'valid':![]};}}
@@ -1 +1 @@
1
- function a124_0x19ca(){var _0x10be3d=['8410374XzAMRK','128761KjFImn','3560130YqsFLi','506585eLJwnT','1937368RPcgzQ','4198WwBLqN','1286160IRrssF','6ZePRem','219QuiMCT'];a124_0x19ca=function(){return _0x10be3d;};return a124_0x19ca();}(function(_0xaa2637,_0x380684){var _0x296360=a124_0x1f5a,_0x50c2c0=_0xaa2637();while(!![]){try{var _0x514a11=parseInt(_0x296360(0x149))/0x1+-parseInt(_0x296360(0x144))/0x2*(-parseInt(_0x296360(0x147))/0x3)+-parseInt(_0x296360(0x143))/0x4+parseInt(_0x296360(0x14b))/0x5*(-parseInt(_0x296360(0x146))/0x6)+-parseInt(_0x296360(0x14a))/0x7+parseInt(_0x296360(0x145))/0x8+parseInt(_0x296360(0x148))/0x9;if(_0x514a11===_0x380684)break;else _0x50c2c0['push'](_0x50c2c0['shift']());}catch(_0x56d1cb){_0x50c2c0['push'](_0x50c2c0['shift']());}}}(a124_0x19ca,0x45173));export*from'../../../commands/menu/shared/types.js';export*from'../../../commands/menu/shared/logic.js';export*from'../../../commands/menu/shared/compare-table.js';export*from'../../../commands/menu/shared/inquirer.js';function a124_0x1f5a(_0x561d66,_0x3580fa){_0x561d66=_0x561d66-0x143;var _0x19ca18=a124_0x19ca();var _0x1f5ae3=_0x19ca18[_0x561d66];return _0x1f5ae3;}export*from'../../../commands/menu/shared/valid-url.js';export*from'../../../commands/menu/shared/local-pages.js';export*from'../../../commands/menu/shared/service.js';export*from'../../../commands/menu/shared/sync-core.js';export*from'../../../commands/menu/shared/update-core.js';
1
+ function a124_0x9203(){var _0x1a29ce=['3578478DpdzXF','1341776eowWgx','807678VsvchH','1cAncnL','5547584FgtFbP','3870153FAUold','300130oXJBwN','529922smFGDY'];a124_0x9203=function(){return _0x1a29ce;};return a124_0x9203();}(function(_0x3e8122,_0x440e5b){var _0x9ff471=a124_0xca8a,_0x55b8e5=_0x3e8122();while(!![]){try{var _0x200473=parseInt(_0x9ff471(0x1f7))/0x1*(-parseInt(_0x9ff471(0x1f3))/0x2)+-parseInt(_0x9ff471(0x1f6))/0x3+parseInt(_0x9ff471(0x1f5))/0x4+-parseInt(_0x9ff471(0x1f2))/0x5+parseInt(_0x9ff471(0x1f4))/0x6+-parseInt(_0x9ff471(0x1f1))/0x7+parseInt(_0x9ff471(0x1f0))/0x8;if(_0x200473===_0x440e5b)break;else _0x55b8e5['push'](_0x55b8e5['shift']());}catch(_0x503673){_0x55b8e5['push'](_0x55b8e5['shift']());}}}(a124_0x9203,0x74c05));export*from'../../../commands/menu/shared/types.js';export*from'../../../commands/menu/shared/logic.js';export*from'../../../commands/menu/shared/compare-table.js';function a124_0xca8a(_0x24961e,_0x11316f){_0x24961e=_0x24961e-0x1f0;var _0x920324=a124_0x9203();var _0xca8a2d=_0x920324[_0x24961e];return _0xca8a2d;}export*from'../../../commands/menu/shared/inquirer.js';export*from'../../../commands/menu/shared/valid-url.js';export*from'../../../commands/menu/shared/local-pages.js';export*from'../../../commands/menu/shared/service.js';export*from'../../../commands/menu/shared/sync-core.js';export*from'../../../commands/menu/shared/update-core.js';
@@ -1 +1 @@
1
- (function(_0x39097d,_0x368c25){const _0x30f38d=a125_0x74bd,_0xbfd1ce=_0x39097d();while(!![]){try{const _0xbf8d94=parseInt(_0x30f38d(0x111))/0x1*(-parseInt(_0x30f38d(0x118))/0x2)+parseInt(_0x30f38d(0x105))/0x3+parseInt(_0x30f38d(0x11f))/0x4*(parseInt(_0x30f38d(0x11d))/0x5)+-parseInt(_0x30f38d(0x11b))/0x6+parseInt(_0x30f38d(0x124))/0x7+parseInt(_0x30f38d(0x119))/0x8*(parseInt(_0x30f38d(0x116))/0x9)+-parseInt(_0x30f38d(0x121))/0xa*(parseInt(_0x30f38d(0x109))/0xb);if(_0xbf8d94===_0x368c25)break;else _0xbfd1ce['push'](_0xbfd1ce['shift']());}catch(_0x3334e7){_0xbfd1ce['push'](_0xbfd1ce['shift']());}}}(a125_0x2d1f,0x7ee1b));function a125_0x74bd(_0x413d71,_0x3125c0){_0x413d71=_0x413d71-0xf7;const _0x2d1f9f=a125_0x2d1f();let _0x74bda6=_0x2d1f9f[_0x413d71];return _0x74bda6;}import a125_0x23f848 from'chalk';import{checkbox,input,confirm}from'@inquirer/prompts';import a125_0x14361e from'ora';import{isUrlReachable}from'../../../commands/menu/shared/valid-url.js';function a125_0x2d1f(){const _0x6642d1=['filter','816194wYgelc','1547792mWlkAw','\x20\x20✗\x20CSS\x20URL\x20is\x20unreachable','4258242liMkTg','red','559505ZvQGVe','JS\x20URL\x20check\x20failed','12wkJCop','trim','4574810puMCta','test','\x20\x20✗\x20CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','3827593gGqVle','\x20\x20✗\x20JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','stdin','gray','CSS\x20URL\x20checked','No\x20menus\x20selected.','catch','includes','isTTY','\x20\x20Select\x20menus\x20to\x20sync\x20(space\x20to\x20toggle,\x20a=all,\x20i=invert):','CSS\x20URL\x20check\x20failed','map','JS\x20URL\x20checked','green','[already\x20on\x20platform]','3057048efvbVV','length','Cancelled.','This\x20command\x20requires\x20an\x20interactive\x20terminal.\x20','11zIlroi','start','error','path','cyan','\x20\x20Checking\x20CSS\x20URL\x20reachability...','\x20\x20CSS\x20URL:','cancelled','1clhfWQ','No\x20local\x20pages\x20found.','label','name','has','9vgWfAL'];a125_0x2d1f=function(){return _0x6642d1;};return a125_0x2d1f();}import{CliErrors}from'../../../errors.js';function onCancel(_0x4d1d2c){const _0x110f24=a125_0x74bd;return _0x4d1d2c[_0x110f24(0xfc)](_0x161291=>{const _0xe6f56d=_0x110f24;if(_0x161291?.[_0xe6f56d(0x114)]==='ExitPromptError')throw CliErrors[_0xe6f56d(0x110)](_0xe6f56d(0x107));throw _0x161291;});}export function startSpinner(_0x5af4c8){const _0x4912c0=a125_0x74bd;return a125_0x14361e({'text':_0x5af4c8,'color':_0x4912c0(0x10d)})[_0x4912c0(0x10a)]();}export function stopSpinner(_0x3eafed,_0x59a2d8,_0x16c66b){_0x16c66b?_0x3eafed['succeed'](_0x59a2d8):_0x3eafed['fail'](_0x59a2d8);}export async function askConfirm(_0x52799d){return onCancel(confirm({'message':_0x52799d,'theme':{'prefix':''}}));}export async function askJsUrl(_0x422c73){const _0x40127d=a125_0x74bd;while(!![]){const _0x69459=await onCancel(input({'message':'\x20\x20JS\x20URL:','default':_0x422c73,'theme':{'prefix':''}}));if(_0x69459[_0x40127d(0x120)]()==='')throw CliErrors[_0x40127d(0x110)](_0x40127d(0x107));if(!/^https:\/\/.+\.js(\?.*)?$/[_0x40127d(0x122)](_0x69459[_0x40127d(0x120)]())){console[_0x40127d(0x10b)](a125_0x23f848[_0x40127d(0x11c)](_0x40127d(0xf7)));continue;}const _0x3b9ff7=startSpinner('\x20\x20Checking\x20JS\x20URL\x20reachability...');try{const _0x22d703=await isUrlReachable(_0x69459[_0x40127d(0x120)]());stopSpinner(_0x3b9ff7,_0x40127d(0x102),_0x22d703);if(!_0x22d703){console[_0x40127d(0x10b)](a125_0x23f848[_0x40127d(0x11c)]('\x20\x20✗\x20JS\x20URL\x20is\x20unreachable'));continue;}return _0x69459[_0x40127d(0x120)]();}catch(_0x4c44a9){stopSpinner(_0x3b9ff7,_0x40127d(0x11e),![]);throw _0x4c44a9;}}}export async function askCssUrl(_0x3b3f8b){const _0x13c0a1=a125_0x74bd;while(!![]){const _0x42e36d=await onCancel(input({'message':_0x13c0a1(0x10f),'default':_0x3b3f8b,'theme':{'prefix':''}}));if(_0x42e36d['trim']()==='')throw CliErrors[_0x13c0a1(0x110)](_0x13c0a1(0x107));if(!/^https:\/\/.+\.css(\?.*)?$/['test'](_0x42e36d['trim']())){console['error'](a125_0x23f848['red'](_0x13c0a1(0x123)));continue;}const _0xcf7c44=startSpinner(_0x13c0a1(0x10e));try{const _0x3db734=await isUrlReachable(_0x42e36d['trim']());stopSpinner(_0xcf7c44,_0x13c0a1(0xfa),_0x3db734);if(!_0x3db734){console[_0x13c0a1(0x10b)](a125_0x23f848['red'](_0x13c0a1(0x11a)));continue;}return _0x42e36d['trim']();}catch(_0x168d68){stopSpinner(_0xcf7c44,_0x13c0a1(0x100),![]);throw _0x168d68;}}}export async function selectPages(_0x14c2d8,_0x5b47b2){const _0x5c01f3=a125_0x74bd,_0x163d0c=_0x14c2d8[_0x5c01f3(0x101)](_0x3f59db=>{const _0x4c6c15=_0x5c01f3,_0x1dcb83=_0x5b47b2[_0x4c6c15(0x115)](_0x3f59db[_0x4c6c15(0x10c)]);return{'name':_0x3f59db[_0x4c6c15(0x113)]+'\x20\x20'+a125_0x23f848[_0x4c6c15(0xf9)](_0x3f59db[_0x4c6c15(0x10c)])+'\x20\x20'+(_0x1dcb83?a125_0x23f848[_0x4c6c15(0xf9)](_0x4c6c15(0x104)):a125_0x23f848[_0x4c6c15(0x103)]('[new]')),'value':_0x3f59db[_0x4c6c15(0x10c)],'checked':!_0x1dcb83,'disabled':_0x1dcb83};});if(_0x163d0c[_0x5c01f3(0x106)]===0x0)throw new Error(_0x5c01f3(0x112));const _0x8639ef=await onCancel(checkbox({'message':_0x5c01f3(0xff),'choices':_0x163d0c,'loop':![],'theme':{'prefix':''}}));if(_0x8639ef[_0x5c01f3(0x106)]===0x0)throw new Error(_0x5c01f3(0xfb));return _0x14c2d8[_0x5c01f3(0x117)](_0x4e2cb4=>_0x8639ef[_0x5c01f3(0xfd)](_0x4e2cb4[_0x5c01f3(0x10c)]));}export function isInteractive(){const _0x2f76c3=a125_0x74bd;return process[_0x2f76c3(0xf8)][_0x2f76c3(0xfe)]===!![];}export function requireInteractive(){const _0xd28b5b=a125_0x74bd;if(!isInteractive())throw new Error(_0xd28b5b(0x108)+'Use\x20--yes\x20to\x20run\x20in\x20non-interactive\x20mode,\x20or\x20pipe\x20data\x20via\x20--params.');}
1
+ (function(_0x31846b,_0x3c832f){const _0x2439e7=a125_0x4d9f,_0x4c81ff=_0x31846b();while(!![]){try{const _0x34ecaa=parseInt(_0x2439e7(0x104))/0x1*(-parseInt(_0x2439e7(0x101))/0x2)+parseInt(_0x2439e7(0x10a))/0x3+parseInt(_0x2439e7(0xfb))/0x4*(parseInt(_0x2439e7(0xff))/0x5)+-parseInt(_0x2439e7(0x103))/0x6+-parseInt(_0x2439e7(0x113))/0x7+-parseInt(_0x2439e7(0x11c))/0x8+parseInt(_0x2439e7(0x11b))/0x9;if(_0x34ecaa===_0x3c832f)break;else _0x4c81ff['push'](_0x4c81ff['shift']());}catch(_0x41563d){_0x4c81ff['push'](_0x4c81ff['shift']());}}}(a125_0x2646,0xa1777));import a125_0x539d4c from'chalk';import{checkbox,input,confirm}from'@inquirer/prompts';import a125_0x35146f from'ora';import{isUrlReachable}from'../../../commands/menu/shared/valid-url.js';import{CliErrors}from'../../../errors.js';function onCancel(_0xb3342a){return _0xb3342a['catch'](_0x5182f4=>{const _0x2ea22a=a125_0x4d9f;if(_0x5182f4?.[_0x2ea22a(0x117)]==='ExitPromptError')throw CliErrors[_0x2ea22a(0x118)]('Cancelled.');throw _0x5182f4;});}export function startSpinner(_0x4c1bb2){const _0x1b0ce3=a125_0x4d9f;return a125_0x35146f({'text':_0x4c1bb2,'color':_0x1b0ce3(0xf0)})[_0x1b0ce3(0x115)]();}export function stopSpinner(_0x2a3642,_0x3f066d,_0x5b04ed){const _0x17b9a1=a125_0x4d9f;_0x5b04ed?_0x2a3642[_0x17b9a1(0x114)](_0x3f066d):_0x2a3642[_0x17b9a1(0x108)](_0x3f066d);}export async function askConfirm(_0x55ea05){return onCancel(confirm({'message':_0x55ea05,'theme':{'prefix':''}}));}export async function askJsUrl(_0x39dbd2){const _0x1da46c=a125_0x4d9f;while(!![]){const _0x2f09ff=await onCancel(input({'message':_0x1da46c(0x106),'default':_0x39dbd2,'theme':{'prefix':''}}));if(_0x2f09ff[_0x1da46c(0xfd)]()==='')throw CliErrors['cancelled'](_0x1da46c(0xef));if(!/^https:\/\/.+\.js(\?.*)?$/[_0x1da46c(0xfc)](_0x2f09ff[_0x1da46c(0xfd)]())){console[_0x1da46c(0xf9)](a125_0x539d4c[_0x1da46c(0x111)](_0x1da46c(0xf6)));continue;}const _0x16662b=startSpinner('\x20\x20Checking\x20JS\x20URL\x20reachability...');try{const _0x17d3b4=await isUrlReachable(_0x2f09ff['trim']());stopSpinner(_0x16662b,_0x1da46c(0x10b),_0x17d3b4);if(!_0x17d3b4){console[_0x1da46c(0xf9)](a125_0x539d4c['red'](_0x1da46c(0xf8)));continue;}return _0x2f09ff[_0x1da46c(0xfd)]();}catch(_0x2b55f1){stopSpinner(_0x16662b,_0x1da46c(0x100),![]);throw _0x2b55f1;}}}export async function askCssUrl(_0x30e6b9){const _0x1cd3eb=a125_0x4d9f;while(!![]){const _0x2f6a20=await onCancel(input({'message':_0x1cd3eb(0x102),'default':_0x30e6b9,'theme':{'prefix':''}}));if(_0x2f6a20['trim']()==='')throw CliErrors[_0x1cd3eb(0x118)](_0x1cd3eb(0xef));if(!/^https:\/\/.+\.css(\?.*)?$/[_0x1cd3eb(0xfc)](_0x2f6a20['trim']())){console[_0x1cd3eb(0xf9)](a125_0x539d4c[_0x1cd3eb(0x111)](_0x1cd3eb(0x11a)));continue;}const _0x3e22dd=startSpinner(_0x1cd3eb(0xf4));try{const _0x5d823c=await isUrlReachable(_0x2f6a20['trim']());stopSpinner(_0x3e22dd,_0x1cd3eb(0x119),_0x5d823c);if(!_0x5d823c){console['error'](a125_0x539d4c['red'](_0x1cd3eb(0xfa)));continue;}return _0x2f6a20[_0x1cd3eb(0xfd)]();}catch(_0x56b550){stopSpinner(_0x3e22dd,_0x1cd3eb(0x110),![]);throw _0x56b550;}}}export async function selectPages(_0x8d888d,_0x1fb529){const _0x3a1bd8=a125_0x4d9f,_0x2dbd06=_0x8d888d[_0x3a1bd8(0xf2)](_0x346964=>{const _0x51f37d=_0x3a1bd8,_0x1afe05=_0x1fb529[_0x51f37d(0x105)](_0x346964['path']);return{'name':_0x346964[_0x51f37d(0x107)]+'\x20\x20'+a125_0x539d4c[_0x51f37d(0x11d)](_0x346964['path'])+'\x20\x20'+(_0x1afe05?a125_0x539d4c[_0x51f37d(0x11d)](_0x51f37d(0xf7)):a125_0x539d4c[_0x51f37d(0xf5)](_0x51f37d(0xfe))),'value':_0x346964[_0x51f37d(0x10f)],'checked':!_0x1afe05,'disabled':_0x1afe05};});if(_0x2dbd06[_0x3a1bd8(0xf1)]===0x0)throw new Error(_0x3a1bd8(0xf3));const _0x376ff3=await onCancel(checkbox({'message':'\x20\x20Select\x20menus\x20to\x20sync\x20(space\x20to\x20toggle,\x20a=all,\x20i=invert):','choices':_0x2dbd06,'loop':![],'theme':{'prefix':''}}));if(_0x376ff3[_0x3a1bd8(0xf1)]===0x0)throw new Error(_0x3a1bd8(0x10d));return _0x8d888d[_0x3a1bd8(0x116)](_0x494d39=>_0x376ff3[_0x3a1bd8(0x109)](_0x494d39[_0x3a1bd8(0x10f)]));}export function isInteractive(){const _0x3479da=a125_0x4d9f;return process[_0x3479da(0x10e)][_0x3479da(0x112)]===!![];}function a125_0x4d9f(_0xdf7a6,_0x394420){_0xdf7a6=_0xdf7a6-0xef;const _0x26461d=a125_0x2646();let _0x4d9f3b=_0x26461d[_0xdf7a6];return _0x4d9f3b;}function a125_0x2646(){const _0x39c9ae=['name','cancelled','CSS\x20URL\x20checked','\x20\x20✗\x20CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','27155916HNxFjZ','7707856YxqseP','gray','Use\x20--yes\x20to\x20run\x20in\x20non-interactive\x20mode,\x20or\x20pipe\x20data\x20via\x20--params.','Cancelled.','cyan','length','map','No\x20local\x20pages\x20found.','\x20\x20Checking\x20CSS\x20URL\x20reachability...','green','\x20\x20✗\x20JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','[already\x20on\x20platform]','\x20\x20✗\x20JS\x20URL\x20is\x20unreachable','error','\x20\x20✗\x20CSS\x20URL\x20is\x20unreachable','229032YfCdCy','test','trim','[new]','35HYHCLp','JS\x20URL\x20check\x20failed','824KlCYff','\x20\x20CSS\x20URL:','3017058NsWERW','911AxvhEb','has','\x20\x20JS\x20URL:','label','fail','includes','989109DXVfNU','JS\x20URL\x20checked','This\x20command\x20requires\x20an\x20interactive\x20terminal.\x20','No\x20menus\x20selected.','stdin','path','CSS\x20URL\x20check\x20failed','red','isTTY','8713663Vyyfmn','succeed','start','filter'];a125_0x2646=function(){return _0x39c9ae;};return a125_0x2646();}export function requireInteractive(){const _0x2a6936=a125_0x4d9f;if(!isInteractive())throw new Error(_0x2a6936(0x10c)+_0x2a6936(0x11e));}
@@ -1 +1 @@
1
- function a126_0x43b1(_0x7bfc5f,_0x4ff846){_0x7bfc5f=_0x7bfc5f-0xfd;const _0xc9ba1a=a126_0xc9ba();let _0x43b190=_0xc9ba1a[_0x7bfc5f];return _0x43b190;}function a126_0xc9ba(){const _0x2bf549=['14cHftDw','path','748908FqmjrZ','push','utf-8','index.tsx','trim','8290iNLEOT','endsWith','split','concat','cwd','filter','492nAAdcb','121vDhBSA','95037GaBwrX','1939278tyeCLf','3184ROqfmK','6507fdQNhl','1072ZWiRrb','.tsx','join','forEach','isDirectory','651290pvQNdP','replace','1449EEddSs','match'];a126_0xc9ba=function(){return _0x2bf549;};return a126_0xc9ba();}const a126_0xdbc277=a126_0x43b1;(function(_0x152c3a,_0x5b7e3a){const _0xc614bd=a126_0x43b1,_0x3df3b5=_0x152c3a();while(!![]){try{const _0x465a07=parseInt(_0xc614bd(0x100))/0x1*(-parseInt(_0xc614bd(0x10f))/0x2)+-parseInt(_0xc614bd(0x111))/0x3+parseInt(_0xc614bd(0x115))/0x4*(parseInt(_0xc614bd(0x109))/0x5)+parseInt(_0xc614bd(0x112))/0x6*(-parseInt(_0xc614bd(0x102))/0x7)+-parseInt(_0xc614bd(0x113))/0x8*(-parseInt(_0xc614bd(0x114))/0x9)+parseInt(_0xc614bd(0xfe))/0xa+-parseInt(_0xc614bd(0x110))/0xb*(-parseInt(_0xc614bd(0x104))/0xc);if(_0x465a07===_0x5b7e3a)break;else _0x3df3b5['push'](_0x3df3b5['shift']());}catch(_0x59b0fd){_0x3df3b5['push'](_0x3df3b5['shift']());}}}(a126_0xc9ba,0x6da8f));import{readdirSync,statSync,readFileSync}from'fs';import{join,relative,resolve,sep}from'path';const pagesDir=resolve(process[a126_0xdbc277(0x10d)](),'src/pages');export function extractTitleFromComment(_0x40a688){const _0x511aef=a126_0xdbc277;try{const _0x3ba8f6=readFileSync(_0x40a688,_0x511aef(0x106)),_0x53407d=_0x3ba8f6[_0x511aef(0x101)](/^\s*\/\*\*?([\s\S]*?)\*\//);if(_0x53407d&&_0x53407d[0x1]){const _0x1db1ed=_0x53407d[0x1],_0x147bb8=_0x1db1ed[_0x511aef(0x101)](/^\s*\*?\s*title\s*:\s*(.+)/im);if(_0x147bb8&&_0x147bb8[0x1])return _0x147bb8[0x1][_0x511aef(0x108)]();}let _0x5f4383=null;const _0x187ff6=_0x3ba8f6[_0x511aef(0x101)](/export\s+default\s+([A-Z][a-zA-Z0-9]*)/);_0x187ff6&&_0x187ff6[0x1]&&(_0x5f4383=_0x187ff6[0x1]);if(!_0x5f4383){const _0x38afdf=_0x3ba8f6[_0x511aef(0x101)](/export\s+default\s+function\s+([A-Z][a-zA-Z0-9]*)/);_0x38afdf&&_0x38afdf[0x1]&&(_0x5f4383=_0x38afdf[0x1]);}if(_0x5f4383){const _0x45174e=new RegExp('\x5cb'+_0x5f4383+'\x5c.displayName\x5cs*=\x5cs*[\x22\x27]([^\x22\x27]+)[\x22\x27]'),_0x2c779f=_0x3ba8f6[_0x511aef(0x101)](_0x45174e);if(_0x2c779f&&_0x2c779f[0x1])return _0x2c779f[0x1];return _0x5f4383;}return null;}catch(_0x2d574a){return null;}}export function getLocalPages(_0x390333=pagesDir,_0x110ef4=pagesDir){const _0x30dedc=a126_0xdbc277;let _0x34a8e7=[];const _0x2ff719=readdirSync(_0x390333);return _0x2ff719[_0x30dedc(0x118)](_0x10a455=>{const _0x2e6967=_0x30dedc,_0xdedac5=join(_0x390333,_0x10a455),_0x2d00ac=statSync(_0xdedac5);if(_0x2d00ac&&_0x2d00ac[_0x2e6967(0xfd)]())_0x34a8e7=_0x34a8e7[_0x2e6967(0x10c)](getLocalPages(_0xdedac5,_0x110ef4));else{if(_0x10a455['endsWith'](_0x2e6967(0x116))){let _0x160e20=relative(_0x110ef4,_0xdedac5);_0x160e20['endsWith'](_0x2e6967(0x107))?_0x160e20=_0x160e20[_0x2e6967(0xff)](/index\.tsx$/,''):_0x160e20=_0x160e20[_0x2e6967(0xff)](/\.tsx$/,'');_0x160e20[_0x2e6967(0x10a)](sep)&&(_0x160e20=_0x160e20['slice'](0x0,-0x1));const _0x5bf348=_0x160e20[_0x2e6967(0x10b)](sep)[_0x2e6967(0x117)]('/'),_0x4168bc=extractTitleFromComment(_0xdedac5),_0x961760=_0x4168bc||_0x5bf348;_0x34a8e7[_0x2e6967(0x105)]({'path':_0x5bf348['replaceAll']('$',':'),'label':_0x961760});}}}),_0x34a8e7[_0x30dedc(0x10e)](_0x7dbfd4=>_0x7dbfd4[_0x30dedc(0x103)]!=='');}
1
+ const a126_0x1800a2=a126_0x2ca2;(function(_0x3cffef,_0x169856){const _0x5bce31=a126_0x2ca2,_0x482136=_0x3cffef();while(!![]){try{const _0x4596df=-parseInt(_0x5bce31(0x1d0))/0x1+-parseInt(_0x5bce31(0x1d7))/0x2*(-parseInt(_0x5bce31(0x1da))/0x3)+parseInt(_0x5bce31(0x1e0))/0x4*(-parseInt(_0x5bce31(0x1d9))/0x5)+parseInt(_0x5bce31(0x1eb))/0x6*(parseInt(_0x5bce31(0x1e2))/0x7)+parseInt(_0x5bce31(0x1ec))/0x8+parseInt(_0x5bce31(0x1e9))/0x9*(parseInt(_0x5bce31(0x1df))/0xa)+parseInt(_0x5bce31(0x1e6))/0xb*(-parseInt(_0x5bce31(0x1e8))/0xc);if(_0x4596df===_0x169856)break;else _0x482136['push'](_0x482136['shift']());}catch(_0x2a3f35){_0x482136['push'](_0x482136['shift']());}}}(a126_0x190a,0x5df09));function a126_0x190a(){const _0x1554b0=['9VSKNpn','replaceAll','forEach','replace','.tsx','10lfEATo','24xwPttX','join','3933377yWUjjy','filter','match','cwd','8024819VdGjbv','src/pages','12fQxIGH','3454479mtACZI','concat','6AEdkDD','5239824NOVauM','662208lrMUIw','trim','slice','endsWith','utf-8','isDirectory','path','381664pDCuwg','split','330585WSUZxM'];a126_0x190a=function(){return _0x1554b0;};return a126_0x190a();}import{readdirSync,statSync,readFileSync}from'fs';function a126_0x2ca2(_0x11c24f,_0x44699b){_0x11c24f=_0x11c24f-0x1d0;const _0x190a20=a126_0x190a();let _0x2ca243=_0x190a20[_0x11c24f];return _0x2ca243;}import{join,relative,resolve,sep}from'path';const pagesDir=resolve(process[a126_0x1800a2(0x1e5)](),a126_0x1800a2(0x1e7));export function extractTitleFromComment(_0x182c6d){const _0xfd2dce=a126_0x1800a2;try{const _0x210fb9=readFileSync(_0x182c6d,_0xfd2dce(0x1d4)),_0x19fefc=_0x210fb9[_0xfd2dce(0x1e4)](/^\s*\/\*\*?([\s\S]*?)\*\//);if(_0x19fefc&&_0x19fefc[0x1]){const _0x33a90c=_0x19fefc[0x1],_0x342216=_0x33a90c[_0xfd2dce(0x1e4)](/^\s*\*?\s*title\s*:\s*(.+)/im);if(_0x342216&&_0x342216[0x1])return _0x342216[0x1][_0xfd2dce(0x1d1)]();}let _0x5b412=null;const _0x591afb=_0x210fb9[_0xfd2dce(0x1e4)](/export\s+default\s+([A-Z][a-zA-Z0-9]*)/);_0x591afb&&_0x591afb[0x1]&&(_0x5b412=_0x591afb[0x1]);if(!_0x5b412){const _0x103222=_0x210fb9[_0xfd2dce(0x1e4)](/export\s+default\s+function\s+([A-Z][a-zA-Z0-9]*)/);_0x103222&&_0x103222[0x1]&&(_0x5b412=_0x103222[0x1]);}if(_0x5b412){const _0x5446ea=new RegExp('\x5cb'+_0x5b412+'\x5c.displayName\x5cs*=\x5cs*[\x22\x27]([^\x22\x27]+)[\x22\x27]'),_0x1ebcd8=_0x210fb9[_0xfd2dce(0x1e4)](_0x5446ea);if(_0x1ebcd8&&_0x1ebcd8[0x1])return _0x1ebcd8[0x1];return _0x5b412;}return null;}catch(_0x3ca29d){return null;}}export function getLocalPages(_0x30aedb=pagesDir,_0xb7aed2=pagesDir){const _0x169f0c=a126_0x1800a2;let _0x64641f=[];const _0xc7f5de=readdirSync(_0x30aedb);return _0xc7f5de[_0x169f0c(0x1dc)](_0x1bb729=>{const _0x43633c=_0x169f0c,_0x3d88d9=join(_0x30aedb,_0x1bb729),_0xbf3409=statSync(_0x3d88d9);if(_0xbf3409&&_0xbf3409[_0x43633c(0x1d5)]())_0x64641f=_0x64641f[_0x43633c(0x1ea)](getLocalPages(_0x3d88d9,_0xb7aed2));else{if(_0x1bb729[_0x43633c(0x1d3)](_0x43633c(0x1de))){let _0x4c1381=relative(_0xb7aed2,_0x3d88d9);_0x4c1381[_0x43633c(0x1d3)]('index.tsx')?_0x4c1381=_0x4c1381[_0x43633c(0x1dd)](/index\.tsx$/,''):_0x4c1381=_0x4c1381[_0x43633c(0x1dd)](/\.tsx$/,'');_0x4c1381[_0x43633c(0x1d3)](sep)&&(_0x4c1381=_0x4c1381[_0x43633c(0x1d2)](0x0,-0x1));const _0x17a805=_0x4c1381[_0x43633c(0x1d8)](sep)[_0x43633c(0x1e1)]('/'),_0x1b4fd9=extractTitleFromComment(_0x3d88d9),_0x15922d=_0x1b4fd9||_0x17a805;_0x64641f['push']({'path':_0x17a805[_0x43633c(0x1db)]('$',':'),'label':_0x15922d});}}}),_0x64641f[_0x169f0c(0x1e3)](_0x4bec87=>_0x4bec87[_0x169f0c(0x1d6)]!=='');}
@@ -1 +1 @@
1
- (function(_0x4bf09e,_0xf54cb7){const _0x529936=a127_0x1f5f,_0x45d1e8=_0x4bf09e();while(!![]){try{const _0x131a92=parseInt(_0x529936(0x1d8))/0x1*(-parseInt(_0x529936(0x1d3))/0x2)+-parseInt(_0x529936(0x1d0))/0x3+parseInt(_0x529936(0x1d1))/0x4+parseInt(_0x529936(0x1cd))/0x5+parseInt(_0x529936(0x1e2))/0x6*(parseInt(_0x529936(0x1da))/0x7)+parseInt(_0x529936(0x1d9))/0x8*(parseInt(_0x529936(0x1cf))/0x9)+-parseInt(_0x529936(0x1df))/0xa;if(_0x131a92===_0xf54cb7)break;else _0x45d1e8['push'](_0x45d1e8['shift']());}catch(_0x323959){_0x45d1e8['push'](_0x45d1e8['shift']());}}}(a127_0x30c2,0x77c48));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';export function validateJsUrl(_0x5451ff){const _0x4d3c00=a127_0x1f5f,_0x1f7dee=[];return!isValidJsHttpsUrl(_0x5451ff)&&_0x1f7dee[_0x4d3c00(0x1d2)](_0x4d3c00(0x1dd)),{'ok':_0x1f7dee[_0x4d3c00(0x1db)]===0x0,'errors':_0x1f7dee};}export function validateCssUrl(_0x2d7a18){const _0x4f680a=a127_0x1f5f,_0xa884a3=[];return!isValidCssHttpsUrl(_0x2d7a18)&&_0xa884a3['push'](_0x4f680a(0x1e1)),{'ok':_0xa884a3[_0x4f680a(0x1db)]===0x0,'errors':_0xa884a3};}function a127_0x1f5f(_0x23db76,_0x2b6ba4){_0x23db76=_0x23db76-0x1cd;const _0x30c28c=a127_0x30c2();let _0x1f5f49=_0x30c28c[_0x23db76];return _0x1f5f49;}function a127_0x30c2(){const _0x419394=['errors','8507790HNOiZo','resources','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','1245282hSrbMJ','760460VdEFli','map','5922QwVZQa','2372532iSuNIQ','2530716deTOLy','push','2JmmYKK','has','label','filter','JS\x20URL\x20is\x20unreachable','81929FNwrKW','9808rCChXW','21uqVRVa','length','path','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'];a127_0x30c2=function(){return _0x419394;};return a127_0x30c2();}export async function validateJsUrlReachable(_0x45ce38){const _0x3ea4b4=a127_0x1f5f,_0x1ad467=validateJsUrl(_0x45ce38);if(!_0x1ad467['ok'])return _0x1ad467;const _0x40e0ff=await isUrlReachable(_0x45ce38);if(!_0x40e0ff)_0x1ad467[_0x3ea4b4(0x1de)][_0x3ea4b4(0x1d2)](_0x3ea4b4(0x1d7));return{'ok':_0x1ad467[_0x3ea4b4(0x1de)][_0x3ea4b4(0x1db)]===0x0,'errors':_0x1ad467[_0x3ea4b4(0x1de)]};}export async function validateCssUrlReachable(_0x5d120a){const _0x3fc4e0=a127_0x1f5f,_0x13a4d7=validateCssUrl(_0x5d120a);if(!_0x13a4d7['ok'])return _0x13a4d7;const _0x555d4d=await isUrlReachable(_0x5d120a);if(!_0x555d4d)_0x13a4d7[_0x3fc4e0(0x1de)][_0x3fc4e0(0x1d2)]('CSS\x20URL\x20is\x20unreachable');return{'ok':_0x13a4d7[_0x3fc4e0(0x1de)][_0x3fc4e0(0x1db)]===0x0,'errors':_0x13a4d7[_0x3fc4e0(0x1de)]};}export function buildCompareRows(_0xe8b548,_0x414b8f){const _0x56dd95=a127_0x1f5f;return _0xe8b548['map'](_0x3d7465=>({'label':_0x3d7465[_0x56dd95(0x1d5)],'path':_0x3d7465[_0x56dd95(0x1dc)],'local':!![],'online':_0x414b8f[_0x56dd95(0x1d4)](_0x3d7465[_0x56dd95(0x1dc)])}));}export async function doCreateMenus(_0x1e56cf,_0x3020d4,_0x3d6eb0,_0x1020b8){const _0x28a2f0=a127_0x1f5f,_0x5ac7c8=await createMenus(_0x1e56cf,_0x3020d4,_0x3d6eb0,_0x1020b8);return{'created':_0x5ac7c8[_0x28a2f0(0x1db)],'failed':0x0,'labels':_0x3d6eb0[_0x28a2f0(0x1ce)](_0x552070=>_0x552070[_0x28a2f0(0x1d5)]),'menus':_0x5ac7c8};}export function filterMenusWithResources(_0x3a27e4){const _0x1325d8=a127_0x1f5f;return _0x3a27e4[_0x1325d8(0x1d6)](_0x226a97=>_0x226a97[_0x1325d8(0x1e0)][_0x1325d8(0x1db)]>0x0);}export async function fetchMenuData(_0x1f5e5f,_0x2784ff){const _0x5191b0=a127_0x1f5f,_0x2c669a=getLocalPages(),_0x11c467=await getOnlineMenuList(_0x1f5e5f,_0x2784ff),_0x9021ca=new Set(_0x11c467[_0x5191b0(0x1ce)](_0x2a32c7=>_0x2a32c7[_0x5191b0(0x1dc)]));return{'localPages':_0x2c669a,'onlineMenuList':_0x11c467,'onlinePaths':_0x9021ca};}export async function fetchOnlineMenuList(_0x5515cc,_0x53983f){return getOnlineMenuList(_0x5515cc,_0x53983f);}
1
+ (function(_0x28f682,_0x564e52){const _0x3a082c=a127_0x3c55,_0x25d522=_0x28f682();while(!![]){try{const _0x15a0ef=parseInt(_0x3a082c(0x7f))/0x1*(-parseInt(_0x3a082c(0x85))/0x2)+-parseInt(_0x3a082c(0x81))/0x3*(parseInt(_0x3a082c(0x88))/0x4)+parseInt(_0x3a082c(0x83))/0x5*(parseInt(_0x3a082c(0x89))/0x6)+parseInt(_0x3a082c(0x80))/0x7*(parseInt(_0x3a082c(0x86))/0x8)+-parseInt(_0x3a082c(0x7c))/0x9+-parseInt(_0x3a082c(0x78))/0xa+parseInt(_0x3a082c(0x84))/0xb;if(_0x15a0ef===_0x564e52)break;else _0x25d522['push'](_0x25d522['shift']());}catch(_0x52fdbc){_0x25d522['push'](_0x25d522['shift']());}}}(a127_0xb4cb,0xf253b));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';export function validateJsUrl(_0x59f413){const _0x398245=a127_0x3c55,_0x5de23e=[];return!isValidJsHttpsUrl(_0x59f413)&&_0x5de23e[_0x398245(0x7b)]('JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'),{'ok':_0x5de23e[_0x398245(0x7d)]===0x0,'errors':_0x5de23e};}function a127_0x3c55(_0x59b232,_0x212179){_0x59b232=_0x59b232-0x74;const _0xb4cb94=a127_0xb4cb();let _0x3c55de=_0xb4cb94[_0x59b232];return _0x3c55de;}export function validateCssUrl(_0x24a573){const _0x21459a=a127_0x3c55,_0x5aaaa7=[];return!isValidCssHttpsUrl(_0x24a573)&&_0x5aaaa7[_0x21459a(0x7b)](_0x21459a(0x79)),{'ok':_0x5aaaa7[_0x21459a(0x7d)]===0x0,'errors':_0x5aaaa7};}export async function validateJsUrlReachable(_0x118d2e){const _0x10cd01=a127_0x3c55,_0x54de99=validateJsUrl(_0x118d2e);if(!_0x54de99['ok'])return _0x54de99;const _0x231666=await isUrlReachable(_0x118d2e);if(!_0x231666)_0x54de99[_0x10cd01(0x75)][_0x10cd01(0x7b)](_0x10cd01(0x87));return{'ok':_0x54de99[_0x10cd01(0x75)][_0x10cd01(0x7d)]===0x0,'errors':_0x54de99[_0x10cd01(0x75)]};}export async function validateCssUrlReachable(_0x42be7a){const _0x41bd82=a127_0x3c55,_0x471888=validateCssUrl(_0x42be7a);if(!_0x471888['ok'])return _0x471888;const _0x221608=await isUrlReachable(_0x42be7a);if(!_0x221608)_0x471888[_0x41bd82(0x75)][_0x41bd82(0x7b)]('CSS\x20URL\x20is\x20unreachable');return{'ok':_0x471888[_0x41bd82(0x75)][_0x41bd82(0x7d)]===0x0,'errors':_0x471888[_0x41bd82(0x75)]};}export function buildCompareRows(_0x4ed436,_0x26d132){const _0x582417=a127_0x3c55;return _0x4ed436[_0x582417(0x76)](_0x5f0352=>({'label':_0x5f0352['label'],'path':_0x5f0352[_0x582417(0x82)],'local':!![],'online':_0x26d132[_0x582417(0x77)](_0x5f0352[_0x582417(0x82)])}));}export async function doCreateMenus(_0x295f97,_0x1f98ff,_0x5af281,_0x1ad2ae){const _0x1f945d=a127_0x3c55,_0x11d6cd=await createMenus(_0x295f97,_0x1f98ff,_0x5af281,_0x1ad2ae);return{'created':_0x11d6cd['length'],'failed':0x0,'labels':_0x5af281['map'](_0x204ca7=>_0x204ca7[_0x1f945d(0x7e)]),'menus':_0x11d6cd};}export function filterMenusWithResources(_0x3710d3){const _0x4cb816=a127_0x3c55;return _0x3710d3[_0x4cb816(0x7a)](_0x5502ca=>_0x5502ca[_0x4cb816(0x74)][_0x4cb816(0x7d)]>0x0);}export async function fetchMenuData(_0x186a09,_0xb1227e){const _0x15ac89=a127_0x3c55,_0x2560db=getLocalPages(),_0x13fcd1=await getOnlineMenuList(_0x186a09,_0xb1227e),_0x38007b=new Set(_0x13fcd1[_0x15ac89(0x76)](_0x154825=>_0x154825[_0x15ac89(0x82)]));return{'localPages':_0x2560db,'onlineMenuList':_0x13fcd1,'onlinePaths':_0x38007b};}function a127_0xb4cb(){const _0x230d6f=['5033szfoVY','569991tbOYEb','path','7235aCIjHA','9093172kCaZnc','1523064zvOEfe','16496wJyEZS','JS\x20URL\x20is\x20unreachable','12GXFrrS','3138TuDsgh','resources','errors','map','has','1343790UcbOja','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','filter','push','5467842PUwdSQ','length','label','1SJEUvt'];a127_0xb4cb=function(){return _0x230d6f;};return a127_0xb4cb();}export async function fetchOnlineMenuList(_0x295d65,_0x33001d){return getOnlineMenuList(_0x295d65,_0x33001d);}
@@ -16,10 +16,10 @@ export declare function fetchMutationSnapshot(ctx: RuntimeContext & {
16
16
  appCode: string;
17
17
  cookie: string;
18
18
  }, operation: string, targetId?: number): Promise<MenuSnapshot>;
19
- export declare function recheckMutationSnapshot(ctx: RuntimeContext & {
19
+ export declare function recheckMutationSnapshot<TTarget = MenuFact>(ctx: RuntimeContext & {
20
20
  appCode: string;
21
21
  cookie: string;
22
- }, plan: MenuMutationResult, operation: string, targetId?: number): Promise<MenuSnapshot>;
22
+ }, plan: MenuMutationResult<TTarget>, operation: string, targetId?: number): Promise<MenuSnapshot>;
23
23
  export declare function parseParentId(ctx: RuntimeContext, flagName: string, options?: {
24
24
  required?: boolean;
25
25
  }): number | null | undefined;
@@ -27,7 +27,7 @@ export declare function requireMenu(snapshot: MenuSnapshot, id: number): MenuFac
27
27
  export declare function requireFolder(snapshot: MenuSnapshot, id: number): MenuFact;
28
28
  export declare function assertExpectedState(ctx: RuntimeContext, menu: MenuFact): void;
29
29
  export declare function assertVerified(condition: boolean, message: string, hint?: string): asserts condition;
30
- export declare function mutationResult(input: {
30
+ export declare function mutationResult<TTarget = MenuFact>(input: {
31
31
  operation: string;
32
32
  selector: Record<string, unknown>;
33
33
  before: MenuMutationResult["before"];
@@ -35,7 +35,7 @@ export declare function mutationResult(input: {
35
35
  dryRun: boolean;
36
36
  backend: MenuMutationResult["backend"];
37
37
  plannedActions?: MenuMutationResult["plannedActions"];
38
- targets?: MenuMutationResult["targets"];
38
+ targets?: MenuMutationResult<TTarget>["targets"];
39
39
  deleteOrder?: MenuMutationResult["deleteOrder"];
40
40
  snapshotHash: string;
41
41
  cascade?: MenuMutationResult["cascade"];
@@ -45,12 +45,13 @@ export declare function mutationResult(input: {
45
45
  warnings?: string[];
46
46
  verification?: Record<string, unknown>;
47
47
  error?: MenuMutationError;
48
- }): MenuMutationResult;
49
- export declare function menuDryRunResult(plan: MenuMutationResult, request: DryRunResult): DryRunResult & MenuMutationResult;
50
- export declare function menuFailure(error: CliError, plan: MenuMutationResult, input: {
48
+ }): MenuMutationResult<TTarget>;
49
+ export declare function menuDryRunResult<TTarget = MenuFact>(plan: MenuMutationResult<TTarget>, request: DryRunResult): DryRunResult & MenuMutationResult<TTarget>;
50
+ export declare function menuFailure<TTarget = MenuFact>(error: CliError, plan: MenuMutationResult<TTarget>, input: {
51
51
  stage: string;
52
52
  succeeded?: Array<Record<string, unknown>>;
53
53
  failed?: Record<string, unknown>;
54
+ failedRecords?: Array<Record<string, unknown>>;
54
55
  warnings?: string[];
55
56
  verification?: Record<string, unknown>;
56
57
  after?: MenuMutationResult["after"];
@@ -1 +1 @@
1
- const a128_0x2ae394=a128_0xb4fb;(function(_0x12c3a7,_0x20b8d6){const _0x1fb58c=a128_0xb4fb,_0x3a25e4=_0x12c3a7();while(!![]){try{const _0x632cf2=-parseInt(_0x1fb58c(0xe8))/0x1*(parseInt(_0x1fb58c(0xe2))/0x2)+parseInt(_0x1fb58c(0xc0))/0x3+-parseInt(_0x1fb58c(0xb4))/0x4+parseInt(_0x1fb58c(0xbc))/0x5*(parseInt(_0x1fb58c(0xca))/0x6)+parseInt(_0x1fb58c(0xcb))/0x7+parseInt(_0x1fb58c(0xad))/0x8*(parseInt(_0x1fb58c(0xda))/0x9)+parseInt(_0x1fb58c(0xd0))/0xa;if(_0x632cf2===_0x20b8d6)break;else _0x3a25e4['push'](_0x3a25e4['shift']());}catch(_0x4bcbe2){_0x3a25e4['push'](_0x3a25e4['shift']());}}}(a128_0x5e70,0xd64ba));function a128_0xb4fb(_0x1bd8d2,_0x590a93){_0x1bd8d2=_0x1bd8d2-0xad;const _0x5e70fe=a128_0x5e70();let _0xb4fb45=_0x5e70fe[_0x1bd8d2];return _0xb4fb45;}import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a128_0x2ae394(0xb7),'required':!![],'description':a128_0x2ae394(0x10d)};export const MENU_SORT_FLAG={'name':'sort','type':a128_0x2ae394(0xb7),'description':'Sibling\x20sort\x20value\x20(non-negative\x20integer)'};export const MENU_PARENT_ID_FLAG={'name':a128_0x2ae394(0x10f),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0x106)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a128_0x2ae394(0xe1),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0xd8)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a128_0x2ae394(0x102),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0xee)},{'name':a128_0x2ae394(0x100),'type':a128_0x2ae394(0xb7),'description':'Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches'}];export function validateExactId(_0x334086){const _0x5e082e=a128_0x2ae394,_0x5251bc=_0x334086['num']('id');if(!Number[_0x5e082e(0xea)](_0x5251bc)||_0x5251bc<=0x0)throw CliErrors['validation'](_0x5e082e(0xd4));return _0x5251bc;}export function validateSort(_0x2a5c6a,_0x54798b='sort'){const _0x34fc56=a128_0x2ae394;if(!hasFlag(_0x2a5c6a,_0x54798b))return undefined;const _0x5cebda=_0x2a5c6a[_0x34fc56(0xf0)](_0x54798b);if(!Number[_0x34fc56(0xea)](_0x5cebda)||_0x5cebda<0x0||_0x5cebda>MAX_MENU_SORT)throw menuError(_0x34fc56(0xdc),'--'+_0x54798b+_0x34fc56(0xbb)+MAX_MENU_SORT+'.',_0x34fc56(0xf6));return _0x5cebda;}export function nextSiblingSort(_0x3003a6,_0x411a7e,_0x4089e6){const _0x3990a7=a128_0x2ae394,_0x58cf28=getChildren(_0x3003a6,_0x411a7e)[_0x3990a7(0xc1)](_0x151f46=>_0x151f46['sort'])['filter'](_0x1969e4=>typeof _0x1969e4===_0x3990a7(0xb7));if(_0x58cf28[_0x3990a7(0xbf)]===0x0)return 0x0;const _0x120307=Math['max'](..._0x58cf28);if(_0x120307>=MAX_MENU_SORT)throw menuError(_0x3990a7(0x108),_0x3990a7(0x104)+_0x4089e6+_0x3990a7(0xe0)+_0x120307+'.','Reorder\x20sibling\x20menus\x20below\x20'+MAX_MENU_SORT+_0x3990a7(0xc8));return _0x120307+0x1;}export function requireExplicitYes(_0x4f7282){const _0x139a74=a128_0x2ae394;if(_0x4f7282[_0x139a74(0xaf)](_0x139a74(0xe3)))return;if(!_0x4f7282[_0x139a74(0xaf)](_0x139a74(0xe9)))throw menuError(_0x139a74(0x107),_0x139a74(0xce),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}export async function fetchMutationSnapshot(_0xe28d76,_0x330d30,_0x180630){const _0x16b141=a128_0x2ae394;try{return await fetchMenuSnapshot(_0xe28d76['appCode'],_0xe28d76[_0x16b141(0xd9)]);}catch(_0xe3ba0c){throw mapMenuApiError(_0xe3ba0c,'read\x20online\x20menu\x20facts\x20before\x20'+_0x330d30,_0x180630);}}export async function recheckMutationSnapshot(_0x1498ca,_0x15950,_0x2883ad,_0x561d9a){const _0x411aed=a128_0x2ae394;let _0x5aeb39;try{_0x5aeb39=await fetchMenuSnapshot(_0x1498ca[_0x411aed(0xbd)],_0x1498ca[_0x411aed(0xd9)]);}catch(_0x32b5d3){const _0x2253ed=mapMenuApiError(_0x32b5d3,_0x411aed(0xf8)+_0x2883ad,_0x561d9a);throw menuFailure(_0x2253ed,_0x15950,{'stage':_0x411aed(0xfc),'failed':_0x561d9a==null?{}:{'id':_0x561d9a}});}if(_0x5aeb39[_0x411aed(0xf1)]!==_0x15950['snapshotHash']){const _0x655623=menuError(_0x411aed(0xfe),_0x411aed(0xf9)+_0x2883ad+';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.',_0x411aed(0xe5));throw menuFailure(_0x655623,_0x15950,{'stage':_0x411aed(0xfc),'failed':{..._0x561d9a==null?{}:{'id':_0x561d9a},'expectedSnapshotHash':_0x15950['snapshotHash'],'currentSnapshotHash':_0x5aeb39[_0x411aed(0xf1)]}});}return _0x5aeb39;}function a128_0x5e70(){const _0x47ba64=['childrenCount','before','Exact\x20online\x20menu\x20id','get','parent-id','dryRun','The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','after','prototype','stringify','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','9561368HGKAwU','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.','bool','Menu\x20','trim','string','Permission\x20denied\x20while\x20attempting\x20to\x20','6871704OaTIOT','type','defineProperty','number','deleteOrder','rawFlags',',\x20current\x20','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','225945FsjWrh','appCode','operation','length','4241187gbpkGS','map','error','succeeded','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','selector','Online\x20menu\x20not\x20found:\x20','api_error',',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.','message','18jdgZkC','2869132CFRUGZ','menu_parent_not_folder','flagMissing','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','plannedActions','1688820jsMhlf','code','test','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','warnings','failed','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','cookie','9kduyHi','stage','menu_sort_invalid','\x20menu\x20','required','menu_permission_denied','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','expect-parent-id','78QhbNgy','dry-run','\x20path\x20changed:\x20expected\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','parentId','menu_verification_failed','18655kINyyS','yes','isSafeInteger','backend','str','menu_not_found','Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches','byId','num','hash','planFile','hasOwnProperty','menu_mutation_failed','path','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','folder','recheck\x20online\x20menu\x20facts\x20before\x20','Online\x20menu\x20state\x20changed\x20before\x20','snapshotHash','cascade','pre-write-recheck','root','menu_state_drift','toLowerCase','expected-children-count','verification','expect-path','validation','Cannot\x20append\x20a\x20','hint','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','menu_confirmation_required','menu_sort_overflow','\x20parent\x20changed:\x20expected\x20','targets'];a128_0x5e70=function(){return _0x47ba64;};return a128_0x5e70();}export function parseParentId(_0x29d3e2,_0x389ab5,_0x3bc649={}){const _0x5438ae=a128_0x2ae394;if(!hasFlag(_0x29d3e2,_0x389ab5)){if(_0x3bc649[_0x5438ae(0xde)])throw CliErrors[_0x5438ae(0xcd)](_0x389ab5);return undefined;}const _0x3f9e6b=_0x29d3e2[_0x5438ae(0xec)](_0x389ab5)[_0x5438ae(0xb1)]();if(_0x3f9e6b[_0x5438ae(0xff)]()===_0x5438ae(0xfd))return null;if(!/^\d+$/['test'](_0x3f9e6b))throw CliErrors['validation']('--'+_0x389ab5+'\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.');const _0x51128d=Number(_0x3f9e6b);if(!Number[_0x5438ae(0xea)](_0x51128d)||_0x51128d<=0x0)throw CliErrors[_0x5438ae(0x103)]('--'+_0x389ab5+_0x5438ae(0x116));return _0x51128d;}export function requireMenu(_0x518661,_0x268000){const _0x50be39=a128_0x2ae394,_0x1ef188=_0x518661[_0x50be39(0xef)][_0x50be39(0x10e)](_0x268000);if(!_0x1ef188)throw menuError(_0x50be39(0xed),_0x50be39(0xc6)+_0x268000,_0x50be39(0xae));return _0x1ef188;}export function requireFolder(_0x457b9c,_0x3fd674){const _0x485880=a128_0x2ae394,_0x516b23=requireMenu(_0x457b9c,_0x3fd674);if(_0x516b23[_0x485880(0xb5)]!==_0x485880(0xf7))throw menuError(_0x485880(0xcc),_0x485880(0xb0)+_0x3fd674+'\x20is\x20type\x20\x22'+(_0x516b23[_0x485880(0xb5)]||'unknown')+'\x22,\x20not\x20folder.','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.');return _0x516b23;}export function assertExpectedState(_0x5a7470,_0x47b4cc){const _0x2c321c=a128_0x2ae394;if(hasFlag(_0x5a7470,_0x2c321c(0xe1))){const _0x5156ca=parseParentId(_0x5a7470,_0x2c321c(0xe1),{'required':!![]});if(_0x47b4cc[_0x2c321c(0xe6)]!==_0x5156ca)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+_0x2c321c(0x109)+formatParent(_0x5156ca)+_0x2c321c(0xba)+formatParent(_0x47b4cc[_0x2c321c(0xe6)])+'.');}if(hasFlag(_0x5a7470,'expect-path')){const _0x3a20da=_0x5a7470[_0x2c321c(0xec)](_0x2c321c(0x102));if(_0x47b4cc[_0x2c321c(0xf5)]!==_0x3a20da)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+_0x2c321c(0xe4)+JSON[_0x2c321c(0x115)](_0x3a20da)+_0x2c321c(0xba)+JSON[_0x2c321c(0x115)](_0x47b4cc[_0x2c321c(0xf5)])+'.');}if(hasFlag(_0x5a7470,_0x2c321c(0x100))){const _0x3e05da=_0x5a7470[_0x2c321c(0xf0)](_0x2c321c(0x100));if(!Number[_0x2c321c(0xea)](_0x3e05da)||_0x3e05da<0x0)throw CliErrors[_0x2c321c(0x103)](_0x2c321c(0xc4));if(_0x47b4cc[_0x2c321c(0x10b)]!==_0x3e05da)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+'\x20child\x20count\x20changed:\x20expected\x20'+_0x3e05da+_0x2c321c(0xba)+_0x47b4cc[_0x2c321c(0x10b)]+'.');}}export function assertVerified(_0x4bfd30,_0x2082cb,_0x4d1b9f=a128_0x2ae394(0xd3)){if(!_0x4bfd30)throw menuError('menu_verification_failed',_0x2082cb,_0x4d1b9f);}export function mutationResult(_0x1b75f9){const _0x4625dc=a128_0x2ae394;return{'operation':_0x1b75f9[_0x4625dc(0xbe)],'selector':_0x1b75f9[_0x4625dc(0xc5)],'before':_0x1b75f9[_0x4625dc(0x10c)],'after':_0x1b75f9[_0x4625dc(0x113)],'dryRun':_0x1b75f9[_0x4625dc(0x110)],'backend':_0x1b75f9[_0x4625dc(0xeb)],..._0x1b75f9['plannedActions']?{'plannedActions':_0x1b75f9[_0x4625dc(0xcf)]}:{},..._0x1b75f9[_0x4625dc(0x10a)]?{'targets':_0x1b75f9[_0x4625dc(0x10a)]}:{},..._0x1b75f9[_0x4625dc(0xb8)]?{'deleteOrder':_0x1b75f9[_0x4625dc(0xb8)]}:{},'snapshotHash':_0x1b75f9[_0x4625dc(0xfa)],..._0x1b75f9[_0x4625dc(0xfb)]?{'cascade':_0x1b75f9[_0x4625dc(0xfb)]}:{},..._0x1b75f9['planFile']?{'planFile':_0x1b75f9[_0x4625dc(0xf2)]}:{},'succeeded':_0x1b75f9[_0x4625dc(0xc3)]??[],'failed':_0x1b75f9[_0x4625dc(0xd6)]??[],'warnings':_0x1b75f9[_0x4625dc(0xd5)]??[],'verification':_0x1b75f9['verification'],'error':_0x1b75f9[_0x4625dc(0xc2)]};}export function menuDryRunResult(_0x49a6af,_0x3865dc){return{..._0x49a6af,..._0x3865dc};}export function menuFailure(_0x93f2f,_0xf5ba00,_0x39c066){const _0x5b756e=a128_0x2ae394,_0x3e43ee=mutationResult({..._0xf5ba00,'after':_0x39c066[_0x5b756e(0x113)]===undefined?_0xf5ba00[_0x5b756e(0x113)]:_0x39c066[_0x5b756e(0x113)],'backend':_0x39c066['backend']??_0xf5ba00[_0x5b756e(0xeb)],'dryRun':![],'succeeded':_0x39c066['succeeded']??[],'failed':[{..._0x39c066['failed']??{},'stage':_0x39c066[_0x5b756e(0xdb)],'code':_0x93f2f[_0x5b756e(0xd1)],'message':_0x93f2f[_0x5b756e(0xc9)]}],'warnings':[..._0xf5ba00[_0x5b756e(0xd5)],..._0x39c066[_0x5b756e(0xd5)]??[]],'verification':_0x39c066[_0x5b756e(0x101)],'error':{'code':_0x93f2f['code'],'message':_0x93f2f[_0x5b756e(0xc9)],..._0x93f2f[_0x5b756e(0x105)]?{'hint':_0x93f2f[_0x5b756e(0x105)]}:{}}});return Object[_0x5b756e(0xb6)](_0x93f2f,'data',{'value':_0x3e43ee,'enumerable':!![],'configurable':!![]}),_0x93f2f;}export function asVerificationError(_0xbd4cb4,_0x41b96a){const _0x32fafb=a128_0x2ae394;if(_0xbd4cb4 instanceof CliError&&_0xbd4cb4[_0x32fafb(0xd1)]==='menu_verification_failed')return _0xbd4cb4;const _0x2508c2=_0xbd4cb4 instanceof Error?_0xbd4cb4[_0x32fafb(0xc9)]:String(_0xbd4cb4);return menuError(_0x32fafb(0xe7),''+_0x41b96a+(_0x2508c2?':\x20'+_0x2508c2:''),_0x32fafb(0x111));}export function describeMenuErrorCause(_0x58c844,_0x4b6e74,_0x1a0c5c){const _0x1b9dc7=a128_0x2ae394,_0x4956a7=mapMenuApiError(_0x58c844,_0x4b6e74,_0x1a0c5c);return{'causeCode':_0x4956a7[_0x1b9dc7(0xd1)],'causeMessage':_0x4956a7[_0x1b9dc7(0xc9)]};}export function hasFlag(_0x3761c1,_0x743c12){const _0x17b69f=a128_0x2ae394;return Object[_0x17b69f(0x114)][_0x17b69f(0xf3)]['call'](_0x3761c1['rawFlags'],_0x743c12)&&_0x3761c1[_0x17b69f(0xb9)][_0x743c12]!==undefined;}export function toApiParentId(_0x59e32d){return _0x59e32d??0x0;}export function formatParent(_0x28cd87){return _0x28cd87==null?'root':String(_0x28cd87);}export function menuError(_0x5bdc92,_0x115729,_0x5b21a){return new CliError(_0x5bdc92,0x1,_0x115729,_0x5b21a);}export function mapMenuApiError(_0x76d954,_0x34888a,_0x2baabe){const _0x17a0df=a128_0x2ae394;if(_0x76d954 instanceof CliError&&_0x76d954[_0x17a0df(0xd1)]!==_0x17a0df(0xc7))return _0x76d954;const _0x1ec9e5=_0x76d954 instanceof Error?_0x76d954[_0x17a0df(0xc9)]:String(_0x76d954);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x17a0df(0xd2)](_0x1ec9e5))return menuError(_0x17a0df(0xdf),_0x17a0df(0xb3)+_0x34888a+(_0x2baabe?'\x20menu\x20'+_0x2baabe:'')+'.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');return menuError(_0x17a0df(0xf4),'Failed\x20to\x20'+_0x34888a+(_0x2baabe?_0x17a0df(0xdd)+_0x2baabe:'')+':\x20'+_0x1ec9e5,_0x17a0df(0x112));}export function isMenuResponseLoss(_0x4ceeed){const _0x4fac6a=a128_0x2ae394,_0x1b8e49=_0x4ceeed instanceof Error?_0x4ceeed[_0x4fac6a(0xc9)]:String(_0x4ceeed);if(_0x4ceeed instanceof CliError)return _0x4ceeed['code']===_0x4fac6a(0xc7)&&/^Request (?:failed|timeout):/i[_0x4fac6a(0xd2)](_0x1b8e49);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x4fac6a(0xd2)](_0x1b8e49);}function stateDrift(_0x7504d9){const _0x1f2c49=a128_0x2ae394;return menuError('menu_state_drift',_0x7504d9,_0x1f2c49(0xd7));}
1
+ const a128_0x5244dd=a128_0x1977;(function(_0x59b908,_0x3bf207){const _0x2479a8=a128_0x1977,_0x1ed379=_0x59b908();while(!![]){try{const _0x28e4dd=parseInt(_0x2479a8(0xbc))/0x1*(-parseInt(_0x2479a8(0xa6))/0x2)+parseInt(_0x2479a8(0x9b))/0x3*(-parseInt(_0x2479a8(0xac))/0x4)+-parseInt(_0x2479a8(0xd6))/0x5*(parseInt(_0x2479a8(0x101))/0x6)+-parseInt(_0x2479a8(0xfc))/0x7+parseInt(_0x2479a8(0xdd))/0x8+-parseInt(_0x2479a8(0xaa))/0x9*(-parseInt(_0x2479a8(0xa0))/0xa)+-parseInt(_0x2479a8(0xb4))/0xb*(-parseInt(_0x2479a8(0xa5))/0xc);if(_0x28e4dd===_0x3bf207)break;else _0x1ed379['push'](_0x1ed379['shift']());}catch(_0x5d8f44){_0x1ed379['push'](_0x1ed379['shift']());}}}(a128_0xa3d6,0x24523));import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a128_0x5244dd(0xc5),'required':!![],'description':a128_0x5244dd(0xe5)};export const MENU_SORT_FLAG={'name':'sort','type':a128_0x5244dd(0xc5),'description':a128_0x5244dd(0xf7)};export const MENU_PARENT_ID_FLAG={'name':'parent-id','type':'string','description':'Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node'};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a128_0x5244dd(0xab),'type':'string','description':a128_0x5244dd(0xb6)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a128_0x5244dd(0xcc),'type':a128_0x5244dd(0x9c),'description':'Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches'},{'name':a128_0x5244dd(0xa4),'type':a128_0x5244dd(0xc5),'description':a128_0x5244dd(0x9d)}];export function validateExactId(_0x77fdf3){const _0x318ad2=a128_0x5244dd,_0x834601=_0x77fdf3[_0x318ad2(0xba)]('id');if(!Number['isSafeInteger'](_0x834601)||_0x834601<=0x0)throw CliErrors[_0x318ad2(0xb7)](_0x318ad2(0xed));return _0x834601;}export function validateSort(_0x270508,_0x141298=a128_0x5244dd(0xcd)){const _0x227588=a128_0x5244dd;if(!hasFlag(_0x270508,_0x141298))return undefined;const _0x2128c=_0x270508['num'](_0x141298);if(!Number[_0x227588(0xbb)](_0x2128c)||_0x2128c<0x0||_0x2128c>MAX_MENU_SORT)throw menuError('menu_sort_invalid','--'+_0x141298+_0x227588(0xf1)+MAX_MENU_SORT+'.',_0x227588(0xca));return _0x2128c;}function a128_0x1977(_0x343293,_0x220e6a){_0x343293=_0x343293-0x9b;const _0xa3d68f=a128_0xa3d6();let _0x1977fa=_0xa3d68f[_0x343293];return _0x1977fa;}export function nextSiblingSort(_0x532040,_0x3a15e1,_0x2e0f6c){const _0x46e35f=a128_0x5244dd,_0x48662c=getChildren(_0x532040,_0x3a15e1)[_0x46e35f(0xf6)](_0x15f2ad=>_0x15f2ad[_0x46e35f(0xcd)])[_0x46e35f(0xcf)](_0x9eb322=>typeof _0x9eb322===_0x46e35f(0xc5));if(_0x48662c[_0x46e35f(0xc6)]===0x0)return 0x0;const _0x27bf57=Math[_0x46e35f(0xa2)](..._0x48662c);if(_0x27bf57>=MAX_MENU_SORT)throw menuError(_0x46e35f(0xb1),'Cannot\x20append\x20a\x20'+_0x2e0f6c+_0x46e35f(0xd9)+_0x27bf57+'.',_0x46e35f(0xd4)+MAX_MENU_SORT+',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.');return _0x27bf57+0x1;}export function requireExplicitYes(_0x1a74b7){const _0x4cbbc3=a128_0x5244dd;if(_0x1a74b7[_0x4cbbc3(0xd0)](_0x4cbbc3(0xe6)))return;if(!_0x1a74b7[_0x4cbbc3(0xd0)](_0x4cbbc3(0xae)))throw menuError('menu_confirmation_required',_0x4cbbc3(0xb8),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}export async function fetchMutationSnapshot(_0x42a673,_0x25f2e2,_0x55d8e0){const _0x5a8240=a128_0x5244dd;try{return await fetchMenuSnapshot(_0x42a673[_0x5a8240(0xe8)],_0x42a673[_0x5a8240(0xc1)]);}catch(_0x2cd488){throw mapMenuApiError(_0x2cd488,'read\x20online\x20menu\x20facts\x20before\x20'+_0x25f2e2,_0x55d8e0);}}export async function recheckMutationSnapshot(_0x441e80,_0x6473da,_0x39333f,_0x4478b4){const _0x2b5f71=a128_0x5244dd;let _0x1d4748;try{_0x1d4748=await fetchMenuSnapshot(_0x441e80['appCode'],_0x441e80['cookie']);}catch(_0x59fc1e){const _0x30bb39=mapMenuApiError(_0x59fc1e,'recheck\x20online\x20menu\x20facts\x20before\x20'+_0x39333f,_0x4478b4);throw menuFailure(_0x30bb39,_0x6473da,{'stage':_0x2b5f71(0x100),'failed':_0x4478b4==null?{}:{'id':_0x4478b4}});}if(_0x1d4748['hash']!==_0x6473da['snapshotHash']){const _0x55c431=menuError(_0x2b5f71(0xef),_0x2b5f71(0xe9)+_0x39333f+_0x2b5f71(0xd3),_0x2b5f71(0x9e));throw menuFailure(_0x55c431,_0x6473da,{'stage':_0x2b5f71(0x100),'failed':{..._0x4478b4==null?{}:{'id':_0x4478b4},'expectedSnapshotHash':_0x6473da[_0x2b5f71(0xf4)],'currentSnapshotHash':_0x1d4748[_0x2b5f71(0xf8)]}});}return _0x1d4748;}export function parseParentId(_0x37ac19,_0x5d1429,_0x268179={}){const _0x3c089d=a128_0x5244dd;if(!hasFlag(_0x37ac19,_0x5d1429)){if(_0x268179[_0x3c089d(0xc2)])throw CliErrors['flagMissing'](_0x5d1429);return undefined;}const _0x1e177e=_0x37ac19[_0x3c089d(0xbe)](_0x5d1429)[_0x3c089d(0xe4)]();if(_0x1e177e['toLowerCase']()===_0x3c089d(0xfb))return null;if(!/^\d+$/[_0x3c089d(0xaf)](_0x1e177e))throw CliErrors[_0x3c089d(0xb7)]('--'+_0x5d1429+_0x3c089d(0xc8));const _0xee81c4=Number(_0x1e177e);if(!Number[_0x3c089d(0xbb)](_0xee81c4)||_0xee81c4<=0x0)throw CliErrors[_0x3c089d(0xb7)]('--'+_0x5d1429+_0x3c089d(0xc8));return _0xee81c4;}export function requireMenu(_0x3f5f64,_0xe7b69e){const _0x3b87bd=a128_0x5244dd,_0x5d9f5f=_0x3f5f64['byId'][_0x3b87bd(0xfa)](_0xe7b69e);if(!_0x5d9f5f)throw menuError(_0x3b87bd(0xe3),'Online\x20menu\x20not\x20found:\x20'+_0xe7b69e,'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.');return _0x5d9f5f;}export function requireFolder(_0x40cab8,_0x2f9724){const _0x2d1580=a128_0x5244dd,_0x385b93=requireMenu(_0x40cab8,_0x2f9724);if(_0x385b93[_0x2d1580(0xdb)]!==_0x2d1580(0xd2))throw menuError(_0x2d1580(0xe1),_0x2d1580(0xdf)+_0x2f9724+'\x20is\x20type\x20\x22'+(_0x385b93['type']||_0x2d1580(0xcb))+_0x2d1580(0xd7),_0x2d1580(0xce));return _0x385b93;}export function assertExpectedState(_0x43419e,_0xf4f220){const _0x4c2d23=a128_0x5244dd;if(hasFlag(_0x43419e,_0x4c2d23(0xab))){const _0x1a5cc3=parseParentId(_0x43419e,_0x4c2d23(0xab),{'required':!![]});if(_0xf4f220[_0x4c2d23(0xf5)]!==_0x1a5cc3)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xc9)+formatParent(_0x1a5cc3)+_0x4c2d23(0xa1)+formatParent(_0xf4f220['parentId'])+'.');}if(hasFlag(_0x43419e,_0x4c2d23(0xcc))){const _0x8affb8=_0x43419e[_0x4c2d23(0xbe)](_0x4c2d23(0xcc));if(_0xf4f220[_0x4c2d23(0xa7)]!==_0x8affb8)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xb0)+JSON[_0x4c2d23(0xf9)](_0x8affb8)+_0x4c2d23(0xa1)+JSON[_0x4c2d23(0xf9)](_0xf4f220[_0x4c2d23(0xa7)])+'.');}if(hasFlag(_0x43419e,'expected-children-count')){const _0x102af7=_0x43419e[_0x4c2d23(0xba)](_0x4c2d23(0xa4));if(!Number[_0x4c2d23(0xbb)](_0x102af7)||_0x102af7<0x0)throw CliErrors['validation'](_0x4c2d23(0xea));if(_0xf4f220['childrenCount']!==_0x102af7)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xb5)+_0x102af7+',\x20current\x20'+_0xf4f220[_0x4c2d23(0xc4)]+'.');}}export function assertVerified(_0x2d9bdc,_0xb4f45c,_0x39287c=a128_0x5244dd(0xd5)){if(!_0x2d9bdc)throw menuError('menu_verification_failed',_0xb4f45c,_0x39287c);}export function mutationResult(_0x524821){const _0x4b67da=a128_0x5244dd;return{'operation':_0x524821['operation'],'selector':_0x524821[_0x4b67da(0xbf)],'before':_0x524821[_0x4b67da(0xc3)],'after':_0x524821['after'],'dryRun':_0x524821[_0x4b67da(0xeb)],'backend':_0x524821['backend'],..._0x524821['plannedActions']?{'plannedActions':_0x524821[_0x4b67da(0x9f)]}:{},..._0x524821['targets']?{'targets':_0x524821[_0x4b67da(0xa9)]}:{},..._0x524821['deleteOrder']?{'deleteOrder':_0x524821[_0x4b67da(0xa3)]}:{},'snapshotHash':_0x524821[_0x4b67da(0xf4)],..._0x524821[_0x4b67da(0xf3)]?{'cascade':_0x524821[_0x4b67da(0xf3)]}:{},..._0x524821[_0x4b67da(0xfd)]?{'planFile':_0x524821[_0x4b67da(0xfd)]}:{},'succeeded':_0x524821[_0x4b67da(0xb3)]??[],'failed':_0x524821[_0x4b67da(0xda)]??[],'warnings':_0x524821['warnings']??[],'verification':_0x524821[_0x4b67da(0xdc)],'error':_0x524821[_0x4b67da(0xee)]};}export function menuDryRunResult(_0x447114,_0x416990){return{..._0x447114,..._0x416990};}export function menuFailure(_0x4522c9,_0x37c78a,_0x3df382){const _0x3c2785=a128_0x5244dd,_0x4cb687=mutationResult({..._0x37c78a,'after':_0x3df382[_0x3c2785(0xc7)]===undefined?_0x37c78a[_0x3c2785(0xc7)]:_0x3df382[_0x3c2785(0xc7)],'backend':_0x3df382[_0x3c2785(0xec)]??_0x37c78a[_0x3c2785(0xec)],'dryRun':![],'succeeded':_0x3df382['succeeded']??[],'failed':_0x3df382[_0x3c2785(0xde)]??[{..._0x3df382[_0x3c2785(0xda)]??{},'stage':_0x3df382['stage'],'code':_0x4522c9['code'],'message':_0x4522c9[_0x3c2785(0xbd)]}],'warnings':[..._0x37c78a['warnings'],..._0x3df382['warnings']??[]],'verification':_0x3df382['verification'],'error':{'code':_0x4522c9[_0x3c2785(0xc0)],'message':_0x4522c9[_0x3c2785(0xbd)],..._0x4522c9[_0x3c2785(0xe2)]?{'hint':_0x4522c9[_0x3c2785(0xe2)]}:{}}});return Object['defineProperty'](_0x4522c9,'data',{'value':_0x4cb687,'enumerable':!![],'configurable':!![]}),_0x4522c9;}export function asVerificationError(_0x352522,_0x10ff7e){const _0x3f3005=a128_0x5244dd;if(_0x352522 instanceof CliError&&_0x352522['code']===_0x3f3005(0xfe))return _0x352522;const _0x12942d=_0x352522 instanceof Error?_0x352522['message']:String(_0x352522);return menuError(_0x3f3005(0xfe),''+_0x10ff7e+(_0x12942d?':\x20'+_0x12942d:''),'The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.');}export function describeMenuErrorCause(_0x2e7bb2,_0x5f16a4,_0x4d0197){const _0xf65bf0=a128_0x5244dd,_0x43b86e=mapMenuApiError(_0x2e7bb2,_0x5f16a4,_0x4d0197);return{'causeCode':_0x43b86e[_0xf65bf0(0xc0)],'causeMessage':_0x43b86e['message']};}export function hasFlag(_0x1adc7b,_0x44b45b){const _0x4fbed2=a128_0x5244dd;return Object[_0x4fbed2(0xb2)][_0x4fbed2(0xf2)][_0x4fbed2(0xb9)](_0x1adc7b[_0x4fbed2(0xad)],_0x44b45b)&&_0x1adc7b['rawFlags'][_0x44b45b]!==undefined;}export function toApiParentId(_0x3cad53){return _0x3cad53??0x0;}export function formatParent(_0x7647f2){const _0x107f8c=a128_0x5244dd;return _0x7647f2==null?_0x107f8c(0xfb):String(_0x7647f2);}function a128_0xa3d6(){const _0x5953bf=['root','407050ipGseL','planFile','menu_verification_failed','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','pre-write-recheck','901542wxbdMl','3khtFRj','string','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','plannedActions','1790AyFVJt',',\x20current\x20','max','deleteOrder','expected-children-count','12qndiXU','185126dQxaOQ','path','menu_mutation_failed','targets','12816wwDaYP','expect-parent-id','1178648GVAkXO','rawFlags','yes','test','\x20path\x20changed:\x20expected\x20','menu_sort_overflow','prototype','succeeded','7237494yvERVa','\x20child\x20count\x20changed:\x20expected\x20','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','validation','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','call','num','isSafeInteger','3OTfklH','message','str','selector','code','cookie','required','before','childrenCount','number','length','after','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','\x20parent\x20changed:\x20expected\x20','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','unknown','expect-path','sort','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','filter','bool','Permission\x20denied\x20while\x20attempting\x20to\x20','folder',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','Reorder\x20sibling\x20menus\x20below\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','5EMsqex','\x22,\x20not\x20folder.','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','failed','type','verification','133432RUokzi','failedRecords','Menu\x20','Failed\x20to\x20','menu_parent_not_folder','hint','menu_not_found','trim','Exact\x20online\x20menu\x20id','dry-run','menu_permission_denied','appCode','Online\x20menu\x20state\x20changed\x20before\x20','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','dryRun','backend','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','error','menu_state_drift','\x20menu\x20','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','hasOwnProperty','cascade','snapshotHash','parentId','map','Sibling\x20sort\x20value\x20(non-negative\x20integer)','hash','stringify','get'];a128_0xa3d6=function(){return _0x5953bf;};return a128_0xa3d6();}export function menuError(_0x27cef4,_0x473462,_0x560c70){return new CliError(_0x27cef4,0x1,_0x473462,_0x560c70);}export function mapMenuApiError(_0x24879e,_0x2a8009,_0x5af411){const _0x7e6222=a128_0x5244dd;if(_0x24879e instanceof CliError&&_0x24879e[_0x7e6222(0xc0)]!=='api_error')return _0x24879e;const _0x1a97dc=_0x24879e instanceof Error?_0x24879e[_0x7e6222(0xbd)]:String(_0x24879e);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i['test'](_0x1a97dc))return menuError(_0x7e6222(0xe7),_0x7e6222(0xd1)+_0x2a8009+(_0x5af411?_0x7e6222(0xf0)+_0x5af411:'')+'.',_0x7e6222(0xff));return menuError(_0x7e6222(0xa8),_0x7e6222(0xe0)+_0x2a8009+(_0x5af411?_0x7e6222(0xf0)+_0x5af411:'')+':\x20'+_0x1a97dc,_0x7e6222(0xd8));}export function isMenuResponseLoss(_0x25085a){const _0x3de6e4=a128_0x5244dd,_0x44f5ac=_0x25085a instanceof Error?_0x25085a[_0x3de6e4(0xbd)]:String(_0x25085a);if(_0x25085a instanceof CliError)return _0x25085a[_0x3de6e4(0xc0)]==='api_error'&&/^Request (?:failed|timeout):/i[_0x3de6e4(0xaf)](_0x44f5ac);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x3de6e4(0xaf)](_0x44f5ac);}function stateDrift(_0x1c3bc1){const _0x5bae83=a128_0x5244dd;return menuError(_0x5bae83(0xef),_0x1c3bc1,'Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.');}
@@ -1 +1 @@
1
- (function(_0x3947a1,_0x31860b){const _0x249369=a129_0x1961,_0x33baf0=_0x3947a1();while(!![]){try{const _0x5dc749=-parseInt(_0x249369(0x1dd))/0x1+-parseInt(_0x249369(0x1f1))/0x2+-parseInt(_0x249369(0x1d6))/0x3*(parseInt(_0x249369(0x1e5))/0x4)+parseInt(_0x249369(0x1ea))/0x5*(-parseInt(_0x249369(0x1fb))/0x6)+-parseInt(_0x249369(0x1eb))/0x7+parseInt(_0x249369(0x1f6))/0x8+parseInt(_0x249369(0x1f4))/0x9*(parseInt(_0x249369(0x1ee))/0xa);if(_0x5dc749===_0x31860b)break;else _0x33baf0['push'](_0x33baf0['shift']());}catch(_0x390535){_0x33baf0['push'](_0x33baf0['shift']());}}}(a129_0x4fd2,0xf29ec));import{getEnv,isProduction}from'../../../constant/env.js';import{logger}from'../../../utils/logger.js';import{fetchMenuSnapshot,toProcessedMenuItem}from'../../../commands/menu/shared/facts.js';import{batchDeleteMenuRecords,createMenuRecord,startMenuRegroup as a129_0xcbc6f8,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x4a0efb,_0x44f38c){const _0x21079a=a129_0x1961,_0x1d18a8=getEnv();logger[_0x21079a(0x1f2)]('get-online-menu-list',isProduction(_0x1d18a8)?_0x21079a(0x1de)+_0x4a0efb+')':_0x21079a(0x1da)+_0x4a0efb+')');const _0x567a43=await fetchMenuSnapshot(_0x4a0efb,_0x44f38c,{'verbose':!![]});return logger[_0x21079a(0x1f2)](_0x21079a(0x1d9),_0x21079a(0x1f8)+_0x567a43[_0x21079a(0x1e4)]+'\x20online\x20menus\x20successfully'),_0x567a43[_0x21079a(0x1f9)][_0x21079a(0x1e7)](toProcessedMenuItem);}function a129_0x1961(_0x961e07,_0x13b120){_0x961e07=_0x961e07-0x1d4;const _0x4fd237=a129_0x4fd2();let _0x19618c=_0x4fd237[_0x961e07];return _0x19618c;}export async function createMenu(_0x4f8ced,_0x30cf06,_0xb53587){const _0x4cd08a=a129_0x1961;logger[_0x4cd08a(0x1f2)](_0x4cd08a(0x1f3),_0x4cd08a(0x1e8)+_0xb53587[_0x4cd08a(0x1e6)]+'\x20('+_0xb53587[_0x4cd08a(0x1e3)]+')');const _0x45c7e0={'appCode':_0x4f8ced,'type':'procode','sort':0x0,'extend':{'loadScriptMode':'import','resources':_0xb53587[_0x4cd08a(0x1d5)]?JSON['stringify'](_0xb53587[_0x4cd08a(0x1d5)]):undefined},..._0xb53587},_0xc9dcab=await createMenuRecord(_0x45c7e0,_0x30cf06,_0x4cd08a(0x1ed)+_0xb53587[_0x4cd08a(0x1e6)]+'\x22');return logger['info']('create-menu',_0x4cd08a(0x1d4)+_0xb53587[_0x4cd08a(0x1e6)]),_0xc9dcab;}async function createSingleMenu(_0x10534d,_0x51532d,_0x4187bc,_0x1b5eb0){const _0x57e164=a129_0x1961,_0x8e545={'appCode':_0x10534d,'type':_0x57e164(0x1e0),'sort':0x0,'extend':{'loadScriptMode':_0x57e164(0x1e9),'resources':_0x1b5eb0?JSON['stringify'](_0x1b5eb0):undefined},'label':_0x4187bc[_0x57e164(0x1e6)],'path':_0x4187bc[_0x57e164(0x1e3)]},_0x5e100f=await createMenuRecord(_0x8e545,_0x51532d,'Create\x20menu\x20\x22'+_0x4187bc[_0x57e164(0x1e6)]+'\x22');return logger['info']('create-menu',_0x57e164(0x1d4)+_0x4187bc[_0x57e164(0x1e6)]),_0x5e100f;}export async function createMenus(_0x1b9eaf,_0x42868d,_0x528f4c,_0x5eefdb){const _0x5d2ea6=a129_0x1961;logger[_0x5d2ea6(0x1f2)](_0x5d2ea6(0x1ef),_0x5d2ea6(0x1df)+_0x528f4c[_0x5d2ea6(0x1e1)]);const _0x30e91e=await Promise[_0x5d2ea6(0x1fd)](_0x528f4c[_0x5d2ea6(0x1e7)](_0x4e5df1=>createSingleMenu(_0x1b9eaf,_0x42868d,_0x4e5df1,_0x5eefdb)));return logger[_0x5d2ea6(0x1f2)](_0x5d2ea6(0x1ef),_0x5d2ea6(0x1f7)+_0x528f4c[_0x5d2ea6(0x1e1)]),_0x30e91e;}export async function updateMenuCdnUrl(_0x28e112,_0x3df63e,_0x37c0e1){const _0x11a6d5=a129_0x1961;logger[_0x11a6d5(0x1f2)](_0x11a6d5(0x1f5),'Updating\x20menu\x20asset\x20links:\x20'+_0x37c0e1[_0x11a6d5(0x1e6)]+'\x20('+_0x37c0e1[_0x11a6d5(0x1e3)]+')');const _0x5013d2={'id':_0x37c0e1['id'],'appCode':_0x28e112,'extend':{..._0x37c0e1[_0x11a6d5(0x1f0)]??{},..._0x37c0e1[_0x11a6d5(0x1dc)]?{'loadScriptMode':_0x37c0e1['loadScriptMode']}:{},'resources':_0x37c0e1[_0x11a6d5(0x1d5)]?JSON[_0x11a6d5(0x1ec)](_0x37c0e1['resources']):undefined}},_0x5b2553=await updateMenuRecord(_0x5013d2,_0x3df63e,_0x11a6d5(0x1d7)+_0x37c0e1[_0x11a6d5(0x1e6)]+'\x22');return logger[_0x11a6d5(0x1f2)](_0x11a6d5(0x1f5),'Menu\x20assets\x20synced:\x20'+_0x37c0e1[_0x11a6d5(0x1e6)],undefined),_0x5b2553;}export async function createMenuEntity(_0x87d555,_0x5bb70f,_0x3e9796){const _0x103f16=a129_0x1961;return createMenuRecord({'appCode':_0x87d555,..._0x3e9796},_0x5bb70f,_0x103f16(0x1ed)+_0x3e9796[_0x103f16(0x1e6)]+'\x22');}export async function updateMenuEntity(_0x3bca22,_0x40e182,_0x488794){const _0xfca24d=a129_0x1961;return updateMenuRecord({'appCode':_0x3bca22,..._0x488794},_0x40e182,_0xfca24d(0x1fc)+_0x488794['id']);}function a129_0x4fd2(){const _0x13ed5f=['70dtSNne','create-menus','extend','2899418WAItMC','info','create-menu','3225249IALkwH','update-menu-cdn-url','11669128RcRXBj','Batch\x20menu\x20creation\x20completed,\x20total\x20','Fetched\x20','menus','Regroup\x20','18498NNWxiL','Update\x20menu\x20','all','Menu\x20created\x20successfully:\x20','resources','159RFkfOC','Update\x20menu\x20assets\x20\x22','\x20menu','get-online-menu-list','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','\x20menu\x20group(s)','loadScriptMode','26647erSQWz','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20','Start\x20batch\x20menu\x20creation,\x20total\x20','procode','length','menuGroups','path','total','104848KJUhBu','label','map','Creating\x20menu:\x20','import','80TCiTIH','409332ssqOfO','stringify','Create\x20menu\x20\x22'];a129_0x4fd2=function(){return _0x13ed5f;};return a129_0x4fd2();}export async function batchDeleteMenuEntities(_0x10f367,_0x153397){const _0x2984e9=a129_0x1961;return batchDeleteMenuRecords(_0x153397,_0x10f367,'Delete\x20'+_0x153397[_0x2984e9(0x1e1)]+_0x2984e9(0x1d8)+(_0x153397[_0x2984e9(0x1e1)]===0x1?'':'s'));}export async function startMenuRegroup(_0x58f212,_0x2f7947){const _0x36991f=a129_0x1961;return a129_0xcbc6f8(_0x2f7947,_0x58f212,_0x36991f(0x1fa)+_0x2f7947[_0x36991f(0x1e2)][_0x36991f(0x1e1)]+_0x36991f(0x1db));}
1
+ (function(_0x149085,_0x51f4ab){const _0x11ba8c=a129_0x2ad8,_0x46f19a=_0x149085();while(!![]){try{const _0x4bbc74=-parseInt(_0x11ba8c(0xba))/0x1*(-parseInt(_0x11ba8c(0xa9))/0x2)+-parseInt(_0x11ba8c(0xc4))/0x3+-parseInt(_0x11ba8c(0xb5))/0x4*(-parseInt(_0x11ba8c(0xc3))/0x5)+parseInt(_0x11ba8c(0xb2))/0x6+-parseInt(_0x11ba8c(0xb7))/0x7+parseInt(_0x11ba8c(0xb6))/0x8+-parseInt(_0x11ba8c(0xa5))/0x9;if(_0x4bbc74===_0x51f4ab)break;else _0x46f19a['push'](_0x46f19a['shift']());}catch(_0x3cc608){_0x46f19a['push'](_0x46f19a['shift']());}}}(a129_0x4946,0x22b45));import{getEnv,isProduction}from'../../../constant/env.js';import{logger}from'../../../utils/logger.js';import{fetchMenuSnapshot,toProcessedMenuItem}from'../../../commands/menu/shared/facts.js';function a129_0x2ad8(_0x49d615,_0x5eb1ef){_0x49d615=_0x49d615-0x9e;const _0x494692=a129_0x4946();let _0x2ad831=_0x494692[_0x49d615];return _0x2ad831;}function a129_0x4946(){const _0x3c6b09=['stringify','update-menu-cdn-url','\x20menu\x20group(s)','15LGAxBQ','416925kWDgqV','Fetched\x20','Menu\x20assets\x20synced:\x20','Delete\x20','info','menus','loadScriptMode','menuGroups','create-menus','Menu\x20created\x20successfully:\x20','\x20online\x20menus\x20successfully','path','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','2049705jMgnjg','map','Regroup\x20','create-menu','10cijhDI','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20','extend','Start\x20batch\x20menu\x20creation,\x20total\x20','all','import','Update\x20menu\x20assets\x20\x22','Creating\x20menu:\x20','get-online-menu-list','1024314MSUnYc','length','Create\x20menu\x20\x22','130852BmVPWH','1206560DvjLZu','1257858MSOWiq','procode','resources','53777Ttympf','Batch\x20menu\x20creation\x20completed,\x20total\x20','\x20menu','total','label','Update\x20menu\x20'];a129_0x4946=function(){return _0x3c6b09;};return a129_0x4946();}import{batchDeleteMenuRecords,createMenuRecord,startMenuRegroup as a129_0x22956c,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x56a951,_0x121583){const _0x3facd6=a129_0x2ad8,_0x3a11c6=getEnv();logger[_0x3facd6(0xc8)](_0x3facd6(0xb1),isProduction(_0x3a11c6)?_0x3facd6(0xaa)+_0x56a951+')':_0x3facd6(0xa4)+_0x56a951+')');const _0x1c0c34=await fetchMenuSnapshot(_0x56a951,_0x121583,{'verbose':!![]});return logger['info'](_0x3facd6(0xb1),_0x3facd6(0xc5)+_0x1c0c34[_0x3facd6(0xbd)]+_0x3facd6(0xa2)),_0x1c0c34[_0x3facd6(0xc9)][_0x3facd6(0xa6)](toProcessedMenuItem);}export async function createMenu(_0x3b2903,_0x3c3a1e,_0x2a0c17){const _0x11ce5d=a129_0x2ad8;logger[_0x11ce5d(0xc8)]('create-menu',_0x11ce5d(0xb0)+_0x2a0c17[_0x11ce5d(0xbe)]+'\x20('+_0x2a0c17[_0x11ce5d(0xa3)]+')');const _0x4a785f={'appCode':_0x3b2903,'type':_0x11ce5d(0xb8),'sort':0x0,'extend':{'loadScriptMode':_0x11ce5d(0xae),'resources':_0x2a0c17[_0x11ce5d(0xb9)]?JSON[_0x11ce5d(0xc0)](_0x2a0c17[_0x11ce5d(0xb9)]):undefined},..._0x2a0c17},_0x565cf3=await createMenuRecord(_0x4a785f,_0x3c3a1e,_0x11ce5d(0xb4)+_0x2a0c17['label']+'\x22');return logger['info']('create-menu','Menu\x20created\x20successfully:\x20'+_0x2a0c17[_0x11ce5d(0xbe)]),_0x565cf3;}async function createSingleMenu(_0x414fe6,_0x523b88,_0x3a6907,_0x2a90fd){const _0x180037=a129_0x2ad8,_0x45678e={'appCode':_0x414fe6,'type':_0x180037(0xb8),'sort':0x0,'extend':{'loadScriptMode':_0x180037(0xae),'resources':_0x2a90fd?JSON['stringify'](_0x2a90fd):undefined},'label':_0x3a6907[_0x180037(0xbe)],'path':_0x3a6907[_0x180037(0xa3)]},_0x2d9abc=await createMenuRecord(_0x45678e,_0x523b88,_0x180037(0xb4)+_0x3a6907[_0x180037(0xbe)]+'\x22');return logger['info'](_0x180037(0xa8),_0x180037(0xa1)+_0x3a6907[_0x180037(0xbe)]),_0x2d9abc;}export async function createMenus(_0x282e01,_0x2fb955,_0x40ff8f,_0x5c9d95){const _0xa022b1=a129_0x2ad8;logger[_0xa022b1(0xc8)](_0xa022b1(0xa0),_0xa022b1(0xac)+_0x40ff8f[_0xa022b1(0xb3)]);const _0x2d05aa=await Promise[_0xa022b1(0xad)](_0x40ff8f['map'](_0x506ac8=>createSingleMenu(_0x282e01,_0x2fb955,_0x506ac8,_0x5c9d95)));return logger[_0xa022b1(0xc8)](_0xa022b1(0xa0),_0xa022b1(0xbb)+_0x40ff8f[_0xa022b1(0xb3)]),_0x2d05aa;}export async function updateMenuCdnUrl(_0x1b1d97,_0x2552fa,_0x2f27dc){const _0x4be7f1=a129_0x2ad8;logger[_0x4be7f1(0xc8)](_0x4be7f1(0xc1),'Updating\x20menu\x20asset\x20links:\x20'+_0x2f27dc[_0x4be7f1(0xbe)]+'\x20('+_0x2f27dc[_0x4be7f1(0xa3)]+')');const _0x48fc0d={'id':_0x2f27dc['id'],'appCode':_0x1b1d97,'extend':{..._0x2f27dc[_0x4be7f1(0xab)]??{},..._0x2f27dc[_0x4be7f1(0x9e)]?{'loadScriptMode':_0x2f27dc[_0x4be7f1(0x9e)]}:{},'resources':_0x2f27dc[_0x4be7f1(0xb9)]?JSON[_0x4be7f1(0xc0)](_0x2f27dc[_0x4be7f1(0xb9)]):undefined}},_0x4fc863=await updateMenuRecord(_0x48fc0d,_0x2552fa,_0x4be7f1(0xaf)+_0x2f27dc['label']+'\x22');return logger[_0x4be7f1(0xc8)](_0x4be7f1(0xc1),_0x4be7f1(0xc6)+_0x2f27dc['label'],undefined),_0x4fc863;}export async function createMenuEntity(_0x41d242,_0x74c517,_0xbe4da8){const _0x22f90d=a129_0x2ad8;return createMenuRecord({'appCode':_0x41d242,..._0xbe4da8},_0x74c517,_0x22f90d(0xb4)+_0xbe4da8[_0x22f90d(0xbe)]+'\x22');}export async function updateMenuEntity(_0x20256f,_0x259320,_0x4901df){const _0x4fd242=a129_0x2ad8;return updateMenuRecord({'appCode':_0x20256f,..._0x4901df},_0x259320,_0x4fd242(0xbf)+_0x4901df['id']);}export async function batchDeleteMenuEntities(_0x4dbe50,_0x2a14d3){const _0x431f42=a129_0x2ad8;return batchDeleteMenuRecords(_0x2a14d3,_0x4dbe50,_0x431f42(0xc7)+_0x2a14d3[_0x431f42(0xb3)]+_0x431f42(0xbc)+(_0x2a14d3['length']===0x1?'':'s'));}export async function startMenuRegroup(_0x131fe7,_0x361908){const _0x1a5f77=a129_0x2ad8;return a129_0x22956c(_0x361908,_0x131fe7,_0x1a5f77(0xa7)+_0x361908[_0x1a5f77(0x9f)]['length']+_0x1a5f77(0xc2));}
@@ -1 +1 @@
1
- const a130_0x552345=a130_0x522b;function a130_0x72d3(){const _0x29f5e8=['JS\x20URL\x20is\x20unreachable:\x20','83716iZVdbW','Invalid\x20--params\x20JSON.','label','jsUrl','map','procode','74yospAe','7439184UGRCnp','pages','string','--params.','message','keys',':\x20expected\x20a\x20non-empty\x20string.','18509fgeBiK','CSS\x20URL\x20is\x20unreachable:\x20','No\x20local\x20pages\x20matched\x20paths:\x20','import','12ZbREEI','129tWUfTB','Invalid\x20--params:\x20','join','filter','20971038kibjvp','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','trim','path','cssUrl','462630FTpqfZ','7aAslCQ','length','50vwOCIn','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','info','Invalid\x20--params.','1508540TOMlMa','dryRun','has','isArray','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','Menu\x20sync\x20completed','object','menu-sync','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','push','cwd','setLogPath','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','7167280tlSEOk'];a130_0x72d3=function(){return _0x29f5e8;};return a130_0x72d3();}(function(_0x4fbe51,_0x25649b){const _0x262113=a130_0x522b,_0x42951f=_0x4fbe51();while(!![]){try{const _0x15dc1c=parseInt(_0x262113(0x97))/0x1*(parseInt(_0x262113(0x8f))/0x2)+-parseInt(_0x262113(0x9c))/0x3*(parseInt(_0x262113(0xbb))/0x4)+parseInt(_0x262113(0xa8))/0x5*(parseInt(_0x262113(0xa5))/0x6)+parseInt(_0x262113(0xa6))/0x7*(parseInt(_0x262113(0xb9))/0x8)+parseInt(_0x262113(0x90))/0x9+parseInt(_0x262113(0xac))/0xa+-parseInt(_0x262113(0xa0))/0xb*(parseInt(_0x262113(0x9b))/0xc);if(_0x15dc1c===_0x25649b)break;else _0x42951f['push'](_0x42951f['shift']());}catch(_0x56d8db){_0x42951f['push'](_0x42951f['shift']());}}}(a130_0x72d3,0x7fa42));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';function a130_0x522b(_0x1679e3,_0x4637a2){_0x1679e3=_0x1679e3-0x8b;const _0x72d325=a130_0x72d3();let _0x522bd5=_0x72d325[_0x1679e3];return _0x522bd5;}import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';import{logger}from'../../../utils/logger.js';const MENU_SYNC_PARAM_KEYS=new Set(['jsUrl',a130_0x552345(0xa4)]);function validateParams(_0x25aa3c){const _0x5055c7=a130_0x552345,_0x2d331c=[];return _0x25aa3c[_0x5055c7(0x8c)]&&!isValidJsHttpsUrl(_0x25aa3c[_0x5055c7(0x8c)])&&_0x2d331c[_0x5055c7(0xb5)]({'field':_0x5055c7(0x8c),'message':_0x5055c7(0xa1)}),_0x25aa3c[_0x5055c7(0xa4)]&&!isValidCssHttpsUrl(_0x25aa3c[_0x5055c7(0xa4)])&&_0x2d331c['push']({'field':_0x5055c7(0xa4),'message':_0x5055c7(0xa9)}),_0x2d331c;}export async function runMenuSyncCore(_0x31c41d,_0x1742da,_0x1ff872=[],_0x9c422,_0x51f795={}){const _0x575055=a130_0x552345,_0x59a268=parseMenuSyncParams(_0x9c422),_0x2fcf39=[...new Set(_0x1ff872['map'](_0x1672f5=>_0x1672f5['trim']())[_0x575055(0x9f)](Boolean))],_0x32631e=_0x59a268[_0x575055(0x8c)],_0x2653ce=_0x59a268[_0x575055(0xa4)],_0x3638ac=[];if(_0x32631e)_0x3638ac[_0x575055(0xb5)](_0x32631e);if(_0x2653ce)_0x3638ac[_0x575055(0xb5)](_0x2653ce);const _0x35ee1e=validateParams(_0x59a268);if(_0x35ee1e[_0x575055(0xa7)]>0x0){const _0x20f4f7=_0x35ee1e['map'](_0x137192=>_0x575055(0x93)+_0x137192['field']+':\x20'+_0x137192[_0x575055(0x94)])[_0x575055(0x9e)](';\x20');throw new Error(_0x575055(0x9d)+_0x20f4f7);}logger[_0x575055(0xb7)](process[_0x575055(0xb6)]()),logger[_0x575055(0xaa)](_0x575055(0xb3),'Start\x20non-interactive\x20menu\x20sync',{'appCode':_0x31c41d,'selectedCount':_0x2fcf39[_0x575055(0xa7)],'jsUrl':_0x32631e,'cssUrl':_0x2653ce});if(_0x32631e){const _0xb167fc=await isUrlReachable(_0x32631e);if(!_0xb167fc)throw new Error(_0x575055(0xba)+_0x32631e);}if(_0x2653ce){const _0x3245db=await isUrlReachable(_0x2653ce);if(!_0x3245db)throw new Error(_0x575055(0x98)+_0x2653ce);}const _0x732687=getLocalPages();if(_0x732687[_0x575055(0xa7)]===0x0){if(_0x2fcf39[_0x575055(0xa7)]>0x0)throw new Error(_0x575055(0x99)+_0x2fcf39['join'](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x51f795[_0x575055(0xad)]===!![],'targetPages':[],'plannedMenus':[]};}const _0x332034=await getOnlineMenuList(_0x31c41d,_0x1742da),_0x2af1aa=new Set(_0x332034[_0x575055(0x8d)](_0x2ad094=>_0x2ad094[_0x575055(0xa3)]));let _0x20aac2;if(_0x2fcf39['length']>0x0){const _0x24c349=new Map(_0x732687['map'](_0x37fe29=>[_0x37fe29[_0x575055(0xa3)],_0x37fe29])),_0x36896b=_0x2fcf39[_0x575055(0x9f)](_0x5f1505=>!_0x24c349[_0x575055(0xae)](_0x5f1505));if(_0x36896b['length']>0x0){const _0x5d5156=_0x732687[_0x575055(0x8d)](_0x12e29b=>_0x12e29b['path'])['join'](',\x20');throw new Error(_0x575055(0x99)+_0x36896b['join'](',\x20')+'\x0a\x20\x20Available\x20local\x20paths:\x20'+_0x5d5156);}const _0x5c0c14=_0x2fcf39[_0x575055(0x9f)](_0x418578=>_0x2af1aa['has'](_0x418578));if(_0x5c0c14[_0x575055(0xa7)]>0x0)throw new Error(_0x575055(0xb8)+_0x5c0c14['join'](',\x20'));_0x20aac2=_0x2fcf39[_0x575055(0x8d)](_0x584172=>_0x24c349['get'](_0x584172));}else _0x20aac2=_0x732687[_0x575055(0x9f)](_0x418cb6=>!_0x2af1aa[_0x575055(0xae)](_0x418cb6['path']));if(_0x20aac2[_0x575055(0xa7)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x51f795[_0x575055(0xad)]===!![],'targetPages':[],'plannedMenus':[]};const _0x2434c1=_0x20aac2[_0x575055(0x8d)](_0x222d97=>({'type':_0x575055(0x8e),'path':_0x222d97[_0x575055(0xa3)],'label':_0x222d97[_0x575055(0x8b)],'loadScriptMode':_0x575055(0x9a),'resources':[..._0x3638ac]}));if(_0x51f795[_0x575055(0xad)])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x20aac2,'plannedMenus':_0x2434c1};const _0x2913a3=await createMenus(_0x31c41d,_0x1742da,_0x20aac2,_0x3638ac['length']>0x0?_0x3638ac:undefined);return logger[_0x575055(0xaa)](_0x575055(0xb3),_0x575055(0xb1),{'count':_0x20aac2[_0x575055(0xa7)],'resources':_0x3638ac}),{'created':_0x2913a3[_0x575055(0xa7)],'skipped':![],'dryRun':![],'targetPages':_0x20aac2,'plannedMenus':_0x2434c1,'menus':_0x2913a3};}export function parseMenuSyncParams(_0x108d5a){const _0x279281=a130_0x552345;if(!_0x108d5a||typeof _0x108d5a!==_0x279281(0x92))return{};let _0x4b3c90;try{_0x4b3c90=JSON['parse'](_0x108d5a);}catch{throw new Error(_0x279281(0xbc));}if(typeof _0x4b3c90!==_0x279281(0xb2)||_0x4b3c90===null||Array[_0x279281(0xaf)](_0x4b3c90))throw new Error(_0x279281(0xb4));const _0xb2fcbb=_0x4b3c90;if(Object['hasOwn'](_0xb2fcbb,_0x279281(0x91)))throw new Error(_0x279281(0xb0));const _0x10664f=Object[_0x279281(0x95)](_0xb2fcbb)[_0x279281(0x9f)](_0x66eb1c=>!MENU_SYNC_PARAM_KEYS['has'](_0x66eb1c));if(_0x10664f[_0x279281(0xa7)]>0x0)throw new Error('Invalid\x20--params\x20fields:\x20'+_0x10664f[_0x279281(0x9e)](',\x20')+'.');for(const _0x155b91 of MENU_SYNC_PARAM_KEYS){const _0x54c675=_0xb2fcbb[_0x155b91];if(_0x54c675!==undefined&&(typeof _0x54c675!==_0x279281(0x92)||_0x54c675[_0x279281(0xa2)]()===''))throw new Error(_0x279281(0xab)+_0x155b91+_0x279281(0x96));}return{'jsUrl':typeof _0xb2fcbb[_0x279281(0x8c)]===_0x279281(0x92)?_0xb2fcbb[_0x279281(0x8c)][_0x279281(0xa2)]():undefined,'cssUrl':typeof _0xb2fcbb[_0x279281(0xa4)]===_0x279281(0x92)?_0xb2fcbb[_0x279281(0xa4)][_0x279281(0xa2)]():undefined};}
1
+ function a130_0x506a(){const _0x5164eb=['49ScguzB','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','No\x20local\x20pages\x20matched\x20paths:\x20','Invalid\x20--params\x20fields:\x20','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','dryRun','Menu\x20sync\x20completed','setLogPath','5777973TTrycZ','191560ZZKYIm','path','filter','2590662mJIFPw','jsUrl','menu-sync','513624bWdBtZ','keys','length','get','join','map','hasOwn','\x0a\x20\x20Available\x20local\x20paths:\x20','84143IgXIgv','push','info','cssUrl',':\x20expected\x20a\x20non-empty\x20string.','label','Invalid\x20--params\x20JSON.','isArray','1602954WlrxNJ','Invalid\x20--params:\x20','Start\x20non-interactive\x20menu\x20sync','trim','string','has','10vzxZjJ','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','186926TBuGtY','object','5aITiyA','--params.','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','parse','Invalid\x20--params.'];a130_0x506a=function(){return _0x5164eb;};return a130_0x506a();}const a130_0x278124=a130_0x4fc4;(function(_0x588656,_0xbd3f8e){const _0x1589b8=a130_0x4fc4,_0x4d3936=_0x588656();while(!![]){try{const _0x5a3c9d=parseInt(_0x1589b8(0xbc))/0x1+parseInt(_0x1589b8(0x9d))/0x2+parseInt(_0x1589b8(0xb1))/0x3+-parseInt(_0x1589b8(0xae))/0x4+-parseInt(_0x1589b8(0x9f))/0x5*(parseInt(_0x1589b8(0x95))/0x6)+parseInt(_0x1589b8(0xa4))/0x7*(parseInt(_0x1589b8(0xb4))/0x8)+-parseInt(_0x1589b8(0xad))/0x9*(parseInt(_0x1589b8(0x9b))/0xa);if(_0x5a3c9d===_0xbd3f8e)break;else _0x4d3936['push'](_0x4d3936['shift']());}catch(_0x4397ff){_0x4d3936['push'](_0x4d3936['shift']());}}}(a130_0x506a,0x8241f));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';import{logger}from'../../../utils/logger.js';function a130_0x4fc4(_0x526b19,_0x35bdf8){_0x526b19=_0x526b19-0x8e;const _0x506a0c=a130_0x506a();let _0x4fc475=_0x506a0c[_0x526b19];return _0x4fc475;}const MENU_SYNC_PARAM_KEYS=new Set([a130_0x278124(0xb2),a130_0x278124(0x90)]);function validateParams(_0x5ed4b9){const _0x516b82=a130_0x278124,_0x2292a8=[];return _0x5ed4b9[_0x516b82(0xb2)]&&!isValidJsHttpsUrl(_0x5ed4b9[_0x516b82(0xb2)])&&_0x2292a8[_0x516b82(0x8e)]({'field':_0x516b82(0xb2),'message':_0x516b82(0xa1)}),_0x5ed4b9['cssUrl']&&!isValidCssHttpsUrl(_0x5ed4b9[_0x516b82(0x90)])&&_0x2292a8[_0x516b82(0x8e)]({'field':'cssUrl','message':_0x516b82(0xa8)}),_0x2292a8;}export async function runMenuSyncCore(_0x38d8e5,_0x3206e9,_0x23909e=[],_0x48932f,_0x1f62e1={}){const _0x35d049=a130_0x278124,_0x229069=parseMenuSyncParams(_0x48932f),_0x47cd31=[...new Set(_0x23909e[_0x35d049(0xb9)](_0x2f732c=>_0x2f732c[_0x35d049(0x98)]())[_0x35d049(0xb0)](Boolean))],_0x35fd5e=_0x229069['jsUrl'],_0x246ec9=_0x229069[_0x35d049(0x90)],_0x1793fb=[];if(_0x35fd5e)_0x1793fb[_0x35d049(0x8e)](_0x35fd5e);if(_0x246ec9)_0x1793fb[_0x35d049(0x8e)](_0x246ec9);const _0x1d1331=validateParams(_0x229069);if(_0x1d1331[_0x35d049(0xb6)]>0x0){const _0x4eaa8c=_0x1d1331[_0x35d049(0xb9)](_0x2dbd57=>_0x35d049(0xa0)+_0x2dbd57['field']+':\x20'+_0x2dbd57['message'])['join'](';\x20');throw new Error(_0x35d049(0x96)+_0x4eaa8c);}logger[_0x35d049(0xac)](process['cwd']()),logger[_0x35d049(0x8f)](_0x35d049(0xb3),_0x35d049(0x97),{'appCode':_0x38d8e5,'selectedCount':_0x47cd31['length'],'jsUrl':_0x35fd5e,'cssUrl':_0x246ec9});if(_0x35fd5e){const _0x5836f6=await isUrlReachable(_0x35fd5e);if(!_0x5836f6)throw new Error('JS\x20URL\x20is\x20unreachable:\x20'+_0x35fd5e);}if(_0x246ec9){const _0x3217ac=await isUrlReachable(_0x246ec9);if(!_0x3217ac)throw new Error('CSS\x20URL\x20is\x20unreachable:\x20'+_0x246ec9);}const _0x319d6e=getLocalPages();if(_0x319d6e[_0x35d049(0xb6)]===0x0){if(_0x47cd31[_0x35d049(0xb6)]>0x0)throw new Error(_0x35d049(0xa6)+_0x47cd31[_0x35d049(0xb8)](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x1f62e1['dryRun']===!![],'targetPages':[],'plannedMenus':[]};}const _0x3a2eb0=await getOnlineMenuList(_0x38d8e5,_0x3206e9),_0x432b7d=new Set(_0x3a2eb0[_0x35d049(0xb9)](_0x3e020c=>_0x3e020c[_0x35d049(0xaf)]));let _0x1e7368;if(_0x47cd31[_0x35d049(0xb6)]>0x0){const _0x408a0d=new Map(_0x319d6e[_0x35d049(0xb9)](_0x4db925=>[_0x4db925['path'],_0x4db925])),_0x12ff52=_0x47cd31[_0x35d049(0xb0)](_0x3070bc=>!_0x408a0d[_0x35d049(0x9a)](_0x3070bc));if(_0x12ff52[_0x35d049(0xb6)]>0x0){const _0x4c7f64=_0x319d6e[_0x35d049(0xb9)](_0x312a73=>_0x312a73['path'])['join'](',\x20');throw new Error(_0x35d049(0xa6)+_0x12ff52['join'](',\x20')+_0x35d049(0xbb)+_0x4c7f64);}const _0x5e120b=_0x47cd31['filter'](_0x4fc964=>_0x432b7d[_0x35d049(0x9a)](_0x4fc964));if(_0x5e120b[_0x35d049(0xb6)]>0x0)throw new Error(_0x35d049(0xa9)+_0x5e120b[_0x35d049(0xb8)](',\x20'));_0x1e7368=_0x47cd31[_0x35d049(0xb9)](_0x59db6f=>_0x408a0d[_0x35d049(0xb7)](_0x59db6f));}else _0x1e7368=_0x319d6e[_0x35d049(0xb0)](_0x2499f0=>!_0x432b7d['has'](_0x2499f0[_0x35d049(0xaf)]));if(_0x1e7368[_0x35d049(0xb6)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x1f62e1['dryRun']===!![],'targetPages':[],'plannedMenus':[]};const _0x26235e=_0x1e7368[_0x35d049(0xb9)](_0x41f4bb=>({'type':'procode','path':_0x41f4bb[_0x35d049(0xaf)],'label':_0x41f4bb[_0x35d049(0x92)],'loadScriptMode':'import','resources':[..._0x1793fb]}));if(_0x1f62e1[_0x35d049(0xaa)])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x1e7368,'plannedMenus':_0x26235e};const _0xfb3394=await createMenus(_0x38d8e5,_0x3206e9,_0x1e7368,_0x1793fb[_0x35d049(0xb6)]>0x0?_0x1793fb:undefined);return logger['info'](_0x35d049(0xb3),_0x35d049(0xab),{'count':_0x1e7368[_0x35d049(0xb6)],'resources':_0x1793fb}),{'created':_0xfb3394['length'],'skipped':![],'dryRun':![],'targetPages':_0x1e7368,'plannedMenus':_0x26235e,'menus':_0xfb3394};}export function parseMenuSyncParams(_0x3d4635){const _0x1b7af4=a130_0x278124;if(!_0x3d4635||typeof _0x3d4635!==_0x1b7af4(0x99))return{};let _0x435066;try{_0x435066=JSON[_0x1b7af4(0xa2)](_0x3d4635);}catch{throw new Error(_0x1b7af4(0x93));}if(typeof _0x435066!==_0x1b7af4(0x9e)||_0x435066===null||Array[_0x1b7af4(0x94)](_0x435066))throw new Error(_0x1b7af4(0x9c));const _0x1bcc3e=_0x435066;if(Object[_0x1b7af4(0xba)](_0x1bcc3e,'pages'))throw new Error(_0x1b7af4(0xa5));const _0x281e2a=Object[_0x1b7af4(0xb5)](_0x1bcc3e)[_0x1b7af4(0xb0)](_0x304c89=>!MENU_SYNC_PARAM_KEYS['has'](_0x304c89));if(_0x281e2a['length']>0x0)throw new Error(_0x1b7af4(0xa7)+_0x281e2a[_0x1b7af4(0xb8)](',\x20')+'.');for(const _0x587872 of MENU_SYNC_PARAM_KEYS){const _0x13b437=_0x1bcc3e[_0x587872];if(_0x13b437!==undefined&&(typeof _0x13b437!==_0x1b7af4(0x99)||_0x13b437[_0x1b7af4(0x98)]()===''))throw new Error(_0x1b7af4(0xa3)+_0x587872+_0x1b7af4(0x91));}return{'jsUrl':typeof _0x1bcc3e[_0x1b7af4(0xb2)]===_0x1b7af4(0x99)?_0x1bcc3e[_0x1b7af4(0xb2)][_0x1b7af4(0x98)]():undefined,'cssUrl':typeof _0x1bcc3e[_0x1b7af4(0x90)]==='string'?_0x1bcc3e[_0x1b7af4(0x90)][_0x1b7af4(0x98)]():undefined};}
@@ -61,7 +61,7 @@ export interface MenuMutationError {
61
61
  message: string;
62
62
  hint?: string;
63
63
  }
64
- export interface MenuMutationResult {
64
+ export interface MenuMutationResult<TTarget = MenuFact> {
65
65
  operation: string;
66
66
  selector: Record<string, unknown>;
67
67
  before: MenuFact | Record<string, unknown> | null;
@@ -78,7 +78,7 @@ export interface MenuMutationResult {
78
78
  body: Record<string, unknown>;
79
79
  condition?: string;
80
80
  }>;
81
- targets?: MenuFact[];
81
+ targets?: TTarget[];
82
82
  deleteOrder?: number[];
83
83
  snapshotHash: string;
84
84
  cascade?: {
@@ -126,6 +126,21 @@ export interface MenuUpdateDiff {
126
126
  };
127
127
  warnings: string[];
128
128
  }
129
+ export interface MenuVisibilityDiff {
130
+ id: number;
131
+ label: string;
132
+ path: string;
133
+ before: {
134
+ visible: boolean | null;
135
+ };
136
+ after: {
137
+ visible: boolean;
138
+ };
139
+ }
140
+ export type MenuVisibilityUpdateResult = MenuMutationResult<MenuVisibilityDiff> & {
141
+ requestedVisible: boolean;
142
+ targets: MenuVisibilityDiff[];
143
+ };
129
144
  export interface MenuSyncResult {
130
145
  created: number;
131
146
  failed: number;