@lovrabet/rabetbase-cli 2.5.5-beta.3 → 2.5.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/api-group.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/api/legacy-api-file.js +1 -1
  7. package/lib/api/model-registry-file.js +1 -1
  8. package/lib/api/model-registry-scaffold.js +1 -1
  9. package/lib/api/model-source.js +1 -1
  10. package/lib/auth/auth-server-ui.js +1 -1
  11. package/lib/auth/auth-server.js +1 -1
  12. package/lib/auth/constant.js +1 -1
  13. package/lib/auth/get-cookie.js +1 -1
  14. package/lib/auth/get-session-user.js +1 -1
  15. package/lib/auth/is-session-valid.js +1 -1
  16. package/lib/auth/login-success-html.js +1 -1
  17. package/lib/auth/logout.js +1 -1
  18. package/lib/cli-flags.js +1 -1
  19. package/lib/cli.js +1 -1
  20. package/lib/commands/api/generate.js +1 -1
  21. package/lib/commands/api/index.js +1 -1
  22. package/lib/commands/api/list.js +1 -1
  23. package/lib/commands/api/pull.js +1 -1
  24. package/lib/commands/api/shared.js +1 -1
  25. package/lib/commands/app/detail.js +1 -1
  26. package/lib/commands/app/index.js +1 -1
  27. package/lib/commands/app/list.js +1 -1
  28. package/lib/commands/app/members-list.js +1 -1
  29. package/lib/commands/app/remote-directory.js +1 -1
  30. package/lib/commands/app/shared.js +1 -1
  31. package/lib/commands/app-config/delete.js +1 -1
  32. package/lib/commands/app-config/get.js +1 -1
  33. package/lib/commands/app-config/index.js +1 -1
  34. package/lib/commands/app-config/list.js +1 -1
  35. package/lib/commands/app-config/set.js +1 -1
  36. package/lib/commands/app-config/shared.js +1 -1
  37. package/lib/commands/auth/index.js +1 -1
  38. package/lib/commands/bff/create.js +1 -1
  39. package/lib/commands/bff/delete.js +1 -1
  40. package/lib/commands/bff/detail.js +1 -1
  41. package/lib/commands/bff/index.js +1 -1
  42. package/lib/commands/bff/list.js +1 -1
  43. package/lib/commands/bff/logs.js +1 -1
  44. package/lib/commands/bff/pull.js +1 -1
  45. package/lib/commands/bff/push.js +1 -1
  46. package/lib/commands/bff/status.js +1 -1
  47. package/lib/commands/cli-skill/index.js +1 -1
  48. package/lib/commands/cli-update.js +1 -1
  49. package/lib/commands/codegen/index.js +1 -1
  50. package/lib/commands/codegen/sdk.js +1 -1
  51. package/lib/commands/codegen/sql.js +1 -1
  52. package/lib/commands/common/app-registry.js +1 -1
  53. package/lib/commands/common/app-selector.js +1 -1
  54. package/lib/commands/common/async-task.js +1 -1
  55. package/lib/commands/common/dry-run.js +1 -1
  56. package/lib/commands/common/flags.js +1 -1
  57. package/lib/commands/common/local-file.js +1 -1
  58. package/lib/commands/common/validate.js +1 -1
  59. package/lib/commands/config/delete.js +1 -1
  60. package/lib/commands/config/get.js +1 -1
  61. package/lib/commands/config/index.js +1 -1
  62. package/lib/commands/config/init.js +1 -1
  63. package/lib/commands/config/list.js +1 -1
  64. package/lib/commands/config/set.js +1 -1
  65. package/lib/commands/config/shared.js +1 -1
  66. package/lib/commands/dataset/batch-design.js +1 -1
  67. package/lib/commands/dataset/business-group-update.js +1 -1
  68. package/lib/commands/dataset/business-groups.js +1 -1
  69. package/lib/commands/dataset/capability.js +1 -1
  70. package/lib/commands/dataset/cross-relation-create.js +1 -1
  71. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  72. package/lib/commands/dataset/cross-relation-list.js +1 -1
  73. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  74. package/lib/commands/dataset/cross-relation-update.js +1 -1
  75. package/lib/commands/dataset/delete.js +1 -1
  76. package/lib/commands/dataset/detail.js +1 -1
  77. package/lib/commands/dataset/extend-update.js +1 -1
  78. package/lib/commands/dataset/field-restore.js +1 -1
  79. package/lib/commands/dataset/field-update.js +1 -1
  80. package/lib/commands/dataset/generate.js +1 -1
  81. package/lib/commands/dataset/index.js +1 -1
  82. package/lib/commands/dataset/list.js +1 -1
  83. package/lib/commands/dataset/operations.js +1 -1
  84. package/lib/commands/dataset/relation-audit.js +1 -1
  85. package/lib/commands/dataset/relation-create.js +1 -1
  86. package/lib/commands/dataset/relation-delete.js +1 -1
  87. package/lib/commands/dataset/relation-shared.js +1 -1
  88. package/lib/commands/dataset/relation-update.js +1 -1
  89. package/lib/commands/dataset/relations.js +1 -1
  90. package/lib/commands/dataset/rename.js +1 -1
  91. package/lib/commands/dataset/restore.js +1 -1
  92. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  93. package/lib/commands/db/analysis-batching.js +1 -1
  94. package/lib/commands/db/analyze-batch-plan.js +1 -1
  95. package/lib/commands/db/analyze-cancel.js +1 -1
  96. package/lib/commands/db/analyze-start.js +1 -1
  97. package/lib/commands/db/analyze-status.js +1 -1
  98. package/lib/commands/db/create.js +1 -1
  99. package/lib/commands/db/cross-db-analysis-shared.d.ts +40 -0
  100. package/lib/commands/db/cross-db-analysis-shared.js +1 -0
  101. package/lib/commands/db/cross-db-analyze-latest.d.ts +2 -0
  102. package/lib/commands/db/cross-db-analyze-latest.js +1 -0
  103. package/lib/commands/db/cross-db-analyze-start.d.ts +2 -0
  104. package/lib/commands/db/cross-db-analyze-start.js +1 -0
  105. package/lib/commands/db/cross-db-analyze-status.d.ts +2 -0
  106. package/lib/commands/db/cross-db-analyze-status.js +1 -0
  107. package/lib/commands/db/delete.js +1 -1
  108. package/lib/commands/db/detail.js +1 -1
  109. package/lib/commands/db/diff-refresh-start.js +1 -1
  110. package/lib/commands/db/diff-refresh-status.js +1 -1
  111. package/lib/commands/db/diff.js +1 -1
  112. package/lib/commands/db/index.js +1 -1
  113. package/lib/commands/db/list.js +1 -1
  114. package/lib/commands/db/shared.js +1 -1
  115. package/lib/commands/db/table-diff-shared.js +1 -1
  116. package/lib/commands/db/tables.js +1 -1
  117. package/lib/commands/db/test.js +1 -1
  118. package/lib/commands/db/update.js +1 -1
  119. package/lib/commands/deployment/index.js +1 -1
  120. package/lib/commands/deployment/sync-all.js +1 -1
  121. package/lib/commands/deployment/sync-jobs.js +1 -1
  122. package/lib/commands/deployment/sync-status.js +1 -1
  123. package/lib/commands/doctor.js +1 -1
  124. package/lib/commands/file/index.js +1 -1
  125. package/lib/commands/flow/create.js +1 -1
  126. package/lib/commands/flow/detail.js +1 -1
  127. package/lib/commands/flow/index.js +1 -1
  128. package/lib/commands/flow/list.js +1 -1
  129. package/lib/commands/flow/publish.js +1 -1
  130. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  131. package/lib/commands/flow/runtime-role-list.js +1 -1
  132. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  133. package/lib/commands/flow/runtime-user-search.js +1 -1
  134. package/lib/commands/flow/shared.js +1 -1
  135. package/lib/commands/flow/update.js +1 -1
  136. package/lib/commands/flow/validate.js +1 -1
  137. package/lib/commands/instant-api-policy/current.js +1 -1
  138. package/lib/commands/instant-api-policy/index.js +1 -1
  139. package/lib/commands/instant-api-policy/init.js +1 -1
  140. package/lib/commands/instant-api-policy/publish.js +1 -1
  141. package/lib/commands/instant-api-policy/pull.js +1 -1
  142. package/lib/commands/instant-api-policy/revision.js +1 -1
  143. package/lib/commands/instant-api-policy/revisions.js +1 -1
  144. package/lib/commands/instant-api-policy/rollback.js +1 -1
  145. package/lib/commands/instant-api-policy/shared.js +1 -1
  146. package/lib/commands/instant-api-policy/validate.js +1 -1
  147. package/lib/commands/issue/index.js +1 -1
  148. package/lib/commands/issue/nudge.js +1 -1
  149. package/lib/commands/issue/report.js +1 -1
  150. package/lib/commands/issue/shared.js +1 -1
  151. package/lib/commands/kb/create.js +1 -1
  152. package/lib/commands/kb/delete.js +1 -1
  153. package/lib/commands/kb/detail.js +1 -1
  154. package/lib/commands/kb/index.js +1 -1
  155. package/lib/commands/kb/list.js +1 -1
  156. package/lib/commands/kb/search.js +1 -1
  157. package/lib/commands/kb/shared.js +1 -1
  158. package/lib/commands/kb/update.js +1 -1
  159. package/lib/commands/logs/index.js +1 -1
  160. package/lib/commands/menu/asset-update.js +1 -1
  161. package/lib/commands/menu/delete.js +1 -1
  162. package/lib/commands/menu/external-link-create.js +1 -1
  163. package/lib/commands/menu/external-link-update.js +1 -1
  164. package/lib/commands/menu/group-create.js +1 -1
  165. package/lib/commands/menu/group-update.js +1 -1
  166. package/lib/commands/menu/index.js +1 -1
  167. package/lib/commands/menu/list.js +1 -1
  168. package/lib/commands/menu/move.js +1 -1
  169. package/lib/commands/menu/regroup-start.js +1 -1
  170. package/lib/commands/menu/rename.js +1 -1
  171. package/lib/commands/menu/shared/compare-table.js +1 -1
  172. package/lib/commands/menu/shared/delete-plan.js +1 -1
  173. package/lib/commands/menu/shared/facts.js +1 -1
  174. package/lib/commands/menu/shared/index.js +1 -1
  175. package/lib/commands/menu/shared/inquirer.js +1 -1
  176. package/lib/commands/menu/shared/local-pages.js +1 -1
  177. package/lib/commands/menu/shared/logic.js +1 -1
  178. package/lib/commands/menu/shared/mutations.js +1 -1
  179. package/lib/commands/menu/shared/path.js +1 -1
  180. package/lib/commands/menu/shared/service.js +1 -1
  181. package/lib/commands/menu/shared/subapp-assets.js +1 -1
  182. package/lib/commands/menu/shared/sync-core.js +1 -1
  183. package/lib/commands/menu/shared/update-core.js +1 -1
  184. package/lib/commands/menu/shared/valid-url.js +1 -1
  185. package/lib/commands/menu/subapp-assets-status.js +1 -1
  186. package/lib/commands/menu/subapp-assets-update.js +1 -1
  187. package/lib/commands/menu/sync.js +1 -1
  188. package/lib/commands/menu/visibility-update.js +1 -1
  189. package/lib/commands/notification/config-create.js +1 -1
  190. package/lib/commands/notification/config-delete.js +1 -1
  191. package/lib/commands/notification/config-list.js +1 -1
  192. package/lib/commands/notification/config-update.js +1 -1
  193. package/lib/commands/notification/index.js +1 -1
  194. package/lib/commands/notification/shared.js +1 -1
  195. package/lib/commands/ocr/index.js +1 -1
  196. package/lib/commands/page/create.js +1 -1
  197. package/lib/commands/page/custom/detail.js +1 -1
  198. package/lib/commands/page/custom/list.js +1 -1
  199. package/lib/commands/page/custom/publish.js +1 -1
  200. package/lib/commands/page/custom/shared.js +1 -1
  201. package/lib/commands/page/custom/syntax.js +1 -1
  202. package/lib/commands/page/custom/update.js +1 -1
  203. package/lib/commands/page/data-list-status.js +1 -1
  204. package/lib/commands/page/generate-start.js +1 -1
  205. package/lib/commands/page/generate-status.js +1 -1
  206. package/lib/commands/page/index.js +1 -1
  207. package/lib/commands/page/pull.js +1 -1
  208. package/lib/commands/page/push.js +1 -1
  209. package/lib/commands/page/relation-audit.js +1 -1
  210. package/lib/commands/page/restore.js +1 -1
  211. package/lib/commands/page/shared.js +1 -1
  212. package/lib/commands/page/sync.js +1 -1
  213. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  214. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  215. package/lib/commands/project/create/format-elapsed.js +1 -1
  216. package/lib/commands/project/create/main.js +1 -1
  217. package/lib/commands/project/create/materialize-project-template.js +1 -1
  218. package/lib/commands/project/create/project-name.js +1 -1
  219. package/lib/commands/project/create/project-template-archive.js +1 -1
  220. package/lib/commands/project/create/project-template-path.js +1 -1
  221. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  222. package/lib/commands/project/create/use-format-code.js +1 -1
  223. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  224. package/lib/commands/project/domain-routing-sync.js +1 -1
  225. package/lib/commands/project/index.js +1 -1
  226. package/lib/commands/project/upgrade.js +1 -1
  227. package/lib/commands/registry.js +1 -1
  228. package/lib/commands/role/delete.js +1 -1
  229. package/lib/commands/role/detail.js +1 -1
  230. package/lib/commands/role/index.js +1 -1
  231. package/lib/commands/role/list.js +1 -1
  232. package/lib/commands/role/shared.js +1 -1
  233. package/lib/commands/role/update.js +1 -1
  234. package/lib/commands/role/user-add.js +1 -1
  235. package/lib/commands/role/user-remove.js +1 -1
  236. package/lib/commands/role/user-resolve.js +1 -1
  237. package/lib/commands/rule/get.js +1 -1
  238. package/lib/commands/rule/index.js +1 -1
  239. package/lib/commands/rule/list.js +1 -1
  240. package/lib/commands/rule/set.js +1 -1
  241. package/lib/commands/rule/shared.js +1 -1
  242. package/lib/commands/run/index.js +1 -1
  243. package/lib/commands/schema.js +1 -1
  244. package/lib/commands/sql/create.js +1 -1
  245. package/lib/commands/sql/delete.js +1 -1
  246. package/lib/commands/sql/detail.js +1 -1
  247. package/lib/commands/sql/exec.js +1 -1
  248. package/lib/commands/sql/index.js +1 -1
  249. package/lib/commands/sql/list.js +1 -1
  250. package/lib/commands/sql/pull.js +1 -1
  251. package/lib/commands/sql/push.js +1 -1
  252. package/lib/commands/sql/shared.js +1 -1
  253. package/lib/commands/sql/status.js +1 -1
  254. package/lib/commands/sql/validate.js +1 -1
  255. package/lib/commands/task/index.js +1 -1
  256. package/lib/commands/task/status.js +1 -1
  257. package/lib/commands/tenant/index.js +1 -1
  258. package/lib/commands/tenant/members-list.js +1 -1
  259. package/lib/commands/tenant/shared.js +1 -1
  260. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  261. package/lib/commands/user-account/feishu-bind.js +1 -1
  262. package/lib/commands/user-account/index.js +1 -1
  263. package/lib/commands/workspace/add.js +1 -1
  264. package/lib/commands/workspace/index.js +1 -1
  265. package/lib/commands/workspace/remove.js +1 -1
  266. package/lib/config/domain-config.js +1 -1
  267. package/lib/config/project-domain-routing.js +1 -1
  268. package/lib/config/region-config.js +1 -1
  269. package/lib/config/schema.js +1 -1
  270. package/lib/constant/cdn.js +1 -1
  271. package/lib/constant/cli.js +1 -1
  272. package/lib/constant/defaults.js +1 -1
  273. package/lib/constant/domain.js +1 -1
  274. package/lib/constant/env.js +1 -1
  275. package/lib/constant/output.js +1 -1
  276. package/lib/constant/paths.js +1 -1
  277. package/lib/constant/region.js +1 -1
  278. package/lib/constant/risk.js +1 -1
  279. package/lib/constant/routing-profile.js +1 -1
  280. package/lib/context/app-resolver.js +1 -1
  281. package/lib/context/auth-resolver.js +1 -1
  282. package/lib/context/config-loader.js +1 -1
  283. package/lib/context.js +1 -1
  284. package/lib/core/alias-resolver.js +1 -1
  285. package/lib/core/api-client.d.ts +7 -0
  286. package/lib/core/api-client.js +1 -1
  287. package/lib/core/bff/config.js +1 -1
  288. package/lib/core/bff/file-system.js +1 -1
  289. package/lib/core/bff/hash.js +1 -1
  290. package/lib/core/bff/hook-directory.js +1 -1
  291. package/lib/core/bff/lock.js +1 -1
  292. package/lib/core/bff/utils.js +1 -1
  293. package/lib/core/cross-db-analysis.d.ts +17 -0
  294. package/lib/core/cross-db-analysis.js +1 -0
  295. package/lib/core/cross-db-relation.js +1 -1
  296. package/lib/core/db-resolver.js +1 -1
  297. package/lib/core/flow-config.js +1 -1
  298. package/lib/core/instant-api-policy/config.js +1 -1
  299. package/lib/core/kb-search-client.js +1 -1
  300. package/lib/core/page/file-system.js +1 -1
  301. package/lib/core/page/hash.js +1 -1
  302. package/lib/core/page/lock.js +1 -1
  303. package/lib/core/page/lr-smart-jsx.js +1 -1
  304. package/lib/core/sql-index-auditor.js +1 -1
  305. package/lib/core/sql-sync/config.js +1 -1
  306. package/lib/core/sql-sync/file-system.js +1 -1
  307. package/lib/core/sql-sync/hash.js +1 -1
  308. package/lib/core/sql-sync/lock.js +1 -1
  309. package/lib/core/sql-sync/utils.js +1 -1
  310. package/lib/core/sql-validator.js +1 -1
  311. package/lib/errors.js +1 -1
  312. package/lib/framework/build-all-flags.js +1 -1
  313. package/lib/framework/error-output.js +1 -1
  314. package/lib/framework/explicit-yes.js +1 -1
  315. package/lib/framework/flags.js +1 -1
  316. package/lib/framework/help.js +1 -1
  317. package/lib/framework/index.js +1 -1
  318. package/lib/framework/output.js +1 -1
  319. package/lib/framework/response.js +1 -1
  320. package/lib/framework/runner-alias.js +1 -1
  321. package/lib/framework/runner.js +1 -1
  322. package/lib/framework/schema-export.js +1 -1
  323. package/lib/framework/supported-flags.js +1 -1
  324. package/lib/framework/types.js +1 -1
  325. package/lib/generated/build-info.d.ts +4 -4
  326. package/lib/generated/build-info.js +1 -1
  327. package/lib/generated/official-routing.js +1 -1
  328. package/lib/generated/routing-contract.js +1 -1
  329. package/lib/help.js +1 -1
  330. package/lib/postinstall.js +1 -1
  331. package/lib/runtime/confirmation.js +1 -1
  332. package/lib/runtime/event.js +1 -1
  333. package/lib/runtime/index.js +1 -1
  334. package/lib/runtime/queue.js +1 -1
  335. package/lib/runtime/resolve.js +1 -1
  336. package/lib/skills/builtin-skill.js +1 -1
  337. package/lib/skills/main.js +1 -1
  338. package/lib/skills/npx-skills-add.js +1 -1
  339. package/lib/skills/skill-presence.js +1 -1
  340. package/lib/telemetry/cli-command-trace.js +1 -1
  341. package/lib/telemetry/cli-help-trace.js +1 -1
  342. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  343. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  344. package/lib/telemetry/send-cli-trace-log.js +1 -1
  345. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  346. package/lib/utils/ai_config.js +1 -1
  347. package/lib/utils/apply-jq-filter.js +1 -1
  348. package/lib/utils/cdn-config.js +1 -1
  349. package/lib/utils/check-sdk-version.js +1 -1
  350. package/lib/utils/cli-version-check.js +1 -1
  351. package/lib/utils/cli-version-policy.js +1 -1
  352. package/lib/utils/config.js +1 -1
  353. package/lib/utils/entity-with-id.js +1 -1
  354. package/lib/utils/file-utils.js +1 -1
  355. package/lib/utils/guides-cdn.js +1 -1
  356. package/lib/utils/http-client.js +1 -1
  357. package/lib/utils/is-non-interactive.js +1 -1
  358. package/lib/utils/logger.js +1 -1
  359. package/lib/utils/params.js +1 -1
  360. package/lib/utils/platform.js +1 -1
  361. package/lib/utils/sleep.js +1 -1
  362. package/lib/utils/template-replacer.js +1 -1
  363. package/lib/utils/update-notice.js +1 -1
  364. package/lib/utils/version.js +1 -1
  365. package/lib/utils/with-active-cookie.js +1 -1
  366. package/lib/utils/write-cli-side-channel.js +1 -1
  367. package/package.json +1 -1
  368. package/skills/rabetbase/SKILL.md +6 -4
  369. package/skills/rabetbase/guides/database-connection-workflow.md +12 -3
  370. package/skills/rabetbase/guides/independent-deployment.md +10 -2
  371. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +2 -0
  372. package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -0
  373. package/skills/rabetbase/references/rabetbase-db-cross-analyze.md +78 -0
  374. package/skills/rabetbase-page-generation/SKILL.md +1 -1
  375. package/skills/rabetbase.manifest.json +4 -3
@@ -1 +1 @@
1
- const a169_0x6e8897=a169_0x13aa;(function(_0xed824,_0x50e141){const _0x29c22f=a169_0x13aa,_0x34393d=_0xed824();while(!![]){try{const _0x4c8a49=parseInt(_0x29c22f(0x1a9))/0x1+parseInt(_0x29c22f(0x1ca))/0x2+parseInt(_0x29c22f(0x1f2))/0x3*(parseInt(_0x29c22f(0x1d9))/0x4)+parseInt(_0x29c22f(0x1cd))/0x5*(parseInt(_0x29c22f(0x1d6))/0x6)+parseInt(_0x29c22f(0x205))/0x7+-parseInt(_0x29c22f(0x207))/0x8+-parseInt(_0x29c22f(0x1fc))/0x9;if(_0x4c8a49===_0x50e141)break;else _0x34393d['push'](_0x34393d['shift']());}catch(_0x3c8dd4){_0x34393d['push'](_0x34393d['shift']());}}}(a169_0x383f,0xb06b3));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':'number','required':!![],'description':'Exact\x20online\x20menu\x20id'};export const MENU_SORT_FLAG={'name':a169_0x6e8897(0x1e4),'type':a169_0x6e8897(0x1b1),'description':a169_0x6e8897(0x1b5)};export const MENU_PARENT_ID_FLAG={'name':a169_0x6e8897(0x1b0),'type':'string','description':a169_0x6e8897(0x1ba)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a169_0x6e8897(0x1cc),'type':a169_0x6e8897(0x1a5),'description':a169_0x6e8897(0x1df)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a169_0x6e8897(0x1bb),'type':a169_0x6e8897(0x1a5),'description':'Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches'},{'name':a169_0x6e8897(0x1cb),'type':a169_0x6e8897(0x1b1),'description':a169_0x6e8897(0x1e7)}];function a169_0x13aa(_0x3bb33d,_0x21189f){_0x3bb33d=_0x3bb33d-0x1a3;const _0x383ff5=a169_0x383f();let _0x13aabc=_0x383ff5[_0x3bb33d];return _0x13aabc;}export function validateExactId(_0x415ff3){const _0x5706ec=a169_0x6e8897,_0x2721e8=_0x415ff3[_0x5706ec(0x1b4)]('id');if(!Number[_0x5706ec(0x1e2)](_0x2721e8)||_0x2721e8<=0x0)throw CliErrors['validation'](_0x5706ec(0x1ff));return _0x2721e8;}export function validateSort(_0x94c925,_0x533056=a169_0x6e8897(0x1e4)){const _0x17a316=a169_0x6e8897;if(!hasFlag(_0x94c925,_0x533056))return undefined;const _0x3ab520=_0x94c925[_0x17a316(0x1b4)](_0x533056);if(!Number['isSafeInteger'](_0x3ab520)||_0x3ab520<0x0||_0x3ab520>MAX_MENU_SORT)throw menuError(_0x17a316(0x1e0),'--'+_0x533056+'\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20'+MAX_MENU_SORT+'.',_0x17a316(0x203));return _0x3ab520;}export function nextSiblingSort(_0x528ec2,_0x2b1028,_0x5c8207){const _0xfbfda4=a169_0x6e8897,_0x29065d=getChildren(_0x528ec2,_0x2b1028)['map'](_0x346ff1=>_0x346ff1['sort'])['filter'](_0x290b54=>typeof _0x290b54==='number');if(_0x29065d['length']===0x0)return 0x0;const _0x44ccac=Math[_0xfbfda4(0x1e3)](..._0x29065d);if(_0x44ccac>=MAX_MENU_SORT)throw menuError(_0xfbfda4(0x1eb),_0xfbfda4(0x1f5)+_0x5c8207+_0xfbfda4(0x1aa)+_0x44ccac+'.','Reorder\x20sibling\x20menus\x20below\x20'+MAX_MENU_SORT+',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.');return _0x44ccac+0x1;}export function requireExplicitYes(_0x5a0dfe){const _0x153dde=a169_0x6e8897;if(_0x5a0dfe[_0x153dde(0x1bd)](_0x153dde(0x1ec)))return;if(!_0x5a0dfe[_0x153dde(0x1bd)](_0x153dde(0x1fb)))throw menuError(_0x153dde(0x1c0),_0x153dde(0x1ae),_0x153dde(0x1f1));}export async function fetchMutationSnapshot(_0x5553b1,_0x44300d,_0xb0cf7b){const _0x1c70f8=a169_0x6e8897;try{return await fetchMenuSnapshot(_0x5553b1[_0x1c70f8(0x1d8)],_0x5553b1['cookie']);}catch(_0x5b4f3e){throw mapMenuApiError(_0x5b4f3e,_0x1c70f8(0x1f0)+_0x44300d,_0xb0cf7b);}}export async function recheckMutationSnapshot(_0x34cf76,_0x46fce8,_0x4b76be,_0x2bfe3a){const _0x4bfae7=a169_0x6e8897;let _0x31e25f;try{_0x31e25f=await fetchMenuSnapshot(_0x34cf76[_0x4bfae7(0x1d8)],_0x34cf76[_0x4bfae7(0x206)]);}catch(_0x379e44){const _0x22beb0=mapMenuApiError(_0x379e44,_0x4bfae7(0x1f9)+_0x4b76be,_0x2bfe3a);throw menuFailure(_0x22beb0,_0x46fce8,{'stage':'pre-write-recheck','failed':_0x2bfe3a==null?{}:{'id':_0x2bfe3a}});}if(_0x31e25f['hash']!==_0x46fce8[_0x4bfae7(0x1a3)]){const _0x325718=menuError(_0x4bfae7(0x1e9),_0x4bfae7(0x1fe)+_0x4b76be+_0x4bfae7(0x1de),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.');throw menuFailure(_0x325718,_0x46fce8,{'stage':'pre-write-recheck','failed':{..._0x2bfe3a==null?{}:{'id':_0x2bfe3a},'expectedSnapshotHash':_0x46fce8[_0x4bfae7(0x1a3)],'currentSnapshotHash':_0x31e25f[_0x4bfae7(0x1a8)]}});}return _0x31e25f;}export function parseParentId(_0x307b74,_0x44244e,_0x48a68e={}){const _0x5b2f3e=a169_0x6e8897;if(!hasFlag(_0x307b74,_0x44244e)){if(_0x48a68e[_0x5b2f3e(0x1b8)])throw CliErrors[_0x5b2f3e(0x1c9)](_0x44244e);return undefined;}const _0x51c050=_0x307b74[_0x5b2f3e(0x1dd)](_0x44244e)[_0x5b2f3e(0x1c6)]();if(_0x51c050[_0x5b2f3e(0x201)]()===_0x5b2f3e(0x1b6))return null;if(!/^\d+$/[_0x5b2f3e(0x1c7)](_0x51c050))throw CliErrors[_0x5b2f3e(0x1f4)]('--'+_0x44244e+'\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.');const _0xbf8e9d=Number(_0x51c050);if(!Number[_0x5b2f3e(0x1e2)](_0xbf8e9d)||_0xbf8e9d<=0x0)throw CliErrors[_0x5b2f3e(0x1f4)]('--'+_0x44244e+_0x5b2f3e(0x1e8));return _0xbf8e9d;}export function requireMenu(_0xd9b8b8,_0x2abc22){const _0x111541=a169_0x6e8897,_0x2da4e0=_0xd9b8b8[_0x111541(0x1f3)]['get'](_0x2abc22);if(!_0x2da4e0)throw menuError('menu_not_found',_0x111541(0x1e1)+_0x2abc22,'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.');return _0x2da4e0;}function a169_0x383f(){const _0x18ad94=['number','code','before','num','Sibling\x20sort\x20value\x20(non-negative\x20integer)','root','operation','required','succeeded','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','expect-path','Failed\x20to\x20','bool','menu_parent_not_folder','folder','menu_confirmation_required','Permission\x20denied\x20while\x20attempting\x20to\x20','\x20parent\x20changed:\x20expected\x20','stringify','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','menu_verification_failed','trim','test','dryRun','flagMissing','2220496zDfokl','expected-children-count','expect-parent-id','110whCTNL','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','warnings','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','\x20menu\x20','failed','\x20child\x20count\x20changed:\x20expected\x20','after','hasOwnProperty','46302dBkqMd','\x22,\x20not\x20folder.','appCode','4WxWrMm','backend','parentId','path','str',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','menu_sort_invalid','Online\x20menu\x20not\x20found:\x20','isSafeInteger','max','sort','error','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','menu_state_drift','call','menu_sort_overflow','dry-run','verification',',\x20current\x20','targets','read\x20online\x20menu\x20facts\x20before\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','2569323wLEfMy','byId','validation','Cannot\x20append\x20a\x20','childrenCount','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','defineProperty','recheck\x20online\x20menu\x20facts\x20before\x20','rawFlags','yes','19991088yicSpa','planFile','Online\x20menu\x20state\x20changed\x20before\x20','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','message','toLowerCase','\x20path\x20changed:\x20expected\x20','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','selector','7929516XoPNTN','cookie','8926488Wffffi','\x20is\x20type\x20\x22','snapshotHash','type','string','hint','Menu\x20','hash','790403wkXayE','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','data','api_error','unknown','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','plannedActions','parent-id'];a169_0x383f=function(){return _0x18ad94;};return a169_0x383f();}export function requireFolder(_0x30bf4a,_0x5cc1fb){const _0x2483f6=a169_0x6e8897,_0x229918=requireMenu(_0x30bf4a,_0x5cc1fb);if(_0x229918[_0x2483f6(0x1a4)]!==_0x2483f6(0x1bf))throw menuError(_0x2483f6(0x1be),_0x2483f6(0x1a7)+_0x5cc1fb+_0x2483f6(0x208)+(_0x229918[_0x2483f6(0x1a4)]||_0x2483f6(0x1ad))+_0x2483f6(0x1d7),_0x2483f6(0x1f7));return _0x229918;}export function assertExpectedState(_0x52dda6,_0x39231b){const _0x51b931=a169_0x6e8897;if(hasFlag(_0x52dda6,'expect-parent-id')){const _0x1aa194=parseParentId(_0x52dda6,_0x51b931(0x1cc),{'required':!![]});if(_0x39231b['parentId']!==_0x1aa194)throw stateDrift('Menu\x20'+_0x39231b['id']+_0x51b931(0x1c2)+formatParent(_0x1aa194)+_0x51b931(0x1ee)+formatParent(_0x39231b[_0x51b931(0x1db)])+'.');}if(hasFlag(_0x52dda6,_0x51b931(0x1bb))){const _0x59773d=_0x52dda6['str']('expect-path');if(_0x39231b['path']!==_0x59773d)throw stateDrift(_0x51b931(0x1a7)+_0x39231b['id']+_0x51b931(0x202)+JSON[_0x51b931(0x1c3)](_0x59773d)+',\x20current\x20'+JSON[_0x51b931(0x1c3)](_0x39231b[_0x51b931(0x1dc)])+'.');}if(hasFlag(_0x52dda6,'expected-children-count')){const _0xb1899c=_0x52dda6[_0x51b931(0x1b4)]('expected-children-count');if(!Number[_0x51b931(0x1e2)](_0xb1899c)||_0xb1899c<0x0)throw CliErrors[_0x51b931(0x1f4)](_0x51b931(0x1ce));if(_0x39231b['childrenCount']!==_0xb1899c)throw stateDrift('Menu\x20'+_0x39231b['id']+_0x51b931(0x1d3)+_0xb1899c+_0x51b931(0x1ee)+_0x39231b[_0x51b931(0x1f6)]+'.');}}export function assertVerified(_0x547299,_0x28add5,_0x15d339='Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.'){if(!_0x547299)throw menuError('menu_verification_failed',_0x28add5,_0x15d339);}export function mutationResult(_0x14428e){const _0x396a60=a169_0x6e8897;return{'operation':_0x14428e[_0x396a60(0x1b7)],'selector':_0x14428e[_0x396a60(0x204)],'before':_0x14428e[_0x396a60(0x1b3)],'after':_0x14428e[_0x396a60(0x1d4)],'dryRun':_0x14428e[_0x396a60(0x1c8)],'backend':_0x14428e[_0x396a60(0x1da)],..._0x14428e[_0x396a60(0x1af)]?{'plannedActions':_0x14428e[_0x396a60(0x1af)]}:{},..._0x14428e[_0x396a60(0x1ef)]?{'targets':_0x14428e[_0x396a60(0x1ef)]}:{},..._0x14428e['deleteOrder']?{'deleteOrder':_0x14428e['deleteOrder']}:{},'snapshotHash':_0x14428e['snapshotHash'],..._0x14428e['cascade']?{'cascade':_0x14428e['cascade']}:{},..._0x14428e[_0x396a60(0x1fd)]?{'planFile':_0x14428e[_0x396a60(0x1fd)]}:{},'succeeded':_0x14428e[_0x396a60(0x1b9)]??[],'failed':_0x14428e[_0x396a60(0x1d2)]??[],'warnings':_0x14428e[_0x396a60(0x1cf)]??[],'verification':_0x14428e[_0x396a60(0x1ed)],'error':_0x14428e[_0x396a60(0x1e5)]};}export function menuDryRunResult(_0x4f5e4a,_0x50324d){return{..._0x4f5e4a,..._0x50324d};}export function menuFailure(_0x1047a5,_0x48de20,_0x391d13){const _0xd7f721=a169_0x6e8897,_0x2a6485=mutationResult({..._0x48de20,'after':_0x391d13['after']===undefined?_0x48de20[_0xd7f721(0x1d4)]:_0x391d13[_0xd7f721(0x1d4)],'backend':_0x391d13['backend']??_0x48de20['backend'],'dryRun':![],'succeeded':_0x391d13['succeeded']??[],'failed':_0x391d13['failedRecords']??[{..._0x391d13[_0xd7f721(0x1d2)]??{},'stage':_0x391d13['stage'],'code':_0x1047a5[_0xd7f721(0x1b2)],'message':_0x1047a5[_0xd7f721(0x200)]}],'warnings':[..._0x48de20[_0xd7f721(0x1cf)],..._0x391d13['warnings']??[]],'verification':_0x391d13[_0xd7f721(0x1ed)],'error':{'code':_0x1047a5[_0xd7f721(0x1b2)],'message':_0x1047a5[_0xd7f721(0x200)],..._0x1047a5[_0xd7f721(0x1a6)]?{'hint':_0x1047a5['hint']}:{}}});return Object[_0xd7f721(0x1f8)](_0x1047a5,_0xd7f721(0x1ab),{'value':_0x2a6485,'enumerable':!![],'configurable':!![]}),_0x1047a5;}export function asVerificationError(_0x52c88e,_0x19734e){const _0x32612d=a169_0x6e8897;if(_0x52c88e instanceof CliError&&_0x52c88e['code']===_0x32612d(0x1c5))return _0x52c88e;const _0x364f6d=_0x52c88e instanceof Error?_0x52c88e[_0x32612d(0x200)]:String(_0x52c88e);return menuError('menu_verification_failed',''+_0x19734e+(_0x364f6d?':\x20'+_0x364f6d:''),'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(_0x38f641,_0x47bfec,_0x1a9443){const _0x4226e3=a169_0x6e8897,_0x526ca8=mapMenuApiError(_0x38f641,_0x47bfec,_0x1a9443);return{'causeCode':_0x526ca8[_0x4226e3(0x1b2)],'causeMessage':_0x526ca8[_0x4226e3(0x200)]};}export function hasFlag(_0xc07bae,_0x45b11a){const _0x486ea3=a169_0x6e8897;return Object['prototype'][_0x486ea3(0x1d5)][_0x486ea3(0x1ea)](_0xc07bae[_0x486ea3(0x1fa)],_0x45b11a)&&_0xc07bae[_0x486ea3(0x1fa)][_0x45b11a]!==undefined;}export function toApiParentId(_0x5319b8){return _0x5319b8??0x0;}export function formatParent(_0x140ce2){return _0x140ce2==null?'root':String(_0x140ce2);}export function menuError(_0x452191,_0x207b59,_0x4a7c85){return new CliError(_0x452191,0x1,_0x207b59,_0x4a7c85);}export function mapMenuApiError(_0x35b4ba,_0x2532af,_0x335f54){const _0x20cbd9=a169_0x6e8897;if(_0x35b4ba instanceof CliError&&_0x35b4ba[_0x20cbd9(0x1b2)]!=='api_error')return _0x35b4ba;const _0x5d43ba=_0x35b4ba instanceof Error?_0x35b4ba[_0x20cbd9(0x200)]:String(_0x35b4ba);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x20cbd9(0x1c7)](_0x5d43ba))return menuError('menu_permission_denied',_0x20cbd9(0x1c1)+_0x2532af+(_0x335f54?_0x20cbd9(0x1d1)+_0x335f54:'')+'.',_0x20cbd9(0x1e6));return menuError('menu_mutation_failed',_0x20cbd9(0x1bc)+_0x2532af+(_0x335f54?_0x20cbd9(0x1d1)+_0x335f54:'')+':\x20'+_0x5d43ba,_0x20cbd9(0x1c4));}export function isMenuResponseLoss(_0x1e67f4){const _0x37bf28=a169_0x6e8897,_0x5acb01=_0x1e67f4 instanceof Error?_0x1e67f4[_0x37bf28(0x200)]:String(_0x1e67f4);if(_0x1e67f4 instanceof CliError)return _0x1e67f4['code']===_0x37bf28(0x1ac)&&/^Request (?:failed|timeout):/i[_0x37bf28(0x1c7)](_0x5acb01);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i['test'](_0x5acb01);}function stateDrift(_0xe4783e){const _0x247a98=a169_0x6e8897;return menuError(_0x247a98(0x1e9),_0xe4783e,_0x247a98(0x1d0));}
1
+ const a173_0x477942=a173_0xa6ff;(function(_0x2ea76d,_0x15548d){const _0x1724cb=a173_0xa6ff,_0x23263a=_0x2ea76d();while(!![]){try{const _0x8f8b2c=-parseInt(_0x1724cb(0x174))/0x1*(parseInt(_0x1724cb(0x14c))/0x2)+parseInt(_0x1724cb(0x124))/0x3*(parseInt(_0x1724cb(0x164))/0x4)+parseInt(_0x1724cb(0x172))/0x5+-parseInt(_0x1724cb(0x143))/0x6*(-parseInt(_0x1724cb(0x183))/0x7)+parseInt(_0x1724cb(0x12c))/0x8+-parseInt(_0x1724cb(0x17e))/0x9+parseInt(_0x1724cb(0x11e))/0xa;if(_0x8f8b2c===_0x15548d)break;else _0x23263a['push'](_0x23263a['shift']());}catch(_0x2d2fcd){_0x23263a['push'](_0x23263a['shift']());}}}(a173_0xcf53,0x7feaa));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':a173_0x477942(0x17b),'required':!![],'description':'Exact\x20online\x20menu\x20id'};export const MENU_SORT_FLAG={'name':a173_0x477942(0x169),'type':a173_0x477942(0x17b),'description':'Sibling\x20sort\x20value\x20(non-negative\x20integer)'};export const MENU_PARENT_ID_FLAG={'name':a173_0x477942(0x120),'type':'string','description':a173_0x477942(0x180)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a173_0x477942(0x157),'type':'string','description':a173_0x477942(0x144)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a173_0x477942(0x160),'type':a173_0x477942(0x16d),'description':'Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches'},{'name':a173_0x477942(0x136),'type':a173_0x477942(0x17b),'description':a173_0x477942(0x121)}];export function validateExactId(_0x35c44e){const _0x39bab4=a173_0x477942,_0xc94f04=_0x35c44e[_0x39bab4(0x16a)]('id');if(!Number[_0x39bab4(0x16b)](_0xc94f04)||_0xc94f04<=0x0)throw CliErrors[_0x39bab4(0x156)](_0x39bab4(0x166));return _0xc94f04;}export function validateSort(_0x33fec9,_0x477c21=a173_0x477942(0x169)){const _0x17b3e7=a173_0x477942;if(!hasFlag(_0x33fec9,_0x477c21))return undefined;const _0x45c83c=_0x33fec9[_0x17b3e7(0x16a)](_0x477c21);if(!Number['isSafeInteger'](_0x45c83c)||_0x45c83c<0x0||_0x45c83c>MAX_MENU_SORT)throw menuError(_0x17b3e7(0x14d),'--'+_0x477c21+'\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20'+MAX_MENU_SORT+'.',_0x17b3e7(0x173));return _0x45c83c;}export function nextSiblingSort(_0x279864,_0x2e17e8,_0x1b3530){const _0x5607bd=a173_0x477942,_0x2f5a92=getChildren(_0x279864,_0x2e17e8)[_0x5607bd(0x15b)](_0x594add=>_0x594add[_0x5607bd(0x169)])['filter'](_0x412d52=>typeof _0x412d52===_0x5607bd(0x17b));if(_0x2f5a92[_0x5607bd(0x127)]===0x0)return 0x0;const _0x4ec06a=Math['max'](..._0x2f5a92);if(_0x4ec06a>=MAX_MENU_SORT)throw menuError('menu_sort_overflow',_0x5607bd(0x15f)+_0x1b3530+'\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20'+_0x4ec06a+'.',_0x5607bd(0x181)+MAX_MENU_SORT+_0x5607bd(0x16c));return _0x4ec06a+0x1;}export function requireExplicitYes(_0x33bd04){const _0x13327a=a173_0x477942;if(_0x33bd04['bool'](_0x13327a(0x14f)))return;if(!_0x33bd04['bool'](_0x13327a(0x184)))throw menuError(_0x13327a(0x133),'This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function a173_0xa6ff(_0x286bef,_0x4181df){_0x286bef=_0x286bef-0x11e;const _0xcf53a0=a173_0xcf53();let _0xa6ff80=_0xcf53a0[_0x286bef];return _0xa6ff80;}export async function fetchMutationSnapshot(_0x22f166,_0x38c654,_0x3870c8){const _0x5a31a9=a173_0x477942;try{return await fetchMenuSnapshot(_0x22f166[_0x5a31a9(0x178)],_0x22f166[_0x5a31a9(0x13a)]);}catch(_0x317816){throw mapMenuApiError(_0x317816,'read\x20online\x20menu\x20facts\x20before\x20'+_0x38c654,_0x3870c8);}}export async function recheckMutationSnapshot(_0x2febcd,_0x1fddd2,_0x2afb5e,_0x4dc087){const _0x199176=a173_0x477942;let _0x2c1181;try{_0x2c1181=await fetchMenuSnapshot(_0x2febcd[_0x199176(0x178)],_0x2febcd[_0x199176(0x13a)]);}catch(_0x17c563){const _0x1d5a54=mapMenuApiError(_0x17c563,_0x199176(0x13b)+_0x2afb5e,_0x4dc087);throw menuFailure(_0x1d5a54,_0x1fddd2,{'stage':_0x199176(0x163),'failed':_0x4dc087==null?{}:{'id':_0x4dc087}});}if(_0x2c1181[_0x199176(0x12b)]!==_0x1fddd2['snapshotHash']){const _0x1ba4d9=menuError(_0x199176(0x182),_0x199176(0x135)+_0x2afb5e+_0x199176(0x153),_0x199176(0x12f));throw menuFailure(_0x1ba4d9,_0x1fddd2,{'stage':'pre-write-recheck','failed':{..._0x4dc087==null?{}:{'id':_0x4dc087},'expectedSnapshotHash':_0x1fddd2[_0x199176(0x134)],'currentSnapshotHash':_0x2c1181['hash']}});}return _0x2c1181;}export function parseParentId(_0x4f96b1,_0x45308d,_0x1bfa5d={}){const _0x434b16=a173_0x477942;if(!hasFlag(_0x4f96b1,_0x45308d)){if(_0x1bfa5d[_0x434b16(0x138)])throw CliErrors[_0x434b16(0x13e)](_0x45308d);return undefined;}const _0xa9f0e4=_0x4f96b1[_0x434b16(0x12e)](_0x45308d)[_0x434b16(0x187)]();if(_0xa9f0e4['toLowerCase']()===_0x434b16(0x152))return null;if(!/^\d+$/['test'](_0xa9f0e4))throw CliErrors[_0x434b16(0x156)]('--'+_0x45308d+_0x434b16(0x170));const _0x312d32=Number(_0xa9f0e4);if(!Number[_0x434b16(0x16b)](_0x312d32)||_0x312d32<=0x0)throw CliErrors['validation']('--'+_0x45308d+_0x434b16(0x170));return _0x312d32;}export function requireMenu(_0x1c2cd6,_0x4f30cf){const _0x2f5a20=a173_0x477942,_0x5eaf29=_0x1c2cd6[_0x2f5a20(0x14b)][_0x2f5a20(0x176)](_0x4f30cf);if(!_0x5eaf29)throw menuError(_0x2f5a20(0x126),_0x2f5a20(0x123)+_0x4f30cf,_0x2f5a20(0x145));return _0x5eaf29;}export function requireFolder(_0x4c0239,_0x20b79a){const _0x541f48=a173_0x477942,_0x3bbbdb=requireMenu(_0x4c0239,_0x20b79a);if(_0x3bbbdb['type']!==_0x541f48(0x155))throw menuError(_0x541f48(0x128),_0x541f48(0x177)+_0x20b79a+_0x541f48(0x16e)+(_0x3bbbdb[_0x541f48(0x17c)]||_0x541f48(0x185))+_0x541f48(0x137),_0x541f48(0x159));return _0x3bbbdb;}export function assertExpectedState(_0x350507,_0x53d0b5){const _0x100ed7=a173_0x477942;if(hasFlag(_0x350507,'expect-parent-id')){const _0xd78b3b=parseParentId(_0x350507,_0x100ed7(0x157),{'required':!![]});if(_0x53d0b5[_0x100ed7(0x15e)]!==_0xd78b3b)throw stateDrift('Menu\x20'+_0x53d0b5['id']+_0x100ed7(0x17a)+formatParent(_0xd78b3b)+_0x100ed7(0x179)+formatParent(_0x53d0b5['parentId'])+'.');}if(hasFlag(_0x350507,_0x100ed7(0x160))){const _0x27a87b=_0x350507[_0x100ed7(0x12e)](_0x100ed7(0x160));if(_0x53d0b5[_0x100ed7(0x175)]!==_0x27a87b)throw stateDrift(_0x100ed7(0x177)+_0x53d0b5['id']+_0x100ed7(0x158)+JSON[_0x100ed7(0x13c)](_0x27a87b)+_0x100ed7(0x179)+JSON[_0x100ed7(0x13c)](_0x53d0b5[_0x100ed7(0x175)])+'.');}if(hasFlag(_0x350507,_0x100ed7(0x136))){const _0x4b15ef=_0x350507[_0x100ed7(0x16a)](_0x100ed7(0x136));if(!Number[_0x100ed7(0x16b)](_0x4b15ef)||_0x4b15ef<0x0)throw CliErrors[_0x100ed7(0x156)](_0x100ed7(0x151));if(_0x53d0b5[_0x100ed7(0x15c)]!==_0x4b15ef)throw stateDrift('Menu\x20'+_0x53d0b5['id']+_0x100ed7(0x165)+_0x4b15ef+_0x100ed7(0x179)+_0x53d0b5[_0x100ed7(0x15c)]+'.');}}export function assertVerified(_0x4aa8bb,_0x4cfd3c,_0x4bf2aa='Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.'){if(!_0x4aa8bb)throw menuError('menu_verification_failed',_0x4cfd3c,_0x4bf2aa);}export function mutationResult(_0x2af029){const _0x4c4c3c=a173_0x477942;return{'operation':_0x2af029[_0x4c4c3c(0x15d)],'selector':_0x2af029['selector'],'before':_0x2af029[_0x4c4c3c(0x14a)],'after':_0x2af029[_0x4c4c3c(0x132)],'dryRun':_0x2af029[_0x4c4c3c(0x16f)],'backend':_0x2af029[_0x4c4c3c(0x125)],..._0x2af029['plannedActions']?{'plannedActions':_0x2af029[_0x4c4c3c(0x150)]}:{},..._0x2af029[_0x4c4c3c(0x14e)]?{'targets':_0x2af029['targets']}:{},..._0x2af029['deleteOrder']?{'deleteOrder':_0x2af029[_0x4c4c3c(0x11f)]}:{},'snapshotHash':_0x2af029[_0x4c4c3c(0x134)],..._0x2af029[_0x4c4c3c(0x17f)]?{'cascade':_0x2af029[_0x4c4c3c(0x17f)]}:{},..._0x2af029[_0x4c4c3c(0x154)]?{'planFile':_0x2af029[_0x4c4c3c(0x154)]}:{},'succeeded':_0x2af029[_0x4c4c3c(0x140)]??[],'failed':_0x2af029['failed']??[],'warnings':_0x2af029[_0x4c4c3c(0x148)]??[],'verification':_0x2af029[_0x4c4c3c(0x13f)],'error':_0x2af029[_0x4c4c3c(0x131)]};}export function menuDryRunResult(_0x33e054,_0x44c89c){return{..._0x33e054,..._0x44c89c};}export function menuFailure(_0x3ce88c,_0x457b35,_0x51e967){const _0x451740=a173_0x477942,_0xc8402c=mutationResult({..._0x457b35,'after':_0x51e967[_0x451740(0x132)]===undefined?_0x457b35[_0x451740(0x132)]:_0x51e967[_0x451740(0x132)],'backend':_0x51e967[_0x451740(0x125)]??_0x457b35[_0x451740(0x125)],'dryRun':![],'succeeded':_0x51e967[_0x451740(0x140)]??[],'failed':_0x51e967[_0x451740(0x15a)]??[{..._0x51e967[_0x451740(0x168)]??{},'stage':_0x51e967[_0x451740(0x12a)],'code':_0x3ce88c[_0x451740(0x167)],'message':_0x3ce88c[_0x451740(0x12d)]}],'warnings':[..._0x457b35[_0x451740(0x148)],..._0x51e967[_0x451740(0x148)]??[]],'verification':_0x51e967[_0x451740(0x13f)],'error':{'code':_0x3ce88c[_0x451740(0x167)],'message':_0x3ce88c[_0x451740(0x12d)],..._0x3ce88c['hint']?{'hint':_0x3ce88c[_0x451740(0x171)]}:{}}});return Object[_0x451740(0x162)](_0x3ce88c,_0x451740(0x13d),{'value':_0xc8402c,'enumerable':!![],'configurable':!![]}),_0x3ce88c;}export function asVerificationError(_0x3dbef9,_0x32573d){const _0x2f46de=a173_0x477942;if(_0x3dbef9 instanceof CliError&&_0x3dbef9[_0x2f46de(0x167)]===_0x2f46de(0x147))return _0x3dbef9;const _0x40d520=_0x3dbef9 instanceof Error?_0x3dbef9['message']:String(_0x3dbef9);return menuError('menu_verification_failed',''+_0x32573d+(_0x40d520?':\x20'+_0x40d520:''),'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(_0x2379ff,_0x2614b8,_0x1379a0){const _0x1098a2=a173_0x477942,_0x4b0bba=mapMenuApiError(_0x2379ff,_0x2614b8,_0x1379a0);return{'causeCode':_0x4b0bba['code'],'causeMessage':_0x4b0bba[_0x1098a2(0x12d)]};}export function hasFlag(_0x536e0,_0x1cca1d){const _0x3049eb=a173_0x477942;return Object['prototype'][_0x3049eb(0x186)]['call'](_0x536e0[_0x3049eb(0x17d)],_0x1cca1d)&&_0x536e0[_0x3049eb(0x17d)][_0x1cca1d]!==undefined;}export function toApiParentId(_0xe275f3){return _0xe275f3??0x0;}export function formatParent(_0x5d49c7){const _0x558d72=a173_0x477942;return _0x5d49c7==null?_0x558d72(0x152):String(_0x5d49c7);}function a173_0xcf53(){const _0x2b47f6=['trim','1142040AdzuoM','deleteOrder','parent-id','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','menu_permission_denied','Online\x20menu\x20not\x20found:\x20','10851IRnUmv','backend','menu_not_found','length','menu_parent_not_folder','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','stage','hash','90880vRWbiL','message','str','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','error','after','menu_confirmation_required','snapshotHash','Online\x20menu\x20state\x20changed\x20before\x20','expected-children-count','\x22,\x20not\x20folder.','required','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','cookie','recheck\x20online\x20menu\x20facts\x20before\x20','stringify','data','flagMissing','verification','succeeded','menu_mutation_failed','Permission\x20denied\x20while\x20attempting\x20to\x20','2299182ofsHeg','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.','api_error','menu_verification_failed','warnings','\x20menu\x20','before','byId','46670lJpuwZ','menu_sort_invalid','targets','dry-run','plannedActions','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','root',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','planFile','folder','validation','expect-parent-id','\x20path\x20changed:\x20expected\x20','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','failedRecords','map','childrenCount','operation','parentId','Cannot\x20append\x20a\x20','expect-path','test','defineProperty','pre-write-recheck','956ocyCxy','\x20child\x20count\x20changed:\x20expected\x20','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','code','failed','sort','num','isSafeInteger',',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.','string','\x20is\x20type\x20\x22','dryRun','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','hint','3077970dzDlsT','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','37gTIViZ','path','get','Menu\x20','appCode',',\x20current\x20','\x20parent\x20changed:\x20expected\x20','number','type','rawFlags','8862066ShfEcP','cascade','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','Reorder\x20sibling\x20menus\x20below\x20','menu_state_drift','14plFaoC','yes','unknown','hasOwnProperty'];a173_0xcf53=function(){return _0x2b47f6;};return a173_0xcf53();}export function menuError(_0x436dfb,_0x3ba109,_0x3de924){return new CliError(_0x436dfb,0x1,_0x3ba109,_0x3de924);}export function mapMenuApiError(_0x38784b,_0x23c326,_0x2e3327){const _0xe46a63=a173_0x477942;if(_0x38784b instanceof CliError&&_0x38784b[_0xe46a63(0x167)]!=='api_error')return _0x38784b;const _0x28d479=_0x38784b instanceof Error?_0x38784b[_0xe46a63(0x12d)]:String(_0x38784b);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0xe46a63(0x161)](_0x28d479))return menuError(_0xe46a63(0x122),_0xe46a63(0x142)+_0x23c326+(_0x2e3327?_0xe46a63(0x149)+_0x2e3327:'')+'.',_0xe46a63(0x130));return menuError(_0xe46a63(0x141),'Failed\x20to\x20'+_0x23c326+(_0x2e3327?_0xe46a63(0x149)+_0x2e3327:'')+':\x20'+_0x28d479,_0xe46a63(0x139));}export function isMenuResponseLoss(_0x241473){const _0x45c193=a173_0x477942,_0x172749=_0x241473 instanceof Error?_0x241473[_0x45c193(0x12d)]:String(_0x241473);if(_0x241473 instanceof CliError)return _0x241473[_0x45c193(0x167)]===_0x45c193(0x146)&&/^Request (?:failed|timeout):/i[_0x45c193(0x161)](_0x172749);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i['test'](_0x172749);}function stateDrift(_0x3c3638){const _0x2d11d0=a173_0x477942;return menuError(_0x2d11d0(0x182),_0x3c3638,_0x2d11d0(0x129));}
@@ -1 +1 @@
1
- (function(_0x58a366,_0x1ff32e){const _0x4483eb=a170_0x50f8,_0xb4fcec=_0x58a366();while(!![]){try{const _0x37c67f=parseInt(_0x4483eb(0x15f))/0x1+parseInt(_0x4483eb(0x15d))/0x2+parseInt(_0x4483eb(0x15a))/0x3*(-parseInt(_0x4483eb(0x15b))/0x4)+-parseInt(_0x4483eb(0x15c))/0x5*(-parseInt(_0x4483eb(0x159))/0x6)+parseInt(_0x4483eb(0x157))/0x7+-parseInt(_0x4483eb(0x158))/0x8+parseInt(_0x4483eb(0x15e))/0x9;if(_0x37c67f===_0x1ff32e)break;else _0xb4fcec['push'](_0xb4fcec['shift']());}catch(_0x1d9424){_0xb4fcec['push'](_0xb4fcec['shift']());}}}(a170_0x4c57,0x384aa));function a170_0x50f8(_0x336dd7,_0x39cfcc){_0x336dd7=_0x336dd7-0x157;const _0x4c57bb=a170_0x4c57();let _0x50f8f0=_0x4c57bb[_0x336dd7];return _0x50f8f0;}function a170_0x4c57(){const _0x37efb2=['3079584cewUec','482358KdQtjn','3678AjKBci','624wBpczk','5WRQaRG','457086rAIhWp','214164sbQSSd','208634NhRHkx','replace','1857856RDpXit'];a170_0x4c57=function(){return _0x37efb2;};return a170_0x4c57();}export function menuPathKey(_0x7292e1){const _0x5b04df=a170_0x50f8,_0x2e2ef9=_0x7292e1['trim']();if(!_0x2e2ef9)return'';return _0x2e2ef9[_0x5b04df(0x160)](/^\/+/,'')['replace'](/\/+$/,'')||'/';}
1
+ function a174_0x4b72(){const _0x16d88d=['44HOMUCJ','21HzCYwx','2512970cSyFXG','replace','630MnvaXO','10002872SJkhzT','2925096gTUBgX','6MRmTWp','20620104fFEiPg','6386PvNrAS','trim','209200iGWmCB','1763298MZlgIy','138YSdKNA'];a174_0x4b72=function(){return _0x16d88d;};return a174_0x4b72();}(function(_0x4cfddf,_0x4e6066){const _0x5c1dd0=a174_0x2333,_0x5e93f2=_0x4cfddf();while(!![]){try{const _0x35867b=parseInt(_0x5c1dd0(0x10b))/0x1*(-parseInt(_0x5c1dd0(0x10f))/0x2)+parseInt(_0x5c1dd0(0x109))/0x3*(-parseInt(_0x5c1dd0(0x108))/0x4)+-parseInt(_0x5c1dd0(0x112))/0x5+parseInt(_0x5c1dd0(0x10e))/0x6*(-parseInt(_0x5c1dd0(0x111))/0x7)+-parseInt(_0x5c1dd0(0x107))/0x8+parseInt(_0x5c1dd0(0x106))/0x9*(-parseInt(_0x5c1dd0(0x10d))/0xa)+parseInt(_0x5c1dd0(0x110))/0xb*(parseInt(_0x5c1dd0(0x10a))/0xc);if(_0x35867b===_0x4e6066)break;else _0x5e93f2['push'](_0x5e93f2['shift']());}catch(_0x39f0dd){_0x5e93f2['push'](_0x5e93f2['shift']());}}}(a174_0x4b72,0xd4b10));function a174_0x2333(_0xc518c0,_0x1ac2a8){_0xc518c0=_0xc518c0-0x106;const _0x4b724e=a174_0x4b72();let _0x233311=_0x4b724e[_0xc518c0];return _0x233311;}export function menuPathKey(_0x21b9df){const _0x1b118c=a174_0x2333,_0x4b41c1=_0x21b9df[_0x1b118c(0x10c)]();if(!_0x4b41c1)return'';return _0x4b41c1[_0x1b118c(0x113)](/^\/+/,'')[_0x1b118c(0x113)](/\/+$/,'')||'/';}
@@ -1 +1 @@
1
- (function(_0x2c01dd,_0x39fe8b){const _0x5075dc=a171_0x474c,_0x3fb040=_0x2c01dd();while(!![]){try{const _0x438fee=parseInt(_0x5075dc(0x1c5))/0x1+parseInt(_0x5075dc(0x1c6))/0x2*(parseInt(_0x5075dc(0x1ae))/0x3)+parseInt(_0x5075dc(0x1c2))/0x4+parseInt(_0x5075dc(0x1aa))/0x5*(-parseInt(_0x5075dc(0x1c9))/0x6)+-parseInt(_0x5075dc(0x1b9))/0x7+parseInt(_0x5075dc(0x1c1))/0x8*(parseInt(_0x5075dc(0x1b0))/0x9)+-parseInt(_0x5075dc(0x1b5))/0xa;if(_0x438fee===_0x39fe8b)break;else _0x3fb040['push'](_0x3fb040['shift']());}catch(_0x1c5d2a){_0x3fb040['push'](_0x3fb040['shift']());}}}(a171_0x376f,0xd5d0d));import{getEnv,isProduction}from'../../../constant/env.js';import{logger}from'../../../utils/logger.js';function a171_0x376f(){const _0x1d60a2=['Delete\x20','Regroup\x20','parentId','number','Batch\x20menu\x20creation\x20completed,\x20total\x20','length','procode','boolean','Update\x20menu\x20','stringify','update-menu-cdn-url','865PImFfY','Menu\x20created\x20successfully:\x20','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','\x20menu\x20group(s)','78012NWteWU','loadScriptMode','5403330CpYkfl','create-menu','Start\x20batch\x20menu\x20creation,\x20total\x20','visible','menus','6158920gavdRm','extend','Menu\x20assets\x20synced:\x20','label','6934648YIZOrU','path','resources','appName','create-menus','import','\x20menu','all','16ZJZObK','3569724WZUucd','info','Create\x20menu\x20\x22','1180779gpQmxe','8gqsvuL','order','Update\x20menu\x20assets\x20\x22','31062OyszQk'];a171_0x376f=function(){return _0x1d60a2;};return a171_0x376f();}import{fetchMenuSnapshot,toProcessedMenuItem}from'../../../commands/menu/shared/facts.js';function a171_0x474c(_0x1dfcde,_0x4b134c){_0x1dfcde=_0x1dfcde-0x1a5;const _0x376f93=a171_0x376f();let _0x474cdd=_0x376f93[_0x1dfcde];return _0x474cdd;}import{batchDeleteMenuRecords,createMenuRecord,startMenuRegroup as a171_0x5ac752,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x4a826f,_0x37ea52){const _0x16c77a=a171_0x474c,_0x3442e1=getEnv();logger[_0x16c77a(0x1c3)]('get-online-menu-list',isProduction(_0x3442e1)?'Fetching\x20online\x20menu\x20list...\x20(appCode:\x20'+_0x4a826f+')':_0x16c77a(0x1ac)+_0x4a826f+')');const _0x3d764a=await fetchMenuSnapshot(_0x4a826f,_0x37ea52,{'verbose':!![]});return logger[_0x16c77a(0x1c3)]('get-online-menu-list','Fetched\x20'+_0x3d764a['total']+'\x20online\x20menus\x20successfully'),_0x3d764a[_0x16c77a(0x1b4)]['map'](toProcessedMenuItem);}export async function createMenu(_0x2e2f46,_0x2ecea3,_0x289ac2){const _0x13f3e7=a171_0x474c;logger[_0x13f3e7(0x1c3)](_0x13f3e7(0x1b1),'Creating\x20menu:\x20'+_0x289ac2[_0x13f3e7(0x1b8)]+'\x20('+_0x289ac2['path']+')');const _0x478ed0={'appCode':_0x2e2f46,'type':_0x13f3e7(0x1a5),'sort':0x0,'extend':{'loadScriptMode':_0x13f3e7(0x1be),'resources':_0x289ac2[_0x13f3e7(0x1bb)]?JSON['stringify'](_0x289ac2[_0x13f3e7(0x1bb)]):undefined},..._0x289ac2},_0x4f8347=await createMenuRecord(_0x478ed0,_0x2ecea3,_0x13f3e7(0x1c4)+_0x289ac2[_0x13f3e7(0x1b8)]+'\x22');return logger[_0x13f3e7(0x1c3)]('create-menu',_0x13f3e7(0x1ab)+_0x289ac2[_0x13f3e7(0x1b8)]),_0x4f8347;}async function createSingleMenu(_0x185563,_0x21e78b,_0x26a8b6,_0x4f362e,_0x19a919){const _0x30d9ff=a171_0x474c,_0x5b30d6={'appCode':_0x185563,'type':_0x30d9ff(0x1a5),'sort':_0x30d9ff(0x1c7)in _0x26a8b6&&typeof _0x26a8b6[_0x30d9ff(0x1c7)]==='number'?_0x26a8b6[_0x30d9ff(0x1c7)]:0x0,...'visible'in _0x26a8b6&&typeof _0x26a8b6[_0x30d9ff(0x1b3)]===_0x30d9ff(0x1a6)?{'visible':_0x26a8b6[_0x30d9ff(0x1b3)]}:{},..._0x30d9ff(0x1cc)in _0x26a8b6&&typeof _0x26a8b6['parentId']===_0x30d9ff(0x1cd)?{'parentId':_0x26a8b6[_0x30d9ff(0x1cc)]}:{},'extend':{..._0x19a919?.['appName']?{'appName':_0x19a919[_0x30d9ff(0x1bc)]}:{},'loadScriptMode':_0x30d9ff(0x1be),'resources':_0x4f362e?JSON[_0x30d9ff(0x1a8)](_0x4f362e):undefined},'label':_0x26a8b6[_0x30d9ff(0x1b8)],'path':_0x26a8b6['path']},_0x507d3a=await createMenuRecord(_0x5b30d6,_0x21e78b,_0x30d9ff(0x1c4)+_0x26a8b6[_0x30d9ff(0x1b8)]+'\x22');return logger[_0x30d9ff(0x1c3)](_0x30d9ff(0x1b1),_0x30d9ff(0x1ab)+_0x26a8b6[_0x30d9ff(0x1b8)]),_0x507d3a;}export async function createMenus(_0x4c93c2,_0x2242cc,_0x51976a,_0x3b84d9,_0x213113){const _0x50bfff=a171_0x474c;logger['info'](_0x50bfff(0x1bd),_0x50bfff(0x1b2)+_0x51976a[_0x50bfff(0x1cf)]);const _0x3af6b5=await Promise[_0x50bfff(0x1c0)](_0x51976a['map'](_0x5201d1=>createSingleMenu(_0x4c93c2,_0x2242cc,_0x5201d1,_0x3b84d9,_0x213113)));return logger[_0x50bfff(0x1c3)](_0x50bfff(0x1bd),_0x50bfff(0x1ce)+_0x51976a[_0x50bfff(0x1cf)]),_0x3af6b5;}export async function updateMenuCdnUrl(_0xd11d53,_0x3a93c2,_0x1688b5){const _0xeb27ce=a171_0x474c;logger[_0xeb27ce(0x1c3)](_0xeb27ce(0x1a9),'Updating\x20menu\x20asset\x20links:\x20'+_0x1688b5[_0xeb27ce(0x1b8)]+'\x20('+_0x1688b5[_0xeb27ce(0x1ba)]+')');const _0x3a6ed5={'id':_0x1688b5['id'],'appCode':_0xd11d53,'extend':{..._0x1688b5[_0xeb27ce(0x1b6)]??{},..._0x1688b5[_0xeb27ce(0x1af)]?{'loadScriptMode':_0x1688b5[_0xeb27ce(0x1af)]}:{},'resources':_0x1688b5[_0xeb27ce(0x1bb)]?JSON[_0xeb27ce(0x1a8)](_0x1688b5[_0xeb27ce(0x1bb)]):undefined}},_0x51118c=await updateMenuRecord(_0x3a6ed5,_0x3a93c2,_0xeb27ce(0x1c8)+_0x1688b5[_0xeb27ce(0x1b8)]+'\x22');return logger[_0xeb27ce(0x1c3)](_0xeb27ce(0x1a9),_0xeb27ce(0x1b7)+_0x1688b5[_0xeb27ce(0x1b8)],undefined),_0x51118c;}export async function createMenuEntity(_0x3bff39,_0x18615d,_0x28da8c){const _0x4329e1=a171_0x474c;return createMenuRecord({'appCode':_0x3bff39,..._0x28da8c},_0x18615d,_0x4329e1(0x1c4)+_0x28da8c[_0x4329e1(0x1b8)]+'\x22');}export async function updateMenuEntity(_0x1e4d0e,_0x546c6c,_0x15f39e){const _0x51290d=a171_0x474c;return updateMenuRecord({'appCode':_0x1e4d0e,..._0x15f39e},_0x546c6c,_0x51290d(0x1a7)+_0x15f39e['id']);}export async function batchDeleteMenuEntities(_0x7693b6,_0x5b264a){const _0x283142=a171_0x474c;return batchDeleteMenuRecords(_0x5b264a,_0x7693b6,_0x283142(0x1ca)+_0x5b264a[_0x283142(0x1cf)]+_0x283142(0x1bf)+(_0x5b264a[_0x283142(0x1cf)]===0x1?'':'s'));}export async function startMenuRegroup(_0x15e4d5,_0x297f41){const _0x15be82=a171_0x474c;return a171_0x5ac752(_0x297f41,_0x15e4d5,_0x15be82(0x1cb)+_0x297f41['menuGroups']['length']+_0x15be82(0x1ad));}
1
+ (function(_0x78e4d4,_0x4b7b52){const _0x500839=a175_0x224b,_0x551c9c=_0x78e4d4();while(!![]){try{const _0x444e1d=-parseInt(_0x500839(0x16d))/0x1*(-parseInt(_0x500839(0x174))/0x2)+parseInt(_0x500839(0x170))/0x3*(parseInt(_0x500839(0x171))/0x4)+parseInt(_0x500839(0x190))/0x5+-parseInt(_0x500839(0x193))/0x6*(-parseInt(_0x500839(0x181))/0x7)+parseInt(_0x500839(0x19b))/0x8+-parseInt(_0x500839(0x194))/0x9*(-parseInt(_0x500839(0x188))/0xa)+-parseInt(_0x500839(0x192))/0xb;if(_0x444e1d===_0x4b7b52)break;else _0x551c9c['push'](_0x551c9c['shift']());}catch(_0x40725c){_0x551c9c['push'](_0x551c9c['shift']());}}}(a175_0x14f0,0x2f3da));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 a175_0x40b5e1,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x5b3ad6,_0x28abac){const _0x1dff9a=a175_0x224b,_0x2effc8=getEnv();logger['info']('get-online-menu-list',isProduction(_0x2effc8)?_0x1dff9a(0x18e)+_0x5b3ad6+')':_0x1dff9a(0x173)+_0x5b3ad6+')');const _0x1af077=await fetchMenuSnapshot(_0x5b3ad6,_0x28abac,{'verbose':!![]});return logger[_0x1dff9a(0x16f)](_0x1dff9a(0x17e),_0x1dff9a(0x185)+_0x1af077['total']+_0x1dff9a(0x16b)),_0x1af077[_0x1dff9a(0x18d)]['map'](toProcessedMenuItem);}export async function createMenu(_0x4fb40d,_0x5e235f,_0x34636f){const _0x2918d0=a175_0x224b;logger[_0x2918d0(0x16f)]('create-menu',_0x2918d0(0x17c)+_0x34636f['label']+'\x20('+_0x34636f[_0x2918d0(0x180)]+')');const _0x1342f0={'appCode':_0x4fb40d,'type':'procode','sort':0x0,'extend':{'loadScriptMode':_0x2918d0(0x17a),'resources':_0x34636f[_0x2918d0(0x199)]?JSON[_0x2918d0(0x179)](_0x34636f[_0x2918d0(0x199)]):undefined},..._0x34636f},_0x15f734=await createMenuRecord(_0x1342f0,_0x5e235f,'Create\x20menu\x20\x22'+_0x34636f[_0x2918d0(0x191)]+'\x22');return logger[_0x2918d0(0x16f)]('create-menu',_0x2918d0(0x198)+_0x34636f[_0x2918d0(0x191)]),_0x15f734;}async function createSingleMenu(_0x123e23,_0xd910ac,_0x194afe,_0x14334b,_0x249e58){const _0x3eecf7=a175_0x224b,_0x5d5521={'appCode':_0x123e23,'type':'procode','sort':'order'in _0x194afe&&typeof _0x194afe[_0x3eecf7(0x18b)]===_0x3eecf7(0x16c)?_0x194afe['order']:0x0,..._0x3eecf7(0x195)in _0x194afe&&typeof _0x194afe[_0x3eecf7(0x195)]===_0x3eecf7(0x18f)?{'visible':_0x194afe['visible']}:{},..._0x3eecf7(0x18c)in _0x194afe&&typeof _0x194afe[_0x3eecf7(0x18c)]==='number'?{'parentId':_0x194afe['parentId']}:{},'extend':{..._0x249e58?.[_0x3eecf7(0x184)]?{'appName':_0x249e58[_0x3eecf7(0x184)]}:{},'loadScriptMode':_0x3eecf7(0x17a),'resources':_0x14334b?JSON[_0x3eecf7(0x179)](_0x14334b):undefined},'label':_0x194afe['label'],'path':_0x194afe['path']},_0x5a21c4=await createMenuRecord(_0x5d5521,_0xd910ac,_0x3eecf7(0x16e)+_0x194afe['label']+'\x22');return logger[_0x3eecf7(0x16f)](_0x3eecf7(0x18a),_0x3eecf7(0x198)+_0x194afe['label']),_0x5a21c4;}export async function createMenus(_0x195e52,_0x479e22,_0x1a89bd,_0x1f3891,_0x56f31e){const _0x1f727e=a175_0x224b;logger[_0x1f727e(0x16f)](_0x1f727e(0x175),_0x1f727e(0x183)+_0x1a89bd[_0x1f727e(0x196)]);const _0x48c2f2=await Promise[_0x1f727e(0x17d)](_0x1a89bd[_0x1f727e(0x17b)](_0x357bc3=>createSingleMenu(_0x195e52,_0x479e22,_0x357bc3,_0x1f3891,_0x56f31e)));return logger[_0x1f727e(0x16f)](_0x1f727e(0x175),_0x1f727e(0x197)+_0x1a89bd[_0x1f727e(0x196)]),_0x48c2f2;}export async function updateMenuCdnUrl(_0x57371c,_0xf6ccf2,_0x10cc39){const _0x33618=a175_0x224b;logger[_0x33618(0x16f)](_0x33618(0x189),'Updating\x20menu\x20asset\x20links:\x20'+_0x10cc39[_0x33618(0x191)]+'\x20('+_0x10cc39[_0x33618(0x180)]+')');const _0x4755a2={'id':_0x10cc39['id'],'appCode':_0x57371c,'extend':{..._0x10cc39[_0x33618(0x17f)]??{},..._0x10cc39[_0x33618(0x176)]?{'loadScriptMode':_0x10cc39[_0x33618(0x176)]}:{},'resources':_0x10cc39[_0x33618(0x199)]?JSON[_0x33618(0x179)](_0x10cc39[_0x33618(0x199)]):undefined}},_0x987281=await updateMenuRecord(_0x4755a2,_0xf6ccf2,_0x33618(0x19a)+_0x10cc39['label']+'\x22');return logger[_0x33618(0x16f)](_0x33618(0x189),_0x33618(0x178)+_0x10cc39['label'],undefined),_0x987281;}function a175_0x224b(_0x5729e7,_0x998bf9){_0x5729e7=_0x5729e7-0x16b;const _0x14f04d=a175_0x14f0();let _0x224b40=_0x14f04d[_0x5729e7];return _0x224b40;}export async function createMenuEntity(_0x525130,_0x5b29dc,_0x18d9be){const _0x2fa871=a175_0x224b;return createMenuRecord({'appCode':_0x525130,..._0x18d9be},_0x5b29dc,_0x2fa871(0x16e)+_0x18d9be[_0x2fa871(0x191)]+'\x22');}export async function updateMenuEntity(_0x30c7a4,_0x59859a,_0x448e4a){const _0x38e156=a175_0x224b;return updateMenuRecord({'appCode':_0x30c7a4,..._0x448e4a},_0x59859a,_0x38e156(0x177)+_0x448e4a['id']);}export async function batchDeleteMenuEntities(_0x2a6161,_0x114e41){const _0x10bf3f=a175_0x224b;return batchDeleteMenuRecords(_0x114e41,_0x2a6161,_0x10bf3f(0x187)+_0x114e41[_0x10bf3f(0x196)]+_0x10bf3f(0x19c)+(_0x114e41[_0x10bf3f(0x196)]===0x1?'':'s'));}export async function startMenuRegroup(_0x45b1c7,_0x5de74f){const _0x561fa0=a175_0x224b;return a175_0x40b5e1(_0x5de74f,_0x45b1c7,_0x561fa0(0x182)+_0x5de74f[_0x561fa0(0x186)][_0x561fa0(0x196)]+_0x561fa0(0x172));}function a175_0x14f0(){const _0x5a113e=['Creating\x20menu:\x20','all','get-online-menu-list','extend','path','1932HWWehr','Regroup\x20','Start\x20batch\x20menu\x20creation,\x20total\x20','appName','Fetched\x20','menuGroups','Delete\x20','590fxFHfb','update-menu-cdn-url','create-menu','order','parentId','menus','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20','boolean','168330DNexvA','label','1311288BIMiuv','252Ndtqmr','11961tiPeKO','visible','length','Batch\x20menu\x20creation\x20completed,\x20total\x20','Menu\x20created\x20successfully:\x20','resources','Update\x20menu\x20assets\x20\x22','666664VZzdSd','\x20menu','\x20online\x20menus\x20successfully','number','7702rEuYAH','Create\x20menu\x20\x22','info','3rQqQKT','207160aBXXii','\x20menu\x20group(s)','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','14svPJqk','create-menus','loadScriptMode','Update\x20menu\x20','Menu\x20assets\x20synced:\x20','stringify','import','map'];a175_0x14f0=function(){return _0x5a113e;};return a175_0x14f0();}
@@ -1 +1 @@
1
- function a172_0x1b64(){const _0x415f95=['isArray','4679397uZzxnb','Explicit\x20frontend\x20subapp\x20appName\x20matching\x20host\x20assets\x20and\x20menu\x20bindings;\x20not\x20inferred\x20from\x20package\x20name\x20or\x20app\x20code','app-name','loadScriptMode','some','appCode','menu\x20','extend','resources','map','15276SCUCdM','124HFeWdx','parse','No\x20shared\x20resources\x20configured\x20for\x20','sharedResources','\x20must\x20be\x20a\x20JSON\x20object.','trim','147505tnolAn','882RREMyr','subapp.resources','assets','19454340VhJKIO','length','12258832zpZKAR','app.extend.assets','app.extend.assets\x20must\x20be\x20an\x20array.','stringify','13626675jSGzez','filter','app','string','appName','app.extend','fallbackDiffers','message','Duplicate\x20subapp\x20records\x20for\x20','object','validation','\x20resources','str','app.extend.assets[','15104zClcsi','152HpLZwY'];a172_0x1b64=function(){return _0x415f95;};return a172_0x1b64();}const a172_0x5beeff=a172_0xb0d1;(function(_0x49ce97,_0x2e5178){const _0xc7df47=a172_0xb0d1,_0x306534=_0x49ce97();while(!![]){try{const _0x323bf7=parseInt(_0xc7df47(0x129))/0x1*(parseInt(_0xc7df47(0x128))/0x2)+-parseInt(_0xc7df47(0xff))/0x3+-parseInt(_0xc7df47(0x10a))/0x4*(parseInt(_0xc7df47(0x110))/0x5)+-parseInt(_0xc7df47(0x109))/0x6*(-parseInt(_0xc7df47(0x111))/0x7)+parseInt(_0xc7df47(0x116))/0x8+-parseInt(_0xc7df47(0x11a))/0x9+parseInt(_0xc7df47(0x114))/0xa;if(_0x323bf7===_0x2e5178)break;else _0x306534['push'](_0x306534['shift']());}catch(_0x24c9fa){_0x306534['push'](_0x306534['shift']());}}}(a172_0x1b64,0xe9e83));import{getSmartAppRecord}from'../../../core/api-client.js';function a172_0xb0d1(_0x3594d9,_0x365ebb){_0x3594d9=_0x3594d9-0xfe;const _0x1b6482=a172_0x1b64();let _0xb0d1b0=_0x1b6482[_0x3594d9];return _0xb0d1b0;}import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{CliErrors}from'../../../errors.js';function objectValue(_0x4a6ee5,_0x1cc5c4){const _0xd364e3=a172_0xb0d1,_0x14ea7c=typeof _0x4a6ee5===_0xd364e3(0x11d)?parseJson(_0x4a6ee5,_0x1cc5c4):_0x4a6ee5;if(!_0x14ea7c||typeof _0x14ea7c!==_0xd364e3(0x123)||Array[_0xd364e3(0xfe)](_0x14ea7c))throw CliErrors[_0xd364e3(0x124)](_0x1cc5c4+_0xd364e3(0x10e));return _0x14ea7c;}function parseJson(_0x3cd3df,_0x2a6b03){const _0x14bdaf=a172_0xb0d1;try{return JSON[_0x14bdaf(0x10b)](_0x3cd3df);}catch{throw CliErrors['validation'](_0x2a6b03+'\x20contains\x20invalid\x20JSON.');}}function resourceList(_0x542285,_0x1f05f5){const _0x3c3d71=a172_0xb0d1;if(typeof _0x542285!==_0x3c3d71(0x11d))throw CliErrors['validation'](_0x1f05f5+'\x20must\x20be\x20a\x20JSON\x20string\x20of\x20URLs.');const _0x522f90=parseJson(_0x542285,_0x1f05f5);if(!Array[_0x3c3d71(0xfe)](_0x522f90)||_0x522f90[_0x3c3d71(0x103)](_0x1b685e=>typeof _0x1b685e!==_0x3c3d71(0x11d)))throw CliErrors[_0x3c3d71(0x124)](_0x1f05f5+'\x20must\x20be\x20an\x20array\x20of\x20URLs.');return _0x522f90;}export function buildSubappAssetsStatus(_0x548f73,_0x13613f,_0x43041a){const _0x3f6985=a172_0xb0d1,_0x41f31d=_0x548f73['extend']==null?{}:objectValue(_0x548f73[_0x3f6985(0x106)],_0x3f6985(0x11f)),_0x3726bc=_0x41f31d[_0x3f6985(0x113)]==null?[]:typeof _0x41f31d[_0x3f6985(0x113)]==='string'?parseJson(_0x41f31d[_0x3f6985(0x113)],_0x3f6985(0x117)):_0x41f31d[_0x3f6985(0x113)];if(!Array['isArray'](_0x3726bc))throw CliErrors[_0x3f6985(0x124)](_0x3f6985(0x118));const _0x5c09ca=_0x3726bc[_0x3f6985(0x108)]((_0x5bcb11,_0xa7804d)=>objectValue(_0x5bcb11,_0x3f6985(0x127)+_0xa7804d+']')),_0x33a99b=_0x5c09ca[_0x3f6985(0x11b)](_0x45cbad=>_0x45cbad[_0x3f6985(0x11e)]===_0x43041a);if(_0x33a99b[_0x3f6985(0x115)]>0x1)throw CliErrors[_0x3f6985(0x124)](_0x3f6985(0x122)+_0x43041a+'.');const _0x42c8db=_0x33a99b[0x0],_0x5c12a9=_0x42c8db?.[_0x3f6985(0x107)]==null?[]:resourceList(_0x42c8db[_0x3f6985(0x107)],_0x3f6985(0x112)),_0x292e20=_0x13613f['filter'](_0x20fa72=>_0x20fa72[_0x3f6985(0x106)]?.[_0x3f6985(0x11e)]===_0x43041a),_0x4bd13d=_0x292e20[_0x3f6985(0x108)](_0x2612b4=>{const _0x1d4111=_0x3f6985;let _0x1aef07=null,_0x562afb=null;try{_0x1aef07=_0x2612b4[_0x1d4111(0x106)]?.[_0x1d4111(0x107)]==null?_0x2612b4[_0x1d4111(0x107)]:resourceList(_0x2612b4[_0x1d4111(0x106)][_0x1d4111(0x107)],_0x1d4111(0x105)+_0x2612b4['id']+_0x1d4111(0x125));}catch(_0x32b99d){_0x562afb=_0x32b99d instanceof Error?_0x32b99d[_0x1d4111(0x121)]:String(_0x32b99d);}const _0x48b0bf=_0x5c12a9['length']>0x0?_0x1d4111(0x11c):'menu',_0x29ff8a=_0x48b0bf===_0x1d4111(0x11c)?_0x5c12a9:_0x1aef07;return{'id':_0x2612b4['id'],'path':_0x2612b4['path'],'preferredSourceIfSupported':_0x48b0bf,'preferredResourcesIfSupported':_0x29ff8a,'menuFallbackResources':_0x1aef07,'menuFallbackError':_0x562afb,'fallbackDiffers':_0x1aef07===null?null:_0x48b0bf===_0x1d4111(0x11c)&&_0x1aef07['length']>0x0&&JSON[_0x1d4111(0x119)](_0x1aef07)!==JSON[_0x1d4111(0x119)](_0x29ff8a)};});return{'appName':_0x43041a,'hostCapabilityVerified':![],'sharedConfigured':Boolean(_0x42c8db),'sharedResources':_0x5c12a9,'loadScriptMode':_0x42c8db?.[_0x3f6985(0x102)]??null,'basename':_0x42c8db?.['basename']??null,'boundMenus':_0x4bd13d[_0x3f6985(0x115)],'staleMenuFallbacks':_0x4bd13d['filter'](_0x385863=>_0x385863[_0x3f6985(0x120)])['length'],'menus':_0x4bd13d};}export async function assertSharedResourcesConfigured(_0x5a9a74,_0x311f08,_0xef6e65){const _0x4dfc69=a172_0xb0d1,_0x4c7ceb=await getSmartAppRecord(_0x5a9a74,_0x311f08),_0x3aecb2=buildSubappAssetsStatus(_0x4c7ceb,[],_0xef6e65);if(!_0x3aecb2['sharedConfigured']||_0x3aecb2[_0x4dfc69(0x10d)][_0x4dfc69(0x115)]===0x0)throw CliErrors['validation'](_0x4dfc69(0x10c)+_0xef6e65+'.');}export const SUBAPP_ASSET_SELECTOR_FLAGS=[{...APPCODE_FLAG,'required':![],'description':'Menu\x20host\x20app\x20code;\x20overrides\x20the\x20selected\x20workspace\x20app'},{'name':a172_0x5beeff(0x101),'type':a172_0x5beeff(0x11d),'required':!![],'description':a172_0x5beeff(0x100)}];export function getSubappSelector(_0x5b93ec){const _0x385aa4=a172_0x5beeff,_0x1219b1=_0x5b93ec[_0x385aa4(0x104)],_0x4b2773=_0x5b93ec[_0x385aa4(0x126)](_0x385aa4(0x101))[_0x385aa4(0x10f)]();if(!_0x4b2773)throw CliErrors[_0x385aa4(0x124)]('--app-name\x20is\x20required.');return{'appCode':_0x1219b1,'appName':_0x4b2773};}
1
+ function a176_0x5a98(_0x1d33cc,_0x189eac){_0x1d33cc=_0x1d33cc-0x183;const _0x30a44c=a176_0x30a4();let _0x5a983d=_0x30a44c[_0x1d33cc];return _0x5a983d;}const a176_0xbd668b=a176_0x5a98;(function(_0xa04fe9,_0x2f4df5){const _0x327a1d=a176_0x5a98,_0x12bb67=_0xa04fe9();while(!![]){try{const _0x4756df=parseInt(_0x327a1d(0x193))/0x1+-parseInt(_0x327a1d(0x196))/0x2*(-parseInt(_0x327a1d(0x1a8))/0x3)+parseInt(_0x327a1d(0x194))/0x4*(parseInt(_0x327a1d(0x1a4))/0x5)+-parseInt(_0x327a1d(0x198))/0x6+parseInt(_0x327a1d(0x1ad))/0x7*(-parseInt(_0x327a1d(0x187))/0x8)+parseInt(_0x327a1d(0x19a))/0x9*(-parseInt(_0x327a1d(0x19d))/0xa)+parseInt(_0x327a1d(0x19b))/0xb;if(_0x4756df===_0x2f4df5)break;else _0x12bb67['push'](_0x12bb67['shift']());}catch(_0x586157){_0x12bb67['push'](_0x12bb67['shift']());}}}(a176_0x30a4,0x5f284));function a176_0x30a4(){const _0x1f067f=['string','extend','17292hSRbYF','resources','app.extend.assets','loadScriptMode','assets','14EedxkI','Duplicate\x20subapp\x20records\x20for\x20','some','stringify','menu\x20','app.extend','Explicit\x20frontend\x20subapp\x20appName\x20matching\x20host\x20assets\x20and\x20menu\x20bindings;\x20not\x20inferred\x20from\x20package\x20name\x20or\x20app\x20code','appName','1314296LgHWkP','basename','app-name','--app-name\x20is\x20required.','sharedConfigured','str','sharedResources','fallbackDiffers','length','app.extend.assets\x20must\x20be\x20an\x20array.','message','appCode','592073AUernm','4wBDMin','app.extend.assets[','174oAkZBj','validation','506718iJPnfQ','parse','2790828XYTjBN','77253AQMBsQ','Menu\x20host\x20app\x20code;\x20overrides\x20the\x20selected\x20workspace\x20app','10qymjyE','No\x20shared\x20resources\x20configured\x20for\x20','\x20resources','isArray','app','\x20must\x20be\x20a\x20JSON\x20string\x20of\x20URLs.','map','61595uxpmOf','subapp.resources'];a176_0x30a4=function(){return _0x1f067f;};return a176_0x30a4();}import{getSmartAppRecord}from'../../../core/api-client.js';import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{CliErrors}from'../../../errors.js';function objectValue(_0x57c094,_0x2f716b){const _0x12154b=a176_0x5a98,_0x23a24b=typeof _0x57c094===_0x12154b(0x1a6)?parseJson(_0x57c094,_0x2f716b):_0x57c094;if(!_0x23a24b||typeof _0x23a24b!=='object'||Array[_0x12154b(0x1a0)](_0x23a24b))throw CliErrors[_0x12154b(0x197)](_0x2f716b+'\x20must\x20be\x20a\x20JSON\x20object.');return _0x23a24b;}function parseJson(_0xd01e31,_0x48f1a3){const _0x11de28=a176_0x5a98;try{return JSON[_0x11de28(0x199)](_0xd01e31);}catch{throw CliErrors[_0x11de28(0x197)](_0x48f1a3+'\x20contains\x20invalid\x20JSON.');}}function resourceList(_0x57a99c,_0x441330){const _0x4f5e8a=a176_0x5a98;if(typeof _0x57a99c!==_0x4f5e8a(0x1a6))throw CliErrors[_0x4f5e8a(0x197)](_0x441330+_0x4f5e8a(0x1a2));const _0x7798c6=parseJson(_0x57a99c,_0x441330);if(!Array[_0x4f5e8a(0x1a0)](_0x7798c6)||_0x7798c6[_0x4f5e8a(0x1af)](_0x334502=>typeof _0x334502!==_0x4f5e8a(0x1a6)))throw CliErrors[_0x4f5e8a(0x197)](_0x441330+'\x20must\x20be\x20an\x20array\x20of\x20URLs.');return _0x7798c6;}export function buildSubappAssetsStatus(_0x545337,_0x767071,_0x192452){const _0x198ab1=a176_0x5a98,_0x29684f=_0x545337[_0x198ab1(0x1a7)]==null?{}:objectValue(_0x545337['extend'],_0x198ab1(0x184)),_0x16b112=_0x29684f[_0x198ab1(0x1ac)]==null?[]:typeof _0x29684f[_0x198ab1(0x1ac)]==='string'?parseJson(_0x29684f[_0x198ab1(0x1ac)],_0x198ab1(0x1aa)):_0x29684f['assets'];if(!Array['isArray'](_0x16b112))throw CliErrors[_0x198ab1(0x197)](_0x198ab1(0x190));const _0x2b539b=_0x16b112[_0x198ab1(0x1a3)]((_0x143247,_0x4ec9b1)=>objectValue(_0x143247,_0x198ab1(0x195)+_0x4ec9b1+']')),_0x3198d6=_0x2b539b['filter'](_0x3a0a2e=>_0x3a0a2e[_0x198ab1(0x186)]===_0x192452);if(_0x3198d6['length']>0x1)throw CliErrors[_0x198ab1(0x197)](_0x198ab1(0x1ae)+_0x192452+'.');const _0x28aae1=_0x3198d6[0x0],_0x2aee9d=_0x28aae1?.[_0x198ab1(0x1a9)]==null?[]:resourceList(_0x28aae1['resources'],_0x198ab1(0x1a5)),_0x2d9b15=_0x767071['filter'](_0x2f40a6=>_0x2f40a6['extend']?.[_0x198ab1(0x186)]===_0x192452),_0x4efeaa=_0x2d9b15[_0x198ab1(0x1a3)](_0x15dcf7=>{const _0x5e8fdc=_0x198ab1;let _0x501654=null,_0x3bd564=null;try{_0x501654=_0x15dcf7[_0x5e8fdc(0x1a7)]?.[_0x5e8fdc(0x1a9)]==null?_0x15dcf7[_0x5e8fdc(0x1a9)]:resourceList(_0x15dcf7[_0x5e8fdc(0x1a7)][_0x5e8fdc(0x1a9)],_0x5e8fdc(0x183)+_0x15dcf7['id']+_0x5e8fdc(0x19f));}catch(_0x1a1045){_0x3bd564=_0x1a1045 instanceof Error?_0x1a1045[_0x5e8fdc(0x191)]:String(_0x1a1045);}const _0x452d35=_0x2aee9d[_0x5e8fdc(0x18f)]>0x0?_0x5e8fdc(0x1a1):'menu',_0x282fe0=_0x452d35==='app'?_0x2aee9d:_0x501654;return{'id':_0x15dcf7['id'],'path':_0x15dcf7['path'],'preferredSourceIfSupported':_0x452d35,'preferredResourcesIfSupported':_0x282fe0,'menuFallbackResources':_0x501654,'menuFallbackError':_0x3bd564,'fallbackDiffers':_0x501654===null?null:_0x452d35===_0x5e8fdc(0x1a1)&&_0x501654[_0x5e8fdc(0x18f)]>0x0&&JSON[_0x5e8fdc(0x1b0)](_0x501654)!==JSON['stringify'](_0x282fe0)};});return{'appName':_0x192452,'hostCapabilityVerified':![],'sharedConfigured':Boolean(_0x28aae1),'sharedResources':_0x2aee9d,'loadScriptMode':_0x28aae1?.[_0x198ab1(0x1ab)]??null,'basename':_0x28aae1?.[_0x198ab1(0x188)]??null,'boundMenus':_0x4efeaa[_0x198ab1(0x18f)],'staleMenuFallbacks':_0x4efeaa['filter'](_0x27f207=>_0x27f207[_0x198ab1(0x18e)])['length'],'menus':_0x4efeaa};}export async function assertSharedResourcesConfigured(_0x25f181,_0x2db433,_0x83c284){const _0x493814=a176_0x5a98,_0x150cbf=await getSmartAppRecord(_0x25f181,_0x2db433),_0x41d544=buildSubappAssetsStatus(_0x150cbf,[],_0x83c284);if(!_0x41d544[_0x493814(0x18b)]||_0x41d544[_0x493814(0x18d)][_0x493814(0x18f)]===0x0)throw CliErrors[_0x493814(0x197)](_0x493814(0x19e)+_0x83c284+'.');}export const SUBAPP_ASSET_SELECTOR_FLAGS=[{...APPCODE_FLAG,'required':![],'description':a176_0xbd668b(0x19c)},{'name':a176_0xbd668b(0x189),'type':a176_0xbd668b(0x1a6),'required':!![],'description':a176_0xbd668b(0x185)}];export function getSubappSelector(_0x18cdf3){const _0x19ba40=a176_0xbd668b,_0x459b71=_0x18cdf3[_0x19ba40(0x192)],_0x444ec5=_0x18cdf3[_0x19ba40(0x18c)](_0x19ba40(0x189))['trim']();if(!_0x444ec5)throw CliErrors[_0x19ba40(0x197)](_0x19ba40(0x18a));return{'appCode':_0x459b71,'appName':_0x444ec5};}
@@ -1 +1 @@
1
- const a173_0x5bea17=a173_0x41a3;(function(_0x3470db,_0x484a04){const _0x4be0fb=a173_0x41a3,_0x322119=_0x3470db();while(!![]){try{const _0x435c25=parseInt(_0x4be0fb(0x15c))/0x1*(-parseInt(_0x4be0fb(0x138))/0x2)+-parseInt(_0x4be0fb(0x14e))/0x3+parseInt(_0x4be0fb(0x14d))/0x4+parseInt(_0x4be0fb(0x167))/0x5+-parseInt(_0x4be0fb(0x169))/0x6*(-parseInt(_0x4be0fb(0x131))/0x7)+-parseInt(_0x4be0fb(0x162))/0x8+parseInt(_0x4be0fb(0x154))/0x9*(parseInt(_0x4be0fb(0x128))/0xa);if(_0x435c25===_0x484a04)break;else _0x322119['push'](_0x322119['shift']());}catch(_0x11a8b4){_0x322119['push'](_0x322119['shift']());}}}(a173_0x8586,0x480cd));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{menuPathKey}from'../../../commands/menu/shared/path.js';import{logger}from'../../../utils/logger.js';import{assertSharedResourcesConfigured}from'../../../commands/menu/shared/subapp-assets.js';const MENU_SYNC_PARAM_KEYS=new Set(['jsUrl',a173_0x5bea17(0x142),'appName',a173_0x5bea17(0x12b),'parentId']);export function resolvePage(_0x4547b2,_0x396f42,_0x33b43a){const _0x116541=a173_0x5bea17;let _0x55cd6d=_0x396f42[_0x116541(0x165)]??_0x4547b2[_0x116541(0x165)];if(_0x55cd6d===undefined&&_0x4547b2[_0x116541(0x13f)]){const _0x2f6b67=_0x33b43a[_0x116541(0x137)](_0x5b7405=>_0x5b7405['type']===_0x116541(0x14a)&&_0x5b7405[_0x116541(0x15a)]===_0x4547b2[_0x116541(0x13f)]);if(_0x2f6b67['length']!==0x1)throw new Error(_0x116541(0x140)+_0x4547b2[_0x116541(0x13f)]+_0x116541(0x151)+_0x4547b2[_0x116541(0x134)]+';\x20found\x20'+_0x2f6b67[_0x116541(0x149)]);_0x55cd6d=_0x2f6b67[0x0]['id'];}if(_0x55cd6d!==undefined&&_0x55cd6d!==0x0&&_0x33b43a[_0x116541(0x137)](_0x4776e8=>_0x4776e8['id']===_0x55cd6d&&_0x4776e8[_0x116541(0x14f)]===_0x116541(0x14a))[_0x116541(0x149)]!==0x1)throw new Error(_0x116541(0x129)+_0x55cd6d+_0x116541(0x135));return{..._0x4547b2,..._0x55cd6d===undefined?{}:{'parentId':_0x55cd6d},..._0x396f42[_0x116541(0x12b)]===undefined?{}:{'visible':_0x396f42[_0x116541(0x12b)]}};}function a173_0x41a3(_0x38596f,_0x2ded51){_0x38596f=_0x38596f-0x128;const _0x8586b=a173_0x8586();let _0x41a315=_0x8586b[_0x38596f];return _0x41a315;}function validateParams(_0x5a99da){const _0x1e846d=a173_0x5bea17,_0xe48018=[];return _0x5a99da['jsUrl']&&!isValidJsHttpsUrl(_0x5a99da[_0x1e846d(0x164)])&&_0xe48018[_0x1e846d(0x157)]({'field':_0x1e846d(0x164),'message':_0x1e846d(0x136)}),_0x5a99da[_0x1e846d(0x142)]&&!isValidCssHttpsUrl(_0x5a99da[_0x1e846d(0x142)])&&_0xe48018[_0x1e846d(0x157)]({'field':'cssUrl','message':_0x1e846d(0x12a)}),_0xe48018;}function a173_0x8586(){const _0xb1f1ee=['number','dryRun','order','3749008DTqJzD','import','jsUrl','parentId','keys','1635060cvpupw','menu-sync','6jIHsvX','10eOyEHq','Parent\x20','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','visible','parse','Menu\x20sync\x20completed','appName','trim','has','2997099CcFsXq','Invalid\x20--params.visible:\x20expected\x20a\x20boolean.','Start\x20non-interactive\x20menu\x20sync','path','\x20must\x20be\x20an\x20existing\x20folder\x20in\x20the\x20selected\x20menu\x20host.','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','filter','4vGPkFl','Invalid\x20--params.','Invalid\x20--params\x20JSON.','--params.','CSS\x20URL\x20is\x20unreachable:\x20','join','Invalid\x20--params\x20fields:\x20','group','Expected\x20one\x20folder\x20named\x20\x22','get','cssUrl','message','Invalid\x20--params:\x20','setLogPath','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','Invalid\x20--params.parentId:\x20expected\x20a\x20non-negative\x20integer.','length','folder','field','info','1131636WzjAIV','1304721MNCExX','type','\x0a\x20\x20Available\x20local\x20paths:\x20','\x22\x20for\x20',':\x20expected\x20a\x20non-empty\x20string.','map','4797972kZQyqd','string','isArray','push','boolean','cwd','label','pages','186268FPIfWx','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','No\x20local\x20pages\x20matched\x20paths:\x20'];a173_0x8586=function(){return _0xb1f1ee;};return a173_0x8586();}export async function runMenuSyncCore(_0x4aa978,_0x1f7462,_0x5a1170=[],_0x4ef57d,_0x4bb1c1={}){const _0x3da71f=a173_0x5bea17,_0x1abb2f=parseMenuSyncParams(_0x4ef57d),_0x57f7ee=[...new Set(_0x5a1170[_0x3da71f(0x153)](_0x22809d=>_0x22809d[_0x3da71f(0x12f)]())[_0x3da71f(0x137)](Boolean)['map'](menuPathKey))],_0xcb7501=_0x1abb2f[_0x3da71f(0x164)],_0x1a6bbd=_0x1abb2f[_0x3da71f(0x142)],_0x469016=[];if(_0xcb7501)_0x469016[_0x3da71f(0x157)](_0xcb7501);if(_0x1a6bbd)_0x469016[_0x3da71f(0x157)](_0x1a6bbd);const _0x323605=validateParams(_0x1abb2f);if(_0x323605['length']>0x0){const _0x26380b=_0x323605[_0x3da71f(0x153)](_0xc5bab2=>_0x3da71f(0x13b)+_0xc5bab2[_0x3da71f(0x14b)]+':\x20'+_0xc5bab2[_0x3da71f(0x143)])['join'](';\x20');throw new Error(_0x3da71f(0x144)+_0x26380b);}logger[_0x3da71f(0x145)](process[_0x3da71f(0x159)]()),logger[_0x3da71f(0x14c)](_0x3da71f(0x168),_0x3da71f(0x133),{'appCode':_0x4aa978,'selectedCount':_0x57f7ee[_0x3da71f(0x149)],'jsUrl':_0xcb7501,'cssUrl':_0x1a6bbd});if(_0xcb7501){const _0x48ce96=await isUrlReachable(_0xcb7501);if(!_0x48ce96)throw new Error('JS\x20URL\x20is\x20unreachable:\x20'+_0xcb7501);}if(_0x1a6bbd){const _0x2a6b86=await isUrlReachable(_0x1a6bbd);if(!_0x2a6b86)throw new Error(_0x3da71f(0x13c)+_0x1a6bbd);}const _0x4c62cc=getLocalPages();if(_0x4c62cc[_0x3da71f(0x149)]===0x0){if(_0x57f7ee['length']>0x0)throw new Error(_0x3da71f(0x15e)+_0x57f7ee['join'](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x4bb1c1[_0x3da71f(0x160)]===!![],'targetPages':[],'plannedMenus':[]};}const _0x44c851=await getOnlineMenuList(_0x4aa978,_0x1f7462),_0x1b3170=new Set(_0x44c851[_0x3da71f(0x153)](_0x2e1edc=>menuPathKey(_0x2e1edc[_0x3da71f(0x134)])));let _0x34bc7e;if(_0x57f7ee[_0x3da71f(0x149)]>0x0){const _0x1ec557=new Map(_0x4c62cc[_0x3da71f(0x153)](_0x25ab99=>[menuPathKey(_0x25ab99[_0x3da71f(0x134)]),_0x25ab99])),_0x34a44c=_0x57f7ee[_0x3da71f(0x137)](_0x475c45=>!_0x1ec557[_0x3da71f(0x130)](_0x475c45));if(_0x34a44c['length']>0x0){const _0x48e650=_0x4c62cc['map'](_0x1989b7=>_0x1989b7[_0x3da71f(0x134)])['join'](',\x20');throw new Error(_0x3da71f(0x15e)+_0x34a44c[_0x3da71f(0x13d)](',\x20')+_0x3da71f(0x150)+_0x48e650);}const _0x2e448b=_0x57f7ee[_0x3da71f(0x137)](_0x5ed7a4=>_0x1b3170[_0x3da71f(0x130)](_0x5ed7a4));if(_0x2e448b[_0x3da71f(0x149)]>0x0)throw new Error(_0x3da71f(0x147)+_0x2e448b[_0x3da71f(0x13d)](',\x20'));_0x34bc7e=_0x57f7ee['map'](_0x165521=>_0x1ec557[_0x3da71f(0x141)](_0x165521));}else _0x34bc7e=_0x4c62cc[_0x3da71f(0x137)](_0x291579=>!_0x1b3170['has'](menuPathKey(_0x291579['path'])));if(_0x34bc7e[_0x3da71f(0x149)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x4bb1c1[_0x3da71f(0x160)]===!![],'targetPages':[],'plannedMenus':[]};_0x34bc7e=_0x34bc7e[_0x3da71f(0x153)](_0x4cf6ef=>resolvePage(_0x4cf6ef,_0x1abb2f,_0x44c851));_0x1abb2f['appName']&&_0x469016[_0x3da71f(0x149)]===0x0&&await assertSharedResourcesConfigured(_0x4aa978,_0x1f7462,_0x1abb2f[_0x3da71f(0x12e)]);const _0x23060e=_0x34bc7e['map'](_0x2d2e57=>({'type':'procode','path':_0x2d2e57[_0x3da71f(0x134)],'label':_0x2d2e57[_0x3da71f(0x15a)],'loadScriptMode':_0x3da71f(0x163),'resources':[..._0x469016],..._0x2d2e57[_0x3da71f(0x12b)]===undefined?{}:{'visible':_0x2d2e57[_0x3da71f(0x12b)]},..._0x2d2e57[_0x3da71f(0x165)]===undefined?{}:{'parentId':_0x2d2e57[_0x3da71f(0x165)]},..._0x2d2e57[_0x3da71f(0x161)]===undefined?{}:{'sort':_0x2d2e57['order']},..._0x1abb2f[_0x3da71f(0x12e)]===undefined?{}:{'appName':_0x1abb2f['appName']}}));if(_0x4bb1c1['dryRun'])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x34bc7e,'plannedMenus':_0x23060e};const _0x35c132=_0x1abb2f['appName']?await createMenus(_0x4aa978,_0x1f7462,_0x34bc7e,_0x469016[_0x3da71f(0x149)]>0x0?_0x469016:undefined,{'appName':_0x1abb2f[_0x3da71f(0x12e)]}):await createMenus(_0x4aa978,_0x1f7462,_0x34bc7e,_0x469016['length']>0x0?_0x469016:undefined);return logger['info'](_0x3da71f(0x168),_0x3da71f(0x12d),{'count':_0x34bc7e[_0x3da71f(0x149)],'resources':_0x469016}),{'created':_0x35c132[_0x3da71f(0x149)],'skipped':![],'dryRun':![],'targetPages':_0x34bc7e,'plannedMenus':_0x23060e,'menus':_0x35c132};}export function parseMenuSyncParams(_0x5b8839){const _0x5c033e=a173_0x5bea17;if(!_0x5b8839||typeof _0x5b8839!==_0x5c033e(0x155))return{};let _0x238549;try{_0x238549=JSON[_0x5c033e(0x12c)](_0x5b8839);}catch{throw new Error(_0x5c033e(0x13a));}if(typeof _0x238549!=='object'||_0x238549===null||Array[_0x5c033e(0x156)](_0x238549))throw new Error(_0x5c033e(0x15d));const _0xbd8684=_0x238549;if(Object['hasOwn'](_0xbd8684,_0x5c033e(0x15b)))throw new Error(_0x5c033e(0x146));const _0x2ddf35=Object[_0x5c033e(0x166)](_0xbd8684)['filter'](_0x28e952=>!MENU_SYNC_PARAM_KEYS[_0x5c033e(0x130)](_0x28e952));if(_0x2ddf35[_0x5c033e(0x149)]>0x0)throw new Error(_0x5c033e(0x13e)+_0x2ddf35['join'](',\x20')+'.');for(const _0x55518 of[_0x5c033e(0x164),_0x5c033e(0x142),_0x5c033e(0x12e)]){const _0x3402af=_0xbd8684[_0x55518];if(_0x3402af!==undefined&&(typeof _0x3402af!==_0x5c033e(0x155)||_0x3402af[_0x5c033e(0x12f)]()===''))throw new Error(_0x5c033e(0x139)+_0x55518+_0x5c033e(0x152));}if(_0xbd8684[_0x5c033e(0x12b)]!==undefined&&typeof _0xbd8684['visible']!==_0x5c033e(0x158))throw new Error(_0x5c033e(0x132));if(_0xbd8684['parentId']!==undefined&&(!Number['isInteger'](_0xbd8684[_0x5c033e(0x165)])||_0xbd8684[_0x5c033e(0x165)]<0x0))throw new Error(_0x5c033e(0x148));return{'jsUrl':typeof _0xbd8684[_0x5c033e(0x164)]===_0x5c033e(0x155)?_0xbd8684[_0x5c033e(0x164)][_0x5c033e(0x12f)]():undefined,'cssUrl':typeof _0xbd8684['cssUrl']===_0x5c033e(0x155)?_0xbd8684[_0x5c033e(0x142)][_0x5c033e(0x12f)]():undefined,'appName':typeof _0xbd8684['appName']===_0x5c033e(0x155)?_0xbd8684[_0x5c033e(0x12e)][_0x5c033e(0x12f)]():undefined,'visible':typeof _0xbd8684[_0x5c033e(0x12b)]===_0x5c033e(0x158)?_0xbd8684[_0x5c033e(0x12b)]:undefined,'parentId':typeof _0xbd8684[_0x5c033e(0x165)]===_0x5c033e(0x15f)?_0xbd8684[_0x5c033e(0x165)]:undefined};}
1
+ const a177_0x4444e3=a177_0x3294;(function(_0x500ac8,_0x5cbe9c){const _0x627f11=a177_0x3294,_0x31696f=_0x500ac8();while(!![]){try{const _0x2207ef=-parseInt(_0x627f11(0x10f))/0x1*(parseInt(_0x627f11(0xd7))/0x2)+-parseInt(_0x627f11(0x101))/0x3+-parseInt(_0x627f11(0xf8))/0x4+-parseInt(_0x627f11(0xdd))/0x5*(parseInt(_0x627f11(0xef))/0x6)+-parseInt(_0x627f11(0x106))/0x7*(-parseInt(_0x627f11(0xf3))/0x8)+parseInt(_0x627f11(0xed))/0x9*(parseInt(_0x627f11(0xf4))/0xa)+parseInt(_0x627f11(0xd2))/0xb;if(_0x2207ef===_0x5cbe9c)break;else _0x31696f['push'](_0x31696f['shift']());}catch(_0x5a955e){_0x31696f['push'](_0x31696f['shift']());}}}(a177_0x1d0d,0x51e39));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{menuPathKey}from'../../../commands/menu/shared/path.js';function a177_0x3294(_0x41792e,_0x20b203){_0x41792e=_0x41792e-0xd1;const _0x1d0d74=a177_0x1d0d();let _0x3294a6=_0x1d0d74[_0x41792e];return _0x3294a6;}import{logger}from'../../../utils/logger.js';import{assertSharedResourcesConfigured}from'../../../commands/menu/shared/subapp-assets.js';const MENU_SYNC_PARAM_KEYS=new Set([a177_0x4444e3(0xe8),'cssUrl','appName',a177_0x4444e3(0xe1),a177_0x4444e3(0x103)]);export function resolvePage(_0x327f2c,_0x1c9f72,_0x356375){const _0x4f486a=a177_0x4444e3;let _0x3087d5=_0x1c9f72['parentId']??_0x327f2c['parentId'];if(_0x3087d5===undefined&&_0x327f2c[_0x4f486a(0xf0)]){const _0x2f5735=_0x356375[_0x4f486a(0xfb)](_0x3ebd05=>_0x3ebd05['type']===_0x4f486a(0xeb)&&_0x3ebd05['label']===_0x327f2c[_0x4f486a(0xf0)]);if(_0x2f5735[_0x4f486a(0x10a)]!==0x1)throw new Error(_0x4f486a(0x108)+_0x327f2c['group']+_0x4f486a(0xee)+_0x327f2c[_0x4f486a(0x102)]+_0x4f486a(0xfd)+_0x2f5735[_0x4f486a(0x10a)]);_0x3087d5=_0x2f5735[0x0]['id'];}if(_0x3087d5!==undefined&&_0x3087d5!==0x0&&_0x356375['filter'](_0x40f80c=>_0x40f80c['id']===_0x3087d5&&_0x40f80c[_0x4f486a(0x109)]===_0x4f486a(0xeb))[_0x4f486a(0x10a)]!==0x1)throw new Error('Parent\x20'+_0x3087d5+_0x4f486a(0xfe));return{..._0x327f2c,..._0x3087d5===undefined?{}:{'parentId':_0x3087d5},..._0x1c9f72[_0x4f486a(0xe1)]===undefined?{}:{'visible':_0x1c9f72['visible']}};}function validateParams(_0x461539){const _0x140de6=a177_0x4444e3,_0x129e0f=[];return _0x461539[_0x140de6(0xe8)]&&!isValidJsHttpsUrl(_0x461539[_0x140de6(0xe8)])&&_0x129e0f['push']({'field':_0x140de6(0xe8),'message':'JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'}),_0x461539[_0x140de6(0xea)]&&!isValidCssHttpsUrl(_0x461539['cssUrl'])&&_0x129e0f[_0x140de6(0xe0)]({'field':_0x140de6(0xea),'message':_0x140de6(0xd3)}),_0x129e0f;}export async function runMenuSyncCore(_0x192435,_0x41dfa6,_0x397fcf=[],_0x47536d,_0x12c6dd={}){const _0x435739=a177_0x4444e3,_0x3f3532=parseMenuSyncParams(_0x47536d),_0x20b761=[...new Set(_0x397fcf['map'](_0x43ab60=>_0x43ab60[_0x435739(0xe4)]())[_0x435739(0xfb)](Boolean)['map'](menuPathKey))],_0xfdb125=_0x3f3532[_0x435739(0xe8)],_0x34a43e=_0x3f3532[_0x435739(0xea)],_0x1f7bb3=[];if(_0xfdb125)_0x1f7bb3[_0x435739(0xe0)](_0xfdb125);if(_0x34a43e)_0x1f7bb3[_0x435739(0xe0)](_0x34a43e);const _0x465032=validateParams(_0x3f3532);if(_0x465032['length']>0x0){const _0x104eaa=_0x465032[_0x435739(0x10b)](_0x501180=>'--params.'+_0x501180[_0x435739(0xdf)]+':\x20'+_0x501180[_0x435739(0xda)])['join'](';\x20');throw new Error(_0x435739(0xe2)+_0x104eaa);}logger[_0x435739(0xf7)](process[_0x435739(0xd5)]()),logger[_0x435739(0x107)](_0x435739(0xff),_0x435739(0xec),{'appCode':_0x192435,'selectedCount':_0x20b761[_0x435739(0x10a)],'jsUrl':_0xfdb125,'cssUrl':_0x34a43e});if(_0xfdb125){const _0x43f36f=await isUrlReachable(_0xfdb125);if(!_0x43f36f)throw new Error(_0x435739(0x10e)+_0xfdb125);}if(_0x34a43e){const _0x2400f8=await isUrlReachable(_0x34a43e);if(!_0x2400f8)throw new Error('CSS\x20URL\x20is\x20unreachable:\x20'+_0x34a43e);}const _0x533645=getLocalPages();if(_0x533645[_0x435739(0x10a)]===0x0){if(_0x20b761['length']>0x0)throw new Error(_0x435739(0xde)+_0x20b761[_0x435739(0xd6)](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x12c6dd[_0x435739(0xf1)]===!![],'targetPages':[],'plannedMenus':[]};}const _0x3f60b5=await getOnlineMenuList(_0x192435,_0x41dfa6),_0xd116ca=new Set(_0x3f60b5[_0x435739(0x10b)](_0x199fd5=>menuPathKey(_0x199fd5['path'])));let _0x4ed0d6;if(_0x20b761[_0x435739(0x10a)]>0x0){const _0x1febb9=new Map(_0x533645['map'](_0x5ce94f=>[menuPathKey(_0x5ce94f['path']),_0x5ce94f])),_0x2b1b4f=_0x20b761[_0x435739(0xfb)](_0x133204=>!_0x1febb9[_0x435739(0x104)](_0x133204));if(_0x2b1b4f['length']>0x0){const _0x37a4ca=_0x533645['map'](_0x35d731=>_0x35d731['path'])[_0x435739(0xd6)](',\x20');throw new Error(_0x435739(0xde)+_0x2b1b4f[_0x435739(0xd6)](',\x20')+_0x435739(0xd8)+_0x37a4ca);}const _0xb7f3b8=_0x20b761[_0x435739(0xfb)](_0x3dc3e4=>_0xd116ca['has'](_0x3dc3e4));if(_0xb7f3b8[_0x435739(0x10a)]>0x0)throw new Error(_0x435739(0xf5)+_0xb7f3b8[_0x435739(0xd6)](',\x20'));_0x4ed0d6=_0x20b761[_0x435739(0x10b)](_0x54cda4=>_0x1febb9[_0x435739(0x100)](_0x54cda4));}else _0x4ed0d6=_0x533645[_0x435739(0xfb)](_0x48f960=>!_0xd116ca[_0x435739(0x104)](menuPathKey(_0x48f960[_0x435739(0x102)])));if(_0x4ed0d6[_0x435739(0x10a)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x12c6dd[_0x435739(0xf1)]===!![],'targetPages':[],'plannedMenus':[]};_0x4ed0d6=_0x4ed0d6[_0x435739(0x10b)](_0x32cda0=>resolvePage(_0x32cda0,_0x3f3532,_0x3f60b5));_0x3f3532[_0x435739(0xdc)]&&_0x1f7bb3[_0x435739(0x10a)]===0x0&&await assertSharedResourcesConfigured(_0x192435,_0x41dfa6,_0x3f3532[_0x435739(0xdc)]);const _0x926157=_0x4ed0d6['map'](_0x41a591=>({'type':'procode','path':_0x41a591[_0x435739(0x102)],'label':_0x41a591[_0x435739(0xf6)],'loadScriptMode':'import','resources':[..._0x1f7bb3],..._0x41a591['visible']===undefined?{}:{'visible':_0x41a591['visible']},..._0x41a591[_0x435739(0x103)]===undefined?{}:{'parentId':_0x41a591['parentId']},..._0x41a591[_0x435739(0xe6)]===undefined?{}:{'sort':_0x41a591[_0x435739(0xe6)]},..._0x3f3532[_0x435739(0xdc)]===undefined?{}:{'appName':_0x3f3532[_0x435739(0xdc)]}}));if(_0x12c6dd[_0x435739(0xf1)])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x4ed0d6,'plannedMenus':_0x926157};const _0xc6dceb=_0x3f3532['appName']?await createMenus(_0x192435,_0x41dfa6,_0x4ed0d6,_0x1f7bb3[_0x435739(0x10a)]>0x0?_0x1f7bb3:undefined,{'appName':_0x3f3532[_0x435739(0xdc)]}):await createMenus(_0x192435,_0x41dfa6,_0x4ed0d6,_0x1f7bb3[_0x435739(0x10a)]>0x0?_0x1f7bb3:undefined);return logger['info'](_0x435739(0xff),_0x435739(0xe3),{'count':_0x4ed0d6[_0x435739(0x10a)],'resources':_0x1f7bb3}),{'created':_0xc6dceb[_0x435739(0x10a)],'skipped':![],'dryRun':![],'targetPages':_0x4ed0d6,'plannedMenus':_0x926157,'menus':_0xc6dceb};}export function parseMenuSyncParams(_0x4e6b9d){const _0x10e7b2=a177_0x4444e3;if(!_0x4e6b9d||typeof _0x4e6b9d!==_0x10e7b2(0xfc))return{};let _0xd463d6;try{_0xd463d6=JSON['parse'](_0x4e6b9d);}catch{throw new Error(_0x10e7b2(0x105));}if(typeof _0xd463d6!=='object'||_0xd463d6===null||Array[_0x10e7b2(0xf2)](_0xd463d6))throw new Error(_0x10e7b2(0xdb));const _0x2a4a3a=_0xd463d6;if(Object[_0x10e7b2(0xd4)](_0x2a4a3a,_0x10e7b2(0x10c)))throw new Error(_0x10e7b2(0xd1));const _0x18dd45=Object[_0x10e7b2(0xd9)](_0x2a4a3a)['filter'](_0x5d52ff=>!MENU_SYNC_PARAM_KEYS[_0x10e7b2(0x104)](_0x5d52ff));if(_0x18dd45[_0x10e7b2(0x10a)]>0x0)throw new Error(_0x10e7b2(0xe5)+_0x18dd45[_0x10e7b2(0xd6)](',\x20')+'.');for(const _0x4669c2 of['jsUrl',_0x10e7b2(0xea),_0x10e7b2(0xdc)]){const _0x24db30=_0x2a4a3a[_0x4669c2];if(_0x24db30!==undefined&&(typeof _0x24db30!==_0x10e7b2(0xfc)||_0x24db30[_0x10e7b2(0xe4)]()===''))throw new Error('Invalid\x20--params.'+_0x4669c2+_0x10e7b2(0x10d));}if(_0x2a4a3a['visible']!==undefined&&typeof _0x2a4a3a[_0x10e7b2(0xe1)]!==_0x10e7b2(0xe7))throw new Error(_0x10e7b2(0xfa));if(_0x2a4a3a['parentId']!==undefined&&(!Number[_0x10e7b2(0xe9)](_0x2a4a3a['parentId'])||_0x2a4a3a[_0x10e7b2(0x103)]<0x0))throw new Error('Invalid\x20--params.parentId:\x20expected\x20a\x20non-negative\x20integer.');return{'jsUrl':typeof _0x2a4a3a[_0x10e7b2(0xe8)]==='string'?_0x2a4a3a['jsUrl'][_0x10e7b2(0xe4)]():undefined,'cssUrl':typeof _0x2a4a3a[_0x10e7b2(0xea)]===_0x10e7b2(0xfc)?_0x2a4a3a[_0x10e7b2(0xea)][_0x10e7b2(0xe4)]():undefined,'appName':typeof _0x2a4a3a[_0x10e7b2(0xdc)]===_0x10e7b2(0xfc)?_0x2a4a3a['appName'][_0x10e7b2(0xe4)]():undefined,'visible':typeof _0x2a4a3a[_0x10e7b2(0xe1)]===_0x10e7b2(0xe7)?_0x2a4a3a['visible']:undefined,'parentId':typeof _0x2a4a3a[_0x10e7b2(0x103)]===_0x10e7b2(0xf9)?_0x2a4a3a[_0x10e7b2(0x103)]:undefined};}function a177_0x1d0d(){const _0x292783=['pages',':\x20expected\x20a\x20non-empty\x20string.','JS\x20URL\x20is\x20unreachable:\x20','84aWmlqf','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','14720200RhaGSI','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','hasOwn','cwd','join','5334xXgulq','\x0a\x20\x20Available\x20local\x20paths:\x20','keys','message','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','appName','59195qNtnVR','No\x20local\x20pages\x20matched\x20paths:\x20','field','push','visible','Invalid\x20--params:\x20','Menu\x20sync\x20completed','trim','Invalid\x20--params\x20fields:\x20','order','boolean','jsUrl','isInteger','cssUrl','folder','Start\x20non-interactive\x20menu\x20sync','2871HccYyY','\x22\x20for\x20','264IcQhpN','group','dryRun','isArray','8OHpFpw','6530SCKfNt','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','label','setLogPath','200292lBwTmC','number','Invalid\x20--params.visible:\x20expected\x20a\x20boolean.','filter','string',';\x20found\x20','\x20must\x20be\x20an\x20existing\x20folder\x20in\x20the\x20selected\x20menu\x20host.','menu-sync','get','1680882aqXQPH','path','parentId','has','Invalid\x20--params\x20JSON.','1009547jRGKwG','info','Expected\x20one\x20folder\x20named\x20\x22','type','length','map'];a177_0x1d0d=function(){return _0x292783;};return a177_0x1d0d();}
@@ -1 +1 @@
1
- (function(_0xb8ae26,_0x29dcda){const _0x2e3db9=a175_0x3d0e,_0x1c4aa9=_0xb8ae26();while(!![]){try{const _0x30157b=-parseInt(_0x2e3db9(0x161))/0x1*(-parseInt(_0x2e3db9(0x168))/0x2)+-parseInt(_0x2e3db9(0x15b))/0x3*(parseInt(_0x2e3db9(0x18c))/0x4)+-parseInt(_0x2e3db9(0x14c))/0x5+-parseInt(_0x2e3db9(0x152))/0x6*(parseInt(_0x2e3db9(0x16e))/0x7)+-parseInt(_0x2e3db9(0x150))/0x8+-parseInt(_0x2e3db9(0x17a))/0x9+-parseInt(_0x2e3db9(0x178))/0xa*(-parseInt(_0x2e3db9(0x186))/0xb);if(_0x30157b===_0x29dcda)break;else _0x1c4aa9['push'](_0x1c4aa9['shift']());}catch(_0x103e48){_0x1c4aa9['push'](_0x1c4aa9['shift']());}}}(a175_0x4c20,0xcd2c7));import{updateMenuCdnUrl,getOnlineMenuList}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';import{logger}from'../../../utils/logger.js';function validateParams(_0x3a924e){const _0x1e5295=a175_0x3d0e,_0x4d1383=[];return _0x3a924e[_0x1e5295(0x172)]&&!isValidJsHttpsUrl(_0x3a924e[_0x1e5295(0x172)])&&_0x4d1383[_0x1e5295(0x163)]({'field':'jsUrl','message':_0x1e5295(0x156)}),_0x3a924e[_0x1e5295(0x155)]&&!isValidCssHttpsUrl(_0x3a924e[_0x1e5295(0x155)])&&_0x4d1383[_0x1e5295(0x163)]({'field':'cssUrl','message':_0x1e5295(0x162)}),_0x4d1383;}export async function runMenuUpdateCore(_0x14c653,_0x3320a1,_0x51838a,_0x18c6a4={}){const _0x4e9915=a175_0x3d0e,_0x1247b4=parseUpdateParamsFlag(_0x51838a),_0x3607d0=normalizeMode(_0x18c6a4['mode']);validateSelection(_0x18c6a4[_0x4e9915(0x181)]);const _0x4d964b=[];if(_0x1247b4['jsUrl'])_0x4d964b['push'](_0x1247b4[_0x4e9915(0x172)]);if(_0x1247b4[_0x4e9915(0x155)])_0x4d964b[_0x4e9915(0x163)](_0x1247b4[_0x4e9915(0x155)]);const _0x46462c=validateParams(_0x1247b4);if(_0x46462c[_0x4e9915(0x14d)]>0x0){const _0x55a2e4=_0x46462c[_0x4e9915(0x157)](_0x456c8f=>_0x4e9915(0x14e)+_0x456c8f[_0x4e9915(0x166)]+':\x20'+_0x456c8f[_0x4e9915(0x15d)])['join'](';\x20');throw new Error(_0x4e9915(0x189)+_0x55a2e4);}if(_0x4d964b[_0x4e9915(0x14d)]===0x0)throw new Error(_0x4e9915(0x175)+'Pass\x20--params\x20\x27{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}\x27\x20to\x20update\x20assets.');logger['setLogPath'](process[_0x4e9915(0x16d)]()),logger['info'](_0x4e9915(0x18b),'Start\x20non-interactive\x20menu\x20asset\x20update',{'appCode':_0x14c653,'jsUrl':_0x1247b4[_0x4e9915(0x172)],'cssUrl':_0x1247b4[_0x4e9915(0x155)],'mode':_0x3607d0,'dryRun':_0x18c6a4[_0x4e9915(0x151)]===!![]});if(_0x1247b4[_0x4e9915(0x172)]){const _0x4286a3=await isUrlReachable(_0x1247b4[_0x4e9915(0x172)]);if(!_0x4286a3)throw new Error(_0x4e9915(0x183)+_0x1247b4[_0x4e9915(0x172)]);}if(_0x1247b4[_0x4e9915(0x155)]){const _0x212b65=await isUrlReachable(_0x1247b4[_0x4e9915(0x155)]);if(!_0x212b65)throw new Error(_0x4e9915(0x174)+_0x1247b4[_0x4e9915(0x155)]);}const _0x1899fb=await getOnlineMenuList(_0x14c653,_0x3320a1),_0x50a1fb=_0x1899fb[_0x4e9915(0x180)](_0x1cb798=>_0x1cb798[_0x4e9915(0x159)][_0x4e9915(0x14d)]>0x0),_0x521ff4=selectMenusForUpdate(_0x50a1fb,_0x18c6a4[_0x4e9915(0x181)]);if(_0x521ff4[_0x4e9915(0x14d)]===0x0)return{'updated':0x0,'failed':0x0,'skipped':!![],'dryRun':_0x18c6a4[_0x4e9915(0x151)]===!![]};const _0x4c7736=_0x521ff4['map'](_0x53394a=>buildMenuUpdateDiff(_0x53394a,_0x1247b4,_0x3607d0,_0x18c6a4['force']===!![],_0x18c6a4[_0x4e9915(0x17d)]));if(_0x18c6a4['dryRun'])return{'updated':0x0,'failed':0x0,'skipped':![],'dryRun':!![],'diffs':_0x4c7736};const _0x299fab=await Promise['allSettled'](_0x521ff4[_0x4e9915(0x157)]((_0x4eee11,_0x3212fc)=>updateMenuCdnUrl(_0x14c653,_0x3320a1,{'id':_0x4eee11['id'],'label':_0x4eee11[_0x4e9915(0x17f)],'path':_0x4eee11[_0x4e9915(0x15f)],'resources':_0x4c7736[_0x3212fc][_0x4e9915(0x164)]['resources'],'extend':_0x4eee11['extend']??null,'loadScriptMode':_0x18c6a4['loadScriptMode']}))),_0x1f3be2=_0x299fab['filter'](_0x37c21d=>_0x37c21d[_0x4e9915(0x15a)]===_0x4e9915(0x16b))['map'](_0xdb5761=>_0xdb5761['value']),_0x296a5b=_0x299fab[_0x4e9915(0x180)](_0x280901=>_0x280901[_0x4e9915(0x15a)]==='rejected')[_0x4e9915(0x14d)];return logger['info'](_0x4e9915(0x18b),_0x4e9915(0x15e),{'count':_0x521ff4[_0x4e9915(0x14d)],'resources':_0x4d964b}),{'updated':_0x1f3be2[_0x4e9915(0x14d)],'failed':_0x296a5b,'skipped':![],'menus':_0x1f3be2};}function validateSelection(_0x6a0b49){const _0xcbd5e0=a175_0x3d0e;if(!_0x6a0b49)throw new Error('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');if(_0x6a0b49['all']&&(_0x6a0b49['menuIds']['length']>0x0||_0x6a0b49['paths']['length']>0x0))throw new Error(_0xcbd5e0(0x173));if(!_0x6a0b49[_0xcbd5e0(0x17b)]&&_0x6a0b49[_0xcbd5e0(0x188)]['length']===0x0&&_0x6a0b49[_0xcbd5e0(0x18a)][_0xcbd5e0(0x14d)]===0x0)throw new Error('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}export function selectMenusForUpdate(_0x523db7,_0x1968c4){const _0x3639b6=a175_0x3d0e;validateSelection(_0x1968c4);if(_0x1968c4[_0x3639b6(0x17b)])return _0x523db7;const _0x10dc4b=new Set(_0x523db7[_0x3639b6(0x157)](_0x361674=>_0x361674['id'])),_0x53e7b0=new Set(_0x523db7[_0x3639b6(0x157)](_0x1fb3ab=>_0x1fb3ab[_0x3639b6(0x15f)])),_0x53c96b=_0x1968c4[_0x3639b6(0x188)]['filter'](_0x3e115a=>!_0x10dc4b['has'](_0x3e115a)),_0x54403f=_0x1968c4[_0x3639b6(0x18a)]['filter'](_0x7e592b=>!_0x53e7b0[_0x3639b6(0x182)](_0x7e592b));if(_0x53c96b['length']>0x0||_0x54403f[_0x3639b6(0x14d)]>0x0){const _0x4a417f=[..._0x53c96b[_0x3639b6(0x157)](_0x145ef4=>String(_0x145ef4)),..._0x54403f][_0x3639b6(0x154)](',\x20');throw new Error('menu\x20asset-update\x20selectors\x20did\x20not\x20match\x20resource-bearing\x20menus:\x20'+_0x4a417f);}const _0x482c79=new Set(_0x1968c4['menuIds']),_0x487155=new Set(_0x1968c4['paths']);return _0x523db7['filter'](_0x48915e=>_0x482c79[_0x3639b6(0x182)](_0x48915e['id'])||_0x487155['has'](_0x48915e[_0x3639b6(0x15f)]));}function normalizeMode(_0xa4427a){const _0x17392c=a175_0x3d0e;if(!_0xa4427a)return _0x17392c(0x17c);if(_0xa4427a==='replace'||_0xa4427a==='patch')return _0xa4427a;throw new Error(_0x17392c(0x16c)+_0xa4427a+_0x17392c(0x167));}function a175_0x4c20(){const _0x311dae=['\x20existing\x20CSS\x20resources\x20for\x20\x22','8360015YYPonX','length','--params.','parse','1648272xplKel','dryRun','114eMfiTK','isArray','join','cssUrl','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','map','.js','resources','status','3383925cGPccC','unshift','message','Menu\x20asset\x20update\x20completed','path','object','72635LpBbpR','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','push','after','trim','field','.\x20Allowed\x20values:\x20replace,\x20patch','2mRcfAs','endsWith','menu\x20asset-update\x20will\x20remove\x20existing\x20CSS\x20resource\x20for\x20\x22','fulfilled','Invalid\x20--mode:\x20','cwd','459515YYXIWf','with\x20a\x20single\x20jsUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.','some','string','jsUrl','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','CSS\x20URL\x20is\x20unreachable:\x20','Invalid\x20--params:\x20menu\x20asset-update\x20requires\x20at\x20least\x20one\x20explicit\x20JS/CSS\x20URL.\x20','menu\x20asset-update\x20cannot\x20patch\x20','menu\x20asset-update\x20would\x20remove\x20existing\x20JS\x20resource\x20for\x20\x22','1020MzoEdR','extend','3678687QCJRPB','all','patch','loadScriptMode','Use\x20--mode\x20patch\x20to\x20preserve\x20it,\x20pass\x20jsUrl,\x20or\x20add\x20--force\x20for\x20an\x20intentional\x20removal.','label','filter','selection','has','JS\x20URL\x20is\x20unreachable:\x20','\x22\x20(',').\x20','585563MGPLMg','split','menuIds','Invalid\x20--params:\x20','paths','menu-asset-update','4wbpqGs'];a175_0x4c20=function(){return _0x311dae;};return a175_0x4c20();}function buildMenuUpdateDiff(_0x2a6da4,_0xf85bad,_0x392576,_0x55bb5d,_0x3c6e3b){const _0x44588a=a175_0x3d0e,_0x2746f7=[..._0x2a6da4[_0x44588a(0x159)]];_0x392576===_0x44588a(0x17c)&&assertUnambiguousPatchResources(_0x2a6da4,_0x2746f7,_0xf85bad);const _0x2e080b=_0x392576==='patch'?patchResources(_0x2746f7,_0xf85bad):replaceResources(_0xf85bad),_0x434fbc=[],_0x29956d=_0x2746f7['some'](isJsResource),_0x5ab2ff=_0x2e080b['some'](isJsResource);if(_0x29956d&&!_0x5ab2ff){const _0xd5b690=_0x44588a(0x177)+_0x2a6da4[_0x44588a(0x17f)]+_0x44588a(0x184)+_0x2a6da4[_0x44588a(0x15f)]+_0x44588a(0x185)+_0x44588a(0x17e);if(!_0x55bb5d)throw new Error(_0xd5b690);_0x434fbc[_0x44588a(0x163)](_0xd5b690);}const _0x4ad293=_0x2746f7['some'](isCssResource),_0x1cbbbe=_0x2e080b[_0x44588a(0x170)](isCssResource);_0x4ad293&&!_0x1cbbbe&&_0x434fbc['push'](_0x44588a(0x16a)+_0x2a6da4[_0x44588a(0x17f)]+'\x22\x20('+_0x2a6da4[_0x44588a(0x15f)]+').');const _0x3da8f2=typeof _0x2a6da4['extend']?.[_0x44588a(0x17d)]===_0x44588a(0x171)?_0x2a6da4[_0x44588a(0x179)][_0x44588a(0x17d)]:null,_0x2520af=_0x3c6e3b?{'loadScriptMode':_0x3da8f2}:{},_0x4be498=_0x3c6e3b?{'loadScriptMode':_0x3c6e3b}:{};return{'id':_0x2a6da4['id'],'label':_0x2a6da4['label'],'path':_0x2a6da4['path'],'mode':_0x392576,'before':{'resources':_0x2746f7,..._0x2520af},'after':{'resources':_0x2e080b,..._0x4be498},'warnings':_0x434fbc};}function replaceResources(_0x1ff141){const _0x48a769=a175_0x3d0e;return[_0x1ff141[_0x48a769(0x172)],_0x1ff141[_0x48a769(0x155)]]['filter'](_0x4978e5=>!!_0x4978e5);}function a175_0x3d0e(_0x4884d5,_0x156903){_0x4884d5=_0x4884d5-0x14c;const _0x4c2066=a175_0x4c20();let _0x3d0e2c=_0x4c2066[_0x4884d5];return _0x3d0e2c;}function assertUnambiguousPatchResources(_0x1cba48,_0x3a4ac1,_0x3eb6dc){const _0x25a89a=a175_0x3d0e,_0x283d05=_0x3a4ac1[_0x25a89a(0x180)](isJsResource)['length'];if(_0x3eb6dc[_0x25a89a(0x172)]&&_0x283d05>0x1)throw new Error('menu\x20asset-update\x20cannot\x20patch\x20'+_0x283d05+'\x20existing\x20JS\x20resources\x20for\x20\x22'+_0x1cba48[_0x25a89a(0x17f)]+_0x25a89a(0x184)+_0x1cba48[_0x25a89a(0x15f)]+')\x20'+_0x25a89a(0x16f));const _0x5c5bdc=_0x3a4ac1[_0x25a89a(0x180)](isCssResource)[_0x25a89a(0x14d)];if(_0x3eb6dc[_0x25a89a(0x155)]&&_0x5c5bdc>0x1)throw new Error(_0x25a89a(0x176)+_0x5c5bdc+_0x25a89a(0x18d)+_0x1cba48[_0x25a89a(0x17f)]+'\x22\x20('+_0x1cba48[_0x25a89a(0x15f)]+')\x20'+'with\x20a\x20single\x20cssUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.');}function patchResources(_0x2e2cd6,_0x43fce8){const _0x255d1b=a175_0x3d0e;let _0x37bdb4=![],_0x220939=![];const _0x363a39=[];for(const _0x4c066a of _0x2e2cd6){if(isJsResource(_0x4c066a)){if(_0x43fce8[_0x255d1b(0x172)]&&!_0x37bdb4)_0x363a39[_0x255d1b(0x163)](_0x43fce8[_0x255d1b(0x172)]),_0x37bdb4=!![];else!_0x43fce8[_0x255d1b(0x172)]&&_0x363a39[_0x255d1b(0x163)](_0x4c066a);continue;}if(isCssResource(_0x4c066a)){if(_0x43fce8[_0x255d1b(0x155)]&&!_0x220939)_0x363a39[_0x255d1b(0x163)](_0x43fce8['cssUrl']),_0x220939=!![];else!_0x43fce8['cssUrl']&&_0x363a39[_0x255d1b(0x163)](_0x4c066a);continue;}_0x363a39[_0x255d1b(0x163)](_0x4c066a);}return _0x43fce8[_0x255d1b(0x172)]&&!_0x37bdb4&&_0x363a39[_0x255d1b(0x15c)](_0x43fce8[_0x255d1b(0x172)]),_0x43fce8[_0x255d1b(0x155)]&&!_0x220939&&_0x363a39[_0x255d1b(0x163)](_0x43fce8['cssUrl']),_0x363a39;}function isJsResource(_0x1e85a3){const _0xcbee8e=a175_0x3d0e;return stripQuery(_0x1e85a3)['toLowerCase']()['endsWith'](_0xcbee8e(0x158));}function isCssResource(_0x24dda8){const _0x2ecae2=a175_0x3d0e;return stripQuery(_0x24dda8)['toLowerCase']()[_0x2ecae2(0x169)]('.css');}function stripQuery(_0x7eca5b){const _0x20078b=a175_0x3d0e;return _0x7eca5b[_0x20078b(0x187)]('?')[0x0]??_0x7eca5b;}function parseUpdateParamsFlag(_0x24f34b){const _0x33ba61=a175_0x3d0e;if(!_0x24f34b||typeof _0x24f34b!==_0x33ba61(0x171))return{};try{const _0x1daa19=JSON[_0x33ba61(0x14f)](_0x24f34b);if(typeof _0x1daa19!==_0x33ba61(0x160)||_0x1daa19===null||Array[_0x33ba61(0x153)](_0x1daa19))return{};return{'jsUrl':typeof _0x1daa19[_0x33ba61(0x172)]===_0x33ba61(0x171)?_0x1daa19[_0x33ba61(0x172)][_0x33ba61(0x165)]():undefined,'cssUrl':typeof _0x1daa19[_0x33ba61(0x155)]===_0x33ba61(0x171)?_0x1daa19[_0x33ba61(0x155)]['trim']():undefined};}catch{return{};}}
1
+ (function(_0x48013e,_0x476542){const _0x2a0ad3=a179_0x5913,_0x1a4896=_0x48013e();while(!![]){try{const _0x2e51c3=-parseInt(_0x2a0ad3(0x1e5))/0x1+-parseInt(_0x2a0ad3(0x20f))/0x2+parseInt(_0x2a0ad3(0x1e2))/0x3+-parseInt(_0x2a0ad3(0x1db))/0x4+parseInt(_0x2a0ad3(0x1d4))/0x5+-parseInt(_0x2a0ad3(0x1f1))/0x6*(parseInt(_0x2a0ad3(0x1fd))/0x7)+parseInt(_0x2a0ad3(0x1ca))/0x8;if(_0x2e51c3===_0x476542)break;else _0x1a4896['push'](_0x1a4896['shift']());}catch(_0x5dbee3){_0x1a4896['push'](_0x1a4896['shift']());}}}(a179_0x4b78,0x34c94));import{updateMenuCdnUrl,getOnlineMenuList}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';function a179_0x4b78(){const _0xa5cbb8=['object','.css','120mAjtwI','.js','length','has','JS\x20URL\x20is\x20unreachable:\x20','CSS\x20URL\x20is\x20unreachable:\x20','filter','\x20existing\x20JS\x20resources\x20for\x20\x22','--params.','\x22\x20(','info','paths','141946eRJIxr','replace','.\x20Allowed\x20values:\x20replace,\x20patch','status','trim','message','patch','mode','cssUrl','menu\x20asset-update\x20selectors\x20did\x20not\x20match\x20resource-bearing\x20menus:\x20','with\x20a\x20single\x20cssUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.','Invalid\x20--params:\x20menu\x20asset-update\x20requires\x20at\x20least\x20one\x20explicit\x20JS/CSS\x20URL.\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','menu\x20asset-update\x20will\x20remove\x20existing\x20CSS\x20resource\x20for\x20\x22','force','push','Use\x20--mode\x20patch\x20to\x20preserve\x20it,\x20pass\x20jsUrl,\x20or\x20add\x20--force\x20for\x20an\x20intentional\x20removal.','path','255562fRWcBO','menu\x20asset-update\x20cannot\x20patch\x20','value','7569024FoeqFW','rejected','Invalid\x20--mode:\x20','some','map','jsUrl','extend','menuIds','Pass\x20--params\x20\x27{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}\x27\x20to\x20update\x20assets.','menu-asset-update','921750ScPwbF','toLowerCase','Menu\x20asset\x20update\x20completed','allSettled','unshift','selection','string','564868HaCyIa','field','resources','menu\x20asset-update\x20would\x20remove\x20existing\x20JS\x20resource\x20for\x20\x22','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','isArray','label','365691rTezvD',').\x20','dryRun','361605xiKBqZ','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','with\x20a\x20single\x20jsUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.','loadScriptMode','endsWith','\x20existing\x20CSS\x20resources\x20for\x20\x22','join','fulfilled','all'];a179_0x4b78=function(){return _0xa5cbb8;};return a179_0x4b78();}import{logger}from'../../../utils/logger.js';function validateParams(_0xb80a0f){const _0x4dee95=a179_0x5913,_0x42b226=[];return _0xb80a0f[_0x4dee95(0x1cf)]&&!isValidJsHttpsUrl(_0xb80a0f[_0x4dee95(0x1cf)])&&_0x42b226[_0x4dee95(0x20c)]({'field':'jsUrl','message':_0x4dee95(0x1e6)}),_0xb80a0f['cssUrl']&&!isValidCssHttpsUrl(_0xb80a0f[_0x4dee95(0x205)])&&_0x42b226[_0x4dee95(0x20c)]({'field':_0x4dee95(0x205),'message':_0x4dee95(0x1e7)}),_0x42b226;}export async function runMenuUpdateCore(_0x545ea5,_0x5bdf78,_0x377cc7,_0x3b5c61={}){const _0x3441f8=a179_0x5913,_0x3fb1e3=parseUpdateParamsFlag(_0x377cc7),_0x231c62=normalizeMode(_0x3b5c61[_0x3441f8(0x204)]);validateSelection(_0x3b5c61[_0x3441f8(0x1d9)]);const _0x1b9ec0=[];if(_0x3fb1e3[_0x3441f8(0x1cf)])_0x1b9ec0[_0x3441f8(0x20c)](_0x3fb1e3[_0x3441f8(0x1cf)]);if(_0x3fb1e3[_0x3441f8(0x205)])_0x1b9ec0[_0x3441f8(0x20c)](_0x3fb1e3[_0x3441f8(0x205)]);const _0x399619=validateParams(_0x3fb1e3);if(_0x399619[_0x3441f8(0x1f3)]>0x0){const _0x1dee56=_0x399619[_0x3441f8(0x1ce)](_0xf18ad5=>_0x3441f8(0x1f9)+_0xf18ad5[_0x3441f8(0x1dc)]+':\x20'+_0xf18ad5[_0x3441f8(0x202)])[_0x3441f8(0x1ec)](';\x20');throw new Error('Invalid\x20--params:\x20'+_0x1dee56);}if(_0x1b9ec0[_0x3441f8(0x1f3)]===0x0)throw new Error(_0x3441f8(0x208)+_0x3441f8(0x1d2));logger['setLogPath'](process['cwd']()),logger[_0x3441f8(0x1fb)](_0x3441f8(0x1d3),'Start\x20non-interactive\x20menu\x20asset\x20update',{'appCode':_0x545ea5,'jsUrl':_0x3fb1e3[_0x3441f8(0x1cf)],'cssUrl':_0x3fb1e3['cssUrl'],'mode':_0x231c62,'dryRun':_0x3b5c61[_0x3441f8(0x1e4)]===!![]});if(_0x3fb1e3[_0x3441f8(0x1cf)]){const _0x1d7c41=await isUrlReachable(_0x3fb1e3[_0x3441f8(0x1cf)]);if(!_0x1d7c41)throw new Error(_0x3441f8(0x1f5)+_0x3fb1e3[_0x3441f8(0x1cf)]);}if(_0x3fb1e3[_0x3441f8(0x205)]){const _0x569ff4=await isUrlReachable(_0x3fb1e3[_0x3441f8(0x205)]);if(!_0x569ff4)throw new Error(_0x3441f8(0x1f6)+_0x3fb1e3['cssUrl']);}const _0x2c114a=await getOnlineMenuList(_0x545ea5,_0x5bdf78),_0x389f2f=_0x2c114a['filter'](_0x38cd02=>_0x38cd02['resources'][_0x3441f8(0x1f3)]>0x0),_0x368b89=selectMenusForUpdate(_0x389f2f,_0x3b5c61[_0x3441f8(0x1d9)]);if(_0x368b89['length']===0x0)return{'updated':0x0,'failed':0x0,'skipped':!![],'dryRun':_0x3b5c61['dryRun']===!![]};const _0x4f3e44=_0x368b89[_0x3441f8(0x1ce)](_0x1f0c46=>buildMenuUpdateDiff(_0x1f0c46,_0x3fb1e3,_0x231c62,_0x3b5c61[_0x3441f8(0x20b)]===!![],_0x3b5c61[_0x3441f8(0x1e9)]));if(_0x3b5c61['dryRun'])return{'updated':0x0,'failed':0x0,'skipped':![],'dryRun':!![],'diffs':_0x4f3e44};const _0x16d973=await Promise[_0x3441f8(0x1d7)](_0x368b89[_0x3441f8(0x1ce)]((_0x402f5c,_0x1868c1)=>updateMenuCdnUrl(_0x545ea5,_0x5bdf78,{'id':_0x402f5c['id'],'label':_0x402f5c[_0x3441f8(0x1e1)],'path':_0x402f5c[_0x3441f8(0x20e)],'resources':_0x4f3e44[_0x1868c1]['after']['resources'],'extend':_0x402f5c[_0x3441f8(0x1d0)]??null,'loadScriptMode':_0x3b5c61[_0x3441f8(0x1e9)]}))),_0x3480b4=_0x16d973[_0x3441f8(0x1f7)](_0x10b672=>_0x10b672['status']===_0x3441f8(0x1ed))[_0x3441f8(0x1ce)](_0x3188d5=>_0x3188d5[_0x3441f8(0x1c9)]),_0x37cfd0=_0x16d973[_0x3441f8(0x1f7)](_0x34564d=>_0x34564d[_0x3441f8(0x200)]===_0x3441f8(0x1cb))['length'];return logger['info'](_0x3441f8(0x1d3),_0x3441f8(0x1d6),{'count':_0x368b89['length'],'resources':_0x1b9ec0}),{'updated':_0x3480b4[_0x3441f8(0x1f3)],'failed':_0x37cfd0,'skipped':![],'menus':_0x3480b4};}function validateSelection(_0x50df19){const _0x581c60=a179_0x5913;if(!_0x50df19)throw new Error(_0x581c60(0x1df));if(_0x50df19[_0x581c60(0x1ee)]&&(_0x50df19[_0x581c60(0x1d1)][_0x581c60(0x1f3)]>0x0||_0x50df19['paths'][_0x581c60(0x1f3)]>0x0))throw new Error(_0x581c60(0x209));if(!_0x50df19[_0x581c60(0x1ee)]&&_0x50df19[_0x581c60(0x1d1)][_0x581c60(0x1f3)]===0x0&&_0x50df19[_0x581c60(0x1fc)][_0x581c60(0x1f3)]===0x0)throw new Error(_0x581c60(0x1df));}export function selectMenusForUpdate(_0x1d2d41,_0x5e37dc){const _0x485347=a179_0x5913;validateSelection(_0x5e37dc);if(_0x5e37dc[_0x485347(0x1ee)])return _0x1d2d41;const _0x119bee=new Set(_0x1d2d41[_0x485347(0x1ce)](_0x415b07=>_0x415b07['id'])),_0x306b62=new Set(_0x1d2d41[_0x485347(0x1ce)](_0x526106=>_0x526106[_0x485347(0x20e)])),_0x328306=_0x5e37dc[_0x485347(0x1d1)]['filter'](_0x2e1c24=>!_0x119bee[_0x485347(0x1f4)](_0x2e1c24)),_0x143cb0=_0x5e37dc[_0x485347(0x1fc)]['filter'](_0x3a60fd=>!_0x306b62[_0x485347(0x1f4)](_0x3a60fd));if(_0x328306[_0x485347(0x1f3)]>0x0||_0x143cb0[_0x485347(0x1f3)]>0x0){const _0x3965c6=[..._0x328306[_0x485347(0x1ce)](_0x14fd39=>String(_0x14fd39)),..._0x143cb0][_0x485347(0x1ec)](',\x20');throw new Error(_0x485347(0x206)+_0x3965c6);}const _0x1a2a41=new Set(_0x5e37dc['menuIds']),_0x26f931=new Set(_0x5e37dc[_0x485347(0x1fc)]);return _0x1d2d41[_0x485347(0x1f7)](_0x3f5224=>_0x1a2a41['has'](_0x3f5224['id'])||_0x26f931[_0x485347(0x1f4)](_0x3f5224[_0x485347(0x20e)]));}function normalizeMode(_0xb380bb){const _0x49462e=a179_0x5913;if(!_0xb380bb)return _0x49462e(0x203);if(_0xb380bb===_0x49462e(0x1fe)||_0xb380bb==='patch')return _0xb380bb;throw new Error(_0x49462e(0x1cc)+_0xb380bb+_0x49462e(0x1ff));}function a179_0x5913(_0x3ecebc,_0x4af86f){_0x3ecebc=_0x3ecebc-0x1c8;const _0x4b783e=a179_0x4b78();let _0x59134e=_0x4b783e[_0x3ecebc];return _0x59134e;}function buildMenuUpdateDiff(_0x5159d2,_0xdc688e,_0x41e4ce,_0x45bcb4,_0x1c9569){const _0x3224bd=a179_0x5913,_0x175f42=[..._0x5159d2[_0x3224bd(0x1dd)]];_0x41e4ce===_0x3224bd(0x203)&&assertUnambiguousPatchResources(_0x5159d2,_0x175f42,_0xdc688e);const _0x168b6f=_0x41e4ce===_0x3224bd(0x203)?patchResources(_0x175f42,_0xdc688e):replaceResources(_0xdc688e),_0x11a9a9=[],_0x225df2=_0x175f42[_0x3224bd(0x1cd)](isJsResource),_0x40efbf=_0x168b6f[_0x3224bd(0x1cd)](isJsResource);if(_0x225df2&&!_0x40efbf){const _0x32fe31=_0x3224bd(0x1de)+_0x5159d2[_0x3224bd(0x1e1)]+'\x22\x20('+_0x5159d2['path']+_0x3224bd(0x1e3)+_0x3224bd(0x20d);if(!_0x45bcb4)throw new Error(_0x32fe31);_0x11a9a9[_0x3224bd(0x20c)](_0x32fe31);}const _0x1e436d=_0x175f42[_0x3224bd(0x1cd)](isCssResource),_0x4acac7=_0x168b6f['some'](isCssResource);_0x1e436d&&!_0x4acac7&&_0x11a9a9[_0x3224bd(0x20c)](_0x3224bd(0x20a)+_0x5159d2[_0x3224bd(0x1e1)]+_0x3224bd(0x1fa)+_0x5159d2['path']+').');const _0x353ef3=typeof _0x5159d2['extend']?.[_0x3224bd(0x1e9)]===_0x3224bd(0x1da)?_0x5159d2['extend']['loadScriptMode']:null,_0x2814ab=_0x1c9569?{'loadScriptMode':_0x353ef3}:{},_0x5bf2c7=_0x1c9569?{'loadScriptMode':_0x1c9569}:{};return{'id':_0x5159d2['id'],'label':_0x5159d2[_0x3224bd(0x1e1)],'path':_0x5159d2[_0x3224bd(0x20e)],'mode':_0x41e4ce,'before':{'resources':_0x175f42,..._0x2814ab},'after':{'resources':_0x168b6f,..._0x5bf2c7},'warnings':_0x11a9a9};}function replaceResources(_0x868897){const _0x3d3207=a179_0x5913;return[_0x868897[_0x3d3207(0x1cf)],_0x868897['cssUrl']]['filter'](_0x2ea243=>!!_0x2ea243);}function assertUnambiguousPatchResources(_0xa22eed,_0x1c1b74,_0x9c2ac1){const _0x11f0fe=a179_0x5913,_0x557751=_0x1c1b74[_0x11f0fe(0x1f7)](isJsResource)[_0x11f0fe(0x1f3)];if(_0x9c2ac1[_0x11f0fe(0x1cf)]&&_0x557751>0x1)throw new Error(_0x11f0fe(0x1c8)+_0x557751+_0x11f0fe(0x1f8)+_0xa22eed['label']+_0x11f0fe(0x1fa)+_0xa22eed[_0x11f0fe(0x20e)]+')\x20'+_0x11f0fe(0x1e8));const _0x4234b5=_0x1c1b74['filter'](isCssResource)[_0x11f0fe(0x1f3)];if(_0x9c2ac1[_0x11f0fe(0x205)]&&_0x4234b5>0x1)throw new Error('menu\x20asset-update\x20cannot\x20patch\x20'+_0x4234b5+_0x11f0fe(0x1eb)+_0xa22eed[_0x11f0fe(0x1e1)]+_0x11f0fe(0x1fa)+_0xa22eed[_0x11f0fe(0x20e)]+')\x20'+_0x11f0fe(0x207));}function patchResources(_0x5b9b8e,_0x4877bf){const _0x12ffeb=a179_0x5913;let _0x28f762=![],_0x2fd2e7=![];const _0x3bbb73=[];for(const _0x263969 of _0x5b9b8e){if(isJsResource(_0x263969)){if(_0x4877bf[_0x12ffeb(0x1cf)]&&!_0x28f762)_0x3bbb73['push'](_0x4877bf['jsUrl']),_0x28f762=!![];else!_0x4877bf[_0x12ffeb(0x1cf)]&&_0x3bbb73[_0x12ffeb(0x20c)](_0x263969);continue;}if(isCssResource(_0x263969)){if(_0x4877bf[_0x12ffeb(0x205)]&&!_0x2fd2e7)_0x3bbb73['push'](_0x4877bf[_0x12ffeb(0x205)]),_0x2fd2e7=!![];else!_0x4877bf[_0x12ffeb(0x205)]&&_0x3bbb73[_0x12ffeb(0x20c)](_0x263969);continue;}_0x3bbb73[_0x12ffeb(0x20c)](_0x263969);}return _0x4877bf[_0x12ffeb(0x1cf)]&&!_0x28f762&&_0x3bbb73[_0x12ffeb(0x1d8)](_0x4877bf[_0x12ffeb(0x1cf)]),_0x4877bf[_0x12ffeb(0x205)]&&!_0x2fd2e7&&_0x3bbb73[_0x12ffeb(0x20c)](_0x4877bf[_0x12ffeb(0x205)]),_0x3bbb73;}function isJsResource(_0x4ee665){const _0x191a1a=a179_0x5913;return stripQuery(_0x4ee665)[_0x191a1a(0x1d5)]()[_0x191a1a(0x1ea)](_0x191a1a(0x1f2));}function isCssResource(_0x21eab6){const _0x23841c=a179_0x5913;return stripQuery(_0x21eab6)[_0x23841c(0x1d5)]()['endsWith'](_0x23841c(0x1f0));}function stripQuery(_0x183b46){return _0x183b46['split']('?')[0x0]??_0x183b46;}function parseUpdateParamsFlag(_0x3510fa){const _0x42d38d=a179_0x5913;if(!_0x3510fa||typeof _0x3510fa!==_0x42d38d(0x1da))return{};try{const _0x4363c5=JSON['parse'](_0x3510fa);if(typeof _0x4363c5!==_0x42d38d(0x1ef)||_0x4363c5===null||Array[_0x42d38d(0x1e0)](_0x4363c5))return{};return{'jsUrl':typeof _0x4363c5['jsUrl']==='string'?_0x4363c5[_0x42d38d(0x1cf)][_0x42d38d(0x201)]():undefined,'cssUrl':typeof _0x4363c5[_0x42d38d(0x205)]===_0x42d38d(0x1da)?_0x4363c5[_0x42d38d(0x205)][_0x42d38d(0x201)]():undefined};}catch{return{};}}
@@ -1 +1 @@
1
- (function(_0x59c228,_0x42402e){const _0x44ac16=a176_0xcc9a,_0x4193ba=_0x59c228();while(!![]){try{const _0x324407=-parseInt(_0x44ac16(0x1d5))/0x1+parseInt(_0x44ac16(0x1dc))/0x2*(parseInt(_0x44ac16(0x1e1))/0x3)+parseInt(_0x44ac16(0x1d6))/0x4+parseInt(_0x44ac16(0x1d7))/0x5*(-parseInt(_0x44ac16(0x1d9))/0x6)+-parseInt(_0x44ac16(0x1e2))/0x7*(parseInt(_0x44ac16(0x1d4))/0x8)+parseInt(_0x44ac16(0x1d2))/0x9+parseInt(_0x44ac16(0x1de))/0xa*(-parseInt(_0x44ac16(0x1df))/0xb);if(_0x324407===_0x42402e)break;else _0x4193ba['push'](_0x4193ba['shift']());}catch(_0x59f619){_0x4193ba['push'](_0x4193ba['shift']());}}}(a176_0x5dc5,0x29860));function a176_0x5dc5(){const _0xc4199=['HEAD','208XJnCer','43361JszBiP','897892LdxkWj','25urbzfI','body','206754pLJVGU','cancel','test','4kpXWft','trim','42190WerfGK','781FboceC','GET','331014PWxtiF','10675JgAuVc','2518074nPtBqG'];a176_0x5dc5=function(){return _0xc4199;};return a176_0x5dc5();}export function isValidJsHttpsUrl(_0x5710fd){const _0x2c730c=a176_0xcc9a;return/^https:\/\/.+\.js(\?.*)?$/[_0x2c730c(0x1db)](_0x5710fd['trim']());}export function isValidCssHttpsUrl(_0x2eacf8){const _0x3922c6=a176_0xcc9a;return/^https:\/\/.+\.css(\?.*)?$/[_0x3922c6(0x1db)](_0x2eacf8[_0x3922c6(0x1dd)]());}function a176_0xcc9a(_0x2f7b7a,_0x39cc33){_0x2f7b7a=_0x2f7b7a-0x1d2;const _0x5dc593=a176_0x5dc5();let _0xcc9a10=_0x5dc593[_0x2f7b7a];return _0xcc9a10;}export async function isUrlReachable(_0x656b4f){const _0x3c314e=a176_0xcc9a;try{const _0x420d24=await fetch(_0x656b4f,{'method':_0x3c314e(0x1d3)});if(_0x420d24['ok'])return!![];}catch{}try{const _0x22725c=await fetch(_0x656b4f,{'method':_0x3c314e(0x1e0),'headers':{'Range':'bytes=0-0'}}),_0x5e8ce7=_0x22725c['ok'];try{await _0x22725c[_0x3c314e(0x1d8)]?.[_0x3c314e(0x1da)]();}catch{}return _0x5e8ce7;}catch{return![];}}
1
+ (function(_0x149540,_0x3e00bc){const _0x4edccd=a180_0x2c22,_0x2070d2=_0x149540();while(!![]){try{const _0x568e47=-parseInt(_0x4edccd(0x1b6))/0x1*(-parseInt(_0x4edccd(0x1b2))/0x2)+-parseInt(_0x4edccd(0x1af))/0x3+-parseInt(_0x4edccd(0x1b4))/0x4*(parseInt(_0x4edccd(0x1ad))/0x5)+parseInt(_0x4edccd(0x1bc))/0x6+parseInt(_0x4edccd(0x1b5))/0x7+parseInt(_0x4edccd(0x1b9))/0x8*(parseInt(_0x4edccd(0x1b8))/0x9)+parseInt(_0x4edccd(0x1b7))/0xa*(parseInt(_0x4edccd(0x1ba))/0xb);if(_0x568e47===_0x3e00bc)break;else _0x2070d2['push'](_0x2070d2['shift']());}catch(_0x1cb375){_0x2070d2['push'](_0x2070d2['shift']());}}}(a180_0x34a9,0xdd9c8));export function isValidJsHttpsUrl(_0x494701){const _0xee6b22=a180_0x2c22;return/^https:\/\/.+\.js(\?.*)?$/[_0xee6b22(0x1b3)](_0x494701[_0xee6b22(0x1b1)]());}function a180_0x2c22(_0x2bc3bb,_0x185d12){_0x2bc3bb=_0x2bc3bb-0x1ac;const _0x34a9ed=a180_0x34a9();let _0x2c22af=_0x34a9ed[_0x2bc3bb];return _0x2c22af;}export function isValidCssHttpsUrl(_0x536c1e){const _0x1504a1=a180_0x2c22;return/^https:\/\/.+\.css(\?.*)?$/[_0x1504a1(0x1b3)](_0x536c1e[_0x1504a1(0x1b1)]());}function a180_0x34a9(){const _0x28f661=['8914eRUNIg','test','932SmOrSf','3769472shmCXh','8vSsbRW','140RsXuSK','9oMNnFj','7698544QBmEot','694969nVycWu','bytes=0-0','3547884rcdkoL','body','28935AblWNw','cancel','2268597aAHqqg','GET','trim'];a180_0x34a9=function(){return _0x28f661;};return a180_0x34a9();}export async function isUrlReachable(_0x9b6c1){const _0x136b9c=a180_0x2c22;try{const _0x40192b=await fetch(_0x9b6c1,{'method':'HEAD'});if(_0x40192b['ok'])return!![];}catch{}try{const _0x435a17=await fetch(_0x9b6c1,{'method':_0x136b9c(0x1b0),'headers':{'Range':_0x136b9c(0x1bb)}}),_0x2c4731=_0x435a17['ok'];try{await _0x435a17[_0x136b9c(0x1ac)]?.[_0x136b9c(0x1ae)]();}catch{}return _0x2c4731;}catch{return![];}}
@@ -1 +1 @@
1
- const a177_0x5833df=a177_0x4832;(function(_0x211bff,_0x1dad75){const _0x907fac=a177_0x4832,_0x512342=_0x211bff();while(!![]){try{const _0x37fd43=-parseInt(_0x907fac(0x85))/0x1*(parseInt(_0x907fac(0x83))/0x2)+parseInt(_0x907fac(0x88))/0x3*(parseInt(_0x907fac(0x8a))/0x4)+-parseInt(_0x907fac(0x84))/0x5+parseInt(_0x907fac(0x92))/0x6+parseInt(_0x907fac(0x8b))/0x7+parseInt(_0x907fac(0x91))/0x8*(-parseInt(_0x907fac(0x89))/0x9)+parseInt(_0x907fac(0x8e))/0xa*(-parseInt(_0x907fac(0x93))/0xb);if(_0x37fd43===_0x1dad75)break;else _0x512342['push'](_0x512342['shift']());}catch(_0x5adf45){_0x512342['push'](_0x512342['shift']());}}}(a177_0x45a3,0x669e8));function a177_0x4832(_0x57c54b,_0xf2cbef){_0x57c54b=_0x57c54b-0x82;const _0x45a32d=a177_0x45a3();let _0x4832bc=_0x45a32d[_0x57c54b];return _0x4832bc;}import{getSmartAppRecord}from'../../core/api-client.js';import{getOnlineMenuList}from'../../commands/menu/shared/service.js';import{buildSubappAssetsStatus,getSubappSelector,SUBAPP_ASSET_SELECTOR_FLAGS}from'../../commands/menu/shared/subapp-assets.js';export const menuSubappAssetsStatus={'service':a177_0x5833df(0x8f),'command':a177_0x5833df(0x82),'description':a177_0x5833df(0x87),'risk':a177_0x5833df(0x90),'strictFlags':!![],'flags':SUBAPP_ASSET_SELECTOR_FLAGS,async 'validate'(_0x16af4a){getSubappSelector(_0x16af4a);},async 'execute'(_0x52ee38){const _0x3257a8=a177_0x5833df,{appCode:_0x41f8f0,appName:_0x5eacac}=getSubappSelector(_0x52ee38),[_0x2c2e95,_0x1cdde1]=await Promise[_0x3257a8(0x94)]([getSmartAppRecord(_0x41f8f0,_0x52ee38[_0x3257a8(0x95)]),getOnlineMenuList(_0x41f8f0,_0x52ee38['cookie'])]),_0xdeea3c={'appCode':_0x41f8f0,...buildSubappAssetsStatus(_0x2c2e95,_0x1cdde1,_0x5eacac)};return{'ok':!![],'data':_0xdeea3c,'message':'Inspected\x20'+_0xdeea3c[_0x3257a8(0x8c)]+_0x3257a8(0x8d)+_0x5eacac+_0x3257a8(0x86)+_0x41f8f0+'.'};}};function a177_0x45a3(){const _0x55070b=['2OABUaZ','\x20in\x20menu\x20host\x20','Inspect\x20shared\x20frontend\x20subapp\x20resources\x20and\x20menu\x20fallbacks\x20in\x20the\x20selected\x20menu\x20host','129JoOJDb','2510559EuKwCP','74772ackoXH','5155080IwcfhE','boundMenus','\x20menu(s)\x20for\x20','6601990QYGNHe','menu','read','16zkGGlc','2306778UrcrkL','11gpfpdf','all','cookie','subapp-assets-status','184246ZiLeTn','510135HsnaeT'];a177_0x45a3=function(){return _0x55070b;};return a177_0x45a3();}
1
+ const a181_0x29fd9d=a181_0x54d5;(function(_0x347159,_0x470a5b){const _0x23fb27=a181_0x54d5,_0x202170=_0x347159();while(!![]){try{const _0x38277c=-parseInt(_0x23fb27(0x173))/0x1+parseInt(_0x23fb27(0x175))/0x2*(-parseInt(_0x23fb27(0x174))/0x3)+parseInt(_0x23fb27(0x16a))/0x4+-parseInt(_0x23fb27(0x166))/0x5+-parseInt(_0x23fb27(0x171))/0x6*(parseInt(_0x23fb27(0x176))/0x7)+-parseInt(_0x23fb27(0x167))/0x8*(-parseInt(_0x23fb27(0x16e))/0x9)+parseInt(_0x23fb27(0x177))/0xa;if(_0x38277c===_0x470a5b)break;else _0x202170['push'](_0x202170['shift']());}catch(_0x1f4d1a){_0x202170['push'](_0x202170['shift']());}}}(a181_0x4631,0x58cb4));import{getSmartAppRecord}from'../../core/api-client.js';import{getOnlineMenuList}from'../../commands/menu/shared/service.js';import{buildSubappAssetsStatus,getSubappSelector,SUBAPP_ASSET_SELECTOR_FLAGS}from'../../commands/menu/shared/subapp-assets.js';function a181_0x4631(){const _0x514fab=['24984YTkrdZ','menu','boundMenus','1851900yKIffI','read','cookie','Inspect\x20shared\x20frontend\x20subapp\x20resources\x20and\x20menu\x20fallbacks\x20in\x20the\x20selected\x20menu\x20host','27pLBbAP','\x20in\x20menu\x20host\x20','Inspected\x20','1598922CTrlUG','\x20menu(s)\x20for\x20','468727RRSwlL','87FWUwjG','3238OcuCpo','7oQwLmr','10096740IhGSEf','all','subapp-assets-status','1680765CzNeGp'];a181_0x4631=function(){return _0x514fab;};return a181_0x4631();}function a181_0x54d5(_0x594c80,_0x614e97){_0x594c80=_0x594c80-0x164;const _0x4631a2=a181_0x4631();let _0x54d531=_0x4631a2[_0x594c80];return _0x54d531;}export const menuSubappAssetsStatus={'service':a181_0x29fd9d(0x168),'command':a181_0x29fd9d(0x165),'description':a181_0x29fd9d(0x16d),'risk':a181_0x29fd9d(0x16b),'strictFlags':!![],'flags':SUBAPP_ASSET_SELECTOR_FLAGS,async 'validate'(_0x4f7665){getSubappSelector(_0x4f7665);},async 'execute'(_0x5c70f8){const _0x30c9e1=a181_0x29fd9d,{appCode:_0xa735fc,appName:_0x1ad627}=getSubappSelector(_0x5c70f8),[_0x1f2f28,_0x53627e]=await Promise[_0x30c9e1(0x164)]([getSmartAppRecord(_0xa735fc,_0x5c70f8['cookie']),getOnlineMenuList(_0xa735fc,_0x5c70f8[_0x30c9e1(0x16c)])]),_0x98f16={'appCode':_0xa735fc,...buildSubappAssetsStatus(_0x1f2f28,_0x53627e,_0x1ad627)};return{'ok':!![],'data':_0x98f16,'message':_0x30c9e1(0x170)+_0x98f16[_0x30c9e1(0x169)]+_0x30c9e1(0x172)+_0x1ad627+_0x30c9e1(0x16f)+_0xa735fc+'.'};}};
@@ -1 +1 @@
1
- const a178_0x114fc2=a178_0x2666;(function(_0xb58db1,_0x587c95){const _0x31a9bb=a178_0x2666,_0x254593=_0xb58db1();while(!![]){try{const _0x5c4bf5=parseInt(_0x31a9bb(0xf2))/0x1*(parseInt(_0x31a9bb(0xd5))/0x2)+parseInt(_0x31a9bb(0xc0))/0x3+-parseInt(_0x31a9bb(0xb8))/0x4+parseInt(_0x31a9bb(0xcf))/0x5*(parseInt(_0x31a9bb(0xb9))/0x6)+-parseInt(_0x31a9bb(0xe6))/0x7*(parseInt(_0x31a9bb(0xd2))/0x8)+-parseInt(_0x31a9bb(0xbd))/0x9*(-parseInt(_0x31a9bb(0xb6))/0xa)+-parseInt(_0x31a9bb(0xff))/0xb;if(_0x5c4bf5===_0x587c95)break;else _0x254593['push'](_0x254593['shift']());}catch(_0x1aca98){_0x254593['push'](_0x254593['shift']());}}}(a178_0xd364,0x6e429));import{createHash}from'node:crypto';import{isDeepStrictEqual}from'node:util';import{getSmartAppRecord,updateSmartAppRecord}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{getSubappSelector,SUBAPP_ASSET_SELECTOR_FLAGS}from'../../commands/menu/shared/subapp-assets.js';const KNOWN_EXTEND_KEYS=new Set([a178_0x114fc2(0xf3),a178_0x114fc2(0xc9),'accessKey',a178_0x114fc2(0xf9),'tenantColumn','enableSample',a178_0x114fc2(0xbb),a178_0x114fc2(0xe9),a178_0x114fc2(0xdd),a178_0x114fc2(0xdb)]);function a178_0xd364(){const _0x923101=['appName','digest','menu','object','assets','string','some',']\x20must\x20be\x20a\x20URL\x20string.','Existing\x20subapp.resources\x20must\x20be\x20a\x20JSON\x20string.','sha256','3456574LdngEc','\x20in\x20menu\x20host\x20','--resources\x20must\x20be\x20a\x20JSON\x20array\x20of\x20HTTPS\x20URLs.','not\x20HTTPS','validation','App\x20ID\x20or\x20publish\x20status\x20is\x20missing;\x20refusing\x20a\x20generic\x20app\x20update.','Would\x20update\x20shared\x20assets\x20for\x20','resources[','10WfPran','map','1030692ZoLbrR','18gCxTLY','test','vipDeploy','--expected-hash\x20from\x20a\x20dry-run\x20is\x20required.','2494746SsVtbv','Existing\x20subapp.resources\x20contains\x20invalid\x20JSON.','Expected\x20exactly\x20one\x20existing\x20subapp\x20entry\x20for\x20','2169441SYYmZX','app.extend.assets\x20must\x20be\x20a\x20JSON\x20string;\x20refusing\x20update.','stringify','update','hex','has','Existing\x20subapp.resources\x20must\x20be\x20an\x20array\x20of\x20URLs.','apiError','Update\x20one\x20frontend\x20subapp\x20resource\x20URL\x20set\x20in\x20the\x20selected\x20menu\x20host','enableOpenApi','nextExtend','\x20must\x20be\x20a\x20JSON\x20array.','expected-hash','Unknown\x20app.extend\x20fields:\x20','filter','731625tZCdeR','POST','Updated\x20shared\x20resources\x20for\x20','136MCjVcO','entries','write','852486rbaYdm','app.extend.assets','str','.\x20Refusing\x20update.','verified\x20app.extend','Management\x20app\x20assets\x20already\x20match;\x20independent\x20deployment\x20not\x20verified.','directDbEnabled','expectedHash','directDbId','join','\x20contains\x20invalid\x20JSON.','extend','At\x20least\x20one\x20resource\x20URL\x20is\x20required.','appCode','isArray','parse','before','346717JMhEou','length','appPublishStatus','enableAutoSync','subapp-assets-update','app.extend','/smartapi/app/update','trim','size','cookie','resources','unchanged','1uepBpa','skinColor',';\x20independent\x20deployment\x20not\x20verified.'];a178_0xd364=function(){return _0x923101;};return a178_0xd364();}function parseObject(_0x1d703a,_0x5db873){const _0x5c0ec1=a178_0x114fc2;let _0x245f80=_0x1d703a;if(typeof _0x1d703a===_0x5c0ec1(0xfa))try{_0x245f80=JSON[_0x5c0ec1(0xe4)](_0x1d703a);}catch{throw CliErrors[_0x5c0ec1(0xb2)](_0x5db873+_0x5c0ec1(0xdf));}if(!_0x245f80||typeof _0x245f80!==_0x5c0ec1(0xf8)||Array['isArray'](_0x245f80))throw CliErrors[_0x5c0ec1(0xb2)](_0x5db873+'\x20must\x20be\x20a\x20JSON\x20object.');return _0x245f80;}function a178_0x2666(_0x5333da,_0x12f7c1){_0x5333da=_0x5333da-0xb2;const _0xd3649c=a178_0xd364();let _0x2666f5=_0xd3649c[_0x5333da];return _0x2666f5;}function parseArray(_0x21aa2a,_0x54f671){const _0x1bb00a=a178_0x114fc2;let _0x405f16;try{_0x405f16=JSON[_0x1bb00a(0xe4)](_0x21aa2a);}catch{throw CliErrors[_0x1bb00a(0xb2)](_0x54f671+'\x20contains\x20invalid\x20JSON.');}if(!Array['isArray'](_0x405f16))throw CliErrors[_0x1bb00a(0xb2)](_0x54f671+_0x1bb00a(0xcb));return _0x405f16[_0x1bb00a(0xb7)]((_0xc63dd3,_0x15b126)=>parseObject(_0xc63dd3,_0x54f671+'['+_0x15b126+']'));}function validateResources(_0x270339){const _0x37c270=a178_0x114fc2;if(_0x270339[_0x37c270(0xe7)]===0x0)throw CliErrors[_0x37c270(0xb2)](_0x37c270(0xe1));for(const [_0x50e8ba,_0x2f02a8]of _0x270339[_0x37c270(0xd3)]()){if(typeof _0x2f02a8!==_0x37c270(0xfa))throw CliErrors[_0x37c270(0xb2)](_0x37c270(0xb5)+_0x50e8ba+_0x37c270(0xfc));try{if(new URL(_0x2f02a8)['protocol']!=='https:')throw new Error(_0x37c270(0x102));}catch{throw CliErrors['validation'](_0x37c270(0xb5)+_0x50e8ba+']\x20must\x20be\x20an\x20absolute\x20HTTPS\x20URL.');}}if(new Set(_0x270339)[_0x37c270(0xee)]!==_0x270339['length']||!_0x270339[_0x37c270(0xfb)](_0x136f62=>/\.m?js(?:[?#]|$)/i['test'](_0x136f62)))throw CliErrors[_0x37c270(0xb2)]('Resources\x20need\x20one\x20JS\x20entry\x20and\x20no\x20duplicate\x20URLs.');return _0x270339;}function prepare(_0x1bce7f,_0x4ad892,_0x5e568c){const _0x211436=a178_0x114fc2;if(!Number['isSafeInteger'](_0x1bce7f['id'])||(_0x1bce7f['id']??0x0)<=0x0||typeof _0x1bce7f['appPublishStatus']!==_0x211436(0xfa)||!_0x1bce7f[_0x211436(0xe8)])throw CliErrors[_0x211436(0xb2)](_0x211436(0xb3));const _0x266cc4=parseObject(_0x1bce7f[_0x211436(0xe0)],_0x211436(0xeb)),_0x5b59cd=Object['keys'](_0x266cc4)[_0x211436(0xce)](_0x447a5f=>!KNOWN_EXTEND_KEYS[_0x211436(0xc5)](_0x447a5f));if(_0x5b59cd['length'])throw CliErrors[_0x211436(0xb2)](_0x211436(0xcd)+_0x5b59cd[_0x211436(0xde)](',\x20')+_0x211436(0xd8));if(typeof _0x266cc4[_0x211436(0xf9)]!==_0x211436(0xfa))throw CliErrors[_0x211436(0xb2)](_0x211436(0xc1));const _0x2f2089=parseArray(_0x266cc4[_0x211436(0xf9)],_0x211436(0xd6)),_0x13e826=_0x2f2089[_0x211436(0xce)](_0x5cdac4=>_0x5cdac4[_0x211436(0xf5)]===_0x4ad892);if(_0x13e826[_0x211436(0xe7)]!==0x1)throw CliErrors[_0x211436(0xb2)](_0x211436(0xbf)+_0x4ad892+';\x20found\x20'+_0x13e826[_0x211436(0xe7)]+'.');const _0x41fa31=_0x13e826[0x0];if(typeof _0x41fa31['resources']!==_0x211436(0xfa))throw CliErrors[_0x211436(0xb2)](_0x211436(0xfd));let _0x2c09e9;try{_0x2c09e9=JSON['parse'](_0x41fa31[_0x211436(0xf0)]);}catch{throw CliErrors[_0x211436(0xb2)](_0x211436(0xbe));}if(!Array[_0x211436(0xe3)](_0x2c09e9)||_0x2c09e9[_0x211436(0xfb)](_0x26cb10=>typeof _0x26cb10!==_0x211436(0xfa)))throw CliErrors[_0x211436(0xb2)](_0x211436(0xc6));const _0x1cbeb5=_0x2f2089[_0x211436(0xb7)](_0x398877=>_0x398877===_0x41fa31?{..._0x398877,'resources':JSON['stringify'](_0x5e568c)}:_0x398877),_0x179737={..._0x266cc4,'assets':JSON[_0x211436(0xc2)](_0x1cbeb5)},_0x161e3f=createHash(_0x211436(0xfe))[_0x211436(0xc3)](JSON['stringify']({'appCode':_0x1bce7f[_0x211436(0xe2)],'id':_0x1bce7f['id'],'appPublishStatus':_0x1bce7f[_0x211436(0xe8)],'extend':_0x266cc4,'appName':_0x4ad892,'resources':_0x5e568c}))[_0x211436(0xf6)](_0x211436(0xc4));return{'before':_0x2c09e9,'nextExtend':_0x179737,'expectedHash':_0x161e3f,'unchanged':isDeepStrictEqual(_0x2c09e9,_0x5e568c)};}function flags(_0x37e35f){const _0x2edfea=a178_0x114fc2,{appCode:_0x3b333e,appName:_0x2706ee}=getSubappSelector(_0x37e35f),_0x4b876a=_0x37e35f[_0x2edfea(0xd7)](_0x2edfea(0xf0))[_0x2edfea(0xed)]();if(!_0x4b876a)throw CliErrors['validation']('--resources\x20is\x20required.');let _0x42e33e;try{_0x42e33e=JSON['parse'](_0x4b876a);}catch{throw CliErrors[_0x2edfea(0xb2)](_0x2edfea(0x101));}if(!Array[_0x2edfea(0xe3)](_0x42e33e))throw CliErrors['validation']('--resources\x20must\x20be\x20a\x20JSON\x20array\x20of\x20HTTPS\x20URLs.');return{'appCode':_0x3b333e,'appName':_0x2706ee,'resources':validateResources(_0x42e33e)};}export const menuSubappAssetsUpdate={'service':a178_0x114fc2(0xf7),'command':a178_0x114fc2(0xea),'description':a178_0x114fc2(0xc8),'risk':a178_0x114fc2(0xd4),'strictFlags':!![],'flags':[...SUBAPP_ASSET_SELECTOR_FLAGS,{'name':a178_0x114fc2(0xf0),'type':'string','required':!![],'description':'JSON\x20array\x20of\x20HTTPS\x20resource\x20URLs'},{'name':a178_0x114fc2(0xcc),'type':'string','description':'Preview\x20fingerprint\x20binding\x20the\x20host,\x20subapp,\x20resource\x20URLs\x20and\x20current\x20config;\x20required\x20for\x20writes'}],async 'validate'(_0x5f54a2){flags(_0x5f54a2);},async 'dryRun'(_0x16d44a){const _0x314494=a178_0x114fc2,{appCode:_0x5554aa,appName:_0x4f67f9,resources:_0x554bfe}=flags(_0x16d44a),_0x1d7885=await getSmartAppRecord(_0x5554aa,_0x16d44a['cookie']),_0x530157=prepare(_0x1d7885,_0x4f67f9,_0x554bfe);return{'method':_0x314494(0xd0),'url':_0x314494(0xec),'body':{'preview':{'appCode':_0x5554aa,'appName':_0x4f67f9,'before':_0x530157[_0x314494(0xe5)],'after':_0x554bfe,'expectedHash':_0x530157[_0x314494(0xdc)],'unchanged':_0x530157[_0x314494(0xf1)],'remoteContentVerified':![],'independentDeploymentVerified':![]}},'description':_0x530157['unchanged']?'Shared\x20assets\x20already\x20match\x20the\x20requested\x20URLs.':_0x314494(0xb4)+_0x4f67f9+'.'};},async 'execute'(_0xc45570){const _0x39f03d=a178_0x114fc2,{appCode:_0x3f2370,appName:_0x4556a4,resources:_0x1bcb72}=flags(_0xc45570),_0x4de72a=_0xc45570[_0x39f03d(0xd7)](_0x39f03d(0xcc))[_0x39f03d(0xed)]();if(!/^[a-f0-9]{64}$/i[_0x39f03d(0xba)](_0x4de72a))throw CliErrors['validation'](_0x39f03d(0xbc));const _0x86b4e7=await getSmartAppRecord(_0x3f2370,_0xc45570[_0x39f03d(0xef)]),_0x1802ce=prepare(_0x86b4e7,_0x4556a4,_0x1bcb72);if(_0x4de72a!==_0x1802ce[_0x39f03d(0xdc)])throw CliErrors[_0x39f03d(0xb2)]('App\x20assets\x20or\x20update\x20target\x20changed\x20since\x20preview;\x20the\x20fingerprint\x20does\x20not\x20match.\x20Run\x20a\x20new\x20dry-run.');if(_0x1802ce[_0x39f03d(0xf1)])return{'ok':!![],'data':{'appCode':_0x3f2370,'appName':_0x4556a4,'updated':![],'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x39f03d(0xda)};await updateSmartAppRecord({'id':_0x86b4e7['id'],'appCode':_0x3f2370,'appPublishStatus':_0x86b4e7[_0x39f03d(0xe8)],'extend':_0x1802ce['nextExtend']},_0xc45570[_0x39f03d(0xef)]);const _0x110455=await getSmartAppRecord(_0x3f2370,_0xc45570[_0x39f03d(0xef)]),_0x19f46e=parseObject(_0x110455[_0x39f03d(0xe0)],_0x39f03d(0xd9));if(_0x110455['id']!==_0x86b4e7['id']||_0x110455[_0x39f03d(0xe8)]!==_0x86b4e7[_0x39f03d(0xe8)]||!isDeepStrictEqual(_0x19f46e,_0x1802ce[_0x39f03d(0xca)]))throw CliErrors[_0x39f03d(0xc7)]('App\x20asset\x20update\x20verification\x20failed;\x20inspect\x20the\x20app\x20before\x20retrying.');return{'ok':!![],'data':{'appCode':_0x3f2370,'appName':_0x4556a4,'updated':!![],'resources':_0x1bcb72,'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x39f03d(0xd1)+_0x4556a4+_0x39f03d(0x100)+_0x3f2370+_0x39f03d(0xf4)};}};
1
+ const a182_0x222adb=a182_0x1086;(function(_0x468c88,_0x37a416){const _0x5e9d3d=a182_0x1086,_0x10c541=_0x468c88();while(!![]){try{const _0x3cf19f=-parseInt(_0x5e9d3d(0x1d1))/0x1+-parseInt(_0x5e9d3d(0x1e8))/0x2+-parseInt(_0x5e9d3d(0x1dd))/0x3+-parseInt(_0x5e9d3d(0x1d5))/0x4*(-parseInt(_0x5e9d3d(0x1d0))/0x5)+-parseInt(_0x5e9d3d(0x200))/0x6+-parseInt(_0x5e9d3d(0x1d6))/0x7+parseInt(_0x5e9d3d(0x203))/0x8;if(_0x3cf19f===_0x37a416)break;else _0x10c541['push'](_0x10c541['shift']());}catch(_0x1d464d){_0x10c541['push'](_0x10c541['shift']());}}}(a182_0x27f5,0xdbf0d));import{createHash}from'node:crypto';import{isDeepStrictEqual}from'node:util';import{getSmartAppRecord,updateSmartAppRecord}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{getSubappSelector,SUBAPP_ASSET_SELECTOR_FLAGS}from'../../commands/menu/shared/subapp-assets.js';const KNOWN_EXTEND_KEYS=new Set([a182_0x222adb(0x1f5),a182_0x222adb(0x1c5),a182_0x222adb(0x1c6),a182_0x222adb(0x1f2),a182_0x222adb(0x1f4),a182_0x222adb(0x1d3),a182_0x222adb(0x208),a182_0x222adb(0x205),a182_0x222adb(0x1f9),a182_0x222adb(0x1f6)]);function a182_0x1086(_0x1d9be1,_0x58e077){_0x1d9be1=_0x1d9be1-0x1c0;const _0x27f530=a182_0x27f5();let _0x1086be=_0x27f530[_0x1d9be1];return _0x1086be;}function parseObject(_0xfe71e8,_0x97a085){const _0x41acef=a182_0x222adb;let _0x4b9239=_0xfe71e8;if(typeof _0xfe71e8==='string')try{_0x4b9239=JSON[_0x41acef(0x1e7)](_0xfe71e8);}catch{throw CliErrors[_0x41acef(0x1de)](_0x97a085+'\x20contains\x20invalid\x20JSON.');}if(!_0x4b9239||typeof _0x4b9239!==_0x41acef(0x1df)||Array['isArray'](_0x4b9239))throw CliErrors[_0x41acef(0x1de)](_0x97a085+_0x41acef(0x1f3));return _0x4b9239;}function parseArray(_0x77b7f1,_0x48d653){const _0x2b51eb=a182_0x222adb;let _0x2a5721;try{_0x2a5721=JSON[_0x2b51eb(0x1e7)](_0x77b7f1);}catch{throw CliErrors['validation'](_0x48d653+_0x2b51eb(0x1d2));}if(!Array[_0x2b51eb(0x1c0)](_0x2a5721))throw CliErrors['validation'](_0x48d653+_0x2b51eb(0x1c9));return _0x2a5721['map']((_0x579682,_0x1ff91a)=>parseObject(_0x579682,_0x48d653+'['+_0x1ff91a+']'));}function validateResources(_0x2fe255){const _0x2c6305=a182_0x222adb;if(_0x2fe255[_0x2c6305(0x1fc)]===0x0)throw CliErrors[_0x2c6305(0x1de)](_0x2c6305(0x201));for(const [_0x2df42e,_0x304b3c]of _0x2fe255[_0x2c6305(0x1e3)]()){if(typeof _0x304b3c!==_0x2c6305(0x1e5))throw CliErrors[_0x2c6305(0x1de)](_0x2c6305(0x1c4)+_0x2df42e+']\x20must\x20be\x20a\x20URL\x20string.');try{if(new URL(_0x304b3c)['protocol']!=='https:')throw new Error('not\x20HTTPS');}catch{throw CliErrors['validation'](_0x2c6305(0x1c4)+_0x2df42e+_0x2c6305(0x1f8));}}if(new Set(_0x2fe255)[_0x2c6305(0x1c1)]!==_0x2fe255[_0x2c6305(0x1fc)]||!_0x2fe255[_0x2c6305(0x1cf)](_0x277bf0=>/\.m?js(?:[?#]|$)/i['test'](_0x277bf0)))throw CliErrors['validation']('Resources\x20need\x20one\x20JS\x20entry\x20and\x20no\x20duplicate\x20URLs.');return _0x2fe255;}function prepare(_0xfac7eb,_0x1fbb56,_0x47441c){const _0xaf49fa=a182_0x222adb;if(!Number[_0xaf49fa(0x1cc)](_0xfac7eb['id'])||(_0xfac7eb['id']??0x0)<=0x0||typeof _0xfac7eb[_0xaf49fa(0x1da)]!==_0xaf49fa(0x1e5)||!_0xfac7eb[_0xaf49fa(0x1da)])throw CliErrors[_0xaf49fa(0x1de)]('App\x20ID\x20or\x20publish\x20status\x20is\x20missing;\x20refusing\x20a\x20generic\x20app\x20update.');const _0x49d17a=parseObject(_0xfac7eb[_0xaf49fa(0x1ce)],_0xaf49fa(0x1d7)),_0x512524=Object['keys'](_0x49d17a)[_0xaf49fa(0x206)](_0x1e3eb2=>!KNOWN_EXTEND_KEYS['has'](_0x1e3eb2));if(_0x512524['length'])throw CliErrors[_0xaf49fa(0x1de)]('Unknown\x20app.extend\x20fields:\x20'+_0x512524[_0xaf49fa(0x1e0)](',\x20')+'.\x20Refusing\x20update.');if(typeof _0x49d17a[_0xaf49fa(0x1f2)]!==_0xaf49fa(0x1e5))throw CliErrors['validation'](_0xaf49fa(0x202));const _0x344cc4=parseArray(_0x49d17a[_0xaf49fa(0x1f2)],_0xaf49fa(0x1d9)),_0x882000=_0x344cc4[_0xaf49fa(0x206)](_0x37764d=>_0x37764d[_0xaf49fa(0x1ed)]===_0x1fbb56);if(_0x882000[_0xaf49fa(0x1fc)]!==0x1)throw CliErrors['validation'](_0xaf49fa(0x1e1)+_0x1fbb56+';\x20found\x20'+_0x882000[_0xaf49fa(0x1fc)]+'.');const _0xe4faac=_0x882000[0x0];if(typeof _0xe4faac['resources']!==_0xaf49fa(0x1e5))throw CliErrors['validation'](_0xaf49fa(0x1fa));let _0x1e0383;try{_0x1e0383=JSON['parse'](_0xe4faac[_0xaf49fa(0x204)]);}catch{throw CliErrors['validation'](_0xaf49fa(0x1eb));}if(!Array['isArray'](_0x1e0383)||_0x1e0383['some'](_0x69b4a2=>typeof _0x69b4a2!==_0xaf49fa(0x1e5)))throw CliErrors[_0xaf49fa(0x1de)](_0xaf49fa(0x1cd));const _0x2193b5=_0x344cc4[_0xaf49fa(0x1f7)](_0x1e77a4=>_0x1e77a4===_0xe4faac?{..._0x1e77a4,'resources':JSON[_0xaf49fa(0x1e2)](_0x47441c)}:_0x1e77a4),_0xa06f00={..._0x49d17a,'assets':JSON[_0xaf49fa(0x1e2)](_0x2193b5)},_0x2ae9db=createHash(_0xaf49fa(0x1e9))['update'](JSON['stringify']({'appCode':_0xfac7eb[_0xaf49fa(0x207)],'id':_0xfac7eb['id'],'appPublishStatus':_0xfac7eb['appPublishStatus'],'extend':_0x49d17a,'appName':_0x1fbb56,'resources':_0x47441c}))[_0xaf49fa(0x1e6)]('hex');return{'before':_0x1e0383,'nextExtend':_0xa06f00,'expectedHash':_0x2ae9db,'unchanged':isDeepStrictEqual(_0x1e0383,_0x47441c)};}function flags(_0x34f595){const _0x1eb933=a182_0x222adb,{appCode:_0x4daf37,appName:_0x4e546e}=getSubappSelector(_0x34f595),_0xf8a121=_0x34f595[_0x1eb933(0x1c3)](_0x1eb933(0x204))[_0x1eb933(0x1ca)]();if(!_0xf8a121)throw CliErrors['validation']('--resources\x20is\x20required.');let _0x5bdea1;try{_0x5bdea1=JSON['parse'](_0xf8a121);}catch{throw CliErrors[_0x1eb933(0x1de)](_0x1eb933(0x1d4));}if(!Array[_0x1eb933(0x1c0)](_0x5bdea1))throw CliErrors[_0x1eb933(0x1de)](_0x1eb933(0x1d4));return{'appCode':_0x4daf37,'appName':_0x4e546e,'resources':validateResources(_0x5bdea1)};}function a182_0x27f5(){const _0x595d25=['9230760SdKaIg','app.extend','write','app.extend.assets','appPublishStatus','expectedHash','Shared\x20assets\x20already\x20match\x20the\x20requested\x20URLs.','2580834FLZbrH','validation','object','join','Expected\x20exactly\x20one\x20existing\x20subapp\x20entry\x20for\x20','stringify','entries','\x20in\x20menu\x20host\x20','string','digest','parse','2294738zaRUqj','sha256','/smartapi/app/update','Existing\x20subapp.resources\x20contains\x20invalid\x20JSON.','subapp-assets-update','appName','Management\x20app\x20assets\x20already\x20match;\x20independent\x20deployment\x20not\x20verified.','Would\x20update\x20shared\x20assets\x20for\x20','test','Updated\x20shared\x20resources\x20for\x20','assets','\x20must\x20be\x20a\x20JSON\x20object.','tenantColumn','skinColor','directDbEnabled','map',']\x20must\x20be\x20an\x20absolute\x20HTTPS\x20URL.','directDbId','Existing\x20subapp.resources\x20must\x20be\x20a\x20JSON\x20string.','verified\x20app.extend','length','cookie','POST','nextExtend','3327894Wtqrby','At\x20least\x20one\x20resource\x20URL\x20is\x20required.','app.extend.assets\x20must\x20be\x20a\x20JSON\x20string;\x20refusing\x20update.','38478008FWOEUf','resources','enableAutoSync','filter','appCode','vipDeploy','isArray','size','JSON\x20array\x20of\x20HTTPS\x20resource\x20URLs','str','resources[','enableOpenApi','accessKey','unchanged','App\x20asset\x20update\x20verification\x20failed;\x20inspect\x20the\x20app\x20before\x20retrying.','\x20must\x20be\x20a\x20JSON\x20array.','trim','expected-hash','isSafeInteger','Existing\x20subapp.resources\x20must\x20be\x20an\x20array\x20of\x20URLs.','extend','some','2080cZgNUB','1440218IpEYVe','\x20contains\x20invalid\x20JSON.','enableSample','--resources\x20must\x20be\x20a\x20JSON\x20array\x20of\x20HTTPS\x20URLs.','13580FXwJjY'];a182_0x27f5=function(){return _0x595d25;};return a182_0x27f5();}export const menuSubappAssetsUpdate={'service':'menu','command':a182_0x222adb(0x1ec),'description':'Update\x20one\x20frontend\x20subapp\x20resource\x20URL\x20set\x20in\x20the\x20selected\x20menu\x20host','risk':a182_0x222adb(0x1d8),'strictFlags':!![],'flags':[...SUBAPP_ASSET_SELECTOR_FLAGS,{'name':a182_0x222adb(0x204),'type':a182_0x222adb(0x1e5),'required':!![],'description':a182_0x222adb(0x1c2)},{'name':'expected-hash','type':a182_0x222adb(0x1e5),'description':'Preview\x20fingerprint\x20binding\x20the\x20host,\x20subapp,\x20resource\x20URLs\x20and\x20current\x20config;\x20required\x20for\x20writes'}],async 'validate'(_0x5bf85c){flags(_0x5bf85c);},async 'dryRun'(_0x176b6f){const _0xf93b84=a182_0x222adb,{appCode:_0x499e09,appName:_0x336777,resources:_0x2f45a7}=flags(_0x176b6f),_0xc20ff1=await getSmartAppRecord(_0x499e09,_0x176b6f['cookie']),_0x21ada2=prepare(_0xc20ff1,_0x336777,_0x2f45a7);return{'method':_0xf93b84(0x1fe),'url':_0xf93b84(0x1ea),'body':{'preview':{'appCode':_0x499e09,'appName':_0x336777,'before':_0x21ada2['before'],'after':_0x2f45a7,'expectedHash':_0x21ada2[_0xf93b84(0x1db)],'unchanged':_0x21ada2[_0xf93b84(0x1c7)],'remoteContentVerified':![],'independentDeploymentVerified':![]}},'description':_0x21ada2[_0xf93b84(0x1c7)]?_0xf93b84(0x1dc):_0xf93b84(0x1ef)+_0x336777+'.'};},async 'execute'(_0x2fe76c){const _0x11db67=a182_0x222adb,{appCode:_0x2506b3,appName:_0x4ba5c5,resources:_0x57f320}=flags(_0x2fe76c),_0x498ecc=_0x2fe76c[_0x11db67(0x1c3)](_0x11db67(0x1cb))['trim']();if(!/^[a-f0-9]{64}$/i[_0x11db67(0x1f0)](_0x498ecc))throw CliErrors[_0x11db67(0x1de)]('--expected-hash\x20from\x20a\x20dry-run\x20is\x20required.');const _0xe1b03b=await getSmartAppRecord(_0x2506b3,_0x2fe76c[_0x11db67(0x1fd)]),_0x4d0cc0=prepare(_0xe1b03b,_0x4ba5c5,_0x57f320);if(_0x498ecc!==_0x4d0cc0[_0x11db67(0x1db)])throw CliErrors[_0x11db67(0x1de)]('App\x20assets\x20or\x20update\x20target\x20changed\x20since\x20preview;\x20the\x20fingerprint\x20does\x20not\x20match.\x20Run\x20a\x20new\x20dry-run.');if(_0x4d0cc0['unchanged'])return{'ok':!![],'data':{'appCode':_0x2506b3,'appName':_0x4ba5c5,'updated':![],'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x11db67(0x1ee)};await updateSmartAppRecord({'id':_0xe1b03b['id'],'appCode':_0x2506b3,'appPublishStatus':_0xe1b03b[_0x11db67(0x1da)],'extend':_0x4d0cc0[_0x11db67(0x1ff)]},_0x2fe76c[_0x11db67(0x1fd)]);const _0x19fda1=await getSmartAppRecord(_0x2506b3,_0x2fe76c[_0x11db67(0x1fd)]),_0x2da10a=parseObject(_0x19fda1[_0x11db67(0x1ce)],_0x11db67(0x1fb));if(_0x19fda1['id']!==_0xe1b03b['id']||_0x19fda1[_0x11db67(0x1da)]!==_0xe1b03b['appPublishStatus']||!isDeepStrictEqual(_0x2da10a,_0x4d0cc0[_0x11db67(0x1ff)]))throw CliErrors['apiError'](_0x11db67(0x1c8));return{'ok':!![],'data':{'appCode':_0x2506b3,'appName':_0x4ba5c5,'updated':!![],'resources':_0x57f320,'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x11db67(0x1f1)+_0x4ba5c5+_0x11db67(0x1e4)+_0x2506b3+';\x20independent\x20deployment\x20not\x20verified.'};}};
@@ -1 +1 @@
1
- const a179_0x1517b2=a179_0x2039;(function(_0x3feb0d,_0xf526bb){const _0x46df52=a179_0x2039,_0x2bf329=_0x3feb0d();while(!![]){try{const _0x2b808c=-parseInt(_0x46df52(0x15e))/0x1*(-parseInt(_0x46df52(0x17f))/0x2)+-parseInt(_0x46df52(0x155))/0x3*(-parseInt(_0x46df52(0x15f))/0x4)+parseInt(_0x46df52(0x195))/0x5+parseInt(_0x46df52(0x187))/0x6+-parseInt(_0x46df52(0x15c))/0x7*(parseInt(_0x46df52(0x151))/0x8)+parseInt(_0x46df52(0x188))/0x9*(-parseInt(_0x46df52(0x170))/0xa)+-parseInt(_0x46df52(0x175))/0xb*(-parseInt(_0x46df52(0x197))/0xc);if(_0x2b808c===_0xf526bb)break;else _0x2bf329['push'](_0x2bf329['shift']());}catch(_0x5a4cd5){_0x2bf329['push'](_0x2bf329['shift']());}}}(a179_0x5bdb,0x1f1ee));import a179_0x3915cf from'chalk';import{buildCompareRows,doCreateMenus,fetchMenuData}from'../../commands/menu/shared/logic.js';import{renderCompareTable,renderSyncSummary}from'../../commands/menu/shared/compare-table.js';import{selectPages,askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';function a179_0x2039(_0x4a9c3e,_0x158481){_0x4a9c3e=_0x4a9c3e-0x150;const _0x5bdba7=a179_0x5bdb();let _0x2039e2=_0x5bdba7[_0x4a9c3e];return _0x2039e2;}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{parseMenuSyncParams,resolvePage,runMenuSyncCore}from'../../commands/menu/shared/sync-core.js';import{getLocalPages}from'../../commands/menu/shared/local-pages.js';import{isInProject}from'../../context.js';import{assertSharedResourcesConfigured}from'../../commands/menu/shared/subapp-assets.js';export const menuSync={'service':a179_0x1517b2(0x153),'command':a179_0x1517b2(0x179),'description':a179_0x1517b2(0x167),'risk':a179_0x1517b2(0x17c),'flags':[{'name':a179_0x1517b2(0x16c),'type':'string','description':a179_0x1517b2(0x198)+'JSON:\x20{\x22appName\x22:\x22store-app\x22,\x22parentId\x22:42,\x22visible\x22:false};\x20jsUrl\x20and\x20cssUrl\x20remain\x20available\x20for\x20individual\x20menu\x20resources.'},{'name':'paths','type':a179_0x1517b2(0x18a),'description':a179_0x1517b2(0x178)},{'name':'yes','type':a179_0x1517b2(0x19d),'description':a179_0x1517b2(0x174)}],async 'dryRun'(_0x118ad2){const _0x265191=a179_0x1517b2;ensureRunnableContext(_0x118ad2[_0x265191(0x173)],_0x118ad2[_0x265191(0x185)]);const _0x10c3bf=await runMenuSyncCore(_0x118ad2[_0x265191(0x152)],_0x118ad2['cookie'],parsePaths(_0x118ad2[_0x265191(0x189)](_0x265191(0x177))),_0x118ad2['str'](_0x265191(0x16c)),{'dryRun':!![]});return{'method':_0x265191(0x157),'url':'/smartapi/menu/create','body':_0x10c3bf,'description':_0x10c3bf['skipped']?_0x265191(0x180):_0x265191(0x16d)+_0x10c3bf[_0x265191(0x16e)][_0x265191(0x162)]+_0x265191(0x17a)};},async 'execute'(_0x5357d2){const _0x31dacb=a179_0x1517b2;ensureRunnableContext(_0x5357d2[_0x31dacb(0x173)],_0x5357d2['selectedAppName']);const _0x30ac81=_0x5357d2[_0x31dacb(0x17b)](_0x31dacb(0x154)),_0x557675=_0x5357d2[_0x31dacb(0x189)]('params'),_0x21d442=parsePaths(_0x5357d2['str'](_0x31dacb(0x177))),_0x11b53e=parseMenuSyncParams(_0x557675);if(_0x30ac81){const _0x57f1aa=await runMenuSyncCore(_0x5357d2[_0x31dacb(0x152)],_0x5357d2[_0x31dacb(0x19b)],_0x21d442,_0x557675);if(_0x57f1aa[_0x31dacb(0x17e)]){const _0x6b6df7=getLocalPages();_0x6b6df7[_0x31dacb(0x162)]===0x0?writeCliSideChannelLine('!\x20No\x20local\x20pages\x20found\x20in\x20src/pages'):writeCliSideChannelLine(_0x31dacb(0x150));}else writeCliSideChannelLine(_0x31dacb(0x163)+_0x57f1aa['created']+_0x31dacb(0x172));return{'ok':!![],'data':_0x57f1aa,'message':_0x57f1aa[_0x31dacb(0x17e)]?_0x31dacb(0x16f):_0x31dacb(0x191)+_0x57f1aa[_0x31dacb(0x181)]+_0x31dacb(0x159)};}if(_0x21d442[_0x31dacb(0x162)]>0x0)throw CliErrors[_0x31dacb(0x192)](_0x31dacb(0x18c),'Preview\x20with\x20--dry-run,\x20then\x20reuse\x20the\x20same\x20--paths\x20and\x20--params\x20with\x20--yes.');if(!isInteractive()&&_0x557675)throw CliErrors[_0x31dacb(0x192)]('Non-interactive\x20menu\x20sync\x20requires\x20--yes.',_0x31dacb(0x176));requireInteractive(),writeCliSideChannelLine(_0x31dacb(0x18e));const _0x537045=startSpinner(_0x31dacb(0x199));let _0x1baf40,_0x34b6e7,_0x230f54;try{const _0x5c4686=await fetchMenuData(_0x5357d2[_0x31dacb(0x152)],_0x5357d2[_0x31dacb(0x19b)]);_0x1baf40=_0x5c4686[_0x31dacb(0x168)],_0x34b6e7=_0x5c4686[_0x31dacb(0x19c)],_0x230f54=_0x5c4686[_0x31dacb(0x15a)],stopSpinner(_0x537045,_0x31dacb(0x17d),!![]);}catch(_0x3877ea){stopSpinner(_0x537045,_0x31dacb(0x190),![]);throw CliErrors[_0x31dacb(0x192)](_0x3877ea instanceof Error?_0x3877ea['message']:_0x31dacb(0x190));}if(_0x1baf40[_0x31dacb(0x162)]===0x0)return writeCliSideChannelLine(a179_0x3915cf['yellow'](_0x31dacb(0x169))),{'ok':!![]};const _0x554921=buildCompareRows(_0x1baf40,_0x34b6e7);writeCliSideChannelLine(renderCompareTable(_0x554921)),writeCliSideChannelLine('');const _0x507d72=await selectPages(_0x1baf40,_0x34b6e7);writeCliSideChannelLine(''),writeCliSideChannelLine(a179_0x3915cf['cyan'](_0x31dacb(0x15b)+_0x507d72['length']+_0x31dacb(0x160)));const _0x485b9b=_0x11b53e[_0x31dacb(0x184)]&&_0x11b53e[_0x31dacb(0x156)];if(!_0x485b9b){writeCliSideChannelLine(renderSyncSummary(_0x507d72,_0x34b6e7[_0x31dacb(0x164)]>0x0));const _0x4da0a5=await askConfirm('\x20\x20Continue\x20with\x20creation?');if(!_0x4da0a5)return writeCliSideChannelLine(a179_0x3915cf[_0x31dacb(0x18b)](_0x31dacb(0x171))),{'ok':!![]};}let _0x289ade=_0x11b53e[_0x31dacb(0x184)],_0xbf604f=_0x11b53e[_0x31dacb(0x156)];!_0x289ade&&!_0x11b53e[_0x31dacb(0x18f)]&&(_0x289ade=await askJsUrl());!_0xbf604f&&!_0x11b53e[_0x31dacb(0x18f)]&&(_0xbf604f=await askCssUrl());const _0xb322b2=await askConfirm(_0x11b53e[_0x31dacb(0x18f)]?_0x31dacb(0x158)+_0x507d72['length']+'\x20menu(s)\x20bound\x20to\x20'+_0x11b53e[_0x31dacb(0x18f)]+'?':'\x20\x20Create\x20'+_0x507d72[_0x31dacb(0x162)]+_0x31dacb(0x183)+_0x289ade+'\x20and\x20CSS:\x20'+_0xbf604f+'?');if(!_0xb322b2)return writeCliSideChannelLine(a179_0x3915cf[_0x31dacb(0x18b)](_0x31dacb(0x171))),{'ok':!![]};const _0x31ca29=[_0x289ade,_0xbf604f][_0x31dacb(0x194)](_0x2a5760=>Boolean(_0x2a5760));_0x11b53e['appName']&&_0x31ca29[_0x31dacb(0x162)]===0x0&&await assertSharedResourcesConfigured(_0x5357d2[_0x31dacb(0x152)],_0x5357d2[_0x31dacb(0x19b)],_0x11b53e[_0x31dacb(0x18f)]);const _0x1d11fb=startSpinner(_0x31dacb(0x186)+_0x507d72[_0x31dacb(0x162)]+_0x31dacb(0x19a));try{const _0x2ea2cc=_0x507d72[_0x31dacb(0x19e)](_0x3afb26=>resolvePage(_0x3afb26,_0x11b53e,_0x230f54)),_0xf0b48d=await doCreateMenus(_0x5357d2[_0x31dacb(0x152)],_0x5357d2['cookie'],_0x2ea2cc,_0x31ca29,_0x11b53e[_0x31dacb(0x18f)]?{'appName':_0x11b53e[_0x31dacb(0x18f)]}:undefined);return stopSpinner(_0x1d11fb,'Created\x20'+_0xf0b48d['created']+_0x31dacb(0x182),!![]),{'ok':!![],'data':_0xf0b48d,'message':_0x31dacb(0x191)+_0xf0b48d[_0x31dacb(0x181)]+_0x31dacb(0x15d)+_0xf0b48d[_0x31dacb(0x161)]+'\x20failed.'};}catch(_0x46f146){stopSpinner(_0x1d11fb,_0x31dacb(0x16a),![]);throw CliErrors[_0x31dacb(0x192)](_0x46f146 instanceof Error?_0x46f146[_0x31dacb(0x165)]:_0x31dacb(0x16a));}}};function ensureRunnableContext(_0x2c9843,_0x3e80c4){const _0x437b3c=a179_0x1517b2,_0x2a7912=_0x2c9843[_0x437b3c(0x18d)]?String(_0x2c9843[_0x437b3c(0x18d)])[_0x437b3c(0x16b)]():'';if(!isInProject()&&!_0x3e80c4&&!_0x2a7912)throw CliErrors[_0x437b3c(0x192)](_0x437b3c(0x193)+_0x437b3c(0x196));}function a179_0x5bdb(){const _0x455d8f=['Register\x20local\x20pages\x20as\x20platform\x20menus','localPages','\x20\x20!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','Menu\x20creation\x20failed','trim','params','Would\x20create\x20','targetPages','Menu\x20sync\x20skipped','85010XtmHyH','\x20\x20Cancelled.','\x20menu(s)\x20created','rawFlags','Confirm\x20non-interactive\x20sync;\x20without\x20--paths,\x20create\x20all\x20missing\x20local\x20pages','594PdiSdx','Preview\x20with\x20--dry-run,\x20then\x20reuse\x20the\x20same\x20--paths\x20and\x20--params\x20with\x20--yes.','paths','Exact\x20comma-separated\x20local\x20page\x20paths\x20to\x20sync','sync','\x20local\x20microfrontend\x20menu(s).','flag','write','Online\x20menu\x20list\x20fetched','skipped','4PJKFzJ','No\x20local\x20microfrontend\x20menus\x20would\x20be\x20created.','created','\x20menu(s)','\x20menu(s)\x20with\x20JS:\x20','jsUrl','selectedAppName','Creating\x20','357342zQoBGR','234pzCXwQ','str','string','gray','menu\x20sync\x20--paths\x20requires\x20--yes\x20for\x20execution.','appcode','Tip:\x20For\x20frontend\x20subapps,\x20prefer\x20Agent-planned\x20menu\x20groups\x20and\x20shared\x20resources.\x20This\x20manual\x20sync\x20workflow\x20remains\x20available\x20as\x20a\x20fallback.','appName','Failed\x20to\x20fetch\x20online\x20menu\x20list','Menu\x20sync\x20completed:\x20','validation','menu\x20sync\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','filter','459265iyYfyl','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','32952WAyYae','Prefer\x20appName\x20for\x20shared\x20subapp\x20resources\x20and\x20parentId\x20for\x20planned\x20groups.\x20','Fetching\x20online\x20menu\x20list...','\x20menu(s)...','cookie','onlinePaths','boolean','map','✓\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform','1181176IGVeka','appCode','menu','yes','13551JshiVl','cssUrl','POST','\x20\x20Create\x20','\x20created.','onlineMenuList','\x20\x20✓\x20Selected:\x20','7ZSCXhk','\x20created,\x20','28211SRUfoL','124CnYTEq','\x20page(s)','failed','length','✓\x20Menu\x20sync\x20completed:\x20','size','message','split'];a179_0x5bdb=function(){return _0x455d8f;};return a179_0x5bdb();}function parsePaths(_0x381a31){const _0x3057b1=a179_0x1517b2;return[...new Set(_0x381a31[_0x3057b1(0x166)](',')['map'](_0x59f2b2=>_0x59f2b2['trim']())[_0x3057b1(0x194)](Boolean))];}
1
+ const a183_0x4a0f39=a183_0x17a2;(function(_0x3aac02,_0x2ba8d5){const _0x4ca45f=a183_0x17a2,_0x47b1b7=_0x3aac02();while(!![]){try{const _0x1b9a2a=parseInt(_0x4ca45f(0xaf))/0x1*(-parseInt(_0x4ca45f(0xb6))/0x2)+-parseInt(_0x4ca45f(0xbf))/0x3+-parseInt(_0x4ca45f(0xd9))/0x4*(-parseInt(_0x4ca45f(0xba))/0x5)+parseInt(_0x4ca45f(0xd6))/0x6+parseInt(_0x4ca45f(0xe3))/0x7*(parseInt(_0x4ca45f(0xa2))/0x8)+parseInt(_0x4ca45f(0xde))/0x9+-parseInt(_0x4ca45f(0x9c))/0xa;if(_0x1b9a2a===_0x2ba8d5)break;else _0x47b1b7['push'](_0x47b1b7['shift']());}catch(_0x52979c){_0x47b1b7['push'](_0x47b1b7['shift']());}}}(a183_0x5975,0xf15a1));import a183_0x6792ce from'chalk';function a183_0x5975(){const _0x5eff82=['cssUrl','trim','5921665bjBajW','split','\x20\x20Create\x20','✓\x20Menu\x20sync\x20completed:\x20','Online\x20menu\x20list\x20fetched','575427CJMFqt','params','rawFlags','No\x20local\x20microfrontend\x20menus\x20would\x20be\x20created.','\x20menu(s)...','appName','\x20local\x20microfrontend\x20menu(s).','Confirm\x20non-interactive\x20sync;\x20without\x20--paths,\x20create\x20all\x20missing\x20local\x20pages','onlinePaths','flag','string','str','sync','\x20\x20Continue\x20with\x20creation?','jsUrl','appcode','size','Created\x20','paths','skipped','\x20failed.','cookie','Menu\x20sync\x20completed:\x20','7815828JsSQQo','message','✓\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform','4YFCIXK','Creating\x20','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','\x20menu(s)\x20with\x20JS:\x20','\x20menu(s)\x20bound\x20to\x20','5755392JbXyxO','\x20created.','failed','\x20menu(s)','created','49YgQZNs','boolean','filter','Non-interactive\x20menu\x20sync\x20requires\x20--yes.','length','30536890CjbGmo','localPages','\x20\x20!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first','Prefer\x20appName\x20for\x20shared\x20subapp\x20resources\x20and\x20parentId\x20for\x20planned\x20groups.\x20','Failed\x20to\x20fetch\x20online\x20menu\x20list','\x20\x20✓\x20Selected:\x20','1345816JemxRl','yellow','appCode','gray','validation','map','cyan','menu','write','!\x20No\x20local\x20pages\x20found\x20in\x20src/pages','\x20and\x20CSS:\x20','yes','/smartapi/menu/create','419xseepV','Exact\x20comma-separated\x20local\x20page\x20paths\x20to\x20sync','JSON:\x20{\x22appName\x22:\x22store-app\x22,\x22parentId\x22:42,\x22visible\x22:false};\x20jsUrl\x20and\x20cssUrl\x20remain\x20available\x20for\x20individual\x20menu\x20resources.','Fetching\x20online\x20menu\x20list...','Tip:\x20For\x20frontend\x20subapps,\x20prefer\x20Agent-planned\x20menu\x20groups\x20and\x20shared\x20resources.\x20This\x20manual\x20sync\x20workflow\x20remains\x20available\x20as\x20a\x20fallback.','Would\x20create\x20','Preview\x20with\x20--dry-run,\x20then\x20reuse\x20the\x20same\x20--paths\x20and\x20--params\x20with\x20--yes.','334apVnkH','selectedAppName'];a183_0x5975=function(){return _0x5eff82;};return a183_0x5975();}import{buildCompareRows,doCreateMenus,fetchMenuData}from'../../commands/menu/shared/logic.js';import{renderCompareTable,renderSyncSummary}from'../../commands/menu/shared/compare-table.js';import{selectPages,askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{parseMenuSyncParams,resolvePage,runMenuSyncCore}from'../../commands/menu/shared/sync-core.js';import{getLocalPages}from'../../commands/menu/shared/local-pages.js';import{isInProject}from'../../context.js';function a183_0x17a2(_0x19c274,_0x1d1585){_0x19c274=_0x19c274-0x9c;const _0x597505=a183_0x5975();let _0x17a2b7=_0x597505[_0x19c274];return _0x17a2b7;}import{assertSharedResourcesConfigured}from'../../commands/menu/shared/subapp-assets.js';export const menuSync={'service':a183_0x4a0f39(0xa9),'command':a183_0x4a0f39(0xcb),'description':'Register\x20local\x20pages\x20as\x20platform\x20menus','risk':a183_0x4a0f39(0xaa),'flags':[{'name':a183_0x4a0f39(0xc0),'type':a183_0x4a0f39(0xc9),'description':a183_0x4a0f39(0x9f)+a183_0x4a0f39(0xb1)},{'name':'paths','type':a183_0x4a0f39(0xc9),'description':a183_0x4a0f39(0xb0)},{'name':a183_0x4a0f39(0xad),'type':a183_0x4a0f39(0xe4),'description':a183_0x4a0f39(0xc6)}],async 'dryRun'(_0x48758b){const _0x41ed21=a183_0x4a0f39;ensureRunnableContext(_0x48758b[_0x41ed21(0xc1)],_0x48758b[_0x41ed21(0xb7)]);const _0x2ca199=await runMenuSyncCore(_0x48758b[_0x41ed21(0xa4)],_0x48758b[_0x41ed21(0xd4)],parsePaths(_0x48758b[_0x41ed21(0xca)](_0x41ed21(0xd1))),_0x48758b[_0x41ed21(0xca)](_0x41ed21(0xc0)),{'dryRun':!![]});return{'method':'POST','url':_0x41ed21(0xae),'body':_0x2ca199,'description':_0x2ca199[_0x41ed21(0xd2)]?_0x41ed21(0xc2):_0x41ed21(0xb4)+_0x2ca199['targetPages'][_0x41ed21(0xe7)]+_0x41ed21(0xc5)};},async 'execute'(_0x33116d){const _0x2ab5ca=a183_0x4a0f39;ensureRunnableContext(_0x33116d[_0x2ab5ca(0xc1)],_0x33116d['selectedAppName']);const _0x2868e=_0x33116d[_0x2ab5ca(0xc8)]('yes'),_0x4c8fd9=_0x33116d['str'](_0x2ab5ca(0xc0)),_0x2b214d=parsePaths(_0x33116d['str']('paths')),_0x1147b1=parseMenuSyncParams(_0x4c8fd9);if(_0x2868e){const _0x35c7ed=await runMenuSyncCore(_0x33116d[_0x2ab5ca(0xa4)],_0x33116d['cookie'],_0x2b214d,_0x4c8fd9);if(_0x35c7ed[_0x2ab5ca(0xd2)]){const _0x1b2193=getLocalPages();_0x1b2193['length']===0x0?writeCliSideChannelLine(_0x2ab5ca(0xab)):writeCliSideChannelLine(_0x2ab5ca(0xd8));}else writeCliSideChannelLine(_0x2ab5ca(0xbd)+_0x35c7ed[_0x2ab5ca(0xe2)]+'\x20menu(s)\x20created');return{'ok':!![],'data':_0x35c7ed,'message':_0x35c7ed[_0x2ab5ca(0xd2)]?'Menu\x20sync\x20skipped':_0x2ab5ca(0xd5)+_0x35c7ed[_0x2ab5ca(0xe2)]+_0x2ab5ca(0xdf)};}if(_0x2b214d[_0x2ab5ca(0xe7)]>0x0)throw CliErrors[_0x2ab5ca(0xa6)]('menu\x20sync\x20--paths\x20requires\x20--yes\x20for\x20execution.',_0x2ab5ca(0xb5));if(!isInteractive()&&_0x4c8fd9)throw CliErrors[_0x2ab5ca(0xa6)](_0x2ab5ca(0xe6),_0x2ab5ca(0xb5));requireInteractive(),writeCliSideChannelLine(_0x2ab5ca(0xb3));const _0x139921=startSpinner(_0x2ab5ca(0xb2));let _0x4a6134,_0x5760fc,_0x4eb1a3;try{const _0x535593=await fetchMenuData(_0x33116d[_0x2ab5ca(0xa4)],_0x33116d[_0x2ab5ca(0xd4)]);_0x4a6134=_0x535593[_0x2ab5ca(0x9d)],_0x5760fc=_0x535593[_0x2ab5ca(0xc7)],_0x4eb1a3=_0x535593['onlineMenuList'],stopSpinner(_0x139921,_0x2ab5ca(0xbe),!![]);}catch(_0x87f054){stopSpinner(_0x139921,_0x2ab5ca(0xa0),![]);throw CliErrors[_0x2ab5ca(0xa6)](_0x87f054 instanceof Error?_0x87f054[_0x2ab5ca(0xd7)]:_0x2ab5ca(0xa0));}if(_0x4a6134[_0x2ab5ca(0xe7)]===0x0)return writeCliSideChannelLine(a183_0x6792ce[_0x2ab5ca(0xa3)](_0x2ab5ca(0x9e))),{'ok':!![]};const _0x24aad9=buildCompareRows(_0x4a6134,_0x5760fc);writeCliSideChannelLine(renderCompareTable(_0x24aad9)),writeCliSideChannelLine('');const _0x2b3845=await selectPages(_0x4a6134,_0x5760fc);writeCliSideChannelLine(''),writeCliSideChannelLine(a183_0x6792ce[_0x2ab5ca(0xa8)](_0x2ab5ca(0xa1)+_0x2b3845[_0x2ab5ca(0xe7)]+'\x20page(s)'));const _0x8b71c1=_0x1147b1[_0x2ab5ca(0xcd)]&&_0x1147b1[_0x2ab5ca(0xb8)];if(!_0x8b71c1){writeCliSideChannelLine(renderSyncSummary(_0x2b3845,_0x5760fc[_0x2ab5ca(0xcf)]>0x0));const _0x1fec82=await askConfirm(_0x2ab5ca(0xcc));if(!_0x1fec82)return writeCliSideChannelLine(a183_0x6792ce[_0x2ab5ca(0xa5)]('\x20\x20Cancelled.')),{'ok':!![]};}let _0x4ca8c8=_0x1147b1[_0x2ab5ca(0xcd)],_0x1a4a5e=_0x1147b1[_0x2ab5ca(0xb8)];!_0x4ca8c8&&!_0x1147b1[_0x2ab5ca(0xc4)]&&(_0x4ca8c8=await askJsUrl());!_0x1a4a5e&&!_0x1147b1['appName']&&(_0x1a4a5e=await askCssUrl());const _0x4ad93f=await askConfirm(_0x1147b1[_0x2ab5ca(0xc4)]?_0x2ab5ca(0xbc)+_0x2b3845[_0x2ab5ca(0xe7)]+_0x2ab5ca(0xdd)+_0x1147b1[_0x2ab5ca(0xc4)]+'?':'\x20\x20Create\x20'+_0x2b3845['length']+_0x2ab5ca(0xdc)+_0x4ca8c8+_0x2ab5ca(0xac)+_0x1a4a5e+'?');if(!_0x4ad93f)return writeCliSideChannelLine(a183_0x6792ce[_0x2ab5ca(0xa5)]('\x20\x20Cancelled.')),{'ok':!![]};const _0x342873=[_0x4ca8c8,_0x1a4a5e][_0x2ab5ca(0xe5)](_0x56e46e=>Boolean(_0x56e46e));_0x1147b1['appName']&&_0x342873[_0x2ab5ca(0xe7)]===0x0&&await assertSharedResourcesConfigured(_0x33116d[_0x2ab5ca(0xa4)],_0x33116d[_0x2ab5ca(0xd4)],_0x1147b1[_0x2ab5ca(0xc4)]);const _0x135546=startSpinner(_0x2ab5ca(0xda)+_0x2b3845[_0x2ab5ca(0xe7)]+_0x2ab5ca(0xc3));try{const _0x30eecb=_0x2b3845[_0x2ab5ca(0xa7)](_0x415d6f=>resolvePage(_0x415d6f,_0x1147b1,_0x4eb1a3)),_0x2d2f0a=await doCreateMenus(_0x33116d[_0x2ab5ca(0xa4)],_0x33116d[_0x2ab5ca(0xd4)],_0x30eecb,_0x342873,_0x1147b1[_0x2ab5ca(0xc4)]?{'appName':_0x1147b1[_0x2ab5ca(0xc4)]}:undefined);return stopSpinner(_0x135546,_0x2ab5ca(0xd0)+_0x2d2f0a['created']+_0x2ab5ca(0xe1),!![]),{'ok':!![],'data':_0x2d2f0a,'message':_0x2ab5ca(0xd5)+_0x2d2f0a[_0x2ab5ca(0xe2)]+'\x20created,\x20'+_0x2d2f0a[_0x2ab5ca(0xe0)]+_0x2ab5ca(0xd3)};}catch(_0xcd6a67){stopSpinner(_0x135546,'Menu\x20creation\x20failed',![]);throw CliErrors[_0x2ab5ca(0xa6)](_0xcd6a67 instanceof Error?_0xcd6a67[_0x2ab5ca(0xd7)]:'Menu\x20creation\x20failed');}}};function ensureRunnableContext(_0x2428e0,_0x38d017){const _0x32e34e=a183_0x4a0f39,_0x87245=_0x2428e0[_0x32e34e(0xce)]?String(_0x2428e0[_0x32e34e(0xce)])[_0x32e34e(0xb9)]():'';if(!isInProject()&&!_0x38d017&&!_0x87245)throw CliErrors[_0x32e34e(0xa6)]('menu\x20sync\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+_0x32e34e(0xdb));}function parsePaths(_0x561705){const _0x2c02ad=a183_0x4a0f39;return[...new Set(_0x561705[_0x2c02ad(0xbb)](',')[_0x2c02ad(0xa7)](_0x27b4d5=>_0x27b4d5[_0x2c02ad(0xb9)]())[_0x2c02ad(0xe5)](Boolean))];}