@lovrabet/rabetbase-cli 2.5.5 → 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_0x4c9f12=a169_0x3a4e;function a169_0x3a4e(_0x131981,_0x2cc088){_0x131981=_0x131981-0x67;const _0x34e989=a169_0x34e9();let _0x3a4e50=_0x34e989[_0x131981];return _0x3a4e50;}(function(_0x20d884,_0x19f5ee){const _0x172a3e=a169_0x3a4e,_0x456789=_0x20d884();while(!![]){try{const _0x3107a3=-parseInt(_0x172a3e(0xa1))/0x1+parseInt(_0x172a3e(0xa8))/0x2+parseInt(_0x172a3e(0x9a))/0x3+-parseInt(_0x172a3e(0x68))/0x4+parseInt(_0x172a3e(0x6d))/0x5+-parseInt(_0x172a3e(0xc9))/0x6+-parseInt(_0x172a3e(0x71))/0x7*(-parseInt(_0x172a3e(0xb6))/0x8);if(_0x3107a3===_0x19f5ee)break;else _0x456789['push'](_0x456789['shift']());}catch(_0x18ae88){_0x456789['push'](_0x456789['shift']());}}}(a169_0x34e9,0xad58d));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':'sort','type':a169_0x4c9f12(0x6f),'description':a169_0x4c9f12(0xc7)};export const MENU_PARENT_ID_FLAG={'name':a169_0x4c9f12(0x91),'type':a169_0x4c9f12(0xa3),'description':'Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node'};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a169_0x4c9f12(0xbb),'type':'string','description':a169_0x4c9f12(0x99)};function a169_0x34e9(){const _0x3239b6=['hasOwnProperty','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','selector','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','planFile','appCode','menu_sort_overflow','rawFlags','menu_not_found','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','cascade','parent-id','byId','call','snapshotHash','dryRun','deleteOrder','Failed\x20to\x20','read\x20online\x20menu\x20facts\x20before\x20','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','3471747ecQeBT','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','length','succeeded','menu_verification_failed','error','\x20parent\x20changed:\x20expected\x20','350007KJolAT','Permission\x20denied\x20while\x20attempting\x20to\x20','string','menu_state_drift','defineProperty','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','message','1218646JmYuKe','num','yes','operation','flagMissing','cookie','unknown','Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches','get','Reorder\x20sibling\x20menus\x20below\x20','root','hash','\x22,\x20not\x20folder.','stage','3152YWQWtO','verification','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','expected-children-count','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','expect-parent-id','warnings','isSafeInteger',',\x20current\x20','menu_mutation_failed','Cannot\x20append\x20a\x20','menu_sort_invalid','\x20path\x20changed:\x20expected\x20','targets','after','test','folder','Sibling\x20sort\x20value\x20(non-negative\x20integer)','filter','1011300MmWVvZ','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','plannedActions','pre-write-recheck','\x20is\x20type\x20\x22','4345020CRHBuh','bool','dry-run','failed','sort','1525855iUcGMF','toLowerCase','number','backend','4319BKgYVW','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20menu\x20','Menu\x20','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','validation','childrenCount','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','menu_permission_denied','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','api_error','expect-path','str','max','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.','parentId','required','recheck\x20online\x20menu\x20facts\x20before\x20','code','Online\x20menu\x20not\x20found:\x20'];a169_0x34e9=function(){return _0x3239b6;};return a169_0x34e9();}export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a169_0x4c9f12(0x7d),'type':a169_0x4c9f12(0xa3),'description':a169_0x4c9f12(0xaf)},{'name':a169_0x4c9f12(0xb9),'type':a169_0x4c9f12(0x6f),'description':a169_0x4c9f12(0x7a)}];export function validateExactId(_0x385d52){const _0x5c962c=a169_0x4c9f12,_0x54cc18=_0x385d52[_0x5c962c(0xa9)]('id');if(!Number[_0x5c962c(0xbd)](_0x54cc18)||_0x54cc18<=0x0)throw CliErrors['validation'](_0x5c962c(0xa6));return _0x54cc18;}export function validateSort(_0x114046,_0x5a3581=a169_0x4c9f12(0x6c)){const _0x2ef5df=a169_0x4c9f12;if(!hasFlag(_0x114046,_0x5a3581))return undefined;const _0x30174c=_0x114046[_0x2ef5df(0xa9)](_0x5a3581);if(!Number[_0x2ef5df(0xbd)](_0x30174c)||_0x30174c<0x0||_0x30174c>MAX_MENU_SORT)throw menuError(_0x2ef5df(0xc1),'--'+_0x5a3581+_0x2ef5df(0x75)+MAX_MENU_SORT+'.',_0x2ef5df(0x8f));return _0x30174c;}export function nextSiblingSort(_0x25c8c9,_0x42a3e2,_0x5345e8){const _0x1087ee=a169_0x4c9f12,_0x2053ef=getChildren(_0x25c8c9,_0x42a3e2)['map'](_0x3c47cf=>_0x3c47cf[_0x1087ee(0x6c)])[_0x1087ee(0xc8)](_0xc9ce2f=>typeof _0xc9ce2f===_0x1087ee(0x6f));if(_0x2053ef[_0x1087ee(0x9c)]===0x0)return 0x0;const _0x53587c=Math[_0x1087ee(0x7f)](..._0x2053ef);if(_0x53587c>=MAX_MENU_SORT)throw menuError(_0x1087ee(0x8c),_0x1087ee(0xc0)+_0x5345e8+_0x1087ee(0x9b)+_0x53587c+'.',_0x1087ee(0xb1)+MAX_MENU_SORT+',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.');return _0x53587c+0x1;}export function requireExplicitYes(_0x55f8b7){const _0x27fed6=a169_0x4c9f12;if(_0x55f8b7[_0x27fed6(0x69)](_0x27fed6(0x6a)))return;if(!_0x55f8b7['bool'](_0x27fed6(0xaa)))throw menuError('menu_confirmation_required',_0x27fed6(0xb8),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}export async function fetchMutationSnapshot(_0xe62c62,_0x19bf4f,_0xc1ad5a){const _0x51636e=a169_0x4c9f12;try{return await fetchMenuSnapshot(_0xe62c62[_0x51636e(0x8b)],_0xe62c62[_0x51636e(0xad)]);}catch(_0x5d5a1c){throw mapMenuApiError(_0x5d5a1c,_0x51636e(0x98)+_0x19bf4f,_0xc1ad5a);}}export async function recheckMutationSnapshot(_0x402f91,_0x263cc7,_0x51bb99,_0x49df01){const _0x214d01=a169_0x4c9f12;let _0x4e1e04;try{_0x4e1e04=await fetchMenuSnapshot(_0x402f91[_0x214d01(0x8b)],_0x402f91['cookie']);}catch(_0x1f9747){const _0x24c948=mapMenuApiError(_0x1f9747,_0x214d01(0x83)+_0x51bb99,_0x49df01);throw menuFailure(_0x24c948,_0x263cc7,{'stage':_0x214d01(0xcc),'failed':_0x49df01==null?{}:{'id':_0x49df01}});}if(_0x4e1e04[_0x214d01(0xb3)]!==_0x263cc7[_0x214d01(0x94)]){const _0xf24dbe=menuError(_0x214d01(0xa4),'Online\x20menu\x20state\x20changed\x20before\x20'+_0x51bb99+';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.',_0x214d01(0x7b));throw menuFailure(_0xf24dbe,_0x263cc7,{'stage':_0x214d01(0xcc),'failed':{..._0x49df01==null?{}:{'id':_0x49df01},'expectedSnapshotHash':_0x263cc7[_0x214d01(0x94)],'currentSnapshotHash':_0x4e1e04[_0x214d01(0xb3)]}});}return _0x4e1e04;}export function parseParentId(_0x1461c4,_0x27b676,_0x2d9c42={}){const _0x3d6de9=a169_0x4c9f12;if(!hasFlag(_0x1461c4,_0x27b676)){if(_0x2d9c42[_0x3d6de9(0x82)])throw CliErrors[_0x3d6de9(0xac)](_0x27b676);return undefined;}const _0x293bb7=_0x1461c4['str'](_0x27b676)['trim']();if(_0x293bb7[_0x3d6de9(0x6e)]()===_0x3d6de9(0xb2))return null;if(!/^\d+$/[_0x3d6de9(0xc5)](_0x293bb7))throw CliErrors[_0x3d6de9(0x76)]('--'+_0x27b676+_0x3d6de9(0xba));const _0x13d613=Number(_0x293bb7);if(!Number[_0x3d6de9(0xbd)](_0x13d613)||_0x13d613<=0x0)throw CliErrors['validation']('--'+_0x27b676+_0x3d6de9(0xba));return _0x13d613;}export function requireMenu(_0x21ed70,_0x1baea9){const _0x3387cb=a169_0x4c9f12,_0x33d999=_0x21ed70[_0x3387cb(0x92)][_0x3387cb(0xb0)](_0x1baea9);if(!_0x33d999)throw menuError(_0x3387cb(0x8e),_0x3387cb(0x85)+_0x1baea9,_0x3387cb(0x80));return _0x33d999;}export function requireFolder(_0x2e3efb,_0x40b9ee){const _0x180dc6=a169_0x4c9f12,_0x523ab5=requireMenu(_0x2e3efb,_0x40b9ee);if(_0x523ab5['type']!==_0x180dc6(0xc6))throw menuError('menu_parent_not_folder',_0x180dc6(0x74)+_0x40b9ee+_0x180dc6(0x67)+(_0x523ab5['type']||_0x180dc6(0xae))+_0x180dc6(0xb4),_0x180dc6(0xca));return _0x523ab5;}export function assertExpectedState(_0x2971bc,_0x5e5d9d){const _0x3da917=a169_0x4c9f12;if(hasFlag(_0x2971bc,_0x3da917(0xbb))){const _0x1161aa=parseParentId(_0x2971bc,_0x3da917(0xbb),{'required':!![]});if(_0x5e5d9d[_0x3da917(0x81)]!==_0x1161aa)throw stateDrift(_0x3da917(0x74)+_0x5e5d9d['id']+_0x3da917(0xa0)+formatParent(_0x1161aa)+_0x3da917(0xbe)+formatParent(_0x5e5d9d[_0x3da917(0x81)])+'.');}if(hasFlag(_0x2971bc,_0x3da917(0x7d))){const _0x52f654=_0x2971bc[_0x3da917(0x7e)](_0x3da917(0x7d));if(_0x5e5d9d['path']!==_0x52f654)throw stateDrift(_0x3da917(0x74)+_0x5e5d9d['id']+_0x3da917(0xc2)+JSON['stringify'](_0x52f654)+_0x3da917(0xbe)+JSON['stringify'](_0x5e5d9d['path'])+'.');}if(hasFlag(_0x2971bc,_0x3da917(0xb9))){const _0x4656dc=_0x2971bc['num'](_0x3da917(0xb9));if(!Number[_0x3da917(0xbd)](_0x4656dc)||_0x4656dc<0x0)throw CliErrors[_0x3da917(0x76)](_0x3da917(0x78));if(_0x5e5d9d[_0x3da917(0x77)]!==_0x4656dc)throw stateDrift(_0x3da917(0x74)+_0x5e5d9d['id']+'\x20child\x20count\x20changed:\x20expected\x20'+_0x4656dc+_0x3da917(0xbe)+_0x5e5d9d[_0x3da917(0x77)]+'.');}}export function assertVerified(_0x2fbf49,_0x6ea8f8,_0x2c3644='Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.'){const _0x56400a=a169_0x4c9f12;if(!_0x2fbf49)throw menuError(_0x56400a(0x9e),_0x6ea8f8,_0x2c3644);}export function mutationResult(_0x4e9724){const _0x5c7c84=a169_0x4c9f12;return{'operation':_0x4e9724[_0x5c7c84(0xab)],'selector':_0x4e9724[_0x5c7c84(0x88)],'before':_0x4e9724['before'],'after':_0x4e9724['after'],'dryRun':_0x4e9724[_0x5c7c84(0x95)],'backend':_0x4e9724[_0x5c7c84(0x70)],..._0x4e9724[_0x5c7c84(0xcb)]?{'plannedActions':_0x4e9724[_0x5c7c84(0xcb)]}:{},..._0x4e9724[_0x5c7c84(0xc3)]?{'targets':_0x4e9724[_0x5c7c84(0xc3)]}:{},..._0x4e9724[_0x5c7c84(0x96)]?{'deleteOrder':_0x4e9724[_0x5c7c84(0x96)]}:{},'snapshotHash':_0x4e9724[_0x5c7c84(0x94)],..._0x4e9724[_0x5c7c84(0x90)]?{'cascade':_0x4e9724[_0x5c7c84(0x90)]}:{},..._0x4e9724[_0x5c7c84(0x8a)]?{'planFile':_0x4e9724[_0x5c7c84(0x8a)]}:{},'succeeded':_0x4e9724['succeeded']??[],'failed':_0x4e9724[_0x5c7c84(0x6b)]??[],'warnings':_0x4e9724['warnings']??[],'verification':_0x4e9724[_0x5c7c84(0xb7)],'error':_0x4e9724[_0x5c7c84(0x9f)]};}export function menuDryRunResult(_0x36479f,_0xac0a8a){return{..._0x36479f,..._0xac0a8a};}export function menuFailure(_0x28a2da,_0xafc01b,_0x445015){const _0x2800d7=a169_0x4c9f12,_0x54e987=mutationResult({..._0xafc01b,'after':_0x445015[_0x2800d7(0xc4)]===undefined?_0xafc01b[_0x2800d7(0xc4)]:_0x445015[_0x2800d7(0xc4)],'backend':_0x445015[_0x2800d7(0x70)]??_0xafc01b[_0x2800d7(0x70)],'dryRun':![],'succeeded':_0x445015[_0x2800d7(0x9d)]??[],'failed':_0x445015['failedRecords']??[{..._0x445015[_0x2800d7(0x6b)]??{},'stage':_0x445015[_0x2800d7(0xb5)],'code':_0x28a2da[_0x2800d7(0x84)],'message':_0x28a2da['message']}],'warnings':[..._0xafc01b[_0x2800d7(0xbc)],..._0x445015[_0x2800d7(0xbc)]??[]],'verification':_0x445015[_0x2800d7(0xb7)],'error':{'code':_0x28a2da[_0x2800d7(0x84)],'message':_0x28a2da[_0x2800d7(0xa7)],..._0x28a2da['hint']?{'hint':_0x28a2da['hint']}:{}}});return Object[_0x2800d7(0xa5)](_0x28a2da,'data',{'value':_0x54e987,'enumerable':!![],'configurable':!![]}),_0x28a2da;}export function asVerificationError(_0xc0142f,_0x2ffc83){const _0x5d2a1e=a169_0x4c9f12;if(_0xc0142f instanceof CliError&&_0xc0142f[_0x5d2a1e(0x84)]==='menu_verification_failed')return _0xc0142f;const _0x282dc3=_0xc0142f instanceof Error?_0xc0142f[_0x5d2a1e(0xa7)]:String(_0xc0142f);return menuError(_0x5d2a1e(0x9e),''+_0x2ffc83+(_0x282dc3?':\x20'+_0x282dc3:''),'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(_0x4a7354,_0x18196d,_0x5b82ac){const _0x4c092c=a169_0x4c9f12,_0x24ff39=mapMenuApiError(_0x4a7354,_0x18196d,_0x5b82ac);return{'causeCode':_0x24ff39[_0x4c092c(0x84)],'causeMessage':_0x24ff39['message']};}export function hasFlag(_0x22c678,_0x1fe898){const _0x36c8c2=a169_0x4c9f12;return Object['prototype'][_0x36c8c2(0x86)][_0x36c8c2(0x93)](_0x22c678[_0x36c8c2(0x8d)],_0x1fe898)&&_0x22c678[_0x36c8c2(0x8d)][_0x1fe898]!==undefined;}export function toApiParentId(_0x19f715){return _0x19f715??0x0;}export function formatParent(_0xeb8519){const _0x37d9c0=a169_0x4c9f12;return _0xeb8519==null?_0x37d9c0(0xb2):String(_0xeb8519);}export function menuError(_0xd10b14,_0x25b9b3,_0x2d9f8e){return new CliError(_0xd10b14,0x1,_0x25b9b3,_0x2d9f8e);}export function mapMenuApiError(_0x3e4bc4,_0x34637d,_0x5d7082){const _0x364149=a169_0x4c9f12;if(_0x3e4bc4 instanceof CliError&&_0x3e4bc4[_0x364149(0x84)]!==_0x364149(0x7c))return _0x3e4bc4;const _0x469f5a=_0x3e4bc4 instanceof Error?_0x3e4bc4[_0x364149(0xa7)]:String(_0x3e4bc4);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x364149(0xc5)](_0x469f5a))return menuError(_0x364149(0x79),_0x364149(0xa2)+_0x34637d+(_0x5d7082?_0x364149(0x73)+_0x5d7082:'')+'.',_0x364149(0x72));return menuError(_0x364149(0xbf),_0x364149(0x97)+_0x34637d+(_0x5d7082?_0x364149(0x73)+_0x5d7082:'')+':\x20'+_0x469f5a,_0x364149(0x89));}export function isMenuResponseLoss(_0x4c0ec8){const _0x430ff2=a169_0x4c9f12,_0x58b1a4=_0x4c0ec8 instanceof Error?_0x4c0ec8['message']:String(_0x4c0ec8);if(_0x4c0ec8 instanceof CliError)return _0x4c0ec8[_0x430ff2(0x84)]==='api_error'&&/^Request (?:failed|timeout):/i[_0x430ff2(0xc5)](_0x58b1a4);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x430ff2(0xc5)](_0x58b1a4);}function stateDrift(_0x48bc8c){const _0x3d4f84=a169_0x4c9f12;return menuError(_0x3d4f84(0xa4),_0x48bc8c,_0x3d4f84(0x87));}
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(_0x82f79e,_0x36e1f9){const _0x20c6e9=a170_0x2c10,_0x58465f=_0x82f79e();while(!![]){try{const _0x53e1e0=parseInt(_0x20c6e9(0xda))/0x1+parseInt(_0x20c6e9(0xde))/0x2+parseInt(_0x20c6e9(0xd9))/0x3+-parseInt(_0x20c6e9(0xe0))/0x4+-parseInt(_0x20c6e9(0xdb))/0x5+-parseInt(_0x20c6e9(0xdf))/0x6*(-parseInt(_0x20c6e9(0xdd))/0x7)+-parseInt(_0x20c6e9(0xdc))/0x8;if(_0x53e1e0===_0x36e1f9)break;else _0x58465f['push'](_0x58465f['shift']());}catch(_0x369260){_0x58465f['push'](_0x58465f['shift']());}}}(a170_0x1052,0xa11ee));function a170_0x2c10(_0x1fbe48,_0x529a5d){_0x1fbe48=_0x1fbe48-0xd8;const _0x105254=a170_0x1052();let _0x2c101e=_0x105254[_0x1fbe48];return _0x2c101e;}function a170_0x1052(){const _0x51dfaf=['3246175AOwdOu','1249200xfRmYB','922992eSarHA','1416516lwzymZ','48AOvFot','1675696ZGdZNH','replace','trim','51033UyVNLG','104142jtQSYw'];a170_0x1052=function(){return _0x51dfaf;};return a170_0x1052();}export function menuPathKey(_0x1d7384){const _0x587dd5=a170_0x2c10,_0x3822f2=_0x1d7384[_0x587dd5(0xd8)]();if(!_0x3822f2)return'';return _0x3822f2[_0x587dd5(0xe1)](/^\/+/,'')['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(_0x5238c4,_0x8ec22b){const _0x531334=a171_0x45c9,_0x5aac76=_0x5238c4();while(!![]){try{const _0x2b020c=-parseInt(_0x531334(0xa8))/0x1*(-parseInt(_0x531334(0xa2))/0x2)+-parseInt(_0x531334(0x98))/0x3+-parseInt(_0x531334(0x81))/0x4+parseInt(_0x531334(0xaa))/0x5+-parseInt(_0x531334(0x96))/0x6+parseInt(_0x531334(0xa7))/0x7*(parseInt(_0x531334(0x88))/0x8)+-parseInt(_0x531334(0xa3))/0x9*(-parseInt(_0x531334(0x8f))/0xa);if(_0x2b020c===_0x8ec22b)break;else _0x5aac76['push'](_0x5aac76['shift']());}catch(_0x248f00){_0x5aac76['push'](_0x5aac76['shift']());}}}(a171_0x53fa,0xe3b13));import{getEnv,isProduction}from'../../../constant/env.js';import{logger}from'../../../utils/logger.js';import{fetchMenuSnapshot,toProcessedMenuItem}from'../../../commands/menu/shared/facts.js';function a171_0x53fa(){const _0x437fac=['4733SwHwzT','visible','4937035CaKFPg','map','3713396bdnioc','resources','info','boolean','path','update-menu-cdn-url','get-online-menu-list','16JboGqJ','appName','Regroup\x20','Create\x20menu\x20\x22','extend','\x20menu\x20group(s)','Menu\x20created\x20successfully:\x20','69770yAqjGU','length','Update\x20menu\x20','\x20menu','import','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','Fetched\x20','6894852NYQWwF','label','133131okeZUJ','stringify','Start\x20batch\x20menu\x20creation,\x20total\x20','procode','number','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20','Menu\x20assets\x20synced:\x20','create-menus','create-menu','Batch\x20menu\x20creation\x20completed,\x20total\x20','100YPKnlT','738iEduau','parentId','loadScriptMode','Updating\x20menu\x20asset\x20links:\x20','4404134NdAfRV'];a171_0x53fa=function(){return _0x437fac;};return a171_0x53fa();}import{batchDeleteMenuRecords,createMenuRecord,startMenuRegroup as a171_0x2a6469,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x327e55,_0x185b9c){const _0x281722=a171_0x45c9,_0x3c665c=getEnv();logger[_0x281722(0x83)](_0x281722(0x87),isProduction(_0x3c665c)?_0x281722(0x9d)+_0x327e55+')':_0x281722(0x94)+_0x327e55+')');const _0x426242=await fetchMenuSnapshot(_0x327e55,_0x185b9c,{'verbose':!![]});return logger[_0x281722(0x83)]('get-online-menu-list',_0x281722(0x95)+_0x426242['total']+'\x20online\x20menus\x20successfully'),_0x426242['menus'][_0x281722(0x80)](toProcessedMenuItem);}export async function createMenu(_0x3f096a,_0x5ca34b,_0x589c3e){const _0x375e1d=a171_0x45c9;logger[_0x375e1d(0x83)](_0x375e1d(0xa0),'Creating\x20menu:\x20'+_0x589c3e['label']+'\x20('+_0x589c3e['path']+')');const _0x59894a={'appCode':_0x3f096a,'type':_0x375e1d(0x9b),'sort':0x0,'extend':{'loadScriptMode':_0x375e1d(0x93),'resources':_0x589c3e[_0x375e1d(0x82)]?JSON[_0x375e1d(0x99)](_0x589c3e[_0x375e1d(0x82)]):undefined},..._0x589c3e},_0x1c9ca0=await createMenuRecord(_0x59894a,_0x5ca34b,'Create\x20menu\x20\x22'+_0x589c3e['label']+'\x22');return logger['info'](_0x375e1d(0xa0),_0x375e1d(0x8e)+_0x589c3e[_0x375e1d(0x97)]),_0x1c9ca0;}async function createSingleMenu(_0x296f34,_0x1d11f4,_0x4426d8,_0x2936c0,_0x42fbbc){const _0x168cc8=a171_0x45c9,_0x19c38b={'appCode':_0x296f34,'type':_0x168cc8(0x9b),'sort':'order'in _0x4426d8&&typeof _0x4426d8['order']===_0x168cc8(0x9c)?_0x4426d8['order']:0x0,..._0x168cc8(0xa9)in _0x4426d8&&typeof _0x4426d8[_0x168cc8(0xa9)]===_0x168cc8(0x84)?{'visible':_0x4426d8[_0x168cc8(0xa9)]}:{},..._0x168cc8(0xa4)in _0x4426d8&&typeof _0x4426d8[_0x168cc8(0xa4)]===_0x168cc8(0x9c)?{'parentId':_0x4426d8[_0x168cc8(0xa4)]}:{},'extend':{..._0x42fbbc?.[_0x168cc8(0x89)]?{'appName':_0x42fbbc[_0x168cc8(0x89)]}:{},'loadScriptMode':'import','resources':_0x2936c0?JSON[_0x168cc8(0x99)](_0x2936c0):undefined},'label':_0x4426d8[_0x168cc8(0x97)],'path':_0x4426d8[_0x168cc8(0x85)]},_0x16c62b=await createMenuRecord(_0x19c38b,_0x1d11f4,_0x168cc8(0x8b)+_0x4426d8['label']+'\x22');return logger[_0x168cc8(0x83)](_0x168cc8(0xa0),'Menu\x20created\x20successfully:\x20'+_0x4426d8['label']),_0x16c62b;}export async function createMenus(_0x1a93a9,_0x6e6c93,_0x39379b,_0x555bb3,_0x21beee){const _0x55b648=a171_0x45c9;logger[_0x55b648(0x83)](_0x55b648(0x9f),_0x55b648(0x9a)+_0x39379b[_0x55b648(0x90)]);const _0x55bd51=await Promise['all'](_0x39379b[_0x55b648(0x80)](_0x4159e2=>createSingleMenu(_0x1a93a9,_0x6e6c93,_0x4159e2,_0x555bb3,_0x21beee)));return logger['info'](_0x55b648(0x9f),_0x55b648(0xa1)+_0x39379b[_0x55b648(0x90)]),_0x55bd51;}function a171_0x45c9(_0x546418,_0x51ed5d){_0x546418=_0x546418-0x80;const _0x53fa68=a171_0x53fa();let _0x45c904=_0x53fa68[_0x546418];return _0x45c904;}export async function updateMenuCdnUrl(_0x558646,_0x188be7,_0x2333f7){const _0x43a295=a171_0x45c9;logger['info']('update-menu-cdn-url',_0x43a295(0xa6)+_0x2333f7[_0x43a295(0x97)]+'\x20('+_0x2333f7['path']+')');const _0x17753c={'id':_0x2333f7['id'],'appCode':_0x558646,'extend':{..._0x2333f7[_0x43a295(0x8c)]??{},..._0x2333f7[_0x43a295(0xa5)]?{'loadScriptMode':_0x2333f7['loadScriptMode']}:{},'resources':_0x2333f7['resources']?JSON[_0x43a295(0x99)](_0x2333f7[_0x43a295(0x82)]):undefined}},_0x2b3d90=await updateMenuRecord(_0x17753c,_0x188be7,'Update\x20menu\x20assets\x20\x22'+_0x2333f7['label']+'\x22');return logger[_0x43a295(0x83)](_0x43a295(0x86),_0x43a295(0x9e)+_0x2333f7[_0x43a295(0x97)],undefined),_0x2b3d90;}export async function createMenuEntity(_0x239099,_0x581140,_0x2abec4){const _0x20d339=a171_0x45c9;return createMenuRecord({'appCode':_0x239099,..._0x2abec4},_0x581140,_0x20d339(0x8b)+_0x2abec4[_0x20d339(0x97)]+'\x22');}export async function updateMenuEntity(_0x4c13f1,_0x432c83,_0x1c8a07){const _0x54da61=a171_0x45c9;return updateMenuRecord({'appCode':_0x4c13f1,..._0x1c8a07},_0x432c83,_0x54da61(0x91)+_0x1c8a07['id']);}export async function batchDeleteMenuEntities(_0x349d46,_0x185aef){const _0x1c9c8f=a171_0x45c9;return batchDeleteMenuRecords(_0x185aef,_0x349d46,'Delete\x20'+_0x185aef[_0x1c9c8f(0x90)]+_0x1c9c8f(0x92)+(_0x185aef[_0x1c9c8f(0x90)]===0x1?'':'s'));}export async function startMenuRegroup(_0x5126b0,_0x2354ea){const _0x45bb6b=a171_0x45c9;return a171_0x2a6469(_0x2354ea,_0x5126b0,_0x45bb6b(0x8a)+_0x2354ea['menuGroups'][_0x45bb6b(0x90)]+_0x45bb6b(0x8d));}
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
- const a172_0x3f11b0=a172_0x1695;(function(_0x3ad23d,_0x36a4ce){const _0x1ed0ee=a172_0x1695,_0x163ef6=_0x3ad23d();while(!![]){try{const _0x91831f=parseInt(_0x1ed0ee(0x109))/0x1+parseInt(_0x1ed0ee(0x101))/0x2+-parseInt(_0x1ed0ee(0xe8))/0x3+parseInt(_0x1ed0ee(0xfd))/0x4*(parseInt(_0x1ed0ee(0x10a))/0x5)+parseInt(_0x1ed0ee(0x10c))/0x6+-parseInt(_0x1ed0ee(0xff))/0x7*(-parseInt(_0x1ed0ee(0x10d))/0x8)+parseInt(_0x1ed0ee(0x10e))/0x9*(-parseInt(_0x1ed0ee(0xf9))/0xa);if(_0x91831f===_0x36a4ce)break;else _0x163ef6['push'](_0x163ef6['shift']());}catch(_0x3a1d4a){_0x163ef6['push'](_0x163ef6['shift']());}}}(a172_0x2bb8,0xda853));function a172_0x1695(_0xed62d2,_0x12f211){_0xed62d2=_0xed62d2-0xe8;const _0x2bb82e=a172_0x2bb8();let _0x169550=_0x2bb82e[_0xed62d2];return _0x169550;}import{getSmartAppRecord}from'../../../core/api-client.js';import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{CliErrors}from'../../../errors.js';function objectValue(_0x44222b,_0x229c77){const _0x5cc332=a172_0x1695,_0x36e70a=typeof _0x44222b==='string'?parseJson(_0x44222b,_0x229c77):_0x44222b;if(!_0x36e70a||typeof _0x36e70a!==_0x5cc332(0xf1)||Array['isArray'](_0x36e70a))throw CliErrors[_0x5cc332(0x115)](_0x229c77+_0x5cc332(0x107));return _0x36e70a;}function parseJson(_0x379bf7,_0x24b02a){const _0x3632bd=a172_0x1695;try{return JSON['parse'](_0x379bf7);}catch{throw CliErrors['validation'](_0x24b02a+_0x3632bd(0xed));}}function resourceList(_0x479646,_0x497fcf){const _0x18eaa2=a172_0x1695;if(typeof _0x479646!==_0x18eaa2(0xea))throw CliErrors[_0x18eaa2(0x115)](_0x497fcf+_0x18eaa2(0xef));const _0xd455bb=parseJson(_0x479646,_0x497fcf);if(!Array[_0x18eaa2(0x10b)](_0xd455bb)||_0xd455bb[_0x18eaa2(0x10f)](_0xa3155a=>typeof _0xa3155a!==_0x18eaa2(0xea)))throw CliErrors[_0x18eaa2(0x115)](_0x497fcf+_0x18eaa2(0xf0));return _0xd455bb;}export function buildSubappAssetsStatus(_0x27b2df,_0x3c5b78,_0x122941){const _0x1bdf0f=a172_0x1695,_0x934f19=_0x27b2df[_0x1bdf0f(0xf3)]==null?{}:objectValue(_0x27b2df[_0x1bdf0f(0xf3)],_0x1bdf0f(0xf4)),_0x476cdf=_0x934f19[_0x1bdf0f(0x104)]==null?[]:typeof _0x934f19[_0x1bdf0f(0x104)]===_0x1bdf0f(0xea)?parseJson(_0x934f19[_0x1bdf0f(0x104)],'app.extend.assets'):_0x934f19[_0x1bdf0f(0x104)];if(!Array[_0x1bdf0f(0x10b)](_0x476cdf))throw CliErrors['validation'](_0x1bdf0f(0x106));const _0x45d44c=_0x476cdf['map']((_0x58c654,_0x4eb861)=>objectValue(_0x58c654,_0x1bdf0f(0xfb)+_0x4eb861+']')),_0x296590=_0x45d44c['filter'](_0x3b68c2=>_0x3b68c2[_0x1bdf0f(0xfa)]===_0x122941);if(_0x296590['length']>0x1)throw CliErrors[_0x1bdf0f(0x115)](_0x1bdf0f(0xf5)+_0x122941+'.');const _0x431732=_0x296590[0x0],_0x5155c1=_0x431732?.[_0x1bdf0f(0xfc)]==null?[]:resourceList(_0x431732[_0x1bdf0f(0xfc)],_0x1bdf0f(0x103)),_0x4b6c48=_0x3c5b78[_0x1bdf0f(0xf6)](_0x4188c7=>_0x4188c7[_0x1bdf0f(0xf3)]?.[_0x1bdf0f(0xfa)]===_0x122941),_0x4e4754=_0x4b6c48[_0x1bdf0f(0x108)](_0x398863=>{const _0x1cb3ae=_0x1bdf0f;let _0x4346b6=null,_0x28c883=null;try{_0x4346b6=_0x398863[_0x1cb3ae(0xf3)]?.[_0x1cb3ae(0xfc)]==null?_0x398863['resources']:resourceList(_0x398863[_0x1cb3ae(0xf3)][_0x1cb3ae(0xfc)],'menu\x20'+_0x398863['id']+_0x1cb3ae(0x105));}catch(_0x325879){_0x28c883=_0x325879 instanceof Error?_0x325879[_0x1cb3ae(0x113)]:String(_0x325879);}const _0x47d5f3=_0x5155c1[_0x1cb3ae(0x102)]>0x0?_0x1cb3ae(0xfe):_0x1cb3ae(0x112),_0x334dca=_0x47d5f3===_0x1cb3ae(0xfe)?_0x5155c1:_0x4346b6;return{'id':_0x398863['id'],'path':_0x398863[_0x1cb3ae(0x111)],'preferredSourceIfSupported':_0x47d5f3,'preferredResourcesIfSupported':_0x334dca,'menuFallbackResources':_0x4346b6,'menuFallbackError':_0x28c883,'fallbackDiffers':_0x4346b6===null?null:_0x47d5f3===_0x1cb3ae(0xfe)&&_0x4346b6[_0x1cb3ae(0x102)]>0x0&&JSON['stringify'](_0x4346b6)!==JSON[_0x1cb3ae(0xee)](_0x334dca)};});return{'appName':_0x122941,'hostCapabilityVerified':![],'sharedConfigured':Boolean(_0x431732),'sharedResources':_0x5155c1,'loadScriptMode':_0x431732?.[_0x1bdf0f(0x116)]??null,'basename':_0x431732?.[_0x1bdf0f(0x110)]??null,'boundMenus':_0x4e4754['length'],'staleMenuFallbacks':_0x4e4754['filter'](_0x1afee5=>_0x1afee5[_0x1bdf0f(0x100)])[_0x1bdf0f(0x102)],'menus':_0x4e4754};}function a172_0x2bb8(){const _0x4bb7e5=['4786404pLJQkI','316720yHqUKK','2340ZYZTgL','some','basename','path','menu','message','sharedResources','validation','loadScriptMode','317109odcmGy','Explicit\x20frontend\x20subapp\x20appName\x20matching\x20host\x20assets\x20and\x20menu\x20bindings;\x20not\x20inferred\x20from\x20package\x20name\x20or\x20app\x20code','string','--app-name\x20is\x20required.','sharedConfigured','\x20contains\x20invalid\x20JSON.','stringify','\x20must\x20be\x20a\x20JSON\x20string\x20of\x20URLs.','\x20must\x20be\x20an\x20array\x20of\x20URLs.','object','appCode','extend','app.extend','Duplicate\x20subapp\x20records\x20for\x20','filter','app-name','str','106550kvduaj','appName','app.extend.assets[','resources','112376wSbbuY','app','105dzMcbS','fallbackDiffers','2433740mwuKtU','length','subapp.resources','assets','\x20resources','app.extend.assets\x20must\x20be\x20an\x20array.','\x20must\x20be\x20a\x20JSON\x20object.','map','10754sENrRd','205RcvnVf','isArray'];a172_0x2bb8=function(){return _0x4bb7e5;};return a172_0x2bb8();}export async function assertSharedResourcesConfigured(_0x255a58,_0x5f208c,_0x410ad2){const _0x384e6b=a172_0x1695,_0x3325ce=await getSmartAppRecord(_0x255a58,_0x5f208c),_0x5277f1=buildSubappAssetsStatus(_0x3325ce,[],_0x410ad2);if(!_0x5277f1[_0x384e6b(0xec)]||_0x5277f1[_0x384e6b(0x114)]['length']===0x0)throw CliErrors[_0x384e6b(0x115)]('No\x20shared\x20resources\x20configured\x20for\x20'+_0x410ad2+'.');}export const SUBAPP_ASSET_SELECTOR_FLAGS=[{...APPCODE_FLAG,'required':![],'description':'Menu\x20host\x20app\x20code;\x20overrides\x20the\x20selected\x20workspace\x20app'},{'name':a172_0x3f11b0(0xf7),'type':a172_0x3f11b0(0xea),'required':!![],'description':a172_0x3f11b0(0xe9)}];export function getSubappSelector(_0x135cda){const _0x8d500c=a172_0x3f11b0,_0x38bf3c=_0x135cda[_0x8d500c(0xf2)],_0x466779=_0x135cda[_0x8d500c(0xf8)]('app-name')['trim']();if(!_0x466779)throw CliErrors['validation'](_0x8d500c(0xeb));return{'appCode':_0x38bf3c,'appName':_0x466779};}
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_0x27ade8=a173_0x44bb;(function(_0x372853,_0x2a8699){const _0x523bda=a173_0x44bb,_0x221b91=_0x372853();while(!![]){try{const _0x49cfb1=-parseInt(_0x523bda(0x1c5))/0x1*(-parseInt(_0x523bda(0x1be))/0x2)+parseInt(_0x523bda(0x19d))/0x3+-parseInt(_0x523bda(0x1ae))/0x4+-parseInt(_0x523bda(0x1c2))/0x5*(-parseInt(_0x523bda(0x1d5))/0x6)+parseInt(_0x523bda(0x1cd))/0x7*(-parseInt(_0x523bda(0x1ca))/0x8)+-parseInt(_0x523bda(0x19e))/0x9+parseInt(_0x523bda(0x19a))/0xa;if(_0x49cfb1===_0x2a8699)break;else _0x221b91['push'](_0x221b91['shift']());}catch(_0x13c6b0){_0x221b91['push'](_0x221b91['shift']());}}}(a173_0x25f9,0x771c2));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';function a173_0x44bb(_0x1fb618,_0x350790){_0x1fb618=_0x1fb618-0x196;const _0x25f958=a173_0x25f9();let _0x44bbda=_0x25f958[_0x1fb618];return _0x44bbda;}const MENU_SYNC_PARAM_KEYS=new Set([a173_0x27ade8(0x1d2),a173_0x27ade8(0x1a1),a173_0x27ade8(0x1b6),a173_0x27ade8(0x1a9),a173_0x27ade8(0x1b7)]);export function resolvePage(_0x598a09,_0x5a2ede,_0x555ac1){const _0x2a9834=a173_0x27ade8;let _0x3fa92a=_0x5a2ede[_0x2a9834(0x1b7)]??_0x598a09[_0x2a9834(0x1b7)];if(_0x3fa92a===undefined&&_0x598a09[_0x2a9834(0x199)]){const _0x4b0ed1=_0x555ac1[_0x2a9834(0x1bc)](_0x2d8e03=>_0x2d8e03[_0x2a9834(0x1c9)]==='folder'&&_0x2d8e03['label']===_0x598a09[_0x2a9834(0x199)]);if(_0x4b0ed1[_0x2a9834(0x1c3)]!==0x1)throw new Error(_0x2a9834(0x1af)+_0x598a09[_0x2a9834(0x199)]+_0x2a9834(0x1bb)+_0x598a09[_0x2a9834(0x1bd)]+_0x2a9834(0x1ad)+_0x4b0ed1['length']);_0x3fa92a=_0x4b0ed1[0x0]['id'];}if(_0x3fa92a!==undefined&&_0x3fa92a!==0x0&&_0x555ac1['filter'](_0x1526f2=>_0x1526f2['id']===_0x3fa92a&&_0x1526f2['type']==='folder')[_0x2a9834(0x1c3)]!==0x1)throw new Error(_0x2a9834(0x197)+_0x3fa92a+_0x2a9834(0x1d4));return{..._0x598a09,..._0x3fa92a===undefined?{}:{'parentId':_0x3fa92a},..._0x5a2ede[_0x2a9834(0x1a9)]===undefined?{}:{'visible':_0x5a2ede[_0x2a9834(0x1a9)]}};}function a173_0x25f9(){const _0x5def41=['field','Invalid\x20--params.parentId:\x20expected\x20a\x20non-negative\x20integer.','Menu\x20sync\x20completed','isArray','push','menu-sync','Invalid\x20--params.','visible','number','trim','Invalid\x20--params:\x20',';\x20found\x20','592176BQfnqJ','Expected\x20one\x20folder\x20named\x20\x22','Invalid\x20--params\x20fields:\x20','get','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','CSS\x20URL\x20is\x20unreachable:\x20','JS\x20URL\x20is\x20unreachable:\x20','Invalid\x20--params.visible:\x20expected\x20a\x20boolean.','appName','parentId','message','map','dryRun','\x22\x20for\x20','filter','path','13778MpsMzV','parse',':\x20expected\x20a\x20non-empty\x20string.','cwd','374625AmIpcX','length','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','115zZFSHq','boolean','info','isInteger','type','16vrQyrM','setLogPath','string','1830073LjxavO','No\x20local\x20pages\x20matched\x20paths:\x20','import','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','jsUrl','label','\x20must\x20be\x20an\x20existing\x20folder\x20in\x20the\x20selected\x20menu\x20host.','30dzAAry','--params.','Parent\x20','join','group','2429590YnVDbE','hasOwn','Invalid\x20--params\x20JSON.','1099968KLgmcJ','5559111NGUztS','order','has','cssUrl'];a173_0x25f9=function(){return _0x5def41;};return a173_0x25f9();}function validateParams(_0x1009d3){const _0x22a6fe=a173_0x27ade8,_0x7fd481=[];return _0x1009d3[_0x22a6fe(0x1d2)]&&!isValidJsHttpsUrl(_0x1009d3[_0x22a6fe(0x1d2)])&&_0x7fd481[_0x22a6fe(0x1a6)]({'field':_0x22a6fe(0x1d2),'message':'JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'}),_0x1009d3[_0x22a6fe(0x1a1)]&&!isValidCssHttpsUrl(_0x1009d3['cssUrl'])&&_0x7fd481[_0x22a6fe(0x1a6)]({'field':'cssUrl','message':_0x22a6fe(0x1d0)}),_0x7fd481;}export async function runMenuSyncCore(_0x2bbbdc,_0x3eac38,_0x58b02e=[],_0x3762c9,_0x3cdebc={}){const _0xfcd1ef=a173_0x27ade8,_0x291bee=parseMenuSyncParams(_0x3762c9),_0xe98e2b=[...new Set(_0x58b02e['map'](_0x8c3d0c=>_0x8c3d0c[_0xfcd1ef(0x1ab)]())[_0xfcd1ef(0x1bc)](Boolean)[_0xfcd1ef(0x1b9)](menuPathKey))],_0x3515a6=_0x291bee[_0xfcd1ef(0x1d2)],_0x5be203=_0x291bee['cssUrl'],_0x2184ce=[];if(_0x3515a6)_0x2184ce['push'](_0x3515a6);if(_0x5be203)_0x2184ce['push'](_0x5be203);const _0xd3eb81=validateParams(_0x291bee);if(_0xd3eb81[_0xfcd1ef(0x1c3)]>0x0){const _0x1ef203=_0xd3eb81[_0xfcd1ef(0x1b9)](_0x5c75c5=>_0xfcd1ef(0x196)+_0x5c75c5[_0xfcd1ef(0x1a2)]+':\x20'+_0x5c75c5[_0xfcd1ef(0x1b8)])[_0xfcd1ef(0x198)](';\x20');throw new Error(_0xfcd1ef(0x1ac)+_0x1ef203);}logger[_0xfcd1ef(0x1cb)](process[_0xfcd1ef(0x1c1)]()),logger[_0xfcd1ef(0x1c7)](_0xfcd1ef(0x1a7),'Start\x20non-interactive\x20menu\x20sync',{'appCode':_0x2bbbdc,'selectedCount':_0xe98e2b[_0xfcd1ef(0x1c3)],'jsUrl':_0x3515a6,'cssUrl':_0x5be203});if(_0x3515a6){const _0x2ffa33=await isUrlReachable(_0x3515a6);if(!_0x2ffa33)throw new Error(_0xfcd1ef(0x1b4)+_0x3515a6);}if(_0x5be203){const _0x42aeca=await isUrlReachable(_0x5be203);if(!_0x42aeca)throw new Error(_0xfcd1ef(0x1b3)+_0x5be203);}const _0x26ad44=getLocalPages();if(_0x26ad44[_0xfcd1ef(0x1c3)]===0x0){if(_0xe98e2b[_0xfcd1ef(0x1c3)]>0x0)throw new Error(_0xfcd1ef(0x1ce)+_0xe98e2b['join'](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x3cdebc[_0xfcd1ef(0x1ba)]===!![],'targetPages':[],'plannedMenus':[]};}const _0xa200b6=await getOnlineMenuList(_0x2bbbdc,_0x3eac38),_0x1c4b3d=new Set(_0xa200b6[_0xfcd1ef(0x1b9)](_0x1667a7=>menuPathKey(_0x1667a7[_0xfcd1ef(0x1bd)])));let _0x39ee65;if(_0xe98e2b[_0xfcd1ef(0x1c3)]>0x0){const _0x31064a=new Map(_0x26ad44[_0xfcd1ef(0x1b9)](_0xc7950b=>[menuPathKey(_0xc7950b[_0xfcd1ef(0x1bd)]),_0xc7950b])),_0x4dfd20=_0xe98e2b[_0xfcd1ef(0x1bc)](_0x3a7b01=>!_0x31064a[_0xfcd1ef(0x1a0)](_0x3a7b01));if(_0x4dfd20[_0xfcd1ef(0x1c3)]>0x0){const _0x742626=_0x26ad44[_0xfcd1ef(0x1b9)](_0x54984f=>_0x54984f[_0xfcd1ef(0x1bd)])[_0xfcd1ef(0x198)](',\x20');throw new Error(_0xfcd1ef(0x1ce)+_0x4dfd20['join'](',\x20')+'\x0a\x20\x20Available\x20local\x20paths:\x20'+_0x742626);}const _0xe1be37=_0xe98e2b[_0xfcd1ef(0x1bc)](_0xb8a390=>_0x1c4b3d[_0xfcd1ef(0x1a0)](_0xb8a390));if(_0xe1be37[_0xfcd1ef(0x1c3)]>0x0)throw new Error(_0xfcd1ef(0x1d1)+_0xe1be37[_0xfcd1ef(0x198)](',\x20'));_0x39ee65=_0xe98e2b[_0xfcd1ef(0x1b9)](_0x5a2aaa=>_0x31064a[_0xfcd1ef(0x1b1)](_0x5a2aaa));}else _0x39ee65=_0x26ad44[_0xfcd1ef(0x1bc)](_0x4c08a1=>!_0x1c4b3d['has'](menuPathKey(_0x4c08a1[_0xfcd1ef(0x1bd)])));if(_0x39ee65[_0xfcd1ef(0x1c3)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x3cdebc[_0xfcd1ef(0x1ba)]===!![],'targetPages':[],'plannedMenus':[]};_0x39ee65=_0x39ee65[_0xfcd1ef(0x1b9)](_0x2f897a=>resolvePage(_0x2f897a,_0x291bee,_0xa200b6));_0x291bee[_0xfcd1ef(0x1b6)]&&_0x2184ce[_0xfcd1ef(0x1c3)]===0x0&&await assertSharedResourcesConfigured(_0x2bbbdc,_0x3eac38,_0x291bee[_0xfcd1ef(0x1b6)]);const _0x69d5de=_0x39ee65[_0xfcd1ef(0x1b9)](_0x3d678a=>({'type':'procode','path':_0x3d678a[_0xfcd1ef(0x1bd)],'label':_0x3d678a[_0xfcd1ef(0x1d3)],'loadScriptMode':_0xfcd1ef(0x1cf),'resources':[..._0x2184ce],..._0x3d678a[_0xfcd1ef(0x1a9)]===undefined?{}:{'visible':_0x3d678a['visible']},..._0x3d678a[_0xfcd1ef(0x1b7)]===undefined?{}:{'parentId':_0x3d678a[_0xfcd1ef(0x1b7)]},..._0x3d678a[_0xfcd1ef(0x19f)]===undefined?{}:{'sort':_0x3d678a[_0xfcd1ef(0x19f)]},..._0x291bee[_0xfcd1ef(0x1b6)]===undefined?{}:{'appName':_0x291bee[_0xfcd1ef(0x1b6)]}}));if(_0x3cdebc['dryRun'])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x39ee65,'plannedMenus':_0x69d5de};const _0x4073c0=_0x291bee[_0xfcd1ef(0x1b6)]?await createMenus(_0x2bbbdc,_0x3eac38,_0x39ee65,_0x2184ce[_0xfcd1ef(0x1c3)]>0x0?_0x2184ce:undefined,{'appName':_0x291bee[_0xfcd1ef(0x1b6)]}):await createMenus(_0x2bbbdc,_0x3eac38,_0x39ee65,_0x2184ce[_0xfcd1ef(0x1c3)]>0x0?_0x2184ce:undefined);return logger[_0xfcd1ef(0x1c7)]('menu-sync',_0xfcd1ef(0x1a4),{'count':_0x39ee65['length'],'resources':_0x2184ce}),{'created':_0x4073c0['length'],'skipped':![],'dryRun':![],'targetPages':_0x39ee65,'plannedMenus':_0x69d5de,'menus':_0x4073c0};}export function parseMenuSyncParams(_0x2ea8c9){const _0x230972=a173_0x27ade8;if(!_0x2ea8c9||typeof _0x2ea8c9!==_0x230972(0x1cc))return{};let _0x446ff0;try{_0x446ff0=JSON[_0x230972(0x1bf)](_0x2ea8c9);}catch{throw new Error(_0x230972(0x19c));}if(typeof _0x446ff0!=='object'||_0x446ff0===null||Array[_0x230972(0x1a5)](_0x446ff0))throw new Error(_0x230972(0x1b2));const _0x5085e9=_0x446ff0;if(Object[_0x230972(0x19b)](_0x5085e9,'pages'))throw new Error(_0x230972(0x1c4));const _0x579d06=Object['keys'](_0x5085e9)[_0x230972(0x1bc)](_0x2a2ceb=>!MENU_SYNC_PARAM_KEYS[_0x230972(0x1a0)](_0x2a2ceb));if(_0x579d06[_0x230972(0x1c3)]>0x0)throw new Error(_0x230972(0x1b0)+_0x579d06[_0x230972(0x198)](',\x20')+'.');for(const _0x3c2c31 of['jsUrl',_0x230972(0x1a1),_0x230972(0x1b6)]){const _0x534eae=_0x5085e9[_0x3c2c31];if(_0x534eae!==undefined&&(typeof _0x534eae!=='string'||_0x534eae[_0x230972(0x1ab)]()===''))throw new Error(_0x230972(0x1a8)+_0x3c2c31+_0x230972(0x1c0));}if(_0x5085e9['visible']!==undefined&&typeof _0x5085e9['visible']!==_0x230972(0x1c6))throw new Error(_0x230972(0x1b5));if(_0x5085e9[_0x230972(0x1b7)]!==undefined&&(!Number[_0x230972(0x1c8)](_0x5085e9[_0x230972(0x1b7)])||_0x5085e9['parentId']<0x0))throw new Error(_0x230972(0x1a3));return{'jsUrl':typeof _0x5085e9[_0x230972(0x1d2)]===_0x230972(0x1cc)?_0x5085e9[_0x230972(0x1d2)]['trim']():undefined,'cssUrl':typeof _0x5085e9[_0x230972(0x1a1)]===_0x230972(0x1cc)?_0x5085e9[_0x230972(0x1a1)]['trim']():undefined,'appName':typeof _0x5085e9[_0x230972(0x1b6)]==='string'?_0x5085e9['appName'][_0x230972(0x1ab)]():undefined,'visible':typeof _0x5085e9[_0x230972(0x1a9)]===_0x230972(0x1c6)?_0x5085e9[_0x230972(0x1a9)]:undefined,'parentId':typeof _0x5085e9[_0x230972(0x1b7)]===_0x230972(0x1aa)?_0x5085e9['parentId']: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 a175_0x107d(){const _0x51c74a=['7AJgNIr','Invalid\x20--mode:\x20','55mjuQyX','field','dryRun','replace','.css','selection','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','jsUrl','with\x20a\x20single\x20jsUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.','menuIds','extend','2117456HggzVN','416720bDhtWG','paths','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','1955784ESBwDJ','some','length','menu\x20asset-update\x20will\x20remove\x20existing\x20CSS\x20resource\x20for\x20\x22','\x20existing\x20JS\x20resources\x20for\x20\x22','split','fulfilled','join','after','1028568GvzZLk','toLowerCase','37998jKRgqN','resources','string','Pass\x20--params\x20\x27{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}\x27\x20to\x20update\x20assets.','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','value','\x22\x20(','filter','.js','force','has','message','Use\x20--mode\x20patch\x20to\x20preserve\x20it,\x20pass\x20jsUrl,\x20or\x20add\x20--force\x20for\x20an\x20intentional\x20removal.','status','all','map','patch','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','isArray','--params.','endsWith','loadScriptMode','menu\x20asset-update\x20cannot\x20patch\x20','1270tawbPs','object','push','trim','Invalid\x20--params:\x20menu\x20asset-update\x20requires\x20at\x20least\x20one\x20explicit\x20JS/CSS\x20URL.\x20','menu-asset-update','cssUrl','.\x20Allowed\x20values:\x20replace,\x20patch','path','1jONLIJ',').\x20','unshift','2323284jahzaW','JS\x20URL\x20is\x20unreachable:\x20','\x20existing\x20CSS\x20resources\x20for\x20\x22','CSS\x20URL\x20is\x20unreachable:\x20','label','parse','cwd','968318WQpJmv','5emtAFZ','rejected','allSettled'];a175_0x107d=function(){return _0x51c74a;};return a175_0x107d();}(function(_0x498db8,_0x580aaf){const _0x3997f5=a175_0x288f,_0x3801ce=_0x498db8();while(!![]){try{const _0x3ad50a=parseInt(_0x3997f5(0xb2))/0x1*(-parseInt(_0x3997f5(0xbc))/0x2)+-parseInt(_0x3997f5(0xda))/0x3+parseInt(_0x3997f5(0xce))/0x4*(-parseInt(_0x3997f5(0xbd))/0x5)+parseInt(_0x3997f5(0xb5))/0x6*(-parseInt(_0x3997f5(0xc0))/0x7)+parseInt(_0x3997f5(0xcd))/0x8+-parseInt(_0x3997f5(0xdc))/0x9*(-parseInt(_0x3997f5(0xa9))/0xa)+-parseInt(_0x3997f5(0xc2))/0xb*(-parseInt(_0x3997f5(0xd1))/0xc);if(_0x3ad50a===_0x580aaf)break;else _0x3801ce['push'](_0x3801ce['shift']());}catch(_0x560bf1){_0x3801ce['push'](_0x3801ce['shift']());}}}(a175_0x107d,0x489a1));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(_0x3f6f99){const _0x435c8c=a175_0x288f,_0x1e26e3=[];return _0x3f6f99['jsUrl']&&!isValidJsHttpsUrl(_0x3f6f99['jsUrl'])&&_0x1e26e3['push']({'field':_0x435c8c(0xc9),'message':_0x435c8c(0xa3)}),_0x3f6f99[_0x435c8c(0xaf)]&&!isValidCssHttpsUrl(_0x3f6f99[_0x435c8c(0xaf)])&&_0x1e26e3[_0x435c8c(0xab)]({'field':_0x435c8c(0xaf),'message':_0x435c8c(0xe0)}),_0x1e26e3;}export async function runMenuUpdateCore(_0x2e425e,_0xf47278,_0x5741db,_0x3862f6={}){const _0x159b95=a175_0x288f,_0x252e00=parseUpdateParamsFlag(_0x5741db),_0x1d8f9d=normalizeMode(_0x3862f6['mode']);validateSelection(_0x3862f6[_0x159b95(0xc7)]);const _0xee96fa=[];if(_0x252e00[_0x159b95(0xc9)])_0xee96fa[_0x159b95(0xab)](_0x252e00[_0x159b95(0xc9)]);if(_0x252e00[_0x159b95(0xaf)])_0xee96fa['push'](_0x252e00[_0x159b95(0xaf)]);const _0x15e7eb=validateParams(_0x252e00);if(_0x15e7eb[_0x159b95(0xd3)]>0x0){const _0x34eb0f=_0x15e7eb[_0x159b95(0xeb)](_0x587068=>_0x159b95(0xa5)+_0x587068[_0x159b95(0xc3)]+':\x20'+_0x587068[_0x159b95(0xe7)])[_0x159b95(0xd8)](';\x20');throw new Error('Invalid\x20--params:\x20'+_0x34eb0f);}if(_0xee96fa['length']===0x0)throw new Error(_0x159b95(0xad)+_0x159b95(0xdf));logger['setLogPath'](process[_0x159b95(0xbb)]()),logger['info']('menu-asset-update','Start\x20non-interactive\x20menu\x20asset\x20update',{'appCode':_0x2e425e,'jsUrl':_0x252e00[_0x159b95(0xc9)],'cssUrl':_0x252e00['cssUrl'],'mode':_0x1d8f9d,'dryRun':_0x3862f6[_0x159b95(0xc4)]===!![]});if(_0x252e00[_0x159b95(0xc9)]){const _0xc41f50=await isUrlReachable(_0x252e00[_0x159b95(0xc9)]);if(!_0xc41f50)throw new Error(_0x159b95(0xb6)+_0x252e00[_0x159b95(0xc9)]);}if(_0x252e00['cssUrl']){const _0x25a3f4=await isUrlReachable(_0x252e00[_0x159b95(0xaf)]);if(!_0x25a3f4)throw new Error(_0x159b95(0xb8)+_0x252e00[_0x159b95(0xaf)]);}const _0x233b91=await getOnlineMenuList(_0x2e425e,_0xf47278),_0x35df2c=_0x233b91[_0x159b95(0xe3)](_0x36596a=>_0x36596a['resources']['length']>0x0),_0x2d67af=selectMenusForUpdate(_0x35df2c,_0x3862f6[_0x159b95(0xc7)]);if(_0x2d67af[_0x159b95(0xd3)]===0x0)return{'updated':0x0,'failed':0x0,'skipped':!![],'dryRun':_0x3862f6['dryRun']===!![]};const _0x49f86f=_0x2d67af[_0x159b95(0xeb)](_0x107982=>buildMenuUpdateDiff(_0x107982,_0x252e00,_0x1d8f9d,_0x3862f6[_0x159b95(0xe5)]===!![],_0x3862f6[_0x159b95(0xa7)]));if(_0x3862f6['dryRun'])return{'updated':0x0,'failed':0x0,'skipped':![],'dryRun':!![],'diffs':_0x49f86f};const _0x249e4e=await Promise[_0x159b95(0xbf)](_0x2d67af[_0x159b95(0xeb)]((_0x151644,_0x47eb08)=>updateMenuCdnUrl(_0x2e425e,_0xf47278,{'id':_0x151644['id'],'label':_0x151644[_0x159b95(0xb9)],'path':_0x151644['path'],'resources':_0x49f86f[_0x47eb08][_0x159b95(0xd9)][_0x159b95(0xdd)],'extend':_0x151644[_0x159b95(0xcc)]??null,'loadScriptMode':_0x3862f6[_0x159b95(0xa7)]}))),_0x2666c3=_0x249e4e['filter'](_0x4e8054=>_0x4e8054[_0x159b95(0xe9)]===_0x159b95(0xd7))[_0x159b95(0xeb)](_0x56cac2=>_0x56cac2[_0x159b95(0xe1)]),_0x4c09d9=_0x249e4e[_0x159b95(0xe3)](_0x1ea2ac=>_0x1ea2ac[_0x159b95(0xe9)]===_0x159b95(0xbe))[_0x159b95(0xd3)];return logger['info'](_0x159b95(0xae),'Menu\x20asset\x20update\x20completed',{'count':_0x2d67af['length'],'resources':_0xee96fa}),{'updated':_0x2666c3[_0x159b95(0xd3)],'failed':_0x4c09d9,'skipped':![],'menus':_0x2666c3};}function validateSelection(_0xae4fbb){const _0x1a9098=a175_0x288f;if(!_0xae4fbb)throw new Error(_0x1a9098(0xd0));if(_0xae4fbb[_0x1a9098(0xea)]&&(_0xae4fbb[_0x1a9098(0xcb)]['length']>0x0||_0xae4fbb[_0x1a9098(0xcf)]['length']>0x0))throw new Error(_0x1a9098(0xc8));if(!_0xae4fbb[_0x1a9098(0xea)]&&_0xae4fbb['menuIds']['length']===0x0&&_0xae4fbb[_0x1a9098(0xcf)][_0x1a9098(0xd3)]===0x0)throw new Error(_0x1a9098(0xd0));}export function selectMenusForUpdate(_0x39fee8,_0x48538b){const _0x325822=a175_0x288f;validateSelection(_0x48538b);if(_0x48538b[_0x325822(0xea)])return _0x39fee8;const _0x59ae13=new Set(_0x39fee8[_0x325822(0xeb)](_0x4e3a37=>_0x4e3a37['id'])),_0x479aaa=new Set(_0x39fee8['map'](_0x4f5ccb=>_0x4f5ccb['path'])),_0x270c11=_0x48538b[_0x325822(0xcb)]['filter'](_0x1dcb64=>!_0x59ae13['has'](_0x1dcb64)),_0x38eaa8=_0x48538b['paths'][_0x325822(0xe3)](_0x4b371c=>!_0x479aaa[_0x325822(0xe6)](_0x4b371c));if(_0x270c11[_0x325822(0xd3)]>0x0||_0x38eaa8['length']>0x0){const _0x42b810=[..._0x270c11[_0x325822(0xeb)](_0x336838=>String(_0x336838)),..._0x38eaa8][_0x325822(0xd8)](',\x20');throw new Error('menu\x20asset-update\x20selectors\x20did\x20not\x20match\x20resource-bearing\x20menus:\x20'+_0x42b810);}const _0x16e19b=new Set(_0x48538b[_0x325822(0xcb)]),_0x5bd187=new Set(_0x48538b[_0x325822(0xcf)]);return _0x39fee8[_0x325822(0xe3)](_0x3bd503=>_0x16e19b[_0x325822(0xe6)](_0x3bd503['id'])||_0x5bd187[_0x325822(0xe6)](_0x3bd503[_0x325822(0xb1)]));}function normalizeMode(_0xfe678d){const _0x50e2bc=a175_0x288f;if(!_0xfe678d)return _0x50e2bc(0xa2);if(_0xfe678d===_0x50e2bc(0xc5)||_0xfe678d===_0x50e2bc(0xa2))return _0xfe678d;throw new Error(_0x50e2bc(0xc1)+_0xfe678d+_0x50e2bc(0xb0));}function buildMenuUpdateDiff(_0x1b3b7f,_0x2b760e,_0x3baf6b,_0x4e315d,_0x41faed){const _0x16fd06=a175_0x288f,_0x6d7605=[..._0x1b3b7f[_0x16fd06(0xdd)]];_0x3baf6b==='patch'&&assertUnambiguousPatchResources(_0x1b3b7f,_0x6d7605,_0x2b760e);const _0x259c0f=_0x3baf6b===_0x16fd06(0xa2)?patchResources(_0x6d7605,_0x2b760e):replaceResources(_0x2b760e),_0x2ad4b8=[],_0x2348f5=_0x6d7605['some'](isJsResource),_0x31abb6=_0x259c0f['some'](isJsResource);if(_0x2348f5&&!_0x31abb6){const _0xf7d8f6='menu\x20asset-update\x20would\x20remove\x20existing\x20JS\x20resource\x20for\x20\x22'+_0x1b3b7f['label']+_0x16fd06(0xe2)+_0x1b3b7f['path']+_0x16fd06(0xb3)+_0x16fd06(0xe8);if(!_0x4e315d)throw new Error(_0xf7d8f6);_0x2ad4b8[_0x16fd06(0xab)](_0xf7d8f6);}const _0x51c973=_0x6d7605[_0x16fd06(0xd2)](isCssResource),_0x1e02c3=_0x259c0f['some'](isCssResource);_0x51c973&&!_0x1e02c3&&_0x2ad4b8['push'](_0x16fd06(0xd4)+_0x1b3b7f[_0x16fd06(0xb9)]+_0x16fd06(0xe2)+_0x1b3b7f[_0x16fd06(0xb1)]+').');const _0x59dc63=typeof _0x1b3b7f[_0x16fd06(0xcc)]?.['loadScriptMode']===_0x16fd06(0xde)?_0x1b3b7f['extend'][_0x16fd06(0xa7)]:null,_0x31232c=_0x41faed?{'loadScriptMode':_0x59dc63}:{},_0x1574f3=_0x41faed?{'loadScriptMode':_0x41faed}:{};return{'id':_0x1b3b7f['id'],'label':_0x1b3b7f['label'],'path':_0x1b3b7f[_0x16fd06(0xb1)],'mode':_0x3baf6b,'before':{'resources':_0x6d7605,..._0x31232c},'after':{'resources':_0x259c0f,..._0x1574f3},'warnings':_0x2ad4b8};}function replaceResources(_0x24734d){const _0x1257af=a175_0x288f;return[_0x24734d['jsUrl'],_0x24734d[_0x1257af(0xaf)]][_0x1257af(0xe3)](_0x4ff15d=>!!_0x4ff15d);}function assertUnambiguousPatchResources(_0x3c94c3,_0x1413a6,_0x569d27){const _0x4420ec=a175_0x288f,_0x4207aa=_0x1413a6[_0x4420ec(0xe3)](isJsResource)[_0x4420ec(0xd3)];if(_0x569d27[_0x4420ec(0xc9)]&&_0x4207aa>0x1)throw new Error(_0x4420ec(0xa8)+_0x4207aa+_0x4420ec(0xd5)+_0x3c94c3[_0x4420ec(0xb9)]+_0x4420ec(0xe2)+_0x3c94c3[_0x4420ec(0xb1)]+')\x20'+_0x4420ec(0xca));const _0x2d5e61=_0x1413a6[_0x4420ec(0xe3)](isCssResource)[_0x4420ec(0xd3)];if(_0x569d27[_0x4420ec(0xaf)]&&_0x2d5e61>0x1)throw new Error(_0x4420ec(0xa8)+_0x2d5e61+_0x4420ec(0xb7)+_0x3c94c3[_0x4420ec(0xb9)]+_0x4420ec(0xe2)+_0x3c94c3['path']+')\x20'+'with\x20a\x20single\x20cssUrl.\x20Review\x20a\x20dry-run\x20and\x20use\x20--mode\x20replace\x20only\x20when\x20intentionally\x20rewriting\x20the\x20complete\x20resource\x20set.');}function a175_0x288f(_0x2d01ca,_0x4b7c7d){_0x2d01ca=_0x2d01ca-0xa2;const _0x107d6e=a175_0x107d();let _0x288f19=_0x107d6e[_0x2d01ca];return _0x288f19;}function patchResources(_0x54e522,_0x43593d){const _0x244c60=a175_0x288f;let _0x5867cb=![],_0x345a20=![];const _0xb05852=[];for(const _0x4a1122 of _0x54e522){if(isJsResource(_0x4a1122)){if(_0x43593d['jsUrl']&&!_0x5867cb)_0xb05852['push'](_0x43593d[_0x244c60(0xc9)]),_0x5867cb=!![];else!_0x43593d[_0x244c60(0xc9)]&&_0xb05852[_0x244c60(0xab)](_0x4a1122);continue;}if(isCssResource(_0x4a1122)){if(_0x43593d[_0x244c60(0xaf)]&&!_0x345a20)_0xb05852[_0x244c60(0xab)](_0x43593d[_0x244c60(0xaf)]),_0x345a20=!![];else!_0x43593d[_0x244c60(0xaf)]&&_0xb05852['push'](_0x4a1122);continue;}_0xb05852['push'](_0x4a1122);}return _0x43593d['jsUrl']&&!_0x5867cb&&_0xb05852[_0x244c60(0xb4)](_0x43593d[_0x244c60(0xc9)]),_0x43593d[_0x244c60(0xaf)]&&!_0x345a20&&_0xb05852['push'](_0x43593d[_0x244c60(0xaf)]),_0xb05852;}function isJsResource(_0x2eaa5a){const _0x1847e3=a175_0x288f;return stripQuery(_0x2eaa5a)['toLowerCase']()['endsWith'](_0x1847e3(0xe4));}function isCssResource(_0x216ac2){const _0x14915a=a175_0x288f;return stripQuery(_0x216ac2)[_0x14915a(0xdb)]()[_0x14915a(0xa6)](_0x14915a(0xc6));}function stripQuery(_0x2c9e94){const _0x12210a=a175_0x288f;return _0x2c9e94[_0x12210a(0xd6)]('?')[0x0]??_0x2c9e94;}function parseUpdateParamsFlag(_0x3c9df3){const _0x47cfee=a175_0x288f;if(!_0x3c9df3||typeof _0x3c9df3!==_0x47cfee(0xde))return{};try{const _0x113c54=JSON[_0x47cfee(0xba)](_0x3c9df3);if(typeof _0x113c54!==_0x47cfee(0xaa)||_0x113c54===null||Array[_0x47cfee(0xa4)](_0x113c54))return{};return{'jsUrl':typeof _0x113c54[_0x47cfee(0xc9)]===_0x47cfee(0xde)?_0x113c54[_0x47cfee(0xc9)][_0x47cfee(0xac)]():undefined,'cssUrl':typeof _0x113c54[_0x47cfee(0xaf)]===_0x47cfee(0xde)?_0x113c54[_0x47cfee(0xaf)][_0x47cfee(0xac)]():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(_0x36e2b9,_0x83c989){const _0x7567c8=a176_0x4d27,_0x8f1228=_0x36e2b9();while(!![]){try{const _0x52ed41=parseInt(_0x7567c8(0x1c6))/0x1*(parseInt(_0x7567c8(0x1cc))/0x2)+-parseInt(_0x7567c8(0x1c0))/0x3+parseInt(_0x7567c8(0x1c8))/0x4+parseInt(_0x7567c8(0x1cb))/0x5+parseInt(_0x7567c8(0x1c5))/0x6+parseInt(_0x7567c8(0x1c7))/0x7*(-parseInt(_0x7567c8(0x1c3))/0x8)+parseInt(_0x7567c8(0x1cd))/0x9;if(_0x52ed41===_0x83c989)break;else _0x8f1228['push'](_0x8f1228['shift']());}catch(_0x2c2240){_0x8f1228['push'](_0x8f1228['shift']());}}}(a176_0x859c,0x74a01));function a176_0x859c(){const _0x3dcb13=['1861380tCGbfu','932oXFiak','7irXfLR','2014272sJeyRS','trim','cancel','4615835PTooSg','208DcZrNQ','1808262XmKZkV','GET','test','2746923OWXQBv','bytes=0-0','body','5131784mFJzzi','HEAD'];a176_0x859c=function(){return _0x3dcb13;};return a176_0x859c();}export function isValidJsHttpsUrl(_0x5c4d81){const _0x3210c9=a176_0x4d27;return/^https:\/\/.+\.js(\?.*)?$/[_0x3210c9(0x1bf)](_0x5c4d81[_0x3210c9(0x1c9)]());}function a176_0x4d27(_0xc060de,_0x294c6a){_0xc060de=_0xc060de-0x1bf;const _0x859c31=a176_0x859c();let _0x4d2750=_0x859c31[_0xc060de];return _0x4d2750;}export function isValidCssHttpsUrl(_0x4bdcf4){const _0x778ae4=a176_0x4d27;return/^https:\/\/.+\.css(\?.*)?$/[_0x778ae4(0x1bf)](_0x4bdcf4[_0x778ae4(0x1c9)]());}export async function isUrlReachable(_0x4102e8){const _0x454d88=a176_0x4d27;try{const _0x19d702=await fetch(_0x4102e8,{'method':_0x454d88(0x1c4)});if(_0x19d702['ok'])return!![];}catch{}try{const _0x10ee84=await fetch(_0x4102e8,{'method':_0x454d88(0x1ce),'headers':{'Range':_0x454d88(0x1c1)}}),_0x1d8890=_0x10ee84['ok'];try{await _0x10ee84[_0x454d88(0x1c2)]?.[_0x454d88(0x1ca)]();}catch{}return _0x1d8890;}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_0x25f9da=a177_0x140c;(function(_0x4dfe41,_0x37b60f){const _0xc8badd=a177_0x140c,_0x590d4d=_0x4dfe41();while(!![]){try{const _0x267891=parseInt(_0xc8badd(0x86))/0x1+-parseInt(_0xc8badd(0x8d))/0x2*(parseInt(_0xc8badd(0x95))/0x3)+-parseInt(_0xc8badd(0x89))/0x4+-parseInt(_0xc8badd(0x8e))/0x5*(-parseInt(_0xc8badd(0x92))/0x6)+-parseInt(_0xc8badd(0x84))/0x7*(parseInt(_0xc8badd(0x88))/0x8)+parseInt(_0xc8badd(0x94))/0x9*(-parseInt(_0xc8badd(0x87))/0xa)+-parseInt(_0xc8badd(0x83))/0xb*(-parseInt(_0xc8badd(0x8a))/0xc);if(_0x267891===_0x37b60f)break;else _0x590d4d['push'](_0x590d4d['shift']());}catch(_0x257f1c){_0x590d4d['push'](_0x590d4d['shift']());}}}(a177_0x3ee8,0x835d1));import{getSmartAppRecord}from'../../core/api-client.js';function a177_0x3ee8(){const _0x4acb6a=['read','all','Inspect\x20shared\x20frontend\x20subapp\x20resources\x20and\x20menu\x20fallbacks\x20in\x20the\x20selected\x20menu\x20host','48NSLorg','\x20menu(s)\x20for\x20','36nvpZar','1411173EGkGLi','Inspected\x20','2625865bbLiGW','3080WjFRRC','menu','975683IWhuwL','738680Nfunsy','11296XtWRMB','3382752NKDasL','84FhAwVW','boundMenus','cookie','2wEkqRD','77630XObJJA'];a177_0x3ee8=function(){return _0x4acb6a;};return a177_0x3ee8();}function a177_0x140c(_0x4f1e80,_0x46f4a4){_0x4f1e80=_0x4f1e80-0x82;const _0x3ee8e3=a177_0x3ee8();let _0x140cd5=_0x3ee8e3[_0x4f1e80];return _0x140cd5;}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_0x25f9da(0x85),'command':'subapp-assets-status','description':a177_0x25f9da(0x91),'risk':a177_0x25f9da(0x8f),'strictFlags':!![],'flags':SUBAPP_ASSET_SELECTOR_FLAGS,async 'validate'(_0x2babb9){getSubappSelector(_0x2babb9);},async 'execute'(_0x2aa7f5){const _0x2089ab=a177_0x25f9da,{appCode:_0x30a990,appName:_0x40969a}=getSubappSelector(_0x2aa7f5),[_0x333b59,_0x59f7c9]=await Promise[_0x2089ab(0x90)]([getSmartAppRecord(_0x30a990,_0x2aa7f5['cookie']),getOnlineMenuList(_0x30a990,_0x2aa7f5[_0x2089ab(0x8c)])]),_0xc7ea76={'appCode':_0x30a990,...buildSubappAssetsStatus(_0x333b59,_0x59f7c9,_0x40969a)};return{'ok':!![],'data':_0xc7ea76,'message':_0x2089ab(0x82)+_0xc7ea76[_0x2089ab(0x8b)]+_0x2089ab(0x93)+_0x40969a+'\x20in\x20menu\x20host\x20'+_0x30a990+'.'};}};
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_0x46700a=a178_0x5829;(function(_0x1ab72e,_0x3c32d0){const _0x4b9bee=a178_0x5829,_0x348dfd=_0x1ab72e();while(!![]){try{const _0x37ff04=parseInt(_0x4b9bee(0x16a))/0x1*(parseInt(_0x4b9bee(0x15d))/0x2)+-parseInt(_0x4b9bee(0x17b))/0x3*(parseInt(_0x4b9bee(0x16c))/0x4)+parseInt(_0x4b9bee(0x15b))/0x5+-parseInt(_0x4b9bee(0x168))/0x6+parseInt(_0x4b9bee(0x14f))/0x7+parseInt(_0x4b9bee(0x172))/0x8+parseInt(_0x4b9bee(0x15e))/0x9;if(_0x37ff04===_0x3c32d0)break;else _0x348dfd['push'](_0x348dfd['shift']());}catch(_0xec819e){_0x348dfd['push'](_0x348dfd['shift']());}}}(a178_0x364e,0x2547b));import{createHash}from'node:crypto';function a178_0x5829(_0x350cb2,_0xa1407d){_0x350cb2=_0x350cb2-0x135;const _0x364e5c=a178_0x364e();let _0x582980=_0x364e5c[_0x350cb2];return _0x582980;}function a178_0x364e(){const _0x12230e=['appCode','671972OnWKhM','app.extend.assets\x20must\x20be\x20a\x20JSON\x20string;\x20refusing\x20update.','expectedHash','extend','App\x20ID\x20or\x20publish\x20status\x20is\x20missing;\x20refusing\x20a\x20generic\x20app\x20update.','before','apiError','Management\x20app\x20assets\x20already\x20match;\x20independent\x20deployment\x20not\x20verified.','\x20must\x20be\x20a\x20JSON\x20object.','object','directDbEnabled','test','41290LcRGVy','str','119046aezhiT','1345149ZWKkDb','string','resources[','keys','menu','skinColor','not\x20HTTPS','Update\x20one\x20frontend\x20subapp\x20resource\x20URL\x20set\x20in\x20the\x20selected\x20menu\x20host','POST','app.extend.assets','808962maghgJ','some','1KXFOtc','filter','17444ZWrCgC','accessKey','appPublishStatus','parse','/smartapi/app/update','stringify','1957360VQlXjg','At\x20least\x20one\x20resource\x20URL\x20is\x20required.','directDbId','cookie','hex','map','update','https:','protocol','186nGfmXP','--expected-hash\x20from\x20a\x20dry-run\x20is\x20required.','Shared\x20assets\x20already\x20match\x20the\x20requested\x20URLs.','--resources\x20must\x20be\x20a\x20JSON\x20array\x20of\x20HTTPS\x20URLs.','isArray','JSON\x20array\x20of\x20HTTPS\x20resource\x20URLs','subapp-assets-update','digest','Updated\x20shared\x20resources\x20for\x20','enableSample','resources','length','isSafeInteger','assets',']\x20must\x20be\x20a\x20URL\x20string.','.\x20Refusing\x20update.','join','enableOpenApi',']\x20must\x20be\x20an\x20absolute\x20HTTPS\x20URL.','Existing\x20subapp.resources\x20contains\x20invalid\x20JSON.','vipDeploy','Existing\x20subapp.resources\x20must\x20be\x20a\x20JSON\x20string.','unchanged','validation',';\x20found\x20','expected-hash','trim','tenantColumn'];a178_0x364e=function(){return _0x12230e;};return a178_0x364e();}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_0x46700a(0x163),a178_0x46700a(0x143),a178_0x46700a(0x16d),a178_0x46700a(0x13f),a178_0x46700a(0x14d),a178_0x46700a(0x13b),a178_0x46700a(0x146),'enableAutoSync',a178_0x46700a(0x174),a178_0x46700a(0x159)]);function parseObject(_0x35f6e7,_0x3c14c2){const _0x58c1bf=a178_0x46700a;let _0x4d7460=_0x35f6e7;if(typeof _0x35f6e7===_0x58c1bf(0x15f))try{_0x4d7460=JSON[_0x58c1bf(0x16f)](_0x35f6e7);}catch{throw CliErrors[_0x58c1bf(0x149)](_0x3c14c2+'\x20contains\x20invalid\x20JSON.');}if(!_0x4d7460||typeof _0x4d7460!==_0x58c1bf(0x158)||Array[_0x58c1bf(0x136)](_0x4d7460))throw CliErrors[_0x58c1bf(0x149)](_0x3c14c2+_0x58c1bf(0x157));return _0x4d7460;}function parseArray(_0x273cd2,_0x326d5b){const _0x52144d=a178_0x46700a;let _0x4f32e1;try{_0x4f32e1=JSON['parse'](_0x273cd2);}catch{throw CliErrors[_0x52144d(0x149)](_0x326d5b+'\x20contains\x20invalid\x20JSON.');}if(!Array[_0x52144d(0x136)](_0x4f32e1))throw CliErrors['validation'](_0x326d5b+'\x20must\x20be\x20a\x20JSON\x20array.');return _0x4f32e1[_0x52144d(0x177)]((_0x384a15,_0x37a2d8)=>parseObject(_0x384a15,_0x326d5b+'['+_0x37a2d8+']'));}function validateResources(_0x49a978){const _0x31c291=a178_0x46700a;if(_0x49a978[_0x31c291(0x13d)]===0x0)throw CliErrors[_0x31c291(0x149)](_0x31c291(0x173));for(const [_0x1630a0,_0x58bd58]of _0x49a978['entries']()){if(typeof _0x58bd58!==_0x31c291(0x15f))throw CliErrors[_0x31c291(0x149)](_0x31c291(0x160)+_0x1630a0+_0x31c291(0x140));try{if(new URL(_0x58bd58)[_0x31c291(0x17a)]!==_0x31c291(0x179))throw new Error(_0x31c291(0x164));}catch{throw CliErrors[_0x31c291(0x149)](_0x31c291(0x160)+_0x1630a0+_0x31c291(0x144));}}if(new Set(_0x49a978)['size']!==_0x49a978[_0x31c291(0x13d)]||!_0x49a978[_0x31c291(0x169)](_0x4a4eff=>/\.m?js(?:[?#]|$)/i[_0x31c291(0x15a)](_0x4a4eff)))throw CliErrors['validation']('Resources\x20need\x20one\x20JS\x20entry\x20and\x20no\x20duplicate\x20URLs.');return _0x49a978;}function prepare(_0x2212df,_0xdca596,_0x2dc922){const _0x5b6b6e=a178_0x46700a;if(!Number[_0x5b6b6e(0x13e)](_0x2212df['id'])||(_0x2212df['id']??0x0)<=0x0||typeof _0x2212df[_0x5b6b6e(0x16e)]!==_0x5b6b6e(0x15f)||!_0x2212df[_0x5b6b6e(0x16e)])throw CliErrors[_0x5b6b6e(0x149)](_0x5b6b6e(0x153));const _0x4bf997=parseObject(_0x2212df[_0x5b6b6e(0x152)],'app.extend'),_0x417ea8=Object[_0x5b6b6e(0x161)](_0x4bf997)[_0x5b6b6e(0x16b)](_0x3f0394=>!KNOWN_EXTEND_KEYS['has'](_0x3f0394));if(_0x417ea8[_0x5b6b6e(0x13d)])throw CliErrors['validation']('Unknown\x20app.extend\x20fields:\x20'+_0x417ea8[_0x5b6b6e(0x142)](',\x20')+_0x5b6b6e(0x141));if(typeof _0x4bf997['assets']!==_0x5b6b6e(0x15f))throw CliErrors[_0x5b6b6e(0x149)](_0x5b6b6e(0x150));const _0x4ffd52=parseArray(_0x4bf997[_0x5b6b6e(0x13f)],_0x5b6b6e(0x167)),_0x5e9ed1=_0x4ffd52['filter'](_0x4015e3=>_0x4015e3['appName']===_0xdca596);if(_0x5e9ed1[_0x5b6b6e(0x13d)]!==0x1)throw CliErrors[_0x5b6b6e(0x149)]('Expected\x20exactly\x20one\x20existing\x20subapp\x20entry\x20for\x20'+_0xdca596+_0x5b6b6e(0x14a)+_0x5e9ed1['length']+'.');const _0x1d978d=_0x5e9ed1[0x0];if(typeof _0x1d978d['resources']!==_0x5b6b6e(0x15f))throw CliErrors[_0x5b6b6e(0x149)](_0x5b6b6e(0x147));let _0x598ede;try{_0x598ede=JSON[_0x5b6b6e(0x16f)](_0x1d978d['resources']);}catch{throw CliErrors[_0x5b6b6e(0x149)](_0x5b6b6e(0x145));}if(!Array['isArray'](_0x598ede)||_0x598ede['some'](_0x5add4d=>typeof _0x5add4d!=='string'))throw CliErrors[_0x5b6b6e(0x149)]('Existing\x20subapp.resources\x20must\x20be\x20an\x20array\x20of\x20URLs.');const _0x297916=_0x4ffd52[_0x5b6b6e(0x177)](_0x2a915c=>_0x2a915c===_0x1d978d?{..._0x2a915c,'resources':JSON[_0x5b6b6e(0x171)](_0x2dc922)}:_0x2a915c),_0x561d5c={..._0x4bf997,'assets':JSON[_0x5b6b6e(0x171)](_0x297916)},_0x2cd725=createHash('sha256')[_0x5b6b6e(0x178)](JSON[_0x5b6b6e(0x171)]({'appCode':_0x2212df[_0x5b6b6e(0x14e)],'id':_0x2212df['id'],'appPublishStatus':_0x2212df[_0x5b6b6e(0x16e)],'extend':_0x4bf997,'appName':_0xdca596,'resources':_0x2dc922}))[_0x5b6b6e(0x139)](_0x5b6b6e(0x176));return{'before':_0x598ede,'nextExtend':_0x561d5c,'expectedHash':_0x2cd725,'unchanged':isDeepStrictEqual(_0x598ede,_0x2dc922)};}function flags(_0x267744){const _0x98bfa5=a178_0x46700a,{appCode:_0x23e8e1,appName:_0x22a98d}=getSubappSelector(_0x267744),_0x3fc16d=_0x267744['str'](_0x98bfa5(0x13c))[_0x98bfa5(0x14c)]();if(!_0x3fc16d)throw CliErrors[_0x98bfa5(0x149)]('--resources\x20is\x20required.');let _0x50f36f;try{_0x50f36f=JSON[_0x98bfa5(0x16f)](_0x3fc16d);}catch{throw CliErrors[_0x98bfa5(0x149)]('--resources\x20must\x20be\x20a\x20JSON\x20array\x20of\x20HTTPS\x20URLs.');}if(!Array[_0x98bfa5(0x136)](_0x50f36f))throw CliErrors[_0x98bfa5(0x149)](_0x98bfa5(0x135));return{'appCode':_0x23e8e1,'appName':_0x22a98d,'resources':validateResources(_0x50f36f)};}export const menuSubappAssetsUpdate={'service':a178_0x46700a(0x162),'command':a178_0x46700a(0x138),'description':a178_0x46700a(0x165),'risk':'write','strictFlags':!![],'flags':[...SUBAPP_ASSET_SELECTOR_FLAGS,{'name':a178_0x46700a(0x13c),'type':a178_0x46700a(0x15f),'required':!![],'description':a178_0x46700a(0x137)},{'name':a178_0x46700a(0x14b),'type':a178_0x46700a(0x15f),'description':'Preview\x20fingerprint\x20binding\x20the\x20host,\x20subapp,\x20resource\x20URLs\x20and\x20current\x20config;\x20required\x20for\x20writes'}],async 'validate'(_0x590f9){flags(_0x590f9);},async 'dryRun'(_0x137b93){const _0x214fc6=a178_0x46700a,{appCode:_0x1bfb05,appName:_0x1d9038,resources:_0x34b746}=flags(_0x137b93),_0x229013=await getSmartAppRecord(_0x1bfb05,_0x137b93[_0x214fc6(0x175)]),_0x4780e7=prepare(_0x229013,_0x1d9038,_0x34b746);return{'method':_0x214fc6(0x166),'url':_0x214fc6(0x170),'body':{'preview':{'appCode':_0x1bfb05,'appName':_0x1d9038,'before':_0x4780e7[_0x214fc6(0x154)],'after':_0x34b746,'expectedHash':_0x4780e7[_0x214fc6(0x151)],'unchanged':_0x4780e7[_0x214fc6(0x148)],'remoteContentVerified':![],'independentDeploymentVerified':![]}},'description':_0x4780e7['unchanged']?_0x214fc6(0x17d):'Would\x20update\x20shared\x20assets\x20for\x20'+_0x1d9038+'.'};},async 'execute'(_0x10b1b0){const _0x524b9b=a178_0x46700a,{appCode:_0x3a727e,appName:_0x477c01,resources:_0x233548}=flags(_0x10b1b0),_0x2af4ee=_0x10b1b0[_0x524b9b(0x15c)](_0x524b9b(0x14b))[_0x524b9b(0x14c)]();if(!/^[a-f0-9]{64}$/i['test'](_0x2af4ee))throw CliErrors[_0x524b9b(0x149)](_0x524b9b(0x17c));const _0x399149=await getSmartAppRecord(_0x3a727e,_0x10b1b0[_0x524b9b(0x175)]),_0x4a3c14=prepare(_0x399149,_0x477c01,_0x233548);if(_0x2af4ee!==_0x4a3c14[_0x524b9b(0x151)])throw CliErrors[_0x524b9b(0x149)]('App\x20assets\x20or\x20update\x20target\x20changed\x20since\x20preview;\x20the\x20fingerprint\x20does\x20not\x20match.\x20Run\x20a\x20new\x20dry-run.');if(_0x4a3c14[_0x524b9b(0x148)])return{'ok':!![],'data':{'appCode':_0x3a727e,'appName':_0x477c01,'updated':![],'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x524b9b(0x156)};await updateSmartAppRecord({'id':_0x399149['id'],'appCode':_0x3a727e,'appPublishStatus':_0x399149[_0x524b9b(0x16e)],'extend':_0x4a3c14['nextExtend']},_0x10b1b0[_0x524b9b(0x175)]);const _0x247546=await getSmartAppRecord(_0x3a727e,_0x10b1b0[_0x524b9b(0x175)]),_0x2b8253=parseObject(_0x247546[_0x524b9b(0x152)],'verified\x20app.extend');if(_0x247546['id']!==_0x399149['id']||_0x247546[_0x524b9b(0x16e)]!==_0x399149[_0x524b9b(0x16e)]||!isDeepStrictEqual(_0x2b8253,_0x4a3c14['nextExtend']))throw CliErrors[_0x524b9b(0x155)]('App\x20asset\x20update\x20verification\x20failed;\x20inspect\x20the\x20app\x20before\x20retrying.');return{'ok':!![],'data':{'appCode':_0x3a727e,'appName':_0x477c01,'updated':!![],'resources':_0x233548,'managementConfirmed':!![],'independentDeploymentVerified':![],'remoteContentVerified':![]},'message':_0x524b9b(0x13a)+_0x477c01+'\x20in\x20menu\x20host\x20'+_0x3a727e+';\x20independent\x20deployment\x20not\x20verified.'};}};
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_0x4c767d=a179_0x4705;function a179_0x2dd7(){const _0x206385=['appCode','Confirm\x20non-interactive\x20sync;\x20without\x20--paths,\x20create\x20all\x20missing\x20local\x20pages','\x20failed.','7NmTbCA','\x20\x20✓\x20Selected:\x20','flag','✓\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform','Online\x20menu\x20list\x20fetched','1525725qUzfIy','appcode','filter','appName','split','\x20\x20Cancelled.','localPages','\x20menu(s)...','No\x20local\x20microfrontend\x20menus\x20would\x20be\x20created.','POST','177432oIsjyT','targetPages','3229czIaIR','gray','\x20and\x20CSS:\x20','Preview\x20with\x20--dry-run,\x20then\x20reuse\x20the\x20same\x20--paths\x20and\x20--params\x20with\x20--yes.','created','\x20local\x20microfrontend\x20menu(s).','232557ayWVyL','!\x20No\x20local\x20pages\x20found\x20in\x20src/pages','params','16GSDWbi','jsUrl','cyan','cookie','/smartapi/menu/create','JSON:\x20{\x22appName\x22:\x22store-app\x22,\x22parentId\x22:42,\x22visible\x22:false};\x20jsUrl\x20and\x20cssUrl\x20remain\x20available\x20for\x20individual\x20menu\x20resources.','cssUrl','8QDLjlw','string','Menu\x20sync\x20skipped','map','size','validation','Tip:\x20For\x20frontend\x20subapps,\x20prefer\x20Agent-planned\x20menu\x20groups\x20and\x20shared\x20resources.\x20This\x20manual\x20sync\x20workflow\x20remains\x20available\x20as\x20a\x20fallback.','paths','failed','Menu\x20sync\x20completed:\x20','message','40jRfzIj','onlineMenuList','Register\x20local\x20pages\x20as\x20platform\x20menus','996UdhvUj','rawFlags','\x20page(s)','Menu\x20creation\x20failed','4773802vKDQPV','trim','5560146fqJlSz','Fetching\x20online\x20menu\x20list...','selectedAppName','Failed\x20to\x20fetch\x20online\x20menu\x20list','9781788ZisUKV','length','\x20created.','\x20\x20Create\x20','\x20menu(s)\x20created','skipped','Non-interactive\x20menu\x20sync\x20requires\x20--yes.','str','\x20menu(s)','write','9gffGgs','menu\x20sync\x20--paths\x20requires\x20--yes\x20for\x20execution.'];a179_0x2dd7=function(){return _0x206385;};return a179_0x2dd7();}(function(_0x90f871,_0x2b6b78){const _0x23cbc5=a179_0x4705,_0x548b28=_0x90f871();while(!![]){try{const _0x5eda66=-parseInt(_0x23cbc5(0x165))/0x1*(-parseInt(_0x23cbc5(0x16e))/0x2)+parseInt(_0x23cbc5(0x197))/0x3*(-parseInt(_0x23cbc5(0x163))/0x4)+parseInt(_0x23cbc5(0x159))/0x5+-parseInt(_0x23cbc5(0x18d))/0x6*(-parseInt(_0x23cbc5(0x19c))/0x7)+-parseInt(_0x23cbc5(0x175))/0x8*(parseInt(_0x23cbc5(0x189))/0x9)+-parseInt(_0x23cbc5(0x180))/0xa*(parseInt(_0x23cbc5(0x187))/0xb)+parseInt(_0x23cbc5(0x183))/0xc*(parseInt(_0x23cbc5(0x16b))/0xd);if(_0x5eda66===_0x2b6b78)break;else _0x548b28['push'](_0x548b28['shift']());}catch(_0x251bf2){_0x548b28['push'](_0x548b28['shift']());}}}(a179_0x2dd7,0xea322));import a179_0x2dd919 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';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';function a179_0x4705(_0x554da9,_0x7dffb6){_0x554da9=_0x554da9-0x156;const _0x2dd712=a179_0x2dd7();let _0x470518=_0x2dd712[_0x554da9];return _0x470518;}import{isInProject}from'../../context.js';import{assertSharedResourcesConfigured}from'../../commands/menu/shared/subapp-assets.js';export const menuSync={'service':'menu','command':'sync','description':a179_0x4c767d(0x182),'risk':a179_0x4c767d(0x196),'flags':[{'name':a179_0x4c767d(0x16d),'type':a179_0x4c767d(0x176),'description':'Prefer\x20appName\x20for\x20shared\x20subapp\x20resources\x20and\x20parentId\x20for\x20planned\x20groups.\x20'+a179_0x4c767d(0x173)},{'name':a179_0x4c767d(0x17c),'type':a179_0x4c767d(0x176),'description':'Exact\x20comma-separated\x20local\x20page\x20paths\x20to\x20sync'},{'name':'yes','type':'boolean','description':a179_0x4c767d(0x19a)}],async 'dryRun'(_0x2ed446){const _0x2dab52=a179_0x4c767d;ensureRunnableContext(_0x2ed446[_0x2dab52(0x184)],_0x2ed446[_0x2dab52(0x18b)]);const _0x1b6589=await runMenuSyncCore(_0x2ed446[_0x2dab52(0x199)],_0x2ed446[_0x2dab52(0x171)],parsePaths(_0x2ed446[_0x2dab52(0x194)](_0x2dab52(0x17c))),_0x2ed446[_0x2dab52(0x194)](_0x2dab52(0x16d)),{'dryRun':!![]});return{'method':_0x2dab52(0x162),'url':_0x2dab52(0x172),'body':_0x1b6589,'description':_0x1b6589[_0x2dab52(0x192)]?_0x2dab52(0x161):'Would\x20create\x20'+_0x1b6589[_0x2dab52(0x164)][_0x2dab52(0x18e)]+_0x2dab52(0x16a)};},async 'execute'(_0x3933ec){const _0xfb56d7=a179_0x4c767d;ensureRunnableContext(_0x3933ec[_0xfb56d7(0x184)],_0x3933ec[_0xfb56d7(0x18b)]);const _0x299fc6=_0x3933ec[_0xfb56d7(0x156)]('yes'),_0x1bbcd4=_0x3933ec[_0xfb56d7(0x194)]('params'),_0x2e7adb=parsePaths(_0x3933ec['str'](_0xfb56d7(0x17c))),_0x144b34=parseMenuSyncParams(_0x1bbcd4);if(_0x299fc6){const _0x1a3704=await runMenuSyncCore(_0x3933ec[_0xfb56d7(0x199)],_0x3933ec['cookie'],_0x2e7adb,_0x1bbcd4);if(_0x1a3704[_0xfb56d7(0x192)]){const _0x31a46c=getLocalPages();_0x31a46c[_0xfb56d7(0x18e)]===0x0?writeCliSideChannelLine(_0xfb56d7(0x16c)):writeCliSideChannelLine(_0xfb56d7(0x157));}else writeCliSideChannelLine('✓\x20Menu\x20sync\x20completed:\x20'+_0x1a3704[_0xfb56d7(0x169)]+_0xfb56d7(0x191));return{'ok':!![],'data':_0x1a3704,'message':_0x1a3704[_0xfb56d7(0x192)]?_0xfb56d7(0x177):_0xfb56d7(0x17e)+_0x1a3704[_0xfb56d7(0x169)]+_0xfb56d7(0x18f)};}if(_0x2e7adb['length']>0x0)throw CliErrors[_0xfb56d7(0x17a)](_0xfb56d7(0x198),_0xfb56d7(0x168));if(!isInteractive()&&_0x1bbcd4)throw CliErrors[_0xfb56d7(0x17a)](_0xfb56d7(0x193),_0xfb56d7(0x168));requireInteractive(),writeCliSideChannelLine(_0xfb56d7(0x17b));const _0x35703c=startSpinner(_0xfb56d7(0x18a));let _0x20db9f,_0x29a3d1,_0x420ffa;try{const _0x5e5bfe=await fetchMenuData(_0x3933ec[_0xfb56d7(0x199)],_0x3933ec[_0xfb56d7(0x171)]);_0x20db9f=_0x5e5bfe[_0xfb56d7(0x15f)],_0x29a3d1=_0x5e5bfe['onlinePaths'],_0x420ffa=_0x5e5bfe[_0xfb56d7(0x181)],stopSpinner(_0x35703c,_0xfb56d7(0x158),!![]);}catch(_0x2be598){stopSpinner(_0x35703c,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0xfb56d7(0x17a)](_0x2be598 instanceof Error?_0x2be598[_0xfb56d7(0x17f)]:_0xfb56d7(0x18c));}if(_0x20db9f[_0xfb56d7(0x18e)]===0x0)return writeCliSideChannelLine(a179_0x2dd919['yellow']('\x20\x20!\x20No\x20local\x20pages\x20found,\x20please\x20create\x20pages\x20first')),{'ok':!![]};const _0x12660f=buildCompareRows(_0x20db9f,_0x29a3d1);writeCliSideChannelLine(renderCompareTable(_0x12660f)),writeCliSideChannelLine('');const _0x3813e8=await selectPages(_0x20db9f,_0x29a3d1);writeCliSideChannelLine(''),writeCliSideChannelLine(a179_0x2dd919[_0xfb56d7(0x170)](_0xfb56d7(0x19d)+_0x3813e8[_0xfb56d7(0x18e)]+_0xfb56d7(0x185)));const _0x9e3a2b=_0x144b34[_0xfb56d7(0x16f)]&&_0x144b34[_0xfb56d7(0x174)];if(!_0x9e3a2b){writeCliSideChannelLine(renderSyncSummary(_0x3813e8,_0x29a3d1[_0xfb56d7(0x179)]>0x0));const _0x3e85ba=await askConfirm('\x20\x20Continue\x20with\x20creation?');if(!_0x3e85ba)return writeCliSideChannelLine(a179_0x2dd919[_0xfb56d7(0x166)](_0xfb56d7(0x15e))),{'ok':!![]};}let _0x59004b=_0x144b34[_0xfb56d7(0x16f)],_0x26eb07=_0x144b34['cssUrl'];!_0x59004b&&!_0x144b34[_0xfb56d7(0x15c)]&&(_0x59004b=await askJsUrl());!_0x26eb07&&!_0x144b34['appName']&&(_0x26eb07=await askCssUrl());const _0x253c6c=await askConfirm(_0x144b34[_0xfb56d7(0x15c)]?_0xfb56d7(0x190)+_0x3813e8[_0xfb56d7(0x18e)]+'\x20menu(s)\x20bound\x20to\x20'+_0x144b34[_0xfb56d7(0x15c)]+'?':_0xfb56d7(0x190)+_0x3813e8[_0xfb56d7(0x18e)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x59004b+_0xfb56d7(0x167)+_0x26eb07+'?');if(!_0x253c6c)return writeCliSideChannelLine(a179_0x2dd919[_0xfb56d7(0x166)](_0xfb56d7(0x15e))),{'ok':!![]};const _0x8ebaf0=[_0x59004b,_0x26eb07]['filter'](_0x1b2693=>Boolean(_0x1b2693));_0x144b34['appName']&&_0x8ebaf0[_0xfb56d7(0x18e)]===0x0&&await assertSharedResourcesConfigured(_0x3933ec[_0xfb56d7(0x199)],_0x3933ec['cookie'],_0x144b34[_0xfb56d7(0x15c)]);const _0x19cb42=startSpinner('Creating\x20'+_0x3813e8[_0xfb56d7(0x18e)]+_0xfb56d7(0x160));try{const _0x40907d=_0x3813e8[_0xfb56d7(0x178)](_0x5e2dd8=>resolvePage(_0x5e2dd8,_0x144b34,_0x420ffa)),_0x148e2e=await doCreateMenus(_0x3933ec[_0xfb56d7(0x199)],_0x3933ec[_0xfb56d7(0x171)],_0x40907d,_0x8ebaf0,_0x144b34['appName']?{'appName':_0x144b34[_0xfb56d7(0x15c)]}:undefined);return stopSpinner(_0x19cb42,'Created\x20'+_0x148e2e['created']+_0xfb56d7(0x195),!![]),{'ok':!![],'data':_0x148e2e,'message':'Menu\x20sync\x20completed:\x20'+_0x148e2e[_0xfb56d7(0x169)]+'\x20created,\x20'+_0x148e2e[_0xfb56d7(0x17d)]+_0xfb56d7(0x19b)};}catch(_0x596c5f){stopSpinner(_0x19cb42,_0xfb56d7(0x186),![]);throw CliErrors['validation'](_0x596c5f instanceof Error?_0x596c5f[_0xfb56d7(0x17f)]:_0xfb56d7(0x186));}}};function ensureRunnableContext(_0x1184db,_0x268275){const _0x5c00da=a179_0x4c767d,_0x1fba04=_0x1184db[_0x5c00da(0x15a)]?String(_0x1184db[_0x5c00da(0x15a)])['trim']():'';if(!isInProject()&&!_0x268275&&!_0x1fba04)throw CliErrors[_0x5c00da(0x17a)]('menu\x20sync\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parsePaths(_0x1f7bf7){const _0x34ebb6=a179_0x4c767d;return[...new Set(_0x1f7bf7[_0x34ebb6(0x15d)](',')[_0x34ebb6(0x178)](_0x2a3a74=>_0x2a3a74[_0x34ebb6(0x188)]())[_0x34ebb6(0x15b)](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))];}