@lovrabet/rabetbase-cli 2.3.16-beta.7 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/README.md +4 -10
  2. package/lib/api/api-doc.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/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/kb/create.js +1 -1
  102. package/lib/commands/kb/delete.js +1 -1
  103. package/lib/commands/kb/detail.js +1 -1
  104. package/lib/commands/kb/index.js +1 -1
  105. package/lib/commands/kb/list.js +1 -1
  106. package/lib/commands/kb/shared.js +1 -1
  107. package/lib/commands/kb/update.js +1 -1
  108. package/lib/commands/logs/index.js +1 -1
  109. package/lib/commands/menu/asset-update.js +1 -1
  110. package/lib/commands/menu/delete.js +1 -1
  111. package/lib/commands/menu/external-link-create.js +1 -1
  112. package/lib/commands/menu/external-link-update.js +1 -1
  113. package/lib/commands/menu/group-create.js +1 -1
  114. package/lib/commands/menu/group-update.js +1 -1
  115. package/lib/commands/menu/index.js +1 -1
  116. package/lib/commands/menu/list.js +1 -1
  117. package/lib/commands/menu/move.js +1 -1
  118. package/lib/commands/menu/regroup-start.js +1 -1
  119. package/lib/commands/menu/rename.js +1 -1
  120. package/lib/commands/menu/shared/compare-table.js +1 -1
  121. package/lib/commands/menu/shared/delete-plan.js +1 -1
  122. package/lib/commands/menu/shared/facts.js +1 -1
  123. package/lib/commands/menu/shared/index.js +1 -1
  124. package/lib/commands/menu/shared/inquirer.js +1 -1
  125. package/lib/commands/menu/shared/local-pages.js +1 -1
  126. package/lib/commands/menu/shared/logic.js +1 -1
  127. package/lib/commands/menu/shared/mutations.js +1 -1
  128. package/lib/commands/menu/shared/service.js +1 -1
  129. package/lib/commands/menu/shared/sync-core.js +1 -1
  130. package/lib/commands/menu/shared/update-core.js +1 -1
  131. package/lib/commands/menu/shared/valid-url.js +1 -1
  132. package/lib/commands/menu/sync.js +1 -1
  133. package/lib/commands/notification/config-list.js +1 -1
  134. package/lib/commands/notification/index.js +1 -1
  135. package/lib/commands/ocr/index.js +1 -1
  136. package/lib/commands/page/generate-start.js +1 -1
  137. package/lib/commands/page/generate-status.js +1 -1
  138. package/lib/commands/page/index.js +1 -1
  139. package/lib/commands/page/pull.js +1 -1
  140. package/lib/commands/page/push.js +1 -1
  141. package/lib/commands/page/react/create.d.ts +2 -0
  142. package/lib/commands/page/react/create.js +1 -0
  143. package/lib/commands/page/react/detail.d.ts +2 -0
  144. package/lib/commands/page/react/detail.js +1 -0
  145. package/lib/commands/page/react/list.d.ts +2 -0
  146. package/lib/commands/page/react/list.js +1 -0
  147. package/lib/commands/page/react/publish.d.ts +2 -0
  148. package/lib/commands/page/react/publish.js +1 -0
  149. package/lib/commands/page/react/shared.d.ts +78 -0
  150. package/lib/commands/page/react/shared.js +1 -0
  151. package/lib/commands/page/react/syntax.d.ts +18 -0
  152. package/lib/commands/page/react/syntax.js +1 -0
  153. package/lib/commands/page/react/template.d.ts +8 -0
  154. package/lib/commands/page/react/template.js +1 -0
  155. package/lib/commands/page/react/update.d.ts +2 -0
  156. package/lib/commands/page/react/update.js +1 -0
  157. package/lib/commands/page/relation-audit.js +1 -1
  158. package/lib/commands/page/restore.js +1 -1
  159. package/lib/commands/page/shared.d.ts +1 -0
  160. package/lib/commands/page/shared.js +1 -1
  161. package/lib/commands/page/standard-page-status.js +1 -1
  162. package/lib/commands/page/sync.js +1 -1
  163. package/lib/commands/permit/index.js +1 -1
  164. package/lib/commands/permit/page-get.js +1 -1
  165. package/lib/commands/permit/page-set.js +1 -1
  166. package/lib/commands/permit/role-apis-set.js +1 -1
  167. package/lib/commands/permit/role-menus-set.js +1 -1
  168. package/lib/commands/permit/role-menus.js +1 -1
  169. package/lib/commands/permit/shared.js +1 -1
  170. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  171. package/lib/commands/project/create/format-elapsed.js +1 -1
  172. package/lib/commands/project/create/main.js +1 -1
  173. package/lib/commands/project/create/non-interactive.js +1 -1
  174. package/lib/commands/project/create/project-template-path.js +1 -1
  175. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  176. package/lib/commands/project/create/use-format-code.js +1 -1
  177. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  178. package/lib/commands/project/index.js +1 -1
  179. package/lib/commands/project/upgrade.js +1 -1
  180. package/lib/commands/registry.js +1 -1
  181. package/lib/commands/role/create.js +1 -1
  182. package/lib/commands/role/delete.js +1 -1
  183. package/lib/commands/role/detail.js +1 -1
  184. package/lib/commands/role/index.js +1 -1
  185. package/lib/commands/role/list.js +1 -1
  186. package/lib/commands/role/shared.js +1 -1
  187. package/lib/commands/role/update.js +1 -1
  188. package/lib/commands/role/user-add.js +1 -1
  189. package/lib/commands/role/user-remove.js +1 -1
  190. package/lib/commands/role/user-resolve.js +1 -1
  191. package/lib/commands/run/index.js +1 -1
  192. package/lib/commands/schema.js +1 -1
  193. package/lib/commands/sql/create.js +1 -1
  194. package/lib/commands/sql/delete.js +1 -1
  195. package/lib/commands/sql/detail.js +1 -1
  196. package/lib/commands/sql/exec.js +1 -1
  197. package/lib/commands/sql/index.js +1 -1
  198. package/lib/commands/sql/list.js +1 -1
  199. package/lib/commands/sql/pull.js +1 -1
  200. package/lib/commands/sql/push.js +1 -1
  201. package/lib/commands/sql/shared.js +1 -1
  202. package/lib/commands/sql/status.js +1 -1
  203. package/lib/commands/sql/validate.js +1 -1
  204. package/lib/commands/task/index.js +1 -1
  205. package/lib/commands/task/status.js +1 -1
  206. package/lib/commands/tenant/index.js +1 -1
  207. package/lib/commands/tenant/members-list.js +1 -1
  208. package/lib/commands/tenant/shared.js +1 -1
  209. package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
  210. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
  211. package/lib/commands/user-account/index.d.ts +2 -0
  212. package/lib/commands/user-account/index.js +1 -0
  213. package/lib/commands/workspace/add.js +1 -1
  214. package/lib/commands/workspace/index.js +1 -1
  215. package/lib/commands/workspace/remove.js +1 -1
  216. package/lib/config/schema.js +1 -1
  217. package/lib/constant/cdn.js +1 -1
  218. package/lib/constant/cli.js +1 -1
  219. package/lib/constant/defaults.js +1 -1
  220. package/lib/constant/domain.js +1 -1
  221. package/lib/constant/env.js +1 -1
  222. package/lib/constant/output.js +1 -1
  223. package/lib/constant/paths.js +1 -1
  224. package/lib/constant/risk.js +1 -1
  225. package/lib/context/app-resolver.js +1 -1
  226. package/lib/context/auth-resolver.js +1 -1
  227. package/lib/context/config-loader.js +1 -1
  228. package/lib/context.js +1 -1
  229. package/lib/core/alias-resolver.js +1 -1
  230. package/lib/core/api-client.d.ts +117 -0
  231. package/lib/core/api-client.js +1 -1
  232. package/lib/core/bff/config.js +1 -1
  233. package/lib/core/bff/file-system.js +1 -1
  234. package/lib/core/bff/hash.js +1 -1
  235. package/lib/core/bff/lock.js +1 -1
  236. package/lib/core/bff/utils.js +1 -1
  237. package/lib/core/db-resolver.js +1 -1
  238. package/lib/core/page/file-system.js +1 -1
  239. package/lib/core/page/hash.js +1 -1
  240. package/lib/core/page/lock.js +1 -1
  241. package/lib/core/sql-index-auditor.js +1 -1
  242. package/lib/core/sql-sync/config.js +1 -1
  243. package/lib/core/sql-sync/file-system.js +1 -1
  244. package/lib/core/sql-sync/hash.js +1 -1
  245. package/lib/core/sql-sync/lock.js +1 -1
  246. package/lib/core/sql-sync/utils.js +1 -1
  247. package/lib/core/sql-validator.js +1 -1
  248. package/lib/errors.js +1 -1
  249. package/lib/framework/build-all-flags.js +1 -1
  250. package/lib/framework/error-output.js +1 -1
  251. package/lib/framework/explicit-yes.js +1 -1
  252. package/lib/framework/flags.js +1 -1
  253. package/lib/framework/help.js +1 -1
  254. package/lib/framework/index.js +1 -1
  255. package/lib/framework/output.js +1 -1
  256. package/lib/framework/response.js +1 -1
  257. package/lib/framework/runner-alias.js +1 -1
  258. package/lib/framework/runner.js +1 -1
  259. package/lib/framework/schema-export.js +1 -1
  260. package/lib/framework/types.js +1 -1
  261. package/lib/generated/build-info.d.ts +4 -4
  262. package/lib/generated/build-info.js +1 -1
  263. package/lib/help.js +1 -1
  264. package/lib/postinstall.d.ts +3 -0
  265. package/lib/postinstall.js +1 -0
  266. package/lib/runtime/confirmation.js +1 -1
  267. package/lib/runtime/event.js +1 -1
  268. package/lib/runtime/index.js +1 -1
  269. package/lib/runtime/queue.js +1 -1
  270. package/lib/runtime/resolve.js +1 -1
  271. package/lib/skills/builtin-skill.d.ts +37 -0
  272. package/lib/skills/builtin-skill.js +1 -0
  273. package/lib/skills/main.js +1 -1
  274. package/lib/skills/npx-skills-add.d.ts +4 -2
  275. package/lib/skills/npx-skills-add.js +1 -1
  276. package/lib/skills/skill-presence.js +1 -1
  277. package/lib/telemetry/cli-command-trace.js +1 -1
  278. package/lib/telemetry/cli-help-trace.js +1 -1
  279. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  280. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  281. package/lib/telemetry/send-cli-trace-log.js +1 -1
  282. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  283. package/lib/utils/ai_config.js +1 -1
  284. package/lib/utils/apply-jq-filter.js +1 -1
  285. package/lib/utils/cdn-config.js +1 -1
  286. package/lib/utils/check-sdk-version.js +1 -1
  287. package/lib/utils/cli-version-check.js +1 -1
  288. package/lib/utils/cli-version-policy.js +1 -1
  289. package/lib/utils/config.js +1 -1
  290. package/lib/utils/copy-directory.js +1 -1
  291. package/lib/utils/entity-with-id.js +1 -1
  292. package/lib/utils/file-utils.js +1 -1
  293. package/lib/utils/guides-cdn.js +1 -1
  294. package/lib/utils/http-client.js +1 -1
  295. package/lib/utils/is-non-interactive.js +1 -1
  296. package/lib/utils/logger.js +1 -1
  297. package/lib/utils/params.js +1 -1
  298. package/lib/utils/platform.js +1 -1
  299. package/lib/utils/rules-cdn.js +1 -1
  300. package/lib/utils/sleep.js +1 -1
  301. package/lib/utils/template-replacer.js +1 -1
  302. package/lib/utils/update-notice.js +1 -1
  303. package/lib/utils/version.js +1 -1
  304. package/lib/utils/with-active-cookie.js +1 -1
  305. package/lib/utils/write-cli-side-channel.js +1 -1
  306. package/package.json +9 -3
  307. package/scripts/postinstall.mjs +24 -0
  308. package/skills/rabetbase/SKILL.md +493 -0
  309. package/skills/rabetbase/guides/backend-function.md +835 -0
  310. package/skills/rabetbase/guides/best-practices.md +137 -0
  311. package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
  312. package/skills/rabetbase/guides/conflict-detection.md +119 -0
  313. package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
  314. package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
  315. package/skills/rabetbase/guides/frontend-development.md +179 -0
  316. package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
  317. package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
  318. package/skills/rabetbase/guides/page-development-workflow.md +187 -0
  319. package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
  320. package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
  321. package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
  322. package/skills/rabetbase/guides/sql-mybatis.md +126 -0
  323. package/skills/rabetbase/guides/troubleshooting.md +67 -0
  324. package/skills/rabetbase/guides/typescript-sdk.md +227 -0
  325. package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
  326. package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
  327. package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
  328. package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
  329. package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
  330. package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
  331. package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
  332. package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
  333. package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
  334. package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
  335. package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
  336. package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
  337. package/skills/rabetbase/knowledge/react-page/components.md +225 -0
  338. package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
  339. package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
  340. package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
  341. package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
  342. package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
  343. package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
  344. package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
  345. package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
  346. package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
  347. package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
  348. package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
  349. package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
  350. package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
  351. package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
  352. package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
  353. package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
  354. package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
  355. package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
  356. package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
  357. package/skills/rabetbase/references/rabetbase-config.md +296 -0
  358. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
  359. package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
  360. package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
  361. package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
  362. package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
  363. package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
  364. package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
  365. package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
  366. package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
  367. package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
  368. package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
  369. package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
  370. package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
  371. package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
  372. package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
  373. package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
  374. package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
  375. package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
  376. package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
  377. package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
  378. package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
  379. package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
  380. package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
  381. package/skills/rabetbase/references/rabetbase-file.md +35 -0
  382. package/skills/rabetbase/references/rabetbase-init.md +70 -0
  383. package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
  384. package/skills/rabetbase/references/rabetbase-kb.md +62 -0
  385. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
  386. package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
  387. package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
  388. package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
  389. package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
  390. package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
  391. package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
  392. package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
  393. package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
  394. package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
  395. package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
  396. package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
  397. package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
  398. package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
  399. package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
  400. package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
  401. package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
  402. package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
  403. package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
  404. package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
  405. package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
  406. package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
  407. package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
  408. package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
  409. package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
  410. package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
  411. package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
  412. package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
  413. package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
  414. package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
  415. package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
  416. package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
  417. package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
  418. package/skills/rabetbase/references/rabetbase-run.md +53 -0
  419. package/skills/rabetbase/references/rabetbase-schema.md +22 -0
  420. package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
  421. package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
  422. package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
  423. package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
  424. package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
  425. package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
  426. package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
  427. package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
  428. package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
  429. package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
  430. package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
  431. package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
  432. package/skills/rabetbase/references/rabetbase-update.md +56 -0
  433. package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
  434. package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
  435. package/skills/rabetbase.manifest.json +137 -0
@@ -1 +1 @@
1
- function a135_0x4b39(){const _0x1196fd=['message','102uGqaNu','fieldCount','currentStep','appCode','99316cNfVyg','clientOperationId','apply','20NDYlQM','code','page','allowGenerate','related-pages-fallback','316055HakvEv','generate-start','string','precheck','write','SUCCESS','Dry-run\x20preview\x20(pass\x20--apply\x20to\x20execute\x20the\x20generation)','manualResolutionRequired','bool','3960jjvquw','Start\x20async\x20Smart\x20List\x20Page\x20generation\x20from\x20a\x20dataset','status','504372wEGLEY','/generate-standard-pages/start','dataset','684816pdFWzP','compress','reused','nextAction','source','operationId','alias','progressRate','50IfRcLH','name','standardPageStatus','3807190dmeBwa','/smartapi/lovrabet/dataset/','26664NyMIQN','81vzlubk','POST'];a135_0x4b39=function(){return _0x1196fd;};return a135_0x4b39();}const a135_0x3af6de=a135_0x4b76;function a135_0x4b76(_0x622e6,_0x59ce83){_0x622e6=_0x622e6-0x14c;const _0x4b39ad=a135_0x4b39();let _0x4b76ea=_0x4b39ad[_0x622e6];return _0x4b76ea;}(function(_0x4147c5,_0x43525c){const _0x20144d=a135_0x4b76,_0x2058da=_0x4147c5();while(!![]){try{const _0x1e9e0a=parseInt(_0x20144d(0x162))/0x1*(-parseInt(_0x20144d(0x170))/0x2)+parseInt(_0x20144d(0x168))/0x3+parseInt(_0x20144d(0x154))/0x4*(parseInt(_0x20144d(0x159))/0x5)+parseInt(_0x20144d(0x14d))/0x6*(parseInt(_0x20144d(0x151))/0x7)+-parseInt(_0x20144d(0x175))/0x8*(parseInt(_0x20144d(0x176))/0x9)+-parseInt(_0x20144d(0x173))/0xa+-parseInt(_0x20144d(0x165))/0xb;if(_0x1e9e0a===_0x43525c)break;else _0x2058da['push'](_0x2058da['shift']());}catch(_0x132321){_0x2058da['push'](_0x2058da['shift']());}}}(a135_0x4b39,0x38243));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,assessStandardPageState,buildPageGenerateOperationStatusQueryCommand,buildStandardPageStatusQueryCommand,createPageGenerateClientOperationId,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{startGenerateStandardPages}from'../../core/api-client.js';export const pageGenerateStart={'service':a135_0x3af6de(0x156),'command':a135_0x3af6de(0x15a),'description':a135_0x3af6de(0x163),'risk':a135_0x3af6de(0x15d),'defaultOutputFormat':a135_0x3af6de(0x169),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a135_0x3af6de(0x16e),'type':a135_0x3af6de(0x15b),'description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'},{'name':a135_0x3af6de(0x153),'type':'boolean','description':'Actually\x20execute\x20the\x20generation.\x20Without\x20this\x20flag,\x20only\x20a\x20dry-run\x20preview\x20is\x20shown.'}],async 'validate'(_0x1b0495){validateDatasetSelector(_0x1b0495);},async 'dryRun'(_0x3f6c82){const _0x8476dd=a135_0x3af6de,_0x1886d7=await prepare(_0x3f6c82);return{'method':_0x8476dd(0x177),'url':_0x8476dd(0x174)+_0x1886d7[_0x8476dd(0x167)][_0x8476dd(0x155)]+_0x8476dd(0x166),'body':{'appCode':_0x3f6c82['appCode'],'clientOperationId':_0x1886d7[_0x8476dd(0x152)]},'description':serializeDryRunDescription({'dataset':{'id':_0x1886d7['dataset']['id'],'code':_0x1886d7[_0x8476dd(0x167)][_0x8476dd(0x155)],'name':_0x1886d7['dataset'][_0x8476dd(0x171)],'fieldCount':_0x1886d7['dataset'][_0x8476dd(0x14e)]},'precheckSource':_0x1886d7[_0x8476dd(0x172)]?.['source']??_0x8476dd(0x158),'action':_0x8476dd(0x15a),'clientOperationId':_0x1886d7['clientOperationId'],'plannedStatus':_0x1886d7[_0x8476dd(0x15c)][_0x8476dd(0x164)],'reason':_0x1886d7[_0x8476dd(0x15c)][_0x8476dd(0x14c)]})};},async 'execute'(_0x55f25a){const _0x56a466=a135_0x3af6de;if(!_0x55f25a[_0x56a466(0x161)](_0x56a466(0x153))){const _0x58f0bf=await pageGenerateStart['dryRun'](_0x55f25a);return{'ok':!![],'message':_0x56a466(0x15f),'data':_0x58f0bf};}const _0x3fa754=await prepare(_0x55f25a);if(!_0x3fa754[_0x56a466(0x15c)][_0x56a466(0x157)])return{'ok':![],'message':_0x3fa754[_0x56a466(0x15c)][_0x56a466(0x14c)],'data':{'datasetCode':_0x3fa754['dataset'][_0x56a466(0x155)],'clientOperationId':_0x3fa754[_0x56a466(0x152)],'precheckSource':_0x3fa754['standardPageStatus']?.[_0x56a466(0x16c)]??_0x56a466(0x158),'status':_0x3fa754['precheck'][_0x56a466(0x164)],'manualResolutionRequired':_0x3fa754[_0x56a466(0x15c)][_0x56a466(0x160)],'nextAction':_0x3fa754[_0x56a466(0x15c)][_0x56a466(0x16b)],'query':{'command':buildStandardPageStatusQueryCommand(_0x3fa754[_0x56a466(0x167)][_0x56a466(0x155)],_0x55f25a[_0x56a466(0x150)])},'standardPageStatus':_0x3fa754[_0x56a466(0x172)]}};const _0xbe8962=await startGenerateStandardPages(_0x55f25a['appCode'],_0x3fa754['dataset']['code'],{'clientOperationId':_0x3fa754[_0x56a466(0x152)]}),_0x1a1476=_0xbe8962[_0x56a466(0x164)]===_0x56a466(0x15e)||_0xbe8962[_0x56a466(0x164)]==='PARTIAL_SUCCESS'?await loadStandardPageStatusForGenerate(_0x55f25a,_0x3fa754[_0x56a466(0x167)]['code']):null,_0x5e6971=assessGenerateOperationState(_0x3fa754[_0x56a466(0x167)][_0x56a466(0x155)],_0xbe8962[_0x56a466(0x164)],_0x1a1476);return{'ok':!![],'message':_0xbe8962[_0x56a466(0x16a)]?'复用已有生成任务':'已提交生成任务','data':{'datasetCode':_0x3fa754[_0x56a466(0x167)][_0x56a466(0x155)],'appCode':_0x55f25a[_0x56a466(0x150)],'operationId':_0xbe8962[_0x56a466(0x16d)]??null,'clientOperationId':_0x3fa754[_0x56a466(0x152)],'jobStatus':_0xbe8962[_0x56a466(0x164)]??null,'progressRate':typeof _0xbe8962['progressRate']==='number'?_0xbe8962[_0x56a466(0x16f)]:null,'currentStep':_0xbe8962[_0x56a466(0x14f)]??null,'reused':_0xbe8962[_0x56a466(0x16a)]===!![],'status':_0x5e6971[_0x56a466(0x164)],'manualResolutionRequired':_0x5e6971[_0x56a466(0x160)],'nextAction':_0x5e6971[_0x56a466(0x16b)],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x3fa754[_0x56a466(0x167)]['code'],{'appCode':_0x55f25a[_0x56a466(0x150)],'operationId':_0xbe8962[_0x56a466(0x16d)],'clientOperationId':_0x3fa754['clientOperationId']})},'standardPageStatus':_0x1a1476}};}};async function prepare(_0x2f6198){const _0x80bfdf=a135_0x3af6de,_0xf04fa4=await loadDatasetDetailForPage(_0x2f6198),_0x2620f0=await loadStandardPageStatusForGenerate(_0x2f6198,_0xf04fa4[_0x80bfdf(0x155)]),_0x257d3c=getUndeletedRelatedPages(_0xf04fa4);return{'dataset':_0xf04fa4,'standardPageStatus':_0x2620f0,'clientOperationId':createPageGenerateClientOperationId(),'precheck':assessStandardPageState(_0xf04fa4[_0x80bfdf(0x155)],_0x2620f0,{'fallbackUndeletedPages':_0x257d3c})};}
1
+ const a135_0x505e1f=a135_0x2c60;(function(_0x3ee71b,_0x1b7737){const _0x58f986=a135_0x2c60,_0x2134b0=_0x3ee71b();while(!![]){try{const _0x4b1394=parseInt(_0x58f986(0x120))/0x1*(parseInt(_0x58f986(0x114))/0x2)+-parseInt(_0x58f986(0x122))/0x3+-parseInt(_0x58f986(0x12d))/0x4*(parseInt(_0x58f986(0x108))/0x5)+parseInt(_0x58f986(0x104))/0x6*(parseInt(_0x58f986(0x112))/0x7)+parseInt(_0x58f986(0x125))/0x8*(-parseInt(_0x58f986(0x107))/0x9)+parseInt(_0x58f986(0x12c))/0xa*(-parseInt(_0x58f986(0x11c))/0xb)+parseInt(_0x58f986(0x121))/0xc*(parseInt(_0x58f986(0x12b))/0xd);if(_0x4b1394===_0x1b7737)break;else _0x2134b0['push'](_0x2134b0['shift']());}catch(_0x3991c){_0x2134b0['push'](_0x2134b0['shift']());}}}(a135_0x1674,0x4d986));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,assessStandardPageState,buildPageGenerateOperationStatusQueryCommand,buildStandardPageStatusQueryCommand,createPageGenerateClientOperationId,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{startGenerateStandardPages}from'../../core/api-client.js';function a135_0x2c60(_0x5d5e,_0x539ec3){_0x5d5e=_0x5d5e-0x103;const _0x1674bb=a135_0x1674();let _0x2c60d4=_0x1674bb[_0x5d5e];return _0x2c60d4;}export const pageGenerateStart={'service':a135_0x505e1f(0x10a),'command':a135_0x505e1f(0x124),'description':'Start\x20async\x20Smart\x20List\x20Page\x20generation\x20from\x20a\x20dataset','risk':a135_0x505e1f(0x11e),'defaultOutputFormat':a135_0x505e1f(0x116),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':'string','description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'},{'name':a135_0x505e1f(0x103),'type':a135_0x505e1f(0x12a),'description':a135_0x505e1f(0x115)}],async 'validate'(_0x45bf55){validateDatasetSelector(_0x45bf55);},async 'dryRun'(_0x415e58){const _0x96d76e=a135_0x505e1f,_0x8673ca=await prepare(_0x415e58);return{'method':'POST','url':_0x96d76e(0x12e)+_0x8673ca[_0x96d76e(0x10b)]['code']+'/generate-standard-pages/start','body':{'appCode':_0x415e58['appCode'],'clientOperationId':_0x8673ca[_0x96d76e(0x10e)]},'description':serializeDryRunDescription({'dataset':{'id':_0x8673ca['dataset']['id'],'code':_0x8673ca[_0x96d76e(0x10b)]['code'],'name':_0x8673ca[_0x96d76e(0x10b)]['name'],'fieldCount':_0x8673ca[_0x96d76e(0x10b)][_0x96d76e(0x123)]},'precheckSource':_0x8673ca['standardPageStatus']?.[_0x96d76e(0x113)]??_0x96d76e(0x106),'action':_0x96d76e(0x124),'clientOperationId':_0x8673ca[_0x96d76e(0x10e)],'plannedStatus':_0x8673ca[_0x96d76e(0x117)][_0x96d76e(0x10d)],'reason':_0x8673ca[_0x96d76e(0x117)][_0x96d76e(0x11d)]})};},async 'execute'(_0x558d54){const _0x370b18=a135_0x505e1f;if(!_0x558d54[_0x370b18(0x118)](_0x370b18(0x103))){const _0x2c521a=await pageGenerateStart[_0x370b18(0x10f)](_0x558d54);return{'ok':!![],'message':_0x370b18(0x119),'data':_0x2c521a};}const _0x241f8d=await prepare(_0x558d54);if(!_0x241f8d[_0x370b18(0x117)]['allowGenerate'])return{'ok':![],'message':_0x241f8d[_0x370b18(0x117)][_0x370b18(0x11d)],'data':{'datasetCode':_0x241f8d[_0x370b18(0x10b)][_0x370b18(0x127)],'clientOperationId':_0x241f8d[_0x370b18(0x10e)],'precheckSource':_0x241f8d[_0x370b18(0x129)]?.[_0x370b18(0x113)]??_0x370b18(0x106),'status':_0x241f8d['precheck']['status'],'manualResolutionRequired':_0x241f8d[_0x370b18(0x117)][_0x370b18(0x109)],'nextAction':_0x241f8d[_0x370b18(0x117)]['nextAction'],'query':{'command':buildStandardPageStatusQueryCommand(_0x241f8d[_0x370b18(0x10b)][_0x370b18(0x127)],_0x558d54[_0x370b18(0x105)])},'standardPageStatus':_0x241f8d[_0x370b18(0x129)]}};const _0x3422ab=await startGenerateStandardPages(_0x558d54['appCode'],_0x241f8d['dataset'][_0x370b18(0x127)],{'clientOperationId':_0x241f8d['clientOperationId']}),_0xae17e3=_0x3422ab['status']===_0x370b18(0x126)||_0x3422ab[_0x370b18(0x10d)]===_0x370b18(0x12f)?await loadStandardPageStatusForGenerate(_0x558d54,_0x241f8d[_0x370b18(0x10b)][_0x370b18(0x127)]):null,_0x22a7be=assessGenerateOperationState(_0x241f8d[_0x370b18(0x10b)]['code'],_0x3422ab[_0x370b18(0x10d)],_0xae17e3);return{'ok':!![],'message':_0x3422ab[_0x370b18(0x110)]?'复用已有生成任务':_0x370b18(0x11a),'data':{'datasetCode':_0x241f8d[_0x370b18(0x10b)]['code'],'appCode':_0x558d54[_0x370b18(0x105)],'taskId':_0x3422ab['taskId']??null,'operationId':_0x3422ab[_0x370b18(0x128)]??null,'clientOperationId':_0x241f8d['clientOperationId'],'jobStatus':_0x3422ab[_0x370b18(0x10d)]??null,'progressRate':typeof _0x3422ab['progressRate']===_0x370b18(0x11f)?_0x3422ab[_0x370b18(0x130)]:null,'currentStep':_0x3422ab[_0x370b18(0x111)]??null,'reused':_0x3422ab[_0x370b18(0x110)]===!![],'status':_0x22a7be[_0x370b18(0x10d)],'manualResolutionRequired':_0x22a7be[_0x370b18(0x109)],'nextAction':_0x22a7be[_0x370b18(0x11b)],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x241f8d[_0x370b18(0x10b)][_0x370b18(0x127)],{'appCode':_0x558d54[_0x370b18(0x105)],'taskId':_0x3422ab[_0x370b18(0x10c)],'operationId':_0x3422ab[_0x370b18(0x128)],'clientOperationId':_0x241f8d[_0x370b18(0x10e)]})},'standardPageStatus':_0xae17e3}};}};async function prepare(_0x2ca042){const _0x3ff950=a135_0x505e1f,_0x58b396=await loadDatasetDetailForPage(_0x2ca042),_0x593936=await loadStandardPageStatusForGenerate(_0x2ca042,_0x58b396[_0x3ff950(0x127)]),_0x348021=getUndeletedRelatedPages(_0x58b396);return{'dataset':_0x58b396,'standardPageStatus':_0x593936,'clientOperationId':createPageGenerateClientOperationId(),'precheck':assessStandardPageState(_0x58b396[_0x3ff950(0x127)],_0x593936,{'fallbackUndeletedPages':_0x348021})};}function a135_0x1674(){const _0x4ee044=['message','write','number','118901Cfwcxr','24tmXaHc','152346rwTyZl','fieldCount','generate-start','122288HNTlWH','SUCCESS','code','operationId','standardPageStatus','boolean','2018003cVtwZO','4771090ZlqvTq','2616JAyyGp','/smartapi/lovrabet/dataset/','PARTIAL_SUCCESS','progressRate','apply','18wcLwCB','appCode','related-pages-fallback','18JVcdUR','2100JfhlGp','manualResolutionRequired','page','dataset','taskId','status','clientOperationId','dryRun','reused','currentStep','1406321qNXLEH','source','4ZtREHd','Actually\x20execute\x20the\x20generation.\x20Without\x20this\x20flag,\x20only\x20a\x20dry-run\x20preview\x20is\x20shown.','compress','precheck','bool','Dry-run\x20preview\x20(pass\x20--apply\x20to\x20execute\x20the\x20generation)','已提交生成任务','nextAction','11vddBHk'];a135_0x1674=function(){return _0x4ee044;};return a135_0x1674();}
@@ -1 +1 @@
1
- const a136_0x3490c2=a136_0x4dc8;(function(_0x324f30,_0x595d9a){const _0x22c3d1=a136_0x4dc8,_0x48d28e=_0x324f30();while(!![]){try{const _0x1f4402=parseInt(_0x22c3d1(0x14d))/0x1+parseInt(_0x22c3d1(0x155))/0x2+-parseInt(_0x22c3d1(0x159))/0x3+-parseInt(_0x22c3d1(0x156))/0x4*(parseInt(_0x22c3d1(0x16f))/0x5)+parseInt(_0x22c3d1(0x165))/0x6*(parseInt(_0x22c3d1(0x152))/0x7)+parseInt(_0x22c3d1(0x169))/0x8+-parseInt(_0x22c3d1(0x167))/0x9;if(_0x1f4402===_0x595d9a)break;else _0x48d28e['push'](_0x48d28e['shift']());}catch(_0x1d710a){_0x48d28e['push'](_0x48d28e['shift']());}}}(a136_0x7041,0x21f91));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,buildPageGenerateOperationStatusQueryCommand,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector,validateGenerateOperationSelector}from'../../commands/page/shared.js';function a136_0x4dc8(_0x328aa7,_0x573ce7){_0x328aa7=_0x328aa7-0x14d;const _0x7041c1=a136_0x7041();let _0x4dc8da=_0x7041c1[_0x328aa7];return _0x4dc8da;}function a136_0x7041(){const _0x11d0d6=['3136GiQuol','Client\x20recovery/idempotency\x20id\x20when\x20operationId\x20is\x20unavailable\x20or\x20lost','code','584688LzxXMk','operation_failed','operation-id','client-operation-id','toString','query-generate-operation-status','read','message','generate-status','progressRate','GET','alias','832614syGlvE','name','3091068OFKdbm','Async\x20operation\x20id\x20returned\x20by\x20page\x20generate-start','2038752PXrqHk','/generate-standard-pages/status?','str','set','operationId','Query\x20Smart\x20List\x20Page\x20generate\x20operation\x20status','5lWZfNf','manualResolutionRequired','/smartapi/lovrabet/dataset/','string','result','233916xolfwr','currentStep','appCode','status','page','7OoHegH','clientOperationId','errorMsg','101512RjPrLa'];a136_0x7041=function(){return _0x11d0d6;};return a136_0x7041();}import{getGenerateStandardPagesStatus}from'../../core/api-client.js';export const pageGenerateStatus={'service':a136_0x3490c2(0x151),'command':a136_0x3490c2(0x161),'description':a136_0x3490c2(0x16e),'risk':a136_0x3490c2(0x15f),'defaultOutputFormat':'compress','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a136_0x3490c2(0x164),'type':a136_0x3490c2(0x172),'description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'},{'name':a136_0x3490c2(0x15b),'type':a136_0x3490c2(0x172),'description':a136_0x3490c2(0x168)},{'name':a136_0x3490c2(0x15c),'type':a136_0x3490c2(0x172),'description':a136_0x3490c2(0x157)}],async 'validate'(_0x18742a){validateDatasetSelector(_0x18742a),validateGenerateOperationSelector(_0x18742a);},async 'dryRun'(_0x4e1e86){const _0x24952e=a136_0x3490c2,_0x42d7ee=await loadDatasetDetailForPage(_0x4e1e86),_0x3fd1d5=_0x4e1e86['str']('operation-id'),_0x5b5f72=_0x4e1e86['str'](_0x24952e(0x15c)),_0x1e88fc=new URLSearchParams({'appCode':_0x4e1e86['appCode']});return _0x3fd1d5&&_0x1e88fc[_0x24952e(0x16c)]('operationId',_0x3fd1d5),_0x5b5f72&&_0x1e88fc[_0x24952e(0x16c)]('clientOperationId',_0x5b5f72),{'method':_0x24952e(0x163),'url':_0x24952e(0x171)+_0x42d7ee['code']+_0x24952e(0x16a)+_0x1e88fc[_0x24952e(0x15d)](),'description':serializeDryRunDescription({'dataset':{'id':_0x42d7ee['id'],'code':_0x42d7ee[_0x24952e(0x158)],'name':_0x42d7ee[_0x24952e(0x166)]},'action':_0x24952e(0x15e),'operationId':_0x3fd1d5||undefined,'clientOperationId':_0x5b5f72||undefined})};},async 'execute'(_0x2fa2ac){const _0x105ad9=a136_0x3490c2,_0x59bedf=await loadDatasetDetailForPage(_0x2fa2ac),_0x3e2ae2=_0x2fa2ac['str'](_0x105ad9(0x15b)),_0x4f42be=_0x2fa2ac[_0x105ad9(0x16b)](_0x105ad9(0x15c)),_0x21be30=await getGenerateStandardPagesStatus(_0x2fa2ac[_0x105ad9(0x14f)],_0x59bedf[_0x105ad9(0x158)],{'operationId':_0x3e2ae2||undefined,'clientOperationId':_0x4f42be||undefined}),_0x14eacc=_0x21be30[_0x105ad9(0x150)]==='SUCCESS'||_0x21be30[_0x105ad9(0x150)]==='PARTIAL_SUCCESS',_0x1ee089=_0x14eacc?await loadStandardPageStatusForGenerate(_0x2fa2ac,_0x59bedf['code']):null,_0x246306=assessGenerateOperationState(_0x59bedf[_0x105ad9(0x158)],_0x21be30[_0x105ad9(0x150)],_0x1ee089),_0x5258b4=_0x21be30[_0x105ad9(0x16d)]??_0x3e2ae2??undefined,_0x37cd8a=_0x21be30[_0x105ad9(0x153)]??_0x4f42be??undefined;return{'ok':!![],'message':_0x246306[_0x105ad9(0x150)]===_0x105ad9(0x15a)?_0x21be30[_0x105ad9(0x154)]||_0x246306[_0x105ad9(0x160)]:_0x246306['message'],'data':{'datasetCode':_0x59bedf[_0x105ad9(0x158)],'appCode':_0x2fa2ac['appCode'],'operationId':_0x5258b4,'clientOperationId':_0x37cd8a,'jobStatus':_0x21be30[_0x105ad9(0x150)]??null,'progressRate':typeof _0x21be30['progressRate']==='number'?_0x21be30[_0x105ad9(0x162)]:null,'currentStep':_0x21be30[_0x105ad9(0x14e)]??null,'errorMsg':_0x21be30[_0x105ad9(0x154)]??null,'status':_0x246306['status'],'manualResolutionRequired':_0x246306[_0x105ad9(0x170)],'nextAction':_0x246306['nextAction'],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x59bedf[_0x105ad9(0x158)],{'appCode':_0x2fa2ac[_0x105ad9(0x14f)],'operationId':_0x5258b4,'clientOperationId':_0x37cd8a})},'standardPageStatus':_0x1ee089,'result':_0x21be30[_0x105ad9(0x173)]??null}};}};
1
+ function a136_0x51a5(_0x18c472,_0x5483be){_0x18c472=_0x18c472-0x1e3;const _0x2edde0=a136_0x2edd();let _0x51a5a7=_0x2edde0[_0x18c472];return _0x51a5a7;}const a136_0x22788c=a136_0x51a5;(function(_0x1a3f61,_0x430860){const _0x5f09d0=a136_0x51a5,_0x440ea9=_0x1a3f61();while(!![]){try{const _0x5ba886=parseInt(_0x5f09d0(0x1ea))/0x1+-parseInt(_0x5f09d0(0x20a))/0x2+-parseInt(_0x5f09d0(0x1ed))/0x3*(parseInt(_0x5f09d0(0x20d))/0x4)+-parseInt(_0x5f09d0(0x1fb))/0x5+parseInt(_0x5f09d0(0x20b))/0x6*(-parseInt(_0x5f09d0(0x206))/0x7)+-parseInt(_0x5f09d0(0x200))/0x8*(-parseInt(_0x5f09d0(0x1e7))/0x9)+parseInt(_0x5f09d0(0x1e8))/0xa*(parseInt(_0x5f09d0(0x20f))/0xb);if(_0x5ba886===_0x430860)break;else _0x440ea9['push'](_0x440ea9['shift']());}catch(_0x6ce3a1){_0x440ea9['push'](_0x440ea9['shift']());}}}(a136_0x2edd,0x52c6b));function a136_0x2edd(){const _0xc1835d=['errorMsg','GET','set','toString','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','1709397SPcNAs','7132930bgoZzE','query-generate-operation-status','29983qDdALu','message','manualResolutionRequired','14427IaIqxO','status','operationId','task-id','nextAction','name','str','client-operation-id','/smartapi/lovrabet/dataset/','PARTIAL_SUCCESS','alias','result','taskId','operation_failed','2725320XoeQgv','clientOperationId','number','appCode','operation-id','8cAqJNo','Generic\x20task\x20id\x20returned\x20by\x20page\x20generate-start','progressRate','compress','Async\x20operation\x20id\x20returned\x20by\x20page\x20generate-start','Query\x20Smart\x20List\x20Page\x20generate\x20operation\x20status','6412YJyIkU','SUCCESS','string','code','514342IpcEhM','3918CkgcmN','currentStep','516mvbUrQ','/generate-standard-pages/status?','33UcWthi'];a136_0x2edd=function(){return _0xc1835d;};return a136_0x2edd();}import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,buildPageGenerateOperationStatusQueryCommand,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector,validateGenerateOperationSelector}from'../../commands/page/shared.js';import{getGenerateStandardPagesStatus}from'../../core/api-client.js';export const pageGenerateStatus={'service':'page','command':'generate-status','description':a136_0x22788c(0x205),'risk':'read','defaultOutputFormat':a136_0x22788c(0x203),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a136_0x22788c(0x1f7),'type':'string','description':a136_0x22788c(0x1e6)},{'name':a136_0x22788c(0x1f0),'type':a136_0x22788c(0x208),'description':a136_0x22788c(0x201)},{'name':'operation-id','type':a136_0x22788c(0x208),'description':a136_0x22788c(0x204)},{'name':a136_0x22788c(0x1f4),'type':a136_0x22788c(0x208),'description':'Client\x20recovery/idempotency\x20id\x20when\x20operationId\x20is\x20unavailable\x20or\x20lost'}],async 'validate'(_0x404696){validateDatasetSelector(_0x404696),validateGenerateOperationSelector(_0x404696);},async 'dryRun'(_0x4a15dd){const _0xbd07d6=a136_0x22788c,_0x50a494=await loadDatasetDetailForPage(_0x4a15dd),_0x287409=_0x4a15dd[_0xbd07d6(0x1f3)](_0xbd07d6(0x1f0)),_0x5e651f=_0x4a15dd[_0xbd07d6(0x1f3)](_0xbd07d6(0x1ff)),_0x465c59=_0x4a15dd['str'](_0xbd07d6(0x1f4)),_0x4fa566=new URLSearchParams({'appCode':_0x4a15dd[_0xbd07d6(0x1fe)]});return _0x287409&&_0x4fa566['set']('taskId',_0x287409),_0x5e651f&&_0x4fa566[_0xbd07d6(0x1e4)](_0xbd07d6(0x1ef),_0x5e651f),_0x465c59&&_0x4fa566[_0xbd07d6(0x1e4)]('clientOperationId',_0x465c59),{'method':_0xbd07d6(0x1e3),'url':_0xbd07d6(0x1f5)+_0x50a494['code']+_0xbd07d6(0x20e)+_0x4fa566[_0xbd07d6(0x1e5)](),'description':serializeDryRunDescription({'dataset':{'id':_0x50a494['id'],'code':_0x50a494[_0xbd07d6(0x209)],'name':_0x50a494[_0xbd07d6(0x1f2)]},'action':_0xbd07d6(0x1e9),'taskId':_0x287409||undefined,'operationId':_0x5e651f||undefined,'clientOperationId':_0x465c59||undefined})};},async 'execute'(_0xbf23ca){const _0x5b7266=a136_0x22788c,_0x5872fe=await loadDatasetDetailForPage(_0xbf23ca),_0x3a1a33=_0xbf23ca[_0x5b7266(0x1f3)](_0x5b7266(0x1f0)),_0x13edbf=_0xbf23ca[_0x5b7266(0x1f3)](_0x5b7266(0x1ff)),_0x308817=_0xbf23ca['str'](_0x5b7266(0x1f4)),_0x58a152=await getGenerateStandardPagesStatus(_0xbf23ca['appCode'],_0x5872fe[_0x5b7266(0x209)],{'taskId':_0x3a1a33||undefined,'operationId':_0x13edbf||undefined,'clientOperationId':_0x308817||undefined}),_0x2c21a9=_0x58a152['status']===_0x5b7266(0x207)||_0x58a152['status']===_0x5b7266(0x1f6),_0x4900ad=_0x2c21a9?await loadStandardPageStatusForGenerate(_0xbf23ca,_0x5872fe[_0x5b7266(0x209)]):null,_0x34f21c=assessGenerateOperationState(_0x5872fe[_0x5b7266(0x209)],_0x58a152[_0x5b7266(0x1ee)],_0x4900ad),_0x47109a=_0x58a152[_0x5b7266(0x1f9)]??_0x3a1a33??undefined,_0xccfaa4=_0x58a152[_0x5b7266(0x1ef)]??_0x13edbf??undefined,_0x4c805e=_0x58a152[_0x5b7266(0x1fc)]??_0x308817??undefined;return{'ok':!![],'message':_0x34f21c[_0x5b7266(0x1ee)]===_0x5b7266(0x1fa)?_0x58a152['errorMsg']||_0x34f21c['message']:_0x34f21c[_0x5b7266(0x1eb)],'data':{'datasetCode':_0x5872fe[_0x5b7266(0x209)],'appCode':_0xbf23ca[_0x5b7266(0x1fe)],'taskId':_0x47109a,'operationId':_0xccfaa4,'clientOperationId':_0x4c805e,'jobStatus':_0x58a152['status']??null,'progressRate':typeof _0x58a152[_0x5b7266(0x202)]===_0x5b7266(0x1fd)?_0x58a152[_0x5b7266(0x202)]:null,'currentStep':_0x58a152[_0x5b7266(0x20c)]??null,'errorMsg':_0x58a152[_0x5b7266(0x210)]??null,'status':_0x34f21c[_0x5b7266(0x1ee)],'manualResolutionRequired':_0x34f21c[_0x5b7266(0x1ec)],'nextAction':_0x34f21c[_0x5b7266(0x1f1)],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x5872fe[_0x5b7266(0x209)],{'appCode':_0xbf23ca[_0x5b7266(0x1fe)],'taskId':_0x47109a,'operationId':_0xccfaa4,'clientOperationId':_0x4c805e})},'standardPageStatus':_0x4900ad,'result':_0x58a152[_0x5b7266(0x1f8)]??null}};}};
@@ -1 +1 @@
1
- (function(_0x4a0693,_0x1e6376){const _0x2c2a36=a137_0x1d0d,_0x4f4ba2=_0x4a0693();while(!![]){try{const _0x17a220=-parseInt(_0x2c2a36(0xaa))/0x1*(-parseInt(_0x2c2a36(0xb2))/0x2)+parseInt(_0x2c2a36(0xb3))/0x3*(-parseInt(_0x2c2a36(0xac))/0x4)+-parseInt(_0x2c2a36(0xab))/0x5+-parseInt(_0x2c2a36(0xa9))/0x6*(parseInt(_0x2c2a36(0xad))/0x7)+-parseInt(_0x2c2a36(0xb0))/0x8*(-parseInt(_0x2c2a36(0xaf))/0x9)+parseInt(_0x2c2a36(0xb1))/0xa+parseInt(_0x2c2a36(0xae))/0xb*(-parseInt(_0x2c2a36(0xb4))/0xc);if(_0x17a220===_0x1e6376)break;else _0x4f4ba2['push'](_0x4f4ba2['shift']());}catch(_0x372947){_0x4f4ba2['push'](_0x4f4ba2['shift']());}}}(a137_0x1aef,0x1af9d));function a137_0x1aef(){const _0x2d421b=['48FQhjWH','87MQeLzz','598845JwcYEM','28924pCCPFY','101647iPhcxv','6028ZzWOCQ','36eqnASg','143896CqsBHN','2124840hehWSM','5070SHbuFZ','51DLhBhm','780pLqnPc'];a137_0x1aef=function(){return _0x2d421b;};return a137_0x1aef();}import{pageGenerateStart}from'../../commands/page/generate-start.js';import{pageGenerateStatus}from'../../commands/page/generate-status.js';import{pageStandardPageStatus}from'../../commands/page/standard-page-status.js';import{pageSync}from'../../commands/page/sync.js';import{pagePull}from'../../commands/page/pull.js';function a137_0x1d0d(_0x28268d,_0x23d44e){_0x28268d=_0x28268d-0xa9;const _0x1aefb6=a137_0x1aef();let _0x1d0d76=_0x1aefb6[_0x28268d];return _0x1d0d76;}import{pagePush}from'../../commands/page/push.js';import{pageRelationAudit}from'../../commands/page/relation-audit.js';import{pageRestore}from'../../commands/page/restore.js';export const pageDefinitions=[pageGenerateStart,pageGenerateStatus,pageStandardPageStatus,pageRelationAudit,pageSync,pagePull,pagePush,pageRestore];
1
+ (function(_0x48796e,_0x1e8138){const _0x1ec1e3=a137_0x51aa,_0x5ec52b=_0x48796e();while(!![]){try{const _0x25a49c=parseInt(_0x1ec1e3(0x12a))/0x1*(parseInt(_0x1ec1e3(0x123))/0x2)+parseInt(_0x1ec1e3(0x128))/0x3+parseInt(_0x1ec1e3(0x126))/0x4+-parseInt(_0x1ec1e3(0x127))/0x5*(-parseInt(_0x1ec1e3(0x125))/0x6)+-parseInt(_0x1ec1e3(0x122))/0x7+parseInt(_0x1ec1e3(0x124))/0x8*(parseInt(_0x1ec1e3(0x12b))/0x9)+-parseInt(_0x1ec1e3(0x129))/0xa;if(_0x25a49c===_0x1e8138)break;else _0x5ec52b['push'](_0x5ec52b['shift']());}catch(_0x3a62d3){_0x5ec52b['push'](_0x5ec52b['shift']());}}}(a137_0x412e,0x7dfb3));import{pageGenerateStart}from'../../commands/page/generate-start.js';import{pageGenerateStatus}from'../../commands/page/generate-status.js';import{pageStandardPageStatus}from'../../commands/page/standard-page-status.js';import{pageSync}from'../../commands/page/sync.js';import{pagePull}from'../../commands/page/pull.js';import{pagePush}from'../../commands/page/push.js';function a137_0x412e(){const _0x2ccb91=['751752Jgirhb','1452ilnCEq','3797084zCcqmU','85SgAFqT','173700vXUizJ','3410930ozdENI','44686vZWxgY','9hNUuAZ','3926608wCVurx','14NGwFEI'];a137_0x412e=function(){return _0x2ccb91;};return a137_0x412e();}import{pageRelationAudit}from'../../commands/page/relation-audit.js';function a137_0x51aa(_0x210792,_0x6269c4){_0x210792=_0x210792-0x122;const _0x412e3d=a137_0x412e();let _0x51aa0a=_0x412e3d[_0x210792];return _0x51aa0a;}import{pageRestore}from'../../commands/page/restore.js';import{pageReactCreate}from'../../commands/page/react/create.js';import{pageReactDetail}from'../../commands/page/react/detail.js';import{pageReactList}from'../../commands/page/react/list.js';import{pageReactPublish}from'../../commands/page/react/publish.js';import{pageReactUpdate}from'../../commands/page/react/update.js';export const pageDefinitions=[pageGenerateStart,pageGenerateStatus,pageStandardPageStatus,pageRelationAudit,pageSync,pagePull,pagePush,pageRestore,pageReactCreate,pageReactList,pageReactDetail,pageReactPublish,pageReactUpdate];
@@ -1 +1 @@
1
- const a138_0x390f54=a138_0x17cd;(function(_0x1ce530,_0x3459b2){const _0x1f4c23=a138_0x17cd,_0x44e817=_0x1ce530();while(!![]){try{const _0x8be195=parseInt(_0x1f4c23(0x12f))/0x1*(parseInt(_0x1f4c23(0x148))/0x2)+parseInt(_0x1f4c23(0x11d))/0x3+-parseInt(_0x1f4c23(0x141))/0x4*(parseInt(_0x1f4c23(0x111))/0x5)+parseInt(_0x1f4c23(0x140))/0x6+parseInt(_0x1f4c23(0x137))/0x7+parseInt(_0x1f4c23(0x120))/0x8*(parseInt(_0x1f4c23(0x121))/0x9)+parseInt(_0x1f4c23(0x127))/0xa*(-parseInt(_0x1f4c23(0x123))/0xb);if(_0x8be195===_0x3459b2)break;else _0x44e817['push'](_0x44e817['shift']());}catch(_0x5c997d){_0x44e817['push'](_0x44e817['shift']());}}}(a138_0x3ef6,0x2a97f));import{writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{computePageContentHash,computePageFileHash,serializePageSchemaForFile}from'../../core/page/hash.js';function a138_0x3ef6(){const _0x1bec78=['map','code','force','status','Local\x20page\x20file\x20has\x20unsynced\x20changes:\x20','59Okdpol','reason','lastSync','拉取完成:\x20','name','mode','Page\x20ID','Use\x20--force\x20to\x20overwrite\x20local\x20changes.','2187983TIfFhA','pages','localPath','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','would_pull','pull','deleted','string','relatedPages','148890JTQjQR','11536TGwDPm','pageVersion','push','appCode','alias','all','length','3422sbzNcB','datasetCode','Overwrite\x20local\x20files\x20even\x20when\x20unsynced\x20local\x20changes\x20exist','batch','type','filter','versionTag','detail','185DWRrBp','\x20skipped','page','Dataset\x20\x22','compress','Pull\x20page\x20schema\x20to\x20local\x20files','local\x20unsynced\x20changes','read','conflict','validation','single','str','836610LxoQhR','boolean','lockFilePath','16aCuBGI','76374CpHvdy','items','4796fwVLqM','\x22\x20has\x20no\x20undeleted\x20related\x20pages.','GET','/smartapi/lovrabet/detail\x20(per\x20selected\x20page)','10390pKsoqD','pageId','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'];a138_0x3ef6=function(){return _0x1bec78;};return a138_0x3ef6();}import{ensureParentDirectory,fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePull={'service':a138_0x390f54(0x113),'command':a138_0x390f54(0x13c),'description':a138_0x390f54(0x116),'risk':a138_0x390f54(0x118),'defaultOutputFormat':a138_0x390f54(0x115),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':'number','description':a138_0x390f54(0x135)},DATASETCODE_FLAG_OPTIONAL,{'name':a138_0x390f54(0x145),'type':a138_0x390f54(0x13e),'description':a138_0x390f54(0x129)},{'name':'version-tag','type':'string','description':a138_0x390f54(0x13a)},{'name':a138_0x390f54(0x12c),'type':a138_0x390f54(0x11e),'description':a138_0x390f54(0x10b)}],async 'validate'(_0x2327f0){validatePageTargetSelector(_0x2327f0);},async 'dryRun'(_0x2cad55){const _0x1575b3=a138_0x390f54,_0x110950=await buildPullPlan(_0x2cad55);return{'method':_0x1575b3(0x125),'url':_0x110950[_0x1575b3(0x134)]==='single'?'/smartapi/lovrabet/detail?pageId='+(_0x110950[_0x1575b3(0x122)][0x0]?.[_0x1575b3(0x110)][_0x1575b3(0x128)]??''):_0x1575b3(0x126),'body':{'appCode':_0x2cad55[_0x1575b3(0x144)],'mode':_0x110950[_0x1575b3(0x134)],'targetDatasetCode':_0x110950[_0x1575b3(0x149)]??null,'pages':_0x110950[_0x1575b3(0x122)][_0x1575b3(0x12a)](toPreviewItem)},'description':serializeDryRunDescription({'mode':_0x110950['mode'],'datasetCode':_0x110950['datasetCode']??null,'totalCandidates':_0x110950[_0x1575b3(0x122)]['length'],'totalWouldPull':_0x110950['items'][_0x1575b3(0x10e)](_0x45e8e0=>_0x45e8e0[_0x1575b3(0x12d)]==='would_pull')[_0x1575b3(0x147)],'totalConflicts':_0x110950[_0x1575b3(0x122)][_0x1575b3(0x10e)](_0x2eb519=>_0x2eb519[_0x1575b3(0x12d)]===_0x1575b3(0x119))[_0x1575b3(0x147)]})};},async 'execute'(_0x42f951){const _0x5a7b64=a138_0x390f54,_0x2e1a2c=loadPageProjectConfig(_0x42f951[_0x5a7b64(0x144)]),_0x469b7a=await readPageLockFile(_0x2e1a2c[_0x5a7b64(0x11f)]),{lockData:_0x27ed6a,appLock:_0x45ef17}=ensurePageLockScope(_0x469b7a??createEmptyPageLock(),_0x42f951['appCode']),_0x2312fc=await buildPullPlan(_0x42f951),_0x40d1fd=_0x42f951['bool']('force');if(_0x2312fc[_0x5a7b64(0x134)]===_0x5a7b64(0x11b)&&_0x2312fc[_0x5a7b64(0x122)][0x0]?.['status']==='conflict'&&!_0x40d1fd)throw CliErrors[_0x5a7b64(0x11a)](_0x5a7b64(0x12e)+_0x2312fc['items'][0x0][_0x5a7b64(0x139)],_0x5a7b64(0x136));const _0x2edbad=[],_0x3a7797=[];for(const _0x5414cd of _0x2312fc['items']){if(_0x5414cd['status']===_0x5a7b64(0x119)&&!_0x40d1fd){_0x3a7797[_0x5a7b64(0x143)]({'pageId':_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x128)],'type':_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x10d)],'title':_0x5414cd[_0x5a7b64(0x110)]['name'],'localPath':_0x5414cd['localPath'],'reason':_0x5414cd[_0x5a7b64(0x130)]??_0x5a7b64(0x117)});continue;}await ensureParentDirectory(_0x5414cd['localPath']);const _0x27c18d=serializePageSchemaForFile(_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x12b)]);await writeFile(_0x5414cd[_0x5a7b64(0x139)],_0x27c18d,'utf8'),_0x45ef17['pages'][String(_0x5414cd['detail'][_0x5a7b64(0x128)])]=buildLockEntry(_0x5414cd[_0x5a7b64(0x110)],_0x27c18d),_0x2edbad[_0x5a7b64(0x143)]({'pageId':_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x128)],'type':_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x10d)],'title':_0x5414cd[_0x5a7b64(0x110)][_0x5a7b64(0x133)],'localPath':_0x5414cd[_0x5a7b64(0x139)]});}return _0x45ef17[_0x5a7b64(0x131)]=new Date()['toISOString'](),await writePageLockFile(_0x2e1a2c[_0x5a7b64(0x11f)],_0x27ed6a),{'ok':!![],'message':_0x5a7b64(0x132)+_0x2edbad[_0x5a7b64(0x147)]+'\x20pulled,\x20'+_0x3a7797[_0x5a7b64(0x147)]+_0x5a7b64(0x112),'data':{'appCode':_0x42f951[_0x5a7b64(0x144)],'pulledPages':_0x2edbad,'skippedPages':_0x3a7797,'totalPulled':_0x2edbad[_0x5a7b64(0x147)],'totalSkipped':_0x3a7797[_0x5a7b64(0x147)]}};}};async function buildPullPlan(_0x69104f){const _0x243c97=a138_0x390f54,_0x4c9082=loadPageProjectConfig(_0x69104f[_0x243c97(0x144)]),_0x4d7baa=await readPageLockFile(_0x4c9082['lockFilePath']),{appLock:_0x110848}=ensurePageLockScope(_0x4d7baa??createEmptyPageLock(),_0x69104f['appCode']),_0x18c4a9=getPageIdFlag(_0x69104f);if(_0x18c4a9!==undefined){const _0x5a33bf=await loadPageDetailForPage(_0x69104f,_0x18c4a9);return{'mode':_0x243c97(0x11b),'items':[await inspectPullTarget(_0x4c9082,_0x110848[_0x243c97(0x138)][String(_0x5a33bf[_0x243c97(0x128)])],_0x5a33bf)]};}const _0x55f044=await loadDatasetDetailForPage(_0x69104f),_0x55519c=_0x55f044[_0x243c97(0x13f)][_0x243c97(0x10e)](_0x13386d=>!_0x13386d[_0x243c97(0x13d)]);if(_0x55519c[_0x243c97(0x147)]===0x0)throw CliErrors[_0x243c97(0x11a)](_0x243c97(0x114)+_0x55f044[_0x243c97(0x12b)]+_0x243c97(0x124));const _0x569de2=await Promise[_0x243c97(0x146)](_0x55519c['map'](_0xbf4656=>loadPageDetailForPage(_0x69104f,_0xbf4656['id']))),_0x59c9de=selectVersionTagGroup(_0x569de2,_0x133919=>_0x133919[_0x243c97(0x10f)],_0x69104f[_0x243c97(0x11c)]('version-tag'));return{'mode':_0x243c97(0x10c),'datasetCode':_0x55f044['code'],'items':await Promise[_0x243c97(0x146)](_0x59c9de[_0x243c97(0x122)][_0x243c97(0x12a)](_0x264eb0=>inspectPullTarget(_0x4c9082,_0x110848[_0x243c97(0x138)][String(_0x264eb0[_0x243c97(0x128)])],_0x264eb0)))};}async function inspectPullTarget(_0x8e4c5b,_0x50192d,_0x4945f0){const _0x31ccf5=a138_0x390f54,_0x3ba9b1=resolvePageFilePath(_0x8e4c5b,_0x4945f0[_0x31ccf5(0x128)],_0x4945f0['type']),_0x3fb33a=await fileExists(_0x3ba9b1);if(!_0x3fb33a){const _0x3607c8=serializePageSchemaForFile(_0x4945f0['code']);return{'detail':_0x4945f0,'localPath':_0x3ba9b1,'localHash':computePageContentHash(_0x3607c8),'status':_0x31ccf5(0x13b)};}const _0x4b849c=await computePageFileHash(_0x3ba9b1);if(!_0x50192d||_0x4b849c!==_0x50192d['hash'])return{'detail':_0x4945f0,'localPath':_0x3ba9b1,'localHash':_0x4b849c,'status':_0x31ccf5(0x119),'reason':_0x31ccf5(0x117)};return{'detail':_0x4945f0,'localPath':_0x3ba9b1,'localHash':_0x4b849c,'status':_0x31ccf5(0x13b)};}function buildLockEntry(_0x1af51f,_0x59b1d4){const _0x57a7bf=a138_0x390f54;return{'hash':computePageContentHash(_0x59b1d4),'pageId':_0x1af51f[_0x57a7bf(0x128)],'pageVersion':_0x1af51f[_0x57a7bf(0x142)],'type':_0x1af51f[_0x57a7bf(0x10d)],'title':_0x1af51f[_0x57a7bf(0x133)],'datasetIds':_0x1af51f['datasetIds'],'versionTag':_0x1af51f[_0x57a7bf(0x10f)]};}function a138_0x17cd(_0x2a73be,_0x33f2a4){_0x2a73be=_0x2a73be-0x10b;const _0x3ef63b=a138_0x3ef6();let _0x17cd38=_0x3ef63b[_0x2a73be];return _0x17cd38;}function toPreviewItem(_0x3cc642){const _0x34c98e=a138_0x390f54;return{'pageId':_0x3cc642[_0x34c98e(0x110)][_0x34c98e(0x128)],'type':_0x3cc642[_0x34c98e(0x110)]['type'],'title':_0x3cc642['detail']['name'],'localPath':_0x3cc642[_0x34c98e(0x139)],'status':_0x3cc642[_0x34c98e(0x12d)],..._0x3cc642[_0x34c98e(0x130)]?{'reason':_0x3cc642[_0x34c98e(0x130)]}:{}};}
1
+ const a138_0x4ec21f=a138_0x856b;(function(_0x184661,_0xe156cb){const _0x45ffd6=a138_0x856b,_0x2d9f71=_0x184661();while(!![]){try{const _0x1f6ad5=parseInt(_0x45ffd6(0x10a))/0x1+parseInt(_0x45ffd6(0xf2))/0x2+parseInt(_0x45ffd6(0xec))/0x3+-parseInt(_0x45ffd6(0xe7))/0x4*(-parseInt(_0x45ffd6(0xe9))/0x5)+-parseInt(_0x45ffd6(0xdf))/0x6*(-parseInt(_0x45ffd6(0xff))/0x7)+-parseInt(_0x45ffd6(0x108))/0x8+parseInt(_0x45ffd6(0xf4))/0x9*(-parseInt(_0x45ffd6(0xe8))/0xa);if(_0x1f6ad5===_0xe156cb)break;else _0x2d9f71['push'](_0x2d9f71['shift']());}catch(_0x5a3a78){_0x2d9f71['push'](_0x2d9f71['shift']());}}}(a138_0x4372,0x4891a));import{writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{computePageContentHash,computePageFileHash,serializePageSchemaForFile}from'../../core/page/hash.js';import{ensureParentDirectory,fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePull={'service':a138_0x4ec21f(0xdc),'command':a138_0x4ec21f(0xf8),'description':a138_0x4ec21f(0xd4),'risk':a138_0x4ec21f(0xfb),'defaultOutputFormat':a138_0x4ec21f(0xd3),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':'number','description':a138_0x4ec21f(0xe1)},DATASETCODE_FLAG_OPTIONAL,{'name':a138_0x4ec21f(0xf0),'type':a138_0x4ec21f(0xd5),'description':a138_0x4ec21f(0xed)},{'name':'version-tag','type':a138_0x4ec21f(0xd5),'description':a138_0x4ec21f(0x104)},{'name':a138_0x4ec21f(0xd9),'type':'boolean','description':a138_0x4ec21f(0xf7)}],async 'validate'(_0x237444){validatePageTargetSelector(_0x237444);},async 'dryRun'(_0x353b6f){const _0x496d16=a138_0x4ec21f,_0x1112b6=await buildPullPlan(_0x353b6f);return{'method':_0x496d16(0x103),'url':_0x1112b6[_0x496d16(0xdb)]===_0x496d16(0xe4)?_0x496d16(0xef)+(_0x1112b6[_0x496d16(0xfa)][0x0]?.[_0x496d16(0xfc)][_0x496d16(0x102)]??''):_0x496d16(0xde),'body':{'appCode':_0x353b6f[_0x496d16(0xea)],'mode':_0x1112b6['mode'],'targetDatasetCode':_0x1112b6['datasetCode']??null,'pages':_0x1112b6[_0x496d16(0xfa)][_0x496d16(0xe0)](toPreviewItem)},'description':serializeDryRunDescription({'mode':_0x1112b6[_0x496d16(0xdb)],'datasetCode':_0x1112b6['datasetCode']??null,'totalCandidates':_0x1112b6[_0x496d16(0xfa)]['length'],'totalWouldPull':_0x1112b6['items']['filter'](_0x5bbc0d=>_0x5bbc0d['status']===_0x496d16(0x101))[_0x496d16(0xce)],'totalConflicts':_0x1112b6[_0x496d16(0xfa)]['filter'](_0x25f348=>_0x25f348[_0x496d16(0xd7)]===_0x496d16(0xcf))[_0x496d16(0xce)]})};},async 'execute'(_0x11af15){const _0x41d6df=a138_0x4ec21f,_0x5efd35=loadPageProjectConfig(_0x11af15[_0x41d6df(0xea)]),_0x467947=await readPageLockFile(_0x5efd35['lockFilePath']),{lockData:_0x4c89c4,appLock:_0x343194}=ensurePageLockScope(_0x467947??createEmptyPageLock(),_0x11af15[_0x41d6df(0xea)]),_0x12f811=await buildPullPlan(_0x11af15),_0x16a366=_0x11af15[_0x41d6df(0xd8)](_0x41d6df(0xd9));if(_0x12f811[_0x41d6df(0xdb)]===_0x41d6df(0xe4)&&_0x12f811[_0x41d6df(0xfa)][0x0]?.[_0x41d6df(0xd7)]==='conflict'&&!_0x16a366)throw CliErrors[_0x41d6df(0xda)](_0x41d6df(0xfd)+_0x12f811[_0x41d6df(0xfa)][0x0][_0x41d6df(0xe2)],_0x41d6df(0x105));const _0x5bb787=[],_0x3afa92=[];for(const _0x431ee8 of _0x12f811[_0x41d6df(0xfa)]){if(_0x431ee8['status']===_0x41d6df(0xcf)&&!_0x16a366){_0x3afa92[_0x41d6df(0x106)]({'pageId':_0x431ee8[_0x41d6df(0xfc)]['pageId'],'type':_0x431ee8[_0x41d6df(0xfc)][_0x41d6df(0xe6)],'title':_0x431ee8[_0x41d6df(0xfc)][_0x41d6df(0x100)],'localPath':_0x431ee8['localPath'],'reason':_0x431ee8[_0x41d6df(0xf9)]??_0x41d6df(0xf6)});continue;}await ensureParentDirectory(_0x431ee8['localPath']);const _0x2df6cb=serializePageSchemaForFile(_0x431ee8[_0x41d6df(0xfc)]['code']);await writeFile(_0x431ee8['localPath'],_0x2df6cb,_0x41d6df(0xf1)),_0x343194[_0x41d6df(0xeb)][String(_0x431ee8[_0x41d6df(0xfc)][_0x41d6df(0x102)])]=buildLockEntry(_0x431ee8[_0x41d6df(0xfc)],_0x2df6cb),_0x5bb787['push']({'pageId':_0x431ee8[_0x41d6df(0xfc)]['pageId'],'type':_0x431ee8[_0x41d6df(0xfc)]['type'],'title':_0x431ee8[_0x41d6df(0xfc)][_0x41d6df(0x100)],'localPath':_0x431ee8[_0x41d6df(0xe2)]});}return _0x343194['lastSync']=new Date()[_0x41d6df(0xf5)](),await writePageLockFile(_0x5efd35[_0x41d6df(0x107)],_0x4c89c4),{'ok':!![],'message':_0x41d6df(0xe3)+_0x5bb787[_0x41d6df(0xce)]+_0x41d6df(0xcd)+_0x3afa92['length']+_0x41d6df(0x109),'data':{'appCode':_0x11af15['appCode'],'pulledPages':_0x5bb787,'skippedPages':_0x3afa92,'totalPulled':_0x5bb787[_0x41d6df(0xce)],'totalSkipped':_0x3afa92[_0x41d6df(0xce)]}};}};async function buildPullPlan(_0x2441e2){const _0x363026=a138_0x4ec21f,_0x1017bf=loadPageProjectConfig(_0x2441e2[_0x363026(0xea)]),_0x5ce4de=await readPageLockFile(_0x1017bf[_0x363026(0x107)]),{appLock:_0x2abf2b}=ensurePageLockScope(_0x5ce4de??createEmptyPageLock(),_0x2441e2[_0x363026(0xea)]),_0x4d38a7=getPageIdFlag(_0x2441e2);if(_0x4d38a7!==undefined){const _0x44d2f6=await loadPageDetailForPage(_0x2441e2,_0x4d38a7);return{'mode':'single','items':[await inspectPullTarget(_0x1017bf,_0x2abf2b[_0x363026(0xeb)][String(_0x44d2f6['pageId'])],_0x44d2f6)]};}const _0x118e9e=await loadDatasetDetailForPage(_0x2441e2),_0x4e9568=_0x118e9e[_0x363026(0xdd)][_0x363026(0xee)](_0x5ffdea=>!_0x5ffdea[_0x363026(0xe5)]);if(_0x4e9568[_0x363026(0xce)]===0x0)throw CliErrors['validation']('Dataset\x20\x22'+_0x118e9e['code']+_0x363026(0xd2));const _0x49ee54=await Promise[_0x363026(0xfe)](_0x4e9568[_0x363026(0xe0)](_0x422e6e=>loadPageDetailForPage(_0x2441e2,_0x422e6e['id']))),_0x2d7f2b=selectVersionTagGroup(_0x49ee54,_0x565db2=>_0x565db2[_0x363026(0xf3)],_0x2441e2['str']('version-tag'));return{'mode':_0x363026(0xd6),'datasetCode':_0x118e9e[_0x363026(0xd0)],'items':await Promise[_0x363026(0xfe)](_0x2d7f2b[_0x363026(0xfa)]['map'](_0x4555c9=>inspectPullTarget(_0x1017bf,_0x2abf2b[_0x363026(0xeb)][String(_0x4555c9[_0x363026(0x102)])],_0x4555c9)))};}function a138_0x4372(){const _0x52889b=['pages','1165557KJFMZP','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','filter','/smartapi/lovrabet/detail?pageId=','alias','utf8','1076688nTckmh','versionTag','9xwjmeu','toISOString','local\x20unsynced\x20changes','Overwrite\x20local\x20files\x20even\x20when\x20unsynced\x20local\x20changes\x20exist','pull','reason','items','read','detail','Local\x20page\x20file\x20has\x20unsynced\x20changes:\x20','all','1050qwflfc','name','would_pull','pageId','GET','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','Use\x20--force\x20to\x20overwrite\x20local\x20changes.','push','lockFilePath','2699272zYgFrr','\x20skipped','83507cXhJEI','\x20pulled,\x20','length','conflict','code','pageVersion','\x22\x20has\x20no\x20undeleted\x20related\x20pages.','compress','Pull\x20page\x20schema\x20to\x20local\x20files','string','batch','status','bool','force','validation','mode','page','relatedPages','/smartapi/lovrabet/detail\x20(per\x20selected\x20page)','10410SVPdff','map','Page\x20ID','localPath','拉取完成:\x20','single','deleted','type','4ntexOX','9903380VuNKVT','1771845oMAdvU','appCode'];a138_0x4372=function(){return _0x52889b;};return a138_0x4372();}async function inspectPullTarget(_0x3d2614,_0x159a54,_0x4ea92d){const _0x1346da=a138_0x4ec21f,_0x5df38a=resolvePageFilePath(_0x3d2614,_0x4ea92d[_0x1346da(0x102)],_0x4ea92d[_0x1346da(0xe6)]),_0x46a294=await fileExists(_0x5df38a);if(!_0x46a294){const _0x1e4ac2=serializePageSchemaForFile(_0x4ea92d[_0x1346da(0xd0)]);return{'detail':_0x4ea92d,'localPath':_0x5df38a,'localHash':computePageContentHash(_0x1e4ac2),'status':'would_pull'};}const _0x17945e=await computePageFileHash(_0x5df38a);if(!_0x159a54||_0x17945e!==_0x159a54['hash'])return{'detail':_0x4ea92d,'localPath':_0x5df38a,'localHash':_0x17945e,'status':_0x1346da(0xcf),'reason':_0x1346da(0xf6)};return{'detail':_0x4ea92d,'localPath':_0x5df38a,'localHash':_0x17945e,'status':_0x1346da(0x101)};}function a138_0x856b(_0x275143,_0x24e410){_0x275143=_0x275143-0xcd;const _0x4372bb=a138_0x4372();let _0x856b05=_0x4372bb[_0x275143];return _0x856b05;}function buildLockEntry(_0x41cdb9,_0x2f2d41){const _0x26de1b=a138_0x4ec21f;return{'hash':computePageContentHash(_0x2f2d41),'pageId':_0x41cdb9[_0x26de1b(0x102)],'pageVersion':_0x41cdb9[_0x26de1b(0xd1)],'type':_0x41cdb9['type'],'title':_0x41cdb9[_0x26de1b(0x100)],'datasetIds':_0x41cdb9['datasetIds'],'versionTag':_0x41cdb9['versionTag']};}function toPreviewItem(_0x3d27ad){const _0x29f6bc=a138_0x4ec21f;return{'pageId':_0x3d27ad[_0x29f6bc(0xfc)][_0x29f6bc(0x102)],'type':_0x3d27ad[_0x29f6bc(0xfc)][_0x29f6bc(0xe6)],'title':_0x3d27ad[_0x29f6bc(0xfc)][_0x29f6bc(0x100)],'localPath':_0x3d27ad[_0x29f6bc(0xe2)],'status':_0x3d27ad['status'],..._0x3d27ad[_0x29f6bc(0xf9)]?{'reason':_0x3d27ad[_0x29f6bc(0xf9)]}:{}};}
@@ -1 +1 @@
1
- function a139_0x3f19(_0x49b053,_0x1f553b){_0x49b053=_0x49b053-0x9d;const _0x4d5f77=a139_0x4d5f();let _0x3f195b=_0x4d5f77[_0x49b053];return _0x3f195b;}const a139_0x152118=a139_0x3f19;(function(_0x3823c3,_0x53e03f){const _0x219e08=a139_0x3f19,_0x29a390=_0x3823c3();while(!![]){try{const _0x80b659=parseInt(_0x219e08(0xce))/0x1+-parseInt(_0x219e08(0xee))/0x2+-parseInt(_0x219e08(0xa6))/0x3+parseInt(_0x219e08(0xaf))/0x4*(-parseInt(_0x219e08(0xac))/0x5)+-parseInt(_0x219e08(0xa7))/0x6*(parseInt(_0x219e08(0xd8))/0x7)+-parseInt(_0x219e08(0x9e))/0x8*(-parseInt(_0x219e08(0xe2))/0x9)+parseInt(_0x219e08(0xe4))/0xa;if(_0x80b659===_0x53e03f)break;else _0x29a390['push'](_0x29a390['shift']());}catch(_0x4d0e9e){_0x29a390['push'](_0x29a390['shift']());}}}(a139_0x4d5f,0x26d5d));function a139_0x4d5f(){const _0x4a82b0=['reason','pageVersion','datasetId','datasetCode','compress','\x20page\x20pull\x20--id\x20','page','301RxjGOv','parse','datasetIds','推送失败','str','\x20has\x20changed\x20since\x20last\x20pull.','code','remoteDetail','推送成功','部分页面推送失败','27PwENaX','\x20page\x20pull\x20--datasetcode\x20','5189300xdWfel','localPath','apiError','name','write','unchanged','lockFilePath','includes','\x20no\x20longer\x20belongs\x20to\x20the\x20target\x20dataset','type','292198hqgRFE','normalized','string','no\x20changes','message','328344ruSXNt','versionTag','推送成功,服务端已规范化\x20schema','`\x20first.','all','would_push','validation','status','83481xCMUUU','34062AnXkPp','pages','deleted','POST','remote\x20schema\x20changed','15OHRdhE','lastSync','Push\x20local\x20page\x20schema\x20back\x20to\x20remote','390916HYcLIP','/smartapi/lovrabet/update-page','candidates','batch','Page\x20','has','map','single','title','appCode','Local\x20file\x20not\x20found:\x20','No\x20lock\x20record\x20found\x20for\x20page\x20','filter','hash','mode','nextLockEntry','utf8','Page\x20ID','Run\x20`','push','blocked','length','无变更需要推送','version-tag','conflict','pageId','localContent','No\x20local\x20pages\x20found\x20for\x20dataset\x20\x22','UNKNOWN','`\x20first','relatedPages','228234lmckya','values','items'];a139_0x4d5f=function(){return _0x4a82b0;};return a139_0x4d5f();}import{readFile,writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{updatePage}from'../../core/api-client.js';import{computePageContentHash,computePageFileHash,computeSerializedSchemaHash,serializePageSchemaForFile}from'../../core/page/hash.js';import{fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePush={'service':a139_0x152118(0xd7),'command':a139_0x152118(0xc2),'description':a139_0x152118(0xae),'risk':a139_0x152118(0xe8),'defaultOutputFormat':a139_0x152118(0xd5),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':'number','description':a139_0x152118(0xc0)},DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':'string','description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'},{'name':a139_0x152118(0xc6),'type':a139_0x152118(0xf0),'description':'Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)'}],async 'validate'(_0x4c0b4b){validatePageTargetSelector(_0x4c0b4b);},async 'dryRun'(_0x424597){const _0x204dec=a139_0x152118,_0xcb18a8=await buildPushPreview(_0x424597);return{'method':_0x204dec(0xaa),'url':_0x204dec(0xb0),'body':{'appCode':_0x424597['appCode'],'mode':_0xcb18a8[_0x204dec(0xbd)],'datasetCode':_0xcb18a8[_0x204dec(0xd4)]??null,'pages':_0xcb18a8[_0x204dec(0xd0)]},'description':serializeDryRunDescription({'mode':_0xcb18a8[_0x204dec(0xbd)],'datasetCode':_0xcb18a8[_0x204dec(0xd4)]??null,'totalWouldPush':_0xcb18a8[_0x204dec(0xd0)]['filter'](_0x19e6c6=>_0x19e6c6[_0x204dec(0xa5)]===_0x204dec(0xa3))[_0x204dec(0xc4)],'totalUnchanged':_0xcb18a8['items'][_0x204dec(0xbb)](_0x54cf63=>_0x54cf63['status']===_0x204dec(0xe9))[_0x204dec(0xc4)],'totalConflicts':_0xcb18a8[_0x204dec(0xd0)][_0x204dec(0xbb)](_0x390aed=>_0x390aed[_0x204dec(0xa5)]===_0x204dec(0xc7)||_0x390aed[_0x204dec(0xa5)]===_0x204dec(0xc3))['length']})};},async 'execute'(_0x30c88b){const _0x21e183=a139_0x152118,_0x3ce79a=loadPageProjectConfig(_0x30c88b[_0x21e183(0xb8)]),_0x2b481a=await readPageLockFile(_0x3ce79a[_0x21e183(0xea)]),{lockData:_0x21f190,appLock:_0x3800a5}=ensurePageLockScope(_0x2b481a??createEmptyPageLock(),_0x30c88b[_0x21e183(0xb8)]),_0x2036b2=getPageIdFlag(_0x30c88b);if(_0x2036b2!==undefined){const _0x21e184=await prepareSinglePush(_0x30c88b,_0x3ce79a,_0x3800a5[_0x21e183(0xa8)][String(_0x2036b2)],_0x2036b2),_0x1bc35c=await pushPreparedPage(_0x30c88b,_0x21e184);return _0x3800a5['pages'][String(_0x1bc35c['pageId'])]=_0x1bc35c[_0x21e183(0xbe)],_0x3800a5['lastSync']=new Date()['toISOString'](),await writePageLockFile(_0x3ce79a[_0x21e183(0xea)],_0x21f190),{'ok':!![],'message':_0x1bc35c[_0x21e183(0xef)]?_0x21e183(0xa0):_0x21e183(0xe0),'data':{'appCode':_0x30c88b[_0x21e183(0xb8)],'pushedPages':[{'pageId':_0x1bc35c[_0x21e183(0xc8)],'type':_0x1bc35c[_0x21e183(0xed)],'title':_0x1bc35c[_0x21e183(0xb7)],'normalized':_0x1bc35c['normalized']}],'skippedPages':[],'failedPages':[],'totalPushed':0x1,'totalSkipped':0x0,'totalFailed':0x0}};}const _0x869dd1=await buildBatchPushPlan(_0x30c88b,_0x3800a5[_0x21e183(0xa8)]),_0x59eaa8=[],_0x520eef=[],_0x312707=[];for(const _0x4fe627 of _0x869dd1[_0x21e183(0xe9)]){_0x520eef['push'](_0x4fe627);}for(const _0x4b9439 of _0x869dd1[_0x21e183(0xb1)]){try{const _0x1451f0=await prepareSinglePush(_0x30c88b,_0x3ce79a,_0x3800a5[_0x21e183(0xa8)][String(_0x4b9439[_0x21e183(0xc8)])],_0x4b9439[_0x21e183(0xc8)],_0x869dd1[_0x21e183(0xd3)]),_0x4e98ed=await pushPreparedPage(_0x30c88b,_0x1451f0);_0x3800a5[_0x21e183(0xa8)][String(_0x4e98ed[_0x21e183(0xc8)])]=_0x4e98ed['nextLockEntry'],_0x59eaa8[_0x21e183(0xc2)]({'pageId':_0x4e98ed['pageId'],'type':_0x4e98ed[_0x21e183(0xed)],'title':_0x4e98ed['title'],'normalized':_0x4e98ed[_0x21e183(0xef)]});}catch(_0x5de790){_0x312707[_0x21e183(0xc2)]({'pageId':_0x4b9439[_0x21e183(0xc8)],'type':_0x4b9439['type'],'title':_0x4b9439[_0x21e183(0xb7)],'reason':_0x5de790 instanceof Error?_0x5de790[_0x21e183(0x9d)]:String(_0x5de790)});}}return _0x3800a5[_0x21e183(0xad)]=new Date()['toISOString'](),await writePageLockFile(_0x3ce79a['lockFilePath'],_0x21f190),{'ok':_0x312707[_0x21e183(0xc4)]===0x0||_0x59eaa8['length']>0x0||_0x520eef['length']>0x0,'message':_0x312707[_0x21e183(0xc4)]>0x0&&_0x59eaa8[_0x21e183(0xc4)]>0x0?_0x21e183(0xe1):_0x59eaa8[_0x21e183(0xc4)]>0x0?_0x21e183(0xe0):_0x520eef[_0x21e183(0xc4)]>0x0&&_0x312707['length']===0x0?_0x21e183(0xc5):_0x312707[0x0]?.[_0x21e183(0xd1)]||_0x21e183(0xdb),'data':{'appCode':_0x30c88b['appCode'],'pushedPages':_0x59eaa8,'skippedPages':_0x520eef,'failedPages':_0x312707,'totalPushed':_0x59eaa8['length'],'totalSkipped':_0x520eef[_0x21e183(0xc4)],'totalFailed':_0x312707['length']}};}};async function buildPushPreview(_0x1461fd){const _0x1bd038=a139_0x152118,_0x20a464=loadPageProjectConfig(_0x1461fd[_0x1bd038(0xb8)]),_0x3c5955=await readPageLockFile(_0x20a464[_0x1bd038(0xea)]),{appLock:_0x352fd3}=ensurePageLockScope(_0x3c5955??createEmptyPageLock(),_0x1461fd[_0x1bd038(0xb8)]),_0x51bc6c=getPageIdFlag(_0x1461fd);if(_0x51bc6c!==undefined)return{'mode':_0x1bd038(0xb6),'items':[await inspectPushPage(_0x1461fd,_0x20a464,_0x352fd3[_0x1bd038(0xa8)][String(_0x51bc6c)],_0x51bc6c)]};const _0x2e1204=await buildBatchPushPlan(_0x1461fd,_0x352fd3[_0x1bd038(0xa8)]);return{'mode':_0x1bd038(0xb2),'datasetCode':_0x2e1204[_0x1bd038(0xd4)],'items':[..._0x2e1204[_0x1bd038(0xe9)][_0x1bd038(0xb5)](_0x2c6d2a=>({'pageId':_0x2c6d2a[_0x1bd038(0xc8)],'type':_0x2c6d2a[_0x1bd038(0xed)],'title':_0x2c6d2a[_0x1bd038(0xb7)],'localPath':_0x2c6d2a[_0x1bd038(0xe5)],'status':_0x1bd038(0xe9),'reason':_0x2c6d2a[_0x1bd038(0xd1)]})),...await Promise[_0x1bd038(0xa2)](_0x2e1204['candidates'][_0x1bd038(0xb5)](_0x56c146=>inspectPushPage(_0x1461fd,_0x20a464,_0x352fd3['pages'][String(_0x56c146['pageId'])],_0x56c146['pageId'],_0x2e1204[_0x1bd038(0xd3)])))]};}async function buildBatchPushPlan(_0x31e7ee,_0x49a4f2){const _0x29706b=a139_0x152118,_0x308110=loadPageProjectConfig(_0x31e7ee['appCode']),_0x2ec78c=await loadDatasetDetailForPage(_0x31e7ee),_0x16f1fe=_0x2ec78c['id'],_0x227b2c=new Set(_0x2ec78c[_0x29706b(0xcd)][_0x29706b(0xbb)](_0xd2d63d=>!_0xd2d63d[_0x29706b(0xa9)])[_0x29706b(0xb5)](_0x372742=>_0x372742['id'])),_0x45f884=Object[_0x29706b(0xcf)](_0x49a4f2)[_0x29706b(0xbb)](_0x3a803f=>_0x3a803f[_0x29706b(0xda)][_0x29706b(0xeb)](_0x16f1fe)&&_0x227b2c[_0x29706b(0xb4)](_0x3a803f[_0x29706b(0xc8)]));if(_0x45f884[_0x29706b(0xc4)]===0x0)throw CliErrors['validation'](_0x29706b(0xca)+_0x2ec78c[_0x29706b(0xde)]+'\x22.',_0x29706b(0xc1)+CLI_BIN_NAME+_0x29706b(0xe3)+_0x2ec78c['code']+_0x29706b(0xa1));const _0xd3d629=selectVersionTagGroup(_0x45f884,_0x385a99=>_0x385a99[_0x29706b(0x9f)]??null,_0x31e7ee[_0x29706b(0xdc)](_0x29706b(0xc6))),_0x41dbde=[],_0x42483a=[];for(const _0x14a647 of _0xd3d629[_0x29706b(0xd0)]){const _0x45ad21=resolvePageFilePath(_0x308110,_0x14a647['pageId'],_0x14a647['type']);if(!await fileExists(_0x45ad21)){_0x41dbde['push']({'pageId':_0x14a647['pageId'],'type':_0x14a647[_0x29706b(0xed)],'title':_0x14a647[_0x29706b(0xb7)]});continue;}const _0x555cf6=await computePageFileHash(_0x45ad21);if(_0x555cf6===_0x14a647['hash']){_0x42483a[_0x29706b(0xc2)]({'pageId':_0x14a647[_0x29706b(0xc8)],'type':_0x14a647['type'],'title':_0x14a647[_0x29706b(0xb7)],'localPath':_0x45ad21,'reason':_0x29706b(0xf1)});continue;}_0x41dbde[_0x29706b(0xc2)]({'pageId':_0x14a647['pageId'],'type':_0x14a647[_0x29706b(0xed)],'title':_0x14a647[_0x29706b(0xb7)]});}return{'datasetCode':_0x2ec78c[_0x29706b(0xde)],'datasetId':_0x16f1fe,'candidates':_0x41dbde,'unchanged':_0x42483a};}async function inspectPushPage(_0x4b7afd,_0x32b3cb,_0x3f3c8a,_0x445b25,_0x5d103c){const _0x4c1f67=a139_0x152118;if(!_0x3f3c8a)return{'pageId':_0x445b25,'type':_0x4c1f67(0xcb),'title':'page-'+_0x445b25,'localPath':resolvePageFilePath(_0x32b3cb,_0x445b25,_0x4c1f67(0xcb)),'status':'blocked','reason':'Run\x20`'+CLI_BIN_NAME+_0x4c1f67(0xd6)+_0x445b25+_0x4c1f67(0xcc)};const _0x30e5e9=resolvePageFilePath(_0x32b3cb,_0x445b25,_0x3f3c8a['type']);if(!await fileExists(_0x30e5e9))return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':'blocked','reason':_0x4c1f67(0xb9)+_0x30e5e9};const _0x4bc85e=await readFile(_0x30e5e9,_0x4c1f67(0xbf));try{JSON[_0x4c1f67(0xd9)](_0x4bc85e);}catch{return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':_0x4c1f67(0xc3),'reason':'local\x20JSON\x20is\x20invalid'};}const _0x11696b=computePageContentHash(_0x4bc85e);if(_0x11696b===_0x3f3c8a[_0x4c1f67(0xbc)])return{'pageId':_0x445b25,'type':_0x3f3c8a['type'],'title':_0x3f3c8a[_0x4c1f67(0xb7)],'localPath':_0x30e5e9,'status':_0x4c1f67(0xe9),'reason':_0x4c1f67(0xf1)};try{const _0x23afa7=await loadPageDetailForPage(_0x4b7afd,_0x445b25);if(_0x5d103c!=null&&!_0x23afa7[_0x4c1f67(0xda)]['includes'](_0x5d103c))return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':'conflict','reason':_0x4c1f67(0xb3)+_0x445b25+_0x4c1f67(0xec)};const _0xd2417e=_0x3f3c8a[_0x4c1f67(0xd2)]!=null&&_0x23afa7[_0x4c1f67(0xd2)]!=null;if(_0xd2417e&&_0x3f3c8a[_0x4c1f67(0xd2)]!==_0x23afa7[_0x4c1f67(0xd2)])return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':_0x4c1f67(0xc7),'reason':'remote\x20pageVersion\x20changed'};if(!_0xd2417e&&computeSerializedSchemaHash(_0x23afa7[_0x4c1f67(0xde)])!==_0x3f3c8a[_0x4c1f67(0xbc)])return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':'conflict','reason':_0x4c1f67(0xab)};}catch(_0x42a410){return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a['title'],'localPath':_0x30e5e9,'status':_0x4c1f67(0xc3),'reason':_0x42a410 instanceof Error?_0x42a410[_0x4c1f67(0x9d)]:String(_0x42a410)};}return{'pageId':_0x445b25,'type':_0x3f3c8a[_0x4c1f67(0xed)],'title':_0x3f3c8a[_0x4c1f67(0xb7)],'localPath':_0x30e5e9,'status':'would_push'};}async function prepareSinglePush(_0x3baa7e,_0x3674bf,_0x4633db,_0x74fe71,_0xa98231){const _0x248c8c=a139_0x152118;if(!_0x4633db)throw CliErrors['validation'](_0x248c8c(0xba)+_0x74fe71+'.',_0x248c8c(0xc1)+CLI_BIN_NAME+_0x248c8c(0xd6)+_0x74fe71+'`\x20first.');const _0x38e1ef=resolvePageFilePath(_0x3674bf,_0x74fe71,_0x4633db[_0x248c8c(0xed)]);if(!await fileExists(_0x38e1ef))throw CliErrors[_0x248c8c(0xa4)](_0x248c8c(0xb9)+_0x38e1ef,_0x248c8c(0xc1)+CLI_BIN_NAME+_0x248c8c(0xd6)+_0x74fe71+'`\x20first.');const _0x3383b3=await readFile(_0x38e1ef,'utf8');try{JSON[_0x248c8c(0xd9)](_0x3383b3);}catch{throw CliErrors[_0x248c8c(0xa4)]('Invalid\x20JSON\x20in\x20local\x20page\x20file:\x20'+_0x38e1ef);}const _0x21f05a=await loadPageDetailForPage(_0x3baa7e,_0x74fe71);if(_0xa98231!=null&&!_0x21f05a['datasetIds']['includes'](_0xa98231))throw CliErrors['validation'](_0x248c8c(0xb3)+_0x74fe71+'\x20no\x20longer\x20belongs\x20to\x20the\x20selected\x20dataset.');const _0xcae093=_0x4633db[_0x248c8c(0xd2)]!=null&&_0x21f05a[_0x248c8c(0xd2)]!=null;if(_0xcae093){if(_0x4633db['pageVersion']!==_0x21f05a[_0x248c8c(0xd2)])throw CliErrors['validation']('Remote\x20page\x20'+_0x74fe71+_0x248c8c(0xdd),_0x248c8c(0xc1)+CLI_BIN_NAME+_0x248c8c(0xd6)+_0x74fe71+'`\x20first.');}else{const _0x2bbd27=computeSerializedSchemaHash(_0x21f05a[_0x248c8c(0xde)]);if(_0x2bbd27!==_0x4633db['hash'])throw CliErrors['validation']('Remote\x20page\x20'+_0x74fe71+_0x248c8c(0xdd),'Run\x20`'+CLI_BIN_NAME+_0x248c8c(0xd6)+_0x74fe71+'`\x20first.');}return{'lockEntry':_0x4633db,'localPath':_0x38e1ef,'localContent':_0x3383b3,'localHash':computePageContentHash(_0x3383b3),'remoteDetail':_0x21f05a};}async function pushPreparedPage(_0x48d077,_0x5d3247){const _0x3702a8=a139_0x152118,_0xe31b9c=await updatePage(_0x48d077['appCode'],_0x5d3247[_0x3702a8(0xdf)]['pageId'],_0x5d3247[_0x3702a8(0xc9)],_0x5d3247[_0x3702a8(0xdf)]['datasetIds']);if(!_0xe31b9c)throw CliErrors[_0x3702a8(0xe6)]('Page\x20update\x20failed:\x20'+_0x5d3247['remoteDetail']['pageId']);const _0x4253a3=await loadPageDetailForPage(_0x48d077,_0x5d3247[_0x3702a8(0xdf)][_0x3702a8(0xc8)]),_0x7bdad1=serializePageSchemaForFile(_0x4253a3['code']);return await writeFile(_0x5d3247[_0x3702a8(0xe5)],_0x7bdad1,_0x3702a8(0xbf)),{'pageId':_0x4253a3['pageId'],'type':_0x4253a3[_0x3702a8(0xed)],'title':_0x4253a3[_0x3702a8(0xe7)],'normalized':_0x7bdad1!==serializePageSchemaForFile(_0x5d3247['localContent']),'nextLockEntry':{'hash':computePageContentHash(_0x7bdad1),'pageId':_0x4253a3['pageId'],'pageVersion':_0x4253a3[_0x3702a8(0xd2)],'type':_0x4253a3[_0x3702a8(0xed)],'title':_0x4253a3[_0x3702a8(0xe7)],'datasetIds':_0x4253a3[_0x3702a8(0xda)],'versionTag':_0x4253a3[_0x3702a8(0x9f)]}};}
1
+ const a139_0x4aaea9=a139_0x3acd;(function(_0x24a9c4,_0x56213b){const _0x34b316=a139_0x3acd,_0x14141c=_0x24a9c4();while(!![]){try{const _0x45f06e=-parseInt(_0x34b316(0x176))/0x1*(parseInt(_0x34b316(0x18f))/0x2)+parseInt(_0x34b316(0x194))/0x3+parseInt(_0x34b316(0x172))/0x4+parseInt(_0x34b316(0x1a2))/0x5*(-parseInt(_0x34b316(0x173))/0x6)+-parseInt(_0x34b316(0x16b))/0x7+-parseInt(_0x34b316(0x199))/0x8+-parseInt(_0x34b316(0x175))/0x9*(-parseInt(_0x34b316(0x191))/0xa);if(_0x45f06e===_0x56213b)break;else _0x14141c['push'](_0x14141c['shift']());}catch(_0x31d663){_0x14141c['push'](_0x14141c['shift']());}}}(a139_0x4d7d,0x52744));import{readFile,writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a139_0x4d7d(){const _0x7bbe98=['single','appCode','localPath','status','1018608sQGnMY','27870dfpDGi','batch','9TsAske','14TCrdtf','code','Remote\x20page\x20','local\x20JSON\x20is\x20invalid','remote\x20pageVersion\x20changed','string','pages','`\x20first.','parse','no\x20changes','hash','datasetId','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','filter','datasetCode','\x20page\x20pull\x20--id\x20','length','localContent','无变更需要推送','reason','Invalid\x20JSON\x20in\x20local\x20page\x20file:\x20','type','relatedPages','title','conflict','86046ReTuWB','map','21468290UPBLKz','Local\x20file\x20not\x20found:\x20','would_push','91848gaDfZd','blocked','toISOString','candidates','\x20no\x20longer\x20belongs\x20to\x20the\x20selected\x20dataset.','3110600weFDoL','nextLockEntry','write','lastSync','versionTag','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','pageId','Run\x20`','Page\x20update\x20failed:\x20','555podoLF','`\x20first','includes','has','\x20no\x20longer\x20belongs\x20to\x20the\x20target\x20dataset','normalized','compress','POST','name','unchanged','utf8','mode','items','No\x20lock\x20record\x20found\x20for\x20page\x20','推送失败','remoteDetail','datasetIds','page-','\x20page\x20pull\x20--datasetcode\x20','lockFilePath','pageVersion','str','validation','number','alias','all','push','推送成功,服务端已规范化\x20schema','version-tag','UNKNOWN','Page\x20ID','4113361IIIlOB','page','message'];a139_0x4d7d=function(){return _0x7bbe98;};return a139_0x4d7d();}import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{updatePage}from'../../core/api-client.js';import{computePageContentHash,computePageFileHash,computeSerializedSchemaHash,serializePageSchemaForFile}from'../../core/page/hash.js';import{fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePush={'service':a139_0x4aaea9(0x16c),'command':a139_0x4aaea9(0x1bc),'description':'Push\x20local\x20page\x20schema\x20back\x20to\x20remote','risk':a139_0x4aaea9(0x19b),'defaultOutputFormat':a139_0x4aaea9(0x1a8),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':a139_0x4aaea9(0x1b9),'description':a139_0x4aaea9(0x16a)},DATASETCODE_FLAG_OPTIONAL,{'name':a139_0x4aaea9(0x1ba),'type':a139_0x4aaea9(0x17b),'description':a139_0x4aaea9(0x182)},{'name':a139_0x4aaea9(0x168),'type':'string','description':a139_0x4aaea9(0x19e)}],async 'validate'(_0x129b84){validatePageTargetSelector(_0x129b84);},async 'dryRun'(_0x42df1f){const _0x1e23ae=a139_0x4aaea9,_0x5b1118=await buildPushPreview(_0x42df1f);return{'method':_0x1e23ae(0x1a9),'url':'/smartapi/lovrabet/update-page','body':{'appCode':_0x42df1f[_0x1e23ae(0x16f)],'mode':_0x5b1118[_0x1e23ae(0x1ad)],'datasetCode':_0x5b1118['datasetCode']??null,'pages':_0x5b1118['items']},'description':serializeDryRunDescription({'mode':_0x5b1118[_0x1e23ae(0x1ad)],'datasetCode':_0x5b1118[_0x1e23ae(0x184)]??null,'totalWouldPush':_0x5b1118[_0x1e23ae(0x1ae)][_0x1e23ae(0x183)](_0x50f263=>_0x50f263[_0x1e23ae(0x171)]===_0x1e23ae(0x193))['length'],'totalUnchanged':_0x5b1118[_0x1e23ae(0x1ae)][_0x1e23ae(0x183)](_0x3622a1=>_0x3622a1[_0x1e23ae(0x171)]==='unchanged')[_0x1e23ae(0x186)],'totalConflicts':_0x5b1118[_0x1e23ae(0x1ae)][_0x1e23ae(0x183)](_0xfe6657=>_0xfe6657['status']==='conflict'||_0xfe6657['status']===_0x1e23ae(0x195))[_0x1e23ae(0x186)]})};},async 'execute'(_0x2800e8){const _0x392835=a139_0x4aaea9,_0x1b960e=loadPageProjectConfig(_0x2800e8['appCode']),_0x4154f3=await readPageLockFile(_0x1b960e[_0x392835(0x1b5)]),{lockData:_0x17b291,appLock:_0x555931}=ensurePageLockScope(_0x4154f3??createEmptyPageLock(),_0x2800e8['appCode']),_0x24a12f=getPageIdFlag(_0x2800e8);if(_0x24a12f!==undefined){const _0x1e7c1e=await prepareSinglePush(_0x2800e8,_0x1b960e,_0x555931['pages'][String(_0x24a12f)],_0x24a12f),_0xbe1dc0=await pushPreparedPage(_0x2800e8,_0x1e7c1e);return _0x555931[_0x392835(0x17c)][String(_0xbe1dc0[_0x392835(0x19f)])]=_0xbe1dc0['nextLockEntry'],_0x555931[_0x392835(0x19c)]=new Date()[_0x392835(0x196)](),await writePageLockFile(_0x1b960e[_0x392835(0x1b5)],_0x17b291),{'ok':!![],'message':_0xbe1dc0[_0x392835(0x1a7)]?_0x392835(0x167):'推送成功','data':{'appCode':_0x2800e8[_0x392835(0x16f)],'pushedPages':[{'pageId':_0xbe1dc0[_0x392835(0x19f)],'type':_0xbe1dc0[_0x392835(0x18b)],'title':_0xbe1dc0['title'],'normalized':_0xbe1dc0['normalized']}],'skippedPages':[],'failedPages':[],'totalPushed':0x1,'totalSkipped':0x0,'totalFailed':0x0}};}const _0x5f0a62=await buildBatchPushPlan(_0x2800e8,_0x555931[_0x392835(0x17c)]),_0x3a2cb0=[],_0xa82719=[],_0x3a9008=[];for(const _0x5b9822 of _0x5f0a62['unchanged']){_0xa82719[_0x392835(0x1bc)](_0x5b9822);}for(const _0x2b8b16 of _0x5f0a62[_0x392835(0x197)]){try{const _0x405649=await prepareSinglePush(_0x2800e8,_0x1b960e,_0x555931[_0x392835(0x17c)][String(_0x2b8b16[_0x392835(0x19f)])],_0x2b8b16['pageId'],_0x5f0a62['datasetId']),_0x64f902=await pushPreparedPage(_0x2800e8,_0x405649);_0x555931['pages'][String(_0x64f902['pageId'])]=_0x64f902[_0x392835(0x19a)],_0x3a2cb0['push']({'pageId':_0x64f902[_0x392835(0x19f)],'type':_0x64f902[_0x392835(0x18b)],'title':_0x64f902[_0x392835(0x18d)],'normalized':_0x64f902['normalized']});}catch(_0x38e558){_0x3a9008[_0x392835(0x1bc)]({'pageId':_0x2b8b16['pageId'],'type':_0x2b8b16[_0x392835(0x18b)],'title':_0x2b8b16[_0x392835(0x18d)],'reason':_0x38e558 instanceof Error?_0x38e558[_0x392835(0x16d)]:String(_0x38e558)});}}return _0x555931[_0x392835(0x19c)]=new Date()['toISOString'](),await writePageLockFile(_0x1b960e[_0x392835(0x1b5)],_0x17b291),{'ok':_0x3a9008[_0x392835(0x186)]===0x0||_0x3a2cb0['length']>0x0||_0xa82719[_0x392835(0x186)]>0x0,'message':_0x3a9008[_0x392835(0x186)]>0x0&&_0x3a2cb0[_0x392835(0x186)]>0x0?'部分页面推送失败':_0x3a2cb0[_0x392835(0x186)]>0x0?'推送成功':_0xa82719[_0x392835(0x186)]>0x0&&_0x3a9008[_0x392835(0x186)]===0x0?_0x392835(0x188):_0x3a9008[0x0]?.[_0x392835(0x189)]||_0x392835(0x1b0),'data':{'appCode':_0x2800e8[_0x392835(0x16f)],'pushedPages':_0x3a2cb0,'skippedPages':_0xa82719,'failedPages':_0x3a9008,'totalPushed':_0x3a2cb0[_0x392835(0x186)],'totalSkipped':_0xa82719[_0x392835(0x186)],'totalFailed':_0x3a9008[_0x392835(0x186)]}};}};function a139_0x3acd(_0x492144,_0x3e715c){_0x492144=_0x492144-0x167;const _0x4d7d9d=a139_0x4d7d();let _0x3acdb3=_0x4d7d9d[_0x492144];return _0x3acdb3;}async function buildPushPreview(_0xb4983a){const _0xf78255=a139_0x4aaea9,_0x40ab0b=loadPageProjectConfig(_0xb4983a[_0xf78255(0x16f)]),_0x547caa=await readPageLockFile(_0x40ab0b[_0xf78255(0x1b5)]),{appLock:_0x2ab84a}=ensurePageLockScope(_0x547caa??createEmptyPageLock(),_0xb4983a['appCode']),_0x17b1ef=getPageIdFlag(_0xb4983a);if(_0x17b1ef!==undefined)return{'mode':_0xf78255(0x16e),'items':[await inspectPushPage(_0xb4983a,_0x40ab0b,_0x2ab84a[_0xf78255(0x17c)][String(_0x17b1ef)],_0x17b1ef)]};const _0x217ebb=await buildBatchPushPlan(_0xb4983a,_0x2ab84a[_0xf78255(0x17c)]);return{'mode':_0xf78255(0x174),'datasetCode':_0x217ebb[_0xf78255(0x184)],'items':[..._0x217ebb['unchanged']['map'](_0x59e5f5=>({'pageId':_0x59e5f5['pageId'],'type':_0x59e5f5['type'],'title':_0x59e5f5[_0xf78255(0x18d)],'localPath':_0x59e5f5[_0xf78255(0x170)],'status':_0xf78255(0x1ab),'reason':_0x59e5f5[_0xf78255(0x189)]})),...await Promise[_0xf78255(0x1bb)](_0x217ebb['candidates'][_0xf78255(0x190)](_0x398974=>inspectPushPage(_0xb4983a,_0x40ab0b,_0x2ab84a[_0xf78255(0x17c)][String(_0x398974['pageId'])],_0x398974['pageId'],_0x217ebb[_0xf78255(0x181)])))]};}async function buildBatchPushPlan(_0x3cd373,_0xaefa6b){const _0x22ceb6=a139_0x4aaea9,_0x25dd1b=loadPageProjectConfig(_0x3cd373[_0x22ceb6(0x16f)]),_0x226202=await loadDatasetDetailForPage(_0x3cd373),_0x3168dd=_0x226202['id'],_0x4a62ca=new Set(_0x226202[_0x22ceb6(0x18c)]['filter'](_0x131aa1=>!_0x131aa1['deleted'])[_0x22ceb6(0x190)](_0x569836=>_0x569836['id'])),_0x42b974=Object['values'](_0xaefa6b)[_0x22ceb6(0x183)](_0x5c18bb=>_0x5c18bb[_0x22ceb6(0x1b2)][_0x22ceb6(0x1a4)](_0x3168dd)&&_0x4a62ca[_0x22ceb6(0x1a5)](_0x5c18bb[_0x22ceb6(0x19f)]));if(_0x42b974[_0x22ceb6(0x186)]===0x0)throw CliErrors[_0x22ceb6(0x1b8)]('No\x20local\x20pages\x20found\x20for\x20dataset\x20\x22'+_0x226202['code']+'\x22.',_0x22ceb6(0x1a0)+CLI_BIN_NAME+_0x22ceb6(0x1b4)+_0x226202[_0x22ceb6(0x177)]+_0x22ceb6(0x17d));const _0x2458c4=selectVersionTagGroup(_0x42b974,_0x98faed=>_0x98faed[_0x22ceb6(0x19d)]??null,_0x3cd373[_0x22ceb6(0x1b7)](_0x22ceb6(0x168))),_0x552718=[],_0x2a1349=[];for(const _0x45ed14 of _0x2458c4[_0x22ceb6(0x1ae)]){const _0x493d91=resolvePageFilePath(_0x25dd1b,_0x45ed14[_0x22ceb6(0x19f)],_0x45ed14['type']);if(!await fileExists(_0x493d91)){_0x552718[_0x22ceb6(0x1bc)]({'pageId':_0x45ed14[_0x22ceb6(0x19f)],'type':_0x45ed14['type'],'title':_0x45ed14[_0x22ceb6(0x18d)]});continue;}const _0x163f74=await computePageFileHash(_0x493d91);if(_0x163f74===_0x45ed14['hash']){_0x2a1349[_0x22ceb6(0x1bc)]({'pageId':_0x45ed14[_0x22ceb6(0x19f)],'type':_0x45ed14[_0x22ceb6(0x18b)],'title':_0x45ed14[_0x22ceb6(0x18d)],'localPath':_0x493d91,'reason':_0x22ceb6(0x17f)});continue;}_0x552718[_0x22ceb6(0x1bc)]({'pageId':_0x45ed14['pageId'],'type':_0x45ed14[_0x22ceb6(0x18b)],'title':_0x45ed14['title']});}return{'datasetCode':_0x226202[_0x22ceb6(0x177)],'datasetId':_0x3168dd,'candidates':_0x552718,'unchanged':_0x2a1349};}async function inspectPushPage(_0x1d3f96,_0x3558e8,_0x552556,_0x1c0253,_0x5d4bcc){const _0x28a8b7=a139_0x4aaea9;if(!_0x552556)return{'pageId':_0x1c0253,'type':_0x28a8b7(0x169),'title':_0x28a8b7(0x1b3)+_0x1c0253,'localPath':resolvePageFilePath(_0x3558e8,_0x1c0253,_0x28a8b7(0x169)),'status':'blocked','reason':_0x28a8b7(0x1a0)+CLI_BIN_NAME+_0x28a8b7(0x185)+_0x1c0253+_0x28a8b7(0x1a3)};const _0x7920fa=resolvePageFilePath(_0x3558e8,_0x1c0253,_0x552556[_0x28a8b7(0x18b)]);if(!await fileExists(_0x7920fa))return{'pageId':_0x1c0253,'type':_0x552556[_0x28a8b7(0x18b)],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x195),'reason':_0x28a8b7(0x192)+_0x7920fa};const _0x2fb73e=await readFile(_0x7920fa,_0x28a8b7(0x1ac));try{JSON[_0x28a8b7(0x17e)](_0x2fb73e);}catch{return{'pageId':_0x1c0253,'type':_0x552556[_0x28a8b7(0x18b)],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x195),'reason':_0x28a8b7(0x179)};}const _0x1d2bb3=computePageContentHash(_0x2fb73e);if(_0x1d2bb3===_0x552556[_0x28a8b7(0x180)])return{'pageId':_0x1c0253,'type':_0x552556['type'],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x1ab),'reason':_0x28a8b7(0x17f)};try{const _0xfb7302=await loadPageDetailForPage(_0x1d3f96,_0x1c0253);if(_0x5d4bcc!=null&&!_0xfb7302[_0x28a8b7(0x1b2)]['includes'](_0x5d4bcc))return{'pageId':_0x1c0253,'type':_0x552556['type'],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':'conflict','reason':'Page\x20'+_0x1c0253+_0x28a8b7(0x1a6)};const _0x284339=_0x552556[_0x28a8b7(0x1b6)]!=null&&_0xfb7302[_0x28a8b7(0x1b6)]!=null;if(_0x284339&&_0x552556['pageVersion']!==_0xfb7302[_0x28a8b7(0x1b6)])return{'pageId':_0x1c0253,'type':_0x552556[_0x28a8b7(0x18b)],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x18e),'reason':_0x28a8b7(0x17a)};if(!_0x284339&&computeSerializedSchemaHash(_0xfb7302[_0x28a8b7(0x177)])!==_0x552556[_0x28a8b7(0x180)])return{'pageId':_0x1c0253,'type':_0x552556[_0x28a8b7(0x18b)],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x18e),'reason':'remote\x20schema\x20changed'};}catch(_0x3831d1){return{'pageId':_0x1c0253,'type':_0x552556[_0x28a8b7(0x18b)],'title':_0x552556['title'],'localPath':_0x7920fa,'status':'blocked','reason':_0x3831d1 instanceof Error?_0x3831d1[_0x28a8b7(0x16d)]:String(_0x3831d1)};}return{'pageId':_0x1c0253,'type':_0x552556['type'],'title':_0x552556[_0x28a8b7(0x18d)],'localPath':_0x7920fa,'status':_0x28a8b7(0x193)};}async function prepareSinglePush(_0xb77531,_0x387e14,_0x5ec97e,_0x1db5c2,_0x59dced){const _0x270db1=a139_0x4aaea9;if(!_0x5ec97e)throw CliErrors['validation'](_0x270db1(0x1af)+_0x1db5c2+'.','Run\x20`'+CLI_BIN_NAME+_0x270db1(0x185)+_0x1db5c2+'`\x20first.');const _0x17a856=resolvePageFilePath(_0x387e14,_0x1db5c2,_0x5ec97e['type']);if(!await fileExists(_0x17a856))throw CliErrors['validation'](_0x270db1(0x192)+_0x17a856,_0x270db1(0x1a0)+CLI_BIN_NAME+_0x270db1(0x185)+_0x1db5c2+_0x270db1(0x17d));const _0x4c5744=await readFile(_0x17a856,_0x270db1(0x1ac));try{JSON['parse'](_0x4c5744);}catch{throw CliErrors[_0x270db1(0x1b8)](_0x270db1(0x18a)+_0x17a856);}const _0x5737b8=await loadPageDetailForPage(_0xb77531,_0x1db5c2);if(_0x59dced!=null&&!_0x5737b8[_0x270db1(0x1b2)][_0x270db1(0x1a4)](_0x59dced))throw CliErrors[_0x270db1(0x1b8)]('Page\x20'+_0x1db5c2+_0x270db1(0x198));const _0x530128=_0x5ec97e['pageVersion']!=null&&_0x5737b8[_0x270db1(0x1b6)]!=null;if(_0x530128){if(_0x5ec97e[_0x270db1(0x1b6)]!==_0x5737b8['pageVersion'])throw CliErrors[_0x270db1(0x1b8)](_0x270db1(0x178)+_0x1db5c2+'\x20has\x20changed\x20since\x20last\x20pull.','Run\x20`'+CLI_BIN_NAME+'\x20page\x20pull\x20--id\x20'+_0x1db5c2+_0x270db1(0x17d));}else{const _0x4834a0=computeSerializedSchemaHash(_0x5737b8[_0x270db1(0x177)]);if(_0x4834a0!==_0x5ec97e[_0x270db1(0x180)])throw CliErrors[_0x270db1(0x1b8)](_0x270db1(0x178)+_0x1db5c2+'\x20has\x20changed\x20since\x20last\x20pull.',_0x270db1(0x1a0)+CLI_BIN_NAME+_0x270db1(0x185)+_0x1db5c2+_0x270db1(0x17d));}return{'lockEntry':_0x5ec97e,'localPath':_0x17a856,'localContent':_0x4c5744,'localHash':computePageContentHash(_0x4c5744),'remoteDetail':_0x5737b8};}async function pushPreparedPage(_0x1e4629,_0x2351a5){const _0x1a6ba5=a139_0x4aaea9,_0x1f8832=await updatePage(_0x1e4629[_0x1a6ba5(0x16f)],_0x2351a5[_0x1a6ba5(0x1b1)][_0x1a6ba5(0x19f)],_0x2351a5[_0x1a6ba5(0x187)],_0x2351a5['remoteDetail']['datasetIds']);if(!_0x1f8832)throw CliErrors['apiError'](_0x1a6ba5(0x1a1)+_0x2351a5['remoteDetail'][_0x1a6ba5(0x19f)]);const _0x25ef0b=await loadPageDetailForPage(_0x1e4629,_0x2351a5[_0x1a6ba5(0x1b1)][_0x1a6ba5(0x19f)]),_0x5f5890=serializePageSchemaForFile(_0x25ef0b[_0x1a6ba5(0x177)]);return await writeFile(_0x2351a5[_0x1a6ba5(0x170)],_0x5f5890,_0x1a6ba5(0x1ac)),{'pageId':_0x25ef0b[_0x1a6ba5(0x19f)],'type':_0x25ef0b[_0x1a6ba5(0x18b)],'title':_0x25ef0b[_0x1a6ba5(0x1aa)],'normalized':_0x5f5890!==serializePageSchemaForFile(_0x2351a5[_0x1a6ba5(0x187)]),'nextLockEntry':{'hash':computePageContentHash(_0x5f5890),'pageId':_0x25ef0b['pageId'],'pageVersion':_0x25ef0b[_0x1a6ba5(0x1b6)],'type':_0x25ef0b[_0x1a6ba5(0x18b)],'title':_0x25ef0b[_0x1a6ba5(0x1aa)],'datasetIds':_0x25ef0b[_0x1a6ba5(0x1b2)],'versionTag':_0x25ef0b[_0x1a6ba5(0x19d)]}};}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ export declare const pageReactCreate: CommandDefinition;
@@ -0,0 +1 @@
1
+ const a140_0x399f83=a140_0x1716;(function(_0x486e27,_0x4a4b69){const _0x24f937=a140_0x1716,_0x151589=_0x486e27();while(!![]){try{const _0x3aa3e5=parseInt(_0x24f937(0xa6))/0x1+parseInt(_0x24f937(0x91))/0x2+parseInt(_0x24f937(0xb9))/0x3+-parseInt(_0x24f937(0xa3))/0x4*(-parseInt(_0x24f937(0x9c))/0x5)+parseInt(_0x24f937(0xbc))/0x6*(parseInt(_0x24f937(0xa4))/0x7)+parseInt(_0x24f937(0x8f))/0x8+parseInt(_0x24f937(0x92))/0x9*(-parseInt(_0x24f937(0xbd))/0xa);if(_0x3aa3e5===_0x4a4b69)break;else _0x151589['push'](_0x151589['shift']());}catch(_0x5804e3){_0x151589['push'](_0x151589['shift']());}}}(a140_0x3a59,0x9e70c));import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{buildInitialFiles}from'../../../commands/page/react/template.js';function a140_0x1716(_0x1f65b3,_0x412e9c){_0x1f65b3=_0x1f65b3-0x8f;const _0x3a5991=a140_0x3a59();let _0x171690=_0x3a5991[_0x1f65b3];return _0x171690;}import{createReactPage,getI18nInfo}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{buildReactPageDevelopmentUrl,buildReactPageEditUrl,parseReactPageContent,validateReactPageContent}from'./shared.js';const DEFAULT_REACT_PAGE_LANGUAGES=['zh-CN',a140_0x399f83(0x9e)];function a140_0x3a59(){const _0x7993ef=['parent-menu-id','string','--parent-menu-id\x20must\x20be\x20a\x20positive\x20integer.','appCode','trim','files','1474765EtQZoo','pageName','en-US','Optional\x20React\x20custom\x20page\x20name\x20(1-100\x20characters)','input','pageId','Optional\x20parent\x20menu\x20id\x20when\x20creating\x20a\x20menu\x20entry','12vJxMXk','1393PKjCJX','page-content','760946rPxwwH','createMenu','menuPath','pageName\x20cannot\x20exceed\x20100\x20characters.','Would\x20create\x20React\x20custom\x20page\x20','parentMenuId','write','warnings','React\x20custom\x20page\x20creation\x20did\x20not\x20return\x20a\x20valid\x20pageId.','/smartapi/webcode/page/create','isInteger','Create\x20a\x20React\x20custom\x20page\x20with\x20starter\x20files','react-create','自定义页面_','keys','version','compress','stringify','validation','298629KYgxUm','isNaN','str','15522aechZx','15899430DgHveM','React\x20custom\x20page\x20was\x20created,\x20but\x20a\x20link\x20to\x20its\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','length','apiError','6225816xaCnoL','enableI18n','1580940SPzaku','18RJzMGj','page','langs','POST'];a140_0x3a59=function(){return _0x7993ef;};return a140_0x3a59();}export const pageReactCreate={'service':a140_0x399f83(0x93),'command':a140_0x399f83(0xb2),'description':a140_0x399f83(0xb1),'risk':a140_0x399f83(0xac),'defaultOutputFormat':a140_0x399f83(0xb6),'structuredErrors':!![],'flags':[{'name':'name','type':a140_0x399f83(0x97),'description':a140_0x399f83(0x9f)},{'name':a140_0x399f83(0x96),'type':'number','description':a140_0x399f83(0xa2)},{'name':a140_0x399f83(0xa5),'type':a140_0x399f83(0x97),'description':'Optional\x20complete\x20page\x20files\x20as\x20JSON'},APPCODE_FLAG],async 'validate'(_0x4cc8ae){const _0x370362=a140_0x399f83;await validateReactPageContent(readInput(_0x4cc8ae)[_0x370362(0x9b)]);},async 'dryRun'(_0x581c85){const _0x13764b=a140_0x399f83,{input:_0x47a645}=await prepare(_0x581c85);return{'method':_0x13764b(0x95),'url':_0x13764b(0xaf),'body':{'appCode':_0x47a645[_0x13764b(0x99)],'pageName':_0x47a645[_0x13764b(0x9d)],..._0x47a645[_0x13764b(0xab)]!=null?{'parentMenuId':_0x47a645['parentMenuId']}:{},'createMenu':_0x47a645[_0x13764b(0xa7)],'codeContent':_0x47a645[_0x13764b(0x9b)]},'description':_0x13764b(0xaa)+JSON[_0x13764b(0xb7)](_0x47a645[_0x13764b(0x9d)])+'\x20and\x20its\x20menu\x20entry.'};},async 'execute'(_0xf5e452){const _0x3cb852=a140_0x399f83,_0x1be02a=await prepare(_0xf5e452),_0x3dfd5e=await createReactPage(_0x1be02a[_0x3cb852(0xa0)]);if(!Number[_0x3cb852(0xb0)](_0x3dfd5e['pageId'])||_0x3dfd5e[_0x3cb852(0xa1)]<=0x0)throw CliErrors[_0x3cb852(0xc0)](_0x3cb852(0xae));return{'ok':!![],'data':buildMutationData(_0x1be02a,_0x3dfd5e),'message':'Created\x20React\x20custom\x20page\x20'+_0x3dfd5e[_0x3cb852(0xa1)]+'.'};}};async function prepare(_0x4895c5){const _0x63b0f1=a140_0x399f83;if(_0x4895c5['str'](_0x63b0f1(0xa5))[_0x63b0f1(0x9a)]())return{'input':readInput(_0x4895c5),'warnings':[]};let _0xd9f7cc=DEFAULT_REACT_PAGE_LANGUAGES,_0x1a59e0=[];try{const _0x1f3e3c=await getI18nInfo(_0x4895c5['appCode']);_0x1f3e3c[_0x63b0f1(0x90)]&&_0x1f3e3c['langs']?.['length']&&(_0xd9f7cc=_0x1f3e3c[_0x63b0f1(0x94)]);}catch{_0x1a59e0=['Application\x20language\x20settings\x20could\x20not\x20be\x20read;\x20default\x20Chinese\x20and\x20English\x20language\x20files\x20were\x20generated.'];}return{'input':readInput(_0x4895c5,_0xd9f7cc),'warnings':_0x1a59e0};}function readInput(_0x3f4557,_0x2dafac=DEFAULT_REACT_PAGE_LANGUAGES){const _0x4f94b2=a140_0x399f83,_0x13cdd3=_0x3f4557[_0x4f94b2(0xbb)]('name')['trim']()||_0x4f94b2(0xb3)+Date['now']();if(_0x13cdd3[_0x4f94b2(0xbf)]>0x64)throw CliErrors[_0x4f94b2(0xb8)](_0x4f94b2(0xa9));const _0xee39d3=_0x3f4557['num']('parent-menu-id',NaN),_0x29d036=!Number[_0x4f94b2(0xba)](_0xee39d3);if(_0x29d036&&(!Number[_0x4f94b2(0xb0)](_0xee39d3)||_0xee39d3<=0x0))throw CliErrors[_0x4f94b2(0xb8)](_0x4f94b2(0x98));const _0x29f4c9=_0x3f4557['str'](_0x4f94b2(0xa5));return{'appCode':_0x3f4557[_0x4f94b2(0x99)],'pageName':_0x13cdd3,..._0x29d036?{'parentMenuId':_0xee39d3}:{},'createMenu':!![],'files':_0x29f4c9[_0x4f94b2(0x9a)]()?parseReactPageContent(_0x29f4c9):buildInitialFiles(_0x13cdd3,_0x2dafac)};}function buildMutationData(_0x280610,_0x38c0a1){const _0x1eb1c5=a140_0x399f83,{input:_0xd7e08e}=_0x280610,_0x189e41=_0x38c0a1&&buildReactPageDevelopmentUrl(_0xd7e08e[_0x1eb1c5(0x99)],_0x38c0a1['menuPath']),_0xa92656=_0x38c0a1&&buildReactPageEditUrl(_0xd7e08e['appCode'],_0x38c0a1['pageId']);return{'operation':'page.react-create','selector':{'appCode':_0xd7e08e[_0x1eb1c5(0x99)],'pageName':_0xd7e08e[_0x1eb1c5(0x9d)]},'before':null,'after':{'pageId':_0x38c0a1?.[_0x1eb1c5(0xa1)]??null,'pageName':_0x38c0a1?.['pageName']??_0xd7e08e[_0x1eb1c5(0x9d)],'appCode':_0x38c0a1?.[_0x1eb1c5(0x99)]??_0xd7e08e[_0x1eb1c5(0x99)],'version':_0x38c0a1?.[_0x1eb1c5(0xb5)]??null,'menuId':_0x38c0a1?.['menuId']??null,'menuPath':_0x38c0a1?.[_0x1eb1c5(0xa8)]??null,'files':_0x38c0a1?.[_0x1eb1c5(0x9b)]??Object[_0x1eb1c5(0xb4)](_0xd7e08e[_0x1eb1c5(0x9b)])},'dryRun':_0x38c0a1===undefined,'request':_0xd7e08e,..._0x189e41?{'pageUrl':_0x189e41}:{},..._0xa92656?{'editPageUrl':_0xa92656}:{},'warnings':[..._0x280610[_0x1eb1c5(0xad)],..._0x38c0a1&&!_0x189e41?[_0x1eb1c5(0xbe)]:[]]};}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ export declare const pageReactDetail: CommandDefinition;
@@ -0,0 +1 @@
1
+ function a141_0x573e(_0x46d5ad,_0x4ba591){_0x46d5ad=_0x46d5ad-0x195;const _0x5f1d5c=a141_0x5f1d();let _0x573edb=_0x5f1d5c[_0x46d5ad];return _0x573edb;}function a141_0x5f1d(){const _0x4b6809=['48XtTjmR','getSeconds','4DFWryk','139396HjFiTi','number','getTime','appcode','getMinutes','76915EMPCLZ','compress','str','148ltiixU','join','padStart','isNaN','2059210qCXHCs','cookie','pageCode','read','trim','getDate','770280OODeYu','695214eRclvP','Show\x20a\x20React\x20custom\x20page\x20and\x20all\x20of\x20its\x20files','page','getMonth','930393BKQHFR','27Taiykt','16932828lQxSnj'];a141_0x5f1d=function(){return _0x4b6809;};return a141_0x5f1d();}const a141_0x5cda2d=a141_0x573e;(function(_0x300e8c,_0x537b75){const _0x38517d=a141_0x573e,_0x403068=_0x300e8c();while(!![]){try{const _0x177f4e=-parseInt(_0x38517d(0x1a0))/0x1*(parseInt(_0x38517d(0x19f))/0x2)+-parseInt(_0x38517d(0x19a))/0x3+parseInt(_0x38517d(0x1a8))/0x4*(parseInt(_0x38517d(0x1a5))/0x5)+parseInt(_0x38517d(0x196))/0x6+-parseInt(_0x38517d(0x195))/0x7*(parseInt(_0x38517d(0x19d))/0x8)+parseInt(_0x38517d(0x19b))/0x9*(-parseInt(_0x38517d(0x1ac))/0xa)+parseInt(_0x38517d(0x19c))/0xb;if(_0x177f4e===_0x537b75)break;else _0x403068['push'](_0x403068['shift']());}catch(_0x563710){_0x403068['push'](_0x403068['shift']());}}}(a141_0x5f1d,0x57456));import{getReactPageSource}from'../../../core/api-client.js';import{buildReactPageEditUrl,buildReactPageRuntimeUrl,readReactPageId,REACT_PAGE_APPCODE_FLAG_OPTIONAL,resolveReactPageDevelopmentUrl}from'./shared.js';export const pageReactDetail={'service':a141_0x5cda2d(0x198),'command':'react-detail','description':a141_0x5cda2d(0x197),'risk':a141_0x5cda2d(0x1af),'defaultOutputFormat':a141_0x5cda2d(0x1a6),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':a141_0x5cda2d(0x1a1),'required':!![],'description':'React\x20custom\x20page\x20ID'},REACT_PAGE_APPCODE_FLAG_OPTIONAL],async 'validate'(_0x543647){readReactPageId(_0x543647);},async 'execute'(_0x10c296){const _0x301fe5=a141_0x5cda2d,_0x49a361=readReactPageId(_0x10c296),_0x20037b=await getReactPageSource(_0x49a361),{bundle:_0x4b32f0,createTime:_0x38ac8e,updateTime:_0x44f75c,..._0x380f7e}=_0x20037b,_0x59967d=_0x20037b['id']??_0x49a361,_0x269e8a=_0x20037b['appCode']?.[_0x301fe5(0x1b0)]()||_0x10c296[_0x301fe5(0x1a7)](_0x301fe5(0x1a3))[_0x301fe5(0x1b0)](),_0x7bcc4e=buildReactPageRuntimeUrl(_0x269e8a,_0x20037b[_0x301fe5(0x1ae)]),_0x733ba7=buildReactPageEditUrl(_0x269e8a,_0x59967d),_0x1750ff=await resolveReactPageDevelopmentUrl(_0x269e8a,_0x59967d,_0x10c296[_0x301fe5(0x1ad)]);return{'ok':!![],'data':{..._0x380f7e,..._0x7bcc4e?{'runtimePageUrl':_0x7bcc4e}:{},..._0x1750ff?{'pageUrl':_0x1750ff}:{},..._0x733ba7?{'editPageUrl':_0x733ba7}:{},..._0x38ac8e==null?{}:{'createTime':formatTime(_0x38ac8e)},..._0x44f75c==null?{}:{'updateTime':formatTime(_0x44f75c)}},'message':'Retrieved\x20React\x20custom\x20page\x20'+_0x49a361+'.'};}};function formatTime(_0x57dbc7){const _0x5eab45=a141_0x5cda2d,_0x37b6a7=new Date(_0x57dbc7);if(Number[_0x5eab45(0x1ab)](_0x37b6a7[_0x5eab45(0x1a2)]()))return String(_0x57dbc7);const _0x504b6f=[_0x37b6a7['getFullYear'](),String(_0x37b6a7[_0x5eab45(0x199)]()+0x1)[_0x5eab45(0x1aa)](0x2,'0'),String(_0x37b6a7[_0x5eab45(0x1b1)]())[_0x5eab45(0x1aa)](0x2,'0')][_0x5eab45(0x1a9)]('-'),_0x4c6db7=[String(_0x37b6a7['getHours']())['padStart'](0x2,'0'),String(_0x37b6a7[_0x5eab45(0x1a4)]())[_0x5eab45(0x1aa)](0x2,'0'),String(_0x37b6a7[_0x5eab45(0x19e)]())[_0x5eab45(0x1aa)](0x2,'0')]['join'](':');return _0x504b6f+'\x20'+_0x4c6db7;}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ export declare const pageReactList: CommandDefinition;
@@ -0,0 +1 @@
1
+ const a142_0x416d8d=a142_0x3c62;(function(_0x1345bc,_0x4e008f){const _0x7a85b0=a142_0x3c62,_0x397959=_0x1345bc();while(!![]){try{const _0x57bc6f=-parseInt(_0x7a85b0(0x1cb))/0x1+-parseInt(_0x7a85b0(0x1c3))/0x2*(-parseInt(_0x7a85b0(0x1c9))/0x3)+-parseInt(_0x7a85b0(0x1b9))/0x4+parseInt(_0x7a85b0(0x1c6))/0x5+-parseInt(_0x7a85b0(0x1c0))/0x6+-parseInt(_0x7a85b0(0x1cd))/0x7+parseInt(_0x7a85b0(0x1c8))/0x8;if(_0x57bc6f===_0x4e008f)break;else _0x397959['push'](_0x397959['shift']());}catch(_0x3e4f3d){_0x397959['push'](_0x397959['shift']());}}}(a142_0x2670,0x884ec));function a142_0x2670(){const _0x658419=['pageId','List\x20React\x20custom\x20pages\x20in\x20the\x20current\x20app','120QvDbfq','label','page','394895PLnwvQ','react-list','12275552fOZlkc','46179iYPMOE','type','205105LWJJar','compress','6762287vgsrOq','644692dRcUbG','length','No\x20React\x20custom\x20pages\x20found.','Found\x20','appCode','cookie','read','3878208JIcoAz'];a142_0x2670=function(){return _0x658419;};return a142_0x2670();}import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../../commands/menu/shared/facts.js';function a142_0x3c62(_0x28489a,_0x353f9b){_0x28489a=_0x28489a-0x1b9;const _0x267023=a142_0x2670();let _0x3c6214=_0x267023[_0x28489a];return _0x3c6214;}import{buildReactPageDevelopmentUrl,buildReactPageEditUrl}from'./shared.js';export const pageReactList={'service':a142_0x416d8d(0x1c5),'command':a142_0x416d8d(0x1c7),'description':a142_0x416d8d(0x1c2),'risk':a142_0x416d8d(0x1bf),'defaultOutputFormat':a142_0x416d8d(0x1cc),'structuredErrors':!![],'flags':[APPCODE_FLAG],async 'execute'(_0x552f58){const _0x3957e4=a142_0x416d8d,_0xfdf591=(await fetchMenuSnapshot(_0x552f58[_0x3957e4(0x1bd)],_0x552f58[_0x3957e4(0x1be)]))['menus']['flatMap'](_0x4e2f91=>{const _0x393f79=_0x3957e4;if(_0x4e2f91[_0x393f79(0x1ca)]!=='react'||_0x4e2f91[_0x393f79(0x1c1)]==null)return[];const _0x25a5dd=buildReactPageDevelopmentUrl(_0x552f58[_0x393f79(0x1bd)],_0x4e2f91['path']),_0x2c7b64=buildReactPageEditUrl(_0x552f58['appCode'],_0x4e2f91[_0x393f79(0x1c1)]);return[{'pageId':_0x4e2f91[_0x393f79(0x1c1)],'label':_0x4e2f91[_0x393f79(0x1c4)],..._0x25a5dd?{'pageUrl':_0x25a5dd}:{},..._0x2c7b64?{'editPageUrl':_0x2c7b64}:{}}];});return{'ok':!![],'data':{'pages':_0xfdf591},'message':_0xfdf591[_0x3957e4(0x1ba)]===0x0?_0x3957e4(0x1bb):_0x3957e4(0x1bc)+_0xfdf591[_0x3957e4(0x1ba)]+'\x20React\x20custom\x20page(s).'};}};
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ export declare const pageReactPublish: CommandDefinition;
@@ -0,0 +1 @@
1
+ const a143_0x7e2102=a143_0x2252;(function(_0x5defaf,_0x1f6245){const _0xe50d67=a143_0x2252,_0x136052=_0x5defaf();while(!![]){try{const _0xa018c2=-parseInt(_0xe50d67(0x164))/0x1*(-parseInt(_0xe50d67(0x16a))/0x2)+parseInt(_0xe50d67(0x17f))/0x3*(-parseInt(_0xe50d67(0x17c))/0x4)+parseInt(_0xe50d67(0x173))/0x5*(-parseInt(_0xe50d67(0x16d))/0x6)+parseInt(_0xe50d67(0x171))/0x7*(-parseInt(_0xe50d67(0x17a))/0x8)+parseInt(_0xe50d67(0x16f))/0x9+parseInt(_0xe50d67(0x16c))/0xa*(-parseInt(_0xe50d67(0x168))/0xb)+parseInt(_0xe50d67(0x181))/0xc;if(_0xa018c2===_0x1f6245)break;else _0x136052['push'](_0x136052['shift']());}catch(_0x40a8d5){_0x136052['push'](_0x136052['shift']());}}}(a143_0x5dce,0xe3972));function a143_0x5dce(){const _0x21169b=['1530376QKVODx','appCode','4DkazEp','Published\x20React\x20custom\x20page\x20','runtimePageUrl','3493422YVjxwB','page.react-publish','29726964eBKpeX','apiError','React\x20custom\x20page\x20publish\x20did\x20not\x20reach\x20published\x20status:\x20','Optional\x20publish\x20remark','page','react-publish','/smartapi/webcode/file/publish','pageId','Published\x20successfully,\x20but\x20a\x20link\x20to\x20the\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','21XHgJvP','trim','push','status','289729Dlokmi','unknown','82278LhlvMD','high-risk-write','170ZtXOCJ','10038WwCQDC','pageCode','13579011lRAWRH','isInteger','42nGCdiN','compress','3460tdGGuY','number','string','str','cookie','remark','FORMAL'];a143_0x5dce=function(){return _0x21169b;};return a143_0x5dce();}import{getReactPageSource,publishReactPage}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a143_0x2252(_0x8b5a4a,_0x1bb994){_0x8b5a4a=_0x8b5a4a-0x161;const _0x5dcea5=a143_0x5dce();let _0x22529b=_0x5dcea5[_0x8b5a4a];return _0x22529b;}import{buildReactPageEditUrl,buildReactPageRuntimeUrl,readReactPageId,resolveReactPageDevelopmentUrl}from'./shared.js';export const pageReactPublish={'service':a143_0x7e2102(0x185),'command':a143_0x7e2102(0x186),'description':'Publish\x20the\x20latest\x20saved\x20content\x20of\x20a\x20React\x20custom\x20page','risk':a143_0x7e2102(0x16b),'defaultOutputFormat':a143_0x7e2102(0x172),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':a143_0x7e2102(0x174),'required':!![],'description':'React\x20custom\x20page\x20ID'},{'name':a143_0x7e2102(0x178),'type':a143_0x7e2102(0x175),'description':a143_0x7e2102(0x184)}],async 'validate'(_0x5d9f44){readReactPageId(_0x5d9f44);},async 'dryRun'(_0x4c9871){const _0x2993f4=a143_0x7e2102,_0x463361=readInput(_0x4c9871);return{'method':'POST','url':_0x2993f4(0x161),'body':{'id':_0x463361[_0x2993f4(0x162)],..._0x463361['remark']?{'remark':_0x463361[_0x2993f4(0x178)]}:{}},'description':'Would\x20publish\x20React\x20custom\x20page\x20'+_0x463361['pageId']+'.'};},async 'execute'(_0x3d459a){const _0x240423=a143_0x7e2102,_0x26fe16=readInput(_0x3d459a);await getReactPageSource(_0x26fe16['pageId']);const _0x3d3d15=await publishReactPage(_0x26fe16);if(!Number[_0x240423(0x170)](_0x3d3d15)||_0x3d3d15!==_0x26fe16[_0x240423(0x162)])throw CliErrors[_0x240423(0x182)]('React\x20custom\x20page\x20publish\x20did\x20not\x20return\x20the\x20expected\x20page\x20ID.');const _0x4a4ecd=await getReactPageSource(_0x26fe16[_0x240423(0x162)]);if(_0x4a4ecd[_0x240423(0x167)]!==_0x240423(0x179))throw CliErrors[_0x240423(0x182)](_0x240423(0x183)+(_0x4a4ecd[_0x240423(0x167)]??_0x240423(0x169))+'.');const _0x2b5423=_0x4a4ecd['appCode']?.[_0x240423(0x165)](),_0x2357b6=buildReactPageEditUrl(_0x2b5423,_0x26fe16[_0x240423(0x162)]),_0x37e67c=await resolveReactPageDevelopmentUrl(_0x2b5423,_0x26fe16[_0x240423(0x162)],_0x3d459a[_0x240423(0x177)]),_0x190306=buildMutationData(_0x26fe16,!![],_0x37e67c,_0x2357b6);_0x2b5423&&!_0x37e67c&&_0x190306['warnings'][_0x240423(0x166)](_0x240423(0x163));const _0x4b2cf4=buildReactPageRuntimeUrl(_0x4a4ecd[_0x240423(0x17b)],_0x4a4ecd[_0x240423(0x16e)]);return _0x4b2cf4?_0x190306[_0x240423(0x17e)]=_0x4b2cf4:_0x190306['warnings'][_0x240423(0x166)]('Published\x20successfully,\x20but\x20a\x20link\x20to\x20the\x20published\x20page\x20could\x20not\x20be\x20generated.'),{'ok':!![],'data':_0x190306,'message':_0x240423(0x17d)+_0x26fe16[_0x240423(0x162)]+'.'};}};function readInput(_0x13ce3d){const _0x4c5f73=a143_0x7e2102,_0x5444c1=readReactPageId(_0x13ce3d),_0x4e62fa=_0x13ce3d[_0x4c5f73(0x176)]('remark')[_0x4c5f73(0x165)]();return{'pageId':_0x5444c1,..._0x4e62fa?{'remark':_0x4e62fa}:{}};}function buildMutationData(_0xe14e4a,_0xf55dc3=![],_0x948097,_0x9764b8){const _0xc82a95=a143_0x7e2102;return{'operation':_0xc82a95(0x180),'selector':{'pageId':_0xe14e4a[_0xc82a95(0x162)]},'before':null,'after':{'pageId':_0xe14e4a[_0xc82a95(0x162)],'status':_0xc82a95(0x179)},'dryRun':!_0xf55dc3,'request':_0xe14e4a,..._0x948097?{'pageUrl':_0x948097}:{},..._0x9764b8?{'editPageUrl':_0x9764b8}:{},'warnings':[]};}
@@ -0,0 +1,78 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ /**
3
+ * React 页面命令的上下文类型
4
+ */
5
+ export type ReactPageCommandContext = Parameters<NonNullable<CommandDefinition["execute"]>>[0];
6
+ /**
7
+ * 生成页相关命令时可复用的 appCode 可选参数
8
+ */
9
+ export declare const REACT_PAGE_APPCODE_FLAG_OPTIONAL: {
10
+ description: string;
11
+ name: string;
12
+ type: "string" | "boolean" | "number";
13
+ required?: boolean;
14
+ default?: string | boolean | number;
15
+ enum?: string[];
16
+ pattern?: {
17
+ regex: RegExp;
18
+ description: string;
19
+ };
20
+ alias?: string;
21
+ hidden?: boolean;
22
+ };
23
+ /**
24
+ * 构建已发布页面访问地址
25
+ *
26
+ * @param appCode 应用 code
27
+ * @param pageCode 页面 code
28
+ * @returns 当前环境下已发布页面地址,任一为空返回 undefined
29
+ */
30
+ export declare function buildReactPageRuntimeUrl(appCode: string | undefined, pageCode: string | undefined): string | undefined;
31
+ /**
32
+ * 构建最新保存内容查看地址
33
+ *
34
+ * @param appCode 应用 code
35
+ * @param menuPath 页面菜单路径
36
+ * @returns 当前环境最新保存内容查看地址,任一为空返回 undefined
37
+ */
38
+ export declare function buildReactPageDevelopmentUrl(appCode: string | undefined, menuPath: string | undefined | null): string | undefined;
39
+ /**
40
+ * 从菜单事实解析 React 页面最新保存内容查看地址
41
+ *
42
+ * @param appCode 应用 code
43
+ * @param pageId 页面 ID
44
+ * @param cookie 当前认证 cookie
45
+ * @returns 找到对应 React 菜单时返回最新保存内容查看地址,否则返回 undefined
46
+ */
47
+ export declare function resolveReactPageDevelopmentUrl(appCode: string | undefined, pageId: number, cookie: string): Promise<string | undefined>;
48
+ /**
49
+ * 构建页面编辑地址
50
+ *
51
+ * @param appCode 应用 code
52
+ * @param pageId 页面 ID
53
+ * @returns 当前环境页面编辑地址,任一为空返回 undefined
54
+ */
55
+ export declare function buildReactPageEditUrl(appCode: string | undefined, pageId: number | string | undefined): string | undefined;
56
+ /**
57
+ * 解析并校验 page-content 入参
58
+ *
59
+ * @param value 命令参数 `--page-content` 的原始字符串
60
+ * @returns 路径到内容字符串的映射
61
+ * @throws 当缺失、非 JSON 或值不是字符串时抛出校验错误
62
+ */
63
+ export declare function parseReactPageContent(value: string): Record<string, string>;
64
+ /**
65
+ * 校验完整 React 页面文件映射中的源码
66
+ *
67
+ * @param pageContent 路径到文件内容的完整映射
68
+ * @throws 未包含 React 源码或存在基础语法错误时抛出校验错误
69
+ */
70
+ export declare function validateReactPageContent(pageContent: Record<string, string>): Promise<void>;
71
+ /**
72
+ * 读取并校验 React 页面 ID
73
+ *
74
+ * @param ctx 命令执行上下文
75
+ * @returns 正整数 pageId
76
+ * @throws 当 ID 非正整数时抛出校验错误
77
+ */
78
+ export declare function readReactPageId(ctx: ReactPageCommandContext): number;
@@ -0,0 +1 @@
1
+ const a144_0x479852=a144_0x488b;(function(_0x47ffb4,_0x110885){const _0x163982=a144_0x488b,_0x281b60=_0x47ffb4();while(!![]){try{const _0xf42840=-parseInt(_0x163982(0xa8))/0x1+-parseInt(_0x163982(0x9a))/0x2+-parseInt(_0x163982(0xa5))/0x3*(-parseInt(_0x163982(0xa3))/0x4)+parseInt(_0x163982(0x99))/0x5*(parseInt(_0x163982(0x9c))/0x6)+parseInt(_0x163982(0x96))/0x7*(parseInt(_0x163982(0xa0))/0x8)+parseInt(_0x163982(0x94))/0x9+parseInt(_0x163982(0xae))/0xa;if(_0xf42840===_0x110885)break;else _0x281b60['push'](_0x281b60['shift']());}catch(_0x3584e0){_0x281b60['push'](_0x281b60['shift']());}}}(a144_0x17c1,0xbb6c8));import{APPCODE_FLAG_OPTIONAL}from'../../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../../commands/menu/shared/facts.js';function a144_0x488b(_0x10e3ea,_0x2e52a3){_0x10e3ea=_0x10e3ea-0x8e;const _0x17c1dc=a144_0x17c1();let _0x488b23=_0x17c1dc[_0x10e3ea];return _0x488b23;}import{getEnv,isProduction}from'../../../constant/env.js';function a144_0x17c1(){const _0x223465=['322572VWFQlQ','isArray','3DSMBxI','--page-content\x20must\x20be\x20valid\x20JSON.','trim','1244519IYhhoG','https://app.lovrabet.com','validation','file','Optional\x20app\x20code\x20resolved\x20from\x20page\x20ID\x20when\x20omitted','Invalid\x20React\x20page\x20content:\x20','15776940NuAGFr','values','isInteger','/ide/','--id\x20must\x20be\x20a\x20positive\x20integer.','map','type','some','object','length','find','936396puZDCJ','/pages/','8135855XoVuSZ','/web-app/app/','message','5jAIVVf','2467434ayVKHy','react','1927668akRyQt','string','num','flagMissing','8sLLenQ','menus','parse'];a144_0x17c1=function(){return _0x223465;};return a144_0x17c1();}import{getAppBaseUrl}from'../../../constant/domain.js';import{CliErrors}from'../../../errors.js';import{validateReactPageSourceFiles}from'./syntax.js';export const REACT_PAGE_APPCODE_FLAG_OPTIONAL={...APPCODE_FLAG_OPTIONAL,'description':a144_0x479852(0xac)};function trimOptional(_0x1cff0c){const _0x740d69=a144_0x479852;return _0x1cff0c?.[_0x740d69(0xa7)]()||undefined;}export function buildReactPageRuntimeUrl(_0x5911c2,_0x318077){const _0x4d9d73=trimOptional(_0x5911c2),_0x109bc6=trimOptional(_0x318077);if(!_0x4d9d73||!_0x109bc6)return undefined;const _0x19e680=isProduction(getEnv())?_0x4d9d73+'.lovrabet.com':_0x4d9d73+'.daily.lovrabet.com';return'https://'+_0x19e680+'/'+encodeURIComponent(_0x109bc6);}export function buildReactPageDevelopmentUrl(_0x476a4f,_0x32256f){const _0x1bcea5=a144_0x479852,_0x3f2eb3=trimOptional(_0x476a4f),_0x421d7d=trimOptional(_0x32256f);if(!_0x3f2eb3||!_0x421d7d)return undefined;return getAppBaseUrl(_0x3f2eb3)+_0x1bcea5(0x95)+encodeURIComponent(_0x421d7d);}export async function resolveReactPageDevelopmentUrl(_0x4c82f1,_0x1f5b53,_0x43b9d7){const _0x54a340=a144_0x479852,_0x45e688=trimOptional(_0x4c82f1);if(!_0x45e688)return undefined;try{const _0x50c5fa=(await fetchMenuSnapshot(_0x45e688,_0x43b9d7))[_0x54a340(0xa1)][_0x54a340(0x93)](_0x401946=>_0x401946[_0x54a340(0x8f)]===_0x54a340(0x9b)&&_0x401946['pageId']===_0x1f5b53);return buildReactPageDevelopmentUrl(_0x45e688,_0x50c5fa?.['path']);}catch{return undefined;}}export function buildReactPageEditUrl(_0x25fddc,_0x409d5e){const _0x284176=a144_0x479852,_0x37e61d=trimOptional(_0x25fddc);if(!_0x37e61d)return;const _0x1a30de=trimOptional(_0x409d5e==null?undefined:String(_0x409d5e));if(!_0x1a30de)return;const _0x418ce6=isProduction(getEnv())?_0x284176(0xa9):'https://daily.lovrabet.com';return _0x418ce6+_0x284176(0x97)+encodeURIComponent(_0x37e61d)+_0x284176(0xb1)+encodeURIComponent(_0x1a30de);}export function parseReactPageContent(_0x4bf0fa){const _0x2af295=a144_0x479852;if(!_0x4bf0fa[_0x2af295(0xa7)]())throw CliErrors[_0x2af295(0x9f)]('page-content');let _0x9ece26;try{_0x9ece26=JSON[_0x2af295(0xa2)](_0x4bf0fa);}catch{throw CliErrors['validation'](_0x2af295(0xa6));}if(typeof _0x9ece26!==_0x2af295(0x91)||_0x9ece26===null||Array[_0x2af295(0xa4)](_0x9ece26)||Object[_0x2af295(0xaf)](_0x9ece26)[_0x2af295(0x90)](_0x1079e6=>typeof _0x1079e6!==_0x2af295(0x9d)))throw CliErrors[_0x2af295(0xaa)]('--page-content\x20must\x20be\x20a\x20JSON\x20object\x20whose\x20values\x20are\x20file\x20content\x20strings.');return _0x9ece26;}export async function validateReactPageContent(_0x44ee2a){const _0x10b971=a144_0x479852,_0x179ac2=await validateReactPageSourceFiles(_0x44ee2a);if(_0x179ac2[_0x10b971(0x92)]>0x0)throw CliErrors[_0x10b971(0xaa)](_0x10b971(0xad)+_0x179ac2[_0x10b971(0x8e)](_0x425f50=>_0x425f50[_0x10b971(0xab)]+':\x20'+_0x425f50[_0x10b971(0x98)])['join'](';\x20'));}export function readReactPageId(_0x443286){const _0x58ed14=a144_0x479852,_0x10bebb=_0x443286[_0x58ed14(0x9e)]('id');if(!Number[_0x58ed14(0xb0)](_0x10bebb)||_0x10bebb<=0x0)throw CliErrors[_0x58ed14(0xaa)](_0x58ed14(0xb2));return _0x10bebb;}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 页面源码校验返回的标准问题结构
3
+ */
4
+ type ReactPageSourceValidationIssue = {
5
+ file: string;
6
+ message: string;
7
+ };
8
+ /**
9
+ * 校验完整页面文件中的基础源码语法
10
+ *
11
+ * 只验证 JavaScript 和 TypeScript 文件能否解析
12
+ * 引用、类型和运行时行为由页面生成规范中的自检要求负责确认
13
+ *
14
+ * @param pageContent 页面文件路径到内容的映射
15
+ * @returns 按文件聚合的语法问题列表
16
+ */
17
+ export declare function validateReactPageSourceFiles(pageContent: Record<string, string>): Promise<ReactPageSourceValidationIssue[]>;
18
+ export {};
@@ -0,0 +1 @@
1
+ const a145_0x4616b6=a145_0x4cbb;(function(_0x58057e,_0x4d47cd){const _0x422c67=a145_0x4cbb,_0x56d4dc=_0x58057e();while(!![]){try{const _0x55309b=parseInt(_0x422c67(0x12f))/0x1*(-parseInt(_0x422c67(0x13f))/0x2)+parseInt(_0x422c67(0x135))/0x3+-parseInt(_0x422c67(0x133))/0x4+parseInt(_0x422c67(0x13e))/0x5+parseInt(_0x422c67(0x13c))/0x6+-parseInt(_0x422c67(0x137))/0x7+parseInt(_0x422c67(0x141))/0x8*(parseInt(_0x422c67(0x132))/0x9);if(_0x55309b===_0x4d47cd)break;else _0x56d4dc['push'](_0x56d4dc['shift']());}catch(_0xb65ad){_0x56d4dc['push'](_0x56d4dc['shift']());}}}(a145_0x1506,0x86cda));import{format}from'prettier';function a145_0x4cbb(_0x24cba1,_0x242fbf){_0x24cba1=_0x24cba1-0x12f;const _0x1506e8=a145_0x1506();let _0x4cbb0e=_0x1506e8[_0x24cba1];return _0x4cbb0e;}const SOURCE_PARSERS={'.js':a145_0x4616b6(0x13a),'.jsx':a145_0x4616b6(0x13a),'.ts':a145_0x4616b6(0x144),'.tsx':'typescript'},REACT_PAGE_EXTENSIONS=[a145_0x4616b6(0x131),a145_0x4616b6(0x13d)];export async function validateReactPageSourceFiles(_0x279b32){const _0xbdfa21=a145_0x4616b6,_0x2013d0=Object[_0xbdfa21(0x138)](_0x279b32)[_0xbdfa21(0x142)](([_0x41b442])=>getParser(_0x41b442));if(!_0x2013d0[_0xbdfa21(0x134)](([_0x12992d])=>isReactSourceFile(_0x12992d)))return[{'file':_0xbdfa21(0x130),'message':'Missing\x20React\x20source\x20file\x20with\x20extension\x20.jsx\x20or\x20.tsx'}];const _0x4e1f7e=await Promise[_0xbdfa21(0x146)](_0x2013d0[_0xbdfa21(0x143)](async([_0x5dcf58,_0x1ddeb1])=>{const _0x45eb19=_0xbdfa21;try{return await format(_0x1ddeb1,{'parser':getParser(_0x5dcf58)}),undefined;}catch(_0x1290a7){return{'file':_0x5dcf58,'message':_0x1290a7 instanceof Error?_0x1290a7[_0x45eb19(0x13b)]:String(_0x1290a7)};}}));return _0x4e1f7e[_0xbdfa21(0x142)](_0x110460=>_0x110460!==undefined);}function a145_0x1506(){const _0x270abf=['entries','find','babel','message','1361268wlIWvw','.tsx','1615105UeSsLT','15242qjUZrC','trim','40cZQvLI','filter','map','typescript','toLowerCase','all','141XbCYWH','page-content','.jsx','2767653KCrbcT','1523968cfFqko','some','1452345Dnhnam','endsWith','3947244LPTNwN'];a145_0x1506=function(){return _0x270abf;};return a145_0x1506();}function getParser(_0x1ecba3){const _0x2d4bf5=a145_0x4616b6,_0x35a3a9=_0x1ecba3['trim']()['toLowerCase']();return Object[_0x2d4bf5(0x138)](SOURCE_PARSERS)[_0x2d4bf5(0x139)](([_0x3ecda8])=>_0x35a3a9[_0x2d4bf5(0x136)](_0x3ecda8))?.[0x1];}function isReactSourceFile(_0x3feca4){const _0x5a1c8f=a145_0x4616b6,_0x72c2f=_0x3feca4[_0x5a1c8f(0x140)]()[_0x5a1c8f(0x145)]();return REACT_PAGE_EXTENSIONS['some'](_0x112153=>_0x72c2f[_0x5a1c8f(0x136)](_0x112153));}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 组装创建 React 页面所需的完整初始文件集
3
+ *
4
+ * @param pageName 页面名称
5
+ * @param languages 应用启用的语言编码列表
6
+ * @returns 以相对路径为键的初始文件内容
7
+ */
8
+ export declare function buildInitialFiles(pageName: string, languages: string[]): Record<string, string>;
@@ -0,0 +1 @@
1
+ function a146_0x549d(_0x10e317,_0x518208){_0x10e317=_0x10e317-0xe2;const _0x43ba2b=a146_0x43ba();let _0x549d0b=_0x43ba2b[_0x10e317];return _0x549d0b;}(function(_0x44520d,_0x46d2e5){const _0x5cbf39=a146_0x549d,_0x7b2be0=_0x44520d();while(!![]){try{const _0x27afb8=-parseInt(_0x5cbf39(0xf5))/0x1*(parseInt(_0x5cbf39(0xfd))/0x2)+parseInt(_0x5cbf39(0xf8))/0x3+-parseInt(_0x5cbf39(0xf6))/0x4*(-parseInt(_0x5cbf39(0xed))/0x5)+parseInt(_0x5cbf39(0xf7))/0x6+-parseInt(_0x5cbf39(0xe6))/0x7+-parseInt(_0x5cbf39(0xec))/0x8+-parseInt(_0x5cbf39(0xef))/0x9;if(_0x27afb8===_0x46d2e5)break;else _0x7b2be0['push'](_0x7b2be0['shift']());}catch(_0xc7f6ed){_0x7b2be0['push'](_0x7b2be0['shift']());}}}(a146_0x43ba,0xe78f2));function buildIndexFile(_0x5bc021){const _0xcc1211=a146_0x549d;return _0xcc1211(0xe7)+JSON[_0xcc1211(0xea)](_0x5bc021)+_0xcc1211(0xfb);}function a146_0x43ba(){const _0x1e8296=['import\x20React\x20from\x20\x27react\x27;\x0aimport\x20{\x20Card,\x20Typography\x20}\x20from\x20\x27antd\x27;\x0aimport\x20{\x20useSdkClient,\x20useI18n,\x20useNavigate,\x20useLocation\x20}\x20from\x20\x22@/context/app-context\x22;\x0aimport\x20{\x20locales\x20}\x20from\x20\x27../locales\x27;\x0aimport\x20\x27./index.css\x27;\x0a\x0aconst\x20App\x20=\x20()\x20=>\x20{\x0a\x20\x20const\x20client\x20=\x20useSdkClient();\x20//\x20client\x20可以用于获取其他数据集的数据\x0a\x20\x20const\x20$i18n\x20=\x20useI18n();\x20//\x20国际化多语言\x20i18n\x20实例\x0a\x20\x20const\x20navigate\x20=\x20useNavigate();\x20//\x20react-router\x20navigate\x20导航实例\x0a\x20\x20const\x20location\x20=\x20useLocation();\x20//\x20浏览器\x20location\x20实例\x0a\x0a\x20\x20$i18n.addLocale(locales);\x20//\x20添加多语言词包\x0a\x0a\x20\x20return\x20(\x0a\x20\x20\x20\x20<div\x20className=\x22page-container\x22>\x0a\x20\x20\x20\x20\x20\x20<Card>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<Typography>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Typography.Title\x20level={2}>{','Bu\x20bir\x20temel\x20sayfa\x20şablonudur.\x20Bu\x20temaplana\x20dayanarak\x20geliştirilebilir.','export\x20const\x20locales\x20=\x20{\x0a','stringify','id-ID','762136kMrdrB','7485405bMzkul','map','12301830BCsrQx','ja-JP','Ini\x20adalah\x20sebuah\x20halaman\x20dasar.\x20Anda\x20dapat\x20mengembangkan\x20ini.','\x0a};\x0a','zh-CN',',\x0a\x20\x20}','9PCshEo','4zCLeJM','5565654jYslvt','3509151AwvqWn','这是一个基础页面模板,你可以在此基础上进行开发。','en-US','}</Typography.Title>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Typography.Paragraph>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{$i18n.t(\x27pageDescription\x27,\x20\x27这是一个基础页面模板,你可以在此基础上进行开发。\x27)}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</Typography.Paragraph>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</Typography>\x0a\x20\x20\x20\x20\x20\x20</Card>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20);\x0a};\x0a\x0aexport\x20default\x20App;\x0a',':\x20{\x0a\x20\x20\x20\x20','205790jFvfYg','tr-TR','join','This\x20is\x20a\x20basic\x20page\x20template,\x20you\x20can\x20develop\x20based\x20on\x20it.','pageDescription','.page-container\x20{\x0a\x20\x20padding:\x2024px;\x0a\x20\x20background:\x20#f0f2f5;\x0a\x20\x20min-height:\x20100vh;\x0a}\x0a','1804243QJRbUx'];a146_0x43ba=function(){return _0x1e8296;};return a146_0x43ba();}function buildStyleFile(){const _0x3f8fb6=a146_0x549d;return _0x3f8fb6(0xe5);}function buildLocalesFile(_0x448b0c){const _0x14b005=a146_0x549d,_0x22f7ee=_0x448b0c[_0x14b005(0xee)](_0x541122=>{const _0x28982b=_0x14b005;let _0x5ac055='';switch(_0x541122){case _0x28982b(0xf3):_0x5ac055=_0x28982b(0xf9);break;case _0x28982b(0xfa):_0x5ac055='This\x20is\x20a\x20basic\x20page\x20template,\x20you\x20can\x20develop\x20based\x20on\x20it.';break;case _0x28982b(0xf0):_0x5ac055='これは基本ページテンプレートです。あなたは、これに基づいて開発できます。';break;case _0x28982b(0xfe):_0x5ac055=_0x28982b(0xe8);break;case _0x28982b(0xeb):_0x5ac055=_0x28982b(0xf1);break;default:_0x5ac055=_0x28982b(0xe3);}return'\x20\x20'+JSON['stringify'](_0x541122)+_0x28982b(0xfc)+JSON[_0x28982b(0xea)](_0x28982b(0xe4))+':\x20'+JSON[_0x28982b(0xea)](_0x5ac055)+_0x28982b(0xf4);})[_0x14b005(0xe2)](',\x0a');return _0x14b005(0xe9)+_0x22f7ee+_0x14b005(0xf2);}export function buildInitialFiles(_0x2fd7b3,_0x1d63ff){return{'src/app/index.jsx':buildIndexFile(_0x2fd7b3),'src/app/index.css':buildStyleFile(),'src/locales/index.js':buildLocalesFile(_0x1d63ff)};}
@@ -0,0 +1,2 @@
1
+ import type { CommandDefinition } from "../../../framework/types.js";
2
+ export declare const pageReactUpdate: CommandDefinition;
@@ -0,0 +1 @@
1
+ const a147_0x23b0e2=a147_0x18e7;(function(_0x50d002,_0x499fa9){const _0x1680e1=a147_0x18e7,_0x59691c=_0x50d002();while(!![]){try{const _0x149580=-parseInt(_0x1680e1(0x1bd))/0x1*(-parseInt(_0x1680e1(0x1bb))/0x2)+parseInt(_0x1680e1(0x1ba))/0x3*(parseInt(_0x1680e1(0x1bc))/0x4)+-parseInt(_0x1680e1(0x1c8))/0x5*(parseInt(_0x1680e1(0x1d5))/0x6)+parseInt(_0x1680e1(0x1b1))/0x7+parseInt(_0x1680e1(0x1b8))/0x8+-parseInt(_0x1680e1(0x1d2))/0x9+-parseInt(_0x1680e1(0x1b2))/0xa*(parseInt(_0x1680e1(0x1c9))/0xb);if(_0x149580===_0x499fa9)break;else _0x59691c['push'](_0x59691c['shift']());}catch(_0x3c0e6c){_0x59691c['push'](_0x59691c['shift']());}}}(a147_0x3559,0xb703e));import{getReactPageSource,updateReactPageContent}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a147_0x3559(){const _0x4e18ed=['write','cookie','Would\x20save\x20all\x20files\x20of\x20React\x20custom\x20page\x20','React\x20custom\x20page\x20update\x20did\x20not\x20create\x20a\x20new\x20version.','appcode','string','appCode','newVersion','React\x20custom\x20page\x20was\x20updated,\x20but\x20a\x20link\x20to\x20its\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','85wFRXwo','111089QZxHCm','/smartapi/webcode/page/update/content','react-update','POST','trim','Updated\x20React\x20custom\x20page\x20','Cannot\x20determine\x20the\x20appCode\x20for\x20React\x20custom\x20page\x20','React\x20custom\x20page\x20ID','compress','7546896HmIWTo','validation','Complete\x20page\x20files\x20as\x20JSON','111678KHXCvX','page-content','pageId','6276438amRrSI','230uLZssg','page','number','apiError','isInteger','Save\x20all\x20files\x20of\x20a\x20React\x20custom\x20page','2447120nydIXF','str','21UOcqvQ','1505186pOABgU','103860yAVfEi','1qpZWxc','pageContent'];a147_0x3559=function(){return _0x4e18ed;};return a147_0x3559();}import{buildReactPageEditUrl,parseReactPageContent,resolveReactPageDevelopmentUrl,readReactPageId,REACT_PAGE_APPCODE_FLAG_OPTIONAL,validateReactPageContent}from'./shared.js';function a147_0x18e7(_0x186c90,_0x4b8d79){_0x186c90=_0x186c90-0x1af;const _0x355957=a147_0x3559();let _0x18e795=_0x355957[_0x186c90];return _0x18e795;}export const pageReactUpdate={'service':a147_0x23b0e2(0x1b3),'command':a147_0x23b0e2(0x1cb),'description':a147_0x23b0e2(0x1b7),'risk':a147_0x23b0e2(0x1bf),'defaultOutputFormat':a147_0x23b0e2(0x1d1),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':a147_0x23b0e2(0x1b4),'required':!![],'description':a147_0x23b0e2(0x1d0)},{'name':a147_0x23b0e2(0x1af),'type':a147_0x23b0e2(0x1c4),'required':!![],'description':a147_0x23b0e2(0x1d4)},REACT_PAGE_APPCODE_FLAG_OPTIONAL],async 'validate'(_0x657b78){const _0xce78f4=a147_0x23b0e2;readReactPageId(_0x657b78),await validateReactPageContent(parseReactPageContent(_0x657b78['str'](_0xce78f4(0x1af))));},async 'dryRun'(_0x427be8){const _0x38942b=a147_0x23b0e2,_0x4cf216=await readInput(_0x427be8);return{'method':_0x38942b(0x1cc),'url':_0x38942b(0x1ca),'body':{'id':_0x4cf216[_0x38942b(0x1b0)],'codeContent':_0x4cf216[_0x38942b(0x1be)]},'description':_0x38942b(0x1c1)+_0x4cf216[_0x38942b(0x1b0)]+'.'};},async 'execute'(_0xd7d517){const _0x2cd16b=a147_0x23b0e2,_0x37c622=await readInput(_0xd7d517),_0x3426d7=await updateReactPageContent({'pageId':_0x37c622['pageId'],'pageContent':_0x37c622[_0x2cd16b(0x1be)]});if(!Number[_0x2cd16b(0x1b6)](_0x3426d7[_0x2cd16b(0x1c6)])||_0x3426d7[_0x2cd16b(0x1c6)]<=0x0)throw CliErrors[_0x2cd16b(0x1b5)](_0x2cd16b(0x1c2));const _0x43f94e=buildReactPageEditUrl(_0x37c622[_0x2cd16b(0x1c5)],_0x37c622[_0x2cd16b(0x1b0)]),_0x296958=await resolveReactPageDevelopmentUrl(_0x37c622['appCode'],_0x37c622[_0x2cd16b(0x1b0)],_0xd7d517[_0x2cd16b(0x1c0)]);return{'ok':!![],'data':buildMutationData(_0x37c622,_0x3426d7,_0x296958,_0x43f94e,_0x296958?[]:[_0x2cd16b(0x1c7)]),'message':_0x2cd16b(0x1ce)+_0x37c622[_0x2cd16b(0x1b0)]+'.'};}};async function readInput(_0x578d23){const _0x3abbb9=a147_0x23b0e2,_0x4759d0=readReactPageId(_0x578d23),_0x58271b=_0x578d23[_0x3abbb9(0x1b9)](_0x3abbb9(0x1c3))[_0x3abbb9(0x1cd)]()||(await getReactPageSource(_0x4759d0))[_0x3abbb9(0x1c5)]?.[_0x3abbb9(0x1cd)]();if(!_0x58271b)throw CliErrors[_0x3abbb9(0x1d3)](_0x3abbb9(0x1cf)+_0x4759d0+'.');return{'appCode':_0x58271b,'pageId':_0x4759d0,'pageContent':parseReactPageContent(_0x578d23[_0x3abbb9(0x1b9)]('page-content'))};}function buildMutationData(_0x518a02,_0x43b2b2,_0x30bd84,_0x5071e2,_0x55c2e0=[]){const _0x155e03=a147_0x23b0e2;return{'operation':'page.react-update','selector':{'appCode':_0x518a02[_0x155e03(0x1c5)],'pageId':_0x518a02['pageId']},'before':null,'after':{'pageId':_0x43b2b2?.[_0x155e03(0x1b0)]??_0x518a02['pageId'],'version':_0x43b2b2?.[_0x155e03(0x1c6)]??null,'pageContent':_0x518a02[_0x155e03(0x1be)]},'dryRun':_0x43b2b2===undefined,'request':_0x518a02,..._0x30bd84?{'pageUrl':_0x30bd84}:{},..._0x5071e2?{'editPageUrl':_0x5071e2}:{},'warnings':_0x55c2e0};}