@lovrabet/rabetbase-cli 2.3.15 → 2.3.16-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +7 -2
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/add.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/remove.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/list.js +1 -1
  56. package/lib/commands/config/set.js +1 -1
  57. package/lib/commands/config/shared.js +1 -1
  58. package/lib/commands/data/filter.js +1 -1
  59. package/lib/commands/data/getOne.js +1 -1
  60. package/lib/commands/data/index.js +1 -1
  61. package/lib/commands/data/shared.js +1 -1
  62. package/lib/commands/dataset/business-group-update.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff.js +1 -1
  89. package/lib/commands/db/index.js +1 -1
  90. package/lib/commands/db/list.js +1 -1
  91. package/lib/commands/db/shared.js +1 -1
  92. package/lib/commands/db/tables.js +1 -1
  93. package/lib/commands/db/test.js +1 -1
  94. package/lib/commands/db/update.js +1 -1
  95. package/lib/commands/doctor.js +1 -1
  96. package/lib/commands/file/index.js +1 -1
  97. package/lib/commands/init/index.js +1 -1
  98. package/lib/commands/issue/index.js +1 -1
  99. package/lib/commands/issue/nudge.js +1 -1
  100. package/lib/commands/issue/report.js +1 -1
  101. package/lib/commands/issue/shared.js +1 -1
  102. package/lib/commands/kb/create.js +1 -0
  103. package/lib/commands/kb/delete.js +1 -0
  104. package/lib/commands/kb/detail.js +1 -0
  105. package/lib/commands/kb/index.js +1 -0
  106. package/lib/commands/kb/list.js +1 -0
  107. package/lib/commands/kb/shared.js +1 -0
  108. package/lib/commands/kb/update.js +1 -0
  109. package/lib/commands/logs/index.js +1 -1
  110. package/lib/commands/menu/asset-update.js +1 -1
  111. package/lib/commands/menu/delete.js +1 -1
  112. package/lib/commands/menu/external-link-create.js +1 -1
  113. package/lib/commands/menu/external-link-update.js +1 -1
  114. package/lib/commands/menu/group-create.js +1 -1
  115. package/lib/commands/menu/group-update.js +1 -1
  116. package/lib/commands/menu/index.js +1 -1
  117. package/lib/commands/menu/list.js +1 -1
  118. package/lib/commands/menu/move.js +1 -1
  119. package/lib/commands/menu/regroup-start.js +1 -1
  120. package/lib/commands/menu/rename.js +1 -1
  121. package/lib/commands/menu/shared/compare-table.js +1 -1
  122. package/lib/commands/menu/shared/delete-plan.js +1 -1
  123. package/lib/commands/menu/shared/facts.js +1 -1
  124. package/lib/commands/menu/shared/index.js +1 -1
  125. package/lib/commands/menu/shared/inquirer.js +1 -1
  126. package/lib/commands/menu/shared/local-pages.js +1 -1
  127. package/lib/commands/menu/shared/logic.js +1 -1
  128. package/lib/commands/menu/shared/mutations.js +1 -1
  129. package/lib/commands/menu/shared/service.js +1 -1
  130. package/lib/commands/menu/shared/sync-core.js +1 -1
  131. package/lib/commands/menu/shared/update-core.js +1 -1
  132. package/lib/commands/menu/shared/valid-url.js +1 -1
  133. package/lib/commands/menu/sync.js +1 -1
  134. package/lib/commands/notification/config-list.js +1 -1
  135. package/lib/commands/notification/index.js +1 -1
  136. package/lib/commands/ocr/index.js +1 -1
  137. package/lib/commands/page/generate-start.js +1 -1
  138. package/lib/commands/page/generate-status.js +1 -1
  139. package/lib/commands/page/index.js +1 -1
  140. package/lib/commands/page/pull.js +1 -1
  141. package/lib/commands/page/push.js +1 -1
  142. package/lib/commands/page/relation-audit.js +1 -1
  143. package/lib/commands/page/restore.js +1 -1
  144. package/lib/commands/page/shared.js +1 -1
  145. package/lib/commands/page/standard-page-status.js +1 -1
  146. package/lib/commands/page/sync.js +1 -1
  147. package/lib/commands/permit/index.js +1 -1
  148. package/lib/commands/permit/page-get.js +1 -1
  149. package/lib/commands/permit/page-set.js +1 -1
  150. package/lib/commands/permit/role-apis-set.js +1 -1
  151. package/lib/commands/permit/role-menus-set.js +1 -1
  152. package/lib/commands/permit/role-menus.js +1 -1
  153. package/lib/commands/permit/shared.js +1 -1
  154. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  155. package/lib/commands/project/create/format-elapsed.js +1 -1
  156. package/lib/commands/project/create/main.js +1 -1
  157. package/lib/commands/project/create/non-interactive.js +1 -1
  158. package/lib/commands/project/create/project-template-path.js +1 -1
  159. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  160. package/lib/commands/project/create/use-format-code.js +1 -1
  161. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  162. package/lib/commands/project/index.js +1 -1
  163. package/lib/commands/project/init.js +1 -1
  164. package/lib/commands/project/upgrade.js +1 -1
  165. package/lib/commands/registry.js +1 -1
  166. package/lib/commands/role/create.js +1 -1
  167. package/lib/commands/role/delete.js +1 -1
  168. package/lib/commands/role/detail.js +1 -1
  169. package/lib/commands/role/index.js +1 -1
  170. package/lib/commands/role/list.js +1 -1
  171. package/lib/commands/role/shared.js +1 -1
  172. package/lib/commands/role/update.js +1 -1
  173. package/lib/commands/role/user-add.js +1 -1
  174. package/lib/commands/role/user-remove.js +1 -1
  175. package/lib/commands/role/user-resolve.js +1 -1
  176. package/lib/commands/run/index.js +1 -1
  177. package/lib/commands/schema.js +1 -1
  178. package/lib/commands/sql/create.js +1 -1
  179. package/lib/commands/sql/delete.js +1 -1
  180. package/lib/commands/sql/detail.js +1 -1
  181. package/lib/commands/sql/exec.js +1 -1
  182. package/lib/commands/sql/index.js +1 -1
  183. package/lib/commands/sql/list.js +1 -1
  184. package/lib/commands/sql/pull.js +1 -1
  185. package/lib/commands/sql/push.js +1 -1
  186. package/lib/commands/sql/save.js +1 -1
  187. package/lib/commands/sql/shared.js +1 -1
  188. package/lib/commands/sql/status.js +1 -1
  189. package/lib/commands/sql/validate.js +1 -1
  190. package/lib/commands/task/index.js +1 -1
  191. package/lib/commands/task/status.js +1 -1
  192. package/lib/commands/workspace/add.js +1 -1
  193. package/lib/commands/workspace/index.js +1 -1
  194. package/lib/commands/workspace/remove.js +1 -1
  195. package/lib/config/schema.js +1 -1
  196. package/lib/constant/cdn.js +1 -1
  197. package/lib/constant/cli.js +1 -1
  198. package/lib/constant/defaults.js +1 -1
  199. package/lib/constant/domain.js +1 -1
  200. package/lib/constant/env.js +1 -1
  201. package/lib/constant/output.js +1 -1
  202. package/lib/constant/paths.js +1 -1
  203. package/lib/constant/risk.js +1 -1
  204. package/lib/context/app-resolver.js +1 -1
  205. package/lib/context/auth-resolver.js +1 -1
  206. package/lib/context/config-loader.js +1 -1
  207. package/lib/context.js +1 -1
  208. package/lib/core/alias-resolver.js +1 -1
  209. package/lib/core/api-client.js +1 -1
  210. package/lib/core/bff/config.js +1 -1
  211. package/lib/core/bff/file-system.js +1 -1
  212. package/lib/core/bff/hash.js +1 -1
  213. package/lib/core/bff/lock.js +1 -1
  214. package/lib/core/bff/utils.js +1 -1
  215. package/lib/core/db-resolver.js +1 -1
  216. package/lib/core/page/file-system.js +1 -1
  217. package/lib/core/page/hash.js +1 -1
  218. package/lib/core/page/lock.js +1 -1
  219. package/lib/core/sql-index-auditor.js +1 -1
  220. package/lib/core/sql-sync/config.js +1 -1
  221. package/lib/core/sql-sync/file-system.js +1 -1
  222. package/lib/core/sql-sync/hash.js +1 -1
  223. package/lib/core/sql-sync/lock.js +1 -1
  224. package/lib/core/sql-sync/utils.js +1 -1
  225. package/lib/core/sql-validator.js +1 -1
  226. package/lib/errors.js +1 -1
  227. package/lib/framework/build-all-flags.js +1 -1
  228. package/lib/framework/error-output.js +1 -1
  229. package/lib/framework/explicit-yes.js +1 -1
  230. package/lib/framework/flags.js +1 -1
  231. package/lib/framework/help.js +1 -1
  232. package/lib/framework/index.js +1 -1
  233. package/lib/framework/output.js +1 -1
  234. package/lib/framework/response.js +1 -1
  235. package/lib/framework/runner-alias.js +1 -1
  236. package/lib/framework/runner.js +1 -1
  237. package/lib/framework/schema-export.js +1 -1
  238. package/lib/framework/types.js +1 -1
  239. package/lib/generated/build-info.js +1 -1
  240. package/lib/help.js +1 -1
  241. package/lib/skills/main.js +1 -1
  242. package/lib/skills/npx-skills-add.js +1 -1
  243. package/lib/skills/skill-presence.js +1 -0
  244. package/lib/telemetry/cli-command-trace.js +1 -1
  245. package/lib/telemetry/cli-help-trace.js +1 -1
  246. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  247. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  248. package/lib/telemetry/send-cli-trace-log.js +1 -1
  249. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  250. package/lib/utils/ai_config.js +1 -1
  251. package/lib/utils/apply-jq-filter.js +1 -1
  252. package/lib/utils/cdn-config.js +1 -1
  253. package/lib/utils/check-sdk-version.js +1 -1
  254. package/lib/utils/cli-version-check.js +1 -1
  255. package/lib/utils/cli-version-policy.js +1 -1
  256. package/lib/utils/config.js +1 -1
  257. package/lib/utils/copy-directory.js +1 -1
  258. package/lib/utils/entity-with-id.js +1 -1
  259. package/lib/utils/file-utils.js +1 -1
  260. package/lib/utils/guides-cdn.js +1 -1
  261. package/lib/utils/http-client.js +1 -1
  262. package/lib/utils/is-non-interactive.js +1 -1
  263. package/lib/utils/logger.js +1 -1
  264. package/lib/utils/params.js +1 -1
  265. package/lib/utils/platform.js +1 -1
  266. package/lib/utils/rules-cdn.js +1 -1
  267. package/lib/utils/sleep.js +1 -1
  268. package/lib/utils/template-replacer.js +1 -1
  269. package/lib/utils/update-notice.js +1 -1
  270. package/lib/utils/version.js +1 -1
  271. package/lib/utils/with-active-cookie.js +1 -1
  272. package/lib/utils/write-cli-side-channel.js +1 -1
  273. package/package.json +1 -1
@@ -1 +1 @@
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
+ const a150_0x13979d=a150_0x5e7f;(function(_0xa6e0c6,_0x14e841){const _0xfd0a95=a150_0x5e7f,_0x2fb9db=_0xa6e0c6();while(!![]){try{const _0x3f4fa7=-parseInt(_0xfd0a95(0xa1))/0x1+parseInt(_0xfd0a95(0xaa))/0x2+parseInt(_0xfd0a95(0xb8))/0x3*(parseInt(_0xfd0a95(0x9f))/0x4)+-parseInt(_0xfd0a95(0x9d))/0x5*(-parseInt(_0xfd0a95(0xac))/0x6)+parseInt(_0xfd0a95(0xc0))/0x7+parseInt(_0xfd0a95(0xa6))/0x8+parseInt(_0xfd0a95(0xa7))/0x9*(-parseInt(_0xfd0a95(0xa8))/0xa);if(_0x3f4fa7===_0x14e841)break;else _0x2fb9db['push'](_0x2fb9db['shift']());}catch(_0x439583){_0x2fb9db['push'](_0x2fb9db['shift']());}}}(a150_0x409f,0xc8f2f));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';function a150_0x5e7f(_0x33b426,_0x4f14bd){_0x33b426=_0x33b426-0x9c;const _0x409f51=a150_0x409f();let _0x5e7f71=_0x409f51[_0x33b426];return _0x5e7f71;}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 a150_0x409f(){const _0x4dbd78=['5193HSpRpi','49060yViJip','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','337678CtUoqS','action','529068XnxUBR','Pass\x20--menus\x20<resourceCode,...>.','str','role-menus-set','PAGE','length','Unknown\x20menu\x20resourceCode(s):\x20','push','Updated\x20','/smartapi/permit/role/update','get','POST','114wWAPtE','validation','appCode','filter','join','\x20menu\x20permit(s)\x20for\x20role\x20','roleName','flagMissing','1887340CukRsj','has','30orrGlK','set','169884etMQWp','selector','545636vtnWny','Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','resourceCodes','menus','menu-revoke','12944480VxlRcr'];a150_0x409f=function(){return _0x4dbd78;};return a150_0x409f();}import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH=a150_0x13979d(0xb5);async function buildPlan(_0x5c2fa9,_0x4ffa64){const _0x56b3f1=a150_0x13979d,_0x5ba800=await resolveRoleRef(_0x5c2fa9[_0x56b3f1(0xba)],readRoleRef(_0x5c2fa9));assertPermConfigurable(_0x5ba800);const _0x5c4ba6=readGrantRevoke(_0x5c2fa9),_0x260f74=splitList(_0x5c2fa9[_0x56b3f1(0xae)](_0x56b3f1(0xa4)));if(_0x260f74['length']===0x0)throw CliErrors['flagMissing']('menus','Pass\x20--menus\x20<resourceCode,...>.');const _0xcbffea=await getRoleMenuResources(_0x5c2fa9[_0x56b3f1(0xba)],_0x5ba800['id']),_0x325963=flattenMenuResources(_0xcbffea),_0x2b0e97=_0x260f74[_0x56b3f1(0xbb)](_0x39ac6=>!_0x325963[_0x56b3f1(0x9c)](_0x39ac6));if(_0x2b0e97[_0x56b3f1(0xb1)]>0x0)throw CliErrors[_0x56b3f1(0xb9)](_0x56b3f1(0xb2)+_0x2b0e97[_0x56b3f1(0xbc)](',\x20')+'.',_0x56b3f1(0xa9));const _0x4b10ed=new Map(),_0x1e0a79=[],_0x310866=[];for(const _0x284c24 of _0x260f74){const _0x195348=_0x325963[_0x56b3f1(0xb6)](_0x284c24);_0x4b10ed[_0x56b3f1(0x9e)](_0x284c24,_0x5c4ba6),_0x1e0a79[_0x56b3f1(0xb3)]({'resourceCode':_0x284c24,'action':_0x195348[_0x56b3f1(0xab)]}),_0x310866[_0x56b3f1(0xb3)]({'resourceCode':_0x284c24,'action':_0x5c4ba6});}const _0x3a6cec=buildPermits(_0x325963,_0x4b10ed),_0x2e4bd1={'operation':_0x5c4ba6==='access'?'menu-grant':_0x56b3f1(0xa5),'selector':{'appCode':_0x5c2fa9[_0x56b3f1(0xba)],'roleId':_0x5ba800['id'],'roleName':_0x5ba800[_0x56b3f1(0xbe)],'resourceCodes':_0x260f74},'before':_0x1e0a79,'after':_0x310866,'dryRun':_0x4ffa64,'backend':{'method':_0x56b3f1(0xb7),'path':UPDATE_PATH,'roleType':_0x56b3f1(0xb0)},'warnings':[]};return{'role':_0x5ba800,'permits':_0x3a6cec,'mutation':_0x2e4bd1};}export const permitRoleMenusSet={'service':'permit','command':a150_0x13979d(0xaf),'description':a150_0x13979d(0xa2),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x95cb1a){const _0x1470d3=a150_0x13979d;readGrantRevoke(_0x95cb1a);if(splitList(_0x95cb1a[_0x1470d3(0xae)]('menus'))['length']===0x0)throw CliErrors[_0x1470d3(0xbf)](_0x1470d3(0xa4),_0x1470d3(0xad));},async 'dryRun'(_0x2ccd79){const _0x31dca6=a150_0x13979d,{mutation:_0x12239b}=await buildPlan(_0x2ccd79,!![]);return asDryRunResult(_0x12239b,{'method':_0x31dca6(0xb7),'url':UPDATE_PATH});},async 'execute'(_0x14c203){const _0x2bd954=a150_0x13979d,{role:_0x1672d5,permits:_0x310ab1,mutation:_0x253eb2}=await buildPlan(_0x14c203,![]);return await updateAppRole({'id':_0x1672d5['id'],'appCode':_0x14c203[_0x2bd954(0xba)],'roleType':_0x2bd954(0xb0),'permits':_0x310ab1}),{'ok':!![],'data':_0x253eb2,'message':_0x2bd954(0xb4)+_0x253eb2[_0x2bd954(0xa0)][_0x2bd954(0xa3)][_0x2bd954(0xb1)]+_0x2bd954(0xbd)+_0x1672d5[_0x2bd954(0xbe)]};}};
@@ -1 +1 @@
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
+ const a151_0x261261=a151_0x5c52;(function(_0x136ded,_0x1c4783){const _0x365851=a151_0x5c52,_0x2afcfa=_0x136ded();while(!![]){try{const _0x3ba519=parseInt(_0x365851(0x154))/0x1*(-parseInt(_0x365851(0x155))/0x2)+parseInt(_0x365851(0x14d))/0x3*(-parseInt(_0x365851(0x146))/0x4)+-parseInt(_0x365851(0x149))/0x5*(parseInt(_0x365851(0x14c))/0x6)+parseInt(_0x365851(0x14e))/0x7+parseInt(_0x365851(0x150))/0x8*(-parseInt(_0x365851(0x148))/0x9)+-parseInt(_0x365851(0x13f))/0xa*(parseInt(_0x365851(0x143))/0xb)+parseInt(_0x365851(0x14b))/0xc;if(_0x3ba519===_0x1c4783)break;else _0x2afcfa['push'](_0x2afcfa['shift']());}catch(_0x116540){_0x2afcfa['push'](_0x2afcfa['shift']());}}}(a151_0x2677,0xcb739));function a151_0x2677(){const _0x54c7ef=['roleName','32035392lSeMsl','666aitKEv','45ICWpTX','9965522Qddwfy','resourceName','116176hacqcZ','access','allowed','resourceCode','2DagFII','547918SHpIWT','from','map','2550YrIlFv','role-menus','action','length','28831KdggUQ','filter','Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','44052Reyxaj','\x20menu(s)\x20allowed','261ZmFIxy','65645lAmkIQ'];a151_0x2677=function(){return _0x54c7ef;};return a151_0x2677();}import{getRoleMenuResources}from'../../core/api-client.js';function a151_0x5c52(_0x8d0b78,_0x383279){_0x8d0b78=_0x8d0b78-0x13d;const _0x267709=a151_0x2677();let _0x5c52bc=_0x267709[_0x8d0b78];return _0x5c52bc;}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';export const permitRoleMenus={'service':'permit','command':a151_0x261261(0x140),'description':a151_0x261261(0x145),'risk':'read','flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x1ecc57){const _0x35ca58=a151_0x261261,_0x59f882=await resolveRoleRef(_0x1ecc57['appCode'],readRoleRef(_0x1ecc57)),_0x2dfa55=await getRoleMenuResources(_0x1ecc57['appCode'],_0x59f882['id']),_0x4d5da=flattenMenuResources(_0x2dfa55),_0x26f476=Array[_0x35ca58(0x13d)](_0x4d5da['values']())[_0x35ca58(0x13e)](_0x8ae244=>({'resourceCode':_0x8ae244[_0x35ca58(0x153)],'resourceName':_0x8ae244[_0x35ca58(0x14f)],'allowed':_0x8ae244[_0x35ca58(0x141)]===_0x35ca58(0x151),'action':_0x8ae244[_0x35ca58(0x141)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x1ecc57['appCode'],'roleId':_0x59f882['id'],'roleName':_0x59f882[_0x35ca58(0x14a)]},'menus':_0x26f476},'message':'Role\x20'+_0x59f882[_0x35ca58(0x14a)]+'\x20has\x20'+_0x26f476[_0x35ca58(0x144)](_0x10f404=>_0x10f404[_0x35ca58(0x152)])[_0x35ca58(0x142)]+'/'+_0x26f476[_0x35ca58(0x142)]+_0x35ca58(0x147)};}};
@@ -1 +1 @@
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
+ const a152_0x87259=a152_0x4c9a;(function(_0x2fb2bf,_0x22425e){const _0x12af18=a152_0x4c9a,_0x44105b=_0x2fb2bf();while(!![]){try{const _0xabc701=parseInt(_0x12af18(0x11b))/0x1*(-parseInt(_0x12af18(0x101))/0x2)+parseInt(_0x12af18(0xf4))/0x3+-parseInt(_0x12af18(0x10b))/0x4*(parseInt(_0x12af18(0xee))/0x5)+parseInt(_0x12af18(0x123))/0x6+parseInt(_0x12af18(0xef))/0x7+parseInt(_0x12af18(0xf5))/0x8+parseInt(_0x12af18(0x10f))/0x9;if(_0xabc701===_0x22425e)break;else _0x44105b['push'](_0x44105b['shift']());}catch(_0x2d4422){_0x44105b['push'](_0x44105b['shift']());}}}(a152_0xe305,0x8ac11));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':a152_0x87259(0x130),'required':!![],'description':a152_0x87259(0x109)};export const ROLE_REF_FLAG={'name':a152_0x87259(0xf0),'type':a152_0x87259(0xf6),'required':!![],'description':a152_0x87259(0x13b)};export const GRANT_FLAG={'name':'grant','type':'boolean','required':![],'description':a152_0x87259(0xea)};export const REVOKE_FLAG={'name':'revoke','type':a152_0x87259(0x129),'required':![],'description':a152_0x87259(0x135)};export const MENUS_FLAG={'name':'menus','type':a152_0x87259(0xf6),'required':!![],'description':a152_0x87259(0x120)};function a152_0xe305(){const _0x109e67=['push','entries','export-roles','Role\x20\x22','menuPermit','number','bool','appCode','dataCreate','delete-roles','Revoke\x20access\x20to\x20the\x20listed\x20resources','dataDelete','data\x20delete','SELF\x20is\x20not\x20allowed\x20for\x20','\x20not\x20found.','Roles\x20for\x20','Role\x20id\x20or\x20role\x20name',';\x20SELF\x20=\x20only\x20own\x20rows','resourceCode','datasets','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','access','roleType','Grant\x20access\x20to\x20the\x20listed\x20resources','menuId','trim','apiList','25uhKhgw','362803lGwZeN','role','ALL','dataExport','map','1261515YVaOaS','8161856qOtmcB','string','some','rolePermit','data\x20export','menu-roles','str','Special\x20role\x20','update-roles','pageNodeList','data\x20update','get','1528qgAfDz','SELF','data\x20detail','filter','row\x20visibility','grant','Missing\x20action.','create-roles','Menu\x20id\x20(from\x20`menu\x20list`)','find','707156qMFLeV','Role\x20id\x20','validation','row-roles','302373zdwGcP','dataDetail','length','\x20(comma-separated\x20SELF/ALL/id/name)','detail-roles','menu\x20visibility','\x22\x20is\x20ambiguous\x20(ids:\x20','test','toUpperCase','Pass\x20--role\x20<id|name>.','revoke','roleName','434TMbtLA','Run\x20`role\x20list`.','set','join','datasetCode','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','1546170HqwqqY','\x20is\x20not\x20available\x20for\x20this\x20app.','allowSelf','resourceName','dataUpdate','label','boolean','key'];a152_0xe305=function(){return _0x109e67;};return a152_0xe305();}export const DATASETS_FLAG={'name':a152_0x87259(0xe6),'type':a152_0x87259(0xf6),'required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};export const PAGE_SLOT_SPECS=[{'flag':a152_0x87259(0xfa),'key':a152_0x87259(0x12f),'allowSelf':![],'label':a152_0x87259(0x114)},{'flag':a152_0x87259(0x108),'key':a152_0x87259(0x133),'allowSelf':![],'label':'data\x20create'},{'flag':a152_0x87259(0xfd),'key':a152_0x87259(0x127),'allowSelf':![],'label':a152_0x87259(0xff)},{'flag':a152_0x87259(0x134),'key':a152_0x87259(0x136),'allowSelf':![],'label':a152_0x87259(0x137)},{'flag':a152_0x87259(0x113),'key':a152_0x87259(0x110),'allowSelf':![],'label':a152_0x87259(0x103)},{'flag':a152_0x87259(0x12d),'key':a152_0x87259(0xf2),'allowSelf':![],'label':a152_0x87259(0xf9)},{'flag':a152_0x87259(0x10e),'key':'dataPermit','allowSelf':!![],'label':a152_0x87259(0x105)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x366f57=>({'name':_0x366f57['flag'],'type':a152_0x87259(0xf6),'required':![],'description':a152_0x87259(0x13a)+_0x366f57[a152_0x87259(0x128)]+a152_0x87259(0x112)+(_0x366f57[a152_0x87259(0x125)]?a152_0x87259(0x13c):'')}));export function splitList(_0x10cf86){const _0x3d06d9=a152_0x87259;return _0x10cf86['split'](',')[_0x3d06d9(0xf3)](_0x2a1e5d=>_0x2a1e5d['trim']())[_0x3d06d9(0x104)](Boolean);}export function projectRoleRef(_0x262735){const _0x3bfae3=a152_0x87259;return{'id':_0x262735['id'],'roleName':_0x262735[_0x3bfae3(0x11a)],'roleType':_0x262735[_0x3bfae3(0xe9)]};}export async function resolvePermitRoles(_0x3ef76d,_0x2fa666,_0x4ce6d5){const _0x39cc82=a152_0x87259,_0x219641=await listPermitRoles(_0x3ef76d,{'needSelf':!![],'needPublic':!![]}),_0x55a29b=[];for(const _0x450bb5 of _0x2fa666){const _0x559aad=resolveOnePermitRole(_0x219641,_0x450bb5);if(!_0x4ce6d5[_0x39cc82(0x125)]&&_0x559aad[_0x39cc82(0xe9)]===_0x39cc82(0x102))throw CliErrors[_0x39cc82(0x10d)](_0x39cc82(0x138)+_0x4ce6d5[_0x39cc82(0x128)]+'.',_0x39cc82(0xe7));if(!_0x55a29b[_0x39cc82(0xf7)](_0x2e4a78=>_0x2e4a78['id']===_0x559aad['id']))_0x55a29b[_0x39cc82(0x12b)](_0x559aad);}return _0x55a29b;}function resolveOnePermitRole(_0x551497,_0x16b6bd){const _0x42ad3c=a152_0x87259,_0x4074ba=_0x16b6bd[_0x42ad3c(0xec)](),_0x38cb40=_0x4074ba[_0x42ad3c(0x117)]();if(_0x38cb40==='SELF'||_0x38cb40===_0x42ad3c(0xf1)){const _0x1b0049=_0x551497[_0x42ad3c(0x10a)](_0x1c9c06=>_0x1c9c06['roleType']===_0x38cb40);if(!_0x1b0049)throw CliErrors[_0x42ad3c(0x10d)](_0x42ad3c(0xfc)+_0x38cb40+_0x42ad3c(0x124));return _0x1b0049;}if(/^-?\d+$/[_0x42ad3c(0x116)](_0x4074ba)){const _0x3fa679=Number(_0x4074ba),_0xf3c39f=_0x551497[_0x42ad3c(0x10a)](_0x21f724=>_0x21f724['id']===_0x3fa679);if(!_0xf3c39f)throw CliErrors[_0x42ad3c(0x10d)](_0x42ad3c(0x10c)+_0x3fa679+_0x42ad3c(0x139),_0x42ad3c(0x11c));return _0xf3c39f;}const _0x3b021d=_0x551497[_0x42ad3c(0x104)](_0x1fbe80=>_0x1fbe80[_0x42ad3c(0x11a)]===_0x4074ba);if(_0x3b021d['length']===0x0)throw CliErrors[_0x42ad3c(0x10d)](_0x42ad3c(0x12e)+_0x4074ba+'\x22\x20not\x20found.',_0x42ad3c(0x121));if(_0x3b021d[_0x42ad3c(0x111)]>0x1)throw CliErrors['validation'](_0x42ad3c(0x12e)+_0x4074ba+_0x42ad3c(0x115)+_0x3b021d[_0x42ad3c(0xf3)](_0xcbb693=>_0xcbb693['id'])[_0x42ad3c(0x11e)](',\x20')+').','Disambiguate\x20with\x20an\x20id.');return _0x3b021d[0x0];}export function projectPageSlot(_0x41ef13){const _0x495b21=a152_0x87259;if(!_0x41ef13)return null;return{'resourceCode':_0x41ef13[_0x495b21(0x13d)],'roles':(_0x41ef13[_0x495b21(0xf8)]??[])['map'](projectRoleRef)};}export function projectPagePermit(_0xa82533){const _0x373cf8=a152_0x87259,_0x4103d9={'menuId':_0xa82533[_0x373cf8(0xeb)],'appCode':_0xa82533[_0x373cf8(0x132)],'menuPermit':projectPageSlot(_0xa82533['menuPermit'])};for(const _0x1b69ad of PAGE_SLOT_SPECS){if(_0x1b69ad[_0x373cf8(0x12a)]===_0x373cf8(0x12f))continue;_0x4103d9[_0x1b69ad[_0x373cf8(0x12a)]]=projectPageSlot(_0xa82533[_0x1b69ad[_0x373cf8(0x12a)]]);}return _0x4103d9;}function a152_0x4c9a(_0x3c9d39,_0x47314b){_0x3c9d39=_0x3c9d39-0xe6;const _0xe30562=a152_0xe305();let _0x4c9a82=_0xe30562[_0x3c9d39];return _0x4c9a82;}export function flattenMenuResources(_0x3c9af4){const _0x921957=new Map(),_0x2da4ac=_0x16b14c=>{const _0x12d550=a152_0x4c9a;for(const _0xa0dfd8 of _0x16b14c??[]){_0x921957[_0x12d550(0x11d)](_0xa0dfd8[_0x12d550(0x13d)],{'resourceCode':_0xa0dfd8[_0x12d550(0x13d)],'resourceName':_0xa0dfd8[_0x12d550(0x126)],'action':_0xa0dfd8['allowedActions']?.[0x0]??'0'});if(_0xa0dfd8[_0x12d550(0xfe)])_0x2da4ac(_0xa0dfd8[_0x12d550(0xfe)]);}};return _0x2da4ac(_0x3c9af4),_0x921957;}export function flattenApiResources(_0x3bfff2){const _0x5d5aaa=a152_0x87259,_0x1f7d16=new Map(),_0x175a9f=new Map();for(const _0x1cb228 of _0x3bfff2){const _0xd2a255=_0x1cb228[_0x5d5aaa(0xed)]??{};for(const [_0x2a7d27,_0x399d0f]of Object[_0x5d5aaa(0x12c)](_0xd2a255)){_0x1f7d16[_0x5d5aaa(0x11d)](_0x2a7d27,{'resourceCode':_0x2a7d27,'resourceName':_0x1cb228[_0x5d5aaa(0x126)],'datasetCode':_0x1cb228[_0x5d5aaa(0x11f)],'action':_0x399d0f?.[0x0]??'0'});const _0xd707b3=_0x175a9f[_0x5d5aaa(0x100)](_0x1cb228['datasetCode'])??[];_0xd707b3[_0x5d5aaa(0x12b)](_0x2a7d27),_0x175a9f[_0x5d5aaa(0x11d)](_0x1cb228[_0x5d5aaa(0x11f)],_0xd707b3);}}return{'byCode':_0x1f7d16,'byDataset':_0x175a9f};}export function buildPermits(_0x381e1a,_0x52070a){const _0x40349e=a152_0x87259,_0x57bb93={};for(const [_0x4af26a,_0x3e7d51]of _0x381e1a){const _0x3ddc39=_0x52070a[_0x40349e(0x100)](_0x4af26a)??_0x3e7d51['action'];_0x57bb93[_0x4af26a]=[_0x3ddc39];}return _0x57bb93;}export function readRoleRef(_0x440672){const _0x1f712c=a152_0x87259,_0x8df01d=_0x440672[_0x1f712c(0xfb)](_0x1f712c(0xf0))[_0x1f712c(0xec)]();if(!_0x8df01d)throw CliErrors['flagMissing'](_0x1f712c(0xf0),_0x1f712c(0x118));return _0x8df01d;}export function readGrantRevoke(_0x4f2d20){const _0x10b129=a152_0x87259,_0x35629b=_0x4f2d20[_0x10b129(0x131)](_0x10b129(0x106)),_0x2ec757=_0x4f2d20['bool'](_0x10b129(0x119));if(_0x35629b&&_0x2ec757)throw CliErrors[_0x10b129(0x10d)](_0x10b129(0x122));if(!_0x35629b&&!_0x2ec757)throw CliErrors[_0x10b129(0x10d)](_0x10b129(0x107),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x35629b?_0x10b129(0xe8):'0';}
@@ -1 +1 @@
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
+ (function(_0xfa91ce,_0x1186ea){const _0x59adab=a153_0x5b51,_0x380a9d=_0xfa91ce();while(!![]){try{const _0x10f63c=parseInt(_0x59adab(0x1de))/0x1+-parseInt(_0x59adab(0x1db))/0x2+-parseInt(_0x59adab(0x1d3))/0x3+parseInt(_0x59adab(0x1cf))/0x4+parseInt(_0x59adab(0x1c4))/0x5*(-parseInt(_0x59adab(0x1d8))/0x6)+-parseInt(_0x59adab(0x1d6))/0x7+-parseInt(_0x59adab(0x1cc))/0x8*(-parseInt(_0x59adab(0x1d5))/0x9);if(_0x10f63c===_0x1186ea)break;else _0x380a9d['push'](_0x380a9d['shift']());}catch(_0x362075){_0x380a9d['push'](_0x380a9d['shift']());}}}(a153_0x3426,0x1a0b8));function a153_0x3426(){const _0x34ff61=['resolve','383196oNFAGx','env','607509WZaGgy','749637fJpxrc','trim','66gussMV','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','cwd','380418JybKau','Skipped','production','49431gjiSRx','my-app','√\x20Login\x20status:\x20','green','21235pKmNQt','Logged\x20in','Directory\x20\x22','string','cyan','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','√\x20Project\x20Name:\x20','\x22\x20already\x20exists','56ZbaNOK','Login\x20failed','test','225964AdqrLb','log','√\x20App\x20Code:\x20'];a153_0x3426=function(){return _0x34ff61;};return a153_0x3426();}import{existsSync}from'node:fs';import a153_0x6c88d6 from'node:path';import a153_0x258566 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 a153_0x5b51(_0x5be3cf,_0x372cca){_0x5be3cf=_0x5be3cf-0x1c3;const _0x34268b=a153_0x3426();let _0x5b51a0=_0x34268b[_0x5be3cf];return _0x5b51a0;}export async function guidedCreateProject(_0x225b36,_0xd31f8,_0x10df93){const _0x2f01e3=a153_0x5b51,_0x55bc83=_0x2f01e3(0x1df),_0x532b15=readConfig(),_0x344cca=typeof _0x532b15[_0x2f01e3(0x1d4)]===_0x2f01e3(0x1c7)?_0x532b15[_0x2f01e3(0x1d4)]:undefined,_0x203b3c=await input({'message':'Project\x20name:','default':_0x55bc83,'validate':_0xa6ed07=>{const _0x4a5d76=_0x2f01e3,_0x2a7de6=_0xa6ed07[_0x4a5d76(0x1d7)]()||_0x55bc83;if(_0x2a7de6['length']>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x26959c=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x2a7de6&&!_0x26959c[_0x4a5d76(0x1ce)](_0x2a7de6))return _0x4a5d76(0x1d9);const _0x1b7d30=a153_0x6c88d6[_0x4a5d76(0x1d2)](process[_0x4a5d76(0x1da)](),_0x2a7de6);if(existsSync(_0x1b7d30))return _0x4a5d76(0x1c6)+_0x2a7de6+_0x4a5d76(0x1cb);return!![];}});console[_0x2f01e3(0x1d0)](a153_0x258566[_0x2f01e3(0x1c3)](_0x2f01e3(0x1ca)+a153_0x258566[_0x2f01e3(0x1c8)](_0x203b3c)));const _0x10ccc0=await selectSingleAppcode(_0x10df93);console['log'](a153_0x258566[_0x2f01e3(0x1c3)](_0x2f01e3(0x1d1)+a153_0x258566[_0x2f01e3(0x1c8)](_0x10ccc0||'Not\x20set')));if(_0x10ccc0){const _0x4c7f5f=await getIsSessionValid();if(!_0x4c7f5f){const _0x43c226=await confirm({'message':_0x2f01e3(0x1c9),'default':!![]});if(_0x43c226){const _0x4188d5=await authServer({'silent':!![]});console[_0x2f01e3(0x1d0)](a153_0x258566[_0x2f01e3(0x1c3)](_0x2f01e3(0x1e0)+a153_0x258566[_0x2f01e3(0x1c8)](_0x4188d5?_0x2f01e3(0x1c5):_0x2f01e3(0x1cd))));}else console['log'](a153_0x258566[_0x2f01e3(0x1c3)](_0x2f01e3(0x1e0)+a153_0x258566[_0x2f01e3(0x1c8)](_0x2f01e3(0x1dc))));}await _0x225b36({'projectName':_0x203b3c,'appCode':_0x10ccc0,'env':_0xd31f8||_0x344cca||_0x2f01e3(0x1dd)});}else await _0x225b36({'projectName':_0x203b3c,'env':_0xd31f8||_0x344cca||_0x2f01e3(0x1dd)});}
@@ -1 +1 @@
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
+ function a154_0x379e(){const _0x26202b=['4593846WfXGZo','17302480dBWPFd','3039350OiYpOZ','298566AVZBhY','32uujXqu','14OhXJWD','4915503ZxCHRY','12591016vvkFPc','toFixed','replace','2RjhCLS','472047dJmOQl','now'];a154_0x379e=function(){return _0x26202b;};return a154_0x379e();}function a154_0x1e87(_0x207d08,_0x342cf8){_0x207d08=_0x207d08-0x127;const _0x379e37=a154_0x379e();let _0x1e871a=_0x379e37[_0x207d08];return _0x1e871a;}(function(_0x1eb6bb,_0x186b96){const _0x469a2e=a154_0x1e87,_0x38ff0a=_0x1eb6bb();while(!![]){try{const _0xff89cc=parseInt(_0x469a2e(0x12d))/0x1*(parseInt(_0x469a2e(0x127))/0x2)+parseInt(_0x469a2e(0x128))/0x3*(-parseInt(_0x469a2e(0x12e))/0x4)+parseInt(_0x469a2e(0x12c))/0x5+parseInt(_0x469a2e(0x12a))/0x6*(-parseInt(_0x469a2e(0x12f))/0x7)+parseInt(_0x469a2e(0x131))/0x8+-parseInt(_0x469a2e(0x130))/0x9+parseInt(_0x469a2e(0x12b))/0xa;if(_0xff89cc===_0x186b96)break;else _0x38ff0a['push'](_0x38ff0a['shift']());}catch(_0x584f17){_0x38ff0a['push'](_0x38ff0a['shift']());}}}(a154_0x379e,0xd5750));export function formatElapsed(_0x3efac7){const _0x4fec88=a154_0x1e87,_0x7dfc9a=Date[_0x4fec88(0x129)]()-_0x3efac7;if(_0x7dfc9a<0x3e8)return _0x7dfc9a+'ms';const _0x3aee92=(_0x7dfc9a/0x3e8)[_0x4fec88(0x132)](0x2),_0x4a3f49=_0x3aee92[_0x4fec88(0x133)](/\.?0+$/u,'');return _0x4a3f49+'s';}
@@ -1 +1 @@
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
+ (function(_0x5b0e6b,_0x383660){const _0x4c1d21=a155_0x4c98,_0x9e946b=_0x5b0e6b();while(!![]){try{const _0x4a721e=parseInt(_0x4c1d21(0xe9))/0x1*(parseInt(_0x4c1d21(0xe4))/0x2)+-parseInt(_0x4c1d21(0xe0))/0x3*(parseInt(_0x4c1d21(0x115))/0x4)+-parseInt(_0x4c1d21(0x132))/0x5*(parseInt(_0x4c1d21(0x114))/0x6)+parseInt(_0x4c1d21(0xdd))/0x7*(-parseInt(_0x4c1d21(0x126))/0x8)+-parseInt(_0x4c1d21(0xdc))/0x9+parseInt(_0x4c1d21(0x10e))/0xa+parseInt(_0x4c1d21(0x107))/0xb;if(_0x4a721e===_0x383660)break;else _0x9e946b['push'](_0x9e946b['shift']());}catch(_0x29501d){_0x9e946b['push'](_0x9e946b['shift']());}}}(a155_0x35ee,0x4eda7));import a155_0x29b31c from'path';import a155_0x293d7f from'fs';import a155_0x258607 from'chalk';import a155_0x286bec from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';function a155_0x4c98(_0x5ce2df,_0x400b64){_0x5ce2df=_0x5ce2df-0xd8;const _0x35ee66=a155_0x35ee();let _0x4c98bb=_0x35ee66[_0x5ce2df];return _0x4c98bb;}import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';function a155_0x35ee(){const _0x26b214=['!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','🚀\x20Next\x20Steps:','\x20\x201.\x20Start\x20project:\x20','Project\x20directory\x20','repeat','appCode','Copy\x20project\x20files','readFileSync','start','更新\x20package.json\x20name','项目创建失败:\x20','belowMinimum','message','配置应用AppCode:\x20','parse','name','warn','√\x20Configuration\x20file\x20created,\x20Apps:\x20','description','CLI\x20版本检查','\x20already\x20exists','4904207oewIjP','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','constants','package.json','...','modelCount','API\x20配置拉取异常','5739370JYHBXH','string','info','utf8','√\x20package.json\x20updated:\x20name=','log','1722oaAEWB','90676ZgGeEs','\x20Generated\x20by\x20rabetbase\x20cli\x20','√\x20Pulled\x20','join','existsSync','配置应用AppCode失败','currentVersion','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','stringify','test','\x20\x202.\x20Pull\x20API\x20configuration:\x20','needsUpgrade','cwd','defaultApp','W_OK','green','\x20config\x20set\x20appcode\x20<app-code>\x27','78736YidVKg','\x20model(s)','\x20run\x20start','gray','stableVersion','error','projectCode','resolve','cyan','stop','cookie','Project\x20name\x20cannot\x20be\x20empty','415BYeIFz','cd\x20','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','trim','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','\x20√\x20','success','fail','env','bold','create','2848635KBrKut','224aImcvJ','\x20|\x20Default:\x20','setLogPath','57BrYtMp','Install\x20dependencies','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','production','1400UUSLwp','writeFileSync','更新\x20package.json\x20失败','minimumVersion','1.0.0','556fBrkzr','length','toLocaleString','清理项目目录失败:\x20','projectName','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','\x20api\x20pull','开始创建项目:\x20','version'];a155_0x35ee=function(){return _0x26b214;};return a155_0x35ee();}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(_0x242745){const _0x4c4930=a155_0x4c98,_0x43286e=await checkCliVersion();(_0x43286e['needsUpgrade']||_0x43286e[_0x4c4930(0xfd)])&&(printCliUpgradeWarning(_0x43286e),assertCliVersionSupported(_0x43286e),logger[_0x4c4930(0x110)](_0x4c4930(0xdb),_0x4c4930(0x105),{'currentVersion':_0x43286e[_0x4c4930(0x11b)],'stableVersion':_0x43286e[_0x4c4930(0x12a)],'minimumVersion':_0x43286e[_0x4c4930(0xe7)],'needsUpgrade':_0x43286e[_0x4c4930(0x120)],'belowMinimum':_0x43286e[_0x4c4930(0xfd)]}));if(_0x242745[_0x4c4930(0x12c)]&&_0x242745[_0x4c4930(0xf7)])await runCreate({'projectName':_0x242745[_0x4c4930(0x12c)],'appCode':_0x242745[_0x4c4930(0xf7)],'env':_0x242745[_0x4c4930(0xd9)]},_0x242745);else{if(_0x242745['projectCode']){const _0x366c40=await selectSingleAppcode(_0x242745[_0x4c4930(0x130)]);await runCreate({'projectName':_0x242745[_0x4c4930(0x12c)],'appCode':_0x366c40||undefined,'env':_0x242745[_0x4c4930(0xd9)]},_0x242745);}else await guidedCreateProject(_0x109709=>runCreate(_0x109709,_0x242745),_0x242745[_0x4c4930(0xd9)],_0x242745['cookie']);}}async function runCreate(_0x31d2e9,_0x4bdc52){const _0x250a51=a155_0x4c98;if(!_0x31d2e9[_0x250a51(0xed)]||_0x31d2e9[_0x250a51(0xed)][_0x250a51(0x135)]()==='')throw new Error(_0x250a51(0x131));const _0x325242=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x325242[_0x250a51(0x11e)](_0x31d2e9[_0x250a51(0xed)]))throw new Error(_0x250a51(0x108));if(_0x31d2e9[_0x250a51(0xed)][_0x250a51(0xea)]>0x64)throw new Error(_0x250a51(0xe2));const _0x25714b=a155_0x29b31c[_0x250a51(0x12d)](process[_0x250a51(0x121)](),_0x31d2e9[_0x250a51(0xed)]);if(a155_0x293d7f[_0x250a51(0x119)](_0x25714b))throw new Error(_0x250a51(0xf5)+_0x31d2e9[_0x250a51(0xed)]+_0x250a51(0x106));try{a155_0x293d7f['accessSync'](a155_0x29b31c['dirname'](_0x25714b),a155_0x293d7f[_0x250a51(0x109)][_0x250a51(0x123)]);}catch{throw new Error(_0x250a51(0x134));}logger[_0x250a51(0xdf)](_0x25714b),logger[_0x250a51(0x110)](_0x250a51(0xdb),_0x250a51(0xf0)+_0x31d2e9[_0x250a51(0xed)],{'projectDir':_0x25714b,'appCode':_0x31d2e9[_0x250a51(0xf7)]}),console[_0x250a51(0x113)](),console['log'](a155_0x258607[_0x250a51(0x124)](_0x250a51(0x137))+'Project\x20name:\x20'+a155_0x258607[_0x250a51(0x124)](_0x31d2e9['projectName'])+(_0x31d2e9[_0x250a51(0xf7)]?'\x20|\x20AppCode:\x20'+a155_0x258607[_0x250a51(0x12e)](_0x31d2e9[_0x250a51(0xf7)]):''));try{await runTask(_0x250a51(0xf8),()=>copyProjectTemplate(_0x31d2e9[_0x250a51(0xed)])),await updatePackageJsonName(_0x31d2e9['projectName']),await runTask(_0x250a51(0xe1),()=>installDependencies(_0x31d2e9[_0x250a51(0xed)])),await runTask('Format\x20code',()=>formatProjectCode(_0x31d2e9[_0x250a51(0xed)])),await configureAppCode(_0x31d2e9[_0x250a51(0xed)],_0x31d2e9[_0x250a51(0xf7)]||'',_0x31d2e9['env']);let _0x23db61=![];if(_0x31d2e9[_0x250a51(0xf7)]){console[_0x250a51(0x113)]('*\x20Pulling\x20API\x20configuration...');const _0x198e3c=process[_0x250a51(0x121)]();try{process['chdir'](_0x25714b);const _0xa50323=_0x31d2e9[_0x250a51(0xd9)]||'production';initEnv(_0xa50323);const {configArray:_0x4a1236}=await fetchModelList(_0x31d2e9[_0x250a51(0xf7)],_0x4bdc52[_0x250a51(0x130)]||''),_0x40a253=DEFAULT_API_DIR,_0x26f161=await generateApiFile(_0x4a1236,'',_0x31d2e9['appCode'],!![],_0xa50323,_0x40a253);console[_0x250a51(0x113)](_0x250a51(0x117)+_0x4a1236['length']+'\x20dataset(s),\x20generated\x20'+_0x26f161[_0x250a51(0x10c)]+_0x250a51(0x127)),logger['info'](_0x250a51(0xdb),'API\x20configuration\x20pulled:\x20'+_0x31d2e9[_0x250a51(0xf7)]);}catch(_0x22ea97){_0x23db61=!![],console[_0x250a51(0x113)](_0x250a51(0xf2)),logger['warn'](_0x250a51(0xdb),_0x250a51(0x10d),{'error':_0x22ea97 instanceof Error?_0x22ea97['message']:String(_0x22ea97)});}finally{process['chdir'](_0x198e3c);}}logger[_0x250a51(0x138)](_0x250a51(0xdb),'项目创建完成:\x20'+_0x31d2e9[_0x250a51(0xed)]),console[_0x250a51(0x113)](),console[_0x250a51(0x113)](a155_0x258607[_0x250a51(0x124)]('─'[_0x250a51(0xf6)](0x3c))),console[_0x250a51(0x113)](a155_0x258607['cyan'][_0x250a51(0xda)](_0x250a51(0xf3))),console[_0x250a51(0x113)](),console[_0x250a51(0x113)](_0x250a51(0xf4)+a155_0x258607[_0x250a51(0x12e)][_0x250a51(0xda)](_0x250a51(0x133)+_0x31d2e9[_0x250a51(0xed)]+'\x20&&\x20'+CLI_BIN_NAME+_0x250a51(0x128))),_0x23db61&&console['log'](_0x250a51(0x11f)+a155_0x258607[_0x250a51(0x12e)]['bold'](CLI_BIN_NAME+_0x250a51(0xef))),console['log'](a155_0x258607['green']('─'[_0x250a51(0xf6)](0x3c)));}catch(_0x42fa1f){logger[_0x250a51(0x12b)](_0x250a51(0xdb),_0x250a51(0xfc)+_0x31d2e9[_0x250a51(0xed)],{'error':_0x42fa1f instanceof Error?_0x42fa1f[_0x250a51(0xfe)]:String(_0x42fa1f)});try{a155_0x293d7f[_0x250a51(0x119)](_0x25714b)&&(console['log'](_0x250a51(0x136)+_0x25714b),a155_0x293d7f['rmSync'](_0x25714b,{'recursive':!![],'force':!![]}));}catch{logger[_0x250a51(0x102)](_0x250a51(0xdb),_0x250a51(0xec)+_0x25714b);}throw _0x42fa1f;}}async function runTask(_0x268e78,_0x317f16){const _0x1aaa4d=a155_0x4c98,_0xbbb18e=a155_0x286bec(_0x268e78+_0x1aaa4d(0x10b))[_0x1aaa4d(0xfa)]();try{const _0x235ba2=await _0x317f16();_0xbbb18e[_0x1aaa4d(0x12f)](),console[_0x1aaa4d(0x113)](''+a155_0x258607[_0x1aaa4d(0x124)]('\x20√\x20')+_0x268e78+'\x20'+a155_0x258607[_0x1aaa4d(0x129)]('['+_0x235ba2+']'));}catch(_0x3a6806){_0xbbb18e[_0x1aaa4d(0xd8)](_0x268e78);throw _0x3a6806;}}async function updatePackageJsonName(_0x5aac2f){const _0x1698b3=a155_0x4c98,_0x119f31=a155_0x29b31c['resolve'](process[_0x1698b3(0x121)](),_0x5aac2f),_0x29600c=a155_0x29b31c[_0x1698b3(0x118)](_0x119f31,_0x1698b3(0x10a));try{console[_0x1698b3(0x113)](_0x1698b3(0x11c));const _0x1c36d2=getRabetbaseCliPackageRoot(),_0x520447=a155_0x29b31c[_0x1698b3(0x118)](_0x1c36d2,'package.json');let _0xe27cf0=_0x1698b3(0xe8);try{const _0x13032f=JSON[_0x1698b3(0x100)](a155_0x293d7f[_0x1698b3(0xf9)](_0x520447,_0x1698b3(0x111)));_0xe27cf0=_0x13032f[_0x1698b3(0xf1)]||_0x1698b3(0xe8);}catch{}const _0x21c439=a155_0x293d7f[_0x1698b3(0xf9)](_0x29600c,_0x1698b3(0x111)),_0x4c3aba=JSON[_0x1698b3(0x100)](_0x21c439);_0x4c3aba[_0x1698b3(0x101)]=_0x5aac2f,_0x4c3aba[_0x1698b3(0x104)]=_0x5aac2f+_0x1698b3(0x116)+_0xe27cf0,a155_0x293d7f[_0x1698b3(0xe5)](_0x29600c,JSON[_0x1698b3(0x11d)](_0x4c3aba,null,0x2)+'\x0a',_0x1698b3(0x111)),console[_0x1698b3(0x113)](_0x1698b3(0x112)+_0x5aac2f),logger[_0x1698b3(0x110)]('create',_0x1698b3(0xfb));}catch(_0x202fa4){logger[_0x1698b3(0x12b)](_0x1698b3(0xdb),_0x1698b3(0xe6));throw _0x202fa4;}}async function configureAppCode(_0x1020bc,_0x408544,_0x59c8d8){const _0x166dbb=a155_0x4c98,_0xcef7e5=a155_0x29b31c[_0x166dbb(0x12d)](process[_0x166dbb(0x121)](),_0x1020bc),_0x4bf0c1=a155_0x29b31c[_0x166dbb(0x118)](_0xcef7e5,NEW_CONFIG_NAME);try{_0x408544?console[_0x166dbb(0x113)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x1020bc+':\x20'+_0x408544):console[_0x166dbb(0x113)](_0x166dbb(0xee)+_0x1020bc);const _0x1a5a69=getRabetbaseCliPackageRoot(),_0x1f5cd3=a155_0x29b31c[_0x166dbb(0x118)](_0x1a5a69,_0x166dbb(0x10a));let _0x178330=_0x166dbb(0xe8);try{const _0x5adee8=JSON['parse'](a155_0x293d7f[_0x166dbb(0xf9)](_0x1f5cd3,'utf8'));_0x178330=_0x5adee8[_0x166dbb(0xf1)]||_0x166dbb(0xe8);}catch{}const _0x1a6d88=readConfig(),_0x4f4158=typeof _0x1a6d88[_0x166dbb(0xd9)]===_0x166dbb(0x10f)?_0x1a6d88['env']:undefined,_0x4f5bad={};for(const _0x423584 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x1a6d88[_0x423584]!=null)_0x4f5bad[_0x423584]=_0x1a6d88[_0x423584];}const _0x29264b=buildCanonicalProjectConfig(_0x4f5bad,{'appCodes':_0x408544?[_0x408544]:[],'env':_0x59c8d8||_0x4f4158||_0x166dbb(0xe3),'metadata':{'createdAt':new Date()[_0x166dbb(0xeb)](),'version':_0x178330}});writeConfigFile(_0x4bf0c1,_0x29264b),_0x408544?console[_0x166dbb(0x113)](_0x166dbb(0x103)+Object['keys'](_0x29264b['apps']||{})[_0x166dbb(0x118)](',\x20')+_0x166dbb(0xde)+_0x29264b[_0x166dbb(0x122)]):console[_0x166dbb(0x113)]('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x166dbb(0x125)),logger['info']('create',_0x166dbb(0xff)+_0x408544);}catch(_0x5b890f){logger[_0x166dbb(0x12b)]('create',_0x166dbb(0x11a));}}
@@ -1 +1 @@
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
+ (function(_0x1f264c,_0x7a244){const _0x3dbcf5=a156_0x3a6f,_0x194adf=_0x1f264c();while(!![]){try{const _0x28ec30=parseInt(_0x3dbcf5(0x214))/0x1*(parseInt(_0x3dbcf5(0x201))/0x2)+-parseInt(_0x3dbcf5(0x1e4))/0x3+-parseInt(_0x3dbcf5(0x1f1))/0x4+parseInt(_0x3dbcf5(0x1ed))/0x5*(-parseInt(_0x3dbcf5(0x1e2))/0x6)+-parseInt(_0x3dbcf5(0x1e6))/0x7+parseInt(_0x3dbcf5(0x1e9))/0x8*(-parseInt(_0x3dbcf5(0x1e0))/0x9)+parseInt(_0x3dbcf5(0x1e1))/0xa*(parseInt(_0x3dbcf5(0x1fb))/0xb);if(_0x28ec30===_0x7a244)break;else _0x194adf['push'](_0x194adf['shift']());}catch(_0x1b8e4f){_0x194adf['push'](_0x194adf['shift']());}}}(a156_0x2909,0x5083d));import a156_0x14620d from'path';import a156_0x14574a 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 a156_0x3a6f(_0x498500,_0x5b6d3f){_0x498500=_0x498500-0x1e0;const _0x290949=a156_0x2909();let _0x3a6f06=_0x290949[_0x498500];return _0x3a6f06;}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(_0x59c800,_0x3d264f,_0x19335c,_0x15f942){const _0x256c6c=a156_0x3a6f,_0xb4fcdc=await checkCliVersion();(_0xb4fcdc[_0x256c6c(0x1ec)]||_0xb4fcdc[_0x256c6c(0x1eb)])&&(printCliUpgradeWarning(_0xb4fcdc),assertCliVersionSupported(_0xb4fcdc));if(!_0x59c800||_0x59c800[_0x256c6c(0x1ee)]()==='')throw CliErrors[_0x256c6c(0x21d)](_0x256c6c(0x213));const _0x1d889b=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x1d889b[_0x256c6c(0x205)](_0x59c800))throw CliErrors[_0x256c6c(0x21d)](_0x256c6c(0x217),_0x256c6c(0x203));if(_0x59c800[_0x256c6c(0x1e5)]>0x64)throw CliErrors[_0x256c6c(0x21d)]('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x512942=a156_0x14620d[_0x256c6c(0x20a)](process['cwd'](),_0x59c800);if(existsSync(_0x512942))throw CliErrors['validation'](_0x256c6c(0x216)+_0x59c800+'\x22\x20already\x20exists.',_0x256c6c(0x212));try{const _0x59d0d7=a156_0x14620d[_0x256c6c(0x20e)](_0x512942);await a156_0x14574a[_0x256c6c(0x215)](_0x59d0d7,a156_0x14574a[_0x256c6c(0x207)][_0x256c6c(0x21f)]);}catch{throw CliErrors[_0x256c6c(0x21d)](_0x256c6c(0x1ef),'Check\x20directory\x20permissions.');}try{console[_0x256c6c(0x210)](_0x256c6c(0x20c)+_0x59c800+_0x256c6c(0x20f));const _0x38615e=getSubAppReactDemoTemplateDir();await copyDirectory(_0x38615e,_0x512942),console['log'](_0x256c6c(0x1ff)),await updatePackageJsonName(_0x59c800),console[_0x256c6c(0x210)](_0x256c6c(0x1ea)),console['log'](_0x256c6c(0x1f8)),console['log']('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x512942),console['log'](_0x256c6c(0x21e)),await configureProject(_0x59c800,_0x19335c,_0x3d264f),console[_0x256c6c(0x210)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x19335c&&await pullApiConfig(_0x512942,_0x19335c,_0x3d264f,_0x15f942),console[_0x256c6c(0x210)](_0x256c6c(0x21c)+_0x59c800+_0x256c6c(0x20b)),console[_0x256c6c(0x210)](_0x256c6c(0x1fc)+_0x59c800),console[_0x256c6c(0x210)]('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0x3f0efb){try{existsSync(_0x512942)&&await a156_0x14574a['rm'](_0x512942,{'recursive':!![],'force':!![]});}catch{}throw _0x3f0efb;}}async function updatePackageJsonName(_0x206b67){const _0x56a4f7=a156_0x3a6f,_0x10a368=a156_0x14620d['resolve'](process[_0x56a4f7(0x206)](),_0x206b67),_0x2e6fef=a156_0x14620d[_0x56a4f7(0x1f7)](_0x10a368,_0x56a4f7(0x219)),_0x2fcb86=await a156_0x14574a[_0x56a4f7(0x1f4)](_0x2e6fef,_0x56a4f7(0x200)),_0x559943=JSON[_0x56a4f7(0x204)](_0x2fcb86);_0x559943[_0x56a4f7(0x21b)]=_0x206b67,_0x559943[_0x56a4f7(0x1f3)]=_0x56a4f7(0x1fd),await a156_0x14574a[_0x56a4f7(0x1fe)](_0x2e6fef,JSON[_0x56a4f7(0x202)](_0x559943,null,0x2)+'\x0a');}function detectPackageManager(){const _0x4899e2=a156_0x3a6f;try{return execSync(_0x4899e2(0x218),{'stdio':_0x4899e2(0x1e7)}),_0x4899e2(0x211);}catch{return'npm';}}async function formatCode(_0x37e684){const _0x4ffb58=a156_0x3a6f;try{await execAsync(_0x4ffb58(0x1f9),{'cwd':_0x37e684});}catch{}}function a156_0x2909(){const _0x5700f6=['modelCount','\x20\x20Pulling\x20API\x20configuration...','resolve','\x20created\x20successfully!','*\x20Creating\x20project\x20','\x20model(s)','dirname','...','log','bun','Use\x20a\x20different\x20project\x20name.','Project\x20name\x20cannot\x20be\x20empty.','98428bRGywR','access','Project\x20directory\x20\x22','Project\x20name\x20contains\x20invalid\x20characters.','bun\x20--version','package.json','string','name','\x0a√\x20Project\x20','validation','\x20\x20√\x20Code\x20formatted','W_OK','5097555EeoPiK','6998630uYJTpx','2946YDMQUC','production','1487295TVXaqO','length','2592842SeefcU','ignore','\x20dataset(s),\x20generated\x20','8RRObMR','\x20\x20√\x20package.json\x20updated','belowMinimum','needsUpgrade','4405LhCzWW','trim','Cannot\x20create\x20project\x20in\x20current\x20directory.','\x20\x20√\x20Pulled\x20','12364PVYwWJ','toLocaleString','description','readFile','\x20api\x20pull`\x20manually\x20later.','env','join','\x20\x20Installing\x20dependencies...','bun\x20run\x20format','chdir','33xdazmJ','\x0a\x20\x20cd\x20','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','writeFile','\x20\x20√\x20Project\x20template\x20created','utf-8','2CnRUVG','stringify','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','parse','test','cwd','constants'];a156_0x2909=function(){return _0x5700f6;};return a156_0x2909();}async function configureProject(_0x205282,_0x184491,_0x1be0d5){const _0x1c4164=a156_0x3a6f,_0x3f6376=a156_0x14620d[_0x1c4164(0x20a)](process[_0x1c4164(0x206)](),_0x205282),_0x4008dd=a156_0x14620d[_0x1c4164(0x1f7)](_0x3f6376,NEW_CONFIG_NAME),_0x1eb96c=readConfig(),_0x319dc2=typeof _0x1eb96c['env']===_0x1c4164(0x21a)?_0x1eb96c[_0x1c4164(0x1f6)]:undefined,_0x572a2e={};for(const _0x48b86c of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x1eb96c[_0x48b86c]!=null)_0x572a2e[_0x48b86c]=_0x1eb96c[_0x48b86c];}const _0x426b00=buildCanonicalProjectConfig(_0x572a2e,{'appCodes':_0x184491?[_0x184491]:[],'env':_0x1be0d5||_0x319dc2||_0x1c4164(0x1e3),'metadata':{'createdAt':new Date()[_0x1c4164(0x1f2)](),'version':getCliVersion()}});writeConfigFile(_0x4008dd,_0x426b00);}async function pullApiConfig(_0x2d4f1b,_0x4ce086,_0x379a87,_0x437e5d){const _0x57d0b0=a156_0x3a6f,_0x37744e=process[_0x57d0b0(0x206)]();try{process[_0x57d0b0(0x1fa)](_0x2d4f1b);const _0x938838=_0x379a87||_0x57d0b0(0x1e3);initEnv(_0x938838),console[_0x57d0b0(0x210)](_0x57d0b0(0x209));const {configArray:_0x2e047d}=await fetchModelList(_0x4ce086,_0x437e5d||''),_0x103ad5=await generateApiFile(_0x2e047d,'',_0x4ce086,!![],_0x938838,DEFAULT_API_DIR);console[_0x57d0b0(0x210)](_0x57d0b0(0x1f0)+_0x2e047d[_0x57d0b0(0x1e5)]+_0x57d0b0(0x1e8)+_0x103ad5[_0x57d0b0(0x208)]+_0x57d0b0(0x20d));}catch(_0xb6e1e1){console['log']('\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`'+CLI_BIN_NAME+_0x57d0b0(0x1f5));}finally{process[_0x57d0b0(0x1fa)](_0x37744e);}}
@@ -1 +1 @@
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
+ (function(_0x5cd6cd,_0x16b2d2){const _0x2dc26b=a157_0x5835,_0x2c3455=_0x5cd6cd();while(!![]){try{const _0x385a28=-parseInt(_0x2dc26b(0xbf))/0x1+-parseInt(_0x2dc26b(0xc4))/0x2*(parseInt(_0x2dc26b(0xbe))/0x3)+-parseInt(_0x2dc26b(0xc6))/0x4+-parseInt(_0x2dc26b(0xc7))/0x5*(parseInt(_0x2dc26b(0xc1))/0x6)+parseInt(_0x2dc26b(0xbd))/0x7*(parseInt(_0x2dc26b(0xc2))/0x8)+parseInt(_0x2dc26b(0xc8))/0x9*(parseInt(_0x2dc26b(0xc0))/0xa)+parseInt(_0x2dc26b(0xc3))/0xb;if(_0x385a28===_0x16b2d2)break;else _0x2c3455['push'](_0x2c3455['shift']());}catch(_0x57c19b){_0x2c3455['push'](_0x2c3455['shift']());}}}(a157_0x5905,0x35ce2));import a157_0x39caf8 from'node:path';import{fileURLToPath}from'node:url';function a157_0x5835(_0x183a6d,_0x17f403){_0x183a6d=_0x183a6d-0xbc;const _0x5905a1=a157_0x5905();let _0x58358a=_0x5905a1[_0x183a6d];return _0x58358a;}function a157_0x5905(){const _0x3570f1=['246722QasrVJ','255120jmtUdQ','203219jzbwlg','150kcvUbc','19734TgAYQQ','16dUlovW','4676265rPgyUC','2KlfItI','sub-app-react-demo','117704TqwBqr','545FTcXbz','240579CejgSz','projects'];a157_0x5905=function(){return _0x3570f1;};return a157_0x5905();}const __dirname=a157_0x39caf8['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){return a157_0x39caf8['resolve'](__dirname,'../../../../');}export function getSubAppReactDemoTemplateDir(){const _0x588539=a157_0x5835;return a157_0x39caf8['join'](getRabetbaseCliPackageRoot(),'templates',_0x588539(0xbc),_0x588539(0xc5));}
@@ -1 +1 @@
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
+ (function(_0x36c647,_0x5250c4){const _0x26d4ad=a158_0xf499,_0x2007aa=_0x36c647();while(!![]){try{const _0x324837=-parseInt(_0x26d4ad(0x69))/0x1*(parseInt(_0x26d4ad(0x64))/0x2)+parseInt(_0x26d4ad(0x6d))/0x3+-parseInt(_0x26d4ad(0x71))/0x4+-parseInt(_0x26d4ad(0x6a))/0x5+parseInt(_0x26d4ad(0x6f))/0x6+-parseInt(_0x26d4ad(0x70))/0x7*(parseInt(_0x26d4ad(0x6b))/0x8)+parseInt(_0x26d4ad(0x66))/0x9;if(_0x324837===_0x5250c4)break;else _0x2007aa['push'](_0x2007aa['shift']());}catch(_0x44979b){_0x2007aa['push'](_0x2007aa['shift']());}}}(a158_0x4882,0x1dd8e));import a158_0x571364 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a158_0xf499(_0x758241,_0x2c3c0f){_0x758241=_0x758241-0x64;const _0x48825f=a158_0x4882();let _0xf4990=_0x48825f[_0x758241];return _0xf4990;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a158_0x4882(){const _0x33ea6e=['resolve','138058WWqoZI','项目模板复制失败','4375458SGboZm','error','项目模板复制完成','1Srblpx','1198265fktnDs','104jwUzGS','copy','156909aZgcwO','info','678360xssgxb','59269RtDwbb','442072xIuStL','now','success'];a158_0x4882=function(){return _0x33ea6e;};return a158_0x4882();}const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x871f45){const _0x41f639=a158_0xf499,_0x43372d=Date['now'](),_0xf507db=a158_0x571364[_0x41f639(0x74)](process['cwd'](),_0x871f45);try{logger[_0x41f639(0x6e)]('copy','开始复制项目模板',{'projectCode':_0x871f45,'templateDir':templateDir}),await copyDirectory(templateDir,_0xf507db);const _0x153c48=Date[_0x41f639(0x72)]()-_0x43372d;logger[_0x41f639(0x73)](_0x41f639(0x6c),_0x41f639(0x68),_0x153c48,{'projectCode':_0x871f45});}catch(_0x2deed6){const _0x46cf40=Date[_0x41f639(0x72)]()-_0x43372d;logger[_0x41f639(0x67)](_0x41f639(0x6c),_0x41f639(0x65),{'projectCode':_0x871f45,'error':_0x2deed6 instanceof Error?_0x2deed6['message']:String(_0x2deed6),'duration':_0x46cf40});throw _0x2deed6;}return formatElapsed(_0x43372d);}
@@ -1 +1 @@
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
+ (function(_0x2a926b,_0x6a254b){const _0x3c3e84=a159_0x3c2a,_0x2e46df=_0x2a926b();while(!![]){try{const _0x2eab29=-parseInt(_0x3c3e84(0x1f3))/0x1*(parseInt(_0x3c3e84(0x1f2))/0x2)+parseInt(_0x3c3e84(0x1eb))/0x3+parseInt(_0x3c3e84(0x1ee))/0x4*(parseInt(_0x3c3e84(0x1ed))/0x5)+parseInt(_0x3c3e84(0x1e7))/0x6+-parseInt(_0x3c3e84(0x1ea))/0x7+parseInt(_0x3c3e84(0x1f6))/0x8*(-parseInt(_0x3c3e84(0x1f4))/0x9)+parseInt(_0x3c3e84(0x1ef))/0xa;if(_0x2eab29===_0x6a254b)break;else _0x2e46df['push'](_0x2e46df['shift']());}catch(_0x1fbcb0){_0x2e46df['push'](_0x2e46df['shift']());}}}(a159_0x18e1,0x6f39f));function a159_0x18e1(){const _0x6ad7cb=['error','2620744FOFUUH','519498ZSXoSL','format','1029065IRhTci','8IhuFim','9159630HuBkPF','prettier','cwd','3566zQRzIn','340JgwrDF','6436026fgzHqo','message','8SCqKBu','3903324OQLGyo','now'];a159_0x18e1=function(){return _0x6ad7cb;};return a159_0x18e1();}function a159_0x3c2a(_0x4e2153,_0x3ecbe9){_0x4e2153=_0x4e2153-0x1e7;const _0x18e1e0=a159_0x18e1();let _0x3c2aa3=_0x18e1e0[_0x4e2153];return _0x3c2aa3;}import a159_0xa61d8e 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(_0x86478d){const _0x112d23=a159_0x3c2a,_0x5a5cba=Date[_0x112d23(0x1e8)](),_0x1953b5=a159_0xa61d8e['resolve'](process[_0x112d23(0x1f1)](),_0x86478d);try{logger['info'](_0x112d23(0x1ec),'开始格式化代码',{'projectCode':_0x86478d}),await execa(resolveNpmBin('npx'),[_0x112d23(0x1f0),'--write','.'],{'cwd':_0x1953b5});const _0x3f1061=Date[_0x112d23(0x1e8)]()-_0x5a5cba;logger['success']('format','代码格式化完成',_0x3f1061,{'projectCode':_0x86478d});}catch(_0x5c2174){const _0x3aa3ee=Date[_0x112d23(0x1e8)]()-_0x5a5cba;logger[_0x112d23(0x1e9)](_0x112d23(0x1ec),'代码格式化失败',{'projectCode':_0x86478d,'error':_0x5c2174 instanceof Error?_0x5c2174[_0x112d23(0x1f5)]:String(_0x5c2174),'duration':_0x3aa3ee});throw _0x5c2174;}return formatElapsed(_0x5a5cba);}
@@ -1 +1 @@
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
+ (function(_0x2abb69,_0x1b71d5){const _0x209a0c=a160_0x3708,_0x5bade7=_0x2abb69();while(!![]){try{const _0x5c9f01=parseInt(_0x209a0c(0xa8))/0x1*(parseInt(_0x209a0c(0xac))/0x2)+parseInt(_0x209a0c(0xa2))/0x3*(parseInt(_0x209a0c(0x9d))/0x4)+parseInt(_0x209a0c(0x98))/0x5+parseInt(_0x209a0c(0xa6))/0x6+-parseInt(_0x209a0c(0x9f))/0x7*(parseInt(_0x209a0c(0x9c))/0x8)+parseInt(_0x209a0c(0xa1))/0x9*(parseInt(_0x209a0c(0x9b))/0xa)+parseInt(_0x209a0c(0x97))/0xb*(-parseInt(_0x209a0c(0xa7))/0xc);if(_0x5c9f01===_0x1b71d5)break;else _0x5bade7['push'](_0x5bade7['shift']());}catch(_0x3d1a56){_0x5bade7['push'](_0x5bade7['shift']());}}}(a160_0x1238,0xb408d));import a160_0x130a3e from'node:path';function a160_0x1238(){const _0x3d85fa=['2255hFNDEt','2786730yBbjGJ','https://registry.npmmirror.com','开始安装依赖','230rJuaXo','9478984csdYjc','4mWyMSh','依赖安装失败','7yYlAMK','cwd','302661sPTdeZ','1516113UbOAwK','install','resolve','success','7284462cOlmop','140304IMwGDk','1Wwtkpi','now','error','message','2537786TXbDYU','依赖安装完成'];a160_0x1238=function(){return _0x3d85fa;};return a160_0x1238();}import{execa}from'execa';function a160_0x3708(_0x3d03da,_0x828278){_0x3d03da=_0x3d03da-0x97;const _0x123867=a160_0x1238();let _0x37084a=_0x123867[_0x3d03da];return _0x37084a;}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(_0x3ff478){const _0x2d02cf=a160_0x3708,_0x1a8bf7=Date[_0x2d02cf(0xa9)](),_0x3e9d18=a160_0x130a3e[_0x2d02cf(0xa4)](process[_0x2d02cf(0xa0)](),_0x3ff478);try{logger['info']('install',_0x2d02cf(0x9a),{'projectCode':_0x3ff478,'registry':'https://registry.npmmirror.com'}),await execa(resolveNpmBin('npm'),[_0x2d02cf(0xa3),'--registry',_0x2d02cf(0x99)],{'cwd':_0x3e9d18});const _0x14b0ba=Date[_0x2d02cf(0xa9)]()-_0x1a8bf7;logger[_0x2d02cf(0xa5)](_0x2d02cf(0xa3),_0x2d02cf(0xad),_0x14b0ba,{'projectCode':_0x3ff478});}catch(_0x5174b9){const _0x24edb6=Date['now']()-_0x1a8bf7;logger[_0x2d02cf(0xaa)]('install',_0x2d02cf(0x9e),{'projectCode':_0x3ff478,'error':_0x5174b9 instanceof Error?_0x5174b9[_0x2d02cf(0xab)]:String(_0x5174b9),'duration':_0x24edb6});throw _0x5174b9;}return formatElapsed(_0x1a8bf7);}
@@ -1 +1 @@
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
+ const a161_0x4819c7=a161_0x5138;(function(_0x43a2de,_0xbb75f1){const _0x4569c4=a161_0x5138,_0x1f552f=_0x43a2de();while(!![]){try{const _0x2c5aec=-parseInt(_0x4569c4(0x10d))/0x1+parseInt(_0x4569c4(0xfb))/0x2+-parseInt(_0x4569c4(0x11f))/0x3+parseInt(_0x4569c4(0xff))/0x4+-parseInt(_0x4569c4(0x105))/0x5+-parseInt(_0x4569c4(0x106))/0x6*(-parseInt(_0x4569c4(0x11e))/0x7)+parseInt(_0x4569c4(0x103))/0x8*(parseInt(_0x4569c4(0xfa))/0x9);if(_0x2c5aec===_0xbb75f1)break;else _0x1f552f['push'](_0x1f552f['shift']());}catch(_0x192faa){_0x1f552f['push'](_0x1f552f['shift']());}}}(a161_0x46eb,0x68438));import{CliErrors}from'../../errors.js';function a161_0x5138(_0xef885e,_0x51cad6){_0xef885e=_0xef885e-0xf9;const _0x46ebbc=a161_0x46eb();let _0x513818=_0x46ebbc[_0xef885e];return _0x513818;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';function a161_0x46eb(){const _0x8b739b=['Create\x20a\x20new\x20project','154808OVEGGC','create','string','init','yes','../../commands/project/create/non-interactive.js','args','upgrade','Skip\x20confirmation\x20prompt','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','App\x20code\x20to\x20initialize','env','nonInteractive','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','661822VPycwT','305886lmAXlS','../../commands/project/create/main.js','Target\x20environment','name','3821859TvunVK','285536HZSpoz','validation','cookie','Auto-confirm\x20prompts','2379288UlRxcX','boolean','trim','write','8mJwQBL','\x20workspace\x20init','2864765CpmtlY','6pySalL','Usage:\x20','project','appcode','2026-07','str'];a161_0x46eb=function(){return _0x8b739b;};return a161_0x46eb();}import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a161_0x4819c7(0x109),'type':a161_0x4819c7(0x10f),'description':a161_0x4819c7(0x118)},{'name':a161_0x4819c7(0x119),'type':a161_0x4819c7(0x10f),'description':a161_0x4819c7(0x121)},{'name':a161_0x4819c7(0x111),'type':a161_0x4819c7(0x100),'description':a161_0x4819c7(0xfe),'default':![]}],createFlags=[{'name':a161_0x4819c7(0xf9),'type':'string','description':'Project\x20name'},{'name':'env','type':a161_0x4819c7(0x10f),'description':a161_0x4819c7(0x121)},{'name':a161_0x4819c7(0x109),'type':a161_0x4819c7(0x10f),'description':a161_0x4819c7(0x117)}],upgradeFlags=[{'name':a161_0x4819c7(0x111),'type':a161_0x4819c7(0x100),'description':a161_0x4819c7(0x115),'default':![]}];export const projectDefinitions=[{'service':a161_0x4819c7(0x108),'command':a161_0x4819c7(0x110),'description':a161_0x4819c7(0x116),'risk':a161_0x4819c7(0x102),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a161_0x4819c7(0x104),'since':a161_0x4819c7(0x10a)},'flags':initFlags,async 'execute'(_0x574e63){const _0x55a9af=a161_0x4819c7;return await initConfig({'appcode':_0x574e63[_0x55a9af(0x10b)](_0x55a9af(0x109))||undefined,'env':_0x574e63[_0x55a9af(0x10b)](_0x55a9af(0x119))||undefined,'autoYes':_0x574e63['bool']('yes')}),{'ok':!![]};}},{'service':a161_0x4819c7(0x108),'command':a161_0x4819c7(0x10e),'description':a161_0x4819c7(0x10c),'risk':a161_0x4819c7(0x102),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a161_0x4819c7(0x11c),'required':![]}],'flags':createFlags,async 'execute'(_0x5b2852){const _0x11514d=a161_0x4819c7,{createApp:_0x1c9a03}=await import(_0x11514d(0x120)),{createProjectNonInteractive:_0x648930}=await import(_0x11514d(0x112)),_0x5decb8=_0x5b2852[_0x11514d(0x10b)](_0x11514d(0xf9))[_0x11514d(0x101)]()||_0x5b2852[_0x11514d(0x113)][0x0]?.[_0x11514d(0x101)](),_0x30cc8f=_0x5b2852['str'](_0x11514d(0x119))||undefined,_0x6f9ae9=_0x5b2852[_0x11514d(0x10b)](_0x11514d(0x109))||undefined;if(_0x5b2852[_0x11514d(0x11a)]){if(!_0x5decb8)throw CliErrors[_0x11514d(0xfc)](_0x11514d(0x11d),_0x11514d(0x107)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x648930(_0x5decb8,_0x30cc8f,_0x6f9ae9,_0x5b2852[_0x11514d(0xfd)]);}else await _0x1c9a03({'projectCode':_0x5decb8,'appCode':_0x6f9ae9,'env':_0x30cc8f,'cookie':_0x5b2852[_0x11514d(0xfd)]});return{'ok':!![]};}},{'service':a161_0x4819c7(0x108),'command':a161_0x4819c7(0x114),'description':a161_0x4819c7(0x11b),'risk':a161_0x4819c7(0x102),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x132b89){return await upgradeApp(_0x132b89['nonInteractive'],{'yes':_0x132b89['bool']('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
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);}}
1
+ (function(_0x4ce70d,_0x3b76c8){const _0x599998=a162_0x3f04,_0x3fc6eb=_0x4ce70d();while(!![]){try{const _0x9279cf=-parseInt(_0x599998(0x15e))/0x1*(parseInt(_0x599998(0x165))/0x2)+parseInt(_0x599998(0x15f))/0x3*(parseInt(_0x599998(0x15a))/0x4)+-parseInt(_0x599998(0x134))/0x5*(parseInt(_0x599998(0x153))/0x6)+-parseInt(_0x599998(0x13a))/0x7+-parseInt(_0x599998(0x136))/0x8+parseInt(_0x599998(0x15d))/0x9*(parseInt(_0x599998(0x163))/0xa)+-parseInt(_0x599998(0x147))/0xb*(-parseInt(_0x599998(0x15c))/0xc);if(_0x9279cf===_0x3b76c8)break;else _0x3fc6eb['push'](_0x3fc6eb['shift']());}catch(_0x5e3d80){_0x3fc6eb['push'](_0x3fc6eb['shift']());}}}(a162_0x8529,0x450ca));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a162_0x356676 from'chalk';function a162_0x8529(){const _0x4564e3=['log','346722MZpcVb','\x20\x20Apps:\x20','\x20→\x20.rabetbase.json','\x20api\x20pull\x27','defaultApp','app','production','5MchWvr','\x20api\x20generate\x27\x20and\x20\x27','616752nrfeCs','cyan','从旧配置文件升级成功','green','486836EUrhGY','yellow','Please\x20enter\x20App\x20Code:','.rabetbase.json','?\x20(Old\x20file\x20→\x20*.bak)','Migration\x20cancelled.\x20Run\x20`','\x20\x20appcode:\x20','join','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','../..','setLogPath','Upgrade\x20it\x20to\x20','初始化项目配置文件成功','1344233gbTowy','apps','parse','✓\x20Upgraded\x20','bold','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','string','init','utf8','version','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','1.0.0','1476702HvCseb','env','.bak','info','\x20workspace\x20init`\x20to\x20start\x20fresh.','cwd','\x20\x20Default:\x20','788400ybyGiE','keys','60hoPHWk','19341zlaapZ','1CeOMgR','3oCxTQc','appcode','App\x20Code\x20cannot\x20be\x20empty','toLocaleString','190LAzORM'];a162_0x8529=function(){return _0x4564e3;};return a162_0x8529();}function a162_0x3f04(_0x30594a,_0x486705){_0x30594a=_0x30594a-0x132;const _0x8529df=a162_0x8529();let _0x3f0445=_0x8529df[_0x30594a];return _0x3f0445;}import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x46be7e){const _0x5eedf6=a162_0x3f04,{appcode:_0x3a2061,env:_0x3f664e,autoYes:_0x1684f0}=_0x46be7e,_0xed3e73=process[_0x5eedf6(0x158)]();if(getProjectConfigPath())throw new Error(_0x5eedf6(0x142));let _0x171279;for(const _0x438e3c of LEGACY_CONFIG_NAMES){const _0x127adf=resolve(_0xed3e73,_0x438e3c);if(existsSync(_0x127adf)){_0x171279=_0x127adf;break;}}if(_0x171279){let _0x15036d={};try{_0x15036d=JSON['parse'](readFileSync(_0x171279,_0x5eedf6(0x14f)));}catch{}const _0x5a4972=basename(_0x171279),_0x1b313e=_0x15036d?.['appcode']||_0x15036d?.[_0x5eedf6(0x132)];let _0x1cc762=_0x1684f0;!_0x1684f0&&(console[_0x5eedf6(0x164)](a162_0x356676[_0x5eedf6(0x13b)](_0x5eedf6(0x151)+a162_0x356676[_0x5eedf6(0x14b)](_0x5a4972))),_0x1b313e&&console[_0x5eedf6(0x164)](a162_0x356676['cyan'](_0x5eedf6(0x140)+_0x1b313e)),_0x1cc762=await confirm({'message':_0x5eedf6(0x145)+a162_0x356676[_0x5eedf6(0x14b)](_0x5eedf6(0x13d))+_0x5eedf6(0x13e),'default':!![]}));if(!_0x1cc762){console[_0x5eedf6(0x164)](_0x5eedf6(0x13f)+CLI_BIN_NAME+_0x5eedf6(0x157));return;}const _0x355163=resolve(_0xed3e73,NEW_CONFIG_NAME),_0xcd2d0d=getCliVersionFromPkg(),_0x5b578f=readRawConfig(),_0x13b20b=_0x3a2061||(typeof _0x15036d?.[_0x5eedf6(0x160)]===_0x5eedf6(0x14d)?_0x15036d[_0x5eedf6(0x160)]:undefined)||(typeof _0x15036d?.[_0x5eedf6(0x132)]===_0x5eedf6(0x14d)?_0x15036d[_0x5eedf6(0x132)]:undefined)||await askAppcode(),_0x3710e9=typeof _0x15036d?.[_0x5eedf6(0x154)]===_0x5eedf6(0x14d)?_0x15036d['env']:typeof _0x5b578f['env']==='string'?_0x5b578f[_0x5eedf6(0x154)]:_0x5eedf6(0x133),_0x5354c5=buildCanonicalProjectConfig({..._0x5b578f,..._0x15036d},{'appCodes':[_0x13b20b],'env':_0x3710e9,'metadata':{'version':_0xcd2d0d,'migratedAt':new Date()[_0x5eedf6(0x162)](),'migratedFrom':_0x171279}});writeConfigFile(_0x355163,_0x5354c5);const _0x479536=_0x171279+_0x5eedf6(0x155);renameSync(_0x171279,_0x479536),logger[_0x5eedf6(0x144)](_0xed3e73),logger['info'](_0x5eedf6(0x14e),_0x5eedf6(0x138),{'from':_0x171279,'to':_0x355163,'appcode':_0x13b20b,'env':_0x5354c5[_0x5eedf6(0x154)]}),console[_0x5eedf6(0x164)](a162_0x356676[_0x5eedf6(0x139)](_0x5eedf6(0x14a)+_0x5a4972+_0x5eedf6(0x167))),console['log'](a162_0x356676[_0x5eedf6(0x137)](_0x5eedf6(0x166)+Object[_0x5eedf6(0x15b)](_0x5354c5[_0x5eedf6(0x148)]||{})[_0x5eedf6(0x141)](',\x20'))),console[_0x5eedf6(0x164)](a162_0x356676[_0x5eedf6(0x137)](_0x5eedf6(0x159)+_0x5354c5[_0x5eedf6(0x169)])),console[_0x5eedf6(0x164)](a162_0x356676['gray']('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x5a4972+_0x5eedf6(0x155)));return;}const _0x3c473b=_0x3a2061||await askAppcode(),_0x385b89=resolve(_0xed3e73,NEW_CONFIG_NAME),_0x2f0b92=getCliVersionFromPkg(),_0x5d9ba7=readRawConfig(),_0x272367=typeof _0x5d9ba7[_0x5eedf6(0x154)]===_0x5eedf6(0x14d)?_0x5d9ba7[_0x5eedf6(0x154)]:undefined,_0x49e06c=buildCanonicalProjectConfig({},{'appCodes':[_0x3c473b],'env':_0x3f664e||_0x272367||_0x5eedf6(0x133),'metadata':{'version':_0x2f0b92,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x385b89,_0x49e06c),logger['setLogPath'](_0xed3e73),logger[_0x5eedf6(0x156)](_0x5eedf6(0x14e),_0x5eedf6(0x146),{'appcode':_0x3c473b,'env':_0x49e06c[_0x5eedf6(0x154)],'version':_0x49e06c[_0x5eedf6(0x150)],'configPath':_0x385b89}),console[_0x5eedf6(0x164)](a162_0x356676[_0x5eedf6(0x139)](_0x5eedf6(0x14c))),console[_0x5eedf6(0x164)](a162_0x356676[_0x5eedf6(0x137)](_0x5eedf6(0x166)+Object[_0x5eedf6(0x15b)](_0x49e06c[_0x5eedf6(0x148)]||{})[_0x5eedf6(0x141)](',\x20'))),console[_0x5eedf6(0x164)](a162_0x356676['cyan']('\x20\x20Default:\x20'+_0x49e06c['defaultApp'])),console[_0x5eedf6(0x164)]('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x5eedf6(0x135)+CLI_BIN_NAME+_0x5eedf6(0x168));}function askAppcode(){const _0x1dcd76=a162_0x3f04;return input({'message':_0x1dcd76(0x13c),'validate':_0x56cd2e=>{const _0x368395=_0x1dcd76;if(!_0x56cd2e['trim']())return _0x368395(0x161);const {valid:_0x31775b,message:_0x3b3e9f}=validateAppcode(_0x56cd2e['trim']());return _0x31775b||_0x3b3e9f||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x426612=a162_0x3f04;try{const _0x276dfc=fileURLToPath(import.meta.url),_0x3bbf80=resolve(dirname(_0x276dfc),_0x426612(0x143)),_0x50b28b=JSON[_0x426612(0x149)](readFileSync(resolve(_0x3bbf80,'package.json'),_0x426612(0x14f)));return _0x50b28b['version']||_0x426612(0x152);}catch{return _0x426612(0x152);}}