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

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 (264) 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/asset-update.js +1 -1
  103. package/lib/commands/menu/delete.js +1 -1
  104. package/lib/commands/menu/external-link-create.js +1 -1
  105. package/lib/commands/menu/external-link-update.js +1 -1
  106. package/lib/commands/menu/group-create.js +1 -1
  107. package/lib/commands/menu/group-update.js +1 -1
  108. package/lib/commands/menu/index.js +1 -1
  109. package/lib/commands/menu/list.js +1 -1
  110. package/lib/commands/menu/move.js +1 -1
  111. package/lib/commands/menu/regroup-start.js +1 -1
  112. package/lib/commands/menu/rename.js +1 -1
  113. package/lib/commands/menu/shared/compare-table.js +1 -1
  114. package/lib/commands/menu/shared/delete-plan.js +1 -1
  115. package/lib/commands/menu/shared/facts.js +1 -1
  116. package/lib/commands/menu/shared/index.js +1 -1
  117. package/lib/commands/menu/shared/inquirer.js +1 -1
  118. package/lib/commands/menu/shared/local-pages.js +1 -1
  119. package/lib/commands/menu/shared/logic.js +1 -1
  120. package/lib/commands/menu/shared/mutations.js +1 -1
  121. package/lib/commands/menu/shared/service.js +1 -1
  122. package/lib/commands/menu/shared/sync-core.js +1 -1
  123. package/lib/commands/menu/shared/update-core.js +1 -1
  124. package/lib/commands/menu/shared/valid-url.js +1 -1
  125. package/lib/commands/menu/sync.js +1 -1
  126. package/lib/commands/notification/config-list.js +1 -1
  127. package/lib/commands/notification/index.js +1 -1
  128. package/lib/commands/ocr/index.js +1 -1
  129. package/lib/commands/page/generate-start.js +1 -1
  130. package/lib/commands/page/generate-status.js +1 -1
  131. package/lib/commands/page/index.js +1 -1
  132. package/lib/commands/page/pull.js +1 -1
  133. package/lib/commands/page/push.js +1 -1
  134. package/lib/commands/page/relation-audit.js +1 -1
  135. package/lib/commands/page/restore.js +1 -1
  136. package/lib/commands/page/shared.js +1 -1
  137. package/lib/commands/page/standard-page-status.js +1 -1
  138. package/lib/commands/page/sync.js +1 -1
  139. package/lib/commands/permit/index.js +1 -1
  140. package/lib/commands/permit/page-get.js +1 -1
  141. package/lib/commands/permit/page-set.js +1 -1
  142. package/lib/commands/permit/role-apis-set.js +1 -1
  143. package/lib/commands/permit/role-menus-set.js +1 -1
  144. package/lib/commands/permit/role-menus.js +1 -1
  145. package/lib/commands/permit/shared.js +1 -1
  146. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  147. package/lib/commands/project/create/format-elapsed.js +1 -1
  148. package/lib/commands/project/create/main.js +1 -1
  149. package/lib/commands/project/create/non-interactive.js +1 -1
  150. package/lib/commands/project/create/project-template-path.js +1 -1
  151. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  152. package/lib/commands/project/create/use-format-code.js +1 -1
  153. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  154. package/lib/commands/project/index.js +1 -1
  155. package/lib/commands/project/init.js +1 -1
  156. package/lib/commands/project/upgrade.js +1 -1
  157. package/lib/commands/registry.js +1 -1
  158. package/lib/commands/role/create.js +1 -1
  159. package/lib/commands/role/delete.js +1 -1
  160. package/lib/commands/role/detail.js +1 -1
  161. package/lib/commands/role/index.js +1 -1
  162. package/lib/commands/role/list.js +1 -1
  163. package/lib/commands/role/shared.js +1 -1
  164. package/lib/commands/role/update.js +1 -1
  165. package/lib/commands/role/user-add.js +1 -1
  166. package/lib/commands/role/user-remove.js +1 -1
  167. package/lib/commands/role/user-resolve.js +1 -1
  168. package/lib/commands/run/index.js +1 -1
  169. package/lib/commands/schema.js +1 -1
  170. package/lib/commands/sql/create.js +1 -1
  171. package/lib/commands/sql/delete.js +1 -1
  172. package/lib/commands/sql/detail.js +1 -1
  173. package/lib/commands/sql/exec.js +1 -1
  174. package/lib/commands/sql/index.js +1 -1
  175. package/lib/commands/sql/list.js +1 -1
  176. package/lib/commands/sql/pull.js +1 -1
  177. package/lib/commands/sql/push.js +1 -1
  178. package/lib/commands/sql/save.js +1 -1
  179. package/lib/commands/sql/shared.js +1 -1
  180. package/lib/commands/sql/status.js +1 -1
  181. package/lib/commands/sql/validate.js +1 -1
  182. package/lib/commands/task/index.js +1 -1
  183. package/lib/commands/task/status.js +1 -1
  184. package/lib/commands/workspace/add.js +1 -1
  185. package/lib/commands/workspace/index.js +1 -1
  186. package/lib/commands/workspace/remove.js +1 -1
  187. package/lib/config/schema.js +1 -1
  188. package/lib/constant/cdn.js +1 -1
  189. package/lib/constant/cli.js +1 -1
  190. package/lib/constant/defaults.js +1 -1
  191. package/lib/constant/domain.js +1 -1
  192. package/lib/constant/env.js +1 -1
  193. package/lib/constant/output.js +1 -1
  194. package/lib/constant/paths.js +1 -1
  195. package/lib/constant/risk.js +1 -1
  196. package/lib/context/app-resolver.js +1 -1
  197. package/lib/context/auth-resolver.js +1 -1
  198. package/lib/context/config-loader.js +1 -1
  199. package/lib/context.js +1 -1
  200. package/lib/core/alias-resolver.js +1 -1
  201. package/lib/core/api-client.js +1 -1
  202. package/lib/core/bff/config.js +1 -1
  203. package/lib/core/bff/file-system.js +1 -1
  204. package/lib/core/bff/hash.js +1 -1
  205. package/lib/core/bff/lock.js +1 -1
  206. package/lib/core/bff/utils.js +1 -1
  207. package/lib/core/db-resolver.js +1 -1
  208. package/lib/core/page/file-system.js +1 -1
  209. package/lib/core/page/hash.js +1 -1
  210. package/lib/core/page/lock.js +1 -1
  211. package/lib/core/sql-index-auditor.js +1 -1
  212. package/lib/core/sql-sync/config.js +1 -1
  213. package/lib/core/sql-sync/file-system.js +1 -1
  214. package/lib/core/sql-sync/hash.js +1 -1
  215. package/lib/core/sql-sync/lock.js +1 -1
  216. package/lib/core/sql-sync/utils.js +1 -1
  217. package/lib/core/sql-validator.js +1 -1
  218. package/lib/errors.js +1 -1
  219. package/lib/framework/build-all-flags.js +1 -1
  220. package/lib/framework/error-output.js +1 -1
  221. package/lib/framework/explicit-yes.js +1 -1
  222. package/lib/framework/flags.js +1 -1
  223. package/lib/framework/help.js +1 -1
  224. package/lib/framework/index.js +1 -1
  225. package/lib/framework/output.js +1 -1
  226. package/lib/framework/response.js +1 -1
  227. package/lib/framework/runner-alias.js +1 -1
  228. package/lib/framework/runner.js +1 -1
  229. package/lib/framework/schema-export.js +1 -1
  230. package/lib/framework/types.js +1 -1
  231. package/lib/generated/build-info.js +1 -1
  232. package/lib/help.js +1 -1
  233. package/lib/skills/main.js +1 -1
  234. package/lib/skills/npx-skills-add.js +1 -1
  235. package/lib/telemetry/cli-command-trace.js +1 -1
  236. package/lib/telemetry/cli-help-trace.js +1 -1
  237. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  238. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  239. package/lib/telemetry/send-cli-trace-log.js +1 -1
  240. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  241. package/lib/utils/ai_config.js +1 -1
  242. package/lib/utils/apply-jq-filter.js +1 -1
  243. package/lib/utils/cdn-config.js +1 -1
  244. package/lib/utils/check-sdk-version.js +1 -1
  245. package/lib/utils/cli-version-check.js +1 -1
  246. package/lib/utils/cli-version-policy.js +1 -1
  247. package/lib/utils/config.js +1 -1
  248. package/lib/utils/copy-directory.js +1 -1
  249. package/lib/utils/entity-with-id.js +1 -1
  250. package/lib/utils/file-utils.js +1 -1
  251. package/lib/utils/guides-cdn.js +1 -1
  252. package/lib/utils/http-client.js +1 -1
  253. package/lib/utils/is-non-interactive.js +1 -1
  254. package/lib/utils/logger.js +1 -1
  255. package/lib/utils/params.js +1 -1
  256. package/lib/utils/platform.js +1 -1
  257. package/lib/utils/rules-cdn.js +1 -1
  258. package/lib/utils/sleep.js +1 -1
  259. package/lib/utils/template-replacer.js +1 -1
  260. package/lib/utils/update-notice.js +1 -1
  261. package/lib/utils/version.js +1 -1
  262. package/lib/utils/with-active-cookie.js +1 -1
  263. package/lib/utils/write-cli-side-channel.js +1 -1
  264. package/package.json +1 -1
@@ -1 +1 @@
1
- const a143_0x4cfeb0=a143_0x34d5;(function(_0x1d9316,_0x335f95){const _0x3cfd15=a143_0x34d5,_0x4bde17=_0x1d9316();while(!![]){try{const _0x3caf26=parseInt(_0x3cfd15(0xeb))/0x1+-parseInt(_0x3cfd15(0xfa))/0x2+-parseInt(_0x3cfd15(0xef))/0x3+parseInt(_0x3cfd15(0xf2))/0x4+-parseInt(_0x3cfd15(0xe7))/0x5*(-parseInt(_0x3cfd15(0xf7))/0x6)+parseInt(_0x3cfd15(0xf0))/0x7+-parseInt(_0x3cfd15(0xee))/0x8;if(_0x3caf26===_0x335f95)break;else _0x4bde17['push'](_0x4bde17['shift']());}catch(_0x4c471c){_0x4bde17['push'](_0x4bde17['shift']());}}}(a143_0x4737,0x5bb44));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';function a143_0x4737(){const _0x3d02f5=['str','menus','629514TDGyHr','permit','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','872672zRaLGY','role-menus-set','length','get','Updated\x20','push','access','menu-grant','appCode','has','selector','menu-revoke','POST','roleName','10GPkmeu','resourceCodes','PAGE','validation','552308nofXyQ','Pass\x20--menus\x20<resourceCode,...>.','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','4632112WCUaDv','433536CrTHby','2734396oRNJHG','flagMissing','1530832wzkhKZ','/smartapi/permit/role/update','action'];a143_0x4737=function(){return _0x3d02f5;};return a143_0x4737();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';function a143_0x34d5(_0x55df0d,_0x43669a){_0x55df0d=_0x55df0d-0xe6;const _0x4737fb=a143_0x4737();let _0x34d5ba=_0x4737fb[_0x55df0d];return _0x34d5ba;}import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a143_0x4cfeb0(0xf3);async function buildPlan(_0x14f0a1,_0x2fc36b){const _0x3bff5a=a143_0x4cfeb0,_0x37bb08=await resolveRoleRef(_0x14f0a1[_0x3bff5a(0x102)],readRoleRef(_0x14f0a1));assertPermConfigurable(_0x37bb08);const _0x195ec7=readGrantRevoke(_0x14f0a1),_0x2eeaa7=splitList(_0x14f0a1[_0x3bff5a(0xf5)](_0x3bff5a(0xf6)));if(_0x2eeaa7[_0x3bff5a(0xfc)]===0x0)throw CliErrors[_0x3bff5a(0xf1)](_0x3bff5a(0xf6),_0x3bff5a(0xec));const _0x5b38a1=await getRoleMenuResources(_0x14f0a1[_0x3bff5a(0x102)],_0x37bb08['id']),_0xe5a28a=flattenMenuResources(_0x5b38a1),_0x55fa23=_0x2eeaa7['filter'](_0x2f0737=>!_0xe5a28a[_0x3bff5a(0x103)](_0x2f0737));if(_0x55fa23[_0x3bff5a(0xfc)]>0x0)throw CliErrors[_0x3bff5a(0xea)]('Unknown\x20menu\x20resourceCode(s):\x20'+_0x55fa23['join'](',\x20')+'.',_0x3bff5a(0xf9));const _0x46870=new Map(),_0x4f29c0=[],_0x207d19=[];for(const _0x410258 of _0x2eeaa7){const _0x291ffd=_0xe5a28a[_0x3bff5a(0xfd)](_0x410258);_0x46870['set'](_0x410258,_0x195ec7),_0x4f29c0['push']({'resourceCode':_0x410258,'action':_0x291ffd[_0x3bff5a(0xf4)]}),_0x207d19[_0x3bff5a(0xff)]({'resourceCode':_0x410258,'action':_0x195ec7});}const _0x5d29ba=buildPermits(_0xe5a28a,_0x46870),_0x1830af={'operation':_0x195ec7===_0x3bff5a(0x100)?_0x3bff5a(0x101):_0x3bff5a(0x105),'selector':{'appCode':_0x14f0a1[_0x3bff5a(0x102)],'roleId':_0x37bb08['id'],'roleName':_0x37bb08[_0x3bff5a(0xe6)],'resourceCodes':_0x2eeaa7},'before':_0x4f29c0,'after':_0x207d19,'dryRun':_0x2fc36b,'backend':{'method':_0x3bff5a(0x106),'path':UPDATE_PATH,'roleType':'PAGE'},'warnings':[]};return{'role':_0x37bb08,'permits':_0x5d29ba,'mutation':_0x1830af};}export const permitRoleMenusSet={'service':a143_0x4cfeb0(0xf8),'command':a143_0x4cfeb0(0xfb),'description':a143_0x4cfeb0(0xed),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xadcb3){const _0x28b5c2=a143_0x4cfeb0;readGrantRevoke(_0xadcb3);if(splitList(_0xadcb3['str'](_0x28b5c2(0xf6)))[_0x28b5c2(0xfc)]===0x0)throw CliErrors['flagMissing'](_0x28b5c2(0xf6),'Pass\x20--menus\x20<resourceCode,...>.');},async 'dryRun'(_0x37e8fd){const _0x1ca7cb=a143_0x4cfeb0,{mutation:_0x3ce684}=await buildPlan(_0x37e8fd,!![]);return asDryRunResult(_0x3ce684,{'method':_0x1ca7cb(0x106),'url':UPDATE_PATH});},async 'execute'(_0x52bf22){const _0x1e26da=a143_0x4cfeb0,{role:_0x490f16,permits:_0x3b5729,mutation:_0x4aba49}=await buildPlan(_0x52bf22,![]);return await updateAppRole({'id':_0x490f16['id'],'appCode':_0x52bf22['appCode'],'roleType':_0x1e26da(0xe9),'permits':_0x3b5729}),{'ok':!![],'data':_0x4aba49,'message':_0x1e26da(0xfe)+_0x4aba49[_0x1e26da(0x104)][_0x1e26da(0xe8)][_0x1e26da(0xfc)]+'\x20menu\x20permit(s)\x20for\x20role\x20'+_0x490f16[_0x1e26da(0xe6)]};}};
1
+ const a143_0x198fcd=a143_0x5235;function a143_0x37ea(){const _0x443cfb=['1327356FjPCdZ','push','1590021yOjBds','PAGE','access','4717848DaWXoI','role-menus-set','set','1200392BLqKor','menus','length','filter','1176755QbkpWb','resourceCodes','Pass\x20--menus\x20<resourceCode,...>.','get','flagMissing','menu-grant','7744205noOajK','permit','validation','appCode','has','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','roleName','249188YBEwIi','str','POST','action','\x20menu\x20permit(s)\x20for\x20role\x20','high-risk-write','Updated\x20','2YGjUyn','selector'];a143_0x37ea=function(){return _0x443cfb;};return a143_0x37ea();}(function(_0x2ce978,_0x5d96a2){const _0x22c6d5=a143_0x5235,_0x1f21b4=_0x2ce978();while(!![]){try{const _0x5e9f5f=parseInt(_0x22c6d5(0x10e))/0x1*(-parseInt(_0x22c6d5(0x129))/0x2)+parseInt(_0x22c6d5(0x112))/0x3+parseInt(_0x22c6d5(0x110))/0x4+parseInt(_0x22c6d5(0x11c))/0x5+parseInt(_0x22c6d5(0x115))/0x6+-parseInt(_0x22c6d5(0x122))/0x7+parseInt(_0x22c6d5(0x118))/0x8;if(_0x5e9f5f===_0x5d96a2)break;else _0x1f21b4['push'](_0x1f21b4['shift']());}catch(_0x58d533){_0x1f21b4['push'](_0x1f21b4['shift']());}}}(a143_0x37ea,0xa58a3));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';async function buildPlan(_0x18608e,_0x4d1758){const _0x24084d=a143_0x5235,_0x1742a3=await resolveRoleRef(_0x18608e[_0x24084d(0x125)],readRoleRef(_0x18608e));assertPermConfigurable(_0x1742a3);const _0x1ddd96=readGrantRevoke(_0x18608e),_0x2e99b1=splitList(_0x18608e[_0x24084d(0x12a)](_0x24084d(0x119)));if(_0x2e99b1['length']===0x0)throw CliErrors[_0x24084d(0x120)](_0x24084d(0x119),_0x24084d(0x11e));const _0x37312f=await getRoleMenuResources(_0x18608e[_0x24084d(0x125)],_0x1742a3['id']),_0x1a1a3e=flattenMenuResources(_0x37312f),_0x2b9a59=_0x2e99b1[_0x24084d(0x11b)](_0x380232=>!_0x1a1a3e[_0x24084d(0x126)](_0x380232));if(_0x2b9a59[_0x24084d(0x11a)]>0x0)throw CliErrors[_0x24084d(0x124)]('Unknown\x20menu\x20resourceCode(s):\x20'+_0x2b9a59['join'](',\x20')+'.','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.');const _0x481b0e=new Map(),_0x1a86ed=[],_0x31cc4e=[];for(const _0x773d85 of _0x2e99b1){const _0x47ef25=_0x1a1a3e[_0x24084d(0x11f)](_0x773d85);_0x481b0e[_0x24084d(0x117)](_0x773d85,_0x1ddd96),_0x1a86ed[_0x24084d(0x111)]({'resourceCode':_0x773d85,'action':_0x47ef25[_0x24084d(0x10a)]}),_0x31cc4e[_0x24084d(0x111)]({'resourceCode':_0x773d85,'action':_0x1ddd96});}const _0xf579d3=buildPermits(_0x1a1a3e,_0x481b0e),_0x157ab6={'operation':_0x1ddd96===_0x24084d(0x114)?_0x24084d(0x121):'menu-revoke','selector':{'appCode':_0x18608e['appCode'],'roleId':_0x1742a3['id'],'roleName':_0x1742a3[_0x24084d(0x128)],'resourceCodes':_0x2e99b1},'before':_0x1a86ed,'after':_0x31cc4e,'dryRun':_0x4d1758,'backend':{'method':_0x24084d(0x12b),'path':UPDATE_PATH,'roleType':_0x24084d(0x113)},'warnings':[]};return{'role':_0x1742a3,'permits':_0xf579d3,'mutation':_0x157ab6};}function a143_0x5235(_0x16f2af,_0x50f85d){_0x16f2af=_0x16f2af-0x10a;const _0x37ea75=a143_0x37ea();let _0x52353f=_0x37ea75[_0x16f2af];return _0x52353f;}export const permitRoleMenusSet={'service':a143_0x198fcd(0x123),'command':a143_0x198fcd(0x116),'description':a143_0x198fcd(0x127),'risk':a143_0x198fcd(0x10c),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3681cb){const _0x1c0983=a143_0x198fcd;readGrantRevoke(_0x3681cb);if(splitList(_0x3681cb[_0x1c0983(0x12a)]('menus'))[_0x1c0983(0x11a)]===0x0)throw CliErrors[_0x1c0983(0x120)]('menus',_0x1c0983(0x11e));},async 'dryRun'(_0x508749){const {mutation:_0x3579c9}=await buildPlan(_0x508749,!![]);return asDryRunResult(_0x3579c9,{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x48db4e){const _0x4e31a2=a143_0x198fcd,{role:_0x5281ee,permits:_0x44f6a3,mutation:_0x92a9fd}=await buildPlan(_0x48db4e,![]);return await updateAppRole({'id':_0x5281ee['id'],'appCode':_0x48db4e['appCode'],'roleType':'PAGE','permits':_0x44f6a3}),{'ok':!![],'data':_0x92a9fd,'message':_0x4e31a2(0x10d)+_0x92a9fd[_0x4e31a2(0x10f)][_0x4e31a2(0x11d)][_0x4e31a2(0x11a)]+_0x4e31a2(0x10b)+_0x5281ee[_0x4e31a2(0x128)]};}};
@@ -1 +1 @@
1
- const a144_0x4deca8=a144_0x101d;(function(_0x5d90e7,_0x391fb9){const _0x266748=a144_0x101d,_0x5f133f=_0x5d90e7();while(!![]){try{const _0x18cfe5=parseInt(_0x266748(0x1cc))/0x1+parseInt(_0x266748(0x1c8))/0x2+-parseInt(_0x266748(0x1d3))/0x3*(parseInt(_0x266748(0x1da))/0x4)+-parseInt(_0x266748(0x1d4))/0x5*(parseInt(_0x266748(0x1d1))/0x6)+parseInt(_0x266748(0x1d2))/0x7*(-parseInt(_0x266748(0x1dc))/0x8)+-parseInt(_0x266748(0x1cb))/0x9+parseInt(_0x266748(0x1db))/0xa;if(_0x18cfe5===_0x391fb9)break;else _0x5f133f['push'](_0x5f133f['shift']());}catch(_0x1afcf6){_0x5f133f['push'](_0x5f133f['shift']());}}}(a144_0x5aee,0xe3b8b));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';import{resolveRoleRef}from'../../commands/role/shared.js';function a144_0x101d(_0x5203db,_0x6e4159){_0x5203db=_0x5203db-0x1c6;const _0x5aeebc=a144_0x5aee();let _0x101dab=_0x5aeebc[_0x5203db];return _0x101dab;}export const permitRoleMenus={'service':'permit','command':a144_0x4deca8(0x1d0),'description':a144_0x4deca8(0x1c9),'risk':a144_0x4deca8(0x1d9),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x288fc6){const _0x15da05=a144_0x4deca8,_0x5ab3f5=await resolveRoleRef(_0x288fc6['appCode'],readRoleRef(_0x288fc6)),_0x9a7f02=await getRoleMenuResources(_0x288fc6[_0x15da05(0x1cd)],_0x5ab3f5['id']),_0x911288=flattenMenuResources(_0x9a7f02),_0x34d2f8=Array[_0x15da05(0x1cf)](_0x911288['values']())[_0x15da05(0x1d8)](_0x22a987=>({'resourceCode':_0x22a987[_0x15da05(0x1c6)],'resourceName':_0x22a987[_0x15da05(0x1de)],'allowed':_0x22a987[_0x15da05(0x1d6)]===_0x15da05(0x1d5),'action':_0x22a987[_0x15da05(0x1d6)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x288fc6[_0x15da05(0x1cd)],'roleId':_0x5ab3f5['id'],'roleName':_0x5ab3f5[_0x15da05(0x1c7)]},'menus':_0x34d2f8},'message':'Role\x20'+_0x5ab3f5[_0x15da05(0x1c7)]+_0x15da05(0x1dd)+_0x34d2f8[_0x15da05(0x1ce)](_0x1c32ed=>_0x1c32ed['allowed'])[_0x15da05(0x1d7)]+'/'+_0x34d2f8['length']+_0x15da05(0x1ca)};}};function a144_0x5aee(){const _0x4a19fb=['access','action','length','map','read','40TgtxOq','13159430DOkvYc','16nLatJB','\x20has\x20','resourceName','resourceCode','roleName','2610230uWEeWy','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','\x20menu(s)\x20allowed','5508270jejuHz','1485442kGnrNx','appCode','filter','from','role-menus','6hkMeLy','6167567zNYtml','154932lZNSdq','1415605ZvLliK'];a144_0x5aee=function(){return _0x4a19fb;};return a144_0x5aee();}
1
+ const a144_0x2e3544=a144_0x1f5d;(function(_0x361bd4,_0x5dc5cc){const _0x241c25=a144_0x1f5d,_0x3a163a=_0x361bd4();while(!![]){try{const _0x412544=-parseInt(_0x241c25(0x201))/0x1+parseInt(_0x241c25(0x1fe))/0x2+-parseInt(_0x241c25(0x202))/0x3+parseInt(_0x241c25(0x1f4))/0x4*(parseInt(_0x241c25(0x1fd))/0x5)+-parseInt(_0x241c25(0x1f2))/0x6*(-parseInt(_0x241c25(0x1fb))/0x7)+parseInt(_0x241c25(0x1ea))/0x8+-parseInt(_0x241c25(0x1f7))/0x9;if(_0x412544===_0x5dc5cc)break;else _0x3a163a['push'](_0x3a163a['shift']());}catch(_0x41b885){_0x3a163a['push'](_0x3a163a['shift']());}}}(a144_0x3689,0x48435));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a144_0x1f5d(_0x3d2058,_0x41a4f9){_0x3d2058=_0x3d2058-0x1ea;const _0x368965=a144_0x3689();let _0x1f5d22=_0x368965[_0x3d2058];return _0x1f5d22;}function a144_0x3689(){const _0x380e8f=['2225kkkrNs','1020792nkeJdU','roleName','\x20menu(s)\x20allowed','579484iTgdcA','1425510JmhVhZ','3785784Ujjomp','from','map','length','action','resourceName','access','allowed','219192uLMtXo','appCode','4972xWemAt','values','read','2003787rpkuJb','\x20has\x20','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','resourceCode','7gVaVJB','role-menus'];a144_0x3689=function(){return _0x380e8f;};return a144_0x3689();}import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';import{resolveRoleRef}from'../../commands/role/shared.js';export const permitRoleMenus={'service':'permit','command':a144_0x2e3544(0x1fc),'description':a144_0x2e3544(0x1f9),'risk':a144_0x2e3544(0x1f6),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x26c974){const _0x28b858=a144_0x2e3544,_0x1d2512=await resolveRoleRef(_0x26c974[_0x28b858(0x1f3)],readRoleRef(_0x26c974)),_0x19598b=await getRoleMenuResources(_0x26c974['appCode'],_0x1d2512['id']),_0x101146=flattenMenuResources(_0x19598b),_0x4e93c3=Array[_0x28b858(0x1eb)](_0x101146[_0x28b858(0x1f5)]())[_0x28b858(0x1ec)](_0x27b1f4=>({'resourceCode':_0x27b1f4[_0x28b858(0x1fa)],'resourceName':_0x27b1f4[_0x28b858(0x1ef)],'allowed':_0x27b1f4['action']===_0x28b858(0x1f0),'action':_0x27b1f4[_0x28b858(0x1ee)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x26c974[_0x28b858(0x1f3)],'roleId':_0x1d2512['id'],'roleName':_0x1d2512[_0x28b858(0x1ff)]},'menus':_0x4e93c3},'message':'Role\x20'+_0x1d2512[_0x28b858(0x1ff)]+_0x28b858(0x1f8)+_0x4e93c3['filter'](_0xd3d28=>_0xd3d28[_0x28b858(0x1f1)])['length']+'/'+_0x4e93c3[_0x28b858(0x1ed)]+_0x28b858(0x200)};}};
@@ -1 +1 @@
1
- const a145_0x5e8731=a145_0x4155;(function(_0x214dda,_0x15f529){const _0x30c8df=a145_0x4155,_0x2f4595=_0x214dda();while(!![]){try{const _0x43ed96=-parseInt(_0x30c8df(0x18c))/0x1*(-parseInt(_0x30c8df(0x13f))/0x2)+parseInt(_0x30c8df(0x165))/0x3+-parseInt(_0x30c8df(0x16b))/0x4+-parseInt(_0x30c8df(0x163))/0x5*(parseInt(_0x30c8df(0x166))/0x6)+parseInt(_0x30c8df(0x151))/0x7*(parseInt(_0x30c8df(0x168))/0x8)+parseInt(_0x30c8df(0x131))/0x9*(parseInt(_0x30c8df(0x18a))/0xa)+parseInt(_0x30c8df(0x181))/0xb*(-parseInt(_0x30c8df(0x13e))/0xc);if(_0x43ed96===_0x15f529)break;else _0x2f4595['push'](_0x2f4595['shift']());}catch(_0x388bd6){_0x2f4595['push'](_0x2f4595['shift']());}}}(a145_0x2f3a,0x35fea));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a145_0x5e8731(0x157),'type':a145_0x5e8731(0x180),'required':!![],'description':a145_0x5e8731(0x145)};function a145_0x2f3a(){const _0x3edb5e=['Role\x20\x22',';\x20SELF\x20=\x20only\x20own\x20rows','dataUpdate','validation','role','apiList','revoke','\x20(comma-separated\x20SELF/ALL/id/name)','resourceCode','flagMissing','str','roleType','number','140745qJpCvQ','trim','allowSelf','export-roles','grant','label','detail-roles','map','data\x20create','550LxKxZD','data\x20detail','85464TnNkHb','push','Disambiguate\x20with\x20an\x20id.','63234xCiCwx','datasets','dataDetail','\x20not\x20found.','\x22\x20is\x20ambiguous\x20(ids:\x20','appCode','dataExport','resourceName','Grant\x20access\x20to\x20the\x20listed\x20resources','find','menuId','entries','\x20is\x20not\x20available\x20for\x20this\x20app.','12dHBmGE','2SiTsSU','ALL','data\x20delete','get','set','access','Menu\x20id\x20(from\x20`menu\x20list`)','SELF','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','Roles\x20for\x20','menuPermit','data\x20update','data\x20export','roleName','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','menu-roles','menu\x20visibility','allowedActions','594097KtRjDT','key','rolePermit','datasetCode','filter','pageNodeList','menu-id','join','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','string','bool','Role\x20id\x20','create-roles','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','row\x20visibility','Run\x20`role\x20list`.','delete-roles','dataCreate','65AQZVpR','length','263412gYEZYa','122142xMaTHZ','menus','8sdYveK','row-roles','update-roles','583884HHSzHw','Pass\x20--role\x20<id|name>.','Special\x20role\x20','dataPermit','dataDelete','boolean','test','action','SELF\x20is\x20not\x20allowed\x20for\x20'];a145_0x2f3a=function(){return _0x3edb5e;};return a145_0x2f3a();}export const ROLE_REF_FLAG={'name':a145_0x5e8731(0x178),'type':a145_0x5e8731(0x15a),'required':!![],'description':'Role\x20id\x20or\x20role\x20name'};export const GRANT_FLAG={'name':a145_0x5e8731(0x185),'type':'boolean','required':![],'description':a145_0x5e8731(0x139)};export const REVOKE_FLAG={'name':a145_0x5e8731(0x17a),'type':a145_0x5e8731(0x170),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a145_0x5e8731(0x167),'type':a145_0x5e8731(0x15a),'required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};function a145_0x4155(_0x339d1b,_0x4e050f){_0x339d1b=_0x339d1b-0x130;const _0x2f3a6e=a145_0x2f3a();let _0x415576=_0x2f3a6e[_0x339d1b];return _0x415576;}export const DATASETS_FLAG={'name':a145_0x5e8731(0x132),'type':a145_0x5e8731(0x15a),'required':!![],'description':a145_0x5e8731(0x147)};export const PAGE_SLOT_SPECS=[{'flag':a145_0x5e8731(0x14e),'key':'menuPermit','allowSelf':![],'label':a145_0x5e8731(0x14f)},{'flag':a145_0x5e8731(0x15d),'key':a145_0x5e8731(0x162),'allowSelf':![],'label':a145_0x5e8731(0x189)},{'flag':a145_0x5e8731(0x16a),'key':a145_0x5e8731(0x176),'allowSelf':![],'label':a145_0x5e8731(0x14a)},{'flag':a145_0x5e8731(0x161),'key':a145_0x5e8731(0x16f),'allowSelf':![],'label':a145_0x5e8731(0x141)},{'flag':a145_0x5e8731(0x187),'key':a145_0x5e8731(0x133),'allowSelf':![],'label':a145_0x5e8731(0x18b)},{'flag':a145_0x5e8731(0x184),'key':a145_0x5e8731(0x137),'allowSelf':![],'label':a145_0x5e8731(0x14b)},{'flag':a145_0x5e8731(0x169),'key':a145_0x5e8731(0x16e),'allowSelf':!![],'label':a145_0x5e8731(0x15f)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a145_0x5e8731(0x188)](_0x1ed78e=>({'name':_0x1ed78e['flag'],'type':a145_0x5e8731(0x15a),'required':![],'description':a145_0x5e8731(0x148)+_0x1ed78e[a145_0x5e8731(0x186)]+a145_0x5e8731(0x17b)+(_0x1ed78e[a145_0x5e8731(0x183)]?a145_0x5e8731(0x175):'')}));export function splitList(_0x383073){const _0x3a19d9=a145_0x5e8731;return _0x383073['split'](',')[_0x3a19d9(0x188)](_0x196bed=>_0x196bed[_0x3a19d9(0x182)]())[_0x3a19d9(0x155)](Boolean);}export function projectRoleRef(_0x3642ef){const _0x1ebba9=a145_0x5e8731;return{'id':_0x3642ef['id'],'roleName':_0x3642ef[_0x1ebba9(0x14c)],'roleType':_0x3642ef['roleType']};}export async function resolvePermitRoles(_0x4caef1,_0x977e73,_0x47426f){const _0x2dac79=a145_0x5e8731,_0x1e0ab5=await listPermitRoles(_0x4caef1,{'needSelf':!![],'needPublic':!![]}),_0x243a27=[];for(const _0x3ba977 of _0x977e73){const _0x30e5fc=resolveOnePermitRole(_0x1e0ab5,_0x3ba977);if(!_0x47426f[_0x2dac79(0x183)]&&_0x30e5fc['roleType']===_0x2dac79(0x146))throw CliErrors[_0x2dac79(0x177)](_0x2dac79(0x173)+_0x47426f[_0x2dac79(0x186)]+'.',_0x2dac79(0x15e));if(!_0x243a27['some'](_0x598cdf=>_0x598cdf['id']===_0x30e5fc['id']))_0x243a27[_0x2dac79(0x18d)](_0x30e5fc);}return _0x243a27;}function resolveOnePermitRole(_0x169ff0,_0x1103fb){const _0x19ebe3=a145_0x5e8731,_0x341ebd=_0x1103fb[_0x19ebe3(0x182)](),_0x5ba032=_0x341ebd['toUpperCase']();if(_0x5ba032===_0x19ebe3(0x146)||_0x5ba032===_0x19ebe3(0x140)){const _0x4cbc78=_0x169ff0[_0x19ebe3(0x13a)](_0x2447c4=>_0x2447c4[_0x19ebe3(0x17f)]===_0x5ba032);if(!_0x4cbc78)throw CliErrors[_0x19ebe3(0x177)](_0x19ebe3(0x16d)+_0x5ba032+_0x19ebe3(0x13d));return _0x4cbc78;}if(/^-?\d+$/[_0x19ebe3(0x171)](_0x341ebd)){const _0x3e420c=Number(_0x341ebd),_0x28388a=_0x169ff0[_0x19ebe3(0x13a)](_0x49a411=>_0x49a411['id']===_0x3e420c);if(!_0x28388a)throw CliErrors[_0x19ebe3(0x177)](_0x19ebe3(0x15c)+_0x3e420c+_0x19ebe3(0x134),_0x19ebe3(0x160));return _0x28388a;}const _0x457549=_0x169ff0[_0x19ebe3(0x155)](_0x52788d=>_0x52788d['roleName']===_0x341ebd);if(_0x457549[_0x19ebe3(0x164)]===0x0)throw CliErrors[_0x19ebe3(0x177)]('Role\x20\x22'+_0x341ebd+'\x22\x20not\x20found.',_0x19ebe3(0x159));if(_0x457549[_0x19ebe3(0x164)]>0x1)throw CliErrors[_0x19ebe3(0x177)](_0x19ebe3(0x174)+_0x341ebd+_0x19ebe3(0x135)+_0x457549[_0x19ebe3(0x188)](_0x4de26b=>_0x4de26b['id'])[_0x19ebe3(0x158)](',\x20')+').',_0x19ebe3(0x130));return _0x457549[0x0];}export function projectPageSlot(_0xdfb6ef){const _0x55278c=a145_0x5e8731;if(!_0xdfb6ef)return null;return{'resourceCode':_0xdfb6ef[_0x55278c(0x17c)],'roles':(_0xdfb6ef[_0x55278c(0x153)]??[])[_0x55278c(0x188)](projectRoleRef)};}export function projectPagePermit(_0x40a7a8){const _0x5feee0=a145_0x5e8731,_0x3d8a39={'menuId':_0x40a7a8[_0x5feee0(0x13b)],'appCode':_0x40a7a8[_0x5feee0(0x136)],'menuPermit':projectPageSlot(_0x40a7a8[_0x5feee0(0x149)])};for(const _0x2124ef of PAGE_SLOT_SPECS){if(_0x2124ef[_0x5feee0(0x152)]===_0x5feee0(0x149))continue;_0x3d8a39[_0x2124ef[_0x5feee0(0x152)]]=projectPageSlot(_0x40a7a8[_0x2124ef[_0x5feee0(0x152)]]);}return _0x3d8a39;}export function flattenMenuResources(_0x452c5f){const _0x359b96=new Map(),_0x5ef4da=_0x183ed7=>{const _0x1f7104=a145_0x4155;for(const _0x613bd9 of _0x183ed7??[]){_0x359b96['set'](_0x613bd9[_0x1f7104(0x17c)],{'resourceCode':_0x613bd9['resourceCode'],'resourceName':_0x613bd9[_0x1f7104(0x138)],'action':_0x613bd9[_0x1f7104(0x150)]?.[0x0]??'0'});if(_0x613bd9[_0x1f7104(0x156)])_0x5ef4da(_0x613bd9['pageNodeList']);}};return _0x5ef4da(_0x452c5f),_0x359b96;}export function flattenApiResources(_0x20ea61){const _0x44fbe7=a145_0x5e8731,_0x3b01d0=new Map(),_0x5792e4=new Map();for(const _0x3c08cd of _0x20ea61){const _0x1df58b=_0x3c08cd[_0x44fbe7(0x179)]??{};for(const [_0x5f474f,_0x10f87f]of Object[_0x44fbe7(0x13c)](_0x1df58b)){_0x3b01d0[_0x44fbe7(0x143)](_0x5f474f,{'resourceCode':_0x5f474f,'resourceName':_0x3c08cd[_0x44fbe7(0x138)],'datasetCode':_0x3c08cd['datasetCode'],'action':_0x10f87f?.[0x0]??'0'});const _0x2a8042=_0x5792e4[_0x44fbe7(0x142)](_0x3c08cd['datasetCode'])??[];_0x2a8042[_0x44fbe7(0x18d)](_0x5f474f),_0x5792e4[_0x44fbe7(0x143)](_0x3c08cd[_0x44fbe7(0x154)],_0x2a8042);}}return{'byCode':_0x3b01d0,'byDataset':_0x5792e4};}export function buildPermits(_0x3578e5,_0x351f96){const _0x1ae288=a145_0x5e8731,_0x3554fb={};for(const [_0x3280e4,_0x8712bf]of _0x3578e5){const _0x1566bb=_0x351f96[_0x1ae288(0x142)](_0x3280e4)??_0x8712bf[_0x1ae288(0x172)];_0x3554fb[_0x3280e4]=[_0x1566bb];}return _0x3554fb;}export function readRoleRef(_0x5582a0){const _0xeb4a90=a145_0x5e8731,_0x163141=_0x5582a0[_0xeb4a90(0x17e)](_0xeb4a90(0x178))['trim']();if(!_0x163141)throw CliErrors[_0xeb4a90(0x17d)](_0xeb4a90(0x178),_0xeb4a90(0x16c));return _0x163141;}export function readGrantRevoke(_0x112eab){const _0x4f41ef=a145_0x5e8731,_0x37181e=_0x112eab[_0x4f41ef(0x15b)](_0x4f41ef(0x185)),_0x1dbe8d=_0x112eab[_0x4f41ef(0x15b)](_0x4f41ef(0x17a));if(_0x37181e&&_0x1dbe8d)throw CliErrors[_0x4f41ef(0x177)](_0x4f41ef(0x14d));if(!_0x37181e&&!_0x1dbe8d)throw CliErrors[_0x4f41ef(0x177)]('Missing\x20action.','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x37181e?_0x4f41ef(0x144):'0';}
1
+ const a145_0x24f5f5=a145_0xed2e;(function(_0x4816d0,_0x29b115){const _0x1a9768=a145_0xed2e,_0x35f815=_0x4816d0();while(!![]){try{const _0x13ae6f=parseInt(_0x1a9768(0x1bf))/0x1+parseInt(_0x1a9768(0x199))/0x2*(parseInt(_0x1a9768(0x1cf))/0x3)+-parseInt(_0x1a9768(0x1ae))/0x4*(-parseInt(_0x1a9768(0x1d1))/0x5)+-parseInt(_0x1a9768(0x1a8))/0x6*(parseInt(_0x1a9768(0x1e3))/0x7)+-parseInt(_0x1a9768(0x1ab))/0x8*(parseInt(_0x1a9768(0x191))/0x9)+parseInt(_0x1a9768(0x1a2))/0xa+-parseInt(_0x1a9768(0x1c1))/0xb;if(_0x13ae6f===_0x29b115)break;else _0x35f815['push'](_0x35f815['shift']());}catch(_0x59d23f){_0x35f815['push'](_0x35f815['shift']());}}}(a145_0x1df7,0xe97b4));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':'number','required':!![],'description':'Menu\x20id\x20(from\x20`menu\x20list`)'};export const ROLE_REF_FLAG={'name':a145_0x24f5f5(0x1d5),'type':a145_0x24f5f5(0x1b6),'required':!![],'description':'Role\x20id\x20or\x20role\x20name'};function a145_0x1df7(){const _0x5db553=['validation','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','export-roles','set','\x22\x20not\x20found.','\x20(comma-separated\x20SELF/ALL/id/name)','roleName','menu\x20visibility','pageNodeList','data\x20update','7HpnWGn','dataPermit','map','delete-roles','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','\x20not\x20found.','find','2763xgZmGh','datasetCode','grant','data\x20delete','Grant\x20access\x20to\x20the\x20listed\x20resources','Missing\x20action.','test','access','2XwHRNe','filter','appCode','length','resourceName','Roles\x20for\x20','menuPermit','row-roles','data\x20detail','2174460bArykC','bool','data\x20create','flagMissing','menus','apiList','1885692sRtggo','ALL','detail-roles','680wGFTNl','dataExport','label','8772mAjaxj','create-roles','roleType','\x20is\x20not\x20available\x20for\x20this\x20app.','allowSelf','dataUpdate','revoke','Disambiguate\x20with\x20an\x20id.','string','rolePermit','boolean','datasets','entries','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','dataCreate','trim','Run\x20`role\x20list`.','795881rpwwne','dataDelete','4526247qJMOeK','Role\x20id\x20','dataDetail',';\x20SELF\x20=\x20only\x20own\x20rows','Pass\x20--role\x20<id|name>.','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','split','SELF\x20is\x20not\x20allowed\x20for\x20','get','flag','key','SELF','Revoke\x20access\x20to\x20the\x20listed\x20resources','1999074aHQNmx','push','65sMDumh','Role\x20\x22','\x22\x20is\x20ambiguous\x20(ids:\x20','str','role','action','resourceCode','some'];a145_0x1df7=function(){return _0x5db553;};return a145_0x1df7();}export const GRANT_FLAG={'name':a145_0x24f5f5(0x193),'type':a145_0x24f5f5(0x1b8),'required':![],'description':a145_0x24f5f5(0x195)};export const REVOKE_FLAG={'name':a145_0x24f5f5(0x1b4),'type':a145_0x24f5f5(0x1b8),'required':![],'description':a145_0x24f5f5(0x1ce)};function a145_0xed2e(_0x596348,_0x5d86c8){_0x596348=_0x596348-0x190;const _0x1df73c=a145_0x1df7();let _0xed2e09=_0x1df73c[_0x596348];return _0xed2e09;}export const MENUS_FLAG={'name':a145_0x24f5f5(0x1a6),'type':a145_0x24f5f5(0x1b6),'required':!![],'description':a145_0x24f5f5(0x1c6)};export const DATASETS_FLAG={'name':a145_0x24f5f5(0x1b9),'type':a145_0x24f5f5(0x1b6),'required':!![],'description':a145_0x24f5f5(0x1bb)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a145_0x24f5f5(0x19f),'allowSelf':![],'label':a145_0x24f5f5(0x1e0)},{'flag':a145_0x24f5f5(0x1af),'key':a145_0x24f5f5(0x1bc),'allowSelf':![],'label':a145_0x24f5f5(0x1a4)},{'flag':'update-roles','key':a145_0x24f5f5(0x1b3),'allowSelf':![],'label':a145_0x24f5f5(0x1e2)},{'flag':a145_0x24f5f5(0x1e6),'key':a145_0x24f5f5(0x1c0),'allowSelf':![],'label':a145_0x24f5f5(0x194)},{'flag':a145_0x24f5f5(0x1aa),'key':a145_0x24f5f5(0x1c3),'allowSelf':![],'label':a145_0x24f5f5(0x1a1)},{'flag':a145_0x24f5f5(0x1db),'key':a145_0x24f5f5(0x1ac),'allowSelf':![],'label':'data\x20export'},{'flag':a145_0x24f5f5(0x1a0),'key':a145_0x24f5f5(0x1e4),'allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a145_0x24f5f5(0x1e5)](_0x623907=>({'name':_0x623907[a145_0x24f5f5(0x1cb)],'type':a145_0x24f5f5(0x1b6),'required':![],'description':a145_0x24f5f5(0x19e)+_0x623907[a145_0x24f5f5(0x1ad)]+a145_0x24f5f5(0x1de)+(_0x623907[a145_0x24f5f5(0x1b2)]?a145_0x24f5f5(0x1c4):'')}));export function splitList(_0x10eba6){const _0x475e80=a145_0x24f5f5;return _0x10eba6[_0x475e80(0x1c8)](',')[_0x475e80(0x1e5)](_0x1eebea=>_0x1eebea[_0x475e80(0x1bd)]())[_0x475e80(0x19a)](Boolean);}export function projectRoleRef(_0x5a595a){const _0x40c0c1=a145_0x24f5f5;return{'id':_0x5a595a['id'],'roleName':_0x5a595a[_0x40c0c1(0x1df)],'roleType':_0x5a595a[_0x40c0c1(0x1b0)]};}export async function resolvePermitRoles(_0x566bf2,_0x42597c,_0x249036){const _0x1958b7=a145_0x24f5f5,_0x41c9e4=await listPermitRoles(_0x566bf2,{'needSelf':!![],'needPublic':!![]}),_0x342201=[];for(const _0x57d14a of _0x42597c){const _0x20a03d=resolveOnePermitRole(_0x41c9e4,_0x57d14a);if(!_0x249036[_0x1958b7(0x1b2)]&&_0x20a03d[_0x1958b7(0x1b0)]==='SELF')throw CliErrors['validation'](_0x1958b7(0x1c9)+_0x249036['label']+'.','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.');if(!_0x342201[_0x1958b7(0x1d8)](_0x19cb59=>_0x19cb59['id']===_0x20a03d['id']))_0x342201[_0x1958b7(0x1d0)](_0x20a03d);}return _0x342201;}function resolveOnePermitRole(_0x6c6ee7,_0x4ccf81){const _0x2b222d=a145_0x24f5f5,_0x13d7ca=_0x4ccf81[_0x2b222d(0x1bd)](),_0x5bec35=_0x13d7ca['toUpperCase']();if(_0x5bec35===_0x2b222d(0x1cd)||_0x5bec35===_0x2b222d(0x1a9)){const _0x41efb6=_0x6c6ee7['find'](_0x243a3d=>_0x243a3d[_0x2b222d(0x1b0)]===_0x5bec35);if(!_0x41efb6)throw CliErrors[_0x2b222d(0x1d9)]('Special\x20role\x20'+_0x5bec35+_0x2b222d(0x1b1));return _0x41efb6;}if(/^-?\d+$/[_0x2b222d(0x197)](_0x13d7ca)){const _0x2f68df=Number(_0x13d7ca),_0x3bd019=_0x6c6ee7[_0x2b222d(0x190)](_0x39d64d=>_0x39d64d['id']===_0x2f68df);if(!_0x3bd019)throw CliErrors[_0x2b222d(0x1d9)](_0x2b222d(0x1c2)+_0x2f68df+_0x2b222d(0x1e8),_0x2b222d(0x1be));return _0x3bd019;}const _0x8ecbec=_0x6c6ee7['filter'](_0xbd46d=>_0xbd46d[_0x2b222d(0x1df)]===_0x13d7ca);if(_0x8ecbec[_0x2b222d(0x19c)]===0x0)throw CliErrors[_0x2b222d(0x1d9)]('Role\x20\x22'+_0x13d7ca+_0x2b222d(0x1dd),_0x2b222d(0x1e7));if(_0x8ecbec[_0x2b222d(0x19c)]>0x1)throw CliErrors[_0x2b222d(0x1d9)](_0x2b222d(0x1d2)+_0x13d7ca+_0x2b222d(0x1d3)+_0x8ecbec[_0x2b222d(0x1e5)](_0x1bc9a6=>_0x1bc9a6['id'])['join'](',\x20')+').',_0x2b222d(0x1b5));return _0x8ecbec[0x0];}export function projectPageSlot(_0x3ec261){const _0x11837e=a145_0x24f5f5;if(!_0x3ec261)return null;return{'resourceCode':_0x3ec261['resourceCode'],'roles':(_0x3ec261[_0x11837e(0x1b7)]??[])[_0x11837e(0x1e5)](projectRoleRef)};}export function projectPagePermit(_0x424851){const _0x327571=a145_0x24f5f5,_0x35ef75={'menuId':_0x424851['menuId'],'appCode':_0x424851[_0x327571(0x19b)],'menuPermit':projectPageSlot(_0x424851[_0x327571(0x19f)])};for(const _0xffe965 of PAGE_SLOT_SPECS){if(_0xffe965[_0x327571(0x1cc)]===_0x327571(0x19f))continue;_0x35ef75[_0xffe965[_0x327571(0x1cc)]]=projectPageSlot(_0x424851[_0xffe965[_0x327571(0x1cc)]]);}return _0x35ef75;}export function flattenMenuResources(_0x3b9186){const _0xb6e761=new Map(),_0x5f5dda=_0x4570c8=>{const _0x5f07c7=a145_0xed2e;for(const _0x366f55 of _0x4570c8??[]){_0xb6e761['set'](_0x366f55[_0x5f07c7(0x1d7)],{'resourceCode':_0x366f55[_0x5f07c7(0x1d7)],'resourceName':_0x366f55['resourceName'],'action':_0x366f55['allowedActions']?.[0x0]??'0'});if(_0x366f55[_0x5f07c7(0x1e1)])_0x5f5dda(_0x366f55[_0x5f07c7(0x1e1)]);}};return _0x5f5dda(_0x3b9186),_0xb6e761;}export function flattenApiResources(_0x3a20ec){const _0x8bccc2=a145_0x24f5f5,_0x3183b5=new Map(),_0x57f75f=new Map();for(const _0x1c6a35 of _0x3a20ec){const _0xbc13e1=_0x1c6a35[_0x8bccc2(0x1a7)]??{};for(const [_0x432722,_0x14d72f]of Object[_0x8bccc2(0x1ba)](_0xbc13e1)){_0x3183b5[_0x8bccc2(0x1dc)](_0x432722,{'resourceCode':_0x432722,'resourceName':_0x1c6a35[_0x8bccc2(0x19d)],'datasetCode':_0x1c6a35[_0x8bccc2(0x192)],'action':_0x14d72f?.[0x0]??'0'});const _0x1ed83c=_0x57f75f[_0x8bccc2(0x1ca)](_0x1c6a35['datasetCode'])??[];_0x1ed83c[_0x8bccc2(0x1d0)](_0x432722),_0x57f75f[_0x8bccc2(0x1dc)](_0x1c6a35['datasetCode'],_0x1ed83c);}}return{'byCode':_0x3183b5,'byDataset':_0x57f75f};}export function buildPermits(_0x39cd3f,_0x2ecf25){const _0x52d906=a145_0x24f5f5,_0x57b5dc={};for(const [_0x5bfc25,_0x5de5c3]of _0x39cd3f){const _0x11ddb8=_0x2ecf25[_0x52d906(0x1ca)](_0x5bfc25)??_0x5de5c3[_0x52d906(0x1d6)];_0x57b5dc[_0x5bfc25]=[_0x11ddb8];}return _0x57b5dc;}export function readRoleRef(_0x41cc57){const _0x4023e4=a145_0x24f5f5,_0x1deeaf=_0x41cc57[_0x4023e4(0x1d4)]('role')['trim']();if(!_0x1deeaf)throw CliErrors[_0x4023e4(0x1a5)](_0x4023e4(0x1d5),_0x4023e4(0x1c5));return _0x1deeaf;}export function readGrantRevoke(_0x280f28){const _0x322078=a145_0x24f5f5,_0x25b89b=_0x280f28['bool'](_0x322078(0x193)),_0x24d7af=_0x280f28[_0x322078(0x1a3)](_0x322078(0x1b4));if(_0x25b89b&&_0x24d7af)throw CliErrors[_0x322078(0x1d9)](_0x322078(0x1c7));if(!_0x25b89b&&!_0x24d7af)throw CliErrors[_0x322078(0x1d9)](_0x322078(0x196),_0x322078(0x1da));return _0x25b89b?_0x322078(0x198):'0';}
@@ -1 +1 @@
1
- (function(_0x15e5eb,_0x3f9a96){const _0x19c7ad=a146_0x5a20,_0x27e522=_0x15e5eb();while(!![]){try{const _0x4c34dc=-parseInt(_0x19c7ad(0xc5))/0x1*(-parseInt(_0x19c7ad(0xd9))/0x2)+parseInt(_0x19c7ad(0xde))/0x3*(parseInt(_0x19c7ad(0xc6))/0x4)+parseInt(_0x19c7ad(0xc4))/0x5*(parseInt(_0x19c7ad(0xca))/0x6)+parseInt(_0x19c7ad(0xc2))/0x7+-parseInt(_0x19c7ad(0xd0))/0x8*(parseInt(_0x19c7ad(0xe0))/0x9)+parseInt(_0x19c7ad(0xcb))/0xa*(-parseInt(_0x19c7ad(0xdf))/0xb)+-parseInt(_0x19c7ad(0xdb))/0xc;if(_0x4c34dc===_0x3f9a96)break;else _0x27e522['push'](_0x27e522['shift']());}catch(_0x78973c){_0x27e522['push'](_0x27e522['shift']());}}}(a146_0x272d,0x56fb6));import{existsSync}from'node:fs';import a146_0x3bb3a5 from'node:path';function a146_0x272d(){const _0x3a80fd=['green','1041840kCWjyv','√\x20Project\x20Name:\x20','test','3XBwRIM','11wirNPP','5786253oBzLOU','Logged\x20in','Skipped','Login\x20failed','3253467JXzurM','√\x20Login\x20status:\x20','120AnEmqs','31GOrjyK','646748iKcOSg','\x22\x20already\x20exists','Not\x20set','cwd','91860qcDBDv','2338270dIvgVm','resolve','env','cyan','log','8alkoBd','Directory\x20\x22','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','string','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','√\x20App\x20Code:\x20','length','Project\x20name\x20cannot\x20exceed\x2050\x20characters','production','21028MsxZbT'];a146_0x272d=function(){return _0x3a80fd;};return a146_0x272d();}import a146_0x524d73 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';function a146_0x5a20(_0x326e3e,_0x1ac4fe){_0x326e3e=_0x326e3e-0xbf;const _0x272d71=a146_0x272d();let _0x5a203e=_0x272d71[_0x326e3e];return _0x5a203e;}export async function guidedCreateProject(_0x4b38f9,_0x31967b,_0x3f45af){const _0x432344=a146_0x5a20,_0x526312='my-app',_0x5746a8=readConfig(),_0x10494c=typeof _0x5746a8[_0x432344(0xcd)]===_0x432344(0xd3)?_0x5746a8[_0x432344(0xcd)]:undefined,_0x123bc7=await input({'message':'Project\x20name:','default':_0x526312,'validate':_0xd53229=>{const _0x586cfc=_0x432344,_0x4138bd=_0xd53229['trim']()||_0x526312;if(_0x4138bd[_0x586cfc(0xd6)]>0x32)return _0x586cfc(0xd7);const _0x2c11cc=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x4138bd&&!_0x2c11cc[_0x586cfc(0xdd)](_0x4138bd))return _0x586cfc(0xd2);const _0x3ada75=a146_0x3bb3a5[_0x586cfc(0xcc)](process[_0x586cfc(0xc9)](),_0x4138bd);if(existsSync(_0x3ada75))return _0x586cfc(0xd1)+_0x4138bd+_0x586cfc(0xc7);return!![];}});console[_0x432344(0xcf)](a146_0x524d73[_0x432344(0xda)](_0x432344(0xdc)+a146_0x524d73[_0x432344(0xce)](_0x123bc7)));const _0xf2e6bd=await selectSingleAppcode(_0x3f45af);console[_0x432344(0xcf)](a146_0x524d73[_0x432344(0xda)](_0x432344(0xd5)+a146_0x524d73[_0x432344(0xce)](_0xf2e6bd||_0x432344(0xc8))));if(_0xf2e6bd){const _0x15ab2c=await getIsSessionValid();if(!_0x15ab2c){const _0x5e085b=await confirm({'message':_0x432344(0xd4),'default':!![]});if(_0x5e085b){const _0x2aa4cf=await authServer({'silent':!![]});console[_0x432344(0xcf)](a146_0x524d73[_0x432344(0xda)](_0x432344(0xc3)+a146_0x524d73['cyan'](_0x2aa4cf?_0x432344(0xbf):_0x432344(0xc1))));}else console[_0x432344(0xcf)](a146_0x524d73[_0x432344(0xda)](_0x432344(0xc3)+a146_0x524d73[_0x432344(0xce)](_0x432344(0xc0))));}await _0x4b38f9({'projectName':_0x123bc7,'appCode':_0xf2e6bd,'env':_0x31967b||_0x10494c||_0x432344(0xd8)});}else await _0x4b38f9({'projectName':_0x123bc7,'env':_0x31967b||_0x10494c||'production'});}
1
+ function a146_0x1f67(){const _0x19dab7=['log','√\x20App\x20Code:\x20','green','5683005MGDClg','10KKgkTD','12aClIaW','5pKWqau','length','5726970XZfczg','cwd','env','my-app','735132gjGUYE','test','486232jIldrG','production','1299317DvLyjo','119GcthlF','Project\x20name:','cyan','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','1622995HAOdAm','string','Skipped','Login\x20failed','768464WYyfgG','√\x20Project\x20Name:\x20','6nOawod','Logged\x20in'];a146_0x1f67=function(){return _0x19dab7;};return a146_0x1f67();}(function(_0x31cf66,_0x22920c){const _0x186d3d=a146_0x527b,_0xe45e95=_0x31cf66();while(!![]){try{const _0x21d4d6=parseInt(_0x186d3d(0xec))/0x1+-parseInt(_0x186d3d(0xea))/0x2*(parseInt(_0x186d3d(0xda))/0x3)+-parseInt(_0x186d3d(0xe8))/0x4*(parseInt(_0x186d3d(0xe2))/0x5)+-parseInt(_0x186d3d(0xe4))/0x6+-parseInt(_0x186d3d(0xed))/0x7*(-parseInt(_0x186d3d(0xf5))/0x8)+parseInt(_0x186d3d(0xdf))/0x9*(-parseInt(_0x186d3d(0xe0))/0xa)+-parseInt(_0x186d3d(0xf1))/0xb*(-parseInt(_0x186d3d(0xe1))/0xc);if(_0x21d4d6===_0x22920c)break;else _0xe45e95['push'](_0xe45e95['shift']());}catch(_0x57f305){_0xe45e95['push'](_0xe45e95['shift']());}}}(a146_0x1f67,0xc9255));function a146_0x527b(_0x3a10f3,_0x2490d8){_0x3a10f3=_0x3a10f3-0xd9;const _0x1f674b=a146_0x1f67();let _0x527b20=_0x1f674b[_0x3a10f3];return _0x527b20;}import{existsSync}from'node:fs';import a146_0x3266c5 from'node:path';import a146_0x2f203d from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x4b75b0,_0x27d11d,_0x304928){const _0x59c2ea=a146_0x527b,_0x541be7=_0x59c2ea(0xe7),_0x5e2291=readConfig(),_0x394e13=typeof _0x5e2291[_0x59c2ea(0xe6)]===_0x59c2ea(0xf2)?_0x5e2291['env']:undefined,_0x4b28e7=await input({'message':_0x59c2ea(0xee),'default':_0x541be7,'validate':_0x8c1c9c=>{const _0x5caffe=_0x59c2ea,_0x4f7152=_0x8c1c9c['trim']()||_0x541be7;if(_0x4f7152[_0x5caffe(0xe3)]>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x4ea3f6=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x4f7152&&!_0x4ea3f6[_0x5caffe(0xe9)](_0x4f7152))return'Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_';const _0x5ec0c4=a146_0x3266c5['resolve'](process[_0x5caffe(0xe5)](),_0x4f7152);if(existsSync(_0x5ec0c4))return'Directory\x20\x22'+_0x4f7152+'\x22\x20already\x20exists';return!![];}});console[_0x59c2ea(0xdc)](a146_0x2f203d['green'](_0x59c2ea(0xd9)+a146_0x2f203d[_0x59c2ea(0xef)](_0x4b28e7)));const _0x353227=await selectSingleAppcode(_0x304928);console[_0x59c2ea(0xdc)](a146_0x2f203d[_0x59c2ea(0xde)](_0x59c2ea(0xdd)+a146_0x2f203d['cyan'](_0x353227||'Not\x20set')));if(_0x353227){const _0xdf5f47=await getIsSessionValid();if(!_0xdf5f47){const _0x5859f6=await confirm({'message':_0x59c2ea(0xf0),'default':!![]});if(_0x5859f6){const _0x3bfd29=await authServer({'silent':!![]});console[_0x59c2ea(0xdc)](a146_0x2f203d[_0x59c2ea(0xde)]('√\x20Login\x20status:\x20'+a146_0x2f203d[_0x59c2ea(0xef)](_0x3bfd29?_0x59c2ea(0xdb):_0x59c2ea(0xf4))));}else console[_0x59c2ea(0xdc)](a146_0x2f203d[_0x59c2ea(0xde)]('√\x20Login\x20status:\x20'+a146_0x2f203d[_0x59c2ea(0xef)](_0x59c2ea(0xf3))));}await _0x4b75b0({'projectName':_0x4b28e7,'appCode':_0x353227,'env':_0x27d11d||_0x394e13||_0x59c2ea(0xeb)});}else await _0x4b75b0({'projectName':_0x4b28e7,'env':_0x27d11d||_0x394e13||'production'});}
@@ -1 +1 @@
1
- function a147_0x39d5(){const _0x4eec8e=['42gdgrda','3347952WLgLcX','replace','1655695polwpN','5948OiaIjN','94nebiDK','705430VMIeUX','809397HIPPMj','82728UZYNel','7GprSvh','2673246UMeIuQ'];a147_0x39d5=function(){return _0x4eec8e;};return a147_0x39d5();}function a147_0x11f9(_0x1f1f95,_0x38bc84){_0x1f1f95=_0x1f1f95-0x7d;const _0x39d5c4=a147_0x39d5();let _0x11f9a1=_0x39d5c4[_0x1f1f95];return _0x11f9a1;}(function(_0x3fbd41,_0x1d1ebb){const _0x91f668=a147_0x11f9,_0x3bf383=_0x3fbd41();while(!![]){try{const _0x1516b9=parseInt(_0x91f668(0x82))/0x1*(parseInt(_0x91f668(0x81))/0x2)+-parseInt(_0x91f668(0x7d))/0x3*(-parseInt(_0x91f668(0x85))/0x4)+-parseInt(_0x91f668(0x80))/0x5+parseInt(_0x91f668(0x87))/0x6*(parseInt(_0x91f668(0x86))/0x7)+-parseInt(_0x91f668(0x7e))/0x8+-parseInt(_0x91f668(0x84))/0x9+parseInt(_0x91f668(0x83))/0xa;if(_0x1516b9===_0x1d1ebb)break;else _0x3bf383['push'](_0x3bf383['shift']());}catch(_0xc934b5){_0x3bf383['push'](_0x3bf383['shift']());}}}(a147_0x39d5,0x3bf76));export function formatElapsed(_0x265322){const _0x390800=a147_0x11f9,_0x53072b=Date['now']()-_0x265322;if(_0x53072b<0x3e8)return _0x53072b+'ms';const _0x17c858=(_0x53072b/0x3e8)['toFixed'](0x2),_0x3082bb=_0x17c858[_0x390800(0x7f)](/\.?0+$/u,'');return _0x3082bb+'s';}
1
+ function a147_0x5018(){const _0x4a3272=['97572jOZzur','replace','730447FnNLTz','220098KFtlIH','toFixed','9ZCeBxD','595650JpSknv','14630024oYhMOi','2EqaTVV','225efQHSt','347289bjmdPa','16bcRJoy','11lbfRqD','11758103CwTJxr','8502gJvWwS'];a147_0x5018=function(){return _0x4a3272;};return a147_0x5018();}(function(_0x2192be,_0x2c5c07){const _0x5cc719=a147_0x29fc,_0x5a66ba=_0x2192be();while(!![]){try{const _0x363b45=parseInt(_0x5cc719(0x14f))/0x1*(parseInt(_0x5cc719(0x155))/0x2)+parseInt(_0x5cc719(0x157))/0x3*(parseInt(_0x5cc719(0x158))/0x4)+parseInt(_0x5cc719(0x156))/0x5*(parseInt(_0x5cc719(0x150))/0x6)+parseInt(_0x5cc719(0x15a))/0x7+parseInt(_0x5cc719(0x154))/0x8*(parseInt(_0x5cc719(0x152))/0x9)+-parseInt(_0x5cc719(0x153))/0xa*(parseInt(_0x5cc719(0x159))/0xb)+-parseInt(_0x5cc719(0x14d))/0xc*(parseInt(_0x5cc719(0x14c))/0xd);if(_0x363b45===_0x2c5c07)break;else _0x5a66ba['push'](_0x5a66ba['shift']());}catch(_0x5e3de5){_0x5a66ba['push'](_0x5a66ba['shift']());}}}(a147_0x5018,0xee275));function a147_0x29fc(_0x1d7f87,_0x2c35a3){_0x1d7f87=_0x1d7f87-0x14c;const _0x5018d9=a147_0x5018();let _0x29fcbb=_0x5018d9[_0x1d7f87];return _0x29fcbb;}export function formatElapsed(_0x214c58){const _0x2529d7=a147_0x29fc,_0x280c60=Date['now']()-_0x214c58;if(_0x280c60<0x3e8)return _0x280c60+'ms';const _0x421a6a=(_0x280c60/0x3e8)[_0x2529d7(0x151)](0x2),_0x12eecb=_0x421a6a[_0x2529d7(0x14e)](/\.?0+$/u,'');return _0x12eecb+'s';}
@@ -1 +1 @@
1
- function a148_0x1f35(){const _0x41e3f7=['264214kFAaQv','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','string','keys','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','CLI\x20版本检查','success','\x20api\x20pull','配置应用AppCode:\x20','126IjvNmZ','3638621LxXqQh','\x20|\x20Default:\x20','start','\x20√\x20','√\x20Configuration\x20file\x20created,\x20Apps:\x20','setLogPath','Copy\x20project\x20files','\x20|\x20AppCode:\x20','length','API\x20配置拉取异常','🚀\x20Next\x20Steps:','cd\x20','16030NySzGo','Format\x20code','\x20already\x20exists','rmSync','610015FlCwtd','Project\x20name:\x20','√\x20package.json\x20updated:\x20name=','description','bold','package.json','error','appCode','\x20config\x20set\x20appcode\x20<app-code>\x27','配置应用AppCode失败','更新\x20package.json\x20name','\x20&&\x20','\x20\x201.\x20Start\x20project:\x20','create','dirname','join','cyan','readFileSync','version','belowMinimum','repeat','production','projectName','Project\x20name\x20cannot\x20be\x20empty','清理项目目录失败:\x20','trim','projectCode','env','resolve','accessSync','1667724gWcuVy','info','fail','开始创建项目:\x20','stableVersion','Install\x20dependencies','*\x20Pulling\x20API\x20configuration...','API\x20configuration\x20pulled:\x20','name','更新\x20package.json\x20失败','2968364gunrNA','needsUpgrade','apps','201808PHLksK','utf8','1.0.0','parse','项目创建完成:\x20','cookie','cwd','log','项目创建失败:\x20','5pQXuzX','\x20model(s)','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','stringify','warn','6YatzKa','green','\x20\x202.\x20Pull\x20API\x20configuration:\x20','message'];a148_0x1f35=function(){return _0x41e3f7;};return a148_0x1f35();}(function(_0x481ed1,_0x304dbf){const _0x4adfd8=a148_0x4e2e,_0x134506=_0x481ed1();while(!![]){try{const _0xb1dc41=-parseInt(_0x4adfd8(0x1c4))/0x1+parseInt(_0x4adfd8(0x1aa))/0x2+-parseInt(_0x4adfd8(0x18a))/0x3+parseInt(_0x4adfd8(0x194))/0x4*(parseInt(_0x4adfd8(0x1a0))/0x5)+parseInt(_0x4adfd8(0x1a6))/0x6*(parseInt(_0x4adfd8(0x1b4))/0x7)+-parseInt(_0x4adfd8(0x197))/0x8*(-parseInt(_0x4adfd8(0x1b3))/0x9)+parseInt(_0x4adfd8(0x1c0))/0xa;if(_0xb1dc41===_0x304dbf)break;else _0x134506['push'](_0x134506['shift']());}catch(_0x56aaf0){_0x134506['push'](_0x134506['shift']());}}}(a148_0x1f35,0x8e4bd));import a148_0x1d4712 from'path';import a148_0x54808b from'fs';import a148_0x5b36b0 from'chalk';import a148_0x32af9e from'ora';function a148_0x4e2e(_0x171421,_0x19fb0f){_0x171421=_0x171421-0x17a;const _0x1f3586=a148_0x1f35();let _0x4e2e09=_0x1f3586[_0x171421];return _0x4e2e09;}import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x1675c4){const _0x53c166=a148_0x4e2e,_0x3fdd77=await checkCliVersion();(_0x3fdd77['needsUpgrade']||_0x3fdd77[_0x53c166(0x17f)])&&(printCliUpgradeWarning(_0x3fdd77),assertCliVersionSupported(_0x3fdd77),logger[_0x53c166(0x18b)](_0x53c166(0x1d1),_0x53c166(0x1af),{'currentVersion':_0x3fdd77['currentVersion'],'stableVersion':_0x3fdd77[_0x53c166(0x18e)],'minimumVersion':_0x3fdd77['minimumVersion'],'needsUpgrade':_0x3fdd77[_0x53c166(0x195)],'belowMinimum':_0x3fdd77['belowMinimum']}));if(_0x1675c4[_0x53c166(0x186)]&&_0x1675c4[_0x53c166(0x1cb)])await runCreate({'projectName':_0x1675c4[_0x53c166(0x186)],'appCode':_0x1675c4[_0x53c166(0x1cb)],'env':_0x1675c4[_0x53c166(0x187)]},_0x1675c4);else{if(_0x1675c4[_0x53c166(0x186)]){const _0x2769a6=await selectSingleAppcode(_0x1675c4[_0x53c166(0x19c)]);await runCreate({'projectName':_0x1675c4[_0x53c166(0x186)],'appCode':_0x2769a6||undefined,'env':_0x1675c4[_0x53c166(0x187)]},_0x1675c4);}else await guidedCreateProject(_0x1de364=>runCreate(_0x1de364,_0x1675c4),_0x1675c4[_0x53c166(0x187)],_0x1675c4[_0x53c166(0x19c)]);}}async function runCreate(_0x5a56a3,_0x3fc327){const _0x39828a=a148_0x4e2e;if(!_0x5a56a3[_0x39828a(0x182)]||_0x5a56a3['projectName'][_0x39828a(0x185)]()==='')throw new Error(_0x39828a(0x183));const _0x157d50=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x157d50['test'](_0x5a56a3['projectName']))throw new Error('Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters');if(_0x5a56a3[_0x39828a(0x182)][_0x39828a(0x1bc)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x289b7b=a148_0x1d4712[_0x39828a(0x188)](process[_0x39828a(0x19d)](),_0x5a56a3[_0x39828a(0x182)]);if(a148_0x54808b['existsSync'](_0x289b7b))throw new Error('Project\x20directory\x20'+_0x5a56a3[_0x39828a(0x182)]+_0x39828a(0x1c2));try{a148_0x54808b[_0x39828a(0x189)](a148_0x1d4712[_0x39828a(0x17a)](_0x289b7b),a148_0x54808b['constants']['W_OK']);}catch{throw new Error(_0x39828a(0x1a2));}logger[_0x39828a(0x1b9)](_0x289b7b),logger['info'](_0x39828a(0x1d1),_0x39828a(0x18d)+_0x5a56a3[_0x39828a(0x182)],{'projectDir':_0x289b7b,'appCode':_0x5a56a3[_0x39828a(0x1cb)]}),console[_0x39828a(0x19e)](),console[_0x39828a(0x19e)](a148_0x5b36b0[_0x39828a(0x1a7)](_0x39828a(0x1b7))+_0x39828a(0x1c5)+a148_0x5b36b0[_0x39828a(0x1a7)](_0x5a56a3[_0x39828a(0x182)])+(_0x5a56a3[_0x39828a(0x1cb)]?_0x39828a(0x1bb)+a148_0x5b36b0['cyan'](_0x5a56a3[_0x39828a(0x1cb)]):''));try{await runTask(_0x39828a(0x1ba),()=>copyProjectTemplate(_0x5a56a3['projectName'])),await updatePackageJsonName(_0x5a56a3[_0x39828a(0x182)]),await runTask(_0x39828a(0x18f),()=>installDependencies(_0x5a56a3[_0x39828a(0x182)])),await runTask(_0x39828a(0x1c1),()=>formatProjectCode(_0x5a56a3[_0x39828a(0x182)])),await configureAppCode(_0x5a56a3[_0x39828a(0x182)],_0x5a56a3[_0x39828a(0x1cb)]||'',_0x5a56a3[_0x39828a(0x187)]);let _0x2d545f=![];if(_0x5a56a3[_0x39828a(0x1cb)]){console[_0x39828a(0x19e)](_0x39828a(0x190));const _0x2fe6d3=process[_0x39828a(0x19d)]();try{process['chdir'](_0x289b7b);const _0x57f2c1=_0x5a56a3[_0x39828a(0x187)]||_0x39828a(0x181);initEnv(_0x57f2c1);const {configArray:_0x3b1f76}=await fetchModelList(_0x5a56a3[_0x39828a(0x1cb)],_0x3fc327[_0x39828a(0x19c)]||''),_0xac0830=DEFAULT_API_DIR,_0x255a25=await generateApiFile(_0x3b1f76,'',_0x5a56a3[_0x39828a(0x1cb)],!![],_0x57f2c1,_0xac0830);console['log']('√\x20Pulled\x20'+_0x3b1f76[_0x39828a(0x1bc)]+'\x20dataset(s),\x20generated\x20'+_0x255a25['modelCount']+_0x39828a(0x1a1)),logger['info'](_0x39828a(0x1d1),_0x39828a(0x191)+_0x5a56a3[_0x39828a(0x1cb)]);}catch(_0xec0e63){_0x2d545f=!![],console[_0x39828a(0x19e)](_0x39828a(0x1ab)),logger['warn'](_0x39828a(0x1d1),_0x39828a(0x1bd),{'error':_0xec0e63 instanceof Error?_0xec0e63[_0x39828a(0x1a9)]:String(_0xec0e63)});}finally{process['chdir'](_0x2fe6d3);}}logger[_0x39828a(0x1b0)](_0x39828a(0x1d1),_0x39828a(0x19b)+_0x5a56a3['projectName']),console[_0x39828a(0x19e)](),console[_0x39828a(0x19e)](a148_0x5b36b0[_0x39828a(0x1a7)]('─'[_0x39828a(0x180)](0x3c))),console[_0x39828a(0x19e)](a148_0x5b36b0['cyan'][_0x39828a(0x1c8)](_0x39828a(0x1be))),console[_0x39828a(0x19e)](),console[_0x39828a(0x19e)](_0x39828a(0x1d0)+a148_0x5b36b0[_0x39828a(0x17c)][_0x39828a(0x1c8)](_0x39828a(0x1bf)+_0x5a56a3[_0x39828a(0x182)]+_0x39828a(0x1cf)+CLI_BIN_NAME+'\x20run\x20start')),_0x2d545f&&console[_0x39828a(0x19e)](_0x39828a(0x1a8)+a148_0x5b36b0[_0x39828a(0x17c)]['bold'](CLI_BIN_NAME+_0x39828a(0x1b1))),console[_0x39828a(0x19e)](a148_0x5b36b0[_0x39828a(0x1a7)]('─'[_0x39828a(0x180)](0x3c)));}catch(_0x49372e){logger[_0x39828a(0x1ca)](_0x39828a(0x1d1),_0x39828a(0x19f)+_0x5a56a3[_0x39828a(0x182)],{'error':_0x49372e instanceof Error?_0x49372e[_0x39828a(0x1a9)]:String(_0x49372e)});try{a148_0x54808b['existsSync'](_0x289b7b)&&(console[_0x39828a(0x19e)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x289b7b),a148_0x54808b[_0x39828a(0x1c3)](_0x289b7b,{'recursive':!![],'force':!![]}));}catch{logger[_0x39828a(0x1a5)](_0x39828a(0x1d1),_0x39828a(0x184)+_0x289b7b);}throw _0x49372e;}}async function runTask(_0x2fc4d9,_0xbd86f){const _0x301ca9=a148_0x4e2e,_0x4a6d3d=a148_0x32af9e(_0x2fc4d9+'...')[_0x301ca9(0x1b6)]();try{const _0x5ea562=await _0xbd86f();_0x4a6d3d['stop'](),console[_0x301ca9(0x19e)](''+a148_0x5b36b0['green'](_0x301ca9(0x1b7))+_0x2fc4d9+'\x20'+a148_0x5b36b0['gray']('['+_0x5ea562+']'));}catch(_0x2cac8b){_0x4a6d3d[_0x301ca9(0x18c)](_0x2fc4d9);throw _0x2cac8b;}}async function updatePackageJsonName(_0x31f67c){const _0x553ab9=a148_0x4e2e,_0x1e84ce=a148_0x1d4712[_0x553ab9(0x188)](process['cwd'](),_0x31f67c),_0x19e25b=a148_0x1d4712[_0x553ab9(0x17b)](_0x1e84ce,_0x553ab9(0x1c9));try{console[_0x553ab9(0x19e)](_0x553ab9(0x1ae));const _0x2d0cce=getRabetbaseCliPackageRoot(),_0x2bf7bb=a148_0x1d4712[_0x553ab9(0x17b)](_0x2d0cce,_0x553ab9(0x1c9));let _0x592f9d=_0x553ab9(0x199);try{const _0x491837=JSON[_0x553ab9(0x19a)](a148_0x54808b[_0x553ab9(0x17d)](_0x2bf7bb,_0x553ab9(0x198)));_0x592f9d=_0x491837['version']||_0x553ab9(0x199);}catch{}const _0xe897ce=a148_0x54808b[_0x553ab9(0x17d)](_0x19e25b,_0x553ab9(0x198)),_0x1043df=JSON[_0x553ab9(0x19a)](_0xe897ce);_0x1043df[_0x553ab9(0x192)]=_0x31f67c,_0x1043df[_0x553ab9(0x1c7)]=_0x31f67c+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x592f9d,a148_0x54808b['writeFileSync'](_0x19e25b,JSON[_0x553ab9(0x1a4)](_0x1043df,null,0x2)+'\x0a','utf8'),console[_0x553ab9(0x19e)](_0x553ab9(0x1c6)+_0x31f67c),logger[_0x553ab9(0x18b)](_0x553ab9(0x1d1),_0x553ab9(0x1ce));}catch(_0x50a4d3){logger[_0x553ab9(0x1ca)](_0x553ab9(0x1d1),_0x553ab9(0x193));throw _0x50a4d3;}}async function configureAppCode(_0x13fd7e,_0x3a5cba,_0x2eaaa9){const _0x564a95=a148_0x4e2e,_0x140edd=a148_0x1d4712[_0x564a95(0x188)](process[_0x564a95(0x19d)](),_0x13fd7e),_0x4b3c4e=a148_0x1d4712[_0x564a95(0x17b)](_0x140edd,NEW_CONFIG_NAME);try{_0x3a5cba?console[_0x564a95(0x19e)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x13fd7e+':\x20'+_0x3a5cba):console[_0x564a95(0x19e)]('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x13fd7e);const _0x3e0e24=getRabetbaseCliPackageRoot(),_0x41dab8=a148_0x1d4712[_0x564a95(0x17b)](_0x3e0e24,'package.json');let _0x34132a=_0x564a95(0x199);try{const _0x1429f3=JSON['parse'](a148_0x54808b['readFileSync'](_0x41dab8,'utf8'));_0x34132a=_0x1429f3[_0x564a95(0x17e)]||'1.0.0';}catch{}const _0x2170ec=readConfig(),_0x47f60a=typeof _0x2170ec[_0x564a95(0x187)]===_0x564a95(0x1ac)?_0x2170ec[_0x564a95(0x187)]:undefined,_0x30830b={};for(const _0x59226f of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x2170ec[_0x59226f]!=null)_0x30830b[_0x59226f]=_0x2170ec[_0x59226f];}const _0x237109=buildCanonicalProjectConfig(_0x30830b,{'appCodes':_0x3a5cba?[_0x3a5cba]:[],'env':_0x2eaaa9||_0x47f60a||'production','metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x34132a}});writeConfigFile(_0x4b3c4e,_0x237109),_0x3a5cba?console[_0x564a95(0x19e)](_0x564a95(0x1b8)+Object[_0x564a95(0x1ad)](_0x237109[_0x564a95(0x196)]||{})[_0x564a95(0x17b)](',\x20')+_0x564a95(0x1b5)+_0x237109['defaultApp']):console[_0x564a95(0x19e)](_0x564a95(0x1a3)+CLI_BIN_NAME+_0x564a95(0x1cc)),logger[_0x564a95(0x18b)](_0x564a95(0x1d1),_0x564a95(0x1b2)+_0x3a5cba);}catch(_0x18e766){logger[_0x564a95(0x1ca)](_0x564a95(0x1d1),_0x564a95(0x1cd));}}
1
+ (function(_0x286422,_0xef4a82){const _0xf046c7=a148_0x4bbc,_0x496423=_0x286422();while(!![]){try{const _0x59f4ad=-parseInt(_0xf046c7(0x17c))/0x1*(-parseInt(_0xf046c7(0x1a7))/0x2)+parseInt(_0xf046c7(0x166))/0x3*(parseInt(_0xf046c7(0x173))/0x4)+-parseInt(_0xf046c7(0x161))/0x5+parseInt(_0xf046c7(0x186))/0x6+-parseInt(_0xf046c7(0x15c))/0x7+parseInt(_0xf046c7(0x1a2))/0x8+-parseInt(_0xf046c7(0x183))/0x9;if(_0x59f4ad===_0xef4a82)break;else _0x496423['push'](_0x496423['shift']());}catch(_0x37d727){_0x496423['push'](_0x496423['shift']());}}}(a148_0xf3d2,0x4ece7));function a148_0x4bbc(_0x336c2a,_0xafa8e){_0x336c2a=_0x336c2a-0x157;const _0xf3d22b=a148_0xf3d2();let _0x4bbc5d=_0xf3d22b[_0x336c2a];return _0x4bbc5d;}import a148_0x351140 from'path';import a148_0x1da210 from'fs';import a148_0x4b999e from'chalk';import a148_0x2dcf84 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';function a148_0xf3d2(){const _0x3d0349=['readFileSync','needsUpgrade','stop','gray','appCode','resolve','currentVersion','项目创建失败:\x20','4370064gZBopX','info','constants','setLogPath','modelCount','10YVzewz','join','cwd','Install\x20dependencies','项目创建完成:\x20','\x20Generated\x20by\x20rabetbase\x20cli\x20','cookie','dirname','projectCode','package.json','√\x20Configuration\x20file\x20created,\x20Apps:\x20','W_OK','\x20run\x20start','3543295GfEXET','Copy\x20project\x20files','CLI\x20版本检查','env','repeat','817685LqmHwe','production','keys','parse','rmSync','1069083wqqUxM','utf8','stableVersion','配置应用AppCode失败','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','API\x20configuration\x20pulled:\x20','green','length','log','更新\x20package.json\x20name','bold','message','trim','4bqJDuJ','cyan','belowMinimum','√\x20package.json\x20updated:\x20name=','\x20already\x20exists','error','test','开始创建项目:\x20','warn','122212kdrWsH','name','🚀\x20Next\x20Steps:','cd\x20','apps','\x20√\x20','...','8157717CHphOe','version','accessSync','2311482FigSNs','create','\x20&&\x20','description','\x20model(s)','projectName','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','chdir','\x20dataset(s),\x20generated\x20','1.0.0','√\x20Pulled\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','*\x20Configuring\x20AppCode\x20for\x20project\x20','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','API\x20配置拉取异常','清理项目目录失败:\x20','minimumVersion','\x20api\x20pull','\x20\x201.\x20Start\x20project:\x20','string'];a148_0xf3d2=function(){return _0x3d0349;};return a148_0xf3d2();}export async function createApp(_0xf2e3f9){const _0x5ee1c5=a148_0x4bbc,_0x23df30=await checkCliVersion();(_0x23df30['needsUpgrade']||_0x23df30['belowMinimum'])&&(printCliUpgradeWarning(_0x23df30),assertCliVersionSupported(_0x23df30),logger[_0x5ee1c5(0x1a3)](_0x5ee1c5(0x187),_0x5ee1c5(0x15e),{'currentVersion':_0x23df30[_0x5ee1c5(0x1a0)],'stableVersion':_0x23df30[_0x5ee1c5(0x168)],'minimumVersion':_0x23df30[_0x5ee1c5(0x196)],'needsUpgrade':_0x23df30[_0x5ee1c5(0x19b)],'belowMinimum':_0x23df30[_0x5ee1c5(0x175)]}));if(_0xf2e3f9[_0x5ee1c5(0x157)]&&_0xf2e3f9[_0x5ee1c5(0x19e)])await runCreate({'projectName':_0xf2e3f9[_0x5ee1c5(0x157)],'appCode':_0xf2e3f9[_0x5ee1c5(0x19e)],'env':_0xf2e3f9[_0x5ee1c5(0x15f)]},_0xf2e3f9);else{if(_0xf2e3f9[_0x5ee1c5(0x157)]){const _0x470a34=await selectSingleAppcode(_0xf2e3f9[_0x5ee1c5(0x1ad)]);await runCreate({'projectName':_0xf2e3f9['projectCode'],'appCode':_0x470a34||undefined,'env':_0xf2e3f9[_0x5ee1c5(0x15f)]},_0xf2e3f9);}else await guidedCreateProject(_0x16671d=>runCreate(_0x16671d,_0xf2e3f9),_0xf2e3f9[_0x5ee1c5(0x15f)],_0xf2e3f9[_0x5ee1c5(0x1ad)]);}}async function runCreate(_0x537035,_0x1203de){const _0x22424b=a148_0x4bbc;if(!_0x537035['projectName']||_0x537035[_0x22424b(0x18b)][_0x22424b(0x172)]()==='')throw new Error('Project\x20name\x20cannot\x20be\x20empty');const _0x5d4c9b=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x5d4c9b[_0x22424b(0x179)](_0x537035[_0x22424b(0x18b)]))throw new Error(_0x22424b(0x193));if(_0x537035[_0x22424b(0x18b)]['length']>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x13a500=a148_0x351140[_0x22424b(0x19f)](process['cwd'](),_0x537035['projectName']);if(a148_0x1da210['existsSync'](_0x13a500))throw new Error('Project\x20directory\x20'+_0x537035['projectName']+_0x22424b(0x177));try{a148_0x1da210[_0x22424b(0x185)](a148_0x351140[_0x22424b(0x1ae)](_0x13a500),a148_0x1da210[_0x22424b(0x1a4)][_0x22424b(0x15a)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger[_0x22424b(0x1a5)](_0x13a500),logger[_0x22424b(0x1a3)]('create',_0x22424b(0x17a)+_0x537035[_0x22424b(0x18b)],{'projectDir':_0x13a500,'appCode':_0x537035[_0x22424b(0x19e)]}),console['log'](),console[_0x22424b(0x16e)](a148_0x4b999e['green'](_0x22424b(0x181))+'Project\x20name:\x20'+a148_0x4b999e[_0x22424b(0x16c)](_0x537035[_0x22424b(0x18b)])+(_0x537035[_0x22424b(0x19e)]?'\x20|\x20AppCode:\x20'+a148_0x4b999e['cyan'](_0x537035[_0x22424b(0x19e)]):''));try{await runTask(_0x22424b(0x15d),()=>copyProjectTemplate(_0x537035[_0x22424b(0x18b)])),await updatePackageJsonName(_0x537035[_0x22424b(0x18b)]),await runTask(_0x22424b(0x1aa),()=>installDependencies(_0x537035[_0x22424b(0x18b)])),await runTask('Format\x20code',()=>formatProjectCode(_0x537035[_0x22424b(0x18b)])),await configureAppCode(_0x537035[_0x22424b(0x18b)],_0x537035[_0x22424b(0x19e)]||'',_0x537035[_0x22424b(0x15f)]);let _0x235987=![];if(_0x537035[_0x22424b(0x19e)]){console[_0x22424b(0x16e)]('*\x20Pulling\x20API\x20configuration...');const _0x42f2b0=process[_0x22424b(0x1a9)]();try{process[_0x22424b(0x18d)](_0x13a500);const _0x1fb171=_0x537035[_0x22424b(0x15f)]||_0x22424b(0x162);initEnv(_0x1fb171);const {configArray:_0x54e180}=await fetchModelList(_0x537035[_0x22424b(0x19e)],_0x1203de[_0x22424b(0x1ad)]||''),_0x4f3b4b=DEFAULT_API_DIR,_0x50d5cb=await generateApiFile(_0x54e180,'',_0x537035[_0x22424b(0x19e)],!![],_0x1fb171,_0x4f3b4b);console[_0x22424b(0x16e)](_0x22424b(0x190)+_0x54e180[_0x22424b(0x16d)]+_0x22424b(0x18e)+_0x50d5cb[_0x22424b(0x1a6)]+_0x22424b(0x18a)),logger['info'](_0x22424b(0x187),_0x22424b(0x16b)+_0x537035[_0x22424b(0x19e)]);}catch(_0x520bbf){_0x235987=!![],console[_0x22424b(0x16e)]('!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull'),logger[_0x22424b(0x17b)](_0x22424b(0x187),_0x22424b(0x194),{'error':_0x520bbf instanceof Error?_0x520bbf[_0x22424b(0x171)]:String(_0x520bbf)});}finally{process[_0x22424b(0x18d)](_0x42f2b0);}}logger['success'](_0x22424b(0x187),_0x22424b(0x1ab)+_0x537035[_0x22424b(0x18b)]),console[_0x22424b(0x16e)](),console[_0x22424b(0x16e)](a148_0x4b999e['green']('─'[_0x22424b(0x160)](0x3c))),console['log'](a148_0x4b999e[_0x22424b(0x174)][_0x22424b(0x170)](_0x22424b(0x17e))),console[_0x22424b(0x16e)](),console[_0x22424b(0x16e)](_0x22424b(0x198)+a148_0x4b999e[_0x22424b(0x174)][_0x22424b(0x170)](_0x22424b(0x17f)+_0x537035[_0x22424b(0x18b)]+_0x22424b(0x188)+CLI_BIN_NAME+_0x22424b(0x15b))),_0x235987&&console[_0x22424b(0x16e)]('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a148_0x4b999e[_0x22424b(0x174)]['bold'](CLI_BIN_NAME+_0x22424b(0x197))),console[_0x22424b(0x16e)](a148_0x4b999e[_0x22424b(0x16c)]('─'['repeat'](0x3c)));}catch(_0x14f8d9){logger[_0x22424b(0x178)](_0x22424b(0x187),_0x22424b(0x1a1)+_0x537035[_0x22424b(0x18b)],{'error':_0x14f8d9 instanceof Error?_0x14f8d9['message']:String(_0x14f8d9)});try{a148_0x1da210['existsSync'](_0x13a500)&&(console[_0x22424b(0x16e)](_0x22424b(0x18c)+_0x13a500),a148_0x1da210[_0x22424b(0x165)](_0x13a500,{'recursive':!![],'force':!![]}));}catch{logger[_0x22424b(0x17b)]('create',_0x22424b(0x195)+_0x13a500);}throw _0x14f8d9;}}async function runTask(_0x3ae99b,_0x31b28c){const _0x5bace8=a148_0x4bbc,_0x2630e2=a148_0x2dcf84(_0x3ae99b+_0x5bace8(0x182))['start']();try{const _0x42b48b=await _0x31b28c();_0x2630e2[_0x5bace8(0x19c)](),console[_0x5bace8(0x16e)](''+a148_0x4b999e['green'](_0x5bace8(0x181))+_0x3ae99b+'\x20'+a148_0x4b999e[_0x5bace8(0x19d)]('['+_0x42b48b+']'));}catch(_0x5ce7b1){_0x2630e2['fail'](_0x3ae99b);throw _0x5ce7b1;}}async function updatePackageJsonName(_0x59c41b){const _0x4ba3f3=a148_0x4bbc,_0x1aa0f6=a148_0x351140[_0x4ba3f3(0x19f)](process[_0x4ba3f3(0x1a9)](),_0x59c41b),_0x34c42a=a148_0x351140['join'](_0x1aa0f6,_0x4ba3f3(0x158));try{console[_0x4ba3f3(0x16e)](_0x4ba3f3(0x16a));const _0x3abd97=getRabetbaseCliPackageRoot(),_0x44a0a1=a148_0x351140[_0x4ba3f3(0x1a8)](_0x3abd97,_0x4ba3f3(0x158));let _0x1b88ce=_0x4ba3f3(0x18f);try{const _0x2e5ce6=JSON[_0x4ba3f3(0x164)](a148_0x1da210[_0x4ba3f3(0x19a)](_0x44a0a1,_0x4ba3f3(0x167)));_0x1b88ce=_0x2e5ce6[_0x4ba3f3(0x184)]||'1.0.0';}catch{}const _0x4c70fc=a148_0x1da210[_0x4ba3f3(0x19a)](_0x34c42a,_0x4ba3f3(0x167)),_0x1351a7=JSON[_0x4ba3f3(0x164)](_0x4c70fc);_0x1351a7[_0x4ba3f3(0x17d)]=_0x59c41b,_0x1351a7[_0x4ba3f3(0x189)]=_0x59c41b+_0x4ba3f3(0x1ac)+_0x1b88ce,a148_0x1da210['writeFileSync'](_0x34c42a,JSON['stringify'](_0x1351a7,null,0x2)+'\x0a',_0x4ba3f3(0x167)),console[_0x4ba3f3(0x16e)](_0x4ba3f3(0x176)+_0x59c41b),logger['info'](_0x4ba3f3(0x187),_0x4ba3f3(0x16f));}catch(_0x18b6a0){logger[_0x4ba3f3(0x178)](_0x4ba3f3(0x187),'更新\x20package.json\x20失败');throw _0x18b6a0;}}async function configureAppCode(_0x4215da,_0x99508a,_0x58514c){const _0x5df488=a148_0x4bbc,_0x278e4a=a148_0x351140[_0x5df488(0x19f)](process['cwd'](),_0x4215da),_0x20c51f=a148_0x351140[_0x5df488(0x1a8)](_0x278e4a,NEW_CONFIG_NAME);try{_0x99508a?console['log'](_0x5df488(0x192)+_0x4215da+':\x20'+_0x99508a):console[_0x5df488(0x16e)](_0x5df488(0x191)+_0x4215da);const _0x3bbea2=getRabetbaseCliPackageRoot(),_0x38af51=a148_0x351140['join'](_0x3bbea2,_0x5df488(0x158));let _0x11d8fb=_0x5df488(0x18f);try{const _0x2577fc=JSON[_0x5df488(0x164)](a148_0x1da210[_0x5df488(0x19a)](_0x38af51,_0x5df488(0x167)));_0x11d8fb=_0x2577fc[_0x5df488(0x184)]||_0x5df488(0x18f);}catch{}const _0x4888a0=readConfig(),_0x16663e=typeof _0x4888a0[_0x5df488(0x15f)]===_0x5df488(0x199)?_0x4888a0[_0x5df488(0x15f)]:undefined,_0x5ec97b={};for(const _0x51574a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x4888a0[_0x51574a]!=null)_0x5ec97b[_0x51574a]=_0x4888a0[_0x51574a];}const _0x58589b=buildCanonicalProjectConfig(_0x5ec97b,{'appCodes':_0x99508a?[_0x99508a]:[],'env':_0x58514c||_0x16663e||_0x5df488(0x162),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x11d8fb}});writeConfigFile(_0x20c51f,_0x58589b),_0x99508a?console['log'](_0x5df488(0x159)+Object[_0x5df488(0x163)](_0x58589b[_0x5df488(0x180)]||{})[_0x5df488(0x1a8)](',\x20')+'\x20|\x20Default:\x20'+_0x58589b['defaultApp']):console['log']('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+'\x20config\x20set\x20appcode\x20<app-code>\x27'),logger[_0x5df488(0x1a3)]('create','配置应用AppCode:\x20'+_0x99508a);}catch(_0x5cbc87){logger[_0x5df488(0x178)](_0x5df488(0x187),_0x5df488(0x169));}}
@@ -1 +1 @@
1
- (function(_0x1da9fa,_0x55e459){const _0x365ff4=a149_0x24da,_0x3835ec=_0x1da9fa();while(!![]){try{const _0x4550ae=-parseInt(_0x365ff4(0x13f))/0x1*(parseInt(_0x365ff4(0x167))/0x2)+-parseInt(_0x365ff4(0x12f))/0x3*(parseInt(_0x365ff4(0x14b))/0x4)+parseInt(_0x365ff4(0x160))/0x5+parseInt(_0x365ff4(0x152))/0x6*(parseInt(_0x365ff4(0x13d))/0x7)+-parseInt(_0x365ff4(0x15a))/0x8*(parseInt(_0x365ff4(0x161))/0x9)+-parseInt(_0x365ff4(0x13e))/0xa+-parseInt(_0x365ff4(0x16b))/0xb*(-parseInt(_0x365ff4(0x169))/0xc);if(_0x4550ae===_0x55e459)break;else _0x3835ec['push'](_0x3835ec['shift']());}catch(_0x3a1b3d){_0x3835ec['push'](_0x3835ec['shift']());}}}(a149_0x24b1,0x75303));import a149_0x5c7a87 from'path';import a149_0xca6f39 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';function a149_0x24da(_0x45fe6b,_0xca6b92){_0x45fe6b=_0x45fe6b-0x12c;const _0x24b1fa=a149_0x24b1();let _0x24daf5=_0x24b1fa[_0x45fe6b];return _0x24daf5;}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(_0xe293e7,_0x2e91d1,_0x55dc75,_0x499b76){const _0x17abdd=a149_0x24da,_0x1fd3e6=await checkCliVersion();(_0x1fd3e6[_0x17abdd(0x13a)]||_0x1fd3e6[_0x17abdd(0x139)])&&(printCliUpgradeWarning(_0x1fd3e6),assertCliVersionSupported(_0x1fd3e6));if(!_0xe293e7||_0xe293e7[_0x17abdd(0x16a)]()==='')throw CliErrors['validation'](_0x17abdd(0x151));const _0x4d5b92=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x4d5b92['test'](_0xe293e7))throw CliErrors[_0x17abdd(0x154)](_0x17abdd(0x163),_0x17abdd(0x147));if(_0xe293e7[_0x17abdd(0x130)]>0x64)throw CliErrors[_0x17abdd(0x154)](_0x17abdd(0x162));const _0x3a56f3=a149_0x5c7a87[_0x17abdd(0x131)](process[_0x17abdd(0x15d)](),_0xe293e7);if(existsSync(_0x3a56f3))throw CliErrors[_0x17abdd(0x154)](_0x17abdd(0x141)+_0xe293e7+_0x17abdd(0x142),'Use\x20a\x20different\x20project\x20name.');try{const _0x3fa121=a149_0x5c7a87[_0x17abdd(0x144)](_0x3a56f3);await a149_0xca6f39[_0x17abdd(0x132)](_0x3fa121,a149_0xca6f39[_0x17abdd(0x15b)][_0x17abdd(0x138)]);}catch{throw CliErrors['validation'](_0x17abdd(0x12e),_0x17abdd(0x13b));}try{console[_0x17abdd(0x159)]('*\x20Creating\x20project\x20'+_0xe293e7+_0x17abdd(0x168));const _0x49d63f=getSubAppReactDemoTemplateDir();await copyDirectory(_0x49d63f,_0x3a56f3),console[_0x17abdd(0x159)]('\x20\x20√\x20Project\x20template\x20created'),await updatePackageJsonName(_0xe293e7),console[_0x17abdd(0x159)](_0x17abdd(0x149)),console[_0x17abdd(0x159)](_0x17abdd(0x148)),console[_0x17abdd(0x159)](_0x17abdd(0x12c)),await formatCode(_0x3a56f3),console[_0x17abdd(0x159)](_0x17abdd(0x13c)),await configureProject(_0xe293e7,_0x55dc75,_0x2e91d1),console[_0x17abdd(0x159)](_0x17abdd(0x12d)),_0x55dc75&&await pullApiConfig(_0x3a56f3,_0x55dc75,_0x2e91d1,_0x499b76),console[_0x17abdd(0x159)](_0x17abdd(0x158)+_0xe293e7+_0x17abdd(0x14c)),console[_0x17abdd(0x159)](_0x17abdd(0x134)+_0xe293e7),console[_0x17abdd(0x159)](_0x17abdd(0x150));}catch(_0x28b2f5){try{existsSync(_0x3a56f3)&&await a149_0xca6f39['rm'](_0x3a56f3,{'recursive':!![],'force':!![]});}catch{}throw _0x28b2f5;}}async function updatePackageJsonName(_0x393d40){const _0x135703=a149_0x24da,_0x197134=a149_0x5c7a87[_0x135703(0x131)](process[_0x135703(0x15d)](),_0x393d40),_0x432a4f=a149_0x5c7a87['join'](_0x197134,_0x135703(0x14a)),_0x195ea9=await a149_0xca6f39[_0x135703(0x146)](_0x432a4f,_0x135703(0x143)),_0x3ea590=JSON[_0x135703(0x14d)](_0x195ea9);_0x3ea590[_0x135703(0x155)]=_0x393d40,_0x3ea590[_0x135703(0x137)]=_0x135703(0x164),await a149_0xca6f39[_0x135703(0x157)](_0x432a4f,JSON[_0x135703(0x14e)](_0x3ea590,null,0x2)+'\x0a');}function detectPackageManager(){const _0x28cc85=a149_0x24da;try{return execSync('bun\x20--version',{'stdio':'ignore'}),_0x28cc85(0x15e);}catch{return _0x28cc85(0x166);}}async function formatCode(_0x28e73d){try{await execAsync('bun\x20run\x20format',{'cwd':_0x28e73d});}catch{}}async function configureProject(_0xd5f026,_0x53975f,_0x30b05e){const _0x19c970=a149_0x24da,_0x1c039d=a149_0x5c7a87[_0x19c970(0x131)](process[_0x19c970(0x15d)](),_0xd5f026),_0x1cb873=a149_0x5c7a87[_0x19c970(0x153)](_0x1c039d,NEW_CONFIG_NAME),_0x540369=readConfig(),_0x17b65d=typeof _0x540369[_0x19c970(0x135)]===_0x19c970(0x165)?_0x540369[_0x19c970(0x135)]:undefined,_0xd5181b={};for(const _0xdc5864 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x540369[_0xdc5864]!=null)_0xd5181b[_0xdc5864]=_0x540369[_0xdc5864];}const _0x2db092=buildCanonicalProjectConfig(_0xd5181b,{'appCodes':_0x53975f?[_0x53975f]:[],'env':_0x30b05e||_0x17b65d||_0x19c970(0x136),'metadata':{'createdAt':new Date()[_0x19c970(0x14f)](),'version':getCliVersion()}});writeConfigFile(_0x1cb873,_0x2db092);}function a149_0x24b1(){const _0x3b01cf=['Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','Project\x20name\x20contains\x20invalid\x20characters.','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','string','npm','8yZRFIB','...','4376784sJMdfO','trim','88AjirAo','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20√\x20Configuration\x20file\x20created','Cannot\x20create\x20project\x20in\x20current\x20directory.','10014liczmy','length','resolve','access','\x20\x20Pulling\x20API\x20configuration...','\x0a\x20\x20cd\x20','env','production','description','W_OK','belowMinimum','needsUpgrade','Check\x20directory\x20permissions.','\x20\x20√\x20Code\x20formatted','182546fDcrgJ','5767910jVEFyJ','225598gmcguf','chdir','Project\x20directory\x20\x22','\x22\x20already\x20exists.','utf-8','dirname','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','readFile','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\x20\x20Installing\x20dependencies...','\x20\x20√\x20package.json\x20updated','package.json','876MaiJXb','\x20created\x20successfully!','parse','stringify','toLocaleString','\x20\x20rabetbase\x20run\x20start\x0a','Project\x20name\x20cannot\x20be\x20empty.','48ozDkOb','join','validation','name','modelCount','writeFile','\x0a√\x20Project\x20','log','104WZvCRQ','constants','\x20dataset(s),\x20generated\x20','cwd','bun','\x20model(s)','998635ocdjFa','440307evrzaI'];a149_0x24b1=function(){return _0x3b01cf;};return a149_0x24b1();}async function pullApiConfig(_0x68a57b,_0x1b3ca1,_0x2f2c9b,_0x3fdd72){const _0x88df1=a149_0x24da,_0x36f512=process['cwd']();try{process[_0x88df1(0x140)](_0x68a57b);const _0x4c1167=_0x2f2c9b||_0x88df1(0x136);initEnv(_0x4c1167),console[_0x88df1(0x159)](_0x88df1(0x133));const {configArray:_0x5ecd2d}=await fetchModelList(_0x1b3ca1,_0x3fdd72||''),_0x1a431f=await generateApiFile(_0x5ecd2d,'',_0x1b3ca1,!![],_0x4c1167,DEFAULT_API_DIR);console[_0x88df1(0x159)]('\x20\x20√\x20Pulled\x20'+_0x5ecd2d[_0x88df1(0x130)]+_0x88df1(0x15c)+_0x1a431f[_0x88df1(0x156)]+_0x88df1(0x15f));}catch(_0x97bd6d){console[_0x88df1(0x159)](_0x88df1(0x145)+CLI_BIN_NAME+'\x20api\x20pull`\x20manually\x20later.');}finally{process[_0x88df1(0x140)](_0x36f512);}}
1
+ (function(_0x243b37,_0x493557){const _0x43256a=a149_0x4d32,_0x5aa4b0=_0x243b37();while(!![]){try{const _0x3287cd=parseInt(_0x43256a(0x1de))/0x1+parseInt(_0x43256a(0x1d2))/0x2+-parseInt(_0x43256a(0x1e9))/0x3*(-parseInt(_0x43256a(0x1f2))/0x4)+parseInt(_0x43256a(0x1d1))/0x5+parseInt(_0x43256a(0x1f0))/0x6+parseInt(_0x43256a(0x1f9))/0x7+-parseInt(_0x43256a(0x200))/0x8;if(_0x3287cd===_0x493557)break;else _0x5aa4b0['push'](_0x5aa4b0['shift']());}catch(_0x4e3832){_0x5aa4b0['push'](_0x5aa4b0['shift']());}}}(a149_0x2be0,0xc22e5));import a149_0x5d13c3 from'path';import a149_0x3b582e 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';function a149_0x2be0(){const _0x231de4=['\x20\x20rabetbase\x20run\x20start\x0a','trim','933186GbcsLH','name','4bSNKAC','\x20api\x20pull`\x20manually\x20later.','\x20\x20√\x20Configuration\x20file\x20created','production','\x20created\x20successfully!','\x20\x20√\x20Pulled\x20','constants','8183371wLRqgR','W_OK','env','needsUpgrade','Check\x20directory\x20permissions.','test','belowMinimum','29282784YjWTbn','toLocaleString','log','bun\x20run\x20format','\x22\x20already\x20exists.','bun','\x20\x20Pulling\x20API\x20configuration...','\x20\x20√\x20Code\x20formatted','\x20\x20√\x20Project\x20template\x20created','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','6110320snqhZb','957726iDoOLU','stringify','modelCount','readFile','\x20\x20√\x20package.json\x20updated','*\x20Creating\x20project\x20','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','package.json','Project\x20name\x20cannot\x20be\x20empty.','dirname','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','\x20\x20Installing\x20dependencies...','393844GaNYIb','validation','Use\x20a\x20different\x20project\x20name.','utf-8','\x0a√\x20Project\x20','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','string','\x0a\x20\x20cd\x20','npm','ignore','Cannot\x20create\x20project\x20in\x20current\x20directory.','3109074aqHIDV','cwd','resolve','join','chdir'];a149_0x2be0=function(){return _0x231de4;};return a149_0x2be0();}import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';function a149_0x4d32(_0xc85ef2,_0x1ed048){_0xc85ef2=_0xc85ef2-0x1c9;const _0x2be0ab=a149_0x2be0();let _0x4d32d9=_0x2be0ab[_0xc85ef2];return _0x4d32d9;}const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x1063e9,_0x559577,_0x72c409,_0xa741d6){const _0x131f49=a149_0x4d32,_0x5c0c89=await checkCliVersion();(_0x5c0c89[_0x131f49(0x1fc)]||_0x5c0c89[_0x131f49(0x1ff)])&&(printCliUpgradeWarning(_0x5c0c89),assertCliVersionSupported(_0x5c0c89));if(!_0x1063e9||_0x1063e9[_0x131f49(0x1ef)]()==='')throw CliErrors[_0x131f49(0x1df)](_0x131f49(0x1da));const _0x1a2a08=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x1a2a08[_0x131f49(0x1fe)](_0x1063e9))throw CliErrors[_0x131f49(0x1df)]('Project\x20name\x20contains\x20invalid\x20characters.',_0x131f49(0x1e3));if(_0x1063e9['length']>0x64)throw CliErrors[_0x131f49(0x1df)](_0x131f49(0x1dc));const _0x1e7f62=a149_0x5d13c3[_0x131f49(0x1eb)](process[_0x131f49(0x1ea)](),_0x1063e9);if(existsSync(_0x1e7f62))throw CliErrors['validation']('Project\x20directory\x20\x22'+_0x1063e9+_0x131f49(0x1cb),_0x131f49(0x1e0));try{const _0x3489e3=a149_0x5d13c3[_0x131f49(0x1db)](_0x1e7f62);await a149_0x3b582e['access'](_0x3489e3,a149_0x3b582e[_0x131f49(0x1f8)][_0x131f49(0x1fa)]);}catch{throw CliErrors['validation'](_0x131f49(0x1e8),_0x131f49(0x1fd));}try{console['log'](_0x131f49(0x1d7)+_0x1063e9+'...');const _0xfae0da=getSubAppReactDemoTemplateDir();await copyDirectory(_0xfae0da,_0x1e7f62),console[_0x131f49(0x1c9)](_0x131f49(0x1cf)),await updatePackageJsonName(_0x1063e9),console[_0x131f49(0x1c9)](_0x131f49(0x1d6)),console['log'](_0x131f49(0x1dd)),console['log'](_0x131f49(0x1d0)),await formatCode(_0x1e7f62),console[_0x131f49(0x1c9)](_0x131f49(0x1ce)),await configureProject(_0x1063e9,_0x72c409,_0x559577),console['log'](_0x131f49(0x1f4)),_0x72c409&&await pullApiConfig(_0x1e7f62,_0x72c409,_0x559577,_0xa741d6),console[_0x131f49(0x1c9)](_0x131f49(0x1e2)+_0x1063e9+_0x131f49(0x1f6)),console[_0x131f49(0x1c9)](_0x131f49(0x1e5)+_0x1063e9),console[_0x131f49(0x1c9)](_0x131f49(0x1ee));}catch(_0x179462){try{existsSync(_0x1e7f62)&&await a149_0x3b582e['rm'](_0x1e7f62,{'recursive':!![],'force':!![]});}catch{}throw _0x179462;}}async function updatePackageJsonName(_0x58525d){const _0x18dbb5=a149_0x4d32,_0x4e7ef8=a149_0x5d13c3[_0x18dbb5(0x1eb)](process[_0x18dbb5(0x1ea)](),_0x58525d),_0x2f761e=a149_0x5d13c3[_0x18dbb5(0x1ec)](_0x4e7ef8,_0x18dbb5(0x1d9)),_0x52544a=await a149_0x3b582e[_0x18dbb5(0x1d5)](_0x2f761e,_0x18dbb5(0x1e1)),_0x2553ae=JSON['parse'](_0x52544a);_0x2553ae[_0x18dbb5(0x1f1)]=_0x58525d,_0x2553ae['description']='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a149_0x3b582e['writeFile'](_0x2f761e,JSON[_0x18dbb5(0x1d3)](_0x2553ae,null,0x2)+'\x0a');}function detectPackageManager(){const _0x4bbebe=a149_0x4d32;try{return execSync('bun\x20--version',{'stdio':_0x4bbebe(0x1e7)}),_0x4bbebe(0x1cc);}catch{return _0x4bbebe(0x1e6);}}async function formatCode(_0x46ff68){const _0x58105e=a149_0x4d32;try{await execAsync(_0x58105e(0x1ca),{'cwd':_0x46ff68});}catch{}}async function configureProject(_0x2605ad,_0x8ec19e,_0x25a608){const _0x402499=a149_0x4d32,_0x1fef4b=a149_0x5d13c3['resolve'](process[_0x402499(0x1ea)](),_0x2605ad),_0x1fe183=a149_0x5d13c3[_0x402499(0x1ec)](_0x1fef4b,NEW_CONFIG_NAME),_0xd82628=readConfig(),_0x1b560d=typeof _0xd82628[_0x402499(0x1fb)]===_0x402499(0x1e4)?_0xd82628['env']:undefined,_0x1da4e4={};for(const _0x3bf738 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0xd82628[_0x3bf738]!=null)_0x1da4e4[_0x3bf738]=_0xd82628[_0x3bf738];}const _0x273a6b=buildCanonicalProjectConfig(_0x1da4e4,{'appCodes':_0x8ec19e?[_0x8ec19e]:[],'env':_0x25a608||_0x1b560d||_0x402499(0x1f5),'metadata':{'createdAt':new Date()[_0x402499(0x201)](),'version':getCliVersion()}});writeConfigFile(_0x1fe183,_0x273a6b);}async function pullApiConfig(_0x1afdad,_0xfbe8f6,_0x46b06e,_0x38417e){const _0x2b0efc=a149_0x4d32,_0x5cbd83=process[_0x2b0efc(0x1ea)]();try{process[_0x2b0efc(0x1ed)](_0x1afdad);const _0x2c4b14=_0x46b06e||'production';initEnv(_0x2c4b14),console['log'](_0x2b0efc(0x1cd));const {configArray:_0x1af588}=await fetchModelList(_0xfbe8f6,_0x38417e||''),_0x19b44c=await generateApiFile(_0x1af588,'',_0xfbe8f6,!![],_0x2c4b14,DEFAULT_API_DIR);console[_0x2b0efc(0x1c9)](_0x2b0efc(0x1f7)+_0x1af588['length']+'\x20dataset(s),\x20generated\x20'+_0x19b44c[_0x2b0efc(0x1d4)]+'\x20model(s)');}catch(_0x278ff2){console['log'](_0x2b0efc(0x1d8)+CLI_BIN_NAME+_0x2b0efc(0x1f3));}finally{process[_0x2b0efc(0x1ed)](_0x5cbd83);}}
@@ -1 +1 @@
1
- const a150_0x54837e=a150_0x36b0;(function(_0x12991e,_0x11be72){const _0x21f80a=a150_0x36b0,_0x1ca141=_0x12991e();while(!![]){try{const _0x4d6b8b=parseInt(_0x21f80a(0x1dd))/0x1+-parseInt(_0x21f80a(0x1e1))/0x2*(parseInt(_0x21f80a(0x1de))/0x3)+parseInt(_0x21f80a(0x1eb))/0x4+-parseInt(_0x21f80a(0x1e2))/0x5*(-parseInt(_0x21f80a(0x1e9))/0x6)+-parseInt(_0x21f80a(0x1df))/0x7+parseInt(_0x21f80a(0x1e0))/0x8+-parseInt(_0x21f80a(0x1ea))/0x9*(parseInt(_0x21f80a(0x1e8))/0xa);if(_0x4d6b8b===_0x11be72)break;else _0x1ca141['push'](_0x1ca141['shift']());}catch(_0x155d3c){_0x1ca141['push'](_0x1ca141['shift']());}}}(a150_0x4774,0x490c5));import a150_0x52bcca from'node:path';import{fileURLToPath}from'node:url';function a150_0x36b0(_0x4daa1b,_0x75306c){_0x4daa1b=_0x4daa1b-0x1dc;const _0x477449=a150_0x4774();let _0x36b000=_0x477449[_0x4daa1b];return _0x36b000;}function a150_0x4774(){const _0xca6a9a=['3244605chdWyH','4786576nHKXfW','14886ghXZrY','60IqcVhT','../../../../','dirname','templates','projects','sub-app-react-demo','210230qjBiff','152094LvSKQB','234pLhkXd','1934748NuMJeI','join','64538uBVjkC','57bkFfyU'];a150_0x4774=function(){return _0xca6a9a;};return a150_0x4774();}const __dirname=a150_0x52bcca[a150_0x54837e(0x1e4)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x550bdf=a150_0x54837e;return a150_0x52bcca['resolve'](__dirname,_0x550bdf(0x1e3));}export function getSubAppReactDemoTemplateDir(){const _0x52875d=a150_0x54837e;return a150_0x52bcca[_0x52875d(0x1dc)](getRabetbaseCliPackageRoot(),_0x52875d(0x1e5),_0x52875d(0x1e6),_0x52875d(0x1e7));}
1
+ const a150_0x3efeb5=a150_0xa533;(function(_0x3ece89,_0x4b5b48){const _0x1a038d=a150_0xa533,_0x351b73=_0x3ece89();while(!![]){try{const _0x3ec61c=-parseInt(_0x1a038d(0x14d))/0x1+-parseInt(_0x1a038d(0x145))/0x2*(-parseInt(_0x1a038d(0x146))/0x3)+parseInt(_0x1a038d(0x144))/0x4*(parseInt(_0x1a038d(0x14b))/0x5)+-parseInt(_0x1a038d(0x14c))/0x6+-parseInt(_0x1a038d(0x143))/0x7+-parseInt(_0x1a038d(0x14a))/0x8+parseInt(_0x1a038d(0x14e))/0x9;if(_0x3ec61c===_0x4b5b48)break;else _0x351b73['push'](_0x351b73['shift']());}catch(_0x2de09e){_0x351b73['push'](_0x351b73['shift']());}}}(a150_0x5525,0x53cae));function a150_0xa533(_0x5cb6aa,_0x5f5520){_0x5cb6aa=_0x5cb6aa-0x143;const _0x5525de=a150_0x5525();let _0xa53337=_0x5525de[_0x5cb6aa];return _0xa53337;}import a150_0x2f0c87 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a150_0x2f0c87[a150_0x3efeb5(0x14f)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x59d674=a150_0x3efeb5;return a150_0x2f0c87['resolve'](__dirname,_0x59d674(0x148));}function a150_0x5525(){const _0x16aa1d=['1775742Nmmcnz','258905KoFNhT','6073776ItMDme','dirname','2544388vRkCFG','92180dJyAJB','27876gTpbCa','69gsZThx','templates','../../../../','projects','3033104RHKwHD','140eUEkNd'];a150_0x5525=function(){return _0x16aa1d;};return a150_0x5525();}export function getSubAppReactDemoTemplateDir(){const _0x318d90=a150_0x3efeb5;return a150_0x2f0c87['join'](getRabetbaseCliPackageRoot(),_0x318d90(0x147),_0x318d90(0x149),'sub-app-react-demo');}
@@ -1 +1 @@
1
- (function(_0xc704dc,_0x137a6e){const _0x17e744=a151_0x1529,_0x57c7b6=_0xc704dc();while(!![]){try{const _0x5b1ebb=parseInt(_0x17e744(0x143))/0x1*(-parseInt(_0x17e744(0x13c))/0x2)+parseInt(_0x17e744(0x141))/0x3+-parseInt(_0x17e744(0x13e))/0x4*(-parseInt(_0x17e744(0x135))/0x5)+parseInt(_0x17e744(0x13b))/0x6+-parseInt(_0x17e744(0x13d))/0x7+-parseInt(_0x17e744(0x140))/0x8+parseInt(_0x17e744(0x132))/0x9*(parseInt(_0x17e744(0x131))/0xa);if(_0x5b1ebb===_0x137a6e)break;else _0x57c7b6['push'](_0x57c7b6['shift']());}catch(_0x27e4b2){_0x57c7b6['push'](_0x57c7b6['shift']());}}}(a151_0x3606,0xb84be));import a151_0x1f0721 from'node:path';function a151_0x3606(){const _0x574941=['179649AUOwes','377860GcuXzR','522tsVRam','now','success','27485adcGiE','项目模板复制失败','info','项目模板复制完成','cwd','copy','1158384sVlKmR','12cMgiOs','8122779mHmviy','744bOitcQ','message','10110320xGriEK','2549595wwQNqY','error'];a151_0x3606=function(){return _0x574941;};return a151_0x3606();}import{copyDirectory}from'../../../utils/copy-directory.js';function a151_0x1529(_0x66bffc,_0x43eb99){_0x66bffc=_0x66bffc-0x131;const _0x36064a=a151_0x3606();let _0x1529d3=_0x36064a[_0x66bffc];return _0x1529d3;}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(_0x5161ad){const _0x13bf4e=a151_0x1529,_0x5d7f94=Date[_0x13bf4e(0x133)](),_0x25cf88=a151_0x1f0721['resolve'](process[_0x13bf4e(0x139)](),_0x5161ad);try{logger[_0x13bf4e(0x137)](_0x13bf4e(0x13a),'开始复制项目模板',{'projectCode':_0x5161ad,'templateDir':templateDir}),await copyDirectory(templateDir,_0x25cf88);const _0x174f5b=Date[_0x13bf4e(0x133)]()-_0x5d7f94;logger[_0x13bf4e(0x134)](_0x13bf4e(0x13a),_0x13bf4e(0x138),_0x174f5b,{'projectCode':_0x5161ad});}catch(_0x5617de){const _0x10bcbb=Date['now']()-_0x5d7f94;logger[_0x13bf4e(0x142)]('copy',_0x13bf4e(0x136),{'projectCode':_0x5161ad,'error':_0x5617de instanceof Error?_0x5617de[_0x13bf4e(0x13f)]:String(_0x5617de),'duration':_0x10bcbb});throw _0x5617de;}return formatElapsed(_0x5d7f94);}
1
+ (function(_0x3712c5,_0x5334db){const _0x32f3e4=a151_0x13d2,_0x54bae6=_0x3712c5();while(!![]){try{const _0x4c1e81=-parseInt(_0x32f3e4(0x19e))/0x1+-parseInt(_0x32f3e4(0x19f))/0x2*(parseInt(_0x32f3e4(0x1ab))/0x3)+-parseInt(_0x32f3e4(0x1a4))/0x4+parseInt(_0x32f3e4(0x1a8))/0x5+-parseInt(_0x32f3e4(0x1a3))/0x6+-parseInt(_0x32f3e4(0x1a5))/0x7*(-parseInt(_0x32f3e4(0x1a6))/0x8)+parseInt(_0x32f3e4(0x1ac))/0x9;if(_0x4c1e81===_0x5334db)break;else _0x54bae6['push'](_0x54bae6['shift']());}catch(_0x4c199e){_0x54bae6['push'](_0x54bae6['shift']());}}}(a151_0x473a,0x52c1e));import a151_0x187a95 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a151_0x473a(){const _0x5c4132=['413436rSclCp','16210512qUvILB','项目模板复制完成','success','开始复制项目模板','657171doUsrF','4zIVQSi','copy','resolve','cwd','2856570PbREgg','2006692dRRiXP','11256LlXblR','1360gPpQiu','message','875045PiqYCd','now','info'];a151_0x473a=function(){return _0x5c4132;};return a151_0x473a();}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();function a151_0x13d2(_0x35491d,_0x277ab5){_0x35491d=_0x35491d-0x19c;const _0x473a0b=a151_0x473a();let _0x13d21f=_0x473a0b[_0x35491d];return _0x13d21f;}export async function copyProjectTemplate(_0x2586ca){const _0x23f059=a151_0x13d2,_0x1fd49d=Date[_0x23f059(0x1a9)](),_0x5cff3c=a151_0x187a95[_0x23f059(0x1a1)](process[_0x23f059(0x1a2)](),_0x2586ca);try{logger[_0x23f059(0x1aa)](_0x23f059(0x1a0),_0x23f059(0x19d),{'projectCode':_0x2586ca,'templateDir':templateDir}),await copyDirectory(templateDir,_0x5cff3c);const _0x3a67bc=Date['now']()-_0x1fd49d;logger[_0x23f059(0x19c)](_0x23f059(0x1a0),_0x23f059(0x1ad),_0x3a67bc,{'projectCode':_0x2586ca});}catch(_0x1d0b27){const _0x4292be=Date[_0x23f059(0x1a9)]()-_0x1fd49d;logger['error']('copy','项目模板复制失败',{'projectCode':_0x2586ca,'error':_0x1d0b27 instanceof Error?_0x1d0b27[_0x23f059(0x1a7)]:String(_0x1d0b27),'duration':_0x4292be});throw _0x1d0b27;}return formatElapsed(_0x1fd49d);}
@@ -1 +1 @@
1
- (function(_0x2959d9,_0x30439b){const _0x2ba859=a152_0xcca9,_0x4bf97f=_0x2959d9();while(!![]){try{const _0x5d5d8c=-parseInt(_0x2ba859(0x9e))/0x1+parseInt(_0x2ba859(0xa1))/0x2*(-parseInt(_0x2ba859(0x9a))/0x3)+parseInt(_0x2ba859(0x9b))/0x4+parseInt(_0x2ba859(0x98))/0x5+-parseInt(_0x2ba859(0x9c))/0x6*(parseInt(_0x2ba859(0xa2))/0x7)+parseInt(_0x2ba859(0xa4))/0x8*(-parseInt(_0x2ba859(0x9f))/0x9)+parseInt(_0x2ba859(0xa7))/0xa*(parseInt(_0x2ba859(0xa3))/0xb);if(_0x5d5d8c===_0x30439b)break;else _0x4bf97f['push'](_0x4bf97f['shift']());}catch(_0x5ef08d){_0x4bf97f['push'](_0x4bf97f['shift']());}}}(a152_0x1256,0xcd4fb));import a152_0x17ebc9 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a152_0x1256(){const _0x5ceb58=['message','1604582gixagl','5132596uwfkTk','22nQMDZL','12505144YBsHGk','now','success','17708370zDOign','format','npx','info','cwd','5208045GqfNiM','代码格式化失败','6hDvxfG','2669752wQNvZv','6wHiXgU','prettier','508813ZLlCJG','9uRPeYo'];a152_0x1256=function(){return _0x5ceb58;};return a152_0x1256();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a152_0xcca9(_0x5e5efe,_0x552922){_0x5e5efe=_0x5e5efe-0x97;const _0x125600=a152_0x1256();let _0xcca986=_0x125600[_0x5e5efe];return _0xcca986;}export async function formatProjectCode(_0x1c99fe){const _0x286b5f=a152_0xcca9,_0x339861=Date[_0x286b5f(0xa5)](),_0x528c6a=a152_0x17ebc9['resolve'](process[_0x286b5f(0x97)](),_0x1c99fe);try{logger[_0x286b5f(0xaa)](_0x286b5f(0xa8),'开始格式化代码',{'projectCode':_0x1c99fe}),await execa(resolveNpmBin(_0x286b5f(0xa9)),[_0x286b5f(0x9d),'--write','.'],{'cwd':_0x528c6a});const _0x51fb0c=Date['now']()-_0x339861;logger[_0x286b5f(0xa6)](_0x286b5f(0xa8),'代码格式化完成',_0x51fb0c,{'projectCode':_0x1c99fe});}catch(_0x417176){const _0x516240=Date['now']()-_0x339861;logger['error'](_0x286b5f(0xa8),_0x286b5f(0x99),{'projectCode':_0x1c99fe,'error':_0x417176 instanceof Error?_0x417176[_0x286b5f(0xa0)]:String(_0x417176),'duration':_0x516240});throw _0x417176;}return formatElapsed(_0x339861);}
1
+ (function(_0x41c252,_0xdc246f){const _0x2c1450=a152_0x1eb9,_0x2ddf3e=_0x41c252();while(!![]){try{const _0x4e620b=parseInt(_0x2c1450(0x17d))/0x1*(-parseInt(_0x2c1450(0x185))/0x2)+parseInt(_0x2c1450(0x184))/0x3+-parseInt(_0x2c1450(0x181))/0x4+parseInt(_0x2c1450(0x17e))/0x5+-parseInt(_0x2c1450(0x187))/0x6+-parseInt(_0x2c1450(0x189))/0x7*(parseInt(_0x2c1450(0x18a))/0x8)+parseInt(_0x2c1450(0x17c))/0x9;if(_0x4e620b===_0xdc246f)break;else _0x2ddf3e['push'](_0x2ddf3e['shift']());}catch(_0x21a865){_0x2ddf3e['push'](_0x2ddf3e['shift']());}}}(a152_0x208b,0xaab02));function a152_0x208b(){const _0x4760a7=['now','success','prettier','error','info','message','14579577PfZPxp','4646dMnmie','22105FmjKOS','npx','代码格式化失败','998600FfQAtS','开始格式化代码','resolve','3290085rpVSHn','190nafsSu','cwd','726486jtMXwf','format','25130yZaRfO','2696OMLETN'];a152_0x208b=function(){return _0x4760a7;};return a152_0x208b();}function a152_0x1eb9(_0x39d2eb,_0x5174b9){_0x39d2eb=_0x39d2eb-0x17c;const _0x208b09=a152_0x208b();let _0x1eb9d5=_0x208b09[_0x39d2eb];return _0x1eb9d5;}import a152_0x167ae3 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 formatProjectCode(_0x1140c9){const _0x22be03=a152_0x1eb9,_0xceced2=Date[_0x22be03(0x18b)](),_0x119b9c=a152_0x167ae3[_0x22be03(0x183)](process[_0x22be03(0x186)](),_0x1140c9);try{logger[_0x22be03(0x18f)](_0x22be03(0x188),_0x22be03(0x182),{'projectCode':_0x1140c9}),await execa(resolveNpmBin(_0x22be03(0x17f)),[_0x22be03(0x18d),'--write','.'],{'cwd':_0x119b9c});const _0x33e248=Date[_0x22be03(0x18b)]()-_0xceced2;logger[_0x22be03(0x18c)](_0x22be03(0x188),'代码格式化完成',_0x33e248,{'projectCode':_0x1140c9});}catch(_0x25bb86){const _0x314554=Date[_0x22be03(0x18b)]()-_0xceced2;logger[_0x22be03(0x18e)]('format',_0x22be03(0x180),{'projectCode':_0x1140c9,'error':_0x25bb86 instanceof Error?_0x25bb86[_0x22be03(0x190)]:String(_0x25bb86),'duration':_0x314554});throw _0x25bb86;}return formatElapsed(_0xceced2);}
@@ -1 +1 @@
1
- (function(_0x32a0b9,_0x2ca282){const _0x3087d1=a153_0x4b53,_0x3f2585=_0x32a0b9();while(!![]){try{const _0x317f22=parseInt(_0x3087d1(0x1e3))/0x1*(parseInt(_0x3087d1(0x1e1))/0x2)+-parseInt(_0x3087d1(0x1e4))/0x3+-parseInt(_0x3087d1(0x1df))/0x4*(-parseInt(_0x3087d1(0x1ea))/0x5)+-parseInt(_0x3087d1(0x1e8))/0x6*(-parseInt(_0x3087d1(0x1f1))/0x7)+parseInt(_0x3087d1(0x1f3))/0x8+parseInt(_0x3087d1(0x1e5))/0x9*(parseInt(_0x3087d1(0x1e2))/0xa)+parseInt(_0x3087d1(0x1eb))/0xb*(-parseInt(_0x3087d1(0x1ec))/0xc);if(_0x317f22===_0x2ca282)break;else _0x3f2585['push'](_0x3f2585['shift']());}catch(_0x12683e){_0x3f2585['push'](_0x3f2585['shift']());}}}(a153_0x9172,0xf0694));import a153_0x1adbd6 from'node:path';import{execa}from'execa';function a153_0x9172(){const _0x288a77=['now','105PTLYkU','https://registry.npmmirror.com','12013392NNXQfY','info','依赖安装失败','resolve','4unjKkX','error','2ryyFMB','909710zfZakj','916127FQycYv','4935126kWpheS','117WEgnZx','success','--registry','190770rsaQUo','依赖安装完成','8167090LetWPZ','33891011FiqVej','12hGpLJK','开始安装依赖','message','install'];a153_0x9172=function(){return _0x288a77;};return a153_0x9172();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a153_0x4b53(_0x5129b6,_0x1f8957){_0x5129b6=_0x5129b6-0x1dd;const _0x9172c2=a153_0x9172();let _0x4b53ff=_0x9172c2[_0x5129b6];return _0x4b53ff;}import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x449449){const _0x1c655f=a153_0x4b53,_0x3348d4=Date[_0x1c655f(0x1f0)](),_0x2addc1=a153_0x1adbd6[_0x1c655f(0x1de)](process['cwd'](),_0x449449);try{logger[_0x1c655f(0x1f4)](_0x1c655f(0x1ef),_0x1c655f(0x1ed),{'projectCode':_0x449449,'registry':_0x1c655f(0x1f2)}),await execa(resolveNpmBin('npm'),['install',_0x1c655f(0x1e7),_0x1c655f(0x1f2)],{'cwd':_0x2addc1});const _0x45f011=Date['now']()-_0x3348d4;logger[_0x1c655f(0x1e6)](_0x1c655f(0x1ef),_0x1c655f(0x1e9),_0x45f011,{'projectCode':_0x449449});}catch(_0x5d9216){const _0x32cab6=Date[_0x1c655f(0x1f0)]()-_0x3348d4;logger[_0x1c655f(0x1e0)]('install',_0x1c655f(0x1dd),{'projectCode':_0x449449,'error':_0x5d9216 instanceof Error?_0x5d9216[_0x1c655f(0x1ee)]:String(_0x5d9216),'duration':_0x32cab6});throw _0x5d9216;}return formatElapsed(_0x3348d4);}
1
+ (function(_0x10baa4,_0x59723d){const _0x19548a=a153_0xd9ed,_0x8712f1=_0x10baa4();while(!![]){try{const _0x1b9c3d=-parseInt(_0x19548a(0xc7))/0x1+parseInt(_0x19548a(0xc9))/0x2+parseInt(_0x19548a(0xce))/0x3+-parseInt(_0x19548a(0xd3))/0x4+parseInt(_0x19548a(0xc2))/0x5+-parseInt(_0x19548a(0xcc))/0x6*(parseInt(_0x19548a(0xd1))/0x7)+parseInt(_0x19548a(0xd2))/0x8;if(_0x1b9c3d===_0x59723d)break;else _0x8712f1['push'](_0x8712f1['shift']());}catch(_0x275ab3){_0x8712f1['push'](_0x8712f1['shift']());}}}(a153_0x3493,0x9bb4a));import a153_0x5195de from'node:path';function a153_0x3493(){const _0x1be935=['resolve','now','error','412571VnJpwc','npm','1226032YMLebe','install','--registry','103506VYCKJi','依赖安装完成','737499gayhlL','https://registry.npmmirror.com','info','175JwCIra','8635184WLYHqJ','5077356gvzdYE','开始安装依赖','4063540hCAvbZ','cwd'];a153_0x3493=function(){return _0x1be935;};return a153_0x3493();}function a153_0xd9ed(_0x341461,_0x26ff66){_0x341461=_0x341461-0xc2;const _0x349346=a153_0x3493();let _0xd9eda0=_0x349346[_0x341461];return _0xd9eda0;}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(_0x146029){const _0x4712cc=a153_0xd9ed,_0x34c498=Date['now'](),_0x5fb5a7=a153_0x5195de[_0x4712cc(0xc4)](process[_0x4712cc(0xc3)](),_0x146029);try{logger[_0x4712cc(0xd0)](_0x4712cc(0xca),_0x4712cc(0xd4),{'projectCode':_0x146029,'registry':'https://registry.npmmirror.com'}),await execa(resolveNpmBin(_0x4712cc(0xc8)),[_0x4712cc(0xca),_0x4712cc(0xcb),_0x4712cc(0xcf)],{'cwd':_0x5fb5a7});const _0x2d3569=Date['now']()-_0x34c498;logger['success'](_0x4712cc(0xca),_0x4712cc(0xcd),_0x2d3569,{'projectCode':_0x146029});}catch(_0x5af51b){const _0x35dc42=Date[_0x4712cc(0xc5)]()-_0x34c498;logger[_0x4712cc(0xc6)](_0x4712cc(0xca),'依赖安装失败',{'projectCode':_0x146029,'error':_0x5af51b instanceof Error?_0x5af51b['message']:String(_0x5af51b),'duration':_0x35dc42});throw _0x5af51b;}return formatElapsed(_0x34c498);}
@@ -1 +1 @@
1
- const a154_0x12b974=a154_0x1f20;(function(_0x5e07c0,_0x530072){const _0x42724c=a154_0x1f20,_0x2e8891=_0x5e07c0();while(!![]){try{const _0x109235=parseInt(_0x42724c(0xce))/0x1+-parseInt(_0x42724c(0xdf))/0x2*(parseInt(_0x42724c(0xd6))/0x3)+parseInt(_0x42724c(0xd1))/0x4*(-parseInt(_0x42724c(0xc2))/0x5)+-parseInt(_0x42724c(0xc8))/0x6+-parseInt(_0x42724c(0xbf))/0x7+parseInt(_0x42724c(0xe0))/0x8+parseInt(_0x42724c(0xc1))/0x9*(parseInt(_0x42724c(0xc4))/0xa);if(_0x109235===_0x530072)break;else _0x2e8891['push'](_0x2e8891['shift']());}catch(_0x379f0c){_0x2e8891['push'](_0x2e8891['shift']());}}}(a154_0x4b7f,0x58430));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 a154_0x4b7f(){const _0x7915e5=['upgrade','appcode','535608DzgZJQ','str','2026-07','344636afsXsq','\x20workspace\x20init','create','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','cookie','2150046zxarfJ','yes','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','boolean','bool','../../commands/project/create/main.js','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','../../commands/project/create/non-interactive.js','nonInteractive','2PDuXLV','2643968KCMyBL','string','Usage:\x20','validation','trim','Create\x20a\x20new\x20project','Project\x20name','env','3949393JaIiTC','name','9sJpZlr','5nVjyWC','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','11618410zLNsDN','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Target\x20environment','write','1796310AOZmyv','init','project','Skip\x20confirmation\x20prompt'];a154_0x4b7f=function(){return _0x7915e5;};return a154_0x4b7f();}function a154_0x1f20(_0x2a00be,_0x347a3c){_0x2a00be=_0x2a00be-0xbe;const _0x4b7f58=a154_0x4b7f();let _0x1f2000=_0x4b7f58[_0x2a00be];return _0x1f2000;}const initFlags=[{'name':a154_0x12b974(0xcd),'type':a154_0x12b974(0xe1),'description':'App\x20code\x20to\x20initialize'},{'name':a154_0x12b974(0xbe),'type':a154_0x12b974(0xe1),'description':a154_0x12b974(0xc6)},{'name':a154_0x12b974(0xd7),'type':a154_0x12b974(0xd9),'description':'Auto-confirm\x20prompts','default':![]}],createFlags=[{'name':'name','type':a154_0x12b974(0xe1),'description':a154_0x12b974(0xe6)},{'name':a154_0x12b974(0xbe),'type':a154_0x12b974(0xe1),'description':a154_0x12b974(0xc6)},{'name':a154_0x12b974(0xcd),'type':'string','description':a154_0x12b974(0xd8)}],upgradeFlags=[{'name':a154_0x12b974(0xd7),'type':a154_0x12b974(0xd9),'description':a154_0x12b974(0xcb),'default':![]}];export const projectDefinitions=[{'service':'project','command':a154_0x12b974(0xc9),'description':a154_0x12b974(0xc3),'risk':a154_0x12b974(0xc7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a154_0x12b974(0xd2),'since':a154_0x12b974(0xd0)},'flags':initFlags,async 'execute'(_0x27fd21){const _0x1d40c3=a154_0x12b974;return await initConfig({'appcode':_0x27fd21[_0x1d40c3(0xcf)]('appcode')||undefined,'env':_0x27fd21[_0x1d40c3(0xcf)]('env')||undefined,'autoYes':_0x27fd21[_0x1d40c3(0xda)](_0x1d40c3(0xd7))}),{'ok':!![]};}},{'service':a154_0x12b974(0xca),'command':a154_0x12b974(0xd3),'description':a154_0x12b974(0xe5),'risk':a154_0x12b974(0xc7),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x1b8403){const _0x11f18d=a154_0x12b974,{createApp:_0x2c58a8}=await import(_0x11f18d(0xdb)),{createProjectNonInteractive:_0x22d33a}=await import(_0x11f18d(0xdd)),_0x58f11c=_0x1b8403[_0x11f18d(0xcf)](_0x11f18d(0xc0))[_0x11f18d(0xe4)]()||_0x1b8403['args'][0x0]?.[_0x11f18d(0xe4)](),_0x3caba7=_0x1b8403['str'](_0x11f18d(0xbe))||undefined,_0x4f1460=_0x1b8403[_0x11f18d(0xcf)](_0x11f18d(0xcd))||undefined;if(_0x1b8403['nonInteractive']){if(!_0x58f11c)throw CliErrors[_0x11f18d(0xe3)](_0x11f18d(0xc5),_0x11f18d(0xe2)+CLI_BIN_NAME+_0x11f18d(0xd4));await _0x22d33a(_0x58f11c,_0x3caba7,_0x4f1460,_0x1b8403[_0x11f18d(0xd5)]);}else await _0x2c58a8({'projectCode':_0x58f11c,'appCode':_0x4f1460,'env':_0x3caba7,'cookie':_0x1b8403[_0x11f18d(0xd5)]});return{'ok':!![]};}},{'service':a154_0x12b974(0xca),'command':a154_0x12b974(0xcc),'description':a154_0x12b974(0xdc),'risk':a154_0x12b974(0xc7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x2b13b3){const _0x59d9f2=a154_0x12b974;return await upgradeApp(_0x2b13b3[_0x59d9f2(0xde)],{'yes':_0x2b13b3[_0x59d9f2(0xda)](_0x59d9f2(0xd7))}),{'ok':!![]};}}];
1
+ const a154_0x5e56bc=a154_0x4a3a;(function(_0x4a204b,_0x2a347d){const _0x3adc41=a154_0x4a3a,_0xd7540a=_0x4a204b();while(!![]){try{const _0x2b4885=parseInt(_0x3adc41(0x10f))/0x1+parseInt(_0x3adc41(0x10e))/0x2*(parseInt(_0x3adc41(0xf1))/0x3)+-parseInt(_0x3adc41(0x108))/0x4*(parseInt(_0x3adc41(0xf6))/0x5)+-parseInt(_0x3adc41(0x103))/0x6+-parseInt(_0x3adc41(0x113))/0x7+-parseInt(_0x3adc41(0x104))/0x8*(-parseInt(_0x3adc41(0x106))/0x9)+parseInt(_0x3adc41(0xf2))/0xa*(parseInt(_0x3adc41(0x110))/0xb);if(_0x2b4885===_0x2a347d)break;else _0xd7540a['push'](_0xd7540a['shift']());}catch(_0x8dd4c7){_0xd7540a['push'](_0xd7540a['shift']());}}}(a154_0xc4dc,0xbe14c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';function a154_0xc4dc(){const _0x21465b=['boolean','5fHgtMR','appcode','Skip\x20confirmation\x20prompt','nonInteractive','Usage:\x20','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','App\x20code\x20to\x20initialize','trim','str','Auto-confirm\x20prompts','bool','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','project','4345680vkTIAx','1039160XYWbOU','string','99YSnvXK','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','1315012dNBBUx','upgrade','args','yes','Create\x20a\x20new\x20project','write','318298Kdgrrq','202271UqlSNn','69487hKEvLX','create','cookie','6255032RKBkmE','name','validation','Target\x20environment','2026-07','3VZMNLx','1480NAhStl','project-name','env'];a154_0xc4dc=function(){return _0x21465b;};return a154_0xc4dc();}function a154_0x4a3a(_0x35fbd1,_0x24360c){_0x35fbd1=_0x35fbd1-0xf1;const _0xc4dce7=a154_0xc4dc();let _0x4a3ab5=_0xc4dce7[_0x35fbd1];return _0x4a3ab5;}import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a154_0x5e56bc(0xf7),'type':'string','description':a154_0x5e56bc(0xfc)},{'name':a154_0x5e56bc(0xf4),'type':a154_0x5e56bc(0x105),'description':a154_0x5e56bc(0x116)},{'name':a154_0x5e56bc(0x10b),'type':'boolean','description':a154_0x5e56bc(0xff),'default':![]}],createFlags=[{'name':a154_0x5e56bc(0x114),'type':a154_0x5e56bc(0x105),'description':'Project\x20name'},{'name':a154_0x5e56bc(0xf4),'type':'string','description':a154_0x5e56bc(0x116)},{'name':'appcode','type':'string','description':a154_0x5e56bc(0xfb)}],upgradeFlags=[{'name':a154_0x5e56bc(0x10b),'type':a154_0x5e56bc(0xf5),'description':a154_0x5e56bc(0xf8),'default':![]}];export const projectDefinitions=[{'service':a154_0x5e56bc(0x102),'command':'init','description':'Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a154_0x5e56bc(0x10d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+'\x20workspace\x20init','since':a154_0x5e56bc(0x117)},'flags':initFlags,async 'execute'(_0x3f21b3){const _0x3702b7=a154_0x5e56bc;return await initConfig({'appcode':_0x3f21b3['str'](_0x3702b7(0xf7))||undefined,'env':_0x3f21b3[_0x3702b7(0xfe)]('env')||undefined,'autoYes':_0x3f21b3[_0x3702b7(0x100)](_0x3702b7(0x10b))}),{'ok':!![]};}},{'service':a154_0x5e56bc(0x102),'command':a154_0x5e56bc(0x111),'description':a154_0x5e56bc(0x10c),'risk':a154_0x5e56bc(0x10d),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a154_0x5e56bc(0xf3),'description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x4e1580){const _0x57231d=a154_0x5e56bc,{createApp:_0x4732bb}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x4b441f}=await import('../../commands/project/create/non-interactive.js'),_0x3743e6=_0x4e1580[_0x57231d(0xfe)](_0x57231d(0x114))['trim']()||_0x4e1580[_0x57231d(0x10a)][0x0]?.[_0x57231d(0xfd)](),_0x27ef56=_0x4e1580[_0x57231d(0xfe)](_0x57231d(0xf4))||undefined,_0x5b5f54=_0x4e1580[_0x57231d(0xfe)](_0x57231d(0xf7))||undefined;if(_0x4e1580[_0x57231d(0xf9)]){if(!_0x3743e6)throw CliErrors[_0x57231d(0x115)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x57231d(0xfa)+CLI_BIN_NAME+_0x57231d(0x101));await _0x4b441f(_0x3743e6,_0x27ef56,_0x5b5f54,_0x4e1580[_0x57231d(0x112)]);}else await _0x4732bb({'projectCode':_0x3743e6,'appCode':_0x5b5f54,'env':_0x27ef56,'cookie':_0x4e1580['cookie']});return{'ok':!![]};}},{'service':'project','command':a154_0x5e56bc(0x109),'description':a154_0x5e56bc(0x107),'risk':a154_0x5e56bc(0x10d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3658f3){const _0x41800c=a154_0x5e56bc;return await upgradeApp(_0x3658f3['nonInteractive'],{'yes':_0x3658f3[_0x41800c(0x100)]('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x18a600,_0x376f24){const _0x5e3b45=a155_0x53a2,_0x35f8e1=_0x18a600();while(!![]){try{const _0x129cab=-parseInt(_0x5e3b45(0xdd))/0x1+-parseInt(_0x5e3b45(0xe2))/0x2+-parseInt(_0x5e3b45(0xf9))/0x3*(-parseInt(_0x5e3b45(0x102))/0x4)+-parseInt(_0x5e3b45(0xe4))/0x5+parseInt(_0x5e3b45(0xe3))/0x6*(-parseInt(_0x5e3b45(0xde))/0x7)+-parseInt(_0x5e3b45(0xe1))/0x8+parseInt(_0x5e3b45(0xed))/0x9*(parseInt(_0x5e3b45(0xf7))/0xa);if(_0x129cab===_0x376f24)break;else _0x35f8e1['push'](_0x35f8e1['shift']());}catch(_0x93363e){_0x35f8e1['push'](_0x35f8e1['shift']());}}}(a155_0x10a2,0xdaeed));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a155_0x53a2(_0x2d3ca7,_0x19f4d9){_0x2d3ca7=_0x2d3ca7-0xd5;const _0x10a28d=a155_0x10a2();let _0x53a2b0=_0x10a28d[_0x2d3ca7];return _0x53a2b0;}import a155_0x16fd3e from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a155_0x10a2(){const _0x296df0=['Invalid\x20App\x20Code','info','defaultApp','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','keys','\x20api\x20generate\x27\x20and\x20\x27','从旧配置文件升级成功','832165qaMEBs','14OaOwPn','cwd','join','11516416olKjwl','1158946uNdZIK','1138884ZBoKPs','7441025rVtbQh','初始化项目配置文件成功','Migration\x20cancelled.\x20Run\x20`','App\x20Code\x20cannot\x20be\x20empty','\x20→\x20.rabetbase.json','\x20api\x20pull\x27','log','parse','green','5026527kPdySf','\x20\x20appcode:\x20','version','\x20\x20Default:\x20','Upgrade\x20it\x20to\x20','production','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','apps','1.0.0','string','70vULxhq','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','3QzVXaJ','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','bold','\x20workspace\x20init`\x20to\x20start\x20fresh.','appcode','?\x20(Old\x20file\x20→\x20*.bak)','cyan','setLogPath','.rabetbase.json','6825004onOnQc','\x20\x20Apps:\x20','env','.bak','trim','✓\x20Upgraded\x20','toLocaleString','package.json','utf8','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','init','app'];a155_0x10a2=function(){return _0x296df0;};return a155_0x10a2();}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(_0x4ea836){const _0x3e4833=a155_0x53a2,{appcode:_0x54f79d,env:_0x2f7343,autoYes:_0x318827}=_0x4ea836,_0x5cbe8f=process[_0x3e4833(0xdf)]();if(getProjectConfigPath())throw new Error(_0x3e4833(0xd9));let _0x242987;for(const _0x2b7861 of LEGACY_CONFIG_NAMES){const _0x2e6fb7=resolve(_0x5cbe8f,_0x2b7861);if(existsSync(_0x2e6fb7)){_0x242987=_0x2e6fb7;break;}}if(_0x242987){let _0x346d9d={};try{_0x346d9d=JSON[_0x3e4833(0xeb)](readFileSync(_0x242987,_0x3e4833(0x10a)));}catch{}const _0x5905cf=basename(_0x242987),_0x496749=_0x346d9d?.[_0x3e4833(0xfd)]||_0x346d9d?.[_0x3e4833(0xd5)];let _0x2279f2=_0x318827;!_0x318827&&(console['log'](a155_0x16fd3e['yellow'](_0x3e4833(0xf8)+a155_0x16fd3e[_0x3e4833(0xfb)](_0x5905cf))),_0x496749&&console[_0x3e4833(0xea)](a155_0x16fd3e['cyan'](_0x3e4833(0xee)+_0x496749)),_0x2279f2=await confirm({'message':_0x3e4833(0xf1)+a155_0x16fd3e[_0x3e4833(0xfb)](_0x3e4833(0x101))+_0x3e4833(0xfe),'default':!![]}));if(!_0x2279f2){console[_0x3e4833(0xea)](_0x3e4833(0xe6)+CLI_BIN_NAME+_0x3e4833(0xfc));return;}const _0x4faf93=resolve(_0x5cbe8f,NEW_CONFIG_NAME),_0x290010=getCliVersionFromPkg(),_0x49106d=readRawConfig(),_0x53b470=_0x54f79d||(typeof _0x346d9d?.[_0x3e4833(0xfd)]===_0x3e4833(0xf6)?_0x346d9d['appcode']:undefined)||(typeof _0x346d9d?.[_0x3e4833(0xd5)]===_0x3e4833(0xf6)?_0x346d9d[_0x3e4833(0xd5)]:undefined)||await askAppcode(),_0x1c8654=typeof _0x346d9d?.['env']===_0x3e4833(0xf6)?_0x346d9d['env']:typeof _0x49106d[_0x3e4833(0x104)]==='string'?_0x49106d['env']:_0x3e4833(0xf2),_0x19ccca=buildCanonicalProjectConfig({..._0x49106d,..._0x346d9d},{'appCodes':[_0x53b470],'env':_0x1c8654,'metadata':{'version':_0x290010,'migratedAt':new Date()[_0x3e4833(0x108)](),'migratedFrom':_0x242987}});writeConfigFile(_0x4faf93,_0x19ccca);const _0x4059e6=_0x242987+_0x3e4833(0x105);renameSync(_0x242987,_0x4059e6),logger[_0x3e4833(0x100)](_0x5cbe8f),logger[_0x3e4833(0xd7)](_0x3e4833(0x10c),_0x3e4833(0xdc),{'from':_0x242987,'to':_0x4faf93,'appcode':_0x53b470,'env':_0x19ccca[_0x3e4833(0x104)]}),console[_0x3e4833(0xea)](a155_0x16fd3e[_0x3e4833(0xec)](_0x3e4833(0x107)+_0x5905cf+_0x3e4833(0xe8))),console[_0x3e4833(0xea)](a155_0x16fd3e['cyan'](_0x3e4833(0x103)+Object['keys'](_0x19ccca[_0x3e4833(0xf4)]||{})[_0x3e4833(0xe0)](',\x20'))),console[_0x3e4833(0xea)](a155_0x16fd3e[_0x3e4833(0xff)](_0x3e4833(0xf0)+_0x19ccca['defaultApp'])),console[_0x3e4833(0xea)](a155_0x16fd3e['gray'](_0x3e4833(0x10b)+_0x5905cf+_0x3e4833(0x105)));return;}const _0x5e7e46=_0x54f79d||await askAppcode(),_0x1d5fff=resolve(_0x5cbe8f,NEW_CONFIG_NAME),_0x2d1e08=getCliVersionFromPkg(),_0x1a4ac7=readRawConfig(),_0x288ac6=typeof _0x1a4ac7[_0x3e4833(0x104)]===_0x3e4833(0xf6)?_0x1a4ac7[_0x3e4833(0x104)]:undefined,_0x539014=buildCanonicalProjectConfig({},{'appCodes':[_0x5e7e46],'env':_0x2f7343||_0x288ac6||_0x3e4833(0xf2),'metadata':{'version':_0x2d1e08,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x1d5fff,_0x539014),logger['setLogPath'](_0x5cbe8f),logger[_0x3e4833(0xd7)]('init',_0x3e4833(0xe5),{'appcode':_0x5e7e46,'env':_0x539014[_0x3e4833(0x104)],'version':_0x539014[_0x3e4833(0xef)],'configPath':_0x1d5fff}),console[_0x3e4833(0xea)](a155_0x16fd3e[_0x3e4833(0xec)](_0x3e4833(0xf3))),console[_0x3e4833(0xea)](a155_0x16fd3e['cyan']('\x20\x20Apps:\x20'+Object[_0x3e4833(0xda)](_0x539014[_0x3e4833(0xf4)]||{})[_0x3e4833(0xe0)](',\x20'))),console[_0x3e4833(0xea)](a155_0x16fd3e[_0x3e4833(0xff)]('\x20\x20Default:\x20'+_0x539014[_0x3e4833(0xd8)])),console[_0x3e4833(0xea)](_0x3e4833(0xfa)+CLI_BIN_NAME+_0x3e4833(0xdb)+CLI_BIN_NAME+_0x3e4833(0xe9));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x24a14a=>{const _0x1ddfd3=a155_0x53a2;if(!_0x24a14a[_0x1ddfd3(0x106)]())return _0x1ddfd3(0xe7);const {valid:_0x281ad1,message:_0x1d3cfb}=validateAppcode(_0x24a14a[_0x1ddfd3(0x106)]());return _0x281ad1||_0x1d3cfb||_0x1ddfd3(0xd6);}});}function getCliVersionFromPkg(){const _0x2b2c1c=a155_0x53a2;try{const _0x1463f2=fileURLToPath(import.meta.url),_0xb6b303=resolve(dirname(_0x1463f2),'../..'),_0x5f4bd0=JSON[_0x2b2c1c(0xeb)](readFileSync(resolve(_0xb6b303,_0x2b2c1c(0x109)),'utf8'));return _0x5f4bd0['version']||_0x2b2c1c(0xf5);}catch{return _0x2b2c1c(0xf5);}}
1
+ (function(_0x589c03,_0x4edddb){const _0x343252=a155_0x5ee0,_0x319fae=_0x589c03();while(!![]){try{const _0x45ba50=-parseInt(_0x343252(0x98))/0x1*(parseInt(_0x343252(0xb0))/0x2)+parseInt(_0x343252(0x9f))/0x3+-parseInt(_0x343252(0x99))/0x4*(-parseInt(_0x343252(0xb8))/0x5)+-parseInt(_0x343252(0xaf))/0x6*(parseInt(_0x343252(0x9d))/0x7)+parseInt(_0x343252(0x9b))/0x8*(-parseInt(_0x343252(0x8a))/0x9)+parseInt(_0x343252(0x8e))/0xa*(parseInt(_0x343252(0x8c))/0xb)+-parseInt(_0x343252(0xae))/0xc*(-parseInt(_0x343252(0xb5))/0xd);if(_0x45ba50===_0x4edddb)break;else _0x319fae['push'](_0x319fae['shift']());}catch(_0x5aea62){_0x319fae['push'](_0x319fae['shift']());}}}(a155_0xb8d6,0xb49ed));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a155_0x2260df from'chalk';function a155_0x5ee0(_0x300587,_0x58ceae){_0x300587=_0x300587-0x84;const _0xb8d64a=a155_0xb8d6();let _0x5ee0e6=_0xb8d64a[_0x300587];return _0x5ee0e6;}import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a155_0xb8d6(){const _0x21df82=['log','?\x20(Old\x20file\x20→\x20*.bak)','Invalid\x20App\x20Code','\x20\x20appcode:\x20','keys','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','gray','utf8','defaultApp','170355BzcvCs','172ChnIFE','app','32fYpaJt','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','109438dLUeOt','trim','1681242GfztKm','version','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','info','cyan','\x20\x20Default:\x20','\x20\x20Apps:\x20','.bak','\x20api\x20pull\x27','env','Migration\x20cancelled.\x20Run\x20`','join','✓\x20Upgraded\x20','toLocaleString','setLogPath','53052QaLlBe','498fwHrpv','6QrDouo','production','yellow','\x20workspace\x20init`\x20to\x20start\x20fresh.','green','3159KVhzRQ','App\x20Code\x20cannot\x20be\x20empty','string','103015IKHqED','parse','Upgrade\x20it\x20to\x20','init','../..','bold','apps','初始化项目配置文件成功','package.json','83844XzCBbz','appcode','11gSRqZQ','1.0.0','651260tVsMSp'];a155_0xb8d6=function(){return _0x21df82;};return a155_0xb8d6();}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(_0xdfacbe){const _0x3e4e98=a155_0x5ee0,{appcode:_0x83fa6b,env:_0x548466,autoYes:_0x1ab3c2}=_0xdfacbe,_0x3ff06d=process['cwd']();if(getProjectConfigPath())throw new Error(_0x3e4e98(0xa1));let _0x32f8e2;for(const _0xf8fa62 of LEGACY_CONFIG_NAMES){const _0x99905e=resolve(_0x3ff06d,_0xf8fa62);if(existsSync(_0x99905e)){_0x32f8e2=_0x99905e;break;}}if(_0x32f8e2){let _0x2da640={};try{_0x2da640=JSON['parse'](readFileSync(_0x32f8e2,'utf8'));}catch{}const _0x3e9fc3=basename(_0x32f8e2),_0x1ea61d=_0x2da640?.['appcode']||_0x2da640?.[_0x3e4e98(0x9a)];let _0x1e6ca2=_0x1ab3c2;!_0x1ab3c2&&(console[_0x3e4e98(0x8f)](a155_0x2260df[_0x3e4e98(0xb2)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a155_0x2260df[_0x3e4e98(0x86)](_0x3e9fc3))),_0x1ea61d&&console['log'](a155_0x2260df['cyan'](_0x3e4e98(0x92)+_0x1ea61d)),_0x1e6ca2=await confirm({'message':_0x3e4e98(0xba)+a155_0x2260df[_0x3e4e98(0x86)]('.rabetbase.json')+_0x3e4e98(0x90),'default':!![]}));if(!_0x1e6ca2){console[_0x3e4e98(0x8f)](_0x3e4e98(0xa9)+CLI_BIN_NAME+_0x3e4e98(0xb3));return;}const _0x90349b=resolve(_0x3ff06d,NEW_CONFIG_NAME),_0x27577c=getCliVersionFromPkg(),_0x19e066=readRawConfig(),_0x13525c=_0x83fa6b||(typeof _0x2da640?.[_0x3e4e98(0x8b)]==='string'?_0x2da640[_0x3e4e98(0x8b)]:undefined)||(typeof _0x2da640?.['app']==='string'?_0x2da640[_0x3e4e98(0x9a)]:undefined)||await askAppcode(),_0x5996c3=typeof _0x2da640?.[_0x3e4e98(0xa8)]===_0x3e4e98(0xb7)?_0x2da640[_0x3e4e98(0xa8)]:typeof _0x19e066[_0x3e4e98(0xa8)]==='string'?_0x19e066[_0x3e4e98(0xa8)]:_0x3e4e98(0xb1),_0x3fe207=buildCanonicalProjectConfig({..._0x19e066,..._0x2da640},{'appCodes':[_0x13525c],'env':_0x5996c3,'metadata':{'version':_0x27577c,'migratedAt':new Date()[_0x3e4e98(0xac)](),'migratedFrom':_0x32f8e2}});writeConfigFile(_0x90349b,_0x3fe207);const _0x125303=_0x32f8e2+_0x3e4e98(0xa6);renameSync(_0x32f8e2,_0x125303),logger[_0x3e4e98(0xad)](_0x3ff06d),logger[_0x3e4e98(0xa2)](_0x3e4e98(0x84),'从旧配置文件升级成功',{'from':_0x32f8e2,'to':_0x90349b,'appcode':_0x13525c,'env':_0x3fe207[_0x3e4e98(0xa8)]}),console['log'](a155_0x2260df[_0x3e4e98(0xb4)](_0x3e4e98(0xab)+_0x3e9fc3+'\x20→\x20.rabetbase.json')),console[_0x3e4e98(0x8f)](a155_0x2260df[_0x3e4e98(0xa3)](_0x3e4e98(0xa5)+Object[_0x3e4e98(0x93)](_0x3fe207[_0x3e4e98(0x87)]||{})[_0x3e4e98(0xaa)](',\x20'))),console[_0x3e4e98(0x8f)](a155_0x2260df['cyan'](_0x3e4e98(0xa4)+_0x3fe207[_0x3e4e98(0x97)])),console[_0x3e4e98(0x8f)](a155_0x2260df[_0x3e4e98(0x95)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x3e9fc3+_0x3e4e98(0xa6)));return;}const _0x277d44=_0x83fa6b||await askAppcode(),_0x28a973=resolve(_0x3ff06d,NEW_CONFIG_NAME),_0x26fe98=getCliVersionFromPkg(),_0x38eec0=readRawConfig(),_0x56b283=typeof _0x38eec0['env']===_0x3e4e98(0xb7)?_0x38eec0[_0x3e4e98(0xa8)]:undefined,_0x243688=buildCanonicalProjectConfig({},{'appCodes':[_0x277d44],'env':_0x548466||_0x56b283||_0x3e4e98(0xb1),'metadata':{'version':_0x26fe98,'createdAt':new Date()[_0x3e4e98(0xac)]()}});writeConfigFile(_0x28a973,_0x243688),logger[_0x3e4e98(0xad)](_0x3ff06d),logger[_0x3e4e98(0xa2)](_0x3e4e98(0x84),_0x3e4e98(0x88),{'appcode':_0x277d44,'env':_0x243688[_0x3e4e98(0xa8)],'version':_0x243688[_0x3e4e98(0xa0)],'configPath':_0x28a973}),console[_0x3e4e98(0x8f)](a155_0x2260df['green'](_0x3e4e98(0x9c))),console[_0x3e4e98(0x8f)](a155_0x2260df[_0x3e4e98(0xa3)](_0x3e4e98(0xa5)+Object[_0x3e4e98(0x93)](_0x243688[_0x3e4e98(0x87)]||{})['join'](',\x20'))),console[_0x3e4e98(0x8f)](a155_0x2260df[_0x3e4e98(0xa3)](_0x3e4e98(0xa4)+_0x243688[_0x3e4e98(0x97)])),console[_0x3e4e98(0x8f)](_0x3e4e98(0x94)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x3e4e98(0xa7));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x56dbd6=>{const _0x3e4248=a155_0x5ee0;if(!_0x56dbd6[_0x3e4248(0x9e)]())return _0x3e4248(0xb6);const {valid:_0x4f252d,message:_0x1f11bb}=validateAppcode(_0x56dbd6[_0x3e4248(0x9e)]());return _0x4f252d||_0x1f11bb||_0x3e4248(0x91);}});}function getCliVersionFromPkg(){const _0xbf005e=a155_0x5ee0;try{const _0x17799b=fileURLToPath(import.meta.url),_0x3cd7e5=resolve(dirname(_0x17799b),_0xbf005e(0x85)),_0x3c4b2f=JSON[_0xbf005e(0xb9)](readFileSync(resolve(_0x3cd7e5,_0xbf005e(0x89)),_0xbf005e(0x96)));return _0x3c4b2f[_0xbf005e(0xa0)]||_0xbf005e(0x8d);}catch{return _0xbf005e(0x8d);}}