@lovrabet/rabetbase-cli 2.3.8 → 2.3.9-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 (245) 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 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -1
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/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/notification/config-list.js +1 -1
  115. package/lib/commands/notification/index.js +1 -1
  116. package/lib/commands/page/generate-start.js +1 -1
  117. package/lib/commands/page/generate-status.js +1 -1
  118. package/lib/commands/page/index.js +1 -1
  119. package/lib/commands/page/pull.js +1 -1
  120. package/lib/commands/page/push.js +1 -1
  121. package/lib/commands/page/relation-audit.js +1 -1
  122. package/lib/commands/page/shared.js +1 -1
  123. package/lib/commands/page/standard-page-status.js +1 -1
  124. package/lib/commands/page/sync.js +1 -1
  125. package/lib/commands/permit/index.js +1 -1
  126. package/lib/commands/permit/page-get.js +1 -1
  127. package/lib/commands/permit/page-set.js +1 -1
  128. package/lib/commands/permit/role-apis-set.js +1 -1
  129. package/lib/commands/permit/role-menus-set.js +1 -1
  130. package/lib/commands/permit/role-menus.js +1 -1
  131. package/lib/commands/permit/shared.js +1 -1
  132. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  133. package/lib/commands/project/create/format-elapsed.js +1 -1
  134. package/lib/commands/project/create/main.js +1 -1
  135. package/lib/commands/project/create/non-interactive.js +1 -1
  136. package/lib/commands/project/create/project-template-path.js +1 -1
  137. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  138. package/lib/commands/project/create/use-format-code.js +1 -1
  139. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  140. package/lib/commands/project/index.js +1 -1
  141. package/lib/commands/project/init.js +1 -1
  142. package/lib/commands/project/upgrade.js +1 -1
  143. package/lib/commands/registry.js +1 -1
  144. package/lib/commands/role/create.js +1 -1
  145. package/lib/commands/role/delete.js +1 -1
  146. package/lib/commands/role/detail.js +1 -1
  147. package/lib/commands/role/index.js +1 -1
  148. package/lib/commands/role/list.js +1 -1
  149. package/lib/commands/role/shared.js +1 -1
  150. package/lib/commands/role/update.js +1 -1
  151. package/lib/commands/role/user-add.js +1 -1
  152. package/lib/commands/role/user-remove.js +1 -1
  153. package/lib/commands/role/user-resolve.js +1 -1
  154. package/lib/commands/run/index.js +1 -1
  155. package/lib/commands/schema.js +1 -1
  156. package/lib/commands/sql/create.js +1 -1
  157. package/lib/commands/sql/delete.js +1 -1
  158. package/lib/commands/sql/detail.js +1 -1
  159. package/lib/commands/sql/exec.js +1 -1
  160. package/lib/commands/sql/index.js +1 -1
  161. package/lib/commands/sql/list.js +1 -1
  162. package/lib/commands/sql/pull.js +1 -1
  163. package/lib/commands/sql/push.js +1 -1
  164. package/lib/commands/sql/save.js +1 -1
  165. package/lib/commands/sql/shared.js +1 -1
  166. package/lib/commands/sql/status.js +1 -1
  167. package/lib/commands/sql/validate.js +1 -1
  168. package/lib/commands/workspace/add.js +1 -1
  169. package/lib/commands/workspace/index.js +1 -1
  170. package/lib/commands/workspace/remove.js +1 -1
  171. package/lib/config/schema.js +1 -1
  172. package/lib/constant/cdn.js +1 -1
  173. package/lib/constant/cli.js +1 -1
  174. package/lib/constant/defaults.js +1 -1
  175. package/lib/constant/domain.js +1 -1
  176. package/lib/constant/env.js +1 -1
  177. package/lib/constant/output.js +1 -1
  178. package/lib/constant/paths.js +1 -1
  179. package/lib/constant/risk.js +1 -1
  180. package/lib/context/app-resolver.js +1 -1
  181. package/lib/context/auth-resolver.js +1 -1
  182. package/lib/context/config-loader.js +1 -1
  183. package/lib/context.js +1 -1
  184. package/lib/core/alias-resolver.js +1 -1
  185. package/lib/core/api-client.js +1 -1
  186. package/lib/core/bff/config.js +1 -1
  187. package/lib/core/bff/file-system.js +1 -1
  188. package/lib/core/bff/hash.js +1 -1
  189. package/lib/core/bff/lock.js +1 -1
  190. package/lib/core/bff/utils.js +1 -1
  191. package/lib/core/db-resolver.js +1 -1
  192. package/lib/core/page/file-system.js +1 -1
  193. package/lib/core/page/hash.js +1 -1
  194. package/lib/core/page/lock.js +1 -1
  195. package/lib/core/sql-sync/config.js +1 -1
  196. package/lib/core/sql-sync/file-system.js +1 -1
  197. package/lib/core/sql-sync/hash.js +1 -1
  198. package/lib/core/sql-sync/lock.js +1 -1
  199. package/lib/core/sql-sync/utils.js +1 -1
  200. package/lib/core/sql-validator.js +1 -1
  201. package/lib/errors.js +1 -1
  202. package/lib/framework/build-all-flags.js +1 -1
  203. package/lib/framework/flags.js +1 -1
  204. package/lib/framework/help.js +1 -1
  205. package/lib/framework/index.js +1 -1
  206. package/lib/framework/output.js +1 -1
  207. package/lib/framework/response.js +1 -1
  208. package/lib/framework/runner-alias.js +1 -1
  209. package/lib/framework/runner.js +1 -1
  210. package/lib/framework/schema-export.js +1 -1
  211. package/lib/framework/types.js +1 -1
  212. package/lib/generated/build-info.js +1 -1
  213. package/lib/help.js +1 -1
  214. package/lib/skills/main.js +1 -1
  215. package/lib/skills/npx-skills-add.js +1 -1
  216. package/lib/telemetry/cli-command-trace.js +1 -1
  217. package/lib/telemetry/cli-help-trace.js +1 -1
  218. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  219. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  220. package/lib/telemetry/send-cli-trace-log.js +1 -1
  221. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  222. package/lib/utils/ai_config.js +1 -1
  223. package/lib/utils/apply-jq-filter.js +1 -1
  224. package/lib/utils/cdn-config.js +1 -1
  225. package/lib/utils/check-sdk-version.js +1 -1
  226. package/lib/utils/cli-version-check.js +1 -1
  227. package/lib/utils/cli-version-policy.js +1 -1
  228. package/lib/utils/config.js +1 -1
  229. package/lib/utils/copy-directory.js +1 -1
  230. package/lib/utils/entity-with-id.js +1 -1
  231. package/lib/utils/file-utils.js +1 -1
  232. package/lib/utils/guides-cdn.js +1 -1
  233. package/lib/utils/http-client.js +1 -1
  234. package/lib/utils/is-non-interactive.js +1 -1
  235. package/lib/utils/logger.js +1 -1
  236. package/lib/utils/params.js +1 -1
  237. package/lib/utils/platform.js +1 -1
  238. package/lib/utils/rules-cdn.js +1 -1
  239. package/lib/utils/sleep.js +1 -1
  240. package/lib/utils/template-replacer.js +1 -1
  241. package/lib/utils/update-notice.js +1 -1
  242. package/lib/utils/version.js +1 -1
  243. package/lib/utils/with-active-cookie.js +1 -1
  244. package/lib/utils/write-cli-side-channel.js +1 -1
  245. package/package.json +1 -1
@@ -1 +1 @@
1
- const a131_0x4a94b9=a131_0x5391;(function(_0x2a64ee,_0x2224fe){const _0x17911f=a131_0x5391,_0x35e255=_0x2a64ee();while(!![]){try{const _0x346d79=-parseInt(_0x17911f(0x20b))/0x1*(parseInt(_0x17911f(0x1f4))/0x2)+parseInt(_0x17911f(0x1e4))/0x3+-parseInt(_0x17911f(0x204))/0x4*(-parseInt(_0x17911f(0x202))/0x5)+parseInt(_0x17911f(0x1f1))/0x6*(-parseInt(_0x17911f(0x21f))/0x7)+-parseInt(_0x17911f(0x1ee))/0x8*(-parseInt(_0x17911f(0x212))/0x9)+-parseInt(_0x17911f(0x203))/0xa*(parseInt(_0x17911f(0x20f))/0xb)+-parseInt(_0x17911f(0x222))/0xc*(-parseInt(_0x17911f(0x227))/0xd);if(_0x346d79===_0x2224fe)break;else _0x35e255['push'](_0x35e255['shift']());}catch(_0x293857){_0x35e255['push'](_0x35e255['shift']());}}}(a131_0x3973,0x4d647));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':a131_0x4a94b9(0x21b),'required':!![],'description':a131_0x4a94b9(0x201)};function a131_0x5391(_0x473b9d,_0x3467ea){_0x473b9d=_0x473b9d-0x1e0;const _0x3973a3=a131_0x3973();let _0x5391ab=_0x3973a3[_0x473b9d];return _0x5391ab;}export const ROLE_REF_FLAG={'name':a131_0x4a94b9(0x1e8),'type':a131_0x4a94b9(0x1ff),'required':!![],'description':'Role\x20id\x20or\x20role\x20name'};export const GRANT_FLAG={'name':'grant','type':'boolean','required':![],'description':a131_0x4a94b9(0x205)};export const REVOKE_FLAG={'name':a131_0x4a94b9(0x22f),'type':a131_0x4a94b9(0x1e6),'required':![],'description':a131_0x4a94b9(0x1f7)};export const MENUS_FLAG={'name':a131_0x4a94b9(0x214),'type':a131_0x4a94b9(0x1ff),'required':!![],'description':a131_0x4a94b9(0x1ed)};export const DATASETS_FLAG={'name':a131_0x4a94b9(0x1fc),'type':a131_0x4a94b9(0x1ff),'required':!![],'description':a131_0x4a94b9(0x20d)};export const PAGE_SLOT_SPECS=[{'flag':a131_0x4a94b9(0x1ec),'key':'menuPermit','allowSelf':![],'label':'menu\x20visibility'},{'flag':'create-roles','key':'dataCreate','allowSelf':![],'label':'data\x20create'},{'flag':a131_0x4a94b9(0x22a),'key':a131_0x4a94b9(0x22e),'allowSelf':![],'label':a131_0x4a94b9(0x21e)},{'flag':'delete-roles','key':'dataDelete','allowSelf':![],'label':a131_0x4a94b9(0x1ea)},{'flag':'detail-roles','key':a131_0x4a94b9(0x224),'allowSelf':![],'label':'data\x20detail'},{'flag':a131_0x4a94b9(0x1f2),'key':a131_0x4a94b9(0x1f3),'allowSelf':![],'label':a131_0x4a94b9(0x1e5)},{'flag':a131_0x4a94b9(0x231),'key':a131_0x4a94b9(0x226),'allowSelf':!![],'label':a131_0x4a94b9(0x1ef)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a131_0x4a94b9(0x22d)](_0x17a9cf=>({'name':_0x17a9cf[a131_0x4a94b9(0x223)],'type':a131_0x4a94b9(0x1ff),'required':![],'description':a131_0x4a94b9(0x217)+_0x17a9cf[a131_0x4a94b9(0x1e0)]+a131_0x4a94b9(0x225)+(_0x17a9cf[a131_0x4a94b9(0x1f5)]?';\x20SELF\x20=\x20only\x20own\x20rows':'')}));export function splitList(_0x8c2e4e){const _0xaa6576=a131_0x4a94b9;return _0x8c2e4e['split'](',')['map'](_0x486932=>_0x486932['trim']())[_0xaa6576(0x220)](Boolean);}export function projectRoleRef(_0x3e7661){const _0x4276a8=a131_0x4a94b9;return{'id':_0x3e7661['id'],'roleName':_0x3e7661[_0x4276a8(0x1fe)],'roleType':_0x3e7661[_0x4276a8(0x213)]};}export async function resolvePermitRoles(_0x17500b,_0xf49332,_0x498133){const _0x2878eb=a131_0x4a94b9,_0x1bc3a1=await listPermitRoles(_0x17500b,{'needSelf':!![],'needPublic':!![]}),_0x21eecc=[];for(const _0x18da8b of _0xf49332){const _0x206aef=resolveOnePermitRole(_0x1bc3a1,_0x18da8b);if(!_0x498133['allowSelf']&&_0x206aef['roleType']===_0x2878eb(0x233))throw CliErrors[_0x2878eb(0x1f9)](_0x2878eb(0x229)+_0x498133['label']+'.',_0x2878eb(0x218));if(!_0x21eecc['some'](_0x356021=>_0x356021['id']===_0x206aef['id']))_0x21eecc[_0x2878eb(0x1e2)](_0x206aef);}return _0x21eecc;}function resolveOnePermitRole(_0x344e5a,_0x41ef6a){const _0x15171e=a131_0x4a94b9,_0x47537e=_0x41ef6a[_0x15171e(0x1f8)](),_0x1e6280=_0x47537e[_0x15171e(0x207)]();if(_0x1e6280===_0x15171e(0x233)||_0x1e6280==='ALL'){const _0x25b412=_0x344e5a[_0x15171e(0x22b)](_0x422fea=>_0x422fea[_0x15171e(0x213)]===_0x1e6280);if(!_0x25b412)throw CliErrors[_0x15171e(0x1f9)]('Special\x20role\x20'+_0x1e6280+_0x15171e(0x20c));return _0x25b412;}if(/^-?\d+$/[_0x15171e(0x209)](_0x47537e)){const _0x2fbcae=Number(_0x47537e),_0xf332f0=_0x344e5a['find'](_0x475247=>_0x475247['id']===_0x2fbcae);if(!_0xf332f0)throw CliErrors[_0x15171e(0x1f9)](_0x15171e(0x206)+_0x2fbcae+_0x15171e(0x21d),'Run\x20`role\x20list`.');return _0xf332f0;}const _0x35179e=_0x344e5a['filter'](_0x4aa4b5=>_0x4aa4b5[_0x15171e(0x1fe)]===_0x47537e);if(_0x35179e[_0x15171e(0x219)]===0x0)throw CliErrors[_0x15171e(0x1f9)]('Role\x20\x22'+_0x47537e+_0x15171e(0x1f6),'Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.');if(_0x35179e[_0x15171e(0x219)]>0x1)throw CliErrors[_0x15171e(0x1f9)](_0x15171e(0x1e7)+_0x47537e+_0x15171e(0x210)+_0x35179e['map'](_0x572055=>_0x572055['id'])[_0x15171e(0x230)](',\x20')+').','Disambiguate\x20with\x20an\x20id.');return _0x35179e[0x0];}export function projectPageSlot(_0xb18f74){const _0x285c72=a131_0x4a94b9;if(!_0xb18f74)return null;return{'resourceCode':_0xb18f74[_0x285c72(0x1eb)],'roles':(_0xb18f74[_0x285c72(0x21a)]??[])[_0x285c72(0x22d)](projectRoleRef)};}export function projectPagePermit(_0x20f5a6){const _0x1964ef=a131_0x4a94b9,_0x3b665a={'menuId':_0x20f5a6['menuId'],'appCode':_0x20f5a6[_0x1964ef(0x221)],'menuPermit':projectPageSlot(_0x20f5a6['menuPermit'])};for(const _0x4c3be0 of PAGE_SLOT_SPECS){if(_0x4c3be0[_0x1964ef(0x21c)]===_0x1964ef(0x216))continue;_0x3b665a[_0x4c3be0[_0x1964ef(0x21c)]]=projectPageSlot(_0x20f5a6[_0x4c3be0['key']]);}return _0x3b665a;}export function flattenMenuResources(_0x35ad53){const _0x6b8f71=new Map(),_0x576962=_0x178d82=>{const _0x44fd71=a131_0x5391;for(const _0x1f8cbf of _0x178d82??[]){_0x6b8f71[_0x44fd71(0x20e)](_0x1f8cbf[_0x44fd71(0x1eb)],{'resourceCode':_0x1f8cbf[_0x44fd71(0x1eb)],'resourceName':_0x1f8cbf[_0x44fd71(0x228)],'action':_0x1f8cbf[_0x44fd71(0x1fb)]?.[0x0]??'0'});if(_0x1f8cbf[_0x44fd71(0x208)])_0x576962(_0x1f8cbf[_0x44fd71(0x208)]);}};return _0x576962(_0x35ad53),_0x6b8f71;}export function flattenApiResources(_0x2996ee){const _0x252c29=a131_0x4a94b9,_0x314452=new Map(),_0x32617c=new Map();for(const _0x22fd1e of _0x2996ee){const _0x2b5155=_0x22fd1e[_0x252c29(0x1e3)]??{};for(const [_0x319bde,_0x19a97b]of Object[_0x252c29(0x1e1)](_0x2b5155)){_0x314452[_0x252c29(0x20e)](_0x319bde,{'resourceCode':_0x319bde,'resourceName':_0x22fd1e[_0x252c29(0x228)],'datasetCode':_0x22fd1e[_0x252c29(0x200)],'action':_0x19a97b?.[0x0]??'0'});const _0x4ad3c0=_0x32617c['get'](_0x22fd1e[_0x252c29(0x200)])??[];_0x4ad3c0[_0x252c29(0x1e2)](_0x319bde),_0x32617c['set'](_0x22fd1e['datasetCode'],_0x4ad3c0);}}return{'byCode':_0x314452,'byDataset':_0x32617c};}export function buildPermits(_0x13bc83,_0x188e92){const _0xbe510f=a131_0x4a94b9,_0x4f6172={};for(const [_0x3be027,_0x154640]of _0x13bc83){const _0x330dc0=_0x188e92[_0xbe510f(0x1f0)](_0x3be027)??_0x154640[_0xbe510f(0x215)];_0x4f6172[_0x3be027]=[_0x330dc0];}return _0x4f6172;}export function readRoleRef(_0x52298c){const _0x48d628=a131_0x4a94b9,_0x3b0a37=_0x52298c[_0x48d628(0x1fa)](_0x48d628(0x1e8))['trim']();if(!_0x3b0a37)throw CliErrors[_0x48d628(0x1fd)]('role',_0x48d628(0x211));return _0x3b0a37;}function a131_0x3973(){const _0x90f7d4=['Pass\x20--role\x20<id|name>.','28386IsHtRw','roleType','menus','action','menuPermit','Roles\x20for\x20','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','length','rolePermit','number','key','\x20not\x20found.','data\x20update','1757FuRzRp','filter','appCode','684khAhHf','flag','dataDetail','\x20(comma-separated\x20SELF/ALL/id/name)','dataPermit','56771sOJVZM','resourceName','SELF\x20is\x20not\x20allowed\x20for\x20','update-roles','find','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','map','dataUpdate','revoke','join','row-roles','grant','SELF','access','label','entries','push','apiList','1093449zLsMro','data\x20export','boolean','Role\x20\x22','role','bool','data\x20delete','resourceCode','menu-roles','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','856PjScxI','row\x20visibility','get','1002vlVtlO','export-roles','dataExport','2252xGNmPC','allowSelf','\x22\x20not\x20found.','Revoke\x20access\x20to\x20the\x20listed\x20resources','trim','validation','str','allowedActions','datasets','flagMissing','roleName','string','datasetCode','Menu\x20id\x20(from\x20`menu\x20list`)','1135KUcLto','1610hvYzqf','956rIjYlL','Grant\x20access\x20to\x20the\x20listed\x20resources','Role\x20id\x20','toUpperCase','pageNodeList','test','Missing\x20action.','37fBZhJz','\x20is\x20not\x20available\x20for\x20this\x20app.','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','set','41305WWzivY','\x22\x20is\x20ambiguous\x20(ids:\x20'];a131_0x3973=function(){return _0x90f7d4;};return a131_0x3973();}export function readGrantRevoke(_0x48a3b4){const _0x4efd01=a131_0x4a94b9,_0x43676a=_0x48a3b4[_0x4efd01(0x1e9)](_0x4efd01(0x232)),_0x13c0d3=_0x48a3b4[_0x4efd01(0x1e9)]('revoke');if(_0x43676a&&_0x13c0d3)throw CliErrors['validation']('--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.');if(!_0x43676a&&!_0x13c0d3)throw CliErrors['validation'](_0x4efd01(0x20a),_0x4efd01(0x22c));return _0x43676a?_0x4efd01(0x234):'0';}
1
+ const a131_0xf5b26b=a131_0x3100;(function(_0x4cb7e4,_0x3a0a8e){const _0x2b1001=a131_0x3100,_0x2c7708=_0x4cb7e4();while(!![]){try{const _0x1269fb=parseInt(_0x2b1001(0xc0))/0x1*(parseInt(_0x2b1001(0xbe))/0x2)+-parseInt(_0x2b1001(0xba))/0x3+parseInt(_0x2b1001(0xb0))/0x4*(-parseInt(_0x2b1001(0xa1))/0x5)+parseInt(_0x2b1001(0xb4))/0x6+-parseInt(_0x2b1001(0xd0))/0x7+parseInt(_0x2b1001(0xcd))/0x8*(-parseInt(_0x2b1001(0xc3))/0x9)+parseInt(_0x2b1001(0xad))/0xa;if(_0x1269fb===_0x3a0a8e)break;else _0x2c7708['push'](_0x2c7708['shift']());}catch(_0x5dc4c9){_0x2c7708['push'](_0x2c7708['shift']());}}}(a131_0x2bb2,0x5b348));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':a131_0xf5b26b(0xc7),'required':!![],'description':'Menu\x20id\x20(from\x20`menu\x20list`)'};export const ROLE_REF_FLAG={'name':a131_0xf5b26b(0xcf),'type':a131_0xf5b26b(0xde),'required':!![],'description':a131_0xf5b26b(0x9e)};export const GRANT_FLAG={'name':a131_0xf5b26b(0xdb),'type':'boolean','required':![],'description':a131_0xf5b26b(0xb2)};export const REVOKE_FLAG={'name':a131_0xf5b26b(0xd6),'type':a131_0xf5b26b(0xe9),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a131_0xf5b26b(0xb8),'type':a131_0xf5b26b(0xde),'required':!![],'description':a131_0xf5b26b(0xe1)};export const DATASETS_FLAG={'name':a131_0xf5b26b(0xe7),'type':a131_0xf5b26b(0xde),'required':!![],'description':a131_0xf5b26b(0xea)};export const PAGE_SLOT_SPECS=[{'flag':a131_0xf5b26b(0xb7),'key':a131_0xf5b26b(0xbf),'allowSelf':![],'label':'menu\x20visibility'},{'flag':'create-roles','key':a131_0xf5b26b(0xac),'allowSelf':![],'label':a131_0xf5b26b(0xe4)},{'flag':a131_0xf5b26b(0xa6),'key':a131_0xf5b26b(0xa7),'allowSelf':![],'label':'data\x20update'},{'flag':'delete-roles','key':a131_0xf5b26b(0xd4),'allowSelf':![],'label':a131_0xf5b26b(0xb9)},{'flag':a131_0xf5b26b(0xd1),'key':a131_0xf5b26b(0xed),'allowSelf':![],'label':a131_0xf5b26b(0xae)},{'flag':a131_0xf5b26b(0xaf),'key':'dataExport','allowSelf':![],'label':'data\x20export'},{'flag':'row-roles','key':a131_0xf5b26b(0xaa),'allowSelf':!![],'label':a131_0xf5b26b(0xdd)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a131_0xf5b26b(0xd5)](_0x538606=>({'name':_0x538606[a131_0xf5b26b(0xe2)],'type':a131_0xf5b26b(0xde),'required':![],'description':a131_0xf5b26b(0xd7)+_0x538606[a131_0xf5b26b(0xb6)]+a131_0xf5b26b(0xc9)+(_0x538606[a131_0xf5b26b(0xda)]?a131_0xf5b26b(0xeb):'')}));export function splitList(_0x14ac66){const _0x1377de=a131_0xf5b26b;return _0x14ac66['split'](',')['map'](_0x2f72a7=>_0x2f72a7[_0x1377de(0xb1)]())[_0x1377de(0xa8)](Boolean);}export function projectRoleRef(_0x24d9e4){const _0x13d546=a131_0xf5b26b;return{'id':_0x24d9e4['id'],'roleName':_0x24d9e4[_0x13d546(0xa4)],'roleType':_0x24d9e4[_0x13d546(0xc8)]};}export async function resolvePermitRoles(_0x1548de,_0x3f1384,_0x209f1f){const _0x52e29c=a131_0xf5b26b,_0x103aac=await listPermitRoles(_0x1548de,{'needSelf':!![],'needPublic':!![]}),_0xbe930e=[];for(const _0x3581e1 of _0x3f1384){const _0x32e30b=resolveOnePermitRole(_0x103aac,_0x3581e1);if(!_0x209f1f[_0x52e29c(0xda)]&&_0x32e30b[_0x52e29c(0xc8)]===_0x52e29c(0xa2))throw CliErrors['validation'](_0x52e29c(0xe6)+_0x209f1f[_0x52e29c(0xb6)]+'.',_0x52e29c(0xe0));if(!_0xbe930e[_0x52e29c(0xdc)](_0xfacc8f=>_0xfacc8f['id']===_0x32e30b['id']))_0xbe930e[_0x52e29c(0xbc)](_0x32e30b);}return _0xbe930e;}function resolveOnePermitRole(_0x1006ed,_0x4293c7){const _0x4479b5=a131_0xf5b26b,_0x50ede4=_0x4293c7[_0x4479b5(0xb1)](),_0x4553ca=_0x50ede4[_0x4479b5(0xce)]();if(_0x4553ca===_0x4479b5(0xa2)||_0x4553ca===_0x4479b5(0xa0)){const _0x47c4e8=_0x1006ed[_0x4479b5(0xe5)](_0x1deb53=>_0x1deb53[_0x4479b5(0xc8)]===_0x4553ca);if(!_0x47c4e8)throw CliErrors[_0x4479b5(0xbd)]('Special\x20role\x20'+_0x4553ca+_0x4479b5(0xb5));return _0x47c4e8;}if(/^-?\d+$/[_0x4479b5(0xcb)](_0x50ede4)){const _0x397749=Number(_0x50ede4),_0x404586=_0x1006ed['find'](_0x5bb40a=>_0x5bb40a['id']===_0x397749);if(!_0x404586)throw CliErrors[_0x4479b5(0xbd)](_0x4479b5(0x9f)+_0x397749+'\x20not\x20found.','Run\x20`role\x20list`.');return _0x404586;}const _0x2b169d=_0x1006ed[_0x4479b5(0xa8)](_0x592e1b=>_0x592e1b['roleName']===_0x50ede4);if(_0x2b169d[_0x4479b5(0xcc)]===0x0)throw CliErrors[_0x4479b5(0xbd)](_0x4479b5(0xbb)+_0x50ede4+_0x4479b5(0xa9),_0x4479b5(0xd9));if(_0x2b169d[_0x4479b5(0xcc)]>0x1)throw CliErrors[_0x4479b5(0xbd)](_0x4479b5(0xbb)+_0x50ede4+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x2b169d[_0x4479b5(0xd5)](_0x311b61=>_0x311b61['id'])['join'](',\x20')+').','Disambiguate\x20with\x20an\x20id.');return _0x2b169d[0x0];}function a131_0x2bb2(){const _0x278d53=['Role\x20id\x20or\x20role\x20name','Role\x20id\x20','ALL','855uimPgj','SELF','entries','roleName','str','update-roles','dataUpdate','filter','\x22\x20not\x20found.','dataPermit','Missing\x20action.','dataCreate','21838440uhZRWP','data\x20detail','export-roles','13876bGNjtp','trim','Grant\x20access\x20to\x20the\x20listed\x20resources','key','99594LWepEE','\x20is\x20not\x20available\x20for\x20this\x20app.','label','menu-roles','menus','data\x20delete','1676790NkuOlY','Role\x20\x22','push','validation','7822WzEScQ','menuPermit','47dDLQbH','flagMissing','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','3219570BfAoor','resourceCode','get','action','number','roleType','\x20(comma-separated\x20SELF/ALL/id/name)','datasetCode','test','length','8xSgLqK','toUpperCase','role','3505775EQxwMT','detail-roles','Pass\x20--role\x20<id|name>.','resourceName','dataDelete','map','revoke','Roles\x20for\x20','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','allowSelf','grant','some','row\x20visibility','string','allowedActions','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','flag','pageNodeList','data\x20create','find','SELF\x20is\x20not\x20allowed\x20for\x20','datasets','menuId','boolean','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for',';\x20SELF\x20=\x20only\x20own\x20rows','set','dataDetail'];a131_0x2bb2=function(){return _0x278d53;};return a131_0x2bb2();}function a131_0x3100(_0x20aea8,_0x4156ee){_0x20aea8=_0x20aea8-0x9e;const _0x2bb2ec=a131_0x2bb2();let _0x3100d3=_0x2bb2ec[_0x20aea8];return _0x3100d3;}export function projectPageSlot(_0x4c4868){const _0x2f9629=a131_0xf5b26b;if(!_0x4c4868)return null;return{'resourceCode':_0x4c4868[_0x2f9629(0xc4)],'roles':(_0x4c4868['rolePermit']??[])[_0x2f9629(0xd5)](projectRoleRef)};}export function projectPagePermit(_0x5b9fae){const _0x3df3fa=a131_0xf5b26b,_0x49e0e6={'menuId':_0x5b9fae[_0x3df3fa(0xe8)],'appCode':_0x5b9fae['appCode'],'menuPermit':projectPageSlot(_0x5b9fae[_0x3df3fa(0xbf)])};for(const _0x314675 of PAGE_SLOT_SPECS){if(_0x314675[_0x3df3fa(0xb3)]===_0x3df3fa(0xbf))continue;_0x49e0e6[_0x314675[_0x3df3fa(0xb3)]]=projectPageSlot(_0x5b9fae[_0x314675[_0x3df3fa(0xb3)]]);}return _0x49e0e6;}export function flattenMenuResources(_0x53735c){const _0x503a73=new Map(),_0x37f2bb=_0x19f74c=>{const _0x37e94b=a131_0x3100;for(const _0x36318d of _0x19f74c??[]){_0x503a73['set'](_0x36318d[_0x37e94b(0xc4)],{'resourceCode':_0x36318d['resourceCode'],'resourceName':_0x36318d[_0x37e94b(0xd3)],'action':_0x36318d[_0x37e94b(0xdf)]?.[0x0]??'0'});if(_0x36318d[_0x37e94b(0xe3)])_0x37f2bb(_0x36318d[_0x37e94b(0xe3)]);}};return _0x37f2bb(_0x53735c),_0x503a73;}export function flattenApiResources(_0x46ae16){const _0x477552=a131_0xf5b26b,_0xd00ab7=new Map(),_0x38544a=new Map();for(const _0x38c78e of _0x46ae16){const _0x3e0e90=_0x38c78e['apiList']??{};for(const [_0x178282,_0x144e6a]of Object[_0x477552(0xa3)](_0x3e0e90)){_0xd00ab7[_0x477552(0xec)](_0x178282,{'resourceCode':_0x178282,'resourceName':_0x38c78e['resourceName'],'datasetCode':_0x38c78e[_0x477552(0xca)],'action':_0x144e6a?.[0x0]??'0'});const _0xaf8dcc=_0x38544a[_0x477552(0xc5)](_0x38c78e[_0x477552(0xca)])??[];_0xaf8dcc['push'](_0x178282),_0x38544a['set'](_0x38c78e[_0x477552(0xca)],_0xaf8dcc);}}return{'byCode':_0xd00ab7,'byDataset':_0x38544a};}export function buildPermits(_0x58b871,_0x5125af){const _0x31ebcc=a131_0xf5b26b,_0x2bae97={};for(const [_0x282aa9,_0x48905f]of _0x58b871){const _0x30a781=_0x5125af[_0x31ebcc(0xc5)](_0x282aa9)??_0x48905f[_0x31ebcc(0xc6)];_0x2bae97[_0x282aa9]=[_0x30a781];}return _0x2bae97;}export function readRoleRef(_0x4856f1){const _0x4373a0=a131_0xf5b26b,_0x442258=_0x4856f1[_0x4373a0(0xa5)](_0x4373a0(0xcf))[_0x4373a0(0xb1)]();if(!_0x442258)throw CliErrors[_0x4373a0(0xc1)]('role',_0x4373a0(0xd2));return _0x442258;}export function readGrantRevoke(_0xde1deb){const _0x71635a=a131_0xf5b26b,_0x37e49e=_0xde1deb['bool'](_0x71635a(0xdb)),_0x1c1739=_0xde1deb['bool']('revoke');if(_0x37e49e&&_0x1c1739)throw CliErrors[_0x71635a(0xbd)](_0x71635a(0xd8));if(!_0x37e49e&&!_0x1c1739)throw CliErrors[_0x71635a(0xbd)](_0x71635a(0xab),_0x71635a(0xc2));return _0x37e49e?'access':'0';}
@@ -1 +1 @@
1
- (function(_0x47eb09,_0x216956){const _0x29f36e=a132_0x1e95,_0x52ad1c=_0x47eb09();while(!![]){try{const _0xd711d2=parseInt(_0x29f36e(0xd9))/0x1+parseInt(_0x29f36e(0xe8))/0x2+parseInt(_0x29f36e(0xec))/0x3+parseInt(_0x29f36e(0xf3))/0x4*(parseInt(_0x29f36e(0xea))/0x5)+parseInt(_0x29f36e(0xeb))/0x6*(parseInt(_0x29f36e(0xda))/0x7)+parseInt(_0x29f36e(0xe0))/0x8*(parseInt(_0x29f36e(0xdc))/0x9)+parseInt(_0x29f36e(0xed))/0xa*(-parseInt(_0x29f36e(0xf2))/0xb);if(_0xd711d2===_0x216956)break;else _0x52ad1c['push'](_0x52ad1c['shift']());}catch(_0xfb4d90){_0x52ad1c['push'](_0x52ad1c['shift']());}}}(a132_0x3804,0x6b522));import{existsSync}from'node:fs';function a132_0x1e95(_0x2e79ae,_0x404d3a){_0x2e79ae=_0x2e79ae-0xd9;const _0x3804ab=a132_0x3804();let _0x1e95ba=_0x3804ab[_0x2e79ae];return _0x1e95ba;}import a132_0x143d6b from'node:path';import a132_0x14d8a3 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';function a132_0x3804(){const _0x157741=['Project\x20name:','length','string','my-app','production','Logged\x20in','45600OhGNQz','env','3339455nMosjw','392148DrrqfI','2076912AMDtaU','10lLrmoN','cwd','√\x20Login\x20status:\x20','green','test','17044621OnmTgE','4aNQBQV','321217jpTZQA','7HMnuXb','trim','179613oyqhra','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','cyan','Not\x20set','88NwshJD','log'];a132_0x3804=function(){return _0x157741;};return a132_0x3804();}export async function guidedCreateProject(_0x17f3e0,_0x5402e1,_0x4b8bb9){const _0x4e9b1c=a132_0x1e95,_0x551090=_0x4e9b1c(0xe5),_0x236dfd=readConfig(),_0x54cc62=typeof _0x236dfd[_0x4e9b1c(0xe9)]===_0x4e9b1c(0xe4)?_0x236dfd[_0x4e9b1c(0xe9)]:undefined,_0x6f988a=await input({'message':_0x4e9b1c(0xe2),'default':_0x551090,'validate':_0x1a0d2c=>{const _0x1344b0=_0x4e9b1c,_0x5177aa=_0x1a0d2c[_0x1344b0(0xdb)]()||_0x551090;if(_0x5177aa[_0x1344b0(0xe3)]>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x696f98=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x5177aa&&!_0x696f98[_0x1344b0(0xf1)](_0x5177aa))return'Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_';const _0x282db7=a132_0x143d6b['resolve'](process[_0x1344b0(0xee)](),_0x5177aa);if(existsSync(_0x282db7))return'Directory\x20\x22'+_0x5177aa+'\x22\x20already\x20exists';return!![];}});console[_0x4e9b1c(0xe1)](a132_0x14d8a3[_0x4e9b1c(0xf0)]('√\x20Project\x20Name:\x20'+a132_0x14d8a3[_0x4e9b1c(0xde)](_0x6f988a)));const _0x47ddec=await selectSingleAppcode(_0x4b8bb9);console['log'](a132_0x14d8a3[_0x4e9b1c(0xf0)]('√\x20App\x20Code:\x20'+a132_0x14d8a3[_0x4e9b1c(0xde)](_0x47ddec||_0x4e9b1c(0xdf))));if(_0x47ddec){const _0x2d9d7d=await getIsSessionValid();if(!_0x2d9d7d){const _0x4d370d=await confirm({'message':_0x4e9b1c(0xdd),'default':!![]});if(_0x4d370d){const _0x344899=await authServer({'silent':!![]});console['log'](a132_0x14d8a3[_0x4e9b1c(0xf0)]('√\x20Login\x20status:\x20'+a132_0x14d8a3[_0x4e9b1c(0xde)](_0x344899?_0x4e9b1c(0xe7):'Login\x20failed')));}else console[_0x4e9b1c(0xe1)](a132_0x14d8a3['green'](_0x4e9b1c(0xef)+a132_0x14d8a3[_0x4e9b1c(0xde)]('Skipped')));}await _0x17f3e0({'projectName':_0x6f988a,'appCode':_0x47ddec,'env':_0x5402e1||_0x54cc62||_0x4e9b1c(0xe6)});}else await _0x17f3e0({'projectName':_0x6f988a,'env':_0x5402e1||_0x54cc62||_0x4e9b1c(0xe6)});}
1
+ (function(_0x4a5f27,_0x2a79a4){const _0x3c639d=a132_0x19d2,_0x104989=_0x4a5f27();while(!![]){try{const _0x5a4ce4=-parseInt(_0x3c639d(0x139))/0x1*(-parseInt(_0x3c639d(0x12c))/0x2)+-parseInt(_0x3c639d(0x13b))/0x3*(-parseInt(_0x3c639d(0x120))/0x4)+parseInt(_0x3c639d(0x122))/0x5+parseInt(_0x3c639d(0x12b))/0x6+parseInt(_0x3c639d(0x129))/0x7+-parseInt(_0x3c639d(0x131))/0x8*(-parseInt(_0x3c639d(0x137))/0x9)+-parseInt(_0x3c639d(0x12d))/0xa;if(_0x5a4ce4===_0x2a79a4)break;else _0x104989['push'](_0x104989['shift']());}catch(_0x177df3){_0x104989['push'](_0x104989['shift']());}}}(a132_0x1eab,0xa5404));import{existsSync}from'node:fs';import a132_0x536d52 from'node:path';import a132_0x3f6e0a from'chalk';function a132_0x19d2(_0x12a6e1,_0x25a630){_0x12a6e1=_0x12a6e1-0x120;const _0x1eabff=a132_0x1eab();let _0x19d2de=_0x1eabff[_0x12a6e1];return _0x19d2de;}import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a132_0x1eab(){const _0x90971f=['1167740tIgNrW','test','3934986kxcfJm','2SkETTX','20815860wxHbjt','\x22\x20already\x20exists','Skipped','string','1032onqAeE','Login\x20failed','Project\x20name:','my-app','production','√\x20App\x20Code:\x20','14913sxCvTz','green','1183349TROHee','log','123fQaEdr','50744IroDuo','√\x20Login\x20status:\x20','92875sVuGKL','cyan','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','Not\x20set','trim','env','length'];a132_0x1eab=function(){return _0x90971f;};return a132_0x1eab();}import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x572000,_0x48e1d3,_0x2e8962){const _0x241662=a132_0x19d2,_0x490e3f=_0x241662(0x134),_0x1e838a=readConfig(),_0x4e6525=typeof _0x1e838a[_0x241662(0x127)]===_0x241662(0x130)?_0x1e838a[_0x241662(0x127)]:undefined,_0x2f1a8b=await input({'message':_0x241662(0x133),'default':_0x490e3f,'validate':_0x4716e6=>{const _0x272de7=_0x241662,_0x126da7=_0x4716e6[_0x272de7(0x126)]()||_0x490e3f;if(_0x126da7[_0x272de7(0x128)]>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x4d58dc=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x126da7&&!_0x4d58dc[_0x272de7(0x12a)](_0x126da7))return _0x272de7(0x124);const _0x361342=a132_0x536d52['resolve'](process['cwd'](),_0x126da7);if(existsSync(_0x361342))return'Directory\x20\x22'+_0x126da7+_0x272de7(0x12e);return!![];}});console['log'](a132_0x3f6e0a[_0x241662(0x138)]('√\x20Project\x20Name:\x20'+a132_0x3f6e0a[_0x241662(0x123)](_0x2f1a8b)));const _0x2e5425=await selectSingleAppcode(_0x2e8962);console[_0x241662(0x13a)](a132_0x3f6e0a[_0x241662(0x138)](_0x241662(0x136)+a132_0x3f6e0a['cyan'](_0x2e5425||_0x241662(0x125))));if(_0x2e5425){const _0x5e6155=await getIsSessionValid();if(!_0x5e6155){const _0x1f3849=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0x1f3849){const _0xef7859=await authServer({'silent':!![]});console[_0x241662(0x13a)](a132_0x3f6e0a[_0x241662(0x138)](_0x241662(0x121)+a132_0x3f6e0a[_0x241662(0x123)](_0xef7859?'Logged\x20in':_0x241662(0x132))));}else console[_0x241662(0x13a)](a132_0x3f6e0a[_0x241662(0x138)](_0x241662(0x121)+a132_0x3f6e0a[_0x241662(0x123)](_0x241662(0x12f))));}await _0x572000({'projectName':_0x2f1a8b,'appCode':_0x2e5425,'env':_0x48e1d3||_0x4e6525||_0x241662(0x135)});}else await _0x572000({'projectName':_0x2f1a8b,'env':_0x48e1d3||_0x4e6525||_0x241662(0x135)});}
@@ -1 +1 @@
1
- function a133_0x1f61(_0x273da0,_0x585ff5){_0x273da0=_0x273da0-0xda;const _0x28f81c=a133_0x28f8();let _0x1f61e4=_0x28f81c[_0x273da0];return _0x1f61e4;}(function(_0x1a6fda,_0x5cfb4f){const _0x1b6d05=a133_0x1f61,_0x58f83f=_0x1a6fda();while(!![]){try{const _0x5a9f25=parseInt(_0x1b6d05(0xdd))/0x1+parseInt(_0x1b6d05(0xe2))/0x2*(-parseInt(_0x1b6d05(0xdb))/0x3)+parseInt(_0x1b6d05(0xe4))/0x4*(parseInt(_0x1b6d05(0xe6))/0x5)+parseInt(_0x1b6d05(0xe5))/0x6+-parseInt(_0x1b6d05(0xe3))/0x7+-parseInt(_0x1b6d05(0xdf))/0x8*(parseInt(_0x1b6d05(0xe0))/0x9)+parseInt(_0x1b6d05(0xdc))/0xa*(parseInt(_0x1b6d05(0xde))/0xb);if(_0x5a9f25===_0x5cfb4f)break;else _0x58f83f['push'](_0x58f83f['shift']());}catch(_0x135499){_0x58f83f['push'](_0x58f83f['shift']());}}}(a133_0x28f8,0x54ba3));export function formatElapsed(_0x75f67b){const _0x5b9c1e=a133_0x1f61,_0xeaea89=Date[_0x5b9c1e(0xe1)]()-_0x75f67b;if(_0xeaea89<0x3e8)return _0xeaea89+'ms';const _0x2d623c=(_0xeaea89/0x3e8)[_0x5b9c1e(0xda)](0x2),_0x2d83eb=_0x2d623c['replace'](/\.?0+$/u,'');return _0x2d83eb+'s';}function a133_0x28f8(){const _0x27dd53=['213126TFfSLQ','499935XFJJAR','toFixed','6GMCqcE','459140jzJPMJ','181849RbGVnh','209Yunuml','5488448nDFycj','9rHfhBc','now','292286CfETqj','450184Bxdljb','12nftGSU'];a133_0x28f8=function(){return _0x27dd53;};return a133_0x28f8();}
1
+ function a133_0x26e8(_0x529474,_0x2b20fd){_0x529474=_0x529474-0x90;const _0x316642=a133_0x3166();let _0x26e894=_0x316642[_0x529474];return _0x26e894;}(function(_0x20107d,_0x3fce92){const _0x55e0ab=a133_0x26e8,_0x1ae556=_0x20107d();while(!![]){try{const _0x3a865f=-parseInt(_0x55e0ab(0x90))/0x1+parseInt(_0x55e0ab(0x94))/0x2*(-parseInt(_0x55e0ab(0x9c))/0x3)+parseInt(_0x55e0ab(0x96))/0x4*(parseInt(_0x55e0ab(0x91))/0x5)+-parseInt(_0x55e0ab(0x99))/0x6+parseInt(_0x55e0ab(0x92))/0x7+parseInt(_0x55e0ab(0x98))/0x8+parseInt(_0x55e0ab(0x9b))/0x9*(parseInt(_0x55e0ab(0x93))/0xa);if(_0x3a865f===_0x3fce92)break;else _0x1ae556['push'](_0x1ae556['shift']());}catch(_0x4258f0){_0x1ae556['push'](_0x1ae556['shift']());}}}(a133_0x3166,0x34027));export function formatElapsed(_0x5d4e07){const _0x3f6fb7=a133_0x26e8,_0x275946=Date[_0x3f6fb7(0x97)]()-_0x5d4e07;if(_0x275946<0x3e8)return _0x275946+'ms';const _0x495f8a=(_0x275946/0x3e8)[_0x3f6fb7(0x9a)](0x2),_0x55c366=_0x495f8a[_0x3f6fb7(0x95)](/\.?0+$/u,'');return _0x55c366+'s';}function a133_0x3166(){const _0x16a311=['1452392EJJzzd','544506xJJAEW','toFixed','144nejDfj','3njPyqU','193308aGPmFV','517555AQNjoX','2435678svzlwH','127880RJxezo','681064OHhFIs','replace','4fkoAgM','now'];a133_0x3166=function(){return _0x16a311;};return a133_0x3166();}
@@ -1 +1 @@
1
- (function(_0x120a50,_0xa6a7b1){const _0x3c607b=a134_0x4c76,_0x35c158=_0x120a50();while(!![]){try{const _0x4c1cee=parseInt(_0x3c607b(0x1c1))/0x1*(parseInt(_0x3c607b(0x1ad))/0x2)+-parseInt(_0x3c607b(0x183))/0x3+parseInt(_0x3c607b(0x18f))/0x4*(parseInt(_0x3c607b(0x197))/0x5)+-parseInt(_0x3c607b(0x195))/0x6+-parseInt(_0x3c607b(0x1d1))/0x7*(parseInt(_0x3c607b(0x186))/0x8)+parseInt(_0x3c607b(0x1ab))/0x9*(-parseInt(_0x3c607b(0x1cc))/0xa)+parseInt(_0x3c607b(0x1c8))/0xb;if(_0x4c1cee===_0xa6a7b1)break;else _0x35c158['push'](_0x35c158['shift']());}catch(_0x267417){_0x35c158['push'](_0x35c158['shift']());}}}(a134_0xb8b6,0x73221));import a134_0x26dc1b from'path';import a134_0xa3a209 from'fs';import a134_0x23f772 from'chalk';import a134_0x3c4a37 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';function a134_0x4c76(_0x39e66d,_0x3456a0){_0x39e66d=_0x39e66d-0x182;const _0xb8b663=a134_0xb8b6();let _0x4c76f7=_0xb8b663[_0x39e66d];return _0x4c76f7;}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x5995b3){const _0x3ccec8=a134_0x4c76,_0x280519=await checkCliVersion();(_0x280519['needsUpgrade']||_0x280519[_0x3ccec8(0x1b0)])&&(printCliUpgradeWarning(_0x280519),assertCliVersionSupported(_0x280519),logger[_0x3ccec8(0x1d2)](_0x3ccec8(0x1a3),_0x3ccec8(0x193),{'currentVersion':_0x280519[_0x3ccec8(0x192)],'stableVersion':_0x280519[_0x3ccec8(0x18a)],'minimumVersion':_0x280519[_0x3ccec8(0x182)],'needsUpgrade':_0x280519['needsUpgrade'],'belowMinimum':_0x280519[_0x3ccec8(0x1b0)]}));if(_0x5995b3[_0x3ccec8(0x1a2)]&&_0x5995b3[_0x3ccec8(0x1a7)])await runCreate({'projectName':_0x5995b3['projectCode'],'appCode':_0x5995b3[_0x3ccec8(0x1a7)],'env':_0x5995b3[_0x3ccec8(0x1d0)]},_0x5995b3);else{if(_0x5995b3[_0x3ccec8(0x1a2)]){const _0x167d95=await selectSingleAppcode(_0x5995b3['cookie']);await runCreate({'projectName':_0x5995b3[_0x3ccec8(0x1a2)],'appCode':_0x167d95||undefined,'env':_0x5995b3[_0x3ccec8(0x1d0)]},_0x5995b3);}else await guidedCreateProject(_0x24b13d=>runCreate(_0x24b13d,_0x5995b3),_0x5995b3[_0x3ccec8(0x1d0)],_0x5995b3[_0x3ccec8(0x1b8)]);}}async function runCreate(_0x50fac6,_0x1617bf){const _0x4862fb=a134_0x4c76;if(!_0x50fac6[_0x4862fb(0x1a8)]||_0x50fac6[_0x4862fb(0x1a8)][_0x4862fb(0x1bd)]()==='')throw new Error('Project\x20name\x20cannot\x20be\x20empty');const _0x173ea5=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x173ea5['test'](_0x50fac6[_0x4862fb(0x1a8)]))throw new Error(_0x4862fb(0x19c));if(_0x50fac6['projectName'][_0x4862fb(0x1db)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x43305c=a134_0x26dc1b[_0x4862fb(0x198)](process['cwd'](),_0x50fac6[_0x4862fb(0x1a8)]);if(a134_0xa3a209[_0x4862fb(0x1af)](_0x43305c))throw new Error(_0x4862fb(0x1b7)+_0x50fac6[_0x4862fb(0x1a8)]+_0x4862fb(0x1d4));try{a134_0xa3a209[_0x4862fb(0x1bc)](a134_0x26dc1b[_0x4862fb(0x1d5)](_0x43305c),a134_0xa3a209[_0x4862fb(0x1bf)][_0x4862fb(0x1c3)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger[_0x4862fb(0x1ae)](_0x43305c),logger['info'](_0x4862fb(0x1a3),_0x4862fb(0x1da)+_0x50fac6[_0x4862fb(0x1a8)],{'projectDir':_0x43305c,'appCode':_0x50fac6['appCode']}),console[_0x4862fb(0x199)](),console[_0x4862fb(0x199)](a134_0x23f772[_0x4862fb(0x1c4)](_0x4862fb(0x1cd))+'Project\x20name:\x20'+a134_0x23f772[_0x4862fb(0x1c4)](_0x50fac6[_0x4862fb(0x1a8)])+(_0x50fac6[_0x4862fb(0x1a7)]?_0x4862fb(0x1c5)+a134_0x23f772[_0x4862fb(0x19f)](_0x50fac6[_0x4862fb(0x1a7)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x50fac6[_0x4862fb(0x1a8)])),await updatePackageJsonName(_0x50fac6[_0x4862fb(0x1a8)]),await runTask(_0x4862fb(0x1c9),()=>installDependencies(_0x50fac6[_0x4862fb(0x1a8)])),await runTask(_0x4862fb(0x1a1),()=>formatProjectCode(_0x50fac6[_0x4862fb(0x1a8)])),await configureAppCode(_0x50fac6[_0x4862fb(0x1a8)],_0x50fac6[_0x4862fb(0x1a7)]||'',_0x50fac6[_0x4862fb(0x1d0)]);let _0x24b07a=![];if(_0x50fac6[_0x4862fb(0x1a7)]){console[_0x4862fb(0x199)](_0x4862fb(0x1ce));const _0x46f2d3=process[_0x4862fb(0x1d3)]();try{process['chdir'](_0x43305c);const _0xb9efaa=_0x50fac6[_0x4862fb(0x1d0)]||'production';initEnv(_0xb9efaa);const {configArray:_0x1ed31c}=await fetchModelList(_0x50fac6[_0x4862fb(0x1a7)],_0x1617bf[_0x4862fb(0x1b8)]||''),_0x43ef56=DEFAULT_API_DIR,_0xfe9907=await generateApiFile(_0x1ed31c,'',_0x50fac6['appCode'],!![],_0xb9efaa,_0x43ef56);console[_0x4862fb(0x199)]('√\x20Pulled\x20'+_0x1ed31c[_0x4862fb(0x1db)]+_0x4862fb(0x18d)+_0xfe9907['modelCount']+_0x4862fb(0x1a4)),logger[_0x4862fb(0x1d2)]('create',_0x4862fb(0x1c7)+_0x50fac6[_0x4862fb(0x1a7)]);}catch(_0x34cb5b){_0x24b07a=!![],console[_0x4862fb(0x199)](_0x4862fb(0x1b2)),logger[_0x4862fb(0x1b3)](_0x4862fb(0x1a3),_0x4862fb(0x1cb),{'error':_0x34cb5b instanceof Error?_0x34cb5b['message']:String(_0x34cb5b)});}finally{process[_0x4862fb(0x19a)](_0x46f2d3);}}logger[_0x4862fb(0x1d8)](_0x4862fb(0x1a3),_0x4862fb(0x1c2)+_0x50fac6['projectName']),console[_0x4862fb(0x199)](),console[_0x4862fb(0x199)](a134_0x23f772[_0x4862fb(0x1c4)]('─'[_0x4862fb(0x189)](0x3c))),console[_0x4862fb(0x199)](a134_0x23f772['cyan'][_0x4862fb(0x184)](_0x4862fb(0x1b1))),console['log'](),console[_0x4862fb(0x199)]('\x20\x201.\x20Start\x20project:\x20'+a134_0x23f772[_0x4862fb(0x19f)]['bold'](_0x4862fb(0x18c)+_0x50fac6[_0x4862fb(0x1a8)]+_0x4862fb(0x194)+CLI_BIN_NAME+'\x20run\x20start')),_0x24b07a&&console[_0x4862fb(0x199)](_0x4862fb(0x1bb)+a134_0x23f772[_0x4862fb(0x19f)][_0x4862fb(0x184)](CLI_BIN_NAME+'\x20api\x20pull')),console[_0x4862fb(0x199)](a134_0x23f772[_0x4862fb(0x1c4)]('─'[_0x4862fb(0x189)](0x3c)));}catch(_0xcd2546){logger[_0x4862fb(0x19e)](_0x4862fb(0x1a3),_0x4862fb(0x1cf)+_0x50fac6['projectName'],{'error':_0xcd2546 instanceof Error?_0xcd2546[_0x4862fb(0x191)]:String(_0xcd2546)});try{a134_0xa3a209[_0x4862fb(0x1af)](_0x43305c)&&(console[_0x4862fb(0x199)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x43305c),a134_0xa3a209[_0x4862fb(0x18b)](_0x43305c,{'recursive':!![],'force':!![]}));}catch{logger['warn']('create',_0x4862fb(0x1ac)+_0x43305c);}throw _0xcd2546;}}function a134_0xb8b6(){const _0x3ffac7=['belowMinimum','🚀\x20Next\x20Steps:','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','warn','fail','*\x20Configuring\x20AppCode\x20for\x20project\x20','defaultApp','Project\x20directory\x20','cookie','parse','toLocaleString','\x20\x202.\x20Pull\x20API\x20configuration:\x20','accessSync','trim','1.0.0','constants','更新\x20package.json\x20失败','360619GNUcbY','项目创建完成:\x20','W_OK','green','\x20|\x20AppCode:\x20','apps','API\x20configuration\x20pulled:\x20','12782506kfytUl','Install\x20dependencies','\x20config\x20set\x20appcode\x20<app-code>\x27','API\x20配置拉取异常','1510180FdeYtr','\x20√\x20','*\x20Pulling\x20API\x20configuration...','项目创建失败:\x20','env','182OKvBRf','info','cwd','\x20already\x20exists','dirname','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','description','success','配置应用AppCode失败','开始创建项目:\x20','length','name','minimumVersion','838200KiEndt','bold','utf8','197368wCvWfo','√\x20package.json\x20updated:\x20name=','√\x20Configuration\x20file\x20created,\x20Apps:\x20','repeat','stableVersion','rmSync','cd\x20','\x20dataset(s),\x20generated\x20','package.json','2692276ruRRlx','version','message','currentVersion','CLI\x20版本检查','\x20&&\x20','3007602hNlVBv','start','5gaOnQO','resolve','log','chdir','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','配置应用AppCode:\x20','error','cyan','\x20Generated\x20by\x20rabetbase\x20cli\x20','Format\x20code','projectCode','create','\x20model(s)','更新\x20package.json\x20name','keys','appCode','projectName','join','readFileSync','18GeLjYy','清理项目目录失败:\x20','2nHUNHF','setLogPath','existsSync'];a134_0xb8b6=function(){return _0x3ffac7;};return a134_0xb8b6();}async function runTask(_0x2c0c80,_0x38137a){const _0x52d726=a134_0x4c76,_0x5a3057=a134_0x3c4a37(_0x2c0c80+'...')[_0x52d726(0x196)]();try{const _0x4becc2=await _0x38137a();_0x5a3057['stop'](),console[_0x52d726(0x199)](''+a134_0x23f772['green']('\x20√\x20')+_0x2c0c80+'\x20'+a134_0x23f772['gray']('['+_0x4becc2+']'));}catch(_0x22e33d){_0x5a3057[_0x52d726(0x1b4)](_0x2c0c80);throw _0x22e33d;}}async function updatePackageJsonName(_0x48270a){const _0xf6b509=a134_0x4c76,_0xbefbe3=a134_0x26dc1b[_0xf6b509(0x198)](process[_0xf6b509(0x1d3)](),_0x48270a),_0x4912a0=a134_0x26dc1b[_0xf6b509(0x1a9)](_0xbefbe3,'package.json');try{console['log']('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x11783a=getRabetbaseCliPackageRoot(),_0x203766=a134_0x26dc1b['join'](_0x11783a,_0xf6b509(0x18e));let _0x2b398a=_0xf6b509(0x1be);try{const _0x1fbc64=JSON['parse'](a134_0xa3a209['readFileSync'](_0x203766,_0xf6b509(0x185)));_0x2b398a=_0x1fbc64[_0xf6b509(0x190)]||_0xf6b509(0x1be);}catch{}const _0xe0c6ef=a134_0xa3a209[_0xf6b509(0x1aa)](_0x4912a0,_0xf6b509(0x185)),_0x4ce2b1=JSON[_0xf6b509(0x1b9)](_0xe0c6ef);_0x4ce2b1[_0xf6b509(0x1dc)]=_0x48270a,_0x4ce2b1[_0xf6b509(0x1d7)]=_0x48270a+_0xf6b509(0x1a0)+_0x2b398a,a134_0xa3a209['writeFileSync'](_0x4912a0,JSON['stringify'](_0x4ce2b1,null,0x2)+'\x0a',_0xf6b509(0x185)),console[_0xf6b509(0x199)](_0xf6b509(0x187)+_0x48270a),logger[_0xf6b509(0x1d2)](_0xf6b509(0x1a3),_0xf6b509(0x1a5));}catch(_0x3f732a){logger['error']('create',_0xf6b509(0x1c0));throw _0x3f732a;}}async function configureAppCode(_0x444c63,_0x311475,_0x4ff7d9){const _0x43e051=a134_0x4c76,_0xaad8c0=a134_0x26dc1b['resolve'](process[_0x43e051(0x1d3)](),_0x444c63),_0x193af9=a134_0x26dc1b[_0x43e051(0x1a9)](_0xaad8c0,NEW_CONFIG_NAME);try{_0x311475?console[_0x43e051(0x199)](_0x43e051(0x1b5)+_0x444c63+':\x20'+_0x311475):console[_0x43e051(0x199)](_0x43e051(0x1d6)+_0x444c63);const _0x21619d=getRabetbaseCliPackageRoot(),_0xc040fa=a134_0x26dc1b['join'](_0x21619d,'package.json');let _0x406c26=_0x43e051(0x1be);try{const _0x3bff10=JSON[_0x43e051(0x1b9)](a134_0xa3a209[_0x43e051(0x1aa)](_0xc040fa,_0x43e051(0x185)));_0x406c26=_0x3bff10[_0x43e051(0x190)]||_0x43e051(0x1be);}catch{}const _0xff41f=readConfig(),_0x139c7f=typeof _0xff41f[_0x43e051(0x1d0)]==='string'?_0xff41f[_0x43e051(0x1d0)]:undefined,_0x4bc9ac={};for(const _0x5c6894 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0xff41f[_0x5c6894]!=null)_0x4bc9ac[_0x5c6894]=_0xff41f[_0x5c6894];}const _0x2e2974=buildCanonicalProjectConfig(_0x4bc9ac,{'appCodes':_0x311475?[_0x311475]:[],'env':_0x4ff7d9||_0x139c7f||'production','metadata':{'createdAt':new Date()[_0x43e051(0x1ba)](),'version':_0x406c26}});writeConfigFile(_0x193af9,_0x2e2974),_0x311475?console['log'](_0x43e051(0x188)+Object[_0x43e051(0x1a6)](_0x2e2974[_0x43e051(0x1c6)]||{})['join'](',\x20')+'\x20|\x20Default:\x20'+_0x2e2974[_0x43e051(0x1b6)]):console['log'](_0x43e051(0x19b)+CLI_BIN_NAME+_0x43e051(0x1ca)),logger[_0x43e051(0x1d2)](_0x43e051(0x1a3),_0x43e051(0x19d)+_0x311475);}catch(_0x382d33){logger['error']('create',_0x43e051(0x1d9));}}
1
+ (function(_0x2ba51d,_0x488b42){const _0xb0f4b0=a134_0x23ef,_0x717eef=_0x2ba51d();while(!![]){try{const _0x550cf6=parseInt(_0xb0f4b0(0x200))/0x1*(parseInt(_0xb0f4b0(0x1ec))/0x2)+parseInt(_0xb0f4b0(0x22a))/0x3*(parseInt(_0xb0f4b0(0x1e0))/0x4)+parseInt(_0xb0f4b0(0x22d))/0x5+-parseInt(_0xb0f4b0(0x21a))/0x6+-parseInt(_0xb0f4b0(0x1e3))/0x7*(-parseInt(_0xb0f4b0(0x214))/0x8)+-parseInt(_0xb0f4b0(0x1fe))/0x9+-parseInt(_0xb0f4b0(0x1fa))/0xa*(parseInt(_0xb0f4b0(0x222))/0xb);if(_0x550cf6===_0x488b42)break;else _0x717eef['push'](_0x717eef['shift']());}catch(_0x3aa210){_0x717eef['push'](_0x717eef['shift']());}}}(a134_0x2037,0x68ab3));import a134_0x54649b from'path';import a134_0x43768b from'fs';function a134_0x23ef(_0xfb2aaa,_0xd0d476){_0xfb2aaa=_0xfb2aaa-0x1cc;const _0x2037aa=a134_0x2037();let _0x23ef13=_0x2037aa[_0xfb2aaa];return _0x23ef13;}import a134_0x414975 from'chalk';import a134_0x16be23 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';function a134_0x2037(){const _0x394800=['projectName','create','\x20model(s)','cwd','更新\x20package.json\x20name','4nwCIsV','cyan','parse','174475coBmsq','production','清理项目目录失败:\x20','stringify','√\x20Configuration\x20file\x20created,\x20Apps:\x20','existsSync','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','repeat','trim','2906MxygXC','🚀\x20Next\x20Steps:','env','error','API\x20配置拉取异常','warn','bold','package.json','fail','readFileSync','Install\x20dependencies','W_OK','needsUpgrade','配置应用AppCode失败','20FjoTAy','更新\x20package.json\x20失败','Project\x20directory\x20','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','9900CeRcyr','toLocaleString','562rawqvW','\x20|\x20Default:\x20','\x20dataset(s),\x20generated\x20','apps','stableVersion','\x20\x201.\x20Start\x20project:\x20','Format\x20code','resolve','*\x20Pulling\x20API\x20configuration...','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','success','\x20run\x20start','*\x20Configuring\x20AppCode\x20for\x20project\x20','belowMinimum','modelCount','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','join','projectCode','CLI\x20版本检查','224BXbKdd','writeFileSync','setLogPath','accessSync','\x20\x202.\x20Pull\x20API\x20configuration:\x20','start','2381904LebzdB','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','defaultApp','appCode','API\x20configuration\x20pulled:\x20','\x20api\x20pull','\x20config\x20set\x20appcode\x20<app-code>\x27','1.0.0','7357009yDhidU','description','Project\x20name\x20cannot\x20be\x20empty','\x20|\x20AppCode:\x20','version','项目创建失败:\x20','utf8','项目创建完成:\x20','188955LbwwOG','\x20&&\x20','√\x20Pulled\x20','2934870WcpiMX','green','\x20√\x20','配置应用AppCode:\x20','√\x20package.json\x20updated:\x20name=','开始创建项目:\x20','length','keys','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','cookie','chdir','gray','log','...','message','info'];a134_0x2037=function(){return _0x394800;};return a134_0x2037();}import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x1e887f){const _0x34a7b8=a134_0x23ef,_0x3dc0b5=await checkCliVersion();(_0x3dc0b5[_0x34a7b8(0x1f8)]||_0x3dc0b5[_0x34a7b8(0x20d)])&&(printCliUpgradeWarning(_0x3dc0b5),assertCliVersionSupported(_0x3dc0b5),logger['info'](_0x34a7b8(0x1dc),_0x34a7b8(0x213),{'currentVersion':_0x3dc0b5['currentVersion'],'stableVersion':_0x3dc0b5[_0x34a7b8(0x204)],'minimumVersion':_0x3dc0b5['minimumVersion'],'needsUpgrade':_0x3dc0b5['needsUpgrade'],'belowMinimum':_0x3dc0b5[_0x34a7b8(0x20d)]}));if(_0x1e887f[_0x34a7b8(0x212)]&&_0x1e887f[_0x34a7b8(0x21d)])await runCreate({'projectName':_0x1e887f[_0x34a7b8(0x212)],'appCode':_0x1e887f[_0x34a7b8(0x21d)],'env':_0x1e887f[_0x34a7b8(0x1ee)]},_0x1e887f);else{if(_0x1e887f[_0x34a7b8(0x212)]){const _0x55f8ca=await selectSingleAppcode(_0x1e887f[_0x34a7b8(0x1d4)]);await runCreate({'projectName':_0x1e887f[_0x34a7b8(0x212)],'appCode':_0x55f8ca||undefined,'env':_0x1e887f[_0x34a7b8(0x1ee)]},_0x1e887f);}else await guidedCreateProject(_0x45db3b=>runCreate(_0x45db3b,_0x1e887f),_0x1e887f['env'],_0x1e887f['cookie']);}}async function runCreate(_0x3bfd4d,_0x789576){const _0x1103dd=a134_0x23ef;if(!_0x3bfd4d[_0x1103dd(0x1db)]||_0x3bfd4d[_0x1103dd(0x1db)][_0x1103dd(0x1eb)]()==='')throw new Error(_0x1103dd(0x224));const _0x22d8a4=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x22d8a4['test'](_0x3bfd4d[_0x1103dd(0x1db)]))throw new Error(_0x1103dd(0x1fd));if(_0x3bfd4d[_0x1103dd(0x1db)]['length']>0x64)throw new Error(_0x1103dd(0x20f));const _0x149045=a134_0x54649b[_0x1103dd(0x207)](process['cwd'](),_0x3bfd4d['projectName']);if(a134_0x43768b['existsSync'](_0x149045))throw new Error(_0x1103dd(0x1fc)+_0x3bfd4d[_0x1103dd(0x1db)]+'\x20already\x20exists');try{a134_0x43768b[_0x1103dd(0x217)](a134_0x54649b['dirname'](_0x149045),a134_0x43768b['constants'][_0x1103dd(0x1f7)]);}catch{throw new Error(_0x1103dd(0x1e9));}logger[_0x1103dd(0x216)](_0x149045),logger['info']('create',_0x1103dd(0x1d0)+_0x3bfd4d[_0x1103dd(0x1db)],{'projectDir':_0x149045,'appCode':_0x3bfd4d[_0x1103dd(0x21d)]}),console['log'](),console[_0x1103dd(0x1d7)](a134_0x414975[_0x1103dd(0x1cc)](_0x1103dd(0x1cd))+'Project\x20name:\x20'+a134_0x414975[_0x1103dd(0x1cc)](_0x3bfd4d[_0x1103dd(0x1db)])+(_0x3bfd4d[_0x1103dd(0x21d)]?_0x1103dd(0x225)+a134_0x414975[_0x1103dd(0x1e1)](_0x3bfd4d[_0x1103dd(0x21d)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x3bfd4d[_0x1103dd(0x1db)])),await updatePackageJsonName(_0x3bfd4d[_0x1103dd(0x1db)]),await runTask(_0x1103dd(0x1f6),()=>installDependencies(_0x3bfd4d[_0x1103dd(0x1db)])),await runTask(_0x1103dd(0x206),()=>formatProjectCode(_0x3bfd4d[_0x1103dd(0x1db)])),await configureAppCode(_0x3bfd4d['projectName'],_0x3bfd4d['appCode']||'',_0x3bfd4d[_0x1103dd(0x1ee)]);let _0x33a75f=![];if(_0x3bfd4d[_0x1103dd(0x21d)]){console[_0x1103dd(0x1d7)](_0x1103dd(0x208));const _0x50e22d=process['cwd']();try{process[_0x1103dd(0x1d5)](_0x149045);const _0xe241a5=_0x3bfd4d[_0x1103dd(0x1ee)]||_0x1103dd(0x1e4);initEnv(_0xe241a5);const {configArray:_0x1f4694}=await fetchModelList(_0x3bfd4d[_0x1103dd(0x21d)],_0x789576[_0x1103dd(0x1d4)]||''),_0x39787=DEFAULT_API_DIR,_0x4ff1f2=await generateApiFile(_0x1f4694,'',_0x3bfd4d[_0x1103dd(0x21d)],!![],_0xe241a5,_0x39787);console['log'](_0x1103dd(0x22c)+_0x1f4694[_0x1103dd(0x1d1)]+_0x1103dd(0x202)+_0x4ff1f2[_0x1103dd(0x20e)]+_0x1103dd(0x1dd)),logger['info']('create',_0x1103dd(0x21e)+_0x3bfd4d['appCode']);}catch(_0x247721){_0x33a75f=!![],console[_0x1103dd(0x1d7)](_0x1103dd(0x209)),logger['warn']('create',_0x1103dd(0x1f0),{'error':_0x247721 instanceof Error?_0x247721['message']:String(_0x247721)});}finally{process[_0x1103dd(0x1d5)](_0x50e22d);}}logger[_0x1103dd(0x20a)](_0x1103dd(0x1dc),_0x1103dd(0x229)+_0x3bfd4d[_0x1103dd(0x1db)]),console[_0x1103dd(0x1d7)](),console['log'](a134_0x414975[_0x1103dd(0x1cc)]('─'[_0x1103dd(0x1ea)](0x3c))),console[_0x1103dd(0x1d7)](a134_0x414975['cyan'][_0x1103dd(0x1f2)](_0x1103dd(0x1ed))),console[_0x1103dd(0x1d7)](),console[_0x1103dd(0x1d7)](_0x1103dd(0x205)+a134_0x414975[_0x1103dd(0x1e1)][_0x1103dd(0x1f2)]('cd\x20'+_0x3bfd4d[_0x1103dd(0x1db)]+_0x1103dd(0x22b)+CLI_BIN_NAME+_0x1103dd(0x20b))),_0x33a75f&&console['log'](_0x1103dd(0x218)+a134_0x414975[_0x1103dd(0x1e1)][_0x1103dd(0x1f2)](CLI_BIN_NAME+_0x1103dd(0x21f))),console['log'](a134_0x414975[_0x1103dd(0x1cc)]('─'[_0x1103dd(0x1ea)](0x3c)));}catch(_0x58cdc8){logger['error']('create',_0x1103dd(0x227)+_0x3bfd4d['projectName'],{'error':_0x58cdc8 instanceof Error?_0x58cdc8[_0x1103dd(0x1d9)]:String(_0x58cdc8)});try{a134_0x43768b[_0x1103dd(0x1e8)](_0x149045)&&(console[_0x1103dd(0x1d7)](_0x1103dd(0x1d3)+_0x149045),a134_0x43768b['rmSync'](_0x149045,{'recursive':!![],'force':!![]}));}catch{logger[_0x1103dd(0x1f1)](_0x1103dd(0x1dc),_0x1103dd(0x1e5)+_0x149045);}throw _0x58cdc8;}}async function runTask(_0x3413ff,_0x261cb0){const _0x272535=a134_0x23ef,_0x4cb933=a134_0x16be23(_0x3413ff+_0x272535(0x1d8))[_0x272535(0x219)]();try{const _0x24b219=await _0x261cb0();_0x4cb933['stop'](),console[_0x272535(0x1d7)](''+a134_0x414975[_0x272535(0x1cc)](_0x272535(0x1cd))+_0x3413ff+'\x20'+a134_0x414975[_0x272535(0x1d6)]('['+_0x24b219+']'));}catch(_0x38dc6c){_0x4cb933[_0x272535(0x1f4)](_0x3413ff);throw _0x38dc6c;}}async function updatePackageJsonName(_0x43fc17){const _0xb4f46d=a134_0x23ef,_0x523c02=a134_0x54649b[_0xb4f46d(0x207)](process[_0xb4f46d(0x1de)](),_0x43fc17),_0x1621ce=a134_0x54649b[_0xb4f46d(0x211)](_0x523c02,_0xb4f46d(0x1f3));try{console[_0xb4f46d(0x1d7)](_0xb4f46d(0x210));const _0x5537f8=getRabetbaseCliPackageRoot(),_0x3ee268=a134_0x54649b['join'](_0x5537f8,_0xb4f46d(0x1f3));let _0x5aafeb='1.0.0';try{const _0x50f6e8=JSON[_0xb4f46d(0x1e2)](a134_0x43768b['readFileSync'](_0x3ee268,_0xb4f46d(0x228)));_0x5aafeb=_0x50f6e8[_0xb4f46d(0x226)]||_0xb4f46d(0x221);}catch{}const _0x386e9e=a134_0x43768b['readFileSync'](_0x1621ce,_0xb4f46d(0x228)),_0x5f3546=JSON['parse'](_0x386e9e);_0x5f3546['name']=_0x43fc17,_0x5f3546[_0xb4f46d(0x223)]=_0x43fc17+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x5aafeb,a134_0x43768b[_0xb4f46d(0x215)](_0x1621ce,JSON[_0xb4f46d(0x1e6)](_0x5f3546,null,0x2)+'\x0a','utf8'),console[_0xb4f46d(0x1d7)](_0xb4f46d(0x1cf)+_0x43fc17),logger[_0xb4f46d(0x1da)](_0xb4f46d(0x1dc),_0xb4f46d(0x1df));}catch(_0x5f5491){logger['error'](_0xb4f46d(0x1dc),_0xb4f46d(0x1fb));throw _0x5f5491;}}async function configureAppCode(_0x203d92,_0x5ebe1c,_0x429149){const _0x41b7be=a134_0x23ef,_0x4180be=a134_0x54649b['resolve'](process[_0x41b7be(0x1de)](),_0x203d92),_0x19b422=a134_0x54649b[_0x41b7be(0x211)](_0x4180be,NEW_CONFIG_NAME);try{_0x5ebe1c?console[_0x41b7be(0x1d7)](_0x41b7be(0x20c)+_0x203d92+':\x20'+_0x5ebe1c):console[_0x41b7be(0x1d7)]('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x203d92);const _0x3260b7=getRabetbaseCliPackageRoot(),_0x39619f=a134_0x54649b['join'](_0x3260b7,'package.json');let _0x79be45=_0x41b7be(0x221);try{const _0x23fb7f=JSON['parse'](a134_0x43768b[_0x41b7be(0x1f5)](_0x39619f,_0x41b7be(0x228)));_0x79be45=_0x23fb7f[_0x41b7be(0x226)]||'1.0.0';}catch{}const _0x25cd7c=readConfig(),_0x3f99a6=typeof _0x25cd7c[_0x41b7be(0x1ee)]==='string'?_0x25cd7c['env']:undefined,_0x123e8b={};for(const _0x18f86d of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x25cd7c[_0x18f86d]!=null)_0x123e8b[_0x18f86d]=_0x25cd7c[_0x18f86d];}const _0xba0c29=buildCanonicalProjectConfig(_0x123e8b,{'appCodes':_0x5ebe1c?[_0x5ebe1c]:[],'env':_0x429149||_0x3f99a6||_0x41b7be(0x1e4),'metadata':{'createdAt':new Date()[_0x41b7be(0x1ff)](),'version':_0x79be45}});writeConfigFile(_0x19b422,_0xba0c29),_0x5ebe1c?console[_0x41b7be(0x1d7)](_0x41b7be(0x1e7)+Object[_0x41b7be(0x1d2)](_0xba0c29[_0x41b7be(0x203)]||{})[_0x41b7be(0x211)](',\x20')+_0x41b7be(0x201)+_0xba0c29[_0x41b7be(0x21c)]):console[_0x41b7be(0x1d7)](_0x41b7be(0x21b)+CLI_BIN_NAME+_0x41b7be(0x220)),logger[_0x41b7be(0x1da)]('create',_0x41b7be(0x1ce)+_0x5ebe1c);}catch(_0x4f54ed){logger[_0x41b7be(0x1ef)](_0x41b7be(0x1dc),_0x41b7be(0x1f9));}}
@@ -1 +1 @@
1
- (function(_0x332320,_0x5d5007){const _0x56112e=a135_0x4111,_0x309c0f=_0x332320();while(!![]){try{const _0x54c4f6=parseInt(_0x56112e(0x145))/0x1+-parseInt(_0x56112e(0x15e))/0x2*(parseInt(_0x56112e(0x181))/0x3)+parseInt(_0x56112e(0x164))/0x4+parseInt(_0x56112e(0x176))/0x5*(-parseInt(_0x56112e(0x155))/0x6)+parseInt(_0x56112e(0x159))/0x7*(parseInt(_0x56112e(0x16a))/0x8)+-parseInt(_0x56112e(0x14b))/0x9*(-parseInt(_0x56112e(0x16b))/0xa)+-parseInt(_0x56112e(0x15f))/0xb*(-parseInt(_0x56112e(0x170))/0xc);if(_0x54c4f6===_0x5d5007)break;else _0x309c0f['push'](_0x309c0f['shift']());}catch(_0x23ff67){_0x309c0f['push'](_0x309c0f['shift']());}}}(a135_0x566e,0x209b3));import a135_0x488640 from'path';import a135_0x8f152b from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a135_0x566e(){const _0xbe7f3a=['\x20\x20rabetbase\x20run\x20start\x0a','\x0a√\x20Project\x20','npm','56728ZjWrwZ','toLocaleString','utf-8','\x20\x20Installing\x20dependencies...','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','bun\x20--version','1394991KnjImt','\x20\x20Pulling\x20API\x20configuration...','cwd','\x20dataset(s),\x20generated\x20','ignore','string','log','length','parse','bun\x20run\x20format','911406ebklLP','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','chdir','test','35APQwRq','...','Project\x20name\x20contains\x20invalid\x20characters.','needsUpgrade','\x20\x20√\x20package.json\x20updated','363634dofFpR','176033IjvPan','stringify','\x20\x20√\x20Pulled\x20','production','\x20model(s)','531172edHdbY','\x20api\x20pull`\x20manually\x20later.','Use\x20a\x20different\x20project\x20name.','\x0a\x20\x20cd\x20','constants','\x20\x20√\x20Code\x20formatted','42776lJvcpc','10yiQiEk','\x20created\x20successfully!','belowMinimum','modelCount','join','72kDzQPJ','writeFile','Project\x20name\x20cannot\x20be\x20empty.','Project\x20directory\x20\x22','\x20\x20√\x20Project\x20template\x20created','\x22\x20already\x20exists.','5Xbsikw','W_OK','*\x20Creating\x20project\x20','validation','access','package.json','name','Check\x20directory\x20permissions.','resolve','bun','description','3XXhKWJ','env','trim','dirname'];a135_0x566e=function(){return _0xbe7f3a;};return a135_0x566e();}import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';function a135_0x4111(_0x3b4c7d,_0xbb4d61){_0x3b4c7d=_0x3b4c7d-0x13f;const _0x566e42=a135_0x566e();let _0x411156=_0x566e42[_0x3b4c7d];return _0x411156;}const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x194b6a,_0xa039bc,_0x5104e4,_0x5ba303){const _0x238fe7=a135_0x4111,_0x44a6d1=await checkCliVersion();(_0x44a6d1[_0x238fe7(0x15c)]||_0x44a6d1[_0x238fe7(0x16d)])&&(printCliUpgradeWarning(_0x44a6d1),assertCliVersionSupported(_0x44a6d1));if(!_0x194b6a||_0x194b6a[_0x238fe7(0x140)]()==='')throw CliErrors['validation'](_0x238fe7(0x172));const _0x337141=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x337141[_0x238fe7(0x158)](_0x194b6a))throw CliErrors[_0x238fe7(0x179)](_0x238fe7(0x15b),_0x238fe7(0x149));if(_0x194b6a[_0x238fe7(0x152)]>0x64)throw CliErrors[_0x238fe7(0x179)](_0x238fe7(0x156));const _0x467c74=a135_0x488640[_0x238fe7(0x17e)](process['cwd'](),_0x194b6a);if(existsSync(_0x467c74))throw CliErrors['validation'](_0x238fe7(0x173)+_0x194b6a+_0x238fe7(0x175),_0x238fe7(0x166));try{const _0x1c2228=a135_0x488640[_0x238fe7(0x141)](_0x467c74);await a135_0x8f152b[_0x238fe7(0x17a)](_0x1c2228,a135_0x8f152b[_0x238fe7(0x168)][_0x238fe7(0x177)]);}catch{throw CliErrors[_0x238fe7(0x179)]('Cannot\x20create\x20project\x20in\x20current\x20directory.',_0x238fe7(0x17d));}try{console['log'](_0x238fe7(0x178)+_0x194b6a+_0x238fe7(0x15a));const _0x11f39a=getSubAppReactDemoTemplateDir();await copyDirectory(_0x11f39a,_0x467c74),console[_0x238fe7(0x151)](_0x238fe7(0x174)),await updatePackageJsonName(_0x194b6a),console[_0x238fe7(0x151)](_0x238fe7(0x15d)),console[_0x238fe7(0x151)](_0x238fe7(0x148)),console[_0x238fe7(0x151)]('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x467c74),console[_0x238fe7(0x151)](_0x238fe7(0x169)),await configureProject(_0x194b6a,_0x5104e4,_0xa039bc),console['log']('\x20\x20√\x20Configuration\x20file\x20created'),_0x5104e4&&await pullApiConfig(_0x467c74,_0x5104e4,_0xa039bc,_0x5ba303),console[_0x238fe7(0x151)](_0x238fe7(0x143)+_0x194b6a+_0x238fe7(0x16c)),console[_0x238fe7(0x151)](_0x238fe7(0x167)+_0x194b6a),console['log'](_0x238fe7(0x142));}catch(_0x351c86){try{existsSync(_0x467c74)&&await a135_0x8f152b['rm'](_0x467c74,{'recursive':!![],'force':!![]});}catch{}throw _0x351c86;}}async function updatePackageJsonName(_0x1f61ae){const _0x3b000e=a135_0x4111,_0x329885=a135_0x488640[_0x3b000e(0x17e)](process['cwd'](),_0x1f61ae),_0x54d2d8=a135_0x488640[_0x3b000e(0x16f)](_0x329885,_0x3b000e(0x17b)),_0x532a90=await a135_0x8f152b['readFile'](_0x54d2d8,_0x3b000e(0x147)),_0x2910d0=JSON[_0x3b000e(0x153)](_0x532a90);_0x2910d0[_0x3b000e(0x17c)]=_0x1f61ae,_0x2910d0[_0x3b000e(0x180)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a135_0x8f152b[_0x3b000e(0x171)](_0x54d2d8,JSON[_0x3b000e(0x160)](_0x2910d0,null,0x2)+'\x0a');}function detectPackageManager(){const _0x394cc0=a135_0x4111;try{return execSync(_0x394cc0(0x14a),{'stdio':_0x394cc0(0x14f)}),_0x394cc0(0x17f);}catch{return _0x394cc0(0x144);}}async function formatCode(_0x2dfa2d){const _0x50b17c=a135_0x4111;try{await execAsync(_0x50b17c(0x154),{'cwd':_0x2dfa2d});}catch{}}async function configureProject(_0x135cc6,_0x53fa9b,_0x4bcfa1){const _0x6dca1b=a135_0x4111,_0x51163f=a135_0x488640[_0x6dca1b(0x17e)](process[_0x6dca1b(0x14d)](),_0x135cc6),_0xf7bd08=a135_0x488640[_0x6dca1b(0x16f)](_0x51163f,NEW_CONFIG_NAME),_0x17231e=readConfig(),_0x2a4366=typeof _0x17231e[_0x6dca1b(0x13f)]===_0x6dca1b(0x150)?_0x17231e['env']:undefined,_0x49fc76={};for(const _0x1e9499 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x17231e[_0x1e9499]!=null)_0x49fc76[_0x1e9499]=_0x17231e[_0x1e9499];}const _0x14a4cb=buildCanonicalProjectConfig(_0x49fc76,{'appCodes':_0x53fa9b?[_0x53fa9b]:[],'env':_0x4bcfa1||_0x2a4366||_0x6dca1b(0x162),'metadata':{'createdAt':new Date()[_0x6dca1b(0x146)](),'version':getCliVersion()}});writeConfigFile(_0xf7bd08,_0x14a4cb);}async function pullApiConfig(_0x5d49f2,_0x5e97b,_0x24f7d3,_0x51daf1){const _0x5f1a11=a135_0x4111,_0xb2ca51=process[_0x5f1a11(0x14d)]();try{process[_0x5f1a11(0x157)](_0x5d49f2);const _0x15ee91=_0x24f7d3||'production';initEnv(_0x15ee91),console[_0x5f1a11(0x151)](_0x5f1a11(0x14c));const {configArray:_0x5e5b46}=await fetchModelList(_0x5e97b,_0x51daf1||''),_0x4b3097=await generateApiFile(_0x5e5b46,'',_0x5e97b,!![],_0x15ee91,DEFAULT_API_DIR);console[_0x5f1a11(0x151)](_0x5f1a11(0x161)+_0x5e5b46['length']+_0x5f1a11(0x14e)+_0x4b3097[_0x5f1a11(0x16e)]+_0x5f1a11(0x163));}catch(_0x28b164){console['log']('\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`'+CLI_BIN_NAME+_0x5f1a11(0x165));}finally{process[_0x5f1a11(0x157)](_0xb2ca51);}}
1
+ (function(_0x55661a,_0x53e3df){const _0x1f1dd8=a135_0x199a,_0x399036=_0x55661a();while(!![]){try{const _0x2e73a6=parseInt(_0x1f1dd8(0x15a))/0x1+parseInt(_0x1f1dd8(0x152))/0x2*(-parseInt(_0x1f1dd8(0x178))/0x3)+-parseInt(_0x1f1dd8(0x17b))/0x4+-parseInt(_0x1f1dd8(0x16a))/0x5*(parseInt(_0x1f1dd8(0x180))/0x6)+-parseInt(_0x1f1dd8(0x157))/0x7*(-parseInt(_0x1f1dd8(0x17d))/0x8)+parseInt(_0x1f1dd8(0x18a))/0x9+-parseInt(_0x1f1dd8(0x15b))/0xa;if(_0x2e73a6===_0x53e3df)break;else _0x399036['push'](_0x399036['shift']());}catch(_0x103a4d){_0x399036['push'](_0x399036['shift']());}}}(a135_0x30a4,0xd6f25));import a135_0x5100cc from'path';import a135_0xaf30b from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';function a135_0x30a4(){const _0x20c357=['1503864ssAHWv','description','4578888wDWEDk','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','18UDMDuT','npm','resolve','*\x20Creating\x20project\x20','bun\x20run\x20format','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x22\x20already\x20exists.','needsUpgrade','join','production','9979290sxytrZ','\x20\x20√\x20package.json\x20updated','log','validation','\x20created\x20successfully!','\x20api\x20pull`\x20manually\x20later.','90ctzqOE','Project\x20name\x20contains\x20invalid\x20characters.','cwd','toLocaleString','...','7iSVMpf','\x0a√\x20Project\x20','env','1350568UAmRIH','7448340IVhqZA','string','Cannot\x20create\x20project\x20in\x20current\x20directory.','readFile','modelCount','\x20\x20√\x20Project\x20template\x20created','test','writeFile','W_OK','access','name','stringify','\x20\x20√\x20Code\x20formatted','\x0a\x20\x20cd\x20','Project\x20directory\x20\x22','569055UyLpKw','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\x20\x20rabetbase\x20run\x20start\x0a','\x20model(s)','length','\x20\x20Pulling\x20API\x20configuration...','belowMinimum','ignore','\x20\x20√\x20Pulled\x20','bun\x20--version','chdir','Use\x20a\x20different\x20project\x20name.','utf-8','\x20\x20Installing\x20dependencies...','45939OjNNnU','constants','parse'];a135_0x30a4=function(){return _0x20c357;};return a135_0x30a4();}import{initEnv}from'../../../constant/env.js';function a135_0x199a(_0x440f8a,_0x492473){_0x440f8a=_0x440f8a-0x14d;const _0x30a434=a135_0x30a4();let _0x199a2f=_0x30a434[_0x440f8a];return _0x199a2f;}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(_0x34fdfc,_0x2120d9,_0x48cd38,_0x5cd79e){const _0x230d94=a135_0x199a,_0x49efaa=await checkCliVersion();(_0x49efaa[_0x230d94(0x187)]||_0x49efaa[_0x230d94(0x170)])&&(printCliUpgradeWarning(_0x49efaa),assertCliVersionSupported(_0x49efaa));if(!_0x34fdfc||_0x34fdfc['trim']()==='')throw CliErrors['validation']('Project\x20name\x20cannot\x20be\x20empty.');const _0x361b67=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x361b67[_0x230d94(0x161)](_0x34fdfc))throw CliErrors['validation'](_0x230d94(0x153),_0x230d94(0x16b));if(_0x34fdfc[_0x230d94(0x16e)]>0x64)throw CliErrors[_0x230d94(0x14f)]('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x6a57c8=a135_0x5100cc[_0x230d94(0x182)](process['cwd'](),_0x34fdfc);if(existsSync(_0x6a57c8))throw CliErrors[_0x230d94(0x14f)](_0x230d94(0x169)+_0x34fdfc+_0x230d94(0x186),_0x230d94(0x175));try{const _0x48f30b=a135_0x5100cc['dirname'](_0x6a57c8);await a135_0xaf30b[_0x230d94(0x164)](_0x48f30b,a135_0xaf30b[_0x230d94(0x179)][_0x230d94(0x163)]);}catch{throw CliErrors[_0x230d94(0x14f)](_0x230d94(0x15d),'Check\x20directory\x20permissions.');}try{console['log'](_0x230d94(0x183)+_0x34fdfc+_0x230d94(0x156));const _0xae76f=getSubAppReactDemoTemplateDir();await copyDirectory(_0xae76f,_0x6a57c8),console[_0x230d94(0x14e)](_0x230d94(0x160)),await updatePackageJsonName(_0x34fdfc),console[_0x230d94(0x14e)](_0x230d94(0x14d)),console[_0x230d94(0x14e)](_0x230d94(0x177)),console[_0x230d94(0x14e)](_0x230d94(0x185)),await formatCode(_0x6a57c8),console[_0x230d94(0x14e)](_0x230d94(0x167)),await configureProject(_0x34fdfc,_0x48cd38,_0x2120d9),console[_0x230d94(0x14e)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x48cd38&&await pullApiConfig(_0x6a57c8,_0x48cd38,_0x2120d9,_0x5cd79e),console['log'](_0x230d94(0x158)+_0x34fdfc+_0x230d94(0x150)),console[_0x230d94(0x14e)](_0x230d94(0x168)+_0x34fdfc),console[_0x230d94(0x14e)](_0x230d94(0x16c));}catch(_0x45931e){try{existsSync(_0x6a57c8)&&await a135_0xaf30b['rm'](_0x6a57c8,{'recursive':!![],'force':!![]});}catch{}throw _0x45931e;}}async function updatePackageJsonName(_0xd4af5e){const _0x177e31=a135_0x199a,_0x5a7ef4=a135_0x5100cc[_0x177e31(0x182)](process['cwd'](),_0xd4af5e),_0xcd4c3b=a135_0x5100cc['join'](_0x5a7ef4,'package.json'),_0x457450=await a135_0xaf30b[_0x177e31(0x15e)](_0xcd4c3b,_0x177e31(0x176)),_0x243d9a=JSON[_0x177e31(0x17a)](_0x457450);_0x243d9a[_0x177e31(0x165)]=_0xd4af5e,_0x243d9a[_0x177e31(0x17c)]=_0x177e31(0x17f),await a135_0xaf30b[_0x177e31(0x162)](_0xcd4c3b,JSON[_0x177e31(0x166)](_0x243d9a,null,0x2)+'\x0a');}function detectPackageManager(){const _0x10966e=a135_0x199a;try{return execSync(_0x10966e(0x173),{'stdio':_0x10966e(0x171)}),'bun';}catch{return _0x10966e(0x181);}}async function formatCode(_0x345a87){const _0x19dd7e=a135_0x199a;try{await execAsync(_0x19dd7e(0x184),{'cwd':_0x345a87});}catch{}}async function configureProject(_0x1b87e2,_0x1cd8b9,_0x3cb1e0){const _0x4d8ed7=a135_0x199a,_0x2dfecb=a135_0x5100cc['resolve'](process['cwd'](),_0x1b87e2),_0x25c9d8=a135_0x5100cc[_0x4d8ed7(0x188)](_0x2dfecb,NEW_CONFIG_NAME),_0x22b108=readConfig(),_0x1eda36=typeof _0x22b108[_0x4d8ed7(0x159)]===_0x4d8ed7(0x15c)?_0x22b108[_0x4d8ed7(0x159)]:undefined,_0x5cc7ba={};for(const _0x3e81a4 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x22b108[_0x3e81a4]!=null)_0x5cc7ba[_0x3e81a4]=_0x22b108[_0x3e81a4];}const _0x517887=buildCanonicalProjectConfig(_0x5cc7ba,{'appCodes':_0x1cd8b9?[_0x1cd8b9]:[],'env':_0x3cb1e0||_0x1eda36||_0x4d8ed7(0x189),'metadata':{'createdAt':new Date()[_0x4d8ed7(0x155)](),'version':getCliVersion()}});writeConfigFile(_0x25c9d8,_0x517887);}async function pullApiConfig(_0x27a840,_0x1c23a5,_0x532096,_0xf5ba42){const _0x43474d=a135_0x199a,_0x41286d=process[_0x43474d(0x154)]();try{process[_0x43474d(0x174)](_0x27a840);const _0xdb2b02=_0x532096||'production';initEnv(_0xdb2b02),console[_0x43474d(0x14e)](_0x43474d(0x16f));const {configArray:_0x49793d}=await fetchModelList(_0x1c23a5,_0xf5ba42||''),_0x32cf93=await generateApiFile(_0x49793d,'',_0x1c23a5,!![],_0xdb2b02,DEFAULT_API_DIR);console[_0x43474d(0x14e)](_0x43474d(0x172)+_0x49793d[_0x43474d(0x16e)]+'\x20dataset(s),\x20generated\x20'+_0x32cf93[_0x43474d(0x15f)]+_0x43474d(0x16d));}catch(_0x2c8e39){console[_0x43474d(0x14e)](_0x43474d(0x17e)+CLI_BIN_NAME+_0x43474d(0x151));}finally{process[_0x43474d(0x174)](_0x41286d);}}
@@ -1 +1 @@
1
- const a136_0x47e418=a136_0x3f12;(function(_0x48b3d3,_0x5338bc){const _0x3b974f=a136_0x3f12,_0x1677d5=_0x48b3d3();while(!![]){try{const _0x10534e=-parseInt(_0x3b974f(0xff))/0x1*(parseInt(_0x3b974f(0xfe))/0x2)+-parseInt(_0x3b974f(0xfd))/0x3*(parseInt(_0x3b974f(0x100))/0x4)+parseInt(_0x3b974f(0xf9))/0x5+-parseInt(_0x3b974f(0xfa))/0x6+-parseInt(_0x3b974f(0xfc))/0x7*(-parseInt(_0x3b974f(0x101))/0x8)+-parseInt(_0x3b974f(0xf8))/0x9+parseInt(_0x3b974f(0xf5))/0xa;if(_0x10534e===_0x5338bc)break;else _0x1677d5['push'](_0x1677d5['shift']());}catch(_0x4d50a2){_0x1677d5['push'](_0x1677d5['shift']());}}}(a136_0x2507,0xe6984));import a136_0x251d2f from'node:path';function a136_0x2507(){const _0x147f3c=['284SVFyca','7457144oimHxS','resolve','projects','36871110yEXWcv','join','sub-app-react-demo','14619204usoNOs','9156425uiJCpa','3125676eXBBnG','dirname','7tgxMaV','63519ISBjnE','36svdfYH','103191fZwUyN'];a136_0x2507=function(){return _0x147f3c;};return a136_0x2507();}import{fileURLToPath}from'node:url';function a136_0x3f12(_0x1b54b1,_0x1b1aa4){_0x1b54b1=_0x1b54b1-0xf4;const _0x2507a9=a136_0x2507();let _0x3f1263=_0x2507a9[_0x1b54b1];return _0x3f1263;}const __dirname=a136_0x251d2f[a136_0x47e418(0xfb)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x99b268=a136_0x47e418;return a136_0x251d2f[_0x99b268(0x102)](__dirname,'../../../../');}export function getSubAppReactDemoTemplateDir(){const _0x51c99e=a136_0x47e418;return a136_0x251d2f[_0x51c99e(0xf6)](getRabetbaseCliPackageRoot(),'templates',_0x51c99e(0xf4),_0x51c99e(0xf7));}
1
+ const a136_0x4a19f2=a136_0x105a;(function(_0x38d0f7,_0x3d37eb){const _0x582757=a136_0x105a,_0xa51a89=_0x38d0f7();while(!![]){try{const _0x74562f=parseInt(_0x582757(0x1bf))/0x1*(-parseInt(_0x582757(0x1c0))/0x2)+parseInt(_0x582757(0x1b8))/0x3+-parseInt(_0x582757(0x1c4))/0x4*(parseInt(_0x582757(0x1c3))/0x5)+parseInt(_0x582757(0x1b6))/0x6+-parseInt(_0x582757(0x1ba))/0x7+parseInt(_0x582757(0x1b7))/0x8+-parseInt(_0x582757(0x1bb))/0x9*(-parseInt(_0x582757(0x1c1))/0xa);if(_0x74562f===_0x3d37eb)break;else _0xa51a89['push'](_0xa51a89['shift']());}catch(_0x837aa8){_0xa51a89['push'](_0xa51a89['shift']());}}}(a136_0x545d,0xaf2d1));import a136_0x35b8aa from'node:path';function a136_0x105a(_0x571f16,_0x1316a9){_0x571f16=_0x571f16-0x1b6;const _0x545dda=a136_0x545d();let _0x105a34=_0x545dda[_0x571f16];return _0x105a34;}import{fileURLToPath}from'node:url';const __dirname=a136_0x35b8aa[a136_0x4a19f2(0x1be)](fileURLToPath(import.meta.url));function a136_0x545d(){const _0x175b22=['10475904wdJKQm','1116606NgEOty','resolve','3880233uiosjl','1406313xxxUkc','projects','join','dirname','3NppadL','761554WDfpce','10TpDZZt','sub-app-react-demo','5SNcbDv','2237428xfVrbo','../../../../','6813486uQqbbN'];a136_0x545d=function(){return _0x175b22;};return a136_0x545d();}export function getRabetbaseCliPackageRoot(){const _0x5c052d=a136_0x4a19f2;return a136_0x35b8aa[_0x5c052d(0x1b9)](__dirname,_0x5c052d(0x1c5));}export function getSubAppReactDemoTemplateDir(){const _0x1f286e=a136_0x4a19f2;return a136_0x35b8aa[_0x1f286e(0x1bd)](getRabetbaseCliPackageRoot(),'templates',_0x1f286e(0x1bc),_0x1f286e(0x1c2));}
@@ -1 +1 @@
1
- (function(_0x2493d8,_0x1da9c3){const _0x3665fc=a137_0x6d9e,_0x4628a0=_0x2493d8();while(!![]){try{const _0x5b01c0=parseInt(_0x3665fc(0x190))/0x1*(parseInt(_0x3665fc(0x19d))/0x2)+-parseInt(_0x3665fc(0x191))/0x3*(-parseInt(_0x3665fc(0x197))/0x4)+parseInt(_0x3665fc(0x193))/0x5*(-parseInt(_0x3665fc(0x18f))/0x6)+-parseInt(_0x3665fc(0x19a))/0x7+parseInt(_0x3665fc(0x18d))/0x8+-parseInt(_0x3665fc(0x19c))/0x9+parseInt(_0x3665fc(0x194))/0xa;if(_0x5b01c0===_0x1da9c3)break;else _0x4628a0['push'](_0x4628a0['shift']());}catch(_0xdb8014){_0x4628a0['push'](_0x4628a0['shift']());}}}(a137_0xac87,0xabc65));function a137_0xac87(){const _0x33800b=['6545720MYLWgB','项目模板复制失败','info','24vYkixU','message','cwd','6310864gySuRW','项目模板复制完成','11158110ihIUZg','369154YFxQAH','resolve','copy','8657688ZzhxYv','now','18jOSMlg','1WeyAMP','486561bFJBqf','开始复制项目模板','82585XmUkNI'];a137_0xac87=function(){return _0x33800b;};return a137_0xac87();}import a137_0x1f3155 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a137_0x6d9e(_0x47635c,_0x24cbe7){_0x47635c=_0x47635c-0x18b;const _0xac8733=a137_0xac87();let _0x6d9e8d=_0xac8733[_0x47635c];return _0x6d9e8d;}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x2bfa70){const _0x160351=a137_0x6d9e,_0x560da9=Date[_0x160351(0x18e)](),_0x31e2dc=a137_0x1f3155[_0x160351(0x18b)](process[_0x160351(0x199)](),_0x2bfa70);try{logger[_0x160351(0x196)](_0x160351(0x18c),_0x160351(0x192),{'projectCode':_0x2bfa70,'templateDir':templateDir}),await copyDirectory(templateDir,_0x31e2dc);const _0x24deee=Date[_0x160351(0x18e)]()-_0x560da9;logger['success'](_0x160351(0x18c),_0x160351(0x19b),_0x24deee,{'projectCode':_0x2bfa70});}catch(_0x1b58b5){const _0x551ea6=Date[_0x160351(0x18e)]()-_0x560da9;logger['error'](_0x160351(0x18c),_0x160351(0x195),{'projectCode':_0x2bfa70,'error':_0x1b58b5 instanceof Error?_0x1b58b5[_0x160351(0x198)]:String(_0x1b58b5),'duration':_0x551ea6});throw _0x1b58b5;}return formatElapsed(_0x560da9);}
1
+ (function(_0x306737,_0x786106){const _0x45c254=a137_0x38d1,_0x563065=_0x306737();while(!![]){try{const _0x1dc72b=parseInt(_0x45c254(0x1c5))/0x1*(-parseInt(_0x45c254(0x1cb))/0x2)+-parseInt(_0x45c254(0x1c8))/0x3*(parseInt(_0x45c254(0x1c7))/0x4)+-parseInt(_0x45c254(0x1bb))/0x5+parseInt(_0x45c254(0x1ca))/0x6*(parseInt(_0x45c254(0x1c1))/0x7)+-parseInt(_0x45c254(0x1bd))/0x8*(parseInt(_0x45c254(0x1bf))/0x9)+parseInt(_0x45c254(0x1c0))/0xa+-parseInt(_0x45c254(0x1c2))/0xb*(-parseInt(_0x45c254(0x1ba))/0xc);if(_0x1dc72b===_0x786106)break;else _0x563065['push'](_0x563065['shift']());}catch(_0x46c554){_0x563065['push'](_0x563065['shift']());}}}(a137_0x56d3,0xae4a9));function a137_0x56d3(){const _0x61c9cb=['resolve','5024392dtKEaD','开始复制项目模板','9BdoDZN','13418600mJaGVM','133UGtZuo','718916oEcvDM','now','copy','6044gtzoDE','项目模板复制完成','20AOwKCD','601251TsAzcO','success','389556QqsIUq','44GqIsbl','error','36RepnTz','1472615wNYisj'];a137_0x56d3=function(){return _0x61c9cb;};return a137_0x56d3();}import a137_0x3df553 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a137_0x38d1(_0x495201,_0x23f0fa){_0x495201=_0x495201-0x1b9;const _0x56d3fa=a137_0x56d3();let _0x38d15f=_0x56d3fa[_0x495201];return _0x38d15f;}const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x16ec67){const _0x21aad8=a137_0x38d1,_0x14561b=Date[_0x21aad8(0x1c3)](),_0x148f09=a137_0x3df553[_0x21aad8(0x1bc)](process['cwd'](),_0x16ec67);try{logger['info'](_0x21aad8(0x1c4),_0x21aad8(0x1be),{'projectCode':_0x16ec67,'templateDir':templateDir}),await copyDirectory(templateDir,_0x148f09);const _0x2285c4=Date['now']()-_0x14561b;logger[_0x21aad8(0x1c9)]('copy',_0x21aad8(0x1c6),_0x2285c4,{'projectCode':_0x16ec67});}catch(_0xa0ac42){const _0x2fc8b0=Date[_0x21aad8(0x1c3)]()-_0x14561b;logger[_0x21aad8(0x1b9)](_0x21aad8(0x1c4),'项目模板复制失败',{'projectCode':_0x16ec67,'error':_0xa0ac42 instanceof Error?_0xa0ac42['message']:String(_0xa0ac42),'duration':_0x2fc8b0});throw _0xa0ac42;}return formatElapsed(_0x14561b);}
@@ -1 +1 @@
1
- (function(_0x4ff3b5,_0x475036){const _0x2b9f63=a138_0x4811,_0x3e771c=_0x4ff3b5();while(!![]){try{const _0xa9c732=parseInt(_0x2b9f63(0x14b))/0x1+parseInt(_0x2b9f63(0x152))/0x2*(-parseInt(_0x2b9f63(0x150))/0x3)+-parseInt(_0x2b9f63(0x14c))/0x4*(parseInt(_0x2b9f63(0x14f))/0x5)+-parseInt(_0x2b9f63(0x147))/0x6+-parseInt(_0x2b9f63(0x13c))/0x7+parseInt(_0x2b9f63(0x13f))/0x8*(-parseInt(_0x2b9f63(0x143))/0x9)+parseInt(_0x2b9f63(0x144))/0xa;if(_0xa9c732===_0x475036)break;else _0x3e771c['push'](_0x3e771c['shift']());}catch(_0x58485c){_0x3e771c['push'](_0x3e771c['shift']());}}}(a138_0x37eb,0x746e3));import a138_0x5ce025 from'node:path';function a138_0x4811(_0x4cbac6,_0x44ac8a){_0x4cbac6=_0x4cbac6-0x13c;const _0x37ebb6=a138_0x37eb();let _0x4811d5=_0x37ebb6[_0x4cbac6];return _0x4811d5;}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x12524b){const _0x342e52=a138_0x4811,_0x178c0d=Date[_0x342e52(0x145)](),_0x1a62bc=a138_0x5ce025[_0x342e52(0x148)](process['cwd'](),_0x12524b);try{logger[_0x342e52(0x14a)](_0x342e52(0x13e),_0x342e52(0x151),{'projectCode':_0x12524b}),await execa(resolveNpmBin(_0x342e52(0x13d)),[_0x342e52(0x14d),_0x342e52(0x142),'.'],{'cwd':_0x1a62bc});const _0x3476a8=Date[_0x342e52(0x145)]()-_0x178c0d;logger[_0x342e52(0x146)](_0x342e52(0x13e),_0x342e52(0x149),_0x3476a8,{'projectCode':_0x12524b});}catch(_0x569bc9){const _0x3e510f=Date[_0x342e52(0x145)]()-_0x178c0d;logger[_0x342e52(0x140)](_0x342e52(0x13e),_0x342e52(0x14e),{'projectCode':_0x12524b,'error':_0x569bc9 instanceof Error?_0x569bc9[_0x342e52(0x141)]:String(_0x569bc9),'duration':_0x3e510f});throw _0x569bc9;}return formatElapsed(_0x178c0d);}function a138_0x37eb(){const _0xea57cc=['99nxuzQx','20465130nxGEka','now','success','3401982OWrjYj','resolve','代码格式化完成','info','854661eiJkbx','636312SrAyjT','prettier','代码格式化失败','15pNhqXA','3btBrjH','开始格式化代码','1888630nLYzAI','2094764mMXmsD','npx','format','99256OrWzHZ','error','message','--write'];a138_0x37eb=function(){return _0xea57cc;};return a138_0x37eb();}
1
+ (function(_0x1f1562,_0x3a5f2f){const _0x1c3ab1=a138_0x18c7,_0xf1dd13=_0x1f1562();while(!![]){try{const _0xb075ff=-parseInt(_0x1c3ab1(0x18b))/0x1*(parseInt(_0x1c3ab1(0x18d))/0x2)+-parseInt(_0x1c3ab1(0x18e))/0x3*(parseInt(_0x1c3ab1(0x189))/0x4)+-parseInt(_0x1c3ab1(0x17f))/0x5*(-parseInt(_0x1c3ab1(0x187))/0x6)+parseInt(_0x1c3ab1(0x185))/0x7+-parseInt(_0x1c3ab1(0x183))/0x8*(-parseInt(_0x1c3ab1(0x17c))/0x9)+-parseInt(_0x1c3ab1(0x18c))/0xa*(parseInt(_0x1c3ab1(0x17b))/0xb)+parseInt(_0x1c3ab1(0x181))/0xc;if(_0xb075ff===_0x3a5f2f)break;else _0xf1dd13['push'](_0xf1dd13['shift']());}catch(_0x4cd0c1){_0xf1dd13['push'](_0xf1dd13['shift']());}}}(a138_0x24e8,0xa5b4b));import a138_0x193bd7 from'node:path';function a138_0x18c7(_0xafa169,_0x2f062f){_0xafa169=_0xafa169-0x17b;const _0x24e8f9=a138_0x24e8();let _0x18c7a6=_0x24e8f9[_0xafa169];return _0x18c7a6;}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a138_0x24e8(){const _0x54700c=['55LIIXWN','550490PKYAyF','41600jsJSQN','2000685nVkVjx','resolve','error','prettier','209OOSEZf','189LDcclr','开始格式化代码','now','5cKuYzV','npx','9649188YdXygW','format','383304FKEIwz','cwd','3019590BnREuh','info','7763490uUVjyF','代码格式化失败','4VwJzTi','success'];a138_0x24e8=function(){return _0x54700c;};return a138_0x24e8();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x3aabcd){const _0x3c6775=a138_0x18c7,_0x3ae395=Date[_0x3c6775(0x17e)](),_0xbf1cb7=a138_0x193bd7[_0x3c6775(0x18f)](process[_0x3c6775(0x184)](),_0x3aabcd);try{logger[_0x3c6775(0x186)](_0x3c6775(0x182),_0x3c6775(0x17d),{'projectCode':_0x3aabcd}),await execa(resolveNpmBin(_0x3c6775(0x180)),[_0x3c6775(0x191),'--write','.'],{'cwd':_0xbf1cb7});const _0x3ae2c6=Date[_0x3c6775(0x17e)]()-_0x3ae395;logger[_0x3c6775(0x18a)](_0x3c6775(0x182),'代码格式化完成',_0x3ae2c6,{'projectCode':_0x3aabcd});}catch(_0x417cb3){const _0x518152=Date[_0x3c6775(0x17e)]()-_0x3ae395;logger[_0x3c6775(0x190)](_0x3c6775(0x182),_0x3c6775(0x188),{'projectCode':_0x3aabcd,'error':_0x417cb3 instanceof Error?_0x417cb3['message']:String(_0x417cb3),'duration':_0x518152});throw _0x417cb3;}return formatElapsed(_0x3ae395);}
@@ -1 +1 @@
1
- (function(_0x16dd91,_0x2b91f0){const _0x4df9b1=a139_0x4fc7,_0x546fbe=_0x16dd91();while(!![]){try{const _0x49e37c=parseInt(_0x4df9b1(0x8c))/0x1+parseInt(_0x4df9b1(0x93))/0x2*(parseInt(_0x4df9b1(0x8d))/0x3)+-parseInt(_0x4df9b1(0x97))/0x4*(-parseInt(_0x4df9b1(0x8e))/0x5)+parseInt(_0x4df9b1(0xa1))/0x6+-parseInt(_0x4df9b1(0x92))/0x7+-parseInt(_0x4df9b1(0xa0))/0x8*(-parseInt(_0x4df9b1(0x8f))/0x9)+-parseInt(_0x4df9b1(0x9d))/0xa;if(_0x49e37c===_0x2b91f0)break;else _0x546fbe['push'](_0x546fbe['shift']());}catch(_0x371985){_0x546fbe['push'](_0x546fbe['shift']());}}}(a139_0x51bb,0xb78d6));import a139_0x552dc9 from'node:path';import{execa}from'execa';function a139_0x4fc7(_0x16d4b0,_0x4a9bb5){_0x16d4b0=_0x16d4b0-0x8c;const _0x51bb0c=a139_0x51bb();let _0x4fc736=_0x51bb0c[_0x16d4b0];return _0x4fc736;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x2a9956){const _0x1945a7=a139_0x4fc7,_0x220edd=Date[_0x1945a7(0x90)](),_0x1fdf08=a139_0x552dc9[_0x1945a7(0x98)](process[_0x1945a7(0x95)](),_0x2a9956);try{logger['info'](_0x1945a7(0x9a),_0x1945a7(0x99),{'projectCode':_0x2a9956,'registry':_0x1945a7(0x91)}),await execa(resolveNpmBin('npm'),[_0x1945a7(0x9a),_0x1945a7(0x9f),_0x1945a7(0x91)],{'cwd':_0x1fdf08});const _0x4bde68=Date['now']()-_0x220edd;logger[_0x1945a7(0x9c)](_0x1945a7(0x9a),_0x1945a7(0x9b),_0x4bde68,{'projectCode':_0x2a9956});}catch(_0x4d9955){const _0x10e265=Date[_0x1945a7(0x90)]()-_0x220edd;logger[_0x1945a7(0x96)](_0x1945a7(0x9a),_0x1945a7(0x94),{'projectCode':_0x2a9956,'error':_0x4d9955 instanceof Error?_0x4d9955[_0x1945a7(0x9e)]:String(_0x4d9955),'duration':_0x10e265});throw _0x4d9955;}return formatElapsed(_0x220edd);}function a139_0x51bb(){const _0x1b8f0d=['140229IEbIin','now','https://registry.npmmirror.com','6298208QvZKfB','5006zUIkrF','依赖安装失败','cwd','error','12DbtTYj','resolve','开始安装依赖','install','依赖安装完成','success','3379930QFhrZf','message','--registry','248zDfWTw','1269924SbSmvE','57139TTzmwI','249fpfaWE','1716690lpTuWG'];a139_0x51bb=function(){return _0x1b8f0d;};return a139_0x51bb();}
1
+ (function(_0x382c0f,_0x1cc4c3){const _0x1a1e16=a139_0x3eae,_0x42eee1=_0x382c0f();while(!![]){try{const _0x433c2b=parseInt(_0x1a1e16(0x98))/0x1*(-parseInt(_0x1a1e16(0x8d))/0x2)+-parseInt(_0x1a1e16(0x92))/0x3*(-parseInt(_0x1a1e16(0x93))/0x4)+parseInt(_0x1a1e16(0x97))/0x5+parseInt(_0x1a1e16(0x88))/0x6*(-parseInt(_0x1a1e16(0x87))/0x7)+-parseInt(_0x1a1e16(0x96))/0x8*(-parseInt(_0x1a1e16(0x8f))/0x9)+parseInt(_0x1a1e16(0x8e))/0xa*(-parseInt(_0x1a1e16(0x8a))/0xb)+parseInt(_0x1a1e16(0x9a))/0xc*(parseInt(_0x1a1e16(0x9b))/0xd);if(_0x433c2b===_0x1cc4c3)break;else _0x42eee1['push'](_0x42eee1['shift']());}catch(_0x304c7c){_0x42eee1['push'](_0x42eee1['shift']());}}}(a139_0x2502,0x5b983));import a139_0x74c605 from'node:path';function a139_0x2502(){const _0xf4aa13=['5257phzyZZ','426lzUgwt','error','33UwXuYa','开始安装依赖','npm','872826JKWvyZ','1979570SXUolR','171agRPrQ','https://registry.npmmirror.com','success','442647aYGMWr','12WFYXKD','依赖安装完成','message','40456OwthEC','1870345QqahAj','1nXVuEQ','install','6551724wZuOyR','13rKNPXa','--registry','resolve','now'];a139_0x2502=function(){return _0xf4aa13;};return a139_0x2502();}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 a139_0x3eae(_0x3b907a,_0x42f4f2){_0x3b907a=_0x3b907a-0x87;const _0x250277=a139_0x2502();let _0x3eae80=_0x250277[_0x3b907a];return _0x3eae80;}export async function installDependencies(_0x1922b4){const _0x2cf1a8=a139_0x3eae,_0x26e91c=Date[_0x2cf1a8(0x9e)](),_0x230428=a139_0x74c605[_0x2cf1a8(0x9d)](process['cwd'](),_0x1922b4);try{logger['info']('install',_0x2cf1a8(0x8b),{'projectCode':_0x1922b4,'registry':_0x2cf1a8(0x90)}),await execa(resolveNpmBin(_0x2cf1a8(0x8c)),[_0x2cf1a8(0x99),_0x2cf1a8(0x9c),_0x2cf1a8(0x90)],{'cwd':_0x230428});const _0x218e45=Date['now']()-_0x26e91c;logger[_0x2cf1a8(0x91)]('install',_0x2cf1a8(0x94),_0x218e45,{'projectCode':_0x1922b4});}catch(_0x37258e){const _0x2a8ee5=Date[_0x2cf1a8(0x9e)]()-_0x26e91c;logger[_0x2cf1a8(0x89)]('install','依赖安装失败',{'projectCode':_0x1922b4,'error':_0x37258e instanceof Error?_0x37258e[_0x2cf1a8(0x95)]:String(_0x37258e),'duration':_0x2a8ee5});throw _0x37258e;}return formatElapsed(_0x26e91c);}
@@ -1 +1 @@
1
- const a140_0xe120b=a140_0x2462;function a140_0x436e(){const _0x4cdb42=['upgrade','nonInteractive','Create\x20a\x20new\x20project','env','bool','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','boolean','275BTlIPg','project','251380yXcFiV','2026-07','name','args','Project\x20name','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','24xPbWLc','str','24sqKfGP','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','18IoCOCs','yes','3576yyyfjl','160486irBupd','Target\x20environment','write','5gEQtJS','appcode','cookie','10097451BLuIQO','1434468qEEoTd','\x20workspace\x20init','Auto-confirm\x20prompts','8224050nPpzvW','init','trim','string','1383FaTNLy','create','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Skip\x20confirmation\x20prompt','2931273pliMDR','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'];a140_0x436e=function(){return _0x4cdb42;};return a140_0x436e();}(function(_0x45edc6,_0x55bf05){const _0x855f20=a140_0x2462,_0x100571=_0x45edc6();while(!![]){try{const _0x110cbf=-parseInt(_0x855f20(0x17a))/0x1*(-parseInt(_0x855f20(0x177))/0x2)+parseInt(_0x855f20(0x188))/0x3*(parseInt(_0x855f20(0x179))/0x4)+-parseInt(_0x855f20(0x17d))/0x5*(parseInt(_0x855f20(0x184))/0x6)+parseInt(_0x855f20(0x181))/0x7+-parseInt(_0x855f20(0x173))/0x8*(-parseInt(_0x855f20(0x161))/0x9)+parseInt(_0x855f20(0x16d))/0xa*(parseInt(_0x855f20(0x16b))/0xb)+-parseInt(_0x855f20(0x175))/0xc*(parseInt(_0x855f20(0x180))/0xd);if(_0x110cbf===_0x55bf05)break;else _0x100571['push'](_0x100571['shift']());}catch(_0x3d6cb){_0x100571['push'](_0x100571['shift']());}}}(a140_0x436e,0xb55bc));function a140_0x2462(_0x1baec6,_0x42b880){_0x1baec6=_0x1baec6-0x161;const _0x436eb5=a140_0x436e();let _0x246286=_0x436eb5[_0x1baec6];return _0x246286;}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':a140_0xe120b(0x187),'description':'App\x20code\x20to\x20initialize'},{'name':a140_0xe120b(0x167),'type':a140_0xe120b(0x187),'description':a140_0xe120b(0x17b)},{'name':a140_0xe120b(0x178),'type':a140_0xe120b(0x16a),'description':a140_0xe120b(0x183),'default':![]}],createFlags=[{'name':a140_0xe120b(0x16f),'type':a140_0xe120b(0x187),'description':a140_0xe120b(0x171)},{'name':a140_0xe120b(0x167),'type':'string','description':a140_0xe120b(0x17b)},{'name':a140_0xe120b(0x17e),'type':a140_0xe120b(0x187),'description':a140_0xe120b(0x163)}],upgradeFlags=[{'name':a140_0xe120b(0x178),'type':a140_0xe120b(0x16a),'description':a140_0xe120b(0x18b),'default':![]}];export const projectDefinitions=[{'service':'project','command':a140_0xe120b(0x185),'description':a140_0xe120b(0x172),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a140_0xe120b(0x182),'since':a140_0xe120b(0x16e)},'flags':initFlags,async 'execute'(_0x2c2ed1){const _0x163737=a140_0xe120b;return await initConfig({'appcode':_0x2c2ed1[_0x163737(0x174)]('appcode')||undefined,'env':_0x2c2ed1[_0x163737(0x174)]('env')||undefined,'autoYes':_0x2c2ed1[_0x163737(0x168)](_0x163737(0x178))}),{'ok':!![]};}},{'service':a140_0xe120b(0x16c),'command':a140_0xe120b(0x189),'description':a140_0xe120b(0x166),'risk':a140_0xe120b(0x17c),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a140_0xe120b(0x18a),'required':![]}],'flags':createFlags,async 'execute'(_0x7fda8c){const _0x4ae1dc=a140_0xe120b,{createApp:_0x28d2d6}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x114aba}=await import('../../commands/project/create/non-interactive.js'),_0x7bdacf=_0x7fda8c['str']('name')[_0x4ae1dc(0x186)]()||_0x7fda8c[_0x4ae1dc(0x170)][0x0]?.[_0x4ae1dc(0x186)](),_0x14d5ba=_0x7fda8c[_0x4ae1dc(0x174)](_0x4ae1dc(0x167))||undefined,_0x4e55fb=_0x7fda8c[_0x4ae1dc(0x174)](_0x4ae1dc(0x17e))||undefined;if(_0x7fda8c[_0x4ae1dc(0x165)]){if(!_0x7bdacf)throw CliErrors['validation'](_0x4ae1dc(0x176),'Usage:\x20'+CLI_BIN_NAME+_0x4ae1dc(0x169));await _0x114aba(_0x7bdacf,_0x14d5ba,_0x4e55fb,_0x7fda8c[_0x4ae1dc(0x17f)]);}else await _0x28d2d6({'projectCode':_0x7bdacf,'appCode':_0x4e55fb,'env':_0x14d5ba,'cookie':_0x7fda8c[_0x4ae1dc(0x17f)]});return{'ok':!![]};}},{'service':'project','command':a140_0xe120b(0x164),'description':a140_0xe120b(0x162),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0xdbef41){const _0x2af4ad=a140_0xe120b;return await upgradeApp(_0xdbef41[_0x2af4ad(0x165)],{'yes':_0xdbef41[_0x2af4ad(0x168)](_0x2af4ad(0x178))}),{'ok':!![]};}}];
1
+ const a140_0x40a3b=a140_0x2364;function a140_0x36c4(){const _0x5e5660=['6163758CVrinF','env','upgrade','App\x20code\x20to\x20initialize','Target\x20environment','2454QQGGYS','548rLxwrM','68303928YHWOIm','write','trim','11hmRWUV','name','../../commands/project/create/non-interactive.js','str','2025222AsQyTP','boolean','cookie','Create\x20a\x20new\x20project','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','\x20workspace\x20init','create','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','7403137xXMYei','Project\x20name','8276SftUsx','args','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','project','appcode','Skip\x20confirmation\x20prompt','Auto-confirm\x20prompts','8qRMAWD','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','../../commands/project/create/main.js','nonInteractive','25vBiFgF','yes','4999jRQDCF','project-name','3253520exlHLt','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','bool','string'];a140_0x36c4=function(){return _0x5e5660;};return a140_0x36c4();}(function(_0x5d02ef,_0xc8915b){const _0x19fba2=a140_0x2364,_0xaf88a=_0x5d02ef();while(!![]){try{const _0x3fb1f0=-parseInt(_0x19fba2(0xf3))/0x1*(parseInt(_0x19fba2(0xff))/0x2)+parseInt(_0x19fba2(0xfe))/0x3*(-parseInt(_0x19fba2(0x111))/0x4)+parseInt(_0x19fba2(0xf1))/0x5*(-parseInt(_0x19fba2(0x107))/0x6)+-parseInt(_0x19fba2(0x10f))/0x7+parseInt(_0x19fba2(0x118))/0x8*(parseInt(_0x19fba2(0xf9))/0x9)+-parseInt(_0x19fba2(0xf5))/0xa*(-parseInt(_0x19fba2(0x103))/0xb)+parseInt(_0x19fba2(0x100))/0xc;if(_0x3fb1f0===_0xc8915b)break;else _0xaf88a['push'](_0xaf88a['shift']());}catch(_0x4474c3){_0xaf88a['push'](_0xaf88a['shift']());}}}(a140_0x36c4,0xda72c));import{CliErrors}from'../../errors.js';function a140_0x2364(_0x449312,_0x5a0354){_0x449312=_0x449312-0xee;const _0x36c497=a140_0x36c4();let _0x2364b0=_0x36c497[_0x449312];return _0x2364b0;}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':a140_0x40a3b(0x115),'type':'string','description':a140_0x40a3b(0xfc)},{'name':a140_0x40a3b(0xfa),'type':'string','description':'Target\x20environment'},{'name':a140_0x40a3b(0xf2),'type':a140_0x40a3b(0x108),'description':a140_0x40a3b(0x117),'default':![]}],createFlags=[{'name':'name','type':a140_0x40a3b(0xf8),'description':a140_0x40a3b(0x110)},{'name':a140_0x40a3b(0xfa),'type':a140_0x40a3b(0xf8),'description':a140_0x40a3b(0xfd)},{'name':'appcode','type':'string','description':a140_0x40a3b(0xf6)}],upgradeFlags=[{'name':'yes','type':'boolean','description':a140_0x40a3b(0x116),'default':![]}];export const projectDefinitions=[{'service':'project','command':'init','description':a140_0x40a3b(0x113),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a140_0x40a3b(0x10c),'since':'2026-07'},'flags':initFlags,async 'execute'(_0x39fed0){const _0x6384d5=a140_0x40a3b;return await initConfig({'appcode':_0x39fed0[_0x6384d5(0x106)]('appcode')||undefined,'env':_0x39fed0[_0x6384d5(0x106)](_0x6384d5(0xfa))||undefined,'autoYes':_0x39fed0[_0x6384d5(0xf7)](_0x6384d5(0xf2))}),{'ok':!![]};}},{'service':a140_0x40a3b(0x114),'command':a140_0x40a3b(0x10d),'description':a140_0x40a3b(0x10a),'risk':a140_0x40a3b(0x101),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a140_0x40a3b(0xf4),'description':a140_0x40a3b(0x10e),'required':![]}],'flags':createFlags,async 'execute'(_0xd137da){const _0x43053a=a140_0x40a3b,{createApp:_0x1e20a4}=await import(_0x43053a(0xef)),{createProjectNonInteractive:_0xe30f50}=await import(_0x43053a(0x105)),_0x219f1a=_0xd137da['str'](_0x43053a(0x104))[_0x43053a(0x102)]()||_0xd137da[_0x43053a(0x112)][0x0]?.[_0x43053a(0x102)](),_0x24b0da=_0xd137da[_0x43053a(0x106)]('env')||undefined,_0x1d8f8b=_0xd137da[_0x43053a(0x106)](_0x43053a(0x115))||undefined;if(_0xd137da[_0x43053a(0xf0)]){if(!_0x219f1a)throw CliErrors['validation'](_0x43053a(0x10b),'Usage:\x20'+CLI_BIN_NAME+_0x43053a(0xee));await _0xe30f50(_0x219f1a,_0x24b0da,_0x1d8f8b,_0xd137da[_0x43053a(0x109)]);}else await _0x1e20a4({'projectCode':_0x219f1a,'appCode':_0x1d8f8b,'env':_0x24b0da,'cookie':_0xd137da[_0x43053a(0x109)]});return{'ok':!![]};}},{'service':'project','command':a140_0x40a3b(0xfb),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x1b12bb){const _0x17bf2a=a140_0x40a3b;return await upgradeApp(_0x1b12bb[_0x17bf2a(0xf0)],{'yes':_0x1b12bb[_0x17bf2a(0xf7)]('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x428709,_0x5a38f8){const _0x5f4477=a141_0x5d76,_0x41ee2f=_0x428709();while(!![]){try{const _0x4321d2=-parseInt(_0x5f4477(0xa6))/0x1*(-parseInt(_0x5f4477(0x81))/0x2)+parseInt(_0x5f4477(0x93))/0x3+parseInt(_0x5f4477(0x8b))/0x4+parseInt(_0x5f4477(0xa0))/0x5*(-parseInt(_0x5f4477(0x7d))/0x6)+-parseInt(_0x5f4477(0x9b))/0x7*(-parseInt(_0x5f4477(0x7e))/0x8)+parseInt(_0x5f4477(0xa2))/0x9*(parseInt(_0x5f4477(0x77))/0xa)+-parseInt(_0x5f4477(0x90))/0xb;if(_0x4321d2===_0x5a38f8)break;else _0x41ee2f['push'](_0x41ee2f['shift']());}catch(_0xe4ae42){_0x41ee2f['push'](_0x41ee2f['shift']());}}}(a141_0x25d9,0x74ef3));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a141_0x58dd9f 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(_0x1686a2){const _0x12f22f=a141_0x5d76,{appcode:_0x34c837,env:_0x1eaed3,autoYes:_0x3600d6}=_0x1686a2,_0x1fa104=process['cwd']();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x51b73b;for(const _0x4fe68d of LEGACY_CONFIG_NAMES){const _0x51d509=resolve(_0x1fa104,_0x4fe68d);if(existsSync(_0x51d509)){_0x51b73b=_0x51d509;break;}}if(_0x51b73b){let _0x6971ea={};try{_0x6971ea=JSON[_0x12f22f(0xa7)](readFileSync(_0x51b73b,_0x12f22f(0xa3)));}catch{}const _0xf19b10=basename(_0x51b73b),_0x3bf687=_0x6971ea?.[_0x12f22f(0x99)]||_0x6971ea?.[_0x12f22f(0x96)];let _0x4f0fb8=_0x3600d6;!_0x3600d6&&(console[_0x12f22f(0x8c)](a141_0x58dd9f[_0x12f22f(0x84)](_0x12f22f(0x94)+a141_0x58dd9f[_0x12f22f(0x7c)](_0xf19b10))),_0x3bf687&&console[_0x12f22f(0x8c)](a141_0x58dd9f[_0x12f22f(0x9c)](_0x12f22f(0x7f)+_0x3bf687)),_0x4f0fb8=await confirm({'message':_0x12f22f(0x88)+a141_0x58dd9f['bold']('.rabetbase.json')+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x4f0fb8){console[_0x12f22f(0x8c)](_0x12f22f(0x98)+CLI_BIN_NAME+_0x12f22f(0x80));return;}const _0x3cd9e7=resolve(_0x1fa104,NEW_CONFIG_NAME),_0x2b20a2=getCliVersionFromPkg(),_0x4ba47c=readRawConfig(),_0x2b51aa=_0x34c837||(typeof _0x6971ea?.[_0x12f22f(0x99)]===_0x12f22f(0x9d)?_0x6971ea[_0x12f22f(0x99)]:undefined)||(typeof _0x6971ea?.[_0x12f22f(0x96)]===_0x12f22f(0x9d)?_0x6971ea['app']:undefined)||await askAppcode(),_0x59e102=typeof _0x6971ea?.[_0x12f22f(0x95)]===_0x12f22f(0x9d)?_0x6971ea[_0x12f22f(0x95)]:typeof _0x4ba47c[_0x12f22f(0x95)]===_0x12f22f(0x9d)?_0x4ba47c[_0x12f22f(0x95)]:'production',_0xf776cd=buildCanonicalProjectConfig({..._0x4ba47c,..._0x6971ea},{'appCodes':[_0x2b51aa],'env':_0x59e102,'metadata':{'version':_0x2b20a2,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x51b73b}});writeConfigFile(_0x3cd9e7,_0xf776cd);const _0x34dd13=_0x51b73b+_0x12f22f(0x9f);renameSync(_0x51b73b,_0x34dd13),logger[_0x12f22f(0x8f)](_0x1fa104),logger['info'](_0x12f22f(0x82),_0x12f22f(0x83),{'from':_0x51b73b,'to':_0x3cd9e7,'appcode':_0x2b51aa,'env':_0xf776cd['env']}),console[_0x12f22f(0x8c)](a141_0x58dd9f[_0x12f22f(0x87)](_0x12f22f(0x76)+_0xf19b10+_0x12f22f(0x78))),console[_0x12f22f(0x8c)](a141_0x58dd9f['cyan'](_0x12f22f(0x92)+Object[_0x12f22f(0x7a)](_0xf776cd[_0x12f22f(0x86)]||{})['join'](',\x20'))),console[_0x12f22f(0x8c)](a141_0x58dd9f[_0x12f22f(0x9c)](_0x12f22f(0x9a)+_0xf776cd[_0x12f22f(0x91)])),console[_0x12f22f(0x8c)](a141_0x58dd9f['gray']('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0xf19b10+_0x12f22f(0x9f)));return;}const _0x335424=_0x34c837||await askAppcode(),_0x2bb120=resolve(_0x1fa104,NEW_CONFIG_NAME),_0x12f08d=getCliVersionFromPkg(),_0xa68f29=readRawConfig(),_0x52df8b=typeof _0xa68f29[_0x12f22f(0x95)]===_0x12f22f(0x9d)?_0xa68f29[_0x12f22f(0x95)]:undefined,_0x33863e=buildCanonicalProjectConfig({},{'appCodes':[_0x335424],'env':_0x1eaed3||_0x52df8b||_0x12f22f(0x7b),'metadata':{'version':_0x12f08d,'createdAt':new Date()[_0x12f22f(0x79)]()}});writeConfigFile(_0x2bb120,_0x33863e),logger[_0x12f22f(0x8f)](_0x1fa104),logger['info'](_0x12f22f(0x82),'初始化项目配置文件成功',{'appcode':_0x335424,'env':_0x33863e[_0x12f22f(0x95)],'version':_0x33863e[_0x12f22f(0x85)],'configPath':_0x2bb120}),console[_0x12f22f(0x8c)](a141_0x58dd9f[_0x12f22f(0x87)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console['log'](a141_0x58dd9f[_0x12f22f(0x9c)]('\x20\x20Apps:\x20'+Object['keys'](_0x33863e[_0x12f22f(0x86)]||{})[_0x12f22f(0x8d)](',\x20'))),console['log'](a141_0x58dd9f['cyan'](_0x12f22f(0x9a)+_0x33863e[_0x12f22f(0x91)])),console[_0x12f22f(0x8c)](_0x12f22f(0x8a)+CLI_BIN_NAME+_0x12f22f(0xa8)+CLI_BIN_NAME+_0x12f22f(0x8e));}function a141_0x5d76(_0x13c0ec,_0x41f0d8){_0x13c0ec=_0x13c0ec-0x76;const _0x25d9ec=a141_0x25d9();let _0x5d76d0=_0x25d9ec[_0x13c0ec];return _0x5d76d0;}function askAppcode(){const _0x1913ef=a141_0x5d76;return input({'message':_0x1913ef(0xa1),'validate':_0xa87414=>{const _0x167904=_0x1913ef;if(!_0xa87414[_0x167904(0x97)]())return _0x167904(0xa4);const {valid:_0x46dff8,message:_0x5caf8b}=validateAppcode(_0xa87414[_0x167904(0x97)]());return _0x46dff8||_0x5caf8b||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x14771b=a141_0x5d76;try{const _0x492014=fileURLToPath(import.meta.url),_0x1f2ec=resolve(dirname(_0x492014),_0x14771b(0x89)),_0x1a814c=JSON[_0x14771b(0xa7)](readFileSync(resolve(_0x1f2ec,_0x14771b(0xa5)),'utf8'));return _0x1a814c[_0x14771b(0x85)]||_0x14771b(0x9e);}catch{return _0x14771b(0x9e);}}function a141_0x25d9(){const _0x309d51=['appcode','\x20\x20Default:\x20','480214qIfBWB','cyan','string','1.0.0','.bak','10HtAGDE','Please\x20enter\x20App\x20Code:','271287TqlhpC','utf8','App\x20Code\x20cannot\x20be\x20empty','package.json','13dLybPR','parse','\x20api\x20generate\x27\x20and\x20\x27','✓\x20Upgraded\x20','290aBYsXX','\x20→\x20.rabetbase.json','toLocaleString','keys','production','bold','2860878ajFjJu','8CZqAhw','\x20\x20appcode:\x20','\x20workspace\x20init`\x20to\x20start\x20fresh.','72484qFcxmB','init','从旧配置文件升级成功','yellow','version','apps','green','Upgrade\x20it\x20to\x20','../..','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','1650748yPHiOf','log','join','\x20api\x20pull\x27','setLogPath','14509968WBYSDa','defaultApp','\x20\x20Apps:\x20','2775285OssDWg','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','env','app','trim','Migration\x20cancelled.\x20Run\x20`'];a141_0x25d9=function(){return _0x309d51;};return a141_0x25d9();}
1
+ (function(_0xa611a2,_0x4a3efa){const _0x4b05d7=a141_0x5d15,_0x51c5c5=_0xa611a2();while(!![]){try{const _0x2a40ec=-parseInt(_0x4b05d7(0x128))/0x1*(-parseInt(_0x4b05d7(0x11f))/0x2)+-parseInt(_0x4b05d7(0x12e))/0x3*(parseInt(_0x4b05d7(0x12b))/0x4)+-parseInt(_0x4b05d7(0x11e))/0x5+parseInt(_0x4b05d7(0x10f))/0x6*(-parseInt(_0x4b05d7(0x133))/0x7)+parseInt(_0x4b05d7(0x10e))/0x8+parseInt(_0x4b05d7(0x122))/0x9+parseInt(_0x4b05d7(0x110))/0xa;if(_0x2a40ec===_0x4a3efa)break;else _0x51c5c5['push'](_0x51c5c5['shift']());}catch(_0x5b44bb){_0x51c5c5['push'](_0x51c5c5['shift']());}}}(a141_0x5b52,0xb8622));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a141_0x5b52(){const _0x476ab7=['4ayRTGX','green','production','9758376rJVSfv','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','setLogPath','?\x20(Old\x20file\x20→\x20*.bak)','apps','.bak','93914ZLmvuL','env','app','384nFbIvN','utf8','bold','7782zQOeEL','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','info','parse','string','49zIkmqI','keys','.rabetbase.json','\x20→\x20.rabetbase.json','✓\x20Upgraded\x20','package.json','\x20api\x20generate\x27\x20and\x20\x27','\x20api\x20pull\x27','join','\x20workspace\x20init`\x20to\x20start\x20fresh.','appcode','version','Migration\x20cancelled.\x20Run\x20`','6012920hefDSN','164640vHjtZF','2345020UdpGIv','\x20\x20Default:\x20','trim','log','gray','cwd','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','1.0.0','toLocaleString','cyan','defaultApp','init','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','Upgrade\x20it\x20to\x20','5309355tDIkpG'];a141_0x5b52=function(){return _0x476ab7;};return a141_0x5b52();}import a141_0x1a4ec2 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(_0x55ea0f){const _0x187d31=a141_0x5d15,{appcode:_0xb77230,env:_0x556626,autoYes:_0x1fa1ea}=_0x55ea0f,_0x21791a=process[_0x187d31(0x115)]();if(getProjectConfigPath())throw new Error(_0x187d31(0x116));let _0x2d5e22;for(const _0x265038 of LEGACY_CONFIG_NAMES){const _0x501205=resolve(_0x21791a,_0x265038);if(existsSync(_0x501205)){_0x2d5e22=_0x501205;break;}}if(_0x2d5e22){let _0x22beb9={};try{_0x22beb9=JSON[_0x187d31(0x131)](readFileSync(_0x2d5e22,_0x187d31(0x12c)));}catch{}const _0x1ffddd=basename(_0x2d5e22),_0x3fb583=_0x22beb9?.[_0x187d31(0x13d)]||_0x22beb9?.[_0x187d31(0x12a)];let _0x4b0c7c=_0x1fa1ea;!_0x1fa1ea&&(console[_0x187d31(0x113)](a141_0x1a4ec2['yellow']('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a141_0x1a4ec2[_0x187d31(0x12d)](_0x1ffddd))),_0x3fb583&&console[_0x187d31(0x113)](a141_0x1a4ec2[_0x187d31(0x119)]('\x20\x20appcode:\x20'+_0x3fb583)),_0x4b0c7c=await confirm({'message':_0x187d31(0x11d)+a141_0x1a4ec2[_0x187d31(0x12d)](_0x187d31(0x135))+_0x187d31(0x125),'default':!![]}));if(!_0x4b0c7c){console[_0x187d31(0x113)](_0x187d31(0x10d)+CLI_BIN_NAME+_0x187d31(0x13c));return;}const _0x872a02=resolve(_0x21791a,NEW_CONFIG_NAME),_0xb17d5c=getCliVersionFromPkg(),_0x40da7b=readRawConfig(),_0x6b1c4e=_0xb77230||(typeof _0x22beb9?.[_0x187d31(0x13d)]===_0x187d31(0x132)?_0x22beb9[_0x187d31(0x13d)]:undefined)||(typeof _0x22beb9?.[_0x187d31(0x12a)]===_0x187d31(0x132)?_0x22beb9['app']:undefined)||await askAppcode(),_0xf686f8=typeof _0x22beb9?.[_0x187d31(0x129)]===_0x187d31(0x132)?_0x22beb9[_0x187d31(0x129)]:typeof _0x40da7b[_0x187d31(0x129)]===_0x187d31(0x132)?_0x40da7b[_0x187d31(0x129)]:_0x187d31(0x121),_0x45d8f1=buildCanonicalProjectConfig({..._0x40da7b,..._0x22beb9},{'appCodes':[_0x6b1c4e],'env':_0xf686f8,'metadata':{'version':_0xb17d5c,'migratedAt':new Date()[_0x187d31(0x118)](),'migratedFrom':_0x2d5e22}});writeConfigFile(_0x872a02,_0x45d8f1);const _0x1a19ad=_0x2d5e22+_0x187d31(0x127);renameSync(_0x2d5e22,_0x1a19ad),logger['setLogPath'](_0x21791a),logger['info'](_0x187d31(0x11b),'从旧配置文件升级成功',{'from':_0x2d5e22,'to':_0x872a02,'appcode':_0x6b1c4e,'env':_0x45d8f1[_0x187d31(0x129)]}),console[_0x187d31(0x113)](a141_0x1a4ec2[_0x187d31(0x120)](_0x187d31(0x137)+_0x1ffddd+_0x187d31(0x136))),console['log'](a141_0x1a4ec2[_0x187d31(0x119)]('\x20\x20Apps:\x20'+Object[_0x187d31(0x134)](_0x45d8f1['apps']||{})['join'](',\x20'))),console['log'](a141_0x1a4ec2['cyan'](_0x187d31(0x111)+_0x45d8f1[_0x187d31(0x11a)])),console['log'](a141_0x1a4ec2[_0x187d31(0x114)](_0x187d31(0x12f)+_0x1ffddd+'.bak'));return;}const _0x5646b3=_0xb77230||await askAppcode(),_0x4c3a34=resolve(_0x21791a,NEW_CONFIG_NAME),_0x7653f4=getCliVersionFromPkg(),_0x525ddf=readRawConfig(),_0x1b5833=typeof _0x525ddf[_0x187d31(0x129)]===_0x187d31(0x132)?_0x525ddf['env']:undefined,_0x365159=buildCanonicalProjectConfig({},{'appCodes':[_0x5646b3],'env':_0x556626||_0x1b5833||_0x187d31(0x121),'metadata':{'version':_0x7653f4,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x4c3a34,_0x365159),logger[_0x187d31(0x124)](_0x21791a),logger[_0x187d31(0x130)](_0x187d31(0x11b),'初始化项目配置文件成功',{'appcode':_0x5646b3,'env':_0x365159['env'],'version':_0x365159[_0x187d31(0x10c)],'configPath':_0x4c3a34}),console[_0x187d31(0x113)](a141_0x1a4ec2['green'](_0x187d31(0x11c))),console[_0x187d31(0x113)](a141_0x1a4ec2['cyan']('\x20\x20Apps:\x20'+Object[_0x187d31(0x134)](_0x365159[_0x187d31(0x126)]||{})[_0x187d31(0x13b)](',\x20'))),console[_0x187d31(0x113)](a141_0x1a4ec2[_0x187d31(0x119)](_0x187d31(0x111)+_0x365159[_0x187d31(0x11a)])),console['log'](_0x187d31(0x123)+CLI_BIN_NAME+_0x187d31(0x139)+CLI_BIN_NAME+_0x187d31(0x13a));}function a141_0x5d15(_0x17b5b7,_0x1fd4fa){_0x17b5b7=_0x17b5b7-0x10c;const _0x5b5240=a141_0x5b52();let _0x5d1515=_0x5b5240[_0x17b5b7];return _0x5d1515;}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x543864=>{const _0x7d7069=a141_0x5d15;if(!_0x543864[_0x7d7069(0x112)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x3af850,message:_0x4bc51e}=validateAppcode(_0x543864[_0x7d7069(0x112)]());return _0x3af850||_0x4bc51e||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x2dcf1d=a141_0x5d15;try{const _0x4627f3=fileURLToPath(import.meta.url),_0x592e0d=resolve(dirname(_0x4627f3),'../..'),_0x3ff2ea=JSON[_0x2dcf1d(0x131)](readFileSync(resolve(_0x592e0d,_0x2dcf1d(0x138)),'utf8'));return _0x3ff2ea[_0x2dcf1d(0x10c)]||_0x2dcf1d(0x117);}catch{return _0x2dcf1d(0x117);}}
@@ -1 +1 @@
1
- const a142_0x48c266=a142_0x43b0;(function(_0xe2735a,_0x446713){const _0x59c3ad=a142_0x43b0,_0x10f2d6=_0xe2735a();while(!![]){try{const _0x5e5586=parseInt(_0x59c3ad(0x1ff))/0x1+-parseInt(_0x59c3ad(0x211))/0x2+parseInt(_0x59c3ad(0x1f2))/0x3+-parseInt(_0x59c3ad(0x22c))/0x4*(parseInt(_0x59c3ad(0x226))/0x5)+-parseInt(_0x59c3ad(0x224))/0x6+parseInt(_0x59c3ad(0x1fc))/0x7+-parseInt(_0x59c3ad(0x1b2))/0x8*(-parseInt(_0x59c3ad(0x1bc))/0x9);if(_0x5e5586===_0x446713)break;else _0x10f2d6['push'](_0x10f2d6['shift']());}catch(_0x8f9834){_0x10f2d6['push'](_0x10f2d6['shift']());}}}(a142_0x3800,0x19133));import a142_0x1c66f9 from'chalk';import a142_0xd00850 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[a142_0x48c266(0x1bd)](_0x42391f=>_0x42391f!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x7dc893){const _0x385c06=a142_0x48c266,_0x5ed69e=[];for(const _0x2cdf48 of Object[_0x385c06(0x1d8)](CORE_IDE_CONFIGS)){if(_0x2cdf48['files'])for(const _0x4d121f of _0x2cdf48[_0x385c06(0x1ba)]){_0x5ed69e[_0x385c06(0x1d5)](resolve(_0x7dc893,_0x4d121f[_0x385c06(0x1f3)]));}}return _0x5ed69e;}function a142_0x3800(){const _0x48ffec=['.bak','args','files','white','187101DCXEYJ','filter','no\x20legacy\x20entry','===\x20Upgrade\x20Analysis\x20===','\x20→\x20keys:\x20','red','status','step','Step\x204/7:\x20MCP\x20config\x20—\x20','Config\x20file:','oldArtifacts','log','[\x22@lovrabet/sdk\x22]:\x20','message','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','not\x20found\x20or\x20already\x20at\x20latest','hasNewConfig','Step\x201/7:\x20Migrating\x20config...','no\x20legacy\x20config\x20found','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20Action:\x20delete','dependencies','.cursor/rules/lovrabet_rules.mdc','info','push','latest','join','values','\x20\x20npm\x20install','done','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','detail','.cursor/mcp.json','needsSkillSwap','includes','stringify','Upgrade\x20@lovrabet/sdk','Remove\x20old\x20skill','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.lovrabet','Proceed\x20with\x20upgrade?','MCP\x20config:','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','length','Remove\x20.lovrabet/','object','removed\x20','bold','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','skipped','no\x20matching\x20entry\x20found','\x20\x20\x20\x20\x20\x20\x20','devDependencies','270000NgKuOm','path','some','FAIL','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','===\x20Upgrade\x20Summary\x20===','string','Step\x206/7:\x20Installing\x20new\x20skill...','oldMcpConfig','yes','6146DeCNIG','@lovrabet/sdk','Step\x205/7:\x20Removing\x20old\x20skill...','188498DNaEGf','isDirectory','\x20→\x20latest','not\x20found\x20(will\x20create)','sdkUpgrade','yellow','Install\x20new\x20skill','package.json','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','failed','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','label','FOUND','\x20\x20New\x20config\x20(.rabetbase.json):\x20','inherit','\x20removed','fail','green','224510GiMchv','not\x20needed','isArray','cyan','undefined','utf8','Step\x201/7:\x20Config\x20migration\x20—\x20','Skill\x20swap:','\x20from\x20','\x20\x20bun\x20install','keys','gray','\x20\x20Step\x20','exit\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20(backup:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.claude/skills/lovrabet','\x20\x20#\x20or','814020TUyqbg','Legacy\x20artifacts:','74255JTGZAQ','\x20→\x20','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Upgrade\x20cancelled.','entries','Step\x204/7:\x20Cleaning\x20MCP\x20config...','48IURIgn','mcpServers','@lovrabet/dataset-mcp-server','parse','Config\x20migration','96xhWxLk','Clean\x20MCP\x20config','@lovrabet/sdk:','start','oldPath','succeed'];a142_0x3800=function(){return _0x48ffec;};return a142_0x3800();}function analyse(_0x4594f9){const _0x3c4522=a142_0x48c266;let _0x18f327=null;const _0x546f21=resolve(_0x4594f9,NEW_CONFIG_NAME),_0x4ae739=existsSync(_0x546f21);for(const _0x5078fc of LEGACY_CONFIG_NAMES){const _0xc2d0f6=resolve(_0x4594f9,_0x5078fc);if(existsSync(_0xc2d0f6)){const _0xf6f080=readConfigFile(_0xc2d0f6),_0x150118=Object[_0x3c4522(0x21b)](_0xf6f080)[_0x3c4522(0x1bd)](_0x50645c=>typeof _0xf6f080[_0x50645c]!==_0x3c4522(0x215));_0x18f327={'oldPath':_0xc2d0f6,'hasNewConfig':_0x4ae739,'fields':_0x150118};break;}}const _0xcf7269=[],_0x4d8e4a=resolve(_0x4594f9,_0x3c4522(0x1e4));if(existsSync(_0x4d8e4a))_0xcf7269['push'](_0x4d8e4a);const _0x330091=resolve(_0x4594f9,_0x3c4522(0x1d3));if(existsSync(_0x330091))_0xcf7269[_0x3c4522(0x1d5)](_0x330091);const _0x4a6012=resolve(_0x4594f9,_0x3c4522(0x222));if(existsSync(_0x4a6012))_0xcf7269[_0x3c4522(0x1d5)](_0x4a6012);for(const _0x44c8e3 of collectIdeSkillFiles(_0x4594f9)){if(existsSync(_0x44c8e3))_0xcf7269[_0x3c4522(0x1d5)](_0x44c8e3);}let _0x5b8f25=null;const _0x1638b7=resolve(_0x4594f9,_0x3c4522(0x1dd));if(existsSync(_0x1638b7))try{const _0x24850f=JSON['parse'](readFileSync(_0x1638b7,_0x3c4522(0x216)));if(_0x24850f?.['mcpServers']&&typeof _0x24850f[_0x3c4522(0x22d)]===_0x3c4522(0x1ea)){const _0x54b5e8=[];for(const [_0x17090c,_0x1b19af]of Object['entries'](_0x24850f['mcpServers'])){const _0xd0583f=_0x1b19af;_0xd0583f?.['args']&&Array[_0x3c4522(0x213)](_0xd0583f[_0x3c4522(0x1b9)])&&_0xd0583f[_0x3c4522(0x1b9)][_0x3c4522(0x1f4)](_0x2277de=>typeof _0x2277de==='string'&&_0x2277de['includes']('@lovrabet/dataset-mcp-server'))&&_0x54b5e8[_0x3c4522(0x1d5)](_0x17090c);}_0x54b5e8['length']>0x0&&(_0x5b8f25={'path':_0x1638b7,'keys':_0x54b5e8});}}catch{}const _0x2de0bc=_0xcf7269[_0x3c4522(0x1e8)]>0x0||_0x18f327!==null;let _0x66c402=null;const _0x48fecd=resolve(_0x4594f9,_0x3c4522(0x206));if(existsSync(_0x48fecd))try{const _0x162d2d=JSON[_0x3c4522(0x22f)](readFileSync(_0x48fecd,_0x3c4522(0x216)));for(const _0x456daa of[_0x3c4522(0x1d2),_0x3c4522(0x1f1)]){const _0x3f90fd=_0x162d2d?.[_0x456daa]?.[_0x3c4522(0x1fd)];if(typeof _0x3f90fd==='string'){_0x3f90fd!=='latest'&&(_0x66c402={'pkgPath':_0x48fecd,'currentVersion':_0x3f90fd,'field':_0x456daa});break;}}}catch{}return{'configMigration':_0x18f327,'oldArtifacts':_0xcf7269,'oldMcpConfig':_0x5b8f25,'needsSkillSwap':_0x2de0bc,'sdkUpgrade':_0x66c402};}function printReport(_0x51f44b){const _0x47dd17=a142_0x48c266,{configMigration:_0x16a340,oldArtifacts:_0x46b2a7,oldMcpConfig:_0x1e4e48,needsSkillSwap:_0x1e8cd2}=_0x51f44b;console[_0x47dd17(0x1c7)](''),console[_0x47dd17(0x1c7)](a142_0x1c66f9['bold'](_0x47dd17(0x1bf))),console[_0x47dd17(0x1c7)]('');_0x16a340?(console['log'](a142_0x1c66f9[_0x47dd17(0x214)]('Config\x20file:')+('\x20\x20'+a142_0x1c66f9['yellow'](_0x16a340[_0x47dd17(0x1b6)]))),console['log'](_0x47dd17(0x20c)+(_0x16a340[_0x47dd17(0x1cc)]?a142_0x1c66f9[_0x47dd17(0x210)]('already\x20exists\x20(will\x20merge)'):a142_0x1c66f9[_0x47dd17(0x21c)](_0x47dd17(0x202)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x16a340['fields'][_0x47dd17(0x1d7)](',\x20')),console['log'](_0x47dd17(0x207))):console[_0x47dd17(0x1c7)](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x1c5))+'\x20\x20'+a142_0x1c66f9[_0x47dd17(0x21c)](_0x47dd17(0x1ce)));console['log']('');if(_0x46b2a7[_0x47dd17(0x1e8)]>0x0){console['log'](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x225)));for(const _0x5cdec5 of _0x46b2a7){console[_0x47dd17(0x1c7)]('\x20\x20'+a142_0x1c66f9[_0x47dd17(0x1c1)](_0x47dd17(0x20b))+'\x20\x20'+_0x5cdec5);}console[_0x47dd17(0x1c7)](_0x47dd17(0x1d1));}else console['log'](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x225))+'\x20\x20'+a142_0x1c66f9[_0x47dd17(0x21c)]('none\x20found'));console[_0x47dd17(0x1c7)]('');_0x1e4e48?(console['log'](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x1e6))+('\x20\x20'+a142_0x1c66f9[_0x47dd17(0x204)](_0x1e4e48['path'])+_0x47dd17(0x1c0)+_0x1e4e48['keys'][_0x47dd17(0x1d7)](',\x20'))),console[_0x47dd17(0x1c7)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x47dd17(0x1c7)](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x1e6))+'\x20\x20'+a142_0x1c66f9['gray'](_0x47dd17(0x1be)));console[_0x47dd17(0x1c7)](''),console[_0x47dd17(0x1c7)](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x218))+('\x20\x20'+(_0x1e8cd2?a142_0x1c66f9['yellow']('needed'):a142_0x1c66f9[_0x47dd17(0x210)](_0x47dd17(0x212)))));_0x1e8cd2&&console[_0x47dd17(0x1c7)](_0x47dd17(0x1e7)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x47dd17(0x1c7)]('');if(_0x51f44b[_0x47dd17(0x203)]){const {currentVersion:_0x20e57c,field:_0x47bf36,pkgPath:_0xdfae46}=_0x51f44b[_0x47dd17(0x203)];console[_0x47dd17(0x1c7)](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x1b4))+('\x20\x20'+a142_0x1c66f9[_0x47dd17(0x204)](_0xdfae46))),console[_0x47dd17(0x1c7)]('\x20\x20Current\x20version\x20in\x20'+_0x47bf36+':\x20'+a142_0x1c66f9['yellow'](_0x20e57c)+_0x47dd17(0x227)+a142_0x1c66f9[_0x47dd17(0x210)](_0x47dd17(0x1d6))),console[_0x47dd17(0x1c7)](_0x47dd17(0x221));}else console[_0x47dd17(0x1c7)](a142_0x1c66f9[_0x47dd17(0x214)](_0x47dd17(0x1b4))+'\x20\x20'+a142_0x1c66f9[_0x47dd17(0x21c)](_0x47dd17(0x1cb)));console[_0x47dd17(0x1c7)]('');}function execConfigMigration(_0x25be8c,_0x274fc0){const _0x40c593=a142_0x48c266,{configMigration:_0xca11ae}=_0x25be8c;if(!_0xca11ae?.[_0x40c593(0x1b6)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x5b5293=readConfigFile(_0xca11ae[_0x40c593(0x1b6)]),_0x12004b=resolve(_0x274fc0,NEW_CONFIG_NAME),_0x5828ff=_0xca11ae[_0x40c593(0x1cc)]?readConfigFile(_0x12004b):{};for(const [_0x30c052,_0x17dd4d]of Object[_0x40c593(0x22a)](_0x5b5293)){!(_0x30c052 in _0x5828ff)&&(_0x5828ff[_0x30c052]=_0x17dd4d);}writeConfigFile(_0x12004b,_0x5828ff);const _0x3c12c2=_0xca11ae[_0x40c593(0x1b6)]+_0x40c593(0x1b8);return renameSync(_0xca11ae[_0x40c593(0x1b6)],_0x3c12c2),{'step':0x1,'label':_0x40c593(0x1b1),'ok':!![],'detail':_0xca11ae[_0x40c593(0x1b6)]+_0x40c593(0x227)+_0x12004b+_0x40c593(0x220)+_0x3c12c2+')'};}function execRemoveOldArtifacts(_0x365e5f){const _0x97cff4=a142_0x48c266,_0x5ed93c=[];for(const _0x2a9fa of _0x365e5f){try{if(!existsSync(_0x2a9fa))continue;const _0x501dae=tryStat(_0x2a9fa);_0x501dae?.[_0x97cff4(0x200)]()?rmSync(_0x2a9fa,{'recursive':!![],'force':!![]}):unlinkSync(_0x2a9fa);}catch(_0x435c23){_0x5ed93c[_0x97cff4(0x1d5)](_0x2a9fa+':\x20'+_0x435c23['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x5ed93c[_0x97cff4(0x1e8)]===0x0,'detail':_0x5ed93c[_0x97cff4(0x1e8)]>0x0?_0x365e5f[_0x97cff4(0x1e8)]-_0x5ed93c[_0x97cff4(0x1e8)]+'/'+_0x365e5f['length']+'\x20removed\x20('+_0x5ed93c[_0x97cff4(0x1d7)](';\x20')+')':_0x365e5f[_0x97cff4(0x1e8)]+_0x97cff4(0x20e)};}function execCleanMcp(_0xa7f3ca){const _0xfcccd0=a142_0x48c266;if(!_0xa7f3ca[_0xfcccd0(0x1fa)])return{'step':0x4,'label':_0xfcccd0(0x1b3),'ok':!![],'detail':_0xfcccd0(0x1ee)};try{const _0x8d0e22=readFileSync(_0xa7f3ca[_0xfcccd0(0x1fa)][_0xfcccd0(0x1f3)],_0xfcccd0(0x216)),_0x533592=JSON['parse'](_0x8d0e22);if(_0x533592?.[_0xfcccd0(0x22d)]&&typeof _0x533592[_0xfcccd0(0x22d)]===_0xfcccd0(0x1ea)){const _0x195c7f=[];for(const [_0x376dee,_0x274292]of Object['entries'](_0x533592[_0xfcccd0(0x22d)])){_0x274292?.[_0xfcccd0(0x1b9)]&&Array[_0xfcccd0(0x213)](_0x274292[_0xfcccd0(0x1b9)])&&_0x274292[_0xfcccd0(0x1b9)][_0xfcccd0(0x1f4)](_0x37d13c=>typeof _0x37d13c===_0xfcccd0(0x1f8)&&_0x37d13c[_0xfcccd0(0x1df)](_0xfcccd0(0x22e)))&&_0x195c7f[_0xfcccd0(0x1d5)](_0x376dee);}for(const _0x11eb19 of _0x195c7f){delete _0x533592[_0xfcccd0(0x22d)][_0x11eb19];}return _0x195c7f[_0xfcccd0(0x1e8)]>0x0&&writeFileSync(_0xa7f3ca[_0xfcccd0(0x1fa)][_0xfcccd0(0x1f3)],JSON[_0xfcccd0(0x1e0)](_0x533592,null,0x2)+'\x0a',_0xfcccd0(0x216)),{'step':0x4,'label':_0xfcccd0(0x1b3),'ok':!![],'detail':_0xfcccd0(0x1eb)+_0x195c7f[_0xfcccd0(0x1d7)](',\x20')+_0xfcccd0(0x219)+_0xa7f3ca[_0xfcccd0(0x1fa)][_0xfcccd0(0x1f3)]};}return{'step':0x4,'label':_0xfcccd0(0x1b3),'ok':!![],'detail':_0xfcccd0(0x1ef)};}catch(_0x1231a9){return{'step':0x4,'label':_0xfcccd0(0x1b3),'ok':![],'detail':_0x1231a9['message']};}}function execSkillsRemove(_0x193187,_0x2a0b89){const _0x1f6567=a142_0x48c266,_0x13bfc8=runNpxSkillsRemove(_0x193187,{'stdio':_0x1f6567(0x20d),'yes':_0x2a0b89});return{'step':0x5,'label':_0x1f6567(0x1e2),'ok':_0x13bfc8['ok'],'detail':_0x13bfc8['ok']?'lovrabet/lovrabet-skill\x20removed':_0x13bfc8['error']??'exit\x20'+_0x13bfc8[_0x1f6567(0x1c2)]};}function execSkillsAdd(_0x2c122f,_0x463394){const _0x5de4bf=a142_0x48c266,_0x5bfe77=runNpxSkillsAddGlobal(_0x2c122f,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0x463394});return{'step':0x6,'label':_0x5de4bf(0x205),'ok':_0x5bfe77['ok'],'detail':_0x5bfe77['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x5bfe77['error']??_0x5de4bf(0x21e)+_0x5bfe77[_0x5de4bf(0x1c2)]};}function execUpgradeSdk(_0x2fc0b6){const _0x364bb7=a142_0x48c266;if(!_0x2fc0b6[_0x364bb7(0x203)])return{'step':0x7,'label':_0x364bb7(0x1e1),'ok':!![],'detail':_0x364bb7(0x1db)};const {pkgPath:_0x4f7dbc,currentVersion:_0x31ef41,field:_0x2ba491}=_0x2fc0b6[_0x364bb7(0x203)];try{const _0x4ffc69=readFileSync(_0x4f7dbc,'utf8'),_0x5048c6=JSON[_0x364bb7(0x22f)](_0x4ffc69);return _0x5048c6[_0x2ba491][_0x364bb7(0x1fd)]=_0x364bb7(0x1d6),writeFileSync(_0x4f7dbc,JSON[_0x364bb7(0x1e0)](_0x5048c6,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x364bb7(0x1e1),'ok':!![],'detail':_0x2ba491+_0x364bb7(0x1c8)+_0x31ef41+_0x364bb7(0x201)};}catch(_0x4a1220){return{'step':0x7,'label':_0x364bb7(0x1e1),'ok':![],'detail':_0x4a1220['message']};}}function tryStat(_0x5bcc5c){try{return statSync(_0x5bcc5c);}catch{return undefined;}}function a142_0x43b0(_0xd24dc6,_0x5d59f3){_0xd24dc6=_0xd24dc6-0x1b1;const _0x38004c=a142_0x3800();let _0x43b02f=_0x38004c[_0xd24dc6];return _0x43b02f;}function printSummary(_0x47d0bf){const _0x424974=a142_0x48c266;console['log'](''),console['log'](a142_0x1c66f9[_0x424974(0x1ec)](_0x424974(0x1f7))),console[_0x424974(0x1c7)]('');for(const _0x236e3e of _0x47d0bf){const _0x49b56c=_0x236e3e['ok']?a142_0x1c66f9['green']('OK'):a142_0x1c66f9[_0x424974(0x1c1)](_0x424974(0x1f5));console[_0x424974(0x1c7)]('\x20\x20'+_0x49b56c+_0x424974(0x21d)+_0x236e3e[_0x424974(0x1c3)]+':\x20'+_0x236e3e[_0x424974(0x20a)]);if(_0x236e3e[_0x424974(0x1dc)])console[_0x424974(0x1c7)](_0x424974(0x1f0)+a142_0x1c66f9[_0x424974(0x21c)](_0x236e3e[_0x424974(0x1dc)]));}console[_0x424974(0x1c7)]('');}export async function upgradeApp(_0x412fde,_0x4dead3){const _0x58e319=a142_0x48c266,_0x50f6bf=process['cwd'](),_0x3c6af1=analyse(_0x50f6bf),_0x18433b=!_0x3c6af1['configMigration']&&_0x3c6af1['oldArtifacts'][_0x58e319(0x1e8)]===0x0&&!_0x3c6af1['oldMcpConfig']&&!_0x3c6af1[_0x58e319(0x1de)]&&!_0x3c6af1['sdkUpgrade'];if(_0x18433b){console['log'](a142_0x1c66f9[_0x58e319(0x210)](_0x58e319(0x1e3)));return;}printReport(_0x3c6af1);const _0x4f3e65=!!(_0x4dead3[_0x58e319(0x1fb)]||_0x4dead3['Y']||_0x412fde);if(!_0x4f3e65)try{const _0x32b136=await askConfirm(_0x58e319(0x1e5));if(!_0x32b136){console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x21c)](_0x58e319(0x229)));return;}}catch(_0x952319){if(_0x952319?.[_0x58e319(0x1c9)]==='CANCEL'){console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x21c)](_0x58e319(0x229)));return;}throw _0x952319;}const _0x195850=[],_0x25ca60=a142_0xd00850({'text':_0x58e319(0x1cd),'color':_0x58e319(0x214)})[_0x58e319(0x1b5)](),_0x51a6cf=execConfigMigration(_0x3c6af1,_0x50f6bf);_0x195850[_0x58e319(0x1d5)](_0x51a6cf),_0x25ca60[_0x51a6cf['ok']?_0x58e319(0x1b7):'fail'](_0x58e319(0x217)+(_0x51a6cf[_0x58e319(0x1dc)]??(_0x51a6cf['ok']?'done':_0x58e319(0x208))));const _0x4f2275=resolve(_0x50f6bf,_0x58e319(0x1e4)),_0x109e28=a142_0xd00850({'text':_0x58e319(0x209),'color':_0x58e319(0x214)})[_0x58e319(0x1b5)]();if(existsSync(_0x4f2275))try{rmSync(_0x4f2275,{'recursive':!![],'force':!![]}),_0x109e28['succeed'](_0x58e319(0x1d0)),_0x195850[_0x58e319(0x1d5)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x1629e0){_0x109e28['fail']('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x1629e0[_0x58e319(0x1c9)]),_0x195850[_0x58e319(0x1d5)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x1629e0['message']});}else _0x109e28[_0x58e319(0x1d4)](_0x58e319(0x1ed)),_0x195850[_0x58e319(0x1d5)]({'step':0x2,'label':_0x58e319(0x1e9),'ok':!![],'detail':_0x58e319(0x1ee)});const _0x108c78=a142_0xd00850({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x58e319(0x214)})[_0x58e319(0x1b5)](),_0x1079b2=execRemoveOldArtifacts(_0x3c6af1[_0x58e319(0x1c6)]);_0x195850[_0x58e319(0x1d5)](_0x1079b2),_0x108c78[_0x1079b2['ok']?'succeed':'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x1079b2[_0x58e319(0x1dc)]??(_0x1079b2['ok']?_0x58e319(0x1da):_0x58e319(0x208))));const _0x26bc36=a142_0xd00850({'text':_0x58e319(0x22b),'color':_0x58e319(0x214)})['start'](),_0x491639=execCleanMcp(_0x3c6af1);_0x195850['push'](_0x491639),_0x26bc36[_0x491639['ok']?_0x58e319(0x1b7):_0x58e319(0x20f)](_0x58e319(0x1c4)+(_0x491639[_0x58e319(0x1dc)]??(_0x491639['ok']?_0x58e319(0x1da):_0x58e319(0x208))));const _0xf4a1af=a142_0xd00850({'text':_0x58e319(0x1fe),'color':_0x58e319(0x214)})[_0x58e319(0x1b5)](),_0x3bc705=execSkillsRemove(_0x50f6bf,_0x4f3e65);_0x195850['push'](_0x3bc705),_0xf4a1af[_0x3bc705['ok']?'succeed':_0x58e319(0x20f)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x3bc705['detail']??(_0x3bc705['ok']?_0x58e319(0x1da):_0x58e319(0x208))));const _0x5a1d3b=a142_0xd00850({'text':_0x58e319(0x1f9),'color':_0x58e319(0x214)})['start'](),_0x1f97b4=execSkillsAdd(_0x50f6bf,_0x4f3e65);_0x195850[_0x58e319(0x1d5)](_0x1f97b4),_0x5a1d3b[_0x1f97b4['ok']?_0x58e319(0x1b7):_0x58e319(0x20f)](_0x58e319(0x1f6)+(_0x1f97b4[_0x58e319(0x1dc)]??(_0x1f97b4['ok']?_0x58e319(0x1da):'failed')));const _0x3689aa=a142_0xd00850({'text':_0x58e319(0x1ca),'color':_0x58e319(0x214)})[_0x58e319(0x1b5)](),_0x22de7f=execUpgradeSdk(_0x3c6af1);_0x195850['push'](_0x22de7f),_0x3689aa[_0x22de7f['ok']?'succeed':_0x58e319(0x20f)](_0x58e319(0x1cf)+(_0x22de7f[_0x58e319(0x1dc)]??(_0x22de7f['ok']?_0x58e319(0x1da):_0x58e319(0x208)))),printSummary(_0x195850);const _0x2bff0a=_0x195850[_0x58e319(0x1f4)](_0x44fd4f=>!_0x44fd4f['ok']);_0x2bff0a?console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x204)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x210)]('Upgrade\x20completed\x20successfully!')),_0x22de7f['ok']&&_0x3c6af1[_0x58e319(0x203)]&&(console[_0x58e319(0x1c7)](''),console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x1ec)][_0x58e319(0x214)](_0x58e319(0x228))),console['log'](a142_0x1c66f9[_0x58e319(0x214)](_0x58e319(0x21f))),console[_0x58e319(0x1c7)](''),console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x1bb)](_0x58e319(0x1d9))),console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x1bb)](_0x58e319(0x223))),console[_0x58e319(0x1c7)](a142_0x1c66f9[_0x58e319(0x1bb)](_0x58e319(0x21a))),console[_0x58e319(0x1c7)](''));}
1
+ const a142_0x4fc4df=a142_0x16d0;(function(_0x166bd1,_0x35406f){const _0x149a88=a142_0x16d0,_0xa02700=_0x166bd1();while(!![]){try{const _0x6fc48f=parseInt(_0x149a88(0x196))/0x1+parseInt(_0x149a88(0x150))/0x2+-parseInt(_0x149a88(0x185))/0x3*(parseInt(_0x149a88(0x14a))/0x4)+parseInt(_0x149a88(0x14c))/0x5+-parseInt(_0x149a88(0x165))/0x6+parseInt(_0x149a88(0x1a3))/0x7+parseInt(_0x149a88(0x1b7))/0x8*(-parseInt(_0x149a88(0x16a))/0x9);if(_0x6fc48f===_0x35406f)break;else _0xa02700['push'](_0xa02700['shift']());}catch(_0x5023bb){_0xa02700['push'](_0xa02700['shift']());}}}(a142_0xca17,0xb4d0d));import a142_0x480ee5 from'chalk';function a142_0xca17(){const _0x40dcb8=['\x20\x20Action:\x20delete','2740270rAamrU','utf8','skipped','\x20\x20#\x20or','failed','Step\x201/7:\x20Migrating\x20config...','parse','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','===\x20Upgrade\x20Analysis\x20===','.lovrabet','FAIL','sdkUpgrade','fail','path','exit\x20','\x20\x20Fields\x20to\x20migrate:\x20','message','Remove\x20legacy\x20artifacts','mcpServers','oldMcpConfig','Upgrade\x20cancelled.','4257270mZpNrW','[\x22@lovrabet/sdk\x22]:\x20','white','red','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','9qxfeiy','Upgrade\x20completed\x20successfully!','needsSkillSwap','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','none\x20found','package.json','devDependencies','no\x20legacy\x20config\x20found','Skill\x20swap:','args','Step\x204/7:\x20MCP\x20config\x20—\x20','not\x20found\x20(will\x20create)','.cursor/rules/lovrabet_rules.mdc','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','lovrabet/rabetbase\x20installed\x20globally','cyan','done','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','gray','\x20\x20Step\x20','FOUND','skipped\x20(no\x20legacy\x20config)','Config\x20migration','.bak','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','3vQppic','cwd','\x20\x20\x20\x20\x20\x20\x20','Proceed\x20with\x20upgrade?','green','needed','MCP\x20config:','lovrabet/rabetbase','lovrabet/lovrabet-skill\x20removed','start','join','bold','not\x20needed','yellow','log','succeed','some','40194LAgsRZ','oldArtifacts','removed\x20','step','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','configMigration','===\x20Upgrade\x20Summary\x20===','oldPath','includes','@lovrabet/sdk:','keys','.cursor/mcp.json','Legacy\x20artifacts:','9908647XjaWzw','stringify','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','CANCEL','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','entries','detail','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','@lovrabet/sdk','no\x20matching\x20entry\x20found','\x20removed','\x20→\x20','Clean\x20MCP\x20config','isDirectory','yes','\x20→\x20keys:\x20','isArray','\x20\x20bun\x20install','Config\x20file:','error','9176040KlQzfO','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','status','no\x20legacy\x20entry','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','inherit','object','\x20(backup:\x20','hasNewConfig','latest','Remove\x20.lovrabet/','push','Step\x201/7:\x20Config\x20migration\x20—\x20','length','string','Step\x205/7:\x20Removing\x20old\x20skill...','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Install\x20new\x20skill','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','2364168fmFziK','Step\x206/7:\x20Installing\x20new\x20skill...','1811815kFmbhm','Upgrade\x20@lovrabet/sdk','filter'];a142_0xca17=function(){return _0x40dcb8;};return a142_0xca17();}import a142_0x2e3580 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[a142_0x4fc4df(0x14e)](_0x210c15=>_0x210c15!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x959579){const _0x538965=a142_0x4fc4df,_0x31f3f8=[];for(const _0x1f08a8 of Object['values'](CORE_IDE_CONFIGS)){if(_0x1f08a8['files'])for(const _0x23fb94 of _0x1f08a8['files']){_0x31f3f8[_0x538965(0x142)](resolve(_0x959579,_0x23fb94['path']));}}return _0x31f3f8;}function analyse(_0x1bd839){const _0x220fa3=a142_0x4fc4df;let _0x4e5bcd=null;const _0x52e17e=resolve(_0x1bd839,NEW_CONFIG_NAME),_0x28c25c=existsSync(_0x52e17e);for(const _0x2309f6 of LEGACY_CONFIG_NAMES){const _0x5e4bed=resolve(_0x1bd839,_0x2309f6);if(existsSync(_0x5e4bed)){const _0x2e7584=readConfigFile(_0x5e4bed),_0x37d428=Object[_0x220fa3(0x1a0)](_0x2e7584)[_0x220fa3(0x14e)](_0x36b934=>typeof _0x2e7584[_0x36b934]!=='undefined');_0x4e5bcd={'oldPath':_0x5e4bed,'hasNewConfig':_0x28c25c,'fields':_0x37d428};break;}}const _0x301772=[],_0x52a374=resolve(_0x1bd839,_0x220fa3(0x159));if(existsSync(_0x52a374))_0x301772[_0x220fa3(0x142)](_0x52a374);const _0x3607bc=resolve(_0x1bd839,_0x220fa3(0x176));if(existsSync(_0x3607bc))_0x301772[_0x220fa3(0x142)](_0x3607bc);const _0x30913e=resolve(_0x1bd839,'.claude/skills/lovrabet');if(existsSync(_0x30913e))_0x301772[_0x220fa3(0x142)](_0x30913e);for(const _0x203b14 of collectIdeSkillFiles(_0x1bd839)){if(existsSync(_0x203b14))_0x301772[_0x220fa3(0x142)](_0x203b14);}let _0x4610d1=null;const _0x456ef4=resolve(_0x1bd839,_0x220fa3(0x1a1));if(existsSync(_0x456ef4))try{const _0x1fdc2f=JSON[_0x220fa3(0x156)](readFileSync(_0x456ef4,_0x220fa3(0x151)));if(_0x1fdc2f?.[_0x220fa3(0x162)]&&typeof _0x1fdc2f[_0x220fa3(0x162)]===_0x220fa3(0x1bd)){const _0x311aaa=[];for(const [_0x1f7c49,_0x37f8a2]of Object['entries'](_0x1fdc2f[_0x220fa3(0x162)])){const _0x4e54bd=_0x37f8a2;_0x4e54bd?.['args']&&Array['isArray'](_0x4e54bd['args'])&&_0x4e54bd['args']['some'](_0x385015=>typeof _0x385015===_0x220fa3(0x145)&&_0x385015[_0x220fa3(0x19e)]('@lovrabet/dataset-mcp-server'))&&_0x311aaa[_0x220fa3(0x142)](_0x1f7c49);}_0x311aaa[_0x220fa3(0x144)]>0x0&&(_0x4610d1={'path':_0x456ef4,'keys':_0x311aaa});}}catch{}const _0x50bb0f=_0x301772[_0x220fa3(0x144)]>0x0||_0x4e5bcd!==null;let _0x276939=null;const _0x423e86=resolve(_0x1bd839,_0x220fa3(0x16f));if(existsSync(_0x423e86))try{const _0x4c7dbd=JSON[_0x220fa3(0x156)](readFileSync(_0x423e86,_0x220fa3(0x151)));for(const _0x16268a of['dependencies',_0x220fa3(0x170)]){const _0x3cf28e=_0x4c7dbd?.[_0x16268a]?.[_0x220fa3(0x1ab)];if(typeof _0x3cf28e===_0x220fa3(0x145)){_0x3cf28e!==_0x220fa3(0x140)&&(_0x276939={'pkgPath':_0x423e86,'currentVersion':_0x3cf28e,'field':_0x16268a});break;}}}catch{}return{'configMigration':_0x4e5bcd,'oldArtifacts':_0x301772,'oldMcpConfig':_0x4610d1,'needsSkillSwap':_0x50bb0f,'sdkUpgrade':_0x276939};}function printReport(_0x60b861){const _0x451923=a142_0x4fc4df,{configMigration:_0x524256,oldArtifacts:_0x5844de,oldMcpConfig:_0x20e044,needsSkillSwap:_0xe07a55}=_0x60b861;console['log'](''),console[_0x451923(0x193)](a142_0x480ee5['bold'](_0x451923(0x158))),console[_0x451923(0x193)]('');_0x524256?(console[_0x451923(0x193)](a142_0x480ee5[_0x451923(0x17a)](_0x451923(0x1b5))+('\x20\x20'+a142_0x480ee5[_0x451923(0x192)](_0x524256[_0x451923(0x19d)]))),console[_0x451923(0x193)](_0x451923(0x177)+(_0x524256[_0x451923(0x13f)]?a142_0x480ee5['green']('already\x20exists\x20(will\x20merge)'):a142_0x480ee5['gray'](_0x451923(0x175)))),console[_0x451923(0x193)](_0x451923(0x15f)+_0x524256['fields'][_0x451923(0x18f)](',\x20')),console[_0x451923(0x193)](_0x451923(0x1a7))):console['log'](a142_0x480ee5[_0x451923(0x17a)]('Config\x20file:')+'\x20\x20'+a142_0x480ee5[_0x451923(0x17e)](_0x451923(0x171)));console['log']('');if(_0x5844de[_0x451923(0x144)]>0x0){console[_0x451923(0x193)](a142_0x480ee5[_0x451923(0x17a)](_0x451923(0x1a2)));for(const _0x34e3c8 of _0x5844de){console[_0x451923(0x193)]('\x20\x20'+a142_0x480ee5['red'](_0x451923(0x180))+'\x20\x20'+_0x34e3c8);}console[_0x451923(0x193)](_0x451923(0x14f));}else console[_0x451923(0x193)](a142_0x480ee5['cyan'](_0x451923(0x1a2))+'\x20\x20'+a142_0x480ee5[_0x451923(0x17e)](_0x451923(0x16e)));console[_0x451923(0x193)]('');_0x20e044?(console[_0x451923(0x193)](a142_0x480ee5[_0x451923(0x17a)](_0x451923(0x18b))+('\x20\x20'+a142_0x480ee5['yellow'](_0x20e044[_0x451923(0x15d)])+_0x451923(0x1b2)+_0x20e044[_0x451923(0x1a0)][_0x451923(0x18f)](',\x20'))),console[_0x451923(0x193)](_0x451923(0x1a5))):console['log'](a142_0x480ee5[_0x451923(0x17a)]('MCP\x20config:')+'\x20\x20'+a142_0x480ee5[_0x451923(0x17e)](_0x451923(0x1ba)));console[_0x451923(0x193)](''),console[_0x451923(0x193)](a142_0x480ee5[_0x451923(0x17a)](_0x451923(0x172))+('\x20\x20'+(_0xe07a55?a142_0x480ee5[_0x451923(0x192)](_0x451923(0x18a)):a142_0x480ee5[_0x451923(0x189)](_0x451923(0x191)))));_0xe07a55&&console[_0x451923(0x193)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x60b861[_0x451923(0x15b)]){const {currentVersion:_0x38ea06,field:_0x154def,pkgPath:_0x105783}=_0x60b861[_0x451923(0x15b)];console['log'](a142_0x480ee5[_0x451923(0x17a)](_0x451923(0x19f))+('\x20\x20'+a142_0x480ee5[_0x451923(0x192)](_0x105783))),console['log']('\x20\x20Current\x20version\x20in\x20'+_0x154def+':\x20'+a142_0x480ee5[_0x451923(0x192)](_0x38ea06)+_0x451923(0x1ae)+a142_0x480ee5[_0x451923(0x189)](_0x451923(0x140))),console['log'](_0x451923(0x17c));}else console[_0x451923(0x193)](a142_0x480ee5['cyan'](_0x451923(0x19f))+'\x20\x20'+a142_0x480ee5[_0x451923(0x17e)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x451923(0x193)]('');}function a142_0x16d0(_0xd57493,_0x5a06a7){_0xd57493=_0xd57493-0x13e;const _0xca1720=a142_0xca17();let _0x16d0b1=_0xca1720[_0xd57493];return _0x16d0b1;}function execConfigMigration(_0x1007c2,_0x1357a8){const _0x19aeb7=a142_0x4fc4df,{configMigration:_0x138901}=_0x1007c2;if(!_0x138901?.[_0x19aeb7(0x19d)])return{'step':0x1,'label':_0x19aeb7(0x182),'ok':!![],'detail':_0x19aeb7(0x181)};const _0x7560e3=readConfigFile(_0x138901[_0x19aeb7(0x19d)]),_0x4d1a8d=resolve(_0x1357a8,NEW_CONFIG_NAME),_0x1dfde1=_0x138901[_0x19aeb7(0x13f)]?readConfigFile(_0x4d1a8d):{};for(const [_0x48f521,_0x45fbc6]of Object['entries'](_0x7560e3)){!(_0x48f521 in _0x1dfde1)&&(_0x1dfde1[_0x48f521]=_0x45fbc6);}writeConfigFile(_0x4d1a8d,_0x1dfde1);const _0x26d330=_0x138901[_0x19aeb7(0x19d)]+_0x19aeb7(0x183);return renameSync(_0x138901[_0x19aeb7(0x19d)],_0x26d330),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x138901[_0x19aeb7(0x19d)]+'\x20→\x20'+_0x4d1a8d+_0x19aeb7(0x13e)+_0x26d330+')'};}function execRemoveOldArtifacts(_0x4688cf){const _0x2c35d5=a142_0x4fc4df,_0x1fe641=[];for(const _0x1848cd of _0x4688cf){try{if(!existsSync(_0x1848cd))continue;const _0x47d4bf=tryStat(_0x1848cd);_0x47d4bf?.[_0x2c35d5(0x1b0)]()?rmSync(_0x1848cd,{'recursive':!![],'force':!![]}):unlinkSync(_0x1848cd);}catch(_0x1022ba){_0x1fe641[_0x2c35d5(0x142)](_0x1848cd+':\x20'+_0x1022ba[_0x2c35d5(0x160)]);}}return{'step':0x3,'label':_0x2c35d5(0x161),'ok':_0x1fe641[_0x2c35d5(0x144)]===0x0,'detail':_0x1fe641['length']>0x0?_0x4688cf[_0x2c35d5(0x144)]-_0x1fe641[_0x2c35d5(0x144)]+'/'+_0x4688cf[_0x2c35d5(0x144)]+'\x20removed\x20('+_0x1fe641[_0x2c35d5(0x18f)](';\x20')+')':_0x4688cf['length']+_0x2c35d5(0x1ad)};}function execCleanMcp(_0x27a91f){const _0x5a1e84=a142_0x4fc4df;if(!_0x27a91f[_0x5a1e84(0x163)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x5a1e84(0x152)};try{const _0x1bd3e1=readFileSync(_0x27a91f['oldMcpConfig'][_0x5a1e84(0x15d)],'utf8'),_0x4dadbc=JSON[_0x5a1e84(0x156)](_0x1bd3e1);if(_0x4dadbc?.[_0x5a1e84(0x162)]&&typeof _0x4dadbc[_0x5a1e84(0x162)]===_0x5a1e84(0x1bd)){const _0x3a408b=[];for(const [_0x38513f,_0x3da526]of Object[_0x5a1e84(0x1a8)](_0x4dadbc[_0x5a1e84(0x162)])){_0x3da526?.['args']&&Array[_0x5a1e84(0x1b3)](_0x3da526[_0x5a1e84(0x173)])&&_0x3da526[_0x5a1e84(0x173)][_0x5a1e84(0x195)](_0x3a80a6=>typeof _0x3a80a6===_0x5a1e84(0x145)&&_0x3a80a6[_0x5a1e84(0x19e)]('@lovrabet/dataset-mcp-server'))&&_0x3a408b[_0x5a1e84(0x142)](_0x38513f);}for(const _0x586e02 of _0x3a408b){delete _0x4dadbc[_0x5a1e84(0x162)][_0x586e02];}return _0x3a408b[_0x5a1e84(0x144)]>0x0&&writeFileSync(_0x27a91f[_0x5a1e84(0x163)][_0x5a1e84(0x15d)],JSON[_0x5a1e84(0x1a4)](_0x4dadbc,null,0x2)+'\x0a',_0x5a1e84(0x151)),{'step':0x4,'label':_0x5a1e84(0x1af),'ok':!![],'detail':_0x5a1e84(0x198)+_0x3a408b[_0x5a1e84(0x18f)](',\x20')+'\x20from\x20'+_0x27a91f[_0x5a1e84(0x163)][_0x5a1e84(0x15d)]};}return{'step':0x4,'label':_0x5a1e84(0x1af),'ok':!![],'detail':_0x5a1e84(0x1ac)};}catch(_0x15558c){return{'step':0x4,'label':_0x5a1e84(0x1af),'ok':![],'detail':_0x15558c['message']};}}function execSkillsRemove(_0xa3bf6c,_0x5a3543){const _0x4de619=a142_0x4fc4df,_0x5b9acc=runNpxSkillsRemove(_0xa3bf6c,{'stdio':_0x4de619(0x1bc),'yes':_0x5a3543});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x5b9acc['ok'],'detail':_0x5b9acc['ok']?_0x4de619(0x18d):_0x5b9acc[_0x4de619(0x1b6)]??_0x4de619(0x15e)+_0x5b9acc['status']};}function execSkillsAdd(_0x483f83,_0x132033){const _0x1e13c1=a142_0x4fc4df,_0x126096=runNpxSkillsAddGlobal(_0x483f83,_0x1e13c1(0x18c),{'stdio':'inherit','yes':_0x132033});return{'step':0x6,'label':_0x1e13c1(0x148),'ok':_0x126096['ok'],'detail':_0x126096['ok']?_0x1e13c1(0x179):_0x126096[_0x1e13c1(0x1b6)]??'exit\x20'+_0x126096[_0x1e13c1(0x1b9)]};}function execUpgradeSdk(_0x4a21d4){const _0x451dac=a142_0x4fc4df;if(!_0x4a21d4[_0x451dac(0x15b)])return{'step':0x7,'label':_0x451dac(0x14d),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x57928d,currentVersion:_0x197340,field:_0x553580}=_0x4a21d4[_0x451dac(0x15b)];try{const _0x87c014=readFileSync(_0x57928d,'utf8'),_0x315a09=JSON[_0x451dac(0x156)](_0x87c014);return _0x315a09[_0x553580]['@lovrabet/sdk']=_0x451dac(0x140),writeFileSync(_0x57928d,JSON['stringify'](_0x315a09,null,0x2)+'\x0a',_0x451dac(0x151)),{'step':0x7,'label':_0x451dac(0x14d),'ok':!![],'detail':_0x553580+_0x451dac(0x166)+_0x197340+'\x20→\x20latest'};}catch(_0x314125){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x314125[_0x451dac(0x160)]};}}function tryStat(_0xae07c7){try{return statSync(_0xae07c7);}catch{return undefined;}}function printSummary(_0x316897){const _0x5b120d=a142_0x4fc4df;console[_0x5b120d(0x193)](''),console[_0x5b120d(0x193)](a142_0x480ee5[_0x5b120d(0x190)](_0x5b120d(0x19c))),console[_0x5b120d(0x193)]('');for(const _0x5a93a1 of _0x316897){const _0x4efc57=_0x5a93a1['ok']?a142_0x480ee5[_0x5b120d(0x189)]('OK'):a142_0x480ee5[_0x5b120d(0x168)](_0x5b120d(0x15a));console['log']('\x20\x20'+_0x4efc57+_0x5b120d(0x17f)+_0x5a93a1[_0x5b120d(0x199)]+':\x20'+_0x5a93a1['label']);if(_0x5a93a1[_0x5b120d(0x1a9)])console[_0x5b120d(0x193)](_0x5b120d(0x187)+a142_0x480ee5[_0x5b120d(0x17e)](_0x5a93a1[_0x5b120d(0x1a9)]));}console[_0x5b120d(0x193)]('');}export async function upgradeApp(_0x1aa6b0,_0x50cdad){const _0x1cccfa=a142_0x4fc4df,_0x18c55e=process[_0x1cccfa(0x186)](),_0x3aa8b2=analyse(_0x18c55e),_0x9178d0=!_0x3aa8b2[_0x1cccfa(0x19b)]&&_0x3aa8b2[_0x1cccfa(0x197)]['length']===0x0&&!_0x3aa8b2['oldMcpConfig']&&!_0x3aa8b2[_0x1cccfa(0x16c)]&&!_0x3aa8b2[_0x1cccfa(0x15b)];if(_0x9178d0){console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x189)](_0x1cccfa(0x147)));return;}printReport(_0x3aa8b2);const _0x49df3b=!!(_0x50cdad[_0x1cccfa(0x1b1)]||_0x50cdad['Y']||_0x1aa6b0);if(!_0x49df3b)try{const _0x43d7cb=await askConfirm(_0x1cccfa(0x188));if(!_0x43d7cb){console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x17e)](_0x1cccfa(0x164)));return;}}catch(_0xb37bc8){if(_0xb37bc8?.[_0x1cccfa(0x160)]===_0x1cccfa(0x1a6)){console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x17e)](_0x1cccfa(0x164)));return;}throw _0xb37bc8;}const _0x54e8a6=[],_0x332939=a142_0x2e3580({'text':_0x1cccfa(0x155),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)](),_0xa46299=execConfigMigration(_0x3aa8b2,_0x18c55e);_0x54e8a6['push'](_0xa46299),_0x332939[_0xa46299['ok']?_0x1cccfa(0x194):_0x1cccfa(0x15c)](_0x1cccfa(0x143)+(_0xa46299[_0x1cccfa(0x1a9)]??(_0xa46299['ok']?_0x1cccfa(0x17b):_0x1cccfa(0x154))));const _0x305aa1=resolve(_0x18c55e,_0x1cccfa(0x159)),_0x535845=a142_0x2e3580({'text':_0x1cccfa(0x1b8),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)]();if(existsSync(_0x305aa1))try{rmSync(_0x305aa1,{'recursive':!![],'force':!![]}),_0x535845[_0x1cccfa(0x194)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x54e8a6[_0x1cccfa(0x142)]({'step':0x2,'label':_0x1cccfa(0x141),'ok':!![]});}catch(_0xe9db60){_0x535845[_0x1cccfa(0x15c)](_0x1cccfa(0x169)+_0xe9db60[_0x1cccfa(0x160)]),_0x54e8a6[_0x1cccfa(0x142)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0xe9db60[_0x1cccfa(0x160)]});}else _0x535845['info'](_0x1cccfa(0x157)),_0x54e8a6[_0x1cccfa(0x142)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x1cccfa(0x152)});const _0x584717=a142_0x2e3580({'text':_0x1cccfa(0x1aa),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)](),_0x46fdee=execRemoveOldArtifacts(_0x3aa8b2[_0x1cccfa(0x197)]);_0x54e8a6['push'](_0x46fdee),_0x584717[_0x46fdee['ok']?_0x1cccfa(0x194):_0x1cccfa(0x15c)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x46fdee[_0x1cccfa(0x1a9)]??(_0x46fdee['ok']?_0x1cccfa(0x17b):'failed')));const _0x24ed94=a142_0x2e3580({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x1cccfa(0x17a)})['start'](),_0x5ee804=execCleanMcp(_0x3aa8b2);_0x54e8a6[_0x1cccfa(0x142)](_0x5ee804),_0x24ed94[_0x5ee804['ok']?_0x1cccfa(0x194):_0x1cccfa(0x15c)](_0x1cccfa(0x174)+(_0x5ee804[_0x1cccfa(0x1a9)]??(_0x5ee804['ok']?'done':_0x1cccfa(0x154))));const _0x375f2b=a142_0x2e3580({'text':_0x1cccfa(0x146),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)](),_0x197efa=execSkillsRemove(_0x18c55e,_0x49df3b);_0x54e8a6[_0x1cccfa(0x142)](_0x197efa),_0x375f2b[_0x197efa['ok']?_0x1cccfa(0x194):_0x1cccfa(0x15c)](_0x1cccfa(0x184)+(_0x197efa[_0x1cccfa(0x1a9)]??(_0x197efa['ok']?_0x1cccfa(0x17b):_0x1cccfa(0x154))));const _0x4b792a=a142_0x2e3580({'text':_0x1cccfa(0x14b),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)](),_0x439d8d=execSkillsAdd(_0x18c55e,_0x49df3b);_0x54e8a6[_0x1cccfa(0x142)](_0x439d8d),_0x4b792a[_0x439d8d['ok']?'succeed':_0x1cccfa(0x15c)](_0x1cccfa(0x19a)+(_0x439d8d['detail']??(_0x439d8d['ok']?_0x1cccfa(0x17b):_0x1cccfa(0x154))));const _0x14900b=a142_0x2e3580({'text':_0x1cccfa(0x17d),'color':_0x1cccfa(0x17a)})[_0x1cccfa(0x18e)](),_0x3023b6=execUpgradeSdk(_0x3aa8b2);_0x54e8a6[_0x1cccfa(0x142)](_0x3023b6),_0x14900b[_0x3023b6['ok']?'succeed':_0x1cccfa(0x15c)](_0x1cccfa(0x16d)+(_0x3023b6['detail']??(_0x3023b6['ok']?'done':_0x1cccfa(0x154)))),printSummary(_0x54e8a6);const _0x135966=_0x54e8a6[_0x1cccfa(0x195)](_0x1c9e68=>!_0x1c9e68['ok']);_0x135966?console[_0x1cccfa(0x193)](a142_0x480ee5['yellow'](_0x1cccfa(0x1bb))):console[_0x1cccfa(0x193)](a142_0x480ee5['green'](_0x1cccfa(0x16b))),_0x3023b6['ok']&&_0x3aa8b2[_0x1cccfa(0x15b)]&&(console[_0x1cccfa(0x193)](''),console[_0x1cccfa(0x193)](a142_0x480ee5['bold'][_0x1cccfa(0x17a)](_0x1cccfa(0x149))),console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x17a)](_0x1cccfa(0x178))),console['log'](''),console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x167)]('\x20\x20npm\x20install')),console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x167)](_0x1cccfa(0x153))),console[_0x1cccfa(0x193)](a142_0x480ee5[_0x1cccfa(0x167)](_0x1cccfa(0x1b4))),console['log'](''));}