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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -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 -0
  79. package/lib/commands/db/analyze-batch-plan.js +1 -0
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -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/page/generate-start.js +1 -1
  115. package/lib/commands/page/generate-status.js +1 -1
  116. package/lib/commands/page/index.js +1 -1
  117. package/lib/commands/page/pull.js +1 -1
  118. package/lib/commands/page/push.js +1 -1
  119. package/lib/commands/page/relation-audit.js +1 -1
  120. package/lib/commands/page/shared.js +1 -1
  121. package/lib/commands/page/standard-page-status.js +1 -1
  122. package/lib/commands/page/sync.js +1 -1
  123. package/lib/commands/permit/index.js +1 -1
  124. package/lib/commands/permit/page-get.js +1 -1
  125. package/lib/commands/permit/page-set.js +1 -1
  126. package/lib/commands/permit/role-apis-set.js +1 -1
  127. package/lib/commands/permit/role-menus-set.js +1 -1
  128. package/lib/commands/permit/role-menus.js +1 -1
  129. package/lib/commands/permit/shared.js +1 -1
  130. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  131. package/lib/commands/project/create/format-elapsed.js +1 -1
  132. package/lib/commands/project/create/main.js +1 -1
  133. package/lib/commands/project/create/non-interactive.js +1 -1
  134. package/lib/commands/project/create/project-template-path.js +1 -1
  135. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  136. package/lib/commands/project/create/use-format-code.js +1 -1
  137. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  138. package/lib/commands/project/index.js +1 -1
  139. package/lib/commands/project/init.js +1 -1
  140. package/lib/commands/project/upgrade.js +1 -1
  141. package/lib/commands/registry.js +1 -1
  142. package/lib/commands/role/create.js +1 -1
  143. package/lib/commands/role/delete.js +1 -1
  144. package/lib/commands/role/detail.js +1 -1
  145. package/lib/commands/role/index.js +1 -1
  146. package/lib/commands/role/list.js +1 -1
  147. package/lib/commands/role/shared.js +1 -1
  148. package/lib/commands/role/update.js +1 -1
  149. package/lib/commands/role/user-add.js +1 -1
  150. package/lib/commands/role/user-remove.js +1 -1
  151. package/lib/commands/role/user-resolve.js +1 -1
  152. package/lib/commands/run/index.js +1 -1
  153. package/lib/commands/schema.js +1 -1
  154. package/lib/commands/sql/create.js +1 -1
  155. package/lib/commands/sql/delete.js +1 -1
  156. package/lib/commands/sql/detail.js +1 -1
  157. package/lib/commands/sql/exec.js +1 -1
  158. package/lib/commands/sql/index.js +1 -1
  159. package/lib/commands/sql/list.js +1 -1
  160. package/lib/commands/sql/pull.js +1 -1
  161. package/lib/commands/sql/push.js +1 -1
  162. package/lib/commands/sql/save.js +1 -1
  163. package/lib/commands/sql/shared.js +1 -1
  164. package/lib/commands/sql/status.js +1 -1
  165. package/lib/commands/sql/validate.js +1 -1
  166. package/lib/commands/workspace/add.js +1 -1
  167. package/lib/commands/workspace/index.js +1 -1
  168. package/lib/commands/workspace/remove.js +1 -1
  169. package/lib/config/schema.js +1 -1
  170. package/lib/constant/cdn.js +1 -1
  171. package/lib/constant/cli.js +1 -1
  172. package/lib/constant/defaults.js +1 -1
  173. package/lib/constant/domain.js +1 -1
  174. package/lib/constant/env.js +1 -1
  175. package/lib/constant/output.js +1 -1
  176. package/lib/constant/paths.js +1 -1
  177. package/lib/constant/risk.js +1 -1
  178. package/lib/context/app-resolver.js +1 -1
  179. package/lib/context/auth-resolver.js +1 -1
  180. package/lib/context/config-loader.js +1 -1
  181. package/lib/context.js +1 -1
  182. package/lib/core/alias-resolver.js +1 -1
  183. package/lib/core/api-client.js +1 -1
  184. package/lib/core/bff/config.js +1 -1
  185. package/lib/core/bff/file-system.js +1 -1
  186. package/lib/core/bff/hash.js +1 -1
  187. package/lib/core/bff/lock.js +1 -1
  188. package/lib/core/bff/utils.js +1 -1
  189. package/lib/core/db-resolver.js +1 -1
  190. package/lib/core/page/file-system.js +1 -1
  191. package/lib/core/page/hash.js +1 -1
  192. package/lib/core/page/lock.js +1 -1
  193. package/lib/core/sql-sync/config.js +1 -1
  194. package/lib/core/sql-sync/file-system.js +1 -1
  195. package/lib/core/sql-sync/hash.js +1 -1
  196. package/lib/core/sql-sync/lock.js +1 -1
  197. package/lib/core/sql-sync/utils.js +1 -1
  198. package/lib/core/sql-validator.js +1 -1
  199. package/lib/errors.js +1 -1
  200. package/lib/framework/build-all-flags.js +1 -1
  201. package/lib/framework/flags.js +1 -1
  202. package/lib/framework/help.js +1 -1
  203. package/lib/framework/index.js +1 -1
  204. package/lib/framework/output.js +1 -1
  205. package/lib/framework/response.js +1 -1
  206. package/lib/framework/runner-alias.js +1 -1
  207. package/lib/framework/runner.js +1 -1
  208. package/lib/framework/schema-export.js +1 -1
  209. package/lib/framework/types.js +1 -1
  210. package/lib/generated/build-info.js +1 -1
  211. package/lib/help.js +1 -1
  212. package/lib/skills/main.js +1 -1
  213. package/lib/skills/npx-skills-add.js +1 -1
  214. package/lib/telemetry/cli-command-trace.js +1 -1
  215. package/lib/telemetry/cli-help-trace.js +1 -1
  216. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  217. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  218. package/lib/telemetry/send-cli-trace-log.js +1 -1
  219. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  220. package/lib/utils/ai_config.js +1 -1
  221. package/lib/utils/apply-jq-filter.js +1 -1
  222. package/lib/utils/cdn-config.js +1 -1
  223. package/lib/utils/check-sdk-version.js +1 -1
  224. package/lib/utils/cli-version-check.js +1 -1
  225. package/lib/utils/cli-version-policy.js +1 -1
  226. package/lib/utils/config.js +1 -1
  227. package/lib/utils/copy-directory.js +1 -1
  228. package/lib/utils/entity-with-id.js +1 -1
  229. package/lib/utils/file-utils.js +1 -1
  230. package/lib/utils/guides-cdn.js +1 -1
  231. package/lib/utils/http-client.js +1 -1
  232. package/lib/utils/is-non-interactive.js +1 -1
  233. package/lib/utils/logger.js +1 -1
  234. package/lib/utils/params.js +1 -1
  235. package/lib/utils/platform.js +1 -1
  236. package/lib/utils/rules-cdn.js +1 -1
  237. package/lib/utils/sleep.js +1 -1
  238. package/lib/utils/template-replacer.js +1 -1
  239. package/lib/utils/update-notice.js +1 -1
  240. package/lib/utils/version.js +1 -1
  241. package/lib/utils/with-active-cookie.js +1 -1
  242. package/lib/utils/write-cli-side-channel.js +1 -1
  243. package/package.json +1 -1
@@ -1 +1 @@
1
- const a127_0x215257=a127_0x20b0;(function(_0xdaa0b8,_0x2bc8f5){const _0x4a5bd2=a127_0x20b0,_0x530204=_0xdaa0b8();while(!![]){try{const _0x30e8e5=-parseInt(_0x4a5bd2(0x15c))/0x1*(parseInt(_0x4a5bd2(0x116))/0x2)+parseInt(_0x4a5bd2(0x154))/0x3*(parseInt(_0x4a5bd2(0x115))/0x4)+-parseInt(_0x4a5bd2(0x11b))/0x5+parseInt(_0x4a5bd2(0x117))/0x6*(-parseInt(_0x4a5bd2(0x129))/0x7)+-parseInt(_0x4a5bd2(0x14c))/0x8*(parseInt(_0x4a5bd2(0x158))/0x9)+-parseInt(_0x4a5bd2(0x15a))/0xa*(-parseInt(_0x4a5bd2(0x123))/0xb)+parseInt(_0x4a5bd2(0x148))/0xc*(parseInt(_0x4a5bd2(0x137))/0xd);if(_0x30e8e5===_0x2bc8f5)break;else _0x530204['push'](_0x530204['shift']());}catch(_0x554ac9){_0x530204['push'](_0x530204['shift']());}}}(a127_0x4a15,0xd7e32));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':'number','required':!![],'description':a127_0x215257(0x10e)};export const ROLE_REF_FLAG={'name':a127_0x215257(0x136),'type':a127_0x215257(0x145),'required':!![],'description':a127_0x215257(0x140)};export const GRANT_FLAG={'name':a127_0x215257(0x121),'type':a127_0x215257(0x13f),'required':![],'description':a127_0x215257(0x159)};export const REVOKE_FLAG={'name':a127_0x215257(0x14a),'type':a127_0x215257(0x13f),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':'menus','type':a127_0x215257(0x145),'required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};export const DATASETS_FLAG={'name':a127_0x215257(0x122),'type':'string','required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a127_0x215257(0x134),'allowSelf':![],'label':a127_0x215257(0x135)},{'flag':a127_0x215257(0x143),'key':a127_0x215257(0x110),'allowSelf':![],'label':a127_0x215257(0x13b)},{'flag':'update-roles','key':'dataUpdate','allowSelf':![],'label':a127_0x215257(0x141)},{'flag':'delete-roles','key':a127_0x215257(0x12b),'allowSelf':![],'label':a127_0x215257(0x13e)},{'flag':a127_0x215257(0x138),'key':'dataDetail','allowSelf':![],'label':a127_0x215257(0x12a)},{'flag':a127_0x215257(0x12d),'key':a127_0x215257(0x15e),'allowSelf':![],'label':a127_0x215257(0x13a)},{'flag':a127_0x215257(0x119),'key':a127_0x215257(0x157),'allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x15d6b3=>({'name':_0x15d6b3['flag'],'type':a127_0x215257(0x145),'required':![],'description':a127_0x215257(0x13d)+_0x15d6b3[a127_0x215257(0x10c)]+a127_0x215257(0x14e)+(_0x15d6b3[a127_0x215257(0x153)]?';\x20SELF\x20=\x20only\x20own\x20rows':'')}));export function splitList(_0x7a701c){const _0x106dc7=a127_0x215257;return _0x7a701c[_0x106dc7(0x13c)](',')[_0x106dc7(0x14d)](_0x5d4e57=>_0x5d4e57['trim']())[_0x106dc7(0x111)](Boolean);}export function projectRoleRef(_0x309a2f){const _0x418199=a127_0x215257;return{'id':_0x309a2f['id'],'roleName':_0x309a2f[_0x418199(0x11a)],'roleType':_0x309a2f[_0x418199(0x150)]};}export async function resolvePermitRoles(_0x1d7a0b,_0x434626,_0x5ddc1d){const _0x3a1a61=a127_0x215257,_0x449898=await listPermitRoles(_0x1d7a0b,{'needSelf':!![],'needPublic':!![]}),_0x5548a5=[];for(const _0x386488 of _0x434626){const _0xe20ee3=resolveOnePermitRole(_0x449898,_0x386488);if(!_0x5ddc1d[_0x3a1a61(0x153)]&&_0xe20ee3[_0x3a1a61(0x150)]===_0x3a1a61(0x132))throw CliErrors[_0x3a1a61(0x151)](_0x3a1a61(0x15d)+_0x5ddc1d['label']+'.',_0x3a1a61(0x12f));if(!_0x5548a5[_0x3a1a61(0x127)](_0x286cd9=>_0x286cd9['id']===_0xe20ee3['id']))_0x5548a5['push'](_0xe20ee3);}return _0x5548a5;}function a127_0x4a15(){const _0x3ab74a=['20OqYFwe','199854vWPYHO','resourceCode','row-roles','roleName','8132570cnoSri','action','toUpperCase','allowedActions','Role\x20\x22','\x20is\x20not\x20available\x20for\x20this\x20app.','grant','datasets','421663mEvCHI','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','join','some','get','7wXUBLf','data\x20detail','dataDelete','resourceName','export-roles','flagMissing','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','menuId','bool','SELF','Special\x20role\x20','menuPermit','menu\x20visibility','role','47319376Blzunw','detail-roles','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','data\x20export','data\x20create','split','Roles\x20for\x20','data\x20delete','boolean','Role\x20id\x20or\x20role\x20name','data\x20update','str','create-roles','Run\x20`role\x20list`.','string','Role\x20id\x20','length','12uVDxAs','trim','revoke','ALL','143144iKAcsh','map','\x20(comma-separated\x20SELF/ALL/id/name)','\x22\x20is\x20ambiguous\x20(ids:\x20','roleType','validation','set','allowSelf','1750227NJyUkJ','\x22\x20not\x20found.','key','dataPermit','207STtsek','Grant\x20access\x20to\x20the\x20listed\x20resources','50lJgOon','test','145939CJKjuC','SELF\x20is\x20not\x20allowed\x20for\x20','dataExport','Disambiguate\x20with\x20an\x20id.','Pass\x20--role\x20<id|name>.','label','pageNodeList','Menu\x20id\x20(from\x20`menu\x20list`)','find','dataCreate','filter','push','appCode','apiList','4tOrQXX'];a127_0x4a15=function(){return _0x3ab74a;};return a127_0x4a15();}function resolveOnePermitRole(_0x27fd61,_0x30339b){const _0x18d82e=a127_0x215257,_0x382432=_0x30339b[_0x18d82e(0x149)](),_0x13c855=_0x382432[_0x18d82e(0x11d)]();if(_0x13c855===_0x18d82e(0x132)||_0x13c855===_0x18d82e(0x14b)){const _0x53a180=_0x27fd61[_0x18d82e(0x10f)](_0x9059c1=>_0x9059c1[_0x18d82e(0x150)]===_0x13c855);if(!_0x53a180)throw CliErrors[_0x18d82e(0x151)](_0x18d82e(0x133)+_0x13c855+_0x18d82e(0x120));return _0x53a180;}if(/^-?\d+$/[_0x18d82e(0x15b)](_0x382432)){const _0x12e9ef=Number(_0x382432),_0x33fa5d=_0x27fd61['find'](_0x14b6eb=>_0x14b6eb['id']===_0x12e9ef);if(!_0x33fa5d)throw CliErrors[_0x18d82e(0x151)](_0x18d82e(0x146)+_0x12e9ef+'\x20not\x20found.',_0x18d82e(0x144));return _0x33fa5d;}const _0x193fc0=_0x27fd61[_0x18d82e(0x111)](_0x4b1eec=>_0x4b1eec[_0x18d82e(0x11a)]===_0x382432);if(_0x193fc0[_0x18d82e(0x147)]===0x0)throw CliErrors['validation'](_0x18d82e(0x11f)+_0x382432+_0x18d82e(0x155),_0x18d82e(0x139));if(_0x193fc0[_0x18d82e(0x147)]>0x1)throw CliErrors[_0x18d82e(0x151)](_0x18d82e(0x11f)+_0x382432+_0x18d82e(0x14f)+_0x193fc0['map'](_0x5a2c2d=>_0x5a2c2d['id'])[_0x18d82e(0x126)](',\x20')+').',_0x18d82e(0x15f));return _0x193fc0[0x0];}export function projectPageSlot(_0x4f5d2b){const _0x2cddd7=a127_0x215257;if(!_0x4f5d2b)return null;return{'resourceCode':_0x4f5d2b[_0x2cddd7(0x118)],'roles':(_0x4f5d2b['rolePermit']??[])['map'](projectRoleRef)};}function a127_0x20b0(_0x38bab9,_0x288808){_0x38bab9=_0x38bab9-0x10b;const _0x4a1539=a127_0x4a15();let _0x20b068=_0x4a1539[_0x38bab9];return _0x20b068;}export function projectPagePermit(_0x453250){const _0x2fc6ed=a127_0x215257,_0x2478d4={'menuId':_0x453250[_0x2fc6ed(0x130)],'appCode':_0x453250[_0x2fc6ed(0x113)],'menuPermit':projectPageSlot(_0x453250[_0x2fc6ed(0x134)])};for(const _0x4f3187 of PAGE_SLOT_SPECS){if(_0x4f3187[_0x2fc6ed(0x156)]===_0x2fc6ed(0x134))continue;_0x2478d4[_0x4f3187[_0x2fc6ed(0x156)]]=projectPageSlot(_0x453250[_0x4f3187[_0x2fc6ed(0x156)]]);}return _0x2478d4;}export function flattenMenuResources(_0x49aef7){const _0x5cc944=new Map(),_0x32d2f5=_0x230a7a=>{const _0x2ba22f=a127_0x20b0;for(const _0x26dd5d of _0x230a7a??[]){_0x5cc944[_0x2ba22f(0x152)](_0x26dd5d['resourceCode'],{'resourceCode':_0x26dd5d[_0x2ba22f(0x118)],'resourceName':_0x26dd5d['resourceName'],'action':_0x26dd5d[_0x2ba22f(0x11e)]?.[0x0]??'0'});if(_0x26dd5d[_0x2ba22f(0x10d)])_0x32d2f5(_0x26dd5d[_0x2ba22f(0x10d)]);}};return _0x32d2f5(_0x49aef7),_0x5cc944;}export function flattenApiResources(_0x5ab3fa){const _0x3427d7=a127_0x215257,_0x141dfc=new Map(),_0x47e890=new Map();for(const _0x2dd208 of _0x5ab3fa){const _0x1ecabf=_0x2dd208[_0x3427d7(0x114)]??{};for(const [_0x16697e,_0x213675]of Object['entries'](_0x1ecabf)){_0x141dfc[_0x3427d7(0x152)](_0x16697e,{'resourceCode':_0x16697e,'resourceName':_0x2dd208[_0x3427d7(0x12c)],'datasetCode':_0x2dd208['datasetCode'],'action':_0x213675?.[0x0]??'0'});const _0x57a3d4=_0x47e890[_0x3427d7(0x128)](_0x2dd208['datasetCode'])??[];_0x57a3d4[_0x3427d7(0x112)](_0x16697e),_0x47e890[_0x3427d7(0x152)](_0x2dd208['datasetCode'],_0x57a3d4);}}return{'byCode':_0x141dfc,'byDataset':_0x47e890};}export function buildPermits(_0x460f9a,_0x445b67){const _0x21084f=a127_0x215257,_0x50534d={};for(const [_0x27753f,_0xd0eccf]of _0x460f9a){const _0x59f733=_0x445b67[_0x21084f(0x128)](_0x27753f)??_0xd0eccf[_0x21084f(0x11c)];_0x50534d[_0x27753f]=[_0x59f733];}return _0x50534d;}export function readRoleRef(_0x4bce02){const _0x347622=a127_0x215257,_0x33b8b0=_0x4bce02[_0x347622(0x142)](_0x347622(0x136))[_0x347622(0x149)]();if(!_0x33b8b0)throw CliErrors[_0x347622(0x12e)](_0x347622(0x136),_0x347622(0x10b));return _0x33b8b0;}export function readGrantRevoke(_0x323e5c){const _0x3a6cd7=a127_0x215257,_0x2262d7=_0x323e5c[_0x3a6cd7(0x131)](_0x3a6cd7(0x121)),_0x309fbe=_0x323e5c[_0x3a6cd7(0x131)](_0x3a6cd7(0x14a));if(_0x2262d7&&_0x309fbe)throw CliErrors[_0x3a6cd7(0x151)](_0x3a6cd7(0x125));if(!_0x2262d7&&!_0x309fbe)throw CliErrors[_0x3a6cd7(0x151)]('Missing\x20action.',_0x3a6cd7(0x124));return _0x2262d7?'access':'0';}
1
+ const a129_0x456314=a129_0x2c7d;(function(_0x5c9e18,_0x3236ea){const _0x284b84=a129_0x2c7d,_0x35c937=_0x5c9e18();while(!![]){try{const _0x2df80e=-parseInt(_0x284b84(0x1f8))/0x1+-parseInt(_0x284b84(0x1e3))/0x2+-parseInt(_0x284b84(0x1e7))/0x3+parseInt(_0x284b84(0x1cb))/0x4*(parseInt(_0x284b84(0x1ee))/0x5)+parseInt(_0x284b84(0x1d1))/0x6*(parseInt(_0x284b84(0x1f7))/0x7)+parseInt(_0x284b84(0x1dd))/0x8+-parseInt(_0x284b84(0x1bd))/0x9*(-parseInt(_0x284b84(0x1dc))/0xa);if(_0x2df80e===_0x3236ea)break;else _0x35c937['push'](_0x35c937['shift']());}catch(_0x15c081){_0x35c937['push'](_0x35c937['shift']());}}}(a129_0x4d59,0x3a8db));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a129_0x456314(0x1f3),'type':a129_0x456314(0x1e8),'required':!![],'description':a129_0x456314(0x1cf)};export const ROLE_REF_FLAG={'name':a129_0x456314(0x1df),'type':'string','required':!![],'description':a129_0x456314(0x1c7)};export const GRANT_FLAG={'name':a129_0x456314(0x1fe),'type':a129_0x456314(0x1da),'required':![],'description':a129_0x456314(0x200)};export const REVOKE_FLAG={'name':a129_0x456314(0x1c8),'type':a129_0x456314(0x1da),'required':![],'description':a129_0x456314(0x1c4)};export const MENUS_FLAG={'name':a129_0x456314(0x203),'type':a129_0x456314(0x202),'required':!![],'description':a129_0x456314(0x1cd)};export const DATASETS_FLAG={'name':'datasets','type':a129_0x456314(0x202),'required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};function a129_0x4d59(){const _0x5bdc86=['menuId','appCode','grant','data\x20update','Grant\x20access\x20to\x20the\x20listed\x20resources','toUpperCase','string','menus','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','filter','label','row-roles','datasetCode','find','detail-roles',';\x20SELF\x20=\x20only\x20own\x20rows','105903uxzwKC','resourceName','test','resourceCode','Disambiguate\x20with\x20an\x20id.','Role\x20\x22','length','Revoke\x20access\x20to\x20the\x20listed\x20resources','validation','Roles\x20for\x20','Role\x20id\x20or\x20role\x20name','revoke','key','update-roles','6520cGRvSj','allowedActions','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','data\x20export','Menu\x20id\x20(from\x20`menu\x20list`)','Pass\x20--role\x20<id|name>.','18qCYBcC','\x20is\x20not\x20available\x20for\x20this\x20app.','export-roles','trim','\x22\x20not\x20found.','flag','pageNodeList','access','dataPermit','boolean','create-roles','170CsqcQU','3769440OABxoi','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','role','delete-roles','dataDelete','Special\x20role\x20','101910AzEkxV','menu-roles','bool','map','1316499Qawocv','number','menuPermit','allowSelf','some','\x22\x20is\x20ambiguous\x20(ids:\x20','split','355RyfCZY','data\x20detail','roleType','SELF\x20is\x20not\x20allowed\x20for\x20','Missing\x20action.','menu-id','dataUpdate','dataDetail','apiList','921851hsyJhQ','452405rUNLtk','set','push','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.'];a129_0x4d59=function(){return _0x5bdc86;};return a129_0x4d59();}export const PAGE_SLOT_SPECS=[{'flag':a129_0x456314(0x1e4),'key':a129_0x456314(0x1e9),'allowSelf':![],'label':'menu\x20visibility'},{'flag':a129_0x456314(0x1db),'key':'dataCreate','allowSelf':![],'label':'data\x20create'},{'flag':a129_0x456314(0x1ca),'key':a129_0x456314(0x1f4),'allowSelf':![],'label':a129_0x456314(0x1ff)},{'flag':a129_0x456314(0x1e0),'key':a129_0x456314(0x1e1),'allowSelf':![],'label':'data\x20delete'},{'flag':a129_0x456314(0x20a),'key':a129_0x456314(0x1f5),'allowSelf':![],'label':a129_0x456314(0x1ef)},{'flag':a129_0x456314(0x1d3),'key':'dataExport','allowSelf':![],'label':a129_0x456314(0x1ce)},{'flag':a129_0x456314(0x207),'key':a129_0x456314(0x1d9),'allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a129_0x456314(0x1e6)](_0x5c3e18=>({'name':_0x5c3e18[a129_0x456314(0x1d6)],'type':a129_0x456314(0x202),'required':![],'description':a129_0x456314(0x1c6)+_0x5c3e18[a129_0x456314(0x206)]+'\x20(comma-separated\x20SELF/ALL/id/name)'+(_0x5c3e18[a129_0x456314(0x1ea)]?a129_0x456314(0x20b):'')}));export function splitList(_0x3967b1){const _0x481269=a129_0x456314;return _0x3967b1[_0x481269(0x1ed)](',')['map'](_0x55b71d=>_0x55b71d[_0x481269(0x1d4)]())[_0x481269(0x205)](Boolean);}function a129_0x2c7d(_0x33e153,_0x1da72b){_0x33e153=_0x33e153-0x1bd;const _0x4d5933=a129_0x4d59();let _0x2c7dcd=_0x4d5933[_0x33e153];return _0x2c7dcd;}export function projectRoleRef(_0x5783ad){return{'id':_0x5783ad['id'],'roleName':_0x5783ad['roleName'],'roleType':_0x5783ad['roleType']};}export async function resolvePermitRoles(_0x382c1c,_0xbe2d0e,_0x384007){const _0x37827d=a129_0x456314,_0x369639=await listPermitRoles(_0x382c1c,{'needSelf':!![],'needPublic':!![]}),_0x16ba85=[];for(const _0x2f5a99 of _0xbe2d0e){const _0x2a7083=resolveOnePermitRole(_0x369639,_0x2f5a99);if(!_0x384007[_0x37827d(0x1ea)]&&_0x2a7083[_0x37827d(0x1f0)]==='SELF')throw CliErrors[_0x37827d(0x1c5)](_0x37827d(0x1f1)+_0x384007[_0x37827d(0x206)]+'.','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.');if(!_0x16ba85[_0x37827d(0x1eb)](_0x304d49=>_0x304d49['id']===_0x2a7083['id']))_0x16ba85[_0x37827d(0x1fa)](_0x2a7083);}return _0x16ba85;}function resolveOnePermitRole(_0x21aff2,_0x3aa671){const _0x1ac238=a129_0x456314,_0x46f217=_0x3aa671[_0x1ac238(0x1d4)](),_0x57e301=_0x46f217[_0x1ac238(0x201)]();if(_0x57e301==='SELF'||_0x57e301==='ALL'){const _0x3e4087=_0x21aff2['find'](_0x4aea65=>_0x4aea65['roleType']===_0x57e301);if(!_0x3e4087)throw CliErrors[_0x1ac238(0x1c5)](_0x1ac238(0x1e2)+_0x57e301+_0x1ac238(0x1d2));return _0x3e4087;}if(/^-?\d+$/[_0x1ac238(0x1bf)](_0x46f217)){const _0x52b35c=Number(_0x46f217),_0x4da6cc=_0x21aff2[_0x1ac238(0x209)](_0x409b71=>_0x409b71['id']===_0x52b35c);if(!_0x4da6cc)throw CliErrors['validation']('Role\x20id\x20'+_0x52b35c+'\x20not\x20found.','Run\x20`role\x20list`.');return _0x4da6cc;}const _0x13be1e=_0x21aff2[_0x1ac238(0x205)](_0x3b52a9=>_0x3b52a9['roleName']===_0x46f217);if(_0x13be1e['length']===0x0)throw CliErrors[_0x1ac238(0x1c5)](_0x1ac238(0x1c2)+_0x46f217+_0x1ac238(0x1d5),_0x1ac238(0x1de));if(_0x13be1e[_0x1ac238(0x1c3)]>0x1)throw CliErrors[_0x1ac238(0x1c5)](_0x1ac238(0x1c2)+_0x46f217+_0x1ac238(0x1ec)+_0x13be1e[_0x1ac238(0x1e6)](_0x54b6f7=>_0x54b6f7['id'])['join'](',\x20')+').',_0x1ac238(0x1c1));return _0x13be1e[0x0];}export function projectPageSlot(_0x2c2d){const _0x3c2a36=a129_0x456314;if(!_0x2c2d)return null;return{'resourceCode':_0x2c2d[_0x3c2a36(0x1c0)],'roles':(_0x2c2d['rolePermit']??[])['map'](projectRoleRef)};}export function projectPagePermit(_0x2810a6){const _0x30c815=a129_0x456314,_0x1c04d7={'menuId':_0x2810a6[_0x30c815(0x1fc)],'appCode':_0x2810a6[_0x30c815(0x1fd)],'menuPermit':projectPageSlot(_0x2810a6[_0x30c815(0x1e9)])};for(const _0xd3f927 of PAGE_SLOT_SPECS){if(_0xd3f927[_0x30c815(0x1c9)]==='menuPermit')continue;_0x1c04d7[_0xd3f927[_0x30c815(0x1c9)]]=projectPageSlot(_0x2810a6[_0xd3f927[_0x30c815(0x1c9)]]);}return _0x1c04d7;}export function flattenMenuResources(_0x5ebd39){const _0x348679=new Map(),_0x454b5e=_0x29943b=>{const _0x47657a=a129_0x2c7d;for(const _0x55426b of _0x29943b??[]){_0x348679[_0x47657a(0x1f9)](_0x55426b[_0x47657a(0x1c0)],{'resourceCode':_0x55426b['resourceCode'],'resourceName':_0x55426b[_0x47657a(0x1be)],'action':_0x55426b[_0x47657a(0x1cc)]?.[0x0]??'0'});if(_0x55426b[_0x47657a(0x1d7)])_0x454b5e(_0x55426b[_0x47657a(0x1d7)]);}};return _0x454b5e(_0x5ebd39),_0x348679;}export function flattenApiResources(_0x504abc){const _0x4a836d=a129_0x456314,_0x103360=new Map(),_0x59bea4=new Map();for(const _0x2a0333 of _0x504abc){const _0x23f77e=_0x2a0333[_0x4a836d(0x1f6)]??{};for(const [_0x517ef0,_0x55a329]of Object['entries'](_0x23f77e)){_0x103360[_0x4a836d(0x1f9)](_0x517ef0,{'resourceCode':_0x517ef0,'resourceName':_0x2a0333['resourceName'],'datasetCode':_0x2a0333[_0x4a836d(0x208)],'action':_0x55a329?.[0x0]??'0'});const _0x2d463b=_0x59bea4['get'](_0x2a0333[_0x4a836d(0x208)])??[];_0x2d463b[_0x4a836d(0x1fa)](_0x517ef0),_0x59bea4['set'](_0x2a0333['datasetCode'],_0x2d463b);}}return{'byCode':_0x103360,'byDataset':_0x59bea4};}export function buildPermits(_0x1f3ea4,_0x2744ab){const _0x3d29c3={};for(const [_0x3de89d,_0x1fb78a]of _0x1f3ea4){const _0x403e67=_0x2744ab['get'](_0x3de89d)??_0x1fb78a['action'];_0x3d29c3[_0x3de89d]=[_0x403e67];}return _0x3d29c3;}export function readRoleRef(_0x12ad88){const _0x950aae=a129_0x456314,_0x344fa5=_0x12ad88['str']('role')[_0x950aae(0x1d4)]();if(!_0x344fa5)throw CliErrors['flagMissing'](_0x950aae(0x1df),_0x950aae(0x1d0));return _0x344fa5;}export function readGrantRevoke(_0x39a526){const _0x1bb0d9=a129_0x456314,_0xe8d348=_0x39a526[_0x1bb0d9(0x1e5)](_0x1bb0d9(0x1fe)),_0x17cb50=_0x39a526[_0x1bb0d9(0x1e5)](_0x1bb0d9(0x1c8));if(_0xe8d348&&_0x17cb50)throw CliErrors[_0x1bb0d9(0x1c5)](_0x1bb0d9(0x204));if(!_0xe8d348&&!_0x17cb50)throw CliErrors[_0x1bb0d9(0x1c5)](_0x1bb0d9(0x1f2),_0x1bb0d9(0x1fb));return _0xe8d348?_0x1bb0d9(0x1d8):'0';}
@@ -1 +1 @@
1
- (function(_0x57bd8a,_0x3d3b21){const _0x539ea6=a128_0x39fe,_0x1986c5=_0x57bd8a();while(!![]){try{const _0x4ac34b=parseInt(_0x539ea6(0xdc))/0x1*(parseInt(_0x539ea6(0xc8))/0x2)+parseInt(_0x539ea6(0xc7))/0x3*(-parseInt(_0x539ea6(0xcc))/0x4)+-parseInt(_0x539ea6(0xd3))/0x5*(parseInt(_0x539ea6(0xdf))/0x6)+parseInt(_0x539ea6(0xe3))/0x7+parseInt(_0x539ea6(0xce))/0x8+parseInt(_0x539ea6(0xe0))/0x9*(parseInt(_0x539ea6(0xd4))/0xa)+-parseInt(_0x539ea6(0xd6))/0xb;if(_0x4ac34b===_0x3d3b21)break;else _0x1986c5['push'](_0x1986c5['shift']());}catch(_0x487ea2){_0x1986c5['push'](_0x1986c5['shift']());}}}(a128_0x2cf5,0xaa0a6));import{existsSync}from'node:fs';function a128_0x39fe(_0x433ccc,_0x4f973f){_0x433ccc=_0x433ccc-0xc7;const _0x2cf5ba=a128_0x2cf5();let _0x39fef0=_0x2cf5ba[_0x433ccc];return _0x39fef0;}function a128_0x2cf5(){const _0x137da3=['green','4391JZYglo','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','length','294mrbZiv','9JSyfQG','test','Skipped','5999266zOQCPv','3ccgByh','86yELcRY','env','\x22\x20already\x20exists','log','2886748aIHgfn','√\x20Login\x20status:\x20','6370720aapjBe','Project\x20name:','production','Not\x20set','string','36430MNsYYG','11223330wDiTJa','my-app','13082707gbMwgj','Logged\x20in','cyan','√\x20App\x20Code:\x20','Login\x20failed'];a128_0x2cf5=function(){return _0x137da3;};return a128_0x2cf5();}import a128_0x37e5fb from'node:path';import a128_0x51a330 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x17b2d2,_0x32d678,_0x4f4eac){const _0x538799=a128_0x39fe,_0x1ac432=_0x538799(0xd5),_0x27e07f=readConfig(),_0x1b6d9a=typeof _0x27e07f[_0x538799(0xc9)]===_0x538799(0xd2)?_0x27e07f[_0x538799(0xc9)]:undefined,_0x5d7d1b=await input({'message':_0x538799(0xcf),'default':_0x1ac432,'validate':_0x1e54b7=>{const _0x2d21e5=_0x538799,_0x350609=_0x1e54b7['trim']()||_0x1ac432;if(_0x350609[_0x2d21e5(0xde)]>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x2bd01e=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x350609&&!_0x2bd01e[_0x2d21e5(0xe1)](_0x350609))return'Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_';const _0x597541=a128_0x37e5fb['resolve'](process['cwd'](),_0x350609);if(existsSync(_0x597541))return'Directory\x20\x22'+_0x350609+_0x2d21e5(0xca);return!![];}});console[_0x538799(0xcb)](a128_0x51a330['green']('√\x20Project\x20Name:\x20'+a128_0x51a330[_0x538799(0xd8)](_0x5d7d1b)));const _0x1437d7=await selectSingleAppcode(_0x4f4eac);console[_0x538799(0xcb)](a128_0x51a330[_0x538799(0xdb)](_0x538799(0xd9)+a128_0x51a330[_0x538799(0xd8)](_0x1437d7||_0x538799(0xd1))));if(_0x1437d7){const _0x425b4b=await getIsSessionValid();if(!_0x425b4b){const _0x4d9f91=await confirm({'message':_0x538799(0xdd),'default':!![]});if(_0x4d9f91){const _0x419227=await authServer({'silent':!![]});console[_0x538799(0xcb)](a128_0x51a330['green'](_0x538799(0xcd)+a128_0x51a330[_0x538799(0xd8)](_0x419227?_0x538799(0xd7):_0x538799(0xda))));}else console[_0x538799(0xcb)](a128_0x51a330[_0x538799(0xdb)](_0x538799(0xcd)+a128_0x51a330[_0x538799(0xd8)](_0x538799(0xe2))));}await _0x17b2d2({'projectName':_0x5d7d1b,'appCode':_0x1437d7,'env':_0x32d678||_0x1b6d9a||_0x538799(0xd0)});}else await _0x17b2d2({'projectName':_0x5d7d1b,'env':_0x32d678||_0x1b6d9a||_0x538799(0xd0)});}
1
+ (function(_0x30f5a0,_0xebcbfa){const _0x2c341c=a130_0x2bb1,_0x315185=_0x30f5a0();while(!![]){try{const _0x4b14bb=parseInt(_0x2c341c(0x88))/0x1+-parseInt(_0x2c341c(0x9f))/0x2*(-parseInt(_0x2c341c(0x91))/0x3)+parseInt(_0x2c341c(0x9d))/0x4*(parseInt(_0x2c341c(0x82))/0x5)+-parseInt(_0x2c341c(0x9c))/0x6*(parseInt(_0x2c341c(0x85))/0x7)+parseInt(_0x2c341c(0x96))/0x8+-parseInt(_0x2c341c(0x90))/0x9*(parseInt(_0x2c341c(0x8b))/0xa)+-parseInt(_0x2c341c(0x8e))/0xb*(-parseInt(_0x2c341c(0x80))/0xc);if(_0x4b14bb===_0xebcbfa)break;else _0x315185['push'](_0x315185['shift']());}catch(_0x49cc11){_0x315185['push'](_0x315185['shift']());}}}(a130_0x13db,0x80683));import{existsSync}from'node:fs';import a130_0x4d2261 from'node:path';import a130_0x20ac4e from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a130_0x13db(){const _0x2b4b92=['952RITghG','cwd','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','384062BKjRJv','trim','Not\x20set','397690UYfYVo','Skipped','cyan','2420FBnMFu','length','162BczZam','3XTtCFG','test','my-app','log','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','3399856WOKsAV','green','√\x20Login\x20status:\x20','√\x20App\x20Code:\x20','Login\x20failed','string','42618aqIhFH','2932yTtXnk','Project\x20name\x20cannot\x20exceed\x2050\x20characters','978096indPJr','env','24792JXqHyw','production','3105uyrHsX','\x22\x20already\x20exists','√\x20Project\x20Name:\x20'];a130_0x13db=function(){return _0x2b4b92;};return a130_0x13db();}function a130_0x2bb1(_0x244125,_0x53d5e){_0x244125=_0x244125-0x80;const _0x13db68=a130_0x13db();let _0x2bb157=_0x13db68[_0x244125];return _0x2bb157;}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(_0x175488,_0x149ff3,_0x833be1){const _0x5d7594=a130_0x2bb1,_0x328935=_0x5d7594(0x93),_0x16acfd=readConfig(),_0x5db0f3=typeof _0x16acfd[_0x5d7594(0xa0)]===_0x5d7594(0x9b)?_0x16acfd[_0x5d7594(0xa0)]:undefined,_0x41d4b0=await input({'message':'Project\x20name:','default':_0x328935,'validate':_0x6f1583=>{const _0x248b20=_0x5d7594,_0x487979=_0x6f1583[_0x248b20(0x89)]()||_0x328935;if(_0x487979[_0x248b20(0x8f)]>0x32)return _0x248b20(0x9e);const _0x318f48=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x487979&&!_0x318f48[_0x248b20(0x92)](_0x487979))return _0x248b20(0x95);const _0x5776c4=a130_0x4d2261['resolve'](process[_0x248b20(0x86)](),_0x487979);if(existsSync(_0x5776c4))return'Directory\x20\x22'+_0x487979+_0x248b20(0x83);return!![];}});console[_0x5d7594(0x94)](a130_0x20ac4e['green'](_0x5d7594(0x84)+a130_0x20ac4e[_0x5d7594(0x8d)](_0x41d4b0)));const _0x3fb0ec=await selectSingleAppcode(_0x833be1);console[_0x5d7594(0x94)](a130_0x20ac4e[_0x5d7594(0x97)](_0x5d7594(0x99)+a130_0x20ac4e[_0x5d7594(0x8d)](_0x3fb0ec||_0x5d7594(0x8a))));if(_0x3fb0ec){const _0x46dce4=await getIsSessionValid();if(!_0x46dce4){const _0x23c21f=await confirm({'message':_0x5d7594(0x87),'default':!![]});if(_0x23c21f){const _0x539572=await authServer({'silent':!![]});console[_0x5d7594(0x94)](a130_0x20ac4e['green'](_0x5d7594(0x98)+a130_0x20ac4e[_0x5d7594(0x8d)](_0x539572?'Logged\x20in':_0x5d7594(0x9a))));}else console[_0x5d7594(0x94)](a130_0x20ac4e[_0x5d7594(0x97)](_0x5d7594(0x98)+a130_0x20ac4e[_0x5d7594(0x8d)](_0x5d7594(0x8c))));}await _0x175488({'projectName':_0x41d4b0,'appCode':_0x3fb0ec,'env':_0x149ff3||_0x5db0f3||_0x5d7594(0x81)});}else await _0x175488({'projectName':_0x41d4b0,'env':_0x149ff3||_0x5db0f3||_0x5d7594(0x81)});}
@@ -1 +1 @@
1
- function a129_0x1e0a(_0x133365,_0x3cf186){_0x133365=_0x133365-0x167;const _0x517711=a129_0x5177();let _0x1e0a81=_0x517711[_0x133365];return _0x1e0a81;}(function(_0x10f157,_0x119633){const _0x56a339=a129_0x1e0a,_0xd98a0d=_0x10f157();while(!![]){try{const _0x300afa=-parseInt(_0x56a339(0x16f))/0x1*(-parseInt(_0x56a339(0x169))/0x2)+-parseInt(_0x56a339(0x16a))/0x3+-parseInt(_0x56a339(0x168))/0x4*(parseInt(_0x56a339(0x167))/0x5)+-parseInt(_0x56a339(0x171))/0x6+-parseInt(_0x56a339(0x170))/0x7+-parseInt(_0x56a339(0x16c))/0x8+parseInt(_0x56a339(0x16e))/0x9;if(_0x300afa===_0x119633)break;else _0xd98a0d['push'](_0xd98a0d['shift']());}catch(_0x3cbd57){_0xd98a0d['push'](_0xd98a0d['shift']());}}}(a129_0x5177,0xa6561));function a129_0x5177(){const _0x4f40a7=['toFixed','3147280AbkdBi','now','37117035vuwkAL','4BWyAUU','4392899GNxBad','7010328uzJMiS','5rxyCso','5235544iAXEEH','464762OCODmz','2622255EiIOUA'];a129_0x5177=function(){return _0x4f40a7;};return a129_0x5177();}export function formatElapsed(_0x3f2f2f){const _0x4a72c9=a129_0x1e0a,_0x5c7b88=Date[_0x4a72c9(0x16d)]()-_0x3f2f2f;if(_0x5c7b88<0x3e8)return _0x5c7b88+'ms';const _0x4f5bbd=(_0x5c7b88/0x3e8)[_0x4a72c9(0x16b)](0x2),_0x11153a=_0x4f5bbd['replace'](/\.?0+$/u,'');return _0x11153a+'s';}
1
+ function a131_0x4d3c(_0x2a400e,_0x573987){_0x2a400e=_0x2a400e-0x95;const _0x53a645=a131_0x53a6();let _0x4d3c93=_0x53a645[_0x2a400e];return _0x4d3c93;}(function(_0x2ba656,_0x7e6864){const _0x4036fe=a131_0x4d3c,_0x40427c=_0x2ba656();while(!![]){try{const _0x19c74a=parseInt(_0x4036fe(0xa0))/0x1+parseInt(_0x4036fe(0x9f))/0x2+-parseInt(_0x4036fe(0x9d))/0x3+parseInt(_0x4036fe(0x9e))/0x4*(parseInt(_0x4036fe(0x99))/0x5)+-parseInt(_0x4036fe(0x96))/0x6*(parseInt(_0x4036fe(0x97))/0x7)+parseInt(_0x4036fe(0x9c))/0x8*(parseInt(_0x4036fe(0x9b))/0x9)+-parseInt(_0x4036fe(0x98))/0xa*(parseInt(_0x4036fe(0x95))/0xb);if(_0x19c74a===_0x7e6864)break;else _0x40427c['push'](_0x40427c['shift']());}catch(_0x2750eb){_0x40427c['push'](_0x40427c['shift']());}}}(a131_0x53a6,0xd5f70));function a131_0x53a6(){const _0x3ecb1c=['11paHHHM','56184FIvhmi','448OjULXy','5577100NZHprd','147750ZuxELn','now','108TSyxKm','1082728XdwtVR','3659286VpoWxo','188pdOzhS','270378jThcQY','105037aTnJaZ','toFixed'];a131_0x53a6=function(){return _0x3ecb1c;};return a131_0x53a6();}export function formatElapsed(_0x3df795){const _0x491551=a131_0x4d3c,_0x261d1e=Date[_0x491551(0x9a)]()-_0x3df795;if(_0x261d1e<0x3e8)return _0x261d1e+'ms';const _0xfbeb0e=(_0x261d1e/0x3e8)[_0x491551(0xa1)](0x2),_0xeb908d=_0xfbeb0e['replace'](/\.?0+$/u,'');return _0xeb908d+'s';}
@@ -1 +1 @@
1
- (function(_0x5016dc,_0x41c2e7){const _0x5319dc=a130_0x4fff,_0x253b9a=_0x5016dc();while(!![]){try{const _0x2db88a=parseInt(_0x5319dc(0x9a))/0x1*(parseInt(_0x5319dc(0xc0))/0x2)+-parseInt(_0x5319dc(0x9d))/0x3+-parseInt(_0x5319dc(0x95))/0x4+parseInt(_0x5319dc(0xbd))/0x5*(parseInt(_0x5319dc(0x94))/0x6)+parseInt(_0x5319dc(0xa2))/0x7*(parseInt(_0x5319dc(0xce))/0x8)+-parseInt(_0x5319dc(0xe7))/0x9*(parseInt(_0x5319dc(0xe5))/0xa)+parseInt(_0x5319dc(0xbf))/0xb*(-parseInt(_0x5319dc(0xb6))/0xc);if(_0x2db88a===_0x41c2e7)break;else _0x253b9a['push'](_0x253b9a['shift']());}catch(_0x58aaf5){_0x253b9a['push'](_0x253b9a['shift']());}}}(a130_0x17f6,0x6f7a8));import a130_0x46145a from'path';import a130_0x3746d6 from'fs';import a130_0x804285 from'chalk';import a130_0x26606d from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';function a130_0x4fff(_0x9a6810,_0x47f72a){_0x9a6810=_0x9a6810-0x86;const _0x17f641=a130_0x17f6();let _0x4fff64=_0x17f641[_0x9a6810];return _0x4fff64;}import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x5df80e){const _0x3c0a58=a130_0x4fff,_0x466169=await checkCliVersion();(_0x466169[_0x3c0a58(0xb0)]||_0x466169[_0x3c0a58(0xa3)])&&(printCliUpgradeWarning(_0x466169),assertCliVersionSupported(_0x466169),logger[_0x3c0a58(0xdf)]('create',_0x3c0a58(0xd9),{'currentVersion':_0x466169[_0x3c0a58(0xa4)],'stableVersion':_0x466169[_0x3c0a58(0xd3)],'minimumVersion':_0x466169['minimumVersion'],'needsUpgrade':_0x466169[_0x3c0a58(0xb0)],'belowMinimum':_0x466169['belowMinimum']}));if(_0x5df80e[_0x3c0a58(0xd5)]&&_0x5df80e[_0x3c0a58(0xc7)])await runCreate({'projectName':_0x5df80e[_0x3c0a58(0xd5)],'appCode':_0x5df80e[_0x3c0a58(0xc7)],'env':_0x5df80e[_0x3c0a58(0x9c)]},_0x5df80e);else{if(_0x5df80e[_0x3c0a58(0xd5)]){const _0x27f459=await selectSingleAppcode(_0x5df80e[_0x3c0a58(0xb8)]);await runCreate({'projectName':_0x5df80e[_0x3c0a58(0xd5)],'appCode':_0x27f459||undefined,'env':_0x5df80e[_0x3c0a58(0x9c)]},_0x5df80e);}else await guidedCreateProject(_0x33cda3=>runCreate(_0x33cda3,_0x5df80e),_0x5df80e[_0x3c0a58(0x9c)],_0x5df80e[_0x3c0a58(0xb8)]);}}async function runCreate(_0x48bbd2,_0x9ac12d){const _0x3acf67=a130_0x4fff;if(!_0x48bbd2[_0x3acf67(0x98)]||_0x48bbd2[_0x3acf67(0x98)][_0x3acf67(0xe8)]()==='')throw new Error(_0x3acf67(0xc4));const _0x3a9029=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3a9029[_0x3acf67(0xa1)](_0x48bbd2[_0x3acf67(0x98)]))throw new Error(_0x3acf67(0xde));if(_0x48bbd2[_0x3acf67(0x98)][_0x3acf67(0xac)]>0x64)throw new Error(_0x3acf67(0xaf));const _0x51372d=a130_0x46145a[_0x3acf67(0x9e)](process[_0x3acf67(0x92)](),_0x48bbd2[_0x3acf67(0x98)]);if(a130_0x3746d6[_0x3acf67(0x90)](_0x51372d))throw new Error(_0x3acf67(0x97)+_0x48bbd2['projectName']+_0x3acf67(0xc3));try{a130_0x3746d6[_0x3acf67(0xbc)](a130_0x46145a[_0x3acf67(0xc9)](_0x51372d),a130_0x3746d6[_0x3acf67(0xdb)]['W_OK']);}catch{throw new Error(_0x3acf67(0x89));}logger['setLogPath'](_0x51372d),logger[_0x3acf67(0xdf)](_0x3acf67(0x86),_0x3acf67(0xa6)+_0x48bbd2['projectName'],{'projectDir':_0x51372d,'appCode':_0x48bbd2[_0x3acf67(0xc7)]}),console[_0x3acf67(0xda)](),console[_0x3acf67(0xda)](a130_0x804285[_0x3acf67(0xb5)](_0x3acf67(0x96))+_0x3acf67(0xd0)+a130_0x804285[_0x3acf67(0xb5)](_0x48bbd2[_0x3acf67(0x98)])+(_0x48bbd2[_0x3acf67(0xc7)]?_0x3acf67(0x91)+a130_0x804285['cyan'](_0x48bbd2[_0x3acf67(0xc7)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x48bbd2[_0x3acf67(0x98)])),await updatePackageJsonName(_0x48bbd2[_0x3acf67(0x98)]),await runTask(_0x3acf67(0xb2),()=>installDependencies(_0x48bbd2[_0x3acf67(0x98)])),await runTask(_0x3acf67(0xdd),()=>formatProjectCode(_0x48bbd2['projectName'])),await configureAppCode(_0x48bbd2['projectName'],_0x48bbd2[_0x3acf67(0xc7)]||'',_0x48bbd2['env']);let _0x28d45d=![];if(_0x48bbd2[_0x3acf67(0xc7)]){console[_0x3acf67(0xda)]('*\x20Pulling\x20API\x20configuration...');const _0x193757=process[_0x3acf67(0x92)]();try{process['chdir'](_0x51372d);const _0x2f5ce6=_0x48bbd2['env']||_0x3acf67(0xcb);initEnv(_0x2f5ce6);const {configArray:_0x2f16c9}=await fetchModelList(_0x48bbd2[_0x3acf67(0xc7)],_0x9ac12d[_0x3acf67(0xb8)]||''),_0x6223a6=DEFAULT_API_DIR,_0x1ef866=await generateApiFile(_0x2f16c9,'',_0x48bbd2[_0x3acf67(0xc7)],!![],_0x2f5ce6,_0x6223a6);console[_0x3acf67(0xda)](_0x3acf67(0xd4)+_0x2f16c9[_0x3acf67(0xac)]+'\x20dataset(s),\x20generated\x20'+_0x1ef866['modelCount']+_0x3acf67(0xb3)),logger[_0x3acf67(0xdf)](_0x3acf67(0x86),_0x3acf67(0xca)+_0x48bbd2[_0x3acf67(0xc7)]);}catch(_0x923c3a){_0x28d45d=!![],console[_0x3acf67(0xda)](_0x3acf67(0xc2)),logger[_0x3acf67(0x87)](_0x3acf67(0x86),_0x3acf67(0xe1),{'error':_0x923c3a instanceof Error?_0x923c3a['message']:String(_0x923c3a)});}finally{process[_0x3acf67(0xa5)](_0x193757);}}logger[_0x3acf67(0xc6)](_0x3acf67(0x86),_0x3acf67(0xad)+_0x48bbd2['projectName']),console[_0x3acf67(0xda)](),console[_0x3acf67(0xda)](a130_0x804285[_0x3acf67(0xb5)]('─'[_0x3acf67(0x88)](0x3c))),console[_0x3acf67(0xda)](a130_0x804285[_0x3acf67(0xba)]['bold']('🚀\x20Next\x20Steps:')),console[_0x3acf67(0xda)](),console[_0x3acf67(0xda)](_0x3acf67(0xbe)+a130_0x804285['cyan'][_0x3acf67(0xe6)](_0x3acf67(0x93)+_0x48bbd2[_0x3acf67(0x98)]+_0x3acf67(0xd2)+CLI_BIN_NAME+'\x20run\x20start')),_0x28d45d&&console['log']('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a130_0x804285[_0x3acf67(0xba)][_0x3acf67(0xe6)](CLI_BIN_NAME+_0x3acf67(0xa9))),console[_0x3acf67(0xda)](a130_0x804285['green']('─'[_0x3acf67(0x88)](0x3c)));}catch(_0x1113f8){logger[_0x3acf67(0xc1)](_0x3acf67(0x86),_0x3acf67(0xe2)+_0x48bbd2[_0x3acf67(0x98)],{'error':_0x1113f8 instanceof Error?_0x1113f8[_0x3acf67(0xd6)]:String(_0x1113f8)});try{a130_0x3746d6[_0x3acf67(0x90)](_0x51372d)&&(console['log'](_0x3acf67(0xa0)+_0x51372d),a130_0x3746d6[_0x3acf67(0xab)](_0x51372d,{'recursive':!![],'force':!![]}));}catch{logger[_0x3acf67(0x87)](_0x3acf67(0x86),_0x3acf67(0xcf)+_0x51372d);}throw _0x1113f8;}}async function runTask(_0xebaf3,_0xc243e3){const _0x3e4f3a=a130_0x4fff,_0x5f43b2=a130_0x26606d(_0xebaf3+_0x3e4f3a(0x99))[_0x3e4f3a(0xd7)]();try{const _0x5694f7=await _0xc243e3();_0x5f43b2[_0x3e4f3a(0x8b)](),console[_0x3e4f3a(0xda)](''+a130_0x804285['green'](_0x3e4f3a(0x96))+_0xebaf3+'\x20'+a130_0x804285[_0x3e4f3a(0x9b)]('['+_0x5694f7+']'));}catch(_0x53b2f7){_0x5f43b2['fail'](_0xebaf3);throw _0x53b2f7;}}function a130_0x17f6(){const _0x5e4abb=['11IWnxfM','12ZRdiqT','error','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','\x20already\x20exists','Project\x20name\x20cannot\x20be\x20empty','*\x20Configuring\x20AppCode\x20for\x20project\x20','success','appCode','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','dirname','API\x20configuration\x20pulled:\x20','production','√\x20Configuration\x20file\x20created,\x20Apps:\x20','√\x20package.json\x20updated:\x20name=','617176JVEgOG','清理项目目录失败:\x20','Project\x20name:\x20','1.0.0','\x20&&\x20','stableVersion','√\x20Pulled\x20','projectCode','message','start','name','CLI\x20版本检查','log','constants','description','Format\x20code','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','info','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','API\x20配置拉取异常','项目创建失败:\x20','配置应用AppCode:\x20','join','958500KcgLXJ','bold','36BpJcQM','trim','create','warn','repeat','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','stringify','stop','更新\x20package.json\x20失败','keys','\x20config\x20set\x20appcode\x20<app-code>\x27','utf8','existsSync','\x20|\x20AppCode:\x20','cwd','cd\x20','1349976JEaEqg','937356DdmbkJ','\x20√\x20','Project\x20directory\x20','projectName','...','142966ALJcqn','gray','env','332859IrZzzK','resolve','更新\x20package.json\x20name','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','test','49iycSAQ','belowMinimum','currentVersion','chdir','开始创建项目:\x20','apps','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','\x20api\x20pull','\x20Generated\x20by\x20rabetbase\x20cli\x20','rmSync','length','项目创建完成:\x20','parse','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','needsUpgrade','package.json','Install\x20dependencies','\x20model(s)','readFileSync','green','7950108xYzdge','version','cookie','writeFileSync','cyan','string','accessSync','10vXwLmY','\x20\x201.\x20Start\x20project:\x20'];a130_0x17f6=function(){return _0x5e4abb;};return a130_0x17f6();}async function updatePackageJsonName(_0x3050f8){const _0x16ad6b=a130_0x4fff,_0x5dd4ad=a130_0x46145a[_0x16ad6b(0x9e)](process[_0x16ad6b(0x92)](),_0x3050f8),_0x92d3f3=a130_0x46145a['join'](_0x5dd4ad,_0x16ad6b(0xb1));try{console[_0x16ad6b(0xda)](_0x16ad6b(0xc8));const _0x11e947=getRabetbaseCliPackageRoot(),_0xece72f=a130_0x46145a[_0x16ad6b(0xe4)](_0x11e947,_0x16ad6b(0xb1));let _0x3fc976=_0x16ad6b(0xd1);try{const _0x2c5458=JSON[_0x16ad6b(0xae)](a130_0x3746d6[_0x16ad6b(0xb4)](_0xece72f,'utf8'));_0x3fc976=_0x2c5458[_0x16ad6b(0xb7)]||_0x16ad6b(0xd1);}catch{}const _0x2a3054=a130_0x3746d6['readFileSync'](_0x92d3f3,'utf8'),_0x33a176=JSON[_0x16ad6b(0xae)](_0x2a3054);_0x33a176[_0x16ad6b(0xd8)]=_0x3050f8,_0x33a176[_0x16ad6b(0xdc)]=_0x3050f8+_0x16ad6b(0xaa)+_0x3fc976,a130_0x3746d6[_0x16ad6b(0xb9)](_0x92d3f3,JSON[_0x16ad6b(0x8a)](_0x33a176,null,0x2)+'\x0a',_0x16ad6b(0x8f)),console[_0x16ad6b(0xda)](_0x16ad6b(0xcd)+_0x3050f8),logger[_0x16ad6b(0xdf)](_0x16ad6b(0x86),_0x16ad6b(0x9f));}catch(_0x12c57c){logger['error'](_0x16ad6b(0x86),_0x16ad6b(0x8c));throw _0x12c57c;}}async function configureAppCode(_0x31e452,_0xb7e70d,_0x11bc75){const _0x22789b=a130_0x4fff,_0x3ac834=a130_0x46145a[_0x22789b(0x9e)](process[_0x22789b(0x92)](),_0x31e452),_0x59de8c=a130_0x46145a[_0x22789b(0xe4)](_0x3ac834,NEW_CONFIG_NAME);try{_0xb7e70d?console['log'](_0x22789b(0xc5)+_0x31e452+':\x20'+_0xb7e70d):console[_0x22789b(0xda)](_0x22789b(0xa8)+_0x31e452);const _0x12b619=getRabetbaseCliPackageRoot(),_0x76c442=a130_0x46145a['join'](_0x12b619,_0x22789b(0xb1));let _0x2c4dd7=_0x22789b(0xd1);try{const _0x2481e7=JSON[_0x22789b(0xae)](a130_0x3746d6[_0x22789b(0xb4)](_0x76c442,_0x22789b(0x8f)));_0x2c4dd7=_0x2481e7[_0x22789b(0xb7)]||'1.0.0';}catch{}const _0x322ed1=readConfig(),_0x1641a8=typeof _0x322ed1[_0x22789b(0x9c)]===_0x22789b(0xbb)?_0x322ed1['env']:undefined,_0x36615a={};for(const _0x39a62a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x322ed1[_0x39a62a]!=null)_0x36615a[_0x39a62a]=_0x322ed1[_0x39a62a];}const _0x10e51a=buildCanonicalProjectConfig(_0x36615a,{'appCodes':_0xb7e70d?[_0xb7e70d]:[],'env':_0x11bc75||_0x1641a8||'production','metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x2c4dd7}});writeConfigFile(_0x59de8c,_0x10e51a),_0xb7e70d?console[_0x22789b(0xda)](_0x22789b(0xcc)+Object[_0x22789b(0x8d)](_0x10e51a[_0x22789b(0xa7)]||{})[_0x22789b(0xe4)](',\x20')+'\x20|\x20Default:\x20'+_0x10e51a['defaultApp']):console[_0x22789b(0xda)](_0x22789b(0xe0)+CLI_BIN_NAME+_0x22789b(0x8e)),logger[_0x22789b(0xdf)](_0x22789b(0x86),_0x22789b(0xe3)+_0xb7e70d);}catch(_0x2aeb7c){logger['error']('create','配置应用AppCode失败');}}
1
+ function a132_0x198b(){const _0x1035fd=['\x20\x202.\x20Pull\x20API\x20configuration:\x20','🚀\x20Next\x20Steps:','704pfkBlr','join','rmSync','needsUpgrade','开始创建项目:\x20','cd\x20','\x20config\x20set\x20appcode\x20<app-code>\x27','cwd','cookie','159672SHRHTI','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','2WHrxpB','cyan','name','appCode','Project\x20name:\x20','CLI\x20版本检查','\x20run\x20start','*\x20Pulling\x20API\x20configuration...','W_OK','4205205UbSdyg','log','stringify','√\x20package.json\x20updated:\x20name=','2905377vrCDkO','dirname','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','fail','889970QoJnNB','warn','error','utf8','keys','production','98bLUqGU','modelCount','stop','\x20already\x20exists','stableVersion','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Format\x20code','readFileSync','belowMinimum','√\x20Pulled\x20','test','清理项目目录失败:\x20','26584162uTFhDZ','resolve','\x20&&\x20','√\x20Configuration\x20file\x20created,\x20Apps:\x20','parse','项目创建失败:\x20','projectName','info','projectCode','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','65133JOVaJZ','constants','toLocaleString','\x20\x201.\x20Start\x20project:\x20','gray','setLogPath','start','Install\x20dependencies','\x20√\x20','更新\x20package.json\x20name','create','env','配置应用AppCode:\x20','length','message','1.0.0','repeat','chdir','4YVNZYP','string','bold','12xZwjBf','existsSync','currentVersion','更新\x20package.json\x20失败','version','15994030XgVKRF','Project\x20name\x20cannot\x20be\x20empty','green','package.json','minimumVersion','*\x20Creating\x20configuration\x20file\x20for\x20project\x20'];a132_0x198b=function(){return _0x1035fd;};return a132_0x198b();}(function(_0x40c3f8,_0x50eef6){const _0x47c96d=a132_0x40ae,_0x469ece=_0x40c3f8();while(!![]){try{const _0x2dfbd1=parseInt(_0x47c96d(0x1cc))/0x1+parseInt(_0x47c96d(0x1bb))/0x2*(-parseInt(_0x47c96d(0x1c8))/0x3)+-parseInt(_0x47c96d(0x1fa))/0x4*(parseInt(_0x47c96d(0x1c4))/0x5)+-parseInt(_0x47c96d(0x1b9))/0x6*(-parseInt(_0x47c96d(0x1d2))/0x7)+parseInt(_0x47c96d(0x20a))/0x8*(parseInt(_0x47c96d(0x1e8))/0x9)+-parseInt(_0x47c96d(0x202))/0xa+-parseInt(_0x47c96d(0x1de))/0xb*(-parseInt(_0x47c96d(0x1fd))/0xc);if(_0x2dfbd1===_0x50eef6)break;else _0x469ece['push'](_0x469ece['shift']());}catch(_0x567038){_0x469ece['push'](_0x469ece['shift']());}}}(a132_0x198b,0xdd7e1));import a132_0xc81316 from'path';import a132_0x6da26d from'fs';import a132_0x1de3c4 from'chalk';import a132_0x6937ca from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';function a132_0x40ae(_0x3ce9cb,_0x5b1bff){_0x3ce9cb=_0x3ce9cb-0x1b9;const _0x198bd9=a132_0x198b();let _0x40ae97=_0x198bd9[_0x3ce9cb];return _0x40ae97;}import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x150d50){const _0x1e083c=a132_0x40ae,_0x2b4969=await checkCliVersion();(_0x2b4969[_0x1e083c(0x20d)]||_0x2b4969[_0x1e083c(0x1da)])&&(printCliUpgradeWarning(_0x2b4969),assertCliVersionSupported(_0x2b4969),logger['info']('create',_0x1e083c(0x1c0),{'currentVersion':_0x2b4969[_0x1e083c(0x1ff)],'stableVersion':_0x2b4969[_0x1e083c(0x1d6)],'minimumVersion':_0x2b4969[_0x1e083c(0x206)],'needsUpgrade':_0x2b4969[_0x1e083c(0x20d)],'belowMinimum':_0x2b4969[_0x1e083c(0x1da)]}));if(_0x150d50[_0x1e083c(0x1e6)]&&_0x150d50[_0x1e083c(0x1be)])await runCreate({'projectName':_0x150d50[_0x1e083c(0x1e6)],'appCode':_0x150d50[_0x1e083c(0x1be)],'env':_0x150d50[_0x1e083c(0x1f3)]},_0x150d50);else{if(_0x150d50[_0x1e083c(0x1e6)]){const _0x537d9a=await selectSingleAppcode(_0x150d50['cookie']);await runCreate({'projectName':_0x150d50[_0x1e083c(0x1e6)],'appCode':_0x537d9a||undefined,'env':_0x150d50[_0x1e083c(0x1f3)]},_0x150d50);}else await guidedCreateProject(_0x26e919=>runCreate(_0x26e919,_0x150d50),_0x150d50[_0x1e083c(0x1f3)],_0x150d50[_0x1e083c(0x212)]);}}async function runCreate(_0x426e5a,_0x54873e){const _0x5e1602=a132_0x40ae;if(!_0x426e5a['projectName']||_0x426e5a[_0x5e1602(0x1e4)]['trim']()==='')throw new Error(_0x5e1602(0x203));const _0x4485cf=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x4485cf[_0x5e1602(0x1dc)](_0x426e5a['projectName']))throw new Error(_0x5e1602(0x1e7));if(_0x426e5a[_0x5e1602(0x1e4)][_0x5e1602(0x1f5)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x289b56=a132_0xc81316['resolve'](process[_0x5e1602(0x211)](),_0x426e5a[_0x5e1602(0x1e4)]);if(a132_0x6da26d[_0x5e1602(0x1fe)](_0x289b56))throw new Error('Project\x20directory\x20'+_0x426e5a['projectName']+_0x5e1602(0x1d5));try{a132_0x6da26d['accessSync'](a132_0xc81316[_0x5e1602(0x1c9)](_0x289b56),a132_0x6da26d[_0x5e1602(0x1e9)][_0x5e1602(0x1c3)]);}catch{throw new Error(_0x5e1602(0x1d7));}logger[_0x5e1602(0x1ed)](_0x289b56),logger['info']('create',_0x5e1602(0x20e)+_0x426e5a[_0x5e1602(0x1e4)],{'projectDir':_0x289b56,'appCode':_0x426e5a[_0x5e1602(0x1be)]}),console[_0x5e1602(0x1c5)](),console['log'](a132_0x1de3c4[_0x5e1602(0x204)]('\x20√\x20')+_0x5e1602(0x1bf)+a132_0x1de3c4[_0x5e1602(0x204)](_0x426e5a[_0x5e1602(0x1e4)])+(_0x426e5a[_0x5e1602(0x1be)]?'\x20|\x20AppCode:\x20'+a132_0x1de3c4['cyan'](_0x426e5a[_0x5e1602(0x1be)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x426e5a['projectName'])),await updatePackageJsonName(_0x426e5a[_0x5e1602(0x1e4)]),await runTask(_0x5e1602(0x1ef),()=>installDependencies(_0x426e5a[_0x5e1602(0x1e4)])),await runTask(_0x5e1602(0x1d8),()=>formatProjectCode(_0x426e5a['projectName'])),await configureAppCode(_0x426e5a[_0x5e1602(0x1e4)],_0x426e5a[_0x5e1602(0x1be)]||'',_0x426e5a['env']);let _0x53889c=![];if(_0x426e5a['appCode']){console['log'](_0x5e1602(0x1c2));const _0x255046=process[_0x5e1602(0x211)]();try{process[_0x5e1602(0x1f9)](_0x289b56);const _0x44de75=_0x426e5a[_0x5e1602(0x1f3)]||_0x5e1602(0x1d1);initEnv(_0x44de75);const {configArray:_0x49bfe3}=await fetchModelList(_0x426e5a[_0x5e1602(0x1be)],_0x54873e['cookie']||''),_0x1b99ef=DEFAULT_API_DIR,_0x3d2dce=await generateApiFile(_0x49bfe3,'',_0x426e5a[_0x5e1602(0x1be)],!![],_0x44de75,_0x1b99ef);console[_0x5e1602(0x1c5)](_0x5e1602(0x1db)+_0x49bfe3[_0x5e1602(0x1f5)]+'\x20dataset(s),\x20generated\x20'+_0x3d2dce[_0x5e1602(0x1d3)]+'\x20model(s)'),logger[_0x5e1602(0x1e5)](_0x5e1602(0x1f2),'API\x20configuration\x20pulled:\x20'+_0x426e5a[_0x5e1602(0x1be)]);}catch(_0x38e67f){_0x53889c=!![],console['log']('!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull'),logger['warn'](_0x5e1602(0x1f2),'API\x20配置拉取异常',{'error':_0x38e67f instanceof Error?_0x38e67f[_0x5e1602(0x1f6)]:String(_0x38e67f)});}finally{process[_0x5e1602(0x1f9)](_0x255046);}}logger['success'](_0x5e1602(0x1f2),'项目创建完成:\x20'+_0x426e5a[_0x5e1602(0x1e4)]),console[_0x5e1602(0x1c5)](),console[_0x5e1602(0x1c5)](a132_0x1de3c4[_0x5e1602(0x204)]('─'['repeat'](0x3c))),console[_0x5e1602(0x1c5)](a132_0x1de3c4['cyan'][_0x5e1602(0x1fc)](_0x5e1602(0x209))),console[_0x5e1602(0x1c5)](),console[_0x5e1602(0x1c5)](_0x5e1602(0x1eb)+a132_0x1de3c4[_0x5e1602(0x1bc)][_0x5e1602(0x1fc)](_0x5e1602(0x20f)+_0x426e5a['projectName']+_0x5e1602(0x1e0)+CLI_BIN_NAME+_0x5e1602(0x1c1))),_0x53889c&&console['log'](_0x5e1602(0x208)+a132_0x1de3c4[_0x5e1602(0x1bc)][_0x5e1602(0x1fc)](CLI_BIN_NAME+'\x20api\x20pull')),console[_0x5e1602(0x1c5)](a132_0x1de3c4[_0x5e1602(0x204)]('─'[_0x5e1602(0x1f8)](0x3c)));}catch(_0x14e3dc){logger[_0x5e1602(0x1ce)](_0x5e1602(0x1f2),_0x5e1602(0x1e3)+_0x426e5a[_0x5e1602(0x1e4)],{'error':_0x14e3dc instanceof Error?_0x14e3dc[_0x5e1602(0x1f6)]:String(_0x14e3dc)});try{a132_0x6da26d['existsSync'](_0x289b56)&&(console[_0x5e1602(0x1c5)](_0x5e1602(0x1ca)+_0x289b56),a132_0x6da26d[_0x5e1602(0x20c)](_0x289b56,{'recursive':!![],'force':!![]}));}catch{logger[_0x5e1602(0x1cd)](_0x5e1602(0x1f2),_0x5e1602(0x1dd)+_0x289b56);}throw _0x14e3dc;}}async function runTask(_0x415d30,_0x45f638){const _0x321694=a132_0x40ae,_0x2df4f0=a132_0x6937ca(_0x415d30+'...')[_0x321694(0x1ee)]();try{const _0x4aa72b=await _0x45f638();_0x2df4f0[_0x321694(0x1d4)](),console[_0x321694(0x1c5)](''+a132_0x1de3c4['green'](_0x321694(0x1f0))+_0x415d30+'\x20'+a132_0x1de3c4[_0x321694(0x1ec)]('['+_0x4aa72b+']'));}catch(_0x3323b3){_0x2df4f0[_0x321694(0x1cb)](_0x415d30);throw _0x3323b3;}}async function updatePackageJsonName(_0x362369){const _0x1da5a9=a132_0x40ae,_0x2bcf6e=a132_0xc81316[_0x1da5a9(0x1df)](process[_0x1da5a9(0x211)](),_0x362369),_0x194580=a132_0xc81316['join'](_0x2bcf6e,_0x1da5a9(0x205));try{console['log']('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x2dfc96=getRabetbaseCliPackageRoot(),_0x2dfcea=a132_0xc81316[_0x1da5a9(0x20b)](_0x2dfc96,_0x1da5a9(0x205));let _0x3df566=_0x1da5a9(0x1f7);try{const _0x525234=JSON[_0x1da5a9(0x1e2)](a132_0x6da26d[_0x1da5a9(0x1d9)](_0x2dfcea,_0x1da5a9(0x1cf)));_0x3df566=_0x525234[_0x1da5a9(0x201)]||_0x1da5a9(0x1f7);}catch{}const _0x33d57b=a132_0x6da26d[_0x1da5a9(0x1d9)](_0x194580,_0x1da5a9(0x1cf)),_0x16272f=JSON[_0x1da5a9(0x1e2)](_0x33d57b);_0x16272f[_0x1da5a9(0x1bd)]=_0x362369,_0x16272f['description']=_0x362369+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x3df566,a132_0x6da26d['writeFileSync'](_0x194580,JSON[_0x1da5a9(0x1c6)](_0x16272f,null,0x2)+'\x0a',_0x1da5a9(0x1cf)),console[_0x1da5a9(0x1c5)](_0x1da5a9(0x1c7)+_0x362369),logger['info']('create',_0x1da5a9(0x1f1));}catch(_0x2d8a0e){logger['error'](_0x1da5a9(0x1f2),_0x1da5a9(0x200));throw _0x2d8a0e;}}async function configureAppCode(_0x1382ca,_0x8ab7b0,_0x136dfe){const _0x32082c=a132_0x40ae,_0x3f9be3=a132_0xc81316[_0x32082c(0x1df)](process[_0x32082c(0x211)](),_0x1382ca),_0x119513=a132_0xc81316[_0x32082c(0x20b)](_0x3f9be3,NEW_CONFIG_NAME);try{_0x8ab7b0?console[_0x32082c(0x1c5)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x1382ca+':\x20'+_0x8ab7b0):console['log'](_0x32082c(0x207)+_0x1382ca);const _0x46c62e=getRabetbaseCliPackageRoot(),_0x1573f8=a132_0xc81316[_0x32082c(0x20b)](_0x46c62e,_0x32082c(0x205));let _0x260ad8=_0x32082c(0x1f7);try{const _0x35df99=JSON['parse'](a132_0x6da26d[_0x32082c(0x1d9)](_0x1573f8,_0x32082c(0x1cf)));_0x260ad8=_0x35df99['version']||'1.0.0';}catch{}const _0x2de526=readConfig(),_0x5bb507=typeof _0x2de526[_0x32082c(0x1f3)]===_0x32082c(0x1fb)?_0x2de526[_0x32082c(0x1f3)]:undefined,_0x55208f={};for(const _0x5e1f41 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x2de526[_0x5e1f41]!=null)_0x55208f[_0x5e1f41]=_0x2de526[_0x5e1f41];}const _0x33159d=buildCanonicalProjectConfig(_0x55208f,{'appCodes':_0x8ab7b0?[_0x8ab7b0]:[],'env':_0x136dfe||_0x5bb507||'production','metadata':{'createdAt':new Date()[_0x32082c(0x1ea)](),'version':_0x260ad8}});writeConfigFile(_0x119513,_0x33159d),_0x8ab7b0?console['log'](_0x32082c(0x1e1)+Object[_0x32082c(0x1d0)](_0x33159d['apps']||{})[_0x32082c(0x20b)](',\x20')+'\x20|\x20Default:\x20'+_0x33159d['defaultApp']):console['log'](_0x32082c(0x1ba)+CLI_BIN_NAME+_0x32082c(0x210)),logger['info'](_0x32082c(0x1f2),_0x32082c(0x1f4)+_0x8ab7b0);}catch(_0x36073a){logger['error'](_0x32082c(0x1f2),'配置应用AppCode失败');}}
@@ -1 +1 @@
1
- (function(_0x315286,_0x2acc34){const _0x3bfb54=a131_0x1de9,_0x235470=_0x315286();while(!![]){try{const _0x5861f1=-parseInt(_0x3bfb54(0x12f))/0x1+parseInt(_0x3bfb54(0x11b))/0x2+parseInt(_0x3bfb54(0x111))/0x3*(parseInt(_0x3bfb54(0x130))/0x4)+parseInt(_0x3bfb54(0x140))/0x5+-parseInt(_0x3bfb54(0x132))/0x6*(parseInt(_0x3bfb54(0x12d))/0x7)+parseInt(_0x3bfb54(0x118))/0x8*(-parseInt(_0x3bfb54(0x141))/0x9)+parseInt(_0x3bfb54(0x13e))/0xa*(parseInt(_0x3bfb54(0x139))/0xb);if(_0x5861f1===_0x2acc34)break;else _0x235470['push'](_0x235470['shift']());}catch(_0x507878){_0x235470['push'](_0x235470['shift']());}}}(a131_0x1e4c,0x939ee));import a131_0x35bdd2 from'path';import a131_0x562684 from'fs/promises';function a131_0x1e4c(){const _0x2f8179=['\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','bun\x20--version','needsUpgrade','parse','3251624RmENnz','\x0a√\x20Project\x20','validation','1326304BIipcg','chdir','package.json','modelCount','...','log','string','\x20api\x20pull`\x20manually\x20later.','W_OK','utf-8','\x20dataset(s),\x20generated\x20','writeFile','belowMinimum','env','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','trim','\x20\x20Installing\x20dependencies...','length','7370230DzfmPE','\x20model(s)','70598FhYUAS','4bQXhvK','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','6RUBgIa','dirname','stringify','*\x20Creating\x20project\x20','toLocaleString','Cannot\x20create\x20project\x20in\x20current\x20directory.','\x22\x20already\x20exists.','2783kUySIv','ignore','join','Project\x20name\x20contains\x20invalid\x20characters.','\x20\x20√\x20Code\x20formatted','23930XEkuVj','cwd','1540065ZBFMLD','9eqeTte','resolve','constants','Use\x20a\x20different\x20project\x20name.','name','test','\x20\x20Pulling\x20API\x20configuration...','production','access','readFile','1674003Ljbxqb','\x20\x20√\x20package.json\x20updated','Project\x20name\x20cannot\x20be\x20empty.'];a131_0x1e4c=function(){return _0x2f8179;};return a131_0x1e4c();}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';function a131_0x1de9(_0x37b49f,_0x5bcb63){_0x37b49f=_0x37b49f-0x10d;const _0x1e4c43=a131_0x1e4c();let _0x1de993=_0x1e4c43[_0x37b49f];return _0x1de993;}import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x39d946,_0x2f21e2,_0x2fb7eb,_0x55fdaa){const _0x3d9ce8=a131_0x1de9,_0x285b03=await checkCliVersion();(_0x285b03[_0x3d9ce8(0x116)]||_0x285b03[_0x3d9ce8(0x127)])&&(printCliUpgradeWarning(_0x285b03),assertCliVersionSupported(_0x285b03));if(!_0x39d946||_0x39d946[_0x3d9ce8(0x12a)]()==='')throw CliErrors['validation'](_0x3d9ce8(0x113));const _0x181231=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x181231[_0x3d9ce8(0x146)](_0x39d946))throw CliErrors['validation'](_0x3d9ce8(0x13c),'Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters');if(_0x39d946[_0x3d9ce8(0x12c)]>0x64)throw CliErrors[_0x3d9ce8(0x11a)]('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x240537=a131_0x35bdd2[_0x3d9ce8(0x142)](process[_0x3d9ce8(0x13f)](),_0x39d946);if(existsSync(_0x240537))throw CliErrors[_0x3d9ce8(0x11a)]('Project\x20directory\x20\x22'+_0x39d946+_0x3d9ce8(0x138),_0x3d9ce8(0x144));try{const _0x2d155a=a131_0x35bdd2[_0x3d9ce8(0x133)](_0x240537);await a131_0x562684[_0x3d9ce8(0x10f)](_0x2d155a,a131_0x562684[_0x3d9ce8(0x143)][_0x3d9ce8(0x123)]);}catch{throw CliErrors[_0x3d9ce8(0x11a)](_0x3d9ce8(0x137),'Check\x20directory\x20permissions.');}try{console[_0x3d9ce8(0x120)](_0x3d9ce8(0x135)+_0x39d946+_0x3d9ce8(0x11f));const _0x443123=getSubAppReactDemoTemplateDir();await copyDirectory(_0x443123,_0x240537),console['log']('\x20\x20√\x20Project\x20template\x20created'),await updatePackageJsonName(_0x39d946),console[_0x3d9ce8(0x120)](_0x3d9ce8(0x112)),console[_0x3d9ce8(0x120)](_0x3d9ce8(0x12b)),console[_0x3d9ce8(0x120)](_0x3d9ce8(0x129)),await formatCode(_0x240537),console[_0x3d9ce8(0x120)](_0x3d9ce8(0x13d)),await configureProject(_0x39d946,_0x2fb7eb,_0x2f21e2),console[_0x3d9ce8(0x120)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x2fb7eb&&await pullApiConfig(_0x240537,_0x2fb7eb,_0x2f21e2,_0x55fdaa),console['log'](_0x3d9ce8(0x119)+_0x39d946+'\x20created\x20successfully!'),console[_0x3d9ce8(0x120)]('\x0a\x20\x20cd\x20'+_0x39d946),console[_0x3d9ce8(0x120)]('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0x4db0e6){try{existsSync(_0x240537)&&await a131_0x562684['rm'](_0x240537,{'recursive':!![],'force':!![]});}catch{}throw _0x4db0e6;}}async function updatePackageJsonName(_0x224628){const _0x870da4=a131_0x1de9,_0x3c5480=a131_0x35bdd2[_0x870da4(0x142)](process[_0x870da4(0x13f)](),_0x224628),_0x221c40=a131_0x35bdd2[_0x870da4(0x13b)](_0x3c5480,_0x870da4(0x11d)),_0x145c01=await a131_0x562684[_0x870da4(0x110)](_0x221c40,_0x870da4(0x124)),_0x24dc4e=JSON[_0x870da4(0x117)](_0x145c01);_0x24dc4e[_0x870da4(0x145)]=_0x224628,_0x24dc4e['description']=_0x870da4(0x131),await a131_0x562684[_0x870da4(0x126)](_0x221c40,JSON[_0x870da4(0x134)](_0x24dc4e,null,0x2)+'\x0a');}function detectPackageManager(){const _0x5e30a3=a131_0x1de9;try{return execSync(_0x5e30a3(0x115),{'stdio':_0x5e30a3(0x13a)}),'bun';}catch{return'npm';}}async function formatCode(_0x3aad45){try{await execAsync('bun\x20run\x20format',{'cwd':_0x3aad45});}catch{}}async function configureProject(_0x4f4d3a,_0x5b13a8,_0x72638e){const _0x32940e=a131_0x1de9,_0x4e7ef2=a131_0x35bdd2[_0x32940e(0x142)](process[_0x32940e(0x13f)](),_0x4f4d3a),_0x4082ed=a131_0x35bdd2[_0x32940e(0x13b)](_0x4e7ef2,NEW_CONFIG_NAME),_0x4e84d8=readConfig(),_0xb23750=typeof _0x4e84d8[_0x32940e(0x128)]===_0x32940e(0x121)?_0x4e84d8['env']:undefined,_0x5caaf6={};for(const _0x92e1c5 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x4e84d8[_0x92e1c5]!=null)_0x5caaf6[_0x92e1c5]=_0x4e84d8[_0x92e1c5];}const _0x59aebe=buildCanonicalProjectConfig(_0x5caaf6,{'appCodes':_0x5b13a8?[_0x5b13a8]:[],'env':_0x72638e||_0xb23750||_0x32940e(0x10e),'metadata':{'createdAt':new Date()[_0x32940e(0x136)](),'version':getCliVersion()}});writeConfigFile(_0x4082ed,_0x59aebe);}async function pullApiConfig(_0x1b0268,_0x306c08,_0x43343d,_0x55d1f0){const _0x5a7f59=a131_0x1de9,_0x1bb2a1=process[_0x5a7f59(0x13f)]();try{process[_0x5a7f59(0x11c)](_0x1b0268);const _0x1a66b5=_0x43343d||_0x5a7f59(0x10e);initEnv(_0x1a66b5),console[_0x5a7f59(0x120)](_0x5a7f59(0x10d));const {configArray:_0x4dfb44}=await fetchModelList(_0x306c08,_0x55d1f0||''),_0x1da547=await generateApiFile(_0x4dfb44,'',_0x306c08,!![],_0x1a66b5,DEFAULT_API_DIR);console['log']('\x20\x20√\x20Pulled\x20'+_0x4dfb44[_0x5a7f59(0x12c)]+_0x5a7f59(0x125)+_0x1da547[_0x5a7f59(0x11e)]+_0x5a7f59(0x12e));}catch(_0x4caeda){console[_0x5a7f59(0x120)](_0x5a7f59(0x114)+CLI_BIN_NAME+_0x5a7f59(0x122));}finally{process[_0x5a7f59(0x11c)](_0x1bb2a1);}}
1
+ (function(_0x47206d,_0x6f8a66){const _0x30ddb0=a133_0x2f11,_0x43e6ef=_0x47206d();while(!![]){try{const _0x5b55be=-parseInt(_0x30ddb0(0xa5))/0x1+parseInt(_0x30ddb0(0x9f))/0x2*(parseInt(_0x30ddb0(0x95))/0x3)+-parseInt(_0x30ddb0(0xa6))/0x4*(parseInt(_0x30ddb0(0xa0))/0x5)+-parseInt(_0x30ddb0(0x93))/0x6+parseInt(_0x30ddb0(0x97))/0x7*(parseInt(_0x30ddb0(0x88))/0x8)+-parseInt(_0x30ddb0(0xb3))/0x9*(parseInt(_0x30ddb0(0xb4))/0xa)+parseInt(_0x30ddb0(0xa1))/0xb;if(_0x5b55be===_0x6f8a66)break;else _0x43e6ef['push'](_0x43e6ef['shift']());}catch(_0x4ecdcb){_0x43e6ef['push'](_0x43e6ef['shift']());}}}(a133_0x194d,0xa1b9c));import a133_0x4d2333 from'path';import a133_0x4bac61 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';function a133_0x194d(){const _0x244eac=['production','belowMinimum','modelCount','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','bun\x20--version','9XFujMA','11155700eXPFYu','Project\x20directory\x20\x22','join','validation','stringify','name','parse','\x20\x20√\x20Project\x20template\x20created','\x22\x20already\x20exists.','\x0a√\x20Project\x20','description','Check\x20directory\x20permissions.','*\x20Creating\x20project\x20','trim','env','\x20dataset(s),\x20generated\x20','Project\x20name\x20contains\x20invalid\x20characters.','resolve','Project\x20name\x20cannot\x20be\x20empty.','6453560TZmnCN','\x20\x20√\x20Configuration\x20file\x20created','\x20\x20√\x20Pulled\x20','cwd','utf-8','W_OK','Use\x20a\x20different\x20project\x20name.','ignore','\x20\x20Pulling\x20API\x20configuration...','\x20created\x20successfully!','constants','6882228vzdyLY','...','31137yQLvjK','package.json','7ZLDzRr','\x20\x20√\x20package.json\x20updated','bun\x20run\x20format','needsUpgrade','\x0a\x20\x20cd\x20','\x20api\x20pull`\x20manually\x20later.','\x20model(s)','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','174ziDROv','18390SHPadU','26985585cZcJom','chdir','\x20\x20Installing\x20dependencies...','writeFile','38839rZvqqC','1304fZYGVp','log','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','\x20\x20rabetbase\x20run\x20start\x0a','bun','toLocaleString','string','readFile'];a133_0x194d=function(){return _0x244eac;};return a133_0x194d();}import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x36e98e,_0x16ea50,_0x4180b6,_0x502987){const _0x5b8f83=a133_0x2f11,_0x348e02=await checkCliVersion();(_0x348e02[_0x5b8f83(0x9a)]||_0x348e02[_0x5b8f83(0xaf)])&&(printCliUpgradeWarning(_0x348e02),assertCliVersionSupported(_0x348e02));if(!_0x36e98e||_0x36e98e[_0x5b8f83(0xc1)]()==='')throw CliErrors[_0x5b8f83(0xb7)](_0x5b8f83(0x87));const _0x4e69e0=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x4e69e0['test'](_0x36e98e))throw CliErrors[_0x5b8f83(0xb7)](_0x5b8f83(0x85),_0x5b8f83(0x9e));if(_0x36e98e['length']>0x64)throw CliErrors['validation']('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x38f084=a133_0x4d2333[_0x5b8f83(0x86)](process['cwd'](),_0x36e98e);if(existsSync(_0x38f084))throw CliErrors['validation'](_0x5b8f83(0xb5)+_0x36e98e+_0x5b8f83(0xbc),_0x5b8f83(0x8e));try{const _0xe07866=a133_0x4d2333['dirname'](_0x38f084);await a133_0x4bac61['access'](_0xe07866,a133_0x4bac61[_0x5b8f83(0x92)][_0x5b8f83(0x8d)]);}catch{throw CliErrors[_0x5b8f83(0xb7)]('Cannot\x20create\x20project\x20in\x20current\x20directory.',_0x5b8f83(0xbf));}try{console[_0x5b8f83(0xa7)](_0x5b8f83(0xc0)+_0x36e98e+_0x5b8f83(0x94));const _0x31d7b1=getSubAppReactDemoTemplateDir();await copyDirectory(_0x31d7b1,_0x38f084),console[_0x5b8f83(0xa7)](_0x5b8f83(0xbb)),await updatePackageJsonName(_0x36e98e),console['log'](_0x5b8f83(0x98)),console[_0x5b8f83(0xa7)](_0x5b8f83(0xa3)),console[_0x5b8f83(0xa7)]('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x38f084),console[_0x5b8f83(0xa7)]('\x20\x20√\x20Code\x20formatted'),await configureProject(_0x36e98e,_0x4180b6,_0x16ea50),console['log'](_0x5b8f83(0x89)),_0x4180b6&&await pullApiConfig(_0x38f084,_0x4180b6,_0x16ea50,_0x502987),console['log'](_0x5b8f83(0xbd)+_0x36e98e+_0x5b8f83(0x91)),console[_0x5b8f83(0xa7)](_0x5b8f83(0x9b)+_0x36e98e),console['log'](_0x5b8f83(0xa9));}catch(_0x11bd65){try{existsSync(_0x38f084)&&await a133_0x4bac61['rm'](_0x38f084,{'recursive':!![],'force':!![]});}catch{}throw _0x11bd65;}}function a133_0x2f11(_0x1a8436,_0x2b6bb5){_0x1a8436=_0x1a8436-0x83;const _0x194dd3=a133_0x194d();let _0x2f117d=_0x194dd3[_0x1a8436];return _0x2f117d;}async function updatePackageJsonName(_0x1768f0){const _0x47cb81=a133_0x2f11,_0xc10ccd=a133_0x4d2333[_0x47cb81(0x86)](process[_0x47cb81(0x8b)](),_0x1768f0),_0x40f306=a133_0x4d2333[_0x47cb81(0xb6)](_0xc10ccd,_0x47cb81(0x96)),_0x671173=await a133_0x4bac61[_0x47cb81(0xad)](_0x40f306,_0x47cb81(0x8c)),_0x3ace2a=JSON[_0x47cb81(0xba)](_0x671173);_0x3ace2a[_0x47cb81(0xb9)]=_0x1768f0,_0x3ace2a[_0x47cb81(0xbe)]=_0x47cb81(0xa8),await a133_0x4bac61[_0x47cb81(0xa4)](_0x40f306,JSON[_0x47cb81(0xb8)](_0x3ace2a,null,0x2)+'\x0a');}function detectPackageManager(){const _0x317104=a133_0x2f11;try{return execSync(_0x317104(0xb2),{'stdio':_0x317104(0x8f)}),_0x317104(0xaa);}catch{return'npm';}}async function formatCode(_0x13606a){const _0x26dd3d=a133_0x2f11;try{await execAsync(_0x26dd3d(0x99),{'cwd':_0x13606a});}catch{}}async function configureProject(_0x36c91d,_0x52a9f9,_0x2943eb){const _0x3cf2a2=a133_0x2f11,_0x599b16=a133_0x4d2333[_0x3cf2a2(0x86)](process['cwd'](),_0x36c91d),_0x50f63e=a133_0x4d2333['join'](_0x599b16,NEW_CONFIG_NAME),_0x3adcef=readConfig(),_0x5b3cfd=typeof _0x3adcef[_0x3cf2a2(0x83)]===_0x3cf2a2(0xac)?_0x3adcef[_0x3cf2a2(0x83)]:undefined,_0x4ef8f4={};for(const _0x3c889d of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3adcef[_0x3c889d]!=null)_0x4ef8f4[_0x3c889d]=_0x3adcef[_0x3c889d];}const _0x352553=buildCanonicalProjectConfig(_0x4ef8f4,{'appCodes':_0x52a9f9?[_0x52a9f9]:[],'env':_0x2943eb||_0x5b3cfd||'production','metadata':{'createdAt':new Date()[_0x3cf2a2(0xab)](),'version':getCliVersion()}});writeConfigFile(_0x50f63e,_0x352553);}async function pullApiConfig(_0x51b87b,_0x456ed1,_0x4e114d,_0x5ad4b1){const _0x5bf65b=a133_0x2f11,_0x57728a=process[_0x5bf65b(0x8b)]();try{process[_0x5bf65b(0xa2)](_0x51b87b);const _0x212ec2=_0x4e114d||_0x5bf65b(0xae);initEnv(_0x212ec2),console[_0x5bf65b(0xa7)](_0x5bf65b(0x90));const {configArray:_0x22644d}=await fetchModelList(_0x456ed1,_0x5ad4b1||''),_0x2f4b57=await generateApiFile(_0x22644d,'',_0x456ed1,!![],_0x212ec2,DEFAULT_API_DIR);console[_0x5bf65b(0xa7)](_0x5bf65b(0x8a)+_0x22644d['length']+_0x5bf65b(0x84)+_0x2f4b57[_0x5bf65b(0xb0)]+_0x5bf65b(0x9d));}catch(_0x27dc41){console[_0x5bf65b(0xa7)](_0x5bf65b(0xb1)+CLI_BIN_NAME+_0x5bf65b(0x9c));}finally{process[_0x5bf65b(0xa2)](_0x57728a);}}
@@ -1 +1 @@
1
- (function(_0x6b2a58,_0x4fa2f4){const _0x50c558=a132_0x54e1,_0x30b801=_0x6b2a58();while(!![]){try{const _0x26e805=parseInt(_0x50c558(0xc6))/0x1*(-parseInt(_0x50c558(0xcb))/0x2)+-parseInt(_0x50c558(0xc5))/0x3+parseInt(_0x50c558(0xc7))/0x4+-parseInt(_0x50c558(0xcc))/0x5*(-parseInt(_0x50c558(0xc1))/0x6)+-parseInt(_0x50c558(0xbf))/0x7*(parseInt(_0x50c558(0xc2))/0x8)+-parseInt(_0x50c558(0xbe))/0x9*(-parseInt(_0x50c558(0xc9))/0xa)+parseInt(_0x50c558(0xc3))/0xb;if(_0x26e805===_0x4fa2f4)break;else _0x30b801['push'](_0x30b801['shift']());}catch(_0xc6560e){_0x30b801['push'](_0x30b801['shift']());}}}(a132_0xa3ba,0xd480c));import a132_0x3f8f22 from'node:path';function a132_0x54e1(_0x4a70af,_0x240176){_0x4a70af=_0x4a70af-0xbd;const _0xa3baa4=a132_0xa3ba();let _0x54e18b=_0xa3baa4[_0x4a70af];return _0x54e18b;}function a132_0xa3ba(){const _0x557fa2=['join','2QzcpCB','1697845BQPQBW','resolve','27pUFrZJ','14SBgUqO','sub-app-react-demo','6QerFzn','525736zdpbhS','4109061zqgNoX','projects','52545YmTYUy','970036dhFTYN','1264472dJrtrf','../../../../','3200530KAZUOs'];a132_0xa3ba=function(){return _0x557fa2;};return a132_0xa3ba();}import{fileURLToPath}from'node:url';const __dirname=a132_0x3f8f22['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x2ad623=a132_0x54e1;return a132_0x3f8f22[_0x2ad623(0xbd)](__dirname,_0x2ad623(0xc8));}export function getSubAppReactDemoTemplateDir(){const _0x165610=a132_0x54e1;return a132_0x3f8f22[_0x165610(0xca)](getRabetbaseCliPackageRoot(),'templates',_0x165610(0xc4),_0x165610(0xc0));}
1
+ function a134_0x25ad(_0x378dce,_0x13b572){_0x378dce=_0x378dce-0xea;const _0x3e12ff=a134_0x3e12();let _0x25ad34=_0x3e12ff[_0x378dce];return _0x25ad34;}(function(_0xb55550,_0x4b0ba1){const _0x3f5141=a134_0x25ad,_0x5aad66=_0xb55550();while(!![]){try{const _0x3e7b9e=parseInt(_0x3f5141(0xf7))/0x1+-parseInt(_0x3f5141(0xf3))/0x2+-parseInt(_0x3f5141(0xed))/0x3+-parseInt(_0x3f5141(0xf0))/0x4*(parseInt(_0x3f5141(0xf5))/0x5)+parseInt(_0x3f5141(0xf4))/0x6+parseInt(_0x3f5141(0xeb))/0x7+-parseInt(_0x3f5141(0xf6))/0x8*(-parseInt(_0x3f5141(0xea))/0x9);if(_0x3e7b9e===_0x4b0ba1)break;else _0x5aad66['push'](_0x5aad66['shift']());}catch(_0x3d6e8d){_0x5aad66['push'](_0x5aad66['shift']());}}}(a134_0x3e12,0x34d68));import a134_0x41054b from'node:path';import{fileURLToPath}from'node:url';function a134_0x3e12(){const _0x5aaaea=['171436rjABgz','resolve','../../../../','521694VMfFXa','2262210dnhyQf','15pbTJIl','2815024ODZfCV','38739tNpeNy','9OGURQq','154637tQInjS','templates','551685svXLYN','sub-app-react-demo','join'];a134_0x3e12=function(){return _0x5aaaea;};return a134_0x3e12();}const __dirname=a134_0x41054b['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x1ccf9b=a134_0x25ad;return a134_0x41054b[_0x1ccf9b(0xf1)](__dirname,_0x1ccf9b(0xf2));}export function getSubAppReactDemoTemplateDir(){const _0x1bd36d=a134_0x25ad;return a134_0x41054b[_0x1bd36d(0xef)](getRabetbaseCliPackageRoot(),_0x1bd36d(0xec),'projects',_0x1bd36d(0xee));}
@@ -1 +1 @@
1
- (function(_0x1d91d2,_0x705537){const _0x3b0706=a133_0x24d4,_0x32b1ee=_0x1d91d2();while(!![]){try{const _0x3464c5=-parseInt(_0x3b0706(0xda))/0x1*(-parseInt(_0x3b0706(0xcf))/0x2)+-parseInt(_0x3b0706(0xd7))/0x3*(-parseInt(_0x3b0706(0xdb))/0x4)+parseInt(_0x3b0706(0xd1))/0x5*(parseInt(_0x3b0706(0xd8))/0x6)+parseInt(_0x3b0706(0xd0))/0x7*(parseInt(_0x3b0706(0xcd))/0x8)+parseInt(_0x3b0706(0xd9))/0x9+parseInt(_0x3b0706(0xd3))/0xa+-parseInt(_0x3b0706(0xdc))/0xb;if(_0x3464c5===_0x705537)break;else _0x32b1ee['push'](_0x32b1ee['shift']());}catch(_0xe9933c){_0x32b1ee['push'](_0x32b1ee['shift']());}}}(a133_0x367b,0x83d5c));import a133_0x1a727a from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a133_0x367b(){const _0x52a2cf=['info','success','72VeRueJ','error','94JVRjnl','422149HIibjh','19145eAlFKQ','项目模板复制完成','9457280viKfYy','resolve','cwd','开始复制项目模板','231uTpxtO','78vIyWsU','2286027DTvpne','13613QiBLVZ','12980ezThKa','23561461tLLtFD','now','message'];a133_0x367b=function(){return _0x52a2cf;};return a133_0x367b();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a133_0x24d4(_0x45bb3f,_0x47625e){_0x45bb3f=_0x45bb3f-0xcc;const _0x367b9b=a133_0x367b();let _0x24d434=_0x367b9b[_0x45bb3f];return _0x24d434;}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x2fcfc3){const _0x1d4c36=a133_0x24d4,_0x3f7314=Date['now'](),_0x4cc292=a133_0x1a727a[_0x1d4c36(0xd4)](process[_0x1d4c36(0xd5)](),_0x2fcfc3);try{logger[_0x1d4c36(0xdf)]('copy',_0x1d4c36(0xd6),{'projectCode':_0x2fcfc3,'templateDir':templateDir}),await copyDirectory(templateDir,_0x4cc292);const _0x5abb46=Date[_0x1d4c36(0xdd)]()-_0x3f7314;logger[_0x1d4c36(0xcc)]('copy',_0x1d4c36(0xd2),_0x5abb46,{'projectCode':_0x2fcfc3});}catch(_0x17695a){const _0x1b9ed0=Date['now']()-_0x3f7314;logger[_0x1d4c36(0xce)]('copy','项目模板复制失败',{'projectCode':_0x2fcfc3,'error':_0x17695a instanceof Error?_0x17695a[_0x1d4c36(0xde)]:String(_0x17695a),'duration':_0x1b9ed0});throw _0x17695a;}return formatElapsed(_0x3f7314);}
1
+ (function(_0x3d1a3f,_0x2c73e2){const _0x474229=a135_0x29b6,_0x11651b=_0x3d1a3f();while(!![]){try{const _0x431341=parseInt(_0x474229(0x1b4))/0x1+parseInt(_0x474229(0x1a6))/0x2*(-parseInt(_0x474229(0x1ad))/0x3)+-parseInt(_0x474229(0x1b5))/0x4+parseInt(_0x474229(0x1b0))/0x5*(parseInt(_0x474229(0x1af))/0x6)+-parseInt(_0x474229(0x1ab))/0x7+parseInt(_0x474229(0x1b3))/0x8*(parseInt(_0x474229(0x1b1))/0x9)+parseInt(_0x474229(0x1a8))/0xa;if(_0x431341===_0x2c73e2)break;else _0x11651b['push'](_0x11651b['shift']());}catch(_0x180621){_0x11651b['push'](_0x11651b['shift']());}}}(a135_0x4dc7,0x3ba80));import a135_0x369fd6 from'node:path';function a135_0x4dc7(){const _0x2c9076=['108ULstKL','info','272896QPgLUg','440768EsdKZZ','985584FtpbUS','项目模板复制完成','1004YGwNJW','copy','2459500wWmUWC','cwd','now','3042270ECPJWh','项目模板复制失败','2334EjoTql','message','558oVNmzl','11820PEydds'];a135_0x4dc7=function(){return _0x2c9076;};return a135_0x4dc7();}import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a135_0x29b6(_0x39b3f7,_0x31f11f){_0x39b3f7=_0x39b3f7-0x1a5;const _0x4dc731=a135_0x4dc7();let _0x29b64a=_0x4dc731[_0x39b3f7];return _0x29b64a;}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x47745a){const _0x19e50c=a135_0x29b6,_0x18035d=Date[_0x19e50c(0x1aa)](),_0x5baa3f=a135_0x369fd6['resolve'](process[_0x19e50c(0x1a9)](),_0x47745a);try{logger[_0x19e50c(0x1b2)](_0x19e50c(0x1a7),'开始复制项目模板',{'projectCode':_0x47745a,'templateDir':templateDir}),await copyDirectory(templateDir,_0x5baa3f);const _0x4517f1=Date[_0x19e50c(0x1aa)]()-_0x18035d;logger['success']('copy',_0x19e50c(0x1a5),_0x4517f1,{'projectCode':_0x47745a});}catch(_0x187188){const _0x90c204=Date[_0x19e50c(0x1aa)]()-_0x18035d;logger['error'](_0x19e50c(0x1a7),_0x19e50c(0x1ac),{'projectCode':_0x47745a,'error':_0x187188 instanceof Error?_0x187188[_0x19e50c(0x1ae)]:String(_0x187188),'duration':_0x90c204});throw _0x187188;}return formatElapsed(_0x18035d);}
@@ -1 +1 @@
1
- (function(_0x125222,_0x27c81b){const _0x309b34=a134_0x4502,_0x4d8d21=_0x125222();while(!![]){try{const _0x5cd3af=-parseInt(_0x309b34(0x201))/0x1+parseInt(_0x309b34(0x204))/0x2+parseInt(_0x309b34(0x202))/0x3*(parseInt(_0x309b34(0x1fe))/0x4)+parseInt(_0x309b34(0x1f9))/0x5*(parseInt(_0x309b34(0x1f8))/0x6)+parseInt(_0x309b34(0x1fd))/0x7+parseInt(_0x309b34(0x205))/0x8*(-parseInt(_0x309b34(0x203))/0x9)+-parseInt(_0x309b34(0x1f6))/0xa*(parseInt(_0x309b34(0x1fc))/0xb);if(_0x5cd3af===_0x27c81b)break;else _0x4d8d21['push'](_0x4d8d21['shift']());}catch(_0x450f54){_0x4d8d21['push'](_0x4d8d21['shift']());}}}(a134_0x3648,0x2084f));import a134_0x4a1b61 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a134_0x3648(){const _0xfe378c=['382690PEyydV','4iNRaIv','success','info','54692hMytmG','723531JFqomc','65241iDSCxl','161536OhQVpB','104ZbIWiY','resolve','--write','now','message','cwd','21790Ncymwq','format','84StbsHi','18395bPqLYP','开始格式化代码','error','737HTsnGA'];a134_0x3648=function(){return _0xfe378c;};return a134_0x3648();}function a134_0x4502(_0x2dc7f6,_0xbddce4){_0x2dc7f6=_0x2dc7f6-0x1f2;const _0x364827=a134_0x3648();let _0x450204=_0x364827[_0x2dc7f6];return _0x450204;}export async function formatProjectCode(_0x102019){const _0x2c8006=a134_0x4502,_0xd657f6=Date['now'](),_0x18e42d=a134_0x4a1b61[_0x2c8006(0x206)](process[_0x2c8006(0x1f5)](),_0x102019);try{logger[_0x2c8006(0x200)](_0x2c8006(0x1f7),_0x2c8006(0x1fa),{'projectCode':_0x102019}),await execa(resolveNpmBin('npx'),['prettier',_0x2c8006(0x1f2),'.'],{'cwd':_0x18e42d});const _0x4fe925=Date[_0x2c8006(0x1f3)]()-_0xd657f6;logger[_0x2c8006(0x1ff)](_0x2c8006(0x1f7),'代码格式化完成',_0x4fe925,{'projectCode':_0x102019});}catch(_0x58eae8){const _0xc7a67a=Date[_0x2c8006(0x1f3)]()-_0xd657f6;logger[_0x2c8006(0x1fb)]('format','代码格式化失败',{'projectCode':_0x102019,'error':_0x58eae8 instanceof Error?_0x58eae8[_0x2c8006(0x1f4)]:String(_0x58eae8),'duration':_0xc7a67a});throw _0x58eae8;}return formatElapsed(_0xd657f6);}
1
+ function a136_0x533d(_0x538208,_0x1e4e0c){_0x538208=_0x538208-0xc5;const _0x1ad051=a136_0x1ad0();let _0x533d04=_0x1ad051[_0x538208];return _0x533d04;}(function(_0x1fde84,_0x273a4e){const _0x2491fb=a136_0x533d,_0x4717ee=_0x1fde84();while(!![]){try{const _0x1f570f=parseInt(_0x2491fb(0xcb))/0x1+-parseInt(_0x2491fb(0xd8))/0x2*(parseInt(_0x2491fb(0xc8))/0x3)+parseInt(_0x2491fb(0xc6))/0x4*(parseInt(_0x2491fb(0xd9))/0x5)+parseInt(_0x2491fb(0xd4))/0x6+-parseInt(_0x2491fb(0xc7))/0x7+-parseInt(_0x2491fb(0xcc))/0x8*(-parseInt(_0x2491fb(0xd7))/0x9)+parseInt(_0x2491fb(0xd3))/0xa;if(_0x1f570f===_0x273a4e)break;else _0x4717ee['push'](_0x4717ee['shift']());}catch(_0x165f3b){_0x4717ee['push'](_0x4717ee['shift']());}}}(a136_0x1ad0,0x1e62c));import a136_0x34684e from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a136_0x1ad0(){const _0x4fadfa=['format','376HcByJg','1311709SliyQQ','288TUcehB','prettier','info','33381YWUIxL','1154792JrRisD','resolve','npx','message','开始格式化代码','代码格式化完成','--write','1271970KgPDpq','233304edekdE','error','now','9MlMmaJ','1320mnhCSr','1670RrRBCj','代码格式化失败'];a136_0x1ad0=function(){return _0x4fadfa;};return a136_0x1ad0();}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x1e136c){const _0x5b1329=a136_0x533d,_0x40cc3a=Date['now'](),_0x215dba=a136_0x34684e[_0x5b1329(0xcd)](process['cwd'](),_0x1e136c);try{logger[_0x5b1329(0xca)](_0x5b1329(0xc5),_0x5b1329(0xd0),{'projectCode':_0x1e136c}),await execa(resolveNpmBin(_0x5b1329(0xce)),[_0x5b1329(0xc9),_0x5b1329(0xd2),'.'],{'cwd':_0x215dba});const _0x21f30e=Date[_0x5b1329(0xd6)]()-_0x40cc3a;logger['success'](_0x5b1329(0xc5),_0x5b1329(0xd1),_0x21f30e,{'projectCode':_0x1e136c});}catch(_0x116074){const _0x24cbe0=Date[_0x5b1329(0xd6)]()-_0x40cc3a;logger[_0x5b1329(0xd5)](_0x5b1329(0xc5),_0x5b1329(0xda),{'projectCode':_0x1e136c,'error':_0x116074 instanceof Error?_0x116074[_0x5b1329(0xcf)]:String(_0x116074),'duration':_0x24cbe0});throw _0x116074;}return formatElapsed(_0x40cc3a);}
@@ -1 +1 @@
1
- (function(_0x216a36,_0x398645){const _0x198028=a135_0x6d50,_0x3b2e44=_0x216a36();while(!![]){try{const _0x2517c6=-parseInt(_0x198028(0x151))/0x1+parseInt(_0x198028(0x14e))/0x2+-parseInt(_0x198028(0x142))/0x3+parseInt(_0x198028(0x14b))/0x4*(parseInt(_0x198028(0x144))/0x5)+-parseInt(_0x198028(0x147))/0x6*(-parseInt(_0x198028(0x146))/0x7)+parseInt(_0x198028(0x141))/0x8+parseInt(_0x198028(0x145))/0x9;if(_0x2517c6===_0x398645)break;else _0x3b2e44['push'](_0x3b2e44['shift']());}catch(_0x263158){_0x3b2e44['push'](_0x3b2e44['shift']());}}}(a135_0xebf2,0x459e0));import a135_0x485ce6 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a135_0x6d50(_0x3bad39,_0xbe0e4){_0x3bad39=_0x3bad39-0x141;const _0xebf212=a135_0xebf2();let _0x6d50f0=_0xebf212[_0x3bad39];return _0x6d50f0;}import{resolveNpmBin}from'../../../utils/platform.js';function a135_0xebf2(){const _0x5edd39=['resolve','info','error','28TmmVip','now','npm','506322bStnrx','install','依赖安装完成','172787nJIeVk','https://registry.npmmirror.com','cwd','1538712QAoGcq','1615383aOFmCR','依赖安装失败','78510kbVBEl','321912ebIvac','7nDBuON','2431308WCHLXu'];a135_0xebf2=function(){return _0x5edd39;};return a135_0xebf2();}export async function installDependencies(_0x177eb0){const _0x560f2a=a135_0x6d50,_0x46b4ab=Date[_0x560f2a(0x14c)](),_0x50e5a9=a135_0x485ce6[_0x560f2a(0x148)](process[_0x560f2a(0x153)](),_0x177eb0);try{logger[_0x560f2a(0x149)](_0x560f2a(0x14f),'开始安装依赖',{'projectCode':_0x177eb0,'registry':_0x560f2a(0x152)}),await execa(resolveNpmBin(_0x560f2a(0x14d)),[_0x560f2a(0x14f),'--registry','https://registry.npmmirror.com'],{'cwd':_0x50e5a9});const _0x2fa69f=Date[_0x560f2a(0x14c)]()-_0x46b4ab;logger['success']('install',_0x560f2a(0x150),_0x2fa69f,{'projectCode':_0x177eb0});}catch(_0x2a7b8f){const _0x449624=Date[_0x560f2a(0x14c)]()-_0x46b4ab;logger[_0x560f2a(0x14a)](_0x560f2a(0x14f),_0x560f2a(0x143),{'projectCode':_0x177eb0,'error':_0x2a7b8f instanceof Error?_0x2a7b8f['message']:String(_0x2a7b8f),'duration':_0x449624});throw _0x2a7b8f;}return formatElapsed(_0x46b4ab);}
1
+ (function(_0x1240b7,_0x2738b4){const _0x231c0d=a137_0x5a70,_0x4a7eeb=_0x1240b7();while(!![]){try{const _0x26cbb8=-parseInt(_0x231c0d(0x92))/0x1*(-parseInt(_0x231c0d(0x90))/0x2)+-parseInt(_0x231c0d(0xa1))/0x3*(parseInt(_0x231c0d(0x96))/0x4)+-parseInt(_0x231c0d(0xa2))/0x5+parseInt(_0x231c0d(0xa3))/0x6*(-parseInt(_0x231c0d(0x99))/0x7)+parseInt(_0x231c0d(0x94))/0x8*(parseInt(_0x231c0d(0x8a))/0x9)+-parseInt(_0x231c0d(0x8e))/0xa*(parseInt(_0x231c0d(0x93))/0xb)+-parseInt(_0x231c0d(0x97))/0xc*(-parseInt(_0x231c0d(0x91))/0xd);if(_0x26cbb8===_0x2738b4)break;else _0x4a7eeb['push'](_0x4a7eeb['shift']());}catch(_0xbbf8db){_0x4a7eeb['push'](_0x4a7eeb['shift']());}}}(a137_0x58b6,0xe79f9));import a137_0x5753a8 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a137_0x5a70(_0x5636a5,_0x324b7b){_0x5636a5=_0x5636a5-0x8a;const _0x58b688=a137_0x58b6();let _0x5a7067=_0x58b688[_0x5636a5];return _0x5a7067;}export async function installDependencies(_0xf3ed6f){const _0x176d2b=a137_0x5a70,_0x143bc7=Date[_0x176d2b(0x9d)](),_0x35f101=a137_0x5753a8[_0x176d2b(0x98)](process['cwd'](),_0xf3ed6f);try{logger[_0x176d2b(0x8b)](_0x176d2b(0x9b),_0x176d2b(0x8d),{'projectCode':_0xf3ed6f,'registry':_0x176d2b(0xa0)}),await execa(resolveNpmBin(_0x176d2b(0x9c)),[_0x176d2b(0x9b),_0x176d2b(0x8f),'https://registry.npmmirror.com'],{'cwd':_0x35f101});const _0x59d9c7=Date[_0x176d2b(0x9d)]()-_0x143bc7;logger[_0x176d2b(0x9a)](_0x176d2b(0x9b),_0x176d2b(0x8c),_0x59d9c7,{'projectCode':_0xf3ed6f});}catch(_0x286c3d){const _0x109a38=Date[_0x176d2b(0x9d)]()-_0x143bc7;logger[_0x176d2b(0x9f)]('install',_0x176d2b(0x95),{'projectCode':_0xf3ed6f,'error':_0x286c3d instanceof Error?_0x286c3d[_0x176d2b(0x9e)]:String(_0x286c3d),'duration':_0x109a38});throw _0x286c3d;}return formatElapsed(_0x143bc7);}function a137_0x58b6(){const _0x5daf70=['--registry','1972084TwRZKY','25854530BIHSrT','1MwbXAm','1210mgXuat','400GyKyiP','依赖安装失败','1300028yTzxPk','12NQbbYu','resolve','259ZQrViz','success','install','npm','now','message','error','https://registry.npmmirror.com','3dExSHQ','151750gaLreU','227508WBzQft','1395faVsOb','info','依赖安装完成','开始安装依赖','25050UryPrT'];a137_0x58b6=function(){return _0x5daf70;};return a137_0x58b6();}
@@ -1 +1 @@
1
- const a136_0x1f276c=a136_0x953b;(function(_0x139c78,_0x1f468e){const _0x5233db=a136_0x953b,_0x1acb10=_0x139c78();while(!![]){try{const _0x46a73e=-parseInt(_0x5233db(0x116))/0x1+parseInt(_0x5233db(0x124))/0x2+-parseInt(_0x5233db(0x12a))/0x3*(-parseInt(_0x5233db(0x103))/0x4)+-parseInt(_0x5233db(0x101))/0x5+-parseInt(_0x5233db(0x109))/0x6+parseInt(_0x5233db(0x11d))/0x7*(parseInt(_0x5233db(0x11a))/0x8)+parseInt(_0x5233db(0x111))/0x9*(parseInt(_0x5233db(0x10b))/0xa);if(_0x46a73e===_0x1f468e)break;else _0x1acb10['push'](_0x1acb10['shift']());}catch(_0x1c16ab){_0x1acb10['push'](_0x1acb10['shift']());}}}(a136_0x4999,0x75cf6));import{CliErrors}from'../../errors.js';function a136_0x4999(){const _0x2210bc=['Skip\x20confirmation\x20prompt','../../commands/project/create/main.js','494031rNcVdv','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','create','4423850MysvFR','project','16gpHHhU','string','str','Target\x20environment','name','../../commands/project/create/non-interactive.js','5383614eiKmCh','\x20workspace\x20init','20DwksLm','yes','Create\x20a\x20new\x20project','args','2026-07','nonInteractive','6506928AdVNgI','project-name','bool','Usage:\x20','appcode','328530TrhqYb','upgrade','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','validation','16Ppitmj','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','write','201551LhkWqV','init','env','App\x20code\x20to\x20initialize','trim','Auto-confirm\x20prompts','Project\x20name','861682AEoLZT','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','boolean'];a136_0x4999=function(){return _0x2210bc;};return a136_0x4999();}function a136_0x953b(_0x42e7e0,_0x28d7df){_0x42e7e0=_0x42e7e0-0xff;const _0x4999a0=a136_0x4999();let _0x953b1=_0x4999a0[_0x42e7e0];return _0x953b1;}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':a136_0x1f276c(0x115),'type':a136_0x1f276c(0x104),'description':a136_0x1f276c(0x120)},{'name':'env','type':'string','description':a136_0x1f276c(0x106)},{'name':'yes','type':a136_0x1f276c(0x127),'description':a136_0x1f276c(0x122),'default':![]}],createFlags=[{'name':a136_0x1f276c(0x107),'type':a136_0x1f276c(0x104),'description':a136_0x1f276c(0x123)},{'name':a136_0x1f276c(0x11f),'type':'string','description':'Target\x20environment'},{'name':a136_0x1f276c(0x115),'type':a136_0x1f276c(0x104),'description':a136_0x1f276c(0x11b)}],upgradeFlags=[{'name':a136_0x1f276c(0x10c),'type':a136_0x1f276c(0x127),'description':a136_0x1f276c(0x128),'default':![]}];export const projectDefinitions=[{'service':a136_0x1f276c(0x102),'command':a136_0x1f276c(0x11e),'description':a136_0x1f276c(0x125),'risk':a136_0x1f276c(0x11c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a136_0x1f276c(0x10a),'since':a136_0x1f276c(0x10f)},'flags':initFlags,async 'execute'(_0x2a4519){const _0x43cfa1=a136_0x1f276c;return await initConfig({'appcode':_0x2a4519[_0x43cfa1(0x105)](_0x43cfa1(0x115))||undefined,'env':_0x2a4519[_0x43cfa1(0x105)](_0x43cfa1(0x11f))||undefined,'autoYes':_0x2a4519[_0x43cfa1(0x113)]('yes')}),{'ok':!![]};}},{'service':a136_0x1f276c(0x102),'command':a136_0x1f276c(0x100),'description':a136_0x1f276c(0x10d),'risk':a136_0x1f276c(0x11c),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a136_0x1f276c(0x112),'description':a136_0x1f276c(0x126),'required':![]}],'flags':createFlags,async 'execute'(_0x48d5da){const _0x2c0f6e=a136_0x1f276c,{createApp:_0x210786}=await import(_0x2c0f6e(0x129)),{createProjectNonInteractive:_0x3ff86d}=await import(_0x2c0f6e(0x108)),_0x8787c1=_0x48d5da[_0x2c0f6e(0x105)](_0x2c0f6e(0x107))['trim']()||_0x48d5da[_0x2c0f6e(0x10e)][0x0]?.[_0x2c0f6e(0x121)](),_0x4e9909=_0x48d5da[_0x2c0f6e(0x105)]('env')||undefined,_0x55c3cd=_0x48d5da['str'](_0x2c0f6e(0x115))||undefined;if(_0x48d5da[_0x2c0f6e(0x110)]){if(!_0x8787c1)throw CliErrors[_0x2c0f6e(0x119)](_0x2c0f6e(0xff),_0x2c0f6e(0x114)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x3ff86d(_0x8787c1,_0x4e9909,_0x55c3cd,_0x48d5da['cookie']);}else await _0x210786({'projectCode':_0x8787c1,'appCode':_0x55c3cd,'env':_0x4e9909,'cookie':_0x48d5da['cookie']});return{'ok':!![]};}},{'service':a136_0x1f276c(0x102),'command':a136_0x1f276c(0x117),'description':a136_0x1f276c(0x118),'risk':a136_0x1f276c(0x11c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x2f742f){const _0x12ee69=a136_0x1f276c;return await upgradeApp(_0x2f742f[_0x12ee69(0x110)],{'yes':_0x2f742f[_0x12ee69(0x113)](_0x12ee69(0x10c))}),{'ok':!![]};}}];
1
+ const a138_0x25c155=a138_0x1c29;(function(_0x3d4ecb,_0x1de016){const _0x2d17b7=a138_0x1c29,_0x137694=_0x3d4ecb();while(!![]){try{const _0x74b5=parseInt(_0x2d17b7(0x1e7))/0x1+-parseInt(_0x2d17b7(0x1cf))/0x2+-parseInt(_0x2d17b7(0x1e3))/0x3*(-parseInt(_0x2d17b7(0x1ce))/0x4)+-parseInt(_0x2d17b7(0x1e4))/0x5*(-parseInt(_0x2d17b7(0x1c9))/0x6)+parseInt(_0x2d17b7(0x1d6))/0x7*(-parseInt(_0x2d17b7(0x1c6))/0x8)+parseInt(_0x2d17b7(0x1e6))/0x9+-parseInt(_0x2d17b7(0x1d9))/0xa;if(_0x74b5===_0x1de016)break;else _0x137694['push'](_0x137694['shift']());}catch(_0x412834){_0x137694['push'](_0x137694['shift']());}}}(a138_0x2688,0xe3e30));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';function a138_0x2688(){const _0x2bb6d5=['App\x20code\x20to\x20initialize','cookie','string','\x20workspace\x20init','name','7dUIhDi','yes','boolean','15186910EuRcfo','create','args','str','bool','2026-07','appcode','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','../../commands/project/create/non-interactive.js','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','527079mTbrKG','2873330okUvwc','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','4244130SbUjtK','1593679fmNoMh','Project\x20name','upgrade','Auto-confirm\x20prompts','validation','6651128oYACMy','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','Skip\x20confirmation\x20prompt','18mzGgdY','write','nonInteractive','env','project','4kClshI','1362868FCeoMT','project-name'];a138_0x2688=function(){return _0x2bb6d5;};return a138_0x2688();}function a138_0x1c29(_0x503242,_0x1a4fd1){_0x503242=_0x503242-0x1c5;const _0x26882b=a138_0x2688();let _0x1c2955=_0x26882b[_0x503242];return _0x1c2955;}import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a138_0x25c155(0x1df),'type':a138_0x25c155(0x1d3),'description':a138_0x25c155(0x1d1)},{'name':a138_0x25c155(0x1cc),'type':'string','description':'Target\x20environment'},{'name':a138_0x25c155(0x1d7),'type':'boolean','description':a138_0x25c155(0x1ea),'default':![]}],createFlags=[{'name':a138_0x25c155(0x1d5),'type':'string','description':a138_0x25c155(0x1e8)},{'name':'env','type':a138_0x25c155(0x1d3),'description':'Target\x20environment'},{'name':a138_0x25c155(0x1df),'type':a138_0x25c155(0x1d3),'description':a138_0x25c155(0x1c7)}],upgradeFlags=[{'name':a138_0x25c155(0x1d7),'type':a138_0x25c155(0x1d8),'description':a138_0x25c155(0x1c8),'default':![]}];export const projectDefinitions=[{'service':'project','command':'init','description':a138_0x25c155(0x1e5),'risk':a138_0x25c155(0x1ca),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a138_0x25c155(0x1d4),'since':a138_0x25c155(0x1de)},'flags':initFlags,async 'execute'(_0x3c83c7){const _0x1fdc9a=a138_0x25c155;return await initConfig({'appcode':_0x3c83c7[_0x1fdc9a(0x1dc)](_0x1fdc9a(0x1df))||undefined,'env':_0x3c83c7['str'](_0x1fdc9a(0x1cc))||undefined,'autoYes':_0x3c83c7[_0x1fdc9a(0x1dd)]('yes')}),{'ok':!![]};}},{'service':a138_0x25c155(0x1cd),'command':a138_0x25c155(0x1da),'description':'Create\x20a\x20new\x20project','risk':a138_0x25c155(0x1ca),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a138_0x25c155(0x1d0),'description':a138_0x25c155(0x1e2),'required':![]}],'flags':createFlags,async 'execute'(_0x54b7c6){const _0x115bc1=a138_0x25c155,{createApp:_0x25057b}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x3d5070}=await import(_0x115bc1(0x1e1)),_0x3e30f9=_0x54b7c6['str'](_0x115bc1(0x1d5))['trim']()||_0x54b7c6[_0x115bc1(0x1db)][0x0]?.['trim'](),_0x1a47ac=_0x54b7c6[_0x115bc1(0x1dc)](_0x115bc1(0x1cc))||undefined,_0x52574a=_0x54b7c6[_0x115bc1(0x1dc)](_0x115bc1(0x1df))||undefined;if(_0x54b7c6[_0x115bc1(0x1cb)]){if(!_0x3e30f9)throw CliErrors[_0x115bc1(0x1c5)](_0x115bc1(0x1e0),'Usage:\x20'+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x3d5070(_0x3e30f9,_0x1a47ac,_0x52574a,_0x54b7c6[_0x115bc1(0x1d2)]);}else await _0x25057b({'projectCode':_0x3e30f9,'appCode':_0x52574a,'env':_0x1a47ac,'cookie':_0x54b7c6[_0x115bc1(0x1d2)]});return{'ok':!![]};}},{'service':'project','command':a138_0x25c155(0x1e9),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a138_0x25c155(0x1ca),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x52a974){const _0x10b733=a138_0x25c155;return await upgradeApp(_0x52a974['nonInteractive'],{'yes':_0x52a974['bool'](_0x10b733(0x1d7))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x591e1e,_0x12abeb){const _0x2ade15=a137_0x213c,_0x4240ef=_0x591e1e();while(!![]){try{const _0x44aa30=-parseInt(_0x2ade15(0x80))/0x1*(parseInt(_0x2ade15(0xa2))/0x2)+parseInt(_0x2ade15(0xaa))/0x3*(-parseInt(_0x2ade15(0x81))/0x4)+parseInt(_0x2ade15(0x82))/0x5+parseInt(_0x2ade15(0xa5))/0x6*(parseInt(_0x2ade15(0x86))/0x7)+parseInt(_0x2ade15(0x9b))/0x8*(-parseInt(_0x2ade15(0xa9))/0x9)+-parseInt(_0x2ade15(0xaf))/0xa+parseInt(_0x2ade15(0x93))/0xb*(parseInt(_0x2ade15(0xa4))/0xc);if(_0x44aa30===_0x12abeb)break;else _0x4240ef['push'](_0x4240ef['shift']());}catch(_0x51d401){_0x4240ef['push'](_0x4240ef['shift']());}}}(a137_0x50ca,0x8ee89));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a137_0x50ca(){const _0x31409d=['Please\x20enter\x20App\x20Code:','apps','Upgrade\x20it\x20to\x20','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','从旧配置文件升级成功','env','../..','App\x20Code\x20cannot\x20be\x20empty','683903VNAZkb','\x20api\x20pull\x27','green','bold','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','info','✓\x20Upgraded\x20','app','5457448GCgBZI','keys','1.0.0','\x20api\x20generate\x27\x20and\x20\x27','join','cyan','setLogPath','2Dsdxmv','\x20\x20Apps:\x20','252LDHmmH','210642mkMVSi','init','gray','version','9ltGGKo','2163813AEmNoX','?\x20(Old\x20file\x20→\x20*.bak)','\x20\x20Default:\x20','.rabetbase.json','.bak','2504470eItXcG','production','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','\x20→\x20.rabetbase.json','trim','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','初始化项目配置文件成功','log','420997UKHfpL','4VeJclv','5017730XDbwdx','cwd','appcode','parse','70KCuZZt','utf8','string','defaultApp','yellow'];a137_0x50ca=function(){return _0x31409d;};return a137_0x50ca();}import a137_0x2c1464 from'chalk';function a137_0x213c(_0xe28b63,_0x41d866){_0xe28b63=_0xe28b63-0x80;const _0x50cae0=a137_0x50ca();let _0x213cbd=_0x50cae0[_0xe28b63];return _0x213cbd;}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(_0x39c6f9){const _0x2028c1=a137_0x213c,{appcode:_0x14a0f2,env:_0x190597,autoYes:_0x18e946}=_0x39c6f9,_0x26336=process[_0x2028c1(0x83)]();if(getProjectConfigPath())throw new Error(_0x2028c1(0x97));let _0xb8a335;for(const _0x19f699 of LEGACY_CONFIG_NAMES){const _0x5daa55=resolve(_0x26336,_0x19f699);if(existsSync(_0x5daa55)){_0xb8a335=_0x5daa55;break;}}if(_0xb8a335){let _0x1a28b5={};try{_0x1a28b5=JSON[_0x2028c1(0x85)](readFileSync(_0xb8a335,'utf8'));}catch{}const _0x17aa0b=basename(_0xb8a335),_0x3d89a5=_0x1a28b5?.[_0x2028c1(0x84)]||_0x1a28b5?.['app'];let _0x1ea263=_0x18e946;!_0x18e946&&(console['log'](a137_0x2c1464[_0x2028c1(0x8a)](_0x2028c1(0xb1)+a137_0x2c1464['bold'](_0x17aa0b))),_0x3d89a5&&console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0xa0)]('\x20\x20appcode:\x20'+_0x3d89a5)),_0x1ea263=await confirm({'message':_0x2028c1(0x8d)+a137_0x2c1464[_0x2028c1(0x96)](_0x2028c1(0xad))+_0x2028c1(0xab),'default':!![]}));if(!_0x1ea263){console['log']('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+'\x20workspace\x20init`\x20to\x20start\x20fresh.');return;}const _0x51eefe=resolve(_0x26336,NEW_CONFIG_NAME),_0x3b38d1=getCliVersionFromPkg(),_0x42e25f=readRawConfig(),_0x303d49=_0x14a0f2||(typeof _0x1a28b5?.['appcode']===_0x2028c1(0x88)?_0x1a28b5[_0x2028c1(0x84)]:undefined)||(typeof _0x1a28b5?.[_0x2028c1(0x9a)]===_0x2028c1(0x88)?_0x1a28b5['app']:undefined)||await askAppcode(),_0x2c8a35=typeof _0x1a28b5?.['env']==='string'?_0x1a28b5[_0x2028c1(0x90)]:typeof _0x42e25f[_0x2028c1(0x90)]===_0x2028c1(0x88)?_0x42e25f[_0x2028c1(0x90)]:_0x2028c1(0xb0),_0x522170=buildCanonicalProjectConfig({..._0x42e25f,..._0x1a28b5},{'appCodes':[_0x303d49],'env':_0x2c8a35,'metadata':{'version':_0x3b38d1,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0xb8a335}});writeConfigFile(_0x51eefe,_0x522170);const _0x57c8cf=_0xb8a335+_0x2028c1(0xae);renameSync(_0xb8a335,_0x57c8cf),logger['setLogPath'](_0x26336),logger['info'](_0x2028c1(0xa6),_0x2028c1(0x8f),{'from':_0xb8a335,'to':_0x51eefe,'appcode':_0x303d49,'env':_0x522170['env']}),console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0x95)](_0x2028c1(0x99)+_0x17aa0b+_0x2028c1(0xb2))),console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0xa0)](_0x2028c1(0xa3)+Object[_0x2028c1(0x9c)](_0x522170[_0x2028c1(0x8c)]||{})[_0x2028c1(0x9f)](',\x20'))),console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0xa0)](_0x2028c1(0xac)+_0x522170[_0x2028c1(0x89)])),console['log'](a137_0x2c1464[_0x2028c1(0xa7)](_0x2028c1(0x8e)+_0x17aa0b+_0x2028c1(0xae)));return;}const _0x531da8=_0x14a0f2||await askAppcode(),_0x14a810=resolve(_0x26336,NEW_CONFIG_NAME),_0x595823=getCliVersionFromPkg(),_0x7db7d=readRawConfig(),_0x134c8f=typeof _0x7db7d[_0x2028c1(0x90)]==='string'?_0x7db7d[_0x2028c1(0x90)]:undefined,_0x56b480=buildCanonicalProjectConfig({},{'appCodes':[_0x531da8],'env':_0x190597||_0x134c8f||_0x2028c1(0xb0),'metadata':{'version':_0x595823,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x14a810,_0x56b480),logger[_0x2028c1(0xa1)](_0x26336),logger[_0x2028c1(0x98)](_0x2028c1(0xa6),_0x2028c1(0xb5),{'appcode':_0x531da8,'env':_0x56b480[_0x2028c1(0x90)],'version':_0x56b480['version'],'configPath':_0x14a810}),console['log'](a137_0x2c1464[_0x2028c1(0x95)](_0x2028c1(0xb4))),console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0xa0)](_0x2028c1(0xa3)+Object[_0x2028c1(0x9c)](_0x56b480[_0x2028c1(0x8c)]||{})[_0x2028c1(0x9f)](',\x20'))),console[_0x2028c1(0xb6)](a137_0x2c1464[_0x2028c1(0xa0)](_0x2028c1(0xac)+_0x56b480[_0x2028c1(0x89)])),console['log']('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x2028c1(0x9e)+CLI_BIN_NAME+_0x2028c1(0x94));}function askAppcode(){const _0x10ff1e=a137_0x213c;return input({'message':_0x10ff1e(0x8b),'validate':_0x126336=>{const _0x27c315=_0x10ff1e;if(!_0x126336['trim']())return _0x27c315(0x92);const {valid:_0x30b943,message:_0x5bed3c}=validateAppcode(_0x126336[_0x27c315(0xb3)]());return _0x30b943||_0x5bed3c||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x36ceac=a137_0x213c;try{const _0x33d911=fileURLToPath(import.meta.url),_0x42a413=resolve(dirname(_0x33d911),_0x36ceac(0x91)),_0x49c4ec=JSON['parse'](readFileSync(resolve(_0x42a413,'package.json'),_0x36ceac(0x87)));return _0x49c4ec[_0x36ceac(0xa8)]||_0x36ceac(0x9d);}catch{return _0x36ceac(0x9d);}}
1
+ (function(_0x343b9c,_0x29b6f9){const _0x23034d=a139_0x31c9,_0x354e71=_0x343b9c();while(!![]){try{const _0x2f862d=parseInt(_0x23034d(0x99))/0x1*(parseInt(_0x23034d(0x78))/0x2)+-parseInt(_0x23034d(0x86))/0x3+-parseInt(_0x23034d(0x9a))/0x4*(-parseInt(_0x23034d(0x9f))/0x5)+parseInt(_0x23034d(0xa1))/0x6*(parseInt(_0x23034d(0xa2))/0x7)+-parseInt(_0x23034d(0x9c))/0x8+-parseInt(_0x23034d(0x95))/0x9*(-parseInt(_0x23034d(0x8a))/0xa)+-parseInt(_0x23034d(0x90))/0xb*(parseInt(_0x23034d(0x9e))/0xc);if(_0x2f862d===_0x29b6f9)break;else _0x354e71['push'](_0x354e71['shift']());}catch(_0x1ea246){_0x354e71['push'](_0x354e71['shift']());}}}(a139_0x5213,0x5c5ca));import{readFileSync,existsSync,renameSync}from'node:fs';function a139_0x5213(){const _0x25042a=['cyan','1451496aQEFrv','1865squEPJ','?\x20(Old\x20file\x20→\x20*.bak)','916278PuAdJQ','21eLzStf','parse','初始化项目配置文件成功','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','\x20workspace\x20init`\x20to\x20start\x20fresh.','app','production','Invalid\x20App\x20Code','keys','\x20\x20Default:\x20','log','34614cOioOy','cwd','setLogPath','defaultApp','Migration\x20cancelled.\x20Run\x20`','.rabetbase.json','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','从旧配置文件升级成功','utf8','string','green','gray','env','.bak','865965IiUQrn','info','toLocaleString','bold','114310yGhwAk','\x20→\x20.rabetbase.json','\x20\x20Apps:\x20','\x20api\x20pull\x27','\x20api\x20generate\x27\x20and\x20\x27','Please\x20enter\x20App\x20Code:','55jxnexW','appcode','\x20\x20appcode:\x20','1.0.0','apps','243Sjaide','init','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','version','19OJlFOC','4144JBjmsO','join','1682224NUiPeA'];a139_0x5213=function(){return _0x25042a;};return a139_0x5213();}import{resolve,dirname,basename}from'node:path';function a139_0x31c9(_0x378013,_0x4b6a8f){_0x378013=_0x378013-0x74;const _0x52138b=a139_0x5213();let _0x31c9a2=_0x52138b[_0x378013];return _0x31c9a2;}import{fileURLToPath}from'node:url';import a139_0x5cd4a4 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x29e326){const _0x3987c4=a139_0x31c9,{appcode:_0x3cfa3b,env:_0x1dd656,autoYes:_0xa465fd}=_0x29e326,_0x4bedb7=process[_0x3987c4(0x79)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x5bbeea;for(const _0x4f541a of LEGACY_CONFIG_NAMES){const _0x26ce5b=resolve(_0x4bedb7,_0x4f541a);if(existsSync(_0x26ce5b)){_0x5bbeea=_0x26ce5b;break;}}if(_0x5bbeea){let _0x44ad50={};try{_0x44ad50=JSON['parse'](readFileSync(_0x5bbeea,'utf8'));}catch{}const _0x8816ec=basename(_0x5bbeea),_0x27ae23=_0x44ad50?.[_0x3987c4(0x91)]||_0x44ad50?.[_0x3987c4(0xa7)];let _0xae067e=_0xa465fd;!_0xa465fd&&(console[_0x3987c4(0x77)](a139_0x5cd4a4['yellow'](_0x3987c4(0xa5)+a139_0x5cd4a4[_0x3987c4(0x89)](_0x8816ec))),_0x27ae23&&console[_0x3987c4(0x77)](a139_0x5cd4a4['cyan'](_0x3987c4(0x92)+_0x27ae23)),_0xae067e=await confirm({'message':'Upgrade\x20it\x20to\x20'+a139_0x5cd4a4['bold'](_0x3987c4(0x7d))+_0x3987c4(0xa0),'default':!![]}));if(!_0xae067e){console['log'](_0x3987c4(0x7c)+CLI_BIN_NAME+_0x3987c4(0xa6));return;}const _0x4df2cc=resolve(_0x4bedb7,NEW_CONFIG_NAME),_0x1f4287=getCliVersionFromPkg(),_0x96cf56=readRawConfig(),_0x3edc1c=_0x3cfa3b||(typeof _0x44ad50?.[_0x3987c4(0x91)]===_0x3987c4(0x81)?_0x44ad50[_0x3987c4(0x91)]:undefined)||(typeof _0x44ad50?.[_0x3987c4(0xa7)]==='string'?_0x44ad50['app']:undefined)||await askAppcode(),_0x93e33d=typeof _0x44ad50?.[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x44ad50[_0x3987c4(0x84)]:typeof _0x96cf56[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x96cf56['env']:_0x3987c4(0xa8),_0xdd65c0=buildCanonicalProjectConfig({..._0x96cf56,..._0x44ad50},{'appCodes':[_0x3edc1c],'env':_0x93e33d,'metadata':{'version':_0x1f4287,'migratedAt':new Date()[_0x3987c4(0x88)](),'migratedFrom':_0x5bbeea}});writeConfigFile(_0x4df2cc,_0xdd65c0);const _0x40dd56=_0x5bbeea+_0x3987c4(0x85);renameSync(_0x5bbeea,_0x40dd56),logger[_0x3987c4(0x7a)](_0x4bedb7),logger[_0x3987c4(0x87)](_0x3987c4(0x96),_0x3987c4(0x7f),{'from':_0x5bbeea,'to':_0x4df2cc,'appcode':_0x3edc1c,'env':_0xdd65c0[_0x3987c4(0x84)]}),console[_0x3987c4(0x77)](a139_0x5cd4a4['green']('✓\x20Upgraded\x20'+_0x8816ec+_0x3987c4(0x8b))),console[_0x3987c4(0x77)](a139_0x5cd4a4['cyan'](_0x3987c4(0x8c)+Object['keys'](_0xdd65c0[_0x3987c4(0x94)]||{})[_0x3987c4(0x9b)](',\x20'))),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x76)+_0xdd65c0[_0x3987c4(0x7b)])),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x83)](_0x3987c4(0x97)+_0x8816ec+'.bak'));return;}const _0x312098=_0x3cfa3b||await askAppcode(),_0x8b9a8=resolve(_0x4bedb7,NEW_CONFIG_NAME),_0x49ffde=getCliVersionFromPkg(),_0x2c1099=readRawConfig(),_0x2f2d73=typeof _0x2c1099[_0x3987c4(0x84)]===_0x3987c4(0x81)?_0x2c1099[_0x3987c4(0x84)]:undefined,_0x57b74b=buildCanonicalProjectConfig({},{'appCodes':[_0x312098],'env':_0x1dd656||_0x2f2d73||_0x3987c4(0xa8),'metadata':{'version':_0x49ffde,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x8b9a8,_0x57b74b),logger['setLogPath'](_0x4bedb7),logger['info'](_0x3987c4(0x96),_0x3987c4(0xa4),{'appcode':_0x312098,'env':_0x57b74b[_0x3987c4(0x84)],'version':_0x57b74b[_0x3987c4(0x98)],'configPath':_0x8b9a8}),console['log'](a139_0x5cd4a4[_0x3987c4(0x82)](_0x3987c4(0x7e))),console['log'](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x8c)+Object[_0x3987c4(0x75)](_0x57b74b[_0x3987c4(0x94)]||{})['join'](',\x20'))),console[_0x3987c4(0x77)](a139_0x5cd4a4[_0x3987c4(0x9d)](_0x3987c4(0x76)+_0x57b74b[_0x3987c4(0x7b)])),console['log']('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x3987c4(0x8e)+CLI_BIN_NAME+_0x3987c4(0x8d));}function askAppcode(){const _0x1e9fed=a139_0x31c9;return input({'message':_0x1e9fed(0x8f),'validate':_0x3e1afc=>{const _0x402b33=_0x1e9fed;if(!_0x3e1afc['trim']())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x5c3b7a,message:_0x4e6702}=validateAppcode(_0x3e1afc['trim']());return _0x5c3b7a||_0x4e6702||_0x402b33(0x74);}});}function getCliVersionFromPkg(){const _0x4ce858=a139_0x31c9;try{const _0x146b9d=fileURLToPath(import.meta.url),_0x15ee0c=resolve(dirname(_0x146b9d),'../..'),_0x583301=JSON[_0x4ce858(0xa3)](readFileSync(resolve(_0x15ee0c,'package.json'),_0x4ce858(0x80)));return _0x583301[_0x4ce858(0x98)]||_0x4ce858(0x93);}catch{return _0x4ce858(0x93);}}
@@ -1 +1 @@
1
- const a138_0x4115ca=a138_0x4c97;(function(_0x5e7a65,_0xca1008){const _0x31159c=a138_0x4c97,_0x5d2962=_0x5e7a65();while(!![]){try{const _0x3b29c7=-parseInt(_0x31159c(0xdb))/0x1*(parseInt(_0x31159c(0xe7))/0x2)+parseInt(_0x31159c(0xfa))/0x3+-parseInt(_0x31159c(0x116))/0x4*(-parseInt(_0x31159c(0xed))/0x5)+-parseInt(_0x31159c(0x120))/0x6+-parseInt(_0x31159c(0x104))/0x7*(-parseInt(_0x31159c(0xde))/0x8)+-parseInt(_0x31159c(0x122))/0x9+parseInt(_0x31159c(0xec))/0xa;if(_0x3b29c7===_0xca1008)break;else _0x5d2962['push'](_0x5d2962['shift']());}catch(_0x3a6256){_0x5d2962['push'](_0x5d2962['shift']());}}}(a138_0x5a3b,0x5e753));import a138_0x4faac9 from'chalk';function a138_0x4c97(_0x369681,_0x2a7679){_0x369681=_0x369681-0xb7;const _0x5a3b0d=a138_0x5a3b();let _0x4c97c5=_0x5a3b0d[_0x369681];return _0x4c97c5;}import a138_0x500716 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[a138_0x4115ca(0x10b)](_0x463721=>_0x463721!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x36d460){const _0x4d9e0=a138_0x4115ca,_0x524d5c=[];for(const _0x209b02 of Object['values'](CORE_IDE_CONFIGS)){if(_0x209b02[_0x4d9e0(0xf4)])for(const _0x27e760 of _0x209b02['files']){_0x524d5c[_0x4d9e0(0xf3)](resolve(_0x36d460,_0x27e760[_0x4d9e0(0x102)]));}}return _0x524d5c;}function analyse(_0x457dcc){const _0x75689a=a138_0x4115ca;let _0x197f2b=null;const _0x1439a6=resolve(_0x457dcc,NEW_CONFIG_NAME),_0x201cc8=existsSync(_0x1439a6);for(const _0x52f151 of LEGACY_CONFIG_NAMES){const _0x5b02ac=resolve(_0x457dcc,_0x52f151);if(existsSync(_0x5b02ac)){const _0x5daa9e=readConfigFile(_0x5b02ac),_0x41886b=Object[_0x75689a(0x12f)](_0x5daa9e)[_0x75689a(0x10b)](_0x59b318=>typeof _0x5daa9e[_0x59b318]!==_0x75689a(0xf7));_0x197f2b={'oldPath':_0x5b02ac,'hasNewConfig':_0x201cc8,'fields':_0x41886b};break;}}const _0x148b8b=[],_0x7727b=resolve(_0x457dcc,'.lovrabet');if(existsSync(_0x7727b))_0x148b8b[_0x75689a(0xf3)](_0x7727b);const _0x4c2061=resolve(_0x457dcc,_0x75689a(0xb7));if(existsSync(_0x4c2061))_0x148b8b[_0x75689a(0xf3)](_0x4c2061);const _0x3a2fee=resolve(_0x457dcc,'.claude/skills/lovrabet');if(existsSync(_0x3a2fee))_0x148b8b[_0x75689a(0xf3)](_0x3a2fee);for(const _0x34d47c of collectIdeSkillFiles(_0x457dcc)){if(existsSync(_0x34d47c))_0x148b8b[_0x75689a(0xf3)](_0x34d47c);}let _0x35f376=null;const _0x18993f=resolve(_0x457dcc,_0x75689a(0xf9));if(existsSync(_0x18993f))try{const _0x241683=JSON[_0x75689a(0xd0)](readFileSync(_0x18993f,_0x75689a(0x100)));if(_0x241683?.[_0x75689a(0x12b)]&&typeof _0x241683[_0x75689a(0x12b)]==='object'){const _0x10182c=[];for(const [_0x2af53d,_0x1ea329]of Object[_0x75689a(0xe0)](_0x241683[_0x75689a(0x12b)])){const _0x4e8ff7=_0x1ea329;_0x4e8ff7?.[_0x75689a(0xce)]&&Array['isArray'](_0x4e8ff7[_0x75689a(0xce)])&&_0x4e8ff7['args'][_0x75689a(0x11d)](_0x18e265=>typeof _0x18e265===_0x75689a(0xc1)&&_0x18e265[_0x75689a(0x103)](_0x75689a(0xf5)))&&_0x10182c['push'](_0x2af53d);}_0x10182c[_0x75689a(0xd2)]>0x0&&(_0x35f376={'path':_0x18993f,'keys':_0x10182c});}}catch{}const _0x4b37f3=_0x148b8b[_0x75689a(0xd2)]>0x0||_0x197f2b!==null;let _0x232ce0=null;const _0xf676ae=resolve(_0x457dcc,'package.json');if(existsSync(_0xf676ae))try{const _0x4ad5e4=JSON[_0x75689a(0xd0)](readFileSync(_0xf676ae,'utf8'));for(const _0x91014 of[_0x75689a(0xc2),_0x75689a(0xdd)]){const _0x361198=_0x4ad5e4?.[_0x91014]?.['@lovrabet/sdk'];if(typeof _0x361198===_0x75689a(0xc1)){_0x361198!==_0x75689a(0xf0)&&(_0x232ce0={'pkgPath':_0xf676ae,'currentVersion':_0x361198,'field':_0x91014});break;}}}catch{}return{'configMigration':_0x197f2b,'oldArtifacts':_0x148b8b,'oldMcpConfig':_0x35f376,'needsSkillSwap':_0x4b37f3,'sdkUpgrade':_0x232ce0};}function a138_0x5a3b(){const _0x3fbd47=['1PLlStw','not\x20needed','devDependencies','584TlrDuL','stringify','entries','inherit','done','log','Clean\x20MCP\x20config','.bak','Remove\x20.lovrabet/','1437424XsLLnR','white','[\x22@lovrabet/sdk\x22]:\x20','Legacy\x20artifacts:','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','10708900FLlZDS','151465mWluLv','\x20\x20#\x20or','isArray','latest','\x20\x20npm\x20install','\x20removed\x20(','push','files','@lovrabet/dataset-mcp-server','not\x20found\x20or\x20already\x20at\x20latest','undefined','\x20from\x20','.cursor/mcp.json','1319214ryxYUW','skipped','error','@lovrabet/sdk','\x20→\x20keys:\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','utf8','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','path','includes','5663txUGQU','hasNewConfig','\x20\x20New\x20config\x20(.rabetbase.json):\x20','oldMcpConfig','\x20\x20Fields\x20to\x20migrate:\x20','Config\x20file:','Skill\x20swap:','filter','Upgrade\x20@lovrabet/sdk','Step\x204/7:\x20Cleaning\x20MCP\x20config...','bold','\x20→\x20latest','Config\x20migration','label','yellow','Step\x201/7:\x20Migrating\x20config...','succeed','exit\x20','80kcUCSa','.lovrabet','sdkUpgrade','isDirectory','already\x20exists\x20(will\x20merge)','Install\x20new\x20skill','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','some','oldArtifacts','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','2994366cCboHh','no\x20matching\x20entry\x20found','5137857IbNhwy','needed','gray','\x20→\x20','cyan','none\x20found','failed','Proceed\x20with\x20upgrade?','message','mcpServers','===\x20Upgrade\x20Summary\x20===','Step\x206/7:\x20Installing\x20new\x20skill...','===\x20Upgrade\x20Analysis\x20===','keys','red','.cursor/rules/lovrabet_rules.mdc','skipped\x20(no\x20legacy\x20config)','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','@lovrabet/sdk:','\x20removed','info','join','no\x20legacy\x20entry','oldPath','detail','string','dependencies','start','fail','FOUND','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','lovrabet/rabetbase','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','MCP\x20config:','status','\x20\x20bun\x20install','no\x20legacy\x20config\x20found','\x20(backup:\x20','args','Step\x204/7:\x20MCP\x20config\x20—\x20','parse','fields','length','lovrabet/rabetbase\x20installed\x20globally','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','object','Remove\x20old\x20skill','Upgrade\x20cancelled.','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','green'];a138_0x5a3b=function(){return _0x3fbd47;};return a138_0x5a3b();}function printReport(_0x589de8){const _0x38a19d=a138_0x4115ca,{configMigration:_0x346aa1,oldArtifacts:_0x4f0abe,oldMcpConfig:_0x368bbe,needsSkillSwap:_0xfe4186}=_0x589de8;console[_0x38a19d(0xe3)](''),console['log'](a138_0x4faac9[_0x38a19d(0x10e)](_0x38a19d(0x12e))),console[_0x38a19d(0xe3)]('');_0x346aa1?(console['log'](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0x109))+('\x20\x20'+a138_0x4faac9['yellow'](_0x346aa1[_0x38a19d(0xbf)]))),console[_0x38a19d(0xe3)](_0x38a19d(0x106)+(_0x346aa1[_0x38a19d(0x105)]?a138_0x4faac9[_0x38a19d(0xda)](_0x38a19d(0x11a)):a138_0x4faac9[_0x38a19d(0x124)]('not\x20found\x20(will\x20create)'))),console['log'](_0x38a19d(0x108)+_0x346aa1[_0x38a19d(0xd1)][_0x38a19d(0xbd)](',\x20')),console[_0x38a19d(0xe3)](_0x38a19d(0x101))):console['log'](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0x109))+'\x20\x20'+a138_0x4faac9[_0x38a19d(0x124)](_0x38a19d(0xcc)));console[_0x38a19d(0xe3)]('');if(_0x4f0abe[_0x38a19d(0xd2)]>0x0){console[_0x38a19d(0xe3)](a138_0x4faac9['cyan'](_0x38a19d(0xea)));for(const _0xac5109 of _0x4f0abe){console['log']('\x20\x20'+a138_0x4faac9[_0x38a19d(0x130)](_0x38a19d(0xc5))+'\x20\x20'+_0xac5109);}console[_0x38a19d(0xe3)]('\x20\x20Action:\x20delete');}else console[_0x38a19d(0xe3)](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0xea))+'\x20\x20'+a138_0x4faac9[_0x38a19d(0x124)](_0x38a19d(0x127)));console[_0x38a19d(0xe3)]('');_0x368bbe?(console[_0x38a19d(0xe3)](a138_0x4faac9['cyan'](_0x38a19d(0xc9))+('\x20\x20'+a138_0x4faac9[_0x38a19d(0x112)](_0x368bbe[_0x38a19d(0x102)])+_0x38a19d(0xfe)+_0x368bbe[_0x38a19d(0x12f)][_0x38a19d(0xbd)](',\x20'))),console[_0x38a19d(0xe3)](_0x38a19d(0xb9))):console[_0x38a19d(0xe3)](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0xc9))+'\x20\x20'+a138_0x4faac9['gray'](_0x38a19d(0xbe)));console['log'](''),console[_0x38a19d(0xe3)](a138_0x4faac9['cyan'](_0x38a19d(0x10a))+('\x20\x20'+(_0xfe4186?a138_0x4faac9[_0x38a19d(0x112)](_0x38a19d(0x123)):a138_0x4faac9[_0x38a19d(0xda)](_0x38a19d(0xdc)))));_0xfe4186&&console[_0x38a19d(0xe3)](_0x38a19d(0xd9)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x38a19d(0xe3)]('');if(_0x589de8[_0x38a19d(0x118)]){const {currentVersion:_0x14d475,field:_0x23cc1d,pkgPath:_0x322f0e}=_0x589de8[_0x38a19d(0x118)];console[_0x38a19d(0xe3)](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0xba))+('\x20\x20'+a138_0x4faac9[_0x38a19d(0x112)](_0x322f0e))),console[_0x38a19d(0xe3)]('\x20\x20Current\x20version\x20in\x20'+_0x23cc1d+':\x20'+a138_0x4faac9[_0x38a19d(0x112)](_0x14d475)+_0x38a19d(0x125)+a138_0x4faac9['green'](_0x38a19d(0xf0))),console['log'](_0x38a19d(0xd5));}else console[_0x38a19d(0xe3)](a138_0x4faac9[_0x38a19d(0x126)](_0x38a19d(0xba))+'\x20\x20'+a138_0x4faac9[_0x38a19d(0x124)](_0x38a19d(0xf6)));console[_0x38a19d(0xe3)]('');}function execConfigMigration(_0x542ca6,_0x29c2e8){const _0x54fe0c=a138_0x4115ca,{configMigration:_0x871fe1}=_0x542ca6;if(!_0x871fe1?.[_0x54fe0c(0xbf)])return{'step':0x1,'label':_0x54fe0c(0x110),'ok':!![],'detail':_0x54fe0c(0xb8)};const _0x583b6a=readConfigFile(_0x871fe1[_0x54fe0c(0xbf)]),_0x56a802=resolve(_0x29c2e8,NEW_CONFIG_NAME),_0x26fde3=_0x871fe1[_0x54fe0c(0x105)]?readConfigFile(_0x56a802):{};for(const [_0x5e980c,_0xaaa5aa]of Object[_0x54fe0c(0xe0)](_0x583b6a)){!(_0x5e980c in _0x26fde3)&&(_0x26fde3[_0x5e980c]=_0xaaa5aa);}writeConfigFile(_0x56a802,_0x26fde3);const _0xd6317=_0x871fe1[_0x54fe0c(0xbf)]+_0x54fe0c(0xe5);return renameSync(_0x871fe1[_0x54fe0c(0xbf)],_0xd6317),{'step':0x1,'label':_0x54fe0c(0x110),'ok':!![],'detail':_0x871fe1['oldPath']+_0x54fe0c(0x125)+_0x56a802+_0x54fe0c(0xcd)+_0xd6317+')'};}function execRemoveOldArtifacts(_0x54839f){const _0x599524=a138_0x4115ca,_0x4eb8f7=[];for(const _0xdb32b2 of _0x54839f){try{if(!existsSync(_0xdb32b2))continue;const _0x4197c8=tryStat(_0xdb32b2);_0x4197c8?.[_0x599524(0x119)]()?rmSync(_0xdb32b2,{'recursive':!![],'force':!![]}):unlinkSync(_0xdb32b2);}catch(_0x11158d){_0x4eb8f7[_0x599524(0xf3)](_0xdb32b2+':\x20'+_0x11158d[_0x599524(0x12a)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4eb8f7[_0x599524(0xd2)]===0x0,'detail':_0x4eb8f7['length']>0x0?_0x54839f[_0x599524(0xd2)]-_0x4eb8f7[_0x599524(0xd2)]+'/'+_0x54839f[_0x599524(0xd2)]+_0x599524(0xf2)+_0x4eb8f7[_0x599524(0xbd)](';\x20')+')':_0x54839f[_0x599524(0xd2)]+_0x599524(0xbb)};}function execCleanMcp(_0x149b69){const _0x58aac1=a138_0x4115ca;if(!_0x149b69[_0x58aac1(0x107)])return{'step':0x4,'label':_0x58aac1(0xe4),'ok':!![],'detail':'skipped'};try{const _0x2b05f1=readFileSync(_0x149b69[_0x58aac1(0x107)][_0x58aac1(0x102)],_0x58aac1(0x100)),_0x325926=JSON[_0x58aac1(0xd0)](_0x2b05f1);if(_0x325926?.[_0x58aac1(0x12b)]&&typeof _0x325926[_0x58aac1(0x12b)]===_0x58aac1(0xd6)){const _0x5a8619=[];for(const [_0x372f02,_0x185613]of Object[_0x58aac1(0xe0)](_0x325926[_0x58aac1(0x12b)])){_0x185613?.['args']&&Array[_0x58aac1(0xef)](_0x185613[_0x58aac1(0xce)])&&_0x185613[_0x58aac1(0xce)][_0x58aac1(0x11d)](_0x4d5eb8=>typeof _0x4d5eb8===_0x58aac1(0xc1)&&_0x4d5eb8[_0x58aac1(0x103)](_0x58aac1(0xf5)))&&_0x5a8619[_0x58aac1(0xf3)](_0x372f02);}for(const _0x18b9d4 of _0x5a8619){delete _0x325926[_0x58aac1(0x12b)][_0x18b9d4];}return _0x5a8619[_0x58aac1(0xd2)]>0x0&&writeFileSync(_0x149b69['oldMcpConfig']['path'],JSON[_0x58aac1(0xdf)](_0x325926,null,0x2)+'\x0a',_0x58aac1(0x100)),{'step':0x4,'label':_0x58aac1(0xe4),'ok':!![],'detail':'removed\x20'+_0x5a8619[_0x58aac1(0xbd)](',\x20')+_0x58aac1(0xf8)+_0x149b69[_0x58aac1(0x107)][_0x58aac1(0x102)]};}return{'step':0x4,'label':_0x58aac1(0xe4),'ok':!![],'detail':_0x58aac1(0x121)};}catch(_0x5262a4){return{'step':0x4,'label':_0x58aac1(0xe4),'ok':![],'detail':_0x5262a4['message']};}}function execSkillsRemove(_0xef3f3a,_0x18e385){const _0xf7100=a138_0x4115ca,_0x4325a2=runNpxSkillsRemove(_0xef3f3a,{'stdio':_0xf7100(0xe1),'yes':_0x18e385});return{'step':0x5,'label':_0xf7100(0xd7),'ok':_0x4325a2['ok'],'detail':_0x4325a2['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4325a2[_0xf7100(0xfc)]??_0xf7100(0x115)+_0x4325a2['status']};}function execSkillsAdd(_0x3334ad,_0xa86471){const _0x377598=a138_0x4115ca,_0x2db564=runNpxSkillsAddGlobal(_0x3334ad,_0x377598(0xc7),{'stdio':_0x377598(0xe1),'yes':_0xa86471});return{'step':0x6,'label':_0x377598(0x11b),'ok':_0x2db564['ok'],'detail':_0x2db564['ok']?_0x377598(0xd3):_0x2db564[_0x377598(0xfc)]??'exit\x20'+_0x2db564[_0x377598(0xca)]};}function execUpgradeSdk(_0x46ca74){const _0x41873a=a138_0x4115ca;if(!_0x46ca74[_0x41873a(0x118)])return{'step':0x7,'label':_0x41873a(0x10c),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x23d270,currentVersion:_0x1f646e,field:_0x18a8f4}=_0x46ca74[_0x41873a(0x118)];try{const _0x5c4b7a=readFileSync(_0x23d270,'utf8'),_0x1a35e9=JSON[_0x41873a(0xd0)](_0x5c4b7a);return _0x1a35e9[_0x18a8f4][_0x41873a(0xfd)]=_0x41873a(0xf0),writeFileSync(_0x23d270,JSON['stringify'](_0x1a35e9,null,0x2)+'\x0a',_0x41873a(0x100)),{'step':0x7,'label':_0x41873a(0x10c),'ok':!![],'detail':_0x18a8f4+_0x41873a(0xe9)+_0x1f646e+_0x41873a(0x10f)};}catch(_0x45449c){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x45449c[_0x41873a(0x12a)]};}}function tryStat(_0x1c3ba5){try{return statSync(_0x1c3ba5);}catch{return undefined;}}function printSummary(_0x28bc16){const _0x293e0c=a138_0x4115ca;console['log'](''),console[_0x293e0c(0xe3)](a138_0x4faac9[_0x293e0c(0x10e)](_0x293e0c(0x12c))),console[_0x293e0c(0xe3)]('');for(const _0x5652c7 of _0x28bc16){const _0x888e17=_0x5652c7['ok']?a138_0x4faac9[_0x293e0c(0xda)]('OK'):a138_0x4faac9[_0x293e0c(0x130)]('FAIL');console[_0x293e0c(0xe3)]('\x20\x20'+_0x888e17+'\x20\x20Step\x20'+_0x5652c7['step']+':\x20'+_0x5652c7[_0x293e0c(0x111)]);if(_0x5652c7[_0x293e0c(0xc0)])console[_0x293e0c(0xe3)]('\x20\x20\x20\x20\x20\x20\x20'+a138_0x4faac9[_0x293e0c(0x124)](_0x5652c7[_0x293e0c(0xc0)]));}console[_0x293e0c(0xe3)]('');}export async function upgradeApp(_0x3cafcd,_0x4628a9){const _0x42d076=a138_0x4115ca,_0x20e74f=process['cwd'](),_0x5af711=analyse(_0x20e74f),_0x4a5eb6=!_0x5af711['configMigration']&&_0x5af711[_0x42d076(0x11e)][_0x42d076(0xd2)]===0x0&&!_0x5af711[_0x42d076(0x107)]&&!_0x5af711['needsSkillSwap']&&!_0x5af711['sdkUpgrade'];if(_0x4a5eb6){console['log'](a138_0x4faac9['green']('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x5af711);const _0x5b06db=!!(_0x4628a9['yes']||_0x4628a9['Y']||_0x3cafcd);if(!_0x5b06db)try{const _0x2d5365=await askConfirm(_0x42d076(0x129));if(!_0x2d5365){console[_0x42d076(0xe3)](a138_0x4faac9['gray'](_0x42d076(0xd8)));return;}}catch(_0x4265af){if(_0x4265af?.['message']==='CANCEL'){console['log'](a138_0x4faac9['gray'](_0x42d076(0xd8)));return;}throw _0x4265af;}const _0x2e86ce=[],_0x5886a5=a138_0x500716({'text':_0x42d076(0x113),'color':_0x42d076(0x126)})[_0x42d076(0xc3)](),_0x41eeca=execConfigMigration(_0x5af711,_0x20e74f);_0x2e86ce[_0x42d076(0xf3)](_0x41eeca),_0x5886a5[_0x41eeca['ok']?_0x42d076(0x114):_0x42d076(0xc4)](_0x42d076(0xff)+(_0x41eeca['detail']??(_0x41eeca['ok']?_0x42d076(0xe2):_0x42d076(0x128))));const _0x11cfc5=resolve(_0x20e74f,_0x42d076(0x117)),_0x2ed016=a138_0x500716({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x42d076(0x126)})[_0x42d076(0xc3)]();if(existsSync(_0x11cfc5))try{rmSync(_0x11cfc5,{'recursive':!![],'force':!![]}),_0x2ed016[_0x42d076(0x114)](_0x42d076(0xc8)),_0x2e86ce['push']({'step':0x2,'label':_0x42d076(0xe6),'ok':!![]});}catch(_0x405407){_0x2ed016[_0x42d076(0xc4)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x405407[_0x42d076(0x12a)]),_0x2e86ce['push']({'step':0x2,'label':_0x42d076(0xe6),'ok':![],'detail':_0x405407[_0x42d076(0x12a)]});}else _0x2ed016[_0x42d076(0xbc)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x2e86ce[_0x42d076(0xf3)]({'step':0x2,'label':_0x42d076(0xe6),'ok':!![],'detail':_0x42d076(0xfb)});const _0x317bf2=a138_0x500716({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x42d076(0x126)})[_0x42d076(0xc3)](),_0x487094=execRemoveOldArtifacts(_0x5af711[_0x42d076(0x11e)]);_0x2e86ce[_0x42d076(0xf3)](_0x487094),_0x317bf2[_0x487094['ok']?_0x42d076(0x114):_0x42d076(0xc4)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x487094[_0x42d076(0xc0)]??(_0x487094['ok']?_0x42d076(0xe2):_0x42d076(0x128))));const _0x229d9f=a138_0x500716({'text':_0x42d076(0x10d),'color':_0x42d076(0x126)})['start'](),_0x4952f0=execCleanMcp(_0x5af711);_0x2e86ce['push'](_0x4952f0),_0x229d9f[_0x4952f0['ok']?_0x42d076(0x114):_0x42d076(0xc4)](_0x42d076(0xcf)+(_0x4952f0[_0x42d076(0xc0)]??(_0x4952f0['ok']?'done':'failed')));const _0x5729fe=a138_0x500716({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x42d076(0x126)})[_0x42d076(0xc3)](),_0x2451da=execSkillsRemove(_0x20e74f,_0x5b06db);_0x2e86ce[_0x42d076(0xf3)](_0x2451da),_0x5729fe[_0x2451da['ok']?_0x42d076(0x114):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x2451da['detail']??(_0x2451da['ok']?'done':_0x42d076(0x128))));const _0x50f1a5=a138_0x500716({'text':_0x42d076(0x12d),'color':_0x42d076(0x126)})[_0x42d076(0xc3)](),_0x202eba=execSkillsAdd(_0x20e74f,_0x5b06db);_0x2e86ce[_0x42d076(0xf3)](_0x202eba),_0x50f1a5[_0x202eba['ok']?_0x42d076(0x114):_0x42d076(0xc4)](_0x42d076(0x11c)+(_0x202eba[_0x42d076(0xc0)]??(_0x202eba['ok']?'done':_0x42d076(0x128))));const _0x226d3c=a138_0x500716({'text':_0x42d076(0xc6),'color':'cyan'})[_0x42d076(0xc3)](),_0x2955ce=execUpgradeSdk(_0x5af711);_0x2e86ce[_0x42d076(0xf3)](_0x2955ce),_0x226d3c[_0x2955ce['ok']?_0x42d076(0x114):_0x42d076(0xc4)](_0x42d076(0xeb)+(_0x2955ce[_0x42d076(0xc0)]??(_0x2955ce['ok']?'done':_0x42d076(0x128)))),printSummary(_0x2e86ce);const _0x4ec9ec=_0x2e86ce[_0x42d076(0x11d)](_0x2210c9=>!_0x2210c9['ok']);_0x4ec9ec?console[_0x42d076(0xe3)](a138_0x4faac9['yellow'](_0x42d076(0xd4))):console['log'](a138_0x4faac9[_0x42d076(0xda)]('Upgrade\x20completed\x20successfully!')),_0x2955ce['ok']&&_0x5af711[_0x42d076(0x118)]&&(console[_0x42d076(0xe3)](''),console[_0x42d076(0xe3)](a138_0x4faac9[_0x42d076(0x10e)]['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a138_0x4faac9['cyan'](_0x42d076(0x11f))),console[_0x42d076(0xe3)](''),console[_0x42d076(0xe3)](a138_0x4faac9[_0x42d076(0xe8)](_0x42d076(0xf1))),console['log'](a138_0x4faac9[_0x42d076(0xe8)](_0x42d076(0xee))),console['log'](a138_0x4faac9[_0x42d076(0xe8)](_0x42d076(0xcb))),console['log'](''));}
1
+ const a140_0x5aeff0=a140_0x1f14;(function(_0x2d8ca5,_0x279048){const _0x5cd184=a140_0x1f14,_0x457ad1=_0x2d8ca5();while(!![]){try{const _0x17afce=-parseInt(_0x5cd184(0x192))/0x1*(-parseInt(_0x5cd184(0x1c3))/0x2)+parseInt(_0x5cd184(0x1ad))/0x3+-parseInt(_0x5cd184(0x196))/0x4+parseInt(_0x5cd184(0x165))/0x5+parseInt(_0x5cd184(0x19b))/0x6+-parseInt(_0x5cd184(0x1bd))/0x7*(-parseInt(_0x5cd184(0x1d6))/0x8)+parseInt(_0x5cd184(0x1e4))/0x9;if(_0x17afce===_0x279048)break;else _0x457ad1['push'](_0x457ad1['shift']());}catch(_0x102e0c){_0x457ad1['push'](_0x457ad1['shift']());}}}(a140_0x118a,0xeb101));import a140_0x28b79e from'chalk';function a140_0x1f14(_0x5614dd,_0x37c2ab){_0x5614dd=_0x5614dd-0x164;const _0x118a7d=a140_0x118a();let _0x1f1426=_0x118a7d[_0x5614dd];return _0x1f1426;}import a140_0x17babd from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a140_0x5aeff0(0x1af)](_0x536535=>_0x536535!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x442103){const _0x3b79f2=a140_0x5aeff0,_0x165214=[];for(const _0x2ba53f of Object[_0x3b79f2(0x1da)](CORE_IDE_CONFIGS)){if(_0x2ba53f[_0x3b79f2(0x18f)])for(const _0x4da879 of _0x2ba53f[_0x3b79f2(0x18f)]){_0x165214[_0x3b79f2(0x1e1)](resolve(_0x442103,_0x4da879[_0x3b79f2(0x1b5)]));}}return _0x165214;}function analyse(_0x31b317){const _0x36afe8=a140_0x5aeff0;let _0x1f2a14=null;const _0x3054d2=resolve(_0x31b317,NEW_CONFIG_NAME),_0xf92526=existsSync(_0x3054d2);for(const _0x2f2fe5 of LEGACY_CONFIG_NAMES){const _0x3eb1ea=resolve(_0x31b317,_0x2f2fe5);if(existsSync(_0x3eb1ea)){const _0x4f2bcb=readConfigFile(_0x3eb1ea),_0x5e4910=Object['keys'](_0x4f2bcb)['filter'](_0x332c5c=>typeof _0x4f2bcb[_0x332c5c]!==_0x36afe8(0x190));_0x1f2a14={'oldPath':_0x3eb1ea,'hasNewConfig':_0xf92526,'fields':_0x5e4910};break;}}const _0x4bbde7=[],_0x1a0d0e=resolve(_0x31b317,'.lovrabet');if(existsSync(_0x1a0d0e))_0x4bbde7[_0x36afe8(0x1e1)](_0x1a0d0e);const _0x53cd28=resolve(_0x31b317,_0x36afe8(0x16e));if(existsSync(_0x53cd28))_0x4bbde7[_0x36afe8(0x1e1)](_0x53cd28);const _0x5d7bdf=resolve(_0x31b317,_0x36afe8(0x1c5));if(existsSync(_0x5d7bdf))_0x4bbde7[_0x36afe8(0x1e1)](_0x5d7bdf);for(const _0x1aa38c of collectIdeSkillFiles(_0x31b317)){if(existsSync(_0x1aa38c))_0x4bbde7[_0x36afe8(0x1e1)](_0x1aa38c);}let _0x1057cf=null;const _0x1a5683=resolve(_0x31b317,_0x36afe8(0x1a3));if(existsSync(_0x1a5683))try{const _0x4b8ed5=JSON[_0x36afe8(0x19c)](readFileSync(_0x1a5683,_0x36afe8(0x1bb)));if(_0x4b8ed5?.[_0x36afe8(0x1e3)]&&typeof _0x4b8ed5[_0x36afe8(0x1e3)]===_0x36afe8(0x1ac)){const _0x5e835a=[];for(const [_0x2a37d7,_0x37350e]of Object[_0x36afe8(0x18c)](_0x4b8ed5[_0x36afe8(0x1e3)])){const _0x3c1296=_0x37350e;_0x3c1296?.['args']&&Array[_0x36afe8(0x175)](_0x3c1296[_0x36afe8(0x1ae)])&&_0x3c1296[_0x36afe8(0x1ae)][_0x36afe8(0x17c)](_0x4319db=>typeof _0x4319db===_0x36afe8(0x1ce)&&_0x4319db[_0x36afe8(0x1b0)]('@lovrabet/dataset-mcp-server'))&&_0x5e835a[_0x36afe8(0x1e1)](_0x2a37d7);}_0x5e835a['length']>0x0&&(_0x1057cf={'path':_0x1a5683,'keys':_0x5e835a});}}catch{}const _0x371291=_0x4bbde7[_0x36afe8(0x179)]>0x0||_0x1f2a14!==null;let _0x435483=null;const _0x28492e=resolve(_0x31b317,'package.json');if(existsSync(_0x28492e))try{const _0x35a7e4=JSON[_0x36afe8(0x19c)](readFileSync(_0x28492e,_0x36afe8(0x1bb)));for(const _0x55f496 of['dependencies',_0x36afe8(0x178)]){const _0x6ef759=_0x35a7e4?.[_0x55f496]?.['@lovrabet/sdk'];if(typeof _0x6ef759==='string'){_0x6ef759!=='latest'&&(_0x435483={'pkgPath':_0x28492e,'currentVersion':_0x6ef759,'field':_0x55f496});break;}}}catch{}return{'configMigration':_0x1f2a14,'oldArtifacts':_0x4bbde7,'oldMcpConfig':_0x1057cf,'needsSkillSwap':_0x371291,'sdkUpgrade':_0x435483};}function printReport(_0x3deda1){const _0x1ff49f=a140_0x5aeff0,{configMigration:_0x439f50,oldArtifacts:_0x42db20,oldMcpConfig:_0x3bef23,needsSkillSwap:_0x3b64f2}=_0x3deda1;console[_0x1ff49f(0x16b)](''),console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1aa)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x1ff49f(0x16b)]('');_0x439f50?(console[_0x1ff49f(0x16b)](a140_0x28b79e['cyan'](_0x1ff49f(0x18a))+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x439f50[_0x1ff49f(0x1d8)]))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x1d2)+(_0x439f50[_0x1ff49f(0x1cb)]?a140_0x28b79e['green'](_0x1ff49f(0x18b)):a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x1a4)))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x184)+_0x439f50[_0x1ff49f(0x17a)][_0x1ff49f(0x1b4)](',\x20')),console['log'](_0x1ff49f(0x164))):console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x18a))+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x1d0)));console[_0x1ff49f(0x16b)]('');if(_0x42db20[_0x1ff49f(0x179)]>0x0){console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)]('Legacy\x20artifacts:'));for(const _0x2e8c8d of _0x42db20){console[_0x1ff49f(0x16b)]('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x18d)](_0x1ff49f(0x180))+'\x20\x20'+_0x2e8c8d);}console[_0x1ff49f(0x16b)](_0x1ff49f(0x170));}else console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x16d))+'\x20\x20'+a140_0x28b79e['gray']('none\x20found'));console['log']('');_0x3bef23?(console['log'](a140_0x28b79e[_0x1ff49f(0x1bc)]('MCP\x20config:')+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x3bef23[_0x1ff49f(0x1b5)])+_0x1ff49f(0x19d)+_0x3bef23[_0x1ff49f(0x1ca)][_0x1ff49f(0x1b4)](',\x20'))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x1cc))):console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x191))+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)](_0x1ff49f(0x16f)));console[_0x1ff49f(0x16b)](''),console[_0x1ff49f(0x16b)](a140_0x28b79e['cyan'](_0x1ff49f(0x1d9))+('\x20\x20'+(_0x3b64f2?a140_0x28b79e['yellow'](_0x1ff49f(0x195)):a140_0x28b79e[_0x1ff49f(0x197)]('not\x20needed'))));_0x3b64f2&&console[_0x1ff49f(0x16b)](_0x1ff49f(0x169)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1ff49f(0x16b)]('');if(_0x3deda1[_0x1ff49f(0x1a7)]){const {currentVersion:_0x1b9c55,field:_0x1e1651,pkgPath:_0x379226}=_0x3deda1['sdkUpgrade'];console[_0x1ff49f(0x16b)](a140_0x28b79e[_0x1ff49f(0x1bc)](_0x1ff49f(0x181))+('\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1df)](_0x379226))),console['log']('\x20\x20Current\x20version\x20in\x20'+_0x1e1651+':\x20'+a140_0x28b79e['yellow'](_0x1b9c55)+_0x1ff49f(0x188)+a140_0x28b79e['green'](_0x1ff49f(0x1c2))),console[_0x1ff49f(0x16b)](_0x1ff49f(0x187));}else console['log'](a140_0x28b79e[_0x1ff49f(0x1bc)]('@lovrabet/sdk:')+'\x20\x20'+a140_0x28b79e[_0x1ff49f(0x1a5)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x1ff49f(0x16b)]('');}function execConfigMigration(_0x3b8276,_0x51c58f){const _0x355a97=a140_0x5aeff0,{configMigration:_0x49cc29}=_0x3b8276;if(!_0x49cc29?.['oldPath'])return{'step':0x1,'label':_0x355a97(0x1c9),'ok':!![],'detail':_0x355a97(0x1a2)};const _0xbf0cdf=readConfigFile(_0x49cc29[_0x355a97(0x1d8)]),_0x2086da=resolve(_0x51c58f,NEW_CONFIG_NAME),_0x165bf9=_0x49cc29['hasNewConfig']?readConfigFile(_0x2086da):{};for(const [_0x4c875e,_0x124361]of Object[_0x355a97(0x18c)](_0xbf0cdf)){!(_0x4c875e in _0x165bf9)&&(_0x165bf9[_0x4c875e]=_0x124361);}writeConfigFile(_0x2086da,_0x165bf9);const _0x419c33=_0x49cc29['oldPath']+_0x355a97(0x19f);return renameSync(_0x49cc29['oldPath'],_0x419c33),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x49cc29['oldPath']+_0x355a97(0x188)+_0x2086da+'\x20(backup:\x20'+_0x419c33+')'};}function execRemoveOldArtifacts(_0x156958){const _0x2556e3=a140_0x5aeff0,_0x2fa7b8=[];for(const _0x4be492 of _0x156958){try{if(!existsSync(_0x4be492))continue;const _0x32ba31=tryStat(_0x4be492);_0x32ba31?.['isDirectory']()?rmSync(_0x4be492,{'recursive':!![],'force':!![]}):unlinkSync(_0x4be492);}catch(_0x492d1d){_0x2fa7b8[_0x2556e3(0x1e1)](_0x4be492+':\x20'+_0x492d1d[_0x2556e3(0x1c7)]);}}return{'step':0x3,'label':_0x2556e3(0x1c0),'ok':_0x2fa7b8[_0x2556e3(0x179)]===0x0,'detail':_0x2fa7b8[_0x2556e3(0x179)]>0x0?_0x156958[_0x2556e3(0x179)]-_0x2fa7b8[_0x2556e3(0x179)]+'/'+_0x156958[_0x2556e3(0x179)]+_0x2556e3(0x16c)+_0x2fa7b8[_0x2556e3(0x1b4)](';\x20')+')':_0x156958[_0x2556e3(0x179)]+_0x2556e3(0x1cf)};}function execCleanMcp(_0x1926f7){const _0x35b28a=a140_0x5aeff0;if(!_0x1926f7[_0x35b28a(0x1a0)])return{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x171)};try{const _0x30046b=readFileSync(_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)],'utf8'),_0x47aa27=JSON[_0x35b28a(0x19c)](_0x30046b);if(_0x47aa27?.[_0x35b28a(0x1e3)]&&typeof _0x47aa27[_0x35b28a(0x1e3)]===_0x35b28a(0x1ac)){const _0x1ca15a=[];for(const [_0x1fbd8d,_0x49ee8d]of Object[_0x35b28a(0x18c)](_0x47aa27['mcpServers'])){_0x49ee8d?.[_0x35b28a(0x1ae)]&&Array['isArray'](_0x49ee8d['args'])&&_0x49ee8d[_0x35b28a(0x1ae)][_0x35b28a(0x17c)](_0x96d403=>typeof _0x96d403===_0x35b28a(0x1ce)&&_0x96d403['includes']('@lovrabet/dataset-mcp-server'))&&_0x1ca15a[_0x35b28a(0x1e1)](_0x1fbd8d);}for(const _0x3e41fd of _0x1ca15a){delete _0x47aa27[_0x35b28a(0x1e3)][_0x3e41fd];}return _0x1ca15a['length']>0x0&&writeFileSync(_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)],JSON[_0x35b28a(0x1dc)](_0x47aa27,null,0x2)+'\x0a',_0x35b28a(0x1bb)),{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x1cd)+_0x1ca15a[_0x35b28a(0x1b4)](',\x20')+_0x35b28a(0x1d3)+_0x1926f7[_0x35b28a(0x1a0)][_0x35b28a(0x1b5)]};}return{'step':0x4,'label':_0x35b28a(0x186),'ok':!![],'detail':_0x35b28a(0x198)};}catch(_0x2b238d){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x2b238d[_0x35b28a(0x1c7)]};}}function a140_0x118a(){const _0x3e3324=['removed\x20','string','\x20removed','no\x20legacy\x20config\x20found','===\x20Upgrade\x20Summary\x20===','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20from\x20','lovrabet/rabetbase','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','1176SOkQVB','[\x22@lovrabet/sdk\x22]:\x20','oldPath','Skill\x20swap:','values','configMigration','stringify','status','Install\x20new\x20skill','yellow','Step\x201/7:\x20Migrating\x20config...','push','CANCEL','mcpServers','1026486qBskox','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','1109060bakCgs','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','failed','log','\x20removed\x20(','Legacy\x20artifacts:','.cursor/rules/lovrabet_rules.mdc','no\x20legacy\x20entry','\x20\x20Action:\x20delete','skipped','detail','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','isArray','fail','lovrabet/rabetbase\x20installed\x20globally','devDependencies','length','fields','\x20→\x20latest','some','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FAIL','Step\x206/7:\x20Installing\x20new\x20skill...','FOUND','@lovrabet/sdk:','needsSkillSwap','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Fields\x20to\x20migrate:\x20','inherit','Clean\x20MCP\x20config','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20→\x20','@lovrabet/sdk','Config\x20file:','already\x20exists\x20(will\x20merge)','entries','red','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','files','undefined','MCP\x20config:','1EmGwmX','Upgrade\x20cancelled.','Remove\x20old\x20skill','needed','6432888HxppFM','green','no\x20matching\x20entry\x20found','error','\x20\x20Step\x20','2859468PqJeMx','parse','\x20→\x20keys:\x20','Remove\x20.lovrabet/','.bak','oldMcpConfig','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','skipped\x20(no\x20legacy\x20config)','.cursor/mcp.json','not\x20found\x20(will\x20create)','gray','Upgrade\x20@lovrabet/sdk','sdkUpgrade','done','\x20\x20\x20\x20\x20\x20\x20','bold','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','object','1350762ihBOsZ','args','filter','includes','\x20\x20#\x20or','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','label','join','path','start','exit\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','white','\x20\x20bun\x20install','utf8','cyan','10367gxsheK','oldArtifacts','step','Remove\x20legacy\x20artifacts','cwd','latest','2181268bDyToh','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.claude/skills/lovrabet','succeed','message','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Config\x20migration','keys','hasNewConfig','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server'];a140_0x118a=function(){return _0x3e3324;};return a140_0x118a();}function execSkillsRemove(_0x14b745,_0x4de5f6){const _0x40b339=a140_0x5aeff0,_0x4037d7=runNpxSkillsRemove(_0x14b745,{'stdio':_0x40b339(0x185),'yes':_0x4de5f6});return{'step':0x5,'label':_0x40b339(0x194),'ok':_0x4037d7['ok'],'detail':_0x4037d7['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4037d7[_0x40b339(0x199)]??_0x40b339(0x1b7)+_0x4037d7[_0x40b339(0x1dd)]};}function execSkillsAdd(_0x1d9f7f,_0x3569ea){const _0x7a6620=a140_0x5aeff0,_0x51c842=runNpxSkillsAddGlobal(_0x1d9f7f,_0x7a6620(0x1d4),{'stdio':_0x7a6620(0x185),'yes':_0x3569ea});return{'step':0x6,'label':_0x7a6620(0x1de),'ok':_0x51c842['ok'],'detail':_0x51c842['ok']?_0x7a6620(0x177):_0x51c842[_0x7a6620(0x199)]??_0x7a6620(0x1b7)+_0x51c842[_0x7a6620(0x1dd)]};}function execUpgradeSdk(_0x5143d4){const _0x1d9c9c=a140_0x5aeff0;if(!_0x5143d4[_0x1d9c9c(0x1a7)])return{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':!![],'detail':_0x1d9c9c(0x173)};const {pkgPath:_0x116737,currentVersion:_0x5a1f29,field:_0x208e09}=_0x5143d4[_0x1d9c9c(0x1a7)];try{const _0x47f517=readFileSync(_0x116737,_0x1d9c9c(0x1bb)),_0x4d86f7=JSON[_0x1d9c9c(0x19c)](_0x47f517);return _0x4d86f7[_0x208e09][_0x1d9c9c(0x189)]=_0x1d9c9c(0x1c2),writeFileSync(_0x116737,JSON['stringify'](_0x4d86f7,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':!![],'detail':_0x208e09+_0x1d9c9c(0x1d7)+_0x5a1f29+_0x1d9c9c(0x17b)};}catch(_0x198941){return{'step':0x7,'label':_0x1d9c9c(0x1a6),'ok':![],'detail':_0x198941['message']};}}function tryStat(_0x2c9f8c){try{return statSync(_0x2c9f8c);}catch{return undefined;}}function printSummary(_0xa5d213){const _0x117f02=a140_0x5aeff0;console[_0x117f02(0x16b)](''),console['log'](a140_0x28b79e[_0x117f02(0x1aa)](_0x117f02(0x1d1))),console['log']('');for(const _0x2ab65d of _0xa5d213){const _0x3fa695=_0x2ab65d['ok']?a140_0x28b79e[_0x117f02(0x197)]('OK'):a140_0x28b79e[_0x117f02(0x18d)](_0x117f02(0x17e));console[_0x117f02(0x16b)]('\x20\x20'+_0x3fa695+_0x117f02(0x19a)+_0x2ab65d[_0x117f02(0x1bf)]+':\x20'+_0x2ab65d[_0x117f02(0x1b3)]);if(_0x2ab65d['detail'])console[_0x117f02(0x16b)](_0x117f02(0x1a9)+a140_0x28b79e[_0x117f02(0x1a5)](_0x2ab65d['detail']));}console[_0x117f02(0x16b)]('');}export async function upgradeApp(_0x50043c,_0x25c346){const _0x459b10=a140_0x5aeff0,_0x46360a=process[_0x459b10(0x1c1)](),_0x36dc38=analyse(_0x46360a),_0x4cbacf=!_0x36dc38[_0x459b10(0x1db)]&&_0x36dc38[_0x459b10(0x1be)][_0x459b10(0x179)]===0x0&&!_0x36dc38[_0x459b10(0x1a0)]&&!_0x36dc38[_0x459b10(0x182)]&&!_0x36dc38[_0x459b10(0x1a7)];if(_0x4cbacf){console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x197)](_0x459b10(0x1c4)));return;}printReport(_0x36dc38);const _0x596d45=!!(_0x25c346['yes']||_0x25c346['Y']||_0x50043c);if(!_0x596d45)try{const _0x202814=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x202814){console['log'](a140_0x28b79e[_0x459b10(0x1a5)](_0x459b10(0x193)));return;}}catch(_0x53c1c4){if(_0x53c1c4?.['message']===_0x459b10(0x1e2)){console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1a5)](_0x459b10(0x193)));return;}throw _0x53c1c4;}const _0x29d2aa=[],_0x43ac9b=a140_0x17babd({'text':_0x459b10(0x1e0),'color':'cyan'})['start'](),_0x327e4e=execConfigMigration(_0x36dc38,_0x46360a);_0x29d2aa['push'](_0x327e4e),_0x43ac9b[_0x327e4e['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x183)+(_0x327e4e[_0x459b10(0x172)]??(_0x327e4e['ok']?'done':_0x459b10(0x16a))));const _0x1f75a9=resolve(_0x46360a,'.lovrabet'),_0x215ad0=a140_0x17babd({'text':_0x459b10(0x1b8),'color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)]();if(existsSync(_0x1f75a9))try{rmSync(_0x1f75a9,{'recursive':!![],'force':!![]}),_0x215ad0[_0x459b10(0x1c6)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2e42e9){_0x215ad0[_0x459b10(0x176)](_0x459b10(0x1d5)+_0x2e42e9[_0x459b10(0x1c7)]),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':_0x459b10(0x19e),'ok':![],'detail':_0x2e42e9[_0x459b10(0x1c7)]});}else _0x215ad0['info'](_0x459b10(0x18e)),_0x29d2aa[_0x459b10(0x1e1)]({'step':0x2,'label':_0x459b10(0x19e),'ok':!![],'detail':_0x459b10(0x171)});const _0x4063bb=a140_0x17babd({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x457e11=execRemoveOldArtifacts(_0x36dc38[_0x459b10(0x1be)]);_0x29d2aa[_0x459b10(0x1e1)](_0x457e11),_0x4063bb[_0x457e11['ok']?'succeed':'fail'](_0x459b10(0x1a1)+(_0x457e11[_0x459b10(0x172)]??(_0x457e11['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x49e206=a140_0x17babd({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':'cyan'})[_0x459b10(0x1b6)](),_0x3c057a=execCleanMcp(_0x36dc38);_0x29d2aa['push'](_0x3c057a),_0x49e206[_0x3c057a['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x167)+(_0x3c057a[_0x459b10(0x172)]??(_0x3c057a['ok']?'done':_0x459b10(0x16a))));const _0x1c04b0=a140_0x17babd({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x513bd3=execSkillsRemove(_0x46360a,_0x596d45);_0x29d2aa[_0x459b10(0x1e1)](_0x513bd3),_0x1c04b0[_0x513bd3['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x1c8)+(_0x513bd3['detail']??(_0x513bd3['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x58195f=a140_0x17babd({'text':_0x459b10(0x17f),'color':_0x459b10(0x1bc)})[_0x459b10(0x1b6)](),_0x32bbd9=execSkillsAdd(_0x46360a,_0x596d45);_0x29d2aa[_0x459b10(0x1e1)](_0x32bbd9),_0x58195f[_0x32bbd9['ok']?_0x459b10(0x1c6):'fail'](_0x459b10(0x166)+(_0x32bbd9[_0x459b10(0x172)]??(_0x32bbd9['ok']?_0x459b10(0x1a8):_0x459b10(0x16a))));const _0x83a4bc=a140_0x17babd({'text':_0x459b10(0x17d),'color':_0x459b10(0x1bc)})['start'](),_0x3c6754=execUpgradeSdk(_0x36dc38);_0x29d2aa['push'](_0x3c6754),_0x83a4bc[_0x3c6754['ok']?_0x459b10(0x1c6):_0x459b10(0x176)](_0x459b10(0x1ab)+(_0x3c6754['detail']??(_0x3c6754['ok']?_0x459b10(0x1a8):_0x459b10(0x16a)))),printSummary(_0x29d2aa);const _0x58e8b0=_0x29d2aa[_0x459b10(0x17c)](_0x5c61ea=>!_0x5c61ea['ok']);_0x58e8b0?console[_0x459b10(0x16b)](a140_0x28b79e['yellow'](_0x459b10(0x168))):console['log'](a140_0x28b79e[_0x459b10(0x197)]('Upgrade\x20completed\x20successfully!')),_0x3c6754['ok']&&_0x36dc38[_0x459b10(0x1a7)]&&(console['log'](''),console[_0x459b10(0x16b)](a140_0x28b79e['bold'][_0x459b10(0x1bc)](_0x459b10(0x174))),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1bc)](_0x459b10(0x1b2))),console[_0x459b10(0x16b)](''),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1b9)]('\x20\x20npm\x20install')),console['log'](a140_0x28b79e[_0x459b10(0x1b9)](_0x459b10(0x1b1))),console[_0x459b10(0x16b)](a140_0x28b79e[_0x459b10(0x1b9)](_0x459b10(0x1ba))),console[_0x459b10(0x16b)](''));}