@lovrabet/rabetbase-cli 2.3.8-beta.1 → 2.3.9-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 (245) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -1
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/logs/index.js +1 -1
  101. package/lib/commands/menu/index.js +1 -1
  102. package/lib/commands/menu/list.js +1 -1
  103. package/lib/commands/menu/shared/compare-table.js +1 -1
  104. package/lib/commands/menu/shared/index.js +1 -1
  105. package/lib/commands/menu/shared/inquirer.js +1 -1
  106. package/lib/commands/menu/shared/local-pages.js +1 -1
  107. package/lib/commands/menu/shared/logic.js +1 -1
  108. package/lib/commands/menu/shared/service.js +1 -1
  109. package/lib/commands/menu/shared/sync-core.js +1 -1
  110. package/lib/commands/menu/shared/update-core.js +1 -1
  111. package/lib/commands/menu/shared/valid-url.js +1 -1
  112. package/lib/commands/menu/sync.js +1 -1
  113. package/lib/commands/menu/update.js +1 -1
  114. package/lib/commands/notification/config-list.js +1 -1
  115. package/lib/commands/notification/index.js +1 -1
  116. package/lib/commands/page/generate-start.js +1 -1
  117. package/lib/commands/page/generate-status.js +1 -1
  118. package/lib/commands/page/index.js +1 -1
  119. package/lib/commands/page/pull.js +1 -1
  120. package/lib/commands/page/push.js +1 -1
  121. package/lib/commands/page/relation-audit.js +1 -1
  122. package/lib/commands/page/shared.js +1 -1
  123. package/lib/commands/page/standard-page-status.js +1 -1
  124. package/lib/commands/page/sync.js +1 -1
  125. package/lib/commands/permit/index.js +1 -1
  126. package/lib/commands/permit/page-get.js +1 -1
  127. package/lib/commands/permit/page-set.js +1 -1
  128. package/lib/commands/permit/role-apis-set.js +1 -1
  129. package/lib/commands/permit/role-menus-set.js +1 -1
  130. package/lib/commands/permit/role-menus.js +1 -1
  131. package/lib/commands/permit/shared.js +1 -1
  132. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  133. package/lib/commands/project/create/format-elapsed.js +1 -1
  134. package/lib/commands/project/create/main.js +1 -1
  135. package/lib/commands/project/create/non-interactive.js +1 -1
  136. package/lib/commands/project/create/project-template-path.js +1 -1
  137. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  138. package/lib/commands/project/create/use-format-code.js +1 -1
  139. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  140. package/lib/commands/project/index.js +1 -1
  141. package/lib/commands/project/init.js +1 -1
  142. package/lib/commands/project/upgrade.js +1 -1
  143. package/lib/commands/registry.js +1 -1
  144. package/lib/commands/role/create.js +1 -1
  145. package/lib/commands/role/delete.js +1 -1
  146. package/lib/commands/role/detail.js +1 -1
  147. package/lib/commands/role/index.js +1 -1
  148. package/lib/commands/role/list.js +1 -1
  149. package/lib/commands/role/shared.js +1 -1
  150. package/lib/commands/role/update.js +1 -1
  151. package/lib/commands/role/user-add.js +1 -1
  152. package/lib/commands/role/user-remove.js +1 -1
  153. package/lib/commands/role/user-resolve.js +1 -1
  154. package/lib/commands/run/index.js +1 -1
  155. package/lib/commands/schema.js +1 -1
  156. package/lib/commands/sql/create.js +1 -1
  157. package/lib/commands/sql/delete.js +1 -1
  158. package/lib/commands/sql/detail.js +1 -1
  159. package/lib/commands/sql/exec.js +1 -1
  160. package/lib/commands/sql/index.js +1 -1
  161. package/lib/commands/sql/list.js +1 -1
  162. package/lib/commands/sql/pull.js +1 -1
  163. package/lib/commands/sql/push.js +1 -1
  164. package/lib/commands/sql/save.js +1 -1
  165. package/lib/commands/sql/shared.js +1 -1
  166. package/lib/commands/sql/status.js +1 -1
  167. package/lib/commands/sql/validate.js +1 -1
  168. package/lib/commands/workspace/add.js +1 -1
  169. package/lib/commands/workspace/index.js +1 -1
  170. package/lib/commands/workspace/remove.js +1 -1
  171. package/lib/config/schema.js +1 -1
  172. package/lib/constant/cdn.js +1 -1
  173. package/lib/constant/cli.js +1 -1
  174. package/lib/constant/defaults.js +1 -1
  175. package/lib/constant/domain.js +1 -1
  176. package/lib/constant/env.js +1 -1
  177. package/lib/constant/output.js +1 -1
  178. package/lib/constant/paths.js +1 -1
  179. package/lib/constant/risk.js +1 -1
  180. package/lib/context/app-resolver.js +1 -1
  181. package/lib/context/auth-resolver.js +1 -1
  182. package/lib/context/config-loader.js +1 -1
  183. package/lib/context.js +1 -1
  184. package/lib/core/alias-resolver.js +1 -1
  185. package/lib/core/api-client.js +1 -1
  186. package/lib/core/bff/config.js +1 -1
  187. package/lib/core/bff/file-system.js +1 -1
  188. package/lib/core/bff/hash.js +1 -1
  189. package/lib/core/bff/lock.js +1 -1
  190. package/lib/core/bff/utils.js +1 -1
  191. package/lib/core/db-resolver.js +1 -1
  192. package/lib/core/page/file-system.js +1 -1
  193. package/lib/core/page/hash.js +1 -1
  194. package/lib/core/page/lock.js +1 -1
  195. package/lib/core/sql-sync/config.js +1 -1
  196. package/lib/core/sql-sync/file-system.js +1 -1
  197. package/lib/core/sql-sync/hash.js +1 -1
  198. package/lib/core/sql-sync/lock.js +1 -1
  199. package/lib/core/sql-sync/utils.js +1 -1
  200. package/lib/core/sql-validator.js +1 -1
  201. package/lib/errors.js +1 -1
  202. package/lib/framework/build-all-flags.js +1 -1
  203. package/lib/framework/flags.js +1 -1
  204. package/lib/framework/help.js +1 -1
  205. package/lib/framework/index.js +1 -1
  206. package/lib/framework/output.js +1 -1
  207. package/lib/framework/response.js +1 -1
  208. package/lib/framework/runner-alias.js +1 -1
  209. package/lib/framework/runner.js +1 -1
  210. package/lib/framework/schema-export.js +1 -1
  211. package/lib/framework/types.js +1 -1
  212. package/lib/generated/build-info.js +1 -1
  213. package/lib/help.js +1 -1
  214. package/lib/skills/main.js +1 -1
  215. package/lib/skills/npx-skills-add.js +1 -1
  216. package/lib/telemetry/cli-command-trace.js +1 -1
  217. package/lib/telemetry/cli-help-trace.js +1 -1
  218. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  219. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  220. package/lib/telemetry/send-cli-trace-log.js +1 -1
  221. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  222. package/lib/utils/ai_config.js +1 -1
  223. package/lib/utils/apply-jq-filter.js +1 -1
  224. package/lib/utils/cdn-config.js +1 -1
  225. package/lib/utils/check-sdk-version.js +1 -1
  226. package/lib/utils/cli-version-check.js +1 -1
  227. package/lib/utils/cli-version-policy.js +1 -1
  228. package/lib/utils/config.js +1 -1
  229. package/lib/utils/copy-directory.js +1 -1
  230. package/lib/utils/entity-with-id.js +1 -1
  231. package/lib/utils/file-utils.js +1 -1
  232. package/lib/utils/guides-cdn.js +1 -1
  233. package/lib/utils/http-client.js +1 -1
  234. package/lib/utils/is-non-interactive.js +1 -1
  235. package/lib/utils/logger.js +1 -1
  236. package/lib/utils/params.js +1 -1
  237. package/lib/utils/platform.js +1 -1
  238. package/lib/utils/rules-cdn.js +1 -1
  239. package/lib/utils/sleep.js +1 -1
  240. package/lib/utils/template-replacer.js +1 -1
  241. package/lib/utils/update-notice.js +1 -1
  242. package/lib/utils/version.js +1 -1
  243. package/lib/utils/with-active-cookie.js +1 -1
  244. package/lib/utils/write-cli-side-channel.js +1 -1
  245. package/package.json +1 -1
@@ -1 +1 @@
1
- const a131_0x391f6c=a131_0x2b3f;(function(_0xa12dcb,_0x14a1c1){const _0x451295=a131_0x2b3f,_0xab43a7=_0xa12dcb();while(!![]){try{const _0x4e6bca=-parseInt(_0x451295(0x85))/0x1+parseInt(_0x451295(0x96))/0x2*(-parseInt(_0x451295(0x9d))/0x3)+-parseInt(_0x451295(0xa0))/0x4*(-parseInt(_0x451295(0x9f))/0x5)+-parseInt(_0x451295(0xab))/0x6*(-parseInt(_0x451295(0xbe))/0x7)+-parseInt(_0x451295(0xa9))/0x8*(-parseInt(_0x451295(0xc5))/0x9)+parseInt(_0x451295(0xaa))/0xa+parseInt(_0x451295(0xad))/0xb*(-parseInt(_0x451295(0xaf))/0xc);if(_0x4e6bca===_0x14a1c1)break;else _0xab43a7['push'](_0xab43a7['shift']());}catch(_0x5aa63e){_0xab43a7['push'](_0xab43a7['shift']());}}}(a131_0x14af,0xbed71));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a131_0x391f6c(0xb5),'type':a131_0x391f6c(0x9b),'required':!![],'description':a131_0x391f6c(0xc1)};export const ROLE_REF_FLAG={'name':a131_0x391f6c(0xa1),'type':a131_0x391f6c(0xc6),'required':!![],'description':a131_0x391f6c(0x98)};export const GRANT_FLAG={'name':'grant','type':a131_0x391f6c(0x8b),'required':![],'description':a131_0x391f6c(0xae)};export const REVOKE_FLAG={'name':a131_0x391f6c(0x93),'type':a131_0x391f6c(0x8b),'required':![],'description':a131_0x391f6c(0xcc)};function a131_0x2b3f(_0x1653e0,_0x4f8d01){_0x1653e0=_0x1653e0-0x7b;const _0x14af71=a131_0x14af();let _0x2b3f14=_0x14af71[_0x1653e0];return _0x2b3f14;}export const MENUS_FLAG={'name':a131_0x391f6c(0xb7),'type':a131_0x391f6c(0xc6),'required':!![],'description':'Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke'};export const DATASETS_FLAG={'name':a131_0x391f6c(0xbd),'type':a131_0x391f6c(0xc6),'required':!![],'description':a131_0x391f6c(0x7e)};export const PAGE_SLOT_SPECS=[{'flag':a131_0x391f6c(0x94),'key':a131_0x391f6c(0xa2),'allowSelf':![],'label':a131_0x391f6c(0x9c)},{'flag':a131_0x391f6c(0x81),'key':a131_0x391f6c(0x8c),'allowSelf':![],'label':'data\x20create'},{'flag':a131_0x391f6c(0xcb),'key':a131_0x391f6c(0xc7),'allowSelf':![],'label':'data\x20update'},{'flag':a131_0x391f6c(0xb3),'key':a131_0x391f6c(0x86),'allowSelf':![],'label':a131_0x391f6c(0xb4)},{'flag':'detail-roles','key':a131_0x391f6c(0xbf),'allowSelf':![],'label':a131_0x391f6c(0xd0)},{'flag':a131_0x391f6c(0xb8),'key':a131_0x391f6c(0xa7),'allowSelf':![],'label':a131_0x391f6c(0x8d)},{'flag':'row-roles','key':a131_0x391f6c(0xb9),'allowSelf':!![],'label':a131_0x391f6c(0x7c)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a131_0x391f6c(0x92)](_0x5e12b1=>({'name':_0x5e12b1[a131_0x391f6c(0xc8)],'type':a131_0x391f6c(0xc6),'required':![],'description':a131_0x391f6c(0xa8)+_0x5e12b1[a131_0x391f6c(0xb2)]+'\x20(comma-separated\x20SELF/ALL/id/name)'+(_0x5e12b1[a131_0x391f6c(0xa4)]?a131_0x391f6c(0x8e):'')}));export function splitList(_0x3af5b1){const _0x1e317a=a131_0x391f6c;return _0x3af5b1['split'](',')['map'](_0x317ee9=>_0x317ee9['trim']())[_0x1e317a(0xc4)](Boolean);}export function projectRoleRef(_0x44d355){const _0x20f6bc=a131_0x391f6c;return{'id':_0x44d355['id'],'roleName':_0x44d355['roleName'],'roleType':_0x44d355[_0x20f6bc(0x95)]};}export async function resolvePermitRoles(_0x251f79,_0x44289d,_0x396663){const _0x5b9e5c=a131_0x391f6c,_0x46b4e9=await listPermitRoles(_0x251f79,{'needSelf':!![],'needPublic':!![]}),_0x1b7d65=[];for(const _0x26d554 of _0x44289d){const _0x25520e=resolveOnePermitRole(_0x46b4e9,_0x26d554);if(!_0x396663[_0x5b9e5c(0xa4)]&&_0x25520e[_0x5b9e5c(0x95)]===_0x5b9e5c(0x82))throw CliErrors[_0x5b9e5c(0x89)](_0x5b9e5c(0xbc)+_0x396663[_0x5b9e5c(0xb2)]+'.',_0x5b9e5c(0xc3));if(!_0x1b7d65[_0x5b9e5c(0x91)](_0x2bd891=>_0x2bd891['id']===_0x25520e['id']))_0x1b7d65[_0x5b9e5c(0xb0)](_0x25520e);}return _0x1b7d65;}function resolveOnePermitRole(_0x1a3dfe,_0x5c61ab){const _0x1c2a31=a131_0x391f6c,_0x187cd9=_0x5c61ab[_0x1c2a31(0x8a)](),_0x474b4a=_0x187cd9['toUpperCase']();if(_0x474b4a==='SELF'||_0x474b4a===_0x1c2a31(0xb1)){const _0x46fe8f=_0x1a3dfe[_0x1c2a31(0x7d)](_0x55d23b=>_0x55d23b[_0x1c2a31(0x95)]===_0x474b4a);if(!_0x46fe8f)throw CliErrors['validation'](_0x1c2a31(0x9e)+_0x474b4a+_0x1c2a31(0x88));return _0x46fe8f;}if(/^-?\d+$/[_0x1c2a31(0xa3)](_0x187cd9)){const _0x4eea8c=Number(_0x187cd9),_0xfd0d1d=_0x1a3dfe[_0x1c2a31(0x7d)](_0x120b10=>_0x120b10['id']===_0x4eea8c);if(!_0xfd0d1d)throw CliErrors['validation'](_0x1c2a31(0xcf)+_0x4eea8c+_0x1c2a31(0x8f),'Run\x20`role\x20list`.');return _0xfd0d1d;}const _0xb09dc2=_0x1a3dfe[_0x1c2a31(0xc4)](_0x420bd1=>_0x420bd1[_0x1c2a31(0xa5)]===_0x187cd9);if(_0xb09dc2[_0x1c2a31(0x80)]===0x0)throw CliErrors[_0x1c2a31(0x89)](_0x1c2a31(0xac)+_0x187cd9+_0x1c2a31(0xb6),'Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.');if(_0xb09dc2[_0x1c2a31(0x80)]>0x1)throw CliErrors[_0x1c2a31(0x89)](_0x1c2a31(0xac)+_0x187cd9+_0x1c2a31(0x99)+_0xb09dc2[_0x1c2a31(0x92)](_0x551835=>_0x551835['id'])['join'](',\x20')+').',_0x1c2a31(0xd1));return _0xb09dc2[0x0];}export function projectPageSlot(_0x40c55e){const _0x295a95=a131_0x391f6c;if(!_0x40c55e)return null;return{'resourceCode':_0x40c55e['resourceCode'],'roles':(_0x40c55e[_0x295a95(0xc0)]??[])[_0x295a95(0x92)](projectRoleRef)};}export function projectPagePermit(_0x4d5e73){const _0x356e0c=a131_0x391f6c,_0x22b58d={'menuId':_0x4d5e73[_0x356e0c(0xc9)],'appCode':_0x4d5e73[_0x356e0c(0xc2)],'menuPermit':projectPageSlot(_0x4d5e73[_0x356e0c(0xa2)])};for(const _0x133b1e of PAGE_SLOT_SPECS){if(_0x133b1e[_0x356e0c(0x7b)]===_0x356e0c(0xa2))continue;_0x22b58d[_0x133b1e[_0x356e0c(0x7b)]]=projectPageSlot(_0x4d5e73[_0x133b1e[_0x356e0c(0x7b)]]);}return _0x22b58d;}function a131_0x14af(){const _0x2b9db0=['6646815BijKCo','4irQHYL','role','menuPermit','test','allowSelf','roleName','flagMissing','dataExport','Roles\x20for\x20','56wMreOc','12189070scbYJE','876198egpRGV','Role\x20\x22','11Xbibss','Grant\x20access\x20to\x20the\x20listed\x20resources','729216WcEzdZ','push','ALL','label','delete-roles','data\x20delete','menu-id','\x22\x20not\x20found.','menus','export-roles','dataPermit','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','access','SELF\x20is\x20not\x20allowed\x20for\x20','datasets','35kWpzXa','dataDetail','rolePermit','Menu\x20id\x20(from\x20`menu\x20list`)','appCode','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','filter','386082fcdCHm','string','dataUpdate','flag','menuId','pageNodeList','update-roles','Revoke\x20access\x20to\x20the\x20listed\x20resources','set','action','Role\x20id\x20','data\x20detail','Disambiguate\x20with\x20an\x20id.','Missing\x20action.','key','row\x20visibility','find','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','datasetCode','length','create-roles','SELF','resourceCode','apiList','1192997ciPvyW','dataDelete','bool','\x20is\x20not\x20available\x20for\x20this\x20app.','validation','trim','boolean','dataCreate','data\x20export',';\x20SELF\x20=\x20only\x20own\x20rows','\x20not\x20found.','resourceName','some','map','revoke','menu-roles','roleType','123462rJJSpk','allowedActions','Role\x20id\x20or\x20role\x20name','\x22\x20is\x20ambiguous\x20(ids:\x20','Pass\x20--role\x20<id|name>.','number','menu\x20visibility','75oPqrDL','Special\x20role\x20'];a131_0x14af=function(){return _0x2b9db0;};return a131_0x14af();}export function flattenMenuResources(_0x3ea95b){const _0x2caace=new Map(),_0x2a3cb5=_0x45a67b=>{const _0x17d6e7=a131_0x2b3f;for(const _0x398a20 of _0x45a67b??[]){_0x2caace[_0x17d6e7(0xcd)](_0x398a20[_0x17d6e7(0x83)],{'resourceCode':_0x398a20[_0x17d6e7(0x83)],'resourceName':_0x398a20[_0x17d6e7(0x90)],'action':_0x398a20[_0x17d6e7(0x97)]?.[0x0]??'0'});if(_0x398a20['pageNodeList'])_0x2a3cb5(_0x398a20[_0x17d6e7(0xca)]);}};return _0x2a3cb5(_0x3ea95b),_0x2caace;}export function flattenApiResources(_0x98c09c){const _0x4134e2=a131_0x391f6c,_0x55e3f4=new Map(),_0x5653ca=new Map();for(const _0x25d6f0 of _0x98c09c){const _0x367418=_0x25d6f0[_0x4134e2(0x84)]??{};for(const [_0x18ccff,_0x3df3ba]of Object['entries'](_0x367418)){_0x55e3f4[_0x4134e2(0xcd)](_0x18ccff,{'resourceCode':_0x18ccff,'resourceName':_0x25d6f0[_0x4134e2(0x90)],'datasetCode':_0x25d6f0[_0x4134e2(0x7f)],'action':_0x3df3ba?.[0x0]??'0'});const _0x32afd3=_0x5653ca['get'](_0x25d6f0[_0x4134e2(0x7f)])??[];_0x32afd3['push'](_0x18ccff),_0x5653ca[_0x4134e2(0xcd)](_0x25d6f0[_0x4134e2(0x7f)],_0x32afd3);}}return{'byCode':_0x55e3f4,'byDataset':_0x5653ca};}export function buildPermits(_0x43308f,_0x58c52c){const _0x2681a4=a131_0x391f6c,_0x1e3449={};for(const [_0x2aaeed,_0x2fa0e9]of _0x43308f){const _0x1addd0=_0x58c52c['get'](_0x2aaeed)??_0x2fa0e9[_0x2681a4(0xce)];_0x1e3449[_0x2aaeed]=[_0x1addd0];}return _0x1e3449;}export function readRoleRef(_0x4f0b04){const _0x307ad4=a131_0x391f6c,_0x1d237a=_0x4f0b04['str'](_0x307ad4(0xa1))['trim']();if(!_0x1d237a)throw CliErrors[_0x307ad4(0xa6)](_0x307ad4(0xa1),_0x307ad4(0x9a));return _0x1d237a;}export function readGrantRevoke(_0x34352){const _0xa6a6cf=a131_0x391f6c,_0x1c6b5a=_0x34352[_0xa6a6cf(0x87)]('grant'),_0x32325d=_0x34352[_0xa6a6cf(0x87)](_0xa6a6cf(0x93));if(_0x1c6b5a&&_0x32325d)throw CliErrors[_0xa6a6cf(0x89)](_0xa6a6cf(0xba));if(!_0x1c6b5a&&!_0x32325d)throw CliErrors[_0xa6a6cf(0x89)](_0xa6a6cf(0xd2),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x1c6b5a?_0xa6a6cf(0xbb):'0';}
1
+ const a131_0x40ab0e=a131_0x2b72;(function(_0x253896,_0x31417d){const _0x11a91e=a131_0x2b72,_0x4420c6=_0x253896();while(!![]){try{const _0x23f656=-parseInt(_0x11a91e(0x134))/0x1+-parseInt(_0x11a91e(0x11d))/0x2*(parseInt(_0x11a91e(0x11e))/0x3)+-parseInt(_0x11a91e(0x116))/0x4*(-parseInt(_0x11a91e(0x104))/0x5)+parseInt(_0x11a91e(0x127))/0x6*(-parseInt(_0x11a91e(0x139))/0x7)+parseInt(_0x11a91e(0x115))/0x8*(-parseInt(_0x11a91e(0x13d))/0x9)+-parseInt(_0x11a91e(0xf8))/0xa*(parseInt(_0x11a91e(0xfe))/0xb)+parseInt(_0x11a91e(0x121))/0xc*(parseInt(_0x11a91e(0x10f))/0xd);if(_0x23f656===_0x31417d)break;else _0x4420c6['push'](_0x4420c6['shift']());}catch(_0x34cac7){_0x4420c6['push'](_0x4420c6['shift']());}}}(a131_0x3fab,0x3c57a));import{listPermitRoles}from'../../core/api-client.js';function a131_0x3fab(){const _0x26999c=['allowSelf','892TBWqSb','321XaEUst','access','set','12KIDswq','\x22\x20is\x20ambiguous\x20(ids:\x20','SELF','datasetCode','row-roles','\x22\x20not\x20found.','966JTMyqW','action','menuPermit','some','Role\x20\x22','data\x20detail','rolePermit','Menu\x20id\x20(from\x20`menu\x20list`)','Revoke\x20access\x20to\x20the\x20listed\x20resources','key','data\x20create','dataDelete','Role\x20id\x20or\x20role\x20name','363008pdsizL','menu\x20visibility','length','appCode','data\x20export','19502jabBoX','str','dataUpdate','Role\x20id\x20','3314583MPlTBg','create-roles','row\x20visibility','Roles\x20for\x20','data\x20update','validation','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','dataCreate','join','pageNodeList','roleName','string','Pass\x20--role\x20<id|name>.','update-roles','test','roleType','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','\x20(comma-separated\x20SELF/ALL/id/name)','allowedActions','SELF\x20is\x20not\x20allowed\x20for\x20','apiList','export-roles','label','10MdjdGb','delete-roles','dataExport','filter','Run\x20`role\x20list`.','toUpperCase','1986402zyTJDx','menu-id','bool','get','push','ALL','115ibVNkl','find','resourceCode','datasets','flag','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','revoke',';\x20SELF\x20=\x20only\x20own\x20rows','split','grant','role','20600164PyFLjS','Disambiguate\x20with\x20an\x20id.','boolean','Missing\x20action.','\x20is\x20not\x20available\x20for\x20this\x20app.','resourceName','8rAyRcH','12292zYwiwO','entries','map','trim','detail-roles','flagMissing'];a131_0x3fab=function(){return _0x26999c;};return a131_0x3fab();}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a131_0x40ab0e(0xff),'type':'number','required':!![],'description':a131_0x40ab0e(0x12e)};export const ROLE_REF_FLAG={'name':'role','type':a131_0x40ab0e(0x148),'required':!![],'description':a131_0x40ab0e(0x133)};export const GRANT_FLAG={'name':'grant','type':a131_0x40ab0e(0x111),'required':![],'description':'Grant\x20access\x20to\x20the\x20listed\x20resources'};export const REVOKE_FLAG={'name':a131_0x40ab0e(0x10a),'type':a131_0x40ab0e(0x111),'required':![],'description':a131_0x40ab0e(0x12f)};export const MENUS_FLAG={'name':'menus','type':'string','required':!![],'description':a131_0x40ab0e(0x109)};export const DATASETS_FLAG={'name':a131_0x40ab0e(0x107),'type':'string','required':!![],'description':'Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for'};function a131_0x2b72(_0x19eccc,_0x5921c2){_0x19eccc=_0x19eccc-0xee;const _0x3fab80=a131_0x3fab();let _0x2b72e1=_0x3fab80[_0x19eccc];return _0x2b72e1;}export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':'menuPermit','allowSelf':![],'label':a131_0x40ab0e(0x135)},{'flag':a131_0x40ab0e(0x13e),'key':a131_0x40ab0e(0x144),'allowSelf':![],'label':a131_0x40ab0e(0x131)},{'flag':a131_0x40ab0e(0xee),'key':a131_0x40ab0e(0x13b),'allowSelf':![],'label':a131_0x40ab0e(0x141)},{'flag':a131_0x40ab0e(0xf9),'key':a131_0x40ab0e(0x132),'allowSelf':![],'label':'data\x20delete'},{'flag':a131_0x40ab0e(0x11a),'key':'dataDetail','allowSelf':![],'label':a131_0x40ab0e(0x12c)},{'flag':a131_0x40ab0e(0xf6),'key':a131_0x40ab0e(0xfa),'allowSelf':![],'label':a131_0x40ab0e(0x138)},{'flag':a131_0x40ab0e(0x125),'key':'dataPermit','allowSelf':!![],'label':a131_0x40ab0e(0x13f)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS[a131_0x40ab0e(0x118)](_0x2380a7=>({'name':_0x2380a7[a131_0x40ab0e(0x108)],'type':a131_0x40ab0e(0x148),'required':![],'description':a131_0x40ab0e(0x140)+_0x2380a7[a131_0x40ab0e(0xf7)]+a131_0x40ab0e(0xf2)+(_0x2380a7[a131_0x40ab0e(0x11c)]?a131_0x40ab0e(0x10b):'')}));export function splitList(_0x48fb16){const _0x29085c=a131_0x40ab0e;return _0x48fb16[_0x29085c(0x10c)](',')[_0x29085c(0x118)](_0x19cb12=>_0x19cb12[_0x29085c(0x119)]())[_0x29085c(0xfb)](Boolean);}export function projectRoleRef(_0x23f187){const _0x582ab2=a131_0x40ab0e;return{'id':_0x23f187['id'],'roleName':_0x23f187[_0x582ab2(0x147)],'roleType':_0x23f187['roleType']};}export async function resolvePermitRoles(_0x17f574,_0x1f05cd,_0x43c9cd){const _0x1d6f42=a131_0x40ab0e,_0x21587d=await listPermitRoles(_0x17f574,{'needSelf':!![],'needPublic':!![]}),_0x26132d=[];for(const _0x5dc8e7 of _0x1f05cd){const _0x1aceac=resolveOnePermitRole(_0x21587d,_0x5dc8e7);if(!_0x43c9cd[_0x1d6f42(0x11c)]&&_0x1aceac['roleType']===_0x1d6f42(0x123))throw CliErrors[_0x1d6f42(0x142)](_0x1d6f42(0xf4)+_0x43c9cd[_0x1d6f42(0xf7)]+'.',_0x1d6f42(0xf1));if(!_0x26132d[_0x1d6f42(0x12a)](_0x291a67=>_0x291a67['id']===_0x1aceac['id']))_0x26132d[_0x1d6f42(0x102)](_0x1aceac);}return _0x26132d;}function resolveOnePermitRole(_0x51cb94,_0x46c3ac){const _0x281c61=a131_0x40ab0e,_0xc353a2=_0x46c3ac[_0x281c61(0x119)](),_0x55efbe=_0xc353a2[_0x281c61(0xfd)]();if(_0x55efbe===_0x281c61(0x123)||_0x55efbe===_0x281c61(0x103)){const _0x12a711=_0x51cb94[_0x281c61(0x105)](_0x3f316e=>_0x3f316e[_0x281c61(0xf0)]===_0x55efbe);if(!_0x12a711)throw CliErrors[_0x281c61(0x142)]('Special\x20role\x20'+_0x55efbe+_0x281c61(0x113));return _0x12a711;}if(/^-?\d+$/[_0x281c61(0xef)](_0xc353a2)){const _0x2be3aa=Number(_0xc353a2),_0x3ee75b=_0x51cb94[_0x281c61(0x105)](_0x40d75d=>_0x40d75d['id']===_0x2be3aa);if(!_0x3ee75b)throw CliErrors[_0x281c61(0x142)](_0x281c61(0x13c)+_0x2be3aa+'\x20not\x20found.',_0x281c61(0xfc));return _0x3ee75b;}const _0x399324=_0x51cb94[_0x281c61(0xfb)](_0x59bd23=>_0x59bd23['roleName']===_0xc353a2);if(_0x399324[_0x281c61(0x136)]===0x0)throw CliErrors[_0x281c61(0x142)](_0x281c61(0x12b)+_0xc353a2+_0x281c61(0x126),_0x281c61(0x143));if(_0x399324[_0x281c61(0x136)]>0x1)throw CliErrors[_0x281c61(0x142)](_0x281c61(0x12b)+_0xc353a2+_0x281c61(0x122)+_0x399324[_0x281c61(0x118)](_0x1953ce=>_0x1953ce['id'])[_0x281c61(0x145)](',\x20')+').',_0x281c61(0x110));return _0x399324[0x0];}export function projectPageSlot(_0x37379f){const _0x515b1a=a131_0x40ab0e;if(!_0x37379f)return null;return{'resourceCode':_0x37379f['resourceCode'],'roles':(_0x37379f[_0x515b1a(0x12d)]??[])[_0x515b1a(0x118)](projectRoleRef)};}export function projectPagePermit(_0x16e779){const _0x12df44=a131_0x40ab0e,_0xaeee97={'menuId':_0x16e779['menuId'],'appCode':_0x16e779[_0x12df44(0x137)],'menuPermit':projectPageSlot(_0x16e779[_0x12df44(0x129)])};for(const _0x2c56c3 of PAGE_SLOT_SPECS){if(_0x2c56c3[_0x12df44(0x130)]===_0x12df44(0x129))continue;_0xaeee97[_0x2c56c3[_0x12df44(0x130)]]=projectPageSlot(_0x16e779[_0x2c56c3[_0x12df44(0x130)]]);}return _0xaeee97;}export function flattenMenuResources(_0x57aeff){const _0x3fbfa5=new Map(),_0xdd1a3d=_0x48e0c9=>{const _0x158ab9=a131_0x2b72;for(const _0x59dcf1 of _0x48e0c9??[]){_0x3fbfa5[_0x158ab9(0x120)](_0x59dcf1[_0x158ab9(0x106)],{'resourceCode':_0x59dcf1[_0x158ab9(0x106)],'resourceName':_0x59dcf1[_0x158ab9(0x114)],'action':_0x59dcf1[_0x158ab9(0xf3)]?.[0x0]??'0'});if(_0x59dcf1[_0x158ab9(0x146)])_0xdd1a3d(_0x59dcf1[_0x158ab9(0x146)]);}};return _0xdd1a3d(_0x57aeff),_0x3fbfa5;}export function flattenApiResources(_0x212a9c){const _0x90d358=a131_0x40ab0e,_0xd272a3=new Map(),_0x2983cc=new Map();for(const _0x508c92 of _0x212a9c){const _0x1167bf=_0x508c92[_0x90d358(0xf5)]??{};for(const [_0x4cfbf5,_0x5c0d83]of Object[_0x90d358(0x117)](_0x1167bf)){_0xd272a3[_0x90d358(0x120)](_0x4cfbf5,{'resourceCode':_0x4cfbf5,'resourceName':_0x508c92[_0x90d358(0x114)],'datasetCode':_0x508c92[_0x90d358(0x124)],'action':_0x5c0d83?.[0x0]??'0'});const _0x4a61d3=_0x2983cc[_0x90d358(0x101)](_0x508c92[_0x90d358(0x124)])??[];_0x4a61d3['push'](_0x4cfbf5),_0x2983cc[_0x90d358(0x120)](_0x508c92[_0x90d358(0x124)],_0x4a61d3);}}return{'byCode':_0xd272a3,'byDataset':_0x2983cc};}export function buildPermits(_0xc2abc8,_0x235a54){const _0x3ade52=a131_0x40ab0e,_0x4f95f2={};for(const [_0x69e2b2,_0x477012]of _0xc2abc8){const _0x2303ed=_0x235a54['get'](_0x69e2b2)??_0x477012[_0x3ade52(0x128)];_0x4f95f2[_0x69e2b2]=[_0x2303ed];}return _0x4f95f2;}export function readRoleRef(_0x55d282){const _0x1ce608=a131_0x40ab0e,_0x48ef77=_0x55d282[_0x1ce608(0x13a)]('role')[_0x1ce608(0x119)]();if(!_0x48ef77)throw CliErrors[_0x1ce608(0x11b)](_0x1ce608(0x10e),_0x1ce608(0x149));return _0x48ef77;}export function readGrantRevoke(_0x59c8be){const _0x2db4d3=a131_0x40ab0e,_0x52a019=_0x59c8be['bool'](_0x2db4d3(0x10d)),_0x3386da=_0x59c8be[_0x2db4d3(0x100)](_0x2db4d3(0x10a));if(_0x52a019&&_0x3386da)throw CliErrors[_0x2db4d3(0x142)]('--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.');if(!_0x52a019&&!_0x3386da)throw CliErrors[_0x2db4d3(0x142)](_0x2db4d3(0x112),'Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.');return _0x52a019?_0x2db4d3(0x11f):'0';}
@@ -1 +1 @@
1
- function a132_0x53e0(_0x4a69b8,_0x41755b){_0x4a69b8=_0x4a69b8-0xf7;const _0x35eece=a132_0x35ee();let _0x53e0f7=_0x35eece[_0x4a69b8];return _0x53e0f7;}(function(_0x4fdf08,_0x2d7b18){const _0x4a56b4=a132_0x53e0,_0x3de7c=_0x4fdf08();while(!![]){try{const _0x3c17be=-parseInt(_0x4a56b4(0x113))/0x1*(parseInt(_0x4a56b4(0x116))/0x2)+parseInt(_0x4a56b4(0x112))/0x3+parseInt(_0x4a56b4(0xfa))/0x4*(-parseInt(_0x4a56b4(0x10a))/0x5)+parseInt(_0x4a56b4(0x109))/0x6+parseInt(_0x4a56b4(0xfb))/0x7*(-parseInt(_0x4a56b4(0x105))/0x8)+-parseInt(_0x4a56b4(0x108))/0x9+parseInt(_0x4a56b4(0xff))/0xa;if(_0x3c17be===_0x2d7b18)break;else _0x3de7c['push'](_0x3de7c['shift']());}catch(_0x112a8f){_0x3de7c['push'](_0x3de7c['shift']());}}}(a132_0x35ee,0x3ac02));import{existsSync}from'node:fs';import a132_0x539872 from'node:path';import a132_0xaf0ef9 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';function a132_0x35ee(){const _0x444570=['2GpVlke','cyan','Project\x20name\x20cannot\x20exceed\x2050\x20characters','resolve','132YGsSdV','21yEnLur','env','trim','Directory\x20\x22','7820220aoSVCS','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','string','\x22\x20already\x20exists','cwd','√\x20Login\x20status:\x20','1104056EYOBSE','√\x20Project\x20Name:\x20','my-app','3550014FSMnuh','2602152leayPt','25055rPjjKN','green','Skipped','test','length','Project\x20name:','log','Not\x20set','123090pDHICX','42272dejDZe','√\x20App\x20Code:\x20','production'];a132_0x35ee=function(){return _0x444570;};return a132_0x35ee();}import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';export async function guidedCreateProject(_0x4a0ff0,_0x7efd80,_0x366124){const _0x1995a9=a132_0x53e0,_0x1fe3e9=_0x1995a9(0x107),_0x336c15=readConfig(),_0x1cb0be=typeof _0x336c15[_0x1995a9(0xfc)]===_0x1995a9(0x101)?_0x336c15[_0x1995a9(0xfc)]:undefined,_0x352d63=await input({'message':_0x1995a9(0x10f),'default':_0x1fe3e9,'validate':_0x29f2f2=>{const _0x55bb04=_0x1995a9,_0x287263=_0x29f2f2[_0x55bb04(0xfd)]()||_0x1fe3e9;if(_0x287263[_0x55bb04(0x10e)]>0x32)return _0x55bb04(0xf8);const _0x42d90a=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0x287263&&!_0x42d90a[_0x55bb04(0x10d)](_0x287263))return'Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_';const _0x3dee62=a132_0x539872[_0x55bb04(0xf9)](process[_0x55bb04(0x103)](),_0x287263);if(existsSync(_0x3dee62))return _0x55bb04(0xfe)+_0x287263+_0x55bb04(0x102);return!![];}});console['log'](a132_0xaf0ef9[_0x1995a9(0x10b)](_0x1995a9(0x106)+a132_0xaf0ef9[_0x1995a9(0xf7)](_0x352d63)));const _0x196730=await selectSingleAppcode(_0x366124);console[_0x1995a9(0x110)](a132_0xaf0ef9['green'](_0x1995a9(0x114)+a132_0xaf0ef9[_0x1995a9(0xf7)](_0x196730||_0x1995a9(0x111))));if(_0x196730){const _0x194007=await getIsSessionValid();if(!_0x194007){const _0x4f8f3c=await confirm({'message':_0x1995a9(0x100),'default':!![]});if(_0x4f8f3c){const _0x523650=await authServer({'silent':!![]});console[_0x1995a9(0x110)](a132_0xaf0ef9[_0x1995a9(0x10b)](_0x1995a9(0x104)+a132_0xaf0ef9[_0x1995a9(0xf7)](_0x523650?'Logged\x20in':'Login\x20failed')));}else console[_0x1995a9(0x110)](a132_0xaf0ef9[_0x1995a9(0x10b)](_0x1995a9(0x104)+a132_0xaf0ef9['cyan'](_0x1995a9(0x10c))));}await _0x4a0ff0({'projectName':_0x352d63,'appCode':_0x196730,'env':_0x7efd80||_0x1cb0be||_0x1995a9(0x115)});}else await _0x4a0ff0({'projectName':_0x352d63,'env':_0x7efd80||_0x1cb0be||_0x1995a9(0x115)});}
1
+ (function(_0x22ebba,_0xe9d9d0){const _0x2cd232=a132_0x4af4,_0x46721d=_0x22ebba();while(!![]){try{const _0x54bca7=-parseInt(_0x2cd232(0x203))/0x1+parseInt(_0x2cd232(0x1f5))/0x2*(parseInt(_0x2cd232(0x1f8))/0x3)+-parseInt(_0x2cd232(0x207))/0x4+-parseInt(_0x2cd232(0x1f0))/0x5+parseInt(_0x2cd232(0x200))/0x6+-parseInt(_0x2cd232(0x1fb))/0x7*(-parseInt(_0x2cd232(0x1ef))/0x8)+parseInt(_0x2cd232(0x1fe))/0x9;if(_0x54bca7===_0xe9d9d0)break;else _0x46721d['push'](_0x46721d['shift']());}catch(_0x20df7e){_0x46721d['push'](_0x46721d['shift']());}}}(a132_0x4fca,0x917c5));import{existsSync}from'node:fs';import a132_0x1937a2 from'node:path';import a132_0xc4b68d from'chalk';import{input,confirm}from'@inquirer/prompts';function a132_0x4af4(_0x3a6ccb,_0x42dfc0){_0x3a6ccb=_0x3a6ccb-0x1ee;const _0x4fcac6=a132_0x4fca();let _0x4af4de=_0x4fcac6[_0x3a6ccb];return _0x4af4de;}import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';function a132_0x4fca(){const _0x2d1b8e=['trim','log','green','3986300yPmbxd','√\x20App\x20Code:\x20','√\x20Login\x20status:\x20','resolve','Directory\x20\x22','Not\x20set','16XhhHJU','1929540EevUyV','string','env','cwd','√\x20Project\x20Name:\x20','2OUxMgI','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','cyan','2116218tUjjfs','production','test','1208284PWTzKE','Login\x20failed','Project\x20name:','16992171xOOBQJ','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','286224FpxNAV','Logged\x20in','Skipped','1007961Xvqxqe'];a132_0x4fca=function(){return _0x2d1b8e;};return a132_0x4fca();}export async function guidedCreateProject(_0x1385ea,_0x543b83,_0x59f92a){const _0x29d91b=a132_0x4af4,_0x2026fd='my-app',_0x3d7813=readConfig(),_0x57a99e=typeof _0x3d7813[_0x29d91b(0x1f2)]===_0x29d91b(0x1f1)?_0x3d7813['env']:undefined,_0x3d2c97=await input({'message':_0x29d91b(0x1fd),'default':_0x2026fd,'validate':_0x196af8=>{const _0x5e20ce=_0x29d91b,_0xae7f3f=_0x196af8[_0x5e20ce(0x204)]()||_0x2026fd;if(_0xae7f3f['length']>0x32)return'Project\x20name\x20cannot\x20exceed\x2050\x20characters';const _0x49618a=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(_0xae7f3f&&!_0x49618a[_0x5e20ce(0x1fa)](_0xae7f3f))return _0x5e20ce(0x1ff);const _0x1cec31=a132_0x1937a2[_0x5e20ce(0x20a)](process[_0x5e20ce(0x1f3)](),_0xae7f3f);if(existsSync(_0x1cec31))return _0x5e20ce(0x20b)+_0xae7f3f+'\x22\x20already\x20exists';return!![];}});console['log'](a132_0xc4b68d[_0x29d91b(0x206)](_0x29d91b(0x1f4)+a132_0xc4b68d[_0x29d91b(0x1f7)](_0x3d2c97)));const _0x16aebb=await selectSingleAppcode(_0x59f92a);console[_0x29d91b(0x205)](a132_0xc4b68d['green'](_0x29d91b(0x208)+a132_0xc4b68d[_0x29d91b(0x1f7)](_0x16aebb||_0x29d91b(0x1ee))));if(_0x16aebb){const _0x381d68=await getIsSessionValid();if(!_0x381d68){const _0x2519fe=await confirm({'message':_0x29d91b(0x1f6),'default':!![]});if(_0x2519fe){const _0x245672=await authServer({'silent':!![]});console[_0x29d91b(0x205)](a132_0xc4b68d[_0x29d91b(0x206)]('√\x20Login\x20status:\x20'+a132_0xc4b68d['cyan'](_0x245672?_0x29d91b(0x201):_0x29d91b(0x1fc))));}else console[_0x29d91b(0x205)](a132_0xc4b68d[_0x29d91b(0x206)](_0x29d91b(0x209)+a132_0xc4b68d[_0x29d91b(0x1f7)](_0x29d91b(0x202))));}await _0x1385ea({'projectName':_0x3d2c97,'appCode':_0x16aebb,'env':_0x543b83||_0x57a99e||_0x29d91b(0x1f9)});}else await _0x1385ea({'projectName':_0x3d2c97,'env':_0x543b83||_0x57a99e||'production'});}
@@ -1 +1 @@
1
- (function(_0x222faa,_0x14aef5){const _0x5bb815=a133_0x5d2c,_0x1b5a2c=_0x222faa();while(!![]){try{const _0x17bf75=parseInt(_0x5bb815(0x79))/0x1+parseInt(_0x5bb815(0x7a))/0x2*(parseInt(_0x5bb815(0x80))/0x3)+parseInt(_0x5bb815(0x78))/0x4+parseInt(_0x5bb815(0x7d))/0x5*(-parseInt(_0x5bb815(0x76))/0x6)+parseInt(_0x5bb815(0x7c))/0x7+-parseInt(_0x5bb815(0x7b))/0x8+parseInt(_0x5bb815(0x81))/0x9*(-parseInt(_0x5bb815(0x7f))/0xa);if(_0x17bf75===_0x14aef5)break;else _0x1b5a2c['push'](_0x1b5a2c['shift']());}catch(_0x9c559){_0x1b5a2c['push'](_0x1b5a2c['shift']());}}}(a133_0x5a23,0x77db4));function a133_0x5d2c(_0x1784b3,_0x429b05){_0x1784b3=_0x1784b3-0x76;const _0x5a23bb=a133_0x5a23();let _0x5d2c51=_0x5a23bb[_0x1784b3];return _0x5d2c51;}function a133_0x5a23(){const _0x338381=['769990eDRnRT','1214sbIyaQ','4148856dyYEMI','6198367lTpsDJ','394355jBfcgH','replace','2370jhqboL','1653WemcTF','59445FdlpVa','6IKkSbk','now','2655468PbgpFc'];a133_0x5a23=function(){return _0x338381;};return a133_0x5a23();}export function formatElapsed(_0x5d3b0a){const _0xd5b33e=a133_0x5d2c,_0x4cc106=Date[_0xd5b33e(0x77)]()-_0x5d3b0a;if(_0x4cc106<0x3e8)return _0x4cc106+'ms';const _0x527239=(_0x4cc106/0x3e8)['toFixed'](0x2),_0x5a98ff=_0x527239[_0xd5b33e(0x7e)](/\.?0+$/u,'');return _0x5a98ff+'s';}
1
+ function a133_0x17bd(_0x48f2fb,_0x12f683){_0x48f2fb=_0x48f2fb-0x133;const _0x17cbfd=a133_0x17cb();let _0x17bd75=_0x17cbfd[_0x48f2fb];return _0x17bd75;}(function(_0xdab117,_0xb6999b){const _0x529e18=a133_0x17bd,_0x5609ec=_0xdab117();while(!![]){try{const _0x2670cf=parseInt(_0x529e18(0x136))/0x1*(-parseInt(_0x529e18(0x133))/0x2)+parseInt(_0x529e18(0x137))/0x3*(parseInt(_0x529e18(0x13d))/0x4)+-parseInt(_0x529e18(0x13b))/0x5*(-parseInt(_0x529e18(0x134))/0x6)+-parseInt(_0x529e18(0x13c))/0x7+-parseInt(_0x529e18(0x138))/0x8+parseInt(_0x529e18(0x13a))/0x9*(-parseInt(_0x529e18(0x139))/0xa)+-parseInt(_0x529e18(0x140))/0xb*(-parseInt(_0x529e18(0x135))/0xc);if(_0x2670cf===_0xb6999b)break;else _0x5609ec['push'](_0x5609ec['shift']());}catch(_0x27e44f){_0x5609ec['push'](_0x5609ec['shift']());}}}(a133_0x17cb,0xd3331));export function formatElapsed(_0x4fc480){const _0x294a02=a133_0x17bd,_0x3c43d1=Date['now']()-_0x4fc480;if(_0x3c43d1<0x3e8)return _0x3c43d1+'ms';const _0x179ca8=(_0x3c43d1/0x3e8)[_0x294a02(0x13e)](0x2),_0x1f1c04=_0x179ca8[_0x294a02(0x13f)](/\.?0+$/u,'');return _0x1f1c04+'s';}function a133_0x17cb(){const _0x10a8dd=['toFixed','replace','1969YIODJH','2SxgPMT','6bkmkFn','169284euLuCj','684949TWLpwR','94923ooMhir','12932128wLKAnf','40KgwNFg','1851327fUhxeM','4673785pILmBF','280686sKBLjU','72gMwUuN'];a133_0x17cb=function(){return _0x10a8dd;};return a133_0x17cb();}
@@ -1 +1 @@
1
- (function(_0x2be8bf,_0x42cf63){const _0x52f6b3=a134_0x59a7,_0x2273b5=_0x2be8bf();while(!![]){try{const _0x55b97c=-parseInt(_0x52f6b3(0x20d))/0x1*(-parseInt(_0x52f6b3(0x1db))/0x2)+parseInt(_0x52f6b3(0x21a))/0x3*(parseInt(_0x52f6b3(0x1ea))/0x4)+-parseInt(_0x52f6b3(0x1ce))/0x5*(parseInt(_0x52f6b3(0x208))/0x6)+parseInt(_0x52f6b3(0x1c8))/0x7+-parseInt(_0x52f6b3(0x1fa))/0x8+-parseInt(_0x52f6b3(0x1f0))/0x9+parseInt(_0x52f6b3(0x1ff))/0xa;if(_0x55b97c===_0x42cf63)break;else _0x2273b5['push'](_0x2273b5['shift']());}catch(_0x151605){_0x2273b5['push'](_0x2273b5['shift']());}}}(a134_0x2fcb,0x33367));import a134_0x1f5afb from'path';import a134_0x163303 from'fs';import a134_0x33a805 from'chalk';import a134_0x5bd916 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';function a134_0x2fcb(){const _0x2bd350=['log','create','bold','trim','env','cd\x20','currentVersion','4OnDnJT','projectCode','modelCount','resolve','\x20dataset(s),\x20generated\x20','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','2279925FWKdin','\x20&&\x20','√\x20Pulled\x20','info','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','test','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','Install\x20dependencies','清理项目目录失败:\x20','Project\x20name\x20cannot\x20be\x20empty','2324688hmelNr','1.0.0','package.json','toLocaleString','success','3454140XFakjl','Project\x20name:\x20','writeFileSync','\x20config\x20set\x20appcode\x20<app-code>\x27','更新\x20package.json\x20name','minimumVersion','\x20run\x20start','utf8','name','769206NrTSNm','\x20|\x20AppCode:\x20','Project\x20directory\x20','√\x20Configuration\x20file\x20created,\x20Apps:\x20','error','61RtzwIC','repeat','√\x20package.json\x20updated:\x20name=','\x20model(s)','warn','cookie','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','join','gray','existsSync','accessSync','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','🚀\x20Next\x20Steps:','615399okYZOm','green','\x20Generated\x20by\x20rabetbase\x20cli\x20','\x20\x201.\x20Start\x20project:\x20','*\x20Pulling\x20API\x20configuration...','\x20api\x20pull','description','Format\x20code','keys','stringify','cyan','stableVersion','1223642UADpyV','chdir','message','belowMinimum','*\x20Configuring\x20AppCode\x20for\x20project\x20','needsUpgrade','5tdHykN','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','projectName','production','parse','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','string','apps','\x20√\x20','setLogPath','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','fail','appCode','5132ehCmJX','readFileSync','更新\x20package.json\x20失败','W_OK','cwd','配置应用AppCode:\x20','配置应用AppCode失败','length'];a134_0x2fcb=function(){return _0x2bd350;};return a134_0x2fcb();}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 a134_0x59a7(_0x145dc6,_0x87756e){_0x145dc6=_0x145dc6-0x1c6;const _0x2fcb47=a134_0x2fcb();let _0x59a7ab=_0x2fcb47[_0x145dc6];return _0x59a7ab;}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(_0x9a7b98){const _0x3f8ac9=a134_0x59a7,_0x14aef1=await checkCliVersion();(_0x14aef1[_0x3f8ac9(0x1cd)]||_0x14aef1[_0x3f8ac9(0x1cb)])&&(printCliUpgradeWarning(_0x14aef1),assertCliVersionSupported(_0x14aef1),logger[_0x3f8ac9(0x1f3)](_0x3f8ac9(0x1e4),'CLI\x20版本检查',{'currentVersion':_0x14aef1[_0x3f8ac9(0x1e9)],'stableVersion':_0x14aef1[_0x3f8ac9(0x1c7)],'minimumVersion':_0x14aef1[_0x3f8ac9(0x204)],'needsUpgrade':_0x14aef1[_0x3f8ac9(0x1cd)],'belowMinimum':_0x14aef1[_0x3f8ac9(0x1cb)]}));if(_0x9a7b98[_0x3f8ac9(0x1eb)]&&_0x9a7b98[_0x3f8ac9(0x1da)])await runCreate({'projectName':_0x9a7b98[_0x3f8ac9(0x1eb)],'appCode':_0x9a7b98['appCode'],'env':_0x9a7b98['env']},_0x9a7b98);else{if(_0x9a7b98[_0x3f8ac9(0x1eb)]){const _0x4abd70=await selectSingleAppcode(_0x9a7b98[_0x3f8ac9(0x212)]);await runCreate({'projectName':_0x9a7b98[_0x3f8ac9(0x1eb)],'appCode':_0x4abd70||undefined,'env':_0x9a7b98[_0x3f8ac9(0x1e7)]},_0x9a7b98);}else await guidedCreateProject(_0x35bbad=>runCreate(_0x35bbad,_0x9a7b98),_0x9a7b98[_0x3f8ac9(0x1e7)],_0x9a7b98['cookie']);}}async function runCreate(_0x186aa1,_0x27c251){const _0x5ee8d3=a134_0x59a7;if(!_0x186aa1[_0x5ee8d3(0x1d0)]||_0x186aa1[_0x5ee8d3(0x1d0)][_0x5ee8d3(0x1e6)]()==='')throw new Error(_0x5ee8d3(0x1f9));const _0x13f430=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x13f430[_0x5ee8d3(0x1f5)](_0x186aa1[_0x5ee8d3(0x1d0)]))throw new Error(_0x5ee8d3(0x1f6));if(_0x186aa1[_0x5ee8d3(0x1d0)][_0x5ee8d3(0x1e2)]>0x64)throw new Error(_0x5ee8d3(0x1ef));const _0x5e9c20=a134_0x1f5afb[_0x5ee8d3(0x1ed)](process[_0x5ee8d3(0x1df)](),_0x186aa1[_0x5ee8d3(0x1d0)]);if(a134_0x163303[_0x5ee8d3(0x216)](_0x5e9c20))throw new Error(_0x5ee8d3(0x20a)+_0x186aa1[_0x5ee8d3(0x1d0)]+'\x20already\x20exists');try{a134_0x163303[_0x5ee8d3(0x217)](a134_0x1f5afb['dirname'](_0x5e9c20),a134_0x163303['constants'][_0x5ee8d3(0x1de)]);}catch{throw new Error(_0x5ee8d3(0x213));}logger[_0x5ee8d3(0x1d7)](_0x5e9c20),logger[_0x5ee8d3(0x1f3)](_0x5ee8d3(0x1e4),'开始创建项目:\x20'+_0x186aa1[_0x5ee8d3(0x1d0)],{'projectDir':_0x5e9c20,'appCode':_0x186aa1['appCode']}),console['log'](),console['log'](a134_0x33a805[_0x5ee8d3(0x21b)](_0x5ee8d3(0x1d6))+_0x5ee8d3(0x200)+a134_0x33a805[_0x5ee8d3(0x21b)](_0x186aa1[_0x5ee8d3(0x1d0)])+(_0x186aa1[_0x5ee8d3(0x1da)]?_0x5ee8d3(0x209)+a134_0x33a805[_0x5ee8d3(0x1c6)](_0x186aa1[_0x5ee8d3(0x1da)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x186aa1[_0x5ee8d3(0x1d0)])),await updatePackageJsonName(_0x186aa1[_0x5ee8d3(0x1d0)]),await runTask(_0x5ee8d3(0x1f7),()=>installDependencies(_0x186aa1[_0x5ee8d3(0x1d0)])),await runTask(_0x5ee8d3(0x221),()=>formatProjectCode(_0x186aa1[_0x5ee8d3(0x1d0)])),await configureAppCode(_0x186aa1[_0x5ee8d3(0x1d0)],_0x186aa1[_0x5ee8d3(0x1da)]||'',_0x186aa1['env']);let _0x1410bb=![];if(_0x186aa1[_0x5ee8d3(0x1da)]){console['log'](_0x5ee8d3(0x21e));const _0x1fdb92=process['cwd']();try{process[_0x5ee8d3(0x1c9)](_0x5e9c20);const _0x105522=_0x186aa1['env']||'production';initEnv(_0x105522);const {configArray:_0x2e2332}=await fetchModelList(_0x186aa1[_0x5ee8d3(0x1da)],_0x27c251[_0x5ee8d3(0x212)]||''),_0x25ae80=DEFAULT_API_DIR,_0x145750=await generateApiFile(_0x2e2332,'',_0x186aa1[_0x5ee8d3(0x1da)],!![],_0x105522,_0x25ae80);console[_0x5ee8d3(0x1e3)](_0x5ee8d3(0x1f2)+_0x2e2332[_0x5ee8d3(0x1e2)]+_0x5ee8d3(0x1ee)+_0x145750[_0x5ee8d3(0x1ec)]+_0x5ee8d3(0x210)),logger[_0x5ee8d3(0x1f3)](_0x5ee8d3(0x1e4),'API\x20configuration\x20pulled:\x20'+_0x186aa1[_0x5ee8d3(0x1da)]);}catch(_0xb56426){_0x1410bb=!![],console[_0x5ee8d3(0x1e3)](_0x5ee8d3(0x1cf)),logger[_0x5ee8d3(0x211)]('create','API\x20配置拉取异常',{'error':_0xb56426 instanceof Error?_0xb56426[_0x5ee8d3(0x1ca)]:String(_0xb56426)});}finally{process[_0x5ee8d3(0x1c9)](_0x1fdb92);}}logger[_0x5ee8d3(0x1fe)](_0x5ee8d3(0x1e4),'项目创建完成:\x20'+_0x186aa1[_0x5ee8d3(0x1d0)]),console['log'](),console[_0x5ee8d3(0x1e3)](a134_0x33a805[_0x5ee8d3(0x21b)]('─'[_0x5ee8d3(0x20e)](0x3c))),console[_0x5ee8d3(0x1e3)](a134_0x33a805[_0x5ee8d3(0x1c6)][_0x5ee8d3(0x1e5)](_0x5ee8d3(0x219))),console[_0x5ee8d3(0x1e3)](),console['log'](_0x5ee8d3(0x21d)+a134_0x33a805[_0x5ee8d3(0x1c6)]['bold'](_0x5ee8d3(0x1e8)+_0x186aa1[_0x5ee8d3(0x1d0)]+_0x5ee8d3(0x1f1)+CLI_BIN_NAME+_0x5ee8d3(0x205))),_0x1410bb&&console[_0x5ee8d3(0x1e3)]('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a134_0x33a805[_0x5ee8d3(0x1c6)][_0x5ee8d3(0x1e5)](CLI_BIN_NAME+_0x5ee8d3(0x21f))),console[_0x5ee8d3(0x1e3)](a134_0x33a805[_0x5ee8d3(0x21b)]('─'[_0x5ee8d3(0x20e)](0x3c)));}catch(_0x5da901){logger[_0x5ee8d3(0x20c)](_0x5ee8d3(0x1e4),'项目创建失败:\x20'+_0x186aa1['projectName'],{'error':_0x5da901 instanceof Error?_0x5da901[_0x5ee8d3(0x1ca)]:String(_0x5da901)});try{a134_0x163303[_0x5ee8d3(0x216)](_0x5e9c20)&&(console[_0x5ee8d3(0x1e3)](_0x5ee8d3(0x218)+_0x5e9c20),a134_0x163303['rmSync'](_0x5e9c20,{'recursive':!![],'force':!![]}));}catch{logger[_0x5ee8d3(0x211)](_0x5ee8d3(0x1e4),_0x5ee8d3(0x1f8)+_0x5e9c20);}throw _0x5da901;}}async function runTask(_0x3fa85b,_0x5e20af){const _0x18b427=a134_0x59a7,_0x1bc50f=a134_0x5bd916(_0x3fa85b+'...')['start']();try{const _0x321f79=await _0x5e20af();_0x1bc50f['stop'](),console[_0x18b427(0x1e3)](''+a134_0x33a805['green'](_0x18b427(0x1d6))+_0x3fa85b+'\x20'+a134_0x33a805[_0x18b427(0x215)]('['+_0x321f79+']'));}catch(_0xbdc469){_0x1bc50f[_0x18b427(0x1d9)](_0x3fa85b);throw _0xbdc469;}}async function updatePackageJsonName(_0x1eac18){const _0x3ca3ac=a134_0x59a7,_0x4ec290=a134_0x1f5afb['resolve'](process['cwd'](),_0x1eac18),_0x841b68=a134_0x1f5afb[_0x3ca3ac(0x214)](_0x4ec290,_0x3ca3ac(0x1fc));try{console['log'](_0x3ca3ac(0x1f4));const _0x36bc67=getRabetbaseCliPackageRoot(),_0x28e522=a134_0x1f5afb[_0x3ca3ac(0x214)](_0x36bc67,_0x3ca3ac(0x1fc));let _0x4414eb=_0x3ca3ac(0x1fb);try{const _0x2eacaa=JSON['parse'](a134_0x163303[_0x3ca3ac(0x1dc)](_0x28e522,_0x3ca3ac(0x206)));_0x4414eb=_0x2eacaa['version']||_0x3ca3ac(0x1fb);}catch{}const _0x51e7e3=a134_0x163303[_0x3ca3ac(0x1dc)](_0x841b68,'utf8'),_0x2ab84d=JSON['parse'](_0x51e7e3);_0x2ab84d[_0x3ca3ac(0x207)]=_0x1eac18,_0x2ab84d[_0x3ca3ac(0x220)]=_0x1eac18+_0x3ca3ac(0x21c)+_0x4414eb,a134_0x163303[_0x3ca3ac(0x201)](_0x841b68,JSON[_0x3ca3ac(0x223)](_0x2ab84d,null,0x2)+'\x0a',_0x3ca3ac(0x206)),console[_0x3ca3ac(0x1e3)](_0x3ca3ac(0x20f)+_0x1eac18),logger[_0x3ca3ac(0x1f3)](_0x3ca3ac(0x1e4),_0x3ca3ac(0x203));}catch(_0x1bdec2){logger[_0x3ca3ac(0x20c)]('create',_0x3ca3ac(0x1dd));throw _0x1bdec2;}}async function configureAppCode(_0x27f069,_0x3e9557,_0x524efb){const _0x39dd93=a134_0x59a7,_0x420eb7=a134_0x1f5afb['resolve'](process['cwd'](),_0x27f069),_0x583c8f=a134_0x1f5afb['join'](_0x420eb7,NEW_CONFIG_NAME);try{_0x3e9557?console[_0x39dd93(0x1e3)](_0x39dd93(0x1cc)+_0x27f069+':\x20'+_0x3e9557):console[_0x39dd93(0x1e3)](_0x39dd93(0x1d3)+_0x27f069);const _0x164a2d=getRabetbaseCliPackageRoot(),_0x695cf8=a134_0x1f5afb[_0x39dd93(0x214)](_0x164a2d,_0x39dd93(0x1fc));let _0x56f608=_0x39dd93(0x1fb);try{const _0x1dc73c=JSON[_0x39dd93(0x1d2)](a134_0x163303['readFileSync'](_0x695cf8,_0x39dd93(0x206)));_0x56f608=_0x1dc73c['version']||_0x39dd93(0x1fb);}catch{}const _0x6aacf9=readConfig(),_0x3fccfb=typeof _0x6aacf9[_0x39dd93(0x1e7)]===_0x39dd93(0x1d4)?_0x6aacf9[_0x39dd93(0x1e7)]:undefined,_0x1a5475={};for(const _0x47caa0 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x6aacf9[_0x47caa0]!=null)_0x1a5475[_0x47caa0]=_0x6aacf9[_0x47caa0];}const _0x536ea2=buildCanonicalProjectConfig(_0x1a5475,{'appCodes':_0x3e9557?[_0x3e9557]:[],'env':_0x524efb||_0x3fccfb||_0x39dd93(0x1d1),'metadata':{'createdAt':new Date()[_0x39dd93(0x1fd)](),'version':_0x56f608}});writeConfigFile(_0x583c8f,_0x536ea2),_0x3e9557?console[_0x39dd93(0x1e3)](_0x39dd93(0x20b)+Object[_0x39dd93(0x222)](_0x536ea2[_0x39dd93(0x1d5)]||{})[_0x39dd93(0x214)](',\x20')+'\x20|\x20Default:\x20'+_0x536ea2['defaultApp']):console[_0x39dd93(0x1e3)](_0x39dd93(0x1d8)+CLI_BIN_NAME+_0x39dd93(0x202)),logger[_0x39dd93(0x1f3)]('create',_0x39dd93(0x1e0)+_0x3e9557);}catch(_0x46dd66){logger[_0x39dd93(0x20c)](_0x39dd93(0x1e4),_0x39dd93(0x1e1));}}
1
+ (function(_0x1e63aa,_0x230dec){const _0x760249=a134_0x4f73,_0x345a21=_0x1e63aa();while(!![]){try{const _0x166d79=parseInt(_0x760249(0x1e2))/0x1+parseInt(_0x760249(0x1eb))/0x2+-parseInt(_0x760249(0x1ef))/0x3+-parseInt(_0x760249(0x200))/0x4+-parseInt(_0x760249(0x1fe))/0x5+parseInt(_0x760249(0x1c9))/0x6*(-parseInt(_0x760249(0x203))/0x7)+-parseInt(_0x760249(0x1f8))/0x8*(-parseInt(_0x760249(0x204))/0x9);if(_0x166d79===_0x230dec)break;else _0x345a21['push'](_0x345a21['shift']());}catch(_0x5299b3){_0x345a21['push'](_0x345a21['shift']());}}}(a134_0x324a,0xe6410));import a134_0x4402ff from'path';import a134_0x50c2dd from'fs';import a134_0x14392f from'chalk';import a134_0x4535e4 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';function a134_0x324a(){const _0x513f60=['7TNWKHr','9CWpMBY','accessSync','resolve','gray','√\x20Pulled\x20','parse','start','Project\x20name\x20cannot\x20be\x20empty','*\x20Pulling\x20API\x20configuration...','\x20√\x20','dirname','repeat','\x20&&\x20','string','name','Project\x20directory\x20','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','cyan','更新\x20package.json\x20name','1.0.0','更新\x20package.json\x20失败','配置应用AppCode失败','create','needsUpgrade','info','chdir','stop','...','utf8','W_OK','√\x20Configuration\x20file\x20created,\x20Apps:\x20','\x20config\x20set\x20appcode\x20<app-code>\x27','🚀\x20Next\x20Steps:','package.json','\x20already\x20exists','cd\x20','projectCode','*\x20Configuring\x20AppCode\x20for\x20project\x20','apps','11089380OGvfOJ','log','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','join','√\x20package.json\x20updated:\x20name=','writeFileSync','stableVersion','message','production','\x20|\x20AppCode:\x20','\x20model(s)','green','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','cwd','\x20api\x20pull','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','cookie','Install\x20dependencies','error','appCode','constants','清理项目目录失败:\x20','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','CLI\x20版本检查','API\x20配置拉取异常','1727297COjWLI','keys','belowMinimum','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','minimumVersion','test','warn','API\x20configuration\x20pulled:\x20','项目创建完成:\x20','272746WYlWPZ','setLogPath','项目创建失败:\x20','\x20\x202.\x20Pull\x20API\x20configuration:\x20','1476570Oozbea','配置应用AppCode:\x20','env','fail','bold','\x20run\x20start','toLocaleString','length','Format\x20code','21313864AzdMDQ','readFileSync','projectName','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','modelCount','\x20|\x20Default:\x20','5686905URAuNo','existsSync','427928zoKpXz','defaultApp','\x20Generated\x20by\x20rabetbase\x20cli\x20'];a134_0x324a=function(){return _0x513f60;};return a134_0x324a();}import{initEnv}from'../../../constant/env.js';import{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';function a134_0x4f73(_0x48bb16,_0x536e6c){_0x48bb16=_0x48bb16-0x1b2;const _0x324a53=a134_0x324a();let _0x4f730d=_0x324a53[_0x48bb16];return _0x4f730d;}export async function createApp(_0x23eb63){const _0x3b6e44=a134_0x4f73,_0x319bb7=await checkCliVersion();(_0x319bb7[_0x3b6e44(0x1b9)]||_0x319bb7[_0x3b6e44(0x1e4)])&&(printCliUpgradeWarning(_0x319bb7),assertCliVersionSupported(_0x319bb7),logger[_0x3b6e44(0x1ba)](_0x3b6e44(0x1b8),_0x3b6e44(0x1e0),{'currentVersion':_0x319bb7['currentVersion'],'stableVersion':_0x319bb7[_0x3b6e44(0x1cf)],'minimumVersion':_0x319bb7[_0x3b6e44(0x1e6)],'needsUpgrade':_0x319bb7['needsUpgrade'],'belowMinimum':_0x319bb7[_0x3b6e44(0x1e4)]}));if(_0x23eb63[_0x3b6e44(0x1c6)]&&_0x23eb63['appCode'])await runCreate({'projectName':_0x23eb63[_0x3b6e44(0x1c6)],'appCode':_0x23eb63[_0x3b6e44(0x1dc)],'env':_0x23eb63[_0x3b6e44(0x1f1)]},_0x23eb63);else{if(_0x23eb63['projectCode']){const _0x24207d=await selectSingleAppcode(_0x23eb63[_0x3b6e44(0x1d9)]);await runCreate({'projectName':_0x23eb63[_0x3b6e44(0x1c6)],'appCode':_0x24207d||undefined,'env':_0x23eb63[_0x3b6e44(0x1f1)]},_0x23eb63);}else await guidedCreateProject(_0x46b81d=>runCreate(_0x46b81d,_0x23eb63),_0x23eb63['env'],_0x23eb63['cookie']);}}async function runCreate(_0x271fe2,_0x2e9ffd){const _0x26ca93=a134_0x4f73;if(!_0x271fe2[_0x26ca93(0x1fa)]||_0x271fe2[_0x26ca93(0x1fa)]['trim']()==='')throw new Error(_0x26ca93(0x20b));const _0x1970f9=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x1970f9[_0x26ca93(0x1e7)](_0x271fe2['projectName']))throw new Error(_0x26ca93(0x1df));if(_0x271fe2[_0x26ca93(0x1fa)][_0x26ca93(0x1f6)]>0x64)throw new Error(_0x26ca93(0x1cb));const _0x4479d9=a134_0x4402ff[_0x26ca93(0x206)](process[_0x26ca93(0x1d6)](),_0x271fe2[_0x26ca93(0x1fa)]);if(a134_0x50c2dd['existsSync'](_0x4479d9))throw new Error(_0x26ca93(0x213)+_0x271fe2[_0x26ca93(0x1fa)]+_0x26ca93(0x1c4));try{a134_0x50c2dd[_0x26ca93(0x205)](a134_0x4402ff[_0x26ca93(0x20e)](_0x4479d9),a134_0x50c2dd[_0x26ca93(0x1dd)][_0x26ca93(0x1bf)]);}catch{throw new Error(_0x26ca93(0x1e5));}logger[_0x26ca93(0x1ec)](_0x4479d9),logger[_0x26ca93(0x1ba)](_0x26ca93(0x1b8),'开始创建项目:\x20'+_0x271fe2['projectName'],{'projectDir':_0x4479d9,'appCode':_0x271fe2[_0x26ca93(0x1dc)]}),console[_0x26ca93(0x1ca)](),console['log'](a134_0x14392f[_0x26ca93(0x1d4)]('\x20√\x20')+'Project\x20name:\x20'+a134_0x14392f[_0x26ca93(0x1d4)](_0x271fe2[_0x26ca93(0x1fa)])+(_0x271fe2[_0x26ca93(0x1dc)]?_0x26ca93(0x1d2)+a134_0x14392f[_0x26ca93(0x1b3)](_0x271fe2['appCode']):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x271fe2[_0x26ca93(0x1fa)])),await updatePackageJsonName(_0x271fe2['projectName']),await runTask(_0x26ca93(0x1da),()=>installDependencies(_0x271fe2[_0x26ca93(0x1fa)])),await runTask(_0x26ca93(0x1f7),()=>formatProjectCode(_0x271fe2[_0x26ca93(0x1fa)])),await configureAppCode(_0x271fe2[_0x26ca93(0x1fa)],_0x271fe2['appCode']||'',_0x271fe2['env']);let _0x26b55f=![];if(_0x271fe2[_0x26ca93(0x1dc)]){console[_0x26ca93(0x1ca)](_0x26ca93(0x20c));const _0x1806e0=process['cwd']();try{process[_0x26ca93(0x1bb)](_0x4479d9);const _0x29abc0=_0x271fe2['env']||_0x26ca93(0x1d1);initEnv(_0x29abc0);const {configArray:_0x22b684}=await fetchModelList(_0x271fe2['appCode'],_0x2e9ffd['cookie']||''),_0x3b8c59=DEFAULT_API_DIR,_0x4091de=await generateApiFile(_0x22b684,'',_0x271fe2[_0x26ca93(0x1dc)],!![],_0x29abc0,_0x3b8c59);console[_0x26ca93(0x1ca)](_0x26ca93(0x208)+_0x22b684[_0x26ca93(0x1f6)]+'\x20dataset(s),\x20generated\x20'+_0x4091de[_0x26ca93(0x1fc)]+_0x26ca93(0x1d3)),logger['info'](_0x26ca93(0x1b8),_0x26ca93(0x1e9)+_0x271fe2[_0x26ca93(0x1dc)]);}catch(_0x3e5dfd){_0x26b55f=!![],console[_0x26ca93(0x1ca)](_0x26ca93(0x1d8)),logger[_0x26ca93(0x1e8)](_0x26ca93(0x1b8),_0x26ca93(0x1e1),{'error':_0x3e5dfd instanceof Error?_0x3e5dfd[_0x26ca93(0x1d0)]:String(_0x3e5dfd)});}finally{process['chdir'](_0x1806e0);}}logger['success'](_0x26ca93(0x1b8),_0x26ca93(0x1ea)+_0x271fe2[_0x26ca93(0x1fa)]),console[_0x26ca93(0x1ca)](),console[_0x26ca93(0x1ca)](a134_0x14392f[_0x26ca93(0x1d4)]('─'[_0x26ca93(0x20f)](0x3c))),console['log'](a134_0x14392f[_0x26ca93(0x1b3)][_0x26ca93(0x1f3)](_0x26ca93(0x1c2))),console[_0x26ca93(0x1ca)](),console[_0x26ca93(0x1ca)]('\x20\x201.\x20Start\x20project:\x20'+a134_0x14392f[_0x26ca93(0x1b3)]['bold'](_0x26ca93(0x1c5)+_0x271fe2[_0x26ca93(0x1fa)]+_0x26ca93(0x210)+CLI_BIN_NAME+_0x26ca93(0x1f4))),_0x26b55f&&console[_0x26ca93(0x1ca)](_0x26ca93(0x1ee)+a134_0x14392f[_0x26ca93(0x1b3)]['bold'](CLI_BIN_NAME+_0x26ca93(0x1d7))),console[_0x26ca93(0x1ca)](a134_0x14392f[_0x26ca93(0x1d4)]('─'[_0x26ca93(0x20f)](0x3c)));}catch(_0x490991){logger['error'](_0x26ca93(0x1b8),_0x26ca93(0x1ed)+_0x271fe2['projectName'],{'error':_0x490991 instanceof Error?_0x490991['message']:String(_0x490991)});try{a134_0x50c2dd[_0x26ca93(0x1ff)](_0x4479d9)&&(console['log'](_0x26ca93(0x1b2)+_0x4479d9),a134_0x50c2dd['rmSync'](_0x4479d9,{'recursive':!![],'force':!![]}));}catch{logger['warn'](_0x26ca93(0x1b8),_0x26ca93(0x1de)+_0x4479d9);}throw _0x490991;}}async function runTask(_0x3b8063,_0x175c40){const _0x4a0229=a134_0x4f73,_0x314e8f=a134_0x4535e4(_0x3b8063+_0x4a0229(0x1bd))[_0x4a0229(0x20a)]();try{const _0x5262a5=await _0x175c40();_0x314e8f[_0x4a0229(0x1bc)](),console[_0x4a0229(0x1ca)](''+a134_0x14392f[_0x4a0229(0x1d4)](_0x4a0229(0x20d))+_0x3b8063+'\x20'+a134_0x14392f[_0x4a0229(0x207)]('['+_0x5262a5+']'));}catch(_0x240545){_0x314e8f[_0x4a0229(0x1f2)](_0x3b8063);throw _0x240545;}}async function updatePackageJsonName(_0x2f890a){const _0x5cd6ad=a134_0x4f73,_0x418c28=a134_0x4402ff[_0x5cd6ad(0x206)](process[_0x5cd6ad(0x1d6)](),_0x2f890a),_0x5a3e04=a134_0x4402ff[_0x5cd6ad(0x1cc)](_0x418c28,_0x5cd6ad(0x1c3));try{console[_0x5cd6ad(0x1ca)](_0x5cd6ad(0x1fb));const _0x4487d8=getRabetbaseCliPackageRoot(),_0xb3a8ca=a134_0x4402ff[_0x5cd6ad(0x1cc)](_0x4487d8,'package.json');let _0x186c13=_0x5cd6ad(0x1b5);try{const _0x4a8ad0=JSON['parse'](a134_0x50c2dd[_0x5cd6ad(0x1f9)](_0xb3a8ca,_0x5cd6ad(0x1be)));_0x186c13=_0x4a8ad0['version']||_0x5cd6ad(0x1b5);}catch{}const _0x4e8dc7=a134_0x50c2dd[_0x5cd6ad(0x1f9)](_0x5a3e04,_0x5cd6ad(0x1be)),_0x4783e1=JSON[_0x5cd6ad(0x209)](_0x4e8dc7);_0x4783e1[_0x5cd6ad(0x212)]=_0x2f890a,_0x4783e1['description']=_0x2f890a+_0x5cd6ad(0x202)+_0x186c13,a134_0x50c2dd[_0x5cd6ad(0x1ce)](_0x5a3e04,JSON['stringify'](_0x4783e1,null,0x2)+'\x0a','utf8'),console[_0x5cd6ad(0x1ca)](_0x5cd6ad(0x1cd)+_0x2f890a),logger[_0x5cd6ad(0x1ba)]('create',_0x5cd6ad(0x1b4));}catch(_0x1827e7){logger[_0x5cd6ad(0x1db)](_0x5cd6ad(0x1b8),_0x5cd6ad(0x1b6));throw _0x1827e7;}}async function configureAppCode(_0x3ee036,_0x155c10,_0x10c45a){const _0x581fc1=a134_0x4f73,_0x16741f=a134_0x4402ff[_0x581fc1(0x206)](process['cwd'](),_0x3ee036),_0x503499=a134_0x4402ff[_0x581fc1(0x1cc)](_0x16741f,NEW_CONFIG_NAME);try{_0x155c10?console[_0x581fc1(0x1ca)](_0x581fc1(0x1c7)+_0x3ee036+':\x20'+_0x155c10):console[_0x581fc1(0x1ca)]('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x3ee036);const _0x21477e=getRabetbaseCliPackageRoot(),_0x45c17c=a134_0x4402ff[_0x581fc1(0x1cc)](_0x21477e,_0x581fc1(0x1c3));let _0x5e78fa=_0x581fc1(0x1b5);try{const _0x2a0926=JSON[_0x581fc1(0x209)](a134_0x50c2dd[_0x581fc1(0x1f9)](_0x45c17c,_0x581fc1(0x1be)));_0x5e78fa=_0x2a0926['version']||'1.0.0';}catch{}const _0x146858=readConfig(),_0xeaaf81=typeof _0x146858[_0x581fc1(0x1f1)]===_0x581fc1(0x211)?_0x146858['env']:undefined,_0x55d686={};for(const _0xfbac1d of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x146858[_0xfbac1d]!=null)_0x55d686[_0xfbac1d]=_0x146858[_0xfbac1d];}const _0x50f154=buildCanonicalProjectConfig(_0x55d686,{'appCodes':_0x155c10?[_0x155c10]:[],'env':_0x10c45a||_0xeaaf81||_0x581fc1(0x1d1),'metadata':{'createdAt':new Date()[_0x581fc1(0x1f5)](),'version':_0x5e78fa}});writeConfigFile(_0x503499,_0x50f154),_0x155c10?console[_0x581fc1(0x1ca)](_0x581fc1(0x1c0)+Object[_0x581fc1(0x1e3)](_0x50f154[_0x581fc1(0x1c8)]||{})['join'](',\x20')+_0x581fc1(0x1fd)+_0x50f154[_0x581fc1(0x201)]):console[_0x581fc1(0x1ca)](_0x581fc1(0x1d5)+CLI_BIN_NAME+_0x581fc1(0x1c1)),logger[_0x581fc1(0x1ba)](_0x581fc1(0x1b8),_0x581fc1(0x1f0)+_0x155c10);}catch(_0x3d1aad){logger[_0x581fc1(0x1db)](_0x581fc1(0x1b8),_0x581fc1(0x1b7));}}
@@ -1 +1 @@
1
- (function(_0x539e46,_0x3bc561){const _0x38d3fb=a135_0x5a80,_0x1f1831=_0x539e46();while(!![]){try{const _0x286164=-parseInt(_0x38d3fb(0xfd))/0x1+-parseInt(_0x38d3fb(0x10a))/0x2+parseInt(_0x38d3fb(0xf5))/0x3*(parseInt(_0x38d3fb(0xe8))/0x4)+parseInt(_0x38d3fb(0xf6))/0x5*(-parseInt(_0x38d3fb(0xe0))/0x6)+parseInt(_0x38d3fb(0x102))/0x7+parseInt(_0x38d3fb(0xe1))/0x8+-parseInt(_0x38d3fb(0xee))/0x9;if(_0x286164===_0x3bc561)break;else _0x1f1831['push'](_0x1f1831['shift']());}catch(_0x811cd3){_0x1f1831['push'](_0x1f1831['shift']());}}}(a135_0x4444,0xaa260));import a135_0x47b3f9 from'path';import a135_0x1543e2 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';function a135_0x4444(){const _0x19472b=['12CRPwAG','5589728gXgftt','length','modelCount','production','belowMinimum','\x20\x20√\x20Code\x20formatted','stringify','80552VOUiaE','npm','bun','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','\x20model(s)','\x20created\x20successfully!','5739498AViUqT','\x0a\x20\x20cd\x20','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','chdir','Use\x20a\x20different\x20project\x20name.','env','constants','93gUcbOu','824345nfLblD','writeFile','Project\x20directory\x20\x22','\x20\x20√\x20Project\x20template\x20created','description','Project\x20name\x20cannot\x20be\x20empty.','\x20api\x20pull`\x20manually\x20later.','306399BIYjrz','*\x20Creating\x20project\x20','cwd','toLocaleString','dirname','6251966qSDugc','validation','Check\x20directory\x20permissions.','\x20\x20√\x20Pulled\x20','join','\x20\x20Pulling\x20API\x20configuration...','bun\x20--version','\x22\x20already\x20exists.','490690yzjQPC','\x20\x20√\x20Configuration\x20file\x20created','...','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','readFile','resolve','needsUpgrade','Cannot\x20create\x20project\x20in\x20current\x20directory.','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','package.json','test','trim','\x20dataset(s),\x20generated\x20','\x20\x20√\x20package.json\x20updated','Project\x20name\x20contains\x20invalid\x20characters.','name','log'];a135_0x4444=function(){return _0x19472b;};return a135_0x4444();}const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x46e964,_0x125c2b,_0x3a9c35,_0x8c1cf6){const _0x1b45b8=a135_0x5a80,_0x59faa6=await checkCliVersion();(_0x59faa6[_0x1b45b8(0x110)]||_0x59faa6[_0x1b45b8(0xe5)])&&(printCliUpgradeWarning(_0x59faa6),assertCliVersionSupported(_0x59faa6));if(!_0x46e964||_0x46e964[_0x1b45b8(0xda)]()==='')throw CliErrors[_0x1b45b8(0x103)](_0x1b45b8(0xfb));const _0x56103a=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x56103a[_0x1b45b8(0xd9)](_0x46e964))throw CliErrors[_0x1b45b8(0x103)](_0x1b45b8(0xdd),_0x1b45b8(0x112));if(_0x46e964[_0x1b45b8(0xe2)]>0x64)throw CliErrors[_0x1b45b8(0x103)](_0x1b45b8(0xeb));const _0x353a50=a135_0x47b3f9[_0x1b45b8(0x10f)](process['cwd'](),_0x46e964);if(existsSync(_0x353a50))throw CliErrors[_0x1b45b8(0x103)](_0x1b45b8(0xf8)+_0x46e964+_0x1b45b8(0x109),_0x1b45b8(0xf2));try{const _0x189988=a135_0x47b3f9[_0x1b45b8(0x101)](_0x353a50);await a135_0x1543e2['access'](_0x189988,a135_0x1543e2[_0x1b45b8(0xf4)]['W_OK']);}catch{throw CliErrors[_0x1b45b8(0x103)](_0x1b45b8(0x111),_0x1b45b8(0x104));}try{console['log'](_0x1b45b8(0xfe)+_0x46e964+_0x1b45b8(0x10c));const _0x1d7417=getSubAppReactDemoTemplateDir();await copyDirectory(_0x1d7417,_0x353a50),console['log'](_0x1b45b8(0xf9)),await updatePackageJsonName(_0x46e964),console[_0x1b45b8(0xdf)](_0x1b45b8(0xdc)),console[_0x1b45b8(0xdf)]('\x20\x20Installing\x20dependencies...'),console[_0x1b45b8(0xdf)]('\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)'),await formatCode(_0x353a50),console[_0x1b45b8(0xdf)](_0x1b45b8(0xe6)),await configureProject(_0x46e964,_0x3a9c35,_0x125c2b),console[_0x1b45b8(0xdf)](_0x1b45b8(0x10b)),_0x3a9c35&&await pullApiConfig(_0x353a50,_0x3a9c35,_0x125c2b,_0x8c1cf6),console[_0x1b45b8(0xdf)]('\x0a√\x20Project\x20'+_0x46e964+_0x1b45b8(0xed)),console[_0x1b45b8(0xdf)](_0x1b45b8(0xef)+_0x46e964),console[_0x1b45b8(0xdf)]('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0xece342){try{existsSync(_0x353a50)&&await a135_0x1543e2['rm'](_0x353a50,{'recursive':!![],'force':!![]});}catch{}throw _0xece342;}}async function updatePackageJsonName(_0x20ac9d){const _0x4f23ed=a135_0x5a80,_0x1a2f87=a135_0x47b3f9[_0x4f23ed(0x10f)](process[_0x4f23ed(0xff)](),_0x20ac9d),_0x3cfdbd=a135_0x47b3f9[_0x4f23ed(0x106)](_0x1a2f87,_0x4f23ed(0x113)),_0x25d2ec=await a135_0x1543e2[_0x4f23ed(0x10e)](_0x3cfdbd,'utf-8'),_0x24cd51=JSON['parse'](_0x25d2ec);_0x24cd51[_0x4f23ed(0xde)]=_0x20ac9d,_0x24cd51[_0x4f23ed(0xfa)]=_0x4f23ed(0xf0),await a135_0x1543e2[_0x4f23ed(0xf7)](_0x3cfdbd,JSON[_0x4f23ed(0xe7)](_0x24cd51,null,0x2)+'\x0a');}function detectPackageManager(){const _0x5bcc3c=a135_0x5a80;try{return execSync(_0x5bcc3c(0x108),{'stdio':'ignore'}),_0x5bcc3c(0xea);}catch{return _0x5bcc3c(0xe9);}}async function formatCode(_0x31d1c5){try{await execAsync('bun\x20run\x20format',{'cwd':_0x31d1c5});}catch{}}function a135_0x5a80(_0x412a9a,_0x565b08){_0x412a9a=_0x412a9a-0xd9;const _0x44442a=a135_0x4444();let _0x5a80ea=_0x44442a[_0x412a9a];return _0x5a80ea;}async function configureProject(_0x38aa2a,_0x4659d4,_0x2e7447){const _0x29e16f=a135_0x5a80,_0x4551e4=a135_0x47b3f9[_0x29e16f(0x10f)](process[_0x29e16f(0xff)](),_0x38aa2a),_0x5d0a4d=a135_0x47b3f9[_0x29e16f(0x106)](_0x4551e4,NEW_CONFIG_NAME),_0x14ccec=readConfig(),_0x1c034f=typeof _0x14ccec['env']==='string'?_0x14ccec[_0x29e16f(0xf3)]:undefined,_0xbe1acc={};for(const _0x1b25b9 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x14ccec[_0x1b25b9]!=null)_0xbe1acc[_0x1b25b9]=_0x14ccec[_0x1b25b9];}const _0x16289b=buildCanonicalProjectConfig(_0xbe1acc,{'appCodes':_0x4659d4?[_0x4659d4]:[],'env':_0x2e7447||_0x1c034f||_0x29e16f(0xe4),'metadata':{'createdAt':new Date()[_0x29e16f(0x100)](),'version':getCliVersion()}});writeConfigFile(_0x5d0a4d,_0x16289b);}async function pullApiConfig(_0x7e200b,_0x4d9a3e,_0x376a4a,_0x146c72){const _0x49e767=a135_0x5a80,_0x1592bf=process[_0x49e767(0xff)]();try{process['chdir'](_0x7e200b);const _0x528604=_0x376a4a||_0x49e767(0xe4);initEnv(_0x528604),console[_0x49e767(0xdf)](_0x49e767(0x107));const {configArray:_0xe433c9}=await fetchModelList(_0x4d9a3e,_0x146c72||''),_0x496cf5=await generateApiFile(_0xe433c9,'',_0x4d9a3e,!![],_0x528604,DEFAULT_API_DIR);console['log'](_0x49e767(0x105)+_0xe433c9[_0x49e767(0xe2)]+_0x49e767(0xdb)+_0x496cf5[_0x49e767(0xe3)]+_0x49e767(0xec));}catch(_0x506107){console['log'](_0x49e767(0x10d)+CLI_BIN_NAME+_0x49e767(0xfc));}finally{process[_0x49e767(0xf1)](_0x1592bf);}}
1
+ (function(_0x5a85f4,_0x4cc981){const _0xb07cb5=a135_0x51a9,_0x2c6c2c=_0x5a85f4();while(!![]){try{const _0x550341=parseInt(_0xb07cb5(0x7f))/0x1*(-parseInt(_0xb07cb5(0x97))/0x2)+-parseInt(_0xb07cb5(0x83))/0x3+parseInt(_0xb07cb5(0x9c))/0x4+parseInt(_0xb07cb5(0x90))/0x5*(parseInt(_0xb07cb5(0x73))/0x6)+parseInt(_0xb07cb5(0xa3))/0x7*(-parseInt(_0xb07cb5(0x92))/0x8)+parseInt(_0xb07cb5(0x8a))/0x9*(-parseInt(_0xb07cb5(0x7d))/0xa)+parseInt(_0xb07cb5(0x6f))/0xb;if(_0x550341===_0x4cc981)break;else _0x2c6c2c['push'](_0x2c6c2c['shift']());}catch(_0x5a4a96){_0x2c6c2c['push'](_0x2c6c2c['shift']());}}}(a135_0x5ede,0xf1cd7));import a135_0xb2b7dd from'path';import a135_0x2ff2d7 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';function a135_0x51a9(_0x5a09dc,_0x108302){_0x5a09dc=_0x5a09dc-0x69;const _0x5ede1e=a135_0x5ede();let _0x51a9a1=_0x5ede1e[_0x5a09dc];return _0x51a9a1;}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(_0xb5201a,_0x241a02,_0x5b35a1,_0x5d829a){const _0x55060a=a135_0x51a9,_0x1f07a6=await checkCliVersion();(_0x1f07a6[_0x55060a(0xa4)]||_0x1f07a6[_0x55060a(0x8c)])&&(printCliUpgradeWarning(_0x1f07a6),assertCliVersionSupported(_0x1f07a6));if(!_0xb5201a||_0xb5201a[_0x55060a(0x76)]()==='')throw CliErrors['validation']('Project\x20name\x20cannot\x20be\x20empty.');const _0x39b28a=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x39b28a[_0x55060a(0x85)](_0xb5201a))throw CliErrors[_0x55060a(0x81)](_0x55060a(0x74),_0x55060a(0x96));if(_0xb5201a[_0x55060a(0x75)]>0x64)throw CliErrors[_0x55060a(0x81)]('Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.');const _0x1a41b6=a135_0xb2b7dd[_0x55060a(0x9b)](process[_0x55060a(0x8f)](),_0xb5201a);if(existsSync(_0x1a41b6))throw CliErrors[_0x55060a(0x81)](_0x55060a(0x7a)+_0xb5201a+'\x22\x20already\x20exists.','Use\x20a\x20different\x20project\x20name.');try{const _0x27bb24=a135_0xb2b7dd[_0x55060a(0x95)](_0x1a41b6);await a135_0x2ff2d7[_0x55060a(0x80)](_0x27bb24,a135_0x2ff2d7[_0x55060a(0x6c)]['W_OK']);}catch{throw CliErrors[_0x55060a(0x81)](_0x55060a(0x71),_0x55060a(0x99));}try{console[_0x55060a(0x78)](_0x55060a(0x91)+_0xb5201a+_0x55060a(0x98));const _0x2f1610=getSubAppReactDemoTemplateDir();await copyDirectory(_0x2f1610,_0x1a41b6),console[_0x55060a(0x78)](_0x55060a(0x9d)),await updatePackageJsonName(_0xb5201a),console['log']('\x20\x20√\x20package.json\x20updated'),console[_0x55060a(0x78)](_0x55060a(0x8e)),console[_0x55060a(0x78)](_0x55060a(0x69)),await formatCode(_0x1a41b6),console[_0x55060a(0x78)]('\x20\x20√\x20Code\x20formatted'),await configureProject(_0xb5201a,_0x5b35a1,_0x241a02),console['log']('\x20\x20√\x20Configuration\x20file\x20created'),_0x5b35a1&&await pullApiConfig(_0x1a41b6,_0x5b35a1,_0x241a02,_0x5d829a),console[_0x55060a(0x78)](_0x55060a(0x6d)+_0xb5201a+_0x55060a(0x7c)),console[_0x55060a(0x78)](_0x55060a(0xa2)+_0xb5201a),console[_0x55060a(0x78)](_0x55060a(0x93));}catch(_0x219252){try{existsSync(_0x1a41b6)&&await a135_0x2ff2d7['rm'](_0x1a41b6,{'recursive':!![],'force':!![]});}catch{}throw _0x219252;}}async function updatePackageJsonName(_0x1ba2b4){const _0x123755=a135_0x51a9,_0x54323d=a135_0xb2b7dd['resolve'](process[_0x123755(0x8f)](),_0x1ba2b4),_0x16d52e=a135_0xb2b7dd[_0x123755(0x7b)](_0x54323d,_0x123755(0x9a)),_0x5ae4aa=await a135_0x2ff2d7[_0x123755(0x86)](_0x16d52e,_0x123755(0x88)),_0x314407=JSON[_0x123755(0x87)](_0x5ae4aa);_0x314407['name']=_0x1ba2b4,_0x314407[_0x123755(0x6b)]=_0x123755(0xa1),await a135_0x2ff2d7[_0x123755(0xa0)](_0x16d52e,JSON[_0x123755(0x8d)](_0x314407,null,0x2)+'\x0a');}function detectPackageManager(){const _0x7baa63=a135_0x51a9;try{return execSync('bun\x20--version',{'stdio':_0x7baa63(0x89)}),_0x7baa63(0x94);}catch{return _0x7baa63(0x84);}}async function formatCode(_0x36e647){const _0x31251a=a135_0x51a9;try{await execAsync(_0x31251a(0x70),{'cwd':_0x36e647});}catch{}}async function configureProject(_0x5d150d,_0x5f4856,_0x5d3037){const _0x531e8c=a135_0x51a9,_0x47398b=a135_0xb2b7dd[_0x531e8c(0x9b)](process[_0x531e8c(0x8f)](),_0x5d150d),_0x40752f=a135_0xb2b7dd[_0x531e8c(0x7b)](_0x47398b,NEW_CONFIG_NAME),_0x51b143=readConfig(),_0x26cae6=typeof _0x51b143['env']===_0x531e8c(0x8b)?_0x51b143['env']:undefined,_0x5492c0={};for(const _0x5b5131 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x51b143[_0x5b5131]!=null)_0x5492c0[_0x5b5131]=_0x51b143[_0x5b5131];}const _0x4abc22=buildCanonicalProjectConfig(_0x5492c0,{'appCodes':_0x5f4856?[_0x5f4856]:[],'env':_0x5d3037||_0x26cae6||_0x531e8c(0x6e),'metadata':{'createdAt':new Date()[_0x531e8c(0x9f)](),'version':getCliVersion()}});writeConfigFile(_0x40752f,_0x4abc22);}async function pullApiConfig(_0x295d08,_0x508ff2,_0x2086f9,_0x14948d){const _0x1659ac=a135_0x51a9,_0x4472ae=process[_0x1659ac(0x8f)]();try{process[_0x1659ac(0x79)](_0x295d08);const _0x3e0ae4=_0x2086f9||_0x1659ac(0x6e);initEnv(_0x3e0ae4),console[_0x1659ac(0x78)](_0x1659ac(0x82));const {configArray:_0x54f1e9}=await fetchModelList(_0x508ff2,_0x14948d||''),_0x177403=await generateApiFile(_0x54f1e9,'',_0x508ff2,!![],_0x3e0ae4,DEFAULT_API_DIR);console[_0x1659ac(0x78)](_0x1659ac(0x6a)+_0x54f1e9[_0x1659ac(0x75)]+_0x1659ac(0x7e)+_0x177403[_0x1659ac(0x9e)]+_0x1659ac(0x72));}catch(_0x4a184c){console[_0x1659ac(0x78)]('\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`'+CLI_BIN_NAME+_0x1659ac(0x77));}finally{process[_0x1659ac(0x79)](_0x4472ae);}}function a135_0x5ede(){const _0x3be552=['log','chdir','Project\x20directory\x20\x22','join','\x20created\x20successfully!','410TuVptN','\x20dataset(s),\x20generated\x20','1186306gpGXtN','access','validation','\x20\x20Pulling\x20API\x20configuration...','4683552WvaPTg','npm','test','readFile','parse','utf-8','ignore','10575jMJofV','string','belowMinimum','stringify','\x20\x20Installing\x20dependencies...','cwd','20WQYqcl','*\x20Creating\x20project\x20','109624pejyMg','\x20\x20rabetbase\x20run\x20start\x0a','bun','dirname','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','2RXMAfS','...','Check\x20directory\x20permissions.','package.json','resolve','921776asFdim','\x20\x20√\x20Project\x20template\x20created','modelCount','toLocaleString','writeFile','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','\x0a\x20\x20cd\x20','511rWBzvJ','needsUpgrade','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','\x20\x20√\x20Pulled\x20','description','constants','\x0a√\x20Project\x20','production','41620997yAYjhY','bun\x20run\x20format','Cannot\x20create\x20project\x20in\x20current\x20directory.','\x20model(s)','1158354MJuRpw','Project\x20name\x20contains\x20invalid\x20characters.','length','trim','\x20api\x20pull`\x20manually\x20later.'];a135_0x5ede=function(){return _0x3be552;};return a135_0x5ede();}
@@ -1 +1 @@
1
- (function(_0x532070,_0x452c04){const _0x27f033=a136_0x326d,_0x1e83f7=_0x532070();while(!![]){try{const _0x5757e7=-parseInt(_0x27f033(0x7e))/0x1+parseInt(_0x27f033(0x7f))/0x2+parseInt(_0x27f033(0x75))/0x3*(parseInt(_0x27f033(0x7a))/0x4)+parseInt(_0x27f033(0x80))/0x5+parseInt(_0x27f033(0x74))/0x6+parseInt(_0x27f033(0x78))/0x7+-parseInt(_0x27f033(0x7b))/0x8;if(_0x5757e7===_0x452c04)break;else _0x1e83f7['push'](_0x1e83f7['shift']());}catch(_0x3194b8){_0x1e83f7['push'](_0x1e83f7['shift']());}}}(a136_0x1fe7,0x8021f));function a136_0x326d(_0x44e4c5,_0x4f0bcb){_0x44e4c5=_0x44e4c5-0x74;const _0x1fe76c=a136_0x1fe7();let _0x326dda=_0x1fe76c[_0x44e4c5];return _0x326dda;}import a136_0x2b1def from'node:path';import{fileURLToPath}from'node:url';const __dirname=a136_0x2b1def['dirname'](fileURLToPath(import.meta.url));function a136_0x1fe7(){const _0x42a935=['1754360RKXLQu','19127824pyySVN','join','sub-app-react-demo','102853eKJwfS','2060686yyoDux','4200775InWRNx','1472928eCnwrg','3maLKLX','templates','resolve','3248602sYFxtj','projects'];a136_0x1fe7=function(){return _0x42a935;};return a136_0x1fe7();}export function getRabetbaseCliPackageRoot(){const _0x2829cd=a136_0x326d;return a136_0x2b1def[_0x2829cd(0x77)](__dirname,'../../../../');}export function getSubAppReactDemoTemplateDir(){const _0x4a29c1=a136_0x326d;return a136_0x2b1def[_0x4a29c1(0x7c)](getRabetbaseCliPackageRoot(),_0x4a29c1(0x76),_0x4a29c1(0x79),_0x4a29c1(0x7d));}
1
+ (function(_0x284c11,_0x556219){const _0x1d3468=a136_0x1915,_0x4cdccf=_0x284c11();while(!![]){try{const _0x573d98=-parseInt(_0x1d3468(0xb4))/0x1+parseInt(_0x1d3468(0xbf))/0x2*(parseInt(_0x1d3468(0xbd))/0x3)+parseInt(_0x1d3468(0xc0))/0x4+-parseInt(_0x1d3468(0xb6))/0x5*(parseInt(_0x1d3468(0xb9))/0x6)+-parseInt(_0x1d3468(0xbe))/0x7+-parseInt(_0x1d3468(0xbb))/0x8+parseInt(_0x1d3468(0xba))/0x9*(parseInt(_0x1d3468(0xb7))/0xa);if(_0x573d98===_0x556219)break;else _0x4cdccf['push'](_0x4cdccf['shift']());}catch(_0x152f03){_0x4cdccf['push'](_0x4cdccf['shift']());}}}(a136_0x1827,0x4214c));import a136_0x46ffc3 from'node:path';function a136_0x1915(_0x105bce,_0x555dc1){_0x105bce=_0x105bce-0xb3;const _0x1827f9=a136_0x1827();let _0x191556=_0x1827f9[_0x105bce];return _0x191556;}import{fileURLToPath}from'node:url';const __dirname=a136_0x46ffc3['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3d654a=a136_0x1915;return a136_0x46ffc3[_0x3d654a(0xbc)](__dirname,_0x3d654a(0xc1));}export function getSubAppReactDemoTemplateDir(){const _0x2a44ae=a136_0x1915;return a136_0x46ffc3['join'](getRabetbaseCliPackageRoot(),_0x2a44ae(0xb3),_0x2a44ae(0xb5),_0x2a44ae(0xb8));}function a136_0x1827(){const _0x1b7ec1=['projects','10nPPUuS','13880ZyPeOB','sub-app-react-demo','758832tDdQMQ','1647dDeGxI','1438888PLJMZG','resolve','212631otkuip','1572361kiIBnh','14JqhTHu','1609724FkwsdU','../../../../','templates','224478ZzMXly'];a136_0x1827=function(){return _0x1b7ec1;};return a136_0x1827();}
@@ -1 +1 @@
1
- (function(_0x429c64,_0x3cd33c){const _0x413b80=a137_0x42cf,_0x4a9315=_0x429c64();while(!![]){try{const _0x1e0e2d=-parseInt(_0x413b80(0x103))/0x1*(-parseInt(_0x413b80(0xfc))/0x2)+-parseInt(_0x413b80(0x108))/0x3+-parseInt(_0x413b80(0xfa))/0x4+-parseInt(_0x413b80(0x102))/0x5*(-parseInt(_0x413b80(0xfd))/0x6)+-parseInt(_0x413b80(0x106))/0x7+-parseInt(_0x413b80(0x105))/0x8+parseInt(_0x413b80(0xff))/0x9;if(_0x1e0e2d===_0x3cd33c)break;else _0x4a9315['push'](_0x4a9315['shift']());}catch(_0x1fddbb){_0x4a9315['push'](_0x4a9315['shift']());}}}(a137_0x158b,0xdc203));import a137_0x2efbfa 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 a137_0x42cf(_0x21f523,_0x4a2245){_0x21f523=_0x21f523-0xf9;const _0x158bc7=a137_0x158b();let _0x42cfc0=_0x158bc7[_0x21f523];return _0x42cfc0;}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a137_0x158b(){const _0x26017e=['5252275vcmMXi','项目模板复制完成','862569bFPLAi','success','copy','2789424MsVakH','cwd','161328xjRcPB','6PUfUyQ','now','19282329krwPdy','项目模板复制失败','开始复制项目模板','112460FuRySI','8xgiFoi','message','1387568UlpWte'];a137_0x158b=function(){return _0x26017e;};return a137_0x158b();}const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x3329d6){const _0x5c448=a137_0x42cf,_0x3ddd0b=Date[_0x5c448(0xfe)](),_0x12ba0f=a137_0x2efbfa['resolve'](process[_0x5c448(0xfb)](),_0x3329d6);try{logger['info'](_0x5c448(0xf9),_0x5c448(0x101),{'projectCode':_0x3329d6,'templateDir':templateDir}),await copyDirectory(templateDir,_0x12ba0f);const _0x873762=Date[_0x5c448(0xfe)]()-_0x3ddd0b;logger[_0x5c448(0x109)](_0x5c448(0xf9),_0x5c448(0x107),_0x873762,{'projectCode':_0x3329d6});}catch(_0x186153){const _0x35231e=Date[_0x5c448(0xfe)]()-_0x3ddd0b;logger['error'](_0x5c448(0xf9),_0x5c448(0x100),{'projectCode':_0x3329d6,'error':_0x186153 instanceof Error?_0x186153[_0x5c448(0x104)]:String(_0x186153),'duration':_0x35231e});throw _0x186153;}return formatElapsed(_0x3ddd0b);}
1
+ (function(_0x1d59e3,_0x41767a){const _0x3c05d8=a137_0x2b01,_0x46e5c1=_0x1d59e3();while(!![]){try{const _0xdea3af=parseInt(_0x3c05d8(0xa4))/0x1*(-parseInt(_0x3c05d8(0xab))/0x2)+-parseInt(_0x3c05d8(0xa9))/0x3+parseInt(_0x3c05d8(0xa1))/0x4+parseInt(_0x3c05d8(0xa5))/0x5+-parseInt(_0x3c05d8(0xad))/0x6*(parseInt(_0x3c05d8(0xb0))/0x7)+-parseInt(_0x3c05d8(0xa7))/0x8+parseInt(_0x3c05d8(0xaa))/0x9*(parseInt(_0x3c05d8(0xa6))/0xa);if(_0xdea3af===_0x41767a)break;else _0x46e5c1['push'](_0x46e5c1['shift']());}catch(_0x18b026){_0x46e5c1['push'](_0x46e5c1['shift']());}}}(a137_0x45c1,0xd739e));import a137_0x17453c 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 a137_0x45c1(){const _0x4590d9=['resolve','3709956CWERZY','info','项目模板复制完成','2435ymNZcA','3130010ZbxEJu','26015770kvAyeT','10081384UvlyOp','error','2748531cNJRqh','9TGhGSv','668LjvWbj','now','12KdjBTP','项目模板复制失败','copy','993517GMIgbU'];a137_0x45c1=function(){return _0x4590d9;};return a137_0x45c1();}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';function a137_0x2b01(_0x1534be,_0x200115){_0x1534be=_0x1534be-0xa1;const _0x45c176=a137_0x45c1();let _0x2b019e=_0x45c176[_0x1534be];return _0x2b019e;}const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0xb2482b){const _0x1cb8a4=a137_0x2b01,_0x192c39=Date['now'](),_0x557304=a137_0x17453c[_0x1cb8a4(0xb1)](process['cwd'](),_0xb2482b);try{logger[_0x1cb8a4(0xa2)](_0x1cb8a4(0xaf),'开始复制项目模板',{'projectCode':_0xb2482b,'templateDir':templateDir}),await copyDirectory(templateDir,_0x557304);const _0x1d4dd3=Date[_0x1cb8a4(0xac)]()-_0x192c39;logger['success'](_0x1cb8a4(0xaf),_0x1cb8a4(0xa3),_0x1d4dd3,{'projectCode':_0xb2482b});}catch(_0x472359){const _0x1e84fb=Date[_0x1cb8a4(0xac)]()-_0x192c39;logger[_0x1cb8a4(0xa8)](_0x1cb8a4(0xaf),_0x1cb8a4(0xae),{'projectCode':_0xb2482b,'error':_0x472359 instanceof Error?_0x472359['message']:String(_0x472359),'duration':_0x1e84fb});throw _0x472359;}return formatElapsed(_0x192c39);}
@@ -1 +1 @@
1
- (function(_0x36f219,_0x2cf3f9){const _0x2a195b=a138_0x35c4,_0x53b94e=_0x36f219();while(!![]){try{const _0x4628e9=parseInt(_0x2a195b(0x16b))/0x1*(-parseInt(_0x2a195b(0x167))/0x2)+-parseInt(_0x2a195b(0x172))/0x3*(parseInt(_0x2a195b(0x165))/0x4)+-parseInt(_0x2a195b(0x173))/0x5*(-parseInt(_0x2a195b(0x16f))/0x6)+-parseInt(_0x2a195b(0x161))/0x7+-parseInt(_0x2a195b(0x15f))/0x8*(parseInt(_0x2a195b(0x168))/0x9)+parseInt(_0x2a195b(0x171))/0xa*(-parseInt(_0x2a195b(0x169))/0xb)+parseInt(_0x2a195b(0x166))/0xc;if(_0x4628e9===_0x2cf3f9)break;else _0x53b94e['push'](_0x53b94e['shift']());}catch(_0x3f5c11){_0x53b94e['push'](_0x53b94e['shift']());}}}(a138_0x127f,0x88c9a));import a138_0x417a67 from'node:path';function a138_0x35c4(_0x46adf2,_0x33986f){_0x46adf2=_0x46adf2-0x15d;const _0x127f33=a138_0x127f();let _0x35c4e3=_0x127f33[_0x46adf2];return _0x35c4e3;}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x356518){const _0x20bfd4=a138_0x35c4,_0x5842e4=Date[_0x20bfd4(0x16a)](),_0x3fb826=a138_0x417a67[_0x20bfd4(0x162)](process[_0x20bfd4(0x16d)](),_0x356518);try{logger[_0x20bfd4(0x164)]('format',_0x20bfd4(0x15e),{'projectCode':_0x356518}),await execa(resolveNpmBin(_0x20bfd4(0x16e)),['prettier',_0x20bfd4(0x170),'.'],{'cwd':_0x3fb826});const _0x29277e=Date[_0x20bfd4(0x16a)]()-_0x5842e4;logger[_0x20bfd4(0x15d)]('format',_0x20bfd4(0x160),_0x29277e,{'projectCode':_0x356518});}catch(_0x255466){const _0x203265=Date['now']()-_0x5842e4;logger['error']('format',_0x20bfd4(0x163),{'projectCode':_0x356518,'error':_0x255466 instanceof Error?_0x255466[_0x20bfd4(0x16c)]:String(_0x255466),'duration':_0x203265});throw _0x255466;}return formatElapsed(_0x5842e4);}function a138_0x127f(){const _0x3d2eba=['now','6vmpFes','message','cwd','npx','24DVYaiM','--write','2446530QNszMP','1037109lRnwtZ','764090OJiSjW','success','开始格式化代码','1938344EoaFiO','代码格式化完成','5018986xArMBi','resolve','代码格式化失败','info','4vfUMfe','29686152fHVAXP','82770HuFDcw','36YPlUNm','11rIHWVu'];a138_0x127f=function(){return _0x3d2eba;};return a138_0x127f();}
1
+ (function(_0x2610b8,_0x29ae55){const _0x2a8a4d=a138_0x3a5a,_0x1a51d1=_0x2610b8();while(!![]){try{const _0x5707ef=parseInt(_0x2a8a4d(0xad))/0x1+-parseInt(_0x2a8a4d(0xa9))/0x2+-parseInt(_0x2a8a4d(0xa4))/0x3+parseInt(_0x2a8a4d(0xac))/0x4*(-parseInt(_0x2a8a4d(0x9e))/0x5)+parseInt(_0x2a8a4d(0xaa))/0x6+-parseInt(_0x2a8a4d(0xa8))/0x7+-parseInt(_0x2a8a4d(0xb1))/0x8*(-parseInt(_0x2a8a4d(0xa2))/0x9);if(_0x5707ef===_0x29ae55)break;else _0x1a51d1['push'](_0x1a51d1['shift']());}catch(_0x3b3bf2){_0x1a51d1['push'](_0x1a51d1['shift']());}}}(a138_0x1e06,0x20112));import a138_0x40a252 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a138_0x1e06(){const _0x11f607=['prettier','526167oUbRjs','resolve','代码格式化完成','message','586915WEFBlZ','326330pYZuQd','1468722cSOmrJ','error','2616ZdENYu','6896FlzokZ','cwd','now','npx','41848tWxDYV','代码格式化失败','1130DBtpzv','--write','success','format','774UrbugA'];a138_0x1e06=function(){return _0x11f607;};return a138_0x1e06();}import{logger}from'../../../utils/logger.js';function a138_0x3a5a(_0x141240,_0x27df49){_0x141240=_0x141240-0x9d;const _0x1e061f=a138_0x1e06();let _0x3a5afd=_0x1e061f[_0x141240];return _0x3a5afd;}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0xc4d9fd){const _0x37d993=a138_0x3a5a,_0x331022=Date[_0x37d993(0xaf)](),_0x37d35a=a138_0x40a252[_0x37d993(0xa5)](process[_0x37d993(0xae)](),_0xc4d9fd);try{logger['info'](_0x37d993(0xa1),'开始格式化代码',{'projectCode':_0xc4d9fd}),await execa(resolveNpmBin(_0x37d993(0xb0)),[_0x37d993(0xa3),_0x37d993(0x9f),'.'],{'cwd':_0x37d35a});const _0x24daaf=Date['now']()-_0x331022;logger[_0x37d993(0xa0)](_0x37d993(0xa1),_0x37d993(0xa6),_0x24daaf,{'projectCode':_0xc4d9fd});}catch(_0xe1e485){const _0x5f0fa6=Date[_0x37d993(0xaf)]()-_0x331022;logger[_0x37d993(0xab)](_0x37d993(0xa1),_0x37d993(0x9d),{'projectCode':_0xc4d9fd,'error':_0xe1e485 instanceof Error?_0xe1e485[_0x37d993(0xa7)]:String(_0xe1e485),'duration':_0x5f0fa6});throw _0xe1e485;}return formatElapsed(_0x331022);}
@@ -1 +1 @@
1
- (function(_0x2daa97,_0x1570d1){const _0xd24259=a139_0x1072,_0x630bef=_0x2daa97();while(!![]){try{const _0x26b338=-parseInt(_0xd24259(0xb1))/0x1+-parseInt(_0xd24259(0xb2))/0x2*(parseInt(_0xd24259(0xae))/0x3)+parseInt(_0xd24259(0xba))/0x4+-parseInt(_0xd24259(0xb3))/0x5+-parseInt(_0xd24259(0xbd))/0x6*(-parseInt(_0xd24259(0xbb))/0x7)+-parseInt(_0xd24259(0xb5))/0x8+parseInt(_0xd24259(0xad))/0x9;if(_0x26b338===_0x1570d1)break;else _0x630bef['push'](_0x630bef['shift']());}catch(_0x319ca3){_0x630bef['push'](_0x630bef['shift']());}}}(a139_0x4aad,0x71351));function a139_0x1072(_0x1f8c0d,_0xcf47f6){_0x1f8c0d=_0x1f8c0d-0xaa;const _0x4aad18=a139_0x4aad();let _0x107258=_0x4aad18[_0x1f8c0d];return _0x107258;}import a139_0x140aae from'node:path';function a139_0x4aad(){const _0x220740=['3458420TmXCMu','2230333lCcOJq','resolve','12Slqfmh','cwd','install','error','success','https://registry.npmmirror.com','14765490nnQDIc','927WvfGxg','依赖安装失败','依赖安装完成','537675BauBgx','5778WgcvJW','1746500qbBVxh','npm','7192640ClmgJh','now','info','开始安装依赖','--registry'];a139_0x4aad=function(){return _0x220740;};return a139_0x4aad();}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x490024){const _0x159b8c=a139_0x1072,_0x3b95ac=Date['now'](),_0x2899aa=a139_0x140aae[_0x159b8c(0xbc)](process[_0x159b8c(0xbe)](),_0x490024);try{logger[_0x159b8c(0xb7)](_0x159b8c(0xbf),_0x159b8c(0xb8),{'projectCode':_0x490024,'registry':_0x159b8c(0xac)}),await execa(resolveNpmBin(_0x159b8c(0xb4)),['install',_0x159b8c(0xb9),_0x159b8c(0xac)],{'cwd':_0x2899aa});const _0x37daea=Date[_0x159b8c(0xb6)]()-_0x3b95ac;logger[_0x159b8c(0xab)](_0x159b8c(0xbf),_0x159b8c(0xb0),_0x37daea,{'projectCode':_0x490024});}catch(_0x112792){const _0x20a7f5=Date[_0x159b8c(0xb6)]()-_0x3b95ac;logger[_0x159b8c(0xaa)](_0x159b8c(0xbf),_0x159b8c(0xaf),{'projectCode':_0x490024,'error':_0x112792 instanceof Error?_0x112792['message']:String(_0x112792),'duration':_0x20a7f5});throw _0x112792;}return formatElapsed(_0x3b95ac);}
1
+ (function(_0x5acc7f,_0x4bc2b5){const _0x37de99=a139_0x2161,_0x525229=_0x5acc7f();while(!![]){try{const _0x35833e=-parseInt(_0x37de99(0x18b))/0x1*(parseInt(_0x37de99(0x191))/0x2)+-parseInt(_0x37de99(0x183))/0x3+parseInt(_0x37de99(0x182))/0x4*(-parseInt(_0x37de99(0x18e))/0x5)+parseInt(_0x37de99(0x186))/0x6+-parseInt(_0x37de99(0x187))/0x7+parseInt(_0x37de99(0x188))/0x8+parseInt(_0x37de99(0x17f))/0x9*(parseInt(_0x37de99(0x18a))/0xa);if(_0x35833e===_0x4bc2b5)break;else _0x525229['push'](_0x525229['shift']());}catch(_0x3adddf){_0x525229['push'](_0x525229['shift']());}}}(a139_0x2512,0x6092f));import a139_0x126af9 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a139_0x2161(_0x44bd7b,_0x16be3b){_0x44bd7b=_0x44bd7b-0x17f;const _0x2512a8=a139_0x2512();let _0x2161d9=_0x2512a8[_0x44bd7b];return _0x2161d9;}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a139_0x2512(){const _0x50a451=['4DaKTzd','开始安装依赖','install','115sJsMRf','https://registry.npmmirror.com','resolve','78602MGhpbn','6849LUngbc','依赖安装失败','依赖安装完成','122428ELiERk','673296uxFvZG','npm','now','2700222zsRXDH','1523627DMTPUB','499112yCSgOw','message','15590xswDKe'];a139_0x2512=function(){return _0x50a451;};return a139_0x2512();}export async function installDependencies(_0x13ab32){const _0xfcc9d1=a139_0x2161,_0x19b89f=Date[_0xfcc9d1(0x185)](),_0x34606e=a139_0x126af9[_0xfcc9d1(0x190)](process['cwd'](),_0x13ab32);try{logger['info'](_0xfcc9d1(0x18d),_0xfcc9d1(0x18c),{'projectCode':_0x13ab32,'registry':_0xfcc9d1(0x18f)}),await execa(resolveNpmBin(_0xfcc9d1(0x184)),['install','--registry',_0xfcc9d1(0x18f)],{'cwd':_0x34606e});const _0x41a330=Date[_0xfcc9d1(0x185)]()-_0x19b89f;logger['success'](_0xfcc9d1(0x18d),_0xfcc9d1(0x181),_0x41a330,{'projectCode':_0x13ab32});}catch(_0x4a0592){const _0x485fcb=Date[_0xfcc9d1(0x185)]()-_0x19b89f;logger['error'](_0xfcc9d1(0x18d),_0xfcc9d1(0x180),{'projectCode':_0x13ab32,'error':_0x4a0592 instanceof Error?_0x4a0592[_0xfcc9d1(0x189)]:String(_0x4a0592),'duration':_0x485fcb});throw _0x4a0592;}return formatElapsed(_0x19b89f);}
@@ -1 +1 @@
1
- const a140_0x4337d1=a140_0xfc47;(function(_0x530e16,_0x1c6566){const _0x1a199a=a140_0xfc47,_0x13e19e=_0x530e16();while(!![]){try{const _0x531a7c=parseInt(_0x1a199a(0x1f5))/0x1*(-parseInt(_0x1a199a(0x1ea))/0x2)+-parseInt(_0x1a199a(0x1fe))/0x3+parseInt(_0x1a199a(0x1f9))/0x4*(-parseInt(_0x1a199a(0x1eb))/0x5)+-parseInt(_0x1a199a(0x1e3))/0x6+-parseInt(_0x1a199a(0x1e9))/0x7+parseInt(_0x1a199a(0x1fa))/0x8*(parseInt(_0x1a199a(0x200))/0x9)+-parseInt(_0x1a199a(0x1e0))/0xa*(-parseInt(_0x1a199a(0x1f3))/0xb);if(_0x531a7c===_0x1c6566)break;else _0x13e19e['push'](_0x13e19e['shift']());}catch(_0x9c0b63){_0x13e19e['push'](_0x13e19e['shift']());}}}(a140_0x5110,0x659cb));function a140_0x5110(){const _0x2d2b6a=['Skip\x20confirmation\x20prompt','1010448NXCGJa','boolean','3807FFFAvZ','Auto-confirm\x20prompts','Target\x20environment','cookie','validation','init','App\x20code\x20to\x20initialize','name','2924420NoywHW','trim','string','4297896ZPHXRe','appcode','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Project\x20name','nonInteractive','write','3937332ltCnYn','3728TNNtJN','5cdpbtD','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','project-name','args','yes','project','env','2026-07','55dNAlGL','bool','41yZOykh','upgrade','../../commands/project/create/non-interactive.js','str','79108MSTOPz','12592AtcZKc','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli'];a140_0x5110=function(){return _0x2d2b6a;};return a140_0x5110();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a140_0xfc47(_0x22b4cd,_0x375749){_0x22b4cd=_0x22b4cd-0x1dd;const _0x5110bf=a140_0x5110();let _0xfc4780=_0x5110bf[_0x22b4cd];return _0xfc4780;}import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a140_0x4337d1(0x1e4),'type':'string','description':a140_0x4337d1(0x1de)},{'name':a140_0x4337d1(0x1f1),'type':'string','description':'Target\x20environment'},{'name':a140_0x4337d1(0x1ef),'type':a140_0x4337d1(0x1ff),'description':a140_0x4337d1(0x201),'default':![]}],createFlags=[{'name':a140_0x4337d1(0x1df),'type':a140_0x4337d1(0x1e2),'description':a140_0x4337d1(0x1e6)},{'name':a140_0x4337d1(0x1f1),'type':a140_0x4337d1(0x1e2),'description':a140_0x4337d1(0x202)},{'name':a140_0x4337d1(0x1e4),'type':a140_0x4337d1(0x1e2),'description':a140_0x4337d1(0x1ec)}],upgradeFlags=[{'name':a140_0x4337d1(0x1ef),'type':a140_0x4337d1(0x1ff),'description':a140_0x4337d1(0x1fd),'default':![]}];export const projectDefinitions=[{'service':a140_0x4337d1(0x1f0),'command':a140_0x4337d1(0x1dd),'description':a140_0x4337d1(0x1fb),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+'\x20workspace\x20init','since':a140_0x4337d1(0x1f2)},'flags':initFlags,async 'execute'(_0x1646aa){const _0x24524c=a140_0x4337d1;return await initConfig({'appcode':_0x1646aa[_0x24524c(0x1f8)](_0x24524c(0x1e4))||undefined,'env':_0x1646aa['str'](_0x24524c(0x1f1))||undefined,'autoYes':_0x1646aa['bool'](_0x24524c(0x1ef))}),{'ok':!![]};}},{'service':'project','command':'create','description':'Create\x20a\x20new\x20project','risk':a140_0x4337d1(0x1e8),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a140_0x4337d1(0x1ed),'description':a140_0x4337d1(0x1e5),'required':![]}],'flags':createFlags,async 'execute'(_0x265733){const _0xb2b20a=a140_0x4337d1,{createApp:_0x2fbf91}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x2aecdf}=await import(_0xb2b20a(0x1f7)),_0xb1afcf=_0x265733[_0xb2b20a(0x1f8)](_0xb2b20a(0x1df))[_0xb2b20a(0x1e1)]()||_0x265733[_0xb2b20a(0x1ee)][0x0]?.[_0xb2b20a(0x1e1)](),_0x508b0a=_0x265733['str'](_0xb2b20a(0x1f1))||undefined,_0x1f8548=_0x265733[_0xb2b20a(0x1f8)](_0xb2b20a(0x1e4))||undefined;if(_0x265733[_0xb2b20a(0x1e7)]){if(!_0xb1afcf)throw CliErrors[_0xb2b20a(0x204)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Usage:\x20'+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x2aecdf(_0xb1afcf,_0x508b0a,_0x1f8548,_0x265733[_0xb2b20a(0x203)]);}else await _0x2fbf91({'projectCode':_0xb1afcf,'appCode':_0x1f8548,'env':_0x508b0a,'cookie':_0x265733[_0xb2b20a(0x203)]});return{'ok':!![]};}},{'service':a140_0x4337d1(0x1f0),'command':a140_0x4337d1(0x1f6),'description':a140_0x4337d1(0x1fc),'risk':a140_0x4337d1(0x1e8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x229cca){const _0x437855=a140_0x4337d1;return await upgradeApp(_0x229cca['nonInteractive'],{'yes':_0x229cca[_0x437855(0x1f4)]('yes')}),{'ok':!![]};}}];
1
+ const a140_0x28e16a=a140_0x31ff;(function(_0x3d8f3e,_0x890f3a){const _0x1288f2=a140_0x31ff,_0x5514ad=_0x3d8f3e();while(!![]){try{const _0x124c4c=parseInt(_0x1288f2(0x1cc))/0x1+parseInt(_0x1288f2(0x1c6))/0x2+-parseInt(_0x1288f2(0x1c7))/0x3+-parseInt(_0x1288f2(0x1ce))/0x4*(parseInt(_0x1288f2(0x1d4))/0x5)+-parseInt(_0x1288f2(0x1ca))/0x6*(parseInt(_0x1288f2(0x1df))/0x7)+parseInt(_0x1288f2(0x1d5))/0x8*(parseInt(_0x1288f2(0x1d0))/0x9)+parseInt(_0x1288f2(0x1c9))/0xa;if(_0x124c4c===_0x890f3a)break;else _0x5514ad['push'](_0x5514ad['shift']());}catch(_0x7eb43){_0x5514ad['push'](_0x5514ad['shift']());}}}(a140_0x5cbc,0x1bf4d));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';function a140_0x5cbc(){const _0x216867=['Project\x20name','421570uOIAuH','18XFBrJz','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','63126nyGRJZ','write','34212iRiAXN','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','16236HCfTMl','\x20workspace\x20init','bool','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','65VTFEBm','824meWPhN','cookie','yes','name','str','upgrade','appcode','trim','Auto-confirm\x20prompts','project','529732VyugAw','string','Skip\x20confirmation\x20prompt','create','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','project-name','2026-07','Target\x20environment','nonInteractive','init','env','../../commands/project/create/main.js','args','boolean','407280YJOOdn','126027FErzuX'];a140_0x5cbc=function(){return _0x216867;};return a140_0x5cbc();}function a140_0x31ff(_0x57819a,_0x4016b1){_0x57819a=_0x57819a-0x1ba;const _0x5cbcd6=a140_0x5cbc();let _0x31ff8f=_0x5cbcd6[_0x57819a];return _0x31ff8f;}const initFlags=[{'name':a140_0x28e16a(0x1db),'type':a140_0x28e16a(0x1e0),'description':'App\x20code\x20to\x20initialize'},{'name':a140_0x28e16a(0x1c2),'type':a140_0x28e16a(0x1e0),'description':a140_0x28e16a(0x1bf)},{'name':a140_0x28e16a(0x1d7),'type':a140_0x28e16a(0x1c5),'description':a140_0x28e16a(0x1dd),'default':![]}],createFlags=[{'name':a140_0x28e16a(0x1d8),'type':a140_0x28e16a(0x1e0),'description':a140_0x28e16a(0x1c8)},{'name':'env','type':a140_0x28e16a(0x1e0),'description':a140_0x28e16a(0x1bf)},{'name':a140_0x28e16a(0x1db),'type':a140_0x28e16a(0x1e0),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'}],upgradeFlags=[{'name':'yes','type':'boolean','description':a140_0x28e16a(0x1ba),'default':![]}];export const projectDefinitions=[{'service':'project','command':a140_0x28e16a(0x1c1),'description':a140_0x28e16a(0x1cb),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a140_0x28e16a(0x1d1),'since':a140_0x28e16a(0x1be)},'flags':initFlags,async 'execute'(_0x5c4c98){const _0xb47db4=a140_0x28e16a;return await initConfig({'appcode':_0x5c4c98['str'](_0xb47db4(0x1db))||undefined,'env':_0x5c4c98[_0xb47db4(0x1d9)](_0xb47db4(0x1c2))||undefined,'autoYes':_0x5c4c98[_0xb47db4(0x1d2)](_0xb47db4(0x1d7))}),{'ok':!![]};}},{'service':a140_0x28e16a(0x1de),'command':a140_0x28e16a(0x1bb),'description':'Create\x20a\x20new\x20project','risk':a140_0x28e16a(0x1cd),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a140_0x28e16a(0x1bd),'description':a140_0x28e16a(0x1cf),'required':![]}],'flags':createFlags,async 'execute'(_0x266861){const _0x37ee27=a140_0x28e16a,{createApp:_0x32cf99}=await import(_0x37ee27(0x1c3)),{createProjectNonInteractive:_0x3a77b3}=await import('../../commands/project/create/non-interactive.js'),_0x7d2cb0=_0x266861[_0x37ee27(0x1d9)](_0x37ee27(0x1d8))[_0x37ee27(0x1dc)]()||_0x266861[_0x37ee27(0x1c4)][0x0]?.[_0x37ee27(0x1dc)](),_0x46d2c4=_0x266861['str'](_0x37ee27(0x1c2))||undefined,_0x378996=_0x266861['str']('appcode')||undefined;if(_0x266861['nonInteractive']){if(!_0x7d2cb0)throw CliErrors['validation']('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x37ee27(0x1d3));await _0x3a77b3(_0x7d2cb0,_0x46d2c4,_0x378996,_0x266861[_0x37ee27(0x1d6)]);}else await _0x32cf99({'projectCode':_0x7d2cb0,'appCode':_0x378996,'env':_0x46d2c4,'cookie':_0x266861[_0x37ee27(0x1d6)]});return{'ok':!![]};}},{'service':a140_0x28e16a(0x1de),'command':a140_0x28e16a(0x1da),'description':a140_0x28e16a(0x1bc),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x4d5c60){const _0x362e68=a140_0x28e16a;return await upgradeApp(_0x4d5c60[_0x362e68(0x1c0)],{'yes':_0x4d5c60[_0x362e68(0x1d2)](_0x362e68(0x1d7))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x443cc0,_0x50030f){const _0x1965e7=a141_0x1b20,_0x49df74=_0x443cc0();while(!![]){try{const _0x35b539=parseInt(_0x1965e7(0x178))/0x1*(-parseInt(_0x1965e7(0x198))/0x2)+parseInt(_0x1965e7(0x16e))/0x3*(-parseInt(_0x1965e7(0x196))/0x4)+-parseInt(_0x1965e7(0x186))/0x5*(parseInt(_0x1965e7(0x18e))/0x6)+parseInt(_0x1965e7(0x17e))/0x7*(parseInt(_0x1965e7(0x17d))/0x8)+-parseInt(_0x1965e7(0x17b))/0x9+parseInt(_0x1965e7(0x199))/0xa+-parseInt(_0x1965e7(0x19b))/0xb*(-parseInt(_0x1965e7(0x182))/0xc);if(_0x35b539===_0x50030f)break;else _0x49df74['push'](_0x49df74['shift']());}catch(_0x16000b){_0x49df74['push'](_0x49df74['shift']());}}}(a141_0x12f3,0x9730a));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a141_0x1b20(_0xf0d1d2,_0x14eccf){_0xf0d1d2=_0xf0d1d2-0x168;const _0x12f384=a141_0x12f3();let _0x1b20fa=_0x12f384[_0xf0d1d2];return _0x1b20fa;}import a141_0x305761 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';function a141_0x12f3(){const _0x1329db=['gray','1vSvttN','package.json','defaultApp','10959957PTSfGS','Upgrade\x20it\x20to\x20','8511960Hbbflq','7FLXUwV','1.0.0','../..','appcode','798804wsMIGZ','cwd','app','utf8','50xTnYbi','log','\x20→\x20.rabetbase.json','✓\x20Upgraded\x20','env','\x20api\x20pull\x27','apps','keys','487068aZoeOP','parse','bold','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','\x20\x20Apps:\x20','.bak','yellow','Invalid\x20App\x20Code','92rtHcOX','Migration\x20cancelled.\x20Run\x20`','917866SKBsDk','9518610HxASmz','Please\x20enter\x20App\x20Code:','308qzCCwU','\x20workspace\x20init`\x20to\x20start\x20fresh.','production','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','version','init','cyan','100692KySJHj','setLogPath','string','App\x20Code\x20cannot\x20be\x20empty','join','\x20\x20appcode:\x20','初始化项目配置文件成功','toLocaleString','?\x20(Old\x20file\x20→\x20*.bak)'];a141_0x12f3=function(){return _0x1329db;};return a141_0x12f3();}import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x21d739){const _0x4553f0=a141_0x1b20,{appcode:_0xb7eb3f,env:_0x1a3b88,autoYes:_0x238266}=_0x21d739,_0x5906ee=process[_0x4553f0(0x183)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x4b792b;for(const _0x3b39f7 of LEGACY_CONFIG_NAMES){const _0x4c1e3f=resolve(_0x5906ee,_0x3b39f7);if(existsSync(_0x4c1e3f)){_0x4b792b=_0x4c1e3f;break;}}if(_0x4b792b){let _0x154c25={};try{_0x154c25=JSON[_0x4553f0(0x18f)](readFileSync(_0x4b792b,_0x4553f0(0x185)));}catch{}const _0x25d614=basename(_0x4b792b),_0x5266a9=_0x154c25?.['appcode']||_0x154c25?.[_0x4553f0(0x184)];let _0x5c551b=_0x238266;!_0x238266&&(console[_0x4553f0(0x187)](a141_0x305761[_0x4553f0(0x194)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a141_0x305761[_0x4553f0(0x190)](_0x25d614))),_0x5266a9&&console[_0x4553f0(0x187)](a141_0x305761[_0x4553f0(0x16d)](_0x4553f0(0x173)+_0x5266a9)),_0x5c551b=await confirm({'message':_0x4553f0(0x17c)+a141_0x305761[_0x4553f0(0x190)]('.rabetbase.json')+_0x4553f0(0x176),'default':!![]}));if(!_0x5c551b){console[_0x4553f0(0x187)](_0x4553f0(0x197)+CLI_BIN_NAME+_0x4553f0(0x19c));return;}const _0xbc0e5e=resolve(_0x5906ee,NEW_CONFIG_NAME),_0x2c3424=getCliVersionFromPkg(),_0x3fb231=readRawConfig(),_0x16be25=_0xb7eb3f||(typeof _0x154c25?.[_0x4553f0(0x181)]===_0x4553f0(0x170)?_0x154c25[_0x4553f0(0x181)]:undefined)||(typeof _0x154c25?.['app']===_0x4553f0(0x170)?_0x154c25[_0x4553f0(0x184)]:undefined)||await askAppcode(),_0x518b46=typeof _0x154c25?.[_0x4553f0(0x18a)]===_0x4553f0(0x170)?_0x154c25[_0x4553f0(0x18a)]:typeof _0x3fb231[_0x4553f0(0x18a)]===_0x4553f0(0x170)?_0x3fb231[_0x4553f0(0x18a)]:_0x4553f0(0x168),_0x2ddf92=buildCanonicalProjectConfig({..._0x3fb231,..._0x154c25},{'appCodes':[_0x16be25],'env':_0x518b46,'metadata':{'version':_0x2c3424,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x4b792b}});writeConfigFile(_0xbc0e5e,_0x2ddf92);const _0x5d367c=_0x4b792b+_0x4553f0(0x193);renameSync(_0x4b792b,_0x5d367c),logger[_0x4553f0(0x16f)](_0x5906ee),logger['info'](_0x4553f0(0x16c),'从旧配置文件升级成功',{'from':_0x4b792b,'to':_0xbc0e5e,'appcode':_0x16be25,'env':_0x2ddf92[_0x4553f0(0x18a)]}),console[_0x4553f0(0x187)](a141_0x305761['green'](_0x4553f0(0x189)+_0x25d614+_0x4553f0(0x188))),console[_0x4553f0(0x187)](a141_0x305761[_0x4553f0(0x16d)](_0x4553f0(0x192)+Object['keys'](_0x2ddf92[_0x4553f0(0x18c)]||{})[_0x4553f0(0x172)](',\x20'))),console[_0x4553f0(0x187)](a141_0x305761[_0x4553f0(0x16d)]('\x20\x20Default:\x20'+_0x2ddf92[_0x4553f0(0x17a)])),console[_0x4553f0(0x187)](a141_0x305761[_0x4553f0(0x177)](_0x4553f0(0x16a)+_0x25d614+_0x4553f0(0x193)));return;}const _0x58058f=_0xb7eb3f||await askAppcode(),_0x3bd761=resolve(_0x5906ee,NEW_CONFIG_NAME),_0x36c026=getCliVersionFromPkg(),_0x18204c=readRawConfig(),_0x1fd7ab=typeof _0x18204c['env']===_0x4553f0(0x170)?_0x18204c[_0x4553f0(0x18a)]:undefined,_0x5acdea=buildCanonicalProjectConfig({},{'appCodes':[_0x58058f],'env':_0x1a3b88||_0x1fd7ab||_0x4553f0(0x168),'metadata':{'version':_0x36c026,'createdAt':new Date()[_0x4553f0(0x175)]()}});writeConfigFile(_0x3bd761,_0x5acdea),logger[_0x4553f0(0x16f)](_0x5906ee),logger['info']('init',_0x4553f0(0x174),{'appcode':_0x58058f,'env':_0x5acdea[_0x4553f0(0x18a)],'version':_0x5acdea[_0x4553f0(0x16b)],'configPath':_0x3bd761}),console[_0x4553f0(0x187)](a141_0x305761['green'](_0x4553f0(0x191))),console['log'](a141_0x305761[_0x4553f0(0x16d)]('\x20\x20Apps:\x20'+Object[_0x4553f0(0x18d)](_0x5acdea[_0x4553f0(0x18c)]||{})[_0x4553f0(0x172)](',\x20'))),console['log'](a141_0x305761['cyan']('\x20\x20Default:\x20'+_0x5acdea[_0x4553f0(0x17a)])),console[_0x4553f0(0x187)](_0x4553f0(0x169)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x4553f0(0x18b));}function askAppcode(){const _0x2b2c84=a141_0x1b20;return input({'message':_0x2b2c84(0x19a),'validate':_0x43ae12=>{const _0x4dfdf4=_0x2b2c84;if(!_0x43ae12['trim']())return _0x4dfdf4(0x171);const {valid:_0x373512,message:_0x954953}=validateAppcode(_0x43ae12['trim']());return _0x373512||_0x954953||_0x4dfdf4(0x195);}});}function getCliVersionFromPkg(){const _0x2f6b54=a141_0x1b20;try{const _0x181783=fileURLToPath(import.meta.url),_0x13a4b5=resolve(dirname(_0x181783),_0x2f6b54(0x180)),_0x4ed18c=JSON[_0x2f6b54(0x18f)](readFileSync(resolve(_0x13a4b5,_0x2f6b54(0x179)),_0x2f6b54(0x185)));return _0x4ed18c[_0x2f6b54(0x16b)]||_0x2f6b54(0x17f);}catch{return'1.0.0';}}
1
+ (function(_0x2ebb01,_0x794ea8){const _0x169594=a141_0x2ba2,_0x470c68=_0x2ebb01();while(!![]){try{const _0x3fa4e5=parseInt(_0x169594(0x9e))/0x1+-parseInt(_0x169594(0x9f))/0x2*(-parseInt(_0x169594(0xb8))/0x3)+parseInt(_0x169594(0xbb))/0x4+parseInt(_0x169594(0xa0))/0x5*(-parseInt(_0x169594(0xbc))/0x6)+parseInt(_0x169594(0xc5))/0x7+parseInt(_0x169594(0xad))/0x8+parseInt(_0x169594(0xb2))/0x9*(-parseInt(_0x169594(0xb7))/0xa);if(_0x3fa4e5===_0x794ea8)break;else _0x470c68['push'](_0x470c68['shift']());}catch(_0x3d7c4c){_0x470c68['push'](_0x470c68['shift']());}}}(a141_0x27d8,0xf0d27));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a141_0x3e480a from'chalk';function a141_0x27d8(){const _0x505f29=['trim','yellow','cyan','defaultApp','.bak','\x20\x20Default:\x20','\x20api\x20generate\x27\x20and\x20\x27','package.json','1634953DtXHRJ','14zvVQOz','337475XjPkeO','\x20workspace\x20init`\x20to\x20start\x20fresh.','keys','appcode','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','gray','join','version','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','apps','Invalid\x20App\x20Code','从旧配置文件升级成功','\x20\x20appcode:\x20','6540576JSlyOa','cwd','bold','\x20api\x20pull\x27','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','132237eirkQf','env','production','\x20→\x20.rabetbase.json','?\x20(Old\x20file\x20→\x20*.bak)','1260HVpjQq','146739JBbDUi','green','info','640220rRHozm','126gXcKYO','.rabetbase.json','App\x20Code\x20cannot\x20be\x20empty','utf8','string','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','setLogPath','../..','9101043ATrHCq','toLocaleString','\x20\x20Apps:\x20','log','init','app'];a141_0x27d8=function(){return _0x505f29;};return a141_0x27d8();}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(_0x51d4e9){const _0x32322e=a141_0x2ba2,{appcode:_0x352e9c,env:_0x40b446,autoYes:_0x16c2de}=_0x51d4e9,_0xfca136=process[_0x32322e(0xae)]();if(getProjectConfigPath())throw new Error(_0x32322e(0xa8));let _0x356b53;for(const _0x475865 of LEGACY_CONFIG_NAMES){const _0x5e7485=resolve(_0xfca136,_0x475865);if(existsSync(_0x5e7485)){_0x356b53=_0x5e7485;break;}}if(_0x356b53){let _0x396193={};try{_0x396193=JSON['parse'](readFileSync(_0x356b53,_0x32322e(0xbf)));}catch{}const _0x521841=basename(_0x356b53),_0x30eeb6=_0x396193?.['appcode']||_0x396193?.[_0x32322e(0x95)];let _0x2891d5=_0x16c2de;!_0x16c2de&&(console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x97)](_0x32322e(0xa4)+a141_0x3e480a[_0x32322e(0xaf)](_0x521841))),_0x30eeb6&&console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x98)](_0x32322e(0xac)+_0x30eeb6)),_0x2891d5=await confirm({'message':'Upgrade\x20it\x20to\x20'+a141_0x3e480a[_0x32322e(0xaf)](_0x32322e(0xbd))+_0x32322e(0xb6),'default':!![]}));if(!_0x2891d5){console['log']('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x32322e(0xa1));return;}const _0x218628=resolve(_0xfca136,NEW_CONFIG_NAME),_0x1c61de=getCliVersionFromPkg(),_0x50843b=readRawConfig(),_0x49edda=_0x352e9c||(typeof _0x396193?.[_0x32322e(0xa3)]===_0x32322e(0xc0)?_0x396193[_0x32322e(0xa3)]:undefined)||(typeof _0x396193?.[_0x32322e(0x95)]===_0x32322e(0xc0)?_0x396193[_0x32322e(0x95)]:undefined)||await askAppcode(),_0x234435=typeof _0x396193?.['env']===_0x32322e(0xc0)?_0x396193[_0x32322e(0xb3)]:typeof _0x50843b[_0x32322e(0xb3)]===_0x32322e(0xc0)?_0x50843b['env']:_0x32322e(0xb4),_0x349a43=buildCanonicalProjectConfig({..._0x50843b,..._0x396193},{'appCodes':[_0x49edda],'env':_0x234435,'metadata':{'version':_0x1c61de,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x356b53}});writeConfigFile(_0x218628,_0x349a43);const _0x967408=_0x356b53+_0x32322e(0x9a);renameSync(_0x356b53,_0x967408),logger[_0x32322e(0xc3)](_0xfca136),logger['info']('init',_0x32322e(0xab),{'from':_0x356b53,'to':_0x218628,'appcode':_0x49edda,'env':_0x349a43[_0x32322e(0xb3)]}),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0xb9)]('✓\x20Upgraded\x20'+_0x521841+_0x32322e(0xb5))),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x98)]('\x20\x20Apps:\x20'+Object[_0x32322e(0xa2)](_0x349a43[_0x32322e(0xa9)]||{})[_0x32322e(0xa6)](',\x20'))),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x98)]('\x20\x20Default:\x20'+_0x349a43[_0x32322e(0x99)])),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0xa5)](_0x32322e(0xc2)+_0x521841+_0x32322e(0x9a)));return;}const _0x3d4614=_0x352e9c||await askAppcode(),_0x182f06=resolve(_0xfca136,NEW_CONFIG_NAME),_0x3a512f=getCliVersionFromPkg(),_0x4aeef8=readRawConfig(),_0x5747ff=typeof _0x4aeef8['env']==='string'?_0x4aeef8[_0x32322e(0xb3)]:undefined,_0x415581=buildCanonicalProjectConfig({},{'appCodes':[_0x3d4614],'env':_0x40b446||_0x5747ff||'production','metadata':{'version':_0x3a512f,'createdAt':new Date()[_0x32322e(0xc6)]()}});writeConfigFile(_0x182f06,_0x415581),logger[_0x32322e(0xc3)](_0xfca136),logger[_0x32322e(0xba)](_0x32322e(0x94),'初始化项目配置文件成功',{'appcode':_0x3d4614,'env':_0x415581['env'],'version':_0x415581[_0x32322e(0xa7)],'configPath':_0x182f06}),console['log'](a141_0x3e480a[_0x32322e(0xb9)](_0x32322e(0xb1))),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x98)](_0x32322e(0xc7)+Object['keys'](_0x415581['apps']||{})[_0x32322e(0xa6)](',\x20'))),console[_0x32322e(0x93)](a141_0x3e480a[_0x32322e(0x98)](_0x32322e(0x9b)+_0x415581[_0x32322e(0x99)])),console[_0x32322e(0x93)](_0x32322e(0xc1)+CLI_BIN_NAME+_0x32322e(0x9c)+CLI_BIN_NAME+_0x32322e(0xb0));}function a141_0x2ba2(_0xe9f2a8,_0xe03db7){_0xe9f2a8=_0xe9f2a8-0x93;const _0x27d8ea=a141_0x27d8();let _0x2ba27c=_0x27d8ea[_0xe9f2a8];return _0x2ba27c;}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x5d1883=>{const _0x3382ec=a141_0x2ba2;if(!_0x5d1883[_0x3382ec(0x96)]())return _0x3382ec(0xbe);const {valid:_0x373649,message:_0x543669}=validateAppcode(_0x5d1883[_0x3382ec(0x96)]());return _0x373649||_0x543669||_0x3382ec(0xaa);}});}function getCliVersionFromPkg(){const _0x580db1=a141_0x2ba2;try{const _0x3497a9=fileURLToPath(import.meta.url),_0xe909a2=resolve(dirname(_0x3497a9),_0x580db1(0xc4)),_0x5d53c6=JSON['parse'](readFileSync(resolve(_0xe909a2,_0x580db1(0x9d)),_0x580db1(0xbf)));return _0x5d53c6[_0x580db1(0xa7)]||'1.0.0';}catch{return'1.0.0';}}
@@ -1 +1 @@
1
- const a142_0x44355e=a142_0x9e9e;(function(_0x5c1051,_0x1bb5ff){const _0x1e0267=a142_0x9e9e,_0x1e0f97=_0x5c1051();while(!![]){try{const _0x160809=parseInt(_0x1e0267(0x149))/0x1+-parseInt(_0x1e0267(0x109))/0x2*(-parseInt(_0x1e0267(0x15d))/0x3)+-parseInt(_0x1e0267(0x145))/0x4*(parseInt(_0x1e0267(0x114))/0x5)+parseInt(_0x1e0267(0x126))/0x6*(parseInt(_0x1e0267(0x137))/0x7)+-parseInt(_0x1e0267(0x136))/0x8*(-parseInt(_0x1e0267(0x132))/0x9)+-parseInt(_0x1e0267(0x148))/0xa+parseInt(_0x1e0267(0xf4))/0xb*(-parseInt(_0x1e0267(0x15b))/0xc);if(_0x160809===_0x1bb5ff)break;else _0x1e0f97['push'](_0x1e0f97['shift']());}catch(_0x5e6b62){_0x1e0f97['push'](_0x1e0f97['shift']());}}}(a142_0x40e5,0x95615));import a142_0x206aaf from'chalk';import a142_0xf56e67 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a142_0x44355e(0x165)](_0x210041=>_0x210041!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x554a66){const _0x21cd44=a142_0x44355e,_0x5eb181=[];for(const _0x1c6e1c of Object[_0x21cd44(0x113)](CORE_IDE_CONFIGS)){if(_0x1c6e1c['files'])for(const _0x1151a1 of _0x1c6e1c[_0x21cd44(0x159)]){_0x5eb181[_0x21cd44(0x112)](resolve(_0x554a66,_0x1151a1['path']));}}return _0x5eb181;}function a142_0x40e5(){const _0x5e37a6=['not\x20found\x20or\x20already\x20at\x20latest','lovrabet/rabetbase\x20installed\x20globally','some','step','Config\x20migration','Proceed\x20with\x20upgrade?','\x20(backup:\x20','27sGOMXT','fail','needsSkillSwap','not\x20found\x20(will\x20create)','1891720jfvgds','42LiPQol','lovrabet/rabetbase','status','join','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Skill\x20swap:','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.cursor/rules/lovrabet_rules.mdc','skipped\x20(no\x20legacy\x20config)','isArray','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','@lovrabet/dataset-mcp-server','MCP\x20config:','Remove\x20legacy\x20artifacts','37964IQmkVu','\x20\x20\x20\x20\x20\x20\x20','skipped','4703760cRLvfD','326590SqEfiv','FOUND','bold','Step\x204/7:\x20Cleaning\x20MCP\x20config...','@lovrabet/sdk:','args','start','label','\x20removed\x20(','\x20→\x20','not\x20needed','Legacy\x20artifacts:','yes','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','.lovrabet','files','FAIL','70884tSDhZv','info','94803WyUzDe','[\x22@lovrabet/sdk\x22]:\x20','lovrabet/lovrabet-skill\x20removed','latest','isDirectory','includes','succeed','length','filter','yellow','keys','removed\x20','gray','inherit','Upgrade\x20@lovrabet/sdk','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Remove\x20.lovrabet/','white','Config\x20file:','hasNewConfig','Step\x201/7:\x20Migrating\x20config...','\x20\x20Fields\x20to\x20migrate:\x20','Upgrade\x20cancelled.','1463VwgILJ','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','configMigration','mcpServers','detail','@lovrabet/sdk','.cursor/mcp.json','oldPath','\x20\x20Action:\x20delete','message','path','\x20\x20Current\x20version\x20in\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','log','done','\x20→\x20keys:\x20','\x20\x20New\x20config\x20(.rabetbase.json):\x20','entries','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','exit\x20','Clean\x20MCP\x20config','2mTZjPN','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','string','fields','.bak','stringify','object','oldArtifacts','oldMcpConfig','push','values','130wnKCxC','sdkUpgrade','undefined','utf8','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','CANCEL','error','Upgrade\x20completed\x20successfully!','\x20→\x20latest','failed','Step\x206/7:\x20Installing\x20new\x20skill...','parse','Step\x204/7:\x20MCP\x20config\x20—\x20','\x20\x20npm\x20install','cyan','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','no\x20legacy\x20entry','1047048MDFlmo','Step\x205/7:\x20Removing\x20old\x20skill...','green','.claude/skills/lovrabet','none\x20found'];a142_0x40e5=function(){return _0x5e37a6;};return a142_0x40e5();}function analyse(_0x3c9459){const _0x169535=a142_0x44355e;let _0x166302=null;const _0x336dfc=resolve(_0x3c9459,NEW_CONFIG_NAME),_0x3af503=existsSync(_0x336dfc);for(const _0x2a9a18 of LEGACY_CONFIG_NAMES){const _0x137bd1=resolve(_0x3c9459,_0x2a9a18);if(existsSync(_0x137bd1)){const _0x4e16ee=readConfigFile(_0x137bd1),_0x9f90b1=Object[_0x169535(0x167)](_0x4e16ee)[_0x169535(0x165)](_0x20548d=>typeof _0x4e16ee[_0x20548d]!==_0x169535(0x116));_0x166302={'oldPath':_0x137bd1,'hasNewConfig':_0x3af503,'fields':_0x9f90b1};break;}}const _0x397f1b=[],_0x2b3106=resolve(_0x3c9459,_0x169535(0x158));if(existsSync(_0x2b3106))_0x397f1b[_0x169535(0x112)](_0x2b3106);const _0x3294a3=resolve(_0x3c9459,_0x169535(0x13e));if(existsSync(_0x3294a3))_0x397f1b[_0x169535(0x112)](_0x3294a3);const _0x10deb9=resolve(_0x3c9459,_0x169535(0x129));if(existsSync(_0x10deb9))_0x397f1b['push'](_0x10deb9);for(const _0x1a9aa7 of collectIdeSkillFiles(_0x3c9459)){if(existsSync(_0x1a9aa7))_0x397f1b[_0x169535(0x112)](_0x1a9aa7);}let _0x3eb6ab=null;const _0x258834=resolve(_0x3c9459,_0x169535(0xfa));if(existsSync(_0x258834))try{const _0x55f0b1=JSON[_0x169535(0x11f)](readFileSync(_0x258834,_0x169535(0x117)));if(_0x55f0b1?.['mcpServers']&&typeof _0x55f0b1[_0x169535(0xf7)]===_0x169535(0x10f)){const _0x5f1557=[];for(const [_0x406060,_0x19dd27]of Object['entries'](_0x55f0b1[_0x169535(0xf7)])){const _0x5b3445=_0x19dd27;_0x5b3445?.[_0x169535(0x14e)]&&Array[_0x169535(0x140)](_0x5b3445['args'])&&_0x5b3445[_0x169535(0x14e)]['some'](_0x19461d=>typeof _0x19461d===_0x169535(0x10b)&&_0x19461d['includes'](_0x169535(0x142)))&&_0x5f1557['push'](_0x406060);}_0x5f1557[_0x169535(0x164)]>0x0&&(_0x3eb6ab={'path':_0x258834,'keys':_0x5f1557});}}catch{}const _0x351360=_0x397f1b[_0x169535(0x164)]>0x0||_0x166302!==null;let _0x25a20b=null;const _0x85d1a9=resolve(_0x3c9459,'package.json');if(existsSync(_0x85d1a9))try{const _0x25879b=JSON[_0x169535(0x11f)](readFileSync(_0x85d1a9,_0x169535(0x117)));for(const _0x2bf5ef of['dependencies','devDependencies']){const _0x60e45e=_0x25879b?.[_0x2bf5ef]?.[_0x169535(0xf9)];if(typeof _0x60e45e===_0x169535(0x10b)){_0x60e45e!==_0x169535(0x160)&&(_0x25a20b={'pkgPath':_0x85d1a9,'currentVersion':_0x60e45e,'field':_0x2bf5ef});break;}}}catch{}return{'configMigration':_0x166302,'oldArtifacts':_0x397f1b,'oldMcpConfig':_0x3eb6ab,'needsSkillSwap':_0x351360,'sdkUpgrade':_0x25a20b};}function printReport(_0x5367b9){const _0x54860e=a142_0x44355e,{configMigration:_0x553035,oldArtifacts:_0x195d7,oldMcpConfig:_0x16bbb1,needsSkillSwap:_0x1ebbfc}=_0x5367b9;console['log'](''),console[_0x54860e(0x101)](a142_0x206aaf['bold']('===\x20Upgrade\x20Analysis\x20===')),console[_0x54860e(0x101)]('');_0x553035?(console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0xef))+('\x20\x20'+a142_0x206aaf[_0x54860e(0x166)](_0x553035[_0x54860e(0xfb)]))),console[_0x54860e(0x101)](_0x54860e(0x104)+(_0x553035[_0x54860e(0xf0)]?a142_0x206aaf[_0x54860e(0x128)]('already\x20exists\x20(will\x20merge)'):a142_0x206aaf[_0x54860e(0xe9)](_0x54860e(0x135)))),console[_0x54860e(0x101)](_0x54860e(0xf2)+_0x553035[_0x54860e(0x10c)][_0x54860e(0x13a)](',\x20')),console[_0x54860e(0x101)](_0x54860e(0x157))):console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)]('Config\x20file:')+'\x20\x20'+a142_0x206aaf['gray']('no\x20legacy\x20config\x20found'));console[_0x54860e(0x101)]('');if(_0x195d7[_0x54860e(0x164)]>0x0){console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0x154)));for(const _0x2cfd73 of _0x195d7){console['log']('\x20\x20'+a142_0x206aaf['red'](_0x54860e(0x14a))+'\x20\x20'+_0x2cfd73);}console[_0x54860e(0x101)](_0x54860e(0xfc));}else console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0x154))+'\x20\x20'+a142_0x206aaf['gray'](_0x54860e(0x12a)));console[_0x54860e(0x101)]('');_0x16bbb1?(console[_0x54860e(0x101)](a142_0x206aaf['cyan'](_0x54860e(0x143))+('\x20\x20'+a142_0x206aaf[_0x54860e(0x166)](_0x16bbb1[_0x54860e(0xfe)])+_0x54860e(0x103)+_0x16bbb1[_0x54860e(0x167)][_0x54860e(0x13a)](',\x20'))),console['log'](_0x54860e(0xf5))):console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0x143))+'\x20\x20'+a142_0x206aaf[_0x54860e(0xe9)](_0x54860e(0x125)));console[_0x54860e(0x101)](''),console[_0x54860e(0x101)](a142_0x206aaf['cyan'](_0x54860e(0x13c))+('\x20\x20'+(_0x1ebbfc?a142_0x206aaf[_0x54860e(0x166)]('needed'):a142_0x206aaf['green'](_0x54860e(0x153)))));_0x1ebbfc&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x54860e(0x101)]('');if(_0x5367b9[_0x54860e(0x115)]){const {currentVersion:_0x38ab9c,field:_0x531440,pkgPath:_0x15e10e}=_0x5367b9[_0x54860e(0x115)];console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0x14d))+('\x20\x20'+a142_0x206aaf[_0x54860e(0x166)](_0x15e10e))),console[_0x54860e(0x101)](_0x54860e(0xff)+_0x531440+':\x20'+a142_0x206aaf[_0x54860e(0x166)](_0x38ab9c)+'\x20→\x20'+a142_0x206aaf[_0x54860e(0x128)]('latest')),console[_0x54860e(0x101)](_0x54860e(0x13d));}else console[_0x54860e(0x101)](a142_0x206aaf[_0x54860e(0x122)](_0x54860e(0x14d))+'\x20\x20'+a142_0x206aaf[_0x54860e(0xe9)](_0x54860e(0x12b)));console[_0x54860e(0x101)]('');}function execConfigMigration(_0x21a797,_0x38a62e){const _0x5ac2c5=a142_0x44355e,{configMigration:_0x1a277d}=_0x21a797;if(!_0x1a277d?.['oldPath'])return{'step':0x1,'label':_0x5ac2c5(0x12f),'ok':!![],'detail':_0x5ac2c5(0x13f)};const _0x5e7eab=readConfigFile(_0x1a277d['oldPath']),_0x1ceb54=resolve(_0x38a62e,NEW_CONFIG_NAME),_0x5c2dcf=_0x1a277d[_0x5ac2c5(0xf0)]?readConfigFile(_0x1ceb54):{};for(const [_0x50262c,_0x4fb4ff]of Object[_0x5ac2c5(0x105)](_0x5e7eab)){!(_0x50262c in _0x5c2dcf)&&(_0x5c2dcf[_0x50262c]=_0x4fb4ff);}writeConfigFile(_0x1ceb54,_0x5c2dcf);const _0x39ebf7=_0x1a277d[_0x5ac2c5(0xfb)]+_0x5ac2c5(0x10d);return renameSync(_0x1a277d[_0x5ac2c5(0xfb)],_0x39ebf7),{'step':0x1,'label':_0x5ac2c5(0x12f),'ok':!![],'detail':_0x1a277d[_0x5ac2c5(0xfb)]+_0x5ac2c5(0x152)+_0x1ceb54+_0x5ac2c5(0x131)+_0x39ebf7+')'};}function execRemoveOldArtifacts(_0x5e6b7a){const _0x125028=a142_0x44355e,_0x1ec5a3=[];for(const _0xa0119d of _0x5e6b7a){try{if(!existsSync(_0xa0119d))continue;const _0x369a3b=tryStat(_0xa0119d);_0x369a3b?.[_0x125028(0x161)]()?rmSync(_0xa0119d,{'recursive':!![],'force':!![]}):unlinkSync(_0xa0119d);}catch(_0x3067a9){_0x1ec5a3['push'](_0xa0119d+':\x20'+_0x3067a9[_0x125028(0xfd)]);}}return{'step':0x3,'label':_0x125028(0x144),'ok':_0x1ec5a3[_0x125028(0x164)]===0x0,'detail':_0x1ec5a3['length']>0x0?_0x5e6b7a[_0x125028(0x164)]-_0x1ec5a3['length']+'/'+_0x5e6b7a[_0x125028(0x164)]+_0x125028(0x151)+_0x1ec5a3[_0x125028(0x13a)](';\x20')+')':_0x5e6b7a[_0x125028(0x164)]+'\x20removed'};}function a142_0x9e9e(_0x3b569e,_0x394d2a){_0x3b569e=_0x3b569e-0xe8;const _0x40e560=a142_0x40e5();let _0x9e9e71=_0x40e560[_0x3b569e];return _0x9e9e71;}function execCleanMcp(_0x361ea7){const _0x39f3f9=a142_0x44355e;if(!_0x361ea7['oldMcpConfig'])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x39f3f9(0x147)};try{const _0x1940ca=readFileSync(_0x361ea7[_0x39f3f9(0x111)][_0x39f3f9(0xfe)],_0x39f3f9(0x117)),_0x229a32=JSON[_0x39f3f9(0x11f)](_0x1940ca);if(_0x229a32?.['mcpServers']&&typeof _0x229a32[_0x39f3f9(0xf7)]===_0x39f3f9(0x10f)){const _0x2c44f2=[];for(const [_0x58f45b,_0x28a3ec]of Object['entries'](_0x229a32['mcpServers'])){_0x28a3ec?.[_0x39f3f9(0x14e)]&&Array[_0x39f3f9(0x140)](_0x28a3ec[_0x39f3f9(0x14e)])&&_0x28a3ec[_0x39f3f9(0x14e)][_0x39f3f9(0x12d)](_0x23ae99=>typeof _0x23ae99===_0x39f3f9(0x10b)&&_0x23ae99[_0x39f3f9(0x162)](_0x39f3f9(0x142)))&&_0x2c44f2[_0x39f3f9(0x112)](_0x58f45b);}for(const _0x1ac68d of _0x2c44f2){delete _0x229a32[_0x39f3f9(0xf7)][_0x1ac68d];}return _0x2c44f2[_0x39f3f9(0x164)]>0x0&&writeFileSync(_0x361ea7[_0x39f3f9(0x111)][_0x39f3f9(0xfe)],JSON[_0x39f3f9(0x10e)](_0x229a32,null,0x2)+'\x0a',_0x39f3f9(0x117)),{'step':0x4,'label':_0x39f3f9(0x108),'ok':!![],'detail':_0x39f3f9(0xe8)+_0x2c44f2[_0x39f3f9(0x13a)](',\x20')+'\x20from\x20'+_0x361ea7[_0x39f3f9(0x111)]['path']};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x4401bc){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x4401bc[_0x39f3f9(0xfd)]};}}function execSkillsRemove(_0x55c00f,_0x1a255c){const _0x7bb0cb=a142_0x44355e,_0xc55dd9=runNpxSkillsRemove(_0x55c00f,{'stdio':_0x7bb0cb(0xea),'yes':_0x1a255c});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0xc55dd9['ok'],'detail':_0xc55dd9['ok']?_0x7bb0cb(0x15f):_0xc55dd9[_0x7bb0cb(0x11a)]??_0x7bb0cb(0x107)+_0xc55dd9[_0x7bb0cb(0x139)]};}function execSkillsAdd(_0x3679d9,_0x3b5a9b){const _0x4d50ef=a142_0x44355e,_0x7fae14=runNpxSkillsAddGlobal(_0x3679d9,_0x4d50ef(0x138),{'stdio':_0x4d50ef(0xea),'yes':_0x3b5a9b});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x7fae14['ok'],'detail':_0x7fae14['ok']?_0x4d50ef(0x12c):_0x7fae14[_0x4d50ef(0x11a)]??_0x4d50ef(0x107)+_0x7fae14['status']};}function execUpgradeSdk(_0x473261){const _0x181525=a142_0x44355e;if(!_0x473261[_0x181525(0x115)])return{'step':0x7,'label':_0x181525(0xeb),'ok':!![],'detail':_0x181525(0x118)};const {pkgPath:_0x5c3b7e,currentVersion:_0x1a2a69,field:_0x7bb95b}=_0x473261[_0x181525(0x115)];try{const _0x5e71ee=readFileSync(_0x5c3b7e,_0x181525(0x117)),_0x4fc3d8=JSON[_0x181525(0x11f)](_0x5e71ee);return _0x4fc3d8[_0x7bb95b][_0x181525(0xf9)]=_0x181525(0x160),writeFileSync(_0x5c3b7e,JSON[_0x181525(0x10e)](_0x4fc3d8,null,0x2)+'\x0a',_0x181525(0x117)),{'step':0x7,'label':_0x181525(0xeb),'ok':!![],'detail':_0x7bb95b+_0x181525(0x15e)+_0x1a2a69+_0x181525(0x11c)};}catch(_0x40a77d){return{'step':0x7,'label':_0x181525(0xeb),'ok':![],'detail':_0x40a77d[_0x181525(0xfd)]};}}function tryStat(_0x4ffdd6){try{return statSync(_0x4ffdd6);}catch{return undefined;}}function printSummary(_0x3c29ec){const _0x3491ac=a142_0x44355e;console[_0x3491ac(0x101)](''),console['log'](a142_0x206aaf[_0x3491ac(0x14b)]('===\x20Upgrade\x20Summary\x20===')),console[_0x3491ac(0x101)]('');for(const _0x570e07 of _0x3c29ec){const _0x1e2d49=_0x570e07['ok']?a142_0x206aaf[_0x3491ac(0x128)]('OK'):a142_0x206aaf['red'](_0x3491ac(0x15a));console[_0x3491ac(0x101)]('\x20\x20'+_0x1e2d49+'\x20\x20Step\x20'+_0x570e07[_0x3491ac(0x12e)]+':\x20'+_0x570e07[_0x3491ac(0x150)]);if(_0x570e07[_0x3491ac(0xf8)])console[_0x3491ac(0x101)](_0x3491ac(0x146)+a142_0x206aaf['gray'](_0x570e07[_0x3491ac(0xf8)]));}console[_0x3491ac(0x101)]('');}export async function upgradeApp(_0x2eb698,_0x27499b){const _0x5cdb10=a142_0x44355e,_0x5e698e=process['cwd'](),_0xc1874b=analyse(_0x5e698e),_0x6727ae=!_0xc1874b[_0x5cdb10(0xf6)]&&_0xc1874b[_0x5cdb10(0x110)][_0x5cdb10(0x164)]===0x0&&!_0xc1874b['oldMcpConfig']&&!_0xc1874b[_0x5cdb10(0x134)]&&!_0xc1874b[_0x5cdb10(0x115)];if(_0x6727ae){console[_0x5cdb10(0x101)](a142_0x206aaf['green']('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0xc1874b);const _0x3ba5ad=!!(_0x27499b[_0x5cdb10(0x155)]||_0x27499b['Y']||_0x2eb698);if(!_0x3ba5ad)try{const _0x5bfdc2=await askConfirm(_0x5cdb10(0x130));if(!_0x5bfdc2){console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0xe9)](_0x5cdb10(0xf3)));return;}}catch(_0xee950c){if(_0xee950c?.[_0x5cdb10(0xfd)]===_0x5cdb10(0x119)){console['log'](a142_0x206aaf[_0x5cdb10(0xe9)](_0x5cdb10(0xf3)));return;}throw _0xee950c;}const _0x22f3c7=[],_0x1f5953=a142_0xf56e67({'text':_0x5cdb10(0xf1),'color':_0x5cdb10(0x122)})['start'](),_0x1d4a5a=execConfigMigration(_0xc1874b,_0x5e698e);_0x22f3c7[_0x5cdb10(0x112)](_0x1d4a5a),_0x1f5953[_0x1d4a5a['ok']?_0x5cdb10(0x163):_0x5cdb10(0x133)](_0x5cdb10(0x123)+(_0x1d4a5a[_0x5cdb10(0xf8)]??(_0x1d4a5a['ok']?_0x5cdb10(0x102):_0x5cdb10(0x11d))));const _0x413bd6=resolve(_0x5e698e,_0x5cdb10(0x158)),_0x16fa0b=a142_0xf56e67({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x5cdb10(0x122)})['start']();if(existsSync(_0x413bd6))try{rmSync(_0x413bd6,{'recursive':!![],'force':!![]}),_0x16fa0b[_0x5cdb10(0x163)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x22f3c7[_0x5cdb10(0x112)]({'step':0x2,'label':_0x5cdb10(0xed),'ok':!![]});}catch(_0x4876ca){_0x16fa0b[_0x5cdb10(0x133)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x4876ca['message']),_0x22f3c7[_0x5cdb10(0x112)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x4876ca['message']});}else _0x16fa0b[_0x5cdb10(0x15c)](_0x5cdb10(0x10a)),_0x22f3c7[_0x5cdb10(0x112)]({'step':0x2,'label':_0x5cdb10(0xed),'ok':!![],'detail':_0x5cdb10(0x147)});const _0x532fee=a142_0xf56e67({'text':_0x5cdb10(0xec),'color':_0x5cdb10(0x122)})[_0x5cdb10(0x14f)](),_0x51518e=execRemoveOldArtifacts(_0xc1874b[_0x5cdb10(0x110)]);_0x22f3c7['push'](_0x51518e),_0x532fee[_0x51518e['ok']?'succeed':_0x5cdb10(0x133)](_0x5cdb10(0x124)+(_0x51518e['detail']??(_0x51518e['ok']?_0x5cdb10(0x102):_0x5cdb10(0x11d))));const _0x28e049=a142_0xf56e67({'text':_0x5cdb10(0x14c),'color':_0x5cdb10(0x122)})[_0x5cdb10(0x14f)](),_0x196f79=execCleanMcp(_0xc1874b);_0x22f3c7['push'](_0x196f79),_0x28e049[_0x196f79['ok']?_0x5cdb10(0x163):_0x5cdb10(0x133)](_0x5cdb10(0x120)+(_0x196f79[_0x5cdb10(0xf8)]??(_0x196f79['ok']?_0x5cdb10(0x102):_0x5cdb10(0x11d))));const _0x2d13b0=a142_0xf56e67({'text':_0x5cdb10(0x127),'color':'cyan'})['start'](),_0x247a55=execSkillsRemove(_0x5e698e,_0x3ba5ad);_0x22f3c7['push'](_0x247a55),_0x2d13b0[_0x247a55['ok']?_0x5cdb10(0x163):_0x5cdb10(0x133)](_0x5cdb10(0x13b)+(_0x247a55['detail']??(_0x247a55['ok']?_0x5cdb10(0x102):_0x5cdb10(0x11d))));const _0x5b4e9e=a142_0xf56e67({'text':_0x5cdb10(0x11e),'color':_0x5cdb10(0x122)})['start'](),_0xeb4af1=execSkillsAdd(_0x5e698e,_0x3ba5ad);_0x22f3c7[_0x5cdb10(0x112)](_0xeb4af1),_0x5b4e9e[_0xeb4af1['ok']?'succeed':_0x5cdb10(0x133)](_0x5cdb10(0x100)+(_0xeb4af1[_0x5cdb10(0xf8)]??(_0xeb4af1['ok']?'done':_0x5cdb10(0x11d))));const _0x70af02=a142_0xf56e67({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x5cdb10(0x122)})[_0x5cdb10(0x14f)](),_0x1fbbc2=execUpgradeSdk(_0xc1874b);_0x22f3c7[_0x5cdb10(0x112)](_0x1fbbc2),_0x70af02[_0x1fbbc2['ok']?'succeed':_0x5cdb10(0x133)](_0x5cdb10(0x141)+(_0x1fbbc2[_0x5cdb10(0xf8)]??(_0x1fbbc2['ok']?_0x5cdb10(0x102):_0x5cdb10(0x11d)))),printSummary(_0x22f3c7);const _0x1248df=_0x22f3c7[_0x5cdb10(0x12d)](_0x55dccb=>!_0x55dccb['ok']);_0x1248df?console[_0x5cdb10(0x101)](a142_0x206aaf['yellow'](_0x5cdb10(0x106))):console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0x128)](_0x5cdb10(0x11b))),_0x1fbbc2['ok']&&_0xc1874b[_0x5cdb10(0x115)]&&(console[_0x5cdb10(0x101)](''),console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0x14b)][_0x5cdb10(0x122)](_0x5cdb10(0x156))),console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0x122)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x5cdb10(0x101)](''),console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0xee)](_0x5cdb10(0x121))),console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0xee)]('\x20\x20#\x20or')),console[_0x5cdb10(0x101)](a142_0x206aaf[_0x5cdb10(0xee)]('\x20\x20bun\x20install')),console[_0x5cdb10(0x101)](''));}
1
+ const a142_0xae79f2=a142_0x3277;(function(_0x1e9c0c,_0x305aee){const _0x157a5f=a142_0x3277,_0x5a492f=_0x1e9c0c();while(!![]){try{const _0x746bea=-parseInt(_0x157a5f(0x135))/0x1*(-parseInt(_0x157a5f(0x144))/0x2)+parseInt(_0x157a5f(0x14f))/0x3+parseInt(_0x157a5f(0x118))/0x4*(parseInt(_0x157a5f(0xe9))/0x5)+parseInt(_0x157a5f(0xe3))/0x6*(parseInt(_0x157a5f(0x149))/0x7)+-parseInt(_0x157a5f(0x147))/0x8+parseInt(_0x157a5f(0x12a))/0x9*(parseInt(_0x157a5f(0xe2))/0xa)+parseInt(_0x157a5f(0x153))/0xb*(-parseInt(_0x157a5f(0x15c))/0xc);if(_0x746bea===_0x305aee)break;else _0x5a492f['push'](_0x5a492f['shift']());}catch(_0x4a90b7){_0x5a492f['push'](_0x5a492f['shift']());}}}(a142_0x48ee,0x8af08));import a142_0x116a12 from'chalk';import a142_0x3eaf3b from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a142_0x48ee(){const _0x2c6b03=['step','no\x20matching\x20entry\x20found','not\x20found\x20or\x20already\x20at\x20latest','detail','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','push','\x20\x20Action:\x20delete','\x20→\x20latest','white','red','stringify','lovrabet/rabetbase','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','length','bold','oldMcpConfig','message','FOUND','not\x20needed','files','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','mcpServers','cwd','Step\x206/7:\x20Installing\x20new\x20skill...','log','Remove\x20.lovrabet/','object','Step\x201/7:\x20Migrating\x20config...','no\x20legacy\x20config\x20found','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','gray','\x20(backup:\x20','devDependencies','@lovrabet/sdk:','sdkUpgrade','cyan','isDirectory','62012RwhJLX','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20\x20\x20\x20\x20\x20\x20','failed','succeed','Config\x20file:','MCP\x20config:','start','fail','Step\x201/7:\x20Config\x20migration\x20—\x20','Clean\x20MCP\x20config','fields','\x20\x20Step\x20','yes','Upgrade\x20cancelled.','@lovrabet/sdk','includes','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','2277jKbTIX','args','utf8','already\x20exists\x20(will\x20merge)','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','values','Upgrade\x20completed\x20successfully!','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','skipped','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Install\x20new\x20skill','371698vdZDhR','hasNewConfig','\x20→\x20keys:\x20','oldArtifacts','.claude/skills/lovrabet','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20removed\x20(','exit\x20','done','needed','string','error','path','skipped\x20(no\x20legacy\x20config)','\x20\x20Current\x20version\x20in\x20','4dxFZGn','\x20\x20#\x20or','.cursor/mcp.json','4784616SviQPL','.lovrabet','42xRqJWE','inherit','Remove\x20old\x20skill','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','status','.cursor/rules/lovrabet_rules.mdc','67272bIUCPo','green','\x20→\x20','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','11sVqooW','Upgrade\x20@lovrabet/sdk','configMigration','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20npm\x20install','\x20\x20Fields\x20to\x20migrate:\x20','Proceed\x20with\x20upgrade?','oldPath','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','18908508gEfMBS','not\x20found\x20(will\x20create)','filter','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','some','CANCEL','===\x20Upgrade\x20Summary\x20===','@lovrabet/dataset-mcp-server','Step\x204/7:\x20MCP\x20config\x20—\x20','latest','needsSkillSwap','28450uTYrDE','900708PsmUoR','join','yellow','entries','no\x20legacy\x20entry','isArray','115BhzzeQ','\x20\x20New\x20config\x20(.rabetbase.json):\x20','none\x20found','keys','parse','Legacy\x20artifacts:','[\x22@lovrabet/sdk\x22]:\x20','===\x20Upgrade\x20Analysis\x20==='];a142_0x48ee=function(){return _0x2c6b03;};return a142_0x48ee();}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';function a142_0x3277(_0x50ab47,_0x3e4a72){_0x50ab47=_0x50ab47-0xd9;const _0x48ee3d=a142_0x48ee();let _0x3277ba=_0x48ee3d[_0x50ab47];return _0x3277ba;}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a142_0xae79f2(0xd9)](_0x5eb716=>_0x5eb716!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2e55ed){const _0x5d0710=a142_0xae79f2,_0x6c097d=[];for(const _0x4b6bbd of Object[_0x5d0710(0x12f)](CORE_IDE_CONFIGS)){if(_0x4b6bbd[_0x5d0710(0x105)])for(const _0xd2c31 of _0x4b6bbd[_0x5d0710(0x105)]){_0x6c097d['push'](resolve(_0x2e55ed,_0xd2c31['path']));}}return _0x6c097d;}function analyse(_0x5ef5a0){const _0x392eab=a142_0xae79f2;let _0x5a628f=null;const _0x4ef856=resolve(_0x5ef5a0,NEW_CONFIG_NAME),_0x3138ee=existsSync(_0x4ef856);for(const _0x1a8692 of LEGACY_CONFIG_NAMES){const _0x36cd09=resolve(_0x5ef5a0,_0x1a8692);if(existsSync(_0x36cd09)){const _0x29de36=readConfigFile(_0x36cd09),_0x168b23=Object['keys'](_0x29de36)[_0x392eab(0xd9)](_0x1d5a30=>typeof _0x29de36[_0x1d5a30]!=='undefined');_0x5a628f={'oldPath':_0x36cd09,'hasNewConfig':_0x3138ee,'fields':_0x168b23};break;}}const _0x3ba9dc=[],_0x5ad8c6=resolve(_0x5ef5a0,_0x392eab(0x148));if(existsSync(_0x5ad8c6))_0x3ba9dc[_0x392eab(0xf6)](_0x5ad8c6);const _0x580ba2=resolve(_0x5ef5a0,_0x392eab(0x14e));if(existsSync(_0x580ba2))_0x3ba9dc['push'](_0x580ba2);const _0x5b5143=resolve(_0x5ef5a0,_0x392eab(0x139));if(existsSync(_0x5b5143))_0x3ba9dc[_0x392eab(0xf6)](_0x5b5143);for(const _0x32c176 of collectIdeSkillFiles(_0x5ef5a0)){if(existsSync(_0x32c176))_0x3ba9dc[_0x392eab(0xf6)](_0x32c176);}let _0x5e1dc3=null;const _0x4eadef=resolve(_0x5ef5a0,_0x392eab(0x146));if(existsSync(_0x4eadef))try{const _0x5a77a0=JSON['parse'](readFileSync(_0x4eadef,_0x392eab(0x12c)));if(_0x5a77a0?.[_0x392eab(0x107)]&&typeof _0x5a77a0[_0x392eab(0x107)]===_0x392eab(0x10c)){const _0x3bc8b9=[];for(const [_0x5e1a17,_0x47c0d7]of Object[_0x392eab(0xe6)](_0x5a77a0['mcpServers'])){const _0x164bb8=_0x47c0d7;_0x164bb8?.['args']&&Array[_0x392eab(0xe8)](_0x164bb8[_0x392eab(0x12b)])&&_0x164bb8[_0x392eab(0x12b)][_0x392eab(0xdb)](_0x4932b0=>typeof _0x4932b0===_0x392eab(0x13f)&&_0x4932b0[_0x392eab(0x128)](_0x392eab(0xde)))&&_0x3bc8b9[_0x392eab(0xf6)](_0x5e1a17);}_0x3bc8b9[_0x392eab(0xff)]>0x0&&(_0x5e1dc3={'path':_0x4eadef,'keys':_0x3bc8b9});}}catch{}const _0x2a544d=_0x3ba9dc[_0x392eab(0xff)]>0x0||_0x5a628f!==null;let _0x3dbb02=null;const _0x39b464=resolve(_0x5ef5a0,'package.json');if(existsSync(_0x39b464))try{const _0xff879=JSON[_0x392eab(0xed)](readFileSync(_0x39b464,_0x392eab(0x12c)));for(const _0x3f2aba of['dependencies',_0x392eab(0x113)]){const _0x759dbc=_0xff879?.[_0x3f2aba]?.[_0x392eab(0x127)];if(typeof _0x759dbc==='string'){_0x759dbc!=='latest'&&(_0x3dbb02={'pkgPath':_0x39b464,'currentVersion':_0x759dbc,'field':_0x3f2aba});break;}}}catch{}return{'configMigration':_0x5a628f,'oldArtifacts':_0x3ba9dc,'oldMcpConfig':_0x5e1dc3,'needsSkillSwap':_0x2a544d,'sdkUpgrade':_0x3dbb02};}function printReport(_0x312930){const _0x474e85=a142_0xae79f2,{configMigration:_0x4599b1,oldArtifacts:_0x58bc00,oldMcpConfig:_0x4c9a6f,needsSkillSwap:_0x3b0703}=_0x312930;console[_0x474e85(0x10a)](''),console['log'](a142_0x116a12[_0x474e85(0x100)](_0x474e85(0xf0))),console[_0x474e85(0x10a)]('');_0x4599b1?(console['log'](a142_0x116a12[_0x474e85(0x116)](_0x474e85(0x11d))+('\x20\x20'+a142_0x116a12[_0x474e85(0xe5)](_0x4599b1[_0x474e85(0x15a)]))),console['log'](_0x474e85(0xea)+(_0x4599b1['hasNewConfig']?a142_0x116a12['green'](_0x474e85(0x12d)):a142_0x116a12[_0x474e85(0x111)](_0x474e85(0x15d)))),console[_0x474e85(0x10a)](_0x474e85(0x158)+_0x4599b1[_0x474e85(0x123)][_0x474e85(0xe4)](',\x20')),console['log'](_0x474e85(0x13a))):console['log'](a142_0x116a12['cyan']('Config\x20file:')+'\x20\x20'+a142_0x116a12['gray'](_0x474e85(0x10e)));console[_0x474e85(0x10a)]('');if(_0x58bc00[_0x474e85(0xff)]>0x0){console[_0x474e85(0x10a)](a142_0x116a12['cyan'](_0x474e85(0xee)));for(const _0x97a87 of _0x58bc00){console[_0x474e85(0x10a)]('\x20\x20'+a142_0x116a12[_0x474e85(0xfa)](_0x474e85(0x103))+'\x20\x20'+_0x97a87);}console[_0x474e85(0x10a)](_0x474e85(0xf7));}else console[_0x474e85(0x10a)](a142_0x116a12[_0x474e85(0x116)](_0x474e85(0xee))+'\x20\x20'+a142_0x116a12[_0x474e85(0x111)](_0x474e85(0xeb)));console[_0x474e85(0x10a)]('');_0x4c9a6f?(console['log'](a142_0x116a12[_0x474e85(0x116)](_0x474e85(0x11e))+('\x20\x20'+a142_0x116a12[_0x474e85(0xe5)](_0x4c9a6f[_0x474e85(0x141)])+_0x474e85(0x137)+_0x4c9a6f[_0x474e85(0xec)][_0x474e85(0xe4)](',\x20'))),console[_0x474e85(0x10a)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console['log'](a142_0x116a12['cyan'](_0x474e85(0x11e))+'\x20\x20'+a142_0x116a12[_0x474e85(0x111)](_0x474e85(0xe7)));console[_0x474e85(0x10a)](''),console[_0x474e85(0x10a)](a142_0x116a12[_0x474e85(0x116)]('Skill\x20swap:')+('\x20\x20'+(_0x3b0703?a142_0x116a12[_0x474e85(0xe5)](_0x474e85(0x13e)):a142_0x116a12[_0x474e85(0x150)](_0x474e85(0x104)))));_0x3b0703&&console['log'](_0x474e85(0x106)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x474e85(0x10a)]('');if(_0x312930[_0x474e85(0x115)]){const {currentVersion:_0x52891c,field:_0xcbd13c,pkgPath:_0x3eec72}=_0x312930['sdkUpgrade'];console[_0x474e85(0x10a)](a142_0x116a12[_0x474e85(0x116)](_0x474e85(0x114))+('\x20\x20'+a142_0x116a12[_0x474e85(0xe5)](_0x3eec72))),console[_0x474e85(0x10a)](_0x474e85(0x143)+_0xcbd13c+':\x20'+a142_0x116a12['yellow'](_0x52891c)+'\x20→\x20'+a142_0x116a12[_0x474e85(0x150)](_0x474e85(0xe0))),console[_0x474e85(0x10a)](_0x474e85(0x15b));}else console[_0x474e85(0x10a)](a142_0x116a12[_0x474e85(0x116)](_0x474e85(0x114))+'\x20\x20'+a142_0x116a12['gray'](_0x474e85(0xf3)));console[_0x474e85(0x10a)]('');}function execConfigMigration(_0x1f41b8,_0x32ae42){const _0x1b5066=a142_0xae79f2,{configMigration:_0x120bec}=_0x1f41b8;if(!_0x120bec?.[_0x1b5066(0x15a)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x1b5066(0x142)};const _0x94b702=readConfigFile(_0x120bec['oldPath']),_0x2c6f50=resolve(_0x32ae42,NEW_CONFIG_NAME),_0x8d90b0=_0x120bec[_0x1b5066(0x136)]?readConfigFile(_0x2c6f50):{};for(const [_0x1c449a,_0x340ae6]of Object[_0x1b5066(0xe6)](_0x94b702)){!(_0x1c449a in _0x8d90b0)&&(_0x8d90b0[_0x1c449a]=_0x340ae6);}writeConfigFile(_0x2c6f50,_0x8d90b0);const _0x5ca1a0=_0x120bec[_0x1b5066(0x15a)]+'.bak';return renameSync(_0x120bec[_0x1b5066(0x15a)],_0x5ca1a0),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x120bec['oldPath']+_0x1b5066(0x151)+_0x2c6f50+_0x1b5066(0x112)+_0x5ca1a0+')'};}function execRemoveOldArtifacts(_0x129494){const _0x1bd905=a142_0xae79f2,_0x2e9ff6=[];for(const _0x5a5160 of _0x129494){try{if(!existsSync(_0x5a5160))continue;const _0x5adb8e=tryStat(_0x5a5160);_0x5adb8e?.[_0x1bd905(0x117)]()?rmSync(_0x5a5160,{'recursive':!![],'force':!![]}):unlinkSync(_0x5a5160);}catch(_0x1b0ac8){_0x2e9ff6[_0x1bd905(0xf6)](_0x5a5160+':\x20'+_0x1b0ac8[_0x1bd905(0x102)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x2e9ff6[_0x1bd905(0xff)]===0x0,'detail':_0x2e9ff6[_0x1bd905(0xff)]>0x0?_0x129494[_0x1bd905(0xff)]-_0x2e9ff6[_0x1bd905(0xff)]+'/'+_0x129494[_0x1bd905(0xff)]+_0x1bd905(0x13b)+_0x2e9ff6['join'](';\x20')+')':_0x129494[_0x1bd905(0xff)]+'\x20removed'};}function execCleanMcp(_0xc80354){const _0x1f6fcb=a142_0xae79f2;if(!_0xc80354[_0x1f6fcb(0x101)])return{'step':0x4,'label':_0x1f6fcb(0x122),'ok':!![],'detail':_0x1f6fcb(0x132)};try{const _0x284b05=readFileSync(_0xc80354[_0x1f6fcb(0x101)][_0x1f6fcb(0x141)],_0x1f6fcb(0x12c)),_0x490e81=JSON[_0x1f6fcb(0xed)](_0x284b05);if(_0x490e81?.['mcpServers']&&typeof _0x490e81['mcpServers']===_0x1f6fcb(0x10c)){const _0x4fd367=[];for(const [_0x29e765,_0x48b067]of Object[_0x1f6fcb(0xe6)](_0x490e81[_0x1f6fcb(0x107)])){_0x48b067?.[_0x1f6fcb(0x12b)]&&Array[_0x1f6fcb(0xe8)](_0x48b067[_0x1f6fcb(0x12b)])&&_0x48b067[_0x1f6fcb(0x12b)][_0x1f6fcb(0xdb)](_0xe40a29=>typeof _0xe40a29===_0x1f6fcb(0x13f)&&_0xe40a29[_0x1f6fcb(0x128)](_0x1f6fcb(0xde)))&&_0x4fd367['push'](_0x29e765);}for(const _0x5c3a2a of _0x4fd367){delete _0x490e81[_0x1f6fcb(0x107)][_0x5c3a2a];}return _0x4fd367['length']>0x0&&writeFileSync(_0xc80354[_0x1f6fcb(0x101)][_0x1f6fcb(0x141)],JSON[_0x1f6fcb(0xfb)](_0x490e81,null,0x2)+'\x0a',_0x1f6fcb(0x12c)),{'step':0x4,'label':_0x1f6fcb(0x122),'ok':!![],'detail':'removed\x20'+_0x4fd367[_0x1f6fcb(0xe4)](',\x20')+'\x20from\x20'+_0xc80354[_0x1f6fcb(0x101)][_0x1f6fcb(0x141)]};}return{'step':0x4,'label':_0x1f6fcb(0x122),'ok':!![],'detail':_0x1f6fcb(0xf2)};}catch(_0x84ed71){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x84ed71[_0x1f6fcb(0x102)]};}}function execSkillsRemove(_0x1eada2,_0x246ad0){const _0x5e82cd=a142_0xae79f2,_0x3acb1f=runNpxSkillsRemove(_0x1eada2,{'stdio':_0x5e82cd(0x14a),'yes':_0x246ad0});return{'step':0x5,'label':_0x5e82cd(0x14b),'ok':_0x3acb1f['ok'],'detail':_0x3acb1f['ok']?'lovrabet/lovrabet-skill\x20removed':_0x3acb1f[_0x5e82cd(0x140)]??_0x5e82cd(0x13c)+_0x3acb1f[_0x5e82cd(0x14d)]};}function execSkillsAdd(_0x1d0a51,_0x5b96f7){const _0x3d72f3=a142_0xae79f2,_0x41bc6c=runNpxSkillsAddGlobal(_0x1d0a51,_0x3d72f3(0xfc),{'stdio':_0x3d72f3(0x14a),'yes':_0x5b96f7});return{'step':0x6,'label':_0x3d72f3(0x134),'ok':_0x41bc6c['ok'],'detail':_0x41bc6c['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x41bc6c['error']??'exit\x20'+_0x41bc6c[_0x3d72f3(0x14d)]};}function execUpgradeSdk(_0x5e3b0c){const _0x2b7663=a142_0xae79f2;if(!_0x5e3b0c[_0x2b7663(0x115)])return{'step':0x7,'label':_0x2b7663(0x154),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4c323d,currentVersion:_0x553d73,field:_0x7ce1fe}=_0x5e3b0c[_0x2b7663(0x115)];try{const _0xdb1b1c=readFileSync(_0x4c323d,_0x2b7663(0x12c)),_0x4eea60=JSON[_0x2b7663(0xed)](_0xdb1b1c);return _0x4eea60[_0x7ce1fe][_0x2b7663(0x127)]=_0x2b7663(0xe0),writeFileSync(_0x4c323d,JSON['stringify'](_0x4eea60,null,0x2)+'\x0a',_0x2b7663(0x12c)),{'step':0x7,'label':_0x2b7663(0x154),'ok':!![],'detail':_0x7ce1fe+_0x2b7663(0xef)+_0x553d73+_0x2b7663(0xf8)};}catch(_0x4fb148){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x4fb148[_0x2b7663(0x102)]};}}function tryStat(_0x3dd95f){try{return statSync(_0x3dd95f);}catch{return undefined;}}function printSummary(_0xb46211){const _0x49e4aa=a142_0xae79f2;console[_0x49e4aa(0x10a)](''),console[_0x49e4aa(0x10a)](a142_0x116a12[_0x49e4aa(0x100)](_0x49e4aa(0xdd))),console[_0x49e4aa(0x10a)]('');for(const _0x57d148 of _0xb46211){const _0x425c01=_0x57d148['ok']?a142_0x116a12['green']('OK'):a142_0x116a12['red']('FAIL');console[_0x49e4aa(0x10a)]('\x20\x20'+_0x425c01+_0x49e4aa(0x124)+_0x57d148[_0x49e4aa(0xf1)]+':\x20'+_0x57d148['label']);if(_0x57d148[_0x49e4aa(0xf4)])console[_0x49e4aa(0x10a)](_0x49e4aa(0x11a)+a142_0x116a12['gray'](_0x57d148[_0x49e4aa(0xf4)]));}console['log']('');}export async function upgradeApp(_0x22d7b6,_0x5c55f3){const _0x4cf303=a142_0xae79f2,_0x11a73a=process[_0x4cf303(0x108)](),_0x4735ce=analyse(_0x11a73a),_0x2ced81=!_0x4735ce[_0x4cf303(0x155)]&&_0x4735ce[_0x4cf303(0x138)]['length']===0x0&&!_0x4735ce['oldMcpConfig']&&!_0x4735ce[_0x4cf303(0xe1)]&&!_0x4735ce[_0x4cf303(0x115)];if(_0x2ced81){console[_0x4cf303(0x10a)](a142_0x116a12['green'](_0x4cf303(0x119)));return;}printReport(_0x4735ce);const _0x2d63ed=!!(_0x5c55f3[_0x4cf303(0x125)]||_0x5c55f3['Y']||_0x22d7b6);if(!_0x2d63ed)try{const _0x2e771f=await askConfirm(_0x4cf303(0x159));if(!_0x2e771f){console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0x111)](_0x4cf303(0x126)));return;}}catch(_0x36f753){if(_0x36f753?.[_0x4cf303(0x102)]===_0x4cf303(0xdc)){console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0x111)]('Upgrade\x20cancelled.'));return;}throw _0x36f753;}const _0x2a0306=[],_0x20dbf8=a142_0x3eaf3b({'text':_0x4cf303(0x10d),'color':_0x4cf303(0x116)})[_0x4cf303(0x11f)](),_0x5c88fa=execConfigMigration(_0x4735ce,_0x11a73a);_0x2a0306['push'](_0x5c88fa),_0x20dbf8[_0x5c88fa['ok']?_0x4cf303(0x11c):_0x4cf303(0x120)](_0x4cf303(0x121)+(_0x5c88fa[_0x4cf303(0xf4)]??(_0x5c88fa['ok']?'done':_0x4cf303(0x11b))));const _0x950c27=resolve(_0x11a73a,_0x4cf303(0x148)),_0x2f531e=a142_0x3eaf3b({'text':_0x4cf303(0x12e),'color':_0x4cf303(0x116)})['start']();if(existsSync(_0x950c27))try{rmSync(_0x950c27,{'recursive':!![],'force':!![]}),_0x2f531e[_0x4cf303(0x11c)](_0x4cf303(0x110)),_0x2a0306[_0x4cf303(0xf6)]({'step':0x2,'label':_0x4cf303(0x10b),'ok':!![]});}catch(_0x52192a){_0x2f531e[_0x4cf303(0x120)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x52192a[_0x4cf303(0x102)]),_0x2a0306[_0x4cf303(0xf6)]({'step':0x2,'label':_0x4cf303(0x10b),'ok':![],'detail':_0x52192a[_0x4cf303(0x102)]});}else _0x2f531e['info'](_0x4cf303(0x156)),_0x2a0306['push']({'step':0x2,'label':_0x4cf303(0x10b),'ok':!![],'detail':_0x4cf303(0x132)});const _0x2c601a=a142_0x3eaf3b({'text':_0x4cf303(0x152),'color':'cyan'})['start'](),_0x3a13e0=execRemoveOldArtifacts(_0x4735ce[_0x4cf303(0x138)]);_0x2a0306['push'](_0x3a13e0),_0x2c601a[_0x3a13e0['ok']?_0x4cf303(0x11c):'fail'](_0x4cf303(0x129)+(_0x3a13e0[_0x4cf303(0xf4)]??(_0x3a13e0['ok']?_0x4cf303(0x13d):_0x4cf303(0x11b))));const _0x32be18=a142_0x3eaf3b({'text':_0x4cf303(0x133),'color':_0x4cf303(0x116)})[_0x4cf303(0x11f)](),_0x44f227=execCleanMcp(_0x4735ce);_0x2a0306['push'](_0x44f227),_0x32be18[_0x44f227['ok']?_0x4cf303(0x11c):_0x4cf303(0x120)](_0x4cf303(0xdf)+(_0x44f227[_0x4cf303(0xf4)]??(_0x44f227['ok']?_0x4cf303(0x13d):'failed')));const _0x5e29d9=a142_0x3eaf3b({'text':_0x4cf303(0x10f),'color':'cyan'})['start'](),_0x383d75=execSkillsRemove(_0x11a73a,_0x2d63ed);_0x2a0306[_0x4cf303(0xf6)](_0x383d75),_0x5e29d9[_0x383d75['ok']?'succeed':_0x4cf303(0x120)](_0x4cf303(0xfe)+(_0x383d75[_0x4cf303(0xf4)]??(_0x383d75['ok']?_0x4cf303(0x13d):_0x4cf303(0x11b))));const _0x1eb2bb=a142_0x3eaf3b({'text':_0x4cf303(0x109),'color':'cyan'})[_0x4cf303(0x11f)](),_0x4c48eb=execSkillsAdd(_0x11a73a,_0x2d63ed);_0x2a0306['push'](_0x4c48eb),_0x1eb2bb[_0x4c48eb['ok']?_0x4cf303(0x11c):_0x4cf303(0x120)](_0x4cf303(0xda)+(_0x4c48eb[_0x4cf303(0xf4)]??(_0x4c48eb['ok']?'done':_0x4cf303(0x11b))));const _0xeca112=a142_0x3eaf3b({'text':_0x4cf303(0xf5),'color':_0x4cf303(0x116)})[_0x4cf303(0x11f)](),_0x39ab6d=execUpgradeSdk(_0x4735ce);_0x2a0306[_0x4cf303(0xf6)](_0x39ab6d),_0xeca112[_0x39ab6d['ok']?_0x4cf303(0x11c):_0x4cf303(0x120)](_0x4cf303(0x131)+(_0x39ab6d['detail']??(_0x39ab6d['ok']?'done':_0x4cf303(0x11b)))),printSummary(_0x2a0306);const _0x4017a9=_0x2a0306['some'](_0x481fa7=>!_0x481fa7['ok']);_0x4017a9?console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0xe5)](_0x4cf303(0xfd))):console['log'](a142_0x116a12[_0x4cf303(0x150)](_0x4cf303(0x130))),_0x39ab6d['ok']&&_0x4735ce[_0x4cf303(0x115)]&&(console[_0x4cf303(0x10a)](''),console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0x100)]['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0x116)](_0x4cf303(0x14c))),console[_0x4cf303(0x10a)](''),console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0xf9)](_0x4cf303(0x157))),console[_0x4cf303(0x10a)](a142_0x116a12[_0x4cf303(0xf9)](_0x4cf303(0x145))),console['log'](a142_0x116a12['white']('\x20\x20bun\x20install')),console[_0x4cf303(0x10a)](''));}