@lovrabet/rabetbase-cli 2.4.3 → 2.4.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff-refresh-start.d.ts +2 -0
  87. package/lib/commands/db/diff-refresh-start.js +1 -0
  88. package/lib/commands/db/diff-refresh-status.d.ts +2 -0
  89. package/lib/commands/db/diff-refresh-status.js +1 -0
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/tables.js +1 -1
  95. package/lib/commands/db/test.js +1 -1
  96. package/lib/commands/db/update.js +1 -1
  97. package/lib/commands/doctor.js +1 -1
  98. package/lib/commands/file/index.js +1 -1
  99. package/lib/commands/init/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/shared.js +1 -1
  110. package/lib/commands/kb/update.js +1 -1
  111. package/lib/commands/logs/index.js +1 -1
  112. package/lib/commands/menu/asset-update.js +1 -1
  113. package/lib/commands/menu/delete.js +1 -1
  114. package/lib/commands/menu/external-link-create.js +1 -1
  115. package/lib/commands/menu/external-link-update.js +1 -1
  116. package/lib/commands/menu/group-create.js +1 -1
  117. package/lib/commands/menu/group-update.js +1 -1
  118. package/lib/commands/menu/index.js +1 -1
  119. package/lib/commands/menu/list.js +1 -1
  120. package/lib/commands/menu/move.js +1 -1
  121. package/lib/commands/menu/regroup-start.js +1 -1
  122. package/lib/commands/menu/rename.js +1 -1
  123. package/lib/commands/menu/shared/compare-table.js +1 -1
  124. package/lib/commands/menu/shared/delete-plan.js +1 -1
  125. package/lib/commands/menu/shared/facts.js +1 -1
  126. package/lib/commands/menu/shared/index.js +1 -1
  127. package/lib/commands/menu/shared/inquirer.js +1 -1
  128. package/lib/commands/menu/shared/local-pages.js +1 -1
  129. package/lib/commands/menu/shared/logic.js +1 -1
  130. package/lib/commands/menu/shared/mutations.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/update-core.js +1 -1
  134. package/lib/commands/menu/shared/valid-url.js +1 -1
  135. package/lib/commands/menu/sync.js +1 -1
  136. package/lib/commands/notification/config-create.d.ts +2 -0
  137. package/lib/commands/notification/config-create.js +1 -0
  138. package/lib/commands/notification/config-delete.d.ts +2 -0
  139. package/lib/commands/notification/config-delete.js +1 -0
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.d.ts +2 -0
  142. package/lib/commands/notification/config-update.js +1 -0
  143. package/lib/commands/notification/index.js +1 -1
  144. package/lib/commands/notification/shared.d.ts +97 -0
  145. package/lib/commands/notification/shared.js +1 -0
  146. package/lib/commands/ocr/index.js +1 -1
  147. package/lib/commands/page/generate-start.js +1 -1
  148. package/lib/commands/page/generate-status.js +1 -1
  149. package/lib/commands/page/index.js +1 -1
  150. package/lib/commands/page/pull.js +1 -1
  151. package/lib/commands/page/push.js +1 -1
  152. package/lib/commands/page/react/create.js +1 -1
  153. package/lib/commands/page/react/detail.js +1 -1
  154. package/lib/commands/page/react/list.js +1 -1
  155. package/lib/commands/page/react/publish.js +1 -1
  156. package/lib/commands/page/react/shared.js +1 -1
  157. package/lib/commands/page/react/syntax.js +1 -1
  158. package/lib/commands/page/react/template.js +1 -1
  159. package/lib/commands/page/react/update.js +1 -1
  160. package/lib/commands/page/relation-audit.js +1 -1
  161. package/lib/commands/page/restore.js +1 -1
  162. package/lib/commands/page/shared.js +1 -1
  163. package/lib/commands/page/standard-page-status.js +1 -1
  164. package/lib/commands/page/sync.js +1 -1
  165. package/lib/commands/permit/index.js +1 -1
  166. package/lib/commands/permit/page-get.js +1 -1
  167. package/lib/commands/permit/page-set.js +1 -1
  168. package/lib/commands/permit/role-apis-set.js +1 -1
  169. package/lib/commands/permit/role-menus-set.js +1 -1
  170. package/lib/commands/permit/role-menus.js +1 -1
  171. package/lib/commands/permit/shared.js +1 -1
  172. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  173. package/lib/commands/project/create/format-elapsed.js +1 -1
  174. package/lib/commands/project/create/main.d.ts +1 -0
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.d.ts +11 -0
  177. package/lib/commands/project/create/materialize-project-template.js +1 -0
  178. package/lib/commands/project/create/project-name.d.ts +2 -0
  179. package/lib/commands/project/create/project-name.js +1 -0
  180. package/lib/commands/project/create/project-template-archive.d.ts +6 -0
  181. package/lib/commands/project/create/project-template-archive.js +1 -0
  182. package/lib/commands/project/create/project-template-path.d.ts +1 -3
  183. package/lib/commands/project/create/project-template-path.js +1 -1
  184. package/lib/commands/project/create/use-copy-project-template.d.ts +2 -1
  185. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  186. package/lib/commands/project/create/use-format-code.js +1 -1
  187. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  188. package/lib/commands/project/index.js +1 -1
  189. package/lib/commands/project/upgrade.js +1 -1
  190. package/lib/commands/registry.js +1 -1
  191. package/lib/commands/role/create.js +1 -1
  192. package/lib/commands/role/delete.js +1 -1
  193. package/lib/commands/role/detail.js +1 -1
  194. package/lib/commands/role/index.js +1 -1
  195. package/lib/commands/role/list.js +1 -1
  196. package/lib/commands/role/shared.js +1 -1
  197. package/lib/commands/role/update.js +1 -1
  198. package/lib/commands/role/user-add.js +1 -1
  199. package/lib/commands/role/user-remove.js +1 -1
  200. package/lib/commands/role/user-resolve.js +1 -1
  201. package/lib/commands/run/index.js +1 -1
  202. package/lib/commands/schema.js +1 -1
  203. package/lib/commands/sql/create.js +1 -1
  204. package/lib/commands/sql/delete.js +1 -1
  205. package/lib/commands/sql/detail.js +1 -1
  206. package/lib/commands/sql/exec.js +1 -1
  207. package/lib/commands/sql/index.js +1 -1
  208. package/lib/commands/sql/list.js +1 -1
  209. package/lib/commands/sql/pull.js +1 -1
  210. package/lib/commands/sql/push.js +1 -1
  211. package/lib/commands/sql/shared.js +1 -1
  212. package/lib/commands/sql/status.js +1 -1
  213. package/lib/commands/sql/validate.js +1 -1
  214. package/lib/commands/task/index.js +1 -1
  215. package/lib/commands/task/status.js +1 -1
  216. package/lib/commands/tenant/index.js +1 -1
  217. package/lib/commands/tenant/members-list.js +1 -1
  218. package/lib/commands/tenant/shared.js +1 -1
  219. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  220. package/lib/commands/user-account/index.js +1 -1
  221. package/lib/commands/workspace/add.js +1 -1
  222. package/lib/commands/workspace/index.js +1 -1
  223. package/lib/commands/workspace/remove.js +1 -1
  224. package/lib/config/schema.js +1 -1
  225. package/lib/constant/cdn.d.ts +2 -0
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.js +1 -1
  230. package/lib/constant/env.js +1 -1
  231. package/lib/constant/output.js +1 -1
  232. package/lib/constant/paths.js +1 -1
  233. package/lib/constant/risk.js +1 -1
  234. package/lib/context/app-resolver.js +1 -1
  235. package/lib/context/auth-resolver.js +1 -1
  236. package/lib/context/config-loader.js +1 -1
  237. package/lib/context.d.ts +1 -1
  238. package/lib/context.js +1 -1
  239. package/lib/core/alias-resolver.js +1 -1
  240. package/lib/core/api-client.d.ts +29 -2
  241. package/lib/core/api-client.js +1 -1
  242. package/lib/core/bff/config.js +1 -1
  243. package/lib/core/bff/file-system.js +1 -1
  244. package/lib/core/bff/hash.js +1 -1
  245. package/lib/core/bff/lock.js +1 -1
  246. package/lib/core/bff/utils.js +1 -1
  247. package/lib/core/db-resolver.js +1 -1
  248. package/lib/core/page/file-system.js +1 -1
  249. package/lib/core/page/hash.js +1 -1
  250. package/lib/core/page/lock.js +1 -1
  251. package/lib/core/sql-index-auditor.js +1 -1
  252. package/lib/core/sql-sync/config.js +1 -1
  253. package/lib/core/sql-sync/file-system.js +1 -1
  254. package/lib/core/sql-sync/hash.js +1 -1
  255. package/lib/core/sql-sync/lock.js +1 -1
  256. package/lib/core/sql-sync/utils.js +1 -1
  257. package/lib/core/sql-validator.js +1 -1
  258. package/lib/errors.js +1 -1
  259. package/lib/framework/build-all-flags.js +1 -1
  260. package/lib/framework/error-output.js +1 -1
  261. package/lib/framework/explicit-yes.js +1 -1
  262. package/lib/framework/flags.js +1 -1
  263. package/lib/framework/help.js +1 -1
  264. package/lib/framework/index.js +1 -1
  265. package/lib/framework/output.js +1 -1
  266. package/lib/framework/response.js +1 -1
  267. package/lib/framework/runner-alias.js +1 -1
  268. package/lib/framework/runner.js +1 -1
  269. package/lib/framework/schema-export.js +1 -1
  270. package/lib/framework/types.js +1 -1
  271. package/lib/generated/build-info.d.ts +4 -4
  272. package/lib/generated/build-info.js +1 -1
  273. package/lib/help.js +1 -1
  274. package/lib/postinstall.js +1 -1
  275. package/lib/runtime/confirmation.js +1 -1
  276. package/lib/runtime/event.js +1 -1
  277. package/lib/runtime/index.js +1 -1
  278. package/lib/runtime/queue.js +1 -1
  279. package/lib/runtime/resolve.js +1 -1
  280. package/lib/skills/builtin-skill.js +1 -1
  281. package/lib/skills/main.js +1 -1
  282. package/lib/skills/npx-skills-add.js +1 -1
  283. package/lib/skills/skill-presence.js +1 -1
  284. package/lib/telemetry/cli-command-trace.js +1 -1
  285. package/lib/telemetry/cli-help-trace.js +1 -1
  286. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  287. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  288. package/lib/telemetry/send-cli-trace-log.js +1 -1
  289. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  290. package/lib/utils/ai_config.js +1 -1
  291. package/lib/utils/apply-jq-filter.js +1 -1
  292. package/lib/utils/cdn-config.js +1 -1
  293. package/lib/utils/check-sdk-version.js +1 -1
  294. package/lib/utils/cli-version-check.js +1 -1
  295. package/lib/utils/cli-version-policy.d.ts +13 -0
  296. package/lib/utils/cli-version-policy.js +1 -1
  297. package/lib/utils/config.js +1 -1
  298. package/lib/utils/entity-with-id.js +1 -1
  299. package/lib/utils/file-utils.js +1 -1
  300. package/lib/utils/guides-cdn.js +1 -1
  301. package/lib/utils/http-client.js +1 -1
  302. package/lib/utils/is-non-interactive.js +1 -1
  303. package/lib/utils/logger.js +1 -1
  304. package/lib/utils/params.js +1 -1
  305. package/lib/utils/platform.js +1 -1
  306. package/lib/utils/rules-cdn.js +1 -1
  307. package/lib/utils/sleep.js +1 -1
  308. package/lib/utils/template-replacer.js +1 -1
  309. package/lib/utils/update-notice.js +1 -1
  310. package/lib/utils/version.js +1 -1
  311. package/lib/utils/with-active-cookie.js +1 -1
  312. package/lib/utils/write-cli-side-channel.js +1 -1
  313. package/package.json +9 -4
  314. package/skills/rabetbase/SKILL.md +33 -22
  315. package/skills/rabetbase/guides/backend-function.md +5 -3
  316. package/skills/rabetbase/guides/bff-creation-workflow.md +2 -2
  317. package/skills/rabetbase/guides/conflict-detection.md +2 -2
  318. package/skills/rabetbase/guides/database-connection-workflow.md +39 -5
  319. package/skills/rabetbase/guides/react-custom-page-workflow.md +16 -4
  320. package/skills/rabetbase/guides/sql-creation-workflow.md +4 -2
  321. package/skills/rabetbase/guides/sql-mybatis.md +2 -2
  322. package/skills/rabetbase/knowledge/page-schema/YtPage.md +3 -37
  323. package/skills/rabetbase/knowledge/react-page/generation-standards.md +14 -3
  324. package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
  325. package/skills/rabetbase/references/rabetbase-bff-push.md +4 -5
  326. package/skills/rabetbase/references/rabetbase-bff-save.md +3 -3
  327. package/skills/rabetbase/references/rabetbase-config.md +2 -2
  328. package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
  329. package/skills/rabetbase/references/rabetbase-db-detail.md +3 -0
  330. package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +53 -0
  331. package/skills/rabetbase/references/rabetbase-db-diff.md +40 -21
  332. package/skills/rabetbase/references/rabetbase-db-list.md +1 -1
  333. package/skills/rabetbase/references/rabetbase-kb.md +5 -3
  334. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -10
  335. package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +1 -3
  336. package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +2 -3
  337. package/skills/rabetbase/references/rabetbase-notification-config-list.md +2 -2
  338. package/skills/rabetbase/references/rabetbase-notification-config-mutations.md +56 -0
  339. package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
  340. package/skills/rabetbase/references/rabetbase-page-react-list.md +1 -1
  341. package/skills/rabetbase/references/rabetbase-page-react-publish.md +2 -2
  342. package/skills/rabetbase/references/rabetbase-project-create.md +3 -0
  343. package/skills/rabetbase/references/rabetbase-run.md +1 -1
  344. package/skills/rabetbase/references/rabetbase-sql-create.md +1 -1
  345. package/skills/rabetbase/references/rabetbase-sql-push.md +3 -4
  346. package/skills/rabetbase/references/rabetbase-user-account.md +0 -1
  347. package/skills/rabetbase.manifest.json +5 -5
  348. package/templates/README.md +14 -2
  349. package/lib/commands/project/create/non-interactive.d.ts +0 -9
  350. package/lib/commands/project/create/non-interactive.js +0 -1
  351. package/lib/utils/copy-directory.d.ts +0 -1
  352. package/lib/utils/copy-directory.js +0 -1
  353. package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +0 -291
  354. package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +0 -223
  355. package/templates/projects/sub-app-react-demo/.prettierrc +0 -1
  356. package/templates/projects/sub-app-react-demo/CHANGELOG.md +0 -67
  357. package/templates/projects/sub-app-react-demo/README.md +0 -246
  358. package/templates/projects/sub-app-react-demo/docs/quick-start.md +0 -245
  359. package/templates/projects/sub-app-react-demo/index.html +0 -27
  360. package/templates/projects/sub-app-react-demo/package.json +0 -34
  361. package/templates/projects/sub-app-react-demo/public/logo.svg +0 -1
  362. package/templates/projects/sub-app-react-demo/public/vite.svg +0 -1
  363. package/templates/projects/sub-app-react-demo/src/api/api.ts +0 -26
  364. package/templates/projects/sub-app-react-demo/src/api/client.ts +0 -32
  365. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +0 -28
  366. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +0 -55
  367. package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +0 -308
  368. package/templates/projects/sub-app-react-demo/src/main.tsx +0 -52
  369. package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +0 -570
  370. package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +0 -531
  371. package/templates/projects/sub-app-react-demo/src/pages/index.module.css +0 -500
  372. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +0 -641
  373. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +0 -536
  374. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +0 -295
  375. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +0 -242
  376. package/templates/projects/sub-app-react-demo/src/router/index.tsx +0 -30
  377. package/templates/projects/sub-app-react-demo/src/style.css +0 -108
  378. package/templates/projects/sub-app-react-demo/src/utils/api.ts +0 -12
  379. package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +0 -2
  380. package/templates/projects/sub-app-react-demo/tsconfig.json +0 -26
  381. package/templates/projects/sub-app-react-demo/vite.config.ts +0 -111
@@ -1 +1 @@
1
- function a151_0x597b(){const _0x21f63b=['standard-page-status','2362095MjPduJ','45077OWSAVI','relatedPages','24DgUpsZ','2nsEonE','status','string','18SIvzyw','845747jhRjRD','/standard-page-status?appCode=','read','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','manualResolutionRequired','page','5658230tQBwbY','Query\x20Smart\x20List\x20Page\x20facts\x20for\x20a\x20dataset','2640912aBgRvu','GET','related-pages-fallback','1152305ZidKpK','length','2060kdRfRs','code','appCode','1996lQbAdN'];a151_0x597b=function(){return _0x21f63b;};return a151_0x597b();}function a151_0x521d(_0x184d24,_0x28498c){_0x184d24=_0x184d24-0x12f;const _0x597b3b=a151_0x597b();let _0x521d5e=_0x597b3b[_0x184d24];return _0x521d5e;}const a151_0x4048a1=a151_0x521d;(function(_0x3b0dc0,_0x4f8483){const _0x324c50=a151_0x521d,_0x4d93d9=_0x3b0dc0();while(!![]){try{const _0x484a71=-parseInt(_0x324c50(0x139))/0x1*(parseInt(_0x324c50(0x13c))/0x2)+parseInt(_0x324c50(0x138))/0x3+-parseInt(_0x324c50(0x136))/0x4*(-parseInt(_0x324c50(0x133))/0x5)+parseInt(_0x324c50(0x13b))/0x6*(-parseInt(_0x324c50(0x140))/0x7)+parseInt(_0x324c50(0x148))/0x8*(-parseInt(_0x324c50(0x13f))/0x9)+parseInt(_0x324c50(0x146))/0xa+parseInt(_0x324c50(0x131))/0xb;if(_0x484a71===_0x4f8483)break;else _0x4d93d9['push'](_0x4d93d9['shift']());}catch(_0x4a2cf8){_0x4d93d9['push'](_0x4d93d9['shift']());}}}(a151_0x597b,0x73f3e));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessStandardPageState,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';export const pageStandardPageStatus={'service':a151_0x4048a1(0x145),'command':a151_0x4048a1(0x137),'description':a151_0x4048a1(0x147),'risk':a151_0x4048a1(0x142),'defaultOutputFormat':'compress','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':a151_0x4048a1(0x13e),'description':a151_0x4048a1(0x143)}],async 'validate'(_0x8b80e5){validateDatasetSelector(_0x8b80e5);},async 'dryRun'(_0x5719bb){const _0x56eb5f=a151_0x4048a1,_0x5268e2=await loadDatasetDetailForPage(_0x5719bb);return{'method':_0x56eb5f(0x12f),'url':'/smartapi/lovrabet/dataset/'+_0x5268e2[_0x56eb5f(0x134)]+_0x56eb5f(0x141)+encodeURIComponent(_0x5719bb[_0x56eb5f(0x135)]),'description':serializeDryRunDescription({'dataset':{'id':_0x5268e2['id'],'code':_0x5268e2['code'],'name':_0x5268e2['name']},'action':'query-standard-page-status'})};},async 'execute'(_0xb1fd0f){const _0x4440c4=a151_0x4048a1,_0x39cda6=await loadDatasetDetailForPage(_0xb1fd0f),_0x42d2c5=await loadStandardPageStatusForGenerate(_0xb1fd0f,_0x39cda6[_0x4440c4(0x134)]),_0x55e204=getUndeletedRelatedPages(_0x39cda6),_0x21cbb2=assessStandardPageState(_0x39cda6[_0x4440c4(0x134)],_0x42d2c5,{'fallbackUndeletedPages':_0x55e204});return{'ok':!![],'data':{'datasetCode':_0x39cda6[_0x4440c4(0x134)],'precheckSource':_0x42d2c5?.['source']??_0x4440c4(0x130),'status':_0x21cbb2[_0x4440c4(0x13d)],'manualResolutionRequired':_0x21cbb2[_0x4440c4(0x144)],'nextAction':_0x21cbb2['nextAction'],'standardPageStatus':_0x42d2c5,'relatedPages':{'total':_0x39cda6[_0x4440c4(0x13a)][_0x4440c4(0x132)],'undeletedCount':_0x55e204['length']}}};}};
1
+ const a157_0x3ea44d=a157_0x8df7;(function(_0x5ee77d,_0x32e77c){const _0x4fcd45=a157_0x8df7,_0x554b69=_0x5ee77d();while(!![]){try{const _0x2c2037=parseInt(_0x4fcd45(0x9a))/0x1*(parseInt(_0x4fcd45(0x9d))/0x2)+-parseInt(_0x4fcd45(0x90))/0x3*(parseInt(_0x4fcd45(0x92))/0x4)+-parseInt(_0x4fcd45(0x9c))/0x5+parseInt(_0x4fcd45(0x8f))/0x6*(parseInt(_0x4fcd45(0x94))/0x7)+parseInt(_0x4fcd45(0xa2))/0x8+-parseInt(_0x4fcd45(0x9f))/0x9+parseInt(_0x4fcd45(0x9b))/0xa;if(_0x2c2037===_0x32e77c)break;else _0x554b69['push'](_0x554b69['shift']());}catch(_0x2aa12b){_0x554b69['push'](_0x554b69['shift']());}}}(a157_0x5344,0xa56a0));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessStandardPageState,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';export const pageStandardPageStatus={'service':a157_0x3ea44d(0x9e),'command':a157_0x3ea44d(0x96),'description':a157_0x3ea44d(0x97),'risk':a157_0x3ea44d(0x99),'defaultOutputFormat':a157_0x3ea44d(0xa4),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a157_0x3ea44d(0xa0),'type':'string','description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'}],async 'validate'(_0x4805a2){validateDatasetSelector(_0x4805a2);},async 'dryRun'(_0xc49106){const _0x32d89a=a157_0x3ea44d,_0x1d2f72=await loadDatasetDetailForPage(_0xc49106);return{'method':_0x32d89a(0xa3),'url':_0x32d89a(0xa9)+_0x1d2f72[_0x32d89a(0xa7)]+_0x32d89a(0xa1)+encodeURIComponent(_0xc49106[_0x32d89a(0x98)]),'description':serializeDryRunDescription({'dataset':{'id':_0x1d2f72['id'],'code':_0x1d2f72[_0x32d89a(0xa7)],'name':_0x1d2f72['name']},'action':_0x32d89a(0xa6)})};},async 'execute'(_0x1193cc){const _0x426c12=a157_0x3ea44d,_0x3fc44f=await loadDatasetDetailForPage(_0x1193cc),_0x11bad9=await loadStandardPageStatusForGenerate(_0x1193cc,_0x3fc44f[_0x426c12(0xa7)]),_0x5a330c=getUndeletedRelatedPages(_0x3fc44f),_0x34d880=assessStandardPageState(_0x3fc44f[_0x426c12(0xa7)],_0x11bad9,{'fallbackUndeletedPages':_0x5a330c});return{'ok':!![],'data':{'datasetCode':_0x3fc44f[_0x426c12(0xa7)],'precheckSource':_0x11bad9?.[_0x426c12(0xa8)]??'related-pages-fallback','status':_0x34d880['status'],'manualResolutionRequired':_0x34d880[_0x426c12(0xa5)],'nextAction':_0x34d880[_0x426c12(0x91)],'standardPageStatus':_0x11bad9,'relatedPages':{'total':_0x3fc44f[_0x426c12(0x93)][_0x426c12(0x95)],'undeletedCount':_0x5a330c[_0x426c12(0x95)]}}};}};function a157_0x8df7(_0xa8f911,_0x3ef170){_0xa8f911=_0xa8f911-0x8f;const _0x5344d0=a157_0x5344();let _0x8df7c9=_0x5344d0[_0xa8f911];return _0x8df7c9;}function a157_0x5344(){const _0x164b62=['manualResolutionRequired','query-standard-page-status','code','source','/smartapi/lovrabet/dataset/','5491482rxBqQu','68559rhVMQQ','nextAction','224UPCwZK','relatedPages','7lnhwes','length','standard-page-status','Query\x20Smart\x20List\x20Page\x20facts\x20for\x20a\x20dataset','appCode','read','1541qAgEWM','12960620fkHckO','2122710mdzsfr','2EKpPnP','page','4194801isZPFT','alias','/standard-page-status?appCode=','5080680aPHfPF','GET','compress'];a157_0x5344=function(){return _0x164b62;};return a157_0x5344();}
@@ -1 +1 @@
1
- const a152_0x38b7be=a152_0x4d07;(function(_0x6f6a84,_0x6f18a4){const _0x48fa74=a152_0x4d07,_0x36f629=_0x6f6a84();while(!![]){try{const _0x2fe2c3=parseInt(_0x48fa74(0x185))/0x1*(parseInt(_0x48fa74(0x171))/0x2)+-parseInt(_0x48fa74(0x16d))/0x3*(parseInt(_0x48fa74(0x182))/0x4)+-parseInt(_0x48fa74(0x18a))/0x5*(parseInt(_0x48fa74(0x181))/0x6)+parseInt(_0x48fa74(0x16e))/0x7+-parseInt(_0x48fa74(0x17e))/0x8*(-parseInt(_0x48fa74(0x176))/0x9)+-parseInt(_0x48fa74(0x17d))/0xa*(-parseInt(_0x48fa74(0x174))/0xb)+-parseInt(_0x48fa74(0x16f))/0xc*(-parseInt(_0x48fa74(0x17b))/0xd);if(_0x2fe2c3===_0x6f18a4)break;else _0x36f629['push'](_0x36f629['shift']());}catch(_0x1f5824){_0x36f629['push'](_0x36f629['shift']());}}}(a152_0x4c44,0x2d876));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a152_0x4d07(_0x6e8dfd,_0x49f61c){_0x6e8dfd=_0x6e8dfd-0x16c;const _0x4c44b0=a152_0x4c44();let _0x4d075b=_0x4c44b0[_0x6e8dfd];return _0x4d075b;}import{loadDatasetDetailForPage,prepareDatasetAction,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{syncStandardPages}from'../../core/api-client.js';export const pageSync={'service':a152_0x38b7be(0x183),'command':'sync','description':a152_0x38b7be(0x172),'risk':a152_0x38b7be(0x189),'defaultOutputFormat':a152_0x38b7be(0x175),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a152_0x38b7be(0x180),'type':a152_0x38b7be(0x17c),'description':a152_0x38b7be(0x17a)}],async 'validate'(_0x5b34e3){validateDatasetSelector(_0x5b34e3);},async 'dryRun'(_0x540df1){const _0x204faa=a152_0x38b7be,_0x3577e5=await prepare(_0x540df1);return{'method':'POST','url':_0x204faa(0x187)+_0x3577e5['dataset']['code']+_0x204faa(0x178),'body':{'appCode':_0x540df1[_0x204faa(0x170)]},'description':serializeDryRunDescription({'dataset':{'id':_0x3577e5[_0x204faa(0x18b)]['id'],'code':_0x3577e5[_0x204faa(0x18b)][_0x204faa(0x188)],'name':_0x3577e5[_0x204faa(0x18b)][_0x204faa(0x17f)],'fieldCount':_0x3577e5[_0x204faa(0x18b)][_0x204faa(0x186)]},'relatedPages':{'total':_0x3577e5[_0x204faa(0x18b)]['relatedPages']['length'],'undeletedCount':_0x3577e5['undeletedPages']['length']},'action':_0x204faa(0x16c),'reason':_0x3577e5[_0x204faa(0x179)][_0x204faa(0x184)]+'\x20undeleted\x20related\x20page(s)\x20found'})};},async 'execute'(_0x352be0){const _0x5449bd=a152_0x38b7be,_0xa6328a=await prepare(_0x352be0),_0x2d8c72=await syncStandardPages(_0x352be0[_0x5449bd(0x170)],_0xa6328a[_0x5449bd(0x18b)][_0x5449bd(0x188)]),_0x538b8b=Array[_0x5449bd(0x177)](_0x2d8c72['failedPages'])&&_0x2d8c72[_0x5449bd(0x173)][_0x5449bd(0x184)]>0x0,_0x4ee1d0=_0x538b8b?'部分页面同步失败':'同步成功';return{'ok':!![],'message':_0x4ee1d0,'data':{'datasetCode':_0xa6328a[_0x5449bd(0x18b)][_0x5449bd(0x188)],..._0x2d8c72}};}};async function prepare(_0x4c2639){const _0x5c25ea=a152_0x38b7be,_0x1be1d8=await loadDatasetDetailForPage(_0x4c2639);return prepareDatasetAction(_0x1be1d8,_0x5c25ea(0x16c));}function a152_0x4c44(){const _0x565fed=['5GYXlDY','dataset','sync','876969yEfVKI','648025FERINa','2428548IvWFlz','appCode','14aayMEr','Sync\x20dataset\x20changes\x20to\x20related\x20Smart\x20List\x20Pages','failedPages','781dVMKbW','compress','189KDSmWt','isArray','/sync-to-pages','undeletedPages','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','13Ybhjwx','string','28170gHwEfo','71232OrtvJZ','name','alias','1835292LjpKwE','4zJylIv','page','length','14678PEoUgr','fieldCount','/smartapi/lovrabet/dataset/','code','write'];a152_0x4c44=function(){return _0x565fed;};return a152_0x4c44();}
1
+ const a158_0x87765f=a158_0x30fd;(function(_0x3f8f64,_0x6bcb02){const _0x59d9fd=a158_0x30fd,_0x387417=_0x3f8f64();while(!![]){try{const _0x4feb00=-parseInt(_0x59d9fd(0x187))/0x1*(parseInt(_0x59d9fd(0x18a))/0x2)+-parseInt(_0x59d9fd(0x18d))/0x3+parseInt(_0x59d9fd(0x188))/0x4+parseInt(_0x59d9fd(0x189))/0x5*(-parseInt(_0x59d9fd(0x18f))/0x6)+-parseInt(_0x59d9fd(0x183))/0x7*(parseInt(_0x59d9fd(0x17d))/0x8)+parseInt(_0x59d9fd(0x192))/0x9+parseInt(_0x59d9fd(0x185))/0xa*(parseInt(_0x59d9fd(0x17b))/0xb);if(_0x4feb00===_0x6bcb02)break;else _0x387417['push'](_0x387417['shift']());}catch(_0x279c73){_0x387417['push'](_0x387417['shift']());}}}(a158_0x2481,0xd22de));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a158_0x30fd(_0xa9f211,_0x44be3c){_0xa9f211=_0xa9f211-0x17a;const _0x24810e=a158_0x2481();let _0x30fda5=_0x24810e[_0xa9f211];return _0x30fda5;}function a158_0x2481(){const _0x5d7952=['page','compress','88571eSqVlH','部分页面同步失败','842990ipmWxD','POST','881gpGtSM','200796NrIHIM','5wYFCkY','932UuSjpT','/sync-to-pages','appCode','173523MEAzlF','write','2197662AnUMeU','fieldCount','relatedPages','15302187FNqlsQ','isArray','\x20undeleted\x20related\x20page(s)\x20found','/smartapi/lovrabet/dataset/','failedPages','string','code','11ktxYWA','length','88NqYmAW','sync','undeletedPages','dataset'];a158_0x2481=function(){return _0x5d7952;};return a158_0x2481();}import{loadDatasetDetailForPage,prepareDatasetAction,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{syncStandardPages}from'../../core/api-client.js';export const pageSync={'service':a158_0x87765f(0x181),'command':a158_0x87765f(0x17e),'description':'Sync\x20dataset\x20changes\x20to\x20related\x20Smart\x20List\x20Pages','risk':a158_0x87765f(0x18e),'defaultOutputFormat':a158_0x87765f(0x182),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':a158_0x87765f(0x197),'description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'}],async 'validate'(_0x2cab60){validateDatasetSelector(_0x2cab60);},async 'dryRun'(_0x3dd52c){const _0x3f9005=a158_0x87765f,_0x4aaa02=await prepare(_0x3dd52c);return{'method':_0x3f9005(0x186),'url':_0x3f9005(0x195)+_0x4aaa02[_0x3f9005(0x180)][_0x3f9005(0x17a)]+_0x3f9005(0x18b),'body':{'appCode':_0x3dd52c[_0x3f9005(0x18c)]},'description':serializeDryRunDescription({'dataset':{'id':_0x4aaa02[_0x3f9005(0x180)]['id'],'code':_0x4aaa02[_0x3f9005(0x180)]['code'],'name':_0x4aaa02[_0x3f9005(0x180)]['name'],'fieldCount':_0x4aaa02['dataset'][_0x3f9005(0x190)]},'relatedPages':{'total':_0x4aaa02[_0x3f9005(0x180)][_0x3f9005(0x191)][_0x3f9005(0x17c)],'undeletedCount':_0x4aaa02[_0x3f9005(0x17f)][_0x3f9005(0x17c)]},'action':_0x3f9005(0x17e),'reason':_0x4aaa02['undeletedPages'][_0x3f9005(0x17c)]+_0x3f9005(0x194)})};},async 'execute'(_0x217e6a){const _0x3483d1=a158_0x87765f,_0x5df027=await prepare(_0x217e6a),_0x89a2c9=await syncStandardPages(_0x217e6a[_0x3483d1(0x18c)],_0x5df027[_0x3483d1(0x180)][_0x3483d1(0x17a)]),_0x1f9cc6=Array[_0x3483d1(0x193)](_0x89a2c9[_0x3483d1(0x196)])&&_0x89a2c9['failedPages'][_0x3483d1(0x17c)]>0x0,_0x323db9=_0x1f9cc6?_0x3483d1(0x184):'同步成功';return{'ok':!![],'message':_0x323db9,'data':{'datasetCode':_0x5df027['dataset']['code'],..._0x89a2c9}};}};async function prepare(_0x384f5b){const _0x2cf654=a158_0x87765f,_0xfa1346=await loadDatasetDetailForPage(_0x384f5b);return prepareDatasetAction(_0xfa1346,_0x2cf654(0x17e));}
@@ -1 +1 @@
1
- (function(_0x3524f9,_0x4a8267){const _0x15f379=a153_0x4a8b,_0x543510=_0x3524f9();while(!![]){try{const _0x55dd28=-parseInt(_0x15f379(0x19e))/0x1*(parseInt(_0x15f379(0x1a7))/0x2)+-parseInt(_0x15f379(0x1a5))/0x3*(parseInt(_0x15f379(0x19d))/0x4)+-parseInt(_0x15f379(0x1a0))/0x5+parseInt(_0x15f379(0x19c))/0x6*(parseInt(_0x15f379(0x1a6))/0x7)+parseInt(_0x15f379(0x1a2))/0x8*(-parseInt(_0x15f379(0x1a1))/0x9)+-parseInt(_0x15f379(0x1a4))/0xa*(parseInt(_0x15f379(0x1a3))/0xb)+parseInt(_0x15f379(0x19f))/0xc;if(_0x55dd28===_0x4a8267)break;else _0x543510['push'](_0x543510['shift']());}catch(_0x1f869f){_0x543510['push'](_0x543510['shift']());}}}(a153_0x1b18,0x4fbea));function a153_0x4a8b(_0x2c417e,_0x40046b){_0x2c417e=_0x2c417e-0x19c;const _0x1b18f4=a153_0x1b18();let _0x4a8b15=_0x1b18f4[_0x2c417e];return _0x4a8b15;}function a153_0x1b18(){const _0x11861d=['396lyBsXB','18232yiUCiR','55308VwVdnm','850FgWpQx','20322FFiAWj','36190ZoodbV','4lPnnaj','330QTPvub','4ejMxdC','292557lYyOEa','18050028NFfaNo','1711705ZgCyXE'];a153_0x1b18=function(){return _0x11861d;};return a153_0x1b18();}import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitRoleApisSet}from'../../commands/permit/role-apis-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitRoleApisSet];
1
+ function a159_0x4930(_0x36ef32,_0x25e927){_0x36ef32=_0x36ef32-0x159;const _0x32fad4=a159_0x32fa();let _0x493018=_0x32fad4[_0x36ef32];return _0x493018;}(function(_0x4cc8a9,_0x35fef8){const _0x2fa5ec=a159_0x4930,_0xb9e602=_0x4cc8a9();while(!![]){try{const _0x2b891e=parseInt(_0x2fa5ec(0x15a))/0x1+parseInt(_0x2fa5ec(0x15e))/0x2*(parseInt(_0x2fa5ec(0x15d))/0x3)+-parseInt(_0x2fa5ec(0x161))/0x4*(parseInt(_0x2fa5ec(0x160))/0x5)+-parseInt(_0x2fa5ec(0x162))/0x6*(parseInt(_0x2fa5ec(0x15f))/0x7)+parseInt(_0x2fa5ec(0x15b))/0x8+parseInt(_0x2fa5ec(0x15c))/0x9+-parseInt(_0x2fa5ec(0x159))/0xa;if(_0x2b891e===_0x35fef8)break;else _0xb9e602['push'](_0xb9e602['shift']());}catch(_0x3bc093){_0xb9e602['push'](_0xb9e602['shift']());}}}(a159_0x32fa,0x7d909));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';function a159_0x32fa(){const _0x145e22=['410YneDWg','187229wFiBln','1996325TZrxLA','4VbmDhC','222gDMski','1175330ZSGEFW','643519LqdCQH','3799344Qyeysk','5166972DRTfxX','4803jRaaQC'];a159_0x32fa=function(){return _0x145e22;};return a159_0x32fa();}import{permitRoleApisSet}from'../../commands/permit/role-apis-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitRoleApisSet];
@@ -1 +1 @@
1
- const a154_0x49a598=a154_0xaeb4;function a154_0xaeb4(_0x2733fb,_0x183ce7){_0x2733fb=_0x2733fb-0x129;const _0x1f01df=a154_0x1f01();let _0xaeb4fe=_0x1f01df[_0x2733fb];return _0xaeb4fe;}(function(_0x16a7da,_0x137b4a){const _0x5b410b=a154_0xaeb4,_0x3feffa=_0x16a7da();while(!![]){try{const _0x3845c9=parseInt(_0x5b410b(0x12d))/0x1*(-parseInt(_0x5b410b(0x139))/0x2)+-parseInt(_0x5b410b(0x131))/0x3*(parseInt(_0x5b410b(0x13a))/0x4)+-parseInt(_0x5b410b(0x137))/0x5+-parseInt(_0x5b410b(0x12a))/0x6*(-parseInt(_0x5b410b(0x132))/0x7)+-parseInt(_0x5b410b(0x134))/0x8+parseInt(_0x5b410b(0x133))/0x9+parseInt(_0x5b410b(0x129))/0xa*(parseInt(_0x5b410b(0x130))/0xb);if(_0x3845c9===_0x137b4a)break;else _0x3feffa['push'](_0x3feffa['shift']());}catch(_0x455c18){_0x3feffa['push'](_0x3feffa['shift']());}}}(a154_0x1f01,0x7fc00));import{getPagePermit}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a154_0x1f01(){const _0x5c6c06=['num','342tTlyyV','28XYGMmg','2278400xMuTgf','811122gbqZJL','permit','read','2025kaJOin','menu-id','page-get','143LcCUQu','304863nuWDHW','7BQOiaN','437022GgnItG','4210696pkbWld','Page\x20permit\x20for\x20menu\x20','Show\x20the\x20page\x20permission\x20snapshot\x20for\x20a\x20menu','5192210YlfmVQ'];a154_0x1f01=function(){return _0x5c6c06;};return a154_0x1f01();}import{MENU_ID_FLAG,projectPagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a154_0x49a598(0x12b),'command':a154_0x49a598(0x12f),'description':a154_0x49a598(0x136),'risk':a154_0x49a598(0x12c),'flags':[MENU_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x444b46){const _0x5b3058=a154_0x49a598,_0x2adffb=_0x444b46[_0x5b3058(0x138)](_0x5b3058(0x12e)),_0x579b15=await getPagePermit(_0x2adffb);return{'ok':!![],'data':{'page':projectPagePermit(_0x579b15)},'message':_0x5b3058(0x135)+_0x2adffb};}};
1
+ const a160_0x482556=a160_0x523f;(function(_0x57eda9,_0x157e51){const _0x51c790=a160_0x523f,_0x31c23d=_0x57eda9();while(!![]){try{const _0x2af468=-parseInt(_0x51c790(0x133))/0x1+parseInt(_0x51c790(0x132))/0x2*(parseInt(_0x51c790(0x12f))/0x3)+parseInt(_0x51c790(0x130))/0x4+parseInt(_0x51c790(0x12c))/0x5+parseInt(_0x51c790(0x12d))/0x6+-parseInt(_0x51c790(0x134))/0x7+-parseInt(_0x51c790(0x131))/0x8*(parseInt(_0x51c790(0x135))/0x9);if(_0x2af468===_0x157e51)break;else _0x31c23d['push'](_0x31c23d['shift']());}catch(_0x23f66c){_0x31c23d['push'](_0x31c23d['shift']());}}}(a160_0x284e,0x68768));import{getPagePermit}from'../../core/api-client.js';function a160_0x284e(){const _0x1f174b=['menu-id','66YxZjwn','796240ToCuEM','566136FdREXY','22966VjIMyA','394648SLaxGG','1856694mFCeTb','27npmJfv','Show\x20the\x20page\x20permission\x20snapshot\x20for\x20a\x20menu','page-get','Page\x20permit\x20for\x20menu\x20','3231075XnMLfg','1213020sAmBpH'];a160_0x284e=function(){return _0x1f174b;};return a160_0x284e();}function a160_0x523f(_0x54b04d,_0x4bd4e5){_0x54b04d=_0x54b04d-0x129;const _0x284e40=a160_0x284e();let _0x523f16=_0x284e40[_0x54b04d];return _0x523f16;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{MENU_ID_FLAG,projectPagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':'permit','command':a160_0x482556(0x12a),'description':a160_0x482556(0x129),'risk':'read','flags':[MENU_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0xe30321){const _0x225482=a160_0x482556,_0x527b35=_0xe30321['num'](_0x225482(0x12e)),_0x5e311b=await getPagePermit(_0x527b35);return{'ok':!![],'data':{'page':projectPagePermit(_0x5e311b)},'message':_0x225482(0x12b)+_0x527b35};}};
@@ -1 +1 @@
1
- const a155_0x455042=a155_0x2401;(function(_0x494d2d,_0xa20ab7){const _0x329a28=a155_0x2401,_0x4edf41=_0x494d2d();while(!![]){try{const _0x4ca5dc=parseInt(_0x329a28(0x1f5))/0x1+parseInt(_0x329a28(0x1fa))/0x2+parseInt(_0x329a28(0x1ed))/0x3*(parseInt(_0x329a28(0x1f2))/0x4)+parseInt(_0x329a28(0x202))/0x5*(parseInt(_0x329a28(0x205))/0x6)+-parseInt(_0x329a28(0x1fc))/0x7+-parseInt(_0x329a28(0x1f6))/0x8*(parseInt(_0x329a28(0x208))/0x9)+-parseInt(_0x329a28(0x1f3))/0xa;if(_0x4ca5dc===_0xa20ab7)break;else _0x4edf41['push'](_0x4edf41['shift']());}catch(_0x5b53b4){_0x4edf41['push'](_0x4edf41['shift']());}}}(a155_0x27f3,0x7f4b8));import{getPagePermit,savePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{MENU_ID_FLAG,PAGE_SET_ROLE_FLAGS,PAGE_SLOT_SPECS,projectPageSlot,resolvePermitRoles,splitList}from'../../commands/permit/shared.js';function a155_0x27f3(){const _0x112852=['Only\x20slots\x20present\x20in\x20`permit\x20page-get`\x20can\x20be\x20set.','Set\x20page\x20permissions\x20for\x20a\x20menu\x20(menu/create/update/delete/detail/export/row\x20roles);\x20requires\x20--yes','/smartapi/permit/page/save','Nothing\x20to\x20set.','permit','key','length','num','681057MxwyAh','label','POST','rolePermit','This\x20page\x20has\x20no\x20\x22','4dgAWRP','2194830QqeKho','Pass\x20at\x20least\x20one\x20role,\x20or\x20omit\x20the\x20flag.\x20Clearing\x20permissions\x20is\x20not\x20supported\x20by\x20this\x20command.','18259rJPNzo','160gycRmO','high-risk-write','menuId','menu-id','2038506aVELHC','allowSelf','2506973JmHFjp','push','page-set','\x22\x20permission\x20slot\x20(','spec','flag','5ZkhMvl','map','Pass\x20at\x20least\x20one\x20of:\x20','985866GHXJuP','Updated\x20page\x20permit\x20for\x20menu\x20','validation','148419uqCjVE','join','selector'];a155_0x27f3=function(){return _0x112852;};return a155_0x27f3();}function a155_0x2401(_0x2731e2,_0x8d187c){_0x2731e2=_0x2731e2-0x1e7;const _0x27f32c=a155_0x27f3();let _0x2401c8=_0x27f32c[_0x2731e2];return _0x2401c8;}const SAVE_PATH=a155_0x455042(0x1e7);function collectRequestedSlots(_0x3080eb){const _0x37bd7d=a155_0x455042,_0x2ceb71=[];for(const _0x5cb253 of PAGE_SLOT_SPECS){const _0x3ed2ca=_0x3080eb[_0x37bd7d(0x201)](_0x5cb253[_0x37bd7d(0x201)]);if(_0x3ed2ca===undefined||_0x3ed2ca===null)continue;const _0x54c993=splitList(String(_0x3ed2ca));if(_0x54c993[_0x37bd7d(0x1eb)]===0x0)throw CliErrors[_0x37bd7d(0x207)]('--'+_0x5cb253[_0x37bd7d(0x201)]+'\x20cannot\x20be\x20empty.',_0x37bd7d(0x1f4));_0x2ceb71[_0x37bd7d(0x1fd)]({'spec':_0x5cb253,'refs':_0x54c993});}return _0x2ceb71;}async function buildPlan(_0x29ab15,_0x26106d){const _0x3e093e=a155_0x455042,_0x7edef0=_0x29ab15[_0x3e093e(0x1ec)](_0x3e093e(0x1f9)),_0x2e16b6=collectRequestedSlots(_0x29ab15);if(_0x2e16b6[_0x3e093e(0x1eb)]===0x0)throw CliErrors['validation'](_0x3e093e(0x1e8),_0x3e093e(0x204)+PAGE_SLOT_SPECS[_0x3e093e(0x203)](_0x4baa30=>'--'+_0x4baa30[_0x3e093e(0x201)])[_0x3e093e(0x209)](',\x20')+'.');const _0x7f22b6=await getPagePermit(_0x7edef0),_0x5f403a={},_0x56ed00={},_0xceb0bf=[];for(const {spec:_0x57e930,refs:_0x10b5ba}of _0x2e16b6){const _0x2f6cc9=_0x7f22b6[_0x57e930['key']];if(!_0x2f6cc9)throw CliErrors[_0x3e093e(0x207)](_0x3e093e(0x1f1)+_0x57e930[_0x3e093e(0x1ee)]+_0x3e093e(0x1ff)+_0x57e930[_0x3e093e(0x1ea)]+').',_0x3e093e(0x20b));_0x5f403a[_0x57e930[_0x3e093e(0x1ea)]]=projectPageSlot(_0x2f6cc9);const _0x10d3c9=await resolvePermitRoles(_0x29ab15['appCode'],_0x10b5ba,{'allowSelf':_0x57e930[_0x3e093e(0x1fb)],'label':_0x57e930['label']});_0x2f6cc9[_0x3e093e(0x1f0)]=_0x10d3c9,_0x56ed00[_0x57e930['key']]=projectPageSlot(_0x2f6cc9);}const _0x4946f4={'operation':'page-set','selector':{'appCode':_0x29ab15['appCode'],'menuId':_0x7edef0,'slots':_0x2e16b6['map'](_0x1306ac=>_0x1306ac[_0x3e093e(0x200)][_0x3e093e(0x1ea)])},'before':_0x5f403a,'after':_0x56ed00,'dryRun':_0x26106d,'backend':{'method':_0x3e093e(0x1ef),'path':SAVE_PATH},'warnings':_0xceb0bf};return{'page':_0x7f22b6,'mutation':_0x4946f4};}export const permitPageSet={'service':a155_0x455042(0x1e9),'command':a155_0x455042(0x1fe),'description':a155_0x455042(0x20c),'risk':a155_0x455042(0x1f7),'flags':[MENU_ID_FLAG,...PAGE_SET_ROLE_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x6bffa9){const _0x135c21=a155_0x455042,_0xf91ada=collectRequestedSlots(_0x6bffa9);if(_0xf91ada[_0x135c21(0x1eb)]===0x0)throw CliErrors[_0x135c21(0x207)](_0x135c21(0x1e8),_0x135c21(0x204)+PAGE_SLOT_SPECS['map'](_0x53d509=>'--'+_0x53d509[_0x135c21(0x201)])['join'](',\x20')+'.');},async 'dryRun'(_0x1ecce7){const _0x3abb2a=a155_0x455042,{mutation:_0x49aa13}=await buildPlan(_0x1ecce7,!![]);return asDryRunResult(_0x49aa13,{'method':_0x3abb2a(0x1ef),'url':SAVE_PATH});},async 'execute'(_0x5f3996){const _0x799a27=a155_0x455042,{page:_0xeff5fb,mutation:_0x131ea3}=await buildPlan(_0x5f3996,![]);return await savePagePermit(_0xeff5fb),{'ok':!![],'data':_0x131ea3,'message':_0x799a27(0x206)+_0x131ea3[_0x799a27(0x20a)][_0x799a27(0x1f8)]};}};
1
+ const a161_0x229dfc=a161_0x4bdd;(function(_0x7be5ff,_0x503f27){const _0x4055a2=a161_0x4bdd,_0x18fe53=_0x7be5ff();while(!![]){try{const _0x3282db=-parseInt(_0x4055a2(0xa2))/0x1+-parseInt(_0x4055a2(0x9e))/0x2+-parseInt(_0x4055a2(0xab))/0x3*(parseInt(_0x4055a2(0xbb))/0x4)+parseInt(_0x4055a2(0xa1))/0x5*(parseInt(_0x4055a2(0xa5))/0x6)+parseInt(_0x4055a2(0x9b))/0x7*(-parseInt(_0x4055a2(0xa7))/0x8)+-parseInt(_0x4055a2(0xb7))/0x9+parseInt(_0x4055a2(0xaa))/0xa;if(_0x3282db===_0x503f27)break;else _0x18fe53['push'](_0x18fe53['shift']());}catch(_0x447965){_0x18fe53['push'](_0x18fe53['shift']());}}}(a161_0x5df0,0x6b6f5));import{getPagePermit,savePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a161_0x5df0(){const _0x46fcd4=['\x20cannot\x20be\x20empty.','join','push','Pass\x20at\x20least\x20one\x20of:\x20','Set\x20page\x20permissions\x20for\x20a\x20menu\x20(menu/create/update/delete/detail/export/row\x20roles);\x20requires\x20--yes','selector','1668033wIWIzt','permit','spec','length','4oBYVOR','/smartapi/permit/page/save','POST','1531859GTpQOI','appCode','page-set','1680534uDbJzX','Nothing\x20to\x20set.','num','190MBesRb','743141YdYgfg','flag','allowSelf','17886jZyHOj','high-risk-write','24NoThsj','Only\x20slots\x20present\x20in\x20`permit\x20page-get`\x20can\x20be\x20set.','Pass\x20at\x20least\x20one\x20role,\x20or\x20omit\x20the\x20flag.\x20Clearing\x20permissions\x20is\x20not\x20supported\x20by\x20this\x20command.','27833360ZaYrho','93915mZrOkA','map','key','validation','label','menuId'];a161_0x5df0=function(){return _0x46fcd4;};return a161_0x5df0();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{MENU_ID_FLAG,PAGE_SET_ROLE_FLAGS,PAGE_SLOT_SPECS,projectPageSlot,resolvePermitRoles,splitList}from'../../commands/permit/shared.js';function a161_0x4bdd(_0x4f9c92,_0x406af0){_0x4f9c92=_0x4f9c92-0x9a;const _0x5df093=a161_0x5df0();let _0x4bdd08=_0x5df093[_0x4f9c92];return _0x4bdd08;}const SAVE_PATH=a161_0x229dfc(0xbc);function collectRequestedSlots(_0x4ae735){const _0x5d70d7=a161_0x229dfc,_0x3c9e19=[];for(const _0x4c98e9 of PAGE_SLOT_SPECS){const _0x154bf7=_0x4ae735[_0x5d70d7(0xa3)](_0x4c98e9['flag']);if(_0x154bf7===undefined||_0x154bf7===null)continue;const _0x2b429d=splitList(String(_0x154bf7));if(_0x2b429d[_0x5d70d7(0xba)]===0x0)throw CliErrors[_0x5d70d7(0xae)]('--'+_0x4c98e9['flag']+_0x5d70d7(0xb1),_0x5d70d7(0xa9));_0x3c9e19[_0x5d70d7(0xb3)]({'spec':_0x4c98e9,'refs':_0x2b429d});}return _0x3c9e19;}async function buildPlan(_0x2b806c,_0x4f138c){const _0x5ac4c1=a161_0x229dfc,_0x632ffc=_0x2b806c[_0x5ac4c1(0xa0)]('menu-id'),_0x139308=collectRequestedSlots(_0x2b806c);if(_0x139308['length']===0x0)throw CliErrors[_0x5ac4c1(0xae)](_0x5ac4c1(0x9f),_0x5ac4c1(0xb4)+PAGE_SLOT_SPECS[_0x5ac4c1(0xac)](_0x158ea8=>'--'+_0x158ea8['flag'])[_0x5ac4c1(0xb2)](',\x20')+'.');const _0x413387=await getPagePermit(_0x632ffc),_0x2abec5={},_0x5639e4={},_0x495209=[];for(const {spec:_0x429634,refs:_0x38acfb}of _0x139308){const _0x2fff6d=_0x413387[_0x429634['key']];if(!_0x2fff6d)throw CliErrors[_0x5ac4c1(0xae)]('This\x20page\x20has\x20no\x20\x22'+_0x429634['label']+'\x22\x20permission\x20slot\x20('+_0x429634['key']+').',_0x5ac4c1(0xa8));_0x2abec5[_0x429634[_0x5ac4c1(0xad)]]=projectPageSlot(_0x2fff6d);const _0x214187=await resolvePermitRoles(_0x2b806c[_0x5ac4c1(0x9c)],_0x38acfb,{'allowSelf':_0x429634[_0x5ac4c1(0xa4)],'label':_0x429634[_0x5ac4c1(0xaf)]});_0x2fff6d['rolePermit']=_0x214187,_0x5639e4[_0x429634[_0x5ac4c1(0xad)]]=projectPageSlot(_0x2fff6d);}const _0x40b52a={'operation':_0x5ac4c1(0x9d),'selector':{'appCode':_0x2b806c[_0x5ac4c1(0x9c)],'menuId':_0x632ffc,'slots':_0x139308['map'](_0x30adb0=>_0x30adb0[_0x5ac4c1(0xb9)][_0x5ac4c1(0xad)])},'before':_0x2abec5,'after':_0x5639e4,'dryRun':_0x4f138c,'backend':{'method':_0x5ac4c1(0x9a),'path':SAVE_PATH},'warnings':_0x495209};return{'page':_0x413387,'mutation':_0x40b52a};}export const permitPageSet={'service':a161_0x229dfc(0xb8),'command':a161_0x229dfc(0x9d),'description':a161_0x229dfc(0xb5),'risk':a161_0x229dfc(0xa6),'flags':[MENU_ID_FLAG,...PAGE_SET_ROLE_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4a84d4){const _0x2b9c7c=a161_0x229dfc,_0x2e058c=collectRequestedSlots(_0x4a84d4);if(_0x2e058c[_0x2b9c7c(0xba)]===0x0)throw CliErrors[_0x2b9c7c(0xae)](_0x2b9c7c(0x9f),_0x2b9c7c(0xb4)+PAGE_SLOT_SPECS['map'](_0x5d1710=>'--'+_0x5d1710[_0x2b9c7c(0xa3)])[_0x2b9c7c(0xb2)](',\x20')+'.');},async 'dryRun'(_0x17c18f){const _0x1078f1=a161_0x229dfc,{mutation:_0x3082ac}=await buildPlan(_0x17c18f,!![]);return asDryRunResult(_0x3082ac,{'method':_0x1078f1(0x9a),'url':SAVE_PATH});},async 'execute'(_0x6f95bd){const _0x5533dd=a161_0x229dfc,{page:_0x2d0593,mutation:_0x11566c}=await buildPlan(_0x6f95bd,![]);return await savePagePermit(_0x2d0593),{'ok':!![],'data':_0x11566c,'message':'Updated\x20page\x20permit\x20for\x20menu\x20'+_0x11566c[_0x5533dd(0xb6)][_0x5533dd(0xb0)]};}};
@@ -1 +1 @@
1
- const a156_0x5cf349=a156_0x362b;(function(_0x4cd257,_0x35c401){const _0x229fcf=a156_0x362b,_0x4a4c42=_0x4cd257();while(!![]){try{const _0x426694=-parseInt(_0x229fcf(0x1c2))/0x1+parseInt(_0x229fcf(0x1ba))/0x2+parseInt(_0x229fcf(0x1ca))/0x3*(parseInt(_0x229fcf(0x1d0))/0x4)+parseInt(_0x229fcf(0x1c3))/0x5*(-parseInt(_0x229fcf(0x1ac))/0x6)+-parseInt(_0x229fcf(0x1bc))/0x7*(parseInt(_0x229fcf(0x1b7))/0x8)+parseInt(_0x229fcf(0x1b6))/0x9+parseInt(_0x229fcf(0x1af))/0xa;if(_0x426694===_0x35c401)break;else _0x4a4c42['push'](_0x4a4c42['shift']());}catch(_0x12c15b){_0x4a4c42['push'](_0x4a4c42['shift']());}}}(a156_0x4b21,0x3bf6b));import{getRoleApiResources,updateAppRole}from'../../core/api-client.js';function a156_0x362b(_0xebe6f8,_0x3ba43a){_0xebe6f8=_0xebe6f8-0x1aa;const _0x4b2158=a156_0x4b21();let _0x362ba8=_0x4b2158[_0xebe6f8];return _0x362ba8;}function a156_0x4b21(){const _0x5e75b6=['selector','str','Missing\x20--revoke.','Verify\x20the\x20datasetCode,\x20or\x20check\x20the\x20role\x27s\x20API\x20resource\x20matrix.','Revoke\x20a\x20role\x27s\x20dataset\x20API\x20access\x20by\x20datasetCode\x20(roleType\x20API);\x20requires\x20--yes','352458YliujY','3000UNrBuX','bool','get','745736bKofuh','Pass\x20--datasets\x20<datasetCode,...>.','4592cDnhmr','length','filter','push','permit','join','323448IqQqkG','35WPWOVb','flagMissing','POST','action','datasets','/smartapi/permit/role/update','roleName','1518McfRgh','Unknown\x20datasetCode(s)\x20for\x20this\x20role\x27s\x20API\x20resources:\x20','appCode','\x20dataset(s)\x20on\x20role\x20','role-apis-set','high-risk-write','3512DidlSb','validation','API','117132dbLZgr','set','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).','954150osiEQn','revoke'];a156_0x4b21=function(){return _0x5e75b6;};return a156_0x4b21();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,DATASETS_FLAG,flattenApiResources,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a156_0x5cf349(0x1c8);async function buildPlan(_0x31ffd3,_0x4204bc){const _0x38677d=a156_0x5cf349,_0x19fb55=await resolveRoleRef(_0x31ffd3['appCode'],readRoleRef(_0x31ffd3));assertPermConfigurable(_0x19fb55);if(!_0x31ffd3['bool'](_0x38677d(0x1b0)))throw CliErrors['validation'](_0x38677d(0x1b3),_0x38677d(0x1ae));const _0xba7087=splitList(_0x31ffd3[_0x38677d(0x1b2)](_0x38677d(0x1c7)));if(_0xba7087[_0x38677d(0x1bd)]===0x0)throw CliErrors[_0x38677d(0x1c4)](_0x38677d(0x1c7),_0x38677d(0x1bb));const _0x1dc3f3=await getRoleApiResources(_0x31ffd3[_0x38677d(0x1cc)],_0x19fb55['id']),{byCode:_0x160948,byDataset:_0x2d4385}=flattenApiResources(_0x1dc3f3),_0x6338ee=_0xba7087[_0x38677d(0x1be)](_0x5189ed=>!_0x2d4385['has'](_0x5189ed));if(_0x6338ee[_0x38677d(0x1bd)]>0x0)throw CliErrors[_0x38677d(0x1aa)](_0x38677d(0x1cb)+_0x6338ee[_0x38677d(0x1c1)](',\x20')+'.',_0x38677d(0x1b4));const _0x10a3b7=new Map(),_0x236e93=[],_0x164200=[];for(const _0x46f137 of _0xba7087){for(const _0x338137 of _0x2d4385[_0x38677d(0x1b9)](_0x46f137)){const _0xe8cb68=_0x160948[_0x38677d(0x1b9)](_0x338137);_0x10a3b7[_0x38677d(0x1ad)](_0x338137,'0'),_0x236e93[_0x38677d(0x1bf)]({'resourceCode':_0x338137,'datasetCode':_0x46f137,'action':_0xe8cb68[_0x38677d(0x1c6)]}),_0x164200['push']({'resourceCode':_0x338137,'datasetCode':_0x46f137,'action':'0'});}}const _0x34d22c=buildPermits(_0x160948,_0x10a3b7),_0x10d573={'operation':'api-revoke','selector':{'appCode':_0x31ffd3[_0x38677d(0x1cc)],'roleId':_0x19fb55['id'],'roleName':_0x19fb55['roleName'],'datasetCodes':_0xba7087},'before':_0x236e93,'after':_0x164200,'dryRun':_0x4204bc,'backend':{'method':_0x38677d(0x1c5),'path':UPDATE_PATH,'roleType':_0x38677d(0x1ab)},'warnings':[]};return{'role':_0x19fb55,'permits':_0x34d22c,'mutation':_0x10d573};}export const permitRoleApisSet={'service':a156_0x5cf349(0x1c0),'command':a156_0x5cf349(0x1ce),'description':a156_0x5cf349(0x1b5),'risk':a156_0x5cf349(0x1cf),'flags':[ROLE_REF_FLAG,REVOKE_FLAG,DATASETS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x6719b1){const _0xdc9805=a156_0x5cf349;if(!_0x6719b1[_0xdc9805(0x1b8)](_0xdc9805(0x1b0)))throw CliErrors[_0xdc9805(0x1aa)]('Missing\x20--revoke.',_0xdc9805(0x1ae));if(splitList(_0x6719b1[_0xdc9805(0x1b2)]('datasets'))[_0xdc9805(0x1bd)]===0x0)throw CliErrors['flagMissing'](_0xdc9805(0x1c7),_0xdc9805(0x1bb));},async 'dryRun'(_0x389d4c){const _0x903c35=a156_0x5cf349,{mutation:_0x246b65}=await buildPlan(_0x389d4c,!![]);return asDryRunResult(_0x246b65,{'method':_0x903c35(0x1c5),'url':UPDATE_PATH});},async 'execute'(_0x123a42){const _0x158042=a156_0x5cf349,{role:_0x256be9,permits:_0x56e241,mutation:_0x38ac86}=await buildPlan(_0x123a42,![]);return await updateAppRole({'id':_0x256be9['id'],'appCode':_0x123a42['appCode'],'roleType':_0x158042(0x1ab),'permits':_0x56e241}),{'ok':!![],'data':_0x38ac86,'message':'Revoked\x20API\x20access\x20for\x20'+_0x38ac86[_0x158042(0x1b1)]['datasetCodes'][_0x158042(0x1bd)]+_0x158042(0x1cd)+_0x256be9[_0x158042(0x1c9)]};}};
1
+ const a162_0x1c5db6=a162_0x12cc;(function(_0x236405,_0x327232){const _0xdea480=a162_0x12cc,_0x268008=_0x236405();while(!![]){try{const _0x2d438d=-parseInt(_0xdea480(0x172))/0x1+parseInt(_0xdea480(0x156))/0x2*(-parseInt(_0xdea480(0x165))/0x3)+parseInt(_0xdea480(0x169))/0x4*(-parseInt(_0xdea480(0x15b))/0x5)+parseInt(_0xdea480(0x15a))/0x6+parseInt(_0xdea480(0x152))/0x7*(-parseInt(_0xdea480(0x158))/0x8)+parseInt(_0xdea480(0x153))/0x9+parseInt(_0xdea480(0x16e))/0xa;if(_0x2d438d===_0x327232)break;else _0x268008['push'](_0x268008['shift']());}catch(_0x585eae){_0x268008['push'](_0x268008['shift']());}}}(a162_0x28a5,0x1c78c));import{getRoleApiResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a162_0x12cc(_0x457670,_0x524514){_0x457670=_0x457670-0x14f;const _0x28a5a2=a162_0x28a5();let _0x12ccd7=_0x28a5a2[_0x457670];return _0x12ccd7;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,DATASETS_FLAG,flattenApiResources,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';function a162_0x28a5(){const _0x8834aa=['set','POST','api-revoke','4aASFNj','filter','Verify\x20the\x20datasetCode,\x20or\x20check\x20the\x20role\x27s\x20API\x20resource\x20matrix.','high-risk-write','push','4407100ypyiMs','revoke','Revoked\x20API\x20access\x20for\x20','role-apis-set','163769wMDHwz','roleName','\x20dataset(s)\x20on\x20role\x20','flagMissing','Missing\x20--revoke.','13293JblTjh','288279EcOPIu','permit','get','59190dPPSER','str','592moAEit','length','1056246nBJcUn','991360neNLyJ','datasetCodes','join','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).','bool','validation','API','appCode','Unknown\x20datasetCode(s)\x20for\x20this\x20role\x27s\x20API\x20resources:\x20','datasets','3zOEGPe'];a162_0x28a5=function(){return _0x8834aa;};return a162_0x28a5();}import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';async function buildPlan(_0x5be6c7,_0x173309){const _0x447e7f=a162_0x12cc,_0xb94fa8=await resolveRoleRef(_0x5be6c7[_0x447e7f(0x162)],readRoleRef(_0x5be6c7));assertPermConfigurable(_0xb94fa8);if(!_0x5be6c7['bool'](_0x447e7f(0x16f)))throw CliErrors['validation']('Missing\x20--revoke.',_0x447e7f(0x15e));const _0xbc3f36=splitList(_0x5be6c7['str'](_0x447e7f(0x164)));if(_0xbc3f36[_0x447e7f(0x159)]===0x0)throw CliErrors[_0x447e7f(0x150)]('datasets','Pass\x20--datasets\x20<datasetCode,...>.');const _0xf465d3=await getRoleApiResources(_0x5be6c7[_0x447e7f(0x162)],_0xb94fa8['id']),{byCode:_0x34c742,byDataset:_0x393482}=flattenApiResources(_0xf465d3),_0x57e60e=_0xbc3f36[_0x447e7f(0x16a)](_0xa1249d=>!_0x393482['has'](_0xa1249d));if(_0x57e60e[_0x447e7f(0x159)]>0x0)throw CliErrors['validation'](_0x447e7f(0x163)+_0x57e60e[_0x447e7f(0x15d)](',\x20')+'.',_0x447e7f(0x16b));const _0x2cfa16=new Map(),_0x48ef01=[],_0x407562=[];for(const _0x22606a of _0xbc3f36){for(const _0x1a8207 of _0x393482[_0x447e7f(0x155)](_0x22606a)){const _0x59de73=_0x34c742[_0x447e7f(0x155)](_0x1a8207);_0x2cfa16[_0x447e7f(0x166)](_0x1a8207,'0'),_0x48ef01[_0x447e7f(0x16d)]({'resourceCode':_0x1a8207,'datasetCode':_0x22606a,'action':_0x59de73['action']}),_0x407562['push']({'resourceCode':_0x1a8207,'datasetCode':_0x22606a,'action':'0'});}}const _0x1f6f36=buildPermits(_0x34c742,_0x2cfa16),_0x1deea6={'operation':_0x447e7f(0x168),'selector':{'appCode':_0x5be6c7[_0x447e7f(0x162)],'roleId':_0xb94fa8['id'],'roleName':_0xb94fa8[_0x447e7f(0x173)],'datasetCodes':_0xbc3f36},'before':_0x48ef01,'after':_0x407562,'dryRun':_0x173309,'backend':{'method':_0x447e7f(0x167),'path':UPDATE_PATH,'roleType':_0x447e7f(0x161)},'warnings':[]};return{'role':_0xb94fa8,'permits':_0x1f6f36,'mutation':_0x1deea6};}export const permitRoleApisSet={'service':a162_0x1c5db6(0x154),'command':a162_0x1c5db6(0x171),'description':'Revoke\x20a\x20role\x27s\x20dataset\x20API\x20access\x20by\x20datasetCode\x20(roleType\x20API);\x20requires\x20--yes','risk':a162_0x1c5db6(0x16c),'flags':[ROLE_REF_FLAG,REVOKE_FLAG,DATASETS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x15e8cb){const _0x376822=a162_0x1c5db6;if(!_0x15e8cb[_0x376822(0x15f)](_0x376822(0x16f)))throw CliErrors[_0x376822(0x160)](_0x376822(0x151),_0x376822(0x15e));if(splitList(_0x15e8cb[_0x376822(0x157)](_0x376822(0x164)))[_0x376822(0x159)]===0x0)throw CliErrors[_0x376822(0x150)](_0x376822(0x164),'Pass\x20--datasets\x20<datasetCode,...>.');},async 'dryRun'(_0x1b9b27){const _0x3796e2=a162_0x1c5db6,{mutation:_0x4876f4}=await buildPlan(_0x1b9b27,!![]);return asDryRunResult(_0x4876f4,{'method':_0x3796e2(0x167),'url':UPDATE_PATH});},async 'execute'(_0x77fba7){const _0x5c9153=a162_0x1c5db6,{role:_0x5f3dd7,permits:_0x215834,mutation:_0x361c60}=await buildPlan(_0x77fba7,![]);return await updateAppRole({'id':_0x5f3dd7['id'],'appCode':_0x77fba7['appCode'],'roleType':_0x5c9153(0x161),'permits':_0x215834}),{'ok':!![],'data':_0x361c60,'message':_0x5c9153(0x170)+_0x361c60['selector'][_0x5c9153(0x15c)][_0x5c9153(0x159)]+_0x5c9153(0x14f)+_0x5f3dd7[_0x5c9153(0x173)]};}};
@@ -1 +1 @@
1
- function a157_0x88c0(_0x38440b,_0x44e342){_0x38440b=_0x38440b-0x1a3;const _0x34529b=a157_0x3452();let _0x88c010=_0x34529b[_0x38440b];return _0x88c010;}const a157_0x46473a=a157_0x88c0;(function(_0x301fd5,_0x2a2150){const _0x2b45bd=a157_0x88c0,_0x504325=_0x301fd5();while(!![]){try{const _0x291dc6=parseInt(_0x2b45bd(0x1b3))/0x1*(-parseInt(_0x2b45bd(0x1b2))/0x2)+-parseInt(_0x2b45bd(0x1a9))/0x3*(-parseInt(_0x2b45bd(0x1b6))/0x4)+-parseInt(_0x2b45bd(0x1bb))/0x5+parseInt(_0x2b45bd(0x1ba))/0x6+parseInt(_0x2b45bd(0x1ae))/0x7*(parseInt(_0x2b45bd(0x1bc))/0x8)+parseInt(_0x2b45bd(0x1a6))/0x9*(parseInt(_0x2b45bd(0x1a4))/0xa)+parseInt(_0x2b45bd(0x1bf))/0xb;if(_0x291dc6===_0x2a2150)break;else _0x504325['push'](_0x504325['shift']());}catch(_0x596d21){_0x504325['push'](_0x504325['shift']());}}}(a157_0x3452,0xed1b0));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a157_0x46473a(0x1af);async function buildPlan(_0x198a9a,_0x4ef081){const _0x1fd4eb=a157_0x46473a,_0x139d5b=await resolveRoleRef(_0x198a9a[_0x1fd4eb(0x1a5)],readRoleRef(_0x198a9a));assertPermConfigurable(_0x139d5b);const _0x22f658=readGrantRevoke(_0x198a9a),_0x32ce24=splitList(_0x198a9a[_0x1fd4eb(0x1b8)]('menus'));if(_0x32ce24['length']===0x0)throw CliErrors[_0x1fd4eb(0x1aa)](_0x1fd4eb(0x1ab),'Pass\x20--menus\x20<resourceCode,...>.');const _0x4c3cf5=await getRoleMenuResources(_0x198a9a[_0x1fd4eb(0x1a5)],_0x139d5b['id']),_0x1dc0ba=flattenMenuResources(_0x4c3cf5),_0x27d1=_0x32ce24[_0x1fd4eb(0x1b7)](_0x2c8573=>!_0x1dc0ba[_0x1fd4eb(0x1a3)](_0x2c8573));if(_0x27d1[_0x1fd4eb(0x1a7)]>0x0)throw CliErrors['validation']('Unknown\x20menu\x20resourceCode(s):\x20'+_0x27d1[_0x1fd4eb(0x1ad)](',\x20')+'.',_0x1fd4eb(0x1a8));const _0x26ef4a=new Map(),_0xcdf196=[],_0x4ed77a=[];for(const _0xf04ec4 of _0x32ce24){const _0x45cf87=_0x1dc0ba['get'](_0xf04ec4);_0x26ef4a['set'](_0xf04ec4,_0x22f658),_0xcdf196['push']({'resourceCode':_0xf04ec4,'action':_0x45cf87[_0x1fd4eb(0x1c3)]}),_0x4ed77a[_0x1fd4eb(0x1b0)]({'resourceCode':_0xf04ec4,'action':_0x22f658});}const _0x57f197=buildPermits(_0x1dc0ba,_0x26ef4a),_0x3fd3ed={'operation':_0x22f658===_0x1fd4eb(0x1b4)?'menu-grant':'menu-revoke','selector':{'appCode':_0x198a9a[_0x1fd4eb(0x1a5)],'roleId':_0x139d5b['id'],'roleName':_0x139d5b[_0x1fd4eb(0x1b1)],'resourceCodes':_0x32ce24},'before':_0xcdf196,'after':_0x4ed77a,'dryRun':_0x4ef081,'backend':{'method':_0x1fd4eb(0x1c2),'path':UPDATE_PATH,'roleType':'PAGE'},'warnings':[]};return{'role':_0x139d5b,'permits':_0x57f197,'mutation':_0x3fd3ed};}export const permitRoleMenusSet={'service':'permit','command':a157_0x46473a(0x1ac),'description':a157_0x46473a(0x1be),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3d1614){const _0x267942=a157_0x46473a;readGrantRevoke(_0x3d1614);if(splitList(_0x3d1614['str'](_0x267942(0x1ab)))[_0x267942(0x1a7)]===0x0)throw CliErrors['flagMissing']('menus','Pass\x20--menus\x20<resourceCode,...>.');},async 'dryRun'(_0x3e5743){const _0x60bc89=a157_0x46473a,{mutation:_0x373d56}=await buildPlan(_0x3e5743,!![]);return asDryRunResult(_0x373d56,{'method':_0x60bc89(0x1c2),'url':UPDATE_PATH});},async 'execute'(_0x15de14){const _0x1ee9e3=a157_0x46473a,{role:_0x47b3e7,permits:_0x45564c,mutation:_0x26aa18}=await buildPlan(_0x15de14,![]);return await updateAppRole({'id':_0x47b3e7['id'],'appCode':_0x15de14[_0x1ee9e3(0x1a5)],'roleType':_0x1ee9e3(0x1bd),'permits':_0x45564c}),{'ok':!![],'data':_0x26aa18,'message':_0x1ee9e3(0x1b5)+_0x26aa18[_0x1ee9e3(0x1b9)][_0x1ee9e3(0x1c0)][_0x1ee9e3(0x1a7)]+_0x1ee9e3(0x1c1)+_0x47b3e7['roleName']};}};function a157_0x3452(){const _0x27c18c=['str','selector','3287064kXMsvu','7083155DxAqMx','8hBhzPw','PAGE','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','5623992PUHFWl','resourceCodes','\x20menu\x20permit(s)\x20for\x20role\x20','POST','action','has','22390rlySPd','appCode','6093BcYtbS','length','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','1442454eCEklA','flagMissing','menus','role-menus-set','join','5585713aehSlp','/smartapi/permit/role/update','push','roleName','2931762JEtMDc','1NfnWcY','access','Updated\x20','4FDLucL','filter'];a157_0x3452=function(){return _0x27c18c;};return a157_0x3452();}
1
+ const a163_0x1b3ced=a163_0x34f9;(function(_0x208260,_0x199788){const _0x3a8ad0=a163_0x34f9,_0x47627e=_0x208260();while(!![]){try{const _0x5a4578=-parseInt(_0x3a8ad0(0xe2))/0x1*(-parseInt(_0x3a8ad0(0xfc))/0x2)+parseInt(_0x3a8ad0(0xf6))/0x3*(-parseInt(_0x3a8ad0(0xe6))/0x4)+parseInt(_0x3a8ad0(0xe1))/0x5+-parseInt(_0x3a8ad0(0x101))/0x6+-parseInt(_0x3a8ad0(0x100))/0x7+parseInt(_0x3a8ad0(0xf1))/0x8+parseInt(_0x3a8ad0(0xf9))/0x9*(parseInt(_0x3a8ad0(0xeb))/0xa);if(_0x5a4578===_0x199788)break;else _0x47627e['push'](_0x47627e['shift']());}catch(_0x2389d1){_0x47627e['push'](_0x47627e['shift']());}}}(a163_0x107d,0x45159));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a163_0x34f9(_0x53955d,_0x23651f){_0x53955d=_0x53955d-0xe0;const _0x107dae=a163_0x107d();let _0x34f912=_0x107dae[_0x53955d];return _0x34f912;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';async function buildPlan(_0x3d4404,_0x4d8297){const _0x3ea1d0=a163_0x34f9,_0x203573=await resolveRoleRef(_0x3d4404[_0x3ea1d0(0xe8)],readRoleRef(_0x3d4404));assertPermConfigurable(_0x203573);const _0xcc077a=readGrantRevoke(_0x3d4404),_0xa0c468=splitList(_0x3d4404[_0x3ea1d0(0xec)](_0x3ea1d0(0xf4)));if(_0xa0c468['length']===0x0)throw CliErrors[_0x3ea1d0(0xfb)]('menus',_0x3ea1d0(0xf7));const _0x3a56b6=await getRoleMenuResources(_0x3d4404[_0x3ea1d0(0xe8)],_0x203573['id']),_0x28b5b5=flattenMenuResources(_0x3a56b6),_0x1440ae=_0xa0c468['filter'](_0x5a079e=>!_0x28b5b5[_0x3ea1d0(0xe9)](_0x5a079e));if(_0x1440ae[_0x3ea1d0(0xf2)]>0x0)throw CliErrors['validation']('Unknown\x20menu\x20resourceCode(s):\x20'+_0x1440ae[_0x3ea1d0(0xe0)](',\x20')+'.',_0x3ea1d0(0xe4));const _0x4c946f=new Map(),_0x33a0a5=[],_0x52483f=[];for(const _0x131564 of _0xa0c468){const _0x222c3a=_0x28b5b5[_0x3ea1d0(0xee)](_0x131564);_0x4c946f['set'](_0x131564,_0xcc077a),_0x33a0a5[_0x3ea1d0(0xf5)]({'resourceCode':_0x131564,'action':_0x222c3a[_0x3ea1d0(0xfa)]}),_0x52483f[_0x3ea1d0(0xf5)]({'resourceCode':_0x131564,'action':_0xcc077a});}const _0x94a665=buildPermits(_0x28b5b5,_0x4c946f),_0x5602b1={'operation':_0xcc077a===_0x3ea1d0(0xe7)?_0x3ea1d0(0xef):_0x3ea1d0(0xfe),'selector':{'appCode':_0x3d4404['appCode'],'roleId':_0x203573['id'],'roleName':_0x203573[_0x3ea1d0(0xff)],'resourceCodes':_0xa0c468},'before':_0x33a0a5,'after':_0x52483f,'dryRun':_0x4d8297,'backend':{'method':_0x3ea1d0(0xf8),'path':UPDATE_PATH,'roleType':_0x3ea1d0(0xf3)},'warnings':[]};return{'role':_0x203573,'permits':_0x94a665,'mutation':_0x5602b1};}export const permitRoleMenusSet={'service':a163_0x1b3ced(0xea),'command':a163_0x1b3ced(0xf0),'description':'Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3fc5aa){const _0x49a392=a163_0x1b3ced;readGrantRevoke(_0x3fc5aa);if(splitList(_0x3fc5aa['str'](_0x49a392(0xf4)))[_0x49a392(0xf2)]===0x0)throw CliErrors[_0x49a392(0xfb)](_0x49a392(0xf4),_0x49a392(0xf7));},async 'dryRun'(_0x26edea){const _0x12a18d=a163_0x1b3ced,{mutation:_0xf84ac3}=await buildPlan(_0x26edea,!![]);return asDryRunResult(_0xf84ac3,{'method':_0x12a18d(0xf8),'url':UPDATE_PATH});},async 'execute'(_0x268dfa){const _0x556a00=a163_0x1b3ced,{role:_0x3e1349,permits:_0x1eae9d,mutation:_0x1c0187}=await buildPlan(_0x268dfa,![]);return await updateAppRole({'id':_0x3e1349['id'],'appCode':_0x268dfa[_0x556a00(0xe8)],'roleType':_0x556a00(0xf3),'permits':_0x1eae9d}),{'ok':!![],'data':_0x1c0187,'message':_0x556a00(0xed)+_0x1c0187[_0x556a00(0xfd)][_0x556a00(0xe3)][_0x556a00(0xf2)]+_0x556a00(0xe5)+_0x3e1349['roleName']};}};function a163_0x107d(){const _0x312424=['676816mqMFsM','388494DQgFvN','join','16995nHnBYX','1RZveAb','resourceCodes','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','\x20menu\x20permit(s)\x20for\x20role\x20','100GRAsDU','access','appCode','has','permit','620pOJLQp','str','Updated\x20','get','menu-grant','role-menus-set','2095360xwVLTH','length','PAGE','menus','push','32421jLeBRc','Pass\x20--menus\x20<resourceCode,...>.','POST','9846bahftO','action','flagMissing','762868TkvnYb','selector','menu-revoke','roleName'];a163_0x107d=function(){return _0x312424;};return a163_0x107d();}
@@ -1 +1 @@
1
- const a158_0x1a919f=a158_0x19f8;(function(_0x435fe1,_0x1af6d3){const _0x2e23b0=a158_0x19f8,_0x339f08=_0x435fe1();while(!![]){try{const _0x29c516=parseInt(_0x2e23b0(0xae))/0x1*(parseInt(_0x2e23b0(0xb0))/0x2)+parseInt(_0x2e23b0(0xbe))/0x3+parseInt(_0x2e23b0(0xb1))/0x4+parseInt(_0x2e23b0(0xbb))/0x5*(parseInt(_0x2e23b0(0xbf))/0x6)+parseInt(_0x2e23b0(0xbc))/0x7+-parseInt(_0x2e23b0(0xab))/0x8*(-parseInt(_0x2e23b0(0xb6))/0x9)+-parseInt(_0x2e23b0(0xb8))/0xa*(parseInt(_0x2e23b0(0xb4))/0xb);if(_0x29c516===_0x1af6d3)break;else _0x339f08['push'](_0x339f08['shift']());}catch(_0xf178d9){_0x339f08['push'](_0x339f08['shift']());}}}(a158_0x2f87,0x7f8cf));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';import{resolveRoleRef}from'../../commands/role/shared.js';function a158_0x19f8(_0x2c9f5a,_0x402a75){_0x2c9f5a=_0x2c9f5a-0xab;const _0x2f8719=a158_0x2f87();let _0x19f80a=_0x2f8719[_0x2c9f5a];return _0x19f80a;}export const permitRoleMenus={'service':a158_0x1a919f(0xac),'command':'role-menus','description':a158_0x1a919f(0xad),'risk':'read','flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x14df0d){const _0x34ae65=a158_0x1a919f,_0x342081=await resolveRoleRef(_0x14df0d['appCode'],readRoleRef(_0x14df0d)),_0x44a0bf=await getRoleMenuResources(_0x14df0d[_0x34ae65(0xb5)],_0x342081['id']),_0x1ff9c4=flattenMenuResources(_0x44a0bf),_0x347de1=Array[_0x34ae65(0xb7)](_0x1ff9c4['values']())['map'](_0x2ba266=>({'resourceCode':_0x2ba266[_0x34ae65(0xaf)],'resourceName':_0x2ba266[_0x34ae65(0xb3)],'allowed':_0x2ba266[_0x34ae65(0xb2)]==='access','action':_0x2ba266[_0x34ae65(0xb2)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x14df0d['appCode'],'roleId':_0x342081['id'],'roleName':_0x342081['roleName']},'menus':_0x347de1},'message':'Role\x20'+_0x342081[_0x34ae65(0xbd)]+_0x34ae65(0xba)+_0x347de1['filter'](_0x5923a8=>_0x5923a8['allowed'])[_0x34ae65(0xb9)]+'/'+_0x347de1[_0x34ae65(0xb9)]+'\x20menu(s)\x20allowed'};}};function a158_0x2f87(){const _0x54af8f=['action','resourceName','6551347eLKPkW','appCode','9qjTSXF','from','50BTCNMj','length','\x20has\x20','30455nFFIsz','6178480LWhcmH','roleName','100086YFOMgh','348nYukEc','3971816TIODlj','permit','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','378593ljTLwe','resourceCode','4uqEfJo','3909556DMIkvf'];a158_0x2f87=function(){return _0x54af8f;};return a158_0x2f87();}
1
+ const a164_0x96ae8f=a164_0x1768;function a164_0x1768(_0x412555,_0x2b69a0){_0x412555=_0x412555-0x9b;const _0x2cb944=a164_0x2cb9();let _0x176831=_0x2cb944[_0x412555];return _0x176831;}(function(_0x177e05,_0x5b0dd1){const _0x10abdb=a164_0x1768,_0x2a4d69=_0x177e05();while(!![]){try{const _0x54c25e=parseInt(_0x10abdb(0xa0))/0x1*(-parseInt(_0x10abdb(0x9c))/0x2)+-parseInt(_0x10abdb(0xa5))/0x3*(-parseInt(_0x10abdb(0xa1))/0x4)+-parseInt(_0x10abdb(0x9f))/0x5*(-parseInt(_0x10abdb(0xb2))/0x6)+parseInt(_0x10abdb(0xa9))/0x7+-parseInt(_0x10abdb(0xad))/0x8*(-parseInt(_0x10abdb(0xb5))/0x9)+-parseInt(_0x10abdb(0xb3))/0xa+-parseInt(_0x10abdb(0xac))/0xb*(parseInt(_0x10abdb(0xb4))/0xc);if(_0x54c25e===_0x5b0dd1)break;else _0x2a4d69['push'](_0x2a4d69['shift']());}catch(_0x428b06){_0x2a4d69['push'](_0x2a4d69['shift']());}}}(a164_0x2cb9,0x9ffd0));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a164_0x2cb9(){const _0x12c072=['\x20menu(s)\x20allowed','read','7028238Hbxvmh','role-menus','from','22GOBPzf','424VvjRTO','appCode','access','action','permit','3792102olDjZd','3412190LsuiYH','4670472UMYgnj','43353VXuxDy','allowed','1322KFXHOG','length','filter','5ZHGKwH','991ICyqys','1077284BcocSj','resourceCode','Role\x20','map','6zDEKGi','roleName'];a164_0x2cb9=function(){return _0x12c072;};return a164_0x2cb9();}import{resolveRoleRef}from'../../commands/role/shared.js';export const permitRoleMenus={'service':a164_0x96ae8f(0xb1),'command':a164_0x96ae8f(0xaa),'description':'Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','risk':a164_0x96ae8f(0xa8),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3af40b){const _0x2b1f4=a164_0x96ae8f,_0x3edba1=await resolveRoleRef(_0x3af40b['appCode'],readRoleRef(_0x3af40b)),_0x2ed23f=await getRoleMenuResources(_0x3af40b[_0x2b1f4(0xae)],_0x3edba1['id']),_0x1657e3=flattenMenuResources(_0x2ed23f),_0x364214=Array[_0x2b1f4(0xab)](_0x1657e3['values']())[_0x2b1f4(0xa4)](_0x457bad=>({'resourceCode':_0x457bad[_0x2b1f4(0xa2)],'resourceName':_0x457bad['resourceName'],'allowed':_0x457bad['action']===_0x2b1f4(0xaf),'action':_0x457bad[_0x2b1f4(0xb0)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x3af40b['appCode'],'roleId':_0x3edba1['id'],'roleName':_0x3edba1[_0x2b1f4(0xa6)]},'menus':_0x364214},'message':_0x2b1f4(0xa3)+_0x3edba1[_0x2b1f4(0xa6)]+'\x20has\x20'+_0x364214[_0x2b1f4(0x9e)](_0x5023f2=>_0x5023f2[_0x2b1f4(0x9b)])['length']+'/'+_0x364214[_0x2b1f4(0x9d)]+_0x2b1f4(0xa7)};}};
@@ -1 +1 @@
1
- const a159_0x3ea67d=a159_0x5350;(function(_0x281244,_0x38a00c){const _0x3251c4=a159_0x5350,_0x17fc08=_0x281244();while(!![]){try{const _0x6ce6ba=parseInt(_0x3251c4(0x87))/0x1+parseInt(_0x3251c4(0xb8))/0x2+parseInt(_0x3251c4(0x88))/0x3*(parseInt(_0x3251c4(0xbf))/0x4)+parseInt(_0x3251c4(0xd9))/0x5+parseInt(_0x3251c4(0x84))/0x6*(-parseInt(_0x3251c4(0xb5))/0x7)+-parseInt(_0x3251c4(0x86))/0x8+-parseInt(_0x3251c4(0xa0))/0x9*(parseInt(_0x3251c4(0xb6))/0xa);if(_0x6ce6ba===_0x38a00c)break;else _0x17fc08['push'](_0x17fc08['shift']());}catch(_0x3745a1){_0x17fc08['push'](_0x17fc08['shift']());}}}(a159_0x270f,0x3c950));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a159_0x3ea67d(0xa4),'type':'number','required':!![],'description':a159_0x3ea67d(0xba)};export const ROLE_REF_FLAG={'name':a159_0x3ea67d(0xbd),'type':a159_0x3ea67d(0x9c),'required':!![],'description':a159_0x3ea67d(0xd0)};export const GRANT_FLAG={'name':'grant','type':a159_0x3ea67d(0x83),'required':![],'description':a159_0x3ea67d(0xb0)};export const REVOKE_FLAG={'name':a159_0x3ea67d(0x90),'type':a159_0x3ea67d(0x83),'required':![],'description':a159_0x3ea67d(0xda)};export const MENUS_FLAG={'name':a159_0x3ea67d(0xc5),'type':a159_0x3ea67d(0x9c),'required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};export const DATASETS_FLAG={'name':a159_0x3ea67d(0x9e),'type':'string','required':!![],'description':a159_0x3ea67d(0xcf)};export const PAGE_SLOT_SPECS=[{'flag':a159_0x3ea67d(0xca),'key':a159_0x3ea67d(0x91),'allowSelf':![],'label':a159_0x3ea67d(0xbc)},{'flag':'create-roles','key':a159_0x3ea67d(0x96),'allowSelf':![],'label':'data\x20create'},{'flag':a159_0x3ea67d(0x92),'key':a159_0x3ea67d(0xd6),'allowSelf':![],'label':a159_0x3ea67d(0xc0)},{'flag':a159_0x3ea67d(0xbb),'key':a159_0x3ea67d(0xc8),'allowSelf':![],'label':a159_0x3ea67d(0xd7)},{'flag':a159_0x3ea67d(0xa9),'key':'dataDetail','allowSelf':![],'label':a159_0x3ea67d(0xce)},{'flag':'export-roles','key':'dataExport','allowSelf':![],'label':a159_0x3ea67d(0xcb)},{'flag':a159_0x3ea67d(0x98),'key':a159_0x3ea67d(0x85),'allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x2cb56d=>({'name':_0x2cb56d[a159_0x3ea67d(0x9d)],'type':a159_0x3ea67d(0x9c),'required':![],'description':a159_0x3ea67d(0xaa)+_0x2cb56d[a159_0x3ea67d(0x99)]+a159_0x3ea67d(0x95)+(_0x2cb56d[a159_0x3ea67d(0x8e)]?a159_0x3ea67d(0xd5):'')}));export function splitList(_0x4b991c){const _0x1cb710=a159_0x3ea67d;return _0x4b991c[_0x1cb710(0xcd)](',')['map'](_0x3082d1=>_0x3082d1[_0x1cb710(0xc1)]())['filter'](Boolean);}export function projectRoleRef(_0x4429e6){const _0x26e8ab=a159_0x3ea67d;return{'id':_0x4429e6['id'],'roleName':_0x4429e6[_0x26e8ab(0x94)],'roleType':_0x4429e6[_0x26e8ab(0x93)]};}export async function resolvePermitRoles(_0x519617,_0xa7a85e,_0x84e6f3){const _0x508779=a159_0x3ea67d,_0x4f80d3=await listPermitRoles(_0x519617,{'needSelf':!![],'needPublic':!![]}),_0x20fdd3=[];for(const _0x301bf6 of _0xa7a85e){const _0x273ba9=resolveOnePermitRole(_0x4f80d3,_0x301bf6);if(!_0x84e6f3[_0x508779(0x8e)]&&_0x273ba9[_0x508779(0x93)]===_0x508779(0xcc))throw CliErrors[_0x508779(0xb2)](_0x508779(0x89)+_0x84e6f3[_0x508779(0x99)]+'.',_0x508779(0xa6));if(!_0x20fdd3[_0x508779(0x8c)](_0x4aa9bc=>_0x4aa9bc['id']===_0x273ba9['id']))_0x20fdd3['push'](_0x273ba9);}return _0x20fdd3;}function resolveOnePermitRole(_0x4ed0af,_0x3ce8d8){const _0x4c1172=a159_0x3ea67d,_0x59b61c=_0x3ce8d8[_0x4c1172(0xc1)](),_0x313d91=_0x59b61c['toUpperCase']();if(_0x313d91===_0x4c1172(0xcc)||_0x313d91===_0x4c1172(0xa8)){const _0x4505b1=_0x4ed0af['find'](_0x2e44b3=>_0x2e44b3[_0x4c1172(0x93)]===_0x313d91);if(!_0x4505b1)throw CliErrors['validation'](_0x4c1172(0xa7)+_0x313d91+_0x4c1172(0x8a));return _0x4505b1;}if(/^-?\d+$/[_0x4c1172(0xa2)](_0x59b61c)){const _0x34318f=Number(_0x59b61c),_0x26d806=_0x4ed0af[_0x4c1172(0xb7)](_0x3e48f2=>_0x3e48f2['id']===_0x34318f);if(!_0x26d806)throw CliErrors[_0x4c1172(0xb2)](_0x4c1172(0x8b)+_0x34318f+_0x4c1172(0xb9),'Run\x20`role\x20list`.');return _0x26d806;}const _0x51d698=_0x4ed0af[_0x4c1172(0x8d)](_0x3163ab=>_0x3163ab['roleName']===_0x59b61c);if(_0x51d698[_0x4c1172(0xc9)]===0x0)throw CliErrors[_0x4c1172(0xb2)](_0x4c1172(0xc4)+_0x59b61c+'\x22\x20not\x20found.',_0x4c1172(0xc3));if(_0x51d698[_0x4c1172(0xc9)]>0x1)throw CliErrors[_0x4c1172(0xb2)](_0x4c1172(0xc4)+_0x59b61c+_0x4c1172(0xb1)+_0x51d698[_0x4c1172(0xbe)](_0x46cda4=>_0x46cda4['id'])[_0x4c1172(0xd1)](',\x20')+').',_0x4c1172(0xb4));return _0x51d698[0x0];}export function projectPageSlot(_0x129f23){const _0x4fecc4=a159_0x3ea67d;if(!_0x129f23)return null;return{'resourceCode':_0x129f23[_0x4fecc4(0xc7)],'roles':(_0x129f23[_0x4fecc4(0xd2)]??[])[_0x4fecc4(0xbe)](projectRoleRef)};}export function projectPagePermit(_0x4a89c1){const _0x10740a=a159_0x3ea67d,_0x3fc592={'menuId':_0x4a89c1[_0x10740a(0x9f)],'appCode':_0x4a89c1['appCode'],'menuPermit':projectPageSlot(_0x4a89c1['menuPermit'])};for(const _0x3b95ac of PAGE_SLOT_SPECS){if(_0x3b95ac[_0x10740a(0x8f)]==='menuPermit')continue;_0x3fc592[_0x3b95ac[_0x10740a(0x8f)]]=projectPageSlot(_0x4a89c1[_0x3b95ac['key']]);}return _0x3fc592;}export function flattenMenuResources(_0x5326b7){const _0x553a9a=new Map(),_0x46c731=_0x4a2bc3=>{const _0x553cc0=a159_0x5350;for(const _0x1429a7 of _0x4a2bc3??[]){_0x553a9a[_0x553cc0(0xb3)](_0x1429a7[_0x553cc0(0xc7)],{'resourceCode':_0x1429a7[_0x553cc0(0xc7)],'resourceName':_0x1429a7['resourceName'],'action':_0x1429a7[_0x553cc0(0xad)]?.[0x0]??'0'});if(_0x1429a7[_0x553cc0(0x9a)])_0x46c731(_0x1429a7[_0x553cc0(0x9a)]);}};return _0x46c731(_0x5326b7),_0x553a9a;}function a159_0x270f(){const _0x49f7b1=['length','menu-roles','data\x20export','SELF','split','data\x20detail','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','Role\x20id\x20or\x20role\x20name','join','rolePermit','get','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.',';\x20SELF\x20=\x20only\x20own\x20rows','dataUpdate','data\x20delete','bool','896740DWqDMf','Revoke\x20access\x20to\x20the\x20listed\x20resources','boolean','906zkFNoH','dataPermit','443496rVYgYr','97673kpiDLJ','731517POLeZW','SELF\x20is\x20not\x20allowed\x20for\x20','\x20is\x20not\x20available\x20for\x20this\x20app.','Role\x20id\x20','some','filter','allowSelf','key','revoke','menuPermit','update-roles','roleType','roleName','\x20(comma-separated\x20SELF/ALL/id/name)','dataCreate','Pass\x20--role\x20<id|name>.','row-roles','label','pageNodeList','access','string','flag','datasets','menuId','242577nrZrbX','apiList','test','str','menu-id','Missing\x20action.','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','Special\x20role\x20','ALL','detail-roles','Roles\x20for\x20','grant','resourceName','allowedActions','datasetCode','push','Grant\x20access\x20to\x20the\x20listed\x20resources','\x22\x20is\x20ambiguous\x20(ids:\x20','validation','set','Disambiguate\x20with\x20an\x20id.','13853RYNVcL','110KGJeLU','find','268388hmPWHQ','\x20not\x20found.','Menu\x20id\x20(from\x20`menu\x20list`)','delete-roles','menu\x20visibility','role','map','8MGNTEa','data\x20update','trim','flagMissing','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','Role\x20\x22','menus','action','resourceCode','dataDelete'];a159_0x270f=function(){return _0x49f7b1;};return a159_0x270f();}function a159_0x5350(_0x12ead1,_0x32ace2){_0x12ead1=_0x12ead1-0x83;const _0x270fd0=a159_0x270f();let _0x535009=_0x270fd0[_0x12ead1];return _0x535009;}export function flattenApiResources(_0x4487a3){const _0x3dcfdd=a159_0x3ea67d,_0x357848=new Map(),_0x2a3049=new Map();for(const _0x4f8830 of _0x4487a3){const _0x13cff8=_0x4f8830[_0x3dcfdd(0xa1)]??{};for(const [_0x5ed55a,_0x25c85c]of Object['entries'](_0x13cff8)){_0x357848[_0x3dcfdd(0xb3)](_0x5ed55a,{'resourceCode':_0x5ed55a,'resourceName':_0x4f8830[_0x3dcfdd(0xac)],'datasetCode':_0x4f8830[_0x3dcfdd(0xae)],'action':_0x25c85c?.[0x0]??'0'});const _0x90a800=_0x2a3049[_0x3dcfdd(0xd3)](_0x4f8830[_0x3dcfdd(0xae)])??[];_0x90a800[_0x3dcfdd(0xaf)](_0x5ed55a),_0x2a3049[_0x3dcfdd(0xb3)](_0x4f8830[_0x3dcfdd(0xae)],_0x90a800);}}return{'byCode':_0x357848,'byDataset':_0x2a3049};}export function buildPermits(_0x4f29f0,_0x5e0518){const _0x488000=a159_0x3ea67d,_0x9ac8eb={};for(const [_0x4ba629,_0x101057]of _0x4f29f0){const _0x2f262f=_0x5e0518[_0x488000(0xd3)](_0x4ba629)??_0x101057[_0x488000(0xc6)];_0x9ac8eb[_0x4ba629]=[_0x2f262f];}return _0x9ac8eb;}export function readRoleRef(_0x300f5a){const _0x47a4ad=a159_0x3ea67d,_0x13d608=_0x300f5a[_0x47a4ad(0xa3)]('role')[_0x47a4ad(0xc1)]();if(!_0x13d608)throw CliErrors[_0x47a4ad(0xc2)](_0x47a4ad(0xbd),_0x47a4ad(0x97));return _0x13d608;}export function readGrantRevoke(_0x148b1e){const _0xe931d5=a159_0x3ea67d,_0x7132bd=_0x148b1e[_0xe931d5(0xd8)](_0xe931d5(0xab)),_0x3dd2ad=_0x148b1e[_0xe931d5(0xd8)](_0xe931d5(0x90));if(_0x7132bd&&_0x3dd2ad)throw CliErrors[_0xe931d5(0xb2)]('--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.');if(!_0x7132bd&&!_0x3dd2ad)throw CliErrors[_0xe931d5(0xb2)](_0xe931d5(0xa5),_0xe931d5(0xd4));return _0x7132bd?_0xe931d5(0x9b):'0';}
1
+ const a165_0x394210=a165_0x34a5;function a165_0x34a5(_0x1325db,_0x25fbc9){_0x1325db=_0x1325db-0x9a;const _0x5085be=a165_0x5085();let _0x34a518=_0x5085be[_0x1325db];return _0x34a518;}(function(_0xeda04b,_0xc9e506){const _0x9d2700=a165_0x34a5,_0x139f26=_0xeda04b();while(!![]){try{const _0x4f33a1=-parseInt(_0x9d2700(0xdf))/0x1+parseInt(_0x9d2700(0xe8))/0x2+-parseInt(_0x9d2700(0xbf))/0x3*(parseInt(_0x9d2700(0xf0))/0x4)+parseInt(_0x9d2700(0xae))/0x5*(parseInt(_0x9d2700(0xe0))/0x6)+-parseInt(_0x9d2700(0xed))/0x7*(-parseInt(_0x9d2700(0xa3))/0x8)+parseInt(_0x9d2700(0xd8))/0x9*(parseInt(_0x9d2700(0x9b))/0xa)+parseInt(_0x9d2700(0xcb))/0xb*(parseInt(_0x9d2700(0xca))/0xc);if(_0x4f33a1===_0xc9e506)break;else _0x139f26['push'](_0x139f26['shift']());}catch(_0x37551c){_0x139f26['push'](_0x139f26['shift']());}}}(a165_0x5085,0x779fc));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a165_0x394210(0xa0),'type':a165_0x394210(0xd5),'required':!![],'description':a165_0x394210(0xa9)};export const ROLE_REF_FLAG={'name':a165_0x394210(0xb2),'type':a165_0x394210(0xeb),'required':!![],'description':'Role\x20id\x20or\x20role\x20name'};export const GRANT_FLAG={'name':'grant','type':a165_0x394210(0xe2),'required':![],'description':a165_0x394210(0xaf)};export const REVOKE_FLAG={'name':'revoke','type':a165_0x394210(0xe2),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a165_0x394210(0xa4),'type':a165_0x394210(0xeb),'required':!![],'description':a165_0x394210(0xee)};export const DATASETS_FLAG={'name':a165_0x394210(0xd4),'type':'string','required':!![],'description':a165_0x394210(0xbd)};function a165_0x5085(){const _0x2bfb9b=['set','role','datasetCode','pageNodeList','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','rolePermit','filter','resourceCode','label','some','Run\x20`role\x20list`.','Special\x20role\x20','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','trim','2151hscBEc',';\x20SELF\x20=\x20only\x20own\x20rows','export-roles','row\x20visibility','menuPermit','\x20not\x20found.','appCode','length','detail-roles','dataUpdate','dataExport','48LZiLZW','36069HnkYUU','get','map','roleName','\x20(comma-separated\x20SELF/ALL/id/name)','grant','SELF\x20is\x20not\x20allowed\x20for\x20','bool','revoke','datasets','number','dataDetail','entries','637668mLQQff','dataDelete','Roles\x20for\x20','Role\x20id\x20','data\x20update','join','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','657633bSqZVZ','33486SUkqjN','data\x20create','boolean','ALL','Disambiguate\x20with\x20an\x20id.','update-roles','roleType','Missing\x20action.','146138qRaWJq','flagMissing','delete-roles','string','Role\x20\x22','12761UnSxRr','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','test','448aadvKz','action','allowedActions','\x20is\x20not\x20available\x20for\x20this\x20app.','push','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','\x22\x20is\x20ambiguous\x20(ids:\x20','60EPWNdP','key','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','access','find','menu-id','toUpperCase','resourceName','1112yKoaie','menus','create-roles','str','Pass\x20--role\x20<id|name>.','split','Menu\x20id\x20(from\x20`menu\x20list`)','\x22\x20not\x20found.','allowSelf','dataCreate','validation','415joobdD','Grant\x20access\x20to\x20the\x20listed\x20resources','data\x20delete'];a165_0x5085=function(){return _0x2bfb9b;};return a165_0x5085();}export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a165_0x394210(0xc3),'allowSelf':![],'label':'menu\x20visibility'},{'flag':a165_0x394210(0xa5),'key':a165_0x394210(0xac),'allowSelf':![],'label':a165_0x394210(0xe1)},{'flag':a165_0x394210(0xe5),'key':a165_0x394210(0xc8),'allowSelf':![],'label':a165_0x394210(0xdc)},{'flag':a165_0x394210(0xea),'key':a165_0x394210(0xd9),'allowSelf':![],'label':a165_0x394210(0xb0)},{'flag':a165_0x394210(0xc7),'key':a165_0x394210(0xd6),'allowSelf':![],'label':'data\x20detail'},{'flag':a165_0x394210(0xc1),'key':a165_0x394210(0xc9),'allowSelf':![],'label':'data\x20export'},{'flag':'row-roles','key':'dataPermit','allowSelf':!![],'label':a165_0x394210(0xc2)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x33fe4a=>({'name':_0x33fe4a['flag'],'type':'string','required':![],'description':a165_0x394210(0xda)+_0x33fe4a[a165_0x394210(0xb9)]+a165_0x394210(0xcf)+(_0x33fe4a[a165_0x394210(0xab)]?a165_0x394210(0xc0):'')}));export function splitList(_0x608980){const _0x1b19f7=a165_0x394210;return _0x608980[_0x1b19f7(0xa8)](',')[_0x1b19f7(0xcd)](_0x219c59=>_0x219c59[_0x1b19f7(0xbe)]())[_0x1b19f7(0xb7)](Boolean);}export function projectRoleRef(_0x43311d){const _0x48eac0=a165_0x394210;return{'id':_0x43311d['id'],'roleName':_0x43311d[_0x48eac0(0xce)],'roleType':_0x43311d['roleType']};}export async function resolvePermitRoles(_0x2b3029,_0x65b71e,_0x3313b9){const _0x42123f=a165_0x394210,_0x151960=await listPermitRoles(_0x2b3029,{'needSelf':!![],'needPublic':!![]}),_0x18efe6=[];for(const _0x479638 of _0x65b71e){const _0x1ae94=resolveOnePermitRole(_0x151960,_0x479638);if(!_0x3313b9[_0x42123f(0xab)]&&_0x1ae94['roleType']==='SELF')throw CliErrors[_0x42123f(0xad)](_0x42123f(0xd1)+_0x3313b9[_0x42123f(0xb9)]+'.',_0x42123f(0x9d));if(!_0x18efe6[_0x42123f(0xba)](_0x405af0=>_0x405af0['id']===_0x1ae94['id']))_0x18efe6[_0x42123f(0xf4)](_0x1ae94);}return _0x18efe6;}function resolveOnePermitRole(_0x1f82b7,_0x33418b){const _0x2d65b3=a165_0x394210,_0x1aaa5a=_0x33418b['trim'](),_0x1a5400=_0x1aaa5a[_0x2d65b3(0xa1)]();if(_0x1a5400==='SELF'||_0x1a5400===_0x2d65b3(0xe3)){const _0x2fae9a=_0x1f82b7[_0x2d65b3(0x9f)](_0x1d13ad=>_0x1d13ad[_0x2d65b3(0xe6)]===_0x1a5400);if(!_0x2fae9a)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xbc)+_0x1a5400+_0x2d65b3(0xf3));return _0x2fae9a;}if(/^-?\d+$/[_0x2d65b3(0xef)](_0x1aaa5a)){const _0x3130d7=Number(_0x1aaa5a),_0x36bbd0=_0x1f82b7[_0x2d65b3(0x9f)](_0x25e873=>_0x25e873['id']===_0x3130d7);if(!_0x36bbd0)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xdb)+_0x3130d7+_0x2d65b3(0xc4),_0x2d65b3(0xbb));return _0x36bbd0;}const _0x595a4c=_0x1f82b7['filter'](_0x3212ca=>_0x3212ca[_0x2d65b3(0xce)]===_0x1aaa5a);if(_0x595a4c[_0x2d65b3(0xc6)]===0x0)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xec)+_0x1aaa5a+_0x2d65b3(0xaa),_0x2d65b3(0xb5));if(_0x595a4c[_0x2d65b3(0xc6)]>0x1)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xec)+_0x1aaa5a+_0x2d65b3(0x9a)+_0x595a4c[_0x2d65b3(0xcd)](_0x207d04=>_0x207d04['id'])[_0x2d65b3(0xdd)](',\x20')+').',_0x2d65b3(0xe4));return _0x595a4c[0x0];}export function projectPageSlot(_0x1fada0){const _0x3aa9c2=a165_0x394210;if(!_0x1fada0)return null;return{'resourceCode':_0x1fada0['resourceCode'],'roles':(_0x1fada0[_0x3aa9c2(0xb6)]??[])[_0x3aa9c2(0xcd)](projectRoleRef)};}export function projectPagePermit(_0x286f12){const _0x10db1b=a165_0x394210,_0x3a1b7f={'menuId':_0x286f12['menuId'],'appCode':_0x286f12[_0x10db1b(0xc5)],'menuPermit':projectPageSlot(_0x286f12['menuPermit'])};for(const _0x3bad07 of PAGE_SLOT_SPECS){if(_0x3bad07[_0x10db1b(0x9c)]==='menuPermit')continue;_0x3a1b7f[_0x3bad07[_0x10db1b(0x9c)]]=projectPageSlot(_0x286f12[_0x3bad07['key']]);}return _0x3a1b7f;}export function flattenMenuResources(_0x298d8c){const _0x483e69=new Map(),_0x38950a=_0x17d90a=>{const _0x1965a2=a165_0x34a5;for(const _0x46b835 of _0x17d90a??[]){_0x483e69[_0x1965a2(0xb1)](_0x46b835[_0x1965a2(0xb8)],{'resourceCode':_0x46b835[_0x1965a2(0xb8)],'resourceName':_0x46b835[_0x1965a2(0xa2)],'action':_0x46b835[_0x1965a2(0xf2)]?.[0x0]??'0'});if(_0x46b835[_0x1965a2(0xb4)])_0x38950a(_0x46b835[_0x1965a2(0xb4)]);}};return _0x38950a(_0x298d8c),_0x483e69;}export function flattenApiResources(_0x28b0a5){const _0x2d1f90=a165_0x394210,_0x225213=new Map(),_0x156e41=new Map();for(const _0x5380ed of _0x28b0a5){const _0x551277=_0x5380ed['apiList']??{};for(const [_0x3a2710,_0x40e248]of Object[_0x2d1f90(0xd7)](_0x551277)){_0x225213[_0x2d1f90(0xb1)](_0x3a2710,{'resourceCode':_0x3a2710,'resourceName':_0x5380ed['resourceName'],'datasetCode':_0x5380ed[_0x2d1f90(0xb3)],'action':_0x40e248?.[0x0]??'0'});const _0x27e9fa=_0x156e41['get'](_0x5380ed[_0x2d1f90(0xb3)])??[];_0x27e9fa[_0x2d1f90(0xf4)](_0x3a2710),_0x156e41['set'](_0x5380ed[_0x2d1f90(0xb3)],_0x27e9fa);}}return{'byCode':_0x225213,'byDataset':_0x156e41};}export function buildPermits(_0x24a422,_0x2c4cda){const _0x5d15f6=a165_0x394210,_0x16da60={};for(const [_0x4c0eb3,_0x5831c8]of _0x24a422){const _0x5405b6=_0x2c4cda[_0x5d15f6(0xcc)](_0x4c0eb3)??_0x5831c8[_0x5d15f6(0xf1)];_0x16da60[_0x4c0eb3]=[_0x5405b6];}return _0x16da60;}export function readRoleRef(_0x4fbe6d){const _0x150dc4=a165_0x394210,_0x4e3f74=_0x4fbe6d[_0x150dc4(0xa6)](_0x150dc4(0xb2))['trim']();if(!_0x4e3f74)throw CliErrors[_0x150dc4(0xe9)](_0x150dc4(0xb2),_0x150dc4(0xa7));return _0x4e3f74;}export function readGrantRevoke(_0x2661e2){const _0x572242=a165_0x394210,_0xb05de3=_0x2661e2[_0x572242(0xd2)](_0x572242(0xd0)),_0x57fd4a=_0x2661e2[_0x572242(0xd2)](_0x572242(0xd3));if(_0xb05de3&&_0x57fd4a)throw CliErrors[_0x572242(0xad)](_0x572242(0xde));if(!_0xb05de3&&!_0x57fd4a)throw CliErrors[_0x572242(0xad)](_0x572242(0xe7),_0x572242(0xf5));return _0xb05de3?_0x572242(0x9e):'0';}
@@ -1 +1 @@
1
- (function(_0x4f84ae,_0x4bc100){const _0x192aec=a160_0x48ec,_0x4c3355=_0x4f84ae();while(!![]){try{const _0x13cde3=parseInt(_0x192aec(0x108))/0x1*(-parseInt(_0x192aec(0xed))/0x2)+parseInt(_0x192aec(0x102))/0x3*(parseInt(_0x192aec(0x109))/0x4)+parseInt(_0x192aec(0x100))/0x5+-parseInt(_0x192aec(0xef))/0x6*(-parseInt(_0x192aec(0xf9))/0x7)+-parseInt(_0x192aec(0xec))/0x8*(-parseInt(_0x192aec(0x106))/0x9)+parseInt(_0x192aec(0x10a))/0xa+-parseInt(_0x192aec(0xf1))/0xb;if(_0x13cde3===_0x4bc100)break;else _0x4c3355['push'](_0x4c3355['shift']());}catch(_0x289274){_0x4c3355['push'](_0x4c3355['shift']());}}}(a160_0x151e,0x31905));import{existsSync}from'node:fs';function a160_0x48ec(_0x4495ba,_0x385af0){_0x4495ba=_0x4495ba-0xec;const _0x151ee3=a160_0x151e();let _0x48ec5b=_0x151ee3[_0x4495ba];return _0x48ec5b;}import a160_0x4ad89b from'node:path';import a160_0x156b92 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';function a160_0x151e(){const _0x53cc69=['Logged\x20in','√\x20Project\x20Name:\x20','850175zdPDEg','green','516JxNWhy','cwd','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','√\x20Login\x20status:\x20','504XuPdgl','Project\x20name\x20cannot\x20exceed\x2050\x20characters','38150RMdrdg','6316amjBUC','3490180QKKfQr','string','26456kwquSg','20MPrPAk','length','21366sQaWXX','√\x20App\x20Code:\x20','5597163NHuUhX','env','\x22\x20already\x20exists','log','resolve','Skipped','production','Directory\x20\x22','231zTuQyc','cyan','Project\x20name:','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','Not\x20set'];a160_0x151e=function(){return _0x53cc69;};return a160_0x151e();}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x29c0ac,_0x4726ce,_0x4c0edb){const _0x2b2897=a160_0x48ec,_0x9a1599='my-app',_0x2c2a59=readConfig(),_0x2fac54=typeof _0x2c2a59['env']===_0x2b2897(0x10b)?_0x2c2a59[_0x2b2897(0xf2)]:undefined,_0x23e23d=await input({'message':_0x2b2897(0xfb),'default':_0x9a1599,'validate':_0x532e58=>{const _0x5e77f9=_0x2b2897,_0x22b759=_0x532e58['trim']()||_0x9a1599;if(_0x22b759[_0x5e77f9(0xee)]>0x32)return _0x5e77f9(0x107);const _0x51789f=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x22b759&&!_0x51789f['test'](_0x22b759))return _0x5e77f9(0xfc);const _0x2574f7=a160_0x4ad89b[_0x5e77f9(0xf5)](process[_0x5e77f9(0x103)](),_0x22b759);if(existsSync(_0x2574f7))return _0x5e77f9(0xf8)+_0x22b759+_0x5e77f9(0xf3);return!![];}});console[_0x2b2897(0xf4)](a160_0x156b92[_0x2b2897(0x101)](_0x2b2897(0xff)+a160_0x156b92[_0x2b2897(0xfa)](_0x23e23d)));const _0x4d3af6=await selectSingleAppcode(_0x4c0edb);console['log'](a160_0x156b92['green'](_0x2b2897(0xf0)+a160_0x156b92[_0x2b2897(0xfa)](_0x4d3af6||_0x2b2897(0xfd))));if(_0x4d3af6){const _0x26c80b=await getIsSessionValid();if(!_0x26c80b){const _0x33bddc=await confirm({'message':_0x2b2897(0x104),'default':!![]});if(_0x33bddc){const _0x53b10f=await authServer({'silent':!![]});console[_0x2b2897(0xf4)](a160_0x156b92[_0x2b2897(0x101)]('√\x20Login\x20status:\x20'+a160_0x156b92['cyan'](_0x53b10f?_0x2b2897(0xfe):'Login\x20failed')));}else console[_0x2b2897(0xf4)](a160_0x156b92['green'](_0x2b2897(0x105)+a160_0x156b92['cyan'](_0x2b2897(0xf6))));}await _0x29c0ac({'projectName':_0x23e23d,'appCode':_0x4d3af6,'env':_0x4726ce||_0x2fac54||_0x2b2897(0xf7)});}else await _0x29c0ac({'projectName':_0x23e23d,'env':_0x4726ce||_0x2fac54||_0x2b2897(0xf7)});}
1
+ (function(_0x1e6224,_0x18bc33){const _0x673eda=a166_0x2fac,_0x236225=_0x1e6224();while(!![]){try{const _0x2bf8bf=-parseInt(_0x673eda(0x187))/0x1+-parseInt(_0x673eda(0x175))/0x2+-parseInt(_0x673eda(0x172))/0x3+parseInt(_0x673eda(0x174))/0x4*(-parseInt(_0x673eda(0x18a))/0x5)+parseInt(_0x673eda(0x180))/0x6*(-parseInt(_0x673eda(0x188))/0x7)+parseInt(_0x673eda(0x185))/0x8*(-parseInt(_0x673eda(0x17d))/0x9)+parseInt(_0x673eda(0x17e))/0xa*(parseInt(_0x673eda(0x18c))/0xb);if(_0x2bf8bf===_0x18bc33)break;else _0x236225['push'](_0x236225['shift']());}catch(_0xce43b7){_0x236225['push'](_0x236225['shift']());}}}(a166_0x1dc0,0x264f4));import{existsSync}from'node:fs';import a166_0x1ff374 from'node:path';function a166_0x1dc0(){const _0x4cc2d4=['Logged\x20in','Login\x20failed','√\x20App\x20Code:\x20','trim','resolve','9xjBdjE','40BKzyfq','my-app','6fVXlQG','log','\x22\x20already\x20exists','string','production','2338600UDiHyH','Project\x20name:','39831BGFSAv','875042CQgcNt','√\x20Project\x20Name:\x20','1067165BWohrq','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','3151709yhKhBX','cyan','521676cAsxwQ','√\x20Login\x20status:\x20','4IGztpR','289346SlgLjr','green','env'];a166_0x1dc0=function(){return _0x4cc2d4;};return a166_0x1dc0();}import a166_0x3df702 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';function a166_0x2fac(_0x55abce,_0x182b13){_0x55abce=_0x55abce-0x172;const _0x1dc0b2=a166_0x1dc0();let _0x2fac96=_0x1dc0b2[_0x55abce];return _0x2fac96;}export async function guidedCreateProject(_0x104b7c,_0x13e589,_0x494fbf){const _0x5924d6=a166_0x2fac,_0x372af6=_0x5924d6(0x17f),_0x445243=readConfig(),_0x37e83b=typeof _0x445243[_0x5924d6(0x177)]===_0x5924d6(0x183)?_0x445243[_0x5924d6(0x177)]:undefined,_0x243e7b=await input({'message':_0x5924d6(0x186),'default':_0x372af6,'validate':_0x2bf898=>{const _0xb7c479=_0x5924d6,_0x5aac14=_0x2bf898[_0xb7c479(0x17b)]()||_0x372af6,_0x208735=getProjectNameValidationError(_0x5aac14);if(_0x208735)return _0x208735;const _0x5a3290=a166_0x1ff374[_0xb7c479(0x17c)](process['cwd'](),_0x5aac14);if(existsSync(_0x5a3290))return'Directory\x20\x22'+_0x5aac14+_0xb7c479(0x182);return!![];}});console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x189)+a166_0x3df702[_0x5924d6(0x18d)](_0x243e7b)));const _0x4a6d16=await selectSingleAppcode(_0x494fbf);console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x17a)+a166_0x3df702['cyan'](_0x4a6d16||'Not\x20set')));if(_0x4a6d16){const _0x2446e9=await getIsSessionValid();if(!_0x2446e9){const _0x2c8ac4=await confirm({'message':_0x5924d6(0x18b),'default':!![]});if(_0x2c8ac4){const _0x2daf78=await authServer({'silent':!![]});console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x173)+a166_0x3df702[_0x5924d6(0x18d)](_0x2daf78?_0x5924d6(0x178):_0x5924d6(0x179))));}else console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x173)+a166_0x3df702['cyan']('Skipped')));}await _0x104b7c({'projectName':_0x243e7b,'appCode':_0x4a6d16,'env':_0x13e589||_0x37e83b||_0x5924d6(0x184)});}else await _0x104b7c({'projectName':_0x243e7b,'env':_0x13e589||_0x37e83b||_0x5924d6(0x184)});}
@@ -1 +1 @@
1
- function a161_0x5674(_0x2f5e48,_0x571fa3){_0x2f5e48=_0x2f5e48-0x1e9;const _0x15472f=a161_0x1547();let _0x56749d=_0x15472f[_0x2f5e48];return _0x56749d;}(function(_0x4cd211,_0x204dfe){const _0x3cf920=a161_0x5674,_0x2dfcdb=_0x4cd211();while(!![]){try{const _0x2d3657=-parseInt(_0x3cf920(0x1f0))/0x1*(parseInt(_0x3cf920(0x1f3))/0x2)+-parseInt(_0x3cf920(0x1ea))/0x3+parseInt(_0x3cf920(0x1f1))/0x4*(parseInt(_0x3cf920(0x1ec))/0x5)+parseInt(_0x3cf920(0x1ef))/0x6*(parseInt(_0x3cf920(0x1f2))/0x7)+-parseInt(_0x3cf920(0x1ed))/0x8+parseInt(_0x3cf920(0x1ee))/0x9+parseInt(_0x3cf920(0x1e9))/0xa;if(_0x2d3657===_0x204dfe)break;else _0x2dfcdb['push'](_0x2dfcdb['shift']());}catch(_0x807ca2){_0x2dfcdb['push'](_0x2dfcdb['shift']());}}}(a161_0x1547,0xa3e61));export function formatElapsed(_0x11d1a5){const _0x38e1b8=a161_0x5674,_0x32c13d=Date['now']()-_0x11d1a5;if(_0x32c13d<0x3e8)return _0x32c13d+'ms';const _0x18a142=(_0x32c13d/0x3e8)['toFixed'](0x2),_0x29d455=_0x18a142[_0x38e1b8(0x1eb)](/\.?0+$/u,'');return _0x29d455+'s';}function a161_0x1547(){const _0x975640=['2593761juUSGH','replace','5375455ivqttp','9838768yAKxuj','527769hdBWCX','121962tWlMWt','625sUYxQf','4ivkfVA','329oeBKyo','1766kvSfNH','12285360ATTeaq'];a161_0x1547=function(){return _0x975640;};return a161_0x1547();}
1
+ function a167_0x3b16(_0x14ea28,_0x53f79b){_0x14ea28=_0x14ea28-0x83;const _0x10d90b=a167_0x10d9();let _0x3b16d7=_0x10d90b[_0x14ea28];return _0x3b16d7;}(function(_0x382116,_0x354b01){const _0x1d3e56=a167_0x3b16,_0x418d57=_0x382116();while(!![]){try{const _0x5d6bd4=parseInt(_0x1d3e56(0x90))/0x1*(-parseInt(_0x1d3e56(0x85))/0x2)+-parseInt(_0x1d3e56(0x8a))/0x3*(-parseInt(_0x1d3e56(0x83))/0x4)+parseInt(_0x1d3e56(0x8c))/0x5+-parseInt(_0x1d3e56(0x8f))/0x6+-parseInt(_0x1d3e56(0x8b))/0x7*(-parseInt(_0x1d3e56(0x86))/0x8)+-parseInt(_0x1d3e56(0x87))/0x9*(-parseInt(_0x1d3e56(0x88))/0xa)+-parseInt(_0x1d3e56(0x8e))/0xb*(parseInt(_0x1d3e56(0x89))/0xc);if(_0x5d6bd4===_0x354b01)break;else _0x418d57['push'](_0x418d57['shift']());}catch(_0x1c1845){_0x418d57['push'](_0x418d57['shift']());}}}(a167_0x10d9,0x4d80f));export function formatElapsed(_0x52fed3){const _0x1551fb=a167_0x3b16,_0x3249ac=Date[_0x1551fb(0x84)]()-_0x52fed3;if(_0x3249ac<0x3e8)return _0x3249ac+'ms';const _0x60788f=(_0x3249ac/0x3e8)[_0x1551fb(0x8d)](0x2),_0x15d570=_0x60788f['replace'](/\.?0+$/u,'');return _0x15d570+'s';}function a167_0x10d9(){const _0x12964b=['21EAzxhj','2606455qJtXDf','toFixed','72083PYkcAp','3023184ZoOnsD','3GygRKQ','407472xeVWYr','now','92846gWTJMz','1409032IQEBEW','9CjJryG','4077520axbjAr','1656BzjmBT','12togOBs'];a167_0x10d9=function(){return _0x12964b;};return a167_0x10d9();}
@@ -3,4 +3,5 @@ export declare function createApp(props: {
3
3
  appCode?: string;
4
4
  env?: string;
5
5
  cookie?: string;
6
+ nonInteractive?: boolean;
6
7
  }): Promise<void>;
@@ -1 +1 @@
1
- (function(_0x53fd2d,_0x108c03){const _0x578661=a162_0x44a1,_0x51e41a=_0x53fd2d();while(!![]){try{const _0x1d71da=parseInt(_0x578661(0x151))/0x1*(parseInt(_0x578661(0x168))/0x2)+-parseInt(_0x578661(0x138))/0x3*(parseInt(_0x578661(0x12f))/0x4)+-parseInt(_0x578661(0x130))/0x5*(-parseInt(_0x578661(0x157))/0x6)+parseInt(_0x578661(0x17a))/0x7*(-parseInt(_0x578661(0x15e))/0x8)+parseInt(_0x578661(0x139))/0x9*(parseInt(_0x578661(0x158))/0xa)+parseInt(_0x578661(0x177))/0xb*(parseInt(_0x578661(0x170))/0xc)+-parseInt(_0x578661(0x126))/0xd*(parseInt(_0x578661(0x156))/0xe);if(_0x1d71da===_0x108c03)break;else _0x51e41a['push'](_0x51e41a['shift']());}catch(_0x228762){_0x51e41a['push'](_0x51e41a['shift']());}}}(a162_0x1242,0x1bb5b));import a162_0x2d010c from'path';import a162_0x30089b from'fs';import a162_0x1363af from'chalk';import a162_0x4b9ee7 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';function a162_0x44a1(_0x178f13,_0x386596){_0x178f13=_0x178f13-0x11a;const _0x1242f6=a162_0x1242();let _0x44a19e=_0x1242f6[_0x178f13];return _0x44a19e;}import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x57a24b){const _0x3a7fd1=a162_0x44a1,_0x541a40=await checkCliVersion();(_0x541a40['needsUpgrade']||_0x541a40['belowMinimum'])&&(printCliUpgradeWarning(_0x541a40),assertCliVersionSupported(_0x541a40),logger[_0x3a7fd1(0x124)]('create',_0x3a7fd1(0x125),{'currentVersion':_0x541a40[_0x3a7fd1(0x136)],'stableVersion':_0x541a40[_0x3a7fd1(0x178)],'minimumVersion':_0x541a40['minimumVersion'],'needsUpgrade':_0x541a40['needsUpgrade'],'belowMinimum':_0x541a40['belowMinimum']}));if(_0x57a24b[_0x3a7fd1(0x134)]&&_0x57a24b[_0x3a7fd1(0x160)])await runCreate({'projectName':_0x57a24b['projectCode'],'appCode':_0x57a24b[_0x3a7fd1(0x160)],'env':_0x57a24b[_0x3a7fd1(0x149)]},_0x57a24b);else{if(_0x57a24b['projectCode']){const _0x584a4a=await selectSingleAppcode(_0x57a24b[_0x3a7fd1(0x16e)]);await runCreate({'projectName':_0x57a24b[_0x3a7fd1(0x134)],'appCode':_0x584a4a||undefined,'env':_0x57a24b[_0x3a7fd1(0x149)]},_0x57a24b);}else await guidedCreateProject(_0x47f519=>runCreate(_0x47f519,_0x57a24b),_0x57a24b[_0x3a7fd1(0x149)],_0x57a24b[_0x3a7fd1(0x16e)]);}}async function runCreate(_0x2a714f,_0x2afd91){const _0xb3569d=a162_0x44a1;if(!_0x2a714f[_0xb3569d(0x140)]||_0x2a714f[_0xb3569d(0x140)][_0xb3569d(0x13a)]()==='')throw new Error(_0xb3569d(0x11a));const _0x3e5266=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3e5266[_0xb3569d(0x135)](_0x2a714f[_0xb3569d(0x140)]))throw new Error(_0xb3569d(0x131));if(_0x2a714f[_0xb3569d(0x140)][_0xb3569d(0x13d)]>0x64)throw new Error(_0xb3569d(0x166));const _0xa658dc=a162_0x2d010c[_0xb3569d(0x171)](process[_0xb3569d(0x146)](),_0x2a714f[_0xb3569d(0x140)]);if(a162_0x30089b[_0xb3569d(0x13f)](_0xa658dc))throw new Error('Project\x20directory\x20'+_0x2a714f[_0xb3569d(0x140)]+_0xb3569d(0x137));try{a162_0x30089b[_0xb3569d(0x153)](a162_0x2d010c[_0xb3569d(0x121)](_0xa658dc),a162_0x30089b[_0xb3569d(0x15b)][_0xb3569d(0x11e)]);}catch{throw new Error(_0xb3569d(0x12d));}logger[_0xb3569d(0x172)](_0xa658dc),logger[_0xb3569d(0x124)](_0xb3569d(0x12c),_0xb3569d(0x175)+_0x2a714f[_0xb3569d(0x140)],{'projectDir':_0xa658dc,'appCode':_0x2a714f[_0xb3569d(0x160)]}),console['log'](),console[_0xb3569d(0x143)](a162_0x1363af['green'](_0xb3569d(0x12a))+_0xb3569d(0x155)+a162_0x1363af['green'](_0x2a714f[_0xb3569d(0x140)])+(_0x2a714f[_0xb3569d(0x160)]?'\x20|\x20AppCode:\x20'+a162_0x1363af[_0xb3569d(0x11c)](_0x2a714f[_0xb3569d(0x160)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x2a714f[_0xb3569d(0x140)])),await updatePackageJsonName(_0x2a714f[_0xb3569d(0x140)]),await runTask(_0xb3569d(0x14e),()=>installDependencies(_0x2a714f['projectName'])),await runTask(_0xb3569d(0x13c),()=>formatProjectCode(_0x2a714f[_0xb3569d(0x140)])),await configureAppCode(_0x2a714f[_0xb3569d(0x140)],_0x2a714f[_0xb3569d(0x160)]||'',_0x2a714f[_0xb3569d(0x149)]);let _0x3019ad=![];if(_0x2a714f[_0xb3569d(0x160)]){console['log'](_0xb3569d(0x14a));const _0x354bd0=process[_0xb3569d(0x146)]();try{process[_0xb3569d(0x16a)](_0xa658dc);const _0x538328=_0x2a714f[_0xb3569d(0x149)]||_0xb3569d(0x174);initEnv(_0x538328);const {configArray:_0x538d33}=await fetchModelList(_0x2a714f[_0xb3569d(0x160)],_0x2afd91[_0xb3569d(0x16e)]||''),_0xf50104=DEFAULT_API_DIR,_0x3268cf=await generateApiFile(_0x538d33,'',_0x2a714f[_0xb3569d(0x160)],!![],_0x538328,_0xf50104);console[_0xb3569d(0x143)](_0xb3569d(0x145)+_0x538d33[_0xb3569d(0x13d)]+_0xb3569d(0x141)+_0x3268cf[_0xb3569d(0x150)]+_0xb3569d(0x15a)),logger[_0xb3569d(0x124)](_0xb3569d(0x12c),_0xb3569d(0x133)+_0x2a714f[_0xb3569d(0x160)]);}catch(_0x2160b3){_0x3019ad=!![],console['log'](_0xb3569d(0x17d)),logger['warn']('create',_0xb3569d(0x129),{'error':_0x2160b3 instanceof Error?_0x2160b3['message']:String(_0x2160b3)});}finally{process[_0xb3569d(0x16a)](_0x354bd0);}}logger[_0xb3569d(0x123)](_0xb3569d(0x12c),'项目创建完成:\x20'+_0x2a714f[_0xb3569d(0x140)]),console[_0xb3569d(0x143)](),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x14f)]('─'[_0xb3569d(0x16b)](0x3c))),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x11c)][_0xb3569d(0x162)](_0xb3569d(0x15c))),console[_0xb3569d(0x143)](),console['log'](_0xb3569d(0x127)+a162_0x1363af[_0xb3569d(0x11c)][_0xb3569d(0x162)](_0xb3569d(0x12b)+_0x2a714f[_0xb3569d(0x140)]+_0xb3569d(0x161)+CLI_BIN_NAME+'\x20run\x20start')),_0x3019ad&&console['log'](_0xb3569d(0x120)+a162_0x1363af['cyan']['bold'](CLI_BIN_NAME+_0xb3569d(0x11b))),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x14f)]('─'[_0xb3569d(0x16b)](0x3c)));}catch(_0xaf5887){logger[_0xb3569d(0x15f)](_0xb3569d(0x12c),_0xb3569d(0x16d)+_0x2a714f[_0xb3569d(0x140)],{'error':_0xaf5887 instanceof Error?_0xaf5887['message']:String(_0xaf5887)});try{a162_0x30089b['existsSync'](_0xa658dc)&&(console[_0xb3569d(0x143)](_0xb3569d(0x14c)+_0xa658dc),a162_0x30089b[_0xb3569d(0x169)](_0xa658dc,{'recursive':!![],'force':!![]}));}catch{logger['warn']('create',_0xb3569d(0x13b)+_0xa658dc);}throw _0xaf5887;}}async function runTask(_0x15eb10,_0xc83a93){const _0x368fb2=a162_0x44a1,_0x111c46=a162_0x4b9ee7(_0x15eb10+'...')['start']();try{const _0x517c1a=await _0xc83a93();_0x111c46[_0x368fb2(0x14b)](),console[_0x368fb2(0x143)](''+a162_0x1363af[_0x368fb2(0x14f)](_0x368fb2(0x12a))+_0x15eb10+'\x20'+a162_0x1363af[_0x368fb2(0x165)]('['+_0x517c1a+']'));}catch(_0x31bf22){_0x111c46[_0x368fb2(0x167)](_0x15eb10);throw _0x31bf22;}}async function updatePackageJsonName(_0x2e377d){const _0x4f2331=a162_0x44a1,_0x2621ce=a162_0x2d010c['resolve'](process['cwd'](),_0x2e377d),_0x527d53=a162_0x2d010c[_0x4f2331(0x12e)](_0x2621ce,'package.json');try{console[_0x4f2331(0x143)](_0x4f2331(0x128));const _0x471fe8=getRabetbaseCliPackageRoot(),_0x2791ff=a162_0x2d010c[_0x4f2331(0x12e)](_0x471fe8,_0x4f2331(0x147));let _0x499127=_0x4f2331(0x148);try{const _0xb7c96b=JSON[_0x4f2331(0x17b)](a162_0x30089b['readFileSync'](_0x2791ff,_0x4f2331(0x132)));_0x499127=_0xb7c96b[_0x4f2331(0x144)]||_0x4f2331(0x148);}catch{}const _0x1a7f73=a162_0x30089b['readFileSync'](_0x527d53,_0x4f2331(0x132)),_0x1ef9db=JSON['parse'](_0x1a7f73);_0x1ef9db['name']=_0x2e377d,_0x1ef9db[_0x4f2331(0x179)]=_0x2e377d+_0x4f2331(0x122)+_0x499127,a162_0x30089b['writeFileSync'](_0x527d53,JSON[_0x4f2331(0x16f)](_0x1ef9db,null,0x2)+'\x0a',_0x4f2331(0x132)),console[_0x4f2331(0x143)](_0x4f2331(0x159)+_0x2e377d),logger[_0x4f2331(0x124)](_0x4f2331(0x12c),'更新\x20package.json\x20name');}catch(_0x1b4ee4){logger['error']('create',_0x4f2331(0x173));throw _0x1b4ee4;}}async function configureAppCode(_0x4b9287,_0x44c3e6,_0x3eeab9){const _0x828da=a162_0x44a1,_0x3da33f=a162_0x2d010c[_0x828da(0x171)](process[_0x828da(0x146)](),_0x4b9287),_0x3e7dbe=a162_0x2d010c[_0x828da(0x12e)](_0x3da33f,NEW_CONFIG_NAME);try{_0x44c3e6?console['log'](_0x828da(0x164)+_0x4b9287+':\x20'+_0x44c3e6):console['log']('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x4b9287);const _0x3b085f=getRabetbaseCliPackageRoot(),_0x18ca75=a162_0x2d010c[_0x828da(0x12e)](_0x3b085f,'package.json');let _0x729d5=_0x828da(0x148);try{const _0xdd2656=JSON[_0x828da(0x17b)](a162_0x30089b[_0x828da(0x13e)](_0x18ca75,'utf8'));_0x729d5=_0xdd2656[_0x828da(0x144)]||_0x828da(0x148);}catch{}const _0x6d2170=readConfig(),_0x1ee105=typeof _0x6d2170[_0x828da(0x149)]===_0x828da(0x154)?_0x6d2170[_0x828da(0x149)]:undefined,_0x932c9={};for(const _0x38179f of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x6d2170[_0x38179f]!=null)_0x932c9[_0x38179f]=_0x6d2170[_0x38179f];}const _0x22f167=buildCanonicalProjectConfig(_0x932c9,{'appCodes':_0x44c3e6?[_0x44c3e6]:[],'env':_0x3eeab9||_0x1ee105||_0x828da(0x174),'metadata':{'createdAt':new Date()[_0x828da(0x152)](),'version':_0x729d5}});writeConfigFile(_0x3e7dbe,_0x22f167),_0x44c3e6?console['log'](_0x828da(0x11d)+Object[_0x828da(0x176)](_0x22f167[_0x828da(0x163)]||{})['join'](',\x20')+_0x828da(0x142)+_0x22f167[_0x828da(0x16c)]):console[_0x828da(0x143)](_0x828da(0x11f)+CLI_BIN_NAME+_0x828da(0x14d)),logger[_0x828da(0x124)](_0x828da(0x12c),_0x828da(0x17c)+_0x44c3e6);}catch(_0x53450f){logger[_0x828da(0x15f)](_0x828da(0x12c),_0x828da(0x15d));}}function a162_0x1242(){const _0x5ce11b=['Format\x20code','length','readFileSync','existsSync','projectName','\x20dataset(s),\x20generated\x20','\x20|\x20Default:\x20','log','version','√\x20Pulled\x20','cwd','package.json','1.0.0','env','*\x20Pulling\x20API\x20configuration...','stop','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','\x20config\x20set\x20appcode\x20<app-code>\x27','Install\x20dependencies','green','modelCount','3Lhsuls','toLocaleString','accessSync','string','Project\x20name:\x20','60606eAQniC','331332MbPUqL','379550YBEOpk','√\x20package.json\x20updated:\x20name=','\x20model(s)','constants','🚀\x20Next\x20Steps:','配置应用AppCode失败','152CTVPGv','error','appCode','\x20&&\x20','bold','apps','*\x20Configuring\x20AppCode\x20for\x20project\x20','gray','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','fail','4514xEzsFP','rmSync','chdir','repeat','defaultApp','项目创建失败:\x20','cookie','stringify','80364GLIjHE','resolve','setLogPath','更新\x20package.json\x20失败','production','开始创建项目:\x20','keys','341SCVRhi','stableVersion','description','46984hRLUDU','parse','配置应用AppCode:\x20','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','Project\x20name\x20cannot\x20be\x20empty','\x20api\x20pull','cyan','√\x20Configuration\x20file\x20created,\x20Apps:\x20','W_OK','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','\x20\x202.\x20Pull\x20API\x20configuration:\x20','dirname','\x20Generated\x20by\x20rabetbase\x20cli\x20','success','info','CLI\x20版本检查','637luwwlT','\x20\x201.\x20Start\x20project:\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','API\x20配置拉取异常','\x20√\x20','cd\x20','create','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','join','52JzUkwW','5RnzwMv','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','utf8','API\x20configuration\x20pulled:\x20','projectCode','test','currentVersion','\x20already\x20exists','1437tTrIHn','45MNAwaB','trim','清理项目目录失败:\x20'];a162_0x1242=function(){return _0x5ce11b;};return a162_0x1242();}
1
+ (function(_0xed7530,_0x2a0347){const _0x3cde4c=a168_0x3171,_0x53696d=_0xed7530();while(!![]){try{const _0x5bf9f9=-parseInt(_0x3cde4c(0xc3))/0x1*(-parseInt(_0x3cde4c(0xb0))/0x2)+parseInt(_0x3cde4c(0xca))/0x3+-parseInt(_0x3cde4c(0xdc))/0x4+parseInt(_0x3cde4c(0xda))/0x5+-parseInt(_0x3cde4c(0xb6))/0x6*(parseInt(_0x3cde4c(0xd6))/0x7)+-parseInt(_0x3cde4c(0xf0))/0x8*(-parseInt(_0x3cde4c(0xc1))/0x9)+parseInt(_0x3cde4c(0xb5))/0xa*(parseInt(_0x3cde4c(0x97))/0xb);if(_0x5bf9f9===_0x2a0347)break;else _0x53696d['push'](_0x53696d['shift']());}catch(_0x2f501e){_0x53696d['push'](_0x53696d['shift']());}}}(a168_0x435f,0x581ff));import a168_0x2d48c8 from'path';import a168_0x3460ef from'fs';import a168_0x28a701 from'chalk';import a168_0x2d28b8 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';function readDirectoryIdentity(_0x5174a7){const _0x29e00d=a168_0x3171;try{const _0x2da305=a168_0x3460ef[_0x29e00d(0x9f)](_0x5174a7);if(!_0x2da305[_0x29e00d(0xf2)]())return null;return{'dev':_0x2da305[_0x29e00d(0xbf)],'ino':_0x2da305[_0x29e00d(0xa2)]};}catch{return null;}}export async function createApp(_0x32947d){const _0x53121f=a168_0x3171,_0xe121b2=await checkCliVersion();(_0xe121b2[_0x53121f(0xa5)]||_0xe121b2[_0x53121f(0xe0)])&&(printCliUpgradeWarning(_0xe121b2),assertCliVersionSupported(_0xe121b2),logger['info'](_0x53121f(0xad),'CLI\x20版本检查',{'currentVersion':_0xe121b2['currentVersion'],'stableVersion':_0xe121b2[_0x53121f(0xdf)],'minimumVersion':_0xe121b2[_0x53121f(0xd7)],'needsUpgrade':_0xe121b2['needsUpgrade'],'belowMinimum':_0xe121b2[_0x53121f(0xe0)]}));if(_0x32947d[_0x53121f(0xdd)]&&(_0x32947d[_0x53121f(0xb9)]||_0x32947d[_0x53121f(0xab)]))await runCreate({'projectName':_0x32947d[_0x53121f(0xdd)],'appCode':_0x32947d[_0x53121f(0xb9)],'env':_0x32947d[_0x53121f(0xf3)]},_0x32947d);else{if(_0x32947d[_0x53121f(0xdd)]){const _0x364837=await selectSingleAppcode(_0x32947d[_0x53121f(0xea)]);await runCreate({'projectName':_0x32947d[_0x53121f(0xdd)],'appCode':_0x364837||undefined,'env':_0x32947d[_0x53121f(0xf3)]},_0x32947d);}else await guidedCreateProject(_0x111b00=>runCreate(_0x111b00,_0x32947d),_0x32947d['env'],_0x32947d[_0x53121f(0xea)]);}}async function runCreate(_0x402284,_0xef4f1d){const _0x3d8a75=a168_0x3171;_0x402284['projectName']=validateProjectName(_0x402284['projectName']);const _0x1fb229=a168_0x2d48c8[_0x3d8a75(0xcb)](process[_0x3d8a75(0xc2)](),_0x402284[_0x3d8a75(0xec)]);if(a168_0x3460ef[_0x3d8a75(0xf7)](_0x1fb229))throw new Error(_0x3d8a75(0xae)+_0x402284[_0x3d8a75(0xec)]+_0x3d8a75(0xe8));let _0x3d79c2=null;try{a168_0x3460ef[_0x3d8a75(0xf4)](a168_0x2d48c8[_0x3d8a75(0xf1)](_0x1fb229),a168_0x3460ef[_0x3d8a75(0x9c)][_0x3d8a75(0xa7)]);}catch{throw new Error(_0x3d8a75(0xf9));}logger['info']('create','开始创建项目:\x20'+_0x402284['projectName'],{'projectDir':_0x1fb229,'appCode':_0x402284[_0x3d8a75(0xb9)]}),console[_0x3d8a75(0xe5)](),console[_0x3d8a75(0xe5)](a168_0x28a701['green']('\x20√\x20')+_0x3d8a75(0xd4)+a168_0x28a701[_0x3d8a75(0xbc)](_0x402284[_0x3d8a75(0xec)])+(_0x402284[_0x3d8a75(0xb9)]?_0x3d8a75(0xe4)+a168_0x28a701['cyan'](_0x402284[_0x3d8a75(0xb9)]):''));try{await runTask('Resolving\x20project\x20template',_0x46b985=>copyProjectTemplate(_0x402284[_0x3d8a75(0xec)],_0xf71e32=>_0x46b985(projectTemplateStageLabel(_0xf71e32))),_0x3d8a75(0xfa)),_0x3d79c2=readDirectoryIdentity(_0x1fb229);if(!_0x3d79c2)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x402284['projectName']),await runTask(_0x3d8a75(0xd9),()=>installDependencies(_0x402284['projectName'])),await runTask(_0x3d8a75(0xaa),()=>formatProjectCode(_0x402284['projectName'])),await configureAppCode(_0x402284[_0x3d8a75(0xec)],_0x402284[_0x3d8a75(0xb9)]||'',_0x402284[_0x3d8a75(0xf3)]);let _0x3652b1=![];if(_0x402284[_0x3d8a75(0xb9)]){console[_0x3d8a75(0xe5)]('*\x20Pulling\x20API\x20configuration...');const _0x1cce1e=process[_0x3d8a75(0xc2)]();try{process[_0x3d8a75(0xa6)](_0x1fb229);const _0x22c1fe=_0x402284['env']||_0x3d8a75(0xdb);initEnv(_0x22c1fe);const {configArray:_0x3db660}=await fetchModelList(_0x402284[_0x3d8a75(0xb9)],_0xef4f1d[_0x3d8a75(0xea)]||''),_0x1cba6c=DEFAULT_API_DIR,_0x1e898d=await generateApiFile(_0x3db660,'',_0x402284[_0x3d8a75(0xb9)],!![],_0x22c1fe,_0x1cba6c);console[_0x3d8a75(0xe5)](_0x3d8a75(0xc4)+_0x3db660[_0x3d8a75(0xbd)]+_0x3d8a75(0xc9)+_0x1e898d['modelCount']+'\x20model(s)'),logger[_0x3d8a75(0xac)]('create',_0x3d8a75(0xe3)+_0x402284[_0x3d8a75(0xb9)]);}catch(_0x287f29){_0x3652b1=!![],console[_0x3d8a75(0xe5)](_0x3d8a75(0x9e)),logger['warn'](_0x3d8a75(0xad),_0x3d8a75(0xcf),{'error':_0x287f29 instanceof Error?_0x287f29[_0x3d8a75(0xf6)]:String(_0x287f29)});}finally{process[_0x3d8a75(0xa6)](_0x1cce1e);}}logger[_0x3d8a75(0xed)](_0x1fb229),logger['success'](_0x3d8a75(0xad),_0x3d8a75(0xaf)+_0x402284[_0x3d8a75(0xec)]),console['log'](),console['log'](a168_0x28a701[_0x3d8a75(0xbc)]('─'[_0x3d8a75(0xb4)](0x3c))),console[_0x3d8a75(0xe5)](a168_0x28a701[_0x3d8a75(0xd8)][_0x3d8a75(0x9a)](_0x3d8a75(0x9d))),console['log'](),console[_0x3d8a75(0xe5)](_0x3d8a75(0xe9)+a168_0x28a701['cyan'][_0x3d8a75(0x9a)](_0x3d8a75(0xcc)+_0x402284[_0x3d8a75(0xec)]+'\x20&&\x20'+CLI_BIN_NAME+_0x3d8a75(0xde))),_0x3652b1&&console['log']('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a168_0x28a701[_0x3d8a75(0xd8)][_0x3d8a75(0x9a)](CLI_BIN_NAME+'\x20api\x20pull')),console[_0x3d8a75(0xe5)](a168_0x28a701[_0x3d8a75(0xbc)]('─'[_0x3d8a75(0xb4)](0x3c)));}catch(_0x43a438){logger[_0x3d8a75(0xe6)](_0x3d8a75(0xad),_0x3d8a75(0xeb)+_0x402284[_0x3d8a75(0xec)],{'error':_0x43a438 instanceof Error?_0x43a438[_0x3d8a75(0xf6)]:String(_0x43a438)});try{const _0x4ab0bd=readDirectoryIdentity(_0x1fb229);if(_0x3d79c2&&_0x4ab0bd?.['dev']===_0x3d79c2[_0x3d8a75(0xbf)]&&_0x4ab0bd['ino']===_0x3d79c2[_0x3d8a75(0xa2)])console[_0x3d8a75(0xe5)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x1fb229),a168_0x3460ef['rmSync'](_0x1fb229,{'recursive':!![],'force':!![]});else _0x4ab0bd&&logger[_0x3d8a75(0xa9)](_0x3d8a75(0xad),'跳过清理:项目目录所有权已变化:\x20'+_0x1fb229);}catch{logger[_0x3d8a75(0xa9)](_0x3d8a75(0xad),_0x3d8a75(0xa4)+_0x1fb229);}throw _0x43a438;}}async function runTask(_0x49196e,_0x555646,_0x154e17=_0x49196e){const _0x465bdf=a168_0x3171,_0x5f1cc8=a168_0x2d28b8(_0x49196e+'...')[_0x465bdf(0xe2)]();try{const _0xba756f=await _0x555646(_0x1a7270=>{const _0xd9891c=_0x465bdf;_0x5f1cc8[_0xd9891c(0xba)]=_0x1a7270+_0xd9891c(0xf5);});_0x5f1cc8[_0x465bdf(0xc6)](),console[_0x465bdf(0xe5)](''+a168_0x28a701[_0x465bdf(0xbc)]('\x20√\x20')+_0x154e17+'\x20'+a168_0x28a701['gray']('['+_0xba756f+']'));}catch(_0x100035){_0x5f1cc8[_0x465bdf(0xe1)](_0x49196e);throw _0x100035;}}function a168_0x435f(){const _0x2a825f=['232VeaIIZ','dirname','isDirectory','env','accessSync','...','message','existsSync','\x20|\x20Default:\x20','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Project\x20template\x20ready','Downloading\x20project\x20template','66eONmjY','utf8','\x20config\x20set\x20appcode\x20<app-code>\x27','bold','apps','constants','🚀\x20Next\x20Steps:','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','lstatSync','description','√\x20Configuration\x20file\x20created,\x20Apps:\x20','ino','配置应用AppCode失败','清理项目目录失败:\x20','needsUpgrade','chdir','W_OK','downloading','warn','Format\x20code','nonInteractive','info','create','Project\x20directory\x20','项目创建完成:\x20','230686rrfqrR','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','stringify','extracting','repeat','773990nlQTBK','42RlSEAQ','keys','package.json','appCode','text','defaultApp','green','length','name','dev','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','99954PiGGIZ','cwd','3dxrFYH','√\x20Pulled\x20','Extracting\x20project\x20template','stop','join','√\x20package.json\x20updated:\x20name=','\x20dataset(s),\x20generated\x20','668325pyoTMt','resolve','cd\x20','readFileSync','version','API\x20配置拉取异常','parse','\x20Generated\x20by\x20rabetbase\x20cli\x20','更新\x20package.json\x20name','string','Project\x20name:\x20','resolving','643251pdwVOX','minimumVersion','cyan','Install\x20dependencies','1761655VfpRDD','production','2813572IqFfQI','projectCode','\x20run\x20start','stableVersion','belowMinimum','fail','start','API\x20configuration\x20pulled:\x20','\x20|\x20AppCode:\x20','log','error','*\x20Configuring\x20AppCode\x20for\x20project\x20','\x20already\x20exists','\x20\x201.\x20Start\x20project:\x20','cookie','项目创建失败:\x20','projectName','setLogPath','1.0.0','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'];a168_0x435f=function(){return _0x2a825f;};return a168_0x435f();}function projectTemplateStageLabel(_0x1c50d8){const _0x2974fc=a168_0x3171;switch(_0x1c50d8){case _0x2974fc(0xd5):return'Resolving\x20project\x20template';case _0x2974fc(0xa8):return _0x2974fc(0xfb);case'verifying':return'Verifying\x20project\x20template';case _0x2974fc(0xb3):return _0x2974fc(0xc5);}}function a168_0x3171(_0x261240,_0x225afb){_0x261240=_0x261240-0x97;const _0x435f84=a168_0x435f();let _0x317122=_0x435f84[_0x261240];return _0x317122;}async function updatePackageJsonName(_0x338cd9){const _0x5eaf90=a168_0x3171,_0x252313=a168_0x2d48c8['resolve'](process[_0x5eaf90(0xc2)](),_0x338cd9),_0x2c1ca4=a168_0x2d48c8[_0x5eaf90(0xc7)](_0x252313,'package.json');try{console[_0x5eaf90(0xe5)](_0x5eaf90(0xc0));const _0x2bfc82=getRabetbaseCliPackageRoot(),_0x2b7774=a168_0x2d48c8[_0x5eaf90(0xc7)](_0x2bfc82,_0x5eaf90(0xb8));let _0x1c21ef='1.0.0';try{const _0x1738de=JSON['parse'](a168_0x3460ef[_0x5eaf90(0xcd)](_0x2b7774,'utf8'));_0x1c21ef=_0x1738de[_0x5eaf90(0xce)]||_0x5eaf90(0xee);}catch{}const _0x25ef37=a168_0x3460ef['readFileSync'](_0x2c1ca4,_0x5eaf90(0x98)),_0x1fe428=JSON['parse'](_0x25ef37);_0x1fe428[_0x5eaf90(0xbe)]=_0x338cd9,_0x1fe428[_0x5eaf90(0xa0)]=_0x338cd9+_0x5eaf90(0xd1)+_0x1c21ef,a168_0x3460ef['writeFileSync'](_0x2c1ca4,JSON[_0x5eaf90(0xb2)](_0x1fe428,null,0x2)+'\x0a',_0x5eaf90(0x98)),console[_0x5eaf90(0xe5)](_0x5eaf90(0xc8)+_0x338cd9),logger[_0x5eaf90(0xac)](_0x5eaf90(0xad),_0x5eaf90(0xd2));}catch(_0x3d4486){logger[_0x5eaf90(0xe6)]('create','更新\x20package.json\x20失败');throw _0x3d4486;}}async function configureAppCode(_0x335e0a,_0x39dc0b,_0x584cb9){const _0xbc26a8=a168_0x3171,_0x15fee2=a168_0x2d48c8[_0xbc26a8(0xcb)](process[_0xbc26a8(0xc2)](),_0x335e0a),_0x391db1=a168_0x2d48c8[_0xbc26a8(0xc7)](_0x15fee2,NEW_CONFIG_NAME);try{_0x39dc0b?console[_0xbc26a8(0xe5)](_0xbc26a8(0xe7)+_0x335e0a+':\x20'+_0x39dc0b):console[_0xbc26a8(0xe5)](_0xbc26a8(0xb1)+_0x335e0a);const _0x486e77=getRabetbaseCliPackageRoot(),_0x2f2824=a168_0x2d48c8['join'](_0x486e77,_0xbc26a8(0xb8));let _0x45125e='1.0.0';try{const _0x3647dd=JSON[_0xbc26a8(0xd0)](a168_0x3460ef[_0xbc26a8(0xcd)](_0x2f2824,_0xbc26a8(0x98)));_0x45125e=_0x3647dd[_0xbc26a8(0xce)]||_0xbc26a8(0xee);}catch{}const _0x258ff9=readConfig(),_0x594221=typeof _0x258ff9['env']===_0xbc26a8(0xd3)?_0x258ff9[_0xbc26a8(0xf3)]:undefined,_0x4ade1f={};for(const _0x261d44 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x258ff9[_0x261d44]!=null)_0x4ade1f[_0x261d44]=_0x258ff9[_0x261d44];}const _0x462ed9=buildCanonicalProjectConfig(_0x4ade1f,{'appCodes':_0x39dc0b?[_0x39dc0b]:[],'env':_0x584cb9||_0x594221||_0xbc26a8(0xdb),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x45125e}});writeConfigFile(_0x391db1,_0x462ed9),_0x39dc0b?console['log'](_0xbc26a8(0xa1)+Object[_0xbc26a8(0xb7)](_0x462ed9[_0xbc26a8(0x9b)]||{})[_0xbc26a8(0xc7)](',\x20')+_0xbc26a8(0xf8)+_0x462ed9[_0xbc26a8(0xbb)]):console[_0xbc26a8(0xe5)](_0xbc26a8(0xef)+CLI_BIN_NAME+_0xbc26a8(0x99)),logger[_0xbc26a8(0xac)](_0xbc26a8(0xad),'配置应用AppCode:\x20'+_0x39dc0b);}catch(_0x7bd937){logger['error'](_0xbc26a8(0xad),_0xbc26a8(0xa3));throw _0x7bd937;}}
@@ -0,0 +1,11 @@
1
+ export interface ProjectTemplateMaterialization {
2
+ source: "cdn";
3
+ version: string;
4
+ }
5
+ export type ProjectTemplateStage = "resolving" | "downloading" | "verifying" | "extracting";
6
+ export type ProjectTemplateProgress = (stage: ProjectTemplateStage) => void;
7
+ /**
8
+ * Materialize the project template into a new target directory.
9
+ * CDN is the single source for project templates.
10
+ */
11
+ export declare function materializeProjectTemplate(projectDir: string, onProgress?: ProjectTemplateProgress): Promise<ProjectTemplateMaterialization>;
@@ -0,0 +1 @@
1
+ const a169_0x3f3ca8=a169_0x16cf;(function(_0x59b4a5,_0xfeb24f){const _0x52489f=a169_0x16cf,_0x36f69d=_0x59b4a5();while(!![]){try{const _0x20836e=parseInt(_0x52489f(0x123))/0x1*(parseInt(_0x52489f(0x14a))/0x2)+parseInt(_0x52489f(0x13e))/0x3+-parseInt(_0x52489f(0x162))/0x4+-parseInt(_0x52489f(0x164))/0x5+-parseInt(_0x52489f(0x147))/0x6*(-parseInt(_0x52489f(0x12e))/0x7)+-parseInt(_0x52489f(0x158))/0x8+parseInt(_0x52489f(0x14d))/0x9;if(_0x20836e===_0xfeb24f)break;else _0x36f69d['push'](_0x36f69d['shift']());}catch(_0x425e72){_0x36f69d['push'](_0x36f69d['shift']());}}}(a169_0x1412,0xdbaf8));import{createHash}from'node:crypto';import a169_0x181495 from'node:fs/promises';import a169_0x4c42f7 from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID=a169_0x3f3ca8(0x129),ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x8e3422){const _0x249008=a169_0x3f3ca8;return typeof _0x8e3422===_0x249008(0x155)&&_0x8e3422[_0x249008(0x136)]()?_0x8e3422[_0x249008(0x136)]():null;}function a169_0x1412(){const _0x5b172e=['size','resolving','5oyThwz','origin','sha256',',\x20received\x20','from','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','sub-app-react-demo','.rabetbase-create-','ino','cdn','extracting','7OPVhWD','validation','writeFile','arrayBuffer','update','downloading','push','verifying','trim','Project\x20template\x20package.json\x20is\x20invalid.','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','cancel','name','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','EEXIST','4503963dDEHtb','package.json','basename','mkdtemp','test','resolve','version','object','projectTemplate','9569802VpDWTE','dev','toLowerCase','374650JEQNYp','protocol','Use\x20a\x20different\x20project\x20name.','12215277GHRnqQ','length','project','href','readdir','releaseLock','get','content-length','string','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','isSafeInteger','11817608sJjsJX','template.zip','isDirectory','message','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','dirname','sha256:','join','parse','concat','5691832AtRpAa','code','7950875GSyugy','body','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','byteLength','lstat','readFile','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','getReader','includes'];a169_0x1412=function(){return _0x5b172e;};return a169_0x1412();}function parseDescriptor(_0x4e3923){const _0x208ecf=a169_0x3f3ca8;if(!_0x4e3923||typeof _0x4e3923!==_0x208ecf(0x145))throw new Error('CDN\x20config\x20does\x20not\x20define\x20template\x20\x22'+TEMPLATE_ID+'\x22.');const _0x3f3925=_0x4e3923,_0x3e9cea=nonEmptyString(_0x3f3925[_0x208ecf(0x144)]),_0x3ace41=nonEmptyString(_0x3f3925[_0x208ecf(0x13b)]),_0x514b92=nonEmptyString(_0x3f3925[_0x208ecf(0x125)])?.[_0x208ecf(0x149)](),_0x20d2cd=_0x3f3925['size'];if(!_0x3e9cea||!_0x3ace41||_0x3ace41!==a169_0x4c42f7['posix'][_0x208ecf(0x140)](_0x3ace41)||_0x3ace41[_0x208ecf(0x120)]('\x5c')||!_0x514b92||!/^sha256:[a-f0-9]{64}$/[_0x208ecf(0x142)](_0x514b92)||typeof _0x20d2cd!=='number'||!Number[_0x208ecf(0x157)](_0x20d2cd)||_0x20d2cd<=0x0||_0x20d2cd>MAX_ARCHIVE_SIZE)throw new Error(_0x208ecf(0x128)+TEMPLATE_ID+'\x22.');return{'version':_0x3e9cea,'name':_0x3ace41,'sha256':_0x514b92,'size':_0x20d2cd};}async function fetchWithTimeout(_0x318429,_0x4af766,_0x1b8d95,_0x173fc9){const _0x89e10b=new AbortController(),_0x36b428=setTimeout(()=>_0x89e10b['abort'](),_0x4af766);try{const _0x436254=await fetch(_0x318429,{'headers':{'Accept':_0x1b8d95},'signal':_0x89e10b['signal']});return await _0x173fc9(_0x436254);}finally{clearTimeout(_0x36b428);}}async function fetchTemplateDescriptor(){const _0x5a8b85=a169_0x3f3ca8,_0x48d8b5=await getRabetbaseCdnConfig();if(!_0x48d8b5)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');return parseDescriptor(_0x48d8b5[_0x5a8b85(0x146)]);}function resolveArchiveUrl(_0x224637){const _0x3ff227=a169_0x3f3ca8,_0x40712f=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x4aa5ae=new URL(_0x224637,_0x40712f);if(_0x4aa5ae[_0x3ff227(0x14b)]!=='https:'||_0x4aa5ae[_0x3ff227(0x124)]!==_0x40712f['origin']||!_0x4aa5ae['pathname']['startsWith'](_0x40712f['pathname']))throw new Error(_0x3ff227(0x15c));return _0x4aa5ae[_0x3ff227(0x150)];}async function readResponseBytes(_0x3af9f8,_0x3ef34d){const _0x2db2a1=a169_0x3f3ca8;if(!_0x3af9f8[_0x2db2a1(0x165)]){const _0x2a721d=Buffer[_0x2db2a1(0x127)](await _0x3af9f8[_0x2db2a1(0x131)]());if(_0x2a721d[_0x2db2a1(0x14e)]>_0x3ef34d)throw new Error(_0x2db2a1(0x156));return _0x2a721d;}const _0x8168bd=_0x3af9f8[_0x2db2a1(0x165)][_0x2db2a1(0x11f)](),_0x34aa32=[];let _0x197e10=0x0;try{while(!![]){const {done:_0x4362bc,value:_0x1ea013}=await _0x8168bd['read']();if(_0x4362bc)break;_0x197e10+=_0x1ea013[_0x2db2a1(0x11b)];if(_0x197e10>_0x3ef34d){await _0x8168bd[_0x2db2a1(0x13a)]();throw new Error('CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.');}_0x34aa32[_0x2db2a1(0x134)](Buffer[_0x2db2a1(0x127)](_0x1ea013));}}finally{_0x8168bd[_0x2db2a1(0x152)]();}return Buffer[_0x2db2a1(0x161)](_0x34aa32,_0x197e10);}async function downloadArchive(_0x3560f3,_0x1eef1f,_0x398d77){const _0x4196a4=a169_0x3f3ca8,_0x154cf2=await fetchWithTimeout(resolveArchiveUrl(_0x3560f3['name']),ARCHIVE_TIMEOUT_MS,'application/zip',async _0x29fe87=>{const _0x54c7de=a169_0x16cf;if(!_0x29fe87['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x29fe87['status']+'.');const _0x5b97e5=Number(_0x29fe87['headers'][_0x54c7de(0x153)](_0x54c7de(0x154)));if(Number['isFinite'](_0x5b97e5)&&_0x5b97e5>MAX_ARCHIVE_SIZE)throw new Error(_0x54c7de(0x166));return readResponseBytes(_0x29fe87,_0x3560f3[_0x54c7de(0x121)]);});if(_0x154cf2[_0x4196a4(0x14e)]!==_0x3560f3[_0x4196a4(0x121)])throw new Error(_0x4196a4(0x13c)+_0x3560f3[_0x4196a4(0x121)]+_0x4196a4(0x126)+_0x154cf2[_0x4196a4(0x14e)]+'.');_0x398d77?.(_0x4196a4(0x135));const _0x5cfde0=_0x4196a4(0x15e)+createHash(_0x4196a4(0x125))[_0x4196a4(0x132)](_0x154cf2)['digest']('hex');if(_0x5cfde0!==_0x3560f3[_0x4196a4(0x125)])throw new Error(_0x4196a4(0x11e));await a169_0x181495[_0x4196a4(0x130)](_0x1eef1f,_0x154cf2,{'flag':'wx'});}async function assertTemplateRoot(_0x124bfb){const _0x244dba=a169_0x3f3ca8,_0x3d3692=a169_0x4c42f7[_0x244dba(0x15f)](_0x124bfb,_0x244dba(0x13f)),_0x3f53db=JSON[_0x244dba(0x160)](await a169_0x181495[_0x244dba(0x11d)](_0x3d3692,'utf8'));if(!_0x3f53db||typeof _0x3f53db!==_0x244dba(0x145))throw new Error(_0x244dba(0x137));}async function readDirectoryIdentity(_0x7da5a){const _0x42794e=a169_0x3f3ca8;try{const _0x561fc0=await a169_0x181495[_0x42794e(0x11c)](_0x7da5a);if(!_0x561fc0[_0x42794e(0x15a)]())return null;return{'dev':_0x561fc0['dev'],'ino':_0x561fc0[_0x42794e(0x12b)]};}catch{return null;}}async function commitStagedProject(_0x572262,_0x2ea669){const _0x281ed4=a169_0x3f3ca8;await a169_0x181495['mkdir'](_0x2ea669);const _0x216b58=await readDirectoryIdentity(_0x2ea669);if(!_0x216b58)throw new Error('Unable\x20to\x20claim\x20the\x20project\x20directory.');try{for(const _0x2687e of await a169_0x181495[_0x281ed4(0x151)](_0x572262)){await a169_0x181495['rename'](a169_0x4c42f7[_0x281ed4(0x15f)](_0x572262,_0x2687e),a169_0x4c42f7[_0x281ed4(0x15f)](_0x2ea669,_0x2687e));}}catch(_0xd77363){const _0x252827=await readDirectoryIdentity(_0x2ea669);_0x252827?.[_0x281ed4(0x148)]===_0x216b58[_0x281ed4(0x148)]&&_0x252827['ino']===_0x216b58['ino']&&await a169_0x181495['rm'](_0x2ea669,{'recursive':!![],'force':!![]});throw _0xd77363;}}function a169_0x16cf(_0x2e528a,_0x5f411a){_0x2e528a=_0x2e528a-0x11b;const _0x1412f0=a169_0x1412();let _0x16cfaf=_0x1412f0[_0x2e528a];return _0x16cfaf;}export async function materializeProjectTemplate(_0x2222b0,_0x43b456){const _0x30af83=a169_0x3f3ca8,_0x6c7f16=a169_0x4c42f7[_0x30af83(0x143)](_0x2222b0),_0x59da8b=a169_0x4c42f7[_0x30af83(0x15d)](_0x6c7f16);try{await a169_0x181495[_0x30af83(0x11c)](_0x6c7f16);throw new Error('Project\x20directory\x20already\x20exists:\x20'+_0x6c7f16);}catch(_0x5ebb3a){if(_0x5ebb3a[_0x30af83(0x163)]!=='ENOENT')throw _0x5ebb3a;}const _0xdd58b4=await a169_0x181495[_0x30af83(0x141)](a169_0x4c42f7[_0x30af83(0x15f)](_0x59da8b,_0x30af83(0x12a))),_0x3437bd=a169_0x4c42f7[_0x30af83(0x15f)](_0xdd58b4,_0x30af83(0x14f)),_0x2ceb82=a169_0x4c42f7['join'](_0xdd58b4,_0x30af83(0x159));try{try{_0x43b456?.(_0x30af83(0x122));const _0x180e78=await fetchTemplateDescriptor();return _0x43b456?.(_0x30af83(0x133)),await downloadArchive(_0x180e78,_0x2ceb82,_0x43b456),_0x43b456?.(_0x30af83(0x12d)),await extractProjectTemplateArchive(_0x2ceb82,_0x3437bd),await assertTemplateRoot(_0x3437bd),await commitStagedProject(_0x3437bd,_0x6c7f16),{'source':_0x30af83(0x12c),'version':_0x180e78[_0x30af83(0x144)]};}catch(_0x54da34){if(_0x54da34[_0x30af83(0x163)]===_0x30af83(0x13d))throw CliErrors[_0x30af83(0x12f)]('Project\x20directory\x20already\x20exists:\x20'+_0x6c7f16,_0x30af83(0x14c));const _0x205ed2=_0x54da34 instanceof Error?_0x54da34[_0x30af83(0x15b)]:String(_0x54da34);throw CliErrors[_0x30af83(0x12f)](_0x30af83(0x139),_0x30af83(0x138)+_0x205ed2);}}finally{await a169_0x181495['rm'](_0xdd58b4,{'recursive':!![],'force':!![]});}}
@@ -0,0 +1,2 @@
1
+ export declare function getProjectNameValidationError(value: string): string | null;
2
+ export declare function validateProjectName(value: string): string;
@@ -0,0 +1 @@
1
+ (function(_0x127d80,_0x54eac0){const _0xad05de=a170_0x3f56,_0x3ef092=_0x127d80();while(!![]){try{const _0x2e3e9b=-parseInt(_0xad05de(0xea))/0x1+-parseInt(_0xad05de(0xec))/0x2+-parseInt(_0xad05de(0xed))/0x3+parseInt(_0xad05de(0xe9))/0x4+-parseInt(_0xad05de(0xe1))/0x5+-parseInt(_0xad05de(0xe2))/0x6*(parseInt(_0xad05de(0xe0))/0x7)+parseInt(_0xad05de(0xdf))/0x8;if(_0x2e3e9b===_0x54eac0)break;else _0x3ef092['push'](_0x3ef092['shift']());}catch(_0x242edd){_0x3ef092['push'](_0x3ef092['shift']());}}}(a170_0x5cd0,0xdbcd2));function a170_0x3f56(_0x7711a4,_0x1b3b8e){_0x7711a4=_0x7711a4-0xdf;const _0x5cd065=a170_0x5cd0();let _0x3f5638=_0x5cd065[_0x7711a4];return _0x3f5638;}import{CliErrors}from'../../../errors.js';function a170_0x5cd0(){const _0x2096b1=['382174SamsbH','trim','3534758JjkirH','715950wTKKGr','\x22\x20is\x20reserved\x20on\x20Windows','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','36585024szWKJy','7bitLLo','1521685sJDVnB','9128334kWlIND','Project\x20name\x20cannot\x20exceed\x20','validation','length','test','Project\x20name\x20\x22','Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.','2164428mJzGAu'];a170_0x5cd0=function(){return _0x2096b1;};return a170_0x5cd0();}const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;export function getProjectNameValidationError(_0x5e0269){const _0x4ad5f8=a170_0x3f56,_0x12f554=_0x5e0269[_0x4ad5f8(0xeb)]();if(!_0x12f554)return'Project\x20name\x20cannot\x20be\x20empty';if(_0x12f554[_0x4ad5f8(0xe5)]>MAX_PROJECT_NAME_LENGTH)return _0x4ad5f8(0xe3)+MAX_PROJECT_NAME_LENGTH+'\x20characters';if(!PROJECT_NAME_PATTERN['test'](_0x12f554))return _0x4ad5f8(0xef);if(WINDOWS_RESERVED_NAME[_0x4ad5f8(0xe6)](_0x12f554))return _0x4ad5f8(0xe7)+_0x12f554+_0x4ad5f8(0xee);return null;}export function validateProjectName(_0x43b9dd){const _0xdf79db=a170_0x3f56,_0x561db1=_0x43b9dd[_0xdf79db(0xeb)](),_0x51a83f=getProjectNameValidationError(_0x561db1);if(_0x51a83f)throw CliErrors[_0xdf79db(0xe4)](_0x51a83f,_0xdf79db(0xe8));return _0x561db1;}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Extract a project template ZIP without relying on OS-specific archive tools.
3
+ * Entries are bounded and validated for traversal, symlinks, Windows naming,
4
+ * case-insensitive collisions, and ZIP bombs before they are written.
5
+ */
6
+ export declare function extractProjectTemplateArchive(zipPath: string, destinationDir: string): Promise<void>;
@@ -0,0 +1 @@
1
+ (function(_0xb127d2,_0x3a391c){const _0x852657=a171_0x464c,_0x13779b=_0xb127d2();while(!![]){try{const _0x3a6cfe=parseInt(_0x852657(0x153))/0x1+parseInt(_0x852657(0x138))/0x2+parseInt(_0x852657(0x155))/0x3+parseInt(_0x852657(0x141))/0x4*(parseInt(_0x852657(0x12c))/0x5)+parseInt(_0x852657(0x13a))/0x6+parseInt(_0x852657(0x12e))/0x7*(parseInt(_0x852657(0x13c))/0x8)+-parseInt(_0x852657(0x150))/0x9*(parseInt(_0x852657(0x148))/0xa);if(_0x3a6cfe===_0x3a391c)break;else _0x13779b['push'](_0x13779b['shift']());}catch(_0xcf3cae){_0x13779b['push'](_0x13779b['shift']());}}}(a171_0x225e,0x47faa));import{createWriteStream}from'node:fs';function a171_0x225e(){const _0x4a6a14=['get','has','Project\x20template\x20ZIP\x20exceeds\x20','967602oQtcXV','end','3099282WqgKNe','sep','184Giotyy','mkdir','en-US','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','replace','45796Hikgkt','\x20entries.','error','Case-conflicting\x20ZIP\x20entry\x20path:\x20','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','readEntry','fileName','4020ptcdiu','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','Unable\x20to\x20read\x20ZIP\x20entry:\x20','uncompressedSize','startsWith','length','split','add','28917UnCcxx','externalFileAttributes','dirname','172149htZGUE','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','491994hUobeH','join','close','test','openReadStream','entry','30fpxWmM','resolve','55167TZhPyO','toLocaleLowerCase','endsWith','slice','once','catch','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20'];a171_0x225e=function(){return _0x4a6a14;};return a171_0x225e();}import a171_0x57d499 from'node:fs/promises';function a171_0x464c(_0x2df31e,_0x4099f2){_0x2df31e=_0x2df31e-0x128;const _0x225e84=a171_0x225e();let _0x464ce7=_0x225e84[_0x2df31e];return _0x464ce7;}import a171_0x42cb9d from'node:path';import{pipeline}from'node:stream/promises';import a171_0x279d9f from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x2271bc){return new Promise((_0x1dcb8f,_0x563db0)=>{a171_0x279d9f['open'](_0x2271bc,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x1cace3,_0x477699)=>{if(_0x1cace3||!_0x477699){_0x563db0(_0x1cace3||new Error('Unable\x20to\x20open\x20project\x20template\x20archive.'));return;}_0x1dcb8f(_0x477699);});});}function openEntryStream(_0x2b7691,_0x40543c){return new Promise((_0x34c96b,_0x2227e4)=>{const _0x3bed42=a171_0x464c;_0x2b7691[_0x3bed42(0x12a)](_0x40543c,(_0x18e93a,_0x53a65b)=>{const _0x204c29=_0x3bed42;if(_0x18e93a||!_0x53a65b){_0x2227e4(_0x18e93a||new Error(_0x204c29(0x14a)+_0x40543c[_0x204c29(0x147)]));return;}_0x34c96b(_0x53a65b);});});}function validateEntryPath(_0x39aac3){const _0xdd3342=a171_0x464c,_0x478888=_0x39aac3[_0xdd3342(0x140)](/\\/g,'/'),_0x186931=_0x478888[_0xdd3342(0x130)]('/'),_0x2425c3=_0x186931?_0x478888[_0xdd3342(0x131)](0x0,-0x1):_0x478888;if(!_0x2425c3||_0x478888[_0xdd3342(0x14c)]('/')||/^[A-Za-z]:\//[_0xdd3342(0x129)](_0x478888))throw new Error(_0xdd3342(0x134)+_0x39aac3);const _0x5cf091=_0x2425c3[_0xdd3342(0x14e)]('/');for(const _0x54e32f of _0x5cf091){if(!_0x54e32f||_0x54e32f==='.'||_0x54e32f==='..'||_0x54e32f[_0xdd3342(0x130)]('.')||_0x54e32f[_0xdd3342(0x130)]('\x20')||WINDOWS_INVALID_CHAR[_0xdd3342(0x129)](_0x54e32f)||WINDOWS_RESERVED_NAME['test'](_0x54e32f))throw new Error(_0xdd3342(0x145)+_0x39aac3);}return{'relativePath':_0x5cf091[_0xdd3342(0x156)](a171_0x42cb9d['sep']),'directory':_0x186931};}function isSymbolicLink(_0x5bb3ab){const _0x11438b=a171_0x464c,_0x1849c9=_0x5bb3ab[_0x11438b(0x151)]>>>0x10&0xffff;return(_0x1849c9&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x933b2a,_0x2788bd){const _0x3d6a1d=a171_0x464c,_0x57ec2b=await openZip(_0x933b2a),_0x365a1e=a171_0x42cb9d[_0x3d6a1d(0x12d)](_0x2788bd),_0x22af42=new Set(),_0x19f9b9=new Map();let _0x46abf1=0x0,_0x1a04b8=0x0;await a171_0x57d499[_0x3d6a1d(0x13d)](_0x365a1e,{'recursive':!![]}),await new Promise((_0x1c504b,_0x2c4707)=>{const _0x3e4d66=_0x3d6a1d;let _0x2b9221=![];const _0xe85364=_0x4a3063=>{const _0x57527c=a171_0x464c;if(_0x2b9221)return;_0x2b9221=!![],_0x57ec2b[_0x57527c(0x128)](),_0x2c4707(_0x4a3063 instanceof Error?_0x4a3063:new Error(String(_0x4a3063)));};_0x57ec2b[_0x3e4d66(0x132)](_0x3e4d66(0x143),_0xe85364),_0x57ec2b['once'](_0x3e4d66(0x139),()=>{if(_0x2b9221)return;_0x2b9221=!![],_0x1c504b();}),_0x57ec2b['on'](_0x3e4d66(0x12b),_0x3e7854=>{const _0x49f616=_0x3e4d66;void(async()=>{const _0x2d5907=a171_0x464c;_0x46abf1+=0x1,_0x1a04b8+=_0x3e7854[_0x2d5907(0x14b)];if(_0x46abf1>MAX_ENTRY_COUNT)throw new Error(_0x2d5907(0x137)+MAX_ENTRY_COUNT+_0x2d5907(0x142));if(_0x1a04b8>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x2d5907(0x13f));if(_0x3e7854['isEncrypted']())throw new Error(_0x2d5907(0x154)+_0x3e7854[_0x2d5907(0x147)]);if(isSymbolicLink(_0x3e7854))throw new Error(_0x2d5907(0x149)+_0x3e7854['fileName']);const {relativePath:_0x2c7231,directory:_0x324119}=validateEntryPath(_0x3e7854[_0x2d5907(0x147)]),_0xac8c9c=_0x2c7231[_0x2d5907(0x14e)](a171_0x42cb9d[_0x2d5907(0x13b)]);for(let _0x1e80c2=0x1;_0x1e80c2<=_0xac8c9c[_0x2d5907(0x14d)];_0x1e80c2+=0x1){const _0x4bc1f6=_0xac8c9c[_0x2d5907(0x131)](0x0,_0x1e80c2)[_0x2d5907(0x156)](a171_0x42cb9d[_0x2d5907(0x13b)]),_0x50a34d=_0x4bc1f6[_0x2d5907(0x12f)](_0x2d5907(0x13e)),_0x5698bd=_0x19f9b9[_0x2d5907(0x135)](_0x50a34d);if(_0x5698bd&&_0x5698bd!==_0x4bc1f6)throw new Error(_0x2d5907(0x144)+_0x3e7854[_0x2d5907(0x147)]);_0x19f9b9['set'](_0x50a34d,_0x4bc1f6);}const _0x38d0c9=_0x2c7231[_0x2d5907(0x12f)]('en-US');if(_0x22af42[_0x2d5907(0x136)](_0x38d0c9))throw new Error('Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20'+_0x3e7854['fileName']);_0x22af42[_0x2d5907(0x14f)](_0x38d0c9);const _0x17d866=a171_0x42cb9d['resolve'](_0x365a1e,_0x2c7231);if(_0x17d866!==_0x365a1e&&!_0x17d866['startsWith'](''+_0x365a1e+a171_0x42cb9d[_0x2d5907(0x13b)]))throw new Error('ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20'+_0x3e7854[_0x2d5907(0x147)]);if(_0x324119)await a171_0x57d499[_0x2d5907(0x13d)](_0x17d866,{'recursive':!![]});else{await a171_0x57d499[_0x2d5907(0x13d)](a171_0x42cb9d[_0x2d5907(0x152)](_0x17d866),{'recursive':!![]});const _0x31f9cb=await openEntryStream(_0x57ec2b,_0x3e7854);await pipeline(_0x31f9cb,createWriteStream(_0x17d866,{'flags':'wx','mode':0x1a4}));}_0x57ec2b[_0x2d5907(0x146)]();})()[_0x49f616(0x133)](_0xe85364);}),_0x57ec2b['readEntry']();});}
@@ -1,4 +1,2 @@
1
- /** rabetbase-cli 包根目录(含 package.json、templates/) */
1
+ /** rabetbase-cli 包根目录(含 package.json */
2
2
  export declare function getRabetbaseCliPackageRoot(): string;
3
- /** 子应用 React 脚手架模板目录 */
4
- export declare function getSubAppReactDemoTemplateDir(): string;
@@ -1 +1 @@
1
- const a164_0x5540a7=a164_0x45d3;(function(_0x192ded,_0x26f936){const _0x4fec92=a164_0x45d3,_0x37806f=_0x192ded();while(!![]){try{const _0x5f5a06=-parseInt(_0x4fec92(0x1ee))/0x1+parseInt(_0x4fec92(0x1ea))/0x2*(-parseInt(_0x4fec92(0x1f3))/0x3)+-parseInt(_0x4fec92(0x1e8))/0x4*(-parseInt(_0x4fec92(0x1f1))/0x5)+-parseInt(_0x4fec92(0x1f4))/0x6+-parseInt(_0x4fec92(0x1f2))/0x7*(-parseInt(_0x4fec92(0x1f5))/0x8)+parseInt(_0x4fec92(0x1ed))/0x9*(-parseInt(_0x4fec92(0x1f8))/0xa)+parseInt(_0x4fec92(0x1f6))/0xb;if(_0x5f5a06===_0x26f936)break;else _0x37806f['push'](_0x37806f['shift']());}catch(_0x2784b0){_0x37806f['push'](_0x37806f['shift']());}}}(a164_0x110d,0x3b1c1));function a164_0x110d(){const _0xbb8cae=['projects','174422ZAMYwD','sub-app-react-demo','resolve','7731KYqwgQ','160646YmPDMB','dirname','../../../../','5BEsgXN','378fkkHEN','3CXmKUK','2440398soHJtW','61104KoVNfG','4129609eFITSp','templates','2350BBWPnd','1242788ybvtcJ'];a164_0x110d=function(){return _0xbb8cae;};return a164_0x110d();}import a164_0x15f38a from'node:path';function a164_0x45d3(_0x457979,_0x5f4ff2){_0x457979=_0x457979-0x1e8;const _0x110d8b=a164_0x110d();let _0x45d3cc=_0x110d8b[_0x457979];return _0x45d3cc;}import{fileURLToPath}from'node:url';const __dirname=a164_0x15f38a[a164_0x5540a7(0x1ef)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3924f1=a164_0x5540a7;return a164_0x15f38a[_0x3924f1(0x1ec)](__dirname,_0x3924f1(0x1f0));}export function getSubAppReactDemoTemplateDir(){const _0x56738b=a164_0x5540a7;return a164_0x15f38a['join'](getRabetbaseCliPackageRoot(),_0x56738b(0x1f7),_0x56738b(0x1e9),_0x56738b(0x1eb));}
1
+ const a172_0x3245f0=a172_0x28a5;(function(_0x2c1453,_0x4cc18b){const _0x423e0f=a172_0x28a5,_0x98b917=_0x2c1453();while(!![]){try{const _0x306d8b=-parseInt(_0x423e0f(0xfd))/0x1+-parseInt(_0x423e0f(0x102))/0x2*(-parseInt(_0x423e0f(0xff))/0x3)+parseInt(_0x423e0f(0xf8))/0x4+parseInt(_0x423e0f(0xf9))/0x5+-parseInt(_0x423e0f(0x101))/0x6*(parseInt(_0x423e0f(0x103))/0x7)+-parseInt(_0x423e0f(0xfa))/0x8+-parseInt(_0x423e0f(0xfb))/0x9;if(_0x306d8b===_0x4cc18b)break;else _0x98b917['push'](_0x98b917['shift']());}catch(_0x2b811f){_0x98b917['push'](_0x98b917['shift']());}}}(a172_0x3e00,0x9dc8a));function a172_0x3e00(){const _0x52bf0e=['497TsKBPa','3891368scbFIO','2656775NiqBbw','4617328CGoySD','2676780JWvulU','dirname','349080syAQVc','resolve','7149RWDNEH','../../../../','8562pUSRUu','392acjxVc'];a172_0x3e00=function(){return _0x52bf0e;};return a172_0x3e00();}function a172_0x28a5(_0x11bf2b,_0x5de5f2){_0x11bf2b=_0x11bf2b-0xf8;const _0x3e0024=a172_0x3e00();let _0x28a53b=_0x3e0024[_0x11bf2b];return _0x28a53b;}import a172_0x344db2 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a172_0x344db2[a172_0x3245f0(0xfc)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x37591e=a172_0x3245f0;return a172_0x344db2[_0x37591e(0xfe)](__dirname,_0x37591e(0x100));}
@@ -1 +1,2 @@
1
- export declare function copyProjectTemplate(projectCode: string): Promise<string>;
1
+ import { type ProjectTemplateProgress } from "../../../commands/project/create/materialize-project-template.js";
2
+ export declare function copyProjectTemplate(projectCode: string, onProgress?: ProjectTemplateProgress): Promise<string>;