@lovrabet/rabetbase-cli 2.3.10-beta.2 → 2.3.10

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 (259) 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/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/logs/index.js +1 -1
  102. package/lib/commands/menu/delete.js +1 -1
  103. package/lib/commands/menu/external-link-create.js +1 -1
  104. package/lib/commands/menu/group-create.js +1 -1
  105. package/lib/commands/menu/group-update.js +1 -1
  106. package/lib/commands/menu/index.js +1 -1
  107. package/lib/commands/menu/list.js +1 -1
  108. package/lib/commands/menu/regroup-start.js +1 -1
  109. package/lib/commands/menu/shared/compare-table.js +1 -1
  110. package/lib/commands/menu/shared/delete-plan.js +1 -1
  111. package/lib/commands/menu/shared/facts.js +1 -1
  112. package/lib/commands/menu/shared/index.js +1 -1
  113. package/lib/commands/menu/shared/inquirer.js +1 -1
  114. package/lib/commands/menu/shared/local-pages.js +1 -1
  115. package/lib/commands/menu/shared/logic.js +1 -1
  116. package/lib/commands/menu/shared/mutations.js +1 -1
  117. package/lib/commands/menu/shared/service.js +1 -1
  118. package/lib/commands/menu/shared/sync-core.js +1 -1
  119. package/lib/commands/menu/shared/update-core.js +1 -1
  120. package/lib/commands/menu/shared/valid-url.js +1 -1
  121. package/lib/commands/menu/sync.js +1 -1
  122. package/lib/commands/menu/update.js +1 -1
  123. package/lib/commands/notification/config-list.js +1 -1
  124. package/lib/commands/notification/index.js +1 -1
  125. package/lib/commands/page/generate-start.js +1 -1
  126. package/lib/commands/page/generate-status.js +1 -1
  127. package/lib/commands/page/index.js +1 -1
  128. package/lib/commands/page/pull.js +1 -1
  129. package/lib/commands/page/push.js +1 -1
  130. package/lib/commands/page/relation-audit.js +1 -1
  131. package/lib/commands/page/shared.js +1 -1
  132. package/lib/commands/page/standard-page-status.js +1 -1
  133. package/lib/commands/page/sync.js +1 -1
  134. package/lib/commands/permit/index.js +1 -1
  135. package/lib/commands/permit/page-get.js +1 -1
  136. package/lib/commands/permit/page-set.js +1 -1
  137. package/lib/commands/permit/role-apis-set.js +1 -1
  138. package/lib/commands/permit/role-menus-set.js +1 -1
  139. package/lib/commands/permit/role-menus.js +1 -1
  140. package/lib/commands/permit/shared.js +1 -1
  141. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  142. package/lib/commands/project/create/format-elapsed.js +1 -1
  143. package/lib/commands/project/create/main.js +1 -1
  144. package/lib/commands/project/create/non-interactive.js +1 -1
  145. package/lib/commands/project/create/project-template-path.js +1 -1
  146. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  147. package/lib/commands/project/create/use-format-code.js +1 -1
  148. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  149. package/lib/commands/project/index.js +1 -1
  150. package/lib/commands/project/init.js +1 -1
  151. package/lib/commands/project/upgrade.js +1 -1
  152. package/lib/commands/registry.js +1 -1
  153. package/lib/commands/role/create.js +1 -1
  154. package/lib/commands/role/delete.js +1 -1
  155. package/lib/commands/role/detail.js +1 -1
  156. package/lib/commands/role/index.js +1 -1
  157. package/lib/commands/role/list.js +1 -1
  158. package/lib/commands/role/shared.js +1 -1
  159. package/lib/commands/role/update.js +1 -1
  160. package/lib/commands/role/user-add.js +1 -1
  161. package/lib/commands/role/user-remove.js +1 -1
  162. package/lib/commands/role/user-resolve.js +1 -1
  163. package/lib/commands/run/index.js +1 -1
  164. package/lib/commands/schema.js +1 -1
  165. package/lib/commands/sql/create.js +1 -1
  166. package/lib/commands/sql/delete.js +1 -1
  167. package/lib/commands/sql/detail.js +1 -1
  168. package/lib/commands/sql/exec.js +1 -1
  169. package/lib/commands/sql/index.js +1 -1
  170. package/lib/commands/sql/list.js +1 -1
  171. package/lib/commands/sql/pull.js +1 -1
  172. package/lib/commands/sql/push.js +1 -1
  173. package/lib/commands/sql/save.js +1 -1
  174. package/lib/commands/sql/shared.js +1 -1
  175. package/lib/commands/sql/status.js +1 -1
  176. package/lib/commands/sql/validate.js +1 -1
  177. package/lib/commands/task/index.js +1 -1
  178. package/lib/commands/task/status.js +1 -1
  179. package/lib/commands/workspace/add.js +1 -1
  180. package/lib/commands/workspace/index.js +1 -1
  181. package/lib/commands/workspace/remove.js +1 -1
  182. package/lib/config/schema.js +1 -1
  183. package/lib/constant/cdn.js +1 -1
  184. package/lib/constant/cli.js +1 -1
  185. package/lib/constant/defaults.js +1 -1
  186. package/lib/constant/domain.js +1 -1
  187. package/lib/constant/env.js +1 -1
  188. package/lib/constant/output.js +1 -1
  189. package/lib/constant/paths.js +1 -1
  190. package/lib/constant/risk.js +1 -1
  191. package/lib/context/app-resolver.js +1 -1
  192. package/lib/context/auth-resolver.js +1 -1
  193. package/lib/context/config-loader.js +1 -1
  194. package/lib/context.js +1 -1
  195. package/lib/core/alias-resolver.js +1 -1
  196. package/lib/core/api-client.js +1 -1
  197. package/lib/core/bff/config.js +1 -1
  198. package/lib/core/bff/file-system.js +1 -1
  199. package/lib/core/bff/hash.js +1 -1
  200. package/lib/core/bff/lock.js +1 -1
  201. package/lib/core/bff/utils.js +1 -1
  202. package/lib/core/db-resolver.js +1 -1
  203. package/lib/core/page/file-system.js +1 -1
  204. package/lib/core/page/hash.js +1 -1
  205. package/lib/core/page/lock.js +1 -1
  206. package/lib/core/sql-index-auditor.js +1 -1
  207. package/lib/core/sql-sync/config.js +1 -1
  208. package/lib/core/sql-sync/file-system.js +1 -1
  209. package/lib/core/sql-sync/hash.js +1 -1
  210. package/lib/core/sql-sync/lock.js +1 -1
  211. package/lib/core/sql-sync/utils.js +1 -1
  212. package/lib/core/sql-validator.js +1 -1
  213. package/lib/errors.js +1 -1
  214. package/lib/framework/build-all-flags.js +1 -1
  215. package/lib/framework/error-output.js +1 -1
  216. package/lib/framework/explicit-yes.js +1 -1
  217. package/lib/framework/flags.js +1 -1
  218. package/lib/framework/help.js +1 -1
  219. package/lib/framework/index.js +1 -1
  220. package/lib/framework/output.js +1 -1
  221. package/lib/framework/response.js +1 -1
  222. package/lib/framework/runner-alias.js +1 -1
  223. package/lib/framework/runner.js +1 -1
  224. package/lib/framework/schema-export.js +1 -1
  225. package/lib/framework/types.js +1 -1
  226. package/lib/generated/build-info.js +1 -1
  227. package/lib/help.js +1 -1
  228. package/lib/skills/main.js +1 -1
  229. package/lib/skills/npx-skills-add.js +1 -1
  230. package/lib/telemetry/cli-command-trace.js +1 -1
  231. package/lib/telemetry/cli-help-trace.js +1 -1
  232. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  233. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  234. package/lib/telemetry/send-cli-trace-log.js +1 -1
  235. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  236. package/lib/utils/ai_config.js +1 -1
  237. package/lib/utils/apply-jq-filter.js +1 -1
  238. package/lib/utils/cdn-config.js +1 -1
  239. package/lib/utils/check-sdk-version.js +1 -1
  240. package/lib/utils/cli-version-check.js +1 -1
  241. package/lib/utils/cli-version-policy.js +1 -1
  242. package/lib/utils/config.js +1 -1
  243. package/lib/utils/copy-directory.js +1 -1
  244. package/lib/utils/entity-with-id.js +1 -1
  245. package/lib/utils/file-utils.js +1 -1
  246. package/lib/utils/guides-cdn.js +1 -1
  247. package/lib/utils/http-client.js +1 -1
  248. package/lib/utils/is-non-interactive.js +1 -1
  249. package/lib/utils/logger.js +1 -1
  250. package/lib/utils/params.js +1 -1
  251. package/lib/utils/platform.js +1 -1
  252. package/lib/utils/rules-cdn.js +1 -1
  253. package/lib/utils/sleep.js +1 -1
  254. package/lib/utils/template-replacer.js +1 -1
  255. package/lib/utils/update-notice.js +1 -1
  256. package/lib/utils/version.js +1 -1
  257. package/lib/utils/with-active-cookie.js +1 -1
  258. package/lib/utils/write-cli-side-channel.js +1 -1
  259. package/package.json +1 -1
@@ -1 +1 @@
1
- const a138_0x44fc09=a138_0xf3a9;(function(_0x383618,_0x1eb35b){const _0x36a8e5=a138_0xf3a9,_0x52e46e=_0x383618();while(!![]){try{const _0x125be7=parseInt(_0x36a8e5(0xe0))/0x1*(parseInt(_0x36a8e5(0xf3))/0x2)+parseInt(_0x36a8e5(0xed))/0x3+-parseInt(_0x36a8e5(0xdf))/0x4+parseInt(_0x36a8e5(0xf4))/0x5*(parseInt(_0x36a8e5(0xf1))/0x6)+-parseInt(_0x36a8e5(0xf6))/0x7*(-parseInt(_0x36a8e5(0xf2))/0x8)+-parseInt(_0x36a8e5(0xf7))/0x9+parseInt(_0x36a8e5(0xfb))/0xa;if(_0x125be7===_0x1eb35b)break;else _0x52e46e['push'](_0x52e46e['shift']());}catch(_0x40cd8c){_0x52e46e['push'](_0x52e46e['shift']());}}}(a138_0x18a0,0x41e6e));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 a138_0xf3a9(_0x1743b3,_0x34b698){_0x1743b3=_0x1743b3-0xdf;const _0x18a093=a138_0x18a0();let _0xf3a92a=_0x18a093[_0x1743b3];return _0xf3a92a;}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';function a138_0x18a0(){const _0xbaef5c=['validation','14604ECkASX','2585720TFnetu','58COnllo','40GapPeE','length','7inDKMZ','4051989mmXmKR','str','menu-grant','POST','2142060PUhdki','1631648YaEbYG','4003bjKEKq','flagMissing','Updated\x20','roleName','Pass\x20--menus\x20<resourceCode,...>.','join','menus','permit','push','menu-revoke','appCode','PAGE','filter','1365261bPqGeF','/smartapi/permit/role/update','Unknown\x20menu\x20resourceCode(s):\x20'];a138_0x18a0=function(){return _0xbaef5c;};return a138_0x18a0();}const UPDATE_PATH=a138_0x44fc09(0xee);async function buildPlan(_0x298139,_0x593741){const _0x1c22dc=a138_0x44fc09,_0x490d66=await resolveRoleRef(_0x298139['appCode'],readRoleRef(_0x298139));assertPermConfigurable(_0x490d66);const _0x4643a6=readGrantRevoke(_0x298139),_0x56891f=splitList(_0x298139[_0x1c22dc(0xf8)](_0x1c22dc(0xe6)));if(_0x56891f[_0x1c22dc(0xf5)]===0x0)throw CliErrors[_0x1c22dc(0xe1)](_0x1c22dc(0xe6),_0x1c22dc(0xe4));const _0x39e52c=await getRoleMenuResources(_0x298139[_0x1c22dc(0xea)],_0x490d66['id']),_0x44ac7c=flattenMenuResources(_0x39e52c),_0x360f4f=_0x56891f[_0x1c22dc(0xec)](_0x4ba004=>!_0x44ac7c['has'](_0x4ba004));if(_0x360f4f['length']>0x0)throw CliErrors[_0x1c22dc(0xf0)](_0x1c22dc(0xef)+_0x360f4f[_0x1c22dc(0xe5)](',\x20')+'.','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.');const _0x4b5bab=new Map(),_0x3eb1a5=[],_0x54787d=[];for(const _0x2ce3ac of _0x56891f){const _0x2c1059=_0x44ac7c['get'](_0x2ce3ac);_0x4b5bab['set'](_0x2ce3ac,_0x4643a6),_0x3eb1a5[_0x1c22dc(0xe8)]({'resourceCode':_0x2ce3ac,'action':_0x2c1059['action']}),_0x54787d[_0x1c22dc(0xe8)]({'resourceCode':_0x2ce3ac,'action':_0x4643a6});}const _0xa5ae8b=buildPermits(_0x44ac7c,_0x4b5bab),_0x4f7af0={'operation':_0x4643a6==='access'?_0x1c22dc(0xf9):_0x1c22dc(0xe9),'selector':{'appCode':_0x298139[_0x1c22dc(0xea)],'roleId':_0x490d66['id'],'roleName':_0x490d66[_0x1c22dc(0xe3)],'resourceCodes':_0x56891f},'before':_0x3eb1a5,'after':_0x54787d,'dryRun':_0x593741,'backend':{'method':_0x1c22dc(0xfa),'path':UPDATE_PATH,'roleType':_0x1c22dc(0xeb)},'warnings':[]};return{'role':_0x490d66,'permits':_0xa5ae8b,'mutation':_0x4f7af0};}export const permitRoleMenusSet={'service':a138_0x44fc09(0xe7),'command':'role-menus-set','description':'Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e957c){const _0x404468=a138_0x44fc09;readGrantRevoke(_0x3e957c);if(splitList(_0x3e957c[_0x404468(0xf8)](_0x404468(0xe6)))[_0x404468(0xf5)]===0x0)throw CliErrors['flagMissing'](_0x404468(0xe6),_0x404468(0xe4));},async 'dryRun'(_0x225553){const {mutation:_0x4cd626}=await buildPlan(_0x225553,!![]);return asDryRunResult(_0x4cd626,{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x5a51ef){const _0x259e7c=a138_0x44fc09,{role:_0x32030e,permits:_0x3fd172,mutation:_0x214e87}=await buildPlan(_0x5a51ef,![]);return await updateAppRole({'id':_0x32030e['id'],'appCode':_0x5a51ef[_0x259e7c(0xea)],'roleType':'PAGE','permits':_0x3fd172}),{'ok':!![],'data':_0x214e87,'message':_0x259e7c(0xe2)+_0x214e87['selector']['resourceCodes'][_0x259e7c(0xf5)]+'\x20menu\x20permit(s)\x20for\x20role\x20'+_0x32030e[_0x259e7c(0xe3)]};}};
1
+ const a138_0x1c4727=a138_0x22a5;(function(_0x24c786,_0xb6c805){const _0x3e551b=a138_0x22a5,_0x38b101=_0x24c786();while(!![]){try{const _0x485b3f=-parseInt(_0x3e551b(0x1d1))/0x1+parseInt(_0x3e551b(0x1d5))/0x2+-parseInt(_0x3e551b(0x1cb))/0x3+-parseInt(_0x3e551b(0x1cd))/0x4*(-parseInt(_0x3e551b(0x1cc))/0x5)+-parseInt(_0x3e551b(0x1c9))/0x6*(parseInt(_0x3e551b(0x1c5))/0x7)+parseInt(_0x3e551b(0x1ca))/0x8+parseInt(_0x3e551b(0x1ba))/0x9;if(_0x485b3f===_0xb6c805)break;else _0x38b101['push'](_0x38b101['shift']());}catch(_0x18cd01){_0x38b101['push'](_0x38b101['shift']());}}}(a138_0x2c7f,0x30117));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a138_0x22a5(_0x582426,_0x26d775){_0x582426=_0x582426-0x1b8;const _0x2c7fe5=a138_0x2c7f();let _0x22a5e3=_0x2c7fe5[_0x582426];return _0x22a5e3;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a138_0x1c4727(0x1c4);function a138_0x2c7f(){const _0x4121b7=['Pass\x20--menus\x20<resourceCode,...>.','POST','length','set','/smartapi/permit/role/update','180943SrteRu','filter','roleName','flagMissing','30llOPjw','3888qUYHre','899307pCvRnP','19655zEUSLP','20CCkQbS','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','high-risk-write','appCode','148770FrveUv','\x20menu\x20permit(s)\x20for\x20role\x20','role-menus-set','Unknown\x20menu\x20resourceCode(s):\x20','653116JePMum','menu-grant','has','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','PAGE','menu-revoke','menus','selector','3851748TlUSJG','validation','permit','action','join','str'];a138_0x2c7f=function(){return _0x4121b7;};return a138_0x2c7f();}async function buildPlan(_0x14ff21,_0x2b1a9a){const _0x57ab09=a138_0x1c4727,_0x382437=await resolveRoleRef(_0x14ff21['appCode'],readRoleRef(_0x14ff21));assertPermConfigurable(_0x382437);const _0x10b85e=readGrantRevoke(_0x14ff21),_0x54874b=splitList(_0x14ff21['str'](_0x57ab09(0x1b8)));if(_0x54874b[_0x57ab09(0x1c2)]===0x0)throw CliErrors[_0x57ab09(0x1c8)](_0x57ab09(0x1b8),'Pass\x20--menus\x20<resourceCode,...>.');const _0x4fc816=await getRoleMenuResources(_0x14ff21[_0x57ab09(0x1d0)],_0x382437['id']),_0x57ab7e=flattenMenuResources(_0x4fc816),_0x3316f0=_0x54874b[_0x57ab09(0x1c6)](_0x2491d4=>!_0x57ab7e[_0x57ab09(0x1d7)](_0x2491d4));if(_0x3316f0[_0x57ab09(0x1c2)]>0x0)throw CliErrors[_0x57ab09(0x1bb)](_0x57ab09(0x1d4)+_0x3316f0[_0x57ab09(0x1be)](',\x20')+'.',_0x57ab09(0x1ce));const _0x107870=new Map(),_0x54d11a=[],_0x55ffed=[];for(const _0x498359 of _0x54874b){const _0x4be096=_0x57ab7e['get'](_0x498359);_0x107870[_0x57ab09(0x1c3)](_0x498359,_0x10b85e),_0x54d11a['push']({'resourceCode':_0x498359,'action':_0x4be096[_0x57ab09(0x1bd)]}),_0x55ffed['push']({'resourceCode':_0x498359,'action':_0x10b85e});}const _0x12c542=buildPermits(_0x57ab7e,_0x107870),_0x443c07={'operation':_0x10b85e==='access'?_0x57ab09(0x1d6):_0x57ab09(0x1da),'selector':{'appCode':_0x14ff21[_0x57ab09(0x1d0)],'roleId':_0x382437['id'],'roleName':_0x382437[_0x57ab09(0x1c7)],'resourceCodes':_0x54874b},'before':_0x54d11a,'after':_0x55ffed,'dryRun':_0x2b1a9a,'backend':{'method':_0x57ab09(0x1c1),'path':UPDATE_PATH,'roleType':_0x57ab09(0x1d9)},'warnings':[]};return{'role':_0x382437,'permits':_0x12c542,'mutation':_0x443c07};}export const permitRoleMenusSet={'service':a138_0x1c4727(0x1bc),'command':a138_0x1c4727(0x1d3),'description':a138_0x1c4727(0x1d8),'risk':a138_0x1c4727(0x1cf),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x19e99d){const _0x3ba7e6=a138_0x1c4727;readGrantRevoke(_0x19e99d);if(splitList(_0x19e99d[_0x3ba7e6(0x1bf)](_0x3ba7e6(0x1b8)))[_0x3ba7e6(0x1c2)]===0x0)throw CliErrors[_0x3ba7e6(0x1c8)](_0x3ba7e6(0x1b8),_0x3ba7e6(0x1c0));},async 'dryRun'(_0x11575d){const {mutation:_0x2dc9e8}=await buildPlan(_0x11575d,!![]);return asDryRunResult(_0x2dc9e8,{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x2ce875){const _0x31c6e3=a138_0x1c4727,{role:_0x88d40a,permits:_0x405100,mutation:_0x33da85}=await buildPlan(_0x2ce875,![]);return await updateAppRole({'id':_0x88d40a['id'],'appCode':_0x2ce875[_0x31c6e3(0x1d0)],'roleType':_0x31c6e3(0x1d9),'permits':_0x405100}),{'ok':!![],'data':_0x33da85,'message':'Updated\x20'+_0x33da85[_0x31c6e3(0x1b9)]['resourceCodes'][_0x31c6e3(0x1c2)]+_0x31c6e3(0x1d2)+_0x88d40a['roleName']};}};
@@ -1 +1 @@
1
- const a139_0x1e59b9=a139_0x3684;(function(_0x119628,_0x4d4240){const _0x1d620f=a139_0x3684,_0x524449=_0x119628();while(!![]){try{const _0x15c270=-parseInt(_0x1d620f(0x168))/0x1*(-parseInt(_0x1d620f(0x174))/0x2)+parseInt(_0x1d620f(0x16e))/0x3+-parseInt(_0x1d620f(0x162))/0x4+parseInt(_0x1d620f(0x173))/0x5+-parseInt(_0x1d620f(0x176))/0x6*(-parseInt(_0x1d620f(0x171))/0x7)+parseInt(_0x1d620f(0x16f))/0x8*(parseInt(_0x1d620f(0x166))/0x9)+parseInt(_0x1d620f(0x16c))/0xa*(-parseInt(_0x1d620f(0x16d))/0xb);if(_0x15c270===_0x4d4240)break;else _0x524449['push'](_0x524449['shift']());}catch(_0x3dfb69){_0x524449['push'](_0x524449['shift']());}}}(a139_0x6293,0x2bbef));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a139_0x6293(){const _0x9f633=['1334808QOrGON','read','7OwOOYJ','access','1180880xiVCEm','2fojTRt','action','1381746BbydgW','allowed','resourceName','values','map','permit','appCode','572188HaeIWC','filter','length','role-menus','18eKPPbe','\x20has\x20','307841NKFFxW','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','roleName','Role\x20','80UxeUxC','1213663UQdFQw','290652OcjVIZ'];a139_0x6293=function(){return _0x9f633;};return a139_0x6293();}function a139_0x3684(_0x4718aa,_0x56f658){_0x4718aa=_0x4718aa-0x162;const _0x629318=a139_0x6293();let _0x368479=_0x629318[_0x4718aa];return _0x368479;}import{resolveRoleRef}from'../../commands/role/shared.js';export const permitRoleMenus={'service':a139_0x1e59b9(0x17b),'command':a139_0x1e59b9(0x165),'description':a139_0x1e59b9(0x169),'risk':a139_0x1e59b9(0x170),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x243450){const _0x137520=a139_0x1e59b9,_0x54c857=await resolveRoleRef(_0x243450[_0x137520(0x17c)],readRoleRef(_0x243450)),_0xb79c2e=await getRoleMenuResources(_0x243450[_0x137520(0x17c)],_0x54c857['id']),_0x25731c=flattenMenuResources(_0xb79c2e),_0x3ed4ce=Array['from'](_0x25731c[_0x137520(0x179)]())[_0x137520(0x17a)](_0x296207=>({'resourceCode':_0x296207['resourceCode'],'resourceName':_0x296207[_0x137520(0x178)],'allowed':_0x296207[_0x137520(0x175)]===_0x137520(0x172),'action':_0x296207[_0x137520(0x175)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x243450['appCode'],'roleId':_0x54c857['id'],'roleName':_0x54c857['roleName']},'menus':_0x3ed4ce},'message':_0x137520(0x16b)+_0x54c857[_0x137520(0x16a)]+_0x137520(0x167)+_0x3ed4ce[_0x137520(0x163)](_0x2f91fa=>_0x2f91fa[_0x137520(0x177)])[_0x137520(0x164)]+'/'+_0x3ed4ce[_0x137520(0x164)]+'\x20menu(s)\x20allowed'};}};
1
+ const a139_0x3e7a42=a139_0x3bdf;(function(_0x4c6c9e,_0x1c2f92){const _0x5c5d35=a139_0x3bdf,_0x236293=_0x4c6c9e();while(!![]){try{const _0x5f10ce=parseInt(_0x5c5d35(0x105))/0x1*(-parseInt(_0x5c5d35(0xfc))/0x2)+parseInt(_0x5c5d35(0x108))/0x3*(-parseInt(_0x5c5d35(0xf8))/0x4)+parseInt(_0x5c5d35(0xf1))/0x5*(parseInt(_0x5c5d35(0x102))/0x6)+parseInt(_0x5c5d35(0xfb))/0x7+-parseInt(_0x5c5d35(0xf4))/0x8*(parseInt(_0x5c5d35(0x103))/0x9)+-parseInt(_0x5c5d35(0xf6))/0xa*(parseInt(_0x5c5d35(0xfe))/0xb)+parseInt(_0x5c5d35(0xee))/0xc;if(_0x5f10ce===_0x1c2f92)break;else _0x236293['push'](_0x236293['shift']());}catch(_0x2a422d){_0x236293['push'](_0x236293['shift']());}}}(a139_0x1754,0x3c01c));import{getRoleMenuResources}from'../../core/api-client.js';function a139_0x1754(){const _0x2b38cc=['access','allowed','2480742hUtgTM','319581UEQOQo','roleName','30CKXstp','appCode','length','93qOzVYE','action','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','3461760WKsDAF','map','filter','5lQhuZw','read','from','56fIzRVg','role-menus','10jamjOq','values','52340WxhJca','permit','\x20has\x20','2533797vQdHQA','8276rtBTQJ','Role\x20','437602ARBioJ','resourceCode'];a139_0x1754=function(){return _0x2b38cc;};return a139_0x1754();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a139_0x3bdf(_0x4a650a,_0x2856b1){_0x4a650a=_0x4a650a-0xed;const _0x175442=a139_0x1754();let _0x3bdf13=_0x175442[_0x4a650a];return _0x3bdf13;}import{resolveRoleRef}from'../../commands/role/shared.js';export const permitRoleMenus={'service':a139_0x3e7a42(0xf9),'command':a139_0x3e7a42(0xf5),'description':a139_0x3e7a42(0xed),'risk':a139_0x3e7a42(0xf2),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x5efce8){const _0x7d682a=a139_0x3e7a42,_0x436360=await resolveRoleRef(_0x5efce8[_0x7d682a(0x106)],readRoleRef(_0x5efce8)),_0x21df39=await getRoleMenuResources(_0x5efce8[_0x7d682a(0x106)],_0x436360['id']),_0x4d00e8=flattenMenuResources(_0x21df39),_0x11c0e2=Array[_0x7d682a(0xf3)](_0x4d00e8[_0x7d682a(0xf7)]())[_0x7d682a(0xef)](_0x15cab5=>({'resourceCode':_0x15cab5[_0x7d682a(0xff)],'resourceName':_0x15cab5['resourceName'],'allowed':_0x15cab5['action']===_0x7d682a(0x100),'action':_0x15cab5[_0x7d682a(0x109)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x5efce8[_0x7d682a(0x106)],'roleId':_0x436360['id'],'roleName':_0x436360[_0x7d682a(0x104)]},'menus':_0x11c0e2},'message':_0x7d682a(0xfd)+_0x436360[_0x7d682a(0x104)]+_0x7d682a(0xfa)+_0x11c0e2[_0x7d682a(0xf0)](_0x3f393a=>_0x3f393a[_0x7d682a(0x101)])[_0x7d682a(0x107)]+'/'+_0x11c0e2[_0x7d682a(0x107)]+'\x20menu(s)\x20allowed'};}};
@@ -1 +1 @@
1
- const a140_0x44dbb7=a140_0x1b88;function a140_0x2014(){const _0x5449ab=['delete-roles','menu\x20visibility','3465412PfdBvf','Role\x20id\x20or\x20role\x20name','datasets','length','bool','roleType','menu-id','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','21kumwBD','allowedActions','set','dataUpdate','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.',';\x20SELF\x20=\x20only\x20own\x20rows','data\x20create','filter','role','some','action','entries','trim','find','data\x20detail','apiList','rolePermit','5652360zzlQvC','data\x20export','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','revoke','SELF\x20is\x20not\x20allowed\x20for\x20','data\x20delete','join','create-roles','2969232BzVouZ','ALL','menu-roles','menuPermit','Role\x20id\x20','Special\x20role\x20','118734avYmIA','key','split','map','110osaZWg','test','Missing\x20action.','appCode','datasetCode','str','push','\x22\x20not\x20found.','\x20(comma-separated\x20SELF/ALL/id/name)','dataDetail','flagMissing','resourceName','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','228882iPrDgN','access','SELF','pageNodeList','roleName','resourceCode','number','grant','string','menus','Run\x20`role\x20list`.','\x22\x20is\x20ambiguous\x20(ids:\x20','boolean','allowSelf','Disambiguate\x20with\x20an\x20id.','330190JuRglC','dataCreate','dataDelete','Menu\x20id\x20(from\x20`menu\x20list`)','\x20not\x20found.','validation','detail-roles','export-roles','1326288TtXhzv','get'];a140_0x2014=function(){return _0x5449ab;};return a140_0x2014();}(function(_0x5ad67a,_0x3d251c){const _0x12a49f=a140_0x1b88,_0xc3ec89=_0x5ad67a();while(!![]){try{const _0xd6d572=-parseInt(_0x12a49f(0x198))/0x1+-parseInt(_0x12a49f(0x164))/0x2+-parseInt(_0x12a49f(0x16c))/0x3+-parseInt(_0x12a49f(0x170))/0x4+parseInt(_0x12a49f(0x19c))/0x5*(parseInt(_0x12a49f(0x155))/0x6)+-parseInt(_0x12a49f(0x178))/0x7*(-parseInt(_0x12a49f(0x192))/0x8)+parseInt(_0x12a49f(0x18a))/0x9;if(_0xd6d572===_0x3d251c)break;else _0xc3ec89['push'](_0xc3ec89['shift']());}catch(_0xcd83d7){_0xc3ec89['push'](_0xc3ec89['shift']());}}}(a140_0x2014,0xf152a));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a140_0x44dbb7(0x176),'type':a140_0x44dbb7(0x15b),'required':!![],'description':a140_0x44dbb7(0x167)};export const ROLE_REF_FLAG={'name':a140_0x44dbb7(0x181),'type':a140_0x44dbb7(0x15d),'required':!![],'description':a140_0x44dbb7(0x171)};export const GRANT_FLAG={'name':a140_0x44dbb7(0x15c),'type':a140_0x44dbb7(0x161),'required':![],'description':'Grant\x20access\x20to\x20the\x20listed\x20resources'};export const REVOKE_FLAG={'name':'revoke','type':a140_0x44dbb7(0x161),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a140_0x44dbb7(0x15e),'type':'string','required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};export const DATASETS_FLAG={'name':a140_0x44dbb7(0x172),'type':a140_0x44dbb7(0x15d),'required':!![],'description':a140_0x44dbb7(0x154)};export const PAGE_SLOT_SPECS=[{'flag':a140_0x44dbb7(0x194),'key':a140_0x44dbb7(0x195),'allowSelf':![],'label':a140_0x44dbb7(0x16f)},{'flag':a140_0x44dbb7(0x191),'key':a140_0x44dbb7(0x165),'allowSelf':![],'label':a140_0x44dbb7(0x17f)},{'flag':'update-roles','key':a140_0x44dbb7(0x17b),'allowSelf':![],'label':'data\x20update'},{'flag':a140_0x44dbb7(0x16e),'key':a140_0x44dbb7(0x166),'allowSelf':![],'label':a140_0x44dbb7(0x18f)},{'flag':a140_0x44dbb7(0x16a),'key':a140_0x44dbb7(0x151),'allowSelf':![],'label':a140_0x44dbb7(0x187)},{'flag':a140_0x44dbb7(0x16b),'key':'dataExport','allowSelf':![],'label':a140_0x44dbb7(0x18b)},{'flag':'row-roles','key':'dataPermit','allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a140_0x44dbb7(0x19b)](_0x33c879=>({'name':_0x33c879['flag'],'type':a140_0x44dbb7(0x15d),'required':![],'description':'Roles\x20for\x20'+_0x33c879['label']+a140_0x44dbb7(0x150)+(_0x33c879[a140_0x44dbb7(0x162)]?a140_0x44dbb7(0x17e):'')}));export function splitList(_0x5b0522){const _0x505c30=a140_0x44dbb7;return _0x5b0522[_0x505c30(0x19a)](',')[_0x505c30(0x19b)](_0x23b847=>_0x23b847[_0x505c30(0x185)]())[_0x505c30(0x180)](Boolean);}export function projectRoleRef(_0x50827a){const _0x3c9234=a140_0x44dbb7;return{'id':_0x50827a['id'],'roleName':_0x50827a[_0x3c9234(0x159)],'roleType':_0x50827a['roleType']};}export async function resolvePermitRoles(_0x3b0061,_0x19e0c6,_0x1b512d){const _0x4329c4=a140_0x44dbb7,_0x28f37f=await listPermitRoles(_0x3b0061,{'needSelf':!![],'needPublic':!![]}),_0x45138f=[];for(const _0x5caa7a of _0x19e0c6){const _0x4a6a58=resolveOnePermitRole(_0x28f37f,_0x5caa7a);if(!_0x1b512d[_0x4329c4(0x162)]&&_0x4a6a58[_0x4329c4(0x175)]===_0x4329c4(0x157))throw CliErrors['validation'](_0x4329c4(0x18e)+_0x1b512d['label']+'.',_0x4329c4(0x17c));if(!_0x45138f[_0x4329c4(0x182)](_0x2d1e81=>_0x2d1e81['id']===_0x4a6a58['id']))_0x45138f[_0x4329c4(0x14e)](_0x4a6a58);}return _0x45138f;}function resolveOnePermitRole(_0x24701e,_0x111009){const _0x55972b=a140_0x44dbb7,_0x21199c=_0x111009[_0x55972b(0x185)](),_0x1a0203=_0x21199c['toUpperCase']();if(_0x1a0203===_0x55972b(0x157)||_0x1a0203===_0x55972b(0x193)){const _0x2c42c3=_0x24701e['find'](_0x203015=>_0x203015[_0x55972b(0x175)]===_0x1a0203);if(!_0x2c42c3)throw CliErrors[_0x55972b(0x169)](_0x55972b(0x197)+_0x1a0203+'\x20is\x20not\x20available\x20for\x20this\x20app.');return _0x2c42c3;}if(/^-?\d+$/[_0x55972b(0x19d)](_0x21199c)){const _0x4cab19=Number(_0x21199c),_0x41ad1c=_0x24701e[_0x55972b(0x186)](_0x581008=>_0x581008['id']===_0x4cab19);if(!_0x41ad1c)throw CliErrors[_0x55972b(0x169)](_0x55972b(0x196)+_0x4cab19+_0x55972b(0x168),_0x55972b(0x15f));return _0x41ad1c;}const _0x23cd5d=_0x24701e[_0x55972b(0x180)](_0x3c6bc8=>_0x3c6bc8[_0x55972b(0x159)]===_0x21199c);if(_0x23cd5d[_0x55972b(0x173)]===0x0)throw CliErrors[_0x55972b(0x169)]('Role\x20\x22'+_0x21199c+_0x55972b(0x14f),_0x55972b(0x17d));if(_0x23cd5d['length']>0x1)throw CliErrors[_0x55972b(0x169)]('Role\x20\x22'+_0x21199c+_0x55972b(0x160)+_0x23cd5d[_0x55972b(0x19b)](_0x2abd09=>_0x2abd09['id'])[_0x55972b(0x190)](',\x20')+').',_0x55972b(0x163));return _0x23cd5d[0x0];}export function projectPageSlot(_0x47676f){const _0x585d54=a140_0x44dbb7;if(!_0x47676f)return null;return{'resourceCode':_0x47676f[_0x585d54(0x15a)],'roles':(_0x47676f[_0x585d54(0x189)]??[])[_0x585d54(0x19b)](projectRoleRef)};}export function projectPagePermit(_0x519664){const _0x53de6c=a140_0x44dbb7,_0x5818fe={'menuId':_0x519664['menuId'],'appCode':_0x519664[_0x53de6c(0x14b)],'menuPermit':projectPageSlot(_0x519664[_0x53de6c(0x195)])};for(const _0x1e7f9c of PAGE_SLOT_SPECS){if(_0x1e7f9c['key']===_0x53de6c(0x195))continue;_0x5818fe[_0x1e7f9c[_0x53de6c(0x199)]]=projectPageSlot(_0x519664[_0x1e7f9c[_0x53de6c(0x199)]]);}return _0x5818fe;}export function flattenMenuResources(_0x2896d0){const _0x51e0dc=new Map(),_0x4ed3ce=_0xabb6c4=>{const _0x5a490b=a140_0x1b88;for(const _0x8be821 of _0xabb6c4??[]){_0x51e0dc[_0x5a490b(0x17a)](_0x8be821['resourceCode'],{'resourceCode':_0x8be821[_0x5a490b(0x15a)],'resourceName':_0x8be821[_0x5a490b(0x153)],'action':_0x8be821[_0x5a490b(0x179)]?.[0x0]??'0'});if(_0x8be821[_0x5a490b(0x158)])_0x4ed3ce(_0x8be821[_0x5a490b(0x158)]);}};return _0x4ed3ce(_0x2896d0),_0x51e0dc;}function a140_0x1b88(_0x203097,_0x4158e1){_0x203097=_0x203097-0x14b;const _0x201419=a140_0x2014();let _0x1b88e1=_0x201419[_0x203097];return _0x1b88e1;}export function flattenApiResources(_0x163d68){const _0x2e708d=a140_0x44dbb7,_0xf04e01=new Map(),_0x3c9e9f=new Map();for(const _0x5ed704 of _0x163d68){const _0x2f8142=_0x5ed704[_0x2e708d(0x188)]??{};for(const [_0x1fddc9,_0x3d7410]of Object[_0x2e708d(0x184)](_0x2f8142)){_0xf04e01[_0x2e708d(0x17a)](_0x1fddc9,{'resourceCode':_0x1fddc9,'resourceName':_0x5ed704[_0x2e708d(0x153)],'datasetCode':_0x5ed704[_0x2e708d(0x14c)],'action':_0x3d7410?.[0x0]??'0'});const _0x3927a5=_0x3c9e9f[_0x2e708d(0x16d)](_0x5ed704[_0x2e708d(0x14c)])??[];_0x3927a5[_0x2e708d(0x14e)](_0x1fddc9),_0x3c9e9f[_0x2e708d(0x17a)](_0x5ed704['datasetCode'],_0x3927a5);}}return{'byCode':_0xf04e01,'byDataset':_0x3c9e9f};}export function buildPermits(_0x4a349c,_0x3cd3f7){const _0x48f07d=a140_0x44dbb7,_0x3e10a4={};for(const [_0x4b1a58,_0x2b8d80]of _0x4a349c){const _0x3b468a=_0x3cd3f7[_0x48f07d(0x16d)](_0x4b1a58)??_0x2b8d80[_0x48f07d(0x183)];_0x3e10a4[_0x4b1a58]=[_0x3b468a];}return _0x3e10a4;}export function readRoleRef(_0x5a4e19){const _0x42b9b6=a140_0x44dbb7,_0xaf472b=_0x5a4e19[_0x42b9b6(0x14d)](_0x42b9b6(0x181))[_0x42b9b6(0x185)]();if(!_0xaf472b)throw CliErrors[_0x42b9b6(0x152)](_0x42b9b6(0x181),'Pass\x20--role\x20<id|name>.');return _0xaf472b;}export function readGrantRevoke(_0x1f2b8a){const _0x3a1928=a140_0x44dbb7,_0x2a099f=_0x1f2b8a[_0x3a1928(0x174)](_0x3a1928(0x15c)),_0x4d184e=_0x1f2b8a[_0x3a1928(0x174)](_0x3a1928(0x18d));if(_0x2a099f&&_0x4d184e)throw CliErrors[_0x3a1928(0x169)](_0x3a1928(0x18c));if(!_0x2a099f&&!_0x4d184e)throw CliErrors['validation'](_0x3a1928(0x19e),_0x3a1928(0x177));return _0x2a099f?_0x3a1928(0x156):'0';}
1
+ const a140_0x312c4e=a140_0x2d71;(function(_0x1ab214,_0x42dc41){const _0x49688c=a140_0x2d71,_0x8cf363=_0x1ab214();while(!![]){try{const _0x54ae9a=-parseInt(_0x49688c(0x121))/0x1+-parseInt(_0x49688c(0x15b))/0x2+parseInt(_0x49688c(0x133))/0x3*(parseInt(_0x49688c(0x14d))/0x4)+-parseInt(_0x49688c(0x142))/0x5+parseInt(_0x49688c(0x132))/0x6+-parseInt(_0x49688c(0x13d))/0x7+parseInt(_0x49688c(0x160))/0x8;if(_0x54ae9a===_0x42dc41)break;else _0x8cf363['push'](_0x8cf363['shift']());}catch(_0x2c5ae2){_0x8cf363['push'](_0x8cf363['shift']());}}}(a140_0x5b59,0xca28f));import{listPermitRoles}from'../../core/api-client.js';function a140_0x5b59(){const _0x6ba313=['split','menu\x20visibility','Missing\x20action.','grant','7827536wdEeza','revoke','Run\x20`role\x20list`.','role','datasetCode','set','filter','ALL','menu-roles','trim','validation','action','roleType','rolePermit','apiList','some','entries','207373mbXhCR','join','test','\x20(comma-separated\x20SELF/ALL/id/name)','label','find','key','resourceCode','data\x20detail','push','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','boolean','allowedActions','row-roles','Role\x20id\x20or\x20role\x20name','Role\x20id\x20','menu-id','8435112WgoXZp','12clfawJ','pageNodeList','menuId','resourceName','dataExport','roleName','length','\x22\x20is\x20ambiguous\x20(ids:\x20','flagMissing','menuPermit','10695454idYcEx','\x22\x20not\x20found.','SELF\x20is\x20not\x20allowed\x20for\x20','export-roles','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','3969465HhupUJ','get','bool','data\x20update',';\x20SELF\x20=\x20only\x20own\x20rows','access','data\x20delete','allowSelf','flag','dataDelete','update-roles','1167224mvgSKJ','create-roles','map','Role\x20\x22','string','Disambiguate\x20with\x20an\x20id.','menus','data\x20export','row\x20visibility','Grant\x20access\x20to\x20the\x20listed\x20resources','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','Menu\x20id\x20(from\x20`menu\x20list`)','SELF','data\x20create','388566unCFNk'];a140_0x5b59=function(){return _0x6ba313;};return a140_0x5b59();}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a140_0x312c4e(0x131),'type':'number','required':!![],'description':a140_0x312c4e(0x158)};export const ROLE_REF_FLAG={'name':a140_0x312c4e(0x163),'type':a140_0x312c4e(0x151),'required':!![],'description':a140_0x312c4e(0x12f)};export const GRANT_FLAG={'name':'grant','type':a140_0x312c4e(0x12c),'required':![],'description':a140_0x312c4e(0x156)};export const REVOKE_FLAG={'name':a140_0x312c4e(0x161),'type':a140_0x312c4e(0x12c),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a140_0x312c4e(0x153),'type':a140_0x312c4e(0x151),'required':!![],'description':a140_0x312c4e(0x157)};export const DATASETS_FLAG={'name':'datasets','type':a140_0x312c4e(0x151),'required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};export const PAGE_SLOT_SPECS=[{'flag':a140_0x312c4e(0x168),'key':'menuPermit','allowSelf':![],'label':a140_0x312c4e(0x15d)},{'flag':a140_0x312c4e(0x14e),'key':'dataCreate','allowSelf':![],'label':a140_0x312c4e(0x15a)},{'flag':a140_0x312c4e(0x14c),'key':'dataUpdate','allowSelf':![],'label':a140_0x312c4e(0x145)},{'flag':'delete-roles','key':a140_0x312c4e(0x14b),'allowSelf':![],'label':a140_0x312c4e(0x148)},{'flag':'detail-roles','key':'dataDetail','allowSelf':![],'label':a140_0x312c4e(0x129)},{'flag':a140_0x312c4e(0x140),'key':a140_0x312c4e(0x137),'allowSelf':![],'label':a140_0x312c4e(0x154)},{'flag':a140_0x312c4e(0x12e),'key':'dataPermit','allowSelf':!![],'label':a140_0x312c4e(0x155)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a140_0x312c4e(0x14f)](_0xc579c2=>({'name':_0xc579c2[a140_0x312c4e(0x14a)],'type':a140_0x312c4e(0x151),'required':![],'description':'Roles\x20for\x20'+_0xc579c2['label']+a140_0x312c4e(0x124)+(_0xc579c2['allowSelf']?a140_0x312c4e(0x146):'')}));export function splitList(_0x336b60){const _0x501113=a140_0x312c4e;return _0x336b60[_0x501113(0x15c)](',')[_0x501113(0x14f)](_0x3b07bb=>_0x3b07bb[_0x501113(0x169)]())[_0x501113(0x166)](Boolean);}export function projectRoleRef(_0x193f14){const _0x1d5a87=a140_0x312c4e;return{'id':_0x193f14['id'],'roleName':_0x193f14['roleName'],'roleType':_0x193f14[_0x1d5a87(0x16c)]};}function a140_0x2d71(_0x1a13f4,_0x57bb57){_0x1a13f4=_0x1a13f4-0x120;const _0x5b59be=a140_0x5b59();let _0x2d71c6=_0x5b59be[_0x1a13f4];return _0x2d71c6;}export async function resolvePermitRoles(_0x21c96d,_0x1985c3,_0x3302e0){const _0x4214fc=a140_0x312c4e,_0x4abd94=await listPermitRoles(_0x21c96d,{'needSelf':!![],'needPublic':!![]}),_0x15c34a=[];for(const _0x2e3c04 of _0x1985c3){const _0x18bdf2=resolveOnePermitRole(_0x4abd94,_0x2e3c04);if(!_0x3302e0[_0x4214fc(0x149)]&&_0x18bdf2[_0x4214fc(0x16c)]===_0x4214fc(0x159))throw CliErrors[_0x4214fc(0x16a)](_0x4214fc(0x13f)+_0x3302e0[_0x4214fc(0x125)]+'.','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.');if(!_0x15c34a[_0x4214fc(0x16f)](_0x54f370=>_0x54f370['id']===_0x18bdf2['id']))_0x15c34a[_0x4214fc(0x12a)](_0x18bdf2);}return _0x15c34a;}function resolveOnePermitRole(_0x4038fa,_0xac58d1){const _0x460dca=a140_0x312c4e,_0xcce10d=_0xac58d1[_0x460dca(0x169)](),_0x4ef415=_0xcce10d['toUpperCase']();if(_0x4ef415===_0x460dca(0x159)||_0x4ef415===_0x460dca(0x167)){const _0x14aeaf=_0x4038fa[_0x460dca(0x126)](_0x4f9624=>_0x4f9624[_0x460dca(0x16c)]===_0x4ef415);if(!_0x14aeaf)throw CliErrors[_0x460dca(0x16a)]('Special\x20role\x20'+_0x4ef415+'\x20is\x20not\x20available\x20for\x20this\x20app.');return _0x14aeaf;}if(/^-?\d+$/[_0x460dca(0x123)](_0xcce10d)){const _0x3ecbea=Number(_0xcce10d),_0x3099a3=_0x4038fa['find'](_0xbcdcf8=>_0xbcdcf8['id']===_0x3ecbea);if(!_0x3099a3)throw CliErrors[_0x460dca(0x16a)](_0x460dca(0x130)+_0x3ecbea+'\x20not\x20found.',_0x460dca(0x162));return _0x3099a3;}const _0x51df4d=_0x4038fa[_0x460dca(0x166)](_0x228e6c=>_0x228e6c[_0x460dca(0x138)]===_0xcce10d);if(_0x51df4d['length']===0x0)throw CliErrors['validation'](_0x460dca(0x150)+_0xcce10d+_0x460dca(0x13e),_0x460dca(0x12b));if(_0x51df4d[_0x460dca(0x139)]>0x1)throw CliErrors['validation'](_0x460dca(0x150)+_0xcce10d+_0x460dca(0x13a)+_0x51df4d['map'](_0x52bf84=>_0x52bf84['id'])[_0x460dca(0x122)](',\x20')+').',_0x460dca(0x152));return _0x51df4d[0x0];}export function projectPageSlot(_0x581a67){const _0x2920eb=a140_0x312c4e;if(!_0x581a67)return null;return{'resourceCode':_0x581a67['resourceCode'],'roles':(_0x581a67[_0x2920eb(0x16d)]??[])['map'](projectRoleRef)};}export function projectPagePermit(_0xf5798c){const _0x180b18=a140_0x312c4e,_0x3e8a45={'menuId':_0xf5798c[_0x180b18(0x135)],'appCode':_0xf5798c['appCode'],'menuPermit':projectPageSlot(_0xf5798c['menuPermit'])};for(const _0x26020b of PAGE_SLOT_SPECS){if(_0x26020b[_0x180b18(0x127)]===_0x180b18(0x13c))continue;_0x3e8a45[_0x26020b['key']]=projectPageSlot(_0xf5798c[_0x26020b['key']]);}return _0x3e8a45;}export function flattenMenuResources(_0x292c96){const _0x5ee07b=new Map(),_0x2c3dd7=_0x2dcbd3=>{const _0x5e99eb=a140_0x2d71;for(const _0x48c764 of _0x2dcbd3??[]){_0x5ee07b['set'](_0x48c764[_0x5e99eb(0x128)],{'resourceCode':_0x48c764['resourceCode'],'resourceName':_0x48c764[_0x5e99eb(0x136)],'action':_0x48c764[_0x5e99eb(0x12d)]?.[0x0]??'0'});if(_0x48c764[_0x5e99eb(0x134)])_0x2c3dd7(_0x48c764[_0x5e99eb(0x134)]);}};return _0x2c3dd7(_0x292c96),_0x5ee07b;}export function flattenApiResources(_0x9c3be4){const _0x2c266a=a140_0x312c4e,_0x531a9c=new Map(),_0x4a4e52=new Map();for(const _0x5767d5 of _0x9c3be4){const _0x2289d2=_0x5767d5[_0x2c266a(0x16e)]??{};for(const [_0x42136d,_0x4e4786]of Object[_0x2c266a(0x120)](_0x2289d2)){_0x531a9c[_0x2c266a(0x165)](_0x42136d,{'resourceCode':_0x42136d,'resourceName':_0x5767d5[_0x2c266a(0x136)],'datasetCode':_0x5767d5[_0x2c266a(0x164)],'action':_0x4e4786?.[0x0]??'0'});const _0x5330ec=_0x4a4e52[_0x2c266a(0x143)](_0x5767d5['datasetCode'])??[];_0x5330ec[_0x2c266a(0x12a)](_0x42136d),_0x4a4e52[_0x2c266a(0x165)](_0x5767d5['datasetCode'],_0x5330ec);}}return{'byCode':_0x531a9c,'byDataset':_0x4a4e52};}export function buildPermits(_0x5ac56c,_0x51f8ac){const _0x425b9c=a140_0x312c4e,_0x9f0bfa={};for(const [_0x302b22,_0x14eb10]of _0x5ac56c){const _0x12338d=_0x51f8ac['get'](_0x302b22)??_0x14eb10[_0x425b9c(0x16b)];_0x9f0bfa[_0x302b22]=[_0x12338d];}return _0x9f0bfa;}export function readRoleRef(_0x5be420){const _0x43b380=a140_0x312c4e,_0x2306de=_0x5be420['str'](_0x43b380(0x163))['trim']();if(!_0x2306de)throw CliErrors[_0x43b380(0x13b)]('role','Pass\x20--role\x20<id|name>.');return _0x2306de;}export function readGrantRevoke(_0x19e61c){const _0x1ee630=a140_0x312c4e,_0x54d10f=_0x19e61c[_0x1ee630(0x144)](_0x1ee630(0x15f)),_0x3b61d9=_0x19e61c[_0x1ee630(0x144)]('revoke');if(_0x54d10f&&_0x3b61d9)throw CliErrors[_0x1ee630(0x16a)](_0x1ee630(0x141));if(!_0x54d10f&&!_0x3b61d9)throw CliErrors['validation'](_0x1ee630(0x15e),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x54d10f?_0x1ee630(0x147):'0';}
@@ -1 +1 @@
1
- (function(_0x4b8c35,_0x37502b){const _0x1ec591=a141_0x2278,_0x399ee2=_0x4b8c35();while(!![]){try{const _0x5b983a=-parseInt(_0x1ec591(0x7b))/0x1*(-parseInt(_0x1ec591(0x70))/0x2)+parseInt(_0x1ec591(0x72))/0x3+parseInt(_0x1ec591(0x77))/0x4+-parseInt(_0x1ec591(0x8c))/0x5+-parseInt(_0x1ec591(0x75))/0x6*(parseInt(_0x1ec591(0x71))/0x7)+-parseInt(_0x1ec591(0x8a))/0x8+parseInt(_0x1ec591(0x86))/0x9;if(_0x5b983a===_0x37502b)break;else _0x399ee2['push'](_0x399ee2['shift']());}catch(_0x2058c4){_0x399ee2['push'](_0x399ee2['shift']());}}}(a141_0x3295,0x98475));import{existsSync}from'node:fs';function a141_0x3295(){const _0x58e91d=['1041488PohDXp','497teJoZI','174777msjyLB','trim','env','138Civkkd','length','356504ihEopr','string','cyan','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','1HPcFVN','√\x20Login\x20status:\x20','Login\x20failed','production','\x22\x20already\x20exists','Project\x20name\x20cannot\x20exceed\x2050\x20characters','cwd','√\x20Project\x20Name:\x20','Skipped','resolve','green','7566318AOYAJy','my-app','Project\x20name:','Directory\x20\x22','1362464GQvjNy','log','3565785MTHjzE','Not\x20set','test'];a141_0x3295=function(){return _0x58e91d;};return a141_0x3295();}import a141_0x3ca5d7 from'node:path';import a141_0x31919a from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a141_0x2278(_0x18d6b3,_0x45e996){_0x18d6b3=_0x18d6b3-0x6f;const _0x329571=a141_0x3295();let _0x22780b=_0x329571[_0x18d6b3];return _0x22780b;}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(_0x531fc3,_0x3360aa,_0x261801){const _0x38830d=a141_0x2278,_0x2ce3f2=_0x38830d(0x87),_0x5895fa=readConfig(),_0x12aee8=typeof _0x5895fa[_0x38830d(0x74)]===_0x38830d(0x78)?_0x5895fa[_0x38830d(0x74)]:undefined,_0x341cbc=await input({'message':_0x38830d(0x88),'default':_0x2ce3f2,'validate':_0xc4bcdb=>{const _0x154296=_0x38830d,_0x75eb36=_0xc4bcdb[_0x154296(0x73)]()||_0x2ce3f2;if(_0x75eb36[_0x154296(0x76)]>0x32)return _0x154296(0x80);const _0x10224e=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x75eb36&&!_0x10224e[_0x154296(0x6f)](_0x75eb36))return'Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_';const _0x429428=a141_0x3ca5d7[_0x154296(0x84)](process[_0x154296(0x81)](),_0x75eb36);if(existsSync(_0x429428))return _0x154296(0x89)+_0x75eb36+_0x154296(0x7f);return!![];}});console[_0x38830d(0x8b)](a141_0x31919a['green'](_0x38830d(0x82)+a141_0x31919a[_0x38830d(0x79)](_0x341cbc)));const _0x63ff8b=await selectSingleAppcode(_0x261801);console['log'](a141_0x31919a[_0x38830d(0x85)]('√\x20App\x20Code:\x20'+a141_0x31919a[_0x38830d(0x79)](_0x63ff8b||_0x38830d(0x8d))));if(_0x63ff8b){const _0x2e2a3a=await getIsSessionValid();if(!_0x2e2a3a){const _0x2bc2e3=await confirm({'message':_0x38830d(0x7a),'default':!![]});if(_0x2bc2e3){const _0x223029=await authServer({'silent':!![]});console[_0x38830d(0x8b)](a141_0x31919a[_0x38830d(0x85)](_0x38830d(0x7c)+a141_0x31919a[_0x38830d(0x79)](_0x223029?'Logged\x20in':_0x38830d(0x7d))));}else console[_0x38830d(0x8b)](a141_0x31919a[_0x38830d(0x85)](_0x38830d(0x7c)+a141_0x31919a[_0x38830d(0x79)](_0x38830d(0x83))));}await _0x531fc3({'projectName':_0x341cbc,'appCode':_0x63ff8b,'env':_0x3360aa||_0x12aee8||_0x38830d(0x7e)});}else await _0x531fc3({'projectName':_0x341cbc,'env':_0x3360aa||_0x12aee8||_0x38830d(0x7e)});}
1
+ (function(_0x20c40b,_0x3018b6){const _0x2521cb=a141_0x4eff,_0x4995e4=_0x20c40b();while(!![]){try{const _0x2446c5=parseInt(_0x2521cb(0x93))/0x1+-parseInt(_0x2521cb(0x95))/0x2+parseInt(_0x2521cb(0xa7))/0x3*(parseInt(_0x2521cb(0xad))/0x4)+parseInt(_0x2521cb(0x98))/0x5+-parseInt(_0x2521cb(0x9a))/0x6*(parseInt(_0x2521cb(0xb0))/0x7)+parseInt(_0x2521cb(0x9f))/0x8+-parseInt(_0x2521cb(0xa6))/0x9;if(_0x2446c5===_0x3018b6)break;else _0x4995e4['push'](_0x4995e4['shift']());}catch(_0x8021e5){_0x4995e4['push'](_0x4995e4['shift']());}}}(a141_0x4bc3,0x5656f));import{existsSync}from'node:fs';import a141_0x203200 from'node:path';import a141_0x561154 from'chalk';function a141_0x4eff(_0x200643,_0x4883ef){_0x200643=_0x200643-0x93;const _0x4bc3d3=a141_0x4bc3();let _0x4eff05=_0x4bc3d3[_0x200643];return _0x4eff05;}import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';function a141_0x4bc3(){const _0x367c8d=['62153PTuFFL','366870VaaYmP','Not\x20set','345274xIUrgE','Logged\x20in','green','2012330RhztEl','Project\x20name\x20cannot\x20exceed\x2050\x20characters','36SRKptw','production','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','Skipped','cyan','1939224edqbmy','√\x20Login\x20status:\x20','√\x20Project\x20Name:\x20','Login\x20failed','length','test','env','5980122wbNbRv','30297ShsGaI','\x22\x20already\x20exists','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','string','my-app','log','92uuyQwB','√\x20App\x20Code:\x20','Project\x20name:'];a141_0x4bc3=function(){return _0x367c8d;};return a141_0x4bc3();}import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x4b5d6d,_0x36441b,_0x1cb607){const _0x5ce518=a141_0x4eff,_0x588eee=_0x5ce518(0xab),_0x372611=readConfig(),_0x584371=typeof _0x372611[_0x5ce518(0xa5)]===_0x5ce518(0xaa)?_0x372611[_0x5ce518(0xa5)]:undefined,_0x10d58d=await input({'message':_0x5ce518(0xaf),'default':_0x588eee,'validate':_0x3da27d=>{const _0x50c0bb=_0x5ce518,_0x5e7944=_0x3da27d['trim']()||_0x588eee;if(_0x5e7944[_0x50c0bb(0xa3)]>0x32)return _0x50c0bb(0x99);const _0x267e5f=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x5e7944&&!_0x267e5f[_0x50c0bb(0xa4)](_0x5e7944))return _0x50c0bb(0x9c);const _0x4a7ee2=a141_0x203200['resolve'](process['cwd'](),_0x5e7944);if(existsSync(_0x4a7ee2))return'Directory\x20\x22'+_0x5e7944+_0x50c0bb(0xa8);return!![];}});console['log'](a141_0x561154[_0x5ce518(0x97)](_0x5ce518(0xa1)+a141_0x561154[_0x5ce518(0x9e)](_0x10d58d)));const _0x9ea8ba=await selectSingleAppcode(_0x1cb607);console['log'](a141_0x561154[_0x5ce518(0x97)](_0x5ce518(0xae)+a141_0x561154['cyan'](_0x9ea8ba||_0x5ce518(0x94))));if(_0x9ea8ba){const _0x195fc9=await getIsSessionValid();if(!_0x195fc9){const _0x10bee2=await confirm({'message':_0x5ce518(0xa9),'default':!![]});if(_0x10bee2){const _0x309a91=await authServer({'silent':!![]});console[_0x5ce518(0xac)](a141_0x561154['green'](_0x5ce518(0xa0)+a141_0x561154[_0x5ce518(0x9e)](_0x309a91?_0x5ce518(0x96):_0x5ce518(0xa2))));}else console['log'](a141_0x561154[_0x5ce518(0x97)](_0x5ce518(0xa0)+a141_0x561154['cyan'](_0x5ce518(0x9d))));}await _0x4b5d6d({'projectName':_0x10d58d,'appCode':_0x9ea8ba,'env':_0x36441b||_0x584371||_0x5ce518(0x9b)});}else await _0x4b5d6d({'projectName':_0x10d58d,'env':_0x36441b||_0x584371||_0x5ce518(0x9b)});}
@@ -1 +1 @@
1
- function a142_0x2e86(_0x421647,_0x4f5c33){_0x421647=_0x421647-0x175;const _0x567b97=a142_0x567b();let _0x2e86e5=_0x567b97[_0x421647];return _0x2e86e5;}(function(_0x2b36d0,_0x2e0ac3){const _0x17af80=a142_0x2e86,_0x2a1e8c=_0x2b36d0();while(!![]){try{const _0x178d73=parseInt(_0x17af80(0x175))/0x1+parseInt(_0x17af80(0x17f))/0x2*(parseInt(_0x17af80(0x17d))/0x3)+parseInt(_0x17af80(0x17c))/0x4+parseInt(_0x17af80(0x17b))/0x5+parseInt(_0x17af80(0x179))/0x6*(parseInt(_0x17af80(0x176))/0x7)+parseInt(_0x17af80(0x181))/0x8*(-parseInt(_0x17af80(0x178))/0x9)+parseInt(_0x17af80(0x177))/0xa*(-parseInt(_0x17af80(0x17a))/0xb);if(_0x178d73===_0x2e0ac3)break;else _0x2a1e8c['push'](_0x2a1e8c['shift']());}catch(_0x2675bd){_0x2a1e8c['push'](_0x2a1e8c['shift']());}}}(a142_0x567b,0xc491c));export function formatElapsed(_0x2e385c){const _0x1e8665=a142_0x2e86,_0x596d08=Date[_0x1e8665(0x180)]()-_0x2e385c;if(_0x596d08<0x3e8)return _0x596d08+'ms';const _0x4e9522=(_0x596d08/0x3e8)['toFixed'](0x2),_0x56f2c5=_0x4e9522[_0x1e8665(0x17e)](/\.?0+$/u,'');return _0x56f2c5+'s';}function a142_0x567b(){const _0x4d8639=['replace','757994bIDFJb','now','2488oFFKej','1316747VJmBTr','7DQveLB','94570fehlaN','19593mRjTsI','2517306fekSZt','3014hnvKxU','2312240BGwAnN','4466692WryhWj','6jGSoAQ'];a142_0x567b=function(){return _0x4d8639;};return a142_0x567b();}
1
+ function a142_0x3c46(){const _0x328c93=['toFixed','378emwXDH','now','288020WHZKNu','23860tVFprJ','48haSwzt','970430KONTbF','977884cqxWRz','7610647GRDrZN','7rdiuYX','846bCrqeQ','9pUghFJ','152160LlsbIX','1135472EOhQER','replace'];a142_0x3c46=function(){return _0x328c93;};return a142_0x3c46();}function a142_0x2d6b(_0x50d48f,_0x14ede3){_0x50d48f=_0x50d48f-0x107;const _0x3c4612=a142_0x3c46();let _0x2d6b26=_0x3c4612[_0x50d48f];return _0x2d6b26;}(function(_0x271393,_0x4731d9){const _0x167cde=a142_0x2d6b,_0x5dd0d9=_0x271393();while(!![]){try{const _0x126b12=parseInt(_0x167cde(0x113))/0x1+parseInt(_0x167cde(0x10d))/0x2+parseInt(_0x167cde(0x112))/0x3*(parseInt(_0x167cde(0x10e))/0x4)+-parseInt(_0x167cde(0x10b))/0x5*(-parseInt(_0x167cde(0x111))/0x6)+parseInt(_0x167cde(0x110))/0x7*(parseInt(_0x167cde(0x114))/0x8)+-parseInt(_0x167cde(0x108))/0x9*(-parseInt(_0x167cde(0x10a))/0xa)+-parseInt(_0x167cde(0x10f))/0xb*(parseInt(_0x167cde(0x10c))/0xc);if(_0x126b12===_0x4731d9)break;else _0x5dd0d9['push'](_0x5dd0d9['shift']());}catch(_0x599049){_0x5dd0d9['push'](_0x5dd0d9['shift']());}}}(a142_0x3c46,0x99426));export function formatElapsed(_0x95b44a){const _0x1975a4=a142_0x2d6b,_0x523ec5=Date[_0x1975a4(0x109)]()-_0x95b44a;if(_0x523ec5<0x3e8)return _0x523ec5+'ms';const _0x3ede84=(_0x523ec5/0x3e8)[_0x1975a4(0x107)](0x2),_0x1d3193=_0x3ede84[_0x1975a4(0x115)](/\.?0+$/u,'');return _0x1d3193+'s';}
@@ -1 +1 @@
1
- (function(_0x3413bd,_0x117d28){const _0x1f6d30=a143_0x57ff,_0x4f08f7=_0x3413bd();while(!![]){try{const _0x5cafc3=parseInt(_0x1f6d30(0x21a))/0x1*(-parseInt(_0x1f6d30(0x217))/0x2)+-parseInt(_0x1f6d30(0x223))/0x3*(parseInt(_0x1f6d30(0x24c))/0x4)+parseInt(_0x1f6d30(0x1f2))/0x5*(-parseInt(_0x1f6d30(0x231))/0x6)+-parseInt(_0x1f6d30(0x243))/0x7*(parseInt(_0x1f6d30(0x20c))/0x8)+-parseInt(_0x1f6d30(0x1f1))/0x9*(parseInt(_0x1f6d30(0x229))/0xa)+-parseInt(_0x1f6d30(0x23c))/0xb*(-parseInt(_0x1f6d30(0x20a))/0xc)+parseInt(_0x1f6d30(0x212))/0xd*(parseInt(_0x1f6d30(0x1fa))/0xe);if(_0x5cafc3===_0x117d28)break;else _0x4f08f7['push'](_0x4f08f7['shift']());}catch(_0x1c74f3){_0x4f08f7['push'](_0x4f08f7['shift']());}}}(a143_0x49d1,0x8c3d4));import a143_0x544674 from'path';import a143_0x2b8d26 from'fs';import a143_0x520a72 from'chalk';import a143_0x15c5a9 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';function a143_0x49d1(){const _0x1f18d9=['1.0.0','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','projectCode','245102oWeabZ','writeFileSync','create','3AWKqkA','gray','W_OK','cd\x20','modelCount','log','name','Project\x20directory\x20','setLogPath','147954BGfJVT','join','√\x20package.json\x20updated:\x20name=','readFileSync','warn','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','11051470KhjRYJ','...','\x20Generated\x20by\x20rabetbase\x20cli\x20','CLI\x20版本检查','\x20√\x20','start','resolve','bold','12GXElXb','apps','\x20api\x20pull','cyan','green','*\x20Configuring\x20AppCode\x20for\x20project\x20','constants','\x20\x202.\x20Pull\x20API\x20configuration:\x20','项目创建完成:\x20','rmSync','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','11pUodpr','清理项目目录失败:\x20','description','\x20|\x20Default:\x20','配置应用AppCode失败','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\x20config\x20set\x20appcode\x20<app-code>\x27','2544983MKIUQb','info','🚀\x20Next\x20Steps:','version','\x20\x201.\x20Start\x20project:\x20','√\x20Pulled\x20','defaultApp','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','package.json','68VqaBbN','projectName','stringify','*\x20Pulling\x20API\x20configuration...','项目创建失败:\x20','配置应用AppCode:\x20','length','9oCGkxi','1111960MqAatd','开始创建项目:\x20','API\x20配置拉取异常','production','\x20&&\x20','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','repeat','fail','896WzViKC','cookie','cwd','\x20|\x20AppCode:\x20','appCode','success','env','needsUpgrade','更新\x20package.json\x20name','existsSync','Format\x20code','currentVersion','minimumVersion','stop','parse','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','330972tUyArx','message','24PUSDqm','accessSync','chdir','Project\x20name:\x20','keys','Project\x20name\x20cannot\x20be\x20empty','892437pbuPor','utf8'];a143_0x49d1=function(){return _0x1f18d9;};return a143_0x49d1();}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';function a143_0x57ff(_0x2698ec,_0x95c510){_0x2698ec=_0x2698ec-0x1ee;const _0x49d1ab=a143_0x49d1();let _0x57ff2f=_0x49d1ab[_0x2698ec];return _0x57ff2f;}import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x252313){const _0x570754=a143_0x57ff,_0x1c2e21=await checkCliVersion();(_0x1c2e21[_0x570754(0x201)]||_0x1c2e21['belowMinimum'])&&(printCliUpgradeWarning(_0x1c2e21),assertCliVersionSupported(_0x1c2e21),logger[_0x570754(0x244)](_0x570754(0x219),_0x570754(0x22c),{'currentVersion':_0x1c2e21[_0x570754(0x205)],'stableVersion':_0x1c2e21['stableVersion'],'minimumVersion':_0x1c2e21[_0x570754(0x206)],'needsUpgrade':_0x1c2e21['needsUpgrade'],'belowMinimum':_0x1c2e21['belowMinimum']}));if(_0x252313[_0x570754(0x216)]&&_0x252313[_0x570754(0x1fe)])await runCreate({'projectName':_0x252313['projectCode'],'appCode':_0x252313[_0x570754(0x1fe)],'env':_0x252313[_0x570754(0x200)]},_0x252313);else{if(_0x252313[_0x570754(0x216)]){const _0x2017a7=await selectSingleAppcode(_0x252313[_0x570754(0x1fb)]);await runCreate({'projectName':_0x252313[_0x570754(0x216)],'appCode':_0x2017a7||undefined,'env':_0x252313['env']},_0x252313);}else await guidedCreateProject(_0x291b56=>runCreate(_0x291b56,_0x252313),_0x252313[_0x570754(0x200)],_0x252313[_0x570754(0x1fb)]);}}async function runCreate(_0x11283a,_0x3e8425){const _0x213e78=a143_0x57ff;if(!_0x11283a[_0x213e78(0x24d)]||_0x11283a[_0x213e78(0x24d)]['trim']()==='')throw new Error(_0x213e78(0x211));const _0x555065=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x555065['test'](_0x11283a['projectName']))throw new Error(_0x213e78(0x1f7));if(_0x11283a['projectName'][_0x213e78(0x1f0)]>0x64)throw new Error(_0x213e78(0x24a));const _0x200cd3=a143_0x544674[_0x213e78(0x22f)](process[_0x213e78(0x1fc)](),_0x11283a[_0x213e78(0x24d)]);if(a143_0x2b8d26[_0x213e78(0x203)](_0x200cd3))throw new Error(_0x213e78(0x221)+_0x11283a['projectName']+'\x20already\x20exists');try{a143_0x2b8d26[_0x213e78(0x20d)](a143_0x544674['dirname'](_0x200cd3),a143_0x2b8d26[_0x213e78(0x237)][_0x213e78(0x21c)]);}catch{throw new Error(_0x213e78(0x209));}logger[_0x213e78(0x222)](_0x200cd3),logger['info'](_0x213e78(0x219),_0x213e78(0x1f3)+_0x11283a['projectName'],{'projectDir':_0x200cd3,'appCode':_0x11283a[_0x213e78(0x1fe)]}),console[_0x213e78(0x21f)](),console['log'](a143_0x520a72[_0x213e78(0x235)](_0x213e78(0x22d))+_0x213e78(0x20f)+a143_0x520a72['green'](_0x11283a[_0x213e78(0x24d)])+(_0x11283a[_0x213e78(0x1fe)]?_0x213e78(0x1fd)+a143_0x520a72[_0x213e78(0x234)](_0x11283a[_0x213e78(0x1fe)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x11283a[_0x213e78(0x24d)])),await updatePackageJsonName(_0x11283a[_0x213e78(0x24d)]),await runTask('Install\x20dependencies',()=>installDependencies(_0x11283a[_0x213e78(0x24d)])),await runTask(_0x213e78(0x204),()=>formatProjectCode(_0x11283a[_0x213e78(0x24d)])),await configureAppCode(_0x11283a[_0x213e78(0x24d)],_0x11283a['appCode']||'',_0x11283a[_0x213e78(0x200)]);let _0x4866be=![];if(_0x11283a['appCode']){console[_0x213e78(0x21f)](_0x213e78(0x24f));const _0xb9a489=process['cwd']();try{process[_0x213e78(0x20e)](_0x200cd3);const _0x16b917=_0x11283a[_0x213e78(0x200)]||_0x213e78(0x1f5);initEnv(_0x16b917);const {configArray:_0x3db896}=await fetchModelList(_0x11283a[_0x213e78(0x1fe)],_0x3e8425[_0x213e78(0x1fb)]||''),_0x30c5df=DEFAULT_API_DIR,_0x1df86a=await generateApiFile(_0x3db896,'',_0x11283a[_0x213e78(0x1fe)],!![],_0x16b917,_0x30c5df);console['log'](_0x213e78(0x248)+_0x3db896[_0x213e78(0x1f0)]+'\x20dataset(s),\x20generated\x20'+_0x1df86a[_0x213e78(0x21e)]+'\x20model(s)'),logger[_0x213e78(0x244)](_0x213e78(0x219),'API\x20configuration\x20pulled:\x20'+_0x11283a['appCode']);}catch(_0x6a34c3){_0x4866be=!![],console[_0x213e78(0x21f)](_0x213e78(0x23b)),logger[_0x213e78(0x227)](_0x213e78(0x219),_0x213e78(0x1f4),{'error':_0x6a34c3 instanceof Error?_0x6a34c3[_0x213e78(0x20b)]:String(_0x6a34c3)});}finally{process[_0x213e78(0x20e)](_0xb9a489);}}logger[_0x213e78(0x1ff)](_0x213e78(0x219),_0x213e78(0x239)+_0x11283a[_0x213e78(0x24d)]),console[_0x213e78(0x21f)](),console[_0x213e78(0x21f)](a143_0x520a72[_0x213e78(0x235)]('─'['repeat'](0x3c))),console[_0x213e78(0x21f)](a143_0x520a72[_0x213e78(0x234)]['bold'](_0x213e78(0x245))),console[_0x213e78(0x21f)](),console[_0x213e78(0x21f)](_0x213e78(0x247)+a143_0x520a72[_0x213e78(0x234)][_0x213e78(0x230)](_0x213e78(0x21d)+_0x11283a[_0x213e78(0x24d)]+_0x213e78(0x1f6)+CLI_BIN_NAME+'\x20run\x20start')),_0x4866be&&console[_0x213e78(0x21f)](_0x213e78(0x238)+a143_0x520a72[_0x213e78(0x234)][_0x213e78(0x230)](CLI_BIN_NAME+_0x213e78(0x233))),console[_0x213e78(0x21f)](a143_0x520a72[_0x213e78(0x235)]('─'[_0x213e78(0x1f8)](0x3c)));}catch(_0xd9362e){logger['error'](_0x213e78(0x219),_0x213e78(0x1ee)+_0x11283a[_0x213e78(0x24d)],{'error':_0xd9362e instanceof Error?_0xd9362e[_0x213e78(0x20b)]:String(_0xd9362e)});try{a143_0x2b8d26[_0x213e78(0x203)](_0x200cd3)&&(console[_0x213e78(0x21f)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x200cd3),a143_0x2b8d26[_0x213e78(0x23a)](_0x200cd3,{'recursive':!![],'force':!![]}));}catch{logger[_0x213e78(0x227)]('create',_0x213e78(0x23d)+_0x200cd3);}throw _0xd9362e;}}async function runTask(_0x556e67,_0x552eff){const _0x39a1f5=a143_0x57ff,_0x21d6f0=a143_0x15c5a9(_0x556e67+_0x39a1f5(0x22a))[_0x39a1f5(0x22e)]();try{const _0x5ac5ab=await _0x552eff();_0x21d6f0[_0x39a1f5(0x207)](),console[_0x39a1f5(0x21f)](''+a143_0x520a72[_0x39a1f5(0x235)](_0x39a1f5(0x22d))+_0x556e67+'\x20'+a143_0x520a72[_0x39a1f5(0x21b)]('['+_0x5ac5ab+']'));}catch(_0x489ef9){_0x21d6f0[_0x39a1f5(0x1f9)](_0x556e67);throw _0x489ef9;}}async function updatePackageJsonName(_0x163c61){const _0x19bc72=a143_0x57ff,_0x2dad67=a143_0x544674[_0x19bc72(0x22f)](process['cwd'](),_0x163c61),_0x1c92de=a143_0x544674[_0x19bc72(0x224)](_0x2dad67,_0x19bc72(0x24b));try{console[_0x19bc72(0x21f)](_0x19bc72(0x241));const _0x3c91d9=getRabetbaseCliPackageRoot(),_0x57f80c=a143_0x544674['join'](_0x3c91d9,'package.json');let _0x3966af=_0x19bc72(0x214);try{const _0x4444f9=JSON['parse'](a143_0x2b8d26[_0x19bc72(0x226)](_0x57f80c,_0x19bc72(0x213)));_0x3966af=_0x4444f9[_0x19bc72(0x246)]||_0x19bc72(0x214);}catch{}const _0x5e514c=a143_0x2b8d26[_0x19bc72(0x226)](_0x1c92de,_0x19bc72(0x213)),_0x1cc08a=JSON[_0x19bc72(0x208)](_0x5e514c);_0x1cc08a[_0x19bc72(0x220)]=_0x163c61,_0x1cc08a[_0x19bc72(0x23e)]=_0x163c61+_0x19bc72(0x22b)+_0x3966af,a143_0x2b8d26[_0x19bc72(0x218)](_0x1c92de,JSON[_0x19bc72(0x24e)](_0x1cc08a,null,0x2)+'\x0a','utf8'),console[_0x19bc72(0x21f)](_0x19bc72(0x225)+_0x163c61),logger['info'](_0x19bc72(0x219),_0x19bc72(0x202));}catch(_0x209131){logger['error'](_0x19bc72(0x219),'更新\x20package.json\x20失败');throw _0x209131;}}async function configureAppCode(_0x3a4bb7,_0x2b8427,_0x1512eb){const _0x423395=a143_0x57ff,_0x2aee15=a143_0x544674[_0x423395(0x22f)](process[_0x423395(0x1fc)](),_0x3a4bb7),_0x2dcc23=a143_0x544674[_0x423395(0x224)](_0x2aee15,NEW_CONFIG_NAME);try{_0x2b8427?console['log'](_0x423395(0x236)+_0x3a4bb7+':\x20'+_0x2b8427):console[_0x423395(0x21f)](_0x423395(0x215)+_0x3a4bb7);const _0x3027d3=getRabetbaseCliPackageRoot(),_0x460975=a143_0x544674[_0x423395(0x224)](_0x3027d3,_0x423395(0x24b));let _0x5dd327=_0x423395(0x214);try{const _0x1d9419=JSON[_0x423395(0x208)](a143_0x2b8d26['readFileSync'](_0x460975,'utf8'));_0x5dd327=_0x1d9419[_0x423395(0x246)]||_0x423395(0x214);}catch{}const _0x471e18=readConfig(),_0x205184=typeof _0x471e18[_0x423395(0x200)]==='string'?_0x471e18[_0x423395(0x200)]:undefined,_0x4b18a8={};for(const _0x31dca6 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x471e18[_0x31dca6]!=null)_0x4b18a8[_0x31dca6]=_0x471e18[_0x31dca6];}const _0x127db8=buildCanonicalProjectConfig(_0x4b18a8,{'appCodes':_0x2b8427?[_0x2b8427]:[],'env':_0x1512eb||_0x205184||'production','metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x5dd327}});writeConfigFile(_0x2dcc23,_0x127db8),_0x2b8427?console[_0x423395(0x21f)]('√\x20Configuration\x20file\x20created,\x20Apps:\x20'+Object[_0x423395(0x210)](_0x127db8[_0x423395(0x232)]||{})[_0x423395(0x224)](',\x20')+_0x423395(0x23f)+_0x127db8[_0x423395(0x249)]):console[_0x423395(0x21f)](_0x423395(0x228)+CLI_BIN_NAME+_0x423395(0x242)),logger['info'](_0x423395(0x219),_0x423395(0x1ef)+_0x2b8427);}catch(_0x5455d7){logger['error'](_0x423395(0x219),_0x423395(0x240));}}
1
+ (function(_0x537790,_0x2742ed){const _0x128ae8=a143_0x43ab,_0x12b449=_0x537790();while(!![]){try{const _0x5d56e0=-parseInt(_0x128ae8(0x98))/0x1+parseInt(_0x128ae8(0x92))/0x2+-parseInt(_0x128ae8(0x86))/0x3+parseInt(_0x128ae8(0xae))/0x4+parseInt(_0x128ae8(0xb7))/0x5*(-parseInt(_0x128ae8(0xbf))/0x6)+-parseInt(_0x128ae8(0xc6))/0x7+-parseInt(_0x128ae8(0xa8))/0x8*(-parseInt(_0x128ae8(0xbd))/0x9);if(_0x5d56e0===_0x2742ed)break;else _0x12b449['push'](_0x12b449['shift']());}catch(_0x15ec80){_0x12b449['push'](_0x12b449['shift']());}}}(a143_0x1dfd,0x52efa));import a143_0x4b6ca7 from'path';import a143_0x572361 from'fs';import a143_0x38e4e9 from'chalk';import a143_0x39b440 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';function a143_0x1dfd(){const _0x553070=['20184LguUBZ','modelCount','\x20config\x20set\x20appcode\x20<app-code>\x27','chdir','bold','\x20dataset(s),\x20generated\x20','fail','4476906owLuJN','项目创建完成:\x20','Project\x20directory\x20','error','\x20Generated\x20by\x20rabetbase\x20cli\x20','stringify','projectCode','warn','√\x20package.json\x20updated:\x20name=','apps','toLocaleString','resolve','production','清理项目目录失败:\x20','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','\x20|\x20AppCode:\x20','appCode','cd\x20','length','W_OK','rmSync','success','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','cyan','setLogPath','\x20already\x20exists','798822NOAmbn','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','log','gray','needsUpgrade','currentVersion','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','\x20|\x20Default:\x20','Copy\x20project\x20files','version','parse','minimumVersion','386138OirAvB','Format\x20code','1.0.0','项目创建失败:\x20','配置应用AppCode:\x20','\x20√\x20','432616tkRhXT','start','description','projectName','package.json','更新\x20package.json\x20失败','info','env','test','\x20api\x20pull','string','配置应用AppCode失败','*\x20Configuring\x20AppCode\x20for\x20project\x20','utf8','\x20&&\x20','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','23200jwZCCZ','cookie','readFileSync','\x20\x201.\x20Start\x20project:\x20','CLI\x20版本检查','repeat','474420tAEsnb','create','name','keys','cwd','existsSync','green','API\x20配置拉取异常','\x20\x202.\x20Pull\x20API\x20configuration:\x20','275GsLNln','Project\x20name:\x20','√\x20Configuration\x20file\x20created,\x20Apps:\x20','accessSync','join','defaultApp','4815GKOBrO','message'];a143_0x1dfd=function(){return _0x553070;};return a143_0x1dfd();}import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x59db8f){const _0xd278f3=a143_0x43ab,_0x4485b5=await checkCliVersion();(_0x4485b5[_0xd278f3(0x8a)]||_0x4485b5['belowMinimum'])&&(printCliUpgradeWarning(_0x4485b5),assertCliVersionSupported(_0x4485b5),logger[_0xd278f3(0x9e)](_0xd278f3(0xaf),_0xd278f3(0xac),{'currentVersion':_0x4485b5[_0xd278f3(0x8b)],'stableVersion':_0x4485b5['stableVersion'],'minimumVersion':_0x4485b5[_0xd278f3(0x91)],'needsUpgrade':_0x4485b5['needsUpgrade'],'belowMinimum':_0x4485b5['belowMinimum']}));if(_0x59db8f[_0xd278f3(0x71)]&&_0x59db8f[_0xd278f3(0x7c)])await runCreate({'projectName':_0x59db8f[_0xd278f3(0x71)],'appCode':_0x59db8f[_0xd278f3(0x7c)],'env':_0x59db8f[_0xd278f3(0x9f)]},_0x59db8f);else{if(_0x59db8f[_0xd278f3(0x71)]){const _0x5280c6=await selectSingleAppcode(_0x59db8f[_0xd278f3(0xa9)]);await runCreate({'projectName':_0x59db8f[_0xd278f3(0x71)],'appCode':_0x5280c6||undefined,'env':_0x59db8f[_0xd278f3(0x9f)]},_0x59db8f);}else await guidedCreateProject(_0x49d0a6=>runCreate(_0x49d0a6,_0x59db8f),_0x59db8f['env'],_0x59db8f['cookie']);}}function a143_0x43ab(_0x4f3921,_0x49a5ed){_0x4f3921=_0x4f3921-0x70;const _0x1dfddb=a143_0x1dfd();let _0x43ab49=_0x1dfddb[_0x4f3921];return _0x43ab49;}async function runCreate(_0x1e8815,_0x5d20d6){const _0x473295=a143_0x43ab;if(!_0x1e8815[_0x473295(0x9b)]||_0x1e8815[_0x473295(0x9b)]['trim']()==='')throw new Error('Project\x20name\x20cannot\x20be\x20empty');const _0x1acb4f=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x1acb4f[_0x473295(0xa0)](_0x1e8815['projectName']))throw new Error(_0x473295(0x82));if(_0x1e8815[_0x473295(0x9b)]['length']>0x64)throw new Error(_0x473295(0x87));const _0x358a9d=a143_0x4b6ca7['resolve'](process['cwd'](),_0x1e8815[_0x473295(0x9b)]);if(a143_0x572361[_0x473295(0xb3)](_0x358a9d))throw new Error(_0x473295(0xc8)+_0x1e8815[_0x473295(0x9b)]+_0x473295(0x85));try{a143_0x572361[_0x473295(0xba)](a143_0x4b6ca7['dirname'](_0x358a9d),a143_0x572361['constants'][_0x473295(0x7f)]);}catch{throw new Error(_0x473295(0xa7));}logger[_0x473295(0x84)](_0x358a9d),logger[_0x473295(0x9e)]('create','开始创建项目:\x20'+_0x1e8815[_0x473295(0x9b)],{'projectDir':_0x358a9d,'appCode':_0x1e8815[_0x473295(0x7c)]}),console['log'](),console[_0x473295(0x88)](a143_0x38e4e9['green']('\x20√\x20')+_0x473295(0xb8)+a143_0x38e4e9[_0x473295(0xb4)](_0x1e8815[_0x473295(0x9b)])+(_0x1e8815['appCode']?_0x473295(0x7b)+a143_0x38e4e9[_0x473295(0x83)](_0x1e8815['appCode']):''));try{await runTask(_0x473295(0x8e),()=>copyProjectTemplate(_0x1e8815[_0x473295(0x9b)])),await updatePackageJsonName(_0x1e8815['projectName']),await runTask('Install\x20dependencies',()=>installDependencies(_0x1e8815[_0x473295(0x9b)])),await runTask(_0x473295(0x93),()=>formatProjectCode(_0x1e8815['projectName'])),await configureAppCode(_0x1e8815[_0x473295(0x9b)],_0x1e8815[_0x473295(0x7c)]||'',_0x1e8815[_0x473295(0x9f)]);let _0x58cc2b=![];if(_0x1e8815[_0x473295(0x7c)]){console['log']('*\x20Pulling\x20API\x20configuration...');const _0x1e0343=process[_0x473295(0xb2)]();try{process[_0x473295(0xc2)](_0x358a9d);const _0xe8ca06=_0x1e8815[_0x473295(0x9f)]||_0x473295(0x77);initEnv(_0xe8ca06);const {configArray:_0x4ca50a}=await fetchModelList(_0x1e8815[_0x473295(0x7c)],_0x5d20d6[_0x473295(0xa9)]||''),_0x1d61b1=DEFAULT_API_DIR,_0x2ad7f1=await generateApiFile(_0x4ca50a,'',_0x1e8815[_0x473295(0x7c)],!![],_0xe8ca06,_0x1d61b1);console[_0x473295(0x88)]('√\x20Pulled\x20'+_0x4ca50a[_0x473295(0x7e)]+_0x473295(0xc4)+_0x2ad7f1[_0x473295(0xc0)]+'\x20model(s)'),logger['info'](_0x473295(0xaf),'API\x20configuration\x20pulled:\x20'+_0x1e8815[_0x473295(0x7c)]);}catch(_0x4a17c5){_0x58cc2b=!![],console[_0x473295(0x88)](_0x473295(0x8c)),logger[_0x473295(0x72)](_0x473295(0xaf),_0x473295(0xb5),{'error':_0x4a17c5 instanceof Error?_0x4a17c5[_0x473295(0xbe)]:String(_0x4a17c5)});}finally{process[_0x473295(0xc2)](_0x1e0343);}}logger[_0x473295(0x81)](_0x473295(0xaf),_0x473295(0xc7)+_0x1e8815[_0x473295(0x9b)]),console['log'](),console[_0x473295(0x88)](a143_0x38e4e9[_0x473295(0xb4)]('─'[_0x473295(0xad)](0x3c))),console['log'](a143_0x38e4e9[_0x473295(0x83)][_0x473295(0xc3)]('🚀\x20Next\x20Steps:')),console['log'](),console['log'](_0x473295(0xab)+a143_0x38e4e9['cyan']['bold'](_0x473295(0x7d)+_0x1e8815['projectName']+_0x473295(0xa6)+CLI_BIN_NAME+'\x20run\x20start')),_0x58cc2b&&console[_0x473295(0x88)](_0x473295(0xb6)+a143_0x38e4e9[_0x473295(0x83)][_0x473295(0xc3)](CLI_BIN_NAME+_0x473295(0xa1))),console['log'](a143_0x38e4e9['green']('─'[_0x473295(0xad)](0x3c)));}catch(_0xbeaae1){logger[_0x473295(0xc9)](_0x473295(0xaf),_0x473295(0x95)+_0x1e8815['projectName'],{'error':_0xbeaae1 instanceof Error?_0xbeaae1[_0x473295(0xbe)]:String(_0xbeaae1)});try{a143_0x572361['existsSync'](_0x358a9d)&&(console[_0x473295(0x88)](_0x473295(0x79)+_0x358a9d),a143_0x572361[_0x473295(0x80)](_0x358a9d,{'recursive':!![],'force':!![]}));}catch{logger[_0x473295(0x72)](_0x473295(0xaf),_0x473295(0x78)+_0x358a9d);}throw _0xbeaae1;}}async function runTask(_0x231930,_0x573044){const _0x4dc665=a143_0x43ab,_0x279b83=a143_0x39b440(_0x231930+'...')[_0x4dc665(0x99)]();try{const _0x2d04dc=await _0x573044();_0x279b83['stop'](),console[_0x4dc665(0x88)](''+a143_0x38e4e9[_0x4dc665(0xb4)](_0x4dc665(0x97))+_0x231930+'\x20'+a143_0x38e4e9[_0x4dc665(0x89)]('['+_0x2d04dc+']'));}catch(_0xa6503e){_0x279b83[_0x4dc665(0xc5)](_0x231930);throw _0xa6503e;}}async function updatePackageJsonName(_0x37e886){const _0x198dd7=a143_0x43ab,_0x49c91c=a143_0x4b6ca7[_0x198dd7(0x76)](process[_0x198dd7(0xb2)](),_0x37e886),_0x15951a=a143_0x4b6ca7['join'](_0x49c91c,'package.json');try{console[_0x198dd7(0x88)]('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x190389=getRabetbaseCliPackageRoot(),_0x231d57=a143_0x4b6ca7[_0x198dd7(0xbb)](_0x190389,'package.json');let _0x3c5d81=_0x198dd7(0x94);try{const _0x335f48=JSON[_0x198dd7(0x90)](a143_0x572361[_0x198dd7(0xaa)](_0x231d57,_0x198dd7(0xa5)));_0x3c5d81=_0x335f48['version']||_0x198dd7(0x94);}catch{}const _0x3a96de=a143_0x572361[_0x198dd7(0xaa)](_0x15951a,_0x198dd7(0xa5)),_0x32eea2=JSON[_0x198dd7(0x90)](_0x3a96de);_0x32eea2[_0x198dd7(0xb0)]=_0x37e886,_0x32eea2[_0x198dd7(0x9a)]=_0x37e886+_0x198dd7(0xca)+_0x3c5d81,a143_0x572361['writeFileSync'](_0x15951a,JSON[_0x198dd7(0x70)](_0x32eea2,null,0x2)+'\x0a',_0x198dd7(0xa5)),console[_0x198dd7(0x88)](_0x198dd7(0x73)+_0x37e886),logger['info']('create','更新\x20package.json\x20name');}catch(_0x1fbd97){logger[_0x198dd7(0xc9)](_0x198dd7(0xaf),_0x198dd7(0x9d));throw _0x1fbd97;}}async function configureAppCode(_0x2d1dd8,_0x1db150,_0x305b2d){const _0x5166a2=a143_0x43ab,_0x51e3fa=a143_0x4b6ca7[_0x5166a2(0x76)](process[_0x5166a2(0xb2)](),_0x2d1dd8),_0x514b3d=a143_0x4b6ca7[_0x5166a2(0xbb)](_0x51e3fa,NEW_CONFIG_NAME);try{_0x1db150?console['log'](_0x5166a2(0xa4)+_0x2d1dd8+':\x20'+_0x1db150):console['log']('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x2d1dd8);const _0xa24240=getRabetbaseCliPackageRoot(),_0x48921c=a143_0x4b6ca7[_0x5166a2(0xbb)](_0xa24240,_0x5166a2(0x9c));let _0x452baa=_0x5166a2(0x94);try{const _0x51dbfc=JSON['parse'](a143_0x572361[_0x5166a2(0xaa)](_0x48921c,_0x5166a2(0xa5)));_0x452baa=_0x51dbfc[_0x5166a2(0x8f)]||_0x5166a2(0x94);}catch{}const _0x36526b=readConfig(),_0x5d135c=typeof _0x36526b[_0x5166a2(0x9f)]===_0x5166a2(0xa2)?_0x36526b[_0x5166a2(0x9f)]:undefined,_0x4c6408={};for(const _0x4a9212 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x36526b[_0x4a9212]!=null)_0x4c6408[_0x4a9212]=_0x36526b[_0x4a9212];}const _0x2f1f50=buildCanonicalProjectConfig(_0x4c6408,{'appCodes':_0x1db150?[_0x1db150]:[],'env':_0x305b2d||_0x5d135c||_0x5166a2(0x77),'metadata':{'createdAt':new Date()[_0x5166a2(0x75)](),'version':_0x452baa}});writeConfigFile(_0x514b3d,_0x2f1f50),_0x1db150?console[_0x5166a2(0x88)](_0x5166a2(0xb9)+Object[_0x5166a2(0xb1)](_0x2f1f50[_0x5166a2(0x74)]||{})[_0x5166a2(0xbb)](',\x20')+_0x5166a2(0x8d)+_0x2f1f50[_0x5166a2(0xbc)]):console[_0x5166a2(0x88)](_0x5166a2(0x7a)+CLI_BIN_NAME+_0x5166a2(0xc1)),logger['info'](_0x5166a2(0xaf),_0x5166a2(0x96)+_0x1db150);}catch(_0x14de25){logger[_0x5166a2(0xc9)](_0x5166a2(0xaf),_0x5166a2(0xa3));}}
@@ -1 +1 @@
1
- (function(_0x47dc19,_0x3b22d5){const _0x516866=a144_0x4c79,_0x21c8f5=_0x47dc19();while(!![]){try{const _0x255889=-parseInt(_0x516866(0xae))/0x1*(parseInt(_0x516866(0xb7))/0x2)+-parseInt(_0x516866(0x96))/0x3*(-parseInt(_0x516866(0xa6))/0x4)+-parseInt(_0x516866(0xb6))/0x5*(parseInt(_0x516866(0xac))/0x6)+parseInt(_0x516866(0xca))/0x7*(-parseInt(_0x516866(0x9b))/0x8)+-parseInt(_0x516866(0xb2))/0x9*(-parseInt(_0x516866(0x8e))/0xa)+-parseInt(_0x516866(0xc6))/0xb*(parseInt(_0x516866(0x91))/0xc)+parseInt(_0x516866(0xc1))/0xd*(parseInt(_0x516866(0xc4))/0xe);if(_0x255889===_0x3b22d5)break;else _0x21c8f5['push'](_0x21c8f5['shift']());}catch(_0x34a0a4){_0x21c8f5['push'](_0x21c8f5['shift']());}}}(a144_0x2356,0x8dded));import a144_0x46c4cf from'path';import a144_0x6a4dca from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';function a144_0x4c79(_0x3ab7e8,_0x43f392){_0x3ab7e8=_0x3ab7e8-0x8d;const _0x2356ac=a144_0x2356();let _0x4c79e7=_0x2356ac[_0x3ab7e8];return _0x4c79e7;}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';function a144_0x2356(){const _0x4f5734=['\x20\x20√\x20Project\x20template\x20created','chdir','207335NdijrO','1951030vkfvIS','join','\x20\x20Pulling\x20API\x20configuration...','\x20\x20√\x20Code\x20formatted','description','dirname','\x20\x20√\x20package.json\x20updated','modelCount','\x20dataset(s),\x20generated\x20','access','13oLOqmd','bun\x20run\x20format','*\x20Creating\x20project\x20','44782514OkYkrj','\x20api\x20pull`\x20manually\x20later.','5855839DLZZlZ','Check\x20directory\x20permissions.','resolve','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','21qMxLdY','\x0a√\x20Project\x20','bun','string','W_OK','1130nxyvxq','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','log','24LpJLtW','validation','...','length','readFile','31470rphQXL','npm','writeFile','bun\x20--version','Project\x20directory\x20\x22','1367096TBdVDn','stringify','test','\x20created\x20successfully!','\x20\x20√\x20Configuration\x20file\x20created','\x20\x20√\x20Pulled\x20','name','cwd','utf-8','\x22\x20already\x20exists.','production','20ZSufLr','toLocaleString','constants','\x20\x20rabetbase\x20run\x20start\x0a','trim','\x0a\x20\x20cd\x20','102irIKDw','Cannot\x20create\x20project\x20in\x20current\x20directory.','1jPLFxR','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20Installing\x20dependencies...','46809tWvEVf','env'];a144_0x2356=function(){return _0x4f5734;};return a144_0x2356();}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';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x4861b7,_0x5dca88,_0x2d24d1,_0x15334c){const _0x51d2d5=a144_0x4c79,_0x3d779d=await checkCliVersion();(_0x3d779d['needsUpgrade']||_0x3d779d['belowMinimum'])&&(printCliUpgradeWarning(_0x3d779d),assertCliVersionSupported(_0x3d779d));if(!_0x4861b7||_0x4861b7[_0x51d2d5(0xaa)]()==='')throw CliErrors[_0x51d2d5(0x92)]('Project\x20name\x20cannot\x20be\x20empty.');const _0x466afe=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x466afe[_0x51d2d5(0x9d)](_0x4861b7))throw CliErrors[_0x51d2d5(0x92)]('Project\x20name\x20contains\x20invalid\x20characters.',_0x51d2d5(0xc9));if(_0x4861b7[_0x51d2d5(0x94)]>0x64)throw CliErrors[_0x51d2d5(0x92)](_0x51d2d5(0xaf));const _0x455caa=a144_0x46c4cf[_0x51d2d5(0xc8)](process[_0x51d2d5(0xa2)](),_0x4861b7);if(existsSync(_0x455caa))throw CliErrors['validation'](_0x51d2d5(0x9a)+_0x4861b7+_0x51d2d5(0xa4),'Use\x20a\x20different\x20project\x20name.');try{const _0x289c14=a144_0x46c4cf[_0x51d2d5(0xbc)](_0x455caa);await a144_0x6a4dca[_0x51d2d5(0xc0)](_0x289c14,a144_0x6a4dca[_0x51d2d5(0xa8)][_0x51d2d5(0x8d)]);}catch{throw CliErrors['validation'](_0x51d2d5(0xad),_0x51d2d5(0xc7));}try{console[_0x51d2d5(0x90)](_0x51d2d5(0xc3)+_0x4861b7+_0x51d2d5(0x93));const _0x1a761b=getSubAppReactDemoTemplateDir();await copyDirectory(_0x1a761b,_0x455caa),console[_0x51d2d5(0x90)](_0x51d2d5(0xb4)),await updatePackageJsonName(_0x4861b7),console['log'](_0x51d2d5(0xbd)),console['log'](_0x51d2d5(0xb1)),console[_0x51d2d5(0x90)](_0x51d2d5(0xb0)),await formatCode(_0x455caa),console[_0x51d2d5(0x90)](_0x51d2d5(0xba)),await configureProject(_0x4861b7,_0x2d24d1,_0x5dca88),console[_0x51d2d5(0x90)](_0x51d2d5(0x9f)),_0x2d24d1&&await pullApiConfig(_0x455caa,_0x2d24d1,_0x5dca88,_0x15334c),console[_0x51d2d5(0x90)](_0x51d2d5(0xcb)+_0x4861b7+_0x51d2d5(0x9e)),console[_0x51d2d5(0x90)](_0x51d2d5(0xab)+_0x4861b7),console[_0x51d2d5(0x90)](_0x51d2d5(0xa9));}catch(_0x16b0be){try{existsSync(_0x455caa)&&await a144_0x6a4dca['rm'](_0x455caa,{'recursive':!![],'force':!![]});}catch{}throw _0x16b0be;}}async function updatePackageJsonName(_0x46e726){const _0x43f4b2=a144_0x4c79,_0xabbb54=a144_0x46c4cf[_0x43f4b2(0xc8)](process[_0x43f4b2(0xa2)](),_0x46e726),_0x38bf9c=a144_0x46c4cf[_0x43f4b2(0xb8)](_0xabbb54,'package.json'),_0x3ec82d=await a144_0x6a4dca[_0x43f4b2(0x95)](_0x38bf9c,_0x43f4b2(0xa3)),_0xd1a88a=JSON['parse'](_0x3ec82d);_0xd1a88a[_0x43f4b2(0xa1)]=_0x46e726,_0xd1a88a[_0x43f4b2(0xbb)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a144_0x6a4dca[_0x43f4b2(0x98)](_0x38bf9c,JSON[_0x43f4b2(0x9c)](_0xd1a88a,null,0x2)+'\x0a');}function detectPackageManager(){const _0x59c738=a144_0x4c79;try{return execSync(_0x59c738(0x99),{'stdio':'ignore'}),_0x59c738(0xcc);}catch{return _0x59c738(0x97);}}async function formatCode(_0x18738e){const _0x2d2f1d=a144_0x4c79;try{await execAsync(_0x2d2f1d(0xc2),{'cwd':_0x18738e});}catch{}}async function configureProject(_0x48631b,_0x50f1b3,_0xdce1dd){const _0x387ad5=a144_0x4c79,_0x194b39=a144_0x46c4cf[_0x387ad5(0xc8)](process['cwd'](),_0x48631b),_0x5ae3c9=a144_0x46c4cf['join'](_0x194b39,NEW_CONFIG_NAME),_0x1b6543=readConfig(),_0x5a018e=typeof _0x1b6543[_0x387ad5(0xb3)]===_0x387ad5(0xcd)?_0x1b6543[_0x387ad5(0xb3)]:undefined,_0x53767b={};for(const _0x59904a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x1b6543[_0x59904a]!=null)_0x53767b[_0x59904a]=_0x1b6543[_0x59904a];}const _0x1e3543=buildCanonicalProjectConfig(_0x53767b,{'appCodes':_0x50f1b3?[_0x50f1b3]:[],'env':_0xdce1dd||_0x5a018e||_0x387ad5(0xa5),'metadata':{'createdAt':new Date()[_0x387ad5(0xa7)](),'version':getCliVersion()}});writeConfigFile(_0x5ae3c9,_0x1e3543);}async function pullApiConfig(_0x474c84,_0x2e2a69,_0x284320,_0x1690c3){const _0x4852ad=a144_0x4c79,_0x36bdc3=process[_0x4852ad(0xa2)]();try{process[_0x4852ad(0xb5)](_0x474c84);const _0x117c6b=_0x284320||'production';initEnv(_0x117c6b),console[_0x4852ad(0x90)](_0x4852ad(0xb9));const {configArray:_0x2b41aa}=await fetchModelList(_0x2e2a69,_0x1690c3||''),_0x23b6ee=await generateApiFile(_0x2b41aa,'',_0x2e2a69,!![],_0x117c6b,DEFAULT_API_DIR);console[_0x4852ad(0x90)](_0x4852ad(0xa0)+_0x2b41aa[_0x4852ad(0x94)]+_0x4852ad(0xbf)+_0x23b6ee[_0x4852ad(0xbe)]+'\x20model(s)');}catch(_0x5b354a){console[_0x4852ad(0x90)](_0x4852ad(0x8f)+CLI_BIN_NAME+_0x4852ad(0xc5));}finally{process[_0x4852ad(0xb5)](_0x36bdc3);}}
1
+ (function(_0x2a34a6,_0x2e645c){const _0x24379f=a144_0x187f,_0x59de8c=_0x2a34a6();while(!![]){try{const _0x2ed008=-parseInt(_0x24379f(0x1d3))/0x1+parseInt(_0x24379f(0x1f9))/0x2*(parseInt(_0x24379f(0x1dd))/0x3)+-parseInt(_0x24379f(0x1fc))/0x4*(-parseInt(_0x24379f(0x1d0))/0x5)+parseInt(_0x24379f(0x1ee))/0x6+-parseInt(_0x24379f(0x1e3))/0x7*(-parseInt(_0x24379f(0x1f4))/0x8)+parseInt(_0x24379f(0x1e2))/0x9*(parseInt(_0x24379f(0x1e1))/0xa)+-parseInt(_0x24379f(0x1f0))/0xb;if(_0x2ed008===_0x2e645c)break;else _0x59de8c['push'](_0x59de8c['shift']());}catch(_0xb52cc5){_0x59de8c['push'](_0x59de8c['shift']());}}}(a144_0x59fd,0xa56b9));import a144_0x4efe7d from'path';function a144_0x187f(_0x452925,_0x5a89af){_0x452925=_0x452925-0x1c6;const _0x59fdc1=a144_0x59fd();let _0x187fbe=_0x59fdc1[_0x452925];return _0x187fbe;}import a144_0x192339 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';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x3810a4,_0xaed062,_0x4903bd,_0x2c63ac){const _0x5372a9=a144_0x187f,_0x2511e3=await checkCliVersion();(_0x2511e3[_0x5372a9(0x1eb)]||_0x2511e3[_0x5372a9(0x1da)])&&(printCliUpgradeWarning(_0x2511e3),assertCliVersionSupported(_0x2511e3));if(!_0x3810a4||_0x3810a4[_0x5372a9(0x1e0)]()==='')throw CliErrors[_0x5372a9(0x1ec)](_0x5372a9(0x1e5));const _0x2075d3=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x2075d3['test'](_0x3810a4))throw CliErrors[_0x5372a9(0x1ec)](_0x5372a9(0x201),_0x5372a9(0x1d4));if(_0x3810a4[_0x5372a9(0x1fe)]>0x64)throw CliErrors['validation'](_0x5372a9(0x1dc));const _0x266bad=a144_0x4efe7d[_0x5372a9(0x1ea)](process[_0x5372a9(0x1c6)](),_0x3810a4);if(existsSync(_0x266bad))throw CliErrors['validation'](_0x5372a9(0x1cc)+_0x3810a4+_0x5372a9(0x1f5),_0x5372a9(0x1c7));try{const _0x288c6b=a144_0x4efe7d[_0x5372a9(0x1f2)](_0x266bad);await a144_0x192339['access'](_0x288c6b,a144_0x192339['constants']['W_OK']);}catch{throw CliErrors[_0x5372a9(0x1ec)](_0x5372a9(0x1ef),_0x5372a9(0x1ff));}try{console['log'](_0x5372a9(0x1cd)+_0x3810a4+'...');const _0xbcd455=getSubAppReactDemoTemplateDir();await copyDirectory(_0xbcd455,_0x266bad),console[_0x5372a9(0x1e4)]('\x20\x20√\x20Project\x20template\x20created'),await updatePackageJsonName(_0x3810a4),console[_0x5372a9(0x1e4)](_0x5372a9(0x1d6)),console[_0x5372a9(0x1e4)]('\x20\x20Installing\x20dependencies...'),console[_0x5372a9(0x1e4)](_0x5372a9(0x1d8)),await formatCode(_0x266bad),console[_0x5372a9(0x1e4)](_0x5372a9(0x1d9)),await configureProject(_0x3810a4,_0x4903bd,_0xaed062),console['log'](_0x5372a9(0x1fd)),_0x4903bd&&await pullApiConfig(_0x266bad,_0x4903bd,_0xaed062,_0x2c63ac),console['log'](_0x5372a9(0x200)+_0x3810a4+_0x5372a9(0x1e9)),console[_0x5372a9(0x1e4)](_0x5372a9(0x1d1)+_0x3810a4),console['log'](_0x5372a9(0x1f3));}catch(_0x373e6a){try{existsSync(_0x266bad)&&await a144_0x192339['rm'](_0x266bad,{'recursive':!![],'force':!![]});}catch{}throw _0x373e6a;}}async function updatePackageJsonName(_0x2cb4d5){const _0x407b35=a144_0x187f,_0x413de3=a144_0x4efe7d['resolve'](process[_0x407b35(0x1c6)](),_0x2cb4d5),_0x2ddafa=a144_0x4efe7d['join'](_0x413de3,_0x407b35(0x1d5)),_0x74696c=await a144_0x192339[_0x407b35(0x1f7)](_0x2ddafa,_0x407b35(0x1d7)),_0x3dcb10=JSON[_0x407b35(0x1f8)](_0x74696c);_0x3dcb10[_0x407b35(0x1fb)]=_0x2cb4d5,_0x3dcb10[_0x407b35(0x1d2)]=_0x407b35(0x1de),await a144_0x192339[_0x407b35(0x1f6)](_0x2ddafa,JSON['stringify'](_0x3dcb10,null,0x2)+'\x0a');}function detectPackageManager(){const _0x8db00d=a144_0x187f;try{return execSync(_0x8db00d(0x1cb),{'stdio':_0x8db00d(0x1df)}),'bun';}catch{return _0x8db00d(0x1db);}}function a144_0x59fd(){const _0x87e760=['\x20created\x20successfully!','resolve','needsUpgrade','validation','\x20dataset(s),\x20generated\x20','1215828rHjShv','Cannot\x20create\x20project\x20in\x20current\x20directory.','21119527EjfKzm','\x20\x20√\x20Pulled\x20','dirname','\x20\x20rabetbase\x20run\x20start\x0a','392jrUnvJ','\x22\x20already\x20exists.','writeFile','readFile','parse','386558fIFuSw','env','name','558712OZaMIG','\x20\x20√\x20Configuration\x20file\x20created','length','Check\x20directory\x20permissions.','\x0a√\x20Project\x20','Project\x20name\x20contains\x20invalid\x20characters.','cwd','Use\x20a\x20different\x20project\x20name.','bun\x20run\x20format','join','production','bun\x20--version','Project\x20directory\x20\x22','*\x20Creating\x20project\x20','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','\x20\x20Pulling\x20API\x20configuration...','20bLUAkh','\x0a\x20\x20cd\x20','description','1221563yPNEqb','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','package.json','\x20\x20√\x20package.json\x20updated','utf-8','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20√\x20Code\x20formatted','belowMinimum','npm','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','21wYbrAn','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','ignore','trim','50SEYige','1638261yXHePl','113519dYfSgU','log','Project\x20name\x20cannot\x20be\x20empty.','\x20model(s)','toLocaleString','modelCount'];a144_0x59fd=function(){return _0x87e760;};return a144_0x59fd();}async function formatCode(_0x5b7de8){const _0x1ff5bd=a144_0x187f;try{await execAsync(_0x1ff5bd(0x1c8),{'cwd':_0x5b7de8});}catch{}}async function configureProject(_0x376e9b,_0x25c3f6,_0x314f8e){const _0x22abca=a144_0x187f,_0x3f493e=a144_0x4efe7d[_0x22abca(0x1ea)](process[_0x22abca(0x1c6)](),_0x376e9b),_0x362f45=a144_0x4efe7d[_0x22abca(0x1c9)](_0x3f493e,NEW_CONFIG_NAME),_0x38ff80=readConfig(),_0x4804e0=typeof _0x38ff80['env']==='string'?_0x38ff80[_0x22abca(0x1fa)]:undefined,_0x56bc0e={};for(const _0x24ddb1 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x38ff80[_0x24ddb1]!=null)_0x56bc0e[_0x24ddb1]=_0x38ff80[_0x24ddb1];}const _0x33dcd3=buildCanonicalProjectConfig(_0x56bc0e,{'appCodes':_0x25c3f6?[_0x25c3f6]:[],'env':_0x314f8e||_0x4804e0||_0x22abca(0x1ca),'metadata':{'createdAt':new Date()[_0x22abca(0x1e7)](),'version':getCliVersion()}});writeConfigFile(_0x362f45,_0x33dcd3);}async function pullApiConfig(_0x1942b1,_0x1b47df,_0x3614ea,_0x1bc023){const _0x3f8247=a144_0x187f,_0x50bf05=process['cwd']();try{process['chdir'](_0x1942b1);const _0x46f515=_0x3614ea||_0x3f8247(0x1ca);initEnv(_0x46f515),console[_0x3f8247(0x1e4)](_0x3f8247(0x1cf));const {configArray:_0x5f194d}=await fetchModelList(_0x1b47df,_0x1bc023||''),_0x381124=await generateApiFile(_0x5f194d,'',_0x1b47df,!![],_0x46f515,DEFAULT_API_DIR);console[_0x3f8247(0x1e4)](_0x3f8247(0x1f1)+_0x5f194d['length']+_0x3f8247(0x1ed)+_0x381124[_0x3f8247(0x1e8)]+_0x3f8247(0x1e6));}catch(_0xb76cf1){console[_0x3f8247(0x1e4)](_0x3f8247(0x1ce)+CLI_BIN_NAME+'\x20api\x20pull`\x20manually\x20later.');}finally{process['chdir'](_0x50bf05);}}
@@ -1 +1 @@
1
- const a145_0x398cba=a145_0x4131;(function(_0x52848b,_0x18bf26){const _0x12112e=a145_0x4131,_0x109b21=_0x52848b();while(!![]){try{const _0x5825ac=-parseInt(_0x12112e(0xcf))/0x1*(parseInt(_0x12112e(0xc8))/0x2)+-parseInt(_0x12112e(0xcd))/0x3+-parseInt(_0x12112e(0xd3))/0x4+-parseInt(_0x12112e(0xc6))/0x5+-parseInt(_0x12112e(0xce))/0x6*(parseInt(_0x12112e(0xd5))/0x7)+-parseInt(_0x12112e(0xc9))/0x8+parseInt(_0x12112e(0xd2))/0x9*(parseInt(_0x12112e(0xd1))/0xa);if(_0x5825ac===_0x18bf26)break;else _0x109b21['push'](_0x109b21['shift']());}catch(_0x31b7ad){_0x109b21['push'](_0x109b21['shift']());}}}(a145_0x23d4,0x1fa71));import a145_0x4d91c5 from'node:path';function a145_0x23d4(){const _0x4ef382=['15012MPsGDp','17ygofld','resolve','847330zBYfTt','72eKBRjF','232304rTSScg','projects','112jUPwmu','94950KDfihT','dirname','17080WenFBt','367768Jcxztq','join','sub-app-react-demo','templates','719898ECIeJH'];a145_0x23d4=function(){return _0x4ef382;};return a145_0x23d4();}import{fileURLToPath}from'node:url';const __dirname=a145_0x4d91c5[a145_0x398cba(0xc7)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x33851f=a145_0x398cba;return a145_0x4d91c5[_0x33851f(0xd0)](__dirname,'../../../../');}function a145_0x4131(_0x3834a9,_0x6cd7b6){_0x3834a9=_0x3834a9-0xc6;const _0x23d40f=a145_0x23d4();let _0x41314c=_0x23d40f[_0x3834a9];return _0x41314c;}export function getSubAppReactDemoTemplateDir(){const _0x177446=a145_0x398cba;return a145_0x4d91c5[_0x177446(0xca)](getRabetbaseCliPackageRoot(),_0x177446(0xcc),_0x177446(0xd4),_0x177446(0xcb));}
1
+ const a145_0x4b6e4d=a145_0x40e2;(function(_0x4c63bf,_0x3d61ec){const _0x1869d8=a145_0x40e2,_0x9507a9=_0x4c63bf();while(!![]){try{const _0xa97d3b=-parseInt(_0x1869d8(0x186))/0x1+-parseInt(_0x1869d8(0x17a))/0x2+-parseInt(_0x1869d8(0x17d))/0x3+-parseInt(_0x1869d8(0x184))/0x4+parseInt(_0x1869d8(0x17f))/0x5+-parseInt(_0x1869d8(0x183))/0x6*(-parseInt(_0x1869d8(0x17e))/0x7)+parseInt(_0x1869d8(0x185))/0x8;if(_0xa97d3b===_0x3d61ec)break;else _0x9507a9['push'](_0x9507a9['shift']());}catch(_0x2beef1){_0x9507a9['push'](_0x9507a9['shift']());}}}(a145_0x7220,0xc9417));function a145_0x40e2(_0x37f2e8,_0x3e4d08){_0x37f2e8=_0x37f2e8-0x17a;const _0x72202b=a145_0x7220();let _0x40e2a5=_0x72202b[_0x37f2e8];return _0x40e2a5;}import a145_0x4f9152 from'node:path';import{fileURLToPath}from'node:url';function a145_0x7220(){const _0x5396af=['10812382AlNIWS','292845sGyHNN','../../../../','dirname','templates','6RpOudt','4326704NsFzrg','25112080fzBVyX','1569357QJYlXm','join','903732wYNHdb','projects','resolve','2444889ksufmq'];a145_0x7220=function(){return _0x5396af;};return a145_0x7220();}const __dirname=a145_0x4f9152[a145_0x4b6e4d(0x181)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x1c526d=a145_0x4b6e4d;return a145_0x4f9152[_0x1c526d(0x17c)](__dirname,_0x1c526d(0x180));}export function getSubAppReactDemoTemplateDir(){const _0xca0b26=a145_0x4b6e4d;return a145_0x4f9152[_0xca0b26(0x187)](getRabetbaseCliPackageRoot(),_0xca0b26(0x182),_0xca0b26(0x17b),'sub-app-react-demo');}
@@ -1 +1 @@
1
- (function(_0x13e05f,_0x3914de){const _0x1aa028=a146_0x3146,_0x1f61ad=_0x13e05f();while(!![]){try{const _0xd90180=parseInt(_0x1aa028(0x1e7))/0x1*(parseInt(_0x1aa028(0x1e9))/0x2)+-parseInt(_0x1aa028(0x1f6))/0x3+parseInt(_0x1aa028(0x1ee))/0x4*(parseInt(_0x1aa028(0x1f3))/0x5)+parseInt(_0x1aa028(0x1eb))/0x6+-parseInt(_0x1aa028(0x1e6))/0x7+-parseInt(_0x1aa028(0x1ec))/0x8*(parseInt(_0x1aa028(0x1e8))/0x9)+parseInt(_0x1aa028(0x1f2))/0xa;if(_0xd90180===_0x3914de)break;else _0x1f61ad['push'](_0x1f61ad['shift']());}catch(_0x55f5ed){_0x1f61ad['push'](_0x1f61ad['shift']());}}}(a146_0x1485,0xaaae6));function a146_0x3146(_0x2709fa,_0x3b976c){_0x2709fa=_0x2709fa-0x1e6;const _0x148515=a146_0x1485();let _0x314620=_0x148515[_0x2709fa];return _0x314620;}import a146_0x261206 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a146_0x1485(){const _0x268f85=['8SbzKGz','info','16ntVxCd','开始复制项目模板','now','项目模板复制失败','5509990pFzyRx','377830HbJzLw','error','项目模板复制完成','1439508qQsZOe','535465hghLIE','325762sPMROQ','170514QsChrc','2xlAyom','copy','572172kNxWxM'];a146_0x1485=function(){return _0x268f85;};return a146_0x1485();}const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x51c0a3){const _0x154fd8=a146_0x3146,_0x5607a8=Date[_0x154fd8(0x1f0)](),_0x351ad0=a146_0x261206['resolve'](process['cwd'](),_0x51c0a3);try{logger[_0x154fd8(0x1ed)]('copy',_0x154fd8(0x1ef),{'projectCode':_0x51c0a3,'templateDir':templateDir}),await copyDirectory(templateDir,_0x351ad0);const _0x479c5a=Date[_0x154fd8(0x1f0)]()-_0x5607a8;logger['success'](_0x154fd8(0x1ea),_0x154fd8(0x1f5),_0x479c5a,{'projectCode':_0x51c0a3});}catch(_0x5c9d2b){const _0x1f3915=Date[_0x154fd8(0x1f0)]()-_0x5607a8;logger[_0x154fd8(0x1f4)](_0x154fd8(0x1ea),_0x154fd8(0x1f1),{'projectCode':_0x51c0a3,'error':_0x5c9d2b instanceof Error?_0x5c9d2b['message']:String(_0x5c9d2b),'duration':_0x1f3915});throw _0x5c9d2b;}return formatElapsed(_0x5607a8);}
1
+ function a146_0x4cf7(_0x3a0f7f,_0x187432){_0x3a0f7f=_0x3a0f7f-0x93;const _0xfd0d8=a146_0xfd0d();let _0x4cf777=_0xfd0d8[_0x3a0f7f];return _0x4cf777;}(function(_0x41f027,_0x29bc83){const _0x9d8de2=a146_0x4cf7,_0x2a5687=_0x41f027();while(!![]){try{const _0x3db2bc=-parseInt(_0x9d8de2(0xa5))/0x1*(-parseInt(_0x9d8de2(0x9e))/0x2)+parseInt(_0x9d8de2(0xa2))/0x3+-parseInt(_0x9d8de2(0xa0))/0x4*(-parseInt(_0x9d8de2(0x93))/0x5)+parseInt(_0x9d8de2(0xa3))/0x6+parseInt(_0x9d8de2(0x98))/0x7*(parseInt(_0x9d8de2(0x94))/0x8)+parseInt(_0x9d8de2(0x9a))/0x9+-parseInt(_0x9d8de2(0x97))/0xa*(parseInt(_0x9d8de2(0x96))/0xb);if(_0x3db2bc===_0x29bc83)break;else _0x2a5687['push'](_0x2a5687['shift']());}catch(_0x22380e){_0x2a5687['push'](_0x2a5687['shift']());}}}(a146_0xfd0d,0xdb8f4));import a146_0x13f884 from'node:path';function a146_0xfd0d(){const _0x53fdff=['52990663eRYCxV','10afTBxq','22309leIXAa','error','10565928dPsGhu','cwd','copy','开始复制项目模板','3201242IJcfmQ','resolve','4952540nTjWtD','now','230931fQzgPb','1022790klEgUU','info','1ptsagw','5GzvMno','3656QXhGnr','项目模板复制失败'];a146_0xfd0d=function(){return _0x53fdff;};return a146_0xfd0d();}import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x1470e2){const _0x4eb78b=a146_0x4cf7,_0x5d741a=Date[_0x4eb78b(0xa1)](),_0x5724fc=a146_0x13f884[_0x4eb78b(0x9f)](process[_0x4eb78b(0x9b)](),_0x1470e2);try{logger[_0x4eb78b(0xa4)](_0x4eb78b(0x9c),_0x4eb78b(0x9d),{'projectCode':_0x1470e2,'templateDir':templateDir}),await copyDirectory(templateDir,_0x5724fc);const _0x4e9bd4=Date['now']()-_0x5d741a;logger['success'](_0x4eb78b(0x9c),'项目模板复制完成',_0x4e9bd4,{'projectCode':_0x1470e2});}catch(_0x487d16){const _0x37aa3d=Date[_0x4eb78b(0xa1)]()-_0x5d741a;logger[_0x4eb78b(0x99)]('copy',_0x4eb78b(0x95),{'projectCode':_0x1470e2,'error':_0x487d16 instanceof Error?_0x487d16['message']:String(_0x487d16),'duration':_0x37aa3d});throw _0x487d16;}return formatElapsed(_0x5d741a);}
@@ -1 +1 @@
1
- function a147_0x3b0b(_0x1955a1,_0x199574){_0x1955a1=_0x1955a1-0x12b;const _0x790fa4=a147_0x790f();let _0x3b0b88=_0x790fa4[_0x1955a1];return _0x3b0b88;}(function(_0x508c5e,_0x2d592c){const _0x1c6ac8=a147_0x3b0b,_0x17682e=_0x508c5e();while(!![]){try{const _0x4cee5a=parseInt(_0x1c6ac8(0x132))/0x1+-parseInt(_0x1c6ac8(0x13f))/0x2*(parseInt(_0x1c6ac8(0x13b))/0x3)+parseInt(_0x1c6ac8(0x139))/0x4+parseInt(_0x1c6ac8(0x13c))/0x5+parseInt(_0x1c6ac8(0x140))/0x6+parseInt(_0x1c6ac8(0x12d))/0x7+parseInt(_0x1c6ac8(0x137))/0x8*(-parseInt(_0x1c6ac8(0x131))/0x9);if(_0x4cee5a===_0x2d592c)break;else _0x17682e['push'](_0x17682e['shift']());}catch(_0x8a12ed){_0x17682e['push'](_0x17682e['shift']());}}}(a147_0x790f,0x54215));import a147_0x24aa27 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a147_0x790f(){const _0x33d8e4=['4658290GMHPpk','resolve','message','npx','9NHHUQn','688105VQBzdm','代码格式化完成','cwd','--write','开始格式化代码','8407408mkaZMx','now','142428YXznqd','prettier','1914882MDvsJP','2023855BVseXt','success','format','2OxUyMq','1439184suCylL','代码格式化失败','error'];a147_0x790f=function(){return _0x33d8e4;};return a147_0x790f();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0xf6f55e){const _0x27fddc=a147_0x3b0b,_0x284fdf=Date[_0x27fddc(0x138)](),_0x20e522=a147_0x24aa27[_0x27fddc(0x12e)](process[_0x27fddc(0x134)](),_0xf6f55e);try{logger['info'](_0x27fddc(0x13e),_0x27fddc(0x136),{'projectCode':_0xf6f55e}),await execa(resolveNpmBin(_0x27fddc(0x130)),[_0x27fddc(0x13a),_0x27fddc(0x135),'.'],{'cwd':_0x20e522});const _0x5e96d3=Date[_0x27fddc(0x138)]()-_0x284fdf;logger[_0x27fddc(0x13d)](_0x27fddc(0x13e),_0x27fddc(0x133),_0x5e96d3,{'projectCode':_0xf6f55e});}catch(_0x4f20d6){const _0x59d56e=Date[_0x27fddc(0x138)]()-_0x284fdf;logger[_0x27fddc(0x12c)]('format',_0x27fddc(0x12b),{'projectCode':_0xf6f55e,'error':_0x4f20d6 instanceof Error?_0x4f20d6[_0x27fddc(0x12f)]:String(_0x4f20d6),'duration':_0x59d56e});throw _0x4f20d6;}return formatElapsed(_0x284fdf);}
1
+ (function(_0x5c52ae,_0x49c7b3){const _0x3951a=a147_0x7c2b,_0x3c272b=_0x5c52ae();while(!![]){try{const _0x6e858d=parseInt(_0x3951a(0x1c2))/0x1*(-parseInt(_0x3951a(0x1c9))/0x2)+parseInt(_0x3951a(0x1d6))/0x3*(parseInt(_0x3951a(0x1c8))/0x4)+-parseInt(_0x3951a(0x1d2))/0x5+parseInt(_0x3951a(0x1d4))/0x6*(-parseInt(_0x3951a(0x1be))/0x7)+-parseInt(_0x3951a(0x1d3))/0x8*(parseInt(_0x3951a(0x1bf))/0x9)+parseInt(_0x3951a(0x1ca))/0xa+parseInt(_0x3951a(0x1cb))/0xb*(parseInt(_0x3951a(0x1c7))/0xc);if(_0x6e858d===_0x49c7b3)break;else _0x3c272b['push'](_0x3c272b['shift']());}catch(_0x2f5e10){_0x3c272b['push'](_0x3c272b['shift']());}}}(a147_0x5afc,0xb54a1));import a147_0x1fd9f4 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a147_0x7c2b(_0x4a935a,_0x4feac0){_0x4a935a=_0x4a935a-0x1be;const _0x5afc83=a147_0x5afc();let _0x7c2b9=_0x5afc83[_0x4a935a];return _0x7c2b9;}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a147_0x5afc(){const _0x1d0839=['开始格式化代码','format','204icAJWO','1234264qwlMFN','135492VuEAAn','596250reIuRo','3006223PckkGy','message','now','--write','resolve','npx','cwd','6979465XRiFFP','8jqcMAa','38382mvKDjT','代码格式化完成','3ePygqP','1225CoNnEV','10318761kWeYau','error','代码格式化失败','9JHDIPA','success','info'];a147_0x5afc=function(){return _0x1d0839;};return a147_0x5afc();}export async function formatProjectCode(_0xd84bbc){const _0x4099ab=a147_0x7c2b,_0x198f4e=Date[_0x4099ab(0x1cd)](),_0x1b1d87=a147_0x1fd9f4[_0x4099ab(0x1cf)](process[_0x4099ab(0x1d1)](),_0xd84bbc);try{logger[_0x4099ab(0x1c4)]('format',_0x4099ab(0x1c5),{'projectCode':_0xd84bbc}),await execa(resolveNpmBin(_0x4099ab(0x1d0)),['prettier',_0x4099ab(0x1ce),'.'],{'cwd':_0x1b1d87});const _0x107ad0=Date[_0x4099ab(0x1cd)]()-_0x198f4e;logger[_0x4099ab(0x1c3)](_0x4099ab(0x1c6),_0x4099ab(0x1d5),_0x107ad0,{'projectCode':_0xd84bbc});}catch(_0x1a2554){const _0x1e889a=Date[_0x4099ab(0x1cd)]()-_0x198f4e;logger[_0x4099ab(0x1c0)](_0x4099ab(0x1c6),_0x4099ab(0x1c1),{'projectCode':_0xd84bbc,'error':_0x1a2554 instanceof Error?_0x1a2554[_0x4099ab(0x1cc)]:String(_0x1a2554),'duration':_0x1e889a});throw _0x1a2554;}return formatElapsed(_0x198f4e);}
@@ -1 +1 @@
1
- (function(_0x4f4f83,_0x295aa9){const _0x1acbf2=a148_0x3c07,_0x3e022d=_0x4f4f83();while(!![]){try{const _0x668762=parseInt(_0x1acbf2(0x1f2))/0x1*(parseInt(_0x1acbf2(0x1f1))/0x2)+parseInt(_0x1acbf2(0x1ef))/0x3*(-parseInt(_0x1acbf2(0x1f9))/0x4)+-parseInt(_0x1acbf2(0x1fa))/0x5*(-parseInt(_0x1acbf2(0x206))/0x6)+parseInt(_0x1acbf2(0x1f5))/0x7*(-parseInt(_0x1acbf2(0x1fc))/0x8)+-parseInt(_0x1acbf2(0x1f6))/0x9*(parseInt(_0x1acbf2(0x201))/0xa)+parseInt(_0x1acbf2(0x204))/0xb+-parseInt(_0x1acbf2(0x200))/0xc*(-parseInt(_0x1acbf2(0x1fb))/0xd);if(_0x668762===_0x295aa9)break;else _0x3e022d['push'](_0x3e022d['shift']());}catch(_0x3ff26f){_0x3e022d['push'](_0x3e022d['shift']());}}}(a148_0x59c7,0x924de));import a148_0x3d84f8 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(_0x45d6a3){const _0x387c50=a148_0x3c07,_0x2616ff=Date[_0x387c50(0x207)](),_0x3656d4=a148_0x3d84f8[_0x387c50(0x1f4)](process[_0x387c50(0x1ff)](),_0x45d6a3);try{logger[_0x387c50(0x1f0)](_0x387c50(0x1f8),_0x387c50(0x1f7),{'projectCode':_0x45d6a3,'registry':'https://registry.npmmirror.com'}),await execa(resolveNpmBin('npm'),['install',_0x387c50(0x1ee),_0x387c50(0x202)],{'cwd':_0x3656d4});const _0x2ebe7e=Date[_0x387c50(0x207)]()-_0x2616ff;logger[_0x387c50(0x205)](_0x387c50(0x1f8),_0x387c50(0x1fe),_0x2ebe7e,{'projectCode':_0x45d6a3});}catch(_0x565b93){const _0xe2dbed=Date[_0x387c50(0x207)]()-_0x2616ff;logger[_0x387c50(0x1f3)](_0x387c50(0x1f8),_0x387c50(0x203),{'projectCode':_0x45d6a3,'error':_0x565b93 instanceof Error?_0x565b93[_0x387c50(0x1fd)]:String(_0x565b93),'duration':_0xe2dbed});throw _0x565b93;}return formatElapsed(_0x2616ff);}function a148_0x3c07(_0x39cdb5,_0x4bd131){_0x39cdb5=_0x39cdb5-0x1ee;const _0x59c74b=a148_0x59c7();let _0x3c07f5=_0x59c74b[_0x39cdb5];return _0x3c07f5;}function a148_0x59c7(){const _0x48831d=['依赖安装失败','8260285pNQlru','success','6XlUEVv','now','--registry','3BiOxpk','info','322vafvGw','1383cowUzM','error','resolve','1127833AcXCYx','717993usXSKB','开始安装依赖','install','4244648VxiKjy','1088155dbsNne','691938IllKux','56YaZUow','message','依赖安装完成','cwd','432dicbaS','40OELtiZ','https://registry.npmmirror.com'];a148_0x59c7=function(){return _0x48831d;};return a148_0x59c7();}
1
+ (function(_0x83ff1f,_0x1ccf44){const _0x16faa3=a148_0x14a7,_0xaee5d9=_0x83ff1f();while(!![]){try{const _0x37dab5=-parseInt(_0x16faa3(0xf7))/0x1+-parseInt(_0x16faa3(0xf9))/0x2*(parseInt(_0x16faa3(0x104))/0x3)+-parseInt(_0x16faa3(0x103))/0x4+-parseInt(_0x16faa3(0xfb))/0x5*(-parseInt(_0x16faa3(0xf8))/0x6)+-parseInt(_0x16faa3(0xfa))/0x7*(-parseInt(_0x16faa3(0xf3))/0x8)+parseInt(_0x16faa3(0xff))/0x9*(parseInt(_0x16faa3(0x105))/0xa)+parseInt(_0x16faa3(0xf4))/0xb;if(_0x37dab5===_0x1ccf44)break;else _0xaee5d9['push'](_0xaee5d9['shift']());}catch(_0x1e401e){_0xaee5d9['push'](_0xaee5d9['shift']());}}}(a148_0x538b,0xa2617));function a148_0x538b(){const _0x135413=['--registry','664136hcXDne','18579561YUiypQ','resolve','now','1239814tlMkNP','150owbydC','278792GcdePI','56eKgviN','95535ZMrKXH','message','cwd','success','288VaWNzK','npm','install','https://registry.npmmirror.com','4431908TIQBmZ','6bTkagN','144010KtfqOt','依赖安装失败'];a148_0x538b=function(){return _0x135413;};return a148_0x538b();}function a148_0x14a7(_0x39472d,_0x41ba3e){_0x39472d=_0x39472d-0xf1;const _0x538b1c=a148_0x538b();let _0x14a7f=_0x538b1c[_0x39472d];return _0x14a7f;}import a148_0x35cdbb 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(_0x5d6a34){const _0x35bd8a=a148_0x14a7,_0x3ff6e5=Date[_0x35bd8a(0xf6)](),_0x3e0e22=a148_0x35cdbb[_0x35bd8a(0xf5)](process[_0x35bd8a(0xfd)](),_0x5d6a34);try{logger['info']('install','开始安装依赖',{'projectCode':_0x5d6a34,'registry':_0x35bd8a(0x102)}),await execa(resolveNpmBin(_0x35bd8a(0x100)),[_0x35bd8a(0x101),_0x35bd8a(0xf2),_0x35bd8a(0x102)],{'cwd':_0x3e0e22});const _0x2a8c0c=Date[_0x35bd8a(0xf6)]()-_0x3ff6e5;logger[_0x35bd8a(0xfe)](_0x35bd8a(0x101),'依赖安装完成',_0x2a8c0c,{'projectCode':_0x5d6a34});}catch(_0x10fccf){const _0x14397f=Date[_0x35bd8a(0xf6)]()-_0x3ff6e5;logger['error']('install',_0x35bd8a(0xf1),{'projectCode':_0x5d6a34,'error':_0x10fccf instanceof Error?_0x10fccf[_0x35bd8a(0xfc)]:String(_0x10fccf),'duration':_0x14397f});throw _0x10fccf;}return formatElapsed(_0x3ff6e5);}
@@ -1 +1 @@
1
- const a149_0x4e4592=a149_0x4c9f;(function(_0x204347,_0x4f616b){const _0x2db96b=a149_0x4c9f,_0x403fd4=_0x204347();while(!![]){try{const _0x1db709=-parseInt(_0x2db96b(0x1b5))/0x1*(-parseInt(_0x2db96b(0x1ae))/0x2)+-parseInt(_0x2db96b(0x1bd))/0x3+-parseInt(_0x2db96b(0x1b4))/0x4*(-parseInt(_0x2db96b(0x198))/0x5)+parseInt(_0x2db96b(0x1ba))/0x6*(parseInt(_0x2db96b(0x1c1))/0x7)+-parseInt(_0x2db96b(0x1a6))/0x8*(-parseInt(_0x2db96b(0x1a2))/0x9)+parseInt(_0x2db96b(0x1a9))/0xa*(-parseInt(_0x2db96b(0x1a4))/0xb)+-parseInt(_0x2db96b(0x1b1))/0xc;if(_0x1db709===_0x4f616b)break;else _0x403fd4['push'](_0x403fd4['shift']());}catch(_0x218ccd){_0x403fd4['push'](_0x403fd4['shift']());}}}(a149_0xd7d2,0xb4541));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';function a149_0x4c9f(_0x1c7187,_0x31792e){_0x1c7187=_0x1c7187-0x198;const _0xd7d2fd=a149_0xd7d2();let _0x4c9f3e=_0xd7d2fd[_0x1c7187];return _0x4c9f3e;}const initFlags=[{'name':a149_0x4e4592(0x1a0),'type':a149_0x4e4592(0x1a7),'description':a149_0x4e4592(0x19f)},{'name':a149_0x4e4592(0x1a8),'type':a149_0x4e4592(0x1a7),'description':a149_0x4e4592(0x1bb)},{'name':a149_0x4e4592(0x19d),'type':a149_0x4e4592(0x1be),'description':a149_0x4e4592(0x19a),'default':![]}],createFlags=[{'name':'name','type':a149_0x4e4592(0x1a7),'description':'Project\x20name'},{'name':a149_0x4e4592(0x1a8),'type':a149_0x4e4592(0x1a7),'description':'Target\x20environment'},{'name':a149_0x4e4592(0x1a0),'type':a149_0x4e4592(0x1a7),'description':a149_0x4e4592(0x1a3)}],upgradeFlags=[{'name':a149_0x4e4592(0x19d),'type':a149_0x4e4592(0x1be),'description':'Skip\x20confirmation\x20prompt','default':![]}];function a149_0xd7d2(){const _0xeb4ec4=['yes','project-name','App\x20code\x20to\x20initialize','appcode','trim','1035mNNXOK','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','121stCGSn','Usage:\x20','6344JtQsSH','string','env','292740xIcyiE','2026-07','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','create','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','897740QyqMLl','write','upgrade','6274968TTzMUR','project','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','1667740JtkCoV','2oZLWiu','nonInteractive','str','\x20workspace\x20init','args','36GgTJdA','Target\x20environment','init','1799574EEbjcr','boolean','cookie','name','420707COHCDY','10OpjTFc','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Auto-confirm\x20prompts','../../commands/project/create/main.js','bool'];a149_0xd7d2=function(){return _0xeb4ec4;};return a149_0xd7d2();}export const projectDefinitions=[{'service':'project','command':a149_0x4e4592(0x1bc),'description':a149_0x4e4592(0x1ad),'risk':a149_0x4e4592(0x1af),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a149_0x4e4592(0x1b8),'since':a149_0x4e4592(0x1aa)},'flags':initFlags,async 'execute'(_0x4b4c70){const _0x1e3674=a149_0x4e4592;return await initConfig({'appcode':_0x4b4c70[_0x1e3674(0x1b7)](_0x1e3674(0x1a0))||undefined,'env':_0x4b4c70[_0x1e3674(0x1b7)]('env')||undefined,'autoYes':_0x4b4c70[_0x1e3674(0x19c)](_0x1e3674(0x19d))}),{'ok':!![]};}},{'service':a149_0x4e4592(0x1b2),'command':a149_0x4e4592(0x1ac),'description':'Create\x20a\x20new\x20project','risk':a149_0x4e4592(0x1af),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a149_0x4e4592(0x19e),'description':a149_0x4e4592(0x199),'required':![]}],'flags':createFlags,async 'execute'(_0x1a8be1){const _0x1887b2=a149_0x4e4592,{createApp:_0x5c65d6}=await import(_0x1887b2(0x19b)),{createProjectNonInteractive:_0x587bd3}=await import('../../commands/project/create/non-interactive.js'),_0x429e4c=_0x1a8be1[_0x1887b2(0x1b7)](_0x1887b2(0x1c0))[_0x1887b2(0x1a1)]()||_0x1a8be1[_0x1887b2(0x1b9)][0x0]?.[_0x1887b2(0x1a1)](),_0xf7ff05=_0x1a8be1[_0x1887b2(0x1b7)](_0x1887b2(0x1a8))||undefined,_0x2777ec=_0x1a8be1[_0x1887b2(0x1b7)](_0x1887b2(0x1a0))||undefined;if(_0x1a8be1[_0x1887b2(0x1b6)]){if(!_0x429e4c)throw CliErrors['validation'](_0x1887b2(0x1b3),_0x1887b2(0x1a5)+CLI_BIN_NAME+_0x1887b2(0x1ab));await _0x587bd3(_0x429e4c,_0xf7ff05,_0x2777ec,_0x1a8be1[_0x1887b2(0x1bf)]);}else await _0x5c65d6({'projectCode':_0x429e4c,'appCode':_0x2777ec,'env':_0xf7ff05,'cookie':_0x1a8be1[_0x1887b2(0x1bf)]});return{'ok':!![]};}},{'service':a149_0x4e4592(0x1b2),'command':a149_0x4e4592(0x1b0),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a149_0x4e4592(0x1af),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x106c04){const _0x223ea5=a149_0x4e4592;return await upgradeApp(_0x106c04[_0x223ea5(0x1b6)],{'yes':_0x106c04[_0x223ea5(0x19c)](_0x223ea5(0x19d))}),{'ok':!![]};}}];
1
+ const a149_0x8cf087=a149_0x4945;(function(_0x4f6818,_0x27f0df){const _0x301c9c=a149_0x4945,_0x2cbe72=_0x4f6818();while(!![]){try{const _0x20abc4=parseInt(_0x301c9c(0x10f))/0x1*(parseInt(_0x301c9c(0x103))/0x2)+parseInt(_0x301c9c(0x114))/0x3+-parseInt(_0x301c9c(0x10e))/0x4*(parseInt(_0x301c9c(0x115))/0x5)+-parseInt(_0x301c9c(0x113))/0x6*(-parseInt(_0x301c9c(0x104))/0x7)+parseInt(_0x301c9c(0x108))/0x8*(-parseInt(_0x301c9c(0x129))/0x9)+-parseInt(_0x301c9c(0x12b))/0xa*(parseInt(_0x301c9c(0x10b))/0xb)+-parseInt(_0x301c9c(0x101))/0xc*(-parseInt(_0x301c9c(0x107))/0xd);if(_0x20abc4===_0x27f0df)break;else _0x2cbe72['push'](_0x2cbe72['shift']());}catch(_0x411f27){_0x2cbe72['push'](_0x2cbe72['shift']());}}}(a149_0x4163,0x93627));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';function a149_0x4945(_0x56d3a9,_0x229967){_0x56d3a9=_0x56d3a9-0x101;const _0x416387=a149_0x4163();let _0x494556=_0x416387[_0x56d3a9];return _0x494556;}const initFlags=[{'name':'appcode','type':'string','description':'App\x20code\x20to\x20initialize'},{'name':a149_0x8cf087(0x12d),'type':a149_0x8cf087(0x120),'description':a149_0x8cf087(0x126)},{'name':a149_0x8cf087(0x10a),'type':a149_0x8cf087(0x125),'description':a149_0x8cf087(0x102),'default':![]}],createFlags=[{'name':a149_0x8cf087(0x10d),'type':a149_0x8cf087(0x120),'description':a149_0x8cf087(0x117)},{'name':a149_0x8cf087(0x12d),'type':a149_0x8cf087(0x120),'description':a149_0x8cf087(0x126)},{'name':'appcode','type':'string','description':a149_0x8cf087(0x11e)}],upgradeFlags=[{'name':a149_0x8cf087(0x10a),'type':'boolean','description':a149_0x8cf087(0x106),'default':![]}];function a149_0x4163(){const _0x3f4746=['Skip\x20confirmation\x20prompt','52OaHfWc','24NLWvVc','trim','yes','22NvaGOM','appcode','name','145876hEvtfh','106nkLuve','\x20workspace\x20init','../../commands/project/create/main.js','str','18gyEiVh','1913352VEJHvk','55DSusNa','2026-07','Project\x20name','write','validation','bool','cookie','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','create','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','upgrade','string','args','Usage:\x20','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Create\x20a\x20new\x20project','boolean','Target\x20environment','nonInteractive','../../commands/project/create/non-interactive.js','1853469gDNHqV','project','2907820qFTjHz','init','env','574836VTyrwk','Auto-confirm\x20prompts','10422JbKDMv','1919099jswEDl','project-name'];a149_0x4163=function(){return _0x3f4746;};return a149_0x4163();}export const projectDefinitions=[{'service':'project','command':a149_0x8cf087(0x12c),'description':a149_0x8cf087(0x123),'risk':a149_0x8cf087(0x118),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a149_0x8cf087(0x110),'since':a149_0x8cf087(0x116)},'flags':initFlags,async 'execute'(_0x331cbe){const _0x289da3=a149_0x8cf087;return await initConfig({'appcode':_0x331cbe[_0x289da3(0x112)]('appcode')||undefined,'env':_0x331cbe[_0x289da3(0x112)](_0x289da3(0x12d))||undefined,'autoYes':_0x331cbe[_0x289da3(0x11a)](_0x289da3(0x10a))}),{'ok':!![]};}},{'service':'project','command':a149_0x8cf087(0x11d),'description':a149_0x8cf087(0x124),'risk':a149_0x8cf087(0x118),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a149_0x8cf087(0x105),'description':a149_0x8cf087(0x11c),'required':![]}],'flags':createFlags,async 'execute'(_0x14a155){const _0x557096=a149_0x8cf087,{createApp:_0x2f94a6}=await import(_0x557096(0x111)),{createProjectNonInteractive:_0x16f7b8}=await import(_0x557096(0x128)),_0x5a8d65=_0x14a155[_0x557096(0x112)](_0x557096(0x10d))[_0x557096(0x109)]()||_0x14a155[_0x557096(0x121)][0x0]?.[_0x557096(0x109)](),_0xf2df15=_0x14a155[_0x557096(0x112)](_0x557096(0x12d))||undefined,_0x1d55e8=_0x14a155['str'](_0x557096(0x10c))||undefined;if(_0x14a155[_0x557096(0x127)]){if(!_0x5a8d65)throw CliErrors[_0x557096(0x119)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x557096(0x122)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x16f7b8(_0x5a8d65,_0xf2df15,_0x1d55e8,_0x14a155[_0x557096(0x11b)]);}else await _0x2f94a6({'projectCode':_0x5a8d65,'appCode':_0x1d55e8,'env':_0xf2df15,'cookie':_0x14a155['cookie']});return{'ok':!![]};}},{'service':a149_0x8cf087(0x12a),'command':a149_0x8cf087(0x11f),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a149_0x8cf087(0x118),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x86b488){const _0x48e700=a149_0x8cf087;return await upgradeApp(_0x86b488[_0x48e700(0x127)],{'yes':_0x86b488[_0x48e700(0x11a)](_0x48e700(0x10a))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x195806,_0x423f07){const _0x406356=a150_0x396c,_0x2ae99a=_0x195806();while(!![]){try{const _0x51b36c=-parseInt(_0x406356(0xd6))/0x1+-parseInt(_0x406356(0xc8))/0x2*(-parseInt(_0x406356(0xd1))/0x3)+-parseInt(_0x406356(0xdc))/0x4*(parseInt(_0x406356(0xd4))/0x5)+-parseInt(_0x406356(0xce))/0x6+-parseInt(_0x406356(0xc3))/0x7+-parseInt(_0x406356(0xca))/0x8*(-parseInt(_0x406356(0xeb))/0x9)+parseInt(_0x406356(0xe7))/0xa*(parseInt(_0x406356(0xba))/0xb);if(_0x51b36c===_0x423f07)break;else _0x2ae99a['push'](_0x2ae99a['shift']());}catch(_0x44b260){_0x2ae99a['push'](_0x2ae99a['shift']());}}}(a150_0x299e,0x3a8dd));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a150_0x3d970b from'chalk';function a150_0x396c(_0x137a39,_0xf33104){_0x137a39=_0x137a39-0xb8;const _0x299e8f=a150_0x299e();let _0x396c98=_0x299e8f[_0x137a39];return _0x396c98;}import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x2ee05f){const _0x15c928=a150_0x396c,{appcode:_0x827a7,env:_0x500f5c,autoYes:_0x38b4c1}=_0x2ee05f,_0x5594aa=process[_0x15c928(0xcf)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x145959;for(const _0x1811e3 of LEGACY_CONFIG_NAMES){const _0x38c9ee=resolve(_0x5594aa,_0x1811e3);if(existsSync(_0x38c9ee)){_0x145959=_0x38c9ee;break;}}if(_0x145959){let _0x4bc813={};try{_0x4bc813=JSON[_0x15c928(0xe4)](readFileSync(_0x145959,'utf8'));}catch{}const _0x2bd287=basename(_0x145959),_0x4c785c=_0x4bc813?.[_0x15c928(0xbb)]||_0x4bc813?.[_0x15c928(0xe0)];let _0x35b295=_0x38b4c1;!_0x38b4c1&&(console['log'](a150_0x3d970b[_0x15c928(0xbd)](_0x15c928(0xc1)+a150_0x3d970b['bold'](_0x2bd287))),_0x4c785c&&console[_0x15c928(0xc4)](a150_0x3d970b[_0x15c928(0xdb)](_0x15c928(0xc6)+_0x4c785c)),_0x35b295=await confirm({'message':_0x15c928(0xc2)+a150_0x3d970b[_0x15c928(0xe1)](_0x15c928(0xe9))+_0x15c928(0xcc),'default':!![]}));if(!_0x35b295){console[_0x15c928(0xc4)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x15c928(0xd8));return;}const _0x496f13=resolve(_0x5594aa,NEW_CONFIG_NAME),_0x3bc2c2=getCliVersionFromPkg(),_0x4f6de6=readRawConfig(),_0x1176ea=_0x827a7||(typeof _0x4bc813?.[_0x15c928(0xbb)]===_0x15c928(0xc9)?_0x4bc813['appcode']:undefined)||(typeof _0x4bc813?.[_0x15c928(0xe0)]===_0x15c928(0xc9)?_0x4bc813['app']:undefined)||await askAppcode(),_0x18059d=typeof _0x4bc813?.[_0x15c928(0xe3)]===_0x15c928(0xc9)?_0x4bc813[_0x15c928(0xe3)]:typeof _0x4f6de6['env']===_0x15c928(0xc9)?_0x4f6de6[_0x15c928(0xe3)]:'production',_0xc90df=buildCanonicalProjectConfig({..._0x4f6de6,..._0x4bc813},{'appCodes':[_0x1176ea],'env':_0x18059d,'metadata':{'version':_0x3bc2c2,'migratedAt':new Date()[_0x15c928(0xb9)](),'migratedFrom':_0x145959}});writeConfigFile(_0x496f13,_0xc90df);const _0x400c5e=_0x145959+_0x15c928(0xdf);renameSync(_0x145959,_0x400c5e),logger['setLogPath'](_0x5594aa),logger['info'](_0x15c928(0xe8),_0x15c928(0xe5),{'from':_0x145959,'to':_0x496f13,'appcode':_0x1176ea,'env':_0xc90df[_0x15c928(0xe3)]}),console[_0x15c928(0xc4)](a150_0x3d970b['green'](_0x15c928(0xe2)+_0x2bd287+_0x15c928(0xc0))),console['log'](a150_0x3d970b['cyan']('\x20\x20Apps:\x20'+Object[_0x15c928(0xd3)](_0xc90df[_0x15c928(0xb8)]||{})[_0x15c928(0xd7)](',\x20'))),console[_0x15c928(0xc4)](a150_0x3d970b[_0x15c928(0xdb)](_0x15c928(0xde)+_0xc90df[_0x15c928(0xec)])),console['log'](a150_0x3d970b[_0x15c928(0xc5)](_0x15c928(0xd9)+_0x2bd287+'.bak'));return;}const _0x5a6463=_0x827a7||await askAppcode(),_0x3c3afe=resolve(_0x5594aa,NEW_CONFIG_NAME),_0xe98d7=getCliVersionFromPkg(),_0x46ccbc=readRawConfig(),_0x2956ac=typeof _0x46ccbc[_0x15c928(0xe3)]===_0x15c928(0xc9)?_0x46ccbc[_0x15c928(0xe3)]:undefined,_0xf9474d=buildCanonicalProjectConfig({},{'appCodes':[_0x5a6463],'env':_0x500f5c||_0x2956ac||_0x15c928(0xd0),'metadata':{'version':_0xe98d7,'createdAt':new Date()[_0x15c928(0xb9)]()}});writeConfigFile(_0x3c3afe,_0xf9474d),logger[_0x15c928(0xcb)](_0x5594aa),logger['info']('init','初始化项目配置文件成功',{'appcode':_0x5a6463,'env':_0xf9474d[_0x15c928(0xe3)],'version':_0xf9474d['version'],'configPath':_0x3c3afe}),console[_0x15c928(0xc4)](a150_0x3d970b[_0x15c928(0xea)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console['log'](a150_0x3d970b['cyan'](_0x15c928(0xda)+Object[_0x15c928(0xd3)](_0xf9474d[_0x15c928(0xb8)]||{})[_0x15c928(0xd7)](',\x20'))),console[_0x15c928(0xc4)](a150_0x3d970b[_0x15c928(0xdb)](_0x15c928(0xde)+_0xf9474d[_0x15c928(0xec)])),console[_0x15c928(0xc4)](_0x15c928(0xbf)+CLI_BIN_NAME+_0x15c928(0xd5)+CLI_BIN_NAME+_0x15c928(0xbc));}function a150_0x299e(){const _0x2a034b=['Please\x20enter\x20App\x20Code:','45494RCyHqI','string','712pxdHRC','setLogPath','?\x20(Old\x20file\x20→\x20*.bak)','utf8','904416rBAlEU','cwd','production','33ZfWPyH','version','keys','80peoFjB','\x20api\x20generate\x27\x20and\x20\x27','8804hbaIyy','join','\x20workspace\x20init`\x20to\x20start\x20fresh.','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','\x20\x20Apps:\x20','cyan','86116kGrijz','Invalid\x20App\x20Code','\x20\x20Default:\x20','.bak','app','bold','✓\x20Upgraded\x20','env','parse','从旧配置文件升级成功','trim','10BDVmVP','init','.rabetbase.json','green','41841NazWKH','defaultApp','apps','toLocaleString','1595957gAZOix','appcode','\x20api\x20pull\x27','yellow','1.0.0','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','\x20→\x20.rabetbase.json','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','Upgrade\x20it\x20to\x20','456568JUOEjg','log','gray','\x20\x20appcode:\x20'];a150_0x299e=function(){return _0x2a034b;};return a150_0x299e();}function askAppcode(){const _0x251b46=a150_0x396c;return input({'message':_0x251b46(0xc7),'validate':_0x2c17cf=>{const _0x545c9a=_0x251b46;if(!_0x2c17cf[_0x545c9a(0xe6)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x6b8480,message:_0x1f8734}=validateAppcode(_0x2c17cf[_0x545c9a(0xe6)]());return _0x6b8480||_0x1f8734||_0x545c9a(0xdd);}});}function getCliVersionFromPkg(){const _0x10bf9c=a150_0x396c;try{const _0x4b8642=fileURLToPath(import.meta.url),_0x2b24be=resolve(dirname(_0x4b8642),'../..'),_0x53a411=JSON[_0x10bf9c(0xe4)](readFileSync(resolve(_0x2b24be,'package.json'),_0x10bf9c(0xcd)));return _0x53a411[_0x10bf9c(0xd2)]||'1.0.0';}catch{return _0x10bf9c(0xbe);}}
1
+ (function(_0x2b71a7,_0x406eb3){const _0x559eac=a150_0x329e,_0x2ea1b9=_0x2b71a7();while(!![]){try{const _0x3facff=-parseInt(_0x559eac(0x18d))/0x1+parseInt(_0x559eac(0x18c))/0x2+-parseInt(_0x559eac(0x179))/0x3+parseInt(_0x559eac(0x19f))/0x4*(-parseInt(_0x559eac(0x196))/0x5)+parseInt(_0x559eac(0x178))/0x6+parseInt(_0x559eac(0x199))/0x7*(parseInt(_0x559eac(0x180))/0x8)+parseInt(_0x559eac(0x171))/0x9;if(_0x3facff===_0x406eb3)break;else _0x2ea1b9['push'](_0x2ea1b9['shift']());}catch(_0x34d6d0){_0x2ea1b9['push'](_0x2ea1b9['shift']());}}}(a150_0x1bcb,0xa957f));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a150_0x1e9896 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x4e78bd){const _0x3789dd=a150_0x329e,{appcode:_0x5767f7,env:_0x41a95f,autoYes:_0x3c75e0}=_0x4e78bd,_0x2f76a5=process['cwd']();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x1d86f7;for(const _0x28acb of LEGACY_CONFIG_NAMES){const _0x5d8e2f=resolve(_0x2f76a5,_0x28acb);if(existsSync(_0x5d8e2f)){_0x1d86f7=_0x5d8e2f;break;}}if(_0x1d86f7){let _0x65a2fc={};try{_0x65a2fc=JSON['parse'](readFileSync(_0x1d86f7,_0x3789dd(0x19b)));}catch{}const _0x45b288=basename(_0x1d86f7),_0x4f195e=_0x65a2fc?.[_0x3789dd(0x19c)]||_0x65a2fc?.[_0x3789dd(0x189)];let _0x46ee07=_0x3c75e0;!_0x3c75e0&&(console[_0x3789dd(0x17a)](a150_0x1e9896['yellow']('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a150_0x1e9896[_0x3789dd(0x18f)](_0x45b288))),_0x4f195e&&console[_0x3789dd(0x17a)](a150_0x1e9896[_0x3789dd(0x17c)](_0x3789dd(0x181)+_0x4f195e)),_0x46ee07=await confirm({'message':_0x3789dd(0x174)+a150_0x1e9896[_0x3789dd(0x18f)]('.rabetbase.json')+_0x3789dd(0x173),'default':!![]}));if(!_0x46ee07){console[_0x3789dd(0x17a)](_0x3789dd(0x192)+CLI_BIN_NAME+_0x3789dd(0x177));return;}const _0x2793a0=resolve(_0x2f76a5,NEW_CONFIG_NAME),_0x4d44ea=getCliVersionFromPkg(),_0x4b2291=readRawConfig(),_0x57a6ef=_0x5767f7||(typeof _0x65a2fc?.[_0x3789dd(0x19c)]===_0x3789dd(0x197)?_0x65a2fc[_0x3789dd(0x19c)]:undefined)||(typeof _0x65a2fc?.[_0x3789dd(0x189)]===_0x3789dd(0x197)?_0x65a2fc[_0x3789dd(0x189)]:undefined)||await askAppcode(),_0x4e7919=typeof _0x65a2fc?.['env']==='string'?_0x65a2fc[_0x3789dd(0x183)]:typeof _0x4b2291[_0x3789dd(0x183)]==='string'?_0x4b2291[_0x3789dd(0x183)]:_0x3789dd(0x185),_0x5b31e8=buildCanonicalProjectConfig({..._0x4b2291,..._0x65a2fc},{'appCodes':[_0x57a6ef],'env':_0x4e7919,'metadata':{'version':_0x4d44ea,'migratedAt':new Date()[_0x3789dd(0x19d)](),'migratedFrom':_0x1d86f7}});writeConfigFile(_0x2793a0,_0x5b31e8);const _0x10d5be=_0x1d86f7+_0x3789dd(0x186);renameSync(_0x1d86f7,_0x10d5be),logger[_0x3789dd(0x175)](_0x2f76a5),logger[_0x3789dd(0x187)]('init',_0x3789dd(0x19a),{'from':_0x1d86f7,'to':_0x2793a0,'appcode':_0x57a6ef,'env':_0x5b31e8[_0x3789dd(0x183)]}),console[_0x3789dd(0x17a)](a150_0x1e9896[_0x3789dd(0x182)](_0x3789dd(0x193)+_0x45b288+_0x3789dd(0x18e))),console['log'](a150_0x1e9896[_0x3789dd(0x17c)](_0x3789dd(0x176)+Object[_0x3789dd(0x198)](_0x5b31e8[_0x3789dd(0x184)]||{})[_0x3789dd(0x188)](',\x20'))),console['log'](a150_0x1e9896[_0x3789dd(0x17c)](_0x3789dd(0x172)+_0x5b31e8[_0x3789dd(0x190)])),console['log'](a150_0x1e9896[_0x3789dd(0x195)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x45b288+'.bak'));return;}const _0x28175e=_0x5767f7||await askAppcode(),_0x57a605=resolve(_0x2f76a5,NEW_CONFIG_NAME),_0x5d5b69=getCliVersionFromPkg(),_0xa0b702=readRawConfig(),_0x5e2723=typeof _0xa0b702[_0x3789dd(0x183)]===_0x3789dd(0x197)?_0xa0b702['env']:undefined,_0x31f1ce=buildCanonicalProjectConfig({},{'appCodes':[_0x28175e],'env':_0x41a95f||_0x5e2723||_0x3789dd(0x185),'metadata':{'version':_0x5d5b69,'createdAt':new Date()[_0x3789dd(0x19d)]()}});writeConfigFile(_0x57a605,_0x31f1ce),logger[_0x3789dd(0x175)](_0x2f76a5),logger[_0x3789dd(0x187)](_0x3789dd(0x194),_0x3789dd(0x17e),{'appcode':_0x28175e,'env':_0x31f1ce[_0x3789dd(0x183)],'version':_0x31f1ce['version'],'configPath':_0x57a605}),console[_0x3789dd(0x17a)](a150_0x1e9896[_0x3789dd(0x182)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console['log'](a150_0x1e9896['cyan'](_0x3789dd(0x176)+Object[_0x3789dd(0x198)](_0x31f1ce[_0x3789dd(0x184)]||{})['join'](',\x20'))),console[_0x3789dd(0x17a)](a150_0x1e9896[_0x3789dd(0x17c)](_0x3789dd(0x172)+_0x31f1ce[_0x3789dd(0x190)])),console['log']('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x3789dd(0x18b)+CLI_BIN_NAME+'\x20api\x20pull\x27');}function a150_0x329e(_0x251dab,_0x3bc738){_0x251dab=_0x251dab-0x170;const _0x1bcb4e=a150_0x1bcb();let _0x329e22=_0x1bcb4e[_0x251dab];return _0x329e22;}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x54b6ef=>{const _0x11ba63=a150_0x329e;if(!_0x54b6ef[_0x11ba63(0x18a)]())return _0x11ba63(0x17f);const {valid:_0x2aa5b4,message:_0x122043}=validateAppcode(_0x54b6ef[_0x11ba63(0x18a)]());return _0x2aa5b4||_0x122043||_0x11ba63(0x17b);}});}function getCliVersionFromPkg(){const _0x30749b=a150_0x329e;try{const _0x227e7a=fileURLToPath(import.meta.url),_0x1244c0=resolve(dirname(_0x227e7a),_0x30749b(0x170)),_0x465115=JSON[_0x30749b(0x191)](readFileSync(resolve(_0x1244c0,_0x30749b(0x19e)),_0x30749b(0x19b)));return _0x465115['version']||_0x30749b(0x17d);}catch{return _0x30749b(0x17d);}}function a150_0x1bcb(){const _0x4e2f9c=['setLogPath','\x20\x20Apps:\x20','\x20workspace\x20init`\x20to\x20start\x20fresh.','1095588FWYBrV','1389558qCcihZ','log','Invalid\x20App\x20Code','cyan','1.0.0','初始化项目配置文件成功','App\x20Code\x20cannot\x20be\x20empty','3800liEbJW','\x20\x20appcode:\x20','green','env','apps','production','.bak','info','join','app','trim','\x20api\x20generate\x27\x20and\x20\x27','1186846bHIwEk','361080GnhnOl','\x20→\x20.rabetbase.json','bold','defaultApp','parse','Migration\x20cancelled.\x20Run\x20`','✓\x20Upgraded\x20','init','gray','7430igssDl','string','keys','16954adYiCZ','从旧配置文件升级成功','utf8','appcode','toLocaleString','package.json','1708SlnnPK','../..','2033532Fyvcar','\x20\x20Default:\x20','?\x20(Old\x20file\x20→\x20*.bak)','Upgrade\x20it\x20to\x20'];a150_0x1bcb=function(){return _0x4e2f9c;};return a150_0x1bcb();}