@lovrabet/rabetbase-cli 2.3.6 → 2.3.7-beta.2

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 (243) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -0
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -0
  79. package/lib/commands/db/analyze-batch-plan.js +1 -0
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -0
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/logs/index.js +1 -1
  101. package/lib/commands/menu/index.js +1 -1
  102. package/lib/commands/menu/list.js +1 -1
  103. package/lib/commands/menu/shared/compare-table.js +1 -1
  104. package/lib/commands/menu/shared/index.js +1 -1
  105. package/lib/commands/menu/shared/inquirer.js +1 -1
  106. package/lib/commands/menu/shared/local-pages.js +1 -1
  107. package/lib/commands/menu/shared/logic.js +1 -1
  108. package/lib/commands/menu/shared/service.js +1 -1
  109. package/lib/commands/menu/shared/sync-core.js +1 -1
  110. package/lib/commands/menu/shared/update-core.js +1 -1
  111. package/lib/commands/menu/shared/valid-url.js +1 -1
  112. package/lib/commands/menu/sync.js +1 -1
  113. package/lib/commands/menu/update.js +1 -1
  114. package/lib/commands/page/generate-start.js +1 -1
  115. package/lib/commands/page/generate-status.js +1 -1
  116. package/lib/commands/page/index.js +1 -1
  117. package/lib/commands/page/pull.js +1 -1
  118. package/lib/commands/page/push.js +1 -1
  119. package/lib/commands/page/relation-audit.js +1 -1
  120. package/lib/commands/page/shared.js +1 -1
  121. package/lib/commands/page/standard-page-status.js +1 -1
  122. package/lib/commands/page/sync.js +1 -1
  123. package/lib/commands/permit/index.js +1 -1
  124. package/lib/commands/permit/page-get.js +1 -1
  125. package/lib/commands/permit/page-set.js +1 -1
  126. package/lib/commands/permit/role-apis-set.js +1 -1
  127. package/lib/commands/permit/role-menus-set.js +1 -1
  128. package/lib/commands/permit/role-menus.js +1 -1
  129. package/lib/commands/permit/shared.js +1 -1
  130. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  131. package/lib/commands/project/create/format-elapsed.js +1 -1
  132. package/lib/commands/project/create/main.js +1 -1
  133. package/lib/commands/project/create/non-interactive.js +1 -1
  134. package/lib/commands/project/create/project-template-path.js +1 -1
  135. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  136. package/lib/commands/project/create/use-format-code.js +1 -1
  137. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  138. package/lib/commands/project/index.js +1 -1
  139. package/lib/commands/project/init.js +1 -1
  140. package/lib/commands/project/upgrade.js +1 -1
  141. package/lib/commands/registry.js +1 -1
  142. package/lib/commands/role/create.js +1 -1
  143. package/lib/commands/role/delete.js +1 -1
  144. package/lib/commands/role/detail.js +1 -1
  145. package/lib/commands/role/index.js +1 -1
  146. package/lib/commands/role/list.js +1 -1
  147. package/lib/commands/role/shared.js +1 -1
  148. package/lib/commands/role/update.js +1 -1
  149. package/lib/commands/role/user-add.js +1 -1
  150. package/lib/commands/role/user-remove.js +1 -1
  151. package/lib/commands/role/user-resolve.js +1 -1
  152. package/lib/commands/run/index.js +1 -1
  153. package/lib/commands/schema.js +1 -1
  154. package/lib/commands/sql/create.js +1 -1
  155. package/lib/commands/sql/delete.js +1 -1
  156. package/lib/commands/sql/detail.js +1 -1
  157. package/lib/commands/sql/exec.js +1 -1
  158. package/lib/commands/sql/index.js +1 -1
  159. package/lib/commands/sql/list.js +1 -1
  160. package/lib/commands/sql/pull.js +1 -1
  161. package/lib/commands/sql/push.js +1 -1
  162. package/lib/commands/sql/save.js +1 -1
  163. package/lib/commands/sql/shared.js +1 -1
  164. package/lib/commands/sql/status.js +1 -1
  165. package/lib/commands/sql/validate.js +1 -1
  166. package/lib/commands/workspace/add.js +1 -1
  167. package/lib/commands/workspace/index.js +1 -1
  168. package/lib/commands/workspace/remove.js +1 -1
  169. package/lib/config/schema.js +1 -1
  170. package/lib/constant/cdn.js +1 -1
  171. package/lib/constant/cli.js +1 -1
  172. package/lib/constant/defaults.js +1 -1
  173. package/lib/constant/domain.js +1 -1
  174. package/lib/constant/env.js +1 -1
  175. package/lib/constant/output.js +1 -1
  176. package/lib/constant/paths.js +1 -1
  177. package/lib/constant/risk.js +1 -1
  178. package/lib/context/app-resolver.js +1 -1
  179. package/lib/context/auth-resolver.js +1 -1
  180. package/lib/context/config-loader.js +1 -1
  181. package/lib/context.js +1 -1
  182. package/lib/core/alias-resolver.js +1 -1
  183. package/lib/core/api-client.js +1 -1
  184. package/lib/core/bff/config.js +1 -1
  185. package/lib/core/bff/file-system.js +1 -1
  186. package/lib/core/bff/hash.js +1 -1
  187. package/lib/core/bff/lock.js +1 -1
  188. package/lib/core/bff/utils.js +1 -1
  189. package/lib/core/db-resolver.js +1 -1
  190. package/lib/core/page/file-system.js +1 -1
  191. package/lib/core/page/hash.js +1 -1
  192. package/lib/core/page/lock.js +1 -1
  193. package/lib/core/sql-sync/config.js +1 -1
  194. package/lib/core/sql-sync/file-system.js +1 -1
  195. package/lib/core/sql-sync/hash.js +1 -1
  196. package/lib/core/sql-sync/lock.js +1 -1
  197. package/lib/core/sql-sync/utils.js +1 -1
  198. package/lib/core/sql-validator.js +1 -1
  199. package/lib/errors.js +1 -1
  200. package/lib/framework/build-all-flags.js +1 -1
  201. package/lib/framework/flags.js +1 -1
  202. package/lib/framework/help.js +1 -1
  203. package/lib/framework/index.js +1 -1
  204. package/lib/framework/output.js +1 -1
  205. package/lib/framework/response.js +1 -1
  206. package/lib/framework/runner-alias.js +1 -1
  207. package/lib/framework/runner.js +1 -1
  208. package/lib/framework/schema-export.js +1 -1
  209. package/lib/framework/types.js +1 -1
  210. package/lib/generated/build-info.js +1 -1
  211. package/lib/help.js +1 -1
  212. package/lib/skills/main.js +1 -1
  213. package/lib/skills/npx-skills-add.js +1 -1
  214. package/lib/telemetry/cli-command-trace.js +1 -1
  215. package/lib/telemetry/cli-help-trace.js +1 -1
  216. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  217. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  218. package/lib/telemetry/send-cli-trace-log.js +1 -1
  219. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  220. package/lib/utils/ai_config.js +1 -1
  221. package/lib/utils/apply-jq-filter.js +1 -1
  222. package/lib/utils/cdn-config.js +1 -1
  223. package/lib/utils/check-sdk-version.js +1 -1
  224. package/lib/utils/cli-version-check.js +1 -1
  225. package/lib/utils/cli-version-policy.js +1 -1
  226. package/lib/utils/config.js +1 -1
  227. package/lib/utils/copy-directory.js +1 -1
  228. package/lib/utils/entity-with-id.js +1 -1
  229. package/lib/utils/file-utils.js +1 -1
  230. package/lib/utils/guides-cdn.js +1 -1
  231. package/lib/utils/http-client.js +1 -1
  232. package/lib/utils/is-non-interactive.js +1 -1
  233. package/lib/utils/logger.js +1 -1
  234. package/lib/utils/params.js +1 -1
  235. package/lib/utils/platform.js +1 -1
  236. package/lib/utils/rules-cdn.js +1 -1
  237. package/lib/utils/sleep.js +1 -1
  238. package/lib/utils/template-replacer.js +1 -1
  239. package/lib/utils/update-notice.js +1 -1
  240. package/lib/utils/version.js +1 -1
  241. package/lib/utils/with-active-cookie.js +1 -1
  242. package/lib/utils/write-cli-side-channel.js +1 -1
  243. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x252848,_0x46f1ac){const _0x440567=a127_0x2e9c,_0x3265ce=_0x252848();while(!![]){try{const _0xe895f9=parseInt(_0x440567(0x87))/0x1+-parseInt(_0x440567(0x8c))/0x2*(parseInt(_0x440567(0x88))/0x3)+parseInt(_0x440567(0x84))/0x4+parseInt(_0x440567(0x83))/0x5*(-parseInt(_0x440567(0x89))/0x6)+-parseInt(_0x440567(0x8a))/0x7*(parseInt(_0x440567(0x82))/0x8)+parseInt(_0x440567(0x86))/0x9*(parseInt(_0x440567(0x8d))/0xa)+parseInt(_0x440567(0x85))/0xb*(-parseInt(_0x440567(0x81))/0xc);if(_0xe895f9===_0x46f1ac)break;else _0x3265ce['push'](_0x3265ce['shift']());}catch(_0x1f2c97){_0x3265ce['push'](_0x3265ce['shift']());}}}(a127_0x5794,0x1ebaa));function a127_0x5794(){const _0x4c288d=['181363psCPRB','36309btGrpi','1280094pQEAtt','2387HsDiRq','replace','4xWvfeQ','75530tIazra','12OuSnhS','1720Ghnjfq','5YostkC','490788XIadTI','1116137waKEjV','279CUdAJy'];a127_0x5794=function(){return _0x4c288d;};return a127_0x5794();}function a127_0x2e9c(_0x5bb695,_0x48c647){_0x5bb695=_0x5bb695-0x81;const _0x5794e9=a127_0x5794();let _0x2e9c5d=_0x5794e9[_0x5bb695];return _0x2e9c5d;}export function formatElapsed(_0x372de3){const _0x464e16=a127_0x2e9c,_0x4e6988=Date['now']()-_0x372de3;if(_0x4e6988<0x3e8)return _0x4e6988+'ms';const _0xadf712=(_0x4e6988/0x3e8)['toFixed'](0x2),_0x2ceff1=_0xadf712[_0x464e16(0x8b)](/\.?0+$/u,'');return _0x2ceff1+'s';}
1
+ function a131_0x4d3c(_0x2a400e,_0x573987){_0x2a400e=_0x2a400e-0x95;const _0x53a645=a131_0x53a6();let _0x4d3c93=_0x53a645[_0x2a400e];return _0x4d3c93;}(function(_0x2ba656,_0x7e6864){const _0x4036fe=a131_0x4d3c,_0x40427c=_0x2ba656();while(!![]){try{const _0x19c74a=parseInt(_0x4036fe(0xa0))/0x1+parseInt(_0x4036fe(0x9f))/0x2+-parseInt(_0x4036fe(0x9d))/0x3+parseInt(_0x4036fe(0x9e))/0x4*(parseInt(_0x4036fe(0x99))/0x5)+-parseInt(_0x4036fe(0x96))/0x6*(parseInt(_0x4036fe(0x97))/0x7)+parseInt(_0x4036fe(0x9c))/0x8*(parseInt(_0x4036fe(0x9b))/0x9)+-parseInt(_0x4036fe(0x98))/0xa*(parseInt(_0x4036fe(0x95))/0xb);if(_0x19c74a===_0x7e6864)break;else _0x40427c['push'](_0x40427c['shift']());}catch(_0x2750eb){_0x40427c['push'](_0x40427c['shift']());}}}(a131_0x53a6,0xd5f70));function a131_0x53a6(){const _0x3ecb1c=['11paHHHM','56184FIvhmi','448OjULXy','5577100NZHprd','147750ZuxELn','now','108TSyxKm','1082728XdwtVR','3659286VpoWxo','188pdOzhS','270378jThcQY','105037aTnJaZ','toFixed'];a131_0x53a6=function(){return _0x3ecb1c;};return a131_0x53a6();}export function formatElapsed(_0x3df795){const _0x491551=a131_0x4d3c,_0x261d1e=Date[_0x491551(0x9a)]()-_0x3df795;if(_0x261d1e<0x3e8)return _0x261d1e+'ms';const _0xfbeb0e=(_0x261d1e/0x3e8)[_0x491551(0xa1)](0x2),_0xeb908d=_0xfbeb0e['replace'](/\.?0+$/u,'');return _0xeb908d+'s';}
@@ -1 +1 @@
1
- (function(_0x2f8cb3,_0x2d17f0){const _0xa142de=a128_0x382f,_0x44ef4c=_0x2f8cb3();while(!![]){try{const _0xc675f=parseInt(_0xa142de(0x226))/0x1*(parseInt(_0xa142de(0x1e1))/0x2)+parseInt(_0xa142de(0x1f4))/0x3+parseInt(_0xa142de(0x214))/0x4*(-parseInt(_0xa142de(0x200))/0x5)+-parseInt(_0xa142de(0x212))/0x6*(parseInt(_0xa142de(0x1f8))/0x7)+parseInt(_0xa142de(0x1d8))/0x8*(parseInt(_0xa142de(0x21b))/0x9)+parseInt(_0xa142de(0x1fd))/0xa*(parseInt(_0xa142de(0x20d))/0xb)+parseInt(_0xa142de(0x208))/0xc*(-parseInt(_0xa142de(0x219))/0xd);if(_0xc675f===_0x2d17f0)break;else _0x44ef4c['push'](_0x44ef4c['shift']());}catch(_0xd11d8a){_0x44ef4c['push'](_0x44ef4c['shift']());}}}(a128_0x335f,0x2ab34));import a128_0x168414 from'path';import a128_0x15cac6 from'fs';import a128_0x1c108a from'chalk';import a128_0x17b9dd 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';function a128_0x382f(_0x4f08a0,_0x44f5a5){_0x4f08a0=_0x4f08a0-0x1d3;const _0x335f14=a128_0x335f();let _0x382f93=_0x335f14[_0x4f08a0];return _0x382f93;}import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';function a128_0x335f(){const _0x4968a1=['1.0.0','name','green','utf8','toLocaleString','547Rmdzhg','更新\x20package.json\x20失败','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','更新\x20package.json\x20name','\x20\x202.\x20Pull\x20API\x20configuration:\x20','trim','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','existsSync','cookie','accessSync','projectCode','\x20config\x20set\x20appcode\x20<app-code>\x27','2305928iUaxhZ','配置应用AppCode失败','projectName','test','fail','\x20|\x20AppCode:\x20','readFileSync','Project\x20directory\x20','dirname','68FZXJST','gray','log','needsUpgrade','appCode','setLogPath','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','√\x20package.json\x20updated:\x20name=','package.json','API\x20configuration\x20pulled:\x20','version','🚀\x20Next\x20Steps:','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','\x20Generated\x20by\x20rabetbase\x20cli\x20','\x20run\x20start','API\x20配置拉取异常','join','belowMinimum','rmSync','912432kWthom','\x20dataset(s),\x20generated\x20','\x20√\x20','chdir','584878xtftQt','length','keys','production','\x20\x201.\x20Start\x20project:\x20','4470oXulzP','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','清理项目目录失败:\x20','55GyjVwW','\x20|\x20Default:\x20','stableVersion','bold','√\x20Configuration\x20file\x20created,\x20Apps:\x20','message','stringify','\x20&&\x20','12YRRwEx','cwd','modelCount','currentVersion','error','2959jdKAPX','Format\x20code','defaultApp','info','项目创建完成:\x20','24aDgsvx','cyan','58028hgjVzr','repeat','resolve','W_OK','env','812929GXmZRx','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','9vVDjpP','\x20model(s)','Project\x20name\x20cannot\x20be\x20empty','parse','create','\x20api\x20pull'];a128_0x335f=function(){return _0x4968a1;};return a128_0x335f();}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(_0x368f90){const _0x3164d9=a128_0x382f,_0x1dd3d2=await checkCliVersion();(_0x1dd3d2['needsUpgrade']||_0x1dd3d2['belowMinimum'])&&(printCliUpgradeWarning(_0x1dd3d2),assertCliVersionSupported(_0x1dd3d2),logger[_0x3164d9(0x210)](_0x3164d9(0x21f),'CLI\x20版本检查',{'currentVersion':_0x1dd3d2[_0x3164d9(0x20b)],'stableVersion':_0x1dd3d2[_0x3164d9(0x202)],'minimumVersion':_0x1dd3d2['minimumVersion'],'needsUpgrade':_0x1dd3d2[_0x3164d9(0x1e4)],'belowMinimum':_0x1dd3d2[_0x3164d9(0x1f2)]}));if(_0x368f90[_0x3164d9(0x1d6)]&&_0x368f90[_0x3164d9(0x1e5)])await runCreate({'projectName':_0x368f90[_0x3164d9(0x1d6)],'appCode':_0x368f90[_0x3164d9(0x1e5)],'env':_0x368f90[_0x3164d9(0x218)]},_0x368f90);else{if(_0x368f90[_0x3164d9(0x1d6)]){const _0x4019ee=await selectSingleAppcode(_0x368f90[_0x3164d9(0x1d4)]);await runCreate({'projectName':_0x368f90[_0x3164d9(0x1d6)],'appCode':_0x4019ee||undefined,'env':_0x368f90[_0x3164d9(0x218)]},_0x368f90);}else await guidedCreateProject(_0x27a2f2=>runCreate(_0x27a2f2,_0x368f90),_0x368f90[_0x3164d9(0x218)],_0x368f90[_0x3164d9(0x1d4)]);}}async function runCreate(_0x5a0a3b,_0x19422d){const _0x23c006=a128_0x382f;if(!_0x5a0a3b['projectName']||_0x5a0a3b['projectName'][_0x23c006(0x22b)]()==='')throw new Error(_0x23c006(0x21d));const _0x3eff13=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3eff13[_0x23c006(0x1db)](_0x5a0a3b['projectName']))throw new Error(_0x23c006(0x1e7));if(_0x5a0a3b['projectName'][_0x23c006(0x1f9)]>0x64)throw new Error(_0x23c006(0x1ed));const _0x182ec9=a128_0x168414['resolve'](process[_0x23c006(0x209)](),_0x5a0a3b['projectName']);if(a128_0x15cac6[_0x23c006(0x1d3)](_0x182ec9))throw new Error(_0x23c006(0x1df)+_0x5a0a3b[_0x23c006(0x1da)]+'\x20already\x20exists');try{a128_0x15cac6[_0x23c006(0x1d5)](a128_0x168414[_0x23c006(0x1e0)](_0x182ec9),a128_0x15cac6['constants'][_0x23c006(0x217)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger[_0x23c006(0x1e6)](_0x182ec9),logger[_0x23c006(0x210)]('create','开始创建项目:\x20'+_0x5a0a3b[_0x23c006(0x1da)],{'projectDir':_0x182ec9,'appCode':_0x5a0a3b[_0x23c006(0x1e5)]}),console['log'](),console[_0x23c006(0x1e3)](a128_0x1c108a[_0x23c006(0x223)](_0x23c006(0x1f6))+'Project\x20name:\x20'+a128_0x1c108a['green'](_0x5a0a3b[_0x23c006(0x1da)])+(_0x5a0a3b[_0x23c006(0x1e5)]?_0x23c006(0x1dd)+a128_0x1c108a[_0x23c006(0x213)](_0x5a0a3b[_0x23c006(0x1e5)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x5a0a3b['projectName'])),await updatePackageJsonName(_0x5a0a3b['projectName']),await runTask('Install\x20dependencies',()=>installDependencies(_0x5a0a3b['projectName'])),await runTask(_0x23c006(0x20e),()=>formatProjectCode(_0x5a0a3b['projectName'])),await configureAppCode(_0x5a0a3b[_0x23c006(0x1da)],_0x5a0a3b[_0x23c006(0x1e5)]||'',_0x5a0a3b[_0x23c006(0x218)]);let _0x567646=![];if(_0x5a0a3b[_0x23c006(0x1e5)]){console['log']('*\x20Pulling\x20API\x20configuration...');const _0x32e30d=process[_0x23c006(0x209)]();try{process[_0x23c006(0x1f7)](_0x182ec9);const _0x53326c=_0x5a0a3b[_0x23c006(0x218)]||_0x23c006(0x1fb);initEnv(_0x53326c);const {configArray:_0x1a5e7b}=await fetchModelList(_0x5a0a3b[_0x23c006(0x1e5)],_0x19422d['cookie']||''),_0x2619f6=DEFAULT_API_DIR,_0x26711d=await generateApiFile(_0x1a5e7b,'',_0x5a0a3b['appCode'],!![],_0x53326c,_0x2619f6);console[_0x23c006(0x1e3)]('√\x20Pulled\x20'+_0x1a5e7b['length']+_0x23c006(0x1f5)+_0x26711d[_0x23c006(0x20a)]+_0x23c006(0x21c)),logger[_0x23c006(0x210)](_0x23c006(0x21f),_0x23c006(0x1ea)+_0x5a0a3b['appCode']);}catch(_0x57bdea){_0x567646=!![],console[_0x23c006(0x1e3)](_0x23c006(0x22c)),logger['warn']('create',_0x23c006(0x1f0),{'error':_0x57bdea instanceof Error?_0x57bdea[_0x23c006(0x205)]:String(_0x57bdea)});}finally{process['chdir'](_0x32e30d);}}logger['success'](_0x23c006(0x21f),_0x23c006(0x211)+_0x5a0a3b['projectName']),console[_0x23c006(0x1e3)](),console[_0x23c006(0x1e3)](a128_0x1c108a[_0x23c006(0x223)]('─'['repeat'](0x3c))),console['log'](a128_0x1c108a['cyan'][_0x23c006(0x203)](_0x23c006(0x1ec))),console[_0x23c006(0x1e3)](),console[_0x23c006(0x1e3)](_0x23c006(0x1fc)+a128_0x1c108a[_0x23c006(0x213)][_0x23c006(0x203)]('cd\x20'+_0x5a0a3b[_0x23c006(0x1da)]+_0x23c006(0x207)+CLI_BIN_NAME+_0x23c006(0x1ef))),_0x567646&&console[_0x23c006(0x1e3)](_0x23c006(0x22a)+a128_0x1c108a[_0x23c006(0x213)][_0x23c006(0x203)](CLI_BIN_NAME+_0x23c006(0x220))),console[_0x23c006(0x1e3)](a128_0x1c108a[_0x23c006(0x223)]('─'[_0x23c006(0x215)](0x3c)));}catch(_0x2336ec){logger[_0x23c006(0x20c)]('create','项目创建失败:\x20'+_0x5a0a3b[_0x23c006(0x1da)],{'error':_0x2336ec instanceof Error?_0x2336ec[_0x23c006(0x205)]:String(_0x2336ec)});try{a128_0x15cac6['existsSync'](_0x182ec9)&&(console[_0x23c006(0x1e3)](_0x23c006(0x1fe)+_0x182ec9),a128_0x15cac6[_0x23c006(0x1f3)](_0x182ec9,{'recursive':!![],'force':!![]}));}catch{logger['warn'](_0x23c006(0x21f),_0x23c006(0x1ff)+_0x182ec9);}throw _0x2336ec;}}async function runTask(_0x305eaf,_0x26a89e){const _0x3f8042=a128_0x382f,_0x5251cd=a128_0x17b9dd(_0x305eaf+'...')['start']();try{const _0x1e2354=await _0x26a89e();_0x5251cd['stop'](),console['log'](''+a128_0x1c108a[_0x3f8042(0x223)](_0x3f8042(0x1f6))+_0x305eaf+'\x20'+a128_0x1c108a[_0x3f8042(0x1e2)]('['+_0x1e2354+']'));}catch(_0x50c81a){_0x5251cd[_0x3f8042(0x1dc)](_0x305eaf);throw _0x50c81a;}}async function updatePackageJsonName(_0x32a451){const _0x21ab23=a128_0x382f,_0x3100f4=a128_0x168414[_0x21ab23(0x216)](process['cwd'](),_0x32a451),_0x5d5237=a128_0x168414[_0x21ab23(0x1f1)](_0x3100f4,_0x21ab23(0x1e9));try{console['log']('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x5710ca=getRabetbaseCliPackageRoot(),_0x1407bc=a128_0x168414['join'](_0x5710ca,'package.json');let _0x1914d5=_0x21ab23(0x221);try{const _0x50b957=JSON['parse'](a128_0x15cac6[_0x21ab23(0x1de)](_0x1407bc,_0x21ab23(0x224)));_0x1914d5=_0x50b957['version']||'1.0.0';}catch{}const _0x1d2d6c=a128_0x15cac6[_0x21ab23(0x1de)](_0x5d5237,_0x21ab23(0x224)),_0x2dbf4c=JSON[_0x21ab23(0x21e)](_0x1d2d6c);_0x2dbf4c[_0x21ab23(0x222)]=_0x32a451,_0x2dbf4c['description']=_0x32a451+_0x21ab23(0x1ee)+_0x1914d5,a128_0x15cac6['writeFileSync'](_0x5d5237,JSON[_0x21ab23(0x206)](_0x2dbf4c,null,0x2)+'\x0a',_0x21ab23(0x224)),console['log'](_0x21ab23(0x1e8)+_0x32a451),logger[_0x21ab23(0x210)]('create',_0x21ab23(0x229));}catch(_0x2e665f){logger[_0x21ab23(0x20c)](_0x21ab23(0x21f),_0x21ab23(0x227));throw _0x2e665f;}}async function configureAppCode(_0x1622ba,_0x5cae60,_0x24ea9b){const _0x360dca=a128_0x382f,_0x42ce3c=a128_0x168414[_0x360dca(0x216)](process[_0x360dca(0x209)](),_0x1622ba),_0x30218c=a128_0x168414[_0x360dca(0x1f1)](_0x42ce3c,NEW_CONFIG_NAME);try{_0x5cae60?console[_0x360dca(0x1e3)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x1622ba+':\x20'+_0x5cae60):console[_0x360dca(0x1e3)](_0x360dca(0x21a)+_0x1622ba);const _0x32086f=getRabetbaseCliPackageRoot(),_0x1bb71b=a128_0x168414[_0x360dca(0x1f1)](_0x32086f,'package.json');let _0x1d4b3a=_0x360dca(0x221);try{const _0x37d08c=JSON['parse'](a128_0x15cac6[_0x360dca(0x1de)](_0x1bb71b,_0x360dca(0x224)));_0x1d4b3a=_0x37d08c[_0x360dca(0x1eb)]||'1.0.0';}catch{}const _0x11ec7f=readConfig(),_0x3d3cf5=typeof _0x11ec7f['env']==='string'?_0x11ec7f[_0x360dca(0x218)]:undefined,_0x5c9c98={};for(const _0x52567c of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x11ec7f[_0x52567c]!=null)_0x5c9c98[_0x52567c]=_0x11ec7f[_0x52567c];}const _0xbf3a25=buildCanonicalProjectConfig(_0x5c9c98,{'appCodes':_0x5cae60?[_0x5cae60]:[],'env':_0x24ea9b||_0x3d3cf5||_0x360dca(0x1fb),'metadata':{'createdAt':new Date()[_0x360dca(0x225)](),'version':_0x1d4b3a}});writeConfigFile(_0x30218c,_0xbf3a25),_0x5cae60?console[_0x360dca(0x1e3)](_0x360dca(0x204)+Object[_0x360dca(0x1fa)](_0xbf3a25['apps']||{})[_0x360dca(0x1f1)](',\x20')+_0x360dca(0x201)+_0xbf3a25[_0x360dca(0x20f)]):console[_0x360dca(0x1e3)](_0x360dca(0x228)+CLI_BIN_NAME+_0x360dca(0x1d7)),logger['info'](_0x360dca(0x21f),'配置应用AppCode:\x20'+_0x5cae60);}catch(_0x3aac6a){logger[_0x360dca(0x20c)]('create',_0x360dca(0x1d9));}}
1
+ function a132_0x198b(){const _0x1035fd=['\x20\x202.\x20Pull\x20API\x20configuration:\x20','🚀\x20Next\x20Steps:','704pfkBlr','join','rmSync','needsUpgrade','开始创建项目:\x20','cd\x20','\x20config\x20set\x20appcode\x20<app-code>\x27','cwd','cookie','159672SHRHTI','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','2WHrxpB','cyan','name','appCode','Project\x20name:\x20','CLI\x20版本检查','\x20run\x20start','*\x20Pulling\x20API\x20configuration...','W_OK','4205205UbSdyg','log','stringify','√\x20package.json\x20updated:\x20name=','2905377vrCDkO','dirname','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','fail','889970QoJnNB','warn','error','utf8','keys','production','98bLUqGU','modelCount','stop','\x20already\x20exists','stableVersion','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Format\x20code','readFileSync','belowMinimum','√\x20Pulled\x20','test','清理项目目录失败:\x20','26584162uTFhDZ','resolve','\x20&&\x20','√\x20Configuration\x20file\x20created,\x20Apps:\x20','parse','项目创建失败:\x20','projectName','info','projectCode','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','65133JOVaJZ','constants','toLocaleString','\x20\x201.\x20Start\x20project:\x20','gray','setLogPath','start','Install\x20dependencies','\x20√\x20','更新\x20package.json\x20name','create','env','配置应用AppCode:\x20','length','message','1.0.0','repeat','chdir','4YVNZYP','string','bold','12xZwjBf','existsSync','currentVersion','更新\x20package.json\x20失败','version','15994030XgVKRF','Project\x20name\x20cannot\x20be\x20empty','green','package.json','minimumVersion','*\x20Creating\x20configuration\x20file\x20for\x20project\x20'];a132_0x198b=function(){return _0x1035fd;};return a132_0x198b();}(function(_0x40c3f8,_0x50eef6){const _0x47c96d=a132_0x40ae,_0x469ece=_0x40c3f8();while(!![]){try{const _0x2dfbd1=parseInt(_0x47c96d(0x1cc))/0x1+parseInt(_0x47c96d(0x1bb))/0x2*(-parseInt(_0x47c96d(0x1c8))/0x3)+-parseInt(_0x47c96d(0x1fa))/0x4*(parseInt(_0x47c96d(0x1c4))/0x5)+-parseInt(_0x47c96d(0x1b9))/0x6*(-parseInt(_0x47c96d(0x1d2))/0x7)+parseInt(_0x47c96d(0x20a))/0x8*(parseInt(_0x47c96d(0x1e8))/0x9)+-parseInt(_0x47c96d(0x202))/0xa+-parseInt(_0x47c96d(0x1de))/0xb*(-parseInt(_0x47c96d(0x1fd))/0xc);if(_0x2dfbd1===_0x50eef6)break;else _0x469ece['push'](_0x469ece['shift']());}catch(_0x567038){_0x469ece['push'](_0x469ece['shift']());}}}(a132_0x198b,0xdd7e1));import a132_0xc81316 from'path';import a132_0x6da26d from'fs';import a132_0x1de3c4 from'chalk';import a132_0x6937ca 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';function a132_0x40ae(_0x3ce9cb,_0x5b1bff){_0x3ce9cb=_0x3ce9cb-0x1b9;const _0x198bd9=a132_0x198b();let _0x40ae97=_0x198bd9[_0x3ce9cb];return _0x40ae97;}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(_0x150d50){const _0x1e083c=a132_0x40ae,_0x2b4969=await checkCliVersion();(_0x2b4969[_0x1e083c(0x20d)]||_0x2b4969[_0x1e083c(0x1da)])&&(printCliUpgradeWarning(_0x2b4969),assertCliVersionSupported(_0x2b4969),logger['info']('create',_0x1e083c(0x1c0),{'currentVersion':_0x2b4969[_0x1e083c(0x1ff)],'stableVersion':_0x2b4969[_0x1e083c(0x1d6)],'minimumVersion':_0x2b4969[_0x1e083c(0x206)],'needsUpgrade':_0x2b4969[_0x1e083c(0x20d)],'belowMinimum':_0x2b4969[_0x1e083c(0x1da)]}));if(_0x150d50[_0x1e083c(0x1e6)]&&_0x150d50[_0x1e083c(0x1be)])await runCreate({'projectName':_0x150d50[_0x1e083c(0x1e6)],'appCode':_0x150d50[_0x1e083c(0x1be)],'env':_0x150d50[_0x1e083c(0x1f3)]},_0x150d50);else{if(_0x150d50[_0x1e083c(0x1e6)]){const _0x537d9a=await selectSingleAppcode(_0x150d50['cookie']);await runCreate({'projectName':_0x150d50[_0x1e083c(0x1e6)],'appCode':_0x537d9a||undefined,'env':_0x150d50[_0x1e083c(0x1f3)]},_0x150d50);}else await guidedCreateProject(_0x26e919=>runCreate(_0x26e919,_0x150d50),_0x150d50[_0x1e083c(0x1f3)],_0x150d50[_0x1e083c(0x212)]);}}async function runCreate(_0x426e5a,_0x54873e){const _0x5e1602=a132_0x40ae;if(!_0x426e5a['projectName']||_0x426e5a[_0x5e1602(0x1e4)]['trim']()==='')throw new Error(_0x5e1602(0x203));const _0x4485cf=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x4485cf[_0x5e1602(0x1dc)](_0x426e5a['projectName']))throw new Error(_0x5e1602(0x1e7));if(_0x426e5a[_0x5e1602(0x1e4)][_0x5e1602(0x1f5)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x289b56=a132_0xc81316['resolve'](process[_0x5e1602(0x211)](),_0x426e5a[_0x5e1602(0x1e4)]);if(a132_0x6da26d[_0x5e1602(0x1fe)](_0x289b56))throw new Error('Project\x20directory\x20'+_0x426e5a['projectName']+_0x5e1602(0x1d5));try{a132_0x6da26d['accessSync'](a132_0xc81316[_0x5e1602(0x1c9)](_0x289b56),a132_0x6da26d[_0x5e1602(0x1e9)][_0x5e1602(0x1c3)]);}catch{throw new Error(_0x5e1602(0x1d7));}logger[_0x5e1602(0x1ed)](_0x289b56),logger['info']('create',_0x5e1602(0x20e)+_0x426e5a[_0x5e1602(0x1e4)],{'projectDir':_0x289b56,'appCode':_0x426e5a[_0x5e1602(0x1be)]}),console[_0x5e1602(0x1c5)](),console['log'](a132_0x1de3c4[_0x5e1602(0x204)]('\x20√\x20')+_0x5e1602(0x1bf)+a132_0x1de3c4[_0x5e1602(0x204)](_0x426e5a[_0x5e1602(0x1e4)])+(_0x426e5a[_0x5e1602(0x1be)]?'\x20|\x20AppCode:\x20'+a132_0x1de3c4['cyan'](_0x426e5a[_0x5e1602(0x1be)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x426e5a['projectName'])),await updatePackageJsonName(_0x426e5a[_0x5e1602(0x1e4)]),await runTask(_0x5e1602(0x1ef),()=>installDependencies(_0x426e5a[_0x5e1602(0x1e4)])),await runTask(_0x5e1602(0x1d8),()=>formatProjectCode(_0x426e5a['projectName'])),await configureAppCode(_0x426e5a[_0x5e1602(0x1e4)],_0x426e5a[_0x5e1602(0x1be)]||'',_0x426e5a['env']);let _0x53889c=![];if(_0x426e5a['appCode']){console['log'](_0x5e1602(0x1c2));const _0x255046=process[_0x5e1602(0x211)]();try{process[_0x5e1602(0x1f9)](_0x289b56);const _0x44de75=_0x426e5a[_0x5e1602(0x1f3)]||_0x5e1602(0x1d1);initEnv(_0x44de75);const {configArray:_0x49bfe3}=await fetchModelList(_0x426e5a[_0x5e1602(0x1be)],_0x54873e['cookie']||''),_0x1b99ef=DEFAULT_API_DIR,_0x3d2dce=await generateApiFile(_0x49bfe3,'',_0x426e5a[_0x5e1602(0x1be)],!![],_0x44de75,_0x1b99ef);console[_0x5e1602(0x1c5)](_0x5e1602(0x1db)+_0x49bfe3[_0x5e1602(0x1f5)]+'\x20dataset(s),\x20generated\x20'+_0x3d2dce[_0x5e1602(0x1d3)]+'\x20model(s)'),logger[_0x5e1602(0x1e5)](_0x5e1602(0x1f2),'API\x20configuration\x20pulled:\x20'+_0x426e5a[_0x5e1602(0x1be)]);}catch(_0x38e67f){_0x53889c=!![],console['log']('!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull'),logger['warn'](_0x5e1602(0x1f2),'API\x20配置拉取异常',{'error':_0x38e67f instanceof Error?_0x38e67f[_0x5e1602(0x1f6)]:String(_0x38e67f)});}finally{process[_0x5e1602(0x1f9)](_0x255046);}}logger['success'](_0x5e1602(0x1f2),'项目创建完成:\x20'+_0x426e5a[_0x5e1602(0x1e4)]),console[_0x5e1602(0x1c5)](),console[_0x5e1602(0x1c5)](a132_0x1de3c4[_0x5e1602(0x204)]('─'['repeat'](0x3c))),console[_0x5e1602(0x1c5)](a132_0x1de3c4['cyan'][_0x5e1602(0x1fc)](_0x5e1602(0x209))),console[_0x5e1602(0x1c5)](),console[_0x5e1602(0x1c5)](_0x5e1602(0x1eb)+a132_0x1de3c4[_0x5e1602(0x1bc)][_0x5e1602(0x1fc)](_0x5e1602(0x20f)+_0x426e5a['projectName']+_0x5e1602(0x1e0)+CLI_BIN_NAME+_0x5e1602(0x1c1))),_0x53889c&&console['log'](_0x5e1602(0x208)+a132_0x1de3c4[_0x5e1602(0x1bc)][_0x5e1602(0x1fc)](CLI_BIN_NAME+'\x20api\x20pull')),console[_0x5e1602(0x1c5)](a132_0x1de3c4[_0x5e1602(0x204)]('─'[_0x5e1602(0x1f8)](0x3c)));}catch(_0x14e3dc){logger[_0x5e1602(0x1ce)](_0x5e1602(0x1f2),_0x5e1602(0x1e3)+_0x426e5a[_0x5e1602(0x1e4)],{'error':_0x14e3dc instanceof Error?_0x14e3dc[_0x5e1602(0x1f6)]:String(_0x14e3dc)});try{a132_0x6da26d['existsSync'](_0x289b56)&&(console[_0x5e1602(0x1c5)](_0x5e1602(0x1ca)+_0x289b56),a132_0x6da26d[_0x5e1602(0x20c)](_0x289b56,{'recursive':!![],'force':!![]}));}catch{logger[_0x5e1602(0x1cd)](_0x5e1602(0x1f2),_0x5e1602(0x1dd)+_0x289b56);}throw _0x14e3dc;}}async function runTask(_0x415d30,_0x45f638){const _0x321694=a132_0x40ae,_0x2df4f0=a132_0x6937ca(_0x415d30+'...')[_0x321694(0x1ee)]();try{const _0x4aa72b=await _0x45f638();_0x2df4f0[_0x321694(0x1d4)](),console[_0x321694(0x1c5)](''+a132_0x1de3c4['green'](_0x321694(0x1f0))+_0x415d30+'\x20'+a132_0x1de3c4[_0x321694(0x1ec)]('['+_0x4aa72b+']'));}catch(_0x3323b3){_0x2df4f0[_0x321694(0x1cb)](_0x415d30);throw _0x3323b3;}}async function updatePackageJsonName(_0x362369){const _0x1da5a9=a132_0x40ae,_0x2bcf6e=a132_0xc81316[_0x1da5a9(0x1df)](process[_0x1da5a9(0x211)](),_0x362369),_0x194580=a132_0xc81316['join'](_0x2bcf6e,_0x1da5a9(0x205));try{console['log']('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x2dfc96=getRabetbaseCliPackageRoot(),_0x2dfcea=a132_0xc81316[_0x1da5a9(0x20b)](_0x2dfc96,_0x1da5a9(0x205));let _0x3df566=_0x1da5a9(0x1f7);try{const _0x525234=JSON[_0x1da5a9(0x1e2)](a132_0x6da26d[_0x1da5a9(0x1d9)](_0x2dfcea,_0x1da5a9(0x1cf)));_0x3df566=_0x525234[_0x1da5a9(0x201)]||_0x1da5a9(0x1f7);}catch{}const _0x33d57b=a132_0x6da26d[_0x1da5a9(0x1d9)](_0x194580,_0x1da5a9(0x1cf)),_0x16272f=JSON[_0x1da5a9(0x1e2)](_0x33d57b);_0x16272f[_0x1da5a9(0x1bd)]=_0x362369,_0x16272f['description']=_0x362369+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x3df566,a132_0x6da26d['writeFileSync'](_0x194580,JSON[_0x1da5a9(0x1c6)](_0x16272f,null,0x2)+'\x0a',_0x1da5a9(0x1cf)),console[_0x1da5a9(0x1c5)](_0x1da5a9(0x1c7)+_0x362369),logger['info']('create',_0x1da5a9(0x1f1));}catch(_0x2d8a0e){logger['error'](_0x1da5a9(0x1f2),_0x1da5a9(0x200));throw _0x2d8a0e;}}async function configureAppCode(_0x1382ca,_0x8ab7b0,_0x136dfe){const _0x32082c=a132_0x40ae,_0x3f9be3=a132_0xc81316[_0x32082c(0x1df)](process[_0x32082c(0x211)](),_0x1382ca),_0x119513=a132_0xc81316[_0x32082c(0x20b)](_0x3f9be3,NEW_CONFIG_NAME);try{_0x8ab7b0?console[_0x32082c(0x1c5)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x1382ca+':\x20'+_0x8ab7b0):console['log'](_0x32082c(0x207)+_0x1382ca);const _0x46c62e=getRabetbaseCliPackageRoot(),_0x1573f8=a132_0xc81316[_0x32082c(0x20b)](_0x46c62e,_0x32082c(0x205));let _0x260ad8=_0x32082c(0x1f7);try{const _0x35df99=JSON['parse'](a132_0x6da26d[_0x32082c(0x1d9)](_0x1573f8,_0x32082c(0x1cf)));_0x260ad8=_0x35df99['version']||'1.0.0';}catch{}const _0x2de526=readConfig(),_0x5bb507=typeof _0x2de526[_0x32082c(0x1f3)]===_0x32082c(0x1fb)?_0x2de526[_0x32082c(0x1f3)]:undefined,_0x55208f={};for(const _0x5e1f41 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x2de526[_0x5e1f41]!=null)_0x55208f[_0x5e1f41]=_0x2de526[_0x5e1f41];}const _0x33159d=buildCanonicalProjectConfig(_0x55208f,{'appCodes':_0x8ab7b0?[_0x8ab7b0]:[],'env':_0x136dfe||_0x5bb507||'production','metadata':{'createdAt':new Date()[_0x32082c(0x1ea)](),'version':_0x260ad8}});writeConfigFile(_0x119513,_0x33159d),_0x8ab7b0?console['log'](_0x32082c(0x1e1)+Object[_0x32082c(0x1d0)](_0x33159d['apps']||{})[_0x32082c(0x20b)](',\x20')+'\x20|\x20Default:\x20'+_0x33159d['defaultApp']):console['log'](_0x32082c(0x1ba)+CLI_BIN_NAME+_0x32082c(0x210)),logger['info'](_0x32082c(0x1f2),_0x32082c(0x1f4)+_0x8ab7b0);}catch(_0x36073a){logger['error'](_0x32082c(0x1f2),'配置应用AppCode失败');}}
@@ -1 +1 @@
1
- (function(_0xaf725d,_0x25950a){const _0x1988cd=a129_0x5b2c,_0x15b3eb=_0xaf725d();while(!![]){try{const _0x1fb95e=parseInt(_0x1988cd(0x10b))/0x1+-parseInt(_0x1988cd(0x112))/0x2+-parseInt(_0x1988cd(0xf2))/0x3*(-parseInt(_0x1988cd(0x116))/0x4)+parseInt(_0x1988cd(0x104))/0x5*(parseInt(_0x1988cd(0xf7))/0x6)+-parseInt(_0x1988cd(0xff))/0x7+parseInt(_0x1988cd(0x105))/0x8+-parseInt(_0x1988cd(0x115))/0x9*(parseInt(_0x1988cd(0x106))/0xa);if(_0x1fb95e===_0x25950a)break;else _0x15b3eb['push'](_0x15b3eb['shift']());}catch(_0x17ab7c){_0x15b3eb['push'](_0x15b3eb['shift']());}}}(a129_0xa64e,0x987e4));import a129_0x48f310 from'path';import a129_0x3d43fc from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';function a129_0xa64e(){const _0x3fb43d=['11320MClvCe','\x20\x20rabetbase\x20run\x20start\x0a','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','resolve','string','349301tpSKxf','test','join','constants','access','cwd','\x20\x20√\x20package.json\x20updated','724606ohXUfN','\x20\x20√\x20Code\x20formatted','bun\x20--version','6957gaTpdF','2984KqZMVe','Project\x20directory\x20\x22','modelCount','package.json','bun','*\x20Creating\x20project\x20','length','\x20created\x20successfully!','validation','\x20model(s)','Cannot\x20create\x20project\x20in\x20current\x20directory.','chdir','trim','belowMinimum','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','\x20dataset(s),\x20generated\x20','\x0a\x20\x20cd\x20','Use\x20a\x20different\x20project\x20name.','1986QnxclN','\x22\x20already\x20exists.','Project\x20name\x20contains\x20invalid\x20characters.','...','production','6463794MttdTp','ignore','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','dirname','log','\x20\x20Pulling\x20API\x20configuration...','\x20\x20Installing\x20dependencies...','W_OK','937622dVcfmh','env','bun\x20run\x20format','name','\x0a√\x20Project\x20','5yFhTpR','603560qRpzvr'];a129_0xa64e=function(){return _0x3fb43d;};return a129_0xa64e();}import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';function a129_0x5b2c(_0x25fae5,_0x39dfa5){_0x25fae5=_0x25fae5-0xed;const _0xa64e34=a129_0xa64e();let _0x5b2c57=_0xa64e34[_0x25fae5];return _0x5b2c57;}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(_0x495d2f,_0x3871b0,_0x222e52,_0x52e894){const _0x3f0863=a129_0x5b2c,_0x4698d4=await checkCliVersion();(_0x4698d4['needsUpgrade']||_0x4698d4[_0x3f0863(0xed)])&&(printCliUpgradeWarning(_0x4698d4),assertCliVersionSupported(_0x4698d4));if(!_0x495d2f||_0x495d2f[_0x3f0863(0x122)]()==='')throw CliErrors['validation']('Project\x20name\x20cannot\x20be\x20empty.');const _0x1deeb3=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x1deeb3[_0x3f0863(0x10c)](_0x495d2f))throw CliErrors[_0x3f0863(0x11e)](_0x3f0863(0xf4),_0x3f0863(0xf9));if(_0x495d2f[_0x3f0863(0x11c)]>0x64)throw CliErrors[_0x3f0863(0x11e)](_0x3f0863(0x108));const _0x571c92=a129_0x48f310['resolve'](process[_0x3f0863(0x110)](),_0x495d2f);if(existsSync(_0x571c92))throw CliErrors[_0x3f0863(0x11e)](_0x3f0863(0x117)+_0x495d2f+_0x3f0863(0xf3),_0x3f0863(0xf1));try{const _0x3fe371=a129_0x48f310[_0x3f0863(0xfa)](_0x571c92);await a129_0x3d43fc[_0x3f0863(0x10f)](_0x3fe371,a129_0x3d43fc[_0x3f0863(0x10e)][_0x3f0863(0xfe)]);}catch{throw CliErrors[_0x3f0863(0x11e)](_0x3f0863(0x120),'Check\x20directory\x20permissions.');}try{console['log'](_0x3f0863(0x11b)+_0x495d2f+_0x3f0863(0xf5));const _0xefbe94=getSubAppReactDemoTemplateDir();await copyDirectory(_0xefbe94,_0x571c92),console['log']('\x20\x20√\x20Project\x20template\x20created'),await updatePackageJsonName(_0x495d2f),console[_0x3f0863(0xfb)](_0x3f0863(0x111)),console[_0x3f0863(0xfb)](_0x3f0863(0xfd)),console['log']('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x571c92),console[_0x3f0863(0xfb)](_0x3f0863(0x113)),await configureProject(_0x495d2f,_0x222e52,_0x3871b0),console[_0x3f0863(0xfb)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x222e52&&await pullApiConfig(_0x571c92,_0x222e52,_0x3871b0,_0x52e894),console[_0x3f0863(0xfb)](_0x3f0863(0x103)+_0x495d2f+_0x3f0863(0x11d)),console['log'](_0x3f0863(0xf0)+_0x495d2f),console['log'](_0x3f0863(0x107));}catch(_0x180008){try{existsSync(_0x571c92)&&await a129_0x3d43fc['rm'](_0x571c92,{'recursive':!![],'force':!![]});}catch{}throw _0x180008;}}async function updatePackageJsonName(_0x4d47db){const _0x4e7bb1=a129_0x5b2c,_0x1a2cc2=a129_0x48f310[_0x4e7bb1(0x109)](process[_0x4e7bb1(0x110)](),_0x4d47db),_0x26f9e0=a129_0x48f310['join'](_0x1a2cc2,_0x4e7bb1(0x119)),_0x46312d=await a129_0x3d43fc['readFile'](_0x26f9e0,'utf-8'),_0x507a37=JSON['parse'](_0x46312d);_0x507a37[_0x4e7bb1(0x102)]=_0x4d47db,_0x507a37['description']=_0x4e7bb1(0xee),await a129_0x3d43fc['writeFile'](_0x26f9e0,JSON['stringify'](_0x507a37,null,0x2)+'\x0a');}function detectPackageManager(){const _0x436f04=a129_0x5b2c;try{return execSync(_0x436f04(0x114),{'stdio':_0x436f04(0xf8)}),_0x436f04(0x11a);}catch{return'npm';}}async function formatCode(_0x4366b2){const _0x30fcf8=a129_0x5b2c;try{await execAsync(_0x30fcf8(0x101),{'cwd':_0x4366b2});}catch{}}async function configureProject(_0x49f3cf,_0x6348eb,_0x20be0d){const _0x2058d9=a129_0x5b2c,_0x762c23=a129_0x48f310[_0x2058d9(0x109)](process[_0x2058d9(0x110)](),_0x49f3cf),_0x56267d=a129_0x48f310[_0x2058d9(0x10d)](_0x762c23,NEW_CONFIG_NAME),_0x4cbab6=readConfig(),_0x1fa2fd=typeof _0x4cbab6['env']===_0x2058d9(0x10a)?_0x4cbab6[_0x2058d9(0x100)]:undefined,_0x5d0757={};for(const _0x27abeb of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x4cbab6[_0x27abeb]!=null)_0x5d0757[_0x27abeb]=_0x4cbab6[_0x27abeb];}const _0x26b98f=buildCanonicalProjectConfig(_0x5d0757,{'appCodes':_0x6348eb?[_0x6348eb]:[],'env':_0x20be0d||_0x1fa2fd||'production','metadata':{'createdAt':new Date()['toLocaleString'](),'version':getCliVersion()}});writeConfigFile(_0x56267d,_0x26b98f);}async function pullApiConfig(_0x35b9b9,_0x4c10b8,_0x4d54bc,_0x21cf1d){const _0x16ea66=a129_0x5b2c,_0x3327f9=process[_0x16ea66(0x110)]();try{process[_0x16ea66(0x121)](_0x35b9b9);const _0x500268=_0x4d54bc||_0x16ea66(0xf6);initEnv(_0x500268),console[_0x16ea66(0xfb)](_0x16ea66(0xfc));const {configArray:_0x5ba39e}=await fetchModelList(_0x4c10b8,_0x21cf1d||''),_0x3b8593=await generateApiFile(_0x5ba39e,'',_0x4c10b8,!![],_0x500268,DEFAULT_API_DIR);console[_0x16ea66(0xfb)]('\x20\x20√\x20Pulled\x20'+_0x5ba39e[_0x16ea66(0x11c)]+_0x16ea66(0xef)+_0x3b8593[_0x16ea66(0x118)]+_0x16ea66(0x11f));}catch(_0x37f76c){console[_0x16ea66(0xfb)]('\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20manually\x20later.');}finally{process[_0x16ea66(0x121)](_0x3327f9);}}
1
+ (function(_0x47206d,_0x6f8a66){const _0x30ddb0=a133_0x2f11,_0x43e6ef=_0x47206d();while(!![]){try{const _0x5b55be=-parseInt(_0x30ddb0(0xa5))/0x1+parseInt(_0x30ddb0(0x9f))/0x2*(parseInt(_0x30ddb0(0x95))/0x3)+-parseInt(_0x30ddb0(0xa6))/0x4*(parseInt(_0x30ddb0(0xa0))/0x5)+-parseInt(_0x30ddb0(0x93))/0x6+parseInt(_0x30ddb0(0x97))/0x7*(parseInt(_0x30ddb0(0x88))/0x8)+-parseInt(_0x30ddb0(0xb3))/0x9*(parseInt(_0x30ddb0(0xb4))/0xa)+parseInt(_0x30ddb0(0xa1))/0xb;if(_0x5b55be===_0x6f8a66)break;else _0x43e6ef['push'](_0x43e6ef['shift']());}catch(_0x4ecdcb){_0x43e6ef['push'](_0x43e6ef['shift']());}}}(a133_0x194d,0xa1b9c));import a133_0x4d2333 from'path';import a133_0x4bac61 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';function a133_0x194d(){const _0x244eac=['production','belowMinimum','modelCount','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','bun\x20--version','9XFujMA','11155700eXPFYu','Project\x20directory\x20\x22','join','validation','stringify','name','parse','\x20\x20√\x20Project\x20template\x20created','\x22\x20already\x20exists.','\x0a√\x20Project\x20','description','Check\x20directory\x20permissions.','*\x20Creating\x20project\x20','trim','env','\x20dataset(s),\x20generated\x20','Project\x20name\x20contains\x20invalid\x20characters.','resolve','Project\x20name\x20cannot\x20be\x20empty.','6453560TZmnCN','\x20\x20√\x20Configuration\x20file\x20created','\x20\x20√\x20Pulled\x20','cwd','utf-8','W_OK','Use\x20a\x20different\x20project\x20name.','ignore','\x20\x20Pulling\x20API\x20configuration...','\x20created\x20successfully!','constants','6882228vzdyLY','...','31137yQLvjK','package.json','7ZLDzRr','\x20\x20√\x20package.json\x20updated','bun\x20run\x20format','needsUpgrade','\x0a\x20\x20cd\x20','\x20api\x20pull`\x20manually\x20later.','\x20model(s)','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','174ziDROv','18390SHPadU','26985585cZcJom','chdir','\x20\x20Installing\x20dependencies...','writeFile','38839rZvqqC','1304fZYGVp','log','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','\x20\x20rabetbase\x20run\x20start\x0a','bun','toLocaleString','string','readFile'];a133_0x194d=function(){return _0x244eac;};return a133_0x194d();}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(_0x36e98e,_0x16ea50,_0x4180b6,_0x502987){const _0x5b8f83=a133_0x2f11,_0x348e02=await checkCliVersion();(_0x348e02[_0x5b8f83(0x9a)]||_0x348e02[_0x5b8f83(0xaf)])&&(printCliUpgradeWarning(_0x348e02),assertCliVersionSupported(_0x348e02));if(!_0x36e98e||_0x36e98e[_0x5b8f83(0xc1)]()==='')throw CliErrors[_0x5b8f83(0xb7)](_0x5b8f83(0x87));const _0x4e69e0=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x4e69e0['test'](_0x36e98e))throw CliErrors[_0x5b8f83(0xb7)](_0x5b8f83(0x85),_0x5b8f83(0x9e));if(_0x36e98e['length']>0x64)throw CliErrors['validation']('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x38f084=a133_0x4d2333[_0x5b8f83(0x86)](process['cwd'](),_0x36e98e);if(existsSync(_0x38f084))throw CliErrors['validation'](_0x5b8f83(0xb5)+_0x36e98e+_0x5b8f83(0xbc),_0x5b8f83(0x8e));try{const _0xe07866=a133_0x4d2333['dirname'](_0x38f084);await a133_0x4bac61['access'](_0xe07866,a133_0x4bac61[_0x5b8f83(0x92)][_0x5b8f83(0x8d)]);}catch{throw CliErrors[_0x5b8f83(0xb7)]('Cannot\x20create\x20project\x20in\x20current\x20directory.',_0x5b8f83(0xbf));}try{console[_0x5b8f83(0xa7)](_0x5b8f83(0xc0)+_0x36e98e+_0x5b8f83(0x94));const _0x31d7b1=getSubAppReactDemoTemplateDir();await copyDirectory(_0x31d7b1,_0x38f084),console[_0x5b8f83(0xa7)](_0x5b8f83(0xbb)),await updatePackageJsonName(_0x36e98e),console['log'](_0x5b8f83(0x98)),console[_0x5b8f83(0xa7)](_0x5b8f83(0xa3)),console[_0x5b8f83(0xa7)]('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x38f084),console[_0x5b8f83(0xa7)]('\x20\x20√\x20Code\x20formatted'),await configureProject(_0x36e98e,_0x4180b6,_0x16ea50),console['log'](_0x5b8f83(0x89)),_0x4180b6&&await pullApiConfig(_0x38f084,_0x4180b6,_0x16ea50,_0x502987),console['log'](_0x5b8f83(0xbd)+_0x36e98e+_0x5b8f83(0x91)),console[_0x5b8f83(0xa7)](_0x5b8f83(0x9b)+_0x36e98e),console['log'](_0x5b8f83(0xa9));}catch(_0x11bd65){try{existsSync(_0x38f084)&&await a133_0x4bac61['rm'](_0x38f084,{'recursive':!![],'force':!![]});}catch{}throw _0x11bd65;}}function a133_0x2f11(_0x1a8436,_0x2b6bb5){_0x1a8436=_0x1a8436-0x83;const _0x194dd3=a133_0x194d();let _0x2f117d=_0x194dd3[_0x1a8436];return _0x2f117d;}async function updatePackageJsonName(_0x1768f0){const _0x47cb81=a133_0x2f11,_0xc10ccd=a133_0x4d2333[_0x47cb81(0x86)](process[_0x47cb81(0x8b)](),_0x1768f0),_0x40f306=a133_0x4d2333[_0x47cb81(0xb6)](_0xc10ccd,_0x47cb81(0x96)),_0x671173=await a133_0x4bac61[_0x47cb81(0xad)](_0x40f306,_0x47cb81(0x8c)),_0x3ace2a=JSON[_0x47cb81(0xba)](_0x671173);_0x3ace2a[_0x47cb81(0xb9)]=_0x1768f0,_0x3ace2a[_0x47cb81(0xbe)]=_0x47cb81(0xa8),await a133_0x4bac61[_0x47cb81(0xa4)](_0x40f306,JSON[_0x47cb81(0xb8)](_0x3ace2a,null,0x2)+'\x0a');}function detectPackageManager(){const _0x317104=a133_0x2f11;try{return execSync(_0x317104(0xb2),{'stdio':_0x317104(0x8f)}),_0x317104(0xaa);}catch{return'npm';}}async function formatCode(_0x13606a){const _0x26dd3d=a133_0x2f11;try{await execAsync(_0x26dd3d(0x99),{'cwd':_0x13606a});}catch{}}async function configureProject(_0x36c91d,_0x52a9f9,_0x2943eb){const _0x3cf2a2=a133_0x2f11,_0x599b16=a133_0x4d2333[_0x3cf2a2(0x86)](process['cwd'](),_0x36c91d),_0x50f63e=a133_0x4d2333['join'](_0x599b16,NEW_CONFIG_NAME),_0x3adcef=readConfig(),_0x5b3cfd=typeof _0x3adcef[_0x3cf2a2(0x83)]===_0x3cf2a2(0xac)?_0x3adcef[_0x3cf2a2(0x83)]:undefined,_0x4ef8f4={};for(const _0x3c889d of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3adcef[_0x3c889d]!=null)_0x4ef8f4[_0x3c889d]=_0x3adcef[_0x3c889d];}const _0x352553=buildCanonicalProjectConfig(_0x4ef8f4,{'appCodes':_0x52a9f9?[_0x52a9f9]:[],'env':_0x2943eb||_0x5b3cfd||'production','metadata':{'createdAt':new Date()[_0x3cf2a2(0xab)](),'version':getCliVersion()}});writeConfigFile(_0x50f63e,_0x352553);}async function pullApiConfig(_0x51b87b,_0x456ed1,_0x4e114d,_0x5ad4b1){const _0x5bf65b=a133_0x2f11,_0x57728a=process[_0x5bf65b(0x8b)]();try{process[_0x5bf65b(0xa2)](_0x51b87b);const _0x212ec2=_0x4e114d||_0x5bf65b(0xae);initEnv(_0x212ec2),console[_0x5bf65b(0xa7)](_0x5bf65b(0x90));const {configArray:_0x22644d}=await fetchModelList(_0x456ed1,_0x5ad4b1||''),_0x2f4b57=await generateApiFile(_0x22644d,'',_0x456ed1,!![],_0x212ec2,DEFAULT_API_DIR);console[_0x5bf65b(0xa7)](_0x5bf65b(0x8a)+_0x22644d['length']+_0x5bf65b(0x84)+_0x2f4b57[_0x5bf65b(0xb0)]+_0x5bf65b(0x9d));}catch(_0x27dc41){console[_0x5bf65b(0xa7)](_0x5bf65b(0xb1)+CLI_BIN_NAME+_0x5bf65b(0x9c));}finally{process[_0x5bf65b(0xa2)](_0x57728a);}}
@@ -1 +1 @@
1
- const a130_0x149be3=a130_0x378f;(function(_0x1f8abb,_0x53a23f){const _0x49b364=a130_0x378f,_0x2597a9=_0x1f8abb();while(!![]){try{const _0x4c8a55=parseInt(_0x49b364(0x12a))/0x1*(parseInt(_0x49b364(0x134))/0x2)+-parseInt(_0x49b364(0x135))/0x3*(-parseInt(_0x49b364(0x12e))/0x4)+-parseInt(_0x49b364(0x129))/0x5+-parseInt(_0x49b364(0x12f))/0x6*(-parseInt(_0x49b364(0x132))/0x7)+-parseInt(_0x49b364(0x12d))/0x8*(-parseInt(_0x49b364(0x127))/0x9)+parseInt(_0x49b364(0x133))/0xa+-parseInt(_0x49b364(0x131))/0xb*(parseInt(_0x49b364(0x12c))/0xc);if(_0x4c8a55===_0x53a23f)break;else _0x2597a9['push'](_0x2597a9['shift']());}catch(_0x4d8d6d){_0x2597a9['push'](_0x2597a9['shift']());}}}(a130_0x544a,0x4bfc6));import a130_0x2dae96 from'node:path';function a130_0x544a(){const _0x2882e9=['join','241571UUeexN','7igoiNu','2207830JgCylj','526RXYbCU','21qKgRBC','dirname','projects','templates','531JcscxB','resolve','903890pJRTCt','667nlNnUb','../../../../','336zJniyt','11616QozUDo','108532SwsaHZ','2610726trOdiX'];a130_0x544a=function(){return _0x2882e9;};return a130_0x544a();}import{fileURLToPath}from'node:url';function a130_0x378f(_0x3b1783,_0x317566){_0x3b1783=_0x3b1783-0x126;const _0x544a9f=a130_0x544a();let _0x378fa1=_0x544a9f[_0x3b1783];return _0x378fa1;}const __dirname=a130_0x2dae96[a130_0x149be3(0x136)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x2f7695=a130_0x149be3;return a130_0x2dae96[_0x2f7695(0x128)](__dirname,_0x2f7695(0x12b));}export function getSubAppReactDemoTemplateDir(){const _0xb22065=a130_0x149be3;return a130_0x2dae96[_0xb22065(0x130)](getRabetbaseCliPackageRoot(),_0xb22065(0x126),_0xb22065(0x137),'sub-app-react-demo');}
1
+ function a134_0x25ad(_0x378dce,_0x13b572){_0x378dce=_0x378dce-0xea;const _0x3e12ff=a134_0x3e12();let _0x25ad34=_0x3e12ff[_0x378dce];return _0x25ad34;}(function(_0xb55550,_0x4b0ba1){const _0x3f5141=a134_0x25ad,_0x5aad66=_0xb55550();while(!![]){try{const _0x3e7b9e=parseInt(_0x3f5141(0xf7))/0x1+-parseInt(_0x3f5141(0xf3))/0x2+-parseInt(_0x3f5141(0xed))/0x3+-parseInt(_0x3f5141(0xf0))/0x4*(parseInt(_0x3f5141(0xf5))/0x5)+parseInt(_0x3f5141(0xf4))/0x6+parseInt(_0x3f5141(0xeb))/0x7+-parseInt(_0x3f5141(0xf6))/0x8*(-parseInt(_0x3f5141(0xea))/0x9);if(_0x3e7b9e===_0x4b0ba1)break;else _0x5aad66['push'](_0x5aad66['shift']());}catch(_0x3d6e8d){_0x5aad66['push'](_0x5aad66['shift']());}}}(a134_0x3e12,0x34d68));import a134_0x41054b from'node:path';import{fileURLToPath}from'node:url';function a134_0x3e12(){const _0x5aaaea=['171436rjABgz','resolve','../../../../','521694VMfFXa','2262210dnhyQf','15pbTJIl','2815024ODZfCV','38739tNpeNy','9OGURQq','154637tQInjS','templates','551685svXLYN','sub-app-react-demo','join'];a134_0x3e12=function(){return _0x5aaaea;};return a134_0x3e12();}const __dirname=a134_0x41054b['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x1ccf9b=a134_0x25ad;return a134_0x41054b[_0x1ccf9b(0xf1)](__dirname,_0x1ccf9b(0xf2));}export function getSubAppReactDemoTemplateDir(){const _0x1bd36d=a134_0x25ad;return a134_0x41054b[_0x1bd36d(0xef)](getRabetbaseCliPackageRoot(),_0x1bd36d(0xec),'projects',_0x1bd36d(0xee));}
@@ -1 +1 @@
1
- function a131_0x868b(){const _0x277613=['236DxebjE','项目模板复制失败','cwd','8076432kKDmHS','2856716IlOqlq','resolve','now','3563766ZsrHik','6GKuzSC','copy','223011gnYDMS','3193570kAlOVP','7800800ANhsNj','70JyparB','开始复制项目模板','error','5295vTyFJh','success'];a131_0x868b=function(){return _0x277613;};return a131_0x868b();}(function(_0x58b2d8,_0x15a6dd){const _0x5c319a=a131_0x2959,_0x425d39=_0x58b2d8();while(!![]){try{const _0x7f1170=-parseInt(_0x5c319a(0x1fb))/0x1*(parseInt(_0x5c319a(0x1fd))/0x2)+parseInt(_0x5c319a(0x204))/0x3+parseInt(_0x5c319a(0x201))/0x4+-parseInt(_0x5c319a(0x1f6))/0x5*(parseInt(_0x5c319a(0x1f3))/0x6)+-parseInt(_0x5c319a(0x1f7))/0x7+parseInt(_0x5c319a(0x200))/0x8+parseInt(_0x5c319a(0x1f5))/0x9*(parseInt(_0x5c319a(0x1f8))/0xa);if(_0x7f1170===_0x15a6dd)break;else _0x425d39['push'](_0x425d39['shift']());}catch(_0xf4615c){_0x425d39['push'](_0x425d39['shift']());}}}(a131_0x868b,0xaca70));import a131_0x2d8d6c from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a131_0x2959(_0xd4d17e,_0x5282df){_0xd4d17e=_0xd4d17e-0x1f3;const _0x868b7e=a131_0x868b();let _0x2959fc=_0x868b7e[_0xd4d17e];return _0x2959fc;}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x2e43d3){const _0x255272=a131_0x2959,_0x1bcf30=Date['now'](),_0x399d6f=a131_0x2d8d6c[_0x255272(0x202)](process[_0x255272(0x1ff)](),_0x2e43d3);try{logger['info'](_0x255272(0x1f4),_0x255272(0x1f9),{'projectCode':_0x2e43d3,'templateDir':templateDir}),await copyDirectory(templateDir,_0x399d6f);const _0x5a9618=Date['now']()-_0x1bcf30;logger[_0x255272(0x1fc)](_0x255272(0x1f4),'项目模板复制完成',_0x5a9618,{'projectCode':_0x2e43d3});}catch(_0x74ed1d){const _0x53c085=Date[_0x255272(0x203)]()-_0x1bcf30;logger[_0x255272(0x1fa)](_0x255272(0x1f4),_0x255272(0x1fe),{'projectCode':_0x2e43d3,'error':_0x74ed1d instanceof Error?_0x74ed1d['message']:String(_0x74ed1d),'duration':_0x53c085});throw _0x74ed1d;}return formatElapsed(_0x1bcf30);}
1
+ (function(_0x3d1a3f,_0x2c73e2){const _0x474229=a135_0x29b6,_0x11651b=_0x3d1a3f();while(!![]){try{const _0x431341=parseInt(_0x474229(0x1b4))/0x1+parseInt(_0x474229(0x1a6))/0x2*(-parseInt(_0x474229(0x1ad))/0x3)+-parseInt(_0x474229(0x1b5))/0x4+parseInt(_0x474229(0x1b0))/0x5*(parseInt(_0x474229(0x1af))/0x6)+-parseInt(_0x474229(0x1ab))/0x7+parseInt(_0x474229(0x1b3))/0x8*(parseInt(_0x474229(0x1b1))/0x9)+parseInt(_0x474229(0x1a8))/0xa;if(_0x431341===_0x2c73e2)break;else _0x11651b['push'](_0x11651b['shift']());}catch(_0x180621){_0x11651b['push'](_0x11651b['shift']());}}}(a135_0x4dc7,0x3ba80));import a135_0x369fd6 from'node:path';function a135_0x4dc7(){const _0x2c9076=['108ULstKL','info','272896QPgLUg','440768EsdKZZ','985584FtpbUS','项目模板复制完成','1004YGwNJW','copy','2459500wWmUWC','cwd','now','3042270ECPJWh','项目模板复制失败','2334EjoTql','message','558oVNmzl','11820PEydds'];a135_0x4dc7=function(){return _0x2c9076;};return a135_0x4dc7();}import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a135_0x29b6(_0x39b3f7,_0x31f11f){_0x39b3f7=_0x39b3f7-0x1a5;const _0x4dc731=a135_0x4dc7();let _0x29b64a=_0x4dc731[_0x39b3f7];return _0x29b64a;}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x47745a){const _0x19e50c=a135_0x29b6,_0x18035d=Date[_0x19e50c(0x1aa)](),_0x5baa3f=a135_0x369fd6['resolve'](process[_0x19e50c(0x1a9)](),_0x47745a);try{logger[_0x19e50c(0x1b2)](_0x19e50c(0x1a7),'开始复制项目模板',{'projectCode':_0x47745a,'templateDir':templateDir}),await copyDirectory(templateDir,_0x5baa3f);const _0x4517f1=Date[_0x19e50c(0x1aa)]()-_0x18035d;logger['success']('copy',_0x19e50c(0x1a5),_0x4517f1,{'projectCode':_0x47745a});}catch(_0x187188){const _0x90c204=Date[_0x19e50c(0x1aa)]()-_0x18035d;logger['error'](_0x19e50c(0x1a7),_0x19e50c(0x1ac),{'projectCode':_0x47745a,'error':_0x187188 instanceof Error?_0x187188[_0x19e50c(0x1ae)]:String(_0x187188),'duration':_0x90c204});throw _0x187188;}return formatElapsed(_0x18035d);}
@@ -1 +1 @@
1
- (function(_0x26d379,_0x44ff62){const _0x217cb3=a132_0x3e50,_0x3d21da=_0x26d379();while(!![]){try{const _0x306a44=-parseInt(_0x217cb3(0x1eb))/0x1*(parseInt(_0x217cb3(0x1e5))/0x2)+-parseInt(_0x217cb3(0x1e3))/0x3*(parseInt(_0x217cb3(0x1de))/0x4)+parseInt(_0x217cb3(0x1e9))/0x5+parseInt(_0x217cb3(0x1ec))/0x6+-parseInt(_0x217cb3(0x1e7))/0x7+-parseInt(_0x217cb3(0x1e8))/0x8+-parseInt(_0x217cb3(0x1e4))/0x9*(-parseInt(_0x217cb3(0x1e2))/0xa);if(_0x306a44===_0x44ff62)break;else _0x3d21da['push'](_0x3d21da['shift']());}catch(_0x37ea24){_0x3d21da['push'](_0x3d21da['shift']());}}}(a132_0x5bd4,0xa5df5));import a132_0x551d9b from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a132_0x3e50(_0x35af0f,_0x513a32){_0x35af0f=_0x35af0f-0x1de;const _0x5bd45c=a132_0x5bd4();let _0x3e50c7=_0x5bd45c[_0x35af0f];return _0x3e50c7;}function a132_0x5bd4(){const _0x1ee29=['5454302aitfZC','5984512OBAqkg','4524580FLpMLG','format','9svhUBP','4146426gFpaaM','now','prettier','error','success','cwd','代码格式化失败','代码格式化完成','144iPngaZ','--write','开始格式化代码','npx','10drtRck','105741ozbdZl','21702969QbPDrv','118194HtQirn','info'];a132_0x5bd4=function(){return _0x1ee29;};return a132_0x5bd4();}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x25bebb){const _0x138fe8=a132_0x3e50,_0x21f40e=Date[_0x138fe8(0x1ed)](),_0x566ed3=a132_0x551d9b['resolve'](process[_0x138fe8(0x1f1)](),_0x25bebb);try{logger[_0x138fe8(0x1e6)](_0x138fe8(0x1ea),_0x138fe8(0x1e0),{'projectCode':_0x25bebb}),await execa(resolveNpmBin(_0x138fe8(0x1e1)),[_0x138fe8(0x1ee),_0x138fe8(0x1df),'.'],{'cwd':_0x566ed3});const _0x3690fb=Date[_0x138fe8(0x1ed)]()-_0x21f40e;logger[_0x138fe8(0x1f0)](_0x138fe8(0x1ea),_0x138fe8(0x1f3),_0x3690fb,{'projectCode':_0x25bebb});}catch(_0x5c7ff8){const _0x4f16cb=Date[_0x138fe8(0x1ed)]()-_0x21f40e;logger[_0x138fe8(0x1ef)]('format',_0x138fe8(0x1f2),{'projectCode':_0x25bebb,'error':_0x5c7ff8 instanceof Error?_0x5c7ff8['message']:String(_0x5c7ff8),'duration':_0x4f16cb});throw _0x5c7ff8;}return formatElapsed(_0x21f40e);}
1
+ function a136_0x533d(_0x538208,_0x1e4e0c){_0x538208=_0x538208-0xc5;const _0x1ad051=a136_0x1ad0();let _0x533d04=_0x1ad051[_0x538208];return _0x533d04;}(function(_0x1fde84,_0x273a4e){const _0x2491fb=a136_0x533d,_0x4717ee=_0x1fde84();while(!![]){try{const _0x1f570f=parseInt(_0x2491fb(0xcb))/0x1+-parseInt(_0x2491fb(0xd8))/0x2*(parseInt(_0x2491fb(0xc8))/0x3)+parseInt(_0x2491fb(0xc6))/0x4*(parseInt(_0x2491fb(0xd9))/0x5)+parseInt(_0x2491fb(0xd4))/0x6+-parseInt(_0x2491fb(0xc7))/0x7+-parseInt(_0x2491fb(0xcc))/0x8*(-parseInt(_0x2491fb(0xd7))/0x9)+parseInt(_0x2491fb(0xd3))/0xa;if(_0x1f570f===_0x273a4e)break;else _0x4717ee['push'](_0x4717ee['shift']());}catch(_0x165f3b){_0x4717ee['push'](_0x4717ee['shift']());}}}(a136_0x1ad0,0x1e62c));import a136_0x34684e from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a136_0x1ad0(){const _0x4fadfa=['format','376HcByJg','1311709SliyQQ','288TUcehB','prettier','info','33381YWUIxL','1154792JrRisD','resolve','npx','message','开始格式化代码','代码格式化完成','--write','1271970KgPDpq','233304edekdE','error','now','9MlMmaJ','1320mnhCSr','1670RrRBCj','代码格式化失败'];a136_0x1ad0=function(){return _0x4fadfa;};return a136_0x1ad0();}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x1e136c){const _0x5b1329=a136_0x533d,_0x40cc3a=Date['now'](),_0x215dba=a136_0x34684e[_0x5b1329(0xcd)](process['cwd'](),_0x1e136c);try{logger[_0x5b1329(0xca)](_0x5b1329(0xc5),_0x5b1329(0xd0),{'projectCode':_0x1e136c}),await execa(resolveNpmBin(_0x5b1329(0xce)),[_0x5b1329(0xc9),_0x5b1329(0xd2),'.'],{'cwd':_0x215dba});const _0x21f30e=Date[_0x5b1329(0xd6)]()-_0x40cc3a;logger['success'](_0x5b1329(0xc5),_0x5b1329(0xd1),_0x21f30e,{'projectCode':_0x1e136c});}catch(_0x116074){const _0x24cbe0=Date[_0x5b1329(0xd6)]()-_0x40cc3a;logger[_0x5b1329(0xd5)](_0x5b1329(0xc5),_0x5b1329(0xda),{'projectCode':_0x1e136c,'error':_0x116074 instanceof Error?_0x116074[_0x5b1329(0xcf)]:String(_0x116074),'duration':_0x24cbe0});throw _0x116074;}return formatElapsed(_0x40cc3a);}
@@ -1 +1 @@
1
- (function(_0x227b1c,_0x430893){const _0x548888=a133_0xb623,_0x418f0f=_0x227b1c();while(!![]){try{const _0x232cb2=parseInt(_0x548888(0xa3))/0x1+parseInt(_0x548888(0xa5))/0x2+parseInt(_0x548888(0xaa))/0x3*(parseInt(_0x548888(0xa0))/0x4)+parseInt(_0x548888(0xb0))/0x5+parseInt(_0x548888(0xa2))/0x6+parseInt(_0x548888(0xad))/0x7+parseInt(_0x548888(0xac))/0x8*(-parseInt(_0x548888(0xab))/0x9);if(_0x232cb2===_0x430893)break;else _0x418f0f['push'](_0x418f0f['shift']());}catch(_0x3d85cf){_0x418f0f['push'](_0x418f0f['shift']());}}}(a133_0x51fb,0x8c5d0));import a133_0x368a9c 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';function a133_0xb623(_0x42bf63,_0x394fe7){_0x42bf63=_0x42bf63-0xa0;const _0x51fbe2=a133_0x51fb();let _0xb62353=_0x51fbe2[_0x42bf63];return _0xb62353;}function a133_0x51fb(){const _0x5363fc=['2247035rtCbgQ','1912204OLsMim','error','745080lnAWvm','626763YnkZVz','依赖安装失败','916742qVVzgg','now','--registry','https://registry.npmmirror.com','success','3GHYKpG','21367701jbTXcV','8uCbWBB','5686415KilCaX','cwd','install'];a133_0x51fb=function(){return _0x5363fc;};return a133_0x51fb();}export async function installDependencies(_0x1ca770){const _0x3a1a6c=a133_0xb623,_0x3af29d=Date[_0x3a1a6c(0xa6)](),_0x4922c9=a133_0x368a9c['resolve'](process[_0x3a1a6c(0xae)](),_0x1ca770);try{logger['info']('install','开始安装依赖',{'projectCode':_0x1ca770,'registry':_0x3a1a6c(0xa8)}),await execa(resolveNpmBin('npm'),[_0x3a1a6c(0xaf),_0x3a1a6c(0xa7),_0x3a1a6c(0xa8)],{'cwd':_0x4922c9});const _0x46d3a0=Date[_0x3a1a6c(0xa6)]()-_0x3af29d;logger[_0x3a1a6c(0xa9)](_0x3a1a6c(0xaf),'依赖安装完成',_0x46d3a0,{'projectCode':_0x1ca770});}catch(_0x2dc919){const _0x223950=Date[_0x3a1a6c(0xa6)]()-_0x3af29d;logger[_0x3a1a6c(0xa1)](_0x3a1a6c(0xaf),_0x3a1a6c(0xa4),{'projectCode':_0x1ca770,'error':_0x2dc919 instanceof Error?_0x2dc919['message']:String(_0x2dc919),'duration':_0x223950});throw _0x2dc919;}return formatElapsed(_0x3af29d);}
1
+ (function(_0x1240b7,_0x2738b4){const _0x231c0d=a137_0x5a70,_0x4a7eeb=_0x1240b7();while(!![]){try{const _0x26cbb8=-parseInt(_0x231c0d(0x92))/0x1*(-parseInt(_0x231c0d(0x90))/0x2)+-parseInt(_0x231c0d(0xa1))/0x3*(parseInt(_0x231c0d(0x96))/0x4)+-parseInt(_0x231c0d(0xa2))/0x5+parseInt(_0x231c0d(0xa3))/0x6*(-parseInt(_0x231c0d(0x99))/0x7)+parseInt(_0x231c0d(0x94))/0x8*(parseInt(_0x231c0d(0x8a))/0x9)+-parseInt(_0x231c0d(0x8e))/0xa*(parseInt(_0x231c0d(0x93))/0xb)+-parseInt(_0x231c0d(0x97))/0xc*(-parseInt(_0x231c0d(0x91))/0xd);if(_0x26cbb8===_0x2738b4)break;else _0x4a7eeb['push'](_0x4a7eeb['shift']());}catch(_0xbbf8db){_0x4a7eeb['push'](_0x4a7eeb['shift']());}}}(a137_0x58b6,0xe79f9));import a137_0x5753a8 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';function a137_0x5a70(_0x5636a5,_0x324b7b){_0x5636a5=_0x5636a5-0x8a;const _0x58b688=a137_0x58b6();let _0x5a7067=_0x58b688[_0x5636a5];return _0x5a7067;}export async function installDependencies(_0xf3ed6f){const _0x176d2b=a137_0x5a70,_0x143bc7=Date[_0x176d2b(0x9d)](),_0x35f101=a137_0x5753a8[_0x176d2b(0x98)](process['cwd'](),_0xf3ed6f);try{logger[_0x176d2b(0x8b)](_0x176d2b(0x9b),_0x176d2b(0x8d),{'projectCode':_0xf3ed6f,'registry':_0x176d2b(0xa0)}),await execa(resolveNpmBin(_0x176d2b(0x9c)),[_0x176d2b(0x9b),_0x176d2b(0x8f),'https://registry.npmmirror.com'],{'cwd':_0x35f101});const _0x59d9c7=Date[_0x176d2b(0x9d)]()-_0x143bc7;logger[_0x176d2b(0x9a)](_0x176d2b(0x9b),_0x176d2b(0x8c),_0x59d9c7,{'projectCode':_0xf3ed6f});}catch(_0x286c3d){const _0x109a38=Date[_0x176d2b(0x9d)]()-_0x143bc7;logger[_0x176d2b(0x9f)]('install',_0x176d2b(0x95),{'projectCode':_0xf3ed6f,'error':_0x286c3d instanceof Error?_0x286c3d[_0x176d2b(0x9e)]:String(_0x286c3d),'duration':_0x109a38});throw _0x286c3d;}return formatElapsed(_0x143bc7);}function a137_0x58b6(){const _0x5daf70=['--registry','1972084TwRZKY','25854530BIHSrT','1MwbXAm','1210mgXuat','400GyKyiP','依赖安装失败','1300028yTzxPk','12NQbbYu','resolve','259ZQrViz','success','install','npm','now','message','error','https://registry.npmmirror.com','3dExSHQ','151750gaLreU','227508WBzQft','1395faVsOb','info','依赖安装完成','开始安装依赖','25050UryPrT'];a137_0x58b6=function(){return _0x5daf70;};return a137_0x58b6();}
@@ -1 +1 @@
1
- const a134_0x4fbc1d=a134_0x588e;(function(_0x356d84,_0x314be3){const _0x8cb358=a134_0x588e,_0x25ce9b=_0x356d84();while(!![]){try{const _0x528a21=-parseInt(_0x8cb358(0x1d1))/0x1*(parseInt(_0x8cb358(0x1d2))/0x2)+parseInt(_0x8cb358(0x1e9))/0x3+-parseInt(_0x8cb358(0x1de))/0x4+parseInt(_0x8cb358(0x1d4))/0x5*(parseInt(_0x8cb358(0x1ea))/0x6)+parseInt(_0x8cb358(0x1d3))/0x7*(parseInt(_0x8cb358(0x1e4))/0x8)+-parseInt(_0x8cb358(0x1ef))/0x9+-parseInt(_0x8cb358(0x1ce))/0xa;if(_0x528a21===_0x314be3)break;else _0x25ce9b['push'](_0x25ce9b['shift']());}catch(_0x3e5560){_0x25ce9b['push'](_0x25ce9b['shift']());}}}(a134_0x4aa8,0xc2f19));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':'appcode','type':'string','description':'App\x20code\x20to\x20initialize'},{'name':a134_0x4fbc1d(0x1f0),'type':a134_0x4fbc1d(0x1d8),'description':a134_0x4fbc1d(0x1f1)},{'name':a134_0x4fbc1d(0x1e0),'type':a134_0x4fbc1d(0x1ed),'description':a134_0x4fbc1d(0x1eb),'default':![]}],createFlags=[{'name':a134_0x4fbc1d(0x1ec),'type':a134_0x4fbc1d(0x1d8),'description':a134_0x4fbc1d(0x1dd)},{'name':a134_0x4fbc1d(0x1f0),'type':'string','description':'Target\x20environment'},{'name':a134_0x4fbc1d(0x1da),'type':a134_0x4fbc1d(0x1d8),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'}],upgradeFlags=[{'name':a134_0x4fbc1d(0x1e0),'type':'boolean','description':a134_0x4fbc1d(0x1d9),'default':![]}];function a134_0x4aa8(){const _0x49d0bb=['create','string','Skip\x20confirmation\x20prompt','appcode','2026-07','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Project\x20name','80820fIGhTA','bool','yes','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','../../commands/project/create/main.js','11099656MzvpJt','trim','\x20workspace\x20init','nonInteractive','write','4448496LeUEGq','6jpwrjk','Auto-confirm\x20prompts','name','boolean','project','8488368CZQwcu','env','Target\x20environment','args','Create\x20a\x20new\x20project','9278850IIxUtf','upgrade','str','40345rmVhhD','78wWAMTY','7GglbDp','6964485PMUcZf','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]'];a134_0x4aa8=function(){return _0x49d0bb;};return a134_0x4aa8();}function a134_0x588e(_0x40a999,_0x64ec68){_0x40a999=_0x40a999-0x1ce;const _0x4aa88b=a134_0x4aa8();let _0x588edc=_0x4aa88b[_0x40a999];return _0x588edc;}export const projectDefinitions=[{'service':a134_0x4fbc1d(0x1ee),'command':'init','description':a134_0x4fbc1d(0x1e2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a134_0x4fbc1d(0x1e6),'since':a134_0x4fbc1d(0x1db)},'flags':initFlags,async 'execute'(_0x47d001){const _0x152e58=a134_0x4fbc1d;return await initConfig({'appcode':_0x47d001[_0x152e58(0x1d0)](_0x152e58(0x1da))||undefined,'env':_0x47d001['str']('env')||undefined,'autoYes':_0x47d001['bool']('yes')}),{'ok':!![]};}},{'service':a134_0x4fbc1d(0x1ee),'command':a134_0x4fbc1d(0x1d7),'description':a134_0x4fbc1d(0x1f3),'risk':a134_0x4fbc1d(0x1e8),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a134_0x4fbc1d(0x1dc),'required':![]}],'flags':createFlags,async 'execute'(_0x1478ca){const _0x589123=a134_0x4fbc1d,{createApp:_0x2f333b}=await import(_0x589123(0x1e3)),{createProjectNonInteractive:_0x5a1673}=await import('../../commands/project/create/non-interactive.js'),_0x485130=_0x1478ca[_0x589123(0x1d0)](_0x589123(0x1ec))[_0x589123(0x1e5)]()||_0x1478ca[_0x589123(0x1f2)][0x0]?.['trim'](),_0x37b442=_0x1478ca[_0x589123(0x1d0)](_0x589123(0x1f0))||undefined,_0xfce26b=_0x1478ca['str']('appcode')||undefined;if(_0x1478ca['nonInteractive']){if(!_0x485130)throw CliErrors['validation'](_0x589123(0x1e1),'Usage:\x20'+CLI_BIN_NAME+_0x589123(0x1d6));await _0x5a1673(_0x485130,_0x37b442,_0xfce26b,_0x1478ca['cookie']);}else await _0x2f333b({'projectCode':_0x485130,'appCode':_0xfce26b,'env':_0x37b442,'cookie':_0x1478ca['cookie']});return{'ok':!![]};}},{'service':'project','command':a134_0x4fbc1d(0x1cf),'description':a134_0x4fbc1d(0x1d5),'risk':a134_0x4fbc1d(0x1e8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x5b60db){const _0x1df72c=a134_0x4fbc1d;return await upgradeApp(_0x5b60db[_0x1df72c(0x1e7)],{'yes':_0x5b60db[_0x1df72c(0x1df)](_0x1df72c(0x1e0))}),{'ok':!![]};}}];
1
+ const a138_0x25c155=a138_0x1c29;(function(_0x3d4ecb,_0x1de016){const _0x2d17b7=a138_0x1c29,_0x137694=_0x3d4ecb();while(!![]){try{const _0x74b5=parseInt(_0x2d17b7(0x1e7))/0x1+-parseInt(_0x2d17b7(0x1cf))/0x2+-parseInt(_0x2d17b7(0x1e3))/0x3*(-parseInt(_0x2d17b7(0x1ce))/0x4)+-parseInt(_0x2d17b7(0x1e4))/0x5*(-parseInt(_0x2d17b7(0x1c9))/0x6)+parseInt(_0x2d17b7(0x1d6))/0x7*(-parseInt(_0x2d17b7(0x1c6))/0x8)+parseInt(_0x2d17b7(0x1e6))/0x9+-parseInt(_0x2d17b7(0x1d9))/0xa;if(_0x74b5===_0x1de016)break;else _0x137694['push'](_0x137694['shift']());}catch(_0x412834){_0x137694['push'](_0x137694['shift']());}}}(a138_0x2688,0xe3e30));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';function a138_0x2688(){const _0x2bb6d5=['App\x20code\x20to\x20initialize','cookie','string','\x20workspace\x20init','name','7dUIhDi','yes','boolean','15186910EuRcfo','create','args','str','bool','2026-07','appcode','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','../../commands/project/create/non-interactive.js','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','527079mTbrKG','2873330okUvwc','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','4244130SbUjtK','1593679fmNoMh','Project\x20name','upgrade','Auto-confirm\x20prompts','validation','6651128oYACMy','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','Skip\x20confirmation\x20prompt','18mzGgdY','write','nonInteractive','env','project','4kClshI','1362868FCeoMT','project-name'];a138_0x2688=function(){return _0x2bb6d5;};return a138_0x2688();}function a138_0x1c29(_0x503242,_0x1a4fd1){_0x503242=_0x503242-0x1c5;const _0x26882b=a138_0x2688();let _0x1c2955=_0x26882b[_0x503242];return _0x1c2955;}import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a138_0x25c155(0x1df),'type':a138_0x25c155(0x1d3),'description':a138_0x25c155(0x1d1)},{'name':a138_0x25c155(0x1cc),'type':'string','description':'Target\x20environment'},{'name':a138_0x25c155(0x1d7),'type':'boolean','description':a138_0x25c155(0x1ea),'default':![]}],createFlags=[{'name':a138_0x25c155(0x1d5),'type':'string','description':a138_0x25c155(0x1e8)},{'name':'env','type':a138_0x25c155(0x1d3),'description':'Target\x20environment'},{'name':a138_0x25c155(0x1df),'type':a138_0x25c155(0x1d3),'description':a138_0x25c155(0x1c7)}],upgradeFlags=[{'name':a138_0x25c155(0x1d7),'type':a138_0x25c155(0x1d8),'description':a138_0x25c155(0x1c8),'default':![]}];export const projectDefinitions=[{'service':'project','command':'init','description':a138_0x25c155(0x1e5),'risk':a138_0x25c155(0x1ca),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a138_0x25c155(0x1d4),'since':a138_0x25c155(0x1de)},'flags':initFlags,async 'execute'(_0x3c83c7){const _0x1fdc9a=a138_0x25c155;return await initConfig({'appcode':_0x3c83c7[_0x1fdc9a(0x1dc)](_0x1fdc9a(0x1df))||undefined,'env':_0x3c83c7['str'](_0x1fdc9a(0x1cc))||undefined,'autoYes':_0x3c83c7[_0x1fdc9a(0x1dd)]('yes')}),{'ok':!![]};}},{'service':a138_0x25c155(0x1cd),'command':a138_0x25c155(0x1da),'description':'Create\x20a\x20new\x20project','risk':a138_0x25c155(0x1ca),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a138_0x25c155(0x1d0),'description':a138_0x25c155(0x1e2),'required':![]}],'flags':createFlags,async 'execute'(_0x54b7c6){const _0x115bc1=a138_0x25c155,{createApp:_0x25057b}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x3d5070}=await import(_0x115bc1(0x1e1)),_0x3e30f9=_0x54b7c6['str'](_0x115bc1(0x1d5))['trim']()||_0x54b7c6[_0x115bc1(0x1db)][0x0]?.['trim'](),_0x1a47ac=_0x54b7c6[_0x115bc1(0x1dc)](_0x115bc1(0x1cc))||undefined,_0x52574a=_0x54b7c6[_0x115bc1(0x1dc)](_0x115bc1(0x1df))||undefined;if(_0x54b7c6[_0x115bc1(0x1cb)]){if(!_0x3e30f9)throw CliErrors[_0x115bc1(0x1c5)](_0x115bc1(0x1e0),'Usage:\x20'+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x3d5070(_0x3e30f9,_0x1a47ac,_0x52574a,_0x54b7c6[_0x115bc1(0x1d2)]);}else await _0x25057b({'projectCode':_0x3e30f9,'appCode':_0x52574a,'env':_0x1a47ac,'cookie':_0x54b7c6[_0x115bc1(0x1d2)]});return{'ok':!![]};}},{'service':'project','command':a138_0x25c155(0x1e9),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a138_0x25c155(0x1ca),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x52a974){const _0x10b733=a138_0x25c155;return await upgradeApp(_0x52a974['nonInteractive'],{'yes':_0x52a974['bool'](_0x10b733(0x1d7))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x3b7a6f,_0x227890){const _0x4dcbc8=a135_0xd1e3,_0x269282=_0x3b7a6f();while(!![]){try{const _0x4c8ce9=parseInt(_0x4dcbc8(0xf5))/0x1*(parseInt(_0x4dcbc8(0xf4))/0x2)+-parseInt(_0x4dcbc8(0xfa))/0x3*(-parseInt(_0x4dcbc8(0x106))/0x4)+-parseInt(_0x4dcbc8(0xfc))/0x5+parseInt(_0x4dcbc8(0x111))/0x6+parseInt(_0x4dcbc8(0x114))/0x7*(-parseInt(_0x4dcbc8(0xef))/0x8)+parseInt(_0x4dcbc8(0xf0))/0x9+-parseInt(_0x4dcbc8(0xfe))/0xa;if(_0x4c8ce9===_0x227890)break;else _0x269282['push'](_0x269282['shift']());}catch(_0x3f1d27){_0x269282['push'](_0x269282['shift']());}}}(a135_0xce74,0xa3b99));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a135_0x41ce3a from'chalk';import{input,confirm}from'@inquirer/prompts';function a135_0xce74(){const _0x1fcf6c=['\x20\x20Apps:\x20','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','bold','1726NwIDzS','931DsTbuA','\x20\x20Default:\x20','Invalid\x20App\x20Code','appcode','?\x20(Old\x20file\x20→\x20*.bak)','1097343CQhQlW','\x20\x20appcode:\x20','6587725wslVEs','string','4999480ZuzdFC','初始化项目配置文件成功','keys','yellow','../..','env','init','1.0.0','8YFeFNH','version','parse','join','\x20api\x20pull\x27','log','app','apps','从旧配置文件升级成功','production','package.json','1767444oJWbXy','gray','utf8','13671nwjHrl','\x20workspace\x20init`\x20to\x20start\x20fresh.','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','cwd','.bak','toLocaleString','trim','.rabetbase.json','cyan','defaultApp','56RFfTwb','6049728daWBkg'];a135_0xce74=function(){return _0x1fcf6c;};return a135_0xce74();}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';function a135_0xd1e3(_0x141153,_0x164210){_0x141153=_0x141153-0xea;const _0xce74a3=a135_0xce74();let _0xd1e3c=_0xce74a3[_0x141153];return _0xd1e3c;}import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x8cb983){const _0x35c567=a135_0xd1e3,{appcode:_0xcc03d6,env:_0x339901,autoYes:_0x246d99}=_0x8cb983,_0x26fb6b=process[_0x35c567(0x117)]();if(getProjectConfigPath())throw new Error(_0x35c567(0xf2));let _0x5e0dbb;for(const _0x4a2e32 of LEGACY_CONFIG_NAMES){const _0x4a1dbe=resolve(_0x26fb6b,_0x4a2e32);if(existsSync(_0x4a1dbe)){_0x5e0dbb=_0x4a1dbe;break;}}if(_0x5e0dbb){let _0x52d689={};try{_0x52d689=JSON[_0x35c567(0x108)](readFileSync(_0x5e0dbb,_0x35c567(0x113)));}catch{}const _0x33d609=basename(_0x5e0dbb),_0x249132=_0x52d689?.[_0x35c567(0xf8)]||_0x52d689?.[_0x35c567(0x10c)];let _0x1038f6=_0x246d99;!_0x246d99&&(console[_0x35c567(0x10b)](a135_0x41ce3a[_0x35c567(0x101)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a135_0x41ce3a[_0x35c567(0xf3)](_0x33d609))),_0x249132&&console[_0x35c567(0x10b)](a135_0x41ce3a[_0x35c567(0xed)](_0x35c567(0xfb)+_0x249132)),_0x1038f6=await confirm({'message':'Upgrade\x20it\x20to\x20'+a135_0x41ce3a['bold'](_0x35c567(0xec))+_0x35c567(0xf9),'default':!![]}));if(!_0x1038f6){console['log']('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x35c567(0x115));return;}const _0x30db8d=resolve(_0x26fb6b,NEW_CONFIG_NAME),_0x565706=getCliVersionFromPkg(),_0x3ccd34=readRawConfig(),_0x3358a6=_0xcc03d6||(typeof _0x52d689?.[_0x35c567(0xf8)]===_0x35c567(0xfd)?_0x52d689[_0x35c567(0xf8)]:undefined)||(typeof _0x52d689?.[_0x35c567(0x10c)]===_0x35c567(0xfd)?_0x52d689[_0x35c567(0x10c)]:undefined)||await askAppcode(),_0x319a6d=typeof _0x52d689?.[_0x35c567(0x103)]===_0x35c567(0xfd)?_0x52d689[_0x35c567(0x103)]:typeof _0x3ccd34[_0x35c567(0x103)]==='string'?_0x3ccd34[_0x35c567(0x103)]:_0x35c567(0x10f),_0x50eacd=buildCanonicalProjectConfig({..._0x3ccd34,..._0x52d689},{'appCodes':[_0x3358a6],'env':_0x319a6d,'metadata':{'version':_0x565706,'migratedAt':new Date()[_0x35c567(0xea)](),'migratedFrom':_0x5e0dbb}});writeConfigFile(_0x30db8d,_0x50eacd);const _0xc62d25=_0x5e0dbb+_0x35c567(0x118);renameSync(_0x5e0dbb,_0xc62d25),logger['setLogPath'](_0x26fb6b),logger['info'](_0x35c567(0x104),_0x35c567(0x10e),{'from':_0x5e0dbb,'to':_0x30db8d,'appcode':_0x3358a6,'env':_0x50eacd[_0x35c567(0x103)]}),console[_0x35c567(0x10b)](a135_0x41ce3a['green']('✓\x20Upgraded\x20'+_0x33d609+'\x20→\x20.rabetbase.json')),console[_0x35c567(0x10b)](a135_0x41ce3a[_0x35c567(0xed)]('\x20\x20Apps:\x20'+Object[_0x35c567(0x100)](_0x50eacd[_0x35c567(0x10d)]||{})[_0x35c567(0x109)](',\x20'))),console['log'](a135_0x41ce3a[_0x35c567(0xed)](_0x35c567(0xf6)+_0x50eacd['defaultApp'])),console[_0x35c567(0x10b)](a135_0x41ce3a[_0x35c567(0x112)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x33d609+_0x35c567(0x118)));return;}const _0x426bf2=_0xcc03d6||await askAppcode(),_0x2ca23c=resolve(_0x26fb6b,NEW_CONFIG_NAME),_0x3cc434=getCliVersionFromPkg(),_0x1c0e77=readRawConfig(),_0x1e9eb5=typeof _0x1c0e77['env']===_0x35c567(0xfd)?_0x1c0e77[_0x35c567(0x103)]:undefined,_0x363525=buildCanonicalProjectConfig({},{'appCodes':[_0x426bf2],'env':_0x339901||_0x1e9eb5||'production','metadata':{'version':_0x3cc434,'createdAt':new Date()[_0x35c567(0xea)]()}});writeConfigFile(_0x2ca23c,_0x363525),logger['setLogPath'](_0x26fb6b),logger['info']('init',_0x35c567(0xff),{'appcode':_0x426bf2,'env':_0x363525[_0x35c567(0x103)],'version':_0x363525[_0x35c567(0x107)],'configPath':_0x2ca23c}),console[_0x35c567(0x10b)](a135_0x41ce3a['green']('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console[_0x35c567(0x10b)](a135_0x41ce3a[_0x35c567(0xed)](_0x35c567(0xf1)+Object[_0x35c567(0x100)](_0x363525[_0x35c567(0x10d)]||{})[_0x35c567(0x109)](',\x20'))),console['log'](a135_0x41ce3a[_0x35c567(0xed)](_0x35c567(0xf6)+_0x363525[_0x35c567(0xee)])),console[_0x35c567(0x10b)](_0x35c567(0x116)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x35c567(0x10a));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x5f0d50=>{const _0x224205=a135_0xd1e3;if(!_0x5f0d50[_0x224205(0xeb)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x1e1e20,message:_0x27edf5}=validateAppcode(_0x5f0d50[_0x224205(0xeb)]());return _0x1e1e20||_0x27edf5||_0x224205(0xf7);}});}function getCliVersionFromPkg(){const _0xe98fd4=a135_0xd1e3;try{const _0x2f563f=fileURLToPath(import.meta.url),_0x3ca619=resolve(dirname(_0x2f563f),_0xe98fd4(0x102)),_0x2a35df=JSON['parse'](readFileSync(resolve(_0x3ca619,_0xe98fd4(0x110)),_0xe98fd4(0x113)));return _0x2a35df['version']||_0xe98fd4(0x105);}catch{return _0xe98fd4(0x105);}}
1
+ (function(_0x343b9c,_0x29b6f9){const _0x23034d=a139_0x31c9,_0x354e71=_0x343b9c();while(!![]){try{const _0x2f862d=parseInt(_0x23034d(0x99))/0x1*(parseInt(_0x23034d(0x78))/0x2)+-parseInt(_0x23034d(0x86))/0x3+-parseInt(_0x23034d(0x9a))/0x4*(-parseInt(_0x23034d(0x9f))/0x5)+parseInt(_0x23034d(0xa1))/0x6*(parseInt(_0x23034d(0xa2))/0x7)+-parseInt(_0x23034d(0x9c))/0x8+-parseInt(_0x23034d(0x95))/0x9*(-parseInt(_0x23034d(0x8a))/0xa)+-parseInt(_0x23034d(0x90))/0xb*(parseInt(_0x23034d(0x9e))/0xc);if(_0x2f862d===_0x29b6f9)break;else _0x354e71['push'](_0x354e71['shift']());}catch(_0x1ea246){_0x354e71['push'](_0x354e71['shift']());}}}(a139_0x5213,0x5c5ca));import{readFileSync,existsSync,renameSync}from'node:fs';function a139_0x5213(){const _0x25042a=['cyan','1451496aQEFrv','1865squEPJ','?\x20(Old\x20file\x20→\x20*.bak)','916278PuAdJQ','21eLzStf','parse','初始化项目配置文件成功','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','\x20workspace\x20init`\x20to\x20start\x20fresh.','app','production','Invalid\x20App\x20Code','keys','\x20\x20Default:\x20','log','34614cOioOy','cwd','setLogPath','defaultApp','Migration\x20cancelled.\x20Run\x20`','.rabetbase.json','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','从旧配置文件升级成功','utf8','string','green','gray','env','.bak','865965IiUQrn','info','toLocaleString','bold','114310yGhwAk','\x20→\x20.rabetbase.json','\x20\x20Apps:\x20','\x20api\x20pull\x27','\x20api\x20generate\x27\x20and\x20\x27','Please\x20enter\x20App\x20Code:','55jxnexW','appcode','\x20\x20appcode:\x20','1.0.0','apps','243Sjaide','init','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','version','19OJlFOC','4144JBjmsO','join','1682224NUiPeA'];a139_0x5213=function(){return _0x25042a;};return a139_0x5213();}import{resolve,dirname,basename}from'node:path';function a139_0x31c9(_0x378013,_0x4b6a8f){_0x378013=_0x378013-0x74;const _0x52138b=a139_0x5213();let _0x31c9a2=_0x52138b[_0x378013];return _0x31c9a2;}import{fileURLToPath}from'node:url';import a139_0x5cd4a4 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x29e326){const _0x3987c4=a139_0x31c9,{appcode:_0x3cfa3b,env:_0x1dd656,autoYes:_0xa465fd}=_0x29e326,_0x4bedb7=process[_0x3987c4(0x79)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x5bbeea;for(const _0x4f541a of LEGACY_CONFIG_NAMES){const _0x26ce5b=resolve(_0x4bedb7,_0x4f541a);if(existsSync(_0x26ce5b)){_0x5bbeea=_0x26ce5b;break;}}if(_0x5bbeea){let _0x44ad50={};try{_0x44ad50=JSON['parse'](readFileSync(_0x5bbeea,'utf8'));}catch{}const _0x8816ec=basename(_0x5bbeea),_0x27ae23=_0x44ad50?.[_0x3987c4(0x91)]||_0x44ad50?.[_0x3987c4(0xa7)];let _0xae067e=_0xa465fd;!_0xa465fd&&(console[_0x3987c4(0x77)](a139_0x5cd4a4['yellow'](_0x3987c4(0xa5)+a139_0x5cd4a4[_0x3987c4(0x89)](_0x8816ec))),_0x27ae23&&console[_0x3987c4(0x77)](a139_0x5cd4a4['cyan'](_0x3987c4(0x92)+_0x27ae23)),_0xae067e=await confirm({'message':'Upgrade\x20it\x20to\x20'+a139_0x5cd4a4['bold'](_0x3987c4(0x7d))+_0x3987c4(0xa0),'default':!![]}));if(!_0xae067e){console['log'](_0x3987c4(0x7c)+CLI_BIN_NAME+_0x3987c4(0xa6));return;}const _0x4df2cc=resolve(_0x4bedb7,NEW_CONFIG_NAME),_0x1f4287=getCliVersionFromPkg(),_0x96cf56=readRawConfig(),_0x3edc1c=_0x3cfa3b||(typeof _0x44ad50?.[_0x3987c4(0x91)]===_0x3987c4(0x81)?_0x44ad50[_0x3987c4(0x91)]:undefined)||(typeof _0x44ad50?.[_0x3987c4(0xa7)]==='string'?_0x44ad50['app']:undefined)||await askAppcode(),_0x93e33d=typeof _0x44ad50?.[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x44ad50[_0x3987c4(0x84)]:typeof _0x96cf56[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x96cf56['env']:_0x3987c4(0xa8),_0xdd65c0=buildCanonicalProjectConfig({..._0x96cf56,..._0x44ad50},{'appCodes':[_0x3edc1c],'env':_0x93e33d,'metadata':{'version':_0x1f4287,'migratedAt':new Date()[_0x3987c4(0x88)](),'migratedFrom':_0x5bbeea}});writeConfigFile(_0x4df2cc,_0xdd65c0);const _0x40dd56=_0x5bbeea+_0x3987c4(0x85);renameSync(_0x5bbeea,_0x40dd56),logger[_0x3987c4(0x7a)](_0x4bedb7),logger[_0x3987c4(0x87)](_0x3987c4(0x96),_0x3987c4(0x7f),{'from':_0x5bbeea,'to':_0x4df2cc,'appcode':_0x3edc1c,'env':_0xdd65c0[_0x3987c4(0x84)]}),console[_0x3987c4(0x77)](a139_0x5cd4a4['green']('✓\x20Upgraded\x20'+_0x8816ec+_0x3987c4(0x8b))),console[_0x3987c4(0x77)](a139_0x5cd4a4['cyan'](_0x3987c4(0x8c)+Object['keys'](_0xdd65c0[_0x3987c4(0x94)]||{})[_0x3987c4(0x9b)](',\x20'))),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x76)+_0xdd65c0[_0x3987c4(0x7b)])),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x83)](_0x3987c4(0x97)+_0x8816ec+'.bak'));return;}const _0x312098=_0x3cfa3b||await askAppcode(),_0x8b9a8=resolve(_0x4bedb7,NEW_CONFIG_NAME),_0x49ffde=getCliVersionFromPkg(),_0x2c1099=readRawConfig(),_0x2f2d73=typeof _0x2c1099[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x2c1099[_0x3987c4(0x84)]:undefined,_0x57b74b=buildCanonicalProjectConfig({},{'appCodes':[_0x312098],'env':_0x1dd656||_0x2f2d73||_0x3987c4(0xa8),'metadata':{'version':_0x49ffde,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x8b9a8,_0x57b74b),logger['setLogPath'](_0x4bedb7),logger['info'](_0x3987c4(0x96),_0x3987c4(0xa4),{'appcode':_0x312098,'env':_0x57b74b[_0x3987c4(0x84)],'version':_0x57b74b[_0x3987c4(0x98)],'configPath':_0x8b9a8}),console['log'](a139_0x5cd4a4[_0x3987c4(0x82)](_0x3987c4(0x7e))),console['log'](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x8c)+Object[_0x3987c4(0x75)](_0x57b74b[_0x3987c4(0x94)]||{})['join'](',\x20'))),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x76)+_0x57b74b[_0x3987c4(0x7b)])),console['log']('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x3987c4(0x8e)+CLI_BIN_NAME+_0x3987c4(0x8d));}function askAppcode(){const _0x1e9fed=a139_0x31c9;return input({'message':_0x1e9fed(0x8f),'validate':_0x3e1afc=>{const _0x402b33=_0x1e9fed;if(!_0x3e1afc['trim']())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x5c3b7a,message:_0x4e6702}=validateAppcode(_0x3e1afc['trim']());return _0x5c3b7a||_0x4e6702||_0x402b33(0x74);}});}function getCliVersionFromPkg(){const _0x4ce858=a139_0x31c9;try{const _0x146b9d=fileURLToPath(import.meta.url),_0x15ee0c=resolve(dirname(_0x146b9d),'../..'),_0x583301=JSON[_0x4ce858(0xa3)](readFileSync(resolve(_0x15ee0c,'package.json'),_0x4ce858(0x80)));return _0x583301[_0x4ce858(0x98)]||_0x4ce858(0x93);}catch{return _0x4ce858(0x93);}}
@@ -1 +1 @@
1
- (function(_0x2a31a9,_0x4f3515){const _0x19661a=a136_0x14c4,_0x578917=_0x2a31a9();while(!![]){try{const _0x405044=-parseInt(_0x19661a(0x10b))/0x1+-parseInt(_0x19661a(0x11c))/0x2+-parseInt(_0x19661a(0xe9))/0x3+-parseInt(_0x19661a(0xeb))/0x4*(-parseInt(_0x19661a(0x108))/0x5)+parseInt(_0x19661a(0x12f))/0x6+-parseInt(_0x19661a(0x10e))/0x7+parseInt(_0x19661a(0xe8))/0x8;if(_0x405044===_0x4f3515)break;else _0x578917['push'](_0x578917['shift']());}catch(_0x5e92fb){_0x578917['push'](_0x578917['shift']());}}}(a136_0x5671,0x6cc2a));import a136_0xa06575 from'chalk';import a136_0x535223 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a136_0x14c4(_0x4b9b01,_0x58fdb9){_0x4b9b01=_0x4b9b01-0xc2;const _0x5671d4=a136_0x5671();let _0x14c4b0=_0x5671d4[_0x4b9b01];return _0x14c4b0;}import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x19bf50=>_0x19bf50!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x305713){const _0x4c689d=a136_0x14c4,_0x3e3cdd=[];for(const _0x4f8ff8 of Object[_0x4c689d(0x128)](CORE_IDE_CONFIGS)){if(_0x4f8ff8[_0x4c689d(0x140)])for(const _0x30e5ca of _0x4f8ff8[_0x4c689d(0x140)]){_0x3e3cdd['push'](resolve(_0x305713,_0x30e5ca[_0x4c689d(0xcc)]));}}return _0x3e3cdd;}function analyse(_0x1da1c3){const _0x43c506=a136_0x14c4;let _0x5a0f3a=null;const _0x3f7558=resolve(_0x1da1c3,NEW_CONFIG_NAME),_0x59f836=existsSync(_0x3f7558);for(const _0x172231 of LEGACY_CONFIG_NAMES){const _0x459ba5=resolve(_0x1da1c3,_0x172231);if(existsSync(_0x459ba5)){const _0x2f436d=readConfigFile(_0x459ba5),_0x95c95e=Object[_0x43c506(0xe3)](_0x2f436d)[_0x43c506(0xe0)](_0x358e8e=>typeof _0x2f436d[_0x358e8e]!==_0x43c506(0xd0));_0x5a0f3a={'oldPath':_0x459ba5,'hasNewConfig':_0x59f836,'fields':_0x95c95e};break;}}const _0x952270=[],_0x5b20e8=resolve(_0x1da1c3,_0x43c506(0xd2));if(existsSync(_0x5b20e8))_0x952270[_0x43c506(0x119)](_0x5b20e8);const _0x477185=resolve(_0x1da1c3,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x477185))_0x952270[_0x43c506(0x119)](_0x477185);const _0x15fefe=resolve(_0x1da1c3,'.claude/skills/lovrabet');if(existsSync(_0x15fefe))_0x952270[_0x43c506(0x119)](_0x15fefe);for(const _0x280d48 of collectIdeSkillFiles(_0x1da1c3)){if(existsSync(_0x280d48))_0x952270[_0x43c506(0x119)](_0x280d48);}let _0x15b1bc=null;const _0xdd7aaf=resolve(_0x1da1c3,_0x43c506(0x100));if(existsSync(_0xdd7aaf))try{const _0xb74e73=JSON[_0x43c506(0xda)](readFileSync(_0xdd7aaf,_0x43c506(0xfd)));if(_0xb74e73?.[_0x43c506(0x142)]&&typeof _0xb74e73[_0x43c506(0x142)]===_0x43c506(0x115)){const _0x15c38f=[];for(const [_0x312e8f,_0x39b33f]of Object[_0x43c506(0xd1)](_0xb74e73['mcpServers'])){const _0x12d854=_0x39b33f;_0x12d854?.[_0x43c506(0x10d)]&&Array['isArray'](_0x12d854[_0x43c506(0x10d)])&&_0x12d854[_0x43c506(0x10d)][_0x43c506(0x11f)](_0x4e5647=>typeof _0x4e5647===_0x43c506(0xf2)&&_0x4e5647[_0x43c506(0xf1)](_0x43c506(0x127)))&&_0x15c38f[_0x43c506(0x119)](_0x312e8f);}_0x15c38f[_0x43c506(0x106)]>0x0&&(_0x15b1bc={'path':_0xdd7aaf,'keys':_0x15c38f});}}catch{}const _0x1c028d=_0x952270[_0x43c506(0x106)]>0x0||_0x5a0f3a!==null;let _0x32f844=null;const _0x1e0d9a=resolve(_0x1da1c3,_0x43c506(0x12d));if(existsSync(_0x1e0d9a))try{const _0x5ddd50=JSON[_0x43c506(0xda)](readFileSync(_0x1e0d9a,_0x43c506(0xfd)));for(const _0x50f69e of[_0x43c506(0x103),_0x43c506(0xcb)]){const _0x551fbe=_0x5ddd50?.[_0x50f69e]?.['@lovrabet/sdk'];if(typeof _0x551fbe===_0x43c506(0xf2)){_0x551fbe!==_0x43c506(0x10c)&&(_0x32f844={'pkgPath':_0x1e0d9a,'currentVersion':_0x551fbe,'field':_0x50f69e});break;}}}catch{}return{'configMigration':_0x5a0f3a,'oldArtifacts':_0x952270,'oldMcpConfig':_0x15b1bc,'needsSkillSwap':_0x1c028d,'sdkUpgrade':_0x32f844};}function a136_0x5671(){const _0x4eac67=['@lovrabet/sdk','isDirectory','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Config\x20file:','utf8','Config\x20migration','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','.cursor/mcp.json','inherit','done','dependencies','yes','not\x20needed','length','hasNewConfig','5Pnvpqq','Legacy\x20artifacts:','\x20(backup:\x20','462376lQTePL','latest','args','3312855ZcVIfo','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','exit\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','failed','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','detail','object','gray','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','[\x22@lovrabet/sdk\x22]:\x20','push','info','Step\x201/7:\x20Migrating\x20config...','1643736FOejpK','\x20→\x20latest','\x20\x20Fields\x20to\x20migrate:\x20','some','\x20removed\x20(','lovrabet/lovrabet-skill\x20removed','isArray','skipped\x20(no\x20legacy\x20config)','succeed','green','red','@lovrabet/dataset-mcp-server','values','not\x20found\x20(will\x20create)','fields','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20→\x20keys:\x20','package.json','Step\x206/7:\x20Installing\x20new\x20skill...','1534806AoyRnh','oldPath','label','needsSkillSwap','\x20\x20#\x20or','===\x20Upgrade\x20Analysis\x20===','stringify','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Upgrade\x20cancelled.','lovrabet/rabetbase\x20installed\x20globally','Remove\x20.lovrabet/','===\x20Upgrade\x20Summary\x20===','\x20→\x20','oldArtifacts','\x20\x20npm\x20install','\x20\x20\x20\x20\x20\x20\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','files','yellow','mcpServers','no\x20matching\x20entry\x20found','\x20removed','cwd','none\x20found','Step\x205/7:\x20Removing\x20old\x20skill...','\x20\x20Step\x20','join','no\x20legacy\x20config\x20found','Install\x20new\x20skill','devDependencies','path','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','MCP\x20config:','status','undefined','entries','.lovrabet','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Upgrade\x20completed\x20successfully!','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','CANCEL','cyan','lovrabet/rabetbase','parse','bold','oldMcpConfig','fail','\x20from\x20','@lovrabet/sdk:','filter','Upgrade\x20@lovrabet/sdk','needed','keys','start','Clean\x20MCP\x20config','\x20\x20bun\x20install','white','12549080Dtavhl','265299CEDWBb','skipped','1867952PjKsBl','Remove\x20old\x20skill','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Proceed\x20with\x20upgrade?','message','log','includes','string','.bak','sdkUpgrade','already\x20exists\x20(will\x20merge)','FOUND','error','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...'];a136_0x5671=function(){return _0x4eac67;};return a136_0x5671();}function printReport(_0x5772fd){const _0x5f06c4=a136_0x14c4,{configMigration:_0x49c0cc,oldArtifacts:_0x295488,oldMcpConfig:_0xd8bc68,needsSkillSwap:_0x55ea32}=_0x5772fd;console[_0x5f06c4(0xf0)](''),console[_0x5f06c4(0xf0)](a136_0xa06575['bold'](_0x5f06c4(0x134))),console[_0x5f06c4(0xf0)]('');_0x49c0cc?(console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)](_0x5f06c4(0xfc))+('\x20\x20'+a136_0xa06575['yellow'](_0x49c0cc['oldPath']))),console['log']('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x49c0cc[_0x5f06c4(0x107)]?a136_0xa06575['green'](_0x5f06c4(0xf5)):a136_0xa06575[_0x5f06c4(0x116)](_0x5f06c4(0x129)))),console[_0x5f06c4(0xf0)](_0x5f06c4(0x11e)+_0x49c0cc[_0x5f06c4(0x12a)]['join'](',\x20')),console[_0x5f06c4(0xf0)](_0x5f06c4(0xd3))):console['log'](a136_0xa06575[_0x5f06c4(0xd8)](_0x5f06c4(0xfc))+'\x20\x20'+a136_0xa06575[_0x5f06c4(0x116)](_0x5f06c4(0xc9)));console[_0x5f06c4(0xf0)]('');if(_0x295488[_0x5f06c4(0x106)]>0x0){console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)](_0x5f06c4(0x109)));for(const _0x479cb8 of _0x295488){console[_0x5f06c4(0xf0)]('\x20\x20'+a136_0xa06575['red'](_0x5f06c4(0xf6))+'\x20\x20'+_0x479cb8);}console[_0x5f06c4(0xf0)]('\x20\x20Action:\x20delete');}else console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)]('Legacy\x20artifacts:')+'\x20\x20'+a136_0xa06575[_0x5f06c4(0x116)](_0x5f06c4(0xc5)));console['log']('');_0xd8bc68?(console[_0x5f06c4(0xf0)](a136_0xa06575['cyan'](_0x5f06c4(0xce))+('\x20\x20'+a136_0xa06575['yellow'](_0xd8bc68[_0x5f06c4(0xcc)])+_0x5f06c4(0x12c)+_0xd8bc68[_0x5f06c4(0xe3)]['join'](',\x20'))),console[_0x5f06c4(0xf0)](_0x5f06c4(0x10f))):console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)]('MCP\x20config:')+'\x20\x20'+a136_0xa06575['gray']('no\x20legacy\x20entry'));console['log'](''),console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)]('Skill\x20swap:')+('\x20\x20'+(_0x55ea32?a136_0xa06575[_0x5f06c4(0x141)](_0x5f06c4(0xe2)):a136_0xa06575[_0x5f06c4(0x125)](_0x5f06c4(0x105)))));_0x55ea32&&console[_0x5f06c4(0xf0)](_0x5f06c4(0x117)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x5f06c4(0xf0)]('');if(_0x5772fd[_0x5f06c4(0xf4)]){const {currentVersion:_0x255cf1,field:_0xd301a5,pkgPath:_0x1f9cab}=_0x5772fd['sdkUpgrade'];console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)](_0x5f06c4(0xdf))+('\x20\x20'+a136_0xa06575[_0x5f06c4(0x141)](_0x1f9cab))),console[_0x5f06c4(0xf0)]('\x20\x20Current\x20version\x20in\x20'+_0xd301a5+':\x20'+a136_0xa06575[_0x5f06c4(0x141)](_0x255cf1)+_0x5f06c4(0x13b)+a136_0xa06575[_0x5f06c4(0x125)](_0x5f06c4(0x10c))),console['log'](_0x5f06c4(0x13f));}else console[_0x5f06c4(0xf0)](a136_0xa06575[_0x5f06c4(0xd8)](_0x5f06c4(0xdf))+'\x20\x20'+a136_0xa06575[_0x5f06c4(0x116)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x18bf8e,_0xafb64){const _0x1ea4b6=a136_0x14c4,{configMigration:_0x5b8b5f}=_0x18bf8e;if(!_0x5b8b5f?.[_0x1ea4b6(0x130)])return{'step':0x1,'label':_0x1ea4b6(0xfe),'ok':!![],'detail':_0x1ea4b6(0x123)};const _0x1ed0ea=readConfigFile(_0x5b8b5f[_0x1ea4b6(0x130)]),_0x39150e=resolve(_0xafb64,NEW_CONFIG_NAME),_0x2053e7=_0x5b8b5f[_0x1ea4b6(0x107)]?readConfigFile(_0x39150e):{};for(const [_0x14fbee,_0x11bb7f]of Object[_0x1ea4b6(0xd1)](_0x1ed0ea)){!(_0x14fbee in _0x2053e7)&&(_0x2053e7[_0x14fbee]=_0x11bb7f);}writeConfigFile(_0x39150e,_0x2053e7);const _0x46ec18=_0x5b8b5f['oldPath']+_0x1ea4b6(0xf3);return renameSync(_0x5b8b5f[_0x1ea4b6(0x130)],_0x46ec18),{'step':0x1,'label':_0x1ea4b6(0xfe),'ok':!![],'detail':_0x5b8b5f['oldPath']+'\x20→\x20'+_0x39150e+_0x1ea4b6(0x10a)+_0x46ec18+')'};}function execRemoveOldArtifacts(_0x3f25b0){const _0x58d969=a136_0x14c4,_0x29a09a=[];for(const _0x462508 of _0x3f25b0){try{if(!existsSync(_0x462508))continue;const _0x189bea=tryStat(_0x462508);_0x189bea?.[_0x58d969(0xfa)]()?rmSync(_0x462508,{'recursive':!![],'force':!![]}):unlinkSync(_0x462508);}catch(_0xd301ef){_0x29a09a[_0x58d969(0x119)](_0x462508+':\x20'+_0xd301ef[_0x58d969(0xef)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x29a09a['length']===0x0,'detail':_0x29a09a['length']>0x0?_0x3f25b0[_0x58d969(0x106)]-_0x29a09a['length']+'/'+_0x3f25b0[_0x58d969(0x106)]+_0x58d969(0x120)+_0x29a09a[_0x58d969(0xc8)](';\x20')+')':_0x3f25b0[_0x58d969(0x106)]+_0x58d969(0xc3)};}function execCleanMcp(_0x7de2ff){const _0x18f572=a136_0x14c4;if(!_0x7de2ff[_0x18f572(0xdc)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x18f572(0xea)};try{const _0x5b79a7=readFileSync(_0x7de2ff[_0x18f572(0xdc)][_0x18f572(0xcc)],_0x18f572(0xfd)),_0x5db487=JSON[_0x18f572(0xda)](_0x5b79a7);if(_0x5db487?.['mcpServers']&&typeof _0x5db487[_0x18f572(0x142)]===_0x18f572(0x115)){const _0x160a5c=[];for(const [_0xbf584b,_0x38e402]of Object[_0x18f572(0xd1)](_0x5db487['mcpServers'])){_0x38e402?.['args']&&Array[_0x18f572(0x122)](_0x38e402[_0x18f572(0x10d)])&&_0x38e402[_0x18f572(0x10d)][_0x18f572(0x11f)](_0x13515d=>typeof _0x13515d==='string'&&_0x13515d[_0x18f572(0xf1)](_0x18f572(0x127)))&&_0x160a5c[_0x18f572(0x119)](_0xbf584b);}for(const _0x48c77d of _0x160a5c){delete _0x5db487[_0x18f572(0x142)][_0x48c77d];}return _0x160a5c[_0x18f572(0x106)]>0x0&&writeFileSync(_0x7de2ff['oldMcpConfig'][_0x18f572(0xcc)],JSON['stringify'](_0x5db487,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x18f572(0xe5),'ok':!![],'detail':'removed\x20'+_0x160a5c['join'](',\x20')+_0x18f572(0xde)+_0x7de2ff['oldMcpConfig']['path']};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x18f572(0xc2)};}catch(_0x798081){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x798081[_0x18f572(0xef)]};}}function execSkillsRemove(_0x577bcf,_0x25811c){const _0x49c0b8=a136_0x14c4,_0x51d43f=runNpxSkillsRemove(_0x577bcf,{'stdio':_0x49c0b8(0x101),'yes':_0x25811c});return{'step':0x5,'label':_0x49c0b8(0xec),'ok':_0x51d43f['ok'],'detail':_0x51d43f['ok']?_0x49c0b8(0x121):_0x51d43f[_0x49c0b8(0xf7)]??_0x49c0b8(0x110)+_0x51d43f[_0x49c0b8(0xcf)]};}function execSkillsAdd(_0x444e0e,_0x402c0a){const _0x4ffec3=a136_0x14c4,_0x222a43=runNpxSkillsAddGlobal(_0x444e0e,_0x4ffec3(0xd9),{'stdio':_0x4ffec3(0x101),'yes':_0x402c0a});return{'step':0x6,'label':_0x4ffec3(0xca),'ok':_0x222a43['ok'],'detail':_0x222a43['ok']?_0x4ffec3(0x138):_0x222a43[_0x4ffec3(0xf7)]??_0x4ffec3(0x110)+_0x222a43[_0x4ffec3(0xcf)]};}function execUpgradeSdk(_0x16f014){const _0x1d5b2d=a136_0x14c4;if(!_0x16f014[_0x1d5b2d(0xf4)])return{'step':0x7,'label':_0x1d5b2d(0xe1),'ok':!![],'detail':_0x1d5b2d(0xfb)};const {pkgPath:_0x15b601,currentVersion:_0x40a5fe,field:_0x13d255}=_0x16f014[_0x1d5b2d(0xf4)];try{const _0x434be1=readFileSync(_0x15b601,_0x1d5b2d(0xfd)),_0x239714=JSON[_0x1d5b2d(0xda)](_0x434be1);return _0x239714[_0x13d255][_0x1d5b2d(0xf9)]='latest',writeFileSync(_0x15b601,JSON[_0x1d5b2d(0x135)](_0x239714,null,0x2)+'\x0a',_0x1d5b2d(0xfd)),{'step':0x7,'label':_0x1d5b2d(0xe1),'ok':!![],'detail':_0x13d255+_0x1d5b2d(0x118)+_0x40a5fe+_0x1d5b2d(0x11d)};}catch(_0x4f5391){return{'step':0x7,'label':_0x1d5b2d(0xe1),'ok':![],'detail':_0x4f5391[_0x1d5b2d(0xef)]};}}function tryStat(_0x1a6a70){try{return statSync(_0x1a6a70);}catch{return undefined;}}function printSummary(_0x92834f){const _0x80ec84=a136_0x14c4;console['log'](''),console['log'](a136_0xa06575['bold'](_0x80ec84(0x13a))),console['log']('');for(const _0x3aece1 of _0x92834f){const _0x10c0b5=_0x3aece1['ok']?a136_0xa06575['green']('OK'):a136_0xa06575[_0x80ec84(0x126)]('FAIL');console[_0x80ec84(0xf0)]('\x20\x20'+_0x10c0b5+_0x80ec84(0xc7)+_0x3aece1['step']+':\x20'+_0x3aece1[_0x80ec84(0x131)]);if(_0x3aece1[_0x80ec84(0x114)])console[_0x80ec84(0xf0)](_0x80ec84(0x13e)+a136_0xa06575[_0x80ec84(0x116)](_0x3aece1[_0x80ec84(0x114)]));}console[_0x80ec84(0xf0)]('');}export async function upgradeApp(_0x54debd,_0x316ec7){const _0x54cd97=a136_0x14c4,_0x7cde5d=process[_0x54cd97(0xc4)](),_0x2b66d9=analyse(_0x7cde5d),_0x9f9296=!_0x2b66d9['configMigration']&&_0x2b66d9[_0x54cd97(0x13c)][_0x54cd97(0x106)]===0x0&&!_0x2b66d9[_0x54cd97(0xdc)]&&!_0x2b66d9[_0x54cd97(0x132)]&&!_0x2b66d9['sdkUpgrade'];if(_0x9f9296){console[_0x54cd97(0xf0)](a136_0xa06575[_0x54cd97(0x125)](_0x54cd97(0x12b)));return;}printReport(_0x2b66d9);const _0x59d8df=!!(_0x316ec7[_0x54cd97(0x104)]||_0x316ec7['Y']||_0x54debd);if(!_0x59d8df)try{const _0x49b023=await askConfirm(_0x54cd97(0xee));if(!_0x49b023){console[_0x54cd97(0xf0)](a136_0xa06575[_0x54cd97(0x116)](_0x54cd97(0x137)));return;}}catch(_0x33ab04){if(_0x33ab04?.[_0x54cd97(0xef)]===_0x54cd97(0xd7)){console[_0x54cd97(0xf0)](a136_0xa06575[_0x54cd97(0x116)](_0x54cd97(0x137)));return;}throw _0x33ab04;}const _0xd57254=[],_0x3a65e7=a136_0x535223({'text':_0x54cd97(0x11b),'color':_0x54cd97(0xd8)})[_0x54cd97(0xe4)](),_0x1d9a53=execConfigMigration(_0x2b66d9,_0x7cde5d);_0xd57254[_0x54cd97(0x119)](_0x1d9a53),_0x3a65e7[_0x1d9a53['ok']?_0x54cd97(0x124):_0x54cd97(0xdd)](_0x54cd97(0xd5)+(_0x1d9a53[_0x54cd97(0x114)]??(_0x1d9a53['ok']?_0x54cd97(0x102):_0x54cd97(0x112))));const _0x29a7f2=resolve(_0x7cde5d,'.lovrabet'),_0x50b87d=a136_0x535223({'text':_0x54cd97(0xf8),'color':_0x54cd97(0xd8)})[_0x54cd97(0xe4)]();if(existsSync(_0x29a7f2))try{rmSync(_0x29a7f2,{'recursive':!![],'force':!![]}),_0x50b87d[_0x54cd97(0x124)](_0x54cd97(0xcd)),_0xd57254[_0x54cd97(0x119)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x1838a7){_0x50b87d[_0x54cd97(0xdd)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x1838a7[_0x54cd97(0xef)]),_0xd57254[_0x54cd97(0x119)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x1838a7[_0x54cd97(0xef)]});}else _0x50b87d[_0x54cd97(0x11a)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0xd57254[_0x54cd97(0x119)]({'step':0x2,'label':_0x54cd97(0x139),'ok':!![],'detail':'skipped'});const _0x1a4179=a136_0x535223({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x54cd97(0xd8)})[_0x54cd97(0xe4)](),_0x81e17c=execRemoveOldArtifacts(_0x2b66d9[_0x54cd97(0x13c)]);_0xd57254[_0x54cd97(0x119)](_0x81e17c),_0x1a4179[_0x81e17c['ok']?_0x54cd97(0x124):_0x54cd97(0xdd)](_0x54cd97(0x113)+(_0x81e17c['detail']??(_0x81e17c['ok']?_0x54cd97(0x102):_0x54cd97(0x112))));const _0x2b658e=a136_0x535223({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x54cd97(0xd8)})[_0x54cd97(0xe4)](),_0xe714c5=execCleanMcp(_0x2b66d9);_0xd57254[_0x54cd97(0x119)](_0xe714c5),_0x2b658e[_0xe714c5['ok']?_0x54cd97(0x124):_0x54cd97(0xdd)](_0x54cd97(0x111)+(_0xe714c5[_0x54cd97(0x114)]??(_0xe714c5['ok']?_0x54cd97(0x102):_0x54cd97(0x112))));const _0x41f43d=a136_0x535223({'text':_0x54cd97(0xc6),'color':'cyan'})[_0x54cd97(0xe4)](),_0x15b52d=execSkillsRemove(_0x7cde5d,_0x59d8df);_0xd57254[_0x54cd97(0x119)](_0x15b52d),_0x41f43d[_0x15b52d['ok']?_0x54cd97(0x124):'fail'](_0x54cd97(0xd6)+(_0x15b52d[_0x54cd97(0x114)]??(_0x15b52d['ok']?'done':_0x54cd97(0x112))));const _0x14b842=a136_0x535223({'text':_0x54cd97(0x12e),'color':'cyan'})[_0x54cd97(0xe4)](),_0x599e95=execSkillsAdd(_0x7cde5d,_0x59d8df);_0xd57254[_0x54cd97(0x119)](_0x599e95),_0x14b842[_0x599e95['ok']?_0x54cd97(0x124):'fail'](_0x54cd97(0x136)+(_0x599e95[_0x54cd97(0x114)]??(_0x599e95['ok']?_0x54cd97(0x102):_0x54cd97(0x112))));const _0x207649=a136_0x535223({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':'cyan'})['start'](),_0x112c79=execUpgradeSdk(_0x2b66d9);_0xd57254[_0x54cd97(0x119)](_0x112c79),_0x207649[_0x112c79['ok']?_0x54cd97(0x124):_0x54cd97(0xdd)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x112c79['detail']??(_0x112c79['ok']?_0x54cd97(0x102):_0x54cd97(0x112)))),printSummary(_0xd57254);const _0x4ce065=_0xd57254['some'](_0x2fb4c3=>!_0x2fb4c3['ok']);_0x4ce065?console[_0x54cd97(0xf0)](a136_0xa06575['yellow'](_0x54cd97(0xff))):console[_0x54cd97(0xf0)](a136_0xa06575[_0x54cd97(0x125)](_0x54cd97(0xd4))),_0x112c79['ok']&&_0x2b66d9[_0x54cd97(0xf4)]&&(console[_0x54cd97(0xf0)](''),console['log'](a136_0xa06575[_0x54cd97(0xdb)][_0x54cd97(0xd8)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x54cd97(0xf0)](a136_0xa06575[_0x54cd97(0xd8)](_0x54cd97(0xed))),console[_0x54cd97(0xf0)](''),console[_0x54cd97(0xf0)](a136_0xa06575['white'](_0x54cd97(0x13d))),console['log'](a136_0xa06575[_0x54cd97(0xe7)](_0x54cd97(0x133))),console[_0x54cd97(0xf0)](a136_0xa06575['white'](_0x54cd97(0xe6))),console['log'](''));}
1
+ const a140_0x5aeff0=a140_0x1f14;(function(_0x2d8ca5,_0x279048){const _0x5cd184=a140_0x1f14,_0x457ad1=_0x2d8ca5();while(!![]){try{const _0x17afce=-parseInt(_0x5cd184(0x192))/0x1*(-parseInt(_0x5cd184(0x1c3))/0x2)+parseInt(_0x5cd184(0x1ad))/0x3+-parseInt(_0x5cd184(0x196))/0x4+parseInt(_0x5cd184(0x165))/0x5+parseInt(_0x5cd184(0x19b))/0x6+-parseInt(_0x5cd184(0x1bd))/0x7*(-parseInt(_0x5cd184(0x1d6))/0x8)+parseInt(_0x5cd184(0x1e4))/0x9;if(_0x17afce===_0x279048)break;else _0x457ad1['push'](_0x457ad1['shift']());}catch(_0x102e0c){_0x457ad1['push'](_0x457ad1['shift']());}}}(a140_0x118a,0xeb101));import a140_0x28b79e from'chalk';function a140_0x1f14(_0x5614dd,_0x37c2ab){_0x5614dd=_0x5614dd-0x164;const _0x118a7d=a140_0x118a();let _0x1f1426=_0x118a7d[_0x5614dd];return _0x1f1426;}import a140_0x17babd from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a140_0x5aeff0(0x1af)](_0x536535=>_0x536535!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x442103){const _0x3b79f2=a140_0x5aeff0,_0x165214=[];for(const _0x2ba53f of Object[_0x3b79f2(0x1da)](CORE_IDE_CONFIGS)){if(_0x2ba53f[_0x3b79f2(0x18f)])for(const _0x4da879 of _0x2ba53f[_0x3b79f2(0x18f)]){_0x165214[_0x3b79f2(0x1e1)](resolve(_0x442103,_0x4da879[_0x3b79f2(0x1b5)]));}}return _0x165214;}function analyse(_0x31b317){const _0x36afe8=a140_0x5aeff0;let _0x1f2a14=null;const _0x3054d2=resolve(_0x31b317,NEW_CONFIG_NAME),_0xf92526=existsSync(_0x3054d2);for(const _0x2f2fe5 of LEGACY_CONFIG_NAMES){const _0x3eb1ea=resolve(_0x31b317,_0x2f2fe5);if(existsSync(_0x3eb1ea)){const _0x4f2bcb=readConfigFile(_0x3eb1ea),_0x5e4910=Object['keys'](_0x4f2bcb)['filter'](_0x332c5c=>typeof _0x4f2bcb[_0x332c5c]!==_0x36afe8(0x190));_0x1f2a14={'oldPath':_0x3eb1ea,'hasNewConfig':_0xf92526,'fields':_0x5e4910};break;}}const _0x4bbde7=[],_0x1a0d0e=resolve(_0x31b317,'.lovrabet');if(existsSync(_0x1a0d0e))_0x4bbde7[_0x36afe8(0x1e1)](_0x1a0d0e);const _0x53cd28=resolve(_0x31b317,_0x36afe8(0x16e));if(existsSync(_0x53cd28))_0x4bbde7[_0x36afe8(0x1e1)](_0x53cd28);const _0x5d7bdf=resolve(_0x31b317,_0x36afe8(0x1c5));if(existsSync(_0x5d7bdf))_0x4bbde7[_0x36afe8(0x1e1)](_0x5d7bdf);for(const _0x1aa38c of collectIdeSkillFiles(_0x31b317)){if(existsSync(_0x1aa38c))_0x4bbde7[_0x36afe8(0x1e1)](_0x1aa38c);}let _0x1057cf=null;const _0x1a5683=resolve(_0x31b317,_0x36afe8(0x1a3));if(existsSync(_0x1a5683))try{const _0x4b8ed5=JSON[_0x36afe8(0x19c)](readFileSync(_0x1a5683,_0x36afe8(0x1bb)));if(_0x4b8ed5?.[_0x36afe8(0x1e3)]&&typeof _0x4b8ed5[_0x36afe8(0x1e3)]===_0x36afe8(0x1ac)){const _0x5e835a=[];for(const [_0x2a37d7,_0x37350e]of Object[_0x36afe8(0x18c)](_0x4b8ed5[_0x36afe8(0x1e3)])){const _0x3c1296=_0x37350e;_0x3c1296?.['args']&&Array[_0x36afe8(0x175)](_0x3c1296[_0x36afe8(0x1ae)])&&_0x3c1296[_0x36afe8(0x1ae)][_0x36afe8(0x17c)](_0x4319db=>typeof _0x4319db===_0x36afe8(0x1ce)&&_0x4319db[_0x36afe8(0x1b0)]('@lovrabet/dataset-mcp-server'))&&_0x5e835a[_0x36afe8(0x1e1)](_0x2a37d7);}_0x5e835a['length']>0x0&&(_0x1057cf={'path':_0x1a5683,'keys':_0x5e835a});}}catch{}const _0x371291=_0x4bbde7[_0x36afe8(0x179)]>0x0||_0x1f2a14!==null;let _0x435483=null;const _0x28492e=resolve(_0x31b317,'package.json');if(existsSync(_0x28492e))try{const _0x35a7e4=JSON[_0x36afe8(0x19c)](readFileSync(_0x28492e,_0x36afe8(0x1bb)));for(const _0x55f496 of['dependencies',_0x36afe8(0x178)]){const _0x6ef759=_0x35a7e4?.[_0x55f496]?.['@lovrabet/sdk'];if(typeof _0x6ef759==='string'){_0x6ef759!=='latest'&&(_0x435483={'pkgPath':_0x28492e,'currentVersion':_0x6ef759,'field':_0x55f496});break;}}}catch{}return{'configMigration':_0x1f2a14,'oldArtifacts':_0x4bbde7,'oldMcpConfig':_0x1057cf,'needsSkillSwap':_0x371291,'sdkUpgrade':_0x435483};}function printReport(_0x3deda1){const _0x1ff49f=a140_0x5aeff0,{configMigration:_0x439f50,oldArtifacts:_0x42db20,oldMcpConfig:_0x3bef23,needsSkillSwap:_0x3b64f2}=_0x3deda1;console[_0x1ff49f(0x16b)](''),console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1aa)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x1ff49f(0x16b)]('');_0x439f50?(console[_0x1ff49f(0x16b)](a140_0x28b79e['cyan'](_0x1ff49f(0x18a))+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x439f50[_0x1ff49f(0x1d8)]))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x1d2)+(_0x439f50[_0x1ff49f(0x1cb)]?a140_0x28b79e['green'](_0x1ff49f(0x18b)):a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x1a4)))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x184)+_0x439f50[_0x1ff49f(0x17a)][_0x1ff49f(0x1b4)](',\x20')),console['log'](_0x1ff49f(0x164))):console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x18a))+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x1d0)));console[_0x1ff49f(0x16b)]('');if(_0x42db20[_0x1ff49f(0x179)]>0x0){console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)]('Legacy\x20artifacts:'));for(const _0x2e8c8d of _0x42db20){console[_0x1ff49f(0x16b)]('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x18d)](_0x1ff49f(0x180))+'\x20\x20'+_0x2e8c8d);}console[_0x1ff49f(0x16b)](_0x1ff49f(0x170));}else console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x16d))+'\x20\x20'+a140_0x28b79e['gray']('none\x20found'));console['log']('');_0x3bef23?(console['log'](a140_0x28b79e[_0x1ff49f(0x1bc)]('MCP\x20config:')+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x3bef23[_0x1ff49f(0x1b5)])+_0x1ff49f(0x19d)+_0x3bef23[_0x1ff49f(0x1ca)][_0x1ff49f(0x1b4)](',\x20'))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x1cc))):console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x191))+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x16f)));console[_0x1ff49f(0x16b)](''),console[_0x1ff49f(0x16b)](a140_0x28b79e['cyan'](_0x1ff49f(0x1d9))+('\x20\x20'+(_0x3b64f2?a140_0x28b79e['yellow'](_0x1ff49f(0x195)):a140_0x28b79e[_0x1ff49f(0x197)]('not\x20needed'))));_0x3b64f2&&console[_0x1ff49f(0x16b)](_0x1ff49f(0x169)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1ff49f(0x16b)]('');if(_0x3deda1[_0x1ff49f(0x1a7)]){const {currentVersion:_0x1b9c55,field:_0x1e1651,pkgPath:_0x379226}=_0x3deda1['sdkUpgrade'];console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x181))+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x379226))),console['log']('\x20\x20Current\x20version\x20in\x20'+_0x1e1651+':\x20'+a140_0x28b79e['yellow'](_0x1b9c55)+_0x1ff49f(0x188)+a140_0x28b79e['green'](_0x1ff49f(0x1c2))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x187));}else console['log'](a140_0x28b79e[_0x1ff49f(0x1bc)]('@lovrabet/sdk:')+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x1ff49f(0x16b)]('');}function execConfigMigration(_0x3b8276,_0x51c58f){const _0x355a97=a140_0x5aeff0,{configMigration:_0x49cc29}=_0x3b8276;if(!_0x49cc29?.['oldPath'])return{'step':0x1,'label':_0x355a97(0x1c9),'ok':!![],'detail':_0x355a97(0x1a2)};const _0xbf0cdf=readConfigFile(_0x49cc29[_0x355a97(0x1d8)]),_0x2086da=resolve(_0x51c58f,NEW_CONFIG_NAME),_0x165bf9=_0x49cc29['hasNewConfig']?readConfigFile(_0x2086da):{};for(const [_0x4c875e,_0x124361]of Object[_0x355a97(0x18c)](_0xbf0cdf)){!(_0x4c875e in _0x165bf9)&&(_0x165bf9[_0x4c875e]=_0x124361);}writeConfigFile(_0x2086da,_0x165bf9);const _0x419c33=_0x49cc29['oldPath']+_0x355a97(0x19f);return renameSync(_0x49cc29['oldPath'],_0x419c33),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x49cc29['oldPath']+_0x355a97(0x188)+_0x2086da+'\x20(backup:\x20'+_0x419c33+')'};}function execRemoveOldArtifacts(_0x156958){const _0x2556e3=a140_0x5aeff0,_0x2fa7b8=[];for(const _0x4be492 of _0x156958){try{if(!existsSync(_0x4be492))continue;const _0x32ba31=tryStat(_0x4be492);_0x32ba31?.['isDirectory']()?rmSync(_0x4be492,{'recursive':!![],'force':!![]}):unlinkSync(_0x4be492);}catch(_0x492d1d){_0x2fa7b8[_0x2556e3(0x1e1)](_0x4be492+':\x20'+_0x492d1d[_0x2556e3(0x1c7)]);}}return{'step':0x3,'label':_0x2556e3(0x1c0),'ok':_0x2fa7b8[_0x2556e3(0x179)]===0x0,'detail':_0x2fa7b8[_0x2556e3(0x179)]>0x0?_0x156958[_0x2556e3(0x179)]-_0x2fa7b8[_0x2556e3(0x179)]+'/'+_0x156958[_0x2556e3(0x179)]+_0x2556e3(0x16c)+_0x2fa7b8[_0x2556e3(0x1b4)](';\x20')+')':_0x156958[_0x2556e3(0x179)]+_0x2556e3(0x1cf)};}function execCleanMcp(_0x1926f7){const _0x35b28a=a140_0x5aeff0;if(!_0x1926f7[_0x35b28a(0x1a0)])return{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x171)};try{const _0x30046b=readFileSync(_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)],'utf8'),_0x47aa27=JSON[_0x35b28a(0x19c)](_0x30046b);if(_0x47aa27?.[_0x35b28a(0x1e3)]&&typeof _0x47aa27[_0x35b28a(0x1e3)]===_0x35b28a(0x1ac)){const _0x1ca15a=[];for(const [_0x1fbd8d,_0x49ee8d]of Object[_0x35b28a(0x18c)](_0x47aa27['mcpServers'])){_0x49ee8d?.[_0x35b28a(0x1ae)]&&Array['isArray'](_0x49ee8d['args'])&&_0x49ee8d[_0x35b28a(0x1ae)][_0x35b28a(0x17c)](_0x96d403=>typeof _0x96d403===_0x35b28a(0x1ce)&&_0x96d403['includes']('@lovrabet/dataset-mcp-server'))&&_0x1ca15a[_0x35b28a(0x1e1)](_0x1fbd8d);}for(const _0x3e41fd of _0x1ca15a){delete _0x47aa27[_0x35b28a(0x1e3)][_0x3e41fd];}return _0x1ca15a['length']>0x0&&writeFileSync(_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)],JSON[_0x35b28a(0x1dc)](_0x47aa27,null,0x2)+'\x0a',_0x35b28a(0x1bb)),{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x1cd)+_0x1ca15a[_0x35b28a(0x1b4)](',\x20')+_0x35b28a(0x1d3)+_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)]};}return{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x198)};}catch(_0x2b238d){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x2b238d[_0x35b28a(0x1c7)]};}}function a140_0x118a(){const _0x3e3324=['removed\x20','string','\x20removed','no\x20legacy\x20config\x20found','===\x20Upgrade\x20Summary\x20===','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20from\x20','lovrabet/rabetbase','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','1176SOkQVB','[\x22@lovrabet/sdk\x22]:\x20','oldPath','Skill\x20swap:','values','configMigration','stringify','status','Install\x20new\x20skill','yellow','Step\x201/7:\x20Migrating\x20config...','push','CANCEL','mcpServers','1026486qBskox','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','1109060bakCgs','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','failed','log','\x20removed\x20(','Legacy\x20artifacts:','.cursor/rules/lovrabet_rules.mdc','no\x20legacy\x20entry','\x20\x20Action:\x20delete','skipped','detail','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','isArray','fail','lovrabet/rabetbase\x20installed\x20globally','devDependencies','length','fields','\x20→\x20latest','some','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FAIL','Step\x206/7:\x20Installing\x20new\x20skill...','FOUND','@lovrabet/sdk:','needsSkillSwap','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Fields\x20to\x20migrate:\x20','inherit','Clean\x20MCP\x20config','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20→\x20','@lovrabet/sdk','Config\x20file:','already\x20exists\x20(will\x20merge)','entries','red','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','files','undefined','MCP\x20config:','1EmGwmX','Upgrade\x20cancelled.','Remove\x20old\x20skill','needed','6432888HxppFM','green','no\x20matching\x20entry\x20found','error','\x20\x20Step\x20','2859468PqJeMx','parse','\x20→\x20keys:\x20','Remove\x20.lovrabet/','.bak','oldMcpConfig','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','skipped\x20(no\x20legacy\x20config)','.cursor/mcp.json','not\x20found\x20(will\x20create)','gray','Upgrade\x20@lovrabet/sdk','sdkUpgrade','done','\x20\x20\x20\x20\x20\x20\x20','bold','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','object','1350762ihBOsZ','args','filter','includes','\x20\x20#\x20or','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','label','join','path','start','exit\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','white','\x20\x20bun\x20install','utf8','cyan','10367gxsheK','oldArtifacts','step','Remove\x20legacy\x20artifacts','cwd','latest','2181268bDyToh','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.claude/skills/lovrabet','succeed','message','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Config\x20migration','keys','hasNewConfig','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server'];a140_0x118a=function(){return _0x3e3324;};return a140_0x118a();}function execSkillsRemove(_0x14b745,_0x4de5f6){const _0x40b339=a140_0x5aeff0,_0x4037d7=runNpxSkillsRemove(_0x14b745,{'stdio':_0x40b339(0x185),'yes':_0x4de5f6});return{'step':0x5,'label':_0x40b339(0x194),'ok':_0x4037d7['ok'],'detail':_0x4037d7['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4037d7[_0x40b339(0x199)]??_0x40b339(0x1b7)+_0x4037d7[_0x40b339(0x1dd)]};}function execSkillsAdd(_0x1d9f7f,_0x3569ea){const _0x7a6620=a140_0x5aeff0,_0x51c842=runNpxSkillsAddGlobal(_0x1d9f7f,_0x7a6620(0x1d4),{'stdio':_0x7a6620(0x185),'yes':_0x3569ea});return{'step':0x6,'label':_0x7a6620(0x1de),'ok':_0x51c842['ok'],'detail':_0x51c842['ok']?_0x7a6620(0x177):_0x51c842[_0x7a6620(0x199)]??_0x7a6620(0x1b7)+_0x51c842[_0x7a6620(0x1dd)]};}function execUpgradeSdk(_0x5143d4){const _0x1d9c9c=a140_0x5aeff0;if(!_0x5143d4[_0x1d9c9c(0x1a7)])return{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':!![],'detail':_0x1d9c9c(0x173)};const {pkgPath:_0x116737,currentVersion:_0x5a1f29,field:_0x208e09}=_0x5143d4[_0x1d9c9c(0x1a7)];try{const _0x47f517=readFileSync(_0x116737,_0x1d9c9c(0x1bb)),_0x4d86f7=JSON[_0x1d9c9c(0x19c)](_0x47f517);return _0x4d86f7[_0x208e09][_0x1d9c9c(0x189)]=_0x1d9c9c(0x1c2),writeFileSync(_0x116737,JSON['stringify'](_0x4d86f7,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':!![],'detail':_0x208e09+_0x1d9c9c(0x1d7)+_0x5a1f29+_0x1d9c9c(0x17b)};}catch(_0x198941){return{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':![],'detail':_0x198941['message']};}}function tryStat(_0x2c9f8c){try{return statSync(_0x2c9f8c);}catch{return undefined;}}function printSummary(_0xa5d213){const _0x117f02=a140_0x5aeff0;console[_0x117f02(0x16b)](''),console['log'](a140_0x28b79e[_0x117f02(0x1aa)](_0x117f02(0x1d1))),console['log']('');for(const _0x2ab65d of _0xa5d213){const _0x3fa695=_0x2ab65d['ok']?a140_0x28b79e[_0x117f02(0x197)]('OK'):a140_0x28b79e[_0x117f02(0x18d)](_0x117f02(0x17e));console[_0x117f02(0x16b)]('\x20\x20'+_0x3fa695+_0x117f02(0x19a)+_0x2ab65d[_0x117f02(0x1bf)]+':\x20'+_0x2ab65d[_0x117f02(0x1b3)]);if(_0x2ab65d['detail'])console[_0x117f02(0x16b)](_0x117f02(0x1a9)+a140_0x28b79e[_0x117f02(0x1a5)](_0x2ab65d['detail']));}console[_0x117f02(0x16b)]('');}export async function upgradeApp(_0x50043c,_0x25c346){const _0x459b10=a140_0x5aeff0,_0x46360a=process[_0x459b10(0x1c1)](),_0x36dc38=analyse(_0x46360a),_0x4cbacf=!_0x36dc38[_0x459b10(0x1db)]&&_0x36dc38[_0x459b10(0x1be)][_0x459b10(0x179)]===0x0&&!_0x36dc38[_0x459b10(0x1a0)]&&!_0x36dc38[_0x459b10(0x182)]&&!_0x36dc38[_0x459b10(0x1a7)];if(_0x4cbacf){console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x197)](_0x459b10(0x1c4)));return;}printReport(_0x36dc38);const _0x596d45=!!(_0x25c346['yes']||_0x25c346['Y']||_0x50043c);if(!_0x596d45)try{const _0x202814=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x202814){console['log'](a140_0x28b79e[_0x459b10(0x1a5)](_0x459b10(0x193)));return;}}catch(_0x53c1c4){if(_0x53c1c4?.['message']===_0x459b10(0x1e2)){console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1a5)](_0x459b10(0x193)));return;}throw _0x53c1c4;}const _0x29d2aa=[],_0x43ac9b=a140_0x17babd({'text':_0x459b10(0x1e0),'color':'cyan'})['start'](),_0x327e4e=execConfigMigration(_0x36dc38,_0x46360a);_0x29d2aa['push'](_0x327e4e),_0x43ac9b[_0x327e4e['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x183)+(_0x327e4e[_0x459b10(0x172)]??(_0x327e4e['ok']?'done':_0x459b10(0x16a))));const _0x1f75a9=resolve(_0x46360a,'.lovrabet'),_0x215ad0=a140_0x17babd({'text':_0x459b10(0x1b8),'color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)]();if(existsSync(_0x1f75a9))try{rmSync(_0x1f75a9,{'recursive':!![],'force':!![]}),_0x215ad0[_0x459b10(0x1c6)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2e42e9){_0x215ad0[_0x459b10(0x176)](_0x459b10(0x1d5)+_0x2e42e9[_0x459b10(0x1c7)]),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':_0x459b10(0x19e),'ok':![],'detail':_0x2e42e9[_0x459b10(0x1c7)]});}else _0x215ad0['info'](_0x459b10(0x18e)),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':_0x459b10(0x19e),'ok':!![],'detail':_0x459b10(0x171)});const _0x4063bb=a140_0x17babd({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x457e11=execRemoveOldArtifacts(_0x36dc38[_0x459b10(0x1be)]);_0x29d2aa[_0x459b10(0x1e1)](_0x457e11),_0x4063bb[_0x457e11['ok']?'succeed':'fail'](_0x459b10(0x1a1)+(_0x457e11[_0x459b10(0x172)]??(_0x457e11['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x49e206=a140_0x17babd({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':'cyan'})[_0x459b10(0x1b6)](),_0x3c057a=execCleanMcp(_0x36dc38);_0x29d2aa['push'](_0x3c057a),_0x49e206[_0x3c057a['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x167)+(_0x3c057a[_0x459b10(0x172)]??(_0x3c057a['ok']?'done':_0x459b10(0x16a))));const _0x1c04b0=a140_0x17babd({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x513bd3=execSkillsRemove(_0x46360a,_0x596d45);_0x29d2aa[_0x459b10(0x1e1)](_0x513bd3),_0x1c04b0[_0x513bd3['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x1c8)+(_0x513bd3['detail']??(_0x513bd3['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x58195f=a140_0x17babd({'text':_0x459b10(0x17f),'color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x32bbd9=execSkillsAdd(_0x46360a,_0x596d45);_0x29d2aa[_0x459b10(0x1e1)](_0x32bbd9),_0x58195f[_0x32bbd9['ok']?_0x459b10(0x1c6):'fail'](_0x459b10(0x166)+(_0x32bbd9[_0x459b10(0x172)]??(_0x32bbd9['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x83a4bc=a140_0x17babd({'text':_0x459b10(0x17d),'color':_0x459b10(0x1bc)})['start'](),_0x3c6754=execUpgradeSdk(_0x36dc38);_0x29d2aa['push'](_0x3c6754),_0x83a4bc[_0x3c6754['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x1ab)+(_0x3c6754['detail']??(_0x3c6754['ok']?_0x459b10(0x1a8):_0x459b10(0x16a)))),printSummary(_0x29d2aa);const _0x58e8b0=_0x29d2aa[_0x459b10(0x17c)](_0x5c61ea=>!_0x5c61ea['ok']);_0x58e8b0?console[_0x459b10(0x16b)](a140_0x28b79e['yellow'](_0x459b10(0x168))):console['log'](a140_0x28b79e[_0x459b10(0x197)]('Upgrade\x20completed\x20successfully!')),_0x3c6754['ok']&&_0x36dc38[_0x459b10(0x1a7)]&&(console['log'](''),console[_0x459b10(0x16b)](a140_0x28b79e['bold'][_0x459b10(0x1bc)](_0x459b10(0x174))),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1bc)](_0x459b10(0x1b2))),console[_0x459b10(0x16b)](''),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1b9)]('\x20\x20npm\x20install')),console['log'](a140_0x28b79e[_0x459b10(0x1b9)](_0x459b10(0x1b1))),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1b9)](_0x459b10(0x1ba))),console[_0x459b10(0x16b)](''));}
@@ -1 +1 @@
1
- const a137_0x185f8a=a137_0x38c2;(function(_0x3a7ec7,_0x1377cd){const _0x56b322=a137_0x38c2,_0x5f596f=_0x3a7ec7();while(!![]){try{const _0x357db3=-parseInt(_0x56b322(0x1eb))/0x1+parseInt(_0x56b322(0x1f4))/0x2*(-parseInt(_0x56b322(0x1e8))/0x3)+-parseInt(_0x56b322(0x20e))/0x4+-parseInt(_0x56b322(0x21f))/0x5*(-parseInt(_0x56b322(0x200))/0x6)+parseInt(_0x56b322(0x22c))/0x7*(-parseInt(_0x56b322(0x223))/0x8)+-parseInt(_0x56b322(0x20d))/0x9*(-parseInt(_0x56b322(0x225))/0xa)+parseInt(_0x56b322(0x21b))/0xb;if(_0x357db3===_0x1377cd)break;else _0x5f596f['push'](_0x5f596f['shift']());}catch(_0x59ecbc){_0x5f596f['push'](_0x5f596f['shift']());}}}(a137_0x5223,0xbb88b));import{apiDefinitions}from'../commands/api/index.js';function a137_0x5223(){const _0x5e7378=['<script>','Platform\x20Issue','build','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','remote','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','Configuration','app\x20use','Schema','764973yuxITs','5399992hBNPqq','\x20\x20[high-risk-write]','command','logout','Run\x20any\x20package.json\x20script','get','service','CLI\x20Built-in\x20Skill','\x20\x20[write]','defaultCommand','Project','description','length','35526447kcPTVd','Instant\x20API','Smart\x20List\x20Pages','app','5sRhUYb','`\x20has\x20been\x20removed.','wildcardDef','isSingleCommand','400btjoqN','Menu','10hVwJnw','app\x20remote','run','commands','set','write','from','192248faThBc','login','71826VFcbFb','Dataset\x20&\x20Operations','Diagnostics','193516NliYzJ','use','risk','has','`rabetbase\x20','Workspace','values','filter','skills','68ejKdcb','read','Roles','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','project','Self\x20Update','map','skill','push','Runtime\x20App\x20Config\x20Management','skill\x20','Run\x20Scripts','7105242RwDEpl','create','Permissions'];a137_0x5223=function(){return _0x5e7378;};return a137_0x5223();}import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function a137_0x38c2(_0x851ab1,_0xff56ff){_0x851ab1=_0x851ab1-0x1e7;const _0x5223b2=a137_0x5223();let _0x38c22a=_0x5223b2[_0x851ab1];return _0x38c22a;}function registerDefinitions(_0x3d0bb9){const _0xc49d98=a137_0x38c2;for(const _0x32f478 of _0x3d0bb9){definitions['set'](_0x32f478[_0xc49d98(0x214)]+':'+_0x32f478[_0xc49d98(0x210)],_0x32f478);let _0x32d773=serviceGroups[_0xc49d98(0x213)](_0x32f478['service']);!_0x32d773&&(_0x32d773=[],serviceGroups[_0xc49d98(0x229)](_0x32f478[_0xc49d98(0x214)],_0x32d773)),_0x32d773['push'](_0x32f478);}}function registerDeclarativeService(_0x406fe6,_0x437a55,_0x41aef0){const _0x25f2e2=a137_0x38c2;registerDefinitions(_0x437a55);_0x41aef0?.[_0x25f2e2(0x221)]&&registerDefinitions([_0x41aef0[_0x25f2e2(0x221)]]);const _0x548077=_0x55a2d2=>_0x55a2d2===_0x25f2e2(0x1f5)?'':_0x55a2d2===_0x25f2e2(0x22a)?_0x25f2e2(0x216):_0x25f2e2(0x20f),_0xc6165c={'service':_0x437a55[0x0][_0x25f2e2(0x214)],'label':_0x406fe6,'commands':_0x437a55[_0x25f2e2(0x1f2)](_0x5582a4=>!_0x5582a4['hidden'])[_0x25f2e2(0x1fa)](_0x259184=>({'command':_0x259184['command'],'description':_0x259184[_0x25f2e2(0x219)],'tag':_0x548077(_0x259184[_0x25f2e2(0x1ed)])})),'declarative':!![],'defaultCommand':_0x41aef0?.[_0x25f2e2(0x217)]??(_0x41aef0?.[_0x25f2e2(0x222)]?_0x437a55[0x0]['command']:undefined),'wildcardDef':_0x41aef0?.['wildcardDef'],'isSingleCommand':_0x41aef0?.[_0x25f2e2(0x222)]};serviceRegistry[_0x25f2e2(0x1fc)](_0xc6165c),serviceByName['set'](_0xc6165c[_0x25f2e2(0x214)],_0xc6165c);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a137_0x185f8a(0x227),'isSingleCommand':!![]}),registerDeclarativeService(a137_0x185f8a(0x218),projectDefinitions),registerDeclarativeService(a137_0x185f8a(0x1f0),workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a137_0x185f8a(0x1e7)}),registerDeclarativeService(a137_0x185f8a(0x1e9),datasetDefinitions),registerDeclarativeService(a137_0x185f8a(0x21d),pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a137_0x185f8a(0x21c),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a137_0x185f8a(0x224),menuDefinitions),registerDeclarativeService(a137_0x185f8a(0x1f6),roleDefinitions),registerDeclarativeService(a137_0x185f8a(0x202),permitDefinitions),registerDeclarativeService(a137_0x185f8a(0x1fd),appConfigDefinitions),registerDeclarativeService(a137_0x185f8a(0x204),issueDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a137_0x185f8a(0x20a),configDefinitions),registerDeclarativeService(a137_0x185f8a(0x1ea),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x185f8a(0x20c),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x185f8a(0x1f9),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x185f8a(0x215),cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a137_0x185f8a(0x1ff),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a137_0x185f8a(0x21a)]-0x1];last[a137_0x185f8a(0x228)]=[{'command':a137_0x185f8a(0x203),'description':a137_0x185f8a(0x212),'tag':''}];}export const deprecatedAliases={'create':{'service':a137_0x185f8a(0x1f8),'command':'create'},'start':{'service':a137_0x185f8a(0x227),'command':'start'},'build':{'service':'run','command':a137_0x185f8a(0x205)},'preview':{'service':a137_0x185f8a(0x227),'command':'preview'},'logout':{'service':'auth','command':a137_0x185f8a(0x211)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a137_0x185f8a(0x208),APP_REMOTE_REMOVED_HINT=a137_0x185f8a(0x1f7),APP_USE_REMOVED_HINT=a137_0x185f8a(0x206);export function resolveRemovedCommand(_0x4a1fef,_0x135106){const _0x27dbe2=a137_0x185f8a;if(_0x4a1fef===_0x27dbe2(0x1fb)){const _0x3ebc46=_0x135106?_0x27dbe2(0x1fe)+_0x135106:_0x27dbe2(0x1fb);return{'command':_0x3ebc46,'message':_0x27dbe2(0x1ef)+_0x3ebc46+_0x27dbe2(0x220),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x4a1fef===_0x27dbe2(0x1f3))return{'command':_0x27dbe2(0x1f3),'message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x4a1fef===_0x27dbe2(0x21e)&&_0x135106===_0x27dbe2(0x207))return{'command':_0x27dbe2(0x226),'message':_0x27dbe2(0x209),'hint':APP_REMOTE_REMOVED_HINT};if(_0x4a1fef==='app'&&_0x135106===_0x27dbe2(0x1ec))return{'command':_0x27dbe2(0x20b),'message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a137_0x185f8a(0x201)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x27a619,_0x2f97df){return deprecatedSubcommands[_0x27a619]?.[_0x2f97df];}export function findDefinition(_0x327c3b,_0x2e5606){return definitions['get'](_0x327c3b+':'+_0x2e5606);}export function isKnownService(_0xca2a21){const _0x29c4fb=a137_0x185f8a;return serviceByName[_0x29c4fb(0x1ee)](_0xca2a21);}export function isDeclarativeService(_0x349145){const _0x204959=a137_0x185f8a;return serviceGroups[_0x204959(0x1ee)](_0x349145)||serviceByName[_0x204959(0x213)](_0x349145)?.[_0x204959(0x221)]!==undefined;}export function getServiceEntry(_0x20e4da){return serviceByName['get'](_0x20e4da);}export function getLegacyHandler(_0x22b2e8,_0x294165){return undefined;}export function getAllDefinitions(){const _0x227b13=a137_0x185f8a;return Array[_0x227b13(0x22b)](definitions[_0x227b13(0x1f1)]());}
1
+ const a141_0x12e26d=a141_0x380d;(function(_0x198c38,_0x306512){const _0x3cae25=a141_0x380d,_0x30874a=_0x198c38();while(!![]){try{const _0x4775c7=-parseInt(_0x3cae25(0x11f))/0x1*(-parseInt(_0x3cae25(0x121))/0x2)+parseInt(_0x3cae25(0x141))/0x3*(-parseInt(_0x3cae25(0x12a))/0x4)+-parseInt(_0x3cae25(0x133))/0x5+parseInt(_0x3cae25(0x13d))/0x6+-parseInt(_0x3cae25(0x12b))/0x7+-parseInt(_0x3cae25(0x103))/0x8*(parseInt(_0x3cae25(0x10b))/0x9)+-parseInt(_0x3cae25(0x13b))/0xa*(-parseInt(_0x3cae25(0x102))/0xb);if(_0x4775c7===_0x306512)break;else _0x30874a['push'](_0x30874a['shift']());}catch(_0xec14cc){_0x30874a['push'](_0x30874a['shift']());}}}(a141_0x2d2b,0xbe355));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a141_0x2d2b(){const _0xc6213e=['Logs','build','get','skill','set','531306eWllgf','app','4XuLYMb','use','auth','Authentication','Schema','Dataset\x20&\x20Operations','app\x20use','filter','SQL\x20Queries','2168IqCjNv','4092312mhLVap','\x20\x20[write]','read','hidden','remote','`rabetbase\x20skills`\x20has\x20been\x20removed.','app\x20remote','Project','5822085wkbwpx','commands','CLI\x20Built-in\x20Skill','install','from','wildcardDef','Platform\x20Issue','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','11750lNrYIS','Self\x20Update','3969402jEeErQ','push','has','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','3783BawZXp','Quick\x20Start','BFF\x20Scripts','write','\x20\x20[high-risk-write]','26037nSiaFq','11656ozdKTC','run','File','Permissions','isSingleCommand','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','App\x20Management','Workspace','7992mSSCSK','command','`rabetbase\x20','create','start','Configuration','skill\x20','project','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','defaultCommand','skills','Database\x20Connections','service','<script>','risk'];a141_0x2d2b=function(){return _0xc6213e;};return a141_0x2d2b();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';function a141_0x380d(_0x26d3ad,_0x144b1f){_0x26d3ad=_0x26d3ad-0xff;const _0x2d2b4a=a141_0x2d2b();let _0x380d66=_0x2d2b4a[_0x26d3ad];return _0x380d66;}import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3747cd){const _0x2cbdaa=a141_0x380d;for(const _0x27e940 of _0x3747cd){definitions[_0x2cbdaa(0x11e)](_0x27e940[_0x2cbdaa(0x117)]+':'+_0x27e940[_0x2cbdaa(0x10c)],_0x27e940);let _0x3bdf07=serviceGroups[_0x2cbdaa(0x11c)](_0x27e940['service']);!_0x3bdf07&&(_0x3bdf07=[],serviceGroups[_0x2cbdaa(0x11e)](_0x27e940[_0x2cbdaa(0x117)],_0x3bdf07)),_0x3bdf07['push'](_0x27e940);}}function registerDeclarativeService(_0x498290,_0xeec1e7,_0x51ec71){const _0x18cb97=a141_0x380d;registerDefinitions(_0xeec1e7);_0x51ec71?.['wildcardDef']&&registerDefinitions([_0x51ec71[_0x18cb97(0x138)]]);const _0x5a1e72=_0x4b7b56=>_0x4b7b56===_0x18cb97(0x12d)?'':_0x4b7b56===_0x18cb97(0x100)?_0x18cb97(0x12c):_0x18cb97(0x101),_0x16a303={'service':_0xeec1e7[0x0][_0x18cb97(0x117)],'label':_0x498290,'commands':_0xeec1e7[_0x18cb97(0x128)](_0x213cd0=>!_0x213cd0[_0x18cb97(0x12e)])['map'](_0x2c6c73=>({'command':_0x2c6c73[_0x18cb97(0x10c)],'description':_0x2c6c73['description'],'tag':_0x5a1e72(_0x2c6c73[_0x18cb97(0x119)])})),'declarative':!![],'defaultCommand':_0x51ec71?.[_0x18cb97(0x114)]??(_0x51ec71?.[_0x18cb97(0x107)]?_0xeec1e7[0x0]['command']:undefined),'wildcardDef':_0x51ec71?.[_0x18cb97(0x138)],'isSingleCommand':_0x51ec71?.[_0x18cb97(0x107)]};serviceRegistry[_0x18cb97(0x13e)](_0x16a303),serviceByName[_0x18cb97(0x11e)](_0x16a303['service'],_0x16a303);}registerDeclarativeService(a141_0x12e26d(0x142),initDefinitions,{'defaultCommand':a141_0x12e26d(0x104),'isSingleCommand':!![]}),registerDeclarativeService(a141_0x12e26d(0x132),projectDefinitions),registerDeclarativeService(a141_0x12e26d(0x10a),workspaceDefinitions),registerDeclarativeService(a141_0x12e26d(0x109),appDefinitions),registerDeclarativeService(a141_0x12e26d(0x124),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a141_0x12e26d(0x126),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a141_0x12e26d(0xff),bffDefinitions),registerDeclarativeService(a141_0x12e26d(0x129),sqlDefinitions),registerDeclarativeService(a141_0x12e26d(0x116),dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a141_0x12e26d(0x106),permitDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService(a141_0x12e26d(0x139),issueDefinitions),registerDeclarativeService(a141_0x12e26d(0x105),fileDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a141_0x12e26d(0x110),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a141_0x12e26d(0x125),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a141_0x12e26d(0x13c),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a141_0x12e26d(0x135),cliSkillDefinitions,{'defaultCommand':a141_0x12e26d(0x136)}),registerDeclarativeService(a141_0x12e26d(0x11a),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a141_0x12e26d(0x134)]=[{'command':a141_0x12e26d(0x118),'description':'Run\x20any\x20package.json\x20script','tag':''}];}export const deprecatedAliases={'create':{'service':a141_0x12e26d(0x112),'command':a141_0x12e26d(0x10e)},'start':{'service':a141_0x12e26d(0x104),'command':a141_0x12e26d(0x10f)},'build':{'service':a141_0x12e26d(0x104),'command':a141_0x12e26d(0x11b)},'preview':{'service':a141_0x12e26d(0x104),'command':'preview'},'logout':{'service':a141_0x12e26d(0x123),'command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a141_0x12e26d(0x108),APP_REMOTE_REMOVED_HINT='Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.',APP_USE_REMOVED_HINT=a141_0x12e26d(0x113);export function resolveRemovedCommand(_0x4a265e,_0x225b49){const _0x233c7f=a141_0x12e26d;if(_0x4a265e==='skill'){const _0x1440ce=_0x225b49?_0x233c7f(0x111)+_0x225b49:_0x233c7f(0x11d);return{'command':_0x1440ce,'message':_0x233c7f(0x10d)+_0x1440ce+'`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x4a265e===_0x233c7f(0x115))return{'command':_0x233c7f(0x115),'message':_0x233c7f(0x130),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x4a265e==='app'&&_0x225b49===_0x233c7f(0x12f))return{'command':_0x233c7f(0x131),'message':_0x233c7f(0x140),'hint':APP_REMOTE_REMOVED_HINT};if(_0x4a265e===_0x233c7f(0x120)&&_0x225b49===_0x233c7f(0x122))return{'command':_0x233c7f(0x127),'message':_0x233c7f(0x13a),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x2a85f7,_0x1b6d00){return deprecatedSubcommands[_0x2a85f7]?.[_0x1b6d00];}export function findDefinition(_0x17aa74,_0x197fd2){const _0x294387=a141_0x12e26d;return definitions[_0x294387(0x11c)](_0x17aa74+':'+_0x197fd2);}export function isKnownService(_0x1160ed){const _0x31db85=a141_0x12e26d;return serviceByName[_0x31db85(0x13f)](_0x1160ed);}export function isDeclarativeService(_0x84d3be){const _0x6859c2=a141_0x12e26d;return serviceGroups['has'](_0x84d3be)||serviceByName['get'](_0x84d3be)?.[_0x6859c2(0x138)]!==undefined;}export function getServiceEntry(_0x2b9d46){const _0x404842=a141_0x12e26d;return serviceByName[_0x404842(0x11c)](_0x2b9d46);}export function getLegacyHandler(_0x207626,_0x2f472b){return undefined;}export function getAllDefinitions(){const _0xeec789=a141_0x12e26d;return Array[_0xeec789(0x137)](definitions['values']());}
@@ -1 +1 @@
1
- const a138_0x23074a=a138_0x1631;(function(_0x278e2f,_0x1cd0d9){const _0x568288=a138_0x1631,_0x20afad=_0x278e2f();while(!![]){try{const _0xe4f55=-parseInt(_0x568288(0x1df))/0x1*(parseInt(_0x568288(0x1eb))/0x2)+parseInt(_0x568288(0x1e0))/0x3+-parseInt(_0x568288(0x1db))/0x4+parseInt(_0x568288(0x1ea))/0x5*(-parseInt(_0x568288(0x1da))/0x6)+parseInt(_0x568288(0x1e2))/0x7+parseInt(_0x568288(0x1e8))/0x8+-parseInt(_0x568288(0x1d4))/0x9*(parseInt(_0x568288(0x1d7))/0xa);if(_0xe4f55===_0x1cd0d9)break;else _0x20afad['push'](_0x20afad['shift']());}catch(_0x4c6d7f){_0x20afad['push'](_0x20afad['shift']());}}}(a138_0x8aaf,0xe3778));import{createAppRole}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{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';function a138_0x8aaf(){const _0x48edc3=['flagMissing','1749378ebCaTo','3284900BKiruI','Pass\x20--name\x20<roleName>.','validation','trim','2sAoSjN','1486176RJcrzn','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','1361738QnQqmD','appCode','\x20(id=','remark','POST','write','13949504PAamNc','name','5BzLeDh','369212tyfHra','17919OrnyVU','create','/smartapi/permit/role/create','100OMYImC','str'];a138_0x8aaf=function(){return _0x48edc3;};return a138_0x8aaf();}function a138_0x1631(_0x55acf0,_0x17ce07){_0x55acf0=_0x55acf0-0x1d4;const _0x8aafd7=a138_0x8aaf();let _0x163103=_0x8aafd7[_0x55acf0];return _0x163103;}const CREATE_PATH=a138_0x23074a(0x1d6);function readName(_0xdde17d){const _0x2878f5=a138_0x23074a,_0x3e1de5=_0xdde17d[_0x2878f5(0x1d8)](_0x2878f5(0x1e9))['trim']();if(!_0x3e1de5)throw CliErrors[_0x2878f5(0x1d9)](_0x2878f5(0x1e9),_0x2878f5(0x1dc));if(_0x3e1de5['length']>0x40)throw CliErrors[_0x2878f5(0x1dd)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');return _0x3e1de5;}export const roleCreate={'service':'role','command':a138_0x23074a(0x1d5),'description':a138_0x23074a(0x1e1),'risk':a138_0x23074a(0x1e7),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x36e8b1){readName(_0x36e8b1);},async 'dryRun'(_0x3ebf7e){const _0x24fc7b=a138_0x23074a,_0x14822f=readName(_0x3ebf7e),_0x1cf76b=_0x3ebf7e[_0x24fc7b(0x1d8)](_0x24fc7b(0x1e5))[_0x24fc7b(0x1de)]()||undefined;return asDryRunResult({'operation':'create','selector':{'appCode':_0x3ebf7e[_0x24fc7b(0x1e3)],'roleName':_0x14822f},'before':null,'after':{'roleName':_0x14822f,'roleType':'CUSTOM','remark':_0x1cf76b},'dryRun':!![],'backend':{'method':_0x24fc7b(0x1e6),'path':CREATE_PATH},'warnings':[]},{'method':_0x24fc7b(0x1e6),'url':CREATE_PATH});},async 'execute'(_0x300abc){const _0x518e31=a138_0x23074a,_0x1f651a=readName(_0x300abc),_0x49c25c=_0x300abc['str'](_0x518e31(0x1e5))['trim']()||undefined,_0x86c712=await createAppRole({'appCode':_0x300abc[_0x518e31(0x1e3)],'roleName':_0x1f651a,..._0x49c25c?{'remark':_0x49c25c}:{}});return{'ok':!![],'data':{'operation':'create','selector':{'appCode':_0x300abc[_0x518e31(0x1e3)],'roleId':_0x86c712['id'],'roleName':_0x1f651a},'before':null,'after':projectRole(_0x86c712),'dryRun':![],'backend':{'method':_0x518e31(0x1e6),'path':CREATE_PATH},'warnings':[]},'message':'Created\x20role\x20'+_0x86c712['roleName']+_0x518e31(0x1e4)+_0x86c712['id']+')'};}};
1
+ const a142_0xf58b62=a142_0x2444;function a142_0x2444(_0x5f103e,_0x106346){_0x5f103e=_0x5f103e-0xe5;const _0x4a6228=a142_0x4a62();let _0x2444c8=_0x4a6228[_0x5f103e];return _0x2444c8;}(function(_0x167e8b,_0x8f0036){const _0x37cc79=a142_0x2444,_0x3d5cd2=_0x167e8b();while(!![]){try{const _0x56c6cd=parseInt(_0x37cc79(0xea))/0x1*(parseInt(_0x37cc79(0xe8))/0x2)+-parseInt(_0x37cc79(0xed))/0x3+parseInt(_0x37cc79(0xe6))/0x4+parseInt(_0x37cc79(0xeb))/0x5*(-parseInt(_0x37cc79(0xfe))/0x6)+parseInt(_0x37cc79(0xfd))/0x7+-parseInt(_0x37cc79(0xfc))/0x8*(parseInt(_0x37cc79(0xee))/0x9)+-parseInt(_0x37cc79(0xef))/0xa*(-parseInt(_0x37cc79(0xe5))/0xb);if(_0x56c6cd===_0x8f0036)break;else _0x3d5cd2['push'](_0x3d5cd2['shift']());}catch(_0x26253e){_0x3d5cd2['push'](_0x3d5cd2['shift']());}}}(a142_0x4a62,0xedc77));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a142_0x4a62(){const _0x2d577e=['flagMissing','11jgCMRN','178080ApVJbV','trim','2HNqfGC','create','443203iaNvnG','7455jyRSCX','str','3384561ulYgZo','198vlTXbQ','35572130YqRDqU','validation','POST','Pass\x20--name\x20<roleName>.','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','CUSTOM','remark','write','roleName','appCode','length','name','516064SYGIjR','3045581gOMXDs','3858Iutjqc','/smartapi/permit/role/create'];a142_0x4a62=function(){return _0x2d577e;};return a142_0x4a62();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a142_0xf58b62(0xff);function readName(_0x37a321){const _0x35b9a2=a142_0xf58b62,_0x103a1d=_0x37a321[_0x35b9a2(0xec)](_0x35b9a2(0xfb))[_0x35b9a2(0xe7)]();if(!_0x103a1d)throw CliErrors[_0x35b9a2(0x100)](_0x35b9a2(0xfb),_0x35b9a2(0xf2));if(_0x103a1d[_0x35b9a2(0xfa)]>0x40)throw CliErrors[_0x35b9a2(0xf0)](_0x35b9a2(0xf3));return _0x103a1d;}export const roleCreate={'service':'role','command':a142_0xf58b62(0xe9),'description':a142_0xf58b62(0xf4),'risk':a142_0xf58b62(0xf7),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x54a6d8){readName(_0x54a6d8);},async 'dryRun'(_0x1085ce){const _0x5e1604=a142_0xf58b62,_0x33f959=readName(_0x1085ce),_0x4a20b6=_0x1085ce[_0x5e1604(0xec)](_0x5e1604(0xf6))[_0x5e1604(0xe7)]()||undefined;return asDryRunResult({'operation':_0x5e1604(0xe9),'selector':{'appCode':_0x1085ce[_0x5e1604(0xf9)],'roleName':_0x33f959},'before':null,'after':{'roleName':_0x33f959,'roleType':_0x5e1604(0xf5),'remark':_0x4a20b6},'dryRun':!![],'backend':{'method':_0x5e1604(0xf1),'path':CREATE_PATH},'warnings':[]},{'method':_0x5e1604(0xf1),'url':CREATE_PATH});},async 'execute'(_0x2c51a0){const _0x818f5=a142_0xf58b62,_0x11e36b=readName(_0x2c51a0),_0x459285=_0x2c51a0['str'](_0x818f5(0xf6))[_0x818f5(0xe7)]()||undefined,_0x377bdd=await createAppRole({'appCode':_0x2c51a0[_0x818f5(0xf9)],'roleName':_0x11e36b,..._0x459285?{'remark':_0x459285}:{}});return{'ok':!![],'data':{'operation':_0x818f5(0xe9),'selector':{'appCode':_0x2c51a0[_0x818f5(0xf9)],'roleId':_0x377bdd['id'],'roleName':_0x11e36b},'before':null,'after':projectRole(_0x377bdd),'dryRun':![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},'message':'Created\x20role\x20'+_0x377bdd[_0x818f5(0xf8)]+'\x20(id='+_0x377bdd['id']+')'};}};
@@ -1 +1 @@
1
- const a139_0x2c6081=a139_0x23ec;(function(_0x3cd06b,_0x225b98){const _0x225d2f=a139_0x23ec,_0x4e10a=_0x3cd06b();while(!![]){try{const _0x2cc0f0=parseInt(_0x225d2f(0xa2))/0x1*(parseInt(_0x225d2f(0xa3))/0x2)+-parseInt(_0x225d2f(0x97))/0x3*(parseInt(_0x225d2f(0x98))/0x4)+parseInt(_0x225d2f(0x9f))/0x5+parseInt(_0x225d2f(0xa0))/0x6+-parseInt(_0x225d2f(0x9a))/0x7+parseInt(_0x225d2f(0x9d))/0x8*(-parseInt(_0x225d2f(0x9b))/0x9)+parseInt(_0x225d2f(0x96))/0xa;if(_0x2cc0f0===_0x225b98)break;else _0x4e10a['push'](_0x4e10a['shift']());}catch(_0x5d0f9b){_0x4e10a['push'](_0x4e10a['shift']());}}}(a139_0x7533,0x56e18));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a139_0x23ec(_0x4d6170,_0x6c0592){_0x4d6170=_0x4d6170-0x91;const _0x75337=a139_0x7533();let _0x23ecdc=_0x75337[_0x4d6170];return _0x23ecdc;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a139_0x2c6081(0x9c);function a139_0x7533(){const _0x54300d=['userCount','Role\x20still\x20has\x20','roleName','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','num','role','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','POST','8777430lyYkhD','1661931tzeGuZ','4TsWWvp','appCode','3673663aRxLHK','18IznfmZ','/smartapi/permit/role/delete','2256776NbFGiS','delete','3145755RvpsYv','63900oZwsFd','\x20(id=','2xduXnE','481300GQNFEX'];a139_0x7533=function(){return _0x54300d;};return a139_0x7533();}export const roleDelete={'service':a139_0x2c6081(0x93),'command':'delete','description':a139_0x2c6081(0x91),'risk':'high-risk-write','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4a7c36){const _0x5efdd8=a139_0x2c6081,_0x3e266d=_0x4a7c36[_0x5efdd8(0x92)]('id'),_0x4ff021=await getRoleById(_0x4a7c36[_0x5efdd8(0x99)],_0x3e266d);return assertCustomRole(_0x4ff021,_0x5efdd8(0x9e)),asDryRunResult({'operation':_0x5efdd8(0x9e),'selector':{'appCode':_0x4a7c36[_0x5efdd8(0x99)],'roleId':_0x3e266d,'roleName':_0x4ff021[_0x5efdd8(0xa6)]},'before':projectRole(_0x4ff021),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x4ff021['userCount']>0x0?[_0x5efdd8(0xa5)+_0x4ff021[_0x5efdd8(0xa4)]+_0x5efdd8(0x94)]:[]},{'method':_0x5efdd8(0x95),'url':DELETE_PATH});},async 'execute'(_0x42a1a5){const _0xd8081d=a139_0x2c6081,_0x2b8f58=_0x42a1a5['num']('id'),_0x482389=await getRoleById(_0x42a1a5[_0xd8081d(0x99)],_0x2b8f58);return assertCustomRole(_0x482389,'delete'),await deleteAppRole(_0x2b8f58),{'ok':!![],'data':{'operation':_0xd8081d(0x9e),'selector':{'appCode':_0x42a1a5[_0xd8081d(0x99)],'roleId':_0x2b8f58,'roleName':_0x482389[_0xd8081d(0xa6)]},'before':projectRole(_0x482389),'after':null,'dryRun':![],'backend':{'method':_0xd8081d(0x95),'path':DELETE_PATH},'warnings':[]},'message':'Deleted\x20role\x20'+_0x482389[_0xd8081d(0xa6)]+_0xd8081d(0xa1)+_0x2b8f58+')'};}};
1
+ const a143_0x257eb4=a143_0x45d2;(function(_0x4574f8,_0x2c5e2a){const _0x59e5de=a143_0x45d2,_0x478e44=_0x4574f8();while(!![]){try{const _0x41cbc9=-parseInt(_0x59e5de(0x99))/0x1+parseInt(_0x59e5de(0x95))/0x2*(-parseInt(_0x59e5de(0x94))/0x3)+-parseInt(_0x59e5de(0x9b))/0x4+-parseInt(_0x59e5de(0x8b))/0x5*(-parseInt(_0x59e5de(0xa0))/0x6)+-parseInt(_0x59e5de(0x96))/0x7+parseInt(_0x59e5de(0x90))/0x8*(parseInt(_0x59e5de(0x8a))/0x9)+parseInt(_0x59e5de(0x9c))/0xa*(parseInt(_0x59e5de(0x9e))/0xb);if(_0x41cbc9===_0x2c5e2a)break;else _0x478e44['push'](_0x478e44['shift']());}catch(_0x2cbc58){_0x478e44['push'](_0x478e44['shift']());}}}(a143_0x3d2a,0xbe041));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a143_0x45d2(_0x47c259,_0x5d0fbd){_0x47c259=_0x47c259-0x8a;const _0x3d2a0b=a143_0x3d2a();let _0x45d26e=_0x3d2a0b[_0x47c259];return _0x45d26e;}function a143_0x3d2a(){const _0x12c480=['593884NiMhyd','639345YfshhU','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','POST','1451633QXeOFr','num','5399284rMUCID','25957270gtDsqf','roleName','11ugXCZq','/smartapi/permit/role/delete','7573902omReIi','72999bVkvMf','5gdPyBI','high-risk-write','delete','Role\x20still\x20has\x20','Deleted\x20role\x20','1280gKeEjG','appCode','role','userCount','15BwwiTc'];a143_0x3d2a=function(){return _0x12c480;};return a143_0x3d2a();}const DELETE_PATH=a143_0x257eb4(0x9f);export const roleDelete={'service':a143_0x257eb4(0x92),'command':'delete','description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a143_0x257eb4(0x8c),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x5c0e0a){const _0x333731=a143_0x257eb4,_0x4733c0=_0x5c0e0a[_0x333731(0x9a)]('id'),_0x36acff=await getRoleById(_0x5c0e0a['appCode'],_0x4733c0);return assertCustomRole(_0x36acff,_0x333731(0x8d)),asDryRunResult({'operation':_0x333731(0x8d),'selector':{'appCode':_0x5c0e0a[_0x333731(0x91)],'roleId':_0x4733c0,'roleName':_0x36acff[_0x333731(0x9d)]},'before':projectRole(_0x36acff),'after':null,'dryRun':!![],'backend':{'method':_0x333731(0x98),'path':DELETE_PATH},'warnings':_0x36acff[_0x333731(0x93)]>0x0?[_0x333731(0x8e)+_0x36acff[_0x333731(0x93)]+_0x333731(0x97)]:[]},{'method':_0x333731(0x98),'url':DELETE_PATH});},async 'execute'(_0x43c030){const _0x55d23a=a143_0x257eb4,_0x476fec=_0x43c030[_0x55d23a(0x9a)]('id'),_0x180abc=await getRoleById(_0x43c030[_0x55d23a(0x91)],_0x476fec);return assertCustomRole(_0x180abc,_0x55d23a(0x8d)),await deleteAppRole(_0x476fec),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0x43c030['appCode'],'roleId':_0x476fec,'roleName':_0x180abc[_0x55d23a(0x9d)]},'before':projectRole(_0x180abc),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x55d23a(0x8f)+_0x180abc[_0x55d23a(0x9d)]+'\x20(id='+_0x476fec+')'};}};