@lovrabet/rabetbase-cli 2.3.9 → 2.3.10-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/logs/index.js +1 -1
  102. package/lib/commands/menu/delete.js +1 -1
  103. package/lib/commands/menu/group-create.js +1 -1
  104. package/lib/commands/menu/group-update.js +1 -1
  105. package/lib/commands/menu/index.js +1 -1
  106. package/lib/commands/menu/list.js +1 -1
  107. package/lib/commands/menu/regroup-start.js +1 -1
  108. package/lib/commands/menu/shared/compare-table.js +1 -1
  109. package/lib/commands/menu/shared/delete-plan.js +1 -1
  110. package/lib/commands/menu/shared/facts.js +1 -1
  111. package/lib/commands/menu/shared/index.js +1 -1
  112. package/lib/commands/menu/shared/inquirer.js +1 -1
  113. package/lib/commands/menu/shared/local-pages.js +1 -1
  114. package/lib/commands/menu/shared/logic.js +1 -1
  115. package/lib/commands/menu/shared/mutations.js +1 -1
  116. package/lib/commands/menu/shared/service.js +1 -1
  117. package/lib/commands/menu/shared/sync-core.js +1 -1
  118. package/lib/commands/menu/shared/update-core.js +1 -1
  119. package/lib/commands/menu/shared/valid-url.js +1 -1
  120. package/lib/commands/menu/sync.js +1 -1
  121. package/lib/commands/menu/update.js +1 -1
  122. package/lib/commands/notification/config-list.js +1 -1
  123. package/lib/commands/notification/index.js +1 -1
  124. package/lib/commands/page/generate-start.js +1 -1
  125. package/lib/commands/page/generate-status.js +1 -1
  126. package/lib/commands/page/index.js +1 -1
  127. package/lib/commands/page/pull.js +1 -1
  128. package/lib/commands/page/push.js +1 -1
  129. package/lib/commands/page/relation-audit.js +1 -1
  130. package/lib/commands/page/shared.js +1 -1
  131. package/lib/commands/page/standard-page-status.js +1 -1
  132. package/lib/commands/page/sync.js +1 -1
  133. package/lib/commands/permit/index.js +1 -1
  134. package/lib/commands/permit/page-get.js +1 -1
  135. package/lib/commands/permit/page-set.js +1 -1
  136. package/lib/commands/permit/role-apis-set.js +1 -1
  137. package/lib/commands/permit/role-menus-set.js +1 -1
  138. package/lib/commands/permit/role-menus.js +1 -1
  139. package/lib/commands/permit/shared.js +1 -1
  140. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  141. package/lib/commands/project/create/format-elapsed.js +1 -1
  142. package/lib/commands/project/create/main.js +1 -1
  143. package/lib/commands/project/create/non-interactive.js +1 -1
  144. package/lib/commands/project/create/project-template-path.js +1 -1
  145. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  146. package/lib/commands/project/create/use-format-code.js +1 -1
  147. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  148. package/lib/commands/project/index.js +1 -1
  149. package/lib/commands/project/init.js +1 -1
  150. package/lib/commands/project/upgrade.js +1 -1
  151. package/lib/commands/registry.js +1 -1
  152. package/lib/commands/role/create.js +1 -1
  153. package/lib/commands/role/delete.js +1 -1
  154. package/lib/commands/role/detail.js +1 -1
  155. package/lib/commands/role/index.js +1 -1
  156. package/lib/commands/role/list.js +1 -1
  157. package/lib/commands/role/shared.js +1 -1
  158. package/lib/commands/role/update.js +1 -1
  159. package/lib/commands/role/user-add.js +1 -1
  160. package/lib/commands/role/user-remove.js +1 -1
  161. package/lib/commands/role/user-resolve.js +1 -1
  162. package/lib/commands/run/index.js +1 -1
  163. package/lib/commands/schema.js +1 -1
  164. package/lib/commands/sql/create.js +1 -1
  165. package/lib/commands/sql/delete.js +1 -1
  166. package/lib/commands/sql/detail.js +1 -1
  167. package/lib/commands/sql/exec.js +1 -1
  168. package/lib/commands/sql/index.js +1 -1
  169. package/lib/commands/sql/list.js +1 -1
  170. package/lib/commands/sql/pull.js +1 -1
  171. package/lib/commands/sql/push.js +1 -1
  172. package/lib/commands/sql/save.js +1 -1
  173. package/lib/commands/sql/shared.js +1 -1
  174. package/lib/commands/sql/status.js +1 -1
  175. package/lib/commands/sql/validate.js +1 -1
  176. package/lib/commands/task/index.js +1 -1
  177. package/lib/commands/task/status.js +1 -1
  178. package/lib/commands/workspace/add.js +1 -1
  179. package/lib/commands/workspace/index.js +1 -1
  180. package/lib/commands/workspace/remove.js +1 -1
  181. package/lib/config/schema.js +1 -1
  182. package/lib/constant/cdn.js +1 -1
  183. package/lib/constant/cli.js +1 -1
  184. package/lib/constant/defaults.js +1 -1
  185. package/lib/constant/domain.js +1 -1
  186. package/lib/constant/env.js +1 -1
  187. package/lib/constant/output.js +1 -1
  188. package/lib/constant/paths.js +1 -1
  189. package/lib/constant/risk.js +1 -1
  190. package/lib/context/app-resolver.js +1 -1
  191. package/lib/context/auth-resolver.js +1 -1
  192. package/lib/context/config-loader.js +1 -1
  193. package/lib/context.js +1 -1
  194. package/lib/core/alias-resolver.js +1 -1
  195. package/lib/core/api-client.js +1 -1
  196. package/lib/core/bff/config.js +1 -1
  197. package/lib/core/bff/file-system.js +1 -1
  198. package/lib/core/bff/hash.js +1 -1
  199. package/lib/core/bff/lock.js +1 -1
  200. package/lib/core/bff/utils.js +1 -1
  201. package/lib/core/db-resolver.js +1 -1
  202. package/lib/core/page/file-system.js +1 -1
  203. package/lib/core/page/hash.js +1 -1
  204. package/lib/core/page/lock.js +1 -1
  205. package/lib/core/sql-index-auditor.js +1 -1
  206. package/lib/core/sql-sync/config.js +1 -1
  207. package/lib/core/sql-sync/file-system.js +1 -1
  208. package/lib/core/sql-sync/hash.js +1 -1
  209. package/lib/core/sql-sync/lock.js +1 -1
  210. package/lib/core/sql-sync/utils.js +1 -1
  211. package/lib/core/sql-validator.js +1 -1
  212. package/lib/errors.js +1 -1
  213. package/lib/framework/build-all-flags.js +1 -1
  214. package/lib/framework/error-output.js +1 -1
  215. package/lib/framework/explicit-yes.js +1 -1
  216. package/lib/framework/flags.js +1 -1
  217. package/lib/framework/help.js +1 -1
  218. package/lib/framework/index.js +1 -1
  219. package/lib/framework/output.js +1 -1
  220. package/lib/framework/response.js +1 -1
  221. package/lib/framework/runner-alias.js +1 -1
  222. package/lib/framework/runner.js +1 -1
  223. package/lib/framework/schema-export.js +1 -1
  224. package/lib/framework/types.js +1 -1
  225. package/lib/generated/build-info.js +1 -1
  226. package/lib/help.js +1 -1
  227. package/lib/skills/main.js +1 -1
  228. package/lib/skills/npx-skills-add.js +1 -1
  229. package/lib/telemetry/cli-command-trace.js +1 -1
  230. package/lib/telemetry/cli-help-trace.js +1 -1
  231. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  232. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  233. package/lib/telemetry/send-cli-trace-log.js +1 -1
  234. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  235. package/lib/utils/ai_config.js +1 -1
  236. package/lib/utils/apply-jq-filter.js +1 -1
  237. package/lib/utils/cdn-config.js +1 -1
  238. package/lib/utils/check-sdk-version.js +1 -1
  239. package/lib/utils/cli-version-check.js +1 -1
  240. package/lib/utils/cli-version-policy.js +1 -1
  241. package/lib/utils/config.js +1 -1
  242. package/lib/utils/copy-directory.js +1 -1
  243. package/lib/utils/entity-with-id.js +1 -1
  244. package/lib/utils/file-utils.js +1 -1
  245. package/lib/utils/guides-cdn.js +1 -1
  246. package/lib/utils/http-client.js +1 -1
  247. package/lib/utils/is-non-interactive.js +1 -1
  248. package/lib/utils/logger.js +1 -1
  249. package/lib/utils/params.js +1 -1
  250. package/lib/utils/platform.js +1 -1
  251. package/lib/utils/rules-cdn.js +1 -1
  252. package/lib/utils/sleep.js +1 -1
  253. package/lib/utils/template-replacer.js +1 -1
  254. package/lib/utils/update-notice.js +1 -1
  255. package/lib/utils/version.js +1 -1
  256. package/lib/utils/with-active-cookie.js +1 -1
  257. package/lib/utils/write-cli-side-channel.js +1 -1
  258. package/package.json +1 -1
@@ -1 +1 @@
1
- const a139_0x132a8c=a139_0x9be5;(function(_0x212423,_0x1dd80e){const _0x10d460=a139_0x9be5,_0x119592=_0x212423();while(!![]){try{const _0x4e5bc9=-parseInt(_0x10d460(0x186))/0x1+parseInt(_0x10d460(0x162))/0x2*(-parseInt(_0x10d460(0x16d))/0x3)+-parseInt(_0x10d460(0x1a2))/0x4+parseInt(_0x10d460(0x1a6))/0x5+parseInt(_0x10d460(0x17b))/0x6+parseInt(_0x10d460(0x16e))/0x7*(parseInt(_0x10d460(0x15f))/0x8)+-parseInt(_0x10d460(0x173))/0x9*(-parseInt(_0x10d460(0x18d))/0xa);if(_0x4e5bc9===_0x1dd80e)break;else _0x119592['push'](_0x119592['shift']());}catch(_0x185979){_0x119592['push'](_0x119592['shift']());}}}(a139_0x288a,0x29931));import{listPermitRoles}from'../../core/api-client.js';function a139_0x9be5(_0x1e5d07,_0x36baa1){_0x1e5d07=_0x1e5d07-0x15d;const _0x288af8=a139_0x288a();let _0x9be578=_0x288af8[_0x1e5d07];return _0x9be578;}import{CliErrors}from'../../errors.js';function a139_0x288a(){const _0x3e5835=['apiList','306388gdyPTO','ALL','menu-id','find','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','str','Run\x20`role\x20list`.','10pXJGsg','validation','data\x20update','detail-roles','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','bool','trim','dataCreate','rolePermit','Role\x20\x22',';\x20SELF\x20=\x20only\x20own\x20rows','data\x20delete','\x22\x20not\x20found.','pageNodeList','Pass\x20--role\x20<id|name>.','test','Grant\x20access\x20to\x20the\x20listed\x20resources','dataUpdate','split','flag','key','817696yqZNNx','map','row-roles','length','1368835AifqPF','role','menuPermit','roleType','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','menu\x20visibility','Menu\x20id\x20(from\x20`menu\x20list`)','access','SELF','menu-roles','number','resourceCode','dataPermit','Special\x20role\x20','8DCqhwp','datasets','create-roles','36454NcOdex','revoke','datasetCode','set','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','\x20not\x20found.','Role\x20id\x20','label','Disambiguate\x20with\x20an\x20id.','action','toUpperCase','51jnUdgX','437983oGMScj','resourceName','boolean','string','delete-roles','5075208xsBkHL','SELF\x20is\x20not\x20allowed\x20for\x20','update-roles','grant','allowedActions','appCode','export-roles','filter','544272izKHcU','menuId','Missing\x20action.','Role\x20id\x20or\x20role\x20name','entries','roleName','data\x20create','dataExport','dataDetail','get'];a139_0x288a=function(){return _0x3e5835;};return a139_0x288a();}export const MENU_ID_FLAG={'name':a139_0x132a8c(0x188),'type':a139_0x132a8c(0x1b0),'required':!![],'description':a139_0x132a8c(0x1ac)};export const ROLE_REF_FLAG={'name':'role','type':a139_0x132a8c(0x171),'required':!![],'description':a139_0x132a8c(0x17e)};export const GRANT_FLAG={'name':a139_0x132a8c(0x176),'type':'boolean','required':![],'description':a139_0x132a8c(0x19d)};export const REVOKE_FLAG={'name':'revoke','type':a139_0x132a8c(0x170),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':'menus','type':a139_0x132a8c(0x171),'required':!![],'description':a139_0x132a8c(0x166)};export const DATASETS_FLAG={'name':a139_0x132a8c(0x160),'type':a139_0x132a8c(0x171),'required':!![],'description':a139_0x132a8c(0x1aa)};export const PAGE_SLOT_SPECS=[{'flag':a139_0x132a8c(0x1af),'key':a139_0x132a8c(0x1a8),'allowSelf':![],'label':a139_0x132a8c(0x1ab)},{'flag':a139_0x132a8c(0x161),'key':a139_0x132a8c(0x194),'allowSelf':![],'label':a139_0x132a8c(0x181)},{'flag':a139_0x132a8c(0x175),'key':a139_0x132a8c(0x19e),'allowSelf':![],'label':a139_0x132a8c(0x18f)},{'flag':a139_0x132a8c(0x172),'key':'dataDelete','allowSelf':![],'label':a139_0x132a8c(0x198)},{'flag':a139_0x132a8c(0x190),'key':a139_0x132a8c(0x183),'allowSelf':![],'label':'data\x20detail'},{'flag':a139_0x132a8c(0x179),'key':a139_0x132a8c(0x182),'allowSelf':![],'label':'data\x20export'},{'flag':a139_0x132a8c(0x1a4),'key':a139_0x132a8c(0x15d),'allowSelf':!![],'label':'row\x20visibility'}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a139_0x132a8c(0x1a3)](_0x15dfcc=>({'name':_0x15dfcc[a139_0x132a8c(0x1a0)],'type':a139_0x132a8c(0x171),'required':![],'description':'Roles\x20for\x20'+_0x15dfcc[a139_0x132a8c(0x169)]+'\x20(comma-separated\x20SELF/ALL/id/name)'+(_0x15dfcc['allowSelf']?a139_0x132a8c(0x197):'')}));export function splitList(_0x5c049d){const _0x38fc2d=a139_0x132a8c;return _0x5c049d[_0x38fc2d(0x19f)](',')[_0x38fc2d(0x1a3)](_0x443646=>_0x443646['trim']())[_0x38fc2d(0x17a)](Boolean);}export function projectRoleRef(_0xbec2d1){const _0x5bc6d7=a139_0x132a8c;return{'id':_0xbec2d1['id'],'roleName':_0xbec2d1[_0x5bc6d7(0x180)],'roleType':_0xbec2d1['roleType']};}export async function resolvePermitRoles(_0x321e4c,_0x3a8b1a,_0x4c0f1c){const _0x44616f=a139_0x132a8c,_0x562f40=await listPermitRoles(_0x321e4c,{'needSelf':!![],'needPublic':!![]}),_0x4d3d59=[];for(const _0x5e6aed of _0x3a8b1a){const _0x1b37e5=resolveOnePermitRole(_0x562f40,_0x5e6aed);if(!_0x4c0f1c['allowSelf']&&_0x1b37e5['roleType']===_0x44616f(0x1ae))throw CliErrors[_0x44616f(0x18e)](_0x44616f(0x174)+_0x4c0f1c['label']+'.',_0x44616f(0x191));if(!_0x4d3d59['some'](_0x3baac7=>_0x3baac7['id']===_0x1b37e5['id']))_0x4d3d59['push'](_0x1b37e5);}return _0x4d3d59;}function resolveOnePermitRole(_0x20c12d,_0x1dd911){const _0x83aa8d=a139_0x132a8c,_0x42eb4a=_0x1dd911[_0x83aa8d(0x193)](),_0x1736e5=_0x42eb4a[_0x83aa8d(0x16c)]();if(_0x1736e5===_0x83aa8d(0x1ae)||_0x1736e5===_0x83aa8d(0x187)){const _0x2d3f1e=_0x20c12d[_0x83aa8d(0x189)](_0x5450de=>_0x5450de[_0x83aa8d(0x1a9)]===_0x1736e5);if(!_0x2d3f1e)throw CliErrors['validation'](_0x83aa8d(0x15e)+_0x1736e5+'\x20is\x20not\x20available\x20for\x20this\x20app.');return _0x2d3f1e;}if(/^-?\d+$/[_0x83aa8d(0x19c)](_0x42eb4a)){const _0x4c0c69=Number(_0x42eb4a),_0x29d8a0=_0x20c12d['find'](_0x3fc1ff=>_0x3fc1ff['id']===_0x4c0c69);if(!_0x29d8a0)throw CliErrors[_0x83aa8d(0x18e)](_0x83aa8d(0x168)+_0x4c0c69+_0x83aa8d(0x167),_0x83aa8d(0x18c));return _0x29d8a0;}const _0x3e054a=_0x20c12d['filter'](_0x345a77=>_0x345a77[_0x83aa8d(0x180)]===_0x42eb4a);if(_0x3e054a[_0x83aa8d(0x1a5)]===0x0)throw CliErrors[_0x83aa8d(0x18e)](_0x83aa8d(0x196)+_0x42eb4a+_0x83aa8d(0x199),'Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.');if(_0x3e054a[_0x83aa8d(0x1a5)]>0x1)throw CliErrors[_0x83aa8d(0x18e)]('Role\x20\x22'+_0x42eb4a+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x3e054a[_0x83aa8d(0x1a3)](_0x128c92=>_0x128c92['id'])['join'](',\x20')+').',_0x83aa8d(0x16a));return _0x3e054a[0x0];}export function projectPageSlot(_0x471481){const _0x3ca6dd=a139_0x132a8c;if(!_0x471481)return null;return{'resourceCode':_0x471481[_0x3ca6dd(0x1b1)],'roles':(_0x471481[_0x3ca6dd(0x195)]??[])[_0x3ca6dd(0x1a3)](projectRoleRef)};}export function projectPagePermit(_0x47f66e){const _0xd1f568=a139_0x132a8c,_0x4a807e={'menuId':_0x47f66e[_0xd1f568(0x17c)],'appCode':_0x47f66e[_0xd1f568(0x178)],'menuPermit':projectPageSlot(_0x47f66e['menuPermit'])};for(const _0x1bab09 of PAGE_SLOT_SPECS){if(_0x1bab09[_0xd1f568(0x1a1)]==='menuPermit')continue;_0x4a807e[_0x1bab09[_0xd1f568(0x1a1)]]=projectPageSlot(_0x47f66e[_0x1bab09[_0xd1f568(0x1a1)]]);}return _0x4a807e;}export function flattenMenuResources(_0x4b8655){const _0x3c6d52=new Map(),_0x73145d=_0x1001aa=>{const _0x4a07e1=a139_0x9be5;for(const _0x15b996 of _0x1001aa??[]){_0x3c6d52[_0x4a07e1(0x165)](_0x15b996[_0x4a07e1(0x1b1)],{'resourceCode':_0x15b996[_0x4a07e1(0x1b1)],'resourceName':_0x15b996[_0x4a07e1(0x16f)],'action':_0x15b996[_0x4a07e1(0x177)]?.[0x0]??'0'});if(_0x15b996['pageNodeList'])_0x73145d(_0x15b996[_0x4a07e1(0x19a)]);}};return _0x73145d(_0x4b8655),_0x3c6d52;}export function flattenApiResources(_0x5da6ae){const _0x393306=a139_0x132a8c,_0x1cbe11=new Map(),_0x358adf=new Map();for(const _0x23800a of _0x5da6ae){const _0x452b94=_0x23800a[_0x393306(0x185)]??{};for(const [_0x417827,_0x2b6301]of Object[_0x393306(0x17f)](_0x452b94)){_0x1cbe11[_0x393306(0x165)](_0x417827,{'resourceCode':_0x417827,'resourceName':_0x23800a[_0x393306(0x16f)],'datasetCode':_0x23800a['datasetCode'],'action':_0x2b6301?.[0x0]??'0'});const _0x570b34=_0x358adf[_0x393306(0x184)](_0x23800a[_0x393306(0x164)])??[];_0x570b34['push'](_0x417827),_0x358adf['set'](_0x23800a[_0x393306(0x164)],_0x570b34);}}return{'byCode':_0x1cbe11,'byDataset':_0x358adf};}export function buildPermits(_0xbef186,_0x28cc41){const _0x5ba8a6=a139_0x132a8c,_0x258d60={};for(const [_0x12bdc2,_0x5a8658]of _0xbef186){const _0x24c57a=_0x28cc41[_0x5ba8a6(0x184)](_0x12bdc2)??_0x5a8658[_0x5ba8a6(0x16b)];_0x258d60[_0x12bdc2]=[_0x24c57a];}return _0x258d60;}export function readRoleRef(_0x3c8a98){const _0x32ac66=a139_0x132a8c,_0x47e389=_0x3c8a98[_0x32ac66(0x18b)](_0x32ac66(0x1a7))[_0x32ac66(0x193)]();if(!_0x47e389)throw CliErrors['flagMissing']('role',_0x32ac66(0x19b));return _0x47e389;}export function readGrantRevoke(_0x58d5ec){const _0x143891=a139_0x132a8c,_0x5be499=_0x58d5ec[_0x143891(0x192)]('grant'),_0x247760=_0x58d5ec[_0x143891(0x192)](_0x143891(0x163));if(_0x5be499&&_0x247760)throw CliErrors['validation'](_0x143891(0x18a));if(!_0x5be499&&!_0x247760)throw CliErrors[_0x143891(0x18e)](_0x143891(0x17d),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x5be499?_0x143891(0x1ad):'0';}
1
+ const a139_0x5aef3a=a139_0x2e3b;function a139_0x2e3b(_0x22316a,_0x43ba00){_0x22316a=_0x22316a-0x16e;const _0x3d43f2=a139_0x3d43();let _0x2e3b78=_0x3d43f2[_0x22316a];return _0x2e3b78;}(function(_0x4e8b79,_0x5cb0c0){const _0x255c72=a139_0x2e3b,_0x2f400f=_0x4e8b79();while(!![]){try{const _0xa2fc56=-parseInt(_0x255c72(0x1c4))/0x1*(parseInt(_0x255c72(0x1b7))/0x2)+parseInt(_0x255c72(0x19e))/0x3*(-parseInt(_0x255c72(0x1a6))/0x4)+-parseInt(_0x255c72(0x1b4))/0x5+-parseInt(_0x255c72(0x1a3))/0x6+parseInt(_0x255c72(0x1a9))/0x7*(-parseInt(_0x255c72(0x18c))/0x8)+-parseInt(_0x255c72(0x174))/0x9*(-parseInt(_0x255c72(0x179))/0xa)+parseInt(_0x255c72(0x177))/0xb*(parseInt(_0x255c72(0x196))/0xc);if(_0xa2fc56===_0x5cb0c0)break;else _0x2f400f['push'](_0x2f400f['shift']());}catch(_0x140cda){_0x2f400f['push'](_0x2f400f['shift']());}}}(a139_0x3d43,0xca789));import{listPermitRoles}from'../../core/api-client.js';function a139_0x3d43(){const _0x42da5d=['Run\x20`role\x20list`.','data\x20create','pageNodeList','menu-roles','get','data\x20detail','Role\x20id\x20or\x20role\x20name','\x20is\x20not\x20available\x20for\x20this\x20app.','2258160PKVirW','push','\x20(comma-separated\x20SELF/ALL/id/name)','toUpperCase','Role\x20id\x20','detail-roles','roleName','allowedActions','2434494KMGfLb','\x22\x20not\x20found.','datasets','\x22\x20is\x20ambiguous\x20(ids:\x20','resourceCode','2242026uczXUV','grant','action','4NBTSuJ','menu\x20visibility','data\x20export','17591fEOEKv','menu-id','dataExport','row\x20visibility','Roles\x20for\x20','menus','resourceName','key','string','validation','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','668295hKpRsO','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','SELF','14NpUlqg','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','flag','dataPermit','entries','Role\x20\x22','revoke','dataUpdate','trim','map','test','datasetCode','set','110329JWtQSP','data\x20update','Menu\x20id\x20(from\x20`menu\x20list`)','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','length','Special\x20role\x20','label','allowSelf','12249SndQgU','Grant\x20access\x20to\x20the\x20listed\x20resources','Revoke\x20access\x20to\x20the\x20listed\x20resources','209QgDHqU','access','5860BqxYpq','filter','SELF\x20is\x20not\x20allowed\x20for\x20','roleType','str','bool','rolePermit','dataDetail','boolean','create-roles','find','menuPermit','dataCreate','ALL','number','some','Disambiguate\x20with\x20an\x20id.','menuId',';\x20SELF\x20=\x20only\x20own\x20rows','4624xXbpgR','role'];a139_0x3d43=function(){return _0x42da5d;};return a139_0x3d43();}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a139_0x5aef3a(0x1aa),'type':a139_0x5aef3a(0x187),'required':!![],'description':a139_0x5aef3a(0x16e)};export const ROLE_REF_FLAG={'name':'role','type':a139_0x5aef3a(0x1b1),'required':!![],'description':a139_0x5aef3a(0x194)};export const GRANT_FLAG={'name':a139_0x5aef3a(0x1a4),'type':a139_0x5aef3a(0x181),'required':![],'description':a139_0x5aef3a(0x175)};export const REVOKE_FLAG={'name':a139_0x5aef3a(0x1bd),'type':a139_0x5aef3a(0x181),'required':![],'description':a139_0x5aef3a(0x176)};export const MENUS_FLAG={'name':a139_0x5aef3a(0x1ae),'type':'string','required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};export const DATASETS_FLAG={'name':a139_0x5aef3a(0x1a0),'type':a139_0x5aef3a(0x1b1),'required':!![],'description':a139_0x5aef3a(0x1b3)};export const PAGE_SLOT_SPECS=[{'flag':a139_0x5aef3a(0x191),'key':'menuPermit','allowSelf':![],'label':a139_0x5aef3a(0x1a7)},{'flag':a139_0x5aef3a(0x182),'key':a139_0x5aef3a(0x185),'allowSelf':![],'label':a139_0x5aef3a(0x18f)},{'flag':'update-roles','key':a139_0x5aef3a(0x1be),'allowSelf':![],'label':a139_0x5aef3a(0x1c5)},{'flag':'delete-roles','key':'dataDelete','allowSelf':![],'label':'data\x20delete'},{'flag':a139_0x5aef3a(0x19b),'key':a139_0x5aef3a(0x180),'allowSelf':![],'label':a139_0x5aef3a(0x193)},{'flag':'export-roles','key':a139_0x5aef3a(0x1ab),'allowSelf':![],'label':a139_0x5aef3a(0x1a8)},{'flag':'row-roles','key':a139_0x5aef3a(0x1ba),'allowSelf':!![],'label':a139_0x5aef3a(0x1ac)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x843950=>({'name':_0x843950[a139_0x5aef3a(0x1b9)],'type':a139_0x5aef3a(0x1b1),'required':![],'description':a139_0x5aef3a(0x1ad)+_0x843950['label']+a139_0x5aef3a(0x198)+(_0x843950['allowSelf']?a139_0x5aef3a(0x18b):'')}));export function splitList(_0x13c7a9){const _0x5f1cda=a139_0x5aef3a;return _0x13c7a9['split'](',')['map'](_0x3e8e55=>_0x3e8e55[_0x5f1cda(0x1bf)]())[_0x5f1cda(0x17a)](Boolean);}export function projectRoleRef(_0x33a6e5){const _0x138f50=a139_0x5aef3a;return{'id':_0x33a6e5['id'],'roleName':_0x33a6e5[_0x138f50(0x19c)],'roleType':_0x33a6e5[_0x138f50(0x17c)]};}export async function resolvePermitRoles(_0x4555af,_0x3b2ab1,_0x3d2844){const _0x17f2b4=a139_0x5aef3a,_0x2b1325=await listPermitRoles(_0x4555af,{'needSelf':!![],'needPublic':!![]}),_0x1c7834=[];for(const _0x28c493 of _0x3b2ab1){const _0x45f3d0=resolveOnePermitRole(_0x2b1325,_0x28c493);if(!_0x3d2844[_0x17f2b4(0x173)]&&_0x45f3d0[_0x17f2b4(0x17c)]==='SELF')throw CliErrors['validation'](_0x17f2b4(0x17b)+_0x3d2844[_0x17f2b4(0x172)]+'.',_0x17f2b4(0x1b8));if(!_0x1c7834[_0x17f2b4(0x188)](_0x15702e=>_0x15702e['id']===_0x45f3d0['id']))_0x1c7834[_0x17f2b4(0x197)](_0x45f3d0);}return _0x1c7834;}function resolveOnePermitRole(_0x396627,_0x3480e6){const _0x218079=a139_0x5aef3a,_0xb617c4=_0x3480e6['trim'](),_0x27b306=_0xb617c4[_0x218079(0x199)]();if(_0x27b306===_0x218079(0x1b6)||_0x27b306===_0x218079(0x186)){const _0x25d377=_0x396627[_0x218079(0x183)](_0x3330f3=>_0x3330f3['roleType']===_0x27b306);if(!_0x25d377)throw CliErrors[_0x218079(0x1b2)](_0x218079(0x171)+_0x27b306+_0x218079(0x195));return _0x25d377;}if(/^-?\d+$/[_0x218079(0x1c1)](_0xb617c4)){const _0x34eee5=Number(_0xb617c4),_0x32cbb7=_0x396627[_0x218079(0x183)](_0x29ae15=>_0x29ae15['id']===_0x34eee5);if(!_0x32cbb7)throw CliErrors['validation'](_0x218079(0x19a)+_0x34eee5+'\x20not\x20found.',_0x218079(0x18e));return _0x32cbb7;}const _0x430eab=_0x396627[_0x218079(0x17a)](_0x352897=>_0x352897[_0x218079(0x19c)]===_0xb617c4);if(_0x430eab[_0x218079(0x170)]===0x0)throw CliErrors[_0x218079(0x1b2)](_0x218079(0x1bc)+_0xb617c4+_0x218079(0x19f),'Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.');if(_0x430eab['length']>0x1)throw CliErrors['validation'](_0x218079(0x1bc)+_0xb617c4+_0x218079(0x1a1)+_0x430eab[_0x218079(0x1c0)](_0x4dfeb4=>_0x4dfeb4['id'])['join'](',\x20')+').',_0x218079(0x189));return _0x430eab[0x0];}export function projectPageSlot(_0x3ca083){const _0xbe3475=a139_0x5aef3a;if(!_0x3ca083)return null;return{'resourceCode':_0x3ca083[_0xbe3475(0x1a2)],'roles':(_0x3ca083[_0xbe3475(0x17f)]??[])[_0xbe3475(0x1c0)](projectRoleRef)};}export function projectPagePermit(_0x5b4771){const _0x297775=a139_0x5aef3a,_0x30ae9={'menuId':_0x5b4771[_0x297775(0x18a)],'appCode':_0x5b4771['appCode'],'menuPermit':projectPageSlot(_0x5b4771[_0x297775(0x184)])};for(const _0x4c3aa8 of PAGE_SLOT_SPECS){if(_0x4c3aa8[_0x297775(0x1b0)]===_0x297775(0x184))continue;_0x30ae9[_0x4c3aa8['key']]=projectPageSlot(_0x5b4771[_0x4c3aa8[_0x297775(0x1b0)]]);}return _0x30ae9;}export function flattenMenuResources(_0x291941){const _0x3a5414=new Map(),_0x36e038=_0x4554ba=>{const _0x43e8f8=a139_0x2e3b;for(const _0x2ab5b9 of _0x4554ba??[]){_0x3a5414['set'](_0x2ab5b9[_0x43e8f8(0x1a2)],{'resourceCode':_0x2ab5b9[_0x43e8f8(0x1a2)],'resourceName':_0x2ab5b9[_0x43e8f8(0x1af)],'action':_0x2ab5b9[_0x43e8f8(0x19d)]?.[0x0]??'0'});if(_0x2ab5b9[_0x43e8f8(0x190)])_0x36e038(_0x2ab5b9[_0x43e8f8(0x190)]);}};return _0x36e038(_0x291941),_0x3a5414;}export function flattenApiResources(_0x20aba1){const _0x4ebde1=a139_0x5aef3a,_0xbcafce=new Map(),_0x5919e2=new Map();for(const _0x45231e of _0x20aba1){const _0x4073e0=_0x45231e['apiList']??{};for(const [_0x520822,_0x35f193]of Object[_0x4ebde1(0x1bb)](_0x4073e0)){_0xbcafce[_0x4ebde1(0x1c3)](_0x520822,{'resourceCode':_0x520822,'resourceName':_0x45231e['resourceName'],'datasetCode':_0x45231e['datasetCode'],'action':_0x35f193?.[0x0]??'0'});const _0x326c70=_0x5919e2['get'](_0x45231e[_0x4ebde1(0x1c2)])??[];_0x326c70['push'](_0x520822),_0x5919e2[_0x4ebde1(0x1c3)](_0x45231e['datasetCode'],_0x326c70);}}return{'byCode':_0xbcafce,'byDataset':_0x5919e2};}export function buildPermits(_0x2a2611,_0x1d736c){const _0x388699=a139_0x5aef3a,_0x435c70={};for(const [_0xfa363d,_0x43dff2]of _0x2a2611){const _0x1f66da=_0x1d736c[_0x388699(0x192)](_0xfa363d)??_0x43dff2[_0x388699(0x1a5)];_0x435c70[_0xfa363d]=[_0x1f66da];}return _0x435c70;}export function readRoleRef(_0x183430){const _0x5e4b61=a139_0x5aef3a,_0x4b435c=_0x183430[_0x5e4b61(0x17d)]('role')[_0x5e4b61(0x1bf)]();if(!_0x4b435c)throw CliErrors['flagMissing'](_0x5e4b61(0x18d),'Pass\x20--role\x20<id|name>.');return _0x4b435c;}export function readGrantRevoke(_0x2241c1){const _0x5baaad=a139_0x5aef3a,_0x31621f=_0x2241c1[_0x5baaad(0x17e)]('grant'),_0x13b64c=_0x2241c1[_0x5baaad(0x17e)](_0x5baaad(0x1bd));if(_0x31621f&&_0x13b64c)throw CliErrors[_0x5baaad(0x1b2)](_0x5baaad(0x16f));if(!_0x31621f&&!_0x13b64c)throw CliErrors[_0x5baaad(0x1b2)]('Missing\x20action.',_0x5baaad(0x1b5));return _0x31621f?_0x5baaad(0x178):'0';}
@@ -1 +1 @@
1
- (function(_0x4b7d77,_0x394867){const _0x4fbf39=a140_0x26fb,_0x15231f=_0x4b7d77();while(!![]){try{const _0x4950b2=-parseInt(_0x4fbf39(0x181))/0x1+-parseInt(_0x4fbf39(0x17f))/0x2+-parseInt(_0x4fbf39(0x188))/0x3*(-parseInt(_0x4fbf39(0x18b))/0x4)+-parseInt(_0x4fbf39(0x17e))/0x5+-parseInt(_0x4fbf39(0x183))/0x6*(-parseInt(_0x4fbf39(0x18a))/0x7)+-parseInt(_0x4fbf39(0x185))/0x8+parseInt(_0x4fbf39(0x179))/0x9*(parseInt(_0x4fbf39(0x171))/0xa);if(_0x4950b2===_0x394867)break;else _0x15231f['push'](_0x15231f['shift']());}catch(_0x86c77c){_0x15231f['push'](_0x15231f['shift']());}}}(a140_0x19a5,0x5206b));import{existsSync}from'node:fs';import a140_0x33a9b8 from'node:path';import a140_0x23802b from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a140_0x19a5(){const _0x3fdc3c=['No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','1586564MVxUuC','37048bEvbWi','test','resolve','Project\x20name:','Directory\x20\x22','√\x20Project\x20Name:\x20','10bGSgyt','trim','length','√\x20App\x20Code:\x20','Project\x20name\x20cannot\x20exceed\x2050\x20characters','my-app','Login\x20failed','cyan','9465174IQnSLZ','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','production','Skipped','Not\x20set','2660930HXFgyf','63676VVjgUh','√\x20Login\x20status:\x20','448880ARmnOS','log','12qGMsOs','env','1693432SCwTva','cwd','green','18NNbeGB'];a140_0x19a5=function(){return _0x3fdc3c;};return a140_0x19a5();}import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';function a140_0x26fb(_0x2a6a4f,_0x178a41){_0x2a6a4f=_0x2a6a4f-0x171;const _0x19a5f3=a140_0x19a5();let _0x26fbec=_0x19a5f3[_0x2a6a4f];return _0x26fbec;}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x418164,_0x165665,_0x6f7a1){const _0x1790f5=a140_0x26fb,_0x3521d5=_0x1790f5(0x176),_0x3ec7e8=readConfig(),_0x72d472=typeof _0x3ec7e8[_0x1790f5(0x184)]==='string'?_0x3ec7e8[_0x1790f5(0x184)]:undefined,_0x70c89d=await input({'message':_0x1790f5(0x18e),'default':_0x3521d5,'validate':_0x4c92ef=>{const _0x46b7cc=_0x1790f5,_0x5cd811=_0x4c92ef[_0x46b7cc(0x172)]()||_0x3521d5;if(_0x5cd811[_0x46b7cc(0x173)]>0x32)return _0x46b7cc(0x175);const _0x640c4a=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x5cd811&&!_0x640c4a[_0x46b7cc(0x18c)](_0x5cd811))return _0x46b7cc(0x17a);const _0x5b3b64=a140_0x33a9b8[_0x46b7cc(0x18d)](process[_0x46b7cc(0x186)](),_0x5cd811);if(existsSync(_0x5b3b64))return _0x46b7cc(0x18f)+_0x5cd811+'\x22\x20already\x20exists';return!![];}});console[_0x1790f5(0x182)](a140_0x23802b['green'](_0x1790f5(0x190)+a140_0x23802b[_0x1790f5(0x178)](_0x70c89d)));const _0xd84084=await selectSingleAppcode(_0x6f7a1);console[_0x1790f5(0x182)](a140_0x23802b[_0x1790f5(0x187)](_0x1790f5(0x174)+a140_0x23802b[_0x1790f5(0x178)](_0xd84084||_0x1790f5(0x17d))));if(_0xd84084){const _0x1994a4=await getIsSessionValid();if(!_0x1994a4){const _0x2f7e78=await confirm({'message':_0x1790f5(0x189),'default':!![]});if(_0x2f7e78){const _0x4fab87=await authServer({'silent':!![]});console['log'](a140_0x23802b[_0x1790f5(0x187)]('√\x20Login\x20status:\x20'+a140_0x23802b[_0x1790f5(0x178)](_0x4fab87?'Logged\x20in':_0x1790f5(0x177))));}else console['log'](a140_0x23802b[_0x1790f5(0x187)](_0x1790f5(0x180)+a140_0x23802b[_0x1790f5(0x178)](_0x1790f5(0x17c))));}await _0x418164({'projectName':_0x70c89d,'appCode':_0xd84084,'env':_0x165665||_0x72d472||'production'});}else await _0x418164({'projectName':_0x70c89d,'env':_0x165665||_0x72d472||_0x1790f5(0x17b)});}
1
+ (function(_0xed31bd,_0x831cce){const _0x3b8cd3=a140_0x3405,_0x572ee4=_0xed31bd();while(!![]){try{const _0x5c6524=parseInt(_0x3b8cd3(0xa9))/0x1*(parseInt(_0x3b8cd3(0xac))/0x2)+parseInt(_0x3b8cd3(0xad))/0x3*(-parseInt(_0x3b8cd3(0xc3))/0x4)+parseInt(_0x3b8cd3(0xc2))/0x5*(-parseInt(_0x3b8cd3(0xb1))/0x6)+parseInt(_0x3b8cd3(0xb0))/0x7*(parseInt(_0x3b8cd3(0xae))/0x8)+-parseInt(_0x3b8cd3(0xb6))/0x9+parseInt(_0x3b8cd3(0xb9))/0xa*(-parseInt(_0x3b8cd3(0xab))/0xb)+parseInt(_0x3b8cd3(0xbf))/0xc;if(_0x5c6524===_0x831cce)break;else _0x572ee4['push'](_0x572ee4['shift']());}catch(_0x800818){_0x572ee4['push'](_0x572ee4['shift']());}}}(a140_0x5288,0xa8ea6));import{existsSync}from'node:fs';import a140_0x24880a from'node:path';import a140_0x2e4ea3 from'chalk';import{input,confirm}from'@inquirer/prompts';function a140_0x3405(_0x58fa9d,_0x2ce0ab){_0x58fa9d=_0x58fa9d-0xa7;const _0x528827=a140_0x5288();let _0x34053e=_0x528827[_0x58fa9d];return _0x34053e;}import{getIsSessionValid}from'../../../auth/is-session-valid.js';function a140_0x5288(){const _0x5379fa=['Not\x20set','5131eYahuN','942tBfkcI','cyan','green','√\x20Login\x20status:\x20','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','10269747BDrvsA','my-app','Login\x20failed','20fTQwhX','√\x20Project\x20Name:\x20','env','log','production','Project\x20name\x20cannot\x20exceed\x2050\x20characters','27760812iznUaV','Skipped','\x22\x20already\x20exists','25475DYfQcW','28UKhCwa','length','Project\x20name:','941653QnaGRw','resolve','5806526iJSFTr','2ueSevI','319647iZVYwX','12872TqKzHl'];a140_0x5288=function(){return _0x5379fa;};return a140_0x5288();}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(_0x268fa6,_0x56cc20,_0x330184){const _0x5167b7=a140_0x3405,_0x47bef3=_0x5167b7(0xb7),_0x2038d4=readConfig(),_0x28eb81=typeof _0x2038d4[_0x5167b7(0xbb)]==='string'?_0x2038d4[_0x5167b7(0xbb)]:undefined,_0x29d1b0=await input({'message':_0x5167b7(0xa8),'default':_0x47bef3,'validate':_0x1d89be=>{const _0x241527=_0x5167b7,_0x5c8fa0=_0x1d89be['trim']()||_0x47bef3;if(_0x5c8fa0[_0x241527(0xa7)]>0x32)return _0x241527(0xbe);const _0xf159f9=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x5c8fa0&&!_0xf159f9['test'](_0x5c8fa0))return _0x241527(0xb5);const _0x2da58d=a140_0x24880a[_0x241527(0xaa)](process['cwd'](),_0x5c8fa0);if(existsSync(_0x2da58d))return'Directory\x20\x22'+_0x5c8fa0+_0x241527(0xc1);return!![];}});console[_0x5167b7(0xbc)](a140_0x2e4ea3['green'](_0x5167b7(0xba)+a140_0x2e4ea3[_0x5167b7(0xb2)](_0x29d1b0)));const _0x2162e7=await selectSingleAppcode(_0x330184);console[_0x5167b7(0xbc)](a140_0x2e4ea3[_0x5167b7(0xb3)]('√\x20App\x20Code:\x20'+a140_0x2e4ea3['cyan'](_0x2162e7||_0x5167b7(0xaf))));if(_0x2162e7){const _0x45a4ad=await getIsSessionValid();if(!_0x45a4ad){const _0x3614e6=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0x3614e6){const _0x4c6293=await authServer({'silent':!![]});console[_0x5167b7(0xbc)](a140_0x2e4ea3[_0x5167b7(0xb3)](_0x5167b7(0xb4)+a140_0x2e4ea3[_0x5167b7(0xb2)](_0x4c6293?'Logged\x20in':_0x5167b7(0xb8))));}else console[_0x5167b7(0xbc)](a140_0x2e4ea3[_0x5167b7(0xb3)](_0x5167b7(0xb4)+a140_0x2e4ea3['cyan'](_0x5167b7(0xc0))));}await _0x268fa6({'projectName':_0x29d1b0,'appCode':_0x2162e7,'env':_0x56cc20||_0x28eb81||'production'});}else await _0x268fa6({'projectName':_0x29d1b0,'env':_0x56cc20||_0x28eb81||_0x5167b7(0xbd)});}
@@ -1 +1 @@
1
- (function(_0x5793cf,_0x12b57f){const _0x39eb1c=a141_0x34f4,_0x173c74=_0x5793cf();while(!![]){try{const _0x1c4f09=parseInt(_0x39eb1c(0x92))/0x1+-parseInt(_0x39eb1c(0x8c))/0x2*(parseInt(_0x39eb1c(0x8b))/0x3)+-parseInt(_0x39eb1c(0x89))/0x4*(-parseInt(_0x39eb1c(0x88))/0x5)+parseInt(_0x39eb1c(0x8a))/0x6+-parseInt(_0x39eb1c(0x93))/0x7*(-parseInt(_0x39eb1c(0x95))/0x8)+-parseInt(_0x39eb1c(0x90))/0x9*(parseInt(_0x39eb1c(0x8e))/0xa)+-parseInt(_0x39eb1c(0x91))/0xb*(parseInt(_0x39eb1c(0x8f))/0xc);if(_0x1c4f09===_0x12b57f)break;else _0x173c74['push'](_0x173c74['shift']());}catch(_0x25b599){_0x173c74['push'](_0x173c74['shift']());}}}(a141_0x3446,0xd0676));export function formatElapsed(_0x22919f){const _0x1c8ba6=a141_0x34f4,_0x2b2278=Date[_0x1c8ba6(0x8d)]()-_0x22919f;if(_0x2b2278<0x3e8)return _0x2b2278+'ms';const _0x373c98=(_0x2b2278/0x3e8)[_0x1c8ba6(0x94)](0x2),_0x25a317=_0x373c98['replace'](/\.?0+$/u,'');return _0x25a317+'s';}function a141_0x34f4(_0x227cab,_0x2f2d6b){_0x227cab=_0x227cab-0x88;const _0x34463a=a141_0x3446();let _0x34f4fa=_0x34463a[_0x227cab];return _0x34f4fa;}function a141_0x3446(){const _0x232a03=['25wroYJn','906532tEnpBA','9738174IAwFcl','28494MmMIia','130VMnnHM','now','20SVlmsw','12aJjhqp','4235571YpAoUI','32883004xaIYBC','1635941NYVtue','3941pJuolI','toFixed','14344pkjfYe'];a141_0x3446=function(){return _0x232a03;};return a141_0x3446();}
1
+ (function(_0x53cc5e,_0x365ad6){const _0x617e67=a141_0x1b7e,_0x3492d8=_0x53cc5e();while(!![]){try{const _0x1ec570=parseInt(_0x617e67(0xf4))/0x1*(-parseInt(_0x617e67(0xf7))/0x2)+parseInt(_0x617e67(0xf6))/0x3+-parseInt(_0x617e67(0xf2))/0x4+-parseInt(_0x617e67(0xef))/0x5+-parseInt(_0x617e67(0xf3))/0x6+-parseInt(_0x617e67(0xf1))/0x7*(-parseInt(_0x617e67(0xf0))/0x8)+-parseInt(_0x617e67(0xee))/0x9*(-parseInt(_0x617e67(0xf8))/0xa);if(_0x1ec570===_0x365ad6)break;else _0x3492d8['push'](_0x3492d8['shift']());}catch(_0x5394b7){_0x3492d8['push'](_0x3492d8['shift']());}}}(a141_0x553d,0x6bb8d));export function formatElapsed(_0x10174e){const _0x48cd75=a141_0x1b7e,_0x4cc847=Date[_0x48cd75(0xf5)]()-_0x10174e;if(_0x4cc847<0x3e8)return _0x4cc847+'ms';const _0x4a1c26=(_0x4cc847/0x3e8)[_0x48cd75(0xf9)](0x2),_0x1e8ae6=_0x4a1c26['replace'](/\.?0+$/u,'');return _0x1e8ae6+'s';}function a141_0x1b7e(_0xb41d0c,_0x325bdf){_0xb41d0c=_0xb41d0c-0xee;const _0x553da5=a141_0x553d();let _0x1b7eaf=_0x553da5[_0xb41d0c];return _0x1b7eaf;}function a141_0x553d(){const _0x488e99=['now','2312130QajUpL','524678UJJPlq','4977640JwvCeP','toFixed','18mDUySb','2669300kpmjax','5627672gtWwFg','7scgxqf','1445976eljFvH','5224650KrtPbH','1jJbCjd'];a141_0x553d=function(){return _0x488e99;};return a141_0x553d();}
@@ -1 +1 @@
1
- (function(_0xd1962b,_0x2c7899){const _0x4bb57c=a142_0x1ca8,_0x110fe8=_0xd1962b();while(!![]){try{const _0x588eea=parseInt(_0x4bb57c(0x1fc))/0x1+parseInt(_0x4bb57c(0x1c9))/0x2+parseInt(_0x4bb57c(0x1cd))/0x3*(-parseInt(_0x4bb57c(0x202))/0x4)+-parseInt(_0x4bb57c(0x1b8))/0x5*(-parseInt(_0x4bb57c(0x1e3))/0x6)+parseInt(_0x4bb57c(0x1b4))/0x7*(parseInt(_0x4bb57c(0x1e2))/0x8)+parseInt(_0x4bb57c(0x206))/0x9*(parseInt(_0x4bb57c(0x1fd))/0xa)+parseInt(_0x4bb57c(0x1d9))/0xb*(-parseInt(_0x4bb57c(0x1f6))/0xc);if(_0x588eea===_0x2c7899)break;else _0x110fe8['push'](_0x110fe8['shift']());}catch(_0x2b13d8){_0x110fe8['push'](_0x110fe8['shift']());}}}(a142_0x2913,0x1cc43));import a142_0x346fd5 from'path';import a142_0x1b7ea0 from'fs';import a142_0x5394ff from'chalk';import a142_0x1349c9 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';function a142_0x2913(){const _0x50a6c9=['\x20|\x20AppCode:\x20','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','name','projectCode','version','length','warn','join','description','utf8','readFileSync','string','Copy\x20project\x20files','1.0.0','resolve','27276zgPnKB','projectName','appCode','\x20model(s)','log','√\x20package.json\x20updated:\x20name=','45080rwWhPP','20MVcRIC','√\x20Configuration\x20file\x20created,\x20Apps:\x20','dirname','cwd','message','4vqmmCc','配置应用AppCode失败','existsSync','repeat','1038051mXvKMt','trim','cookie','🚀\x20Next\x20Steps:','\x20config\x20set\x20appcode\x20<app-code>\x27','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','start','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','更新\x20package.json\x20name','326732UDkuod','cd\x20','\x20dataset(s),\x20generated\x20','\x20already\x20exists','1555aPQegj','\x20api\x20pull','更新\x20package.json\x20失败','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','needsUpgrade','apps','error','Project\x20name\x20cannot\x20be\x20empty','green','\x20run\x20start','cyan','belowMinimum','production','info','stringify','\x20\x201.\x20Start\x20project:\x20','env','1072gEFdoY','package.json','bold','API\x20配置拉取异常','3777WTtiXI','...','API\x20configuration\x20pulled:\x20','minimumVersion','\x20|\x20Default:\x20','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','*\x20Pulling\x20API\x20configuration...','modelCount','parse','chdir','Format\x20code','currentVersion','2123ZkiBAm','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','stop','Project\x20directory\x20','create','项目创建完成:\x20','defaultApp','gray','开始创建项目:\x20','8OszqFZ','4530nXyDLy','\x20Generated\x20by\x20rabetbase\x20cli\x20','*\x20Configuring\x20AppCode\x20for\x20project\x20','keys'];a142_0x2913=function(){return _0x50a6c9;};return a142_0x2913();}import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';function a142_0x1ca8(_0x3d2639,_0x15ec65){_0x3d2639=_0x3d2639-0x1ae;const _0x29139f=a142_0x2913();let _0x1ca867=_0x29139f[_0x3d2639];return _0x1ca867;}import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x1af98c){const _0x40403c=a142_0x1ca8,_0x1b5b3e=await checkCliVersion();(_0x1b5b3e[_0x40403c(0x1bc)]||_0x1b5b3e[_0x40403c(0x1c3)])&&(printCliUpgradeWarning(_0x1b5b3e),assertCliVersionSupported(_0x1b5b3e),logger[_0x40403c(0x1c5)](_0x40403c(0x1dd),'CLI\x20版本检查',{'currentVersion':_0x1b5b3e[_0x40403c(0x1d8)],'stableVersion':_0x1b5b3e['stableVersion'],'minimumVersion':_0x1b5b3e[_0x40403c(0x1d0)],'needsUpgrade':_0x1b5b3e[_0x40403c(0x1bc)],'belowMinimum':_0x1b5b3e[_0x40403c(0x1c3)]}));if(_0x1af98c[_0x40403c(0x1ea)]&&_0x1af98c[_0x40403c(0x1f8)])await runCreate({'projectName':_0x1af98c[_0x40403c(0x1ea)],'appCode':_0x1af98c[_0x40403c(0x1f8)],'env':_0x1af98c[_0x40403c(0x1c8)]},_0x1af98c);else{if(_0x1af98c[_0x40403c(0x1ea)]){const _0x187e87=await selectSingleAppcode(_0x1af98c['cookie']);await runCreate({'projectName':_0x1af98c[_0x40403c(0x1ea)],'appCode':_0x187e87||undefined,'env':_0x1af98c[_0x40403c(0x1c8)]},_0x1af98c);}else await guidedCreateProject(_0x324760=>runCreate(_0x324760,_0x1af98c),_0x1af98c[_0x40403c(0x1c8)],_0x1af98c[_0x40403c(0x208)]);}}async function runCreate(_0x51d397,_0x2c9cb6){const _0x432ca1=a142_0x1ca8;if(!_0x51d397[_0x432ca1(0x1f7)]||_0x51d397[_0x432ca1(0x1f7)][_0x432ca1(0x207)]()==='')throw new Error(_0x432ca1(0x1bf));const _0x588ae3=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x588ae3['test'](_0x51d397['projectName']))throw new Error(_0x432ca1(0x1b0));if(_0x51d397['projectName'][_0x432ca1(0x1ec)]>0x64)throw new Error('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters');const _0x155a5e=a142_0x346fd5['resolve'](process[_0x432ca1(0x200)](),_0x51d397[_0x432ca1(0x1f7)]);if(a142_0x1b7ea0[_0x432ca1(0x204)](_0x155a5e))throw new Error(_0x432ca1(0x1dc)+_0x51d397[_0x432ca1(0x1f7)]+_0x432ca1(0x1b7));try{a142_0x1b7ea0['accessSync'](a142_0x346fd5[_0x432ca1(0x1ff)](_0x155a5e),a142_0x1b7ea0['constants']['W_OK']);}catch{throw new Error(_0x432ca1(0x1b2));}logger['setLogPath'](_0x155a5e),logger[_0x432ca1(0x1c5)](_0x432ca1(0x1dd),_0x432ca1(0x1e1)+_0x51d397[_0x432ca1(0x1f7)],{'projectDir':_0x155a5e,'appCode':_0x51d397[_0x432ca1(0x1f8)]}),console[_0x432ca1(0x1fa)](),console[_0x432ca1(0x1fa)](a142_0x5394ff['green']('\x20√\x20')+'Project\x20name:\x20'+a142_0x5394ff['green'](_0x51d397['projectName'])+(_0x51d397[_0x432ca1(0x1f8)]?_0x432ca1(0x1e7)+a142_0x5394ff[_0x432ca1(0x1c2)](_0x51d397[_0x432ca1(0x1f8)]):''));try{await runTask(_0x432ca1(0x1f3),()=>copyProjectTemplate(_0x51d397[_0x432ca1(0x1f7)])),await updatePackageJsonName(_0x51d397[_0x432ca1(0x1f7)]),await runTask('Install\x20dependencies',()=>installDependencies(_0x51d397[_0x432ca1(0x1f7)])),await runTask(_0x432ca1(0x1d7),()=>formatProjectCode(_0x51d397[_0x432ca1(0x1f7)])),await configureAppCode(_0x51d397[_0x432ca1(0x1f7)],_0x51d397[_0x432ca1(0x1f8)]||'',_0x51d397[_0x432ca1(0x1c8)]);let _0x3c5f73=![];if(_0x51d397[_0x432ca1(0x1f8)]){console['log'](_0x432ca1(0x1d3));const _0xf8b985=process[_0x432ca1(0x200)]();try{process[_0x432ca1(0x1d6)](_0x155a5e);const _0x321a69=_0x51d397['env']||_0x432ca1(0x1c4);initEnv(_0x321a69);const {configArray:_0x514a49}=await fetchModelList(_0x51d397[_0x432ca1(0x1f8)],_0x2c9cb6[_0x432ca1(0x208)]||''),_0x98e66b=DEFAULT_API_DIR,_0x2ef20d=await generateApiFile(_0x514a49,'',_0x51d397[_0x432ca1(0x1f8)],!![],_0x321a69,_0x98e66b);console[_0x432ca1(0x1fa)]('√\x20Pulled\x20'+_0x514a49[_0x432ca1(0x1ec)]+_0x432ca1(0x1b6)+_0x2ef20d[_0x432ca1(0x1d4)]+_0x432ca1(0x1f9)),logger[_0x432ca1(0x1c5)](_0x432ca1(0x1dd),_0x432ca1(0x1cf)+_0x51d397['appCode']);}catch(_0x4789f2){_0x3c5f73=!![],console[_0x432ca1(0x1fa)](_0x432ca1(0x1d2)),logger[_0x432ca1(0x1ed)](_0x432ca1(0x1dd),_0x432ca1(0x1cc),{'error':_0x4789f2 instanceof Error?_0x4789f2[_0x432ca1(0x201)]:String(_0x4789f2)});}finally{process[_0x432ca1(0x1d6)](_0xf8b985);}}logger['success'](_0x432ca1(0x1dd),_0x432ca1(0x1de)+_0x51d397[_0x432ca1(0x1f7)]),console[_0x432ca1(0x1fa)](),console[_0x432ca1(0x1fa)](a142_0x5394ff['green']('─'[_0x432ca1(0x205)](0x3c))),console[_0x432ca1(0x1fa)](a142_0x5394ff['cyan']['bold'](_0x432ca1(0x1ae))),console[_0x432ca1(0x1fa)](),console[_0x432ca1(0x1fa)](_0x432ca1(0x1c7)+a142_0x5394ff['cyan'][_0x432ca1(0x1cb)](_0x432ca1(0x1b5)+_0x51d397['projectName']+'\x20&&\x20'+CLI_BIN_NAME+_0x432ca1(0x1c1))),_0x3c5f73&&console[_0x432ca1(0x1fa)]('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a142_0x5394ff[_0x432ca1(0x1c2)][_0x432ca1(0x1cb)](CLI_BIN_NAME+_0x432ca1(0x1b9))),console[_0x432ca1(0x1fa)](a142_0x5394ff[_0x432ca1(0x1c0)]('─'['repeat'](0x3c)));}catch(_0x40d423){logger[_0x432ca1(0x1be)](_0x432ca1(0x1dd),'项目创建失败:\x20'+_0x51d397[_0x432ca1(0x1f7)],{'error':_0x40d423 instanceof Error?_0x40d423[_0x432ca1(0x201)]:String(_0x40d423)});try{a142_0x1b7ea0[_0x432ca1(0x204)](_0x155a5e)&&(console[_0x432ca1(0x1fa)](_0x432ca1(0x1e8)+_0x155a5e),a142_0x1b7ea0['rmSync'](_0x155a5e,{'recursive':!![],'force':!![]}));}catch{logger['warn'](_0x432ca1(0x1dd),'清理项目目录失败:\x20'+_0x155a5e);}throw _0x40d423;}}async function runTask(_0x265281,_0x891ac9){const _0x23fe38=a142_0x1ca8,_0x124290=a142_0x1349c9(_0x265281+_0x23fe38(0x1ce))[_0x23fe38(0x1b1)]();try{const _0x29c0cb=await _0x891ac9();_0x124290[_0x23fe38(0x1db)](),console['log'](''+a142_0x5394ff['green']('\x20√\x20')+_0x265281+'\x20'+a142_0x5394ff[_0x23fe38(0x1e0)]('['+_0x29c0cb+']'));}catch(_0x435c9b){_0x124290['fail'](_0x265281);throw _0x435c9b;}}async function updatePackageJsonName(_0x430dfc){const _0x2daecd=a142_0x1ca8,_0x28cef9=a142_0x346fd5[_0x2daecd(0x1f5)](process[_0x2daecd(0x200)](),_0x430dfc),_0x5b9f30=a142_0x346fd5['join'](_0x28cef9,_0x2daecd(0x1ca));try{console['log'](_0x2daecd(0x1bb));const _0x21f84f=getRabetbaseCliPackageRoot(),_0x1cb93a=a142_0x346fd5['join'](_0x21f84f,_0x2daecd(0x1ca));let _0x4d207c=_0x2daecd(0x1f4);try{const _0x2d02a2=JSON[_0x2daecd(0x1d5)](a142_0x1b7ea0[_0x2daecd(0x1f1)](_0x1cb93a,_0x2daecd(0x1f0)));_0x4d207c=_0x2d02a2['version']||_0x2daecd(0x1f4);}catch{}const _0x5dacb4=a142_0x1b7ea0['readFileSync'](_0x5b9f30,_0x2daecd(0x1f0)),_0x25a156=JSON['parse'](_0x5dacb4);_0x25a156[_0x2daecd(0x1e9)]=_0x430dfc,_0x25a156[_0x2daecd(0x1ef)]=_0x430dfc+_0x2daecd(0x1e4)+_0x4d207c,a142_0x1b7ea0['writeFileSync'](_0x5b9f30,JSON[_0x2daecd(0x1c6)](_0x25a156,null,0x2)+'\x0a',_0x2daecd(0x1f0)),console[_0x2daecd(0x1fa)](_0x2daecd(0x1fb)+_0x430dfc),logger[_0x2daecd(0x1c5)](_0x2daecd(0x1dd),_0x2daecd(0x1b3));}catch(_0x5438fd){logger['error'](_0x2daecd(0x1dd),_0x2daecd(0x1ba));throw _0x5438fd;}}async function configureAppCode(_0x37a9c5,_0x2d9864,_0x2f5ed5){const _0x5c4957=a142_0x1ca8,_0x246b82=a142_0x346fd5[_0x5c4957(0x1f5)](process['cwd'](),_0x37a9c5),_0x2885ea=a142_0x346fd5[_0x5c4957(0x1ee)](_0x246b82,NEW_CONFIG_NAME);try{_0x2d9864?console['log'](_0x5c4957(0x1e5)+_0x37a9c5+':\x20'+_0x2d9864):console['log']('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x37a9c5);const _0x124366=getRabetbaseCliPackageRoot(),_0x4c7edb=a142_0x346fd5[_0x5c4957(0x1ee)](_0x124366,'package.json');let _0x15f350=_0x5c4957(0x1f4);try{const _0x1d4d67=JSON['parse'](a142_0x1b7ea0[_0x5c4957(0x1f1)](_0x4c7edb,_0x5c4957(0x1f0)));_0x15f350=_0x1d4d67[_0x5c4957(0x1eb)]||_0x5c4957(0x1f4);}catch{}const _0x523148=readConfig(),_0x353ad1=typeof _0x523148[_0x5c4957(0x1c8)]===_0x5c4957(0x1f2)?_0x523148[_0x5c4957(0x1c8)]:undefined,_0x4157e0={};for(const _0x37bf58 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x523148[_0x37bf58]!=null)_0x4157e0[_0x37bf58]=_0x523148[_0x37bf58];}const _0x3d811f=buildCanonicalProjectConfig(_0x4157e0,{'appCodes':_0x2d9864?[_0x2d9864]:[],'env':_0x2f5ed5||_0x353ad1||_0x5c4957(0x1c4),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x15f350}});writeConfigFile(_0x2885ea,_0x3d811f),_0x2d9864?console['log'](_0x5c4957(0x1fe)+Object[_0x5c4957(0x1e6)](_0x3d811f[_0x5c4957(0x1bd)]||{})[_0x5c4957(0x1ee)](',\x20')+_0x5c4957(0x1d1)+_0x3d811f[_0x5c4957(0x1df)]):console[_0x5c4957(0x1fa)](_0x5c4957(0x1da)+CLI_BIN_NAME+_0x5c4957(0x1af)),logger[_0x5c4957(0x1c5)](_0x5c4957(0x1dd),'配置应用AppCode:\x20'+_0x2d9864);}catch(_0x16ef18){logger['error']('create',_0x5c4957(0x203));}}
1
+ (function(_0x33b1d5,_0x27e376){const _0x8a1521=a142_0x3a86,_0x58ff0e=_0x33b1d5();while(!![]){try{const _0x13ad65=parseInt(_0x8a1521(0xd9))/0x1*(-parseInt(_0x8a1521(0xb4))/0x2)+-parseInt(_0x8a1521(0xe1))/0x3*(parseInt(_0x8a1521(0xd8))/0x4)+-parseInt(_0x8a1521(0xce))/0x5*(-parseInt(_0x8a1521(0xcc))/0x6)+-parseInt(_0x8a1521(0xfb))/0x7*(parseInt(_0x8a1521(0xf5))/0x8)+parseInt(_0x8a1521(0xe9))/0x9+-parseInt(_0x8a1521(0xee))/0xa+-parseInt(_0x8a1521(0xba))/0xb*(-parseInt(_0x8a1521(0xae))/0xc);if(_0x13ad65===_0x27e376)break;else _0x58ff0e['push'](_0x58ff0e['shift']());}catch(_0x22f545){_0x58ff0e['push'](_0x58ff0e['shift']());}}}(a142_0x34a7,0xd01dc));import a142_0x4f3d59 from'path';import a142_0x59a27b from'fs';import a142_0x382c25 from'chalk';import a142_0xe1e590 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';function a142_0x3a86(_0x39294e,_0x33915b){_0x39294e=_0x39294e-0xa9;const _0x34a735=a142_0x34a7();let _0x3a868e=_0x34a735[_0x39294e];return _0x3a868e;}import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';function a142_0x34a7(){const _0x3be84f=['create','fail','production','Project\x20name:\x20','9219qhvMdP','info','defaultApp','minimumVersion','\x20√\x20','green','cyan','cwd','belowMinimum','projectName','stop','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','gray','resolve','2876724lbWmKN','cookie','dirname','\x20model(s)','√\x20Pulled\x20','message','166ZoJBcn','stableVersion','parse','\x20dataset(s),\x20generated\x20','modelCount','项目创建失败:\x20','44dNajGO','√\x20package.json\x20updated:\x20name=','\x20|\x20AppCode:\x20','repeat','🚀\x20Next\x20Steps:','stringify','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','Project\x20directory\x20','项目创建完成:\x20','needsUpgrade','length','env','\x20api\x20pull','accessSync','trim','Copy\x20project\x20files','readFileSync','existsSync','893202WuSrVc','log','35yBlgrJ','start','\x20\x201.\x20Start\x20project:\x20','apps','\x20|\x20Default:\x20','1.0.0','Project\x20name\x20cannot\x20be\x20empty','appCode','\x20\x202.\x20Pull\x20API\x20configuration:\x20','配置应用AppCode:\x20','1984NsKmwn','4577dCAPjG','bold','success','*\x20Pulling\x20API\x20configuration...','error','chdir','\x20already\x20exists','CLI\x20版本检查','7536wupWlx','join','test','package.json','API\x20配置拉取异常','projectCode','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','version','5923818XmgciZ','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','utf8','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','*\x20Configuring\x20AppCode\x20for\x20project\x20','360220dOkONQ','description','W_OK','清理项目目录失败:\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','\x20&&\x20','warn','880AmNzrK','...'];a142_0x34a7=function(){return _0x3be84f;};return a142_0x34a7();}import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';export async function createApp(_0x275124){const _0x313c00=a142_0x3a86,_0x2659a4=await checkCliVersion();(_0x2659a4['needsUpgrade']||_0x2659a4[_0x313c00(0x103)])&&(printCliUpgradeWarning(_0x2659a4),assertCliVersionSupported(_0x2659a4),logger[_0x313c00(0xfc)](_0x313c00(0xf7),_0x313c00(0xe0),{'currentVersion':_0x2659a4['currentVersion'],'stableVersion':_0x2659a4[_0x313c00(0xb5)],'minimumVersion':_0x2659a4[_0x313c00(0xfe)],'needsUpgrade':_0x2659a4[_0x313c00(0xc3)],'belowMinimum':_0x2659a4[_0x313c00(0x103)]}));if(_0x275124[_0x313c00(0xe6)]&&_0x275124['appCode'])await runCreate({'projectName':_0x275124[_0x313c00(0xe6)],'appCode':_0x275124[_0x313c00(0xd5)],'env':_0x275124[_0x313c00(0xc5)]},_0x275124);else{if(_0x275124[_0x313c00(0xe6)]){const _0x1cfef7=await selectSingleAppcode(_0x275124[_0x313c00(0xaf)]);await runCreate({'projectName':_0x275124[_0x313c00(0xe6)],'appCode':_0x1cfef7||undefined,'env':_0x275124[_0x313c00(0xc5)]},_0x275124);}else await guidedCreateProject(_0x1aec22=>runCreate(_0x1aec22,_0x275124),_0x275124[_0x313c00(0xc5)],_0x275124[_0x313c00(0xaf)]);}}async function runCreate(_0x47f4ea,_0x595150){const _0x2b0f59=a142_0x3a86;if(!_0x47f4ea[_0x2b0f59(0xa9)]||_0x47f4ea[_0x2b0f59(0xa9)][_0x2b0f59(0xc8)]()==='')throw new Error(_0x2b0f59(0xd4));const _0x6cb405=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x6cb405[_0x2b0f59(0xe3)](_0x47f4ea[_0x2b0f59(0xa9)]))throw new Error(_0x2b0f59(0xc0));if(_0x47f4ea[_0x2b0f59(0xa9)][_0x2b0f59(0xc4)]>0x64)throw new Error(_0x2b0f59(0xec));const _0x469320=a142_0x4f3d59[_0x2b0f59(0xad)](process[_0x2b0f59(0x102)](),_0x47f4ea[_0x2b0f59(0xa9)]);if(a142_0x59a27b['existsSync'](_0x469320))throw new Error(_0x2b0f59(0xc1)+_0x47f4ea[_0x2b0f59(0xa9)]+_0x2b0f59(0xdf));try{a142_0x59a27b[_0x2b0f59(0xc7)](a142_0x4f3d59[_0x2b0f59(0xb0)](_0x469320),a142_0x59a27b['constants'][_0x2b0f59(0xf0)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger['setLogPath'](_0x469320),logger[_0x2b0f59(0xfc)](_0x2b0f59(0xf7),'开始创建项目:\x20'+_0x47f4ea[_0x2b0f59(0xa9)],{'projectDir':_0x469320,'appCode':_0x47f4ea[_0x2b0f59(0xd5)]}),console[_0x2b0f59(0xcd)](),console[_0x2b0f59(0xcd)](a142_0x382c25[_0x2b0f59(0x100)](_0x2b0f59(0xff))+_0x2b0f59(0xfa)+a142_0x382c25[_0x2b0f59(0x100)](_0x47f4ea['projectName'])+(_0x47f4ea[_0x2b0f59(0xd5)]?_0x2b0f59(0xbc)+a142_0x382c25[_0x2b0f59(0x101)](_0x47f4ea[_0x2b0f59(0xd5)]):''));try{await runTask(_0x2b0f59(0xc9),()=>copyProjectTemplate(_0x47f4ea[_0x2b0f59(0xa9)])),await updatePackageJsonName(_0x47f4ea[_0x2b0f59(0xa9)]),await runTask('Install\x20dependencies',()=>installDependencies(_0x47f4ea[_0x2b0f59(0xa9)])),await runTask('Format\x20code',()=>formatProjectCode(_0x47f4ea[_0x2b0f59(0xa9)])),await configureAppCode(_0x47f4ea[_0x2b0f59(0xa9)],_0x47f4ea['appCode']||'',_0x47f4ea['env']);let _0xf0828a=![];if(_0x47f4ea[_0x2b0f59(0xd5)]){console['log'](_0x2b0f59(0xdc));const _0x1f473b=process[_0x2b0f59(0x102)]();try{process[_0x2b0f59(0xde)](_0x469320);const _0x342cea=_0x47f4ea[_0x2b0f59(0xc5)]||_0x2b0f59(0xf9);initEnv(_0x342cea);const {configArray:_0x167be5}=await fetchModelList(_0x47f4ea[_0x2b0f59(0xd5)],_0x595150[_0x2b0f59(0xaf)]||''),_0xf201ba=DEFAULT_API_DIR,_0x52d36b=await generateApiFile(_0x167be5,'',_0x47f4ea[_0x2b0f59(0xd5)],!![],_0x342cea,_0xf201ba);console[_0x2b0f59(0xcd)](_0x2b0f59(0xb2)+_0x167be5[_0x2b0f59(0xc4)]+_0x2b0f59(0xb7)+_0x52d36b[_0x2b0f59(0xb8)]+_0x2b0f59(0xb1)),logger['info'](_0x2b0f59(0xf7),'API\x20configuration\x20pulled:\x20'+_0x47f4ea[_0x2b0f59(0xd5)]);}catch(_0x3ff915){_0xf0828a=!![],console[_0x2b0f59(0xcd)](_0x2b0f59(0xea)),logger['warn']('create',_0x2b0f59(0xe5),{'error':_0x3ff915 instanceof Error?_0x3ff915[_0x2b0f59(0xb3)]:String(_0x3ff915)});}finally{process[_0x2b0f59(0xde)](_0x1f473b);}}logger[_0x2b0f59(0xdb)]('create',_0x2b0f59(0xc2)+_0x47f4ea['projectName']),console[_0x2b0f59(0xcd)](),console[_0x2b0f59(0xcd)](a142_0x382c25[_0x2b0f59(0x100)]('─'[_0x2b0f59(0xbd)](0x3c))),console['log'](a142_0x382c25[_0x2b0f59(0x101)][_0x2b0f59(0xda)](_0x2b0f59(0xbe))),console[_0x2b0f59(0xcd)](),console[_0x2b0f59(0xcd)](_0x2b0f59(0xd0)+a142_0x382c25['cyan'][_0x2b0f59(0xda)]('cd\x20'+_0x47f4ea[_0x2b0f59(0xa9)]+_0x2b0f59(0xf3)+CLI_BIN_NAME+'\x20run\x20start')),_0xf0828a&&console[_0x2b0f59(0xcd)](_0x2b0f59(0xd6)+a142_0x382c25[_0x2b0f59(0x101)][_0x2b0f59(0xda)](CLI_BIN_NAME+_0x2b0f59(0xc6))),console['log'](a142_0x382c25['green']('─'['repeat'](0x3c)));}catch(_0x3cde3b){logger[_0x2b0f59(0xdd)](_0x2b0f59(0xf7),_0x2b0f59(0xb9)+_0x47f4ea[_0x2b0f59(0xa9)],{'error':_0x3cde3b instanceof Error?_0x3cde3b[_0x2b0f59(0xb3)]:String(_0x3cde3b)});try{a142_0x59a27b[_0x2b0f59(0xcb)](_0x469320)&&(console[_0x2b0f59(0xcd)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x469320),a142_0x59a27b['rmSync'](_0x469320,{'recursive':!![],'force':!![]}));}catch{logger[_0x2b0f59(0xf4)](_0x2b0f59(0xf7),_0x2b0f59(0xf1)+_0x469320);}throw _0x3cde3b;}}async function runTask(_0x55666b,_0x31596a){const _0x509d09=a142_0x3a86,_0x53e699=a142_0xe1e590(_0x55666b+_0x509d09(0xf6))[_0x509d09(0xcf)]();try{const _0x89d7bb=await _0x31596a();_0x53e699[_0x509d09(0xaa)](),console[_0x509d09(0xcd)](''+a142_0x382c25['green'](_0x509d09(0xff))+_0x55666b+'\x20'+a142_0x382c25[_0x509d09(0xac)]('['+_0x89d7bb+']'));}catch(_0x33dbb5){_0x53e699[_0x509d09(0xf8)](_0x55666b);throw _0x33dbb5;}}async function updatePackageJsonName(_0x253910){const _0x25fc78=a142_0x3a86,_0x317391=a142_0x4f3d59['resolve'](process[_0x25fc78(0x102)](),_0x253910),_0x1e7b6c=a142_0x4f3d59['join'](_0x317391,'package.json');try{console[_0x25fc78(0xcd)](_0x25fc78(0xab));const _0xd8ff25=getRabetbaseCliPackageRoot(),_0x51a116=a142_0x4f3d59[_0x25fc78(0xe2)](_0xd8ff25,'package.json');let _0x23919c='1.0.0';try{const _0x94392a=JSON['parse'](a142_0x59a27b['readFileSync'](_0x51a116,_0x25fc78(0xeb)));_0x23919c=_0x94392a['version']||_0x25fc78(0xd3);}catch{}const _0x5ad599=a142_0x59a27b[_0x25fc78(0xca)](_0x1e7b6c,'utf8'),_0x52387c=JSON[_0x25fc78(0xb6)](_0x5ad599);_0x52387c['name']=_0x253910,_0x52387c[_0x25fc78(0xef)]=_0x253910+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x23919c,a142_0x59a27b['writeFileSync'](_0x1e7b6c,JSON[_0x25fc78(0xbf)](_0x52387c,null,0x2)+'\x0a','utf8'),console[_0x25fc78(0xcd)](_0x25fc78(0xbb)+_0x253910),logger[_0x25fc78(0xfc)](_0x25fc78(0xf7),'更新\x20package.json\x20name');}catch(_0x263b38){logger[_0x25fc78(0xdd)](_0x25fc78(0xf7),'更新\x20package.json\x20失败');throw _0x263b38;}}async function configureAppCode(_0x23885f,_0x57cdbe,_0x4aa0b6){const _0x5c4a42=a142_0x3a86,_0x3a7167=a142_0x4f3d59[_0x5c4a42(0xad)](process[_0x5c4a42(0x102)](),_0x23885f),_0x42dc94=a142_0x4f3d59[_0x5c4a42(0xe2)](_0x3a7167,NEW_CONFIG_NAME);try{_0x57cdbe?console['log'](_0x5c4a42(0xed)+_0x23885f+':\x20'+_0x57cdbe):console['log'](_0x5c4a42(0xf2)+_0x23885f);const _0x1be29d=getRabetbaseCliPackageRoot(),_0x48d4d1=a142_0x4f3d59[_0x5c4a42(0xe2)](_0x1be29d,_0x5c4a42(0xe4));let _0x2c0a0a=_0x5c4a42(0xd3);try{const _0x3ec852=JSON[_0x5c4a42(0xb6)](a142_0x59a27b['readFileSync'](_0x48d4d1,_0x5c4a42(0xeb)));_0x2c0a0a=_0x3ec852[_0x5c4a42(0xe8)]||_0x5c4a42(0xd3);}catch{}const _0x526e2f=readConfig(),_0x5c41e=typeof _0x526e2f[_0x5c4a42(0xc5)]==='string'?_0x526e2f[_0x5c4a42(0xc5)]:undefined,_0x147c1f={};for(const _0x53c7ef of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x526e2f[_0x53c7ef]!=null)_0x147c1f[_0x53c7ef]=_0x526e2f[_0x53c7ef];}const _0x1889f4=buildCanonicalProjectConfig(_0x147c1f,{'appCodes':_0x57cdbe?[_0x57cdbe]:[],'env':_0x4aa0b6||_0x5c41e||_0x5c4a42(0xf9),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x2c0a0a}});writeConfigFile(_0x42dc94,_0x1889f4),_0x57cdbe?console[_0x5c4a42(0xcd)]('√\x20Configuration\x20file\x20created,\x20Apps:\x20'+Object['keys'](_0x1889f4[_0x5c4a42(0xd1)]||{})['join'](',\x20')+_0x5c4a42(0xd2)+_0x1889f4[_0x5c4a42(0xfd)]):console[_0x5c4a42(0xcd)](_0x5c4a42(0xe7)+CLI_BIN_NAME+'\x20config\x20set\x20appcode\x20<app-code>\x27'),logger[_0x5c4a42(0xfc)](_0x5c4a42(0xf7),_0x5c4a42(0xd7)+_0x57cdbe);}catch(_0x528dd4){logger[_0x5c4a42(0xdd)](_0x5c4a42(0xf7),'配置应用AppCode失败');}}
@@ -1 +1 @@
1
- (function(_0x5bf916,_0x2dabe6){const _0x1300cb=a143_0x25f5,_0x30b303=_0x5bf916();while(!![]){try{const _0x48ff32=parseInt(_0x1300cb(0x186))/0x1*(-parseInt(_0x1300cb(0x18b))/0x2)+parseInt(_0x1300cb(0x15e))/0x3+-parseInt(_0x1300cb(0x177))/0x4*(parseInt(_0x1300cb(0x188))/0x5)+parseInt(_0x1300cb(0x175))/0x6+parseInt(_0x1300cb(0x195))/0x7*(-parseInt(_0x1300cb(0x168))/0x8)+parseInt(_0x1300cb(0x178))/0x9+-parseInt(_0x1300cb(0x17e))/0xa*(parseInt(_0x1300cb(0x16d))/0xb);if(_0x48ff32===_0x2dabe6)break;else _0x30b303['push'](_0x30b303['shift']());}catch(_0x1892a1){_0x30b303['push'](_0x30b303['shift']());}}}(a143_0x46e7,0xbea9b));import a143_0x55d6b3 from'path';import a143_0x30eaf7 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';function a143_0x25f5(_0x3a687c,_0x4cb6bc){_0x3a687c=_0x3a687c-0x15e;const _0x46e751=a143_0x46e7();let _0x25f55f=_0x46e751[_0x3a687c];return _0x25f55f;}function a143_0x46e7(){const _0x549013=['\x20api\x20pull`\x20manually\x20later.','production','chdir','modelCount','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','7VozTcJ','Use\x20a\x20different\x20project\x20name.','npm','string','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','dirname','3588684EdHkjh','env','name','description','\x0a\x20\x20cd\x20','join','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','\x20created\x20successfully!','length','\x20\x20√\x20Pulled\x20','3792720MqpZfI','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','bun\x20run\x20format','package.json','readFile','4153501tZwnGP','Project\x20name\x20cannot\x20be\x20empty.','cwd','\x20dataset(s),\x20generated\x20','ignore','*\x20Creating\x20project\x20','belowMinimum','validation','4078392QVZNbz','bun\x20--version','894328YXvtsd','8894556ASOCJu','...','\x20\x20Installing\x20dependencies...','resolve','\x0a√\x20Project\x20','W_OK','10kHtRGB','\x20\x20√\x20Code\x20formatted','Project\x20directory\x20\x22','writeFile','\x20\x20√\x20package.json\x20updated','Cannot\x20create\x20project\x20in\x20current\x20directory.','stringify','\x20model(s)','53054rknyWX','\x22\x20already\x20exists.','5dqirZW','test','needsUpgrade','38sfgAIp','log','toLocaleString','\x20\x20√\x20Project\x20template\x20created','bun'];a143_0x46e7=function(){return _0x549013;};return a143_0x46e7();}import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x5ecc6e,_0x4c438b,_0x32c8ce,_0x383fa2){const _0x456e0b=a143_0x25f5,_0x37813c=await checkCliVersion();(_0x37813c[_0x456e0b(0x18a)]||_0x37813c[_0x456e0b(0x173)])&&(printCliUpgradeWarning(_0x37813c),assertCliVersionSupported(_0x37813c));if(!_0x5ecc6e||_0x5ecc6e['trim']()==='')throw CliErrors[_0x456e0b(0x174)](_0x456e0b(0x16e));const _0x3c862c=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3c862c[_0x456e0b(0x189)](_0x5ecc6e))throw CliErrors['validation']('Project\x20name\x20contains\x20invalid\x20characters.',_0x456e0b(0x164));if(_0x5ecc6e[_0x456e0b(0x166)]>0x64)throw CliErrors[_0x456e0b(0x174)](_0x456e0b(0x199));const _0x1c560e=a143_0x55d6b3[_0x456e0b(0x17b)](process[_0x456e0b(0x16f)](),_0x5ecc6e);if(existsSync(_0x1c560e))throw CliErrors[_0x456e0b(0x174)](_0x456e0b(0x180)+_0x5ecc6e+_0x456e0b(0x187),_0x456e0b(0x196));try{const _0x14b84a=a143_0x55d6b3[_0x456e0b(0x19a)](_0x1c560e);await a143_0x30eaf7['access'](_0x14b84a,a143_0x30eaf7['constants'][_0x456e0b(0x17d)]);}catch{throw CliErrors[_0x456e0b(0x174)](_0x456e0b(0x183),'Check\x20directory\x20permissions.');}try{console['log'](_0x456e0b(0x172)+_0x5ecc6e+_0x456e0b(0x179));const _0x4f4999=getSubAppReactDemoTemplateDir();await copyDirectory(_0x4f4999,_0x1c560e),console[_0x456e0b(0x18c)](_0x456e0b(0x18e)),await updatePackageJsonName(_0x5ecc6e),console[_0x456e0b(0x18c)](_0x456e0b(0x182)),console[_0x456e0b(0x18c)](_0x456e0b(0x17a)),console[_0x456e0b(0x18c)](_0x456e0b(0x194)),await formatCode(_0x1c560e),console[_0x456e0b(0x18c)](_0x456e0b(0x17f)),await configureProject(_0x5ecc6e,_0x32c8ce,_0x4c438b),console[_0x456e0b(0x18c)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x32c8ce&&await pullApiConfig(_0x1c560e,_0x32c8ce,_0x4c438b,_0x383fa2),console[_0x456e0b(0x18c)](_0x456e0b(0x17c)+_0x5ecc6e+_0x456e0b(0x165)),console[_0x456e0b(0x18c)](_0x456e0b(0x162)+_0x5ecc6e),console['log']('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0x3b04d6){try{existsSync(_0x1c560e)&&await a143_0x30eaf7['rm'](_0x1c560e,{'recursive':!![],'force':!![]});}catch{}throw _0x3b04d6;}}async function updatePackageJsonName(_0x1d301f){const _0x3a0b1d=a143_0x25f5,_0x5d757f=a143_0x55d6b3['resolve'](process[_0x3a0b1d(0x16f)](),_0x1d301f),_0x25a1db=a143_0x55d6b3[_0x3a0b1d(0x163)](_0x5d757f,_0x3a0b1d(0x16b)),_0x5002fb=await a143_0x30eaf7[_0x3a0b1d(0x16c)](_0x25a1db,'utf-8'),_0x2d819b=JSON['parse'](_0x5002fb);_0x2d819b[_0x3a0b1d(0x160)]=_0x1d301f,_0x2d819b[_0x3a0b1d(0x161)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a143_0x30eaf7[_0x3a0b1d(0x181)](_0x25a1db,JSON[_0x3a0b1d(0x184)](_0x2d819b,null,0x2)+'\x0a');}function detectPackageManager(){const _0x14e71e=a143_0x25f5;try{return execSync(_0x14e71e(0x176),{'stdio':_0x14e71e(0x171)}),_0x14e71e(0x18f);}catch{return _0x14e71e(0x197);}}async function formatCode(_0x2b7a8d){const _0x52eb1b=a143_0x25f5;try{await execAsync(_0x52eb1b(0x16a),{'cwd':_0x2b7a8d});}catch{}}async function configureProject(_0x29efc2,_0x500319,_0x45beff){const _0x5950fb=a143_0x25f5,_0x5861c6=a143_0x55d6b3[_0x5950fb(0x17b)](process[_0x5950fb(0x16f)](),_0x29efc2),_0x38da8f=a143_0x55d6b3['join'](_0x5861c6,NEW_CONFIG_NAME),_0x478c55=readConfig(),_0x21d56e=typeof _0x478c55[_0x5950fb(0x15f)]===_0x5950fb(0x198)?_0x478c55[_0x5950fb(0x15f)]:undefined,_0x20313a={};for(const _0x251054 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x478c55[_0x251054]!=null)_0x20313a[_0x251054]=_0x478c55[_0x251054];}const _0x2ced85=buildCanonicalProjectConfig(_0x20313a,{'appCodes':_0x500319?[_0x500319]:[],'env':_0x45beff||_0x21d56e||_0x5950fb(0x191),'metadata':{'createdAt':new Date()[_0x5950fb(0x18d)](),'version':getCliVersion()}});writeConfigFile(_0x38da8f,_0x2ced85);}async function pullApiConfig(_0xc5e44e,_0x4ce5c0,_0x2378fc,_0x539b9e){const _0x1ad725=a143_0x25f5,_0x16d2fd=process[_0x1ad725(0x16f)]();try{process['chdir'](_0xc5e44e);const _0x373ea2=_0x2378fc||_0x1ad725(0x191);initEnv(_0x373ea2),console[_0x1ad725(0x18c)]('\x20\x20Pulling\x20API\x20configuration...');const {configArray:_0x189fc8}=await fetchModelList(_0x4ce5c0,_0x539b9e||''),_0x14a870=await generateApiFile(_0x189fc8,'',_0x4ce5c0,!![],_0x373ea2,DEFAULT_API_DIR);console[_0x1ad725(0x18c)](_0x1ad725(0x167)+_0x189fc8[_0x1ad725(0x166)]+_0x1ad725(0x170)+_0x14a870[_0x1ad725(0x193)]+_0x1ad725(0x185));}catch(_0x241864){console[_0x1ad725(0x18c)](_0x1ad725(0x169)+CLI_BIN_NAME+_0x1ad725(0x190));}finally{process[_0x1ad725(0x192)](_0x16d2fd);}}
1
+ (function(_0x53c176,_0x18b263){const _0x1a663f=a143_0x50ae,_0x1d19ad=_0x53c176();while(!![]){try{const _0x29d2ca=parseInt(_0x1a663f(0x1a3))/0x1+parseInt(_0x1a663f(0x194))/0x2*(parseInt(_0x1a663f(0x170))/0x3)+-parseInt(_0x1a663f(0x16f))/0x4+parseInt(_0x1a663f(0x19a))/0x5+parseInt(_0x1a663f(0x174))/0x6*(-parseInt(_0x1a663f(0x195))/0x7)+-parseInt(_0x1a663f(0x191))/0x8*(-parseInt(_0x1a663f(0x19f))/0x9)+-parseInt(_0x1a663f(0x18a))/0xa;if(_0x29d2ca===_0x18b263)break;else _0x1d19ad['push'](_0x1d19ad['shift']());}catch(_0x74f0f0){_0x1d19ad['push'](_0x1d19ad['shift']());}}}(a143_0x5e21,0xd8cab));import a143_0x2d453f from'path';import a143_0x483d53 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';function a143_0x50ae(_0x1cd3c6,_0x4dbf78){_0x1cd3c6=_0x1cd3c6-0x16c;const _0x5e21c3=a143_0x5e21();let _0x50aeeb=_0x5e21c3[_0x1cd3c6];return _0x50aeeb;}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(_0x2a33b4,_0x172c5f,_0x5af835,_0x1f52a6){const _0x3d1354=a143_0x50ae,_0x3e940b=await checkCliVersion();(_0x3e940b[_0x3d1354(0x182)]||_0x3e940b[_0x3d1354(0x196)])&&(printCliUpgradeWarning(_0x3e940b),assertCliVersionSupported(_0x3e940b));if(!_0x2a33b4||_0x2a33b4[_0x3d1354(0x19d)]()==='')throw CliErrors[_0x3d1354(0x186)](_0x3d1354(0x181));const _0x2ed7e8=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x2ed7e8[_0x3d1354(0x1a4)](_0x2a33b4))throw CliErrors['validation'](_0x3d1354(0x16c),'Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters');if(_0x2a33b4[_0x3d1354(0x1a0)]>0x64)throw CliErrors[_0x3d1354(0x186)](_0x3d1354(0x189));const _0x2224e6=a143_0x2d453f[_0x3d1354(0x18c)](process[_0x3d1354(0x16d)](),_0x2a33b4);if(existsSync(_0x2224e6))throw CliErrors[_0x3d1354(0x186)]('Project\x20directory\x20\x22'+_0x2a33b4+'\x22\x20already\x20exists.','Use\x20a\x20different\x20project\x20name.');try{const _0x396020=a143_0x2d453f[_0x3d1354(0x17c)](_0x2224e6);await a143_0x483d53[_0x3d1354(0x18b)](_0x396020,a143_0x483d53[_0x3d1354(0x188)][_0x3d1354(0x197)]);}catch{throw CliErrors[_0x3d1354(0x186)](_0x3d1354(0x171),_0x3d1354(0x192));}try{console[_0x3d1354(0x199)](_0x3d1354(0x17d)+_0x2a33b4+_0x3d1354(0x17f));const _0x2d86a5=getSubAppReactDemoTemplateDir();await copyDirectory(_0x2d86a5,_0x2224e6),console['log'](_0x3d1354(0x19b)),await updatePackageJsonName(_0x2a33b4),console['log']('\x20\x20√\x20package.json\x20updated'),console[_0x3d1354(0x199)]('\x20\x20Installing\x20dependencies...'),console[_0x3d1354(0x199)](_0x3d1354(0x18e)),await formatCode(_0x2224e6),console[_0x3d1354(0x199)]('\x20\x20√\x20Code\x20formatted'),await configureProject(_0x2a33b4,_0x5af835,_0x172c5f),console['log'](_0x3d1354(0x18f)),_0x5af835&&await pullApiConfig(_0x2224e6,_0x5af835,_0x172c5f,_0x1f52a6),console[_0x3d1354(0x199)](_0x3d1354(0x17e)+_0x2a33b4+_0x3d1354(0x187)),console[_0x3d1354(0x199)](_0x3d1354(0x177)+_0x2a33b4),console[_0x3d1354(0x199)]('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0x4db642){try{existsSync(_0x2224e6)&&await a143_0x483d53['rm'](_0x2224e6,{'recursive':!![],'force':!![]});}catch{}throw _0x4db642;}}async function updatePackageJsonName(_0x351a5f){const _0x1acf97=a143_0x50ae,_0x5ce1a9=a143_0x2d453f['resolve'](process[_0x1acf97(0x16d)](),_0x351a5f),_0x51fe19=a143_0x2d453f[_0x1acf97(0x1a2)](_0x5ce1a9,'package.json'),_0xac653d=await a143_0x483d53[_0x1acf97(0x1a1)](_0x51fe19,_0x1acf97(0x183)),_0x42dae1=JSON[_0x1acf97(0x176)](_0xac653d);_0x42dae1[_0x1acf97(0x16e)]=_0x351a5f,_0x42dae1[_0x1acf97(0x19e)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a143_0x483d53[_0x1acf97(0x172)](_0x51fe19,JSON[_0x1acf97(0x18d)](_0x42dae1,null,0x2)+'\x0a');}function detectPackageManager(){const _0x4d615b=a143_0x50ae;try{return execSync(_0x4d615b(0x179),{'stdio':_0x4d615b(0x19c)}),_0x4d615b(0x198);}catch{return _0x4d615b(0x180);}}async function formatCode(_0x23c264){try{await execAsync('bun\x20run\x20format',{'cwd':_0x23c264});}catch{}}async function configureProject(_0x499eca,_0x140191,_0x329c77){const _0x14f874=a143_0x50ae,_0x556cb2=a143_0x2d453f['resolve'](process[_0x14f874(0x16d)](),_0x499eca),_0x14704e=a143_0x2d453f[_0x14f874(0x1a2)](_0x556cb2,NEW_CONFIG_NAME),_0x21fcc6=readConfig(),_0x3b97e1=typeof _0x21fcc6['env']===_0x14f874(0x178)?_0x21fcc6[_0x14f874(0x173)]:undefined,_0xb3bfa1={};for(const _0x51aab4 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x21fcc6[_0x51aab4]!=null)_0xb3bfa1[_0x51aab4]=_0x21fcc6[_0x51aab4];}const _0x1d6680=buildCanonicalProjectConfig(_0xb3bfa1,{'appCodes':_0x140191?[_0x140191]:[],'env':_0x329c77||_0x3b97e1||'production','metadata':{'createdAt':new Date()[_0x14f874(0x17a)](),'version':getCliVersion()}});writeConfigFile(_0x14704e,_0x1d6680);}function a143_0x5e21(){const _0x19c4ec=['145292ixiPjr','belowMinimum','W_OK','bun','log','3172500FUjjpe','\x20\x20√\x20Project\x20template\x20created','ignore','trim','description','14959089OjHJTy','length','readFile','join','1503936aVxqDX','test','Project\x20name\x20contains\x20invalid\x20characters.','cwd','name','3449212eJchEK','4484721NVxNFg','Cannot\x20create\x20project\x20in\x20current\x20directory.','writeFile','env','132buuQpU','chdir','parse','\x0a\x20\x20cd\x20','string','bun\x20--version','toLocaleString','production','dirname','*\x20Creating\x20project\x20','\x0a√\x20Project\x20','...','npm','Project\x20name\x20cannot\x20be\x20empty.','needsUpgrade','utf-8','\x20api\x20pull`\x20manually\x20later.','\x20model(s)','validation','\x20created\x20successfully!','constants','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','30885500vWvZgp','access','resolve','stringify','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20√\x20Configuration\x20file\x20created','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','8ULSbIN','Check\x20directory\x20permissions.','\x20dataset(s),\x20generated\x20','2wnumDy'];a143_0x5e21=function(){return _0x19c4ec;};return a143_0x5e21();}async function pullApiConfig(_0x161a45,_0x114558,_0x2c67ac,_0x58ad53){const _0x197d3a=a143_0x50ae,_0x2f6f23=process[_0x197d3a(0x16d)]();try{process[_0x197d3a(0x175)](_0x161a45);const _0x2a3dc5=_0x2c67ac||_0x197d3a(0x17b);initEnv(_0x2a3dc5),console[_0x197d3a(0x199)]('\x20\x20Pulling\x20API\x20configuration...');const {configArray:_0x2a6aae}=await fetchModelList(_0x114558,_0x58ad53||''),_0x1dcfe0=await generateApiFile(_0x2a6aae,'',_0x114558,!![],_0x2a3dc5,DEFAULT_API_DIR);console[_0x197d3a(0x199)]('\x20\x20√\x20Pulled\x20'+_0x2a6aae[_0x197d3a(0x1a0)]+_0x197d3a(0x193)+_0x1dcfe0['modelCount']+_0x197d3a(0x185));}catch(_0x2a5b47){console[_0x197d3a(0x199)](_0x197d3a(0x190)+CLI_BIN_NAME+_0x197d3a(0x184));}finally{process[_0x197d3a(0x175)](_0x2f6f23);}}
@@ -1 +1 @@
1
- const a144_0x56a98f=a144_0x3633;(function(_0x2ea429,_0x5736b7){const _0x52d2c5=a144_0x3633,_0x22af3d=_0x2ea429();while(!![]){try{const _0x2efa84=-parseInt(_0x52d2c5(0x1c8))/0x1+-parseInt(_0x52d2c5(0x1c9))/0x2*(-parseInt(_0x52d2c5(0x1cd))/0x3)+parseInt(_0x52d2c5(0x1d0))/0x4*(-parseInt(_0x52d2c5(0x1c6))/0x5)+-parseInt(_0x52d2c5(0x1cc))/0x6*(-parseInt(_0x52d2c5(0x1d3))/0x7)+-parseInt(_0x52d2c5(0x1ca))/0x8*(-parseInt(_0x52d2c5(0x1d2))/0x9)+-parseInt(_0x52d2c5(0x1cf))/0xa+parseInt(_0x52d2c5(0x1d4))/0xb;if(_0x2efa84===_0x5736b7)break;else _0x22af3d['push'](_0x22af3d['shift']());}catch(_0x116a20){_0x22af3d['push'](_0x22af3d['shift']());}}}(a144_0x50b0,0xe0ee8));function a144_0x3633(_0x1fbd9c,_0x236e3e){_0x1fbd9c=_0x1fbd9c-0x1c6;const _0x50b038=a144_0x50b0();let _0x3633a0=_0x50b038[_0x1fbd9c];return _0x3633a0;}import a144_0x388cdf from'node:path';import{fileURLToPath}from'node:url';const __dirname=a144_0x388cdf[a144_0x56a98f(0x1c7)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x4faea5=a144_0x56a98f;return a144_0x388cdf[_0x4faea5(0x1d1)](__dirname,_0x4faea5(0x1ce));}export function getSubAppReactDemoTemplateDir(){const _0x42affc=a144_0x56a98f;return a144_0x388cdf['join'](getRabetbaseCliPackageRoot(),'templates',_0x42affc(0x1cb),'sub-app-react-demo');}function a144_0x50b0(){const _0x5465ae=['27378439DYKyDo','71125aXghwX','dirname','165617sYoXTY','46fXzttq','351280VmuznZ','projects','12oZIWiS','32217ceWuVU','../../../../','13549980rXCFcL','140JEWrcI','resolve','27rmrSHe','252469XGMlJN'];a144_0x50b0=function(){return _0x5465ae;};return a144_0x50b0();}
1
+ const a144_0x1df777=a144_0x377c;(function(_0x2eaebf,_0x513dfc){const _0x2326d9=a144_0x377c,_0x4513a9=_0x2eaebf();while(!![]){try{const _0x1c1f88=parseInt(_0x2326d9(0x14c))/0x1+parseInt(_0x2326d9(0x156))/0x2+parseInt(_0x2326d9(0x159))/0x3*(parseInt(_0x2326d9(0x14d))/0x4)+-parseInt(_0x2326d9(0x155))/0x5*(parseInt(_0x2326d9(0x157))/0x6)+-parseInt(_0x2326d9(0x153))/0x7+-parseInt(_0x2326d9(0x158))/0x8+-parseInt(_0x2326d9(0x150))/0x9;if(_0x1c1f88===_0x513dfc)break;else _0x4513a9['push'](_0x4513a9['shift']());}catch(_0x29d225){_0x4513a9['push'](_0x4513a9['shift']());}}}(a144_0x4c55,0xefede));import a144_0x1738a9 from'node:path';import{fileURLToPath}from'node:url';function a144_0x377c(_0x4a23ad,_0x338624){_0x4a23ad=_0x4a23ad-0x14c;const _0x4c5567=a144_0x4c55();let _0x377caa=_0x4c5567[_0x4a23ad];return _0x377caa;}const __dirname=a144_0x1738a9[a144_0x1df777(0x151)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x29a40b=a144_0x1df777;return a144_0x1738a9[_0x29a40b(0x152)](__dirname,'../../../../');}export function getSubAppReactDemoTemplateDir(){const _0x419af6=a144_0x1df777;return a144_0x1738a9[_0x419af6(0x14f)](getRabetbaseCliPackageRoot(),_0x419af6(0x154),_0x419af6(0x14e),'sub-app-react-demo');}function a144_0x4c55(){const _0x448045=['1680211xrXRvP','3870340PpCJSZ','projects','join','1483974WmGVhD','dirname','resolve','8770223ZtjGaG','templates','58345scFTwI','1834678ZGMNBj','534TPiKDa','8749232inbaja','6bSLdAc'];a144_0x4c55=function(){return _0x448045;};return a144_0x4c55();}
@@ -1 +1 @@
1
- (function(_0x12d969,_0x42a2b8){const _0x5b2d6a=a145_0x1d27,_0x2ab504=_0x12d969();while(!![]){try{const _0x4f4710=parseInt(_0x5b2d6a(0x12f))/0x1*(parseInt(_0x5b2d6a(0x12e))/0x2)+-parseInt(_0x5b2d6a(0x130))/0x3+-parseInt(_0x5b2d6a(0x12d))/0x4*(-parseInt(_0x5b2d6a(0x124))/0x5)+-parseInt(_0x5b2d6a(0x135))/0x6+-parseInt(_0x5b2d6a(0x129))/0x7*(-parseInt(_0x5b2d6a(0x12b))/0x8)+parseInt(_0x5b2d6a(0x132))/0x9+parseInt(_0x5b2d6a(0x128))/0xa*(-parseInt(_0x5b2d6a(0x125))/0xb);if(_0x4f4710===_0x42a2b8)break;else _0x2ab504['push'](_0x2ab504['shift']());}catch(_0x1f67ca){_0x2ab504['push'](_0x2ab504['shift']());}}}(a145_0x5d7e,0xae744));import a145_0x553525 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a145_0x1d27(_0x1be448,_0x3f17e0){_0x1be448=_0x1be448-0x123;const _0x5d7ed9=a145_0x5d7e();let _0x1d271e=_0x5d7ed9[_0x1be448];return _0x1d271e;}function a145_0x5d7e(){const _0x3c8977=['6587BuEQnP','项目模板复制完成','11224vVmgcq','copy','3276332zWcQja','754NlHKqJ','2811KOZwDP','2599155cikLEg','success','7727121BOwHkz','开始复制项目模板','info','6473634zwZftH','resolve','cwd','5KhUjkF','22lQWWLv','now','error','6988670XtMZAu'];a145_0x5d7e=function(){return _0x3c8977;};return a145_0x5d7e();}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x4ca49b){const _0x18179b=a145_0x1d27,_0x3daef9=Date['now'](),_0x1d632e=a145_0x553525[_0x18179b(0x136)](process[_0x18179b(0x123)](),_0x4ca49b);try{logger[_0x18179b(0x134)](_0x18179b(0x12c),_0x18179b(0x133),{'projectCode':_0x4ca49b,'templateDir':templateDir}),await copyDirectory(templateDir,_0x1d632e);const _0x5de33d=Date[_0x18179b(0x126)]()-_0x3daef9;logger[_0x18179b(0x131)](_0x18179b(0x12c),_0x18179b(0x12a),_0x5de33d,{'projectCode':_0x4ca49b});}catch(_0x405a36){const _0x329da9=Date[_0x18179b(0x126)]()-_0x3daef9;logger[_0x18179b(0x127)]('copy','项目模板复制失败',{'projectCode':_0x4ca49b,'error':_0x405a36 instanceof Error?_0x405a36['message']:String(_0x405a36),'duration':_0x329da9});throw _0x405a36;}return formatElapsed(_0x3daef9);}
1
+ function a145_0x2e16(){const _0x2b229f=['resolve','6619628ZpAaqs','项目模板复制失败','95SVDpNM','9550541cocQVn','2976408ksVoJZ','now','299406roMPcp','3473502isfRsK','604Dxagjy','info','3610QaUAdg','项目模板复制完成','开始复制项目模板','cwd','copy','error','success','9710872TFbCgK','message'];a145_0x2e16=function(){return _0x2b229f;};return a145_0x2e16();}(function(_0x3e93f6,_0x592ed8){const _0x486214=a145_0x59b7,_0x231f15=_0x3e93f6();while(!![]){try{const _0x5d9a09=parseInt(_0x486214(0xcc))/0x1*(-parseInt(_0x486214(0xce))/0x2)+-parseInt(_0x486214(0xdf))/0x3+parseInt(_0x486214(0xd8))/0x4+-parseInt(_0x486214(0xda))/0x5*(-parseInt(_0x486214(0xde))/0x6)+parseInt(_0x486214(0xdb))/0x7+-parseInt(_0x486214(0xd5))/0x8+parseInt(_0x486214(0xdc))/0x9;if(_0x5d9a09===_0x592ed8)break;else _0x231f15['push'](_0x231f15['shift']());}catch(_0x11b71d){_0x231f15['push'](_0x231f15['shift']());}}}(a145_0x2e16,0xcc25c));function a145_0x59b7(_0xb37204,_0x146a14){_0xb37204=_0xb37204-0xcc;const _0x2e1648=a145_0x2e16();let _0x59b79e=_0x2e1648[_0xb37204];return _0x59b79e;}import a145_0xb5d6c1 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x33bd7e){const _0x7c9dba=a145_0x59b7,_0x31f830=Date['now'](),_0x4424b3=a145_0xb5d6c1[_0x7c9dba(0xd7)](process[_0x7c9dba(0xd1)](),_0x33bd7e);try{logger[_0x7c9dba(0xcd)](_0x7c9dba(0xd2),_0x7c9dba(0xd0),{'projectCode':_0x33bd7e,'templateDir':templateDir}),await copyDirectory(templateDir,_0x4424b3);const _0x211bdd=Date['now']()-_0x31f830;logger[_0x7c9dba(0xd4)](_0x7c9dba(0xd2),_0x7c9dba(0xcf),_0x211bdd,{'projectCode':_0x33bd7e});}catch(_0x6ae567){const _0x4e613a=Date[_0x7c9dba(0xdd)]()-_0x31f830;logger[_0x7c9dba(0xd3)]('copy',_0x7c9dba(0xd9),{'projectCode':_0x33bd7e,'error':_0x6ae567 instanceof Error?_0x6ae567[_0x7c9dba(0xd6)]:String(_0x6ae567),'duration':_0x4e613a});throw _0x6ae567;}return formatElapsed(_0x31f830);}
@@ -1 +1 @@
1
- function a146_0x540c(_0x5817bf,_0x68d865){_0x5817bf=_0x5817bf-0xc6;const _0x5c20c6=a146_0x5c20();let _0x540c90=_0x5c20c6[_0x5817bf];return _0x540c90;}(function(_0x552ecd,_0x1aec39){const _0x93248d=a146_0x540c,_0x43f160=_0x552ecd();while(!![]){try{const _0x292608=-parseInt(_0x93248d(0xc8))/0x1*(parseInt(_0x93248d(0xcc))/0x2)+-parseInt(_0x93248d(0xc6))/0x3+-parseInt(_0x93248d(0xca))/0x4*(parseInt(_0x93248d(0xd7))/0x5)+parseInt(_0x93248d(0xcb))/0x6+parseInt(_0x93248d(0xd2))/0x7*(parseInt(_0x93248d(0xd5))/0x8)+-parseInt(_0x93248d(0xc9))/0x9*(-parseInt(_0x93248d(0xda))/0xa)+parseInt(_0x93248d(0xd1))/0xb;if(_0x292608===_0x1aec39)break;else _0x43f160['push'](_0x43f160['shift']());}catch(_0x6dab3){_0x43f160['push'](_0x43f160['shift']());}}}(a146_0x5c20,0xa14fd));import a146_0x4ec831 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a146_0x5c20(){const _0x5acb79=['success','代码格式化失败','now','9641357QAusAv','54299ubeTwJ','npx','error','104HVTsta','开始格式化代码','5xZWRuP','cwd','message','30uFIhfF','代码格式化完成','3100581tMONgO','format','31107GWUnJa','3640122OsCwAs','2365148jWXZAx','1128996gBRaRq','6oymHDv','resolve'];a146_0x5c20=function(){return _0x5acb79;};return a146_0x5c20();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x2b17da){const _0x5b886d=a146_0x540c,_0x5d9c6b=Date[_0x5b886d(0xd0)](),_0x2d47e7=a146_0x4ec831[_0x5b886d(0xcd)](process[_0x5b886d(0xd8)](),_0x2b17da);try{logger['info']('format',_0x5b886d(0xd6),{'projectCode':_0x2b17da}),await execa(resolveNpmBin(_0x5b886d(0xd3)),['prettier','--write','.'],{'cwd':_0x2d47e7});const _0x58ddbf=Date[_0x5b886d(0xd0)]()-_0x5d9c6b;logger[_0x5b886d(0xce)](_0x5b886d(0xc7),_0x5b886d(0xdb),_0x58ddbf,{'projectCode':_0x2b17da});}catch(_0x1dcced){const _0x38d43c=Date[_0x5b886d(0xd0)]()-_0x5d9c6b;logger[_0x5b886d(0xd4)](_0x5b886d(0xc7),_0x5b886d(0xcf),{'projectCode':_0x2b17da,'error':_0x1dcced instanceof Error?_0x1dcced[_0x5b886d(0xd9)]:String(_0x1dcced),'duration':_0x38d43c});throw _0x1dcced;}return formatElapsed(_0x5d9c6b);}
1
+ (function(_0x1bc51b,_0x3092d8){const _0x10fb36=a146_0x2ef3,_0x56f1cd=_0x1bc51b();while(!![]){try{const _0x37aad4=parseInt(_0x10fb36(0x92))/0x1*(-parseInt(_0x10fb36(0x90))/0x2)+parseInt(_0x10fb36(0x9c))/0x3*(parseInt(_0x10fb36(0x9a))/0x4)+parseInt(_0x10fb36(0x89))/0x5+-parseInt(_0x10fb36(0x91))/0x6+parseInt(_0x10fb36(0x93))/0x7*(parseInt(_0x10fb36(0x8d))/0x8)+-parseInt(_0x10fb36(0x8e))/0x9+parseInt(_0x10fb36(0x96))/0xa;if(_0x37aad4===_0x3092d8)break;else _0x56f1cd['push'](_0x56f1cd['shift']());}catch(_0x2dc385){_0x56f1cd['push'](_0x56f1cd['shift']());}}}(a146_0x5dd8,0xcf76f));function a146_0x5dd8(){const _0x1d4716=['error','format','4491570sKmadX','success','cwd','prettier','820waGVUm','message','19533bJyNBS','代码格式化完成','now','5419910qSpgMG','info','代码格式化失败','npx','138752rkdeJe','5058513sGUHpH','--write','6boChcS','3916806KTExEU','290879BeoXCf','28UnPvgx'];a146_0x5dd8=function(){return _0x1d4716;};return a146_0x5dd8();}import a146_0x107688 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a146_0x2ef3(_0x4bb88f,_0x1d564b){_0x4bb88f=_0x4bb88f-0x88;const _0x5dd8cd=a146_0x5dd8();let _0x2ef39e=_0x5dd8cd[_0x4bb88f];return _0x2ef39e;}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x5e45b7){const _0xd7cc14=a146_0x2ef3,_0x2631ed=Date[_0xd7cc14(0x88)](),_0x77fc36=a146_0x107688['resolve'](process[_0xd7cc14(0x98)](),_0x5e45b7);try{logger[_0xd7cc14(0x8a)](_0xd7cc14(0x95),'开始格式化代码',{'projectCode':_0x5e45b7}),await execa(resolveNpmBin(_0xd7cc14(0x8c)),[_0xd7cc14(0x99),_0xd7cc14(0x8f),'.'],{'cwd':_0x77fc36});const _0x2a163c=Date[_0xd7cc14(0x88)]()-_0x2631ed;logger[_0xd7cc14(0x97)]('format',_0xd7cc14(0x9d),_0x2a163c,{'projectCode':_0x5e45b7});}catch(_0x43fd03){const _0x5be9a8=Date[_0xd7cc14(0x88)]()-_0x2631ed;logger[_0xd7cc14(0x94)](_0xd7cc14(0x95),_0xd7cc14(0x8b),{'projectCode':_0x5e45b7,'error':_0x43fd03 instanceof Error?_0x43fd03[_0xd7cc14(0x9b)]:String(_0x43fd03),'duration':_0x5be9a8});throw _0x43fd03;}return formatElapsed(_0x2631ed);}
@@ -1 +1 @@
1
- (function(_0x570e54,_0x2fd474){const _0x5db526=a147_0x255e,_0x122b72=_0x570e54();while(!![]){try{const _0x56805c=-parseInt(_0x5db526(0x9b))/0x1+parseInt(_0x5db526(0x9e))/0x2+parseInt(_0x5db526(0x95))/0x3*(parseInt(_0x5db526(0xa2))/0x4)+parseInt(_0x5db526(0x93))/0x5+-parseInt(_0x5db526(0x9d))/0x6*(parseInt(_0x5db526(0x9c))/0x7)+parseInt(_0x5db526(0x92))/0x8+parseInt(_0x5db526(0x8f))/0x9*(-parseInt(_0x5db526(0x90))/0xa);if(_0x56805c===_0x2fd474)break;else _0x122b72['push'](_0x122b72['shift']());}catch(_0x3af18e){_0x122b72['push'](_0x122b72['shift']());}}}(a147_0x282a,0x510ad));import a147_0x5a618d from'node:path';import{execa}from'execa';function a147_0x255e(_0x51fd2d,_0x1a71a8){_0x51fd2d=_0x51fd2d-0x8f;const _0x282a22=a147_0x282a();let _0x255e5d=_0x282a22[_0x51fd2d];return _0x255e5d;}function a147_0x282a(){const _0x570285=['error','success','664NcTELF','6336KWdlPf','2200INjFZE','npm','3084368GDGoAj','1973090gxIkmz','install','1839WEKxSU','info','依赖安装失败','--registry','依赖安装完成','now','82123enoQLs','1862ykgsqB','8862anPtdC','159824WFzvIU','https://registry.npmmirror.com'];a147_0x282a=function(){return _0x570285;};return a147_0x282a();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x455c9f){const _0x153b23=a147_0x255e,_0x40fc2f=Date[_0x153b23(0x9a)](),_0x20aac8=a147_0x5a618d['resolve'](process['cwd'](),_0x455c9f);try{logger[_0x153b23(0x96)](_0x153b23(0x94),'开始安装依赖',{'projectCode':_0x455c9f,'registry':_0x153b23(0x9f)}),await execa(resolveNpmBin(_0x153b23(0x91)),[_0x153b23(0x94),_0x153b23(0x98),_0x153b23(0x9f)],{'cwd':_0x20aac8});const _0x466dff=Date['now']()-_0x40fc2f;logger[_0x153b23(0xa1)]('install',_0x153b23(0x99),_0x466dff,{'projectCode':_0x455c9f});}catch(_0x2dc795){const _0x16181b=Date[_0x153b23(0x9a)]()-_0x40fc2f;logger[_0x153b23(0xa0)](_0x153b23(0x94),_0x153b23(0x97),{'projectCode':_0x455c9f,'error':_0x2dc795 instanceof Error?_0x2dc795['message']:String(_0x2dc795),'duration':_0x16181b});throw _0x2dc795;}return formatElapsed(_0x40fc2f);}
1
+ (function(_0x916d8,_0x7fbc0b){const _0x269ac1=a147_0x5ac9,_0x4b8f65=_0x916d8();while(!![]){try{const _0x3de5d3=parseInt(_0x269ac1(0x177))/0x1*(parseInt(_0x269ac1(0x17c))/0x2)+-parseInt(_0x269ac1(0x16b))/0x3+parseInt(_0x269ac1(0x17a))/0x4*(parseInt(_0x269ac1(0x172))/0x5)+parseInt(_0x269ac1(0x178))/0x6+parseInt(_0x269ac1(0x16e))/0x7+parseInt(_0x269ac1(0x179))/0x8+-parseInt(_0x269ac1(0x175))/0x9*(parseInt(_0x269ac1(0x176))/0xa);if(_0x3de5d3===_0x7fbc0b)break;else _0x4b8f65['push'](_0x4b8f65['shift']());}catch(_0x52e819){_0x4b8f65['push'](_0x4b8f65['shift']());}}}(a147_0x440b,0x805a6));function a147_0x5ac9(_0x26936,_0x29dfa8){_0x26936=_0x26936-0x169;const _0x440bfe=a147_0x440b();let _0x5ac9c2=_0x440bfe[_0x26936];return _0x5ac9c2;}import a147_0x214c66 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a147_0x440b(){const _0x46acfa=['934418cuzonK','success','info','error','1889346snNzvH','npm','https://registry.npmmirror.com','2206001ZQIjVT','依赖安装失败','--registry','install','5ZSCzuY','resolve','依赖安装完成','23769xpHlBN','7630dpfiCn','2mcAuoR','5790072tOBisz','7014552KGcEUQ','316828QybIdA','now'];a147_0x440b=function(){return _0x46acfa;};return a147_0x440b();}import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0xea223){const _0x5c0478=a147_0x5ac9,_0x4c9902=Date[_0x5c0478(0x17b)](),_0x3fb3bc=a147_0x214c66[_0x5c0478(0x173)](process['cwd'](),_0xea223);try{logger[_0x5c0478(0x169)]('install','开始安装依赖',{'projectCode':_0xea223,'registry':_0x5c0478(0x16d)}),await execa(resolveNpmBin(_0x5c0478(0x16c)),['install',_0x5c0478(0x170),_0x5c0478(0x16d)],{'cwd':_0x3fb3bc});const _0x3875a3=Date[_0x5c0478(0x17b)]()-_0x4c9902;logger[_0x5c0478(0x17d)](_0x5c0478(0x171),_0x5c0478(0x174),_0x3875a3,{'projectCode':_0xea223});}catch(_0xdee6c3){const _0x421f49=Date[_0x5c0478(0x17b)]()-_0x4c9902;logger[_0x5c0478(0x16a)](_0x5c0478(0x171),_0x5c0478(0x16f),{'projectCode':_0xea223,'error':_0xdee6c3 instanceof Error?_0xdee6c3['message']:String(_0xdee6c3),'duration':_0x421f49});throw _0xdee6c3;}return formatElapsed(_0x4c9902);}
@@ -1 +1 @@
1
- function a148_0x49d1(_0x51d3db,_0x531be3){_0x51d3db=_0x51d3db-0x114;const _0x21b040=a148_0x21b0();let _0x49d1ed=_0x21b040[_0x51d3db];return _0x49d1ed;}const a148_0x2c693d=a148_0x49d1;(function(_0x49a415,_0x5872b5){const _0x1d9f03=a148_0x49d1,_0x39f5ea=_0x49a415();while(!![]){try{const _0x41ac1e=-parseInt(_0x1d9f03(0x116))/0x1*(parseInt(_0x1d9f03(0x13b))/0x2)+-parseInt(_0x1d9f03(0x129))/0x3+parseInt(_0x1d9f03(0x12a))/0x4*(parseInt(_0x1d9f03(0x11e))/0x5)+parseInt(_0x1d9f03(0x125))/0x6*(parseInt(_0x1d9f03(0x123))/0x7)+parseInt(_0x1d9f03(0x127))/0x8+-parseInt(_0x1d9f03(0x136))/0x9+parseInt(_0x1d9f03(0x138))/0xa*(parseInt(_0x1d9f03(0x135))/0xb);if(_0x41ac1e===_0x5872b5)break;else _0x39f5ea['push'](_0x39f5ea['shift']());}catch(_0x16433e){_0x39f5ea['push'](_0x39f5ea['shift']());}}}(a148_0x21b0,0xbba1e));import{CliErrors}from'../../errors.js';function a148_0x21b0(){const _0x3c6d7a=['string','Target\x20environment','Usage:\x20','bool','write','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','str','boolean','App\x20code\x20to\x20initialize','name','22sauSJd','4760883SviAbi','Skip\x20confirmation\x20prompt','2661690EVDqYk','\x20workspace\x20init','create','194Gtfnne','../../commands/project/create/main.js','Auto-confirm\x20prompts','nonInteractive','yes','11098nyUyVM','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','validation','../../commands/project/create/non-interactive.js','Create\x20a\x20new\x20project','cookie','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','2026-07','45rhcHIl','trim','env','init','appcode','10066wUSLwO','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','5046JCpVBf','project','468112GzpsMx','upgrade','2363112mMcHyi','605124DngBPU'];a148_0x21b0=function(){return _0x3c6d7a;};return a148_0x21b0();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':'appcode','type':a148_0x2c693d(0x12b),'description':a148_0x2c693d(0x133)},{'name':a148_0x2c693d(0x120),'type':a148_0x2c693d(0x12b),'description':'Target\x20environment'},{'name':a148_0x2c693d(0x115),'type':a148_0x2c693d(0x132),'description':a148_0x2c693d(0x13d),'default':![]}],createFlags=[{'name':a148_0x2c693d(0x134),'type':'string','description':'Project\x20name'},{'name':a148_0x2c693d(0x120),'type':a148_0x2c693d(0x12b),'description':a148_0x2c693d(0x12c)},{'name':a148_0x2c693d(0x122),'type':a148_0x2c693d(0x12b),'description':a148_0x2c693d(0x11c)}],upgradeFlags=[{'name':a148_0x2c693d(0x115),'type':a148_0x2c693d(0x132),'description':a148_0x2c693d(0x137),'default':![]}];export const projectDefinitions=[{'service':a148_0x2c693d(0x126),'command':a148_0x2c693d(0x121),'description':a148_0x2c693d(0x117),'risk':a148_0x2c693d(0x12f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a148_0x2c693d(0x139),'since':a148_0x2c693d(0x11d)},'flags':initFlags,async 'execute'(_0x1fe6fe){const _0x3efbdb=a148_0x2c693d;return await initConfig({'appcode':_0x1fe6fe['str'](_0x3efbdb(0x122))||undefined,'env':_0x1fe6fe[_0x3efbdb(0x131)](_0x3efbdb(0x120))||undefined,'autoYes':_0x1fe6fe['bool']('yes')}),{'ok':!![]};}},{'service':a148_0x2c693d(0x126),'command':a148_0x2c693d(0x13a),'description':a148_0x2c693d(0x11a),'risk':a148_0x2c693d(0x12f),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a148_0x2c693d(0x124),'required':![]}],'flags':createFlags,async 'execute'(_0x11b6b4){const _0x599533=a148_0x2c693d,{createApp:_0x8c7605}=await import(_0x599533(0x13c)),{createProjectNonInteractive:_0xac330b}=await import(_0x599533(0x119)),_0x562ef6=_0x11b6b4[_0x599533(0x131)](_0x599533(0x134))[_0x599533(0x11f)]()||_0x11b6b4['args'][0x0]?.['trim'](),_0x5480b2=_0x11b6b4[_0x599533(0x131)](_0x599533(0x120))||undefined,_0x519da7=_0x11b6b4[_0x599533(0x131)](_0x599533(0x122))||undefined;if(_0x11b6b4[_0x599533(0x114)]){if(!_0x562ef6)throw CliErrors[_0x599533(0x118)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x599533(0x12d)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0xac330b(_0x562ef6,_0x5480b2,_0x519da7,_0x11b6b4[_0x599533(0x11b)]);}else await _0x8c7605({'projectCode':_0x562ef6,'appCode':_0x519da7,'env':_0x5480b2,'cookie':_0x11b6b4[_0x599533(0x11b)]});return{'ok':!![]};}},{'service':a148_0x2c693d(0x126),'command':a148_0x2c693d(0x128),'description':a148_0x2c693d(0x130),'risk':a148_0x2c693d(0x12f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x2b005f){const _0x296788=a148_0x2c693d;return await upgradeApp(_0x2b005f[_0x296788(0x114)],{'yes':_0x2b005f[_0x296788(0x12e)](_0x296788(0x115))}),{'ok':!![]};}}];
1
+ const a148_0x1b0f99=a148_0xdc09;function a148_0xdc09(_0x4cfa5e,_0x15c02c){_0x4cfa5e=_0x4cfa5e-0x1bd;const _0x41e542=a148_0x41e5();let _0xdc0987=_0x41e542[_0x4cfa5e];return _0xdc0987;}(function(_0x122336,_0x3d32cf){const _0x2592eb=a148_0xdc09,_0x1d9f18=_0x122336();while(!![]){try{const _0xced757=-parseInt(_0x2592eb(0x1d6))/0x1*(parseInt(_0x2592eb(0x1d0))/0x2)+parseInt(_0x2592eb(0x1d1))/0x3*(parseInt(_0x2592eb(0x1e7))/0x4)+-parseInt(_0x2592eb(0x1d4))/0x5*(parseInt(_0x2592eb(0x1cc))/0x6)+-parseInt(_0x2592eb(0x1c5))/0x7*(-parseInt(_0x2592eb(0x1c7))/0x8)+-parseInt(_0x2592eb(0x1bf))/0x9+-parseInt(_0x2592eb(0x1dd))/0xa*(parseInt(_0x2592eb(0x1be))/0xb)+parseInt(_0x2592eb(0x1cb))/0xc;if(_0xced757===_0x3d32cf)break;else _0x1d9f18['push'](_0x1d9f18['shift']());}catch(_0x441a62){_0x1d9f18['push'](_0x1d9f18['shift']());}}}(a148_0x41e5,0xbd2df));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a148_0x41e5(){const _0x2df81f=['Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','1MUDHph','bool','string','upgrade','Target\x20environment','\x20workspace\x20init','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','10zAAxrK','yes','name','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','boolean','Skip\x20confirmation\x20prompt','appcode','2026-07','Usage:\x20','create','73264woeNaw','nonInteractive','cookie','../../commands/project/create/non-interactive.js','9035246dzuLwP','9382131PqBPlq','Create\x20a\x20new\x20project','Auto-confirm\x20prompts','str','project','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','590534XnesIF','trim','8zoMHgT','Project\x20name','../../commands/project/create/main.js','env','40206876gOAxVX','6AouDIK','App\x20code\x20to\x20initialize','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','project-name','146386KzQIWp','6dhvGqw','args','write','3798250gprVen'];a148_0x41e5=function(){return _0x2df81f;};return a148_0x41e5();}import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a148_0x1b0f99(0x1e3),'type':a148_0x1b0f99(0x1d8),'description':a148_0x1b0f99(0x1cd)},{'name':a148_0x1b0f99(0x1ca),'type':a148_0x1b0f99(0x1d8),'description':a148_0x1b0f99(0x1da)},{'name':a148_0x1b0f99(0x1de),'type':a148_0x1b0f99(0x1e1),'description':a148_0x1b0f99(0x1c1),'default':![]}],createFlags=[{'name':a148_0x1b0f99(0x1df),'type':a148_0x1b0f99(0x1d8),'description':a148_0x1b0f99(0x1c8)},{'name':a148_0x1b0f99(0x1ca),'type':'string','description':a148_0x1b0f99(0x1da)},{'name':a148_0x1b0f99(0x1e3),'type':'string','description':a148_0x1b0f99(0x1c4)}],upgradeFlags=[{'name':a148_0x1b0f99(0x1de),'type':'boolean','description':a148_0x1b0f99(0x1e2),'default':![]}];export const projectDefinitions=[{'service':a148_0x1b0f99(0x1c3),'command':'init','description':a148_0x1b0f99(0x1e0),'risk':a148_0x1b0f99(0x1d3),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a148_0x1b0f99(0x1db),'since':a148_0x1b0f99(0x1e4)},'flags':initFlags,async 'execute'(_0x5d3a86){const _0xddb8a=a148_0x1b0f99;return await initConfig({'appcode':_0x5d3a86[_0xddb8a(0x1c2)]('appcode')||undefined,'env':_0x5d3a86[_0xddb8a(0x1c2)](_0xddb8a(0x1ca))||undefined,'autoYes':_0x5d3a86[_0xddb8a(0x1d7)](_0xddb8a(0x1de))}),{'ok':!![]};}},{'service':a148_0x1b0f99(0x1c3),'command':a148_0x1b0f99(0x1e6),'description':a148_0x1b0f99(0x1c0),'risk':a148_0x1b0f99(0x1d3),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a148_0x1b0f99(0x1cf),'description':a148_0x1b0f99(0x1ce),'required':![]}],'flags':createFlags,async 'execute'(_0x29b0e9){const _0x351385=a148_0x1b0f99,{createApp:_0x219202}=await import(_0x351385(0x1c9)),{createProjectNonInteractive:_0x381b76}=await import(_0x351385(0x1bd)),_0x523119=_0x29b0e9['str']('name')[_0x351385(0x1c6)]()||_0x29b0e9[_0x351385(0x1d2)][0x0]?.['trim'](),_0x16030f=_0x29b0e9[_0x351385(0x1c2)](_0x351385(0x1ca))||undefined,_0x4fab7d=_0x29b0e9['str'](_0x351385(0x1e3))||undefined;if(_0x29b0e9[_0x351385(0x1e8)]){if(!_0x523119)throw CliErrors['validation'](_0x351385(0x1d5),_0x351385(0x1e5)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x381b76(_0x523119,_0x16030f,_0x4fab7d,_0x29b0e9[_0x351385(0x1e9)]);}else await _0x219202({'projectCode':_0x523119,'appCode':_0x4fab7d,'env':_0x16030f,'cookie':_0x29b0e9[_0x351385(0x1e9)]});return{'ok':!![]};}},{'service':a148_0x1b0f99(0x1c3),'command':a148_0x1b0f99(0x1d9),'description':a148_0x1b0f99(0x1dc),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x57457c){const _0x577ec3=a148_0x1b0f99;return await upgradeApp(_0x57457c[_0x577ec3(0x1e8)],{'yes':_0x57457c[_0x577ec3(0x1d7)](_0x577ec3(0x1de))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x174edb,_0x37f19e){const _0x1caac3=a149_0x40ad,_0x5e4822=_0x174edb();while(!![]){try{const _0x4b0137=-parseInt(_0x1caac3(0x1e6))/0x1+parseInt(_0x1caac3(0x1fb))/0x2*(parseInt(_0x1caac3(0x1e5))/0x3)+-parseInt(_0x1caac3(0x1e4))/0x4+-parseInt(_0x1caac3(0x1d0))/0x5+-parseInt(_0x1caac3(0x1ff))/0x6+-parseInt(_0x1caac3(0x1f8))/0x7+parseInt(_0x1caac3(0x1eb))/0x8;if(_0x4b0137===_0x37f19e)break;else _0x5e4822['push'](_0x5e4822['shift']());}catch(_0x1c23fb){_0x5e4822['push'](_0x5e4822['shift']());}}}(a149_0x139e,0x669ce));import{readFileSync,existsSync,renameSync}from'node:fs';function a149_0x40ad(_0x45c412,_0x3e5fc2){_0x45c412=_0x45c412-0x1cc;const _0x139e5a=a149_0x139e();let _0x40ada5=_0x139e5a[_0x45c412];return _0x40ada5;}import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a149_0x3221ad 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(_0x29fa93){const _0x38fab0=a149_0x40ad,{appcode:_0x14e2fd,env:_0x3ca848,autoYes:_0x5902c7}=_0x29fa93,_0x374102=process[_0x38fab0(0x1ea)]();if(getProjectConfigPath())throw new Error(_0x38fab0(0x1e2));let _0x23330d;for(const _0x4686db of LEGACY_CONFIG_NAMES){const _0x33f44e=resolve(_0x374102,_0x4686db);if(existsSync(_0x33f44e)){_0x23330d=_0x33f44e;break;}}if(_0x23330d){let _0x56a6a0={};try{_0x56a6a0=JSON[_0x38fab0(0x1f0)](readFileSync(_0x23330d,_0x38fab0(0x1dc)));}catch{}const _0x332f35=basename(_0x23330d),_0x50124f=_0x56a6a0?.[_0x38fab0(0x1d2)]||_0x56a6a0?.['app'];let _0x5966f7=_0x5902c7;!_0x5902c7&&(console[_0x38fab0(0x1d6)](a149_0x3221ad[_0x38fab0(0x1cc)](_0x38fab0(0x1f2)+a149_0x3221ad[_0x38fab0(0x1e3)](_0x332f35))),_0x50124f&&console[_0x38fab0(0x1d6)](a149_0x3221ad['cyan'](_0x38fab0(0x1da)+_0x50124f)),_0x5966f7=await confirm({'message':_0x38fab0(0x1e1)+a149_0x3221ad['bold'](_0x38fab0(0x1d9))+_0x38fab0(0x1e0),'default':!![]}));if(!_0x5966f7){console[_0x38fab0(0x1d6)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x38fab0(0x1ed));return;}const _0xbc3c41=resolve(_0x374102,NEW_CONFIG_NAME),_0x114ee5=getCliVersionFromPkg(),_0x48fcba=readRawConfig(),_0xe3a535=_0x14e2fd||(typeof _0x56a6a0?.[_0x38fab0(0x1d2)]==='string'?_0x56a6a0[_0x38fab0(0x1d2)]:undefined)||(typeof _0x56a6a0?.[_0x38fab0(0x1f3)]===_0x38fab0(0x1f5)?_0x56a6a0[_0x38fab0(0x1f3)]:undefined)||await askAppcode(),_0x515125=typeof _0x56a6a0?.[_0x38fab0(0x1d1)]===_0x38fab0(0x1f5)?_0x56a6a0[_0x38fab0(0x1d1)]:typeof _0x48fcba[_0x38fab0(0x1d1)]==='string'?_0x48fcba[_0x38fab0(0x1d1)]:_0x38fab0(0x1f7),_0x425eb9=buildCanonicalProjectConfig({..._0x48fcba,..._0x56a6a0},{'appCodes':[_0xe3a535],'env':_0x515125,'metadata':{'version':_0x114ee5,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x23330d}});writeConfigFile(_0xbc3c41,_0x425eb9);const _0x3a8c39=_0x23330d+_0x38fab0(0x1ef);renameSync(_0x23330d,_0x3a8c39),logger[_0x38fab0(0x1f6)](_0x374102),logger[_0x38fab0(0x1db)](_0x38fab0(0x1f4),_0x38fab0(0x1d3),{'from':_0x23330d,'to':_0xbc3c41,'appcode':_0xe3a535,'env':_0x425eb9[_0x38fab0(0x1d1)]}),console[_0x38fab0(0x1d6)](a149_0x3221ad['green'](_0x38fab0(0x1fe)+_0x332f35+_0x38fab0(0x1ee))),console[_0x38fab0(0x1d6)](a149_0x3221ad[_0x38fab0(0x1e7)](_0x38fab0(0x1de)+Object[_0x38fab0(0x1fa)](_0x425eb9[_0x38fab0(0x1ce)]||{})[_0x38fab0(0x1df)](',\x20'))),console[_0x38fab0(0x1d6)](a149_0x3221ad[_0x38fab0(0x1e7)](_0x38fab0(0x1e8)+_0x425eb9[_0x38fab0(0x1d4)])),console[_0x38fab0(0x1d6)](a149_0x3221ad[_0x38fab0(0x1e9)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x332f35+_0x38fab0(0x1ef)));return;}const _0x2feec6=_0x14e2fd||await askAppcode(),_0x282206=resolve(_0x374102,NEW_CONFIG_NAME),_0xaf5429=getCliVersionFromPkg(),_0x228156=readRawConfig(),_0x1ad646=typeof _0x228156[_0x38fab0(0x1d1)]===_0x38fab0(0x1f5)?_0x228156[_0x38fab0(0x1d1)]:undefined,_0x10c37e=buildCanonicalProjectConfig({},{'appCodes':[_0x2feec6],'env':_0x3ca848||_0x1ad646||'production','metadata':{'version':_0xaf5429,'createdAt':new Date()[_0x38fab0(0x1fc)]()}});writeConfigFile(_0x282206,_0x10c37e),logger[_0x38fab0(0x1f6)](_0x374102),logger[_0x38fab0(0x1db)](_0x38fab0(0x1f4),_0x38fab0(0x1d5),{'appcode':_0x2feec6,'env':_0x10c37e[_0x38fab0(0x1d1)],'version':_0x10c37e[_0x38fab0(0x201)],'configPath':_0x282206}),console[_0x38fab0(0x1d6)](a149_0x3221ad[_0x38fab0(0x1f1)](_0x38fab0(0x200))),console['log'](a149_0x3221ad[_0x38fab0(0x1e7)](_0x38fab0(0x1de)+Object[_0x38fab0(0x1fa)](_0x10c37e[_0x38fab0(0x1ce)]||{})[_0x38fab0(0x1df)](',\x20'))),console['log'](a149_0x3221ad[_0x38fab0(0x1e7)](_0x38fab0(0x1e8)+_0x10c37e[_0x38fab0(0x1d4)])),console[_0x38fab0(0x1d6)](_0x38fab0(0x1d7)+CLI_BIN_NAME+_0x38fab0(0x1d8)+CLI_BIN_NAME+_0x38fab0(0x1ec));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0xc69355=>{const _0x3dff9d=a149_0x40ad;if(!_0xc69355['trim']())return _0x3dff9d(0x1cf);const {valid:_0x19e2e7,message:_0x439057}=validateAppcode(_0xc69355['trim']());return _0x19e2e7||_0x439057||_0x3dff9d(0x1f9);}});}function a149_0x139e(){const _0x2d0bc8=['⚠\x20Found\x20legacy\x20configuration\x20file:\x20','app','init','string','setLogPath','production','514199KcRUMX','Invalid\x20App\x20Code','keys','82eioDzr','toLocaleString','package.json','✓\x20Upgraded\x20','3423144UrOTuW','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','version','yellow','../..','apps','App\x20Code\x20cannot\x20be\x20empty','1238200cujRFP','env','appcode','从旧配置文件升级成功','defaultApp','初始化项目配置文件成功','log','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','\x20api\x20generate\x27\x20and\x20\x27','.rabetbase.json','\x20\x20appcode:\x20','info','utf8','1.0.0','\x20\x20Apps:\x20','join','?\x20(Old\x20file\x20→\x20*.bak)','Upgrade\x20it\x20to\x20','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','bold','850936KLhCTF','47238ZYhcDK','433284pNhaTT','cyan','\x20\x20Default:\x20','gray','cwd','10498840SkaBFe','\x20api\x20pull\x27','\x20workspace\x20init`\x20to\x20start\x20fresh.','\x20→\x20.rabetbase.json','.bak','parse','green'];a149_0x139e=function(){return _0x2d0bc8;};return a149_0x139e();}function getCliVersionFromPkg(){const _0x3f6ef4=a149_0x40ad;try{const _0x17cf6d=fileURLToPath(import.meta.url),_0x55a567=resolve(dirname(_0x17cf6d),_0x3f6ef4(0x1cd)),_0x1a41b6=JSON[_0x3f6ef4(0x1f0)](readFileSync(resolve(_0x55a567,_0x3f6ef4(0x1fd)),_0x3f6ef4(0x1dc)));return _0x1a41b6[_0x3f6ef4(0x201)]||_0x3f6ef4(0x1dd);}catch{return _0x3f6ef4(0x1dd);}}
1
+ (function(_0x54cb88,_0x188d88){const _0x50c5ef=a149_0x47af,_0x2270b7=_0x54cb88();while(!![]){try{const _0x4aee65=parseInt(_0x50c5ef(0x19f))/0x1+parseInt(_0x50c5ef(0x18e))/0x2+-parseInt(_0x50c5ef(0x1ac))/0x3*(parseInt(_0x50c5ef(0x19d))/0x4)+parseInt(_0x50c5ef(0x197))/0x5*(parseInt(_0x50c5ef(0x18c))/0x6)+parseInt(_0x50c5ef(0x1a4))/0x7+parseInt(_0x50c5ef(0x19c))/0x8+-parseInt(_0x50c5ef(0x18b))/0x9;if(_0x4aee65===_0x188d88)break;else _0x2270b7['push'](_0x2270b7['shift']());}catch(_0x1499ca){_0x2270b7['push'](_0x2270b7['shift']());}}}(a149_0x6a65,0x8a58d));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a149_0x47af(_0x35ddbb,_0x51bcbd){_0x35ddbb=_0x35ddbb-0x188;const _0x6a65c1=a149_0x6a65();let _0x47af9=_0x6a65c1[_0x35ddbb];return _0x47af9;}function a149_0x6a65(){const _0x290581=['Migration\x20cancelled.\x20Run\x20`','toLocaleString','setLogPath','defaultApp','../..','5PMKWCd','env','\x20\x20Apps:\x20','package.json','cwd','3985944bIOMti','28sFWReS','1.0.0','47638XoIJBT','green','log','string','app','3880373nkqDjM','appcode','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','info','Invalid\x20App\x20Code','cyan','从旧配置文件升级成功','\x20api\x20pull\x27','36255jUdqcz','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','Please\x20enter\x20App\x20Code:','gray','bold','.rabetbase.json','初始化项目配置文件成功','\x20\x20appcode:\x20','✓\x20Upgraded\x20','parse','\x20workspace\x20init`\x20to\x20start\x20fresh.','trim','init','join','version','utf8','10680201FiAnsR','2166414qSHOmd','Upgrade\x20it\x20to\x20','753328lWgPnW','\x20\x20Default:\x20','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory'];a149_0x6a65=function(){return _0x290581;};return a149_0x6a65();}import a149_0x171950 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(_0x3e99be){const _0x49ff83=a149_0x47af,{appcode:_0x4c7fe1,env:_0x3bd896,autoYes:_0xdcb82}=_0x3e99be,_0x5279c6=process[_0x49ff83(0x19b)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x3c7fdc;for(const _0x46d5b9 of LEGACY_CONFIG_NAMES){const _0x538cfa=resolve(_0x5279c6,_0x46d5b9);if(existsSync(_0x538cfa)){_0x3c7fdc=_0x538cfa;break;}}if(_0x3c7fdc){let _0x325d24={};try{_0x325d24=JSON[_0x49ff83(0x1b5)](readFileSync(_0x3c7fdc,'utf8'));}catch{}const _0xe6af92=basename(_0x3c7fdc),_0x5b52b9=_0x325d24?.[_0x49ff83(0x1a5)]||_0x325d24?.[_0x49ff83(0x1a3)];let _0x46ef3b=_0xdcb82;!_0xdcb82&&(console[_0x49ff83(0x1a1)](a149_0x171950['yellow'](_0x49ff83(0x190)+a149_0x171950[_0x49ff83(0x1b0)](_0xe6af92))),_0x5b52b9&&console['log'](a149_0x171950[_0x49ff83(0x1a9)](_0x49ff83(0x1b3)+_0x5b52b9)),_0x46ef3b=await confirm({'message':_0x49ff83(0x18d)+a149_0x171950[_0x49ff83(0x1b0)](_0x49ff83(0x1b1))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x46ef3b){console[_0x49ff83(0x1a1)](_0x49ff83(0x192)+CLI_BIN_NAME+_0x49ff83(0x1b6));return;}const _0x46bed9=resolve(_0x5279c6,NEW_CONFIG_NAME),_0xbcd916=getCliVersionFromPkg(),_0x482abd=readRawConfig(),_0x151fd7=_0x4c7fe1||(typeof _0x325d24?.[_0x49ff83(0x1a5)]===_0x49ff83(0x1a2)?_0x325d24[_0x49ff83(0x1a5)]:undefined)||(typeof _0x325d24?.['app']===_0x49ff83(0x1a2)?_0x325d24[_0x49ff83(0x1a3)]:undefined)||await askAppcode(),_0x95877d=typeof _0x325d24?.[_0x49ff83(0x198)]===_0x49ff83(0x1a2)?_0x325d24[_0x49ff83(0x198)]:typeof _0x482abd['env']===_0x49ff83(0x1a2)?_0x482abd[_0x49ff83(0x198)]:'production',_0x31f672=buildCanonicalProjectConfig({..._0x482abd,..._0x325d24},{'appCodes':[_0x151fd7],'env':_0x95877d,'metadata':{'version':_0xbcd916,'migratedAt':new Date()[_0x49ff83(0x193)](),'migratedFrom':_0x3c7fdc}});writeConfigFile(_0x46bed9,_0x31f672);const _0x3bde98=_0x3c7fdc+'.bak';renameSync(_0x3c7fdc,_0x3bde98),logger['setLogPath'](_0x5279c6),logger[_0x49ff83(0x1a7)](_0x49ff83(0x1b8),_0x49ff83(0x1aa),{'from':_0x3c7fdc,'to':_0x46bed9,'appcode':_0x151fd7,'env':_0x31f672[_0x49ff83(0x198)]}),console[_0x49ff83(0x1a1)](a149_0x171950['green'](_0x49ff83(0x1b4)+_0xe6af92+'\x20→\x20.rabetbase.json')),console[_0x49ff83(0x1a1)](a149_0x171950[_0x49ff83(0x1a9)](_0x49ff83(0x199)+Object['keys'](_0x31f672['apps']||{})['join'](',\x20'))),console[_0x49ff83(0x1a1)](a149_0x171950['cyan'](_0x49ff83(0x18f)+_0x31f672[_0x49ff83(0x195)])),console['log'](a149_0x171950[_0x49ff83(0x1af)](_0x49ff83(0x1a6)+_0xe6af92+'.bak'));return;}const _0x41f209=_0x4c7fe1||await askAppcode(),_0x238f8a=resolve(_0x5279c6,NEW_CONFIG_NAME),_0x21d87b=getCliVersionFromPkg(),_0xabdd5c=readRawConfig(),_0xb3e802=typeof _0xabdd5c[_0x49ff83(0x198)]===_0x49ff83(0x1a2)?_0xabdd5c[_0x49ff83(0x198)]:undefined,_0x3517ea=buildCanonicalProjectConfig({},{'appCodes':[_0x41f209],'env':_0x3bd896||_0xb3e802||'production','metadata':{'version':_0x21d87b,'createdAt':new Date()[_0x49ff83(0x193)]()}});writeConfigFile(_0x238f8a,_0x3517ea),logger[_0x49ff83(0x194)](_0x5279c6),logger['info'](_0x49ff83(0x1b8),_0x49ff83(0x1b2),{'appcode':_0x41f209,'env':_0x3517ea[_0x49ff83(0x198)],'version':_0x3517ea[_0x49ff83(0x189)],'configPath':_0x238f8a}),console[_0x49ff83(0x1a1)](a149_0x171950[_0x49ff83(0x1a0)](_0x49ff83(0x191))),console[_0x49ff83(0x1a1)](a149_0x171950[_0x49ff83(0x1a9)](_0x49ff83(0x199)+Object['keys'](_0x3517ea['apps']||{})[_0x49ff83(0x188)](',\x20'))),console[_0x49ff83(0x1a1)](a149_0x171950[_0x49ff83(0x1a9)](_0x49ff83(0x18f)+_0x3517ea[_0x49ff83(0x195)])),console['log'](_0x49ff83(0x1ad)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x49ff83(0x1ab));}function askAppcode(){const _0x4c74f4=a149_0x47af;return input({'message':_0x4c74f4(0x1ae),'validate':_0x1d8cf5=>{const _0x577291=_0x4c74f4;if(!_0x1d8cf5[_0x577291(0x1b7)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x59af11,message:_0x5c99d3}=validateAppcode(_0x1d8cf5[_0x577291(0x1b7)]());return _0x59af11||_0x5c99d3||_0x577291(0x1a8);}});}function getCliVersionFromPkg(){const _0x86e298=a149_0x47af;try{const _0x1ec53d=fileURLToPath(import.meta.url),_0x214ea3=resolve(dirname(_0x1ec53d),_0x86e298(0x196)),_0x271db6=JSON[_0x86e298(0x1b5)](readFileSync(resolve(_0x214ea3,_0x86e298(0x19a)),_0x86e298(0x18a)));return _0x271db6[_0x86e298(0x189)]||_0x86e298(0x19e);}catch{return _0x86e298(0x19e);}}
@@ -1 +1 @@
1
- (function(_0x2d6a9a,_0xb4f40f){const _0x1c5ff6=a150_0xe42e,_0xd21b5d=_0x2d6a9a();while(!![]){try{const _0x51ef96=parseInt(_0x1c5ff6(0x1a9))/0x1*(-parseInt(_0x1c5ff6(0x1f4))/0x2)+-parseInt(_0x1c5ff6(0x1c4))/0x3*(-parseInt(_0x1c5ff6(0x210))/0x4)+-parseInt(_0x1c5ff6(0x1f9))/0x5+-parseInt(_0x1c5ff6(0x202))/0x6+-parseInt(_0x1c5ff6(0x1ed))/0x7*(parseInt(_0x1c5ff6(0x1b0))/0x8)+parseInt(_0x1c5ff6(0x1aa))/0x9*(-parseInt(_0x1c5ff6(0x20d))/0xa)+parseInt(_0x1c5ff6(0x1b5))/0xb;if(_0x51ef96===_0xb4f40f)break;else _0xd21b5d['push'](_0xd21b5d['shift']());}catch(_0x10bc3f){_0xd21b5d['push'](_0xd21b5d['shift']());}}}(a150_0x4a2e,0xbf6e5));import a150_0x13bc42 from'chalk';import a150_0x5a4b1f from'ora';function a150_0xe42e(_0x28136c,_0x1fab99){_0x28136c=_0x28136c-0x1a5;const _0x4a2e4e=a150_0x4a2e();let _0xe42e1e=_0x4a2e4e[_0x28136c];return _0xe42e1e;}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['filter'](_0x2ba79c=>_0x2ba79c!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x44dd19){const _0x266fc7=a150_0xe42e,_0x304c22=[];for(const _0x5227ef of Object[_0x266fc7(0x1a7)](CORE_IDE_CONFIGS)){if(_0x5227ef['files'])for(const _0x446ba8 of _0x5227ef[_0x266fc7(0x1b7)]){_0x304c22['push'](resolve(_0x44dd19,_0x446ba8[_0x266fc7(0x1fa)]));}}return _0x304c22;}function analyse(_0x3ea075){const _0x14444a=a150_0xe42e;let _0x275129=null;const _0xd870a9=resolve(_0x3ea075,NEW_CONFIG_NAME),_0x5c81d8=existsSync(_0xd870a9);for(const _0x28aa4b of LEGACY_CONFIG_NAMES){const _0x9a7ba4=resolve(_0x3ea075,_0x28aa4b);if(existsSync(_0x9a7ba4)){const _0x264813=readConfigFile(_0x9a7ba4),_0x2793f1=Object[_0x14444a(0x1ae)](_0x264813)[_0x14444a(0x1c1)](_0x24631d=>typeof _0x264813[_0x24631d]!==_0x14444a(0x1da));_0x275129={'oldPath':_0x9a7ba4,'hasNewConfig':_0x5c81d8,'fields':_0x2793f1};break;}}const _0x2beeec=[],_0x3a5744=resolve(_0x3ea075,_0x14444a(0x1d8));if(existsSync(_0x3a5744))_0x2beeec[_0x14444a(0x1be)](_0x3a5744);const _0x43d56f=resolve(_0x3ea075,_0x14444a(0x1ce));if(existsSync(_0x43d56f))_0x2beeec[_0x14444a(0x1be)](_0x43d56f);const _0x35a30a=resolve(_0x3ea075,'.claude/skills/lovrabet');if(existsSync(_0x35a30a))_0x2beeec[_0x14444a(0x1be)](_0x35a30a);for(const _0x573fac of collectIdeSkillFiles(_0x3ea075)){if(existsSync(_0x573fac))_0x2beeec[_0x14444a(0x1be)](_0x573fac);}let _0x4c0682=null;const _0x48b9d8=resolve(_0x3ea075,'.cursor/mcp.json');if(existsSync(_0x48b9d8))try{const _0x147eb3=JSON['parse'](readFileSync(_0x48b9d8,'utf8'));if(_0x147eb3?.[_0x14444a(0x206)]&&typeof _0x147eb3[_0x14444a(0x206)]===_0x14444a(0x1d1)){const _0x3ff8e0=[];for(const [_0x3ae1d2,_0x107f67]of Object[_0x14444a(0x205)](_0x147eb3[_0x14444a(0x206)])){const _0x9300eb=_0x107f67;_0x9300eb?.[_0x14444a(0x1e7)]&&Array[_0x14444a(0x1e8)](_0x9300eb[_0x14444a(0x1e7)])&&_0x9300eb['args'][_0x14444a(0x208)](_0x53b476=>typeof _0x53b476===_0x14444a(0x224)&&_0x53b476['includes'](_0x14444a(0x21e)))&&_0x3ff8e0['push'](_0x3ae1d2);}_0x3ff8e0[_0x14444a(0x225)]>0x0&&(_0x4c0682={'path':_0x48b9d8,'keys':_0x3ff8e0});}}catch{}const _0x33f6af=_0x2beeec[_0x14444a(0x225)]>0x0||_0x275129!==null;let _0x18c0d5=null;const _0x11174b=resolve(_0x3ea075,_0x14444a(0x1b1));if(existsSync(_0x11174b))try{const _0x3ccf51=JSON[_0x14444a(0x207)](readFileSync(_0x11174b,'utf8'));for(const _0x2f9509 of[_0x14444a(0x1c7),_0x14444a(0x1bd)]){const _0xedb925=_0x3ccf51?.[_0x2f9509]?.[_0x14444a(0x1ea)];if(typeof _0xedb925===_0x14444a(0x224)){_0xedb925!==_0x14444a(0x1b4)&&(_0x18c0d5={'pkgPath':_0x11174b,'currentVersion':_0xedb925,'field':_0x2f9509});break;}}}catch{}return{'configMigration':_0x275129,'oldArtifacts':_0x2beeec,'oldMcpConfig':_0x4c0682,'needsSkillSwap':_0x33f6af,'sdkUpgrade':_0x18c0d5};}function printReport(_0x478409){const _0x368464=a150_0xe42e,{configMigration:_0x31563c,oldArtifacts:_0x3357c9,oldMcpConfig:_0x235bf7,needsSkillSwap:_0x294f01}=_0x478409;console[_0x368464(0x1d2)](''),console['log'](a150_0x13bc42[_0x368464(0x1d4)](_0x368464(0x218))),console[_0x368464(0x1d2)]('');_0x31563c?(console[_0x368464(0x1d2)](a150_0x13bc42['cyan']('Config\x20file:')+('\x20\x20'+a150_0x13bc42['yellow'](_0x31563c['oldPath']))),console['log'](_0x368464(0x1e6)+(_0x31563c[_0x368464(0x1b9)]?a150_0x13bc42[_0x368464(0x1f7)](_0x368464(0x1d5)):a150_0x13bc42[_0x368464(0x20c)](_0x368464(0x1d9)))),console[_0x368464(0x1d2)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x31563c[_0x368464(0x1cb)][_0x368464(0x211)](',\x20')),console['log'](_0x368464(0x1eb))):console[_0x368464(0x1d2)](a150_0x13bc42[_0x368464(0x1c0)]('Config\x20file:')+'\x20\x20'+a150_0x13bc42['gray'](_0x368464(0x1db)));console[_0x368464(0x1d2)]('');if(_0x3357c9[_0x368464(0x225)]>0x0){console['log'](a150_0x13bc42[_0x368464(0x1c0)]('Legacy\x20artifacts:'));for(const _0x2bb30c of _0x3357c9){console[_0x368464(0x1d2)]('\x20\x20'+a150_0x13bc42[_0x368464(0x1b2)](_0x368464(0x1ad))+'\x20\x20'+_0x2bb30c);}console[_0x368464(0x1d2)](_0x368464(0x1e5));}else console[_0x368464(0x1d2)](a150_0x13bc42[_0x368464(0x1c0)](_0x368464(0x219))+'\x20\x20'+a150_0x13bc42[_0x368464(0x20c)](_0x368464(0x1ba)));console[_0x368464(0x1d2)]('');_0x235bf7?(console[_0x368464(0x1d2)](a150_0x13bc42[_0x368464(0x1c0)](_0x368464(0x222))+('\x20\x20'+a150_0x13bc42[_0x368464(0x1d3)](_0x235bf7[_0x368464(0x1fa)])+_0x368464(0x1cd)+_0x235bf7[_0x368464(0x1ae)][_0x368464(0x211)](',\x20'))),console[_0x368464(0x1d2)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x368464(0x1d2)](a150_0x13bc42['cyan']('MCP\x20config:')+'\x20\x20'+a150_0x13bc42[_0x368464(0x20c)](_0x368464(0x1a5)));console[_0x368464(0x1d2)](''),console[_0x368464(0x1d2)](a150_0x13bc42['cyan'](_0x368464(0x1bb))+('\x20\x20'+(_0x294f01?a150_0x13bc42[_0x368464(0x1d3)](_0x368464(0x220)):a150_0x13bc42['green']('not\x20needed'))));_0x294f01&&console[_0x368464(0x1d2)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x368464(0x1d2)]('');if(_0x478409[_0x368464(0x1ca)]){const {currentVersion:_0x1eb346,field:_0x337df4,pkgPath:_0x418c92}=_0x478409[_0x368464(0x1ca)];console[_0x368464(0x1d2)](a150_0x13bc42['cyan'](_0x368464(0x1d7))+('\x20\x20'+a150_0x13bc42['yellow'](_0x418c92))),console[_0x368464(0x1d2)](_0x368464(0x1ec)+_0x337df4+':\x20'+a150_0x13bc42[_0x368464(0x1d3)](_0x1eb346)+_0x368464(0x1c5)+a150_0x13bc42[_0x368464(0x1f7)](_0x368464(0x1b4))),console[_0x368464(0x1d2)](_0x368464(0x1f3));}else console[_0x368464(0x1d2)](a150_0x13bc42[_0x368464(0x1c0)]('@lovrabet/sdk:')+'\x20\x20'+a150_0x13bc42[_0x368464(0x20c)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x368464(0x1d2)]('');}function execConfigMigration(_0x796822,_0x18116b){const _0x5679b7=a150_0xe42e,{configMigration:_0xfc2a41}=_0x796822;if(!_0xfc2a41?.['oldPath'])return{'step':0x1,'label':_0x5679b7(0x1bf),'ok':!![],'detail':_0x5679b7(0x1cc)};const _0x522225=readConfigFile(_0xfc2a41[_0x5679b7(0x1df)]),_0x3fda87=resolve(_0x18116b,NEW_CONFIG_NAME),_0x3afa4e=_0xfc2a41[_0x5679b7(0x1b9)]?readConfigFile(_0x3fda87):{};for(const [_0x558d59,_0x203c1b]of Object[_0x5679b7(0x205)](_0x522225)){!(_0x558d59 in _0x3afa4e)&&(_0x3afa4e[_0x558d59]=_0x203c1b);}writeConfigFile(_0x3fda87,_0x3afa4e);const _0x4749cc=_0xfc2a41[_0x5679b7(0x1df)]+'.bak';return renameSync(_0xfc2a41[_0x5679b7(0x1df)],_0x4749cc),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0xfc2a41['oldPath']+_0x5679b7(0x1c5)+_0x3fda87+_0x5679b7(0x1d6)+_0x4749cc+')'};}function execRemoveOldArtifacts(_0x193e57){const _0x5d850c=a150_0xe42e,_0x2e87bb=[];for(const _0x2b61a7 of _0x193e57){try{if(!existsSync(_0x2b61a7))continue;const _0xfbfe5=tryStat(_0x2b61a7);_0xfbfe5?.[_0x5d850c(0x1f8)]()?rmSync(_0x2b61a7,{'recursive':!![],'force':!![]}):unlinkSync(_0x2b61a7);}catch(_0x4a36d1){_0x2e87bb[_0x5d850c(0x1be)](_0x2b61a7+':\x20'+_0x4a36d1['message']);}}return{'step':0x3,'label':_0x5d850c(0x1ee),'ok':_0x2e87bb[_0x5d850c(0x225)]===0x0,'detail':_0x2e87bb[_0x5d850c(0x225)]>0x0?_0x193e57[_0x5d850c(0x225)]-_0x2e87bb['length']+'/'+_0x193e57[_0x5d850c(0x225)]+_0x5d850c(0x1e2)+_0x2e87bb['join'](';\x20')+')':_0x193e57[_0x5d850c(0x225)]+'\x20removed'};}function execCleanMcp(_0x353c14){const _0x390e7b=a150_0xe42e;if(!_0x353c14[_0x390e7b(0x1e0)])return{'step':0x4,'label':_0x390e7b(0x1fc),'ok':!![],'detail':_0x390e7b(0x213)};try{const _0x133356=readFileSync(_0x353c14[_0x390e7b(0x1e0)]['path'],_0x390e7b(0x1cf)),_0x3a6259=JSON[_0x390e7b(0x207)](_0x133356);if(_0x3a6259?.[_0x390e7b(0x206)]&&typeof _0x3a6259[_0x390e7b(0x206)]===_0x390e7b(0x1d1)){const _0x2dcb82=[];for(const [_0x2ea5b0,_0x186886]of Object[_0x390e7b(0x205)](_0x3a6259[_0x390e7b(0x206)])){_0x186886?.[_0x390e7b(0x1e7)]&&Array['isArray'](_0x186886[_0x390e7b(0x1e7)])&&_0x186886[_0x390e7b(0x1e7)][_0x390e7b(0x208)](_0x118608=>typeof _0x118608===_0x390e7b(0x224)&&_0x118608[_0x390e7b(0x1bc)](_0x390e7b(0x21e)))&&_0x2dcb82['push'](_0x2ea5b0);}for(const _0x49baa0 of _0x2dcb82){delete _0x3a6259[_0x390e7b(0x206)][_0x49baa0];}return _0x2dcb82[_0x390e7b(0x225)]>0x0&&writeFileSync(_0x353c14[_0x390e7b(0x1e0)][_0x390e7b(0x1fa)],JSON['stringify'](_0x3a6259,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x390e7b(0x21b)+_0x2dcb82[_0x390e7b(0x211)](',\x20')+_0x390e7b(0x214)+_0x353c14[_0x390e7b(0x1e0)][_0x390e7b(0x1fa)]};}return{'step':0x4,'label':_0x390e7b(0x1fc),'ok':!![],'detail':_0x390e7b(0x21c)};}catch(_0x5e23a4){return{'step':0x4,'label':_0x390e7b(0x1fc),'ok':![],'detail':_0x5e23a4[_0x390e7b(0x21d)]};}}function execSkillsRemove(_0x11ed2d,_0x50614c){const _0x179348=a150_0xe42e,_0x273c48=runNpxSkillsRemove(_0x11ed2d,{'stdio':'inherit','yes':_0x50614c});return{'step':0x5,'label':_0x179348(0x201),'ok':_0x273c48['ok'],'detail':_0x273c48['ok']?_0x179348(0x21f):_0x273c48[_0x179348(0x1a8)]??_0x179348(0x217)+_0x273c48[_0x179348(0x20e)]};}function execSkillsAdd(_0x8e9d4a,_0x3f7e42){const _0x5b04cf=a150_0xe42e,_0x4e186c=runNpxSkillsAddGlobal(_0x8e9d4a,_0x5b04cf(0x21a),{'stdio':'inherit','yes':_0x3f7e42});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x4e186c['ok'],'detail':_0x4e186c['ok']?_0x5b04cf(0x221):_0x4e186c[_0x5b04cf(0x1a8)]??_0x5b04cf(0x217)+_0x4e186c[_0x5b04cf(0x20e)]};}function execUpgradeSdk(_0x4cd890){const _0xf5a4f6=a150_0xe42e;if(!_0x4cd890[_0xf5a4f6(0x1ca)])return{'step':0x7,'label':_0xf5a4f6(0x1ac),'ok':!![],'detail':_0xf5a4f6(0x223)};const {pkgPath:_0x548229,currentVersion:_0x593f1d,field:_0xdd13cb}=_0x4cd890[_0xf5a4f6(0x1ca)];try{const _0x323223=readFileSync(_0x548229,_0xf5a4f6(0x1cf)),_0x28b329=JSON[_0xf5a4f6(0x207)](_0x323223);return _0x28b329[_0xdd13cb]['@lovrabet/sdk']=_0xf5a4f6(0x1b4),writeFileSync(_0x548229,JSON[_0xf5a4f6(0x209)](_0x28b329,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0xf5a4f6(0x1ac),'ok':!![],'detail':_0xdd13cb+'[\x22@lovrabet/sdk\x22]:\x20'+_0x593f1d+_0xf5a4f6(0x1de)};}catch(_0x26d4a6){return{'step':0x7,'label':_0xf5a4f6(0x1ac),'ok':![],'detail':_0x26d4a6['message']};}}function a150_0x4a2e(){const _0x48e3c9=['gray','26910BTKAPc','status','Upgrade\x20completed\x20successfully!','537756KYazWo','join','Step\x205/7:\x20Removing\x20old\x20skill...','skipped','\x20from\x20','\x20\x20\x20\x20\x20\x20\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','exit\x20','===\x20Upgrade\x20Analysis\x20===','Legacy\x20artifacts:','lovrabet/rabetbase','removed\x20','no\x20matching\x20entry\x20found','message','@lovrabet/dataset-mcp-server','lovrabet/lovrabet-skill\x20removed','needed','lovrabet/rabetbase\x20installed\x20globally','MCP\x20config:','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','string','length','info','no\x20legacy\x20entry','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','values','error','1018373uneHqx','1647oJBxxO','done','Upgrade\x20@lovrabet/sdk','FOUND','keys','Upgrade\x20cancelled.','55064KgNXCv','package.json','red','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','latest','33567017KOdbdn','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','files','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','hasNewConfig','none\x20found','Skill\x20swap:','includes','devDependencies','push','Config\x20migration','cyan','filter','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20npm\x20install','27NJLHqL','\x20→\x20','FAIL','dependencies','\x20\x20#\x20or','detail','sdkUpgrade','fields','skipped\x20(no\x20legacy\x20config)','\x20→\x20keys:\x20','.cursor/rules/lovrabet_rules.mdc','utf8','configMigration','object','log','yellow','bold','already\x20exists\x20(will\x20merge)','\x20(backup:\x20','@lovrabet/sdk:','.lovrabet','not\x20found\x20(will\x20create)','undefined','no\x20legacy\x20config\x20found','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Step\x201/7:\x20Migrating\x20config...','\x20→\x20latest','oldPath','oldMcpConfig','Remove\x20.lovrabet/','\x20removed\x20(','Step\x206/7:\x20Installing\x20new\x20skill...','yes','\x20\x20Action:\x20delete','\x20\x20New\x20config\x20(.rabetbase.json):\x20','args','isArray','CANCEL','@lovrabet/sdk','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20\x20Current\x20version\x20in\x20','1281Eobkbj','Remove\x20legacy\x20artifacts','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20\x20bun\x20install','fail','label','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','2VXhZPi','needsSkillSwap','start','green','isDirectory','3252745WetiAU','path','cwd','Clean\x20MCP\x20config','step','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','white','oldArtifacts','Remove\x20old\x20skill','338598jlPWxe','Proceed\x20with\x20upgrade?','failed','entries','mcpServers','parse','some','stringify','succeed','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...'];a150_0x4a2e=function(){return _0x48e3c9;};return a150_0x4a2e();}function tryStat(_0x4a6fee){try{return statSync(_0x4a6fee);}catch{return undefined;}}function printSummary(_0x26108c){const _0x231636=a150_0xe42e;console[_0x231636(0x1d2)](''),console[_0x231636(0x1d2)](a150_0x13bc42['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x231636(0x1d2)]('');for(const _0x1a9ce9 of _0x26108c){const _0x51afda=_0x1a9ce9['ok']?a150_0x13bc42['green']('OK'):a150_0x13bc42[_0x231636(0x1b2)](_0x231636(0x1c6));console['log']('\x20\x20'+_0x51afda+'\x20\x20Step\x20'+_0x1a9ce9[_0x231636(0x1fd)]+':\x20'+_0x1a9ce9[_0x231636(0x1f2)]);if(_0x1a9ce9[_0x231636(0x1c9)])console[_0x231636(0x1d2)](_0x231636(0x215)+a150_0x13bc42[_0x231636(0x20c)](_0x1a9ce9['detail']));}console[_0x231636(0x1d2)]('');}export async function upgradeApp(_0x85e51a,_0xc2a970){const _0xbb77be=a150_0xe42e,_0xc09fba=process[_0xbb77be(0x1fb)](),_0x209515=analyse(_0xc09fba),_0xec2a74=!_0x209515[_0xbb77be(0x1d0)]&&_0x209515[_0xbb77be(0x200)]['length']===0x0&&!_0x209515['oldMcpConfig']&&!_0x209515[_0xbb77be(0x1f5)]&&!_0x209515['sdkUpgrade'];if(_0xec2a74){console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x1f7)](_0xbb77be(0x1ef)));return;}printReport(_0x209515);const _0x4351fb=!!(_0xc2a970[_0xbb77be(0x1e4)]||_0xc2a970['Y']||_0x85e51a);if(!_0x4351fb)try{const _0x21e76a=await askConfirm(_0xbb77be(0x203));if(!_0x21e76a){console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x20c)]('Upgrade\x20cancelled.'));return;}}catch(_0x51fbc6){if(_0x51fbc6?.['message']===_0xbb77be(0x1e9)){console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x20c)](_0xbb77be(0x1af)));return;}throw _0x51fbc6;}const _0x1f9188=[],_0x4e4c69=a150_0x5a4b1f({'text':_0xbb77be(0x1dd),'color':'cyan'})[_0xbb77be(0x1f6)](),_0x3ced89=execConfigMigration(_0x209515,_0xc09fba);_0x1f9188[_0xbb77be(0x1be)](_0x3ced89),_0x4e4c69[_0x3ced89['ok']?_0xbb77be(0x20a):_0xbb77be(0x1f1)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x3ced89['detail']??(_0x3ced89['ok']?'done':_0xbb77be(0x204))));const _0x4d2a93=resolve(_0xc09fba,_0xbb77be(0x1d8)),_0x34b301=a150_0x5a4b1f({'text':_0xbb77be(0x1b6),'color':'cyan'})[_0xbb77be(0x1f6)]();if(existsSync(_0x4d2a93))try{rmSync(_0x4d2a93,{'recursive':!![],'force':!![]}),_0x34b301[_0xbb77be(0x20a)](_0xbb77be(0x1dc)),_0x1f9188[_0xbb77be(0x1be)]({'step':0x2,'label':_0xbb77be(0x1e1),'ok':!![]});}catch(_0xf06b13){_0x34b301[_0xbb77be(0x1f1)](_0xbb77be(0x1c2)+_0xf06b13[_0xbb77be(0x21d)]),_0x1f9188['push']({'step':0x2,'label':_0xbb77be(0x1e1),'ok':![],'detail':_0xf06b13['message']});}else _0x34b301[_0xbb77be(0x226)](_0xbb77be(0x216)),_0x1f9188['push']({'step':0x2,'label':_0xbb77be(0x1e1),'ok':!![],'detail':_0xbb77be(0x213)});const _0x4590ff=a150_0x5a4b1f({'text':_0xbb77be(0x1b3),'color':_0xbb77be(0x1c0)})['start'](),_0x2fe59b=execRemoveOldArtifacts(_0x209515[_0xbb77be(0x200)]);_0x1f9188['push'](_0x2fe59b),_0x4590ff[_0x2fe59b['ok']?_0xbb77be(0x20a):'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x2fe59b[_0xbb77be(0x1c9)]??(_0x2fe59b['ok']?_0xbb77be(0x1ab):'failed')));const _0x313b5d=a150_0x5a4b1f({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0xbb77be(0x1c0)})[_0xbb77be(0x1f6)](),_0x2141dd=execCleanMcp(_0x209515);_0x1f9188[_0xbb77be(0x1be)](_0x2141dd),_0x313b5d[_0x2141dd['ok']?_0xbb77be(0x20a):'fail']('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x2141dd[_0xbb77be(0x1c9)]??(_0x2141dd['ok']?_0xbb77be(0x1ab):'failed')));const _0x2a17ab=a150_0x5a4b1f({'text':_0xbb77be(0x212),'color':_0xbb77be(0x1c0)})['start'](),_0x42f209=execSkillsRemove(_0xc09fba,_0x4351fb);_0x1f9188[_0xbb77be(0x1be)](_0x42f209),_0x2a17ab[_0x42f209['ok']?_0xbb77be(0x20a):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x42f209[_0xbb77be(0x1c9)]??(_0x42f209['ok']?_0xbb77be(0x1ab):'failed')));const _0x5110be=a150_0x5a4b1f({'text':_0xbb77be(0x1e3),'color':_0xbb77be(0x1c0)})['start'](),_0x4779ad=execSkillsAdd(_0xc09fba,_0x4351fb);_0x1f9188[_0xbb77be(0x1be)](_0x4779ad),_0x5110be[_0x4779ad['ok']?_0xbb77be(0x20a):'fail'](_0xbb77be(0x1fe)+(_0x4779ad['detail']??(_0x4779ad['ok']?_0xbb77be(0x1ab):'failed')));const _0x230f94=a150_0x5a4b1f({'text':_0xbb77be(0x20b),'color':_0xbb77be(0x1c0)})['start'](),_0x399538=execUpgradeSdk(_0x209515);_0x1f9188[_0xbb77be(0x1be)](_0x399538),_0x230f94[_0x399538['ok']?_0xbb77be(0x20a):_0xbb77be(0x1f1)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x399538[_0xbb77be(0x1c9)]??(_0x399538['ok']?_0xbb77be(0x1ab):_0xbb77be(0x204)))),printSummary(_0x1f9188);const _0x5bd14d=_0x1f9188[_0xbb77be(0x208)](_0x3841a7=>!_0x3841a7['ok']);_0x5bd14d?console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x1d3)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x1f7)](_0xbb77be(0x20f))),_0x399538['ok']&&_0x209515[_0xbb77be(0x1ca)]&&(console[_0xbb77be(0x1d2)](''),console[_0xbb77be(0x1d2)](a150_0x13bc42['bold'][_0xbb77be(0x1c0)](_0xbb77be(0x1b8))),console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x1c0)](_0xbb77be(0x1a6))),console[_0xbb77be(0x1d2)](''),console['log'](a150_0x13bc42[_0xbb77be(0x1ff)](_0xbb77be(0x1c3))),console[_0xbb77be(0x1d2)](a150_0x13bc42['white'](_0xbb77be(0x1c8))),console[_0xbb77be(0x1d2)](a150_0x13bc42[_0xbb77be(0x1ff)](_0xbb77be(0x1f0))),console[_0xbb77be(0x1d2)](''));}
1
+ const a150_0x53b6e9=a150_0x14db;(function(_0x4d7f3e,_0x1c3039){const _0x481342=a150_0x14db,_0x478c74=_0x4d7f3e();while(!![]){try{const _0x56b5b1=parseInt(_0x481342(0x1fe))/0x1*(-parseInt(_0x481342(0x202))/0x2)+parseInt(_0x481342(0x205))/0x3+-parseInt(_0x481342(0x22d))/0x4+-parseInt(_0x481342(0x20a))/0x5*(-parseInt(_0x481342(0x222))/0x6)+-parseInt(_0x481342(0x225))/0x7*(-parseInt(_0x481342(0x1ed))/0x8)+-parseInt(_0x481342(0x245))/0x9+parseInt(_0x481342(0x218))/0xa*(parseInt(_0x481342(0x20b))/0xb);if(_0x56b5b1===_0x1c3039)break;else _0x478c74['push'](_0x478c74['shift']());}catch(_0x2e5ee8){_0x478c74['push'](_0x478c74['shift']());}}}(a150_0x4b68,0xd138a));import a150_0x5a140d from'chalk';import a150_0x432132 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a150_0x4b68(){const _0x2f062a=['detail','not\x20found\x20or\x20already\x20at\x20latest','green','none\x20found','.bak','includes','no\x20matching\x20entry\x20found','\x20\x20New\x20config\x20(.rabetbase.json):\x20','mcpServers','[\x22@lovrabet/sdk\x22]:\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20\x20Step\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','stringify','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','4723880aOytpy','Upgrade\x20cancelled.','Clean\x20MCP\x20config','bold','no\x20legacy\x20entry','object','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','not\x20needed','yellow','files','Proceed\x20with\x20upgrade?','step','dependencies','some','fail','lovrabet/rabetbase\x20installed\x20globally','83542nzdYcS','push','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','keys','2fEtvCq','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','1293645VvBJEs','\x20\x20#\x20or','exit\x20','info','oldMcpConfig','88360gtUIkq','1243IptTil','\x20→\x20','.cursor/rules/lovrabet_rules.mdc','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','\x20→\x20latest','Remove\x20old\x20skill','gray','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','entries','Install\x20new\x20skill','error','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','log','72530zArWqU','Remove\x20legacy\x20artifacts','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20→\x20keys:\x20','path','lovrabet/lovrabet-skill\x20removed','failed','no\x20legacy\x20config\x20found','.cursor/mcp.json','status','372YnoeUR','removed\x20','isDirectory','7ETMdBq','oldArtifacts','already\x20exists\x20(will\x20merge)','.claude/skills/lovrabet','succeed','values','join','Legacy\x20artifacts:','3126688SDQYLZ','cyan','===\x20Upgrade\x20Analysis\x20===','sdkUpgrade','\x20from\x20','Step\x205/7:\x20Removing\x20old\x20skill...','@lovrabet/sdk:','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20delete','message','\x20\x20npm\x20install','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','MCP\x20config:','@lovrabet/dataset-mcp-server','\x20removed\x20(','Config\x20file:','Upgrade\x20@lovrabet/sdk','\x20\x20Current\x20version\x20in\x20','not\x20found\x20(will\x20create)','\x20\x20bun\x20install','parse','FOUND','inherit','red','10932921OBUiMQ','string','FAIL','fields','Step\x206/7:\x20Installing\x20new\x20skill...','utf8','filter','hasNewConfig','start','cwd','args','done','latest','skipped','length','oldPath','Step\x201/7:\x20Migrating\x20config...','white','\x20(backup:\x20','\x20\x20\x20\x20\x20\x20\x20','Remove\x20.lovrabet/'];a150_0x4b68=function(){return _0x2f062a;};return a150_0x4b68();}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[a150_0x53b6e9(0x1cf)](_0xd429be=>_0xd429be!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2bed85){const _0x2bf476=a150_0x53b6e9,_0x4d06e1=[];for(const _0x3a411e of Object[_0x2bf476(0x22a)](CORE_IDE_CONFIGS)){if(_0x3a411e[_0x2bf476(0x1f7)])for(const _0xb07fde of _0x3a411e['files']){_0x4d06e1[_0x2bf476(0x1ff)](resolve(_0x2bed85,_0xb07fde['path']));}}return _0x4d06e1;}function analyse(_0x515310){const _0x15e167=a150_0x53b6e9;let _0x1a2829=null;const _0x3a1588=resolve(_0x515310,NEW_CONFIG_NAME),_0x29b9b3=existsSync(_0x3a1588);for(const _0x5da0c2 of LEGACY_CONFIG_NAMES){const _0x3bb99a=resolve(_0x515310,_0x5da0c2);if(existsSync(_0x3bb99a)){const _0x484258=readConfigFile(_0x3bb99a),_0x3a062d=Object[_0x15e167(0x201)](_0x484258)[_0x15e167(0x1cf)](_0x3efab9=>typeof _0x484258[_0x3efab9]!=='undefined');_0x1a2829={'oldPath':_0x3bb99a,'hasNewConfig':_0x29b9b3,'fields':_0x3a062d};break;}}const _0x393653=[],_0x8b4d7b=resolve(_0x515310,'.lovrabet');if(existsSync(_0x8b4d7b))_0x393653['push'](_0x8b4d7b);const _0x291f7c=resolve(_0x515310,_0x15e167(0x20d));if(existsSync(_0x291f7c))_0x393653[_0x15e167(0x1ff)](_0x291f7c);const _0xe63a55=resolve(_0x515310,_0x15e167(0x228));if(existsSync(_0xe63a55))_0x393653[_0x15e167(0x1ff)](_0xe63a55);for(const _0x56db71 of collectIdeSkillFiles(_0x515310)){if(existsSync(_0x56db71))_0x393653['push'](_0x56db71);}let _0x250768=null;const _0x5c2f24=resolve(_0x515310,_0x15e167(0x220));if(existsSync(_0x5c2f24))try{const _0x3bdb62=JSON[_0x15e167(0x241)](readFileSync(_0x5c2f24,_0x15e167(0x1ce)));if(_0x3bdb62?.[_0x15e167(0x1e6)]&&typeof _0x3bdb62[_0x15e167(0x1e6)]===_0x15e167(0x1f2)){const _0xbe0a05=[];for(const [_0x4173fe,_0x40e554]of Object[_0x15e167(0x213)](_0x3bdb62[_0x15e167(0x1e6)])){const _0x3d54f7=_0x40e554;_0x3d54f7?.[_0x15e167(0x1d3)]&&Array['isArray'](_0x3d54f7['args'])&&_0x3d54f7[_0x15e167(0x1d3)][_0x15e167(0x1fb)](_0x25eee8=>typeof _0x25eee8===_0x15e167(0x246)&&_0x25eee8[_0x15e167(0x1e3)](_0x15e167(0x23a)))&&_0xbe0a05[_0x15e167(0x1ff)](_0x4173fe);}_0xbe0a05[_0x15e167(0x1d7)]>0x0&&(_0x250768={'path':_0x5c2f24,'keys':_0xbe0a05});}}catch{}const _0x40af0b=_0x393653[_0x15e167(0x1d7)]>0x0||_0x1a2829!==null;let _0x58c3d8=null;const _0x45658d=resolve(_0x515310,'package.json');if(existsSync(_0x45658d))try{const _0x2337ea=JSON[_0x15e167(0x241)](readFileSync(_0x45658d,_0x15e167(0x1ce)));for(const _0x19e9be of[_0x15e167(0x1fa),'devDependencies']){const _0x43ecb1=_0x2337ea?.[_0x19e9be]?.['@lovrabet/sdk'];if(typeof _0x43ecb1===_0x15e167(0x246)){_0x43ecb1!=='latest'&&(_0x58c3d8={'pkgPath':_0x45658d,'currentVersion':_0x43ecb1,'field':_0x19e9be});break;}}}catch{}return{'configMigration':_0x1a2829,'oldArtifacts':_0x393653,'oldMcpConfig':_0x250768,'needsSkillSwap':_0x40af0b,'sdkUpgrade':_0x58c3d8};}function printReport(_0x37d9ac){const _0x41e098=a150_0x53b6e9,{configMigration:_0xc26cfb,oldArtifacts:_0x2e5d6c,oldMcpConfig:_0x3371bb,needsSkillSwap:_0x36655d}=_0x37d9ac;console[_0x41e098(0x217)](''),console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x1f0)](_0x41e098(0x22f))),console[_0x41e098(0x217)]('');_0xc26cfb?(console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x23c))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0xc26cfb[_0x41e098(0x1d8)]))),console[_0x41e098(0x217)](_0x41e098(0x1e5)+(_0xc26cfb[_0x41e098(0x1d0)]?a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x227)):a150_0x5a140d['gray'](_0x41e098(0x23f)))),console[_0x41e098(0x217)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0xc26cfb[_0x41e098(0x248)][_0x41e098(0x22b)](',\x20')),console[_0x41e098(0x217)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x23c))+'\x20\x20'+a150_0x5a140d['gray'](_0x41e098(0x21f)));console['log']('');if(_0x2e5d6c[_0x41e098(0x1d7)]>0x0){console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)]('Legacy\x20artifacts:'));for(const _0x261231 of _0x2e5d6c){console[_0x41e098(0x217)]('\x20\x20'+a150_0x5a140d['red'](_0x41e098(0x242))+'\x20\x20'+_0x261231);}console[_0x41e098(0x217)](_0x41e098(0x235));}else console['log'](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x22c))+'\x20\x20'+a150_0x5a140d[_0x41e098(0x211)](_0x41e098(0x1e1)));console[_0x41e098(0x217)]('');_0x3371bb?(console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x239))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x3371bb[_0x41e098(0x21c)])+_0x41e098(0x21b)+_0x3371bb[_0x41e098(0x201)]['join'](',\x20'))),console[_0x41e098(0x217)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x41e098(0x217)](a150_0x5a140d['cyan']('MCP\x20config:')+'\x20\x20'+a150_0x5a140d['gray'](_0x41e098(0x1f1)));console[_0x41e098(0x217)](''),console['log'](a150_0x5a140d[_0x41e098(0x22e)]('Skill\x20swap:')+('\x20\x20'+(_0x36655d?a150_0x5a140d[_0x41e098(0x1f6)]('needed'):a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x1f5)))));_0x36655d&&console[_0x41e098(0x217)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x41e098(0x217)]('');if(_0x37d9ac[_0x41e098(0x230)]){const {currentVersion:_0x34ce0d,field:_0x287512,pkgPath:_0x485777}=_0x37d9ac[_0x41e098(0x230)];console[_0x41e098(0x217)](a150_0x5a140d['cyan'](_0x41e098(0x233))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x485777))),console[_0x41e098(0x217)](_0x41e098(0x23e)+_0x287512+':\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x34ce0d)+_0x41e098(0x20c)+a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x1d5))),console[_0x41e098(0x217)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console['log'](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x233))+'\x20\x20'+a150_0x5a140d[_0x41e098(0x211)](_0x41e098(0x1df)));console[_0x41e098(0x217)]('');}function execConfigMigration(_0x3699da,_0x3f50ec){const _0x363478=a150_0x53b6e9,{configMigration:_0x5bb7bc}=_0x3699da;if(!_0x5bb7bc?.[_0x363478(0x1d8)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x5226a4=readConfigFile(_0x5bb7bc[_0x363478(0x1d8)]),_0x710abc=resolve(_0x3f50ec,NEW_CONFIG_NAME),_0x308499=_0x5bb7bc[_0x363478(0x1d0)]?readConfigFile(_0x710abc):{};for(const [_0x4d8203,_0xa75ca2]of Object[_0x363478(0x213)](_0x5226a4)){!(_0x4d8203 in _0x308499)&&(_0x308499[_0x4d8203]=_0xa75ca2);}writeConfigFile(_0x710abc,_0x308499);const _0x4dce4e=_0x5bb7bc[_0x363478(0x1d8)]+_0x363478(0x1e2);return renameSync(_0x5bb7bc[_0x363478(0x1d8)],_0x4dce4e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x5bb7bc[_0x363478(0x1d8)]+_0x363478(0x20c)+_0x710abc+_0x363478(0x1db)+_0x4dce4e+')'};}function execRemoveOldArtifacts(_0x533ff5){const _0x18126a=a150_0x53b6e9,_0x23eb34=[];for(const _0x4124c0 of _0x533ff5){try{if(!existsSync(_0x4124c0))continue;const _0x1be606=tryStat(_0x4124c0);_0x1be606?.[_0x18126a(0x224)]()?rmSync(_0x4124c0,{'recursive':!![],'force':!![]}):unlinkSync(_0x4124c0);}catch(_0x141e55){_0x23eb34[_0x18126a(0x1ff)](_0x4124c0+':\x20'+_0x141e55['message']);}}return{'step':0x3,'label':_0x18126a(0x219),'ok':_0x23eb34[_0x18126a(0x1d7)]===0x0,'detail':_0x23eb34['length']>0x0?_0x533ff5[_0x18126a(0x1d7)]-_0x23eb34[_0x18126a(0x1d7)]+'/'+_0x533ff5[_0x18126a(0x1d7)]+_0x18126a(0x23b)+_0x23eb34[_0x18126a(0x22b)](';\x20')+')':_0x533ff5[_0x18126a(0x1d7)]+'\x20removed'};}function execCleanMcp(_0x473cc4){const _0x81ff0=a150_0x53b6e9;if(!_0x473cc4[_0x81ff0(0x209)])return{'step':0x4,'label':_0x81ff0(0x1ef),'ok':!![],'detail':'skipped'};try{const _0x3c8ea8=readFileSync(_0x473cc4['oldMcpConfig'][_0x81ff0(0x21c)],_0x81ff0(0x1ce)),_0xa3e391=JSON[_0x81ff0(0x241)](_0x3c8ea8);if(_0xa3e391?.[_0x81ff0(0x1e6)]&&typeof _0xa3e391['mcpServers']===_0x81ff0(0x1f2)){const _0x4e7312=[];for(const [_0x56ed68,_0x5214e5]of Object[_0x81ff0(0x213)](_0xa3e391[_0x81ff0(0x1e6)])){_0x5214e5?.[_0x81ff0(0x1d3)]&&Array['isArray'](_0x5214e5[_0x81ff0(0x1d3)])&&_0x5214e5['args'][_0x81ff0(0x1fb)](_0x5de01e=>typeof _0x5de01e===_0x81ff0(0x246)&&_0x5de01e['includes'](_0x81ff0(0x23a)))&&_0x4e7312[_0x81ff0(0x1ff)](_0x56ed68);}for(const _0x233719 of _0x4e7312){delete _0xa3e391[_0x81ff0(0x1e6)][_0x233719];}return _0x4e7312[_0x81ff0(0x1d7)]>0x0&&writeFileSync(_0x473cc4[_0x81ff0(0x209)][_0x81ff0(0x21c)],JSON[_0x81ff0(0x1eb)](_0xa3e391,null,0x2)+'\x0a',_0x81ff0(0x1ce)),{'step':0x4,'label':_0x81ff0(0x1ef),'ok':!![],'detail':_0x81ff0(0x223)+_0x4e7312['join'](',\x20')+_0x81ff0(0x231)+_0x473cc4[_0x81ff0(0x209)][_0x81ff0(0x21c)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x81ff0(0x1e4)};}catch(_0x56b0ad){return{'step':0x4,'label':_0x81ff0(0x1ef),'ok':![],'detail':_0x56b0ad[_0x81ff0(0x236)]};}}function execSkillsRemove(_0x4d560a,_0x26ff51){const _0x269992=a150_0x53b6e9,_0x307a47=runNpxSkillsRemove(_0x4d560a,{'stdio':_0x269992(0x243),'yes':_0x26ff51});return{'step':0x5,'label':_0x269992(0x210),'ok':_0x307a47['ok'],'detail':_0x307a47['ok']?_0x269992(0x21d):_0x307a47[_0x269992(0x215)]??_0x269992(0x207)+_0x307a47['status']};}function execSkillsAdd(_0x4225ca,_0x56de14){const _0x45e421=a150_0x53b6e9,_0x228404=runNpxSkillsAddGlobal(_0x4225ca,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0x56de14});return{'step':0x6,'label':_0x45e421(0x214),'ok':_0x228404['ok'],'detail':_0x228404['ok']?_0x45e421(0x1fd):_0x228404[_0x45e421(0x215)]??_0x45e421(0x207)+_0x228404[_0x45e421(0x221)]};}function execUpgradeSdk(_0x4242b9){const _0x17cf34=a150_0x53b6e9;if(!_0x4242b9[_0x17cf34(0x230)])return{'step':0x7,'label':_0x17cf34(0x23d),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x2eca57,currentVersion:_0x3baef3,field:_0x5ff687}=_0x4242b9['sdkUpgrade'];try{const _0x4aa95a=readFileSync(_0x2eca57,_0x17cf34(0x1ce)),_0x348f86=JSON[_0x17cf34(0x241)](_0x4aa95a);return _0x348f86[_0x5ff687]['@lovrabet/sdk']=_0x17cf34(0x1d5),writeFileSync(_0x2eca57,JSON['stringify'](_0x348f86,null,0x2)+'\x0a',_0x17cf34(0x1ce)),{'step':0x7,'label':_0x17cf34(0x23d),'ok':!![],'detail':_0x5ff687+_0x17cf34(0x1e7)+_0x3baef3+_0x17cf34(0x20f)};}catch(_0x555f13){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x555f13[_0x17cf34(0x236)]};}}function a150_0x14db(_0x5977ff,_0x2308f3){_0x5977ff=_0x5977ff-0x1cd;const _0x4b68a7=a150_0x4b68();let _0x14db71=_0x4b68a7[_0x5977ff];return _0x14db71;}function tryStat(_0x4c5551){try{return statSync(_0x4c5551);}catch{return undefined;}}function printSummary(_0x2344b3){const _0x551b5d=a150_0x53b6e9;console[_0x551b5d(0x217)](''),console[_0x551b5d(0x217)](a150_0x5a140d[_0x551b5d(0x1f0)]('===\x20Upgrade\x20Summary\x20===')),console[_0x551b5d(0x217)]('');for(const _0x2a3770 of _0x2344b3){const _0x82da54=_0x2a3770['ok']?a150_0x5a140d[_0x551b5d(0x1e0)]('OK'):a150_0x5a140d[_0x551b5d(0x244)](_0x551b5d(0x247));console[_0x551b5d(0x217)]('\x20\x20'+_0x82da54+_0x551b5d(0x1e9)+_0x2a3770[_0x551b5d(0x1f9)]+':\x20'+_0x2a3770['label']);if(_0x2a3770[_0x551b5d(0x1de)])console[_0x551b5d(0x217)](_0x551b5d(0x1dc)+a150_0x5a140d[_0x551b5d(0x211)](_0x2a3770['detail']));}console['log']('');}export async function upgradeApp(_0x3eb684,_0x3d96b1){const _0x41350c=a150_0x53b6e9,_0x9b1b21=process[_0x41350c(0x1d2)](),_0x10b7b8=analyse(_0x9b1b21),_0x1a94da=!_0x10b7b8['configMigration']&&_0x10b7b8[_0x41350c(0x226)][_0x41350c(0x1d7)]===0x0&&!_0x10b7b8[_0x41350c(0x209)]&&!_0x10b7b8['needsSkillSwap']&&!_0x10b7b8['sdkUpgrade'];if(_0x1a94da){console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1e0)](_0x41350c(0x1f4)));return;}printReport(_0x10b7b8);const _0x4b2a25=!!(_0x3d96b1['yes']||_0x3d96b1['Y']||_0x3eb684);if(!_0x4b2a25)try{const _0x150eb9=await askConfirm(_0x41350c(0x1f8));if(!_0x150eb9){console['log'](a150_0x5a140d[_0x41350c(0x211)](_0x41350c(0x1ee)));return;}}catch(_0x1b5ce3){if(_0x1b5ce3?.['message']==='CANCEL'){console['log'](a150_0x5a140d[_0x41350c(0x211)](_0x41350c(0x1ee)));return;}throw _0x1b5ce3;}const _0x1cf6db=[],_0x2fa416=a150_0x432132({'text':_0x41350c(0x1d9),'color':'cyan'})[_0x41350c(0x1d1)](),_0x14d0dc=execConfigMigration(_0x10b7b8,_0x9b1b21);_0x1cf6db[_0x41350c(0x1ff)](_0x14d0dc),_0x2fa416[_0x14d0dc['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x203)+(_0x14d0dc[_0x41350c(0x1de)]??(_0x14d0dc['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x33d304=resolve(_0x9b1b21,'.lovrabet'),_0x74a8ec=a150_0x432132({'text':_0x41350c(0x20e),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)]();if(existsSync(_0x33d304))try{rmSync(_0x33d304,{'recursive':!![],'force':!![]}),_0x74a8ec[_0x41350c(0x229)](_0x41350c(0x216)),_0x1cf6db['push']({'step':0x2,'label':_0x41350c(0x1dd),'ok':!![]});}catch(_0x471dca){_0x74a8ec['fail'](_0x41350c(0x238)+_0x471dca['message']),_0x1cf6db[_0x41350c(0x1ff)]({'step':0x2,'label':_0x41350c(0x1dd),'ok':![],'detail':_0x471dca['message']});}else _0x74a8ec[_0x41350c(0x208)](_0x41350c(0x21a)),_0x1cf6db[_0x41350c(0x1ff)]({'step':0x2,'label':_0x41350c(0x1dd),'ok':!![],'detail':_0x41350c(0x1d6)});const _0x27a6eb=a150_0x432132({'text':_0x41350c(0x1ec),'color':_0x41350c(0x22e)})['start'](),_0x54f86d=execRemoveOldArtifacts(_0x10b7b8[_0x41350c(0x226)]);_0x1cf6db[_0x41350c(0x1ff)](_0x54f86d),_0x27a6eb[_0x54f86d['ok']?_0x41350c(0x229):'fail'](_0x41350c(0x200)+(_0x54f86d[_0x41350c(0x1de)]??(_0x54f86d['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x5e79d7=a150_0x432132({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x1c7e13=execCleanMcp(_0x10b7b8);_0x1cf6db[_0x41350c(0x1ff)](_0x1c7e13),_0x5e79d7[_0x1c7e13['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x204)+(_0x1c7e13[_0x41350c(0x1de)]??(_0x1c7e13['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x153e11=a150_0x432132({'text':_0x41350c(0x232),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x5961ce=execSkillsRemove(_0x9b1b21,_0x4b2a25);_0x1cf6db['push'](_0x5961ce),_0x153e11[_0x5961ce['ok']?'succeed':_0x41350c(0x1fc)](_0x41350c(0x212)+(_0x5961ce[_0x41350c(0x1de)]??(_0x5961ce['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x232ac1=a150_0x432132({'text':_0x41350c(0x1cd),'color':'cyan'})[_0x41350c(0x1d1)](),_0x463b3d=execSkillsAdd(_0x9b1b21,_0x4b2a25);_0x1cf6db[_0x41350c(0x1ff)](_0x463b3d),_0x232ac1[_0x463b3d['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x1ea)+(_0x463b3d[_0x41350c(0x1de)]??(_0x463b3d['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x589b4f=a150_0x432132({'text':_0x41350c(0x1e8),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x35736b=execUpgradeSdk(_0x10b7b8);_0x1cf6db['push'](_0x35736b),_0x589b4f[_0x35736b['ok']?'succeed':'fail']('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x35736b['detail']??(_0x35736b['ok']?_0x41350c(0x1d4):_0x41350c(0x21e)))),printSummary(_0x1cf6db);const _0x294f9f=_0x1cf6db['some'](_0x5e9763=>!_0x5e9763['ok']);_0x294f9f?console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1f6)](_0x41350c(0x234))):console[_0x41350c(0x217)](a150_0x5a140d['green']('Upgrade\x20completed\x20successfully!')),_0x35736b['ok']&&_0x10b7b8[_0x41350c(0x230)]&&(console[_0x41350c(0x217)](''),console[_0x41350c(0x217)](a150_0x5a140d['bold'][_0x41350c(0x22e)](_0x41350c(0x1f3))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x22e)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x41350c(0x217)](''),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x237))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x206))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x240))),console[_0x41350c(0x217)](''));}