@lovrabet/rabetbase-cli 2.4.2 → 2.4.3-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 (292) 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.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -1
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/kb/create.js +1 -1
  101. package/lib/commands/kb/delete.js +1 -1
  102. package/lib/commands/kb/detail.js +1 -1
  103. package/lib/commands/kb/index.js +1 -1
  104. package/lib/commands/kb/list.js +1 -1
  105. package/lib/commands/kb/shared.js +1 -1
  106. package/lib/commands/kb/update.js +1 -1
  107. package/lib/commands/logs/index.js +1 -1
  108. package/lib/commands/menu/asset-update.js +1 -1
  109. package/lib/commands/menu/delete.js +1 -1
  110. package/lib/commands/menu/external-link-create.js +1 -1
  111. package/lib/commands/menu/external-link-update.js +1 -1
  112. package/lib/commands/menu/group-create.js +1 -1
  113. package/lib/commands/menu/group-update.js +1 -1
  114. package/lib/commands/menu/index.js +1 -1
  115. package/lib/commands/menu/list.js +1 -1
  116. package/lib/commands/menu/move.js +1 -1
  117. package/lib/commands/menu/regroup-start.js +1 -1
  118. package/lib/commands/menu/rename.js +1 -1
  119. package/lib/commands/menu/shared/compare-table.js +1 -1
  120. package/lib/commands/menu/shared/delete-plan.js +1 -1
  121. package/lib/commands/menu/shared/facts.js +1 -1
  122. package/lib/commands/menu/shared/index.js +1 -1
  123. package/lib/commands/menu/shared/inquirer.js +1 -1
  124. package/lib/commands/menu/shared/local-pages.js +1 -1
  125. package/lib/commands/menu/shared/logic.js +1 -1
  126. package/lib/commands/menu/shared/mutations.js +1 -1
  127. package/lib/commands/menu/shared/service.js +1 -1
  128. package/lib/commands/menu/shared/sync-core.js +1 -1
  129. package/lib/commands/menu/shared/update-core.js +1 -1
  130. package/lib/commands/menu/shared/valid-url.js +1 -1
  131. package/lib/commands/menu/sync.js +1 -1
  132. package/lib/commands/notification/config-list.js +1 -1
  133. package/lib/commands/notification/index.js +1 -1
  134. package/lib/commands/ocr/index.js +1 -1
  135. package/lib/commands/page/generate-start.js +1 -1
  136. package/lib/commands/page/generate-status.js +1 -1
  137. package/lib/commands/page/index.js +1 -1
  138. package/lib/commands/page/pull.js +1 -1
  139. package/lib/commands/page/push.js +1 -1
  140. package/lib/commands/page/react/create.js +1 -1
  141. package/lib/commands/page/react/detail.js +1 -1
  142. package/lib/commands/page/react/list.js +1 -1
  143. package/lib/commands/page/react/publish.js +1 -1
  144. package/lib/commands/page/react/shared.js +1 -1
  145. package/lib/commands/page/react/syntax.js +1 -1
  146. package/lib/commands/page/react/template.js +1 -1
  147. package/lib/commands/page/react/update.js +1 -1
  148. package/lib/commands/page/relation-audit.js +1 -1
  149. package/lib/commands/page/restore.js +1 -1
  150. package/lib/commands/page/shared.js +1 -1
  151. package/lib/commands/page/standard-page-status.js +1 -1
  152. package/lib/commands/page/sync.js +1 -1
  153. package/lib/commands/permit/index.js +1 -1
  154. package/lib/commands/permit/page-get.js +1 -1
  155. package/lib/commands/permit/page-set.js +1 -1
  156. package/lib/commands/permit/role-apis-set.js +1 -1
  157. package/lib/commands/permit/role-menus-set.js +1 -1
  158. package/lib/commands/permit/role-menus.js +1 -1
  159. package/lib/commands/permit/shared.js +1 -1
  160. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  161. package/lib/commands/project/create/format-elapsed.js +1 -1
  162. package/lib/commands/project/create/main.js +1 -1
  163. package/lib/commands/project/create/non-interactive.js +1 -1
  164. package/lib/commands/project/create/project-template-path.js +1 -1
  165. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  166. package/lib/commands/project/create/use-format-code.js +1 -1
  167. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  168. package/lib/commands/project/index.js +1 -1
  169. package/lib/commands/project/upgrade.js +1 -1
  170. package/lib/commands/registry.js +1 -1
  171. package/lib/commands/role/create.js +1 -1
  172. package/lib/commands/role/delete.js +1 -1
  173. package/lib/commands/role/detail.js +1 -1
  174. package/lib/commands/role/index.js +1 -1
  175. package/lib/commands/role/list.js +1 -1
  176. package/lib/commands/role/shared.js +1 -1
  177. package/lib/commands/role/update.js +1 -1
  178. package/lib/commands/role/user-add.js +1 -1
  179. package/lib/commands/role/user-remove.js +1 -1
  180. package/lib/commands/role/user-resolve.js +1 -1
  181. package/lib/commands/run/index.js +1 -1
  182. package/lib/commands/schema.js +1 -1
  183. package/lib/commands/sql/create.js +1 -1
  184. package/lib/commands/sql/delete.js +1 -1
  185. package/lib/commands/sql/detail.js +1 -1
  186. package/lib/commands/sql/exec.js +1 -1
  187. package/lib/commands/sql/index.js +1 -1
  188. package/lib/commands/sql/list.js +1 -1
  189. package/lib/commands/sql/pull.js +1 -1
  190. package/lib/commands/sql/push.js +1 -1
  191. package/lib/commands/sql/shared.js +1 -1
  192. package/lib/commands/sql/status.js +1 -1
  193. package/lib/commands/sql/validate.js +1 -1
  194. package/lib/commands/task/index.js +1 -1
  195. package/lib/commands/task/status.js +1 -1
  196. package/lib/commands/tenant/index.js +1 -1
  197. package/lib/commands/tenant/members-list.js +1 -1
  198. package/lib/commands/tenant/shared.js +1 -1
  199. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  200. package/lib/commands/user-account/index.js +1 -1
  201. package/lib/commands/workspace/add.js +1 -1
  202. package/lib/commands/workspace/index.js +1 -1
  203. package/lib/commands/workspace/remove.js +1 -1
  204. package/lib/config/schema.js +1 -1
  205. package/lib/constant/cdn.js +1 -1
  206. package/lib/constant/cli.js +1 -1
  207. package/lib/constant/defaults.js +1 -1
  208. package/lib/constant/domain.js +1 -1
  209. package/lib/constant/env.js +1 -1
  210. package/lib/constant/output.js +1 -1
  211. package/lib/constant/paths.js +1 -1
  212. package/lib/constant/risk.js +1 -1
  213. package/lib/context/app-resolver.js +1 -1
  214. package/lib/context/auth-resolver.js +1 -1
  215. package/lib/context/config-loader.js +1 -1
  216. package/lib/context.js +1 -1
  217. package/lib/core/alias-resolver.js +1 -1
  218. package/lib/core/api-client.js +1 -1
  219. package/lib/core/bff/config.js +1 -1
  220. package/lib/core/bff/file-system.js +1 -1
  221. package/lib/core/bff/hash.js +1 -1
  222. package/lib/core/bff/lock.js +1 -1
  223. package/lib/core/bff/utils.js +1 -1
  224. package/lib/core/db-resolver.js +1 -1
  225. package/lib/core/page/file-system.js +1 -1
  226. package/lib/core/page/hash.js +1 -1
  227. package/lib/core/page/lock.js +1 -1
  228. package/lib/core/sql-index-auditor.js +1 -1
  229. package/lib/core/sql-sync/config.js +1 -1
  230. package/lib/core/sql-sync/file-system.js +1 -1
  231. package/lib/core/sql-sync/hash.js +1 -1
  232. package/lib/core/sql-sync/lock.js +1 -1
  233. package/lib/core/sql-sync/utils.js +1 -1
  234. package/lib/core/sql-validator.js +1 -1
  235. package/lib/errors.js +1 -1
  236. package/lib/framework/build-all-flags.js +1 -1
  237. package/lib/framework/error-output.js +1 -1
  238. package/lib/framework/explicit-yes.js +1 -1
  239. package/lib/framework/flags.js +1 -1
  240. package/lib/framework/help.js +1 -1
  241. package/lib/framework/index.js +1 -1
  242. package/lib/framework/output.js +1 -1
  243. package/lib/framework/response.js +1 -1
  244. package/lib/framework/runner-alias.js +1 -1
  245. package/lib/framework/runner.js +1 -1
  246. package/lib/framework/schema-export.js +1 -1
  247. package/lib/framework/types.js +1 -1
  248. package/lib/generated/build-info.d.ts +4 -4
  249. package/lib/generated/build-info.js +1 -1
  250. package/lib/help.js +1 -1
  251. package/lib/postinstall.js +1 -1
  252. package/lib/runtime/confirmation.js +1 -1
  253. package/lib/runtime/event.js +1 -1
  254. package/lib/runtime/index.js +1 -1
  255. package/lib/runtime/queue.js +1 -1
  256. package/lib/runtime/resolve.js +1 -1
  257. package/lib/skills/builtin-skill.js +1 -1
  258. package/lib/skills/main.js +1 -1
  259. package/lib/skills/npx-skills-add.js +1 -1
  260. package/lib/skills/skill-presence.js +1 -1
  261. package/lib/telemetry/cli-command-trace.js +1 -1
  262. package/lib/telemetry/cli-help-trace.js +1 -1
  263. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  264. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  265. package/lib/telemetry/send-cli-trace-log.js +1 -1
  266. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  267. package/lib/utils/ai_config.js +1 -1
  268. package/lib/utils/apply-jq-filter.js +1 -1
  269. package/lib/utils/cdn-config.js +1 -1
  270. package/lib/utils/check-sdk-version.js +1 -1
  271. package/lib/utils/cli-version-check.js +1 -1
  272. package/lib/utils/cli-version-policy.js +1 -1
  273. package/lib/utils/config.js +1 -1
  274. package/lib/utils/copy-directory.js +1 -1
  275. package/lib/utils/entity-with-id.js +1 -1
  276. package/lib/utils/file-utils.js +1 -1
  277. package/lib/utils/guides-cdn.js +1 -1
  278. package/lib/utils/http-client.js +1 -1
  279. package/lib/utils/is-non-interactive.js +1 -1
  280. package/lib/utils/logger.js +1 -1
  281. package/lib/utils/params.js +1 -1
  282. package/lib/utils/platform.js +1 -1
  283. package/lib/utils/rules-cdn.js +1 -1
  284. package/lib/utils/sleep.js +1 -1
  285. package/lib/utils/template-replacer.js +1 -1
  286. package/lib/utils/update-notice.js +1 -1
  287. package/lib/utils/version.js +1 -1
  288. package/lib/utils/with-active-cookie.js +1 -1
  289. package/lib/utils/write-cli-side-channel.js +1 -1
  290. package/package.json +8 -4
  291. package/skills/rabetbase/SKILL.md +1 -1
  292. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a156_0x93d30d=a156_0x52a2;(function(_0x1734be,_0x31042e){const _0x49a17d=a156_0x52a2,_0x471273=_0x1734be();while(!![]){try{const _0x34f1c1=-parseInt(_0x49a17d(0x1cf))/0x1+-parseInt(_0x49a17d(0x1d6))/0x2+parseInt(_0x49a17d(0x1dc))/0x3*(parseInt(_0x49a17d(0x1c3))/0x4)+-parseInt(_0x49a17d(0x1ba))/0x5*(-parseInt(_0x49a17d(0x1be))/0x6)+parseInt(_0x49a17d(0x1c4))/0x7+parseInt(_0x49a17d(0x1da))/0x8*(parseInt(_0x49a17d(0x1b7))/0x9)+parseInt(_0x49a17d(0x1cc))/0xa;if(_0x34f1c1===_0x31042e)break;else _0x471273['push'](_0x471273['shift']());}catch(_0x5110f9){_0x471273['push'](_0x471273['shift']());}}}(a156_0x5373,0x2f390));import{getRoleApiResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a156_0x52a2(_0x4f35c5,_0x1f74eb){_0x4f35c5=_0x4f35c5-0x1b7;const _0x537307=a156_0x5373();let _0x52a23f=_0x537307[_0x4f35c5];return _0x52a23f;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a156_0x5373(){const _0x18d9ab=['has','Revoked\x20API\x20access\x20for\x20','330743WfgXLc','action','get','datasets','revoke','POST','flagMissing','737036sfiZHD','roleName','\x20dataset(s)\x20on\x20role\x20','join','232mIKcAf','length','434865QSGSoh','str','validation','96597KphVSC','/smartapi/permit/role/update','Pass\x20--datasets\x20<datasetCode,...>.','1490TUkRPg','API','api-revoke','bool','1182xlOAzS','selector','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).','filter','set','4xmtAeT','349461xlIJrt','role-apis-set','permit','Unknown\x20datasetCode(s)\x20for\x20this\x20role\x27s\x20API\x20resources:\x20','push','appCode','Missing\x20--revoke.','Revoke\x20a\x20role\x27s\x20dataset\x20API\x20access\x20by\x20datasetCode\x20(roleType\x20API);\x20requires\x20--yes','3278440mlyqNB'];a156_0x5373=function(){return _0x18d9ab;};return a156_0x5373();}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_0x93d30d(0x1b8);async function buildPlan(_0x749f9e,_0xf1d2c2){const _0x6048b5=a156_0x93d30d,_0x1d6830=await resolveRoleRef(_0x749f9e[_0x6048b5(0x1c9)],readRoleRef(_0x749f9e));assertPermConfigurable(_0x1d6830);if(!_0x749f9e['bool'](_0x6048b5(0x1d3)))throw CliErrors['validation'](_0x6048b5(0x1ca),_0x6048b5(0x1c0));const _0x33a97b=splitList(_0x749f9e[_0x6048b5(0x1dd)](_0x6048b5(0x1d2)));if(_0x33a97b[_0x6048b5(0x1db)]===0x0)throw CliErrors[_0x6048b5(0x1d5)](_0x6048b5(0x1d2),_0x6048b5(0x1b9));const _0x2eee97=await getRoleApiResources(_0x749f9e[_0x6048b5(0x1c9)],_0x1d6830['id']),{byCode:_0x1456db,byDataset:_0x3e7d1e}=flattenApiResources(_0x2eee97),_0x40915b=_0x33a97b[_0x6048b5(0x1c1)](_0x200b2b=>!_0x3e7d1e[_0x6048b5(0x1cd)](_0x200b2b));if(_0x40915b[_0x6048b5(0x1db)]>0x0)throw CliErrors[_0x6048b5(0x1de)](_0x6048b5(0x1c7)+_0x40915b[_0x6048b5(0x1d9)](',\x20')+'.','Verify\x20the\x20datasetCode,\x20or\x20check\x20the\x20role\x27s\x20API\x20resource\x20matrix.');const _0x142655=new Map(),_0x2629c5=[],_0x1bfbda=[];for(const _0x391fac of _0x33a97b){for(const _0x2c0308 of _0x3e7d1e[_0x6048b5(0x1d1)](_0x391fac)){const _0x3a62b2=_0x1456db[_0x6048b5(0x1d1)](_0x2c0308);_0x142655[_0x6048b5(0x1c2)](_0x2c0308,'0'),_0x2629c5[_0x6048b5(0x1c8)]({'resourceCode':_0x2c0308,'datasetCode':_0x391fac,'action':_0x3a62b2[_0x6048b5(0x1d0)]}),_0x1bfbda[_0x6048b5(0x1c8)]({'resourceCode':_0x2c0308,'datasetCode':_0x391fac,'action':'0'});}}const _0x3319f6=buildPermits(_0x1456db,_0x142655),_0x55b0fa={'operation':_0x6048b5(0x1bc),'selector':{'appCode':_0x749f9e[_0x6048b5(0x1c9)],'roleId':_0x1d6830['id'],'roleName':_0x1d6830[_0x6048b5(0x1d7)],'datasetCodes':_0x33a97b},'before':_0x2629c5,'after':_0x1bfbda,'dryRun':_0xf1d2c2,'backend':{'method':'POST','path':UPDATE_PATH,'roleType':_0x6048b5(0x1bb)},'warnings':[]};return{'role':_0x1d6830,'permits':_0x3319f6,'mutation':_0x55b0fa};}export const permitRoleApisSet={'service':a156_0x93d30d(0x1c6),'command':a156_0x93d30d(0x1c5),'description':a156_0x93d30d(0x1cb),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,REVOKE_FLAG,DATASETS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4f3bfc){const _0x458b76=a156_0x93d30d;if(!_0x4f3bfc[_0x458b76(0x1bd)](_0x458b76(0x1d3)))throw CliErrors['validation'](_0x458b76(0x1ca),_0x458b76(0x1c0));if(splitList(_0x4f3bfc[_0x458b76(0x1dd)](_0x458b76(0x1d2)))[_0x458b76(0x1db)]===0x0)throw CliErrors[_0x458b76(0x1d5)](_0x458b76(0x1d2),'Pass\x20--datasets\x20<datasetCode,...>.');},async 'dryRun'(_0x41995b){const _0x31108e=a156_0x93d30d,{mutation:_0x4070ae}=await buildPlan(_0x41995b,!![]);return asDryRunResult(_0x4070ae,{'method':_0x31108e(0x1d4),'url':UPDATE_PATH});},async 'execute'(_0x16d78b){const _0x4d0157=a156_0x93d30d,{role:_0xe189a0,permits:_0x56e6a7,mutation:_0x4ced8b}=await buildPlan(_0x16d78b,![]);return await updateAppRole({'id':_0xe189a0['id'],'appCode':_0x16d78b[_0x4d0157(0x1c9)],'roleType':_0x4d0157(0x1bb),'permits':_0x56e6a7}),{'ok':!![],'data':_0x4ced8b,'message':_0x4d0157(0x1ce)+_0x4ced8b[_0x4d0157(0x1bf)]['datasetCodes'][_0x4d0157(0x1db)]+_0x4d0157(0x1d8)+_0xe189a0[_0x4d0157(0x1d7)]};}};
1
+ const a156_0x49804e=a156_0x542f;(function(_0x512b08,_0x55791f){const _0x3fbc49=a156_0x542f,_0x27b475=_0x512b08();while(!![]){try{const _0x17983b=-parseInt(_0x3fbc49(0x11f))/0x1*(parseInt(_0x3fbc49(0x13e))/0x2)+-parseInt(_0x3fbc49(0x13b))/0x3+parseInt(_0x3fbc49(0x131))/0x4+parseInt(_0x3fbc49(0x12c))/0x5*(parseInt(_0x3fbc49(0x124))/0x6)+-parseInt(_0x3fbc49(0x12e))/0x7*(-parseInt(_0x3fbc49(0x11a))/0x8)+parseInt(_0x3fbc49(0x12a))/0x9+-parseInt(_0x3fbc49(0x134))/0xa*(parseInt(_0x3fbc49(0x11e))/0xb);if(_0x17983b===_0x55791f)break;else _0x27b475['push'](_0x27b475['shift']());}catch(_0x23f46c){_0x27b475['push'](_0x27b475['shift']());}}}(a156_0x3e38,0x1c205));import{getRoleApiResources,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,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_0x49804e(0x123);async function buildPlan(_0x406950,_0x5abeb6){const _0x6e5784=a156_0x49804e,_0x264e4d=await resolveRoleRef(_0x406950[_0x6e5784(0x12f)],readRoleRef(_0x406950));assertPermConfigurable(_0x264e4d);if(!_0x406950[_0x6e5784(0x128)](_0x6e5784(0x137)))throw CliErrors[_0x6e5784(0x130)](_0x6e5784(0x138),_0x6e5784(0x13a));const _0x21c5f1=splitList(_0x406950[_0x6e5784(0x127)]('datasets'));if(_0x21c5f1['length']===0x0)throw CliErrors[_0x6e5784(0x125)](_0x6e5784(0x11b),'Pass\x20--datasets\x20<datasetCode,...>.');const _0x419bc9=await getRoleApiResources(_0x406950[_0x6e5784(0x12f)],_0x264e4d['id']),{byCode:_0xcad3a,byDataset:_0x2e3407}=flattenApiResources(_0x419bc9),_0x1ae7b9=_0x21c5f1['filter'](_0x56cc75=>!_0x2e3407[_0x6e5784(0x119)](_0x56cc75));if(_0x1ae7b9['length']>0x0)throw CliErrors[_0x6e5784(0x130)](_0x6e5784(0x12b)+_0x1ae7b9[_0x6e5784(0x121)](',\x20')+'.',_0x6e5784(0x116));const _0x51961f=new Map(),_0xd8cabb=[],_0x51c076=[];for(const _0x2426d4 of _0x21c5f1){for(const _0x31641c of _0x2e3407['get'](_0x2426d4)){const _0x1ea990=_0xcad3a[_0x6e5784(0x118)](_0x31641c);_0x51961f['set'](_0x31641c,'0'),_0xd8cabb[_0x6e5784(0x11c)]({'resourceCode':_0x31641c,'datasetCode':_0x2426d4,'action':_0x1ea990[_0x6e5784(0x13d)]}),_0x51c076['push']({'resourceCode':_0x31641c,'datasetCode':_0x2426d4,'action':'0'});}}const _0x2d52ec=buildPermits(_0xcad3a,_0x51961f),_0x4ae1f1={'operation':_0x6e5784(0x129),'selector':{'appCode':_0x406950[_0x6e5784(0x12f)],'roleId':_0x264e4d['id'],'roleName':_0x264e4d['roleName'],'datasetCodes':_0x21c5f1},'before':_0xd8cabb,'after':_0x51c076,'dryRun':_0x5abeb6,'backend':{'method':_0x6e5784(0x135),'path':UPDATE_PATH,'roleType':_0x6e5784(0x132)},'warnings':[]};return{'role':_0x264e4d,'permits':_0x2d52ec,'mutation':_0x4ae1f1};}function a156_0x3e38(){const _0x385f34=['187905bcOPCl','datasetCodes','7xvEExv','appCode','validation','361412DYndvi','API','Pass\x20--datasets\x20<datasetCode,...>.','10NCNRwF','POST','role-apis-set','revoke','Missing\x20--revoke.','Revoked\x20API\x20access\x20for\x20','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).','557637hwuxjb','high-risk-write','action','488aTjMcJ','Verify\x20the\x20datasetCode,\x20or\x20check\x20the\x20role\x27s\x20API\x20resource\x20matrix.','length','get','has','1804216iWFchd','datasets','push','roleName','1634765AYgFSk','699PvOviO','Revoke\x20a\x20role\x27s\x20dataset\x20API\x20access\x20by\x20datasetCode\x20(roleType\x20API);\x20requires\x20--yes','join','selector','/smartapi/permit/role/update','30OQTSOS','flagMissing','\x20dataset(s)\x20on\x20role\x20','str','bool','api-revoke','1048230TpCkhN','Unknown\x20datasetCode(s)\x20for\x20this\x20role\x27s\x20API\x20resources:\x20'];a156_0x3e38=function(){return _0x385f34;};return a156_0x3e38();}function a156_0x542f(_0x5852ef,_0x565a75){_0x5852ef=_0x5852ef-0x116;const _0x3e38a7=a156_0x3e38();let _0x542fc8=_0x3e38a7[_0x5852ef];return _0x542fc8;}export const permitRoleApisSet={'service':'permit','command':a156_0x49804e(0x136),'description':a156_0x49804e(0x120),'risk':a156_0x49804e(0x13c),'flags':[ROLE_REF_FLAG,REVOKE_FLAG,DATASETS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3674bf){const _0x361a32=a156_0x49804e;if(!_0x3674bf['bool']('revoke'))throw CliErrors[_0x361a32(0x130)]('Missing\x20--revoke.','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).');if(splitList(_0x3674bf[_0x361a32(0x127)](_0x361a32(0x11b)))[_0x361a32(0x117)]===0x0)throw CliErrors['flagMissing'](_0x361a32(0x11b),_0x361a32(0x133));},async 'dryRun'(_0x303ced){const _0x497bfd=a156_0x49804e,{mutation:_0x52e3c7}=await buildPlan(_0x303ced,!![]);return asDryRunResult(_0x52e3c7,{'method':_0x497bfd(0x135),'url':UPDATE_PATH});},async 'execute'(_0xe5812){const _0x275126=a156_0x49804e,{role:_0x5328ed,permits:_0x57d577,mutation:_0x5e6f22}=await buildPlan(_0xe5812,![]);return await updateAppRole({'id':_0x5328ed['id'],'appCode':_0xe5812[_0x275126(0x12f)],'roleType':'API','permits':_0x57d577}),{'ok':!![],'data':_0x5e6f22,'message':_0x275126(0x139)+_0x5e6f22[_0x275126(0x122)][_0x275126(0x12d)]['length']+_0x275126(0x126)+_0x5328ed[_0x275126(0x11d)]};}};
@@ -1 +1 @@
1
- const a157_0x1fb3b1=a157_0x43e1;function a157_0x43e1(_0x3b50cd,_0x2dd493){_0x3b50cd=_0x3b50cd-0x165;const _0x19e5d4=a157_0x19e5();let _0x43e124=_0x19e5d4[_0x3b50cd];return _0x43e124;}(function(_0x1e4d54,_0x2cbbfe){const _0x467521=a157_0x43e1,_0x42d3aa=_0x1e4d54();while(!![]){try{const _0x3c55d0=-parseInt(_0x467521(0x17c))/0x1+parseInt(_0x467521(0x170))/0x2+-parseInt(_0x467521(0x17a))/0x3*(-parseInt(_0x467521(0x185))/0x4)+-parseInt(_0x467521(0x175))/0x5*(-parseInt(_0x467521(0x16b))/0x6)+parseInt(_0x467521(0x173))/0x7*(parseInt(_0x467521(0x165))/0x8)+-parseInt(_0x467521(0x17e))/0x9+-parseInt(_0x467521(0x16d))/0xa;if(_0x3c55d0===_0x2cbbfe)break;else _0x42d3aa['push'](_0x42d3aa['shift']());}catch(_0x3b6d6e){_0x42d3aa['push'](_0x42d3aa['shift']());}}}(a157_0x19e5,0xd6889));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';function a157_0x19e5(){const _0x53bd2c=['join','7168vdyeqP','PAGE','5CoWtfB','appCode','POST','/smartapi/permit/role/update','Unknown\x20menu\x20resourceCode(s):\x20','10371ggxelB','roleName','529239hXtxsL','role-menus-set','8249643LDNvae','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','Pass\x20--menus\x20<resourceCode,...>.','filter','\x20menu\x20permit(s)\x20for\x20role\x20','get','str','2020DDVmxh','1280liMvhX','has','validation','access','menus','Updated\x20','7195242kXRSlA','length','11173500qXJCLp','push','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','666226mKNpxO','selector'];a157_0x19e5=function(){return _0x53bd2c;};return a157_0x19e5();}import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a157_0x1fb3b1(0x178);async function buildPlan(_0x1bc089,_0x4d0752){const _0x3e820c=a157_0x1fb3b1,_0x410c31=await resolveRoleRef(_0x1bc089['appCode'],readRoleRef(_0x1bc089));assertPermConfigurable(_0x410c31);const _0x3a29b6=readGrantRevoke(_0x1bc089),_0x8a7ea6=splitList(_0x1bc089['str'](_0x3e820c(0x169)));if(_0x8a7ea6[_0x3e820c(0x16c)]===0x0)throw CliErrors['flagMissing'](_0x3e820c(0x169),_0x3e820c(0x180));const _0x183033=await getRoleMenuResources(_0x1bc089['appCode'],_0x410c31['id']),_0x83e1e8=flattenMenuResources(_0x183033),_0x1236b7=_0x8a7ea6[_0x3e820c(0x181)](_0x26d63c=>!_0x83e1e8[_0x3e820c(0x166)](_0x26d63c));if(_0x1236b7['length']>0x0)throw CliErrors[_0x3e820c(0x167)](_0x3e820c(0x179)+_0x1236b7[_0x3e820c(0x172)](',\x20')+'.',_0x3e820c(0x16f));const _0x269fcd=new Map(),_0x5de69b=[],_0x437fed=[];for(const _0x4c0f12 of _0x8a7ea6){const _0x1486e9=_0x83e1e8[_0x3e820c(0x183)](_0x4c0f12);_0x269fcd['set'](_0x4c0f12,_0x3a29b6),_0x5de69b['push']({'resourceCode':_0x4c0f12,'action':_0x1486e9['action']}),_0x437fed[_0x3e820c(0x16e)]({'resourceCode':_0x4c0f12,'action':_0x3a29b6});}const _0x48d1d=buildPermits(_0x83e1e8,_0x269fcd),_0x46156f={'operation':_0x3a29b6===_0x3e820c(0x168)?'menu-grant':'menu-revoke','selector':{'appCode':_0x1bc089[_0x3e820c(0x176)],'roleId':_0x410c31['id'],'roleName':_0x410c31[_0x3e820c(0x17b)],'resourceCodes':_0x8a7ea6},'before':_0x5de69b,'after':_0x437fed,'dryRun':_0x4d0752,'backend':{'method':_0x3e820c(0x177),'path':UPDATE_PATH,'roleType':_0x3e820c(0x174)},'warnings':[]};return{'role':_0x410c31,'permits':_0x48d1d,'mutation':_0x46156f};}export const permitRoleMenusSet={'service':'permit','command':a157_0x1fb3b1(0x17d),'description':a157_0x1fb3b1(0x17f),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x404de9){const _0x569b15=a157_0x1fb3b1;readGrantRevoke(_0x404de9);if(splitList(_0x404de9[_0x569b15(0x184)](_0x569b15(0x169)))['length']===0x0)throw CliErrors['flagMissing']('menus',_0x569b15(0x180));},async 'dryRun'(_0x367eca){const _0x17f4da=a157_0x1fb3b1,{mutation:_0x3174a2}=await buildPlan(_0x367eca,!![]);return asDryRunResult(_0x3174a2,{'method':_0x17f4da(0x177),'url':UPDATE_PATH});},async 'execute'(_0xf97a17){const _0x32f4d3=a157_0x1fb3b1,{role:_0x2be1d8,permits:_0x13df62,mutation:_0x412fef}=await buildPlan(_0xf97a17,![]);return await updateAppRole({'id':_0x2be1d8['id'],'appCode':_0xf97a17[_0x32f4d3(0x176)],'roleType':_0x32f4d3(0x174),'permits':_0x13df62}),{'ok':!![],'data':_0x412fef,'message':_0x32f4d3(0x16a)+_0x412fef[_0x32f4d3(0x171)]['resourceCodes'][_0x32f4d3(0x16c)]+_0x32f4d3(0x182)+_0x2be1d8['roleName']};}};
1
+ const a157_0x51cb95=a157_0x5362;(function(_0x18707e,_0x5b8411){const _0x1243ac=a157_0x5362,_0x11f075=_0x18707e();while(!![]){try{const _0x3b40d7=parseInt(_0x1243ac(0x181))/0x1*(parseInt(_0x1243ac(0x17c))/0x2)+-parseInt(_0x1243ac(0x175))/0x3*(-parseInt(_0x1243ac(0x182))/0x4)+-parseInt(_0x1243ac(0x191))/0x5*(parseInt(_0x1243ac(0x18b))/0x6)+parseInt(_0x1243ac(0x188))/0x7+parseInt(_0x1243ac(0x187))/0x8*(parseInt(_0x1243ac(0x196))/0x9)+parseInt(_0x1243ac(0x192))/0xa+-parseInt(_0x1243ac(0x17a))/0xb;if(_0x3b40d7===_0x5b8411)break;else _0x11f075['push'](_0x11f075['shift']());}catch(_0x25452a){_0x11f075['push'](_0x11f075['shift']());}}}(a157_0x3c04,0x57743));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';function a157_0x5362(_0xac31ed,_0x642382){_0xac31ed=_0xac31ed-0x16d;const _0x3c048b=a157_0x3c04();let _0x53621b=_0x3c048b[_0xac31ed];return _0x53621b;}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_0x51cb95(0x16f);async function buildPlan(_0xa3cf05,_0x4c1844){const _0x5ef804=a157_0x51cb95,_0x162d07=await resolveRoleRef(_0xa3cf05['appCode'],readRoleRef(_0xa3cf05));assertPermConfigurable(_0x162d07);const _0x95a274=readGrantRevoke(_0xa3cf05),_0xfb726a=splitList(_0xa3cf05[_0x5ef804(0x178)]('menus'));if(_0xfb726a[_0x5ef804(0x18c)]===0x0)throw CliErrors['flagMissing'](_0x5ef804(0x193),'Pass\x20--menus\x20<resourceCode,...>.');const _0x9193da=await getRoleMenuResources(_0xa3cf05[_0x5ef804(0x16e)],_0x162d07['id']),_0x4c014b=flattenMenuResources(_0x9193da),_0x3801ea=_0xfb726a[_0x5ef804(0x180)](_0x539576=>!_0x4c014b[_0x5ef804(0x171)](_0x539576));if(_0x3801ea[_0x5ef804(0x18c)]>0x0)throw CliErrors[_0x5ef804(0x190)](_0x5ef804(0x17d)+_0x3801ea[_0x5ef804(0x177)](',\x20')+'.',_0x5ef804(0x17b));const _0x34e463=new Map(),_0x5cf519=[],_0x302c3b=[];for(const _0x28680e of _0xfb726a){const _0x3511f0=_0x4c014b[_0x5ef804(0x18f)](_0x28680e);_0x34e463[_0x5ef804(0x17e)](_0x28680e,_0x95a274),_0x5cf519[_0x5ef804(0x18d)]({'resourceCode':_0x28680e,'action':_0x3511f0[_0x5ef804(0x18e)]}),_0x302c3b[_0x5ef804(0x18d)]({'resourceCode':_0x28680e,'action':_0x95a274});}const _0x1b990d=buildPermits(_0x4c014b,_0x34e463),_0x17faef={'operation':_0x95a274===_0x5ef804(0x170)?_0x5ef804(0x183):_0x5ef804(0x195),'selector':{'appCode':_0xa3cf05[_0x5ef804(0x16e)],'roleId':_0x162d07['id'],'roleName':_0x162d07['roleName'],'resourceCodes':_0xfb726a},'before':_0x5cf519,'after':_0x302c3b,'dryRun':_0x4c1844,'backend':{'method':_0x5ef804(0x189),'path':UPDATE_PATH,'roleType':_0x5ef804(0x172)},'warnings':[]};return{'role':_0x162d07,'permits':_0x1b990d,'mutation':_0x17faef};}function a157_0x3c04(){const _0x210c65=['Pass\x20--menus\x20<resourceCode,...>.','\x20menu\x20permit(s)\x20for\x20role\x20','297435bwrYAk','role-menus-set','join','str','resourceCodes','6016241odvceo','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','5042EqpbOI','Unknown\x20menu\x20resourceCode(s):\x20','set','Updated\x20','filter','5GSEwcC','12VQTdLP','menu-grant','high-risk-write','roleName','flagMissing','56RfnwdB','51296WpGMdr','POST','selector','75534XziPPA','length','push','action','get','validation','25reaNaG','6432500NdpRqM','menus','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','menu-revoke','9603FObFJn','permit','appCode','/smartapi/permit/role/update','access','has','PAGE'];a157_0x3c04=function(){return _0x210c65;};return a157_0x3c04();}export const permitRoleMenusSet={'service':a157_0x51cb95(0x16d),'command':a157_0x51cb95(0x176),'description':a157_0x51cb95(0x194),'risk':a157_0x51cb95(0x184),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x55dfb6){const _0x2c3795=a157_0x51cb95;readGrantRevoke(_0x55dfb6);if(splitList(_0x55dfb6[_0x2c3795(0x178)](_0x2c3795(0x193)))[_0x2c3795(0x18c)]===0x0)throw CliErrors[_0x2c3795(0x186)]('menus',_0x2c3795(0x173));},async 'dryRun'(_0x194130){const _0x431723=a157_0x51cb95,{mutation:_0x588d67}=await buildPlan(_0x194130,!![]);return asDryRunResult(_0x588d67,{'method':_0x431723(0x189),'url':UPDATE_PATH});},async 'execute'(_0x24ec07){const _0xf2b5f6=a157_0x51cb95,{role:_0x1435c6,permits:_0x2011c0,mutation:_0x4696b0}=await buildPlan(_0x24ec07,![]);return await updateAppRole({'id':_0x1435c6['id'],'appCode':_0x24ec07[_0xf2b5f6(0x16e)],'roleType':_0xf2b5f6(0x172),'permits':_0x2011c0}),{'ok':!![],'data':_0x4696b0,'message':_0xf2b5f6(0x17f)+_0x4696b0[_0xf2b5f6(0x18a)][_0xf2b5f6(0x179)][_0xf2b5f6(0x18c)]+_0xf2b5f6(0x174)+_0x1435c6[_0xf2b5f6(0x185)]};}};
@@ -1 +1 @@
1
- function a158_0x326d(){const _0x32fada=['allowed','467264tqtEkH','read','resourceName','1037330wMwqJt','values','Role\x20','303240WbgbNR','298026yhpGKv','from','roleName','9plJzVm','45WBHzmx','appCode','role-menus','permit','access','length','1485930uZyyBN','\x20has\x20','1505571iTJpys','action','315stbDEl','map','86736WVvNtW','\x20menu(s)\x20allowed'];a158_0x326d=function(){return _0x32fada;};return a158_0x326d();}const a158_0x18aaec=a158_0x408c;(function(_0x260f68,_0x5a8026){const _0x37fca4=a158_0x408c,_0x3e9768=_0x260f68();while(!![]){try{const _0x391db3=parseInt(_0x37fca4(0xe4))/0x1+-parseInt(_0x37fca4(0xe7))/0x2+parseInt(_0x37fca4(0xdd))/0x3+-parseInt(_0x37fca4(0xd0))/0x4+-parseInt(_0x37fca4(0xd5))/0x5*(parseInt(_0x37fca4(0xd1))/0x6)+parseInt(_0x37fca4(0xdf))/0x7*(parseInt(_0x37fca4(0xe1))/0x8)+-parseInt(_0x37fca4(0xd4))/0x9*(parseInt(_0x37fca4(0xdb))/0xa);if(_0x391db3===_0x5a8026)break;else _0x3e9768['push'](_0x3e9768['shift']());}catch(_0x2d8ffd){_0x3e9768['push'](_0x3e9768['shift']());}}}(a158_0x326d,0x41298));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_0x408c(_0x298754,_0x727b1f){_0x298754=_0x298754-0xce;const _0x326d21=a158_0x326d();let _0x408cda=_0x326d21[_0x298754];return _0x408cda;}export const permitRoleMenus={'service':a158_0x18aaec(0xd8),'command':a158_0x18aaec(0xd7),'description':'Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','risk':a158_0x18aaec(0xe5),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3280bd){const _0x43b654=a158_0x18aaec,_0x285018=await resolveRoleRef(_0x3280bd['appCode'],readRoleRef(_0x3280bd)),_0x131c38=await getRoleMenuResources(_0x3280bd[_0x43b654(0xd6)],_0x285018['id']),_0x277ad8=flattenMenuResources(_0x131c38),_0x3b42dd=Array[_0x43b654(0xd2)](_0x277ad8[_0x43b654(0xce)]())[_0x43b654(0xe0)](_0x2e4ab6=>({'resourceCode':_0x2e4ab6['resourceCode'],'resourceName':_0x2e4ab6[_0x43b654(0xe6)],'allowed':_0x2e4ab6[_0x43b654(0xde)]===_0x43b654(0xd9),'action':_0x2e4ab6[_0x43b654(0xde)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x3280bd[_0x43b654(0xd6)],'roleId':_0x285018['id'],'roleName':_0x285018[_0x43b654(0xd3)]},'menus':_0x3b42dd},'message':_0x43b654(0xcf)+_0x285018[_0x43b654(0xd3)]+_0x43b654(0xdc)+_0x3b42dd['filter'](_0x1a480b=>_0x1a480b[_0x43b654(0xe3)])[_0x43b654(0xda)]+'/'+_0x3b42dd[_0x43b654(0xda)]+_0x43b654(0xe2)};}};
1
+ const a158_0x494872=a158_0x1e37;(function(_0x3ac7da,_0x45152d){const _0x15cf5a=a158_0x1e37,_0x15244c=_0x3ac7da();while(!![]){try{const _0x40a61b=parseInt(_0x15cf5a(0x10b))/0x1*(-parseInt(_0x15cf5a(0x107))/0x2)+parseInt(_0x15cf5a(0x119))/0x3+parseInt(_0x15cf5a(0x111))/0x4+-parseInt(_0x15cf5a(0x10e))/0x5*(parseInt(_0x15cf5a(0x11f))/0x6)+parseInt(_0x15cf5a(0x115))/0x7*(-parseInt(_0x15cf5a(0x116))/0x8)+parseInt(_0x15cf5a(0x11a))/0x9+-parseInt(_0x15cf5a(0x113))/0xa*(parseInt(_0x15cf5a(0x11e))/0xb);if(_0x40a61b===_0x45152d)break;else _0x15244c['push'](_0x15244c['shift']());}catch(_0x238e51){_0x15244c['push'](_0x15244c['shift']());}}}(a158_0x46c9,0xc4865));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_0x1e37(_0x18a08b,_0x24330e){_0x18a08b=_0x18a08b-0x107;const _0x46c927=a158_0x46c9();let _0x1e3727=_0x46c927[_0x18a08b];return _0x1e3727;}export const permitRoleMenus={'service':'permit','command':'role-menus','description':a158_0x494872(0x114),'risk':'read','flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x1f7109){const _0x32db7b=a158_0x494872,_0x5fd7d6=await resolveRoleRef(_0x1f7109[_0x32db7b(0x109)],readRoleRef(_0x1f7109)),_0x2effaf=await getRoleMenuResources(_0x1f7109[_0x32db7b(0x109)],_0x5fd7d6['id']),_0x46b297=flattenMenuResources(_0x2effaf),_0x3794d4=Array[_0x32db7b(0x112)](_0x46b297[_0x32db7b(0x110)]())[_0x32db7b(0x10a)](_0x3e52e2=>({'resourceCode':_0x3e52e2[_0x32db7b(0x108)],'resourceName':_0x3e52e2['resourceName'],'allowed':_0x3e52e2[_0x32db7b(0x11b)]===_0x32db7b(0x118),'action':_0x3e52e2[_0x32db7b(0x11b)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x1f7109[_0x32db7b(0x109)],'roleId':_0x5fd7d6['id'],'roleName':_0x5fd7d6['roleName']},'menus':_0x3794d4},'message':_0x32db7b(0x11d)+_0x5fd7d6[_0x32db7b(0x10d)]+_0x32db7b(0x10f)+_0x3794d4[_0x32db7b(0x10c)](_0x1eced5=>_0x1eced5[_0x32db7b(0x11c)])[_0x32db7b(0x117)]+'/'+_0x3794d4['length']+_0x32db7b(0x120)};}};function a158_0x46c9(){const _0x1d870e=['14071734ItqRuj','action','allowed','Role\x20','2926rriQGP','19518mFIDUJ','\x20menu(s)\x20allowed','4dRzGCU','resourceCode','appCode','map','204521puTZxp','filter','roleName','270pinKmr','\x20has\x20','values','1605124HNNGMV','from','18220taEiHG','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','6154729RcGLdY','8Zeypop','length','access','2366283IhXAeM'];a158_0x46c9=function(){return _0x1d870e;};return a158_0x46c9();}
@@ -1 +1 @@
1
- const a159_0x2fac26=a159_0x3dd8;(function(_0x3e3401,_0x154897){const _0x433c2e=a159_0x3dd8,_0x50b0db=_0x3e3401();while(!![]){try{const _0x304765=parseInt(_0x433c2e(0xeb))/0x1+-parseInt(_0x433c2e(0xe5))/0x2*(-parseInt(_0x433c2e(0xd4))/0x3)+-parseInt(_0x433c2e(0xef))/0x4+parseInt(_0x433c2e(0xf5))/0x5*(parseInt(_0x433c2e(0xfc))/0x6)+-parseInt(_0x433c2e(0xc2))/0x7+-parseInt(_0x433c2e(0xfe))/0x8+parseInt(_0x433c2e(0xcf))/0x9;if(_0x304765===_0x154897)break;else _0x50b0db['push'](_0x50b0db['shift']());}catch(_0x3d36f4){_0x50b0db['push'](_0x50b0db['shift']());}}}(a159_0x334e,0x215ab));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a159_0x2fac26(0xf4),'type':a159_0x2fac26(0x103),'required':!![],'description':a159_0x2fac26(0xda)};export const ROLE_REF_FLAG={'name':'role','type':a159_0x2fac26(0xe4),'required':!![],'description':a159_0x2fac26(0xc6)};export const GRANT_FLAG={'name':'grant','type':a159_0x2fac26(0xbc),'required':![],'description':a159_0x2fac26(0xce)};export const REVOKE_FLAG={'name':a159_0x2fac26(0xd1),'type':'boolean','required':![],'description':a159_0x2fac26(0x102)};export const MENUS_FLAG={'name':a159_0x2fac26(0xdd),'type':a159_0x2fac26(0xe4),'required':!![],'description':a159_0x2fac26(0xcb)};export const DATASETS_FLAG={'name':a159_0x2fac26(0xf8),'type':a159_0x2fac26(0xe4),'required':!![],'description':a159_0x2fac26(0xb3)};export const PAGE_SLOT_SPECS=[{'flag':a159_0x2fac26(0xb5),'key':a159_0x2fac26(0xe8),'allowSelf':![],'label':a159_0x2fac26(0xd0)},{'flag':a159_0x2fac26(0xf2),'key':'dataCreate','allowSelf':![],'label':'data\x20create'},{'flag':a159_0x2fac26(0xba),'key':a159_0x2fac26(0xe2),'allowSelf':![],'label':'data\x20update'},{'flag':a159_0x2fac26(0xd5),'key':a159_0x2fac26(0xf1),'allowSelf':![],'label':a159_0x2fac26(0xca)},{'flag':a159_0x2fac26(0xf7),'key':a159_0x2fac26(0xd9),'allowSelf':![],'label':a159_0x2fac26(0xb4)},{'flag':a159_0x2fac26(0xe7),'key':a159_0x2fac26(0xed),'allowSelf':![],'label':'data\x20export'},{'flag':a159_0x2fac26(0xbe),'key':a159_0x2fac26(0xb0),'allowSelf':!![],'label':a159_0x2fac26(0xb8)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x4e86b0=>({'name':_0x4e86b0[a159_0x2fac26(0xff)],'type':a159_0x2fac26(0xe4),'required':![],'description':a159_0x2fac26(0xbd)+_0x4e86b0[a159_0x2fac26(0xf6)]+a159_0x2fac26(0xb1)+(_0x4e86b0[a159_0x2fac26(0xf0)]?a159_0x2fac26(0xe1):'')}));export function splitList(_0x3c9da9){const _0x315aed=a159_0x2fac26;return _0x3c9da9[_0x315aed(0xac)](',')['map'](_0x55df85=>_0x55df85[_0x315aed(0xd8)]())[_0x315aed(0xc1)](Boolean);}export function projectRoleRef(_0x22a2c6){const _0x61bf9b=a159_0x2fac26;return{'id':_0x22a2c6['id'],'roleName':_0x22a2c6[_0x61bf9b(0xf9)],'roleType':_0x22a2c6[_0x61bf9b(0xb6)]};}export async function resolvePermitRoles(_0x323600,_0x4ad504,_0x45198d){const _0x2b1691=a159_0x2fac26,_0x584a74=await listPermitRoles(_0x323600,{'needSelf':!![],'needPublic':!![]}),_0x41e8ea=[];for(const _0xf642ed of _0x4ad504){const _0x45e73b=resolveOnePermitRole(_0x584a74,_0xf642ed);if(!_0x45198d[_0x2b1691(0xf0)]&&_0x45e73b[_0x2b1691(0xb6)]==='SELF')throw CliErrors['validation']('SELF\x20is\x20not\x20allowed\x20for\x20'+_0x45198d[_0x2b1691(0xf6)]+'.',_0x2b1691(0xb2));if(!_0x41e8ea[_0x2b1691(0xe9)](_0x58ceb7=>_0x58ceb7['id']===_0x45e73b['id']))_0x41e8ea['push'](_0x45e73b);}return _0x41e8ea;}function resolveOnePermitRole(_0x57879f,_0x3e4da3){const _0x7664c=a159_0x2fac26,_0x19db73=_0x3e4da3['trim'](),_0x39b943=_0x19db73[_0x7664c(0xae)]();if(_0x39b943===_0x7664c(0xbf)||_0x39b943===_0x7664c(0xc7)){const _0x26332c=_0x57879f['find'](_0xa45114=>_0xa45114['roleType']===_0x39b943);if(!_0x26332c)throw CliErrors[_0x7664c(0xcd)](_0x7664c(0xee)+_0x39b943+_0x7664c(0xfd));return _0x26332c;}if(/^-?\d+$/[_0x7664c(0xcc)](_0x19db73)){const _0x4159ea=Number(_0x19db73),_0x27838b=_0x57879f[_0x7664c(0xf3)](_0x12819d=>_0x12819d['id']===_0x4159ea);if(!_0x27838b)throw CliErrors[_0x7664c(0xcd)](_0x7664c(0xdc)+_0x4159ea+_0x7664c(0xfa),_0x7664c(0xc9));return _0x27838b;}const _0x169008=_0x57879f[_0x7664c(0xc1)](_0x2bb34f=>_0x2bb34f['roleName']===_0x19db73);if(_0x169008[_0x7664c(0xde)]===0x0)throw CliErrors['validation'](_0x7664c(0xc8)+_0x19db73+_0x7664c(0xd3),'Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.');if(_0x169008[_0x7664c(0xde)]>0x1)throw CliErrors['validation'](_0x7664c(0xc8)+_0x19db73+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x169008[_0x7664c(0xc0)](_0x3d4705=>_0x3d4705['id'])[_0x7664c(0xd7)](',\x20')+').',_0x7664c(0xfb));return _0x169008[0x0];}export function projectPageSlot(_0xcaac9c){const _0x309d83=a159_0x2fac26;if(!_0xcaac9c)return null;return{'resourceCode':_0xcaac9c['resourceCode'],'roles':(_0xcaac9c[_0x309d83(0xd6)]??[])[_0x309d83(0xc0)](projectRoleRef)};}function a159_0x334e(){const _0x10cb58=['dataPermit','\x20(comma-separated\x20SELF/ALL/id/name)','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','data\x20detail','menu-roles','roleType','key','row\x20visibility','str','update-roles','resourceCode','boolean','Roles\x20for\x20','row-roles','SELF','map','filter','868567mwCxjT','appCode','set','bool','Role\x20id\x20or\x20role\x20name','ALL','Role\x20\x22','Run\x20`role\x20list`.','data\x20delete','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','test','validation','Grant\x20access\x20to\x20the\x20listed\x20resources','1136538rttbDT','menu\x20visibility','revoke','allowedActions','\x22\x20not\x20found.','272004yAOJlj','delete-roles','rolePermit','join','trim','dataDetail','Menu\x20id\x20(from\x20`menu\x20list`)','access','Role\x20id\x20','menus','length','datasetCode','resourceName',';\x20SELF\x20=\x20only\x20own\x20rows','dataUpdate','Missing\x20action.','string','6nedZmo','flagMissing','export-roles','menuPermit','some','Pass\x20--role\x20<id|name>.','244266wOFeLk','apiList','dataExport','Special\x20role\x20','691996nRoRBl','allowSelf','dataDelete','create-roles','find','menu-id','10GIUKSy','label','detail-roles','datasets','roleName','\x20not\x20found.','Disambiguate\x20with\x20an\x20id.','120072NGLtdZ','\x20is\x20not\x20available\x20for\x20this\x20app.','1991016iJEgJb','flag','role','pageNodeList','Revoke\x20access\x20to\x20the\x20listed\x20resources','number','split','entries','toUpperCase','push'];a159_0x334e=function(){return _0x10cb58;};return a159_0x334e();}export function projectPagePermit(_0x2c6485){const _0x54f6ad=a159_0x2fac26,_0x409158={'menuId':_0x2c6485['menuId'],'appCode':_0x2c6485[_0x54f6ad(0xc3)],'menuPermit':projectPageSlot(_0x2c6485[_0x54f6ad(0xe8)])};for(const _0x6fdfd0 of PAGE_SLOT_SPECS){if(_0x6fdfd0[_0x54f6ad(0xb7)]==='menuPermit')continue;_0x409158[_0x6fdfd0['key']]=projectPageSlot(_0x2c6485[_0x6fdfd0[_0x54f6ad(0xb7)]]);}return _0x409158;}export function flattenMenuResources(_0x5329fd){const _0xe24a5d=new Map(),_0x4250b9=_0x56b277=>{const _0x2834ab=a159_0x3dd8;for(const _0x23bebb of _0x56b277??[]){_0xe24a5d['set'](_0x23bebb[_0x2834ab(0xbb)],{'resourceCode':_0x23bebb[_0x2834ab(0xbb)],'resourceName':_0x23bebb['resourceName'],'action':_0x23bebb[_0x2834ab(0xd2)]?.[0x0]??'0'});if(_0x23bebb[_0x2834ab(0x101)])_0x4250b9(_0x23bebb[_0x2834ab(0x101)]);}};return _0x4250b9(_0x5329fd),_0xe24a5d;}export function flattenApiResources(_0x2ee9c6){const _0x3728a5=a159_0x2fac26,_0x359f5a=new Map(),_0x7f46de=new Map();for(const _0x398ef2 of _0x2ee9c6){const _0x348be9=_0x398ef2[_0x3728a5(0xec)]??{};for(const [_0x43092a,_0x275e74]of Object[_0x3728a5(0xad)](_0x348be9)){_0x359f5a[_0x3728a5(0xc4)](_0x43092a,{'resourceCode':_0x43092a,'resourceName':_0x398ef2[_0x3728a5(0xe0)],'datasetCode':_0x398ef2['datasetCode'],'action':_0x275e74?.[0x0]??'0'});const _0xb797b8=_0x7f46de['get'](_0x398ef2[_0x3728a5(0xdf)])??[];_0xb797b8[_0x3728a5(0xaf)](_0x43092a),_0x7f46de[_0x3728a5(0xc4)](_0x398ef2[_0x3728a5(0xdf)],_0xb797b8);}}return{'byCode':_0x359f5a,'byDataset':_0x7f46de};}export function buildPermits(_0x490881,_0x47b907){const _0x682f2e={};for(const [_0x599b83,_0x3086b4]of _0x490881){const _0x68ab87=_0x47b907['get'](_0x599b83)??_0x3086b4['action'];_0x682f2e[_0x599b83]=[_0x68ab87];}return _0x682f2e;}export function readRoleRef(_0x4a3dc6){const _0x59ab0d=a159_0x2fac26,_0x22b26c=_0x4a3dc6[_0x59ab0d(0xb9)](_0x59ab0d(0x100))['trim']();if(!_0x22b26c)throw CliErrors[_0x59ab0d(0xe6)](_0x59ab0d(0x100),_0x59ab0d(0xea));return _0x22b26c;}function a159_0x3dd8(_0x54dbdb,_0x338996){_0x54dbdb=_0x54dbdb-0xac;const _0x334e4d=a159_0x334e();let _0x3dd8cf=_0x334e4d[_0x54dbdb];return _0x3dd8cf;}export function readGrantRevoke(_0x10101c){const _0x4f0a74=a159_0x2fac26,_0x3824e0=_0x10101c[_0x4f0a74(0xc5)]('grant'),_0x2b2d79=_0x10101c[_0x4f0a74(0xc5)](_0x4f0a74(0xd1));if(_0x3824e0&&_0x2b2d79)throw CliErrors[_0x4f0a74(0xcd)]('--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.');if(!_0x3824e0&&!_0x2b2d79)throw CliErrors[_0x4f0a74(0xcd)](_0x4f0a74(0xe3),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x3824e0?_0x4f0a74(0xdb):'0';}
1
+ const a159_0x2f831e=a159_0x1b0c;(function(_0x3b7050,_0x4b271b){const _0x3592f8=a159_0x1b0c,_0x2be82d=_0x3b7050();while(!![]){try{const _0x445217=-parseInt(_0x3592f8(0x170))/0x1+-parseInt(_0x3592f8(0x192))/0x2*(-parseInt(_0x3592f8(0x16b))/0x3)+parseInt(_0x3592f8(0x179))/0x4*(-parseInt(_0x3592f8(0x188))/0x5)+-parseInt(_0x3592f8(0x17d))/0x6+-parseInt(_0x3592f8(0x17e))/0x7+-parseInt(_0x3592f8(0x16d))/0x8*(-parseInt(_0x3592f8(0x1af))/0x9)+parseInt(_0x3592f8(0x176))/0xa*(parseInt(_0x3592f8(0x189))/0xb);if(_0x445217===_0x4b271b)break;else _0x2be82d['push'](_0x2be82d['shift']());}catch(_0x39b43c){_0x2be82d['push'](_0x2be82d['shift']());}}}(a159_0x35f1,0x4b7fd));import{listPermitRoles}from'../../core/api-client.js';function a159_0x1b0c(_0x11a13e,_0x20a7a2){_0x11a13e=_0x11a13e-0x167;const _0x35f1f6=a159_0x35f1();let _0x1b0c25=_0x35f1f6[_0x11a13e];return _0x1b0c25;}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a159_0x2f831e(0x16a),'type':a159_0x2f831e(0x1ba),'required':!![],'description':'Menu\x20id\x20(from\x20`menu\x20list`)'};export const ROLE_REF_FLAG={'name':a159_0x2f831e(0x187),'type':'string','required':!![],'description':a159_0x2f831e(0x18c)};export const GRANT_FLAG={'name':a159_0x2f831e(0x1b1),'type':'boolean','required':![],'description':a159_0x2f831e(0x1a1)};export const REVOKE_FLAG={'name':a159_0x2f831e(0x19f),'type':a159_0x2f831e(0x199),'required':![],'description':a159_0x2f831e(0x167)};export const MENUS_FLAG={'name':a159_0x2f831e(0x1b2),'type':a159_0x2f831e(0x197),'required':!![],'description':a159_0x2f831e(0x184)};export const DATASETS_FLAG={'name':a159_0x2f831e(0x1ad),'type':'string','required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};export const PAGE_SLOT_SPECS=[{'flag':a159_0x2f831e(0x182),'key':'menuPermit','allowSelf':![],'label':a159_0x2f831e(0x183)},{'flag':a159_0x2f831e(0x1aa),'key':a159_0x2f831e(0x18a),'allowSelf':![],'label':'data\x20create'},{'flag':a159_0x2f831e(0x18f),'key':'dataUpdate','allowSelf':![],'label':a159_0x2f831e(0x19a)},{'flag':a159_0x2f831e(0x177),'key':a159_0x2f831e(0x169),'allowSelf':![],'label':'data\x20delete'},{'flag':a159_0x2f831e(0x17b),'key':a159_0x2f831e(0x1a6),'allowSelf':![],'label':a159_0x2f831e(0x1b0)},{'flag':'export-roles','key':'dataExport','allowSelf':![],'label':'data\x20export'},{'flag':a159_0x2f831e(0x1b3),'key':'dataPermit','allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a159_0x2f831e(0x191)](_0x2bf93c=>({'name':_0x2bf93c[a159_0x2f831e(0x1a2)],'type':a159_0x2f831e(0x197),'required':![],'description':a159_0x2f831e(0x19e)+_0x2bf93c[a159_0x2f831e(0x19d)]+a159_0x2f831e(0x1b7)+(_0x2bf93c['allowSelf']?a159_0x2f831e(0x18b):'')}));export function splitList(_0x47d334){const _0x5c4fb1=a159_0x2f831e;return _0x47d334[_0x5c4fb1(0x19b)](',')['map'](_0x1805fb=>_0x1805fb['trim']())[_0x5c4fb1(0x19c)](Boolean);}export function projectRoleRef(_0x53f90e){const _0x3c4b0d=a159_0x2f831e;return{'id':_0x53f90e['id'],'roleName':_0x53f90e[_0x3c4b0d(0x1b8)],'roleType':_0x53f90e['roleType']};}export async function resolvePermitRoles(_0x455209,_0x47c8be,_0x404ec1){const _0x1df7b1=a159_0x2f831e,_0x53524c=await listPermitRoles(_0x455209,{'needSelf':!![],'needPublic':!![]}),_0x166564=[];for(const _0x16b8a5 of _0x47c8be){const _0x927953=resolveOnePermitRole(_0x53524c,_0x16b8a5);if(!_0x404ec1['allowSelf']&&_0x927953[_0x1df7b1(0x1a3)]===_0x1df7b1(0x1a5))throw CliErrors['validation'](_0x1df7b1(0x178)+_0x404ec1[_0x1df7b1(0x19d)]+'.',_0x1df7b1(0x168));if(!_0x166564[_0x1df7b1(0x1b9)](_0x26f2c5=>_0x26f2c5['id']===_0x927953['id']))_0x166564[_0x1df7b1(0x17a)](_0x927953);}return _0x166564;}function resolveOnePermitRole(_0x2af301,_0x2ed1c7){const _0x6bfe=a159_0x2f831e,_0x4a1ee8=_0x2ed1c7['trim'](),_0x329305=_0x4a1ee8[_0x6bfe(0x172)]();if(_0x329305===_0x6bfe(0x1a5)||_0x329305==='ALL'){const _0x687455=_0x2af301[_0x6bfe(0x16f)](_0x4e5bdc=>_0x4e5bdc[_0x6bfe(0x1a3)]===_0x329305);if(!_0x687455)throw CliErrors[_0x6bfe(0x1b5)]('Special\x20role\x20'+_0x329305+'\x20is\x20not\x20available\x20for\x20this\x20app.');return _0x687455;}if(/^-?\d+$/[_0x6bfe(0x1a8)](_0x4a1ee8)){const _0x3b9b30=Number(_0x4a1ee8),_0x3505c3=_0x2af301[_0x6bfe(0x16f)](_0x58ada8=>_0x58ada8['id']===_0x3b9b30);if(!_0x3505c3)throw CliErrors['validation'](_0x6bfe(0x16e)+_0x3b9b30+_0x6bfe(0x196),_0x6bfe(0x180));return _0x3505c3;}const _0x1cc53c=_0x2af301[_0x6bfe(0x19c)](_0x241e64=>_0x241e64[_0x6bfe(0x1b8)]===_0x4a1ee8);if(_0x1cc53c[_0x6bfe(0x18d)]===0x0)throw CliErrors[_0x6bfe(0x1b5)](_0x6bfe(0x175)+_0x4a1ee8+_0x6bfe(0x181),_0x6bfe(0x1a9));if(_0x1cc53c[_0x6bfe(0x18d)]>0x1)throw CliErrors['validation'](_0x6bfe(0x175)+_0x4a1ee8+_0x6bfe(0x174)+_0x1cc53c[_0x6bfe(0x191)](_0x6abdca=>_0x6abdca['id'])['join'](',\x20')+').','Disambiguate\x20with\x20an\x20id.');return _0x1cc53c[0x0];}export function projectPageSlot(_0x4d8da9){const _0x38139c=a159_0x2f831e;if(!_0x4d8da9)return null;return{'resourceCode':_0x4d8da9[_0x38139c(0x1a7)],'roles':(_0x4d8da9[_0x38139c(0x1b4)]??[])[_0x38139c(0x191)](projectRoleRef)};}export function projectPagePermit(_0x309d3f){const _0x75ce7e=a159_0x2f831e,_0x28c6c2={'menuId':_0x309d3f[_0x75ce7e(0x17f)],'appCode':_0x309d3f[_0x75ce7e(0x194)],'menuPermit':projectPageSlot(_0x309d3f[_0x75ce7e(0x185)])};for(const _0x1a4453 of PAGE_SLOT_SPECS){if(_0x1a4453[_0x75ce7e(0x1ac)]===_0x75ce7e(0x185))continue;_0x28c6c2[_0x1a4453['key']]=projectPageSlot(_0x309d3f[_0x1a4453[_0x75ce7e(0x1ac)]]);}return _0x28c6c2;}function a159_0x35f1(){const _0x59278f=['set','toUpperCase','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','\x22\x20is\x20ambiguous\x20(ids:\x20','Role\x20\x22','1130iOYRSp','delete-roles','SELF\x20is\x20not\x20allowed\x20for\x20','219280YmYLOh','push','detail-roles','pageNodeList','3181404VurKvm','1530347uDoGKX','menuId','Run\x20`role\x20list`.','\x22\x20not\x20found.','menu-roles','menu\x20visibility','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','menuPermit','allowedActions','role','5oFFnUC','39743cvrXso','dataCreate',';\x20SELF\x20=\x20only\x20own\x20rows','Role\x20id\x20or\x20role\x20name','length','Pass\x20--role\x20<id|name>.','update-roles','access','map','292CxHbqK','apiList','appCode','bool','\x20not\x20found.','string','get','boolean','data\x20update','split','filter','label','Roles\x20for\x20','revoke','str','Grant\x20access\x20to\x20the\x20listed\x20resources','flag','roleType','resourceName','SELF','dataDetail','resourceCode','test','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','create-roles','Missing\x20action.','key','datasets','action','927XZTDUY','data\x20detail','grant','menus','row-roles','rolePermit','validation','datasetCode','\x20(comma-separated\x20SELF/ALL/id/name)','roleName','some','number','Revoke\x20access\x20to\x20the\x20listed\x20resources','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','dataDelete','menu-id','9510itOUZZ','trim','41744tDMjqT','Role\x20id\x20','find','295623ykoWFq'];a159_0x35f1=function(){return _0x59278f;};return a159_0x35f1();}export function flattenMenuResources(_0x19bd4a){const _0x186eeb=new Map(),_0x2fb18d=_0x230427=>{const _0x4f404b=a159_0x1b0c;for(const _0x347364 of _0x230427??[]){_0x186eeb[_0x4f404b(0x171)](_0x347364[_0x4f404b(0x1a7)],{'resourceCode':_0x347364['resourceCode'],'resourceName':_0x347364[_0x4f404b(0x1a4)],'action':_0x347364[_0x4f404b(0x186)]?.[0x0]??'0'});if(_0x347364[_0x4f404b(0x17c)])_0x2fb18d(_0x347364['pageNodeList']);}};return _0x2fb18d(_0x19bd4a),_0x186eeb;}export function flattenApiResources(_0x9ec99b){const _0x59c6cf=a159_0x2f831e,_0x31b960=new Map(),_0x30df6a=new Map();for(const _0x554858 of _0x9ec99b){const _0x473425=_0x554858[_0x59c6cf(0x193)]??{};for(const [_0x35a3c8,_0x329918]of Object['entries'](_0x473425)){_0x31b960[_0x59c6cf(0x171)](_0x35a3c8,{'resourceCode':_0x35a3c8,'resourceName':_0x554858[_0x59c6cf(0x1a4)],'datasetCode':_0x554858[_0x59c6cf(0x1b6)],'action':_0x329918?.[0x0]??'0'});const _0x50a327=_0x30df6a[_0x59c6cf(0x198)](_0x554858[_0x59c6cf(0x1b6)])??[];_0x50a327[_0x59c6cf(0x17a)](_0x35a3c8),_0x30df6a[_0x59c6cf(0x171)](_0x554858[_0x59c6cf(0x1b6)],_0x50a327);}}return{'byCode':_0x31b960,'byDataset':_0x30df6a};}export function buildPermits(_0x43089d,_0x448dc3){const _0x40d52c=a159_0x2f831e,_0x3b67c3={};for(const [_0x1bd287,_0x2cb1e5]of _0x43089d){const _0x1d98a1=_0x448dc3[_0x40d52c(0x198)](_0x1bd287)??_0x2cb1e5[_0x40d52c(0x1ae)];_0x3b67c3[_0x1bd287]=[_0x1d98a1];}return _0x3b67c3;}export function readRoleRef(_0x3c85f8){const _0xb15664=a159_0x2f831e,_0x152aea=_0x3c85f8[_0xb15664(0x1a0)]('role')[_0xb15664(0x16c)]();if(!_0x152aea)throw CliErrors['flagMissing'](_0xb15664(0x187),_0xb15664(0x18e));return _0x152aea;}export function readGrantRevoke(_0x1b183a){const _0x17eea6=a159_0x2f831e,_0x432c51=_0x1b183a[_0x17eea6(0x195)](_0x17eea6(0x1b1)),_0xb86f08=_0x1b183a['bool'](_0x17eea6(0x19f));if(_0x432c51&&_0xb86f08)throw CliErrors[_0x17eea6(0x1b5)]('--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.');if(!_0x432c51&&!_0xb86f08)throw CliErrors['validation'](_0x17eea6(0x1ab),_0x17eea6(0x173));return _0x432c51?_0x17eea6(0x190):'0';}
@@ -1 +1 @@
1
- function a160_0x1915(){const _0x1e209a=['6820OvWJuW','test','env','cwd','production','length','green','2PzMceX','Skipped','log','cyan','817679OcDARg','Project\x20name:','√\x20App\x20Code:\x20','108708kUWGZr','my-app','267819hIzEpa','Not\x20set','494847PSGHDC','1919113ijBTmd','√\x20Login\x20status:\x20','\x22\x20already\x20exists','52PnFEOp','trim','√\x20Project\x20Name:\x20','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','20lecAVe','10361528dBYfxk','248065KOgQLv','150SQdgHM'];a160_0x1915=function(){return _0x1e209a;};return a160_0x1915();}(function(_0x24a6fa,_0x2b138f){const _0x1c5664=a160_0x53e5,_0x5c1889=_0x24a6fa();while(!![]){try{const _0x599d1c=parseInt(_0x1c5664(0x15c))/0x1*(-parseInt(_0x1c5664(0x158))/0x2)+parseInt(_0x1c5664(0x161))/0x3*(-parseInt(_0x1c5664(0x167))/0x4)+-parseInt(_0x1c5664(0x16d))/0x5*(parseInt(_0x1c5664(0x16e))/0x6)+-parseInt(_0x1c5664(0x164))/0x7+-parseInt(_0x1c5664(0x16c))/0x8+parseInt(_0x1c5664(0x163))/0x9*(-parseInt(_0x1c5664(0x16b))/0xa)+-parseInt(_0x1c5664(0x16f))/0xb*(-parseInt(_0x1c5664(0x15f))/0xc);if(_0x599d1c===_0x2b138f)break;else _0x5c1889['push'](_0x5c1889['shift']());}catch(_0x47be5b){_0x5c1889['push'](_0x5c1889['shift']());}}}(a160_0x1915,0xaf777));import{existsSync}from'node:fs';function a160_0x53e5(_0x57ba62,_0x183a3f){_0x57ba62=_0x57ba62-0x154;const _0x191537=a160_0x1915();let _0x53e546=_0x191537[_0x57ba62];return _0x53e546;}import a160_0x24685b from'node:path';import a160_0x742083 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';export async function guidedCreateProject(_0x202633,_0x58093e,_0x48b37b){const _0x3d7da7=a160_0x53e5,_0x1aa9e2=_0x3d7da7(0x160),_0x19288c=readConfig(),_0x38fa11=typeof _0x19288c['env']==='string'?_0x19288c[_0x3d7da7(0x171)]:undefined,_0x508a05=await input({'message':_0x3d7da7(0x15d),'default':_0x1aa9e2,'validate':_0x288bb8=>{const _0x48b2ac=_0x3d7da7,_0x36717e=_0x288bb8[_0x48b2ac(0x168)]()||_0x1aa9e2;if(_0x36717e[_0x48b2ac(0x156)]>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x598398=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x36717e&&!_0x598398[_0x48b2ac(0x170)](_0x36717e))return _0x48b2ac(0x16a);const _0x2e8e64=a160_0x24685b['resolve'](process[_0x48b2ac(0x154)](),_0x36717e);if(existsSync(_0x2e8e64))return'Directory\x20\x22'+_0x36717e+_0x48b2ac(0x166);return!![];}});console['log'](a160_0x742083[_0x3d7da7(0x157)](_0x3d7da7(0x169)+a160_0x742083[_0x3d7da7(0x15b)](_0x508a05)));const _0x2f5791=await selectSingleAppcode(_0x48b37b);console[_0x3d7da7(0x15a)](a160_0x742083['green'](_0x3d7da7(0x15e)+a160_0x742083['cyan'](_0x2f5791||_0x3d7da7(0x162))));if(_0x2f5791){const _0x158634=await getIsSessionValid();if(!_0x158634){const _0x341c61=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0x341c61){const _0x5ec79d=await authServer({'silent':!![]});console[_0x3d7da7(0x15a)](a160_0x742083[_0x3d7da7(0x157)](_0x3d7da7(0x165)+a160_0x742083[_0x3d7da7(0x15b)](_0x5ec79d?'Logged\x20in':'Login\x20failed')));}else console[_0x3d7da7(0x15a)](a160_0x742083[_0x3d7da7(0x157)](_0x3d7da7(0x165)+a160_0x742083[_0x3d7da7(0x15b)](_0x3d7da7(0x159))));}await _0x202633({'projectName':_0x508a05,'appCode':_0x2f5791,'env':_0x58093e||_0x38fa11||_0x3d7da7(0x155)});}else await _0x202633({'projectName':_0x508a05,'env':_0x58093e||_0x38fa11||_0x3d7da7(0x155)});}
1
+ (function(_0x55ccac,_0x1e3c36){const _0x2ce62a=a160_0x2396,_0x576281=_0x55ccac();while(!![]){try{const _0x4de729=-parseInt(_0x2ce62a(0xa6))/0x1+-parseInt(_0x2ce62a(0xb8))/0x2+parseInt(_0x2ce62a(0xc1))/0x3*(parseInt(_0x2ce62a(0xb9))/0x4)+-parseInt(_0x2ce62a(0xbd))/0x5+parseInt(_0x2ce62a(0xc0))/0x6+-parseInt(_0x2ce62a(0xa7))/0x7+parseInt(_0x2ce62a(0xb3))/0x8;if(_0x4de729===_0x1e3c36)break;else _0x576281['push'](_0x576281['shift']());}catch(_0x53add6){_0x576281['push'](_0x576281['shift']());}}}(a160_0x1f1f,0x20ecc));import{existsSync}from'node:fs';import a160_0x1a1b0e from'node:path';import a160_0x574de8 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a160_0x1f1f(){const _0x5b81a4=['1140295PvKwEQ','string','Skipped','1036812aGkrVc','6oevGUG','140982LkolWk','1208529fLxHFV','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','length','cwd','production','Project\x20name:','cyan','Directory\x20\x22','env','green','\x22\x20already\x20exists','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','5227440GDZsYX','Logged\x20in','Project\x20name\x20cannot\x20exceed\x2050\x20characters','Not\x20set','Login\x20failed','484244JNnhaX','184876scVqrk','test','log','trim'];a160_0x1f1f=function(){return _0x5b81a4;};return a160_0x1f1f();}function a160_0x2396(_0x5804fe,_0x508b63){_0x5804fe=_0x5804fe-0xa6;const _0x1f1fdb=a160_0x1f1f();let _0x2396f9=_0x1f1fdb[_0x5804fe];return _0x2396f9;}import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x5acf61,_0x248a03,_0xf21893){const _0x3f8e9b=a160_0x2396,_0x32b628='my-app',_0xcebacc=readConfig(),_0x4a2e2b=typeof _0xcebacc[_0x3f8e9b(0xaf)]===_0x3f8e9b(0xbe)?_0xcebacc[_0x3f8e9b(0xaf)]:undefined,_0x2022bb=await input({'message':_0x3f8e9b(0xac),'default':_0x32b628,'validate':_0x4dfa42=>{const _0x57e7dd=_0x3f8e9b,_0x400761=_0x4dfa42[_0x57e7dd(0xbc)]()||_0x32b628;if(_0x400761[_0x57e7dd(0xa9)]>0x32)return _0x57e7dd(0xb5);const _0x54b43d=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x400761&&!_0x54b43d[_0x57e7dd(0xba)](_0x400761))return _0x57e7dd(0xb2);const _0x4cc736=a160_0x1a1b0e['resolve'](process[_0x57e7dd(0xaa)](),_0x400761);if(existsSync(_0x4cc736))return _0x57e7dd(0xae)+_0x400761+_0x57e7dd(0xb1);return!![];}});console['log'](a160_0x574de8[_0x3f8e9b(0xb0)]('√\x20Project\x20Name:\x20'+a160_0x574de8['cyan'](_0x2022bb)));const _0x2dd0ef=await selectSingleAppcode(_0xf21893);console[_0x3f8e9b(0xbb)](a160_0x574de8[_0x3f8e9b(0xb0)]('√\x20App\x20Code:\x20'+a160_0x574de8['cyan'](_0x2dd0ef||_0x3f8e9b(0xb6))));if(_0x2dd0ef){const _0x43b17a=await getIsSessionValid();if(!_0x43b17a){const _0x107b88=await confirm({'message':_0x3f8e9b(0xa8),'default':!![]});if(_0x107b88){const _0x30d4df=await authServer({'silent':!![]});console[_0x3f8e9b(0xbb)](a160_0x574de8[_0x3f8e9b(0xb0)]('√\x20Login\x20status:\x20'+a160_0x574de8[_0x3f8e9b(0xad)](_0x30d4df?_0x3f8e9b(0xb4):_0x3f8e9b(0xb7))));}else console[_0x3f8e9b(0xbb)](a160_0x574de8[_0x3f8e9b(0xb0)]('√\x20Login\x20status:\x20'+a160_0x574de8['cyan'](_0x3f8e9b(0xbf))));}await _0x5acf61({'projectName':_0x2022bb,'appCode':_0x2dd0ef,'env':_0x248a03||_0x4a2e2b||_0x3f8e9b(0xab)});}else await _0x5acf61({'projectName':_0x2022bb,'env':_0x248a03||_0x4a2e2b||_0x3f8e9b(0xab)});}
@@ -1 +1 @@
1
- (function(_0x16b55a,_0x413631){const _0x20ce77=a161_0x2415,_0x4d3887=_0x16b55a();while(!![]){try{const _0xad953e=parseInt(_0x20ce77(0x175))/0x1+parseInt(_0x20ce77(0x173))/0x2*(-parseInt(_0x20ce77(0x174))/0x3)+-parseInt(_0x20ce77(0x172))/0x4*(parseInt(_0x20ce77(0x177))/0x5)+-parseInt(_0x20ce77(0x16f))/0x6+-parseInt(_0x20ce77(0x16e))/0x7*(-parseInt(_0x20ce77(0x171))/0x8)+-parseInt(_0x20ce77(0x178))/0x9+parseInt(_0x20ce77(0x176))/0xa;if(_0xad953e===_0x413631)break;else _0x4d3887['push'](_0x4d3887['shift']());}catch(_0x858d1c){_0x4d3887['push'](_0x4d3887['shift']());}}}(a161_0x2271,0x673ab));function a161_0x2415(_0x28156f,_0x49a79b){_0x28156f=_0x28156f-0x16e;const _0x2271ce=a161_0x2271();let _0x241553=_0x2271ce[_0x28156f];return _0x241553;}function a161_0x2271(){const _0x44d04a=['replace','93000ATlTeF','258708bvmmFn','2458eYzTNZ','1983vXWaGN','269826DEemaA','28461430UTSeZb','55CLjHfl','6471873ZNDajt','toFixed','now','63CYURak','3329124SGwfHR'];a161_0x2271=function(){return _0x44d04a;};return a161_0x2271();}export function formatElapsed(_0x41dda2){const _0x1b132d=a161_0x2415,_0x75379f=Date[_0x1b132d(0x17a)]()-_0x41dda2;if(_0x75379f<0x3e8)return _0x75379f+'ms';const _0x2dc89f=(_0x75379f/0x3e8)[_0x1b132d(0x179)](0x2),_0x30a30b=_0x2dc89f[_0x1b132d(0x170)](/\.?0+$/u,'');return _0x30a30b+'s';}
1
+ (function(_0x16fd5c,_0x2201ef){const _0x4e874e=a161_0x1774,_0x316b84=_0x16fd5c();while(!![]){try{const _0x131000=-parseInt(_0x4e874e(0x17d))/0x1+parseInt(_0x4e874e(0x185))/0x2*(parseInt(_0x4e874e(0x186))/0x3)+-parseInt(_0x4e874e(0x183))/0x4+parseInt(_0x4e874e(0x180))/0x5*(parseInt(_0x4e874e(0x187))/0x6)+parseInt(_0x4e874e(0x184))/0x7*(parseInt(_0x4e874e(0x17e))/0x8)+-parseInt(_0x4e874e(0x17c))/0x9*(-parseInt(_0x4e874e(0x181))/0xa)+-parseInt(_0x4e874e(0x17b))/0xb*(parseInt(_0x4e874e(0x17f))/0xc);if(_0x131000===_0x2201ef)break;else _0x316b84['push'](_0x316b84['shift']());}catch(_0x51ed01){_0x316b84['push'](_0x316b84['shift']());}}}(a161_0x4bae,0x77cad));function a161_0x4bae(){const _0xf23a36=['4590rxvHsD','579716lrrhIJ','1560ukdQzf','12KNjVNz','525SVjqnU','2480VYPLYJ','now','2221856WwfcbT','14889RvrmWX','79714UZljnO','60jeqtaD','52404Gbzlez','6925666lKAYMi'];a161_0x4bae=function(){return _0xf23a36;};return a161_0x4bae();}function a161_0x1774(_0x21ef58,_0x53e164){_0x21ef58=_0x21ef58-0x17b;const _0x4bae07=a161_0x4bae();let _0x17742a=_0x4bae07[_0x21ef58];return _0x17742a;}export function formatElapsed(_0x46bcfe){const _0x49f90f=a161_0x1774,_0x3c17dc=Date[_0x49f90f(0x182)]()-_0x46bcfe;if(_0x3c17dc<0x3e8)return _0x3c17dc+'ms';const _0x313321=(_0x3c17dc/0x3e8)['toFixed'](0x2),_0x1cd9db=_0x313321['replace'](/\.?0+$/u,'');return _0x1cd9db+'s';}
@@ -1 +1 @@
1
- (function(_0x816696,_0x1a31f6){const _0x480b93=a162_0x171d,_0x567cf6=_0x816696();while(!![]){try{const _0xb21099=parseInt(_0x480b93(0xf3))/0x1*(-parseInt(_0x480b93(0xaa))/0x2)+-parseInt(_0x480b93(0xbf))/0x3+-parseInt(_0x480b93(0xf7))/0x4*(-parseInt(_0x480b93(0xcd))/0x5)+-parseInt(_0x480b93(0xad))/0x6+parseInt(_0x480b93(0xa4))/0x7+-parseInt(_0x480b93(0xd8))/0x8+-parseInt(_0x480b93(0xb9))/0x9*(-parseInt(_0x480b93(0xf6))/0xa);if(_0xb21099===_0x1a31f6)break;else _0x567cf6['push'](_0x567cf6['shift']());}catch(_0x387379){_0x567cf6['push'](_0x567cf6['shift']());}}}(a162_0x1f18,0xebff0));import a162_0x49dfcf from'path';import a162_0x353dac from'fs';import a162_0x13770a from'chalk';import a162_0x23c772 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';function a162_0x171d(_0x55b119,_0xa3483a){_0x55b119=_0x55b119-0xa3;const _0x1f18a5=a162_0x1f18();let _0x171db7=_0x1f18a5[_0x55b119];return _0x171db7;}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';function a162_0x1f18(){const _0x497c58=['setLogPath','\x20model(s)','resolve','cyan','projectCode','projectName','cwd','cookie','message','W_OK','log','toLocaleString','API\x20configuration\x20pulled:\x20','Format\x20code','parse','Project\x20directory\x20','chdir','项目创建失败:\x20','清理项目目录失败:\x20','package.json','\x20Generated\x20by\x20rabetbase\x20cli\x20','428UhnBIi','apps','warn','1734680VMbAwd','5120156HdfEhP','create','*\x20Configuring\x20AppCode\x20for\x20project\x20','🚀\x20Next\x20Steps:','writeFileSync','belowMinimum','repeat','info','7664685CPoupy','accessSync','bold','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','配置应用AppCode:\x20','name','8370VBesIc','start','existsSync','7850730vXVlvD','test','length','join','env','Project\x20name:\x20','\x20already\x20exists','green','constants','\x20|\x20AppCode:\x20','更新\x20package.json\x20name','stableVersion','216QcrQdq','Project\x20name\x20cannot\x20be\x20empty','1.0.0','defaultApp','Install\x20dependencies','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','2321226vYKDnp','readFileSync','开始创建项目:\x20','string','\x20√\x20','\x20api\x20pull','dirname','\x20|\x20Default:\x20','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','utf8','项目创建完成:\x20','description','stringify','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','5WRFVCH','keys','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','error','√\x20Configuration\x20file\x20created,\x20Apps:\x20','配置应用AppCode失败','√\x20Pulled\x20','needsUpgrade','trim','version','13585672qcubTs','gray','更新\x20package.json\x20失败','appCode','stop','\x20\x201.\x20Start\x20project:\x20'];a162_0x1f18=function(){return _0x497c58;};return a162_0x1f18();}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(_0x5f30b2){const _0xeb504=a162_0x171d,_0x56a2e8=await checkCliVersion();(_0x56a2e8[_0xeb504(0xd5)]||_0x56a2e8[_0xeb504(0xfc)])&&(printCliUpgradeWarning(_0x56a2e8),assertCliVersionSupported(_0x56a2e8),logger[_0xeb504(0xa3)]('create','CLI\x20版本检查',{'currentVersion':_0x56a2e8['currentVersion'],'stableVersion':_0x56a2e8[_0xeb504(0xb8)],'minimumVersion':_0x56a2e8['minimumVersion'],'needsUpgrade':_0x56a2e8[_0xeb504(0xd5)],'belowMinimum':_0x56a2e8[_0xeb504(0xfc)]}));if(_0x5f30b2[_0xeb504(0xe2)]&&_0x5f30b2['appCode'])await runCreate({'projectName':_0x5f30b2[_0xeb504(0xe2)],'appCode':_0x5f30b2[_0xeb504(0xdb)],'env':_0x5f30b2[_0xeb504(0xb1)]},_0x5f30b2);else{if(_0x5f30b2['projectCode']){const _0x245267=await selectSingleAppcode(_0x5f30b2[_0xeb504(0xe5)]);await runCreate({'projectName':_0x5f30b2[_0xeb504(0xe2)],'appCode':_0x245267||undefined,'env':_0x5f30b2[_0xeb504(0xb1)]},_0x5f30b2);}else await guidedCreateProject(_0xc83989=>runCreate(_0xc83989,_0x5f30b2),_0x5f30b2[_0xeb504(0xb1)],_0x5f30b2['cookie']);}}async function runCreate(_0x1dacb5,_0x528ae9){const _0x33d630=a162_0x171d;if(!_0x1dacb5['projectName']||_0x1dacb5['projectName'][_0x33d630(0xd6)]()==='')throw new Error(_0x33d630(0xba));const _0x3fcb63=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3fcb63[_0x33d630(0xae)](_0x1dacb5['projectName']))throw new Error(_0x33d630(0xd0));if(_0x1dacb5[_0x33d630(0xe3)][_0x33d630(0xaf)]>0x64)throw new Error(_0x33d630(0xc7));const _0x2b8e4d=a162_0x49dfcf[_0x33d630(0xe0)](process['cwd'](),_0x1dacb5['projectName']);if(a162_0x353dac[_0x33d630(0xac)](_0x2b8e4d))throw new Error(_0x33d630(0xed)+_0x1dacb5['projectName']+_0x33d630(0xb3));try{a162_0x353dac[_0x33d630(0xa5)](a162_0x49dfcf[_0x33d630(0xc5)](_0x2b8e4d),a162_0x353dac[_0x33d630(0xb5)][_0x33d630(0xe7)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger[_0x33d630(0xde)](_0x2b8e4d),logger['info'](_0x33d630(0xf8),_0x33d630(0xc1)+_0x1dacb5[_0x33d630(0xe3)],{'projectDir':_0x2b8e4d,'appCode':_0x1dacb5[_0x33d630(0xdb)]}),console[_0x33d630(0xe8)](),console[_0x33d630(0xe8)](a162_0x13770a[_0x33d630(0xb4)](_0x33d630(0xc3))+_0x33d630(0xb2)+a162_0x13770a[_0x33d630(0xb4)](_0x1dacb5['projectName'])+(_0x1dacb5[_0x33d630(0xdb)]?_0x33d630(0xb6)+a162_0x13770a['cyan'](_0x1dacb5[_0x33d630(0xdb)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x1dacb5[_0x33d630(0xe3)])),await updatePackageJsonName(_0x1dacb5[_0x33d630(0xe3)]),await runTask(_0x33d630(0xbd),()=>installDependencies(_0x1dacb5[_0x33d630(0xe3)])),await runTask(_0x33d630(0xeb),()=>formatProjectCode(_0x1dacb5[_0x33d630(0xe3)])),await configureAppCode(_0x1dacb5[_0x33d630(0xe3)],_0x1dacb5[_0x33d630(0xdb)]||'',_0x1dacb5[_0x33d630(0xb1)]);let _0x54b3ac=![];if(_0x1dacb5[_0x33d630(0xdb)]){console[_0x33d630(0xe8)]('*\x20Pulling\x20API\x20configuration...');const _0x3acc63=process[_0x33d630(0xe4)]();try{process[_0x33d630(0xee)](_0x2b8e4d);const _0x544872=_0x1dacb5['env']||'production';initEnv(_0x544872);const {configArray:_0x265e67}=await fetchModelList(_0x1dacb5[_0x33d630(0xdb)],_0x528ae9[_0x33d630(0xe5)]||''),_0x4035f8=DEFAULT_API_DIR,_0x3ee977=await generateApiFile(_0x265e67,'',_0x1dacb5[_0x33d630(0xdb)],!![],_0x544872,_0x4035f8);console['log'](_0x33d630(0xd4)+_0x265e67['length']+'\x20dataset(s),\x20generated\x20'+_0x3ee977['modelCount']+_0x33d630(0xdf)),logger['info'](_0x33d630(0xf8),_0x33d630(0xea)+_0x1dacb5['appCode']);}catch(_0x58f098){_0x54b3ac=!![],console[_0x33d630(0xe8)](_0x33d630(0xa7)),logger[_0x33d630(0xf5)]('create','API\x20配置拉取异常',{'error':_0x58f098 instanceof Error?_0x58f098[_0x33d630(0xe6)]:String(_0x58f098)});}finally{process[_0x33d630(0xee)](_0x3acc63);}}logger['success'](_0x33d630(0xf8),_0x33d630(0xc9)+_0x1dacb5[_0x33d630(0xe3)]),console[_0x33d630(0xe8)](),console[_0x33d630(0xe8)](a162_0x13770a[_0x33d630(0xb4)]('─'[_0x33d630(0xfd)](0x3c))),console[_0x33d630(0xe8)](a162_0x13770a[_0x33d630(0xe1)][_0x33d630(0xa6)](_0x33d630(0xfa))),console[_0x33d630(0xe8)](),console[_0x33d630(0xe8)](_0x33d630(0xdd)+a162_0x13770a['cyan'][_0x33d630(0xa6)]('cd\x20'+_0x1dacb5[_0x33d630(0xe3)]+'\x20&&\x20'+CLI_BIN_NAME+'\x20run\x20start')),_0x54b3ac&&console['log']('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a162_0x13770a[_0x33d630(0xe1)][_0x33d630(0xa6)](CLI_BIN_NAME+_0x33d630(0xc4))),console[_0x33d630(0xe8)](a162_0x13770a[_0x33d630(0xb4)]('─'[_0x33d630(0xfd)](0x3c)));}catch(_0x114c6e){logger[_0x33d630(0xd1)](_0x33d630(0xf8),_0x33d630(0xef)+_0x1dacb5['projectName'],{'error':_0x114c6e instanceof Error?_0x114c6e[_0x33d630(0xe6)]:String(_0x114c6e)});try{a162_0x353dac[_0x33d630(0xac)](_0x2b8e4d)&&(console[_0x33d630(0xe8)](_0x33d630(0xcf)+_0x2b8e4d),a162_0x353dac['rmSync'](_0x2b8e4d,{'recursive':!![],'force':!![]}));}catch{logger[_0x33d630(0xf5)](_0x33d630(0xf8),_0x33d630(0xf0)+_0x2b8e4d);}throw _0x114c6e;}}async function runTask(_0x27e955,_0x322a03){const _0x49b1a7=a162_0x171d,_0x5bab8d=a162_0x23c772(_0x27e955+'...')[_0x49b1a7(0xab)]();try{const _0xac0dca=await _0x322a03();_0x5bab8d[_0x49b1a7(0xdc)](),console[_0x49b1a7(0xe8)](''+a162_0x13770a[_0x49b1a7(0xb4)]('\x20√\x20')+_0x27e955+'\x20'+a162_0x13770a[_0x49b1a7(0xd9)]('['+_0xac0dca+']'));}catch(_0x245e9e){_0x5bab8d['fail'](_0x27e955);throw _0x245e9e;}}async function updatePackageJsonName(_0x2cc262){const _0x4d033a=a162_0x171d,_0xc91c23=a162_0x49dfcf[_0x4d033a(0xe0)](process[_0x4d033a(0xe4)](),_0x2cc262),_0x1d3ae7=a162_0x49dfcf[_0x4d033a(0xb0)](_0xc91c23,_0x4d033a(0xf1));try{console[_0x4d033a(0xe8)](_0x4d033a(0xcc));const _0x326868=getRabetbaseCliPackageRoot(),_0x697db3=a162_0x49dfcf['join'](_0x326868,_0x4d033a(0xf1));let _0x7a5053=_0x4d033a(0xbb);try{const _0xa23fb3=JSON['parse'](a162_0x353dac[_0x4d033a(0xc0)](_0x697db3,_0x4d033a(0xc8)));_0x7a5053=_0xa23fb3['version']||_0x4d033a(0xbb);}catch{}const _0xb78976=a162_0x353dac[_0x4d033a(0xc0)](_0x1d3ae7,'utf8'),_0x554eeb=JSON[_0x4d033a(0xec)](_0xb78976);_0x554eeb[_0x4d033a(0xa9)]=_0x2cc262,_0x554eeb[_0x4d033a(0xca)]=_0x2cc262+_0x4d033a(0xf2)+_0x7a5053,a162_0x353dac[_0x4d033a(0xfb)](_0x1d3ae7,JSON[_0x4d033a(0xcb)](_0x554eeb,null,0x2)+'\x0a','utf8'),console[_0x4d033a(0xe8)]('√\x20package.json\x20updated:\x20name='+_0x2cc262),logger[_0x4d033a(0xa3)](_0x4d033a(0xf8),_0x4d033a(0xb7));}catch(_0x1d715f){logger['error']('create',_0x4d033a(0xda));throw _0x1d715f;}}async function configureAppCode(_0x5cf76d,_0x1bde6,_0x25e71a){const _0x1ad105=a162_0x171d,_0x445461=a162_0x49dfcf[_0x1ad105(0xe0)](process[_0x1ad105(0xe4)](),_0x5cf76d),_0x3e82cf=a162_0x49dfcf[_0x1ad105(0xb0)](_0x445461,NEW_CONFIG_NAME);try{_0x1bde6?console[_0x1ad105(0xe8)](_0x1ad105(0xf9)+_0x5cf76d+':\x20'+_0x1bde6):console['log']('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x5cf76d);const _0xaa8069=getRabetbaseCliPackageRoot(),_0x763eee=a162_0x49dfcf[_0x1ad105(0xb0)](_0xaa8069,_0x1ad105(0xf1));let _0x605b8f=_0x1ad105(0xbb);try{const _0x212bcd=JSON['parse'](a162_0x353dac['readFileSync'](_0x763eee,_0x1ad105(0xc8)));_0x605b8f=_0x212bcd[_0x1ad105(0xd7)]||_0x1ad105(0xbb);}catch{}const _0x2b37a9=readConfig(),_0x424adf=typeof _0x2b37a9['env']===_0x1ad105(0xc2)?_0x2b37a9[_0x1ad105(0xb1)]:undefined,_0x264446={};for(const _0x39328f of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x2b37a9[_0x39328f]!=null)_0x264446[_0x39328f]=_0x2b37a9[_0x39328f];}const _0x40f0e7=buildCanonicalProjectConfig(_0x264446,{'appCodes':_0x1bde6?[_0x1bde6]:[],'env':_0x25e71a||_0x424adf||'production','metadata':{'createdAt':new Date()[_0x1ad105(0xe9)](),'version':_0x605b8f}});writeConfigFile(_0x3e82cf,_0x40f0e7),_0x1bde6?console[_0x1ad105(0xe8)](_0x1ad105(0xd2)+Object[_0x1ad105(0xce)](_0x40f0e7[_0x1ad105(0xf4)]||{})['join'](',\x20')+_0x1ad105(0xc6)+_0x40f0e7[_0x1ad105(0xbc)]):console[_0x1ad105(0xe8)](_0x1ad105(0xbe)+CLI_BIN_NAME+'\x20config\x20set\x20appcode\x20<app-code>\x27'),logger[_0x1ad105(0xa3)]('create',_0x1ad105(0xa8)+_0x1bde6);}catch(_0x58d522){logger['error'](_0x1ad105(0xf8),_0x1ad105(0xd3));}}
1
+ (function(_0x226e70,_0x478c99){const _0x35341f=a162_0xa2c6,_0x36e9b2=_0x226e70();while(!![]){try{const _0x8c270e=-parseInt(_0x35341f(0xc9))/0x1+-parseInt(_0x35341f(0x82))/0x2+-parseInt(_0x35341f(0x88))/0x3*(parseInt(_0x35341f(0x9b))/0x4)+-parseInt(_0x35341f(0xc1))/0x5+parseInt(_0x35341f(0x9f))/0x6*(-parseInt(_0x35341f(0xac))/0x7)+parseInt(_0x35341f(0xb0))/0x8*(-parseInt(_0x35341f(0xc0))/0x9)+parseInt(_0x35341f(0xc4))/0xa*(parseInt(_0x35341f(0x8d))/0xb);if(_0x8c270e===_0x478c99)break;else _0x36e9b2['push'](_0x36e9b2['shift']());}catch(_0x24be0e){_0x36e9b2['push'](_0x36e9b2['shift']());}}}(a162_0x4dd2,0xaf1b2));import a162_0x55d428 from'path';import a162_0x35706e from'fs';function a162_0xa2c6(_0x1b6adc,_0x571588){_0x1b6adc=_0x1b6adc-0x78;const _0x4dd290=a162_0x4dd2();let _0xa2c6f9=_0x4dd290[_0x1b6adc];return _0xa2c6f9;}import a162_0x5ed980 from'chalk';import a162_0x324d6d 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';function a162_0x4dd2(){const _0x7e819a=['error','rmSync','cookie','fail','\x20run\x20start','257509zUvLfA','dirname','Project\x20directory\x20','更新\x20package.json\x20name','11240rOxSbQ','resolve','Install\x20dependencies','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','CLI\x20版本检查','projectCode','modelCount','Format\x20code','keys','stop','gray','*\x20Configuring\x20AppCode\x20for\x20project\x20','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','cwd','name','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','6597NAeXic','393605ZvEuNk','W_OK','length','180VPTPYl','log','string','√\x20Pulled\x20','\x20\x202.\x20Pull\x20API\x20configuration:\x20','859044HdHkZP','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','\x20|\x20AppCode:\x20','\x20√\x20','toLocaleString','info','更新\x20package.json\x20失败','...','cyan','repeat','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','stringify','production','配置应用AppCode失败','Project\x20name:\x20','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','\x20\x201.\x20Start\x20project:\x20','join','start','message','constants','readFileSync','green','version','🚀\x20Next\x20Steps:','description','writeFileSync','1017730sMhFIk','*\x20Pulling\x20API\x20configuration...','1.0.0','env','trim','projectName','888ZPlfaZ','parse','√\x20package.json\x20updated:\x20name=','项目创建失败:\x20','accessSync','2424807CuuLaj','\x20api\x20pull','utf8','apps','appCode','success','package.json','\x20&&\x20','API\x20configuration\x20pulled:\x20','cd\x20','belowMinimum','Project\x20name\x20cannot\x20be\x20empty','currentVersion','开始创建项目:\x20','1016eHVarD','minimumVersion','create','warn','114TVUrOm','\x20|\x20Default:\x20','chdir','\x20already\x20exists','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','\x20model(s)','√\x20Configuration\x20file\x20created,\x20Apps:\x20','\x20dataset(s),\x20generated\x20'];a162_0x4dd2=function(){return _0x7e819a;};return a162_0x4dd2();}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x5612a4){const _0x3514d0=a162_0xa2c6,_0x7302e4=await checkCliVersion();(_0x7302e4['needsUpgrade']||_0x7302e4['belowMinimum'])&&(printCliUpgradeWarning(_0x7302e4),assertCliVersionSupported(_0x7302e4),logger[_0x3514d0(0xce)](_0x3514d0(0x9d),_0x3514d0(0xb4),{'currentVersion':_0x7302e4[_0x3514d0(0x99)],'stableVersion':_0x7302e4['stableVersion'],'minimumVersion':_0x7302e4[_0x3514d0(0x9c)],'needsUpgrade':_0x7302e4['needsUpgrade'],'belowMinimum':_0x7302e4[_0x3514d0(0x97)]}));if(_0x5612a4[_0x3514d0(0xb5)]&&_0x5612a4[_0x3514d0(0x91)])await runCreate({'projectName':_0x5612a4[_0x3514d0(0xb5)],'appCode':_0x5612a4[_0x3514d0(0x91)],'env':_0x5612a4[_0x3514d0(0x85)]},_0x5612a4);else{if(_0x5612a4[_0x3514d0(0xb5)]){const _0x3795a5=await selectSingleAppcode(_0x5612a4[_0x3514d0(0xa9)]);await runCreate({'projectName':_0x5612a4[_0x3514d0(0xb5)],'appCode':_0x3795a5||undefined,'env':_0x5612a4[_0x3514d0(0x85)]},_0x5612a4);}else await guidedCreateProject(_0x985772=>runCreate(_0x985772,_0x5612a4),_0x5612a4[_0x3514d0(0x85)],_0x5612a4['cookie']);}}async function runCreate(_0x3f745f,_0x54aed4){const _0xab6e26=a162_0xa2c6;if(!_0x3f745f[_0xab6e26(0x87)]||_0x3f745f['projectName'][_0xab6e26(0x86)]()==='')throw new Error(_0xab6e26(0x98));const _0x8d1abc=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x8d1abc['test'](_0x3f745f[_0xab6e26(0x87)]))throw new Error(_0xab6e26(0xd3));if(_0x3f745f[_0xab6e26(0x87)][_0xab6e26(0xc3)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x3858f3=a162_0x55d428[_0xab6e26(0xb1)](process[_0xab6e26(0xbd)](),_0x3f745f[_0xab6e26(0x87)]);if(a162_0x35706e['existsSync'](_0x3858f3))throw new Error(_0xab6e26(0xae)+_0x3f745f[_0xab6e26(0x87)]+_0xab6e26(0xa2));try{a162_0x35706e[_0xab6e26(0x8c)](a162_0x55d428[_0xab6e26(0xad)](_0x3858f3),a162_0x35706e[_0xab6e26(0x7b)][_0xab6e26(0xc2)]);}catch{throw new Error(_0xab6e26(0xca));}logger['setLogPath'](_0x3858f3),logger[_0xab6e26(0xce)](_0xab6e26(0x9d),_0xab6e26(0x9a)+_0x3f745f[_0xab6e26(0x87)],{'projectDir':_0x3858f3,'appCode':_0x3f745f[_0xab6e26(0x91)]}),console[_0xab6e26(0xc5)](),console[_0xab6e26(0xc5)](a162_0x5ed980['green'](_0xab6e26(0xcc))+_0xab6e26(0xd7)+a162_0x5ed980['green'](_0x3f745f['projectName'])+(_0x3f745f[_0xab6e26(0x91)]?_0xab6e26(0xcb)+a162_0x5ed980[_0xab6e26(0xd1)](_0x3f745f['appCode']):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x3f745f['projectName'])),await updatePackageJsonName(_0x3f745f[_0xab6e26(0x87)]),await runTask(_0xab6e26(0xb2),()=>installDependencies(_0x3f745f[_0xab6e26(0x87)])),await runTask(_0xab6e26(0xb7),()=>formatProjectCode(_0x3f745f[_0xab6e26(0x87)])),await configureAppCode(_0x3f745f['projectName'],_0x3f745f[_0xab6e26(0x91)]||'',_0x3f745f[_0xab6e26(0x85)]);let _0xf0ac35=![];if(_0x3f745f[_0xab6e26(0x91)]){console[_0xab6e26(0xc5)](_0xab6e26(0x83));const _0x5ec1f4=process[_0xab6e26(0xbd)]();try{process[_0xab6e26(0xa1)](_0x3858f3);const _0x4ab305=_0x3f745f['env']||_0xab6e26(0xd5);initEnv(_0x4ab305);const {configArray:_0x2c3d66}=await fetchModelList(_0x3f745f[_0xab6e26(0x91)],_0x54aed4['cookie']||''),_0x413290=DEFAULT_API_DIR,_0x1943b7=await generateApiFile(_0x2c3d66,'',_0x3f745f[_0xab6e26(0x91)],!![],_0x4ab305,_0x413290);console[_0xab6e26(0xc5)](_0xab6e26(0xc7)+_0x2c3d66[_0xab6e26(0xc3)]+_0xab6e26(0xa6)+_0x1943b7[_0xab6e26(0xb6)]+_0xab6e26(0xa4)),logger[_0xab6e26(0xce)]('create',_0xab6e26(0x95)+_0x3f745f[_0xab6e26(0x91)]);}catch(_0x3aae11){_0xf0ac35=!![],console[_0xab6e26(0xc5)](_0xab6e26(0xbc)),logger[_0xab6e26(0x9e)]('create','API\x20配置拉取异常',{'error':_0x3aae11 instanceof Error?_0x3aae11[_0xab6e26(0x7a)]:String(_0x3aae11)});}finally{process['chdir'](_0x5ec1f4);}}logger[_0xab6e26(0x92)](_0xab6e26(0x9d),'项目创建完成:\x20'+_0x3f745f[_0xab6e26(0x87)]),console[_0xab6e26(0xc5)](),console[_0xab6e26(0xc5)](a162_0x5ed980['green']('─'[_0xab6e26(0xd2)](0x3c))),console['log'](a162_0x5ed980[_0xab6e26(0xd1)]['bold'](_0xab6e26(0x7f))),console['log'](),console['log'](_0xab6e26(0xd9)+a162_0x5ed980[_0xab6e26(0xd1)]['bold'](_0xab6e26(0x96)+_0x3f745f[_0xab6e26(0x87)]+_0xab6e26(0x94)+CLI_BIN_NAME+_0xab6e26(0xab))),_0xf0ac35&&console[_0xab6e26(0xc5)](_0xab6e26(0xc8)+a162_0x5ed980[_0xab6e26(0xd1)]['bold'](CLI_BIN_NAME+_0xab6e26(0x8e))),console[_0xab6e26(0xc5)](a162_0x5ed980[_0xab6e26(0x7d)]('─'[_0xab6e26(0xd2)](0x3c)));}catch(_0x3e402c){logger[_0xab6e26(0xa7)]('create',_0xab6e26(0x8b)+_0x3f745f[_0xab6e26(0x87)],{'error':_0x3e402c instanceof Error?_0x3e402c[_0xab6e26(0x7a)]:String(_0x3e402c)});try{a162_0x35706e['existsSync'](_0x3858f3)&&(console[_0xab6e26(0xc5)](_0xab6e26(0xb3)+_0x3858f3),a162_0x35706e[_0xab6e26(0xa8)](_0x3858f3,{'recursive':!![],'force':!![]}));}catch{logger[_0xab6e26(0x9e)]('create','清理项目目录失败:\x20'+_0x3858f3);}throw _0x3e402c;}}async function runTask(_0x185d3f,_0x2757dc){const _0x1a55f0=a162_0xa2c6,_0x7bfc95=a162_0x324d6d(_0x185d3f+_0x1a55f0(0xd0))[_0x1a55f0(0x79)]();try{const _0x156cc7=await _0x2757dc();_0x7bfc95[_0x1a55f0(0xb9)](),console['log'](''+a162_0x5ed980[_0x1a55f0(0x7d)](_0x1a55f0(0xcc))+_0x185d3f+'\x20'+a162_0x5ed980[_0x1a55f0(0xba)]('['+_0x156cc7+']'));}catch(_0x43fa9f){_0x7bfc95[_0x1a55f0(0xaa)](_0x185d3f);throw _0x43fa9f;}}async function updatePackageJsonName(_0x14a4bb){const _0x1d617e=a162_0xa2c6,_0xc4f4dc=a162_0x55d428[_0x1d617e(0xb1)](process['cwd'](),_0x14a4bb),_0x23bd44=a162_0x55d428[_0x1d617e(0x78)](_0xc4f4dc,_0x1d617e(0x93));try{console['log'](_0x1d617e(0xbf));const _0xee4ecd=getRabetbaseCliPackageRoot(),_0x4c000d=a162_0x55d428['join'](_0xee4ecd,_0x1d617e(0x93));let _0x5367da=_0x1d617e(0x84);try{const _0x3aa9be=JSON[_0x1d617e(0x89)](a162_0x35706e['readFileSync'](_0x4c000d,_0x1d617e(0x8f)));_0x5367da=_0x3aa9be['version']||'1.0.0';}catch{}const _0x3cb779=a162_0x35706e[_0x1d617e(0x7c)](_0x23bd44,_0x1d617e(0x8f)),_0x36e1f2=JSON[_0x1d617e(0x89)](_0x3cb779);_0x36e1f2[_0x1d617e(0xbe)]=_0x14a4bb,_0x36e1f2[_0x1d617e(0x80)]=_0x14a4bb+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x5367da,a162_0x35706e[_0x1d617e(0x81)](_0x23bd44,JSON[_0x1d617e(0xd4)](_0x36e1f2,null,0x2)+'\x0a','utf8'),console[_0x1d617e(0xc5)](_0x1d617e(0x8a)+_0x14a4bb),logger[_0x1d617e(0xce)]('create',_0x1d617e(0xaf));}catch(_0x11cfbf){logger[_0x1d617e(0xa7)](_0x1d617e(0x9d),_0x1d617e(0xcf));throw _0x11cfbf;}}async function configureAppCode(_0x3dd529,_0x8856b9,_0xb511ea){const _0x423c1e=a162_0xa2c6,_0x410fe2=a162_0x55d428[_0x423c1e(0xb1)](process[_0x423c1e(0xbd)](),_0x3dd529),_0x1d9037=a162_0x55d428[_0x423c1e(0x78)](_0x410fe2,NEW_CONFIG_NAME);try{_0x8856b9?console[_0x423c1e(0xc5)](_0x423c1e(0xbb)+_0x3dd529+':\x20'+_0x8856b9):console[_0x423c1e(0xc5)](_0x423c1e(0xa3)+_0x3dd529);const _0x53241d=getRabetbaseCliPackageRoot(),_0x285d0e=a162_0x55d428[_0x423c1e(0x78)](_0x53241d,_0x423c1e(0x93));let _0x1cf540=_0x423c1e(0x84);try{const _0x1cbd26=JSON['parse'](a162_0x35706e['readFileSync'](_0x285d0e,'utf8'));_0x1cf540=_0x1cbd26[_0x423c1e(0x7e)]||'1.0.0';}catch{}const _0x901540=readConfig(),_0x22e320=typeof _0x901540['env']===_0x423c1e(0xc6)?_0x901540[_0x423c1e(0x85)]:undefined,_0x50d6a1={};for(const _0x748996 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x901540[_0x748996]!=null)_0x50d6a1[_0x748996]=_0x901540[_0x748996];}const _0x48807b=buildCanonicalProjectConfig(_0x50d6a1,{'appCodes':_0x8856b9?[_0x8856b9]:[],'env':_0xb511ea||_0x22e320||_0x423c1e(0xd5),'metadata':{'createdAt':new Date()[_0x423c1e(0xcd)](),'version':_0x1cf540}});writeConfigFile(_0x1d9037,_0x48807b),_0x8856b9?console[_0x423c1e(0xc5)](_0x423c1e(0xa5)+Object[_0x423c1e(0xb8)](_0x48807b[_0x423c1e(0x90)]||{})[_0x423c1e(0x78)](',\x20')+_0x423c1e(0xa0)+_0x48807b['defaultApp']):console['log'](_0x423c1e(0xd8)+CLI_BIN_NAME+'\x20config\x20set\x20appcode\x20<app-code>\x27'),logger[_0x423c1e(0xce)](_0x423c1e(0x9d),'配置应用AppCode:\x20'+_0x8856b9);}catch(_0x143401){logger[_0x423c1e(0xa7)]('create',_0x423c1e(0xd6));}}
@@ -1 +1 @@
1
- (function(_0x372669,_0x215cea){const _0x4a7afc=a163_0x26b7,_0x3c045e=_0x372669();while(!![]){try{const _0x2e6d4d=parseInt(_0x4a7afc(0x156))/0x1+-parseInt(_0x4a7afc(0x135))/0x2*(-parseInt(_0x4a7afc(0x13e))/0x3)+-parseInt(_0x4a7afc(0x139))/0x4+-parseInt(_0x4a7afc(0x165))/0x5*(-parseInt(_0x4a7afc(0x13d))/0x6)+-parseInt(_0x4a7afc(0x166))/0x7*(-parseInt(_0x4a7afc(0x164))/0x8)+parseInt(_0x4a7afc(0x14d))/0x9*(parseInt(_0x4a7afc(0x149))/0xa)+-parseInt(_0x4a7afc(0x15e))/0xb;if(_0x2e6d4d===_0x215cea)break;else _0x3c045e['push'](_0x3c045e['shift']());}catch(_0x2d6ad6){_0x3c045e['push'](_0x3c045e['shift']());}}}(a163_0xd104,0xd0923));import a163_0x13972d from'path';function a163_0xd104(){const _0x3a36c1=['\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','43440SHfDXS','\x20\x20rabetbase\x20run\x20start\x0a','\x20dataset(s),\x20generated\x20','writeFile','666CTZJrL','bun\x20run\x20format','\x20\x20Pulling\x20API\x20configuration...','\x20\x20Installing\x20dependencies...','\x22\x20already\x20exists.','npm','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','\x20api\x20pull`\x20manually\x20later.','\x0a\x20\x20cd\x20','1416227EIJfWg','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','env','*\x20Creating\x20project\x20','Project\x20name\x20cannot\x20be\x20empty.','dirname','parse','\x20created\x20successfully!','43545040RtoXNK','log','Check\x20directory\x20permissions.','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','bun','\x20\x20√\x20Pulled\x20','145480ZrinUN','15jMMZpa','259vAbYOq','length','\x20\x20√\x20Code\x20formatted','constants','belowMinimum','join','\x20\x20√\x20package.json\x20updated','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','validation','access','readFile','2354812RfUZXW','production','stringify','package.json','1579900LJkRat','\x0a√\x20Project\x20','cwd','utf-8','3239976kDNOyx','3fHAUeL','bun\x20--version','Project\x20directory\x20\x22','needsUpgrade','\x20model(s)','trim','...','Project\x20name\x20contains\x20invalid\x20characters.','toLocaleString','resolve'];a163_0xd104=function(){return _0x3a36c1;};return a163_0xd104();}import a163_0x5443a9 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';function a163_0x26b7(_0x5475b9,_0x26ccdf){_0x5475b9=_0x5475b9-0x130;const _0xd104dc=a163_0xd104();let _0x26b7fa=_0xd104dc[_0x5475b9];return _0x26b7fa;}const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x24628f,_0x1b4ae9,_0x1f9ef9,_0x53b3e3){const _0x308b85=a163_0x26b7,_0xf710c0=await checkCliVersion();(_0xf710c0[_0x308b85(0x141)]||_0xf710c0[_0x308b85(0x16a)])&&(printCliUpgradeWarning(_0xf710c0),assertCliVersionSupported(_0xf710c0));if(!_0x24628f||_0x24628f[_0x308b85(0x143)]()==='')throw CliErrors[_0x308b85(0x132)](_0x308b85(0x15a));const _0x25c1a3=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x25c1a3['test'](_0x24628f))throw CliErrors[_0x308b85(0x132)](_0x308b85(0x145),_0x308b85(0x161));if(_0x24628f[_0x308b85(0x167)]>0x64)throw CliErrors[_0x308b85(0x132)](_0x308b85(0x131));const _0x3bf46c=a163_0x13972d[_0x308b85(0x147)](process[_0x308b85(0x13b)](),_0x24628f);if(existsSync(_0x3bf46c))throw CliErrors[_0x308b85(0x132)](_0x308b85(0x140)+_0x24628f+_0x308b85(0x151),'Use\x20a\x20different\x20project\x20name.');try{const _0x1d7924=a163_0x13972d[_0x308b85(0x15b)](_0x3bf46c);await a163_0x5443a9[_0x308b85(0x133)](_0x1d7924,a163_0x5443a9[_0x308b85(0x169)]['W_OK']);}catch{throw CliErrors[_0x308b85(0x132)]('Cannot\x20create\x20project\x20in\x20current\x20directory.',_0x308b85(0x160));}try{console[_0x308b85(0x15f)](_0x308b85(0x159)+_0x24628f+_0x308b85(0x144));const _0x3d6748=getSubAppReactDemoTemplateDir();await copyDirectory(_0x3d6748,_0x3bf46c),console[_0x308b85(0x15f)]('\x20\x20√\x20Project\x20template\x20created'),await updatePackageJsonName(_0x24628f),console['log'](_0x308b85(0x130)),console[_0x308b85(0x15f)](_0x308b85(0x150)),console[_0x308b85(0x15f)](_0x308b85(0x157)),await formatCode(_0x3bf46c),console[_0x308b85(0x15f)](_0x308b85(0x168)),await configureProject(_0x24628f,_0x1f9ef9,_0x1b4ae9),console[_0x308b85(0x15f)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x1f9ef9&&await pullApiConfig(_0x3bf46c,_0x1f9ef9,_0x1b4ae9,_0x53b3e3),console[_0x308b85(0x15f)](_0x308b85(0x13a)+_0x24628f+_0x308b85(0x15d)),console[_0x308b85(0x15f)](_0x308b85(0x155)+_0x24628f),console[_0x308b85(0x15f)](_0x308b85(0x14a));}catch(_0x2e1767){try{existsSync(_0x3bf46c)&&await a163_0x5443a9['rm'](_0x3bf46c,{'recursive':!![],'force':!![]});}catch{}throw _0x2e1767;}}async function updatePackageJsonName(_0xdd3a46){const _0x23436e=a163_0x26b7,_0xa29b62=a163_0x13972d[_0x23436e(0x147)](process[_0x23436e(0x13b)](),_0xdd3a46),_0xb5ec7=a163_0x13972d[_0x23436e(0x16b)](_0xa29b62,_0x23436e(0x138)),_0x4666e5=await a163_0x5443a9[_0x23436e(0x134)](_0xb5ec7,_0x23436e(0x13c)),_0x49f060=JSON[_0x23436e(0x15c)](_0x4666e5);_0x49f060['name']=_0xdd3a46,_0x49f060['description']=_0x23436e(0x153),await a163_0x5443a9[_0x23436e(0x14c)](_0xb5ec7,JSON[_0x23436e(0x137)](_0x49f060,null,0x2)+'\x0a');}function detectPackageManager(){const _0xea8873=a163_0x26b7;try{return execSync(_0xea8873(0x13f),{'stdio':'ignore'}),_0xea8873(0x162);}catch{return _0xea8873(0x152);}}async function formatCode(_0x1af35e){const _0xcc87a2=a163_0x26b7;try{await execAsync(_0xcc87a2(0x14e),{'cwd':_0x1af35e});}catch{}}async function configureProject(_0x259440,_0x29af4f,_0x52816e){const _0x55f31f=a163_0x26b7,_0x3837f0=a163_0x13972d['resolve'](process[_0x55f31f(0x13b)](),_0x259440),_0x31bd54=a163_0x13972d[_0x55f31f(0x16b)](_0x3837f0,NEW_CONFIG_NAME),_0x3bd5b4=readConfig(),_0x14b9c9=typeof _0x3bd5b4[_0x55f31f(0x158)]==='string'?_0x3bd5b4[_0x55f31f(0x158)]:undefined,_0x3df54b={};for(const _0x421155 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3bd5b4[_0x421155]!=null)_0x3df54b[_0x421155]=_0x3bd5b4[_0x421155];}const _0x120213=buildCanonicalProjectConfig(_0x3df54b,{'appCodes':_0x29af4f?[_0x29af4f]:[],'env':_0x52816e||_0x14b9c9||'production','metadata':{'createdAt':new Date()[_0x55f31f(0x146)](),'version':getCliVersion()}});writeConfigFile(_0x31bd54,_0x120213);}async function pullApiConfig(_0x5eb321,_0x2dfdfc,_0x3fe2d8,_0x32f5df){const _0x403d42=a163_0x26b7,_0x500d87=process['cwd']();try{process['chdir'](_0x5eb321);const _0x1ea648=_0x3fe2d8||_0x403d42(0x136);initEnv(_0x1ea648),console[_0x403d42(0x15f)](_0x403d42(0x14f));const {configArray:_0x25ebc4}=await fetchModelList(_0x2dfdfc,_0x32f5df||''),_0x3503c0=await generateApiFile(_0x25ebc4,'',_0x2dfdfc,!![],_0x1ea648,DEFAULT_API_DIR);console[_0x403d42(0x15f)](_0x403d42(0x163)+_0x25ebc4['length']+_0x403d42(0x14b)+_0x3503c0['modelCount']+_0x403d42(0x142));}catch(_0x196849){console[_0x403d42(0x15f)](_0x403d42(0x148)+CLI_BIN_NAME+_0x403d42(0x154));}finally{process['chdir'](_0x500d87);}}
1
+ (function(_0x3f7c52,_0x493fda){const _0x43e60e=a163_0x20aa,_0x57f4c0=_0x3f7c52();while(!![]){try{const _0x155cab=-parseInt(_0x43e60e(0x1eb))/0x1+-parseInt(_0x43e60e(0x1f7))/0x2+parseInt(_0x43e60e(0x1f0))/0x3*(-parseInt(_0x43e60e(0x209))/0x4)+parseInt(_0x43e60e(0x204))/0x5+-parseInt(_0x43e60e(0x1f9))/0x6*(parseInt(_0x43e60e(0x20b))/0x7)+-parseInt(_0x43e60e(0x210))/0x8*(parseInt(_0x43e60e(0x203))/0x9)+parseInt(_0x43e60e(0x1ec))/0xa;if(_0x155cab===_0x493fda)break;else _0x57f4c0['push'](_0x57f4c0['shift']());}catch(_0x1ee2e3){_0x57f4c0['push'](_0x57f4c0['shift']());}}}(a163_0x199d,0x9cd3a));import a163_0x5a6aad from'path';import a163_0x475b38 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';function a163_0x20aa(_0x6fbbf,_0x4bb98d){_0x6fbbf=_0x6fbbf-0x1e1;const _0x199d82=a163_0x199d();let _0x20aa4a=_0x199d82[_0x6fbbf];return _0x20aa4a;}import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x2498af,_0x631198,_0x2745aa,_0x4c5c9d){const _0x11c6af=a163_0x20aa,_0x17526b=await checkCliVersion();(_0x17526b[_0x11c6af(0x206)]||_0x17526b['belowMinimum'])&&(printCliUpgradeWarning(_0x17526b),assertCliVersionSupported(_0x17526b));if(!_0x2498af||_0x2498af[_0x11c6af(0x1e2)]()==='')throw CliErrors['validation'](_0x11c6af(0x205));const _0x7eddaf=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x7eddaf[_0x11c6af(0x21b)](_0x2498af))throw CliErrors[_0x11c6af(0x1e9)](_0x11c6af(0x20c),_0x11c6af(0x1fd));if(_0x2498af['length']>0x64)throw CliErrors[_0x11c6af(0x1e9)](_0x11c6af(0x1ee));const _0x1f97ef=a163_0x5a6aad[_0x11c6af(0x218)](process[_0x11c6af(0x207)](),_0x2498af);if(existsSync(_0x1f97ef))throw CliErrors[_0x11c6af(0x1e9)](_0x11c6af(0x20f)+_0x2498af+_0x11c6af(0x1f2),_0x11c6af(0x21a));try{const _0x3b7bc1=a163_0x5a6aad['dirname'](_0x1f97ef);await a163_0x475b38['access'](_0x3b7bc1,a163_0x475b38['constants'][_0x11c6af(0x1f4)]);}catch{throw CliErrors[_0x11c6af(0x1e9)](_0x11c6af(0x219),_0x11c6af(0x1fe));}try{console[_0x11c6af(0x200)](_0x11c6af(0x1ef)+_0x2498af+'...');const _0x24f015=getSubAppReactDemoTemplateDir();await copyDirectory(_0x24f015,_0x1f97ef),console[_0x11c6af(0x200)](_0x11c6af(0x1e6)),await updatePackageJsonName(_0x2498af),console[_0x11c6af(0x200)](_0x11c6af(0x20a)),console['log'](_0x11c6af(0x1fa)),console['log'](_0x11c6af(0x1ff)),await formatCode(_0x1f97ef),console[_0x11c6af(0x200)](_0x11c6af(0x1e4)),await configureProject(_0x2498af,_0x2745aa,_0x631198),console[_0x11c6af(0x200)](_0x11c6af(0x212)),_0x2745aa&&await pullApiConfig(_0x1f97ef,_0x2745aa,_0x631198,_0x4c5c9d),console[_0x11c6af(0x200)](_0x11c6af(0x202)+_0x2498af+_0x11c6af(0x1f3)),console[_0x11c6af(0x200)]('\x0a\x20\x20cd\x20'+_0x2498af),console[_0x11c6af(0x200)](_0x11c6af(0x1e5));}catch(_0x4aa41a){try{existsSync(_0x1f97ef)&&await a163_0x475b38['rm'](_0x1f97ef,{'recursive':!![],'force':!![]});}catch{}throw _0x4aa41a;}}async function updatePackageJsonName(_0x4bc149){const _0x3c4e85=a163_0x20aa,_0x487df0=a163_0x5a6aad[_0x3c4e85(0x218)](process['cwd'](),_0x4bc149),_0x5b621f=a163_0x5a6aad[_0x3c4e85(0x1e7)](_0x487df0,_0x3c4e85(0x20e)),_0xa1ce46=await a163_0x475b38[_0x3c4e85(0x1f1)](_0x5b621f,_0x3c4e85(0x1ea)),_0x5b1f0e=JSON[_0x3c4e85(0x1f5)](_0xa1ce46);_0x5b1f0e[_0x3c4e85(0x211)]=_0x4bc149,_0x5b1f0e[_0x3c4e85(0x1e8)]=_0x3c4e85(0x1f6),await a163_0x475b38[_0x3c4e85(0x215)](_0x5b621f,JSON['stringify'](_0x5b1f0e,null,0x2)+'\x0a');}function detectPackageManager(){const _0x3cfc21=a163_0x20aa;try{return execSync(_0x3cfc21(0x21c),{'stdio':'ignore'}),'bun';}catch{return _0x3cfc21(0x1e1);}}async function formatCode(_0x4ce4df){const _0x512fe6=a163_0x20aa;try{await execAsync(_0x512fe6(0x216),{'cwd':_0x4ce4df});}catch{}}function a163_0x199d(){const _0x4d6a4a=['description','validation','utf-8','1117103zsigrb','42663330flYiFN','\x20\x20√\x20Pulled\x20','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','*\x20Creating\x20project\x20','877407oHKiAK','readFile','\x22\x20already\x20exists.','\x20created\x20successfully!','W_OK','parse','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','2455866AwDkhb','chdir','4475358NjvHtb','\x20\x20Installing\x20dependencies...','toLocaleString','\x20dataset(s),\x20generated\x20','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','Check\x20directory\x20permissions.','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','log','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','\x0a√\x20Project\x20','1359jCQpVz','1156510rcwwKH','Project\x20name\x20cannot\x20be\x20empty.','needsUpgrade','cwd','env','4helaEz','\x20\x20√\x20package.json\x20updated','7uhWeTh','Project\x20name\x20contains\x20invalid\x20characters.','length','package.json','Project\x20directory\x20\x22','25000yYPQnJ','name','\x20\x20√\x20Configuration\x20file\x20created','\x20model(s)','\x20\x20Pulling\x20API\x20configuration...','writeFile','bun\x20run\x20format','production','resolve','Cannot\x20create\x20project\x20in\x20current\x20directory.','Use\x20a\x20different\x20project\x20name.','test','bun\x20--version','npm','trim','string','\x20\x20√\x20Code\x20formatted','\x20\x20rabetbase\x20run\x20start\x0a','\x20\x20√\x20Project\x20template\x20created','join'];a163_0x199d=function(){return _0x4d6a4a;};return a163_0x199d();}async function configureProject(_0x32d805,_0x439782,_0x4e2236){const _0x4a1ab4=a163_0x20aa,_0x5730e3=a163_0x5a6aad['resolve'](process[_0x4a1ab4(0x207)](),_0x32d805),_0x91a148=a163_0x5a6aad['join'](_0x5730e3,NEW_CONFIG_NAME),_0x356f33=readConfig(),_0xe82ac=typeof _0x356f33[_0x4a1ab4(0x208)]===_0x4a1ab4(0x1e3)?_0x356f33['env']:undefined,_0x5aa5b1={};for(const _0x34051a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x356f33[_0x34051a]!=null)_0x5aa5b1[_0x34051a]=_0x356f33[_0x34051a];}const _0x5d531e=buildCanonicalProjectConfig(_0x5aa5b1,{'appCodes':_0x439782?[_0x439782]:[],'env':_0x4e2236||_0xe82ac||'production','metadata':{'createdAt':new Date()[_0x4a1ab4(0x1fb)](),'version':getCliVersion()}});writeConfigFile(_0x91a148,_0x5d531e);}async function pullApiConfig(_0xa8faf,_0x57a58b,_0x1318d2,_0x3cf271){const _0x2efdc=a163_0x20aa,_0x22d15c=process['cwd']();try{process[_0x2efdc(0x1f8)](_0xa8faf);const _0x891139=_0x1318d2||_0x2efdc(0x217);initEnv(_0x891139),console['log'](_0x2efdc(0x214));const {configArray:_0x515f70}=await fetchModelList(_0x57a58b,_0x3cf271||''),_0x51e770=await generateApiFile(_0x515f70,'',_0x57a58b,!![],_0x891139,DEFAULT_API_DIR);console['log'](_0x2efdc(0x1ed)+_0x515f70[_0x2efdc(0x20d)]+_0x2efdc(0x1fc)+_0x51e770['modelCount']+_0x2efdc(0x213));}catch(_0x4e594d){console[_0x2efdc(0x200)](_0x2efdc(0x201)+CLI_BIN_NAME+'\x20api\x20pull`\x20manually\x20later.');}finally{process[_0x2efdc(0x1f8)](_0x22d15c);}}
@@ -1 +1 @@
1
- const a164_0x5297d2=a164_0x3cdf;(function(_0x2373db,_0x3509fb){const _0x1126b7=a164_0x3cdf,_0x5ce08b=_0x2373db();while(!![]){try{const _0x329a84=parseInt(_0x1126b7(0x1b7))/0x1+parseInt(_0x1126b7(0x1c1))/0x2+-parseInt(_0x1126b7(0x1bf))/0x3+-parseInt(_0x1126b7(0x1b9))/0x4*(-parseInt(_0x1126b7(0x1bc))/0x5)+-parseInt(_0x1126b7(0x1c2))/0x6*(-parseInt(_0x1126b7(0x1be))/0x7)+-parseInt(_0x1126b7(0x1bd))/0x8+parseInt(_0x1126b7(0x1b6))/0x9*(-parseInt(_0x1126b7(0x1bb))/0xa);if(_0x329a84===_0x3509fb)break;else _0x5ce08b['push'](_0x5ce08b['shift']());}catch(_0x2b704c){_0x5ce08b['push'](_0x5ce08b['shift']());}}}(a164_0xcbe0,0x9201d));import a164_0x4d8162 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a164_0x4d8162[a164_0x5297d2(0x1b5)](fileURLToPath(import.meta.url));function a164_0x3cdf(_0x2a62f6,_0x2c1ddb){_0x2a62f6=_0x2a62f6-0x1b4;const _0xcbe035=a164_0xcbe0();let _0x3cdf4d=_0xcbe035[_0x2a62f6];return _0x3cdf4d;}export function getRabetbaseCliPackageRoot(){const _0x50cb7f=a164_0x5297d2;return a164_0x4d8162['resolve'](__dirname,_0x50cb7f(0x1c0));}function a164_0xcbe0(){const _0x51eada=['3492966RaEAqF','../../../../','806466oGkhRF','1273710BrWQRZ','projects','dirname','36dgfxiD','910952jbTwcF','sub-app-react-demo','4tEIvSp','templates','1917040tVzPEo','3702890DIWLJW','2997760wxqXaZ','28nYOftm'];a164_0xcbe0=function(){return _0x51eada;};return a164_0xcbe0();}export function getSubAppReactDemoTemplateDir(){const _0x56ae28=a164_0x5297d2;return a164_0x4d8162['join'](getRabetbaseCliPackageRoot(),_0x56ae28(0x1ba),_0x56ae28(0x1b4),_0x56ae28(0x1b8));}
1
+ const a164_0x33d3f7=a164_0x15fc;(function(_0x2b413c,_0x2fb0c3){const _0x4c7fec=a164_0x15fc,_0x13d7bc=_0x2b413c();while(!![]){try{const _0x20e80f=-parseInt(_0x4c7fec(0x14f))/0x1+-parseInt(_0x4c7fec(0x155))/0x2*(-parseInt(_0x4c7fec(0x152))/0x3)+parseInt(_0x4c7fec(0x153))/0x4+parseInt(_0x4c7fec(0x150))/0x5*(parseInt(_0x4c7fec(0x14b))/0x6)+-parseInt(_0x4c7fec(0x149))/0x7*(parseInt(_0x4c7fec(0x151))/0x8)+parseInt(_0x4c7fec(0x14a))/0x9+parseInt(_0x4c7fec(0x14d))/0xa*(-parseInt(_0x4c7fec(0x154))/0xb);if(_0x20e80f===_0x2fb0c3)break;else _0x13d7bc['push'](_0x13d7bc['shift']());}catch(_0x493b89){_0x13d7bc['push'](_0x13d7bc['shift']());}}}(a164_0x4e41,0xa625d));function a164_0x15fc(_0x336c6b,_0x5198f2){_0x336c6b=_0x336c6b-0x148;const _0x4e4116=a164_0x4e41();let _0x15fc7d=_0x4e4116[_0x336c6b];return _0x15fc7d;}import a164_0x2bd756 from'node:path';function a164_0x4e41(){const _0x292518=['670jXKXxW','400OgyLFu','3pJqnhz','1128284cZGIuK','22IBraaj','514594adBNOT','templates','join','dirname','sub-app-react-demo','9611VfuBCt','386361dqNfAa','48234pWRXOx','projects','759950FdevEL','../../../../','758342osYHpN'];a164_0x4e41=function(){return _0x292518;};return a164_0x4e41();}import{fileURLToPath}from'node:url';const __dirname=a164_0x2bd756[a164_0x33d3f7(0x158)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3ffca0=a164_0x33d3f7;return a164_0x2bd756['resolve'](__dirname,_0x3ffca0(0x14e));}export function getSubAppReactDemoTemplateDir(){const _0x36778b=a164_0x33d3f7;return a164_0x2bd756[_0x36778b(0x157)](getRabetbaseCliPackageRoot(),_0x36778b(0x156),_0x36778b(0x14c),_0x36778b(0x148));}
@@ -1 +1 @@
1
- (function(_0x524e17,_0x46a67a){const _0x11044c=a165_0x28b1,_0x2ef11f=_0x524e17();while(!![]){try{const _0xacb01f=parseInt(_0x11044c(0x115))/0x1*(-parseInt(_0x11044c(0x106))/0x2)+-parseInt(_0x11044c(0x111))/0x3*(-parseInt(_0x11044c(0x116))/0x4)+-parseInt(_0x11044c(0x108))/0x5+parseInt(_0x11044c(0x11c))/0x6*(parseInt(_0x11044c(0x113))/0x7)+parseInt(_0x11044c(0x109))/0x8*(parseInt(_0x11044c(0x11a))/0x9)+-parseInt(_0x11044c(0x10e))/0xa*(-parseInt(_0x11044c(0x10d))/0xb)+parseInt(_0x11044c(0x10b))/0xc*(-parseInt(_0x11044c(0x10f))/0xd);if(_0xacb01f===_0x46a67a)break;else _0x2ef11f['push'](_0x2ef11f['shift']());}catch(_0x28921d){_0x2ef11f['push'](_0x2ef11f['shift']());}}}(a165_0x44b3,0x5dcb0));import a165_0x2dbe4f from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a165_0x28b1(_0x2a6710,_0x311dc3){_0x2a6710=_0x2a6710-0x106;const _0x44b37f=a165_0x44b3();let _0x28b18f=_0x44b37f[_0x2a6710];return _0x28b18f;}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x2dba4c){const _0x4f15f9=a165_0x28b1,_0x1b50c9=Date[_0x4f15f9(0x107)](),_0x4def30=a165_0x2dbe4f[_0x4f15f9(0x10a)](process[_0x4f15f9(0x112)](),_0x2dba4c);try{logger[_0x4f15f9(0x119)](_0x4f15f9(0x110),_0x4f15f9(0x118),{'projectCode':_0x2dba4c,'templateDir':templateDir}),await copyDirectory(templateDir,_0x4def30);const _0x3457df=Date[_0x4f15f9(0x107)]()-_0x1b50c9;logger[_0x4f15f9(0x114)]('copy',_0x4f15f9(0x10c),_0x3457df,{'projectCode':_0x2dba4c});}catch(_0x3e4d5f){const _0x4ca748=Date['now']()-_0x1b50c9;logger['error'](_0x4f15f9(0x110),_0x4f15f9(0x117),{'projectCode':_0x2dba4c,'error':_0x3e4d5f instanceof Error?_0x3e4d5f[_0x4f15f9(0x11b)]:String(_0x3e4d5f),'duration':_0x4ca748});throw _0x3e4d5f;}return formatElapsed(_0x1b50c9);}function a165_0x44b3(){const _0x1dfa4b=['info','18kDcVbq','message','1236csDxVj','73518NSyXuJ','now','1597630ZRNWSu','1076784NZCXCV','resolve','4188fHEXjl','项目模板复制完成','858QQgXiR','14510ToiwJd','15223RetcKp','copy','430179nkSdRY','cwd','16310fuOlTN','success','1KsLFHS','8IzZnHn','项目模板复制失败','开始复制项目模板'];a165_0x44b3=function(){return _0x1dfa4b;};return a165_0x44b3();}
1
+ (function(_0x467999,_0x2de979){const _0x183c75=a165_0x5c27,_0x42c2ce=_0x467999();while(!![]){try{const _0x34f57c=-parseInt(_0x183c75(0x75))/0x1*(-parseInt(_0x183c75(0x85))/0x2)+parseInt(_0x183c75(0x78))/0x3+-parseInt(_0x183c75(0x87))/0x4*(-parseInt(_0x183c75(0x86))/0x5)+-parseInt(_0x183c75(0x83))/0x6*(parseInt(_0x183c75(0x7b))/0x7)+parseInt(_0x183c75(0x89))/0x8*(parseInt(_0x183c75(0x84))/0x9)+-parseInt(_0x183c75(0x88))/0xa+-parseInt(_0x183c75(0x7a))/0xb*(parseInt(_0x183c75(0x7e))/0xc);if(_0x34f57c===_0x2de979)break;else _0x42c2ce['push'](_0x42c2ce['shift']());}catch(_0x5454ad){_0x42c2ce['push'](_0x42c2ce['shift']());}}}(a165_0x3e81,0x6fe46));import a165_0x25b9ca from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a165_0x3e81(){const _0x2da4c3=['1032060SjcstA','4563064CUuCvL','735698aCDuSi','message','开始复制项目模板','1965558TdYcRS','cwd','8974141AjfqKP','5780733WGkbpv','now','success','12dqLWax','copy','项目模板复制完成','resolve','项目模板复制失败','6Igrnkm','9ySwHbS','2BgUyqG','105hjTtQl','46076kTmGvH'];a165_0x3e81=function(){return _0x2da4c3;};return a165_0x3e81();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a165_0x5c27(_0x21b6d9,_0x466f5d){_0x21b6d9=_0x21b6d9-0x75;const _0x3e81be=a165_0x3e81();let _0x5c276d=_0x3e81be[_0x21b6d9];return _0x5c276d;}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x223bc8){const _0x28dd05=a165_0x5c27,_0x22fdf4=Date[_0x28dd05(0x7c)](),_0x4ff241=a165_0x25b9ca[_0x28dd05(0x81)](process[_0x28dd05(0x79)](),_0x223bc8);try{logger['info'](_0x28dd05(0x7f),_0x28dd05(0x77),{'projectCode':_0x223bc8,'templateDir':templateDir}),await copyDirectory(templateDir,_0x4ff241);const _0x41584d=Date['now']()-_0x22fdf4;logger[_0x28dd05(0x7d)](_0x28dd05(0x7f),_0x28dd05(0x80),_0x41584d,{'projectCode':_0x223bc8});}catch(_0x1a0a62){const _0x4ffde9=Date['now']()-_0x22fdf4;logger['error'](_0x28dd05(0x7f),_0x28dd05(0x82),{'projectCode':_0x223bc8,'error':_0x1a0a62 instanceof Error?_0x1a0a62[_0x28dd05(0x76)]:String(_0x1a0a62),'duration':_0x4ffde9});throw _0x1a0a62;}return formatElapsed(_0x22fdf4);}
@@ -1 +1 @@
1
- (function(_0x454ab4,_0x16fe90){const _0x247ee4=a166_0xab24,_0xb8e65c=_0x454ab4();while(!![]){try{const _0x496da0=-parseInt(_0x247ee4(0x13a))/0x1*(-parseInt(_0x247ee4(0x131))/0x2)+parseInt(_0x247ee4(0x137))/0x3+-parseInt(_0x247ee4(0x13c))/0x4*(-parseInt(_0x247ee4(0x12b))/0x5)+parseInt(_0x247ee4(0x132))/0x6*(parseInt(_0x247ee4(0x13f))/0x7)+-parseInt(_0x247ee4(0x12d))/0x8*(-parseInt(_0x247ee4(0x139))/0x9)+parseInt(_0x247ee4(0x12c))/0xa+-parseInt(_0x247ee4(0x12f))/0xb;if(_0x496da0===_0x16fe90)break;else _0xb8e65c['push'](_0xb8e65c['shift']());}catch(_0xe6879a){_0xb8e65c['push'](_0xb8e65c['shift']());}}}(a166_0x5b4d,0x96f36));import a166_0x5b6e96 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a166_0x5b4d(){const _0x389d25=['1592jdQrjE','--write','31908503wjlGLu','success','1661742Ibgvvf','72xjPtoA','format','now','message','开始格式化代码','2301537xovFDq','npx','17541loVFjb','1qmXAAK','resolve','4852508uXSqTm','代码格式化完成','prettier','185052FxxIaq','info','5nMQNeK','28070qyePHH'];a166_0x5b4d=function(){return _0x389d25;};return a166_0x5b4d();}import{resolveNpmBin}from'../../../utils/platform.js';function a166_0xab24(_0x1c88c7,_0x17b533){_0x1c88c7=_0x1c88c7-0x12a;const _0x5b4d1a=a166_0x5b4d();let _0xab24a1=_0x5b4d1a[_0x1c88c7];return _0xab24a1;}export async function formatProjectCode(_0x50c03a){const _0xa5d501=a166_0xab24,_0x104489=Date[_0xa5d501(0x134)](),_0x3e8454=a166_0x5b6e96[_0xa5d501(0x13b)](process['cwd'](),_0x50c03a);try{logger[_0xa5d501(0x12a)](_0xa5d501(0x133),_0xa5d501(0x136),{'projectCode':_0x50c03a}),await execa(resolveNpmBin(_0xa5d501(0x138)),[_0xa5d501(0x13e),_0xa5d501(0x12e),'.'],{'cwd':_0x3e8454});const _0xa8630e=Date['now']()-_0x104489;logger[_0xa5d501(0x130)](_0xa5d501(0x133),_0xa5d501(0x13d),_0xa8630e,{'projectCode':_0x50c03a});}catch(_0x33809b){const _0x1455cb=Date[_0xa5d501(0x134)]()-_0x104489;logger['error'](_0xa5d501(0x133),'代码格式化失败',{'projectCode':_0x50c03a,'error':_0x33809b instanceof Error?_0x33809b[_0xa5d501(0x135)]:String(_0x33809b),'duration':_0x1455cb});throw _0x33809b;}return formatElapsed(_0x104489);}
1
+ (function(_0x4254cd,_0x499a92){const _0x456e8f=a166_0xb2dd,_0x4ddbc3=_0x4254cd();while(!![]){try{const _0x110a1e=parseInt(_0x456e8f(0xef))/0x1+-parseInt(_0x456e8f(0xf5))/0x2*(-parseInt(_0x456e8f(0xed))/0x3)+-parseInt(_0x456e8f(0xe8))/0x4+-parseInt(_0x456e8f(0xea))/0x5*(parseInt(_0x456e8f(0xec))/0x6)+-parseInt(_0x456e8f(0xf7))/0x7+parseInt(_0x456e8f(0xf3))/0x8*(parseInt(_0x456e8f(0xe5))/0x9)+-parseInt(_0x456e8f(0xf9))/0xa*(-parseInt(_0x456e8f(0xf4))/0xb);if(_0x110a1e===_0x499a92)break;else _0x4ddbc3['push'](_0x4ddbc3['shift']());}catch(_0x4d8332){_0x4ddbc3['push'](_0x4ddbc3['shift']());}}}(a166_0x2ed9,0x18c6a));import a166_0x45f498 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a166_0x2ed9(){const _0x2ed38a=['now','prettier','513891TPydqE','message','format','645364eWKlII','--write','115hnJkYw','success','19086eElKnH','84192sSckaW','resolve','67346MjmJFu','开始格式化代码','info','代码格式化完成','16WImwxJ','61765KhVcPg','4sBzIWN','error','294427SEzwhx','代码格式化失败','250utqtlb'];a166_0x2ed9=function(){return _0x2ed38a;};return a166_0x2ed9();}import{resolveNpmBin}from'../../../utils/platform.js';function a166_0xb2dd(_0xfa34c2,_0x5b84d8){_0xfa34c2=_0xfa34c2-0xe3;const _0x2ed9a4=a166_0x2ed9();let _0xb2dde2=_0x2ed9a4[_0xfa34c2];return _0xb2dde2;}export async function formatProjectCode(_0x6d08cd){const _0xbcc42c=a166_0xb2dd,_0x341061=Date[_0xbcc42c(0xe3)](),_0x477a87=a166_0x45f498[_0xbcc42c(0xee)](process['cwd'](),_0x6d08cd);try{logger[_0xbcc42c(0xf1)]('format',_0xbcc42c(0xf0),{'projectCode':_0x6d08cd}),await execa(resolveNpmBin('npx'),[_0xbcc42c(0xe4),_0xbcc42c(0xe9),'.'],{'cwd':_0x477a87});const _0x1bf199=Date[_0xbcc42c(0xe3)]()-_0x341061;logger[_0xbcc42c(0xeb)](_0xbcc42c(0xe7),_0xbcc42c(0xf2),_0x1bf199,{'projectCode':_0x6d08cd});}catch(_0x19d819){const _0x5c1b84=Date[_0xbcc42c(0xe3)]()-_0x341061;logger[_0xbcc42c(0xf6)]('format',_0xbcc42c(0xf8),{'projectCode':_0x6d08cd,'error':_0x19d819 instanceof Error?_0x19d819[_0xbcc42c(0xe6)]:String(_0x19d819),'duration':_0x5c1b84});throw _0x19d819;}return formatElapsed(_0x341061);}
@@ -1 +1 @@
1
- function a167_0xcaeb(_0x43be0a,_0x3e395b){_0x43be0a=_0x43be0a-0x1f3;const _0x571335=a167_0x5713();let _0xcaebc1=_0x571335[_0x43be0a];return _0xcaebc1;}(function(_0x4177bc,_0x12b514){const _0x27ab35=a167_0xcaeb,_0x5ac226=_0x4177bc();while(!![]){try{const _0x33b759=-parseInt(_0x27ab35(0x202))/0x1*(-parseInt(_0x27ab35(0x1f5))/0x2)+-parseInt(_0x27ab35(0x1f8))/0x3+parseInt(_0x27ab35(0x1fa))/0x4+-parseInt(_0x27ab35(0x1ff))/0x5+parseInt(_0x27ab35(0x204))/0x6+parseInt(_0x27ab35(0x1f4))/0x7+parseInt(_0x27ab35(0x205))/0x8*(-parseInt(_0x27ab35(0x1fe))/0x9);if(_0x33b759===_0x12b514)break;else _0x5ac226['push'](_0x5ac226['shift']());}catch(_0x46dd0b){_0x5ac226['push'](_0x5ac226['shift']());}}}(a167_0x5713,0xf1a5f));import a167_0x3b4e5f from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x4098a7){const _0x593800=a167_0xcaeb,_0x5da557=Date[_0x593800(0x1f3)](),_0x208988=a167_0x3b4e5f[_0x593800(0x1f9)](process['cwd'](),_0x4098a7);try{logger[_0x593800(0x200)]('install',_0x593800(0x1fc),{'projectCode':_0x4098a7,'registry':_0x593800(0x1f6)}),await execa(resolveNpmBin(_0x593800(0x1fd)),[_0x593800(0x201),_0x593800(0x207),_0x593800(0x1f6)],{'cwd':_0x208988});const _0x2ed702=Date[_0x593800(0x1f3)]()-_0x5da557;logger[_0x593800(0x206)](_0x593800(0x201),'依赖安装完成',_0x2ed702,{'projectCode':_0x4098a7});}catch(_0x45c58d){const _0x1f69e5=Date['now']()-_0x5da557;logger[_0x593800(0x1fb)](_0x593800(0x201),_0x593800(0x203),{'projectCode':_0x4098a7,'error':_0x45c58d instanceof Error?_0x45c58d[_0x593800(0x1f7)]:String(_0x45c58d),'duration':_0x1f69e5});throw _0x45c58d;}return formatElapsed(_0x5da557);}function a167_0x5713(){const _0x11eb78=['33134eMgirA','https://registry.npmmirror.com','message','463134NycpST','resolve','2063204Gvnfaf','error','开始安装依赖','npm','2086947WqlQrr','990880bVkHlj','info','install','119CmMhkl','依赖安装失败','9544788yIUlLI','112dZAcrW','success','--registry','now','3574445LWXbZx'];a167_0x5713=function(){return _0x11eb78;};return a167_0x5713();}
1
+ function a167_0x3d1c(){const _0x2152e9=['install','52LiwPen','6lrLMuE','error','依赖安装失败','success','1005170SjcKDU','1uFuilr','resolve','11AknJXU','info','899320KvCKoK','npm','264TtEmAD','103789PPcMvz','997990xurQPj','48utPssb','2216664RjwPdW','https://registry.npmmirror.com','依赖安装完成','230340RIUdNy','now','cwd','6nwAoLN'];a167_0x3d1c=function(){return _0x2152e9;};return a167_0x3d1c();}(function(_0x28b73d,_0x481c53){const _0x277990=a167_0x3c96,_0x122ff=_0x28b73d();while(!![]){try{const _0xded039=parseInt(_0x277990(0x1a0))/0x1*(-parseInt(_0x277990(0x19f))/0x2)+parseInt(_0x277990(0x1b3))/0x3*(parseInt(_0x277990(0x1ad))/0x4)+-parseInt(_0x277990(0x1a4))/0x5*(parseInt(_0x277990(0x1b0))/0x6)+parseInt(_0x277990(0x1a7))/0x7*(parseInt(_0x277990(0x1a6))/0x8)+parseInt(_0x277990(0x1aa))/0x9+-parseInt(_0x277990(0x1a8))/0xa*(-parseInt(_0x277990(0x1a2))/0xb)+-parseInt(_0x277990(0x1a9))/0xc*(-parseInt(_0x277990(0x1b2))/0xd);if(_0xded039===_0x481c53)break;else _0x122ff['push'](_0x122ff['shift']());}catch(_0x3f7a1b){_0x122ff['push'](_0x122ff['shift']());}}}(a167_0x3d1c,0x4175b));import a167_0xad9b41 from'node:path';function a167_0x3c96(_0x1d1d52,_0x1c974b){_0x1d1d52=_0x1d1d52-0x19d;const _0x3d1c46=a167_0x3d1c();let _0x3c96f7=_0x3d1c46[_0x1d1d52];return _0x3c96f7;}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0xa0ed9d){const _0x7e7d63=a167_0x3c96,_0x68bf39=Date[_0x7e7d63(0x1ae)](),_0x204fd6=a167_0xad9b41[_0x7e7d63(0x1a1)](process[_0x7e7d63(0x1af)](),_0xa0ed9d);try{logger[_0x7e7d63(0x1a3)](_0x7e7d63(0x1b1),'开始安装依赖',{'projectCode':_0xa0ed9d,'registry':_0x7e7d63(0x1ab)}),await execa(resolveNpmBin(_0x7e7d63(0x1a5)),[_0x7e7d63(0x1b1),'--registry',_0x7e7d63(0x1ab)],{'cwd':_0x204fd6});const _0x3f91f5=Date[_0x7e7d63(0x1ae)]()-_0x68bf39;logger[_0x7e7d63(0x19e)](_0x7e7d63(0x1b1),_0x7e7d63(0x1ac),_0x3f91f5,{'projectCode':_0xa0ed9d});}catch(_0x4ef3e9){const _0x4f532e=Date[_0x7e7d63(0x1ae)]()-_0x68bf39;logger[_0x7e7d63(0x1b4)](_0x7e7d63(0x1b1),_0x7e7d63(0x19d),{'projectCode':_0xa0ed9d,'error':_0x4ef3e9 instanceof Error?_0x4ef3e9['message']:String(_0x4ef3e9),'duration':_0x4f532e});throw _0x4ef3e9;}return formatElapsed(_0x68bf39);}
@@ -1 +1 @@
1
- const a168_0x200555=a168_0x1990;(function(_0x55c799,_0x116510){const _0x35e836=a168_0x1990,_0x313d91=_0x55c799();while(!![]){try{const _0x1a089c=parseInt(_0x35e836(0x18b))/0x1+-parseInt(_0x35e836(0x17d))/0x2*(-parseInt(_0x35e836(0x177))/0x3)+parseInt(_0x35e836(0x189))/0x4+-parseInt(_0x35e836(0x18c))/0x5+parseInt(_0x35e836(0x192))/0x6+parseInt(_0x35e836(0x175))/0x7+-parseInt(_0x35e836(0x183))/0x8;if(_0x1a089c===_0x116510)break;else _0x313d91['push'](_0x313d91['shift']());}catch(_0x3d56b5){_0x313d91['push'](_0x313d91['shift']());}}}(a168_0x44b6,0x63f71));import{CliErrors}from'../../errors.js';function a168_0x1990(_0x3c6136,_0x202b42){_0x3c6136=_0x3c6136-0x174;const _0x44b6c9=a168_0x44b6();let _0x1990ca=_0x44b6c9[_0x3c6136];return _0x1990ca;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';const createFlags=[{'name':a168_0x200555(0x17f),'type':a168_0x200555(0x185),'description':'Project\x20name'},{'name':'env','type':'string','description':a168_0x200555(0x18d)},{'name':a168_0x200555(0x17c),'type':a168_0x200555(0x185),'description':a168_0x200555(0x193)}],upgradeFlags=[{'name':a168_0x200555(0x181),'type':a168_0x200555(0x174),'description':a168_0x200555(0x190),'default':![]}];function a168_0x44b6(){const _0x3c4118=['Target\x20environment','project','Create\x20a\x20new\x20project','Skip\x20confirmation\x20prompt','args','4563978fvlNdP','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','boolean','1219057PeBUVm','cookie','255CeOSRw','str','trim','validation','nonInteractive','appcode','8548CUpzjz','../../commands/project/create/main.js','name','write','yes','create','7779056yAONOV','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','string','bool','project-name','../../commands/project/create/non-interactive.js','105036DkcFoA','Usage:\x20','269342inGTov','1059330aHztyg'];a168_0x44b6=function(){return _0x3c4118;};return a168_0x44b6();}export const projectDefinitions=[{'service':a168_0x200555(0x18e),'command':a168_0x200555(0x182),'description':a168_0x200555(0x18f),'risk':a168_0x200555(0x180),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a168_0x200555(0x187),'description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x81da7d){const _0x1989c8=a168_0x200555,{createApp:_0x1455c3}=await import(_0x1989c8(0x17e)),{createProjectNonInteractive:_0x128623}=await import(_0x1989c8(0x188)),_0x301d21=_0x81da7d[_0x1989c8(0x178)](_0x1989c8(0x17f))['trim']()||_0x81da7d[_0x1989c8(0x191)][0x0]?.[_0x1989c8(0x179)](),_0x282e3c=_0x81da7d[_0x1989c8(0x178)]('env')||undefined,_0x1c9661=_0x81da7d['str'](_0x1989c8(0x17c))||undefined;if(_0x81da7d[_0x1989c8(0x17b)]){if(!_0x301d21)throw CliErrors[_0x1989c8(0x17a)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x1989c8(0x18a)+CLI_BIN_NAME+_0x1989c8(0x184));await _0x128623(_0x301d21,_0x282e3c,_0x1c9661,_0x81da7d[_0x1989c8(0x176)]);}else await _0x1455c3({'projectCode':_0x301d21,'appCode':_0x1c9661,'env':_0x282e3c,'cookie':_0x81da7d['cookie']});return{'ok':!![]};}},{'service':a168_0x200555(0x18e),'command':'upgrade','description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a168_0x200555(0x180),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x48abfd){const _0xe12567=a168_0x200555;return await upgradeApp(_0x48abfd[_0xe12567(0x17b)],{'yes':_0x48abfd[_0xe12567(0x186)](_0xe12567(0x181))}),{'ok':!![]};}}];
1
+ const a168_0xbed396=a168_0x3558;(function(_0x16c38f,_0x5a5a60){const _0x21514b=a168_0x3558,_0x47d1e6=_0x16c38f();while(!![]){try{const _0x138ac2=-parseInt(_0x21514b(0x118))/0x1+parseInt(_0x21514b(0x10c))/0x2*(-parseInt(_0x21514b(0x10a))/0x3)+-parseInt(_0x21514b(0x111))/0x4+-parseInt(_0x21514b(0x115))/0x5+-parseInt(_0x21514b(0x113))/0x6+-parseInt(_0x21514b(0x125))/0x7+parseInt(_0x21514b(0x11e))/0x8;if(_0x138ac2===_0x5a5a60)break;else _0x47d1e6['push'](_0x47d1e6['shift']());}catch(_0x46f96c){_0x47d1e6['push'](_0x47d1e6['shift']());}}}(a168_0x3c75,0xe208e));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';function a168_0x3558(_0xf23609,_0x227bca){_0xf23609=_0xf23609-0x107;const _0x3c75f6=a168_0x3c75();let _0x355888=_0x3c75f6[_0xf23609];return _0x355888;}const createFlags=[{'name':a168_0xbed396(0x114),'type':'string','description':a168_0xbed396(0x10b)},{'name':a168_0xbed396(0x108),'type':a168_0xbed396(0x11d),'description':a168_0xbed396(0x119)},{'name':a168_0xbed396(0x107),'type':'string','description':a168_0xbed396(0x121)}],upgradeFlags=[{'name':a168_0xbed396(0x11c),'type':a168_0xbed396(0x120),'description':a168_0xbed396(0x10d),'default':![]}];function a168_0x3c75(){const _0x338461=['Target\x20environment','bool','write','yes','string','60849576VQShbR','str','boolean','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','cookie','trim','args','12860883zpmCtJ','appcode','env','nonInteractive','3XxnPPj','Project\x20name','2865342HDXdVA','Skip\x20confirmation\x20prompt','project-name','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','5942696AIGrfz','../../commands/project/create/main.js','865344pvcqUb','name','1513000MKRgNz','create','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','1477921QfzHJK'];a168_0x3c75=function(){return _0x338461;};return a168_0x3c75();}export const projectDefinitions=[{'service':'project','command':a168_0xbed396(0x116),'description':'Create\x20a\x20new\x20project','risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a168_0xbed396(0x10e),'description':a168_0xbed396(0x110),'required':![]}],'flags':createFlags,async 'execute'(_0x438cb8){const _0x112944=a168_0xbed396,{createApp:_0x5abc68}=await import(_0x112944(0x112)),{createProjectNonInteractive:_0x46db8b}=await import('../../commands/project/create/non-interactive.js'),_0x12dda7=_0x438cb8['str'](_0x112944(0x114))[_0x112944(0x123)]()||_0x438cb8[_0x112944(0x124)][0x0]?.['trim'](),_0x1bb4af=_0x438cb8[_0x112944(0x11f)]('env')||undefined,_0x30f63d=_0x438cb8['str'](_0x112944(0x107))||undefined;if(_0x438cb8[_0x112944(0x109)]){if(!_0x12dda7)throw CliErrors['validation'](_0x112944(0x10f),'Usage:\x20'+CLI_BIN_NAME+_0x112944(0x117));await _0x46db8b(_0x12dda7,_0x1bb4af,_0x30f63d,_0x438cb8[_0x112944(0x122)]);}else await _0x5abc68({'projectCode':_0x12dda7,'appCode':_0x30f63d,'env':_0x1bb4af,'cookie':_0x438cb8[_0x112944(0x122)]});return{'ok':!![]};}},{'service':'project','command':'upgrade','description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a168_0xbed396(0x11b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x399dc9){const _0x17add7=a168_0xbed396;return await upgradeApp(_0x399dc9[_0x17add7(0x109)],{'yes':_0x399dc9[_0x17add7(0x11a)](_0x17add7(0x11c))}),{'ok':!![]};}}];