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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) 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/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.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/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/delete.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/init.js +1 -1
  56. package/lib/commands/config/list.js +1 -1
  57. package/lib/commands/config/set.js +1 -1
  58. package/lib/commands/config/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/business-groups.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-restore.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff-refresh-start.js +1 -1
  89. package/lib/commands/db/diff-refresh-status.js +1 -1
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/table-diff-shared.js +1 -1
  95. package/lib/commands/db/tables.js +1 -1
  96. package/lib/commands/db/test.js +1 -1
  97. package/lib/commands/db/update.js +1 -1
  98. package/lib/commands/deployment/auto-sync.js +1 -1
  99. package/lib/commands/deployment/index.js +1 -1
  100. package/lib/commands/deployment/sync-all.d.ts +2 -0
  101. package/lib/commands/deployment/sync-all.js +1 -0
  102. package/lib/commands/deployment/sync-jobs.d.ts +2 -0
  103. package/lib/commands/deployment/sync-jobs.js +1 -0
  104. package/lib/commands/deployment/sync-status.d.ts +2 -0
  105. package/lib/commands/deployment/sync-status.js +1 -0
  106. package/lib/commands/deployment/sync.js +1 -1
  107. package/lib/commands/doctor.js +1 -1
  108. package/lib/commands/file/index.js +1 -1
  109. package/lib/commands/instant-api-policy/current.d.ts +2 -0
  110. package/lib/commands/instant-api-policy/current.js +1 -0
  111. package/lib/commands/instant-api-policy/index.d.ts +2 -0
  112. package/lib/commands/instant-api-policy/index.js +1 -0
  113. package/lib/commands/instant-api-policy/init.d.ts +2 -0
  114. package/lib/commands/instant-api-policy/init.js +1 -0
  115. package/lib/commands/instant-api-policy/publish.d.ts +2 -0
  116. package/lib/commands/instant-api-policy/publish.js +1 -0
  117. package/lib/commands/instant-api-policy/pull.d.ts +2 -0
  118. package/lib/commands/instant-api-policy/pull.js +1 -0
  119. package/lib/commands/instant-api-policy/revision.d.ts +2 -0
  120. package/lib/commands/instant-api-policy/revision.js +1 -0
  121. package/lib/commands/instant-api-policy/revisions.d.ts +2 -0
  122. package/lib/commands/instant-api-policy/revisions.js +1 -0
  123. package/lib/commands/instant-api-policy/rollback.d.ts +2 -0
  124. package/lib/commands/instant-api-policy/rollback.js +1 -0
  125. package/lib/commands/instant-api-policy/shared.d.ts +82 -0
  126. package/lib/commands/instant-api-policy/shared.js +1 -0
  127. package/lib/commands/instant-api-policy/validate.d.ts +2 -0
  128. package/lib/commands/instant-api-policy/validate.js +1 -0
  129. package/lib/commands/issue/index.js +1 -1
  130. package/lib/commands/issue/nudge.js +1 -1
  131. package/lib/commands/issue/report.js +1 -1
  132. package/lib/commands/issue/shared.js +1 -1
  133. package/lib/commands/kb/create.js +1 -1
  134. package/lib/commands/kb/delete.js +1 -1
  135. package/lib/commands/kb/detail.js +1 -1
  136. package/lib/commands/kb/index.js +1 -1
  137. package/lib/commands/kb/list.js +1 -1
  138. package/lib/commands/kb/search.js +1 -1
  139. package/lib/commands/kb/shared.js +1 -1
  140. package/lib/commands/kb/update.js +1 -1
  141. package/lib/commands/logs/index.js +1 -1
  142. package/lib/commands/menu/asset-update.js +1 -1
  143. package/lib/commands/menu/delete.js +1 -1
  144. package/lib/commands/menu/external-link-create.js +1 -1
  145. package/lib/commands/menu/external-link-update.js +1 -1
  146. package/lib/commands/menu/group-create.js +1 -1
  147. package/lib/commands/menu/group-update.js +1 -1
  148. package/lib/commands/menu/index.js +1 -1
  149. package/lib/commands/menu/list.js +1 -1
  150. package/lib/commands/menu/move.js +1 -1
  151. package/lib/commands/menu/regroup-start.js +1 -1
  152. package/lib/commands/menu/rename.js +1 -1
  153. package/lib/commands/menu/shared/compare-table.js +1 -1
  154. package/lib/commands/menu/shared/delete-plan.js +1 -1
  155. package/lib/commands/menu/shared/facts.js +1 -1
  156. package/lib/commands/menu/shared/index.js +1 -1
  157. package/lib/commands/menu/shared/inquirer.js +1 -1
  158. package/lib/commands/menu/shared/local-pages.js +1 -1
  159. package/lib/commands/menu/shared/logic.js +1 -1
  160. package/lib/commands/menu/shared/mutations.js +1 -1
  161. package/lib/commands/menu/shared/service.js +1 -1
  162. package/lib/commands/menu/shared/sync-core.js +1 -1
  163. package/lib/commands/menu/shared/update-core.js +1 -1
  164. package/lib/commands/menu/shared/valid-url.js +1 -1
  165. package/lib/commands/menu/sync.js +1 -1
  166. package/lib/commands/menu/visibility-update.js +1 -1
  167. package/lib/commands/notification/config-create.js +1 -1
  168. package/lib/commands/notification/config-delete.js +1 -1
  169. package/lib/commands/notification/config-list.js +1 -1
  170. package/lib/commands/notification/config-update.js +1 -1
  171. package/lib/commands/notification/index.js +1 -1
  172. package/lib/commands/notification/shared.js +1 -1
  173. package/lib/commands/ocr/index.js +1 -1
  174. package/lib/commands/page/create.js +1 -1
  175. package/lib/commands/page/custom/detail.js +1 -1
  176. package/lib/commands/page/custom/list.js +1 -1
  177. package/lib/commands/page/custom/publish.js +1 -1
  178. package/lib/commands/page/custom/shared.js +1 -1
  179. package/lib/commands/page/custom/syntax.js +1 -1
  180. package/lib/commands/page/custom/template.js +1 -1
  181. package/lib/commands/page/custom/update.js +1 -1
  182. package/lib/commands/page/data-list-status.js +1 -1
  183. package/lib/commands/page/generate-start.js +1 -1
  184. package/lib/commands/page/generate-status.js +1 -1
  185. package/lib/commands/page/index.js +1 -1
  186. package/lib/commands/page/pull.js +1 -1
  187. package/lib/commands/page/push.js +1 -1
  188. package/lib/commands/page/relation-audit.js +1 -1
  189. package/lib/commands/page/restore.js +1 -1
  190. package/lib/commands/page/shared.js +1 -1
  191. package/lib/commands/page/sync.js +1 -1
  192. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  193. package/lib/commands/project/create/format-elapsed.js +1 -1
  194. package/lib/commands/project/create/main.js +1 -1
  195. package/lib/commands/project/create/materialize-project-template.js +1 -1
  196. package/lib/commands/project/create/project-name.js +1 -1
  197. package/lib/commands/project/create/project-template-archive.js +1 -1
  198. package/lib/commands/project/create/project-template-path.js +1 -1
  199. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  200. package/lib/commands/project/create/use-format-code.js +1 -1
  201. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  202. package/lib/commands/project/domain-routing-sync.js +1 -1
  203. package/lib/commands/project/index.js +1 -1
  204. package/lib/commands/project/upgrade.js +1 -1
  205. package/lib/commands/registry.js +1 -1
  206. package/lib/commands/role/delete.js +1 -1
  207. package/lib/commands/role/detail.js +1 -1
  208. package/lib/commands/role/index.js +1 -1
  209. package/lib/commands/role/list.js +1 -1
  210. package/lib/commands/role/shared.js +1 -1
  211. package/lib/commands/role/update.js +1 -1
  212. package/lib/commands/role/user-add.js +1 -1
  213. package/lib/commands/role/user-remove.js +1 -1
  214. package/lib/commands/role/user-resolve.js +1 -1
  215. package/lib/commands/rule/get.js +1 -1
  216. package/lib/commands/rule/index.js +1 -1
  217. package/lib/commands/rule/list.js +1 -1
  218. package/lib/commands/rule/set.js +1 -1
  219. package/lib/commands/rule/shared.js +1 -1
  220. package/lib/commands/run/index.js +1 -1
  221. package/lib/commands/schema.js +1 -1
  222. package/lib/commands/sql/create.js +1 -1
  223. package/lib/commands/sql/delete.js +1 -1
  224. package/lib/commands/sql/detail.js +1 -1
  225. package/lib/commands/sql/exec.js +1 -1
  226. package/lib/commands/sql/index.js +1 -1
  227. package/lib/commands/sql/list.js +1 -1
  228. package/lib/commands/sql/pull.js +1 -1
  229. package/lib/commands/sql/push.js +1 -1
  230. package/lib/commands/sql/shared.js +1 -1
  231. package/lib/commands/sql/status.js +1 -1
  232. package/lib/commands/sql/validate.js +1 -1
  233. package/lib/commands/task/index.js +1 -1
  234. package/lib/commands/task/status.js +1 -1
  235. package/lib/commands/tenant/index.js +1 -1
  236. package/lib/commands/tenant/members-list.js +1 -1
  237. package/lib/commands/tenant/shared.js +1 -1
  238. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  239. package/lib/commands/user-account/index.js +1 -1
  240. package/lib/commands/workspace/add.js +1 -1
  241. package/lib/commands/workspace/index.js +1 -1
  242. package/lib/commands/workspace/remove.js +1 -1
  243. package/lib/config/domain-config.js +1 -1
  244. package/lib/config/project-domain-routing.js +1 -1
  245. package/lib/config/schema.js +1 -1
  246. package/lib/constant/cdn.js +1 -1
  247. package/lib/constant/cli.js +1 -1
  248. package/lib/constant/defaults.js +1 -1
  249. package/lib/constant/domain.js +1 -1
  250. package/lib/constant/env.js +1 -1
  251. package/lib/constant/output.js +1 -1
  252. package/lib/constant/paths.js +1 -1
  253. package/lib/constant/region.js +1 -1
  254. package/lib/constant/risk.js +1 -1
  255. package/lib/constant/routing-profile.js +1 -1
  256. package/lib/context/app-resolver.js +1 -1
  257. package/lib/context/auth-resolver.js +1 -1
  258. package/lib/context/config-loader.js +1 -1
  259. package/lib/context.js +1 -1
  260. package/lib/core/alias-resolver.js +1 -1
  261. package/lib/core/api-client.d.ts +113 -0
  262. package/lib/core/api-client.js +1 -1
  263. package/lib/core/bff/config.js +1 -1
  264. package/lib/core/bff/file-system.js +1 -1
  265. package/lib/core/bff/hash.js +1 -1
  266. package/lib/core/bff/lock.js +1 -1
  267. package/lib/core/bff/utils.js +1 -1
  268. package/lib/core/db-resolver.js +1 -1
  269. package/lib/core/instant-api-policy/config.d.ts +23 -0
  270. package/lib/core/instant-api-policy/config.js +1 -0
  271. package/lib/core/kb-search-client.js +1 -1
  272. package/lib/core/page/file-system.js +1 -1
  273. package/lib/core/page/hash.js +1 -1
  274. package/lib/core/page/lock.js +1 -1
  275. package/lib/core/sql-index-auditor.js +1 -1
  276. package/lib/core/sql-sync/config.js +1 -1
  277. package/lib/core/sql-sync/file-system.js +1 -1
  278. package/lib/core/sql-sync/hash.js +1 -1
  279. package/lib/core/sql-sync/lock.js +1 -1
  280. package/lib/core/sql-sync/utils.js +1 -1
  281. package/lib/core/sql-validator.js +1 -1
  282. package/lib/errors.js +1 -1
  283. package/lib/framework/build-all-flags.js +1 -1
  284. package/lib/framework/error-output.js +1 -1
  285. package/lib/framework/explicit-yes.js +1 -1
  286. package/lib/framework/flags.js +1 -1
  287. package/lib/framework/help.js +1 -1
  288. package/lib/framework/index.js +1 -1
  289. package/lib/framework/output.js +1 -1
  290. package/lib/framework/response.js +1 -1
  291. package/lib/framework/runner-alias.js +1 -1
  292. package/lib/framework/runner.js +1 -1
  293. package/lib/framework/schema-export.js +1 -1
  294. package/lib/framework/supported-flags.js +1 -1
  295. package/lib/framework/types.js +1 -1
  296. package/lib/generated/build-info.d.ts +4 -4
  297. package/lib/generated/build-info.js +1 -1
  298. package/lib/generated/official-routing.js +1 -1
  299. package/lib/generated/routing-contract.js +1 -1
  300. package/lib/help.js +1 -1
  301. package/lib/postinstall.js +1 -1
  302. package/lib/runtime/confirmation.js +1 -1
  303. package/lib/runtime/event.js +1 -1
  304. package/lib/runtime/index.js +1 -1
  305. package/lib/runtime/queue.js +1 -1
  306. package/lib/runtime/resolve.js +1 -1
  307. package/lib/skills/builtin-skill.js +1 -1
  308. package/lib/skills/main.js +1 -1
  309. package/lib/skills/npx-skills-add.js +1 -1
  310. package/lib/skills/skill-presence.js +1 -1
  311. package/lib/telemetry/cli-command-trace.js +1 -1
  312. package/lib/telemetry/cli-help-trace.js +1 -1
  313. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  314. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  315. package/lib/telemetry/send-cli-trace-log.js +1 -1
  316. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  317. package/lib/utils/ai_config.js +1 -1
  318. package/lib/utils/apply-jq-filter.js +1 -1
  319. package/lib/utils/cdn-config.js +1 -1
  320. package/lib/utils/check-sdk-version.js +1 -1
  321. package/lib/utils/cli-version-check.js +1 -1
  322. package/lib/utils/cli-version-policy.js +1 -1
  323. package/lib/utils/config.js +1 -1
  324. package/lib/utils/entity-with-id.js +1 -1
  325. package/lib/utils/file-utils.js +1 -1
  326. package/lib/utils/guides-cdn.js +1 -1
  327. package/lib/utils/http-client.js +1 -1
  328. package/lib/utils/is-non-interactive.js +1 -1
  329. package/lib/utils/logger.js +1 -1
  330. package/lib/utils/params.js +1 -1
  331. package/lib/utils/platform.js +1 -1
  332. package/lib/utils/sleep.js +1 -1
  333. package/lib/utils/template-replacer.js +1 -1
  334. package/lib/utils/update-notice.js +1 -1
  335. package/lib/utils/version.js +1 -1
  336. package/lib/utils/with-active-cookie.js +1 -1
  337. package/lib/utils/write-cli-side-channel.js +1 -1
  338. package/package.json +1 -1
  339. package/skills/rabetbase/SKILL.md +11 -5
  340. package/skills/rabetbase/references/rabetbase-deployment-sync.md +41 -5
  341. package/skills/rabetbase/references/rabetbase-instant-api-policy.md +92 -0
  342. package/skills/rabetbase.manifest.json +4 -3
@@ -1 +1 @@
1
- (function(_0x17478b,_0x5c3b80){const _0x261e3b=a166_0x242c,_0x2359ce=_0x17478b();while(!![]){try{const _0x3de3e7=parseInt(_0x261e3b(0xcd))/0x1*(parseInt(_0x261e3b(0xbc))/0x2)+parseInt(_0x261e3b(0xc4))/0x3+-parseInt(_0x261e3b(0xc1))/0x4*(-parseInt(_0x261e3b(0xbd))/0x5)+-parseInt(_0x261e3b(0xce))/0x6+parseInt(_0x261e3b(0xb6))/0x7+parseInt(_0x261e3b(0xcc))/0x8+parseInt(_0x261e3b(0xca))/0x9*(-parseInt(_0x261e3b(0xb9))/0xa);if(_0x3de3e7===_0x5c3b80)break;else _0x2359ce['push'](_0x2359ce['shift']());}catch(_0x85e94d){_0x2359ce['push'](_0x2359ce['shift']());}}}(a166_0x2d01,0xa0651));import{existsSync}from'node:fs';import a166_0x52f62f from'node:path';import a166_0xa28ccf from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';function a166_0x2d01(){const _0x562009=['7644312WrkGuZ','cwd','7169680zlLuTQ','Project\x20name:','production','4610mULywm','trim','Not\x20set','1429046ibgYjk','20XhAFLD','Skipped','string','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','194152xHqEMM','env','√\x20Project\x20Name:\x20','3512865FRXyqt','√\x20Login\x20status:\x20','cyan','\x22\x20already\x20exists','green','log','24372lkShqk','√\x20App\x20Code:\x20','604376TPbSDP','1XtBzdI'];a166_0x2d01=function(){return _0x562009;};return a166_0x2d01();}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';function a166_0x242c(_0x463a01,_0x306e3e){_0x463a01=_0x463a01-0xb5;const _0x2d0134=a166_0x2d01();let _0x242c8b=_0x2d0134[_0x463a01];return _0x242c8b;}export async function guidedCreateProject(_0xad11b7,_0x4748bd,_0x53a982){const _0x34f0a4=a166_0x242c,_0x2f5481='my-app',_0x38f61d=readConfig(),_0x130a99=typeof _0x38f61d['env']===_0x34f0a4(0xbf)?_0x38f61d[_0x34f0a4(0xc2)]:undefined,_0x3bcb77=await input({'message':_0x34f0a4(0xb7),'default':_0x2f5481,'validate':_0x780abf=>{const _0x3c5feb=_0x34f0a4,_0x3350df=_0x780abf[_0x3c5feb(0xba)]()||_0x2f5481,_0x7c96f8=getProjectNameValidationError(_0x3350df);if(_0x7c96f8)return _0x7c96f8;const _0x45ede8=a166_0x52f62f['resolve'](process[_0x3c5feb(0xb5)](),_0x3350df);if(existsSync(_0x45ede8))return'Directory\x20\x22'+_0x3350df+_0x3c5feb(0xc7);return!![];}});console[_0x34f0a4(0xc9)](a166_0xa28ccf[_0x34f0a4(0xc8)](_0x34f0a4(0xc3)+a166_0xa28ccf['cyan'](_0x3bcb77)));const _0x1683b0=await selectSingleAppcode(_0x53a982);console[_0x34f0a4(0xc9)](a166_0xa28ccf[_0x34f0a4(0xc8)](_0x34f0a4(0xcb)+a166_0xa28ccf[_0x34f0a4(0xc6)](_0x1683b0||_0x34f0a4(0xbb))));if(_0x1683b0){const _0xe41922=await getIsSessionValid();if(!_0xe41922){const _0x3ccf01=await confirm({'message':_0x34f0a4(0xc0),'default':!![]});if(_0x3ccf01){const _0x488bf5=await authServer({'silent':!![]});console[_0x34f0a4(0xc9)](a166_0xa28ccf[_0x34f0a4(0xc8)](_0x34f0a4(0xc5)+a166_0xa28ccf[_0x34f0a4(0xc6)](_0x488bf5?'Logged\x20in':'Login\x20failed')));}else console[_0x34f0a4(0xc9)](a166_0xa28ccf[_0x34f0a4(0xc8)]('√\x20Login\x20status:\x20'+a166_0xa28ccf['cyan'](_0x34f0a4(0xbe))));}await _0xad11b7({'projectName':_0x3bcb77,'appCode':_0x1683b0,'env':_0x4748bd||_0x130a99||'production'});}else await _0xad11b7({'projectName':_0x3bcb77,'env':_0x4748bd||_0x130a99||_0x34f0a4(0xb8)});}
1
+ (function(_0x571133,_0x4be4a2){const _0x3b198d=a179_0x182a,_0x3a2b10=_0x571133();while(!![]){try{const _0x2ee931=parseInt(_0x3b198d(0x79))/0x1+-parseInt(_0x3b198d(0x7e))/0x2+-parseInt(_0x3b198d(0x89))/0x3*(parseInt(_0x3b198d(0x7b))/0x4)+parseInt(_0x3b198d(0x75))/0x5*(-parseInt(_0x3b198d(0x8a))/0x6)+-parseInt(_0x3b198d(0x7f))/0x7*(-parseInt(_0x3b198d(0x8f))/0x8)+-parseInt(_0x3b198d(0x8b))/0x9*(parseInt(_0x3b198d(0x8c))/0xa)+parseInt(_0x3b198d(0x76))/0xb*(parseInt(_0x3b198d(0x86))/0xc);if(_0x2ee931===_0x4be4a2)break;else _0x3a2b10['push'](_0x3a2b10['shift']());}catch(_0x4d479f){_0x3a2b10['push'](_0x3a2b10['shift']());}}}(a179_0x5d1c,0x4511b));import{existsSync}from'node:fs';import a179_0x5e90a0 from'node:path';import a179_0x14e0e1 from'chalk';function a179_0x182a(_0x3612c7,_0x174a5b){_0x3612c7=_0x3612c7-0x75;const _0x5d1cf9=a179_0x5d1c();let _0x182a22=_0x5d1cf9[_0x3612c7];return _0x182a22;}function a179_0x5d1c(){const _0x4a0b94=['74179NldOLS','Login\x20failed','env','Not\x20set','Skipped','production','trim','120UsVlcv','√\x20App\x20Code:\x20','string','1203QXOOvE','1497786ZwRkvm','5337COrTwU','5810QzMkgt','√\x20Project\x20Name:\x20','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','408RaudDq','log','cwd','10CKWvax','1250392QMLaYX','my-app','√\x20Login\x20status:\x20','281752HxmVxD','cyan','5628KpDEJF','green','\x22\x20already\x20exists','536020JKPvAH'];a179_0x5d1c=function(){return _0x4a0b94;};return a179_0x5d1c();}import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';export async function guidedCreateProject(_0x3ceb72,_0x302318,_0x24f0f7){const _0x1f478b=a179_0x182a,_0x3c8058=_0x1f478b(0x77),_0x205960=readConfig(),_0x163a04=typeof _0x205960[_0x1f478b(0x81)]===_0x1f478b(0x88)?_0x205960['env']:undefined,_0x13a25d=await input({'message':'Project\x20name:','default':_0x3c8058,'validate':_0x124282=>{const _0x4db53e=_0x1f478b,_0x50dc8a=_0x124282[_0x4db53e(0x85)]()||_0x3c8058,_0x44df90=getProjectNameValidationError(_0x50dc8a);if(_0x44df90)return _0x44df90;const _0x125533=a179_0x5e90a0['resolve'](process[_0x4db53e(0x91)](),_0x50dc8a);if(existsSync(_0x125533))return'Directory\x20\x22'+_0x50dc8a+_0x4db53e(0x7d);return!![];}});console['log'](a179_0x14e0e1[_0x1f478b(0x7c)](_0x1f478b(0x8d)+a179_0x14e0e1['cyan'](_0x13a25d)));const _0x428ee9=await selectSingleAppcode(_0x24f0f7);console[_0x1f478b(0x90)](a179_0x14e0e1[_0x1f478b(0x7c)](_0x1f478b(0x87)+a179_0x14e0e1[_0x1f478b(0x7a)](_0x428ee9||_0x1f478b(0x82))));if(_0x428ee9){const _0x5d62a7=await getIsSessionValid();if(!_0x5d62a7){const _0x2cf139=await confirm({'message':_0x1f478b(0x8e),'default':!![]});if(_0x2cf139){const _0x2188cd=await authServer({'silent':!![]});console['log'](a179_0x14e0e1['green']('√\x20Login\x20status:\x20'+a179_0x14e0e1[_0x1f478b(0x7a)](_0x2188cd?'Logged\x20in':_0x1f478b(0x80))));}else console[_0x1f478b(0x90)](a179_0x14e0e1['green'](_0x1f478b(0x78)+a179_0x14e0e1[_0x1f478b(0x7a)](_0x1f478b(0x83))));}await _0x3ceb72({'projectName':_0x13a25d,'appCode':_0x428ee9,'env':_0x302318||_0x163a04||'production'});}else await _0x3ceb72({'projectName':_0x13a25d,'env':_0x302318||_0x163a04||_0x1f478b(0x84)});}
@@ -1 +1 @@
1
- (function(_0xdbcbbf,_0x55008e){const _0x16332e=a167_0x3aac,_0x7f72cc=_0xdbcbbf();while(!![]){try{const _0x1a6b67=parseInt(_0x16332e(0x74))/0x1*(parseInt(_0x16332e(0x75))/0x2)+-parseInt(_0x16332e(0x70))/0x3+parseInt(_0x16332e(0x72))/0x4*(parseInt(_0x16332e(0x6f))/0x5)+-parseInt(_0x16332e(0x76))/0x6+-parseInt(_0x16332e(0x6d))/0x7+-parseInt(_0x16332e(0x73))/0x8+parseInt(_0x16332e(0x77))/0x9;if(_0x1a6b67===_0x55008e)break;else _0x7f72cc['push'](_0x7f72cc['shift']());}catch(_0x62354e){_0x7f72cc['push'](_0x7f72cc['shift']());}}}(a167_0x342d,0x9bc01));function a167_0x3aac(_0x5e2e4f,_0xf7f951){_0x5e2e4f=_0x5e2e4f-0x6d;const _0x342d41=a167_0x342d();let _0x3aacfc=_0x342d41[_0x5e2e4f];return _0x3aacfc;}export function formatElapsed(_0x3205a0){const _0x2e72c9=a167_0x3aac,_0x1cd6d1=Date['now']()-_0x3205a0;if(_0x1cd6d1<0x3e8)return _0x1cd6d1+'ms';const _0x58db5c=(_0x1cd6d1/0x3e8)[_0x2e72c9(0x6e)](0x2),_0x5e9f5c=_0x58db5c[_0x2e72c9(0x71)](/\.?0+$/u,'');return _0x5e9f5c+'s';}function a167_0x342d(){const _0x32aa7d=['5qthNxp','2619840zAHRCM','replace','1722292LAiUfi','2170552TkMGsN','476764PdIzfb','4HIIHZv','1804338SLZIze','11483379TwMIhA','4037299cMzqsi','toFixed'];a167_0x342d=function(){return _0x32aa7d;};return a167_0x342d();}
1
+ (function(_0x37e59e,_0x5133ae){const _0x37d4cb=a180_0x8824,_0x1fa8a9=_0x37e59e();while(!![]){try{const _0x2a5260=parseInt(_0x37d4cb(0xf0))/0x1*(parseInt(_0x37d4cb(0xe9))/0x2)+parseInt(_0x37d4cb(0xec))/0x3*(-parseInt(_0x37d4cb(0xea))/0x4)+-parseInt(_0x37d4cb(0xef))/0x5*(-parseInt(_0x37d4cb(0xeb))/0x6)+-parseInt(_0x37d4cb(0xf3))/0x7*(parseInt(_0x37d4cb(0xed))/0x8)+parseInt(_0x37d4cb(0xf2))/0x9*(parseInt(_0x37d4cb(0xee))/0xa)+parseInt(_0x37d4cb(0xf6))/0xb+-parseInt(_0x37d4cb(0xf5))/0xc;if(_0x2a5260===_0x5133ae)break;else _0x1fa8a9['push'](_0x1fa8a9['shift']());}catch(_0x4a1e54){_0x1fa8a9['push'](_0x1fa8a9['shift']());}}}(a180_0x13c9,0xbbf1b));function a180_0x8824(_0x45a838,_0x3624aa){_0x45a838=_0x45a838-0xe9;const _0x13c999=a180_0x13c9();let _0x8824e9=_0x13c999[_0x45a838];return _0x8824e9;}export function formatElapsed(_0x4a109a){const _0x1e9a61=a180_0x8824,_0x211643=Date['now']()-_0x4a109a;if(_0x211643<0x3e8)return _0x211643+'ms';const _0xaee42c=(_0x211643/0x3e8)[_0x1e9a61(0xf4)](0x2),_0x5e59c9=_0xaee42c[_0x1e9a61(0xf1)](/\.?0+$/u,'');return _0x5e59c9+'s';}function a180_0x13c9(){const _0x10ebde=['23979DBYIFk','3112klGWUp','7408910LWnlVj','6475vJVZVo','564191DoZPCS','replace','18xstQwF','23009YvrmUg','toFixed','20979156nKSmou','6858522XmGROt','4anhNTX','28mUYzSv','2868ttLBRH'];a180_0x13c9=function(){return _0x10ebde;};return a180_0x13c9();}
@@ -1 +1 @@
1
- (function(_0x3ca352,_0x4fc553){const _0x5708a7=a168_0x4d9c,_0x3df243=_0x3ca352();while(!![]){try{const _0x163ad1=-parseInt(_0x5708a7(0x205))/0x1*(parseInt(_0x5708a7(0x1e5))/0x2)+-parseInt(_0x5708a7(0x1c6))/0x3*(-parseInt(_0x5708a7(0x1e8))/0x4)+-parseInt(_0x5708a7(0x1e0))/0x5+-parseInt(_0x5708a7(0x20e))/0x6*(parseInt(_0x5708a7(0x1cf))/0x7)+parseInt(_0x5708a7(0x1d2))/0x8+-parseInt(_0x5708a7(0x1d6))/0x9*(-parseInt(_0x5708a7(0x1d7))/0xa)+parseInt(_0x5708a7(0x216))/0xb*(parseInt(_0x5708a7(0x1fb))/0xc);if(_0x163ad1===_0x4fc553)break;else _0x3df243['push'](_0x3df243['shift']());}catch(_0x5bc365){_0x3df243['push'](_0x3df243['shift']());}}}(a168_0x2071,0x38c9e));import a168_0x40a9e3 from'path';import a168_0x2b9542 from'fs';import a168_0x13150f from'chalk';function a168_0x4d9c(_0x582cbf,_0x19e414){_0x582cbf=_0x582cbf-0x1ae;const _0x2071dc=a168_0x2071();let _0x4d9c80=_0x2071dc[_0x582cbf];return _0x4d9c80;}import a168_0x1007f2 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{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,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';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x31bc78){const _0x2779ca=a168_0x4d9c;try{const _0x4f7f7a=a168_0x2b9542['lstatSync'](_0x31bc78);if(!_0x4f7f7a[_0x2779ca(0x1cb)]())return null;return{'dev':_0x4f7f7a[_0x2779ca(0x1d3)],'ino':_0x4f7f7a[_0x2779ca(0x21d)]};}catch{return null;}}function isSameDirectory(_0x238123,_0x5f51ee){const _0x331e92=a168_0x4d9c;return!!_0x238123&&!!_0x5f51ee&&_0x238123['dev']===_0x5f51ee['dev']&&_0x238123[_0x331e92(0x21d)]===_0x5f51ee[_0x331e92(0x21d)];}function commitCurrentDirectoryProject(_0x2572e8,_0x554a8f,_0x59c763){const _0xf082b=a168_0x4d9c;if(!isSameDirectory(readDirectoryIdentity(_0x2572e8),_0x59c763))throw new Error('Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation');const _0x46f7e5=a168_0x40a9e3[_0xf082b(0x1ed)](_0x554a8f),_0x210646=a168_0x2b9542['readdirSync'](_0x2572e8);if(_0x210646['length']!==0x1||_0x210646[0x0]!==_0x46f7e5)throw CliErrors[_0xf082b(0x1dd)]('The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.');const _0x2640cb=a168_0x40a9e3[_0xf082b(0x1d9)](_0x554a8f,'project'),_0x5567ba=[];try{for(const _0x4f30b1 of a168_0x2b9542[_0xf082b(0x1e6)](_0x2640cb)){a168_0x2b9542[_0xf082b(0x1c4)](a168_0x40a9e3[_0xf082b(0x1d9)](_0x2640cb,_0x4f30b1),a168_0x40a9e3[_0xf082b(0x1d9)](_0x2572e8,_0x4f30b1)),_0x5567ba[_0xf082b(0x1bb)](_0x4f30b1);}a168_0x2b9542['rmSync'](_0x554a8f,{'recursive':!![],'force':!![]});}catch(_0x55d8b4){for(const _0xff7fa8 of _0x5567ba['reverse']()){const _0x413318=a168_0x40a9e3['join'](_0x2572e8,_0xff7fa8);if(!a168_0x2b9542[_0xf082b(0x1b7)](_0x413318))continue;a168_0x2b9542[_0xf082b(0x1c4)](_0x413318,a168_0x40a9e3[_0xf082b(0x1d9)](_0x2640cb,_0xff7fa8));}throw _0x55d8b4;}}export async function createApp(_0x215dca){const _0x33cf0c=a168_0x4d9c,_0x307d0f=await checkCliVersion();(_0x307d0f[_0x33cf0c(0x1b2)]||_0x307d0f[_0x33cf0c(0x213)])&&(printCliUpgradeWarning(_0x307d0f),assertCliVersionSupported(_0x307d0f),logger[_0x33cf0c(0x1fe)](_0x33cf0c(0x1d0),_0x33cf0c(0x20a),{'currentVersion':_0x307d0f['currentVersion'],'stableVersion':_0x307d0f['stableVersion'],'minimumVersion':_0x307d0f[_0x33cf0c(0x1b1)],'needsUpgrade':_0x307d0f[_0x33cf0c(0x1b2)],'belowMinimum':_0x307d0f[_0x33cf0c(0x213)]}));const _0x3753e0=_0x215dca[_0x33cf0c(0x1eb)]?a168_0x40a9e3['basename'](process[_0x33cf0c(0x1c5)]()):_0x215dca[_0x33cf0c(0x201)];if(_0x3753e0&&(_0x215dca['appCode']||_0x215dca[_0x33cf0c(0x207)]))await runCreate({'projectName':_0x3753e0,'appCode':_0x215dca['appCode'],'env':_0x215dca[_0x33cf0c(0x1ce)]},_0x215dca);else{if(_0x3753e0){const _0x38891e=await selectSingleAppcode(_0x215dca[_0x33cf0c(0x1d4)]);await runCreate({'projectName':_0x3753e0,'appCode':_0x38891e||undefined,'env':_0x215dca[_0x33cf0c(0x1ce)]},_0x215dca);}else await guidedCreateProject(_0x1ea265=>runCreate(_0x1ea265,_0x215dca),_0x215dca[_0x33cf0c(0x1ce)],_0x215dca[_0x33cf0c(0x1d4)]);}}async function runCreate(_0x1cebde,_0x4a2726){const _0x470843=a168_0x4d9c;_0x1cebde[_0x470843(0x1ee)]=validateProjectName(_0x1cebde['projectName']);const _0x3ff1d1=_0x4a2726[_0x470843(0x1eb)]?process[_0x470843(0x1c5)]():a168_0x40a9e3['resolve'](process[_0x470843(0x1c5)](),_0x1cebde[_0x470843(0x1ee)]);if(_0x4a2726[_0x470843(0x1eb)]){if(a168_0x2b9542[_0x470843(0x1e6)](_0x3ff1d1)[_0x470843(0x217)]>0x0)throw CliErrors[_0x470843(0x1dd)]('The\x20current\x20directory\x20must\x20be\x20empty.','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.');}else{if(a168_0x2b9542[_0x470843(0x1b7)](_0x3ff1d1))throw new Error(_0x470843(0x1be)+_0x1cebde[_0x470843(0x1ee)]+_0x470843(0x1f6));}let _0x5e6bc8=null;const _0xe140c2=_0x4a2726[_0x470843(0x1eb)]?readDirectoryIdentity(_0x3ff1d1):null;let _0x1e0c52=null;try{a168_0x2b9542[_0x470843(0x1c7)](a168_0x40a9e3[_0x470843(0x1d8)](_0x3ff1d1),a168_0x2b9542[_0x470843(0x1e7)][_0x470843(0x1b8)]);}catch{throw new Error(_0x470843(0x1b3));}logger[_0x470843(0x1fe)]('create',_0x470843(0x1dc)+_0x1cebde['projectName'],{'projectDir':_0x3ff1d1,'appCode':_0x1cebde[_0x470843(0x1e1)]}),console['log'](),console['log'](a168_0x13150f['green']('\x20√\x20')+_0x470843(0x204)+a168_0x13150f['green'](_0x1cebde[_0x470843(0x1ee)])+(_0x1cebde[_0x470843(0x1e1)]?_0x470843(0x221)+a168_0x13150f[_0x470843(0x1d5)](_0x1cebde[_0x470843(0x1e1)]):''));try{let _0x57d03f=_0x1cebde[_0x470843(0x1ee)];_0x4a2726[_0x470843(0x1eb)]&&(_0x1e0c52=a168_0x2b9542[_0x470843(0x208)](a168_0x40a9e3[_0x470843(0x1d9)](_0x3ff1d1,_0x470843(0x202))),_0x57d03f=a168_0x40a9e3[_0x470843(0x211)](process['cwd'](),a168_0x40a9e3['join'](_0x1e0c52,_0x470843(0x218))));const _0x16dbca=a168_0x40a9e3[_0x470843(0x1e2)](process[_0x470843(0x1c5)](),_0x57d03f);await runTask(_0x470843(0x21b),_0x1b9bf4=>copyProjectTemplate(_0x57d03f,_0x1a5d85=>_0x1b9bf4(projectTemplateStageLabel(_0x1a5d85)),_0x4a2726['templateSource']),'Project\x20template\x20ready'),_0x5e6bc8=_0x4a2726[_0x470843(0x1eb)]?null:readDirectoryIdentity(_0x3ff1d1);if(!_0x4a2726[_0x470843(0x1eb)]&&!_0x5e6bc8)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x57d03f,_0x1cebde[_0x470843(0x1ee)]),await runTask(_0x470843(0x21e),()=>installDependencies(_0x57d03f)),await runTask('Format\x20code',()=>formatProjectCode(_0x57d03f)),await configureAppCode(_0x57d03f,_0x1cebde[_0x470843(0x1ee)],_0x1cebde[_0x470843(0x1e1)]||'',_0x1cebde[_0x470843(0x1ce)]);let _0x3d607b=![];if(_0x1cebde[_0x470843(0x1e1)]){console[_0x470843(0x1e4)](_0x470843(0x210));const _0x24b5cb=process[_0x470843(0x1c5)]();try{process[_0x470843(0x1f3)](_0x16dbca);const _0x4d75ec=_0x1cebde[_0x470843(0x1ce)]||_0x470843(0x20f);initEnv(_0x4d75ec);const {configArray:_0x3dd28a}=await fetchModelList(_0x1cebde[_0x470843(0x1e1)],_0x4a2726[_0x470843(0x1d4)]||''),_0x377c57=DEFAULT_API_DIR,_0x3ffaaa=await generateApiFile(_0x3dd28a,'',_0x1cebde[_0x470843(0x1e1)],!![],_0x4d75ec,_0x377c57,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x470843(0x1e4)](_0x470843(0x215)+_0x3dd28a[_0x470843(0x217)]+_0x470843(0x1bf)+_0x3ffaaa[_0x470843(0x1f8)]+'\x20model(s)'),logger[_0x470843(0x1fe)](_0x470843(0x1d0),_0x470843(0x1bd)+_0x1cebde[_0x470843(0x1e1)]);}catch(_0x2900f4){_0x3d607b=!![],console['log'](_0x470843(0x1db)+CLI_BIN_NAME+_0x470843(0x200)),logger[_0x470843(0x1c8)]('create',_0x470843(0x1cd),{'error':_0x2900f4 instanceof Error?_0x2900f4[_0x470843(0x1ca)]:String(_0x2900f4)});}finally{process['chdir'](_0x24b5cb);}}if(_0x4a2726[_0x470843(0x1eb)]){if(!_0x1e0c52||!_0xe140c2)throw new Error(_0x470843(0x1f9));commitCurrentDirectoryProject(_0x3ff1d1,_0x1e0c52,_0xe140c2),_0x1e0c52=null;}try{logger['setLogPath'](_0x3ff1d1),logger['success'](_0x470843(0x1d0),'Project\x20created:\x20'+_0x1cebde[_0x470843(0x1ee)]);}catch(_0x591d52){console['warn'](_0x470843(0x1c0)+(_0x591d52 instanceof Error?_0x591d52[_0x470843(0x1ca)]:String(_0x591d52)));}console['log'](),console['log'](a168_0x13150f[_0x470843(0x21c)]('─'[_0x470843(0x1fd)](0x3c))),console[_0x470843(0x1e4)](a168_0x13150f[_0x470843(0x1d5)]['bold'](_0x470843(0x1f4))),console['log']();const _0x1eeac4=_0x4a2726['currentDir']?CLI_BIN_NAME+_0x470843(0x1f1):_0x470843(0x1e9)+_0x1cebde['projectName']+_0x470843(0x1c9)+CLI_BIN_NAME+'\x20run\x20start';console[_0x470843(0x1e4)]('\x20\x201.\x20Start\x20project:\x20'+a168_0x13150f['cyan'][_0x470843(0x1b9)](_0x1eeac4)),_0x3d607b&&console[_0x470843(0x1e4)](_0x470843(0x1fa)+a168_0x13150f['cyan']['bold'](CLI_BIN_NAME+'\x20api\x20pull\x20--force\x20--yes')),console[_0x470843(0x1e4)](a168_0x13150f[_0x470843(0x21c)]('─'[_0x470843(0x1fd)](0x3c)));}catch(_0x5189e1){logger[_0x470843(0x1da)](_0x470843(0x1d0),'Project\x20creation\x20failed:\x20'+_0x1cebde[_0x470843(0x1ee)],{'error':_0x5189e1 instanceof Error?_0x5189e1['message']:String(_0x5189e1)});try{const _0x1ae401=readDirectoryIdentity(_0x3ff1d1);if(_0x4a2726[_0x470843(0x1eb)]&&_0x1e0c52)a168_0x2b9542['rmSync'](_0x1e0c52,{'recursive':!![],'force':!![]});else{if(_0x5e6bc8&&_0x1ae401?.[_0x470843(0x1d3)]===_0x5e6bc8[_0x470843(0x1d3)]&&_0x1ae401['ino']===_0x5e6bc8[_0x470843(0x21d)])console[_0x470843(0x1e4)](_0x470843(0x1ef)+_0x3ff1d1),a168_0x2b9542['rmSync'](_0x3ff1d1,{'recursive':!![],'force':!![]});else _0x1ae401&&logger[_0x470843(0x1c8)](_0x470843(0x1d0),_0x470843(0x1f7)+_0x3ff1d1);}}catch{logger[_0x470843(0x1c8)](_0x470843(0x1d0),'Failed\x20to\x20clean\x20up\x20project\x20directory:\x20'+_0x3ff1d1);}throw _0x5189e1;}}async function runTask(_0x519943,_0x2e1939,_0x3e9c75=_0x519943){const _0x3cee39=a168_0x4d9c,_0x148a50=a168_0x1007f2(_0x519943+_0x3cee39(0x1f2))['start']();try{const _0x4fd8e8=await _0x2e1939(_0x422832=>{const _0xdb3d80=_0x3cee39;_0x148a50[_0xdb3d80(0x21a)]=_0x422832+'...';});_0x148a50[_0x3cee39(0x21f)](),console[_0x3cee39(0x1e4)](''+a168_0x13150f[_0x3cee39(0x21c)](_0x3cee39(0x206))+_0x3e9c75+'\x20'+a168_0x13150f[_0x3cee39(0x1ea)]('['+_0x4fd8e8+']'));}catch(_0x22656b){_0x148a50[_0x3cee39(0x20c)](_0x519943);throw _0x22656b;}}function projectTemplateStageLabel(_0x1918b2){const _0x4508b5=a168_0x4d9c;switch(_0x1918b2){case _0x4508b5(0x209):return _0x4508b5(0x21b);case _0x4508b5(0x20d):return _0x4508b5(0x1cc);case _0x4508b5(0x214):return'Verifying\x20project\x20template';case _0x4508b5(0x1fc):return'Extracting\x20project\x20template';case _0x4508b5(0x1df):return _0x4508b5(0x1b4);}}function a168_0x2071(){const _0x107bfb=['text','Resolving\x20project\x20template','green','ino','Install\x20dependencies','stop','√\x20Configuration\x20file\x20created,\x20Apps:\x20','\x20|\x20AppCode:\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','Failed\x20to\x20update\x20package.json','\x20config\x20set\x20appcode\x20<app-code>\x27','minimumVersion','needsUpgrade','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Copying\x20local\x20template\x20source','package.json','readFileSync','existsSync','W_OK','bold','\x20|\x20Default:\x20implicit\x20(single\x20app)','push','keys','API\x20configuration\x20pulled:\x20','Project\x20directory\x20','\x20dataset(s),\x20generated\x20','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','utf8','\x20Generated\x20by\x20rabetbase\x20cli\x20','version','renameSync','cwd','133833uAmYqc','accessSync','warn','\x20&&\x20','message','isDirectory','Downloading\x20project\x20template','API\x20configuration\x20pull\x20failed','env','91wjXppO','create','Updating\x20package.json\x20name','694032BufaRW','dev','cookie','cyan','36FQINsm','332120ynfKDL','dirname','join','error','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','Starting\x20project\x20creation:\x20','validation','parse','copying','614640FrhuAg','appCode','resolve','1.0.0','log','358YxsLhe','readdirSync','constants','12qdTSND','cd\x20','gray','currentDir','name','basename','projectName','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\x20run\x20start','...','chdir','🚀\x20Next\x20Steps:','writeFileSync','\x20already\x20exists','Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20','modelCount','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','\x20\x202.\x20Pull\x20API\x20configuration:\x20','12TtTbSS','extracting','repeat','info','Configured\x20app\x20AppCode:\x20','\x20api\x20pull\x20--force\x20--yes','projectCode','.rabetbase-create-','*\x20Configuring\x20AppCode\x20for\x20project\x20','Project\x20name:\x20','292wvIqOG','\x20√\x20','nonInteractive','mkdtempSync','resolving','CLI\x20version\x20check','√\x20package.json\x20updated:\x20name=','fail','downloading','53478ADuBLq','production','*\x20Pulling\x20API\x20configuration...','relative','string','belowMinimum','verifying','√\x20Pulled\x20','1872596ygVCYN','length','project','apps'];a168_0x2071=function(){return _0x107bfb;};return a168_0x2071();}async function updatePackageJsonName(_0x1451df,_0x46f03b){const _0x2ee852=a168_0x4d9c,_0x5b10c5=a168_0x40a9e3[_0x2ee852(0x1e2)](process['cwd'](),_0x1451df),_0x60b01f=a168_0x40a9e3['join'](_0x5b10c5,_0x2ee852(0x1b5));try{console[_0x2ee852(0x1e4)](_0x2ee852(0x1f0));const _0x210fa8=getRabetbaseCliPackageRoot(),_0x38107a=a168_0x40a9e3[_0x2ee852(0x1d9)](_0x210fa8,_0x2ee852(0x1b5));let _0xdf4606=_0x2ee852(0x1e3);try{const _0x3816c9=JSON[_0x2ee852(0x1de)](a168_0x2b9542['readFileSync'](_0x38107a,_0x2ee852(0x1c1)));_0xdf4606=_0x3816c9[_0x2ee852(0x1c3)]||_0x2ee852(0x1e3);}catch{}const _0x330c5f=a168_0x2b9542['readFileSync'](_0x60b01f,_0x2ee852(0x1c1)),_0x413c56=JSON[_0x2ee852(0x1de)](_0x330c5f);_0x413c56[_0x2ee852(0x1ec)]=_0x46f03b,_0x413c56['description']=_0x46f03b+_0x2ee852(0x1c2)+_0xdf4606,a168_0x2b9542[_0x2ee852(0x1f5)](_0x60b01f,JSON['stringify'](_0x413c56,null,0x2)+'\x0a',_0x2ee852(0x1c1)),console['log'](_0x2ee852(0x20b)+_0x46f03b),logger[_0x2ee852(0x1fe)](_0x2ee852(0x1d0),_0x2ee852(0x1d1));}catch(_0x5e194e){logger['error'](_0x2ee852(0x1d0),_0x2ee852(0x1af));throw _0x5e194e;}}async function configureAppCode(_0x4e2574,_0xb19b16,_0x2d9eda,_0x41dd48){const _0x5938d1=a168_0x4d9c,_0x99e91e=a168_0x40a9e3[_0x5938d1(0x1e2)](process[_0x5938d1(0x1c5)](),_0x4e2574),_0xd3e9a9=a168_0x40a9e3['join'](_0x99e91e,NEW_CONFIG_NAME);try{_0x2d9eda?console[_0x5938d1(0x1e4)](_0x5938d1(0x203)+_0xb19b16+':\x20'+_0x2d9eda):console[_0x5938d1(0x1e4)](_0x5938d1(0x1ae)+_0xb19b16);const _0x36bd13=getRabetbaseCliPackageRoot(),_0x2f174b=a168_0x40a9e3[_0x5938d1(0x1d9)](_0x36bd13,_0x5938d1(0x1b5));let _0x5c7f10=_0x5938d1(0x1e3);try{const _0x4928b6=JSON[_0x5938d1(0x1de)](a168_0x2b9542[_0x5938d1(0x1b6)](_0x2f174b,_0x5938d1(0x1c1)));_0x5c7f10=_0x4928b6[_0x5938d1(0x1c3)]||_0x5938d1(0x1e3);}catch{}const {globalConfig:_0x228b82}=loadRawConfigLayers(),_0x274b52=typeof _0x228b82[_0x5938d1(0x1ce)]===_0x5938d1(0x212)?_0x228b82[_0x5938d1(0x1ce)]:undefined,_0xe425d9={};for(const _0x20342a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x228b82[_0x20342a]!=null)_0xe425d9[_0x20342a]=_0x228b82[_0x20342a];}const _0x37ed66=buildCanonicalProjectConfig(_0xe425d9,{'appCodes':_0x2d9eda?[_0x2d9eda]:[],'env':_0x41dd48||_0x274b52||_0x5938d1(0x20f),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x5c7f10}});writeConfigFile(_0xd3e9a9,_0x37ed66),await generateSdkConfigFile(a168_0x40a9e3[_0x5938d1(0x1d9)](_0x99e91e,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x99e91e),_0x2d9eda?console[_0x5938d1(0x1e4)](_0x5938d1(0x220)+Object[_0x5938d1(0x1bc)](_0x37ed66[_0x5938d1(0x219)]||{})[_0x5938d1(0x1d9)](',\x20')+_0x5938d1(0x1ba)):console[_0x5938d1(0x1e4)]('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x5938d1(0x1b0)),logger['info'](_0x5938d1(0x1d0),_0x5938d1(0x1ff)+_0x2d9eda);}catch(_0x1e81f9){logger[_0x5938d1(0x1da)](_0x5938d1(0x1d0),'Failed\x20to\x20configure\x20app\x20AppCode');throw _0x1e81f9;}}
1
+ (function(_0x26de59,_0x400f0b){const _0x1e7c6b=a181_0x1488,_0x41cb62=_0x26de59();while(!![]){try{const _0x1b5f73=-parseInt(_0x1e7c6b(0x148))/0x1*(-parseInt(_0x1e7c6b(0x199))/0x2)+-parseInt(_0x1e7c6b(0x1bf))/0x3+-parseInt(_0x1e7c6b(0x147))/0x4*(parseInt(_0x1e7c6b(0x151))/0x5)+parseInt(_0x1e7c6b(0x182))/0x6+parseInt(_0x1e7c6b(0x1a4))/0x7+parseInt(_0x1e7c6b(0x153))/0x8*(-parseInt(_0x1e7c6b(0x1a5))/0x9)+-parseInt(_0x1e7c6b(0x196))/0xa*(-parseInt(_0x1e7c6b(0x18a))/0xb);if(_0x1b5f73===_0x400f0b)break;else _0x41cb62['push'](_0x41cb62['shift']());}catch(_0x4a5f08){_0x41cb62['push'](_0x41cb62['shift']());}}}(a181_0x36c3,0x81ef6));import a181_0xb1949a from'path';import a181_0x494a6f from'fs';import a181_0x3d50ae from'chalk';import a181_0x4fb61c 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{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';function a181_0x36c3(){const _0x27c5d1=['\x20|\x20Default:\x20implicit\x20(single\x20app)','env','cwd','readdirSync','dirname','stop','version','\x20√\x20','description','\x20|\x20AppCode:\x20','2666058fmKdbY','\x20config\x20set\x20appcode\x20<app-code>\x27','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','bold','warn','lstatSync','mkdtempSync','4oRdtzI','1tCAoZF','.rabetbase-create-','cookie','Format\x20code','Failed\x20to\x20update\x20package.json','projectName','accessSync','*\x20Pulling\x20API\x20configuration...','API\x20configuration\x20pull\x20failed','792005RESKwg','log','6208VUOniO','√\x20Configuration\x20file\x20created,\x20Apps:\x20','success','utf8','W_OK','\x20run\x20start','existsSync','green','dev','The\x20current\x20directory\x20must\x20be\x20empty.','basename','projectCode','appCode','join','constants','project','readFileSync','resolving','setLogPath','string','\x20api\x20pull\x20--force\x20--yes','Starting\x20project\x20creation:\x20','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','Install\x20dependencies','resolve','CLI\x20version\x20check','error','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','validation','*\x20Configuring\x20AppCode\x20for\x20project\x20','needsUpgrade','Project\x20directory\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\x20&&\x20','length','√\x20package.json\x20updated:\x20name=','Project\x20created:\x20','√\x20Pulled\x20','renameSync','\x20model(s)','create','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','modelCount','The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','production','toLocaleString','Downloading\x20project\x20template','1822554hdYqvH','belowMinimum','Verifying\x20project\x20template','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.','1.0.0','chdir','Resolving\x20project\x20template','526702qilKCC','copying','cyan','Extracting\x20project\x20template','Configured\x20app\x20AppCode:\x20','stableVersion','Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','rmSync','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','parse','repeat','50cqOTSp','writeFileSync','message','1379718cLBEsm','Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20','Failed\x20to\x20configure\x20app\x20AppCode','package.json','API\x20configuration\x20pulled:\x20','text','templateSource','nonInteractive','reverse','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','info','2907359RZCfCc','801tRCQnW','currentVersion','\x20\x202.\x20Pull\x20API\x20configuration:\x20','ino','Copying\x20local\x20template\x20source','stringify','\x20\x201.\x20Start\x20project:\x20','isDirectory','push','Project\x20name:\x20','extracting','\x20dataset(s),\x20generated\x20','gray','...','\x20already\x20exists','currentDir'];a181_0x36c3=function(){return _0x27c5d1;};return a181_0x36c3();}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';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';function a181_0x1488(_0x984fef,_0x509359){_0x984fef=_0x984fef-0x145;const _0x36c3c3=a181_0x36c3();let _0x1488d9=_0x36c3c3[_0x984fef];return _0x1488d9;}import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x5928b9){const _0x47edbb=a181_0x1488;try{const _0x227d37=a181_0x494a6f[_0x47edbb(0x145)](_0x5928b9);if(!_0x227d37[_0x47edbb(0x1ac)]())return null;return{'dev':_0x227d37[_0x47edbb(0x15b)],'ino':_0x227d37[_0x47edbb(0x1a8)]};}catch{return null;}}function isSameDirectory(_0x232a46,_0x1c63a1){const _0x4980a8=a181_0x1488;return!!_0x232a46&&!!_0x1c63a1&&_0x232a46[_0x4980a8(0x15b)]===_0x1c63a1[_0x4980a8(0x15b)]&&_0x232a46[_0x4980a8(0x1a8)]===_0x1c63a1[_0x4980a8(0x1a8)];}function commitCurrentDirectoryProject(_0x436b7c,_0x5923e8,_0xfb5ad1){const _0x82f203=a181_0x1488;if(!isSameDirectory(readDirectoryIdentity(_0x436b7c),_0xfb5ad1))throw new Error(_0x82f203(0x190));const _0x90e2db=a181_0xb1949a[_0x82f203(0x15d)](_0x5923e8),_0x1bff35=a181_0x494a6f['readdirSync'](_0x436b7c);if(_0x1bff35[_0x82f203(0x175)]!==0x1||_0x1bff35[0x0]!==_0x90e2db)throw CliErrors[_0x82f203(0x16f)](_0x82f203(0x17e),_0x82f203(0x186));const _0x1fd5b9=a181_0xb1949a[_0x82f203(0x160)](_0x5923e8,_0x82f203(0x162)),_0x5a6386=[];try{for(const _0x4fc3be of a181_0x494a6f[_0x82f203(0x1b8)](_0x1fd5b9)){a181_0x494a6f[_0x82f203(0x179)](a181_0xb1949a[_0x82f203(0x160)](_0x1fd5b9,_0x4fc3be),a181_0xb1949a[_0x82f203(0x160)](_0x436b7c,_0x4fc3be)),_0x5a6386[_0x82f203(0x1ad)](_0x4fc3be);}a181_0x494a6f[_0x82f203(0x192)](_0x5923e8,{'recursive':!![],'force':!![]});}catch(_0x369b09){for(const _0x3dd35a of _0x5a6386[_0x82f203(0x1a1)]()){const _0x1b15f9=a181_0xb1949a[_0x82f203(0x160)](_0x436b7c,_0x3dd35a);if(!a181_0x494a6f[_0x82f203(0x159)](_0x1b15f9))continue;a181_0x494a6f['renameSync'](_0x1b15f9,a181_0xb1949a[_0x82f203(0x160)](_0x1fd5b9,_0x3dd35a));}throw _0x369b09;}}export async function createApp(_0x3d69bf){const _0x4447da=a181_0x1488,_0x3bdba3=await checkCliVersion();(_0x3bdba3[_0x4447da(0x171)]||_0x3bdba3[_0x4447da(0x183)])&&(printCliUpgradeWarning(_0x3bdba3),assertCliVersionSupported(_0x3bdba3),logger[_0x4447da(0x1a3)](_0x4447da(0x17b),_0x4447da(0x16c),{'currentVersion':_0x3bdba3[_0x4447da(0x1a6)],'stableVersion':_0x3bdba3[_0x4447da(0x18f)],'minimumVersion':_0x3bdba3['minimumVersion'],'needsUpgrade':_0x3bdba3[_0x4447da(0x171)],'belowMinimum':_0x3bdba3[_0x4447da(0x183)]}));const _0x80bb3=_0x3d69bf[_0x4447da(0x1b4)]?a181_0xb1949a[_0x4447da(0x15d)](process[_0x4447da(0x1b7)]()):_0x3d69bf[_0x4447da(0x15e)];if(_0x80bb3&&(_0x3d69bf[_0x4447da(0x15f)]||_0x3d69bf[_0x4447da(0x1a0)]))await runCreate({'projectName':_0x80bb3,'appCode':_0x3d69bf[_0x4447da(0x15f)],'env':_0x3d69bf['env']},_0x3d69bf);else{if(_0x80bb3){const _0x28b6f3=await selectSingleAppcode(_0x3d69bf[_0x4447da(0x14a)]);await runCreate({'projectName':_0x80bb3,'appCode':_0x28b6f3||undefined,'env':_0x3d69bf[_0x4447da(0x1b6)]},_0x3d69bf);}else await guidedCreateProject(_0x4d4d6d=>runCreate(_0x4d4d6d,_0x3d69bf),_0x3d69bf[_0x4447da(0x1b6)],_0x3d69bf['cookie']);}}async function runCreate(_0x13ab13,_0x104e4c){const _0x2a0c3b=a181_0x1488;_0x13ab13['projectName']=validateProjectName(_0x13ab13[_0x2a0c3b(0x14d)]);const _0x52e649=_0x104e4c[_0x2a0c3b(0x1b4)]?process[_0x2a0c3b(0x1b7)]():a181_0xb1949a['resolve'](process[_0x2a0c3b(0x1b7)](),_0x13ab13['projectName']);if(_0x104e4c[_0x2a0c3b(0x1b4)]){if(a181_0x494a6f[_0x2a0c3b(0x1b8)](_0x52e649)[_0x2a0c3b(0x175)]>0x0)throw CliErrors['validation'](_0x2a0c3b(0x15c),_0x2a0c3b(0x1c1));}else{if(a181_0x494a6f[_0x2a0c3b(0x159)](_0x52e649))throw new Error(_0x2a0c3b(0x172)+_0x13ab13[_0x2a0c3b(0x14d)]+_0x2a0c3b(0x1b3));}let _0x83874e=null;const _0x3903bb=_0x104e4c['currentDir']?readDirectoryIdentity(_0x52e649):null;let _0x4828b9=null;try{a181_0x494a6f[_0x2a0c3b(0x14e)](a181_0xb1949a[_0x2a0c3b(0x1b9)](_0x52e649),a181_0x494a6f[_0x2a0c3b(0x161)][_0x2a0c3b(0x157)]);}catch{throw new Error(_0x2a0c3b(0x17c));}logger['info'](_0x2a0c3b(0x17b),_0x2a0c3b(0x168)+_0x13ab13['projectName'],{'projectDir':_0x52e649,'appCode':_0x13ab13['appCode']}),console[_0x2a0c3b(0x152)](),console[_0x2a0c3b(0x152)](a181_0x3d50ae[_0x2a0c3b(0x15a)](_0x2a0c3b(0x1bc))+_0x2a0c3b(0x1ae)+a181_0x3d50ae['green'](_0x13ab13[_0x2a0c3b(0x14d)])+(_0x13ab13[_0x2a0c3b(0x15f)]?_0x2a0c3b(0x1be)+a181_0x3d50ae[_0x2a0c3b(0x18c)](_0x13ab13[_0x2a0c3b(0x15f)]):''));try{let _0x58b5d9=_0x13ab13['projectName'];_0x104e4c['currentDir']&&(_0x4828b9=a181_0x494a6f[_0x2a0c3b(0x146)](a181_0xb1949a['join'](_0x52e649,_0x2a0c3b(0x149))),_0x58b5d9=a181_0xb1949a['relative'](process[_0x2a0c3b(0x1b7)](),a181_0xb1949a[_0x2a0c3b(0x160)](_0x4828b9,_0x2a0c3b(0x162))));const _0x2862b5=a181_0xb1949a[_0x2a0c3b(0x16b)](process[_0x2a0c3b(0x1b7)](),_0x58b5d9);await runTask('Resolving\x20project\x20template',_0x281434=>copyProjectTemplate(_0x58b5d9,_0x33e4fd=>_0x281434(projectTemplateStageLabel(_0x33e4fd)),_0x104e4c[_0x2a0c3b(0x19f)]),'Project\x20template\x20ready'),_0x83874e=_0x104e4c[_0x2a0c3b(0x1b4)]?null:readDirectoryIdentity(_0x52e649);if(!_0x104e4c[_0x2a0c3b(0x1b4)]&&!_0x83874e)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x58b5d9,_0x13ab13['projectName']),await runTask(_0x2a0c3b(0x16a),()=>installDependencies(_0x58b5d9)),await runTask(_0x2a0c3b(0x14b),()=>formatProjectCode(_0x58b5d9)),await configureAppCode(_0x58b5d9,_0x13ab13[_0x2a0c3b(0x14d)],_0x13ab13[_0x2a0c3b(0x15f)]||'',_0x13ab13['env']);let _0x2b26af=![];if(_0x13ab13[_0x2a0c3b(0x15f)]){console[_0x2a0c3b(0x152)](_0x2a0c3b(0x14f));const _0x3d4165=process[_0x2a0c3b(0x1b7)]();try{process[_0x2a0c3b(0x188)](_0x2862b5);const _0x559e73=_0x13ab13[_0x2a0c3b(0x1b6)]||_0x2a0c3b(0x17f);initEnv(_0x559e73);const {configArray:_0x486f0e}=await fetchModelList(_0x13ab13[_0x2a0c3b(0x15f)],_0x104e4c[_0x2a0c3b(0x14a)]||''),_0x768137=DEFAULT_API_DIR,_0x3f5e59=await generateApiFile(_0x486f0e,'',_0x13ab13[_0x2a0c3b(0x15f)],!![],_0x559e73,_0x768137,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x2a0c3b(0x152)](_0x2a0c3b(0x178)+_0x486f0e[_0x2a0c3b(0x175)]+_0x2a0c3b(0x1b0)+_0x3f5e59[_0x2a0c3b(0x17d)]+_0x2a0c3b(0x17a)),logger[_0x2a0c3b(0x1a3)](_0x2a0c3b(0x17b),_0x2a0c3b(0x19d)+_0x13ab13['appCode']);}catch(_0x50d276){_0x2b26af=!![],console['log'](_0x2a0c3b(0x169)+CLI_BIN_NAME+_0x2a0c3b(0x167)),logger[_0x2a0c3b(0x1c3)](_0x2a0c3b(0x17b),_0x2a0c3b(0x150),{'error':_0x50d276 instanceof Error?_0x50d276[_0x2a0c3b(0x198)]:String(_0x50d276)});}finally{process[_0x2a0c3b(0x188)](_0x3d4165);}}if(_0x104e4c[_0x2a0c3b(0x1b4)]){if(!_0x4828b9||!_0x3903bb)throw new Error(_0x2a0c3b(0x16e));commitCurrentDirectoryProject(_0x52e649,_0x4828b9,_0x3903bb),_0x4828b9=null;}try{logger[_0x2a0c3b(0x165)](_0x52e649),logger[_0x2a0c3b(0x155)]('create',_0x2a0c3b(0x177)+_0x13ab13[_0x2a0c3b(0x14d)]);}catch(_0x199048){console[_0x2a0c3b(0x1c3)](_0x2a0c3b(0x193)+(_0x199048 instanceof Error?_0x199048[_0x2a0c3b(0x198)]:String(_0x199048)));}console[_0x2a0c3b(0x152)](),console[_0x2a0c3b(0x152)](a181_0x3d50ae[_0x2a0c3b(0x15a)]('─'[_0x2a0c3b(0x195)](0x3c))),console[_0x2a0c3b(0x152)](a181_0x3d50ae[_0x2a0c3b(0x18c)][_0x2a0c3b(0x1c2)]('🚀\x20Next\x20Steps:')),console['log']();const _0x38129e=_0x104e4c['currentDir']?CLI_BIN_NAME+'\x20run\x20start':'cd\x20'+_0x13ab13[_0x2a0c3b(0x14d)]+_0x2a0c3b(0x174)+CLI_BIN_NAME+_0x2a0c3b(0x158);console[_0x2a0c3b(0x152)](_0x2a0c3b(0x1ab)+a181_0x3d50ae[_0x2a0c3b(0x18c)][_0x2a0c3b(0x1c2)](_0x38129e)),_0x2b26af&&console[_0x2a0c3b(0x152)](_0x2a0c3b(0x1a7)+a181_0x3d50ae[_0x2a0c3b(0x18c)][_0x2a0c3b(0x1c2)](CLI_BIN_NAME+_0x2a0c3b(0x167))),console['log'](a181_0x3d50ae[_0x2a0c3b(0x15a)]('─'[_0x2a0c3b(0x195)](0x3c)));}catch(_0x597a93){logger['error'](_0x2a0c3b(0x17b),'Project\x20creation\x20failed:\x20'+_0x13ab13[_0x2a0c3b(0x14d)],{'error':_0x597a93 instanceof Error?_0x597a93[_0x2a0c3b(0x198)]:String(_0x597a93)});try{const _0xc1f3be=readDirectoryIdentity(_0x52e649);if(_0x104e4c[_0x2a0c3b(0x1b4)]&&_0x4828b9)a181_0x494a6f[_0x2a0c3b(0x192)](_0x4828b9,{'recursive':!![],'force':!![]});else{if(_0x83874e&&_0xc1f3be?.[_0x2a0c3b(0x15b)]===_0x83874e[_0x2a0c3b(0x15b)]&&_0xc1f3be[_0x2a0c3b(0x1a8)]===_0x83874e[_0x2a0c3b(0x1a8)])console['log']('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x52e649),a181_0x494a6f[_0x2a0c3b(0x192)](_0x52e649,{'recursive':!![],'force':!![]});else _0xc1f3be&&logger[_0x2a0c3b(0x1c3)](_0x2a0c3b(0x17b),_0x2a0c3b(0x19a)+_0x52e649);}}catch{logger['warn']('create',_0x2a0c3b(0x185)+_0x52e649);}throw _0x597a93;}}async function runTask(_0x9122ab,_0x170956,_0x147c72=_0x9122ab){const _0x5de6bd=a181_0x1488,_0x9f96e4=a181_0x4fb61c(_0x9122ab+'...')['start']();try{const _0x248106=await _0x170956(_0x18e7b3=>{const _0x2d3038=a181_0x1488;_0x9f96e4[_0x2d3038(0x19e)]=_0x18e7b3+_0x2d3038(0x1b2);});_0x9f96e4[_0x5de6bd(0x1ba)](),console['log'](''+a181_0x3d50ae[_0x5de6bd(0x15a)](_0x5de6bd(0x1bc))+_0x147c72+'\x20'+a181_0x3d50ae[_0x5de6bd(0x1b1)]('['+_0x248106+']'));}catch(_0x3f9f95){_0x9f96e4['fail'](_0x9122ab);throw _0x3f9f95;}}function projectTemplateStageLabel(_0x4e1c2b){const _0x2f948c=a181_0x1488;switch(_0x4e1c2b){case _0x2f948c(0x164):return _0x2f948c(0x189);case'downloading':return _0x2f948c(0x181);case'verifying':return _0x2f948c(0x184);case _0x2f948c(0x1af):return _0x2f948c(0x18d);case _0x2f948c(0x18b):return _0x2f948c(0x1a9);}}async function updatePackageJsonName(_0x5f20f1,_0x5a4877){const _0x559a0d=a181_0x1488,_0x2a674c=a181_0xb1949a[_0x559a0d(0x16b)](process['cwd'](),_0x5f20f1),_0x361edf=a181_0xb1949a[_0x559a0d(0x160)](_0x2a674c,_0x559a0d(0x19c));try{console[_0x559a0d(0x152)](_0x559a0d(0x173));const _0x538718=getRabetbaseCliPackageRoot(),_0x3de683=a181_0xb1949a[_0x559a0d(0x160)](_0x538718,_0x559a0d(0x19c));let _0x44155f=_0x559a0d(0x187);try{const _0x233b48=JSON['parse'](a181_0x494a6f['readFileSync'](_0x3de683,_0x559a0d(0x156)));_0x44155f=_0x233b48[_0x559a0d(0x1bb)]||_0x559a0d(0x187);}catch{}const _0x172fa8=a181_0x494a6f[_0x559a0d(0x163)](_0x361edf,_0x559a0d(0x156)),_0xa7a6d6=JSON['parse'](_0x172fa8);_0xa7a6d6['name']=_0x5a4877,_0xa7a6d6[_0x559a0d(0x1bd)]=_0x5a4877+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x44155f,a181_0x494a6f[_0x559a0d(0x197)](_0x361edf,JSON[_0x559a0d(0x1aa)](_0xa7a6d6,null,0x2)+'\x0a','utf8'),console['log'](_0x559a0d(0x176)+_0x5a4877),logger[_0x559a0d(0x1a3)](_0x559a0d(0x17b),'Updating\x20package.json\x20name');}catch(_0xb4d396){logger['error'](_0x559a0d(0x17b),_0x559a0d(0x14c));throw _0xb4d396;}}async function configureAppCode(_0x2a3527,_0x124922,_0x2385df,_0x466cae){const _0x27d9f2=a181_0x1488,_0x3c3ff3=a181_0xb1949a[_0x27d9f2(0x16b)](process[_0x27d9f2(0x1b7)](),_0x2a3527),_0x4d17a3=a181_0xb1949a[_0x27d9f2(0x160)](_0x3c3ff3,NEW_CONFIG_NAME);try{_0x2385df?console[_0x27d9f2(0x152)](_0x27d9f2(0x170)+_0x124922+':\x20'+_0x2385df):console[_0x27d9f2(0x152)](_0x27d9f2(0x191)+_0x124922);const _0xb92a8=getRabetbaseCliPackageRoot(),_0x30a979=a181_0xb1949a['join'](_0xb92a8,_0x27d9f2(0x19c));let _0xc576ce=_0x27d9f2(0x187);try{const _0x57eac0=JSON[_0x27d9f2(0x194)](a181_0x494a6f[_0x27d9f2(0x163)](_0x30a979,_0x27d9f2(0x156)));_0xc576ce=_0x57eac0[_0x27d9f2(0x1bb)]||_0x27d9f2(0x187);}catch{}const {globalConfig:_0x335b3e}=loadRawConfigLayers(),_0x4faf7c=typeof _0x335b3e[_0x27d9f2(0x1b6)]===_0x27d9f2(0x166)?_0x335b3e[_0x27d9f2(0x1b6)]:undefined,_0x1bfd6e={};for(const _0x449aa9 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x335b3e[_0x449aa9]!=null)_0x1bfd6e[_0x449aa9]=_0x335b3e[_0x449aa9];}const _0x1b117c=buildCanonicalProjectConfig(_0x1bfd6e,{'appCodes':_0x2385df?[_0x2385df]:[],'env':_0x466cae||_0x4faf7c||_0x27d9f2(0x17f),'metadata':{'createdAt':new Date()[_0x27d9f2(0x180)](),'version':_0xc576ce}});writeConfigFile(_0x4d17a3,_0x1b117c),await generateSdkConfigFile(a181_0xb1949a[_0x27d9f2(0x160)](_0x3c3ff3,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x3c3ff3),_0x2385df?console['log'](_0x27d9f2(0x154)+Object['keys'](_0x1b117c['apps']||{})['join'](',\x20')+_0x27d9f2(0x1b5)):console['log'](_0x27d9f2(0x1a2)+CLI_BIN_NAME+_0x27d9f2(0x1c0)),logger[_0x27d9f2(0x1a3)](_0x27d9f2(0x17b),_0x27d9f2(0x18e)+_0x2385df);}catch(_0x2a11cc){logger[_0x27d9f2(0x16d)](_0x27d9f2(0x17b),_0x27d9f2(0x19b));throw _0x2a11cc;}}
@@ -1 +1 @@
1
- function a169_0x4bf8(_0x59d3be,_0x5148ff){_0x59d3be=_0x59d3be-0x95;const _0x530ab2=a169_0x530a();let _0x4bf895=_0x530ab2[_0x59d3be];return _0x4bf895;}const a169_0x577b8f=a169_0x4bf8;(function(_0x3e9aec,_0x9d5f17){const _0x364d4f=a169_0x4bf8,_0x47c5bf=_0x3e9aec();while(!![]){try{const _0x50e0f9=parseInt(_0x364d4f(0xb2))/0x1*(parseInt(_0x364d4f(0xe7))/0x2)+parseInt(_0x364d4f(0xb6))/0x3+-parseInt(_0x364d4f(0xee))/0x4*(parseInt(_0x364d4f(0xfb))/0x5)+-parseInt(_0x364d4f(0xa1))/0x6+parseInt(_0x364d4f(0xb1))/0x7+-parseInt(_0x364d4f(0xbc))/0x8+parseInt(_0x364d4f(0xa3))/0x9;if(_0x50e0f9===_0x9d5f17)break;else _0x47c5bf['push'](_0x47c5bf['shift']());}catch(_0x4e6b9d){_0x47c5bf['push'](_0x47c5bf['shift']());}}}(a169_0x530a,0x9036a));import{createHash}from'node:crypto';import a169_0xbfaa02 from'node:fs/promises';import a169_0x573e7e from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x3bf139){const _0x3077de=a169_0x4bf8;return typeof _0x3bf139===_0x3077de(0xf8)&&_0x3bf139[_0x3077de(0x95)]()?_0x3bf139[_0x3077de(0x95)]():null;}function parseDescriptor(_0x10410e){const _0xe944a7=a169_0x4bf8;if(!_0x10410e||typeof _0x10410e!==_0xe944a7(0xdf))throw new Error('CDN\x20config\x20does\x20not\x20define\x20template\x20\x22'+TEMPLATE_ID+'\x22.');const _0xf4b132=_0x10410e,_0x5f561=nonEmptyString(_0xf4b132['version']),_0x1ad042=nonEmptyString(_0xf4b132[_0xe944a7(0xc9)]),_0x2dbf73=nonEmptyString(_0xf4b132[_0xe944a7(0xad)])?.[_0xe944a7(0xb7)](),_0x51f9a6=_0xf4b132['size'];if(!_0x5f561||!_0x1ad042||_0x1ad042!==a169_0x573e7e[_0xe944a7(0xc1)][_0xe944a7(0xae)](_0x1ad042)||_0x1ad042[_0xe944a7(0xf5)]('\x5c')||!_0x2dbf73||!/^sha256:[a-f0-9]{64}$/[_0xe944a7(0xac)](_0x2dbf73)||typeof _0x51f9a6!==_0xe944a7(0xe9)||!Number[_0xe944a7(0xf7)](_0x51f9a6)||_0x51f9a6<=0x0||_0x51f9a6>MAX_ARCHIVE_SIZE)throw new Error(_0xe944a7(0xd8)+TEMPLATE_ID+'\x22.');return{'version':_0x5f561,'name':_0x1ad042,'sha256':_0x2dbf73,'size':_0x51f9a6};}async function fetchWithTimeout(_0x33bec3,_0x4a1a38,_0x34c507,_0x18a19e){const _0x6db059=a169_0x4bf8,_0x258939=new AbortController(),_0x274e9a=setTimeout(()=>_0x258939[_0x6db059(0x100)](),_0x4a1a38);try{const _0x3cdcda=await fetch(_0x33bec3,{'headers':{'Accept':_0x34c507},'signal':_0x258939[_0x6db059(0xba)]});return await _0x18a19e(_0x3cdcda);}finally{clearTimeout(_0x274e9a);}}async function fetchTemplateDescriptor(){const _0x5e3bd3=a169_0x4bf8,_0x1f0e8a=await getRabetbaseCdnConfig();if(!_0x1f0e8a)throw new Error(_0x5e3bd3(0xdb));return parseDescriptor(_0x1f0e8a[_0x5e3bd3(0xd7)]);}function a169_0x530a(){const _0x4ee324=['CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','chmod','508JduwFR','copying','local','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','relative','extracting','package.json','includes','origin','isSafeInteger','string','Project\x20directory\x20already\x20exists:\x20','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','11225WHFtor','dist','ino','application/zip','protocol','abort','getReader','mkdtemp','trim','read','sha256:','cdn','project','.idea','push','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','.rabetbase-create-','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','readFile','message','5729358uYhEXf','ENOENT','13268286TeTFde','dev','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','isAbsolute','dirname','.git','length','headers','code','test','sha256','basename','downloading',',\x20received\x20','4503163vspaVs','3WVCymc','pathname','isDirectory','Invalid\x20local\x20template\x20source:\x20','2307057mJWWxV','toLowerCase','rename','.env.example','signal','cancel','8851384zbOfgc','Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.','writeFile','Project\x20template\x20package.json\x20is\x20invalid.','arrayBuffer','posix','utf8','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','Local\x20template\x20source\x20does\x20not\x20exist:\x20','startsWith','realpath','.rabetbase.json','hex','name','https:','Use\x20a\x20different\x20project\x20name.','join','node_modules','href','access','releaseLock','lstat','isSymbolicLink','version','from','parse','verifying','projectTemplate','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','Check\x20the\x20source\x20directory\x20and\x20retry.','concat','Rabetbase\x20CDN\x20config\x20is\x20unavailable.','.env.','validation','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','object','.codegraph','EEXIST','resolve','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','mkdir','size','resolving','33698ANJvvr','has','number','byteLength','update'];a169_0x530a=function(){return _0x4ee324;};return a169_0x530a();}function resolveArchiveUrl(_0x45d425){const _0x208ac5=a169_0x4bf8,_0x4ccd40=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x1cff93=new URL(_0x45d425,_0x4ccd40);if(_0x1cff93[_0x208ac5(0xff)]!==_0x208ac5(0xca)||_0x1cff93[_0x208ac5(0xf6)]!==_0x4ccd40['origin']||!_0x1cff93[_0x208ac5(0xb3)][_0x208ac5(0xc5)](_0x4ccd40['pathname']))throw new Error(_0x208ac5(0xec));return _0x1cff93[_0x208ac5(0xce)];}async function readResponseBytes(_0x221768,_0x3cb9e0){const _0x13e598=a169_0x4bf8;if(!_0x221768['body']){const _0x1055c6=Buffer['from'](await _0x221768[_0x13e598(0xc0)]());if(_0x1055c6[_0x13e598(0xa9)]>_0x3cb9e0)throw new Error(_0x13e598(0xe3));return _0x1055c6;}const _0x2579ce=_0x221768['body'][_0x13e598(0x101)](),_0xd56902=[];let _0x4769c9=0x0;try{while(!![]){const {done:_0x9d5d82,value:_0xde8bc6}=await _0x2579ce[_0x13e598(0x96)]();if(_0x9d5d82)break;_0x4769c9+=_0xde8bc6[_0x13e598(0xea)];if(_0x4769c9>_0x3cb9e0){await _0x2579ce[_0x13e598(0xbb)]();throw new Error('CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.');}_0xd56902[_0x13e598(0x9b)](Buffer[_0x13e598(0xd4)](_0xde8bc6));}}finally{_0x2579ce[_0x13e598(0xd0)]();}return Buffer[_0x13e598(0xda)](_0xd56902,_0x4769c9);}async function downloadArchive(_0x8c87d9,_0x42495d,_0x1cdeef){const _0x496ff2=a169_0x4bf8,_0x1af723=await fetchWithTimeout(resolveArchiveUrl(_0x8c87d9['name']),ARCHIVE_TIMEOUT_MS,_0x496ff2(0xfe),async _0x11f908=>{const _0x1bcd84=_0x496ff2;if(!_0x11f908['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x11f908['status']+'.');const _0x4eca6e=Number(_0x11f908[_0x1bcd84(0xaa)]['get']('content-length'));if(Number['isFinite'](_0x4eca6e)&&_0x4eca6e>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.');return readResponseBytes(_0x11f908,_0x8c87d9['size']);});if(_0x1af723['length']!==_0x8c87d9['size'])throw new Error(_0x496ff2(0xa5)+_0x8c87d9[_0x496ff2(0xe5)]+_0x496ff2(0xb0)+_0x1af723[_0x496ff2(0xa9)]+'.');_0x1cdeef?.(_0x496ff2(0xd6));const _0x2d3e9a=_0x496ff2(0x97)+createHash(_0x496ff2(0xad))[_0x496ff2(0xeb)](_0x1af723)['digest'](_0x496ff2(0xc8));if(_0x2d3e9a!==_0x8c87d9[_0x496ff2(0xad)])throw new Error(_0x496ff2(0x9c));await a169_0xbfaa02[_0x496ff2(0xbe)](_0x42495d,_0x1af723,{'flag':'wx'});}async function assertTemplateRoot(_0x21098c){const _0x49ff9e=a169_0x4bf8,_0x35c8e0=a169_0x573e7e[_0x49ff9e(0xcc)](_0x21098c,_0x49ff9e(0xf4)),_0x3a8835=JSON[_0x49ff9e(0xd5)](await a169_0xbfaa02[_0x49ff9e(0x9f)](_0x35c8e0,_0x49ff9e(0xc2)));if(!_0x3a8835||typeof _0x3a8835!==_0x49ff9e(0xdf))throw new Error(_0x49ff9e(0xbf));}const LOCAL_FORBIDDEN_NAMES=new Set(['.DS_Store',a169_0x577b8f(0xe0),a169_0x577b8f(0xa8),a169_0x577b8f(0x9a),'.lovrabet.json','.lovrabet.log','.rabetbase',a169_0x577b8f(0xc7),a169_0x577b8f(0xfc),a169_0x577b8f(0xcd)]);function isForbiddenTemplateEntry(_0x44b89a){const _0x47f304=a169_0x577b8f;if(LOCAL_FORBIDDEN_NAMES[_0x47f304(0xe8)](_0x44b89a))return!![];return _0x44b89a==='.env'||_0x44b89a[_0x47f304(0xc5)](_0x47f304(0xdc))&&_0x44b89a!==_0x47f304(0xb9);}function containsPath(_0x2a73a3,_0x43965a){const _0x3dbc78=a169_0x577b8f,_0x1fe683=a169_0x573e7e[_0x3dbc78(0xf2)](_0x2a73a3,_0x43965a);return _0x1fe683===''||!_0x1fe683[_0x3dbc78(0xc5)]('..'+a169_0x573e7e['sep'])&&_0x1fe683!=='..'&&!a169_0x573e7e[_0x3dbc78(0xa6)](_0x1fe683);}async function copyLocalTemplateDirectory(_0x502077,_0x56263f){const _0x33a883=a169_0x577b8f;await a169_0xbfaa02['mkdir'](_0x56263f,{'recursive':!![]});for(const _0x3c8b50 of await a169_0xbfaa02['readdir'](_0x502077,{'withFileTypes':!![]})){const _0x31d44e=a169_0x573e7e[_0x33a883(0xcc)](_0x502077,_0x3c8b50['name']),_0x40bf86=a169_0x573e7e[_0x33a883(0xcc)](_0x56263f,_0x3c8b50[_0x33a883(0xc9)]);if(isForbiddenTemplateEntry(_0x3c8b50[_0x33a883(0xc9)]))throw new Error('Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20'+_0x31d44e);const _0x5e2ad5=await a169_0xbfaa02[_0x33a883(0xd1)](_0x31d44e);if(_0x5e2ad5[_0x33a883(0xd2)]())throw new Error(_0x33a883(0xde)+_0x31d44e);if(_0x5e2ad5[_0x33a883(0xb4)]()){await copyLocalTemplateDirectory(_0x31d44e,_0x40bf86);continue;}if(!_0x5e2ad5['isFile']())continue;await a169_0xbfaa02['copyFile'](_0x31d44e,_0x40bf86),await a169_0xbfaa02[_0x33a883(0xed)](_0x40bf86,_0x5e2ad5['mode']&0x1ff);}}async function readTemplateVersion(_0x46708f){const _0x548c63=a169_0x577b8f,_0x431185=JSON['parse'](await a169_0xbfaa02[_0x548c63(0x9f)](a169_0x573e7e[_0x548c63(0xcc)](_0x46708f,_0x548c63(0xf4)),'utf8'));return nonEmptyString(_0x431185[_0x548c63(0xd3)])||_0x548c63(0xf0);}async function readDirectoryIdentity(_0x2bf59f){const _0x59ad37=a169_0x577b8f;try{const _0x4bf1c6=await a169_0xbfaa02[_0x59ad37(0xd1)](_0x2bf59f);if(!_0x4bf1c6['isDirectory']())return null;return{'dev':_0x4bf1c6[_0x59ad37(0xa4)],'ino':_0x4bf1c6[_0x59ad37(0xfd)]};}catch{return null;}}async function commitStagedProject(_0x598844,_0x5d48ba){const _0xabc1=a169_0x577b8f;await a169_0xbfaa02[_0xabc1(0xe4)](_0x5d48ba);const _0xaeb032=await readDirectoryIdentity(_0x5d48ba);if(!_0xaeb032)throw new Error('Unable\x20to\x20claim\x20the\x20project\x20directory.');try{for(const _0xb9b26e of await a169_0xbfaa02['readdir'](_0x598844)){await a169_0xbfaa02[_0xabc1(0xb8)](a169_0x573e7e[_0xabc1(0xcc)](_0x598844,_0xb9b26e),a169_0x573e7e['join'](_0x5d48ba,_0xb9b26e));}}catch(_0x291f20){const _0xc69ce3=await readDirectoryIdentity(_0x5d48ba);_0xc69ce3?.[_0xabc1(0xa4)]===_0xaeb032['dev']&&_0xc69ce3[_0xabc1(0xfd)]===_0xaeb032['ino']&&await a169_0xbfaa02['rm'](_0x5d48ba,{'recursive':!![],'force':!![]});throw _0x291f20;}}export async function materializeProjectTemplate(_0x4243b9,_0x484f8e){const _0x340fb4=a169_0x577b8f,_0x57b3dd=a169_0x573e7e[_0x340fb4(0xe2)](_0x4243b9),_0x31b542=a169_0x573e7e[_0x340fb4(0xa7)](_0x57b3dd);try{await a169_0xbfaa02[_0x340fb4(0xd1)](_0x57b3dd);throw new Error(_0x340fb4(0xf9)+_0x57b3dd);}catch(_0x2cca5c){if(_0x2cca5c['code']!==_0x340fb4(0xa2))throw _0x2cca5c;}const _0x3bca18=await a169_0xbfaa02['mkdtemp'](a169_0x573e7e[_0x340fb4(0xcc)](_0x31b542,_0x340fb4(0x9d))),_0x610c20=a169_0x573e7e[_0x340fb4(0xcc)](_0x3bca18,_0x340fb4(0x99)),_0x1fb186=a169_0x573e7e[_0x340fb4(0xcc)](_0x3bca18,'template.zip');try{try{_0x484f8e?.(_0x340fb4(0xe6));const _0x2d1851=await fetchTemplateDescriptor();return _0x484f8e?.(_0x340fb4(0xaf)),await downloadArchive(_0x2d1851,_0x1fb186,_0x484f8e),_0x484f8e?.(_0x340fb4(0xf3)),await extractProjectTemplateArchive(_0x1fb186,_0x610c20),await assertTemplateRoot(_0x610c20),await commitStagedProject(_0x610c20,_0x57b3dd),{'source':_0x340fb4(0x98),'version':_0x2d1851[_0x340fb4(0xd3)]};}catch(_0x49a704){if(_0x49a704[_0x340fb4(0xab)]===_0x340fb4(0xe1))throw CliErrors[_0x340fb4(0xdd)](_0x340fb4(0xf9)+_0x57b3dd,_0x340fb4(0xcb));const _0x5f3448=_0x49a704 instanceof Error?_0x49a704[_0x340fb4(0xa0)]:String(_0x49a704);throw CliErrors['validation'](_0x340fb4(0xc3),_0x340fb4(0xf1)+_0x5f3448);}}finally{await a169_0xbfaa02['rm'](_0x3bca18,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x5dd94f,_0x5cf775,_0x1e89dc){const _0xe1c1a=a169_0x577b8f;let _0x4234c3;try{_0x4234c3=await a169_0xbfaa02['realpath'](a169_0x573e7e[_0xe1c1a(0xe2)](_0x5dd94f));}catch{throw CliErrors[_0xe1c1a(0xdd)](_0xe1c1a(0xc4)+a169_0x573e7e[_0xe1c1a(0xe2)](_0x5dd94f),_0xe1c1a(0xbd));}const _0x23a8c9=await a169_0xbfaa02[_0xe1c1a(0xd1)](_0x4234c3);if(!_0x23a8c9['isDirectory']())throw CliErrors[_0xe1c1a(0xdd)](_0xe1c1a(0xfa)+_0x4234c3);const _0x21da5b=a169_0x573e7e[_0xe1c1a(0xe2)](_0x5cf775),_0x6d967c=await a169_0xbfaa02[_0xe1c1a(0xc6)](a169_0x573e7e[_0xe1c1a(0xa7)](_0x21da5b)),_0x2271fc=a169_0x573e7e[_0xe1c1a(0xcc)](_0x6d967c,a169_0x573e7e['basename'](_0x21da5b));if(containsPath(_0x4234c3,_0x2271fc)||containsPath(_0x2271fc,_0x4234c3))throw CliErrors[_0xe1c1a(0xdd)]('Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.',_0xe1c1a(0x9e));try{await a169_0xbfaa02[_0xe1c1a(0xd1)](_0x2271fc);throw CliErrors[_0xe1c1a(0xdd)]('Project\x20directory\x20already\x20exists:\x20'+_0x2271fc,'Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.');}catch(_0x2c8b26){if(_0x2c8b26[_0xe1c1a(0xab)]!==_0xe1c1a(0xa2))throw _0x2c8b26;}const _0x17d87d=a169_0x573e7e[_0xe1c1a(0xa7)](_0x2271fc);await a169_0xbfaa02[_0xe1c1a(0xcf)](_0x17d87d);const _0x262203=await a169_0xbfaa02[_0xe1c1a(0x102)](a169_0x573e7e[_0xe1c1a(0xcc)](_0x17d87d,_0xe1c1a(0x9d))),_0x2ef396=a169_0x573e7e['join'](_0x262203,'project');try{_0x1e89dc?.(_0xe1c1a(0xef)),await copyLocalTemplateDirectory(_0x4234c3,_0x2ef396),await assertTemplateRoot(_0x2ef396);const _0x6656d0=await readTemplateVersion(_0x2ef396);return await commitStagedProject(_0x2ef396,_0x2271fc),{'source':_0xe1c1a(0xf0),'version':_0x6656d0};}catch(_0x126263){const _0x14ac7b=_0x126263 instanceof Error?_0x126263[_0xe1c1a(0xa0)]:String(_0x126263);throw CliErrors['validation'](_0xe1c1a(0xb5)+_0x14ac7b,_0xe1c1a(0xd9));}finally{await a169_0xbfaa02['rm'](_0x262203,{'recursive':!![],'force':!![]});}}
1
+ const a182_0x55e557=a182_0x3212;(function(_0x22f9e1,_0x1d1a01){const _0x36cd03=a182_0x3212,_0x22d1e4=_0x22f9e1();while(!![]){try{const _0x1ccf97=-parseInt(_0x36cd03(0x165))/0x1*(parseInt(_0x36cd03(0x175))/0x2)+parseInt(_0x36cd03(0x197))/0x3+-parseInt(_0x36cd03(0x195))/0x4+parseInt(_0x36cd03(0x142))/0x5+parseInt(_0x36cd03(0x19c))/0x6+-parseInt(_0x36cd03(0x160))/0x7*(parseInt(_0x36cd03(0x145))/0x8)+parseInt(_0x36cd03(0x19d))/0x9;if(_0x1ccf97===_0x1d1a01)break;else _0x22d1e4['push'](_0x22d1e4['shift']());}catch(_0x13abba){_0x22d1e4['push'](_0x22d1e4['shift']());}}}(a182_0x4cea,0x79518));import{createHash}from'node:crypto';import a182_0x1996ba from'node:fs/promises';import a182_0x4b327b from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x47df0a){const _0x1d55cc=a182_0x3212;return typeof _0x47df0a==='string'&&_0x47df0a[_0x1d55cc(0x13b)]()?_0x47df0a[_0x1d55cc(0x13b)]():null;}function parseDescriptor(_0x52918c){const _0x5d4c04=a182_0x3212;if(!_0x52918c||typeof _0x52918c!==_0x5d4c04(0x139))throw new Error(_0x5d4c04(0x13c)+TEMPLATE_ID+'\x22.');const _0x487699=_0x52918c,_0x199500=nonEmptyString(_0x487699[_0x5d4c04(0x19f)]),_0x5bb01c=nonEmptyString(_0x487699['name']),_0x3180f9=nonEmptyString(_0x487699[_0x5d4c04(0x1aa)])?.[_0x5d4c04(0x1a6)](),_0x23fc61=_0x487699['size'];if(!_0x199500||!_0x5bb01c||_0x5bb01c!==a182_0x4b327b[_0x5d4c04(0x15b)][_0x5d4c04(0x1a0)](_0x5bb01c)||_0x5bb01c[_0x5d4c04(0x194)]('\x5c')||!_0x3180f9||!/^sha256:[a-f0-9]{64}$/[_0x5d4c04(0x181)](_0x3180f9)||typeof _0x23fc61!=='number'||!Number[_0x5d4c04(0x18f)](_0x23fc61)||_0x23fc61<=0x0||_0x23fc61>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22'+TEMPLATE_ID+'\x22.');return{'version':_0x199500,'name':_0x5bb01c,'sha256':_0x3180f9,'size':_0x23fc61};}async function fetchWithTimeout(_0x3dfa88,_0x51483d,_0x40abf4,_0x1cacdf){const _0x2cdb93=a182_0x3212,_0x21eb37=new AbortController(),_0x4042d7=setTimeout(()=>_0x21eb37[_0x2cdb93(0x196)](),_0x51483d);try{const _0x4f0c83=await fetch(_0x3dfa88,{'headers':{'Accept':_0x40abf4},'signal':_0x21eb37['signal']});return await _0x1cacdf(_0x4f0c83);}finally{clearTimeout(_0x4042d7);}}async function fetchTemplateDescriptor(){const _0x261de1=a182_0x3212,_0x47478e=await getRabetbaseCdnConfig();if(!_0x47478e)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');return parseDescriptor(_0x47478e[_0x261de1(0x149)]);}function resolveArchiveUrl(_0x1493b0){const _0x1cdf80=a182_0x3212,_0x437038=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x4c5bb4=new URL(_0x1493b0,_0x437038);if(_0x4c5bb4[_0x1cdf80(0x140)]!=='https:'||_0x4c5bb4[_0x1cdf80(0x186)]!==_0x437038[_0x1cdf80(0x186)]||!_0x4c5bb4['pathname'][_0x1cdf80(0x192)](_0x437038[_0x1cdf80(0x178)]))throw new Error(_0x1cdf80(0x146));return _0x4c5bb4[_0x1cdf80(0x13e)];}async function readResponseBytes(_0xb07f76,_0x1eca71){const _0x1319f5=a182_0x3212;if(!_0xb07f76[_0x1319f5(0x14d)]){const _0x117b9f=Buffer['from'](await _0xb07f76[_0x1319f5(0x193)]());if(_0x117b9f[_0x1319f5(0x14b)]>_0x1eca71)throw new Error(_0x1319f5(0x158));return _0x117b9f;}const _0xeb2557=_0xb07f76['body']['getReader'](),_0x52c701=[];let _0x288fb6=0x0;try{while(!![]){const {done:_0x10889a,value:_0xa85c84}=await _0xeb2557[_0x1319f5(0x16a)]();if(_0x10889a)break;_0x288fb6+=_0xa85c84[_0x1319f5(0x151)];if(_0x288fb6>_0x1eca71){await _0xeb2557[_0x1319f5(0x1a9)]();throw new Error(_0x1319f5(0x158));}_0x52c701[_0x1319f5(0x14e)](Buffer[_0x1319f5(0x18a)](_0xa85c84));}}finally{_0xeb2557['releaseLock']();}return Buffer[_0x1319f5(0x190)](_0x52c701,_0x288fb6);}async function downloadArchive(_0x5bfa06,_0x33fabd,_0x36f807){const _0xa7e9e4=a182_0x3212,_0x441de7=await fetchWithTimeout(resolveArchiveUrl(_0x5bfa06[_0xa7e9e4(0x198)]),ARCHIVE_TIMEOUT_MS,_0xa7e9e4(0x152),async _0x191881=>{const _0x3e670f=_0xa7e9e4;if(!_0x191881['ok'])throw new Error(_0x3e670f(0x170)+_0x191881[_0x3e670f(0x180)]+'.');const _0x1d4039=Number(_0x191881['headers'][_0x3e670f(0x176)](_0x3e670f(0x18c)));if(Number[_0x3e670f(0x1a3)](_0x1d4039)&&_0x1d4039>MAX_ARCHIVE_SIZE)throw new Error(_0x3e670f(0x184));return readResponseBytes(_0x191881,_0x5bfa06['size']);});if(_0x441de7['length']!==_0x5bfa06[_0xa7e9e4(0x17e)])throw new Error(_0xa7e9e4(0x14a)+_0x5bfa06['size']+_0xa7e9e4(0x1a5)+_0x441de7['length']+'.');_0x36f807?.(_0xa7e9e4(0x14c));const _0x717973='sha256:'+createHash('sha256')[_0xa7e9e4(0x13f)](_0x441de7)['digest'](_0xa7e9e4(0x199));if(_0x717973!==_0x5bfa06[_0xa7e9e4(0x1aa)])throw new Error(_0xa7e9e4(0x189));await a182_0x1996ba[_0xa7e9e4(0x141)](_0x33fabd,_0x441de7,{'flag':'wx'});}function a182_0x4cea(){const _0x2de85a=['3679716BrNQgr','abort','1749786blqKAD','name','hex','dev','downloading','2784492PjKUAZ','5330241mWxBPD','.codegraph','version','basename','relative','Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.','isFinite','chmod',',\x20received\x20','toLowerCase','mode','.env.example','cancel','sha256','isFile','ino','object','project','trim','CDN\x20config\x20does\x20not\x20define\x20template\x20\x22','.env','href','update','protocol','writeFile','2333910ZqjATG','isSymbolicLink','.DS_Store','12016RnfBQs','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','code','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','projectTemplate','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','length','verifying','body','push','extracting','.lovrabet.log','byteLength','application/zip','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','copyFile','has','local','.rabetbase.json','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','.lovrabet.json','resolve','posix','readFile','mkdir','EEXIST','lstat','1302KcgsHC','.idea','.env.','ENOENT','dirname','410154TBLmtT','sep','utf8','node_modules','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','read','cdn','Project\x20template\x20package.json\x20is\x20invalid.','Project\x20directory\x20already\x20exists:\x20','Check\x20the\x20source\x20directory\x20and\x20retry.','Unable\x20to\x20claim\x20the\x20project\x20directory.','CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','Use\x20a\x20different\x20project\x20name.','Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.','Invalid\x20local\x20template\x20source:\x20','2urECXG','get','.rabetbase','pathname','isDirectory','join','template.zip','realpath','.rabetbase-create-','size','dist','status','test','parse','message','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','origin','validation','readdir','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','from','Local\x20template\x20source\x20does\x20not\x20exist:\x20','content-length','copying','resolving','isSafeInteger','concat','Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20','startsWith','arrayBuffer','includes'];a182_0x4cea=function(){return _0x2de85a;};return a182_0x4cea();}async function assertTemplateRoot(_0xe83c39){const _0x1072e0=a182_0x3212,_0x470be5=a182_0x4b327b[_0x1072e0(0x17a)](_0xe83c39,'package.json'),_0xe113d6=JSON[_0x1072e0(0x182)](await a182_0x1996ba[_0x1072e0(0x15c)](_0x470be5,_0x1072e0(0x167)));if(!_0xe113d6||typeof _0xe113d6!=='object')throw new Error(_0x1072e0(0x16c));}const LOCAL_FORBIDDEN_NAMES=new Set([a182_0x55e557(0x144),a182_0x55e557(0x19e),'.git',a182_0x55e557(0x161),a182_0x55e557(0x159),a182_0x55e557(0x150),a182_0x55e557(0x177),a182_0x55e557(0x157),a182_0x55e557(0x17f),a182_0x55e557(0x168)]);function isForbiddenTemplateEntry(_0x53377f){const _0x5b7926=a182_0x55e557;if(LOCAL_FORBIDDEN_NAMES[_0x5b7926(0x155)](_0x53377f))return!![];return _0x53377f===_0x5b7926(0x13d)||_0x53377f[_0x5b7926(0x192)](_0x5b7926(0x162))&&_0x53377f!==_0x5b7926(0x1a8);}function containsPath(_0x590fb2,_0xd9cf7a){const _0x3cb04b=a182_0x55e557,_0x3ee1d6=a182_0x4b327b[_0x3cb04b(0x1a1)](_0x590fb2,_0xd9cf7a);return _0x3ee1d6===''||!_0x3ee1d6['startsWith']('..'+a182_0x4b327b[_0x3cb04b(0x166)])&&_0x3ee1d6!=='..'&&!a182_0x4b327b['isAbsolute'](_0x3ee1d6);}function a182_0x3212(_0x1c493c,_0x5d1867){_0x1c493c=_0x1c493c-0x137;const _0x4cea4a=a182_0x4cea();let _0x32122f=_0x4cea4a[_0x1c493c];return _0x32122f;}async function copyLocalTemplateDirectory(_0x4851ba,_0x4d24cd){const _0x40f552=a182_0x55e557;await a182_0x1996ba[_0x40f552(0x15d)](_0x4d24cd,{'recursive':!![]});for(const _0x2c4ae4 of await a182_0x1996ba[_0x40f552(0x188)](_0x4851ba,{'withFileTypes':!![]})){const _0x5e3575=a182_0x4b327b[_0x40f552(0x17a)](_0x4851ba,_0x2c4ae4['name']),_0x3a859d=a182_0x4b327b[_0x40f552(0x17a)](_0x4d24cd,_0x2c4ae4[_0x40f552(0x198)]);if(isForbiddenTemplateEntry(_0x2c4ae4[_0x40f552(0x198)]))throw new Error(_0x40f552(0x191)+_0x5e3575);const _0x541eb5=await a182_0x1996ba[_0x40f552(0x15f)](_0x5e3575);if(_0x541eb5[_0x40f552(0x143)]())throw new Error(_0x40f552(0x171)+_0x5e3575);if(_0x541eb5[_0x40f552(0x179)]()){await copyLocalTemplateDirectory(_0x5e3575,_0x3a859d);continue;}if(!_0x541eb5[_0x40f552(0x137)]())continue;await a182_0x1996ba[_0x40f552(0x154)](_0x5e3575,_0x3a859d),await a182_0x1996ba[_0x40f552(0x1a4)](_0x3a859d,_0x541eb5[_0x40f552(0x1a7)]&0x1ff);}}async function readTemplateVersion(_0x2e48ee){const _0x5bbbb4=a182_0x55e557,_0x38144b=JSON[_0x5bbbb4(0x182)](await a182_0x1996ba[_0x5bbbb4(0x15c)](a182_0x4b327b[_0x5bbbb4(0x17a)](_0x2e48ee,'package.json'),_0x5bbbb4(0x167)));return nonEmptyString(_0x38144b[_0x5bbbb4(0x19f)])||_0x5bbbb4(0x156);}async function readDirectoryIdentity(_0x2f0930){const _0x593336=a182_0x55e557;try{const _0x471ea6=await a182_0x1996ba[_0x593336(0x15f)](_0x2f0930);if(!_0x471ea6[_0x593336(0x179)]())return null;return{'dev':_0x471ea6['dev'],'ino':_0x471ea6['ino']};}catch{return null;}}async function commitStagedProject(_0xd31d04,_0x152baa){const _0x58c4d7=a182_0x55e557;await a182_0x1996ba['mkdir'](_0x152baa);const _0xe4ebaf=await readDirectoryIdentity(_0x152baa);if(!_0xe4ebaf)throw new Error(_0x58c4d7(0x16f));try{for(const _0x2f651d of await a182_0x1996ba['readdir'](_0xd31d04)){await a182_0x1996ba['rename'](a182_0x4b327b[_0x58c4d7(0x17a)](_0xd31d04,_0x2f651d),a182_0x4b327b[_0x58c4d7(0x17a)](_0x152baa,_0x2f651d));}}catch(_0x491a2a){const _0x32044a=await readDirectoryIdentity(_0x152baa);_0x32044a?.[_0x58c4d7(0x19a)]===_0xe4ebaf[_0x58c4d7(0x19a)]&&_0x32044a['ino']===_0xe4ebaf[_0x58c4d7(0x138)]&&await a182_0x1996ba['rm'](_0x152baa,{'recursive':!![],'force':!![]});throw _0x491a2a;}}export async function materializeProjectTemplate(_0x3b49ef,_0x30a9d4){const _0x3a6262=a182_0x55e557,_0x55dccd=a182_0x4b327b['resolve'](_0x3b49ef),_0x23eeb7=a182_0x4b327b[_0x3a6262(0x164)](_0x55dccd);try{await a182_0x1996ba[_0x3a6262(0x15f)](_0x55dccd);throw new Error(_0x3a6262(0x16d)+_0x55dccd);}catch(_0x2e03f8){if(_0x2e03f8[_0x3a6262(0x147)]!==_0x3a6262(0x163))throw _0x2e03f8;}const _0x5e8c67=await a182_0x1996ba['mkdtemp'](a182_0x4b327b[_0x3a6262(0x17a)](_0x23eeb7,'.rabetbase-create-')),_0x4adafd=a182_0x4b327b['join'](_0x5e8c67,_0x3a6262(0x13a)),_0x382bec=a182_0x4b327b[_0x3a6262(0x17a)](_0x5e8c67,_0x3a6262(0x17b));try{try{_0x30a9d4?.(_0x3a6262(0x18e));const _0x7461fa=await fetchTemplateDescriptor();return _0x30a9d4?.(_0x3a6262(0x19b)),await downloadArchive(_0x7461fa,_0x382bec,_0x30a9d4),_0x30a9d4?.(_0x3a6262(0x14f)),await extractProjectTemplateArchive(_0x382bec,_0x4adafd),await assertTemplateRoot(_0x4adafd),await commitStagedProject(_0x4adafd,_0x55dccd),{'source':_0x3a6262(0x16b),'version':_0x7461fa[_0x3a6262(0x19f)]};}catch(_0x335b24){if(_0x335b24[_0x3a6262(0x147)]===_0x3a6262(0x15e))throw CliErrors[_0x3a6262(0x187)]('Project\x20directory\x20already\x20exists:\x20'+_0x55dccd,_0x3a6262(0x172));const _0x5a92cc=_0x335b24 instanceof Error?_0x335b24[_0x3a6262(0x183)]:String(_0x335b24);throw CliErrors[_0x3a6262(0x187)](_0x3a6262(0x153),_0x3a6262(0x169)+_0x5a92cc);}}finally{await a182_0x1996ba['rm'](_0x5e8c67,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x4c19b0,_0x1e4d63,_0x448441){const _0x152255=a182_0x55e557;let _0x17c521;try{_0x17c521=await a182_0x1996ba[_0x152255(0x17c)](a182_0x4b327b[_0x152255(0x15a)](_0x4c19b0));}catch{throw CliErrors['validation'](_0x152255(0x18b)+a182_0x4b327b[_0x152255(0x15a)](_0x4c19b0),'Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.');}const _0x2ae96f=await a182_0x1996ba['lstat'](_0x17c521);if(!_0x2ae96f[_0x152255(0x179)]())throw CliErrors['validation'](_0x152255(0x148)+_0x17c521);const _0x5c71a3=a182_0x4b327b[_0x152255(0x15a)](_0x1e4d63),_0x1fa002=await a182_0x1996ba['realpath'](a182_0x4b327b[_0x152255(0x164)](_0x5c71a3)),_0x2a0bf2=a182_0x4b327b[_0x152255(0x17a)](_0x1fa002,a182_0x4b327b[_0x152255(0x1a0)](_0x5c71a3));if(containsPath(_0x17c521,_0x2a0bf2)||containsPath(_0x2a0bf2,_0x17c521))throw CliErrors[_0x152255(0x187)](_0x152255(0x1a2),_0x152255(0x185));try{await a182_0x1996ba[_0x152255(0x15f)](_0x2a0bf2);throw CliErrors[_0x152255(0x187)]('Project\x20directory\x20already\x20exists:\x20'+_0x2a0bf2,_0x152255(0x173));}catch(_0x47203a){if(_0x47203a['code']!==_0x152255(0x163))throw _0x47203a;}const _0x22f51a=a182_0x4b327b[_0x152255(0x164)](_0x2a0bf2);await a182_0x1996ba['access'](_0x22f51a);const _0x15ac14=await a182_0x1996ba['mkdtemp'](a182_0x4b327b[_0x152255(0x17a)](_0x22f51a,_0x152255(0x17d))),_0x1c2ae1=a182_0x4b327b[_0x152255(0x17a)](_0x15ac14,'project');try{_0x448441?.(_0x152255(0x18d)),await copyLocalTemplateDirectory(_0x17c521,_0x1c2ae1),await assertTemplateRoot(_0x1c2ae1);const _0x15ed2a=await readTemplateVersion(_0x1c2ae1);return await commitStagedProject(_0x1c2ae1,_0x2a0bf2),{'source':_0x152255(0x156),'version':_0x15ed2a};}catch(_0x570778){const _0x4d8437=_0x570778 instanceof Error?_0x570778[_0x152255(0x183)]:String(_0x570778);throw CliErrors['validation'](_0x152255(0x174)+_0x4d8437,_0x152255(0x16e));}finally{await a182_0x1996ba['rm'](_0x15ac14,{'recursive':!![],'force':!![]});}}
@@ -1 +1 @@
1
- (function(_0x50f37e,_0x53e3c0){const _0x176ab0=a170_0x27a5,_0x542d12=_0x50f37e();while(!![]){try{const _0x2c1bd1=-parseInt(_0x176ab0(0x148))/0x1+-parseInt(_0x176ab0(0x14e))/0x2*(parseInt(_0x176ab0(0x153))/0x3)+parseInt(_0x176ab0(0x147))/0x4+parseInt(_0x176ab0(0x149))/0x5+-parseInt(_0x176ab0(0x145))/0x6+-parseInt(_0x176ab0(0x152))/0x7*(-parseInt(_0x176ab0(0x14d))/0x8)+-parseInt(_0x176ab0(0x150))/0x9;if(_0x2c1bd1===_0x53e3c0)break;else _0x542d12['push'](_0x542d12['shift']());}catch(_0x165a71){_0x542d12['push'](_0x542d12['shift']());}}}(a170_0x4c98,0xe51ff));import{CliErrors}from'../../../errors.js';const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;export function getProjectNameValidationError(_0xf62dd7){const _0x227a9d=a170_0x27a5,_0x5e3627=_0xf62dd7[_0x227a9d(0x14c)]();if(!_0x5e3627)return'Project\x20name\x20cannot\x20be\x20empty';if(_0x5e3627['length']>MAX_PROJECT_NAME_LENGTH)return _0x227a9d(0x144)+MAX_PROJECT_NAME_LENGTH+_0x227a9d(0x146);if(!PROJECT_NAME_PATTERN[_0x227a9d(0x14f)](_0x5e3627))return _0x227a9d(0x14a);if(WINDOWS_RESERVED_NAME[_0x227a9d(0x14f)](_0x5e3627))return'Project\x20name\x20\x22'+_0x5e3627+_0x227a9d(0x151);return null;}function a170_0x4c98(){const _0x81e0f2=['537598qshfPd','6695230GbwMQx','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','validation','trim','8wMcapz','171842oLUpKH','test','4808358kzEstF','\x22\x20is\x20reserved\x20on\x20Windows','11635428eILzSz','12wNKtwh','Project\x20name\x20cannot\x20exceed\x20','4166232WITbHg','\x20characters','188644QeLDEl'];a170_0x4c98=function(){return _0x81e0f2;};return a170_0x4c98();}function a170_0x27a5(_0x26085b,_0x13b6d7){_0x26085b=_0x26085b-0x144;const _0x4c98e4=a170_0x4c98();let _0x27a5b1=_0x4c98e4[_0x26085b];return _0x27a5b1;}export function validateProjectName(_0x365852){const _0x4569d1=a170_0x27a5,_0x523a41=_0x365852['trim'](),_0x3b0fbc=getProjectNameValidationError(_0x523a41);if(_0x3b0fbc)throw CliErrors[_0x4569d1(0x14b)](_0x3b0fbc,'Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.');return _0x523a41;}
1
+ (function(_0x409938,_0x1efaa0){const _0x2fc6fd=a183_0xdf30,_0x2011ea=_0x409938();while(!![]){try{const _0x325814=-parseInt(_0x2fc6fd(0x97))/0x1*(-parseInt(_0x2fc6fd(0x9b))/0x2)+-parseInt(_0x2fc6fd(0x91))/0x3*(parseInt(_0x2fc6fd(0x92))/0x4)+parseInt(_0x2fc6fd(0xa5))/0x5*(-parseInt(_0x2fc6fd(0x98))/0x6)+parseInt(_0x2fc6fd(0x9a))/0x7*(-parseInt(_0x2fc6fd(0x9d))/0x8)+parseInt(_0x2fc6fd(0x9e))/0x9+parseInt(_0x2fc6fd(0x93))/0xa*(-parseInt(_0x2fc6fd(0x94))/0xb)+-parseInt(_0x2fc6fd(0xa4))/0xc*(-parseInt(_0x2fc6fd(0x95))/0xd);if(_0x325814===_0x1efaa0)break;else _0x2011ea['push'](_0x2011ea['shift']());}catch(_0x34d71a){_0x2011ea['push'](_0x2011ea['shift']());}}}(a183_0x3b0c,0xd7da1));function a183_0xdf30(_0x1a89ea,_0x3f1d80){_0x1a89ea=_0x1a89ea-0x91;const _0x3b0c05=a183_0x3b0c();let _0xdf304b=_0x3b0c05[_0x1a89ea];return _0xdf304b;}function a183_0x3b0c(){const _0x3882fd=['10534643MXuOdF','277318jeXceM','validation','8zGVTbn','2795409KZjsJo','\x22\x20is\x20reserved\x20on\x20Windows','Project\x20name\x20cannot\x20exceed\x20','length','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','test','2820OjWCOX','5581685njQAii','3wncpTr','4483592HvXYTq','110KOeDPG','79981bYrDPm','227825hhRYjd','\x20characters','2fKnxEq','6xGVvfb','Project\x20name\x20cannot\x20be\x20empty'];a183_0x3b0c=function(){return _0x3882fd;};return a183_0x3b0c();}import{CliErrors}from'../../../errors.js';const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;export function getProjectNameValidationError(_0x5310d3){const _0x638caa=a183_0xdf30,_0x467acc=_0x5310d3['trim']();if(!_0x467acc)return _0x638caa(0x99);if(_0x467acc[_0x638caa(0xa1)]>MAX_PROJECT_NAME_LENGTH)return _0x638caa(0xa0)+MAX_PROJECT_NAME_LENGTH+_0x638caa(0x96);if(!PROJECT_NAME_PATTERN[_0x638caa(0xa3)](_0x467acc))return _0x638caa(0xa2);if(WINDOWS_RESERVED_NAME[_0x638caa(0xa3)](_0x467acc))return'Project\x20name\x20\x22'+_0x467acc+_0x638caa(0x9f);return null;}export function validateProjectName(_0x4a8f9f){const _0x433670=a183_0xdf30,_0x7ea929=_0x4a8f9f['trim'](),_0x1b492b=getProjectNameValidationError(_0x7ea929);if(_0x1b492b)throw CliErrors[_0x433670(0x9c)](_0x1b492b,'Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.');return _0x7ea929;}
@@ -1 +1 @@
1
- (function(_0x22d4e2,_0x16fa84){const _0x48f012=a171_0x36b5,_0x32e9d7=_0x22d4e2();while(!![]){try{const _0x13cc75=-parseInt(_0x48f012(0x12a))/0x1*(parseInt(_0x48f012(0x137))/0x2)+-parseInt(_0x48f012(0x13e))/0x3+parseInt(_0x48f012(0x12d))/0x4+parseInt(_0x48f012(0x13d))/0x5*(parseInt(_0x48f012(0x139))/0x6)+-parseInt(_0x48f012(0x14d))/0x7+parseInt(_0x48f012(0x153))/0x8+parseInt(_0x48f012(0x124))/0x9;if(_0x13cc75===_0x16fa84)break;else _0x32e9d7['push'](_0x32e9d7['shift']());}catch(_0x129794){_0x32e9d7['push'](_0x32e9d7['shift']());}}}(a171_0x3d2f,0xc8fed));import{createWriteStream}from'node:fs';import a171_0x31cca6 from'node:fs/promises';import a171_0x1521aa from'node:path';import{pipeline}from'node:stream/promises';import a171_0x87b283 from'yauzl';function a171_0x36b5(_0x26bc70,_0x387db4){_0x26bc70=_0x26bc70-0x123;const _0x3d2f73=a171_0x3d2f();let _0x36b5de=_0x3d2f73[_0x26bc70];return _0x36b5de;}const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function a171_0x3d2f(){const _0x34f54a=['7027176skSqCC','sep','4725801hvAXZG','startsWith','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','externalFileAttributes','Unable\x20to\x20open\x20project\x20template\x20archive.','10KLepQs','toLocaleLowerCase','get','3046144CyijaI','endsWith','uncompressedSize','catch','readEntry','Unable\x20to\x20read\x20ZIP\x20entry:\x20','en-US','split','Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20','once','195942OuFBQj','add','871728rmomtS','join','dirname','resolve','25hqMNiw','3029538wnnjIk','Case-conflicting\x20ZIP\x20entry\x20path:\x20','has','close','slice','length','test','end','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','entry','fileName','mkdir','error','Project\x20template\x20ZIP\x20exceeds\x20','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','550403NLRVpd','replace','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','\x20entries.','isEncrypted','open'];a171_0x3d2f=function(){return _0x34f54a;};return a171_0x3d2f();}function openZip(_0x31864d){return new Promise((_0x460bf8,_0x100ee9)=>{const _0x441cd4=a171_0x36b5;a171_0x87b283[_0x441cd4(0x152)](_0x31864d,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x423424,_0x2bd170)=>{const _0xaddcde=_0x441cd4;if(_0x423424||!_0x2bd170){_0x100ee9(_0x423424||new Error(_0xaddcde(0x129)));return;}_0x460bf8(_0x2bd170);});});}function openEntryStream(_0x418c26,_0x185e30){return new Promise((_0x1c735c,_0x3aa7ae)=>{_0x418c26['openReadStream'](_0x185e30,(_0xaf9789,_0x257ce9)=>{const _0xae955e=a171_0x36b5;if(_0xaf9789||!_0x257ce9){_0x3aa7ae(_0xaf9789||new Error(_0xae955e(0x132)+_0x185e30[_0xae955e(0x148)]));return;}_0x1c735c(_0x257ce9);});});}function validateEntryPath(_0x22e3d8){const _0x5f5a6e=a171_0x36b5,_0x444c76=_0x22e3d8[_0x5f5a6e(0x14e)](/\\/g,'/'),_0x37872b=_0x444c76['endsWith']('/'),_0x2302d7=_0x37872b?_0x444c76[_0x5f5a6e(0x142)](0x0,-0x1):_0x444c76;if(!_0x2302d7||_0x444c76[_0x5f5a6e(0x125)]('/')||/^[A-Za-z]:\//['test'](_0x444c76))throw new Error('Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20'+_0x22e3d8);const _0x3fb5e6=_0x2302d7[_0x5f5a6e(0x134)]('/');for(const _0xfd53bf of _0x3fb5e6){if(!_0xfd53bf||_0xfd53bf==='.'||_0xfd53bf==='..'||_0xfd53bf[_0x5f5a6e(0x12e)]('.')||_0xfd53bf[_0x5f5a6e(0x12e)]('\x20')||WINDOWS_INVALID_CHAR[_0x5f5a6e(0x144)](_0xfd53bf)||WINDOWS_RESERVED_NAME[_0x5f5a6e(0x144)](_0xfd53bf))throw new Error(_0x5f5a6e(0x14f)+_0x22e3d8);}return{'relativePath':_0x3fb5e6[_0x5f5a6e(0x13a)](a171_0x1521aa[_0x5f5a6e(0x123)]),'directory':_0x37872b};}function isSymbolicLink(_0x27b7e0){const _0x44f778=a171_0x36b5,_0x527d0a=_0x27b7e0[_0x44f778(0x128)]>>>0x10&0xffff;return(_0x527d0a&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0xd4bf4,_0x2e9a4e){const _0x28e247=a171_0x36b5,_0x1c445a=await openZip(_0xd4bf4),_0x28982e=a171_0x1521aa[_0x28e247(0x13c)](_0x2e9a4e),_0x39dfe0=new Set(),_0xe7764e=new Map();let _0x116cbf=0x0,_0x3b0553=0x0;await a171_0x31cca6[_0x28e247(0x149)](_0x28982e,{'recursive':!![]}),await new Promise((_0x21c4b2,_0x5d2fce)=>{const _0x114eab=_0x28e247;let _0x45d5ea=![];const _0x412a0=_0x2426a2=>{const _0x1b1b0e=a171_0x36b5;if(_0x45d5ea)return;_0x45d5ea=!![],_0x1c445a[_0x1b1b0e(0x141)](),_0x5d2fce(_0x2426a2 instanceof Error?_0x2426a2:new Error(String(_0x2426a2)));};_0x1c445a['once'](_0x114eab(0x14a),_0x412a0),_0x1c445a[_0x114eab(0x136)](_0x114eab(0x145),()=>{if(_0x45d5ea)return;_0x45d5ea=!![],_0x21c4b2();}),_0x1c445a['on'](_0x114eab(0x147),_0x2465c8=>{const _0x1db8cd=_0x114eab;void(async()=>{const _0x38c6c0=a171_0x36b5;_0x116cbf+=0x1,_0x3b0553+=_0x2465c8[_0x38c6c0(0x12f)];if(_0x116cbf>MAX_ENTRY_COUNT)throw new Error(_0x38c6c0(0x14b)+MAX_ENTRY_COUNT+_0x38c6c0(0x150));if(_0x3b0553>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x38c6c0(0x127));if(_0x2465c8[_0x38c6c0(0x151)]())throw new Error(_0x38c6c0(0x14c)+_0x2465c8[_0x38c6c0(0x148)]);if(isSymbolicLink(_0x2465c8))throw new Error(_0x38c6c0(0x146)+_0x2465c8[_0x38c6c0(0x148)]);const {relativePath:_0x1f149f,directory:_0xd66da3}=validateEntryPath(_0x2465c8[_0x38c6c0(0x148)]),_0x3fc813=_0x1f149f[_0x38c6c0(0x134)](a171_0x1521aa[_0x38c6c0(0x123)]);for(let _0x262e86=0x1;_0x262e86<=_0x3fc813[_0x38c6c0(0x143)];_0x262e86+=0x1){const _0x410316=_0x3fc813[_0x38c6c0(0x142)](0x0,_0x262e86)[_0x38c6c0(0x13a)](a171_0x1521aa['sep']),_0x337279=_0x410316['toLocaleLowerCase'](_0x38c6c0(0x133)),_0x2b3f72=_0xe7764e[_0x38c6c0(0x12c)](_0x337279);if(_0x2b3f72&&_0x2b3f72!==_0x410316)throw new Error(_0x38c6c0(0x13f)+_0x2465c8[_0x38c6c0(0x148)]);_0xe7764e['set'](_0x337279,_0x410316);}const _0x5e8659=_0x1f149f[_0x38c6c0(0x12b)](_0x38c6c0(0x133));if(_0x39dfe0[_0x38c6c0(0x140)](_0x5e8659))throw new Error(_0x38c6c0(0x135)+_0x2465c8['fileName']);_0x39dfe0[_0x38c6c0(0x138)](_0x5e8659);const _0x14383b=a171_0x1521aa[_0x38c6c0(0x13c)](_0x28982e,_0x1f149f);if(_0x14383b!==_0x28982e&&!_0x14383b[_0x38c6c0(0x125)](''+_0x28982e+a171_0x1521aa[_0x38c6c0(0x123)]))throw new Error(_0x38c6c0(0x126)+_0x2465c8[_0x38c6c0(0x148)]);if(_0xd66da3)await a171_0x31cca6['mkdir'](_0x14383b,{'recursive':!![]});else{await a171_0x31cca6[_0x38c6c0(0x149)](a171_0x1521aa[_0x38c6c0(0x13b)](_0x14383b),{'recursive':!![]});const _0x5cbbf6=await openEntryStream(_0x1c445a,_0x2465c8);await pipeline(_0x5cbbf6,createWriteStream(_0x14383b,{'flags':'wx','mode':0x1a4}));}_0x1c445a[_0x38c6c0(0x131)]();})()[_0x1db8cd(0x130)](_0x412a0);}),_0x1c445a[_0x114eab(0x131)]();});}
1
+ (function(_0x1b6571,_0x124557){const _0xe25496=a184_0x2503,_0x593344=_0x1b6571();while(!![]){try{const _0x290bc1=parseInt(_0xe25496(0xa5))/0x1+parseInt(_0xe25496(0xad))/0x2+-parseInt(_0xe25496(0xa2))/0x3+-parseInt(_0xe25496(0x95))/0x4*(-parseInt(_0xe25496(0x8f))/0x5)+-parseInt(_0xe25496(0xae))/0x6+-parseInt(_0xe25496(0xb1))/0x7*(parseInt(_0xe25496(0xb2))/0x8)+-parseInt(_0xe25496(0xba))/0x9*(parseInt(_0xe25496(0x91))/0xa);if(_0x290bc1===_0x124557)break;else _0x593344['push'](_0x593344['shift']());}catch(_0x49631a){_0x593344['push'](_0x593344['shift']());}}}(a184_0x1943,0xec8cd));import{createWriteStream}from'node:fs';import a184_0x10e5fe from'node:fs/promises';import a184_0x2900eb from'node:path';function a184_0x1943(){const _0x5dcd17=['readEntry','Project\x20template\x20ZIP\x20exceeds\x20','Unable\x20to\x20read\x20ZIP\x20entry:\x20','4bLouRh','Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20','uncompressedSize','sep','isEncrypted','resolve','catch','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','startsWith','replace','Unable\x20to\x20open\x20project\x20template\x20archive.','slice','openReadStream','753504HKtcEY','test','\x20entries.','713315XGZomc','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','join','length','fileName','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20','has','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','2077606uXJEub','3965070PdDOgJ','endsWith','externalFileAttributes','12509kwbEOe','4856yyAtRW','close','get','open','split','en-US','error','mkdir','2008035oecrer','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','entry','once','9414290ESAXun','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','30ZlvWmY'];a184_0x1943=function(){return _0x5dcd17;};return a184_0x1943();}function a184_0x2503(_0x34630c,_0x5dd324){_0x34630c=_0x34630c-0x8f;const _0x194363=a184_0x1943();let _0x2503fd=_0x194363[_0x34630c];return _0x2503fd;}import{pipeline}from'node:stream/promises';import a184_0x1e28ed from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x64742d){return new Promise((_0x1b0f0e,_0x5ed8d7)=>{const _0x5a66d9=a184_0x2503;a184_0x1e28ed[_0x5a66d9(0xb5)](_0x64742d,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x1679c9,_0x1f0705)=>{const _0x494e4f=_0x5a66d9;if(_0x1679c9||!_0x1f0705){_0x5ed8d7(_0x1679c9||new Error(_0x494e4f(0x9f)));return;}_0x1b0f0e(_0x1f0705);});});}function openEntryStream(_0xd5da6,_0x1c2039){return new Promise((_0x3abb63,_0x199a08)=>{const _0x5d249f=a184_0x2503;_0xd5da6[_0x5d249f(0xa1)](_0x1c2039,(_0x5cb06a,_0x2c6f54)=>{const _0x3ddf5f=_0x5d249f;if(_0x5cb06a||!_0x2c6f54){_0x199a08(_0x5cb06a||new Error(_0x3ddf5f(0x94)+_0x1c2039[_0x3ddf5f(0xa9)]));return;}_0x3abb63(_0x2c6f54);});});}function validateEntryPath(_0x419b79){const _0x35bcc9=a184_0x2503,_0x47a6c8=_0x419b79[_0x35bcc9(0x9e)](/\\/g,'/'),_0x50ef1f=_0x47a6c8[_0x35bcc9(0xaf)]('/'),_0x280f86=_0x50ef1f?_0x47a6c8[_0x35bcc9(0xa0)](0x0,-0x1):_0x47a6c8;if(!_0x280f86||_0x47a6c8['startsWith']('/')||/^[A-Za-z]:\//[_0x35bcc9(0xa3)](_0x47a6c8))throw new Error(_0x35bcc9(0xaa)+_0x419b79);const _0x1b47f9=_0x280f86['split']('/');for(const _0x567c56 of _0x1b47f9){if(!_0x567c56||_0x567c56==='.'||_0x567c56==='..'||_0x567c56['endsWith']('.')||_0x567c56['endsWith']('\x20')||WINDOWS_INVALID_CHAR[_0x35bcc9(0xa3)](_0x567c56)||WINDOWS_RESERVED_NAME[_0x35bcc9(0xa3)](_0x567c56))throw new Error(_0x35bcc9(0x9c)+_0x419b79);}return{'relativePath':_0x1b47f9[_0x35bcc9(0xa7)](a184_0x2900eb['sep']),'directory':_0x50ef1f};}function isSymbolicLink(_0xd0da02){const _0x3dd7bb=a184_0x2503,_0x54bc45=_0xd0da02[_0x3dd7bb(0xb0)]>>>0x10&0xffff;return(_0x54bc45&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x2ebf51,_0xcbbfd4){const _0x154651=a184_0x2503,_0x412334=await openZip(_0x2ebf51),_0x3810ae=a184_0x2900eb[_0x154651(0x9a)](_0xcbbfd4),_0x24a63d=new Set(),_0x1bdce1=new Map();let _0x5ca02a=0x0,_0x552fcf=0x0;await a184_0x10e5fe[_0x154651(0xb9)](_0x3810ae,{'recursive':!![]}),await new Promise((_0x4e04b4,_0x1951e8)=>{const _0x429921=_0x154651;let _0x1f3f11=![];const _0x167744=_0x5a5426=>{const _0x490536=a184_0x2503;if(_0x1f3f11)return;_0x1f3f11=!![],_0x412334[_0x490536(0xb3)](),_0x1951e8(_0x5a5426 instanceof Error?_0x5a5426:new Error(String(_0x5a5426)));};_0x412334[_0x429921(0xbd)](_0x429921(0xb8),_0x167744),_0x412334[_0x429921(0xbd)]('end',()=>{if(_0x1f3f11)return;_0x1f3f11=!![],_0x4e04b4();}),_0x412334['on'](_0x429921(0xbc),_0x56eb22=>{const _0x20a413=_0x429921;void(async()=>{const _0x4716ca=a184_0x2503;_0x5ca02a+=0x1,_0x552fcf+=_0x56eb22[_0x4716ca(0x97)];if(_0x5ca02a>MAX_ENTRY_COUNT)throw new Error(_0x4716ca(0x93)+MAX_ENTRY_COUNT+_0x4716ca(0xa4));if(_0x552fcf>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x4716ca(0xbb));if(_0x56eb22[_0x4716ca(0x99)]())throw new Error(_0x4716ca(0x90)+_0x56eb22['fileName']);if(isSymbolicLink(_0x56eb22))throw new Error(_0x4716ca(0xa6)+_0x56eb22['fileName']);const {relativePath:_0x4e142a,directory:_0x1b51e1}=validateEntryPath(_0x56eb22[_0x4716ca(0xa9)]),_0x40ae11=_0x4e142a[_0x4716ca(0xb6)](a184_0x2900eb[_0x4716ca(0x98)]);for(let _0x1ec2b9=0x1;_0x1ec2b9<=_0x40ae11[_0x4716ca(0xa8)];_0x1ec2b9+=0x1){const _0x2601df=_0x40ae11['slice'](0x0,_0x1ec2b9)[_0x4716ca(0xa7)](a184_0x2900eb[_0x4716ca(0x98)]),_0x2398d9=_0x2601df['toLocaleLowerCase'](_0x4716ca(0xb7)),_0x93d28a=_0x1bdce1[_0x4716ca(0xb4)](_0x2398d9);if(_0x93d28a&&_0x93d28a!==_0x2601df)throw new Error('Case-conflicting\x20ZIP\x20entry\x20path:\x20'+_0x56eb22[_0x4716ca(0xa9)]);_0x1bdce1['set'](_0x2398d9,_0x2601df);}const _0x2e7db5=_0x4e142a['toLocaleLowerCase'](_0x4716ca(0xb7));if(_0x24a63d[_0x4716ca(0xab)](_0x2e7db5))throw new Error(_0x4716ca(0x96)+_0x56eb22[_0x4716ca(0xa9)]);_0x24a63d['add'](_0x2e7db5);const _0x5e2a8f=a184_0x2900eb[_0x4716ca(0x9a)](_0x3810ae,_0x4e142a);if(_0x5e2a8f!==_0x3810ae&&!_0x5e2a8f[_0x4716ca(0x9d)](''+_0x3810ae+a184_0x2900eb[_0x4716ca(0x98)]))throw new Error(_0x4716ca(0xac)+_0x56eb22[_0x4716ca(0xa9)]);if(_0x1b51e1)await a184_0x10e5fe['mkdir'](_0x5e2a8f,{'recursive':!![]});else{await a184_0x10e5fe[_0x4716ca(0xb9)](a184_0x2900eb['dirname'](_0x5e2a8f),{'recursive':!![]});const _0x5e2b95=await openEntryStream(_0x412334,_0x56eb22);await pipeline(_0x5e2b95,createWriteStream(_0x5e2a8f,{'flags':'wx','mode':0x1a4}));}_0x412334[_0x4716ca(0x92)]();})()[_0x20a413(0x9b)](_0x167744);}),_0x412334['readEntry']();});}
@@ -1 +1 @@
1
- function a172_0x37c4(_0x4c0489,_0x2698dd){_0x4c0489=_0x4c0489-0xa7;const _0x34fe83=a172_0x34fe();let _0x37c454=_0x34fe83[_0x4c0489];return _0x37c454;}function a172_0x34fe(){const _0x3790ab=['10hyGxOC','2475188znQezb','1932nVuQjD','../../../../','11233930QOMsqL','3127614mrVfPC','resolve','5GMjpcS','31033640hRkBFL','9nddpTg','9738584FZfEHW','12210TmvrGo','189592LUDJyf'];a172_0x34fe=function(){return _0x3790ab;};return a172_0x34fe();}(function(_0xcec2c,_0x406079){const _0x31993d=a172_0x37c4,_0x291fb7=_0xcec2c();while(!![]){try{const _0x454b77=-parseInt(_0x31993d(0xaf))/0x1*(parseInt(_0x31993d(0xae))/0x2)+-parseInt(_0x31993d(0xa7))/0x3+parseInt(_0x31993d(0xb0))/0x4*(-parseInt(_0x31993d(0xa9))/0x5)+parseInt(_0x31993d(0xad))/0x6*(parseInt(_0x31993d(0xb1))/0x7)+-parseInt(_0x31993d(0xac))/0x8+-parseInt(_0x31993d(0xab))/0x9*(-parseInt(_0x31993d(0xb3))/0xa)+parseInt(_0x31993d(0xaa))/0xb;if(_0x454b77===_0x406079)break;else _0x291fb7['push'](_0x291fb7['shift']());}catch(_0x16f9a9){_0x291fb7['push'](_0x291fb7['shift']());}}}(a172_0x34fe,0xa5efb));import a172_0x334a3c from'node:path';import{fileURLToPath}from'node:url';const __dirname=a172_0x334a3c['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3d071a=a172_0x37c4;return a172_0x334a3c[_0x3d071a(0xa8)](__dirname,_0x3d071a(0xb2));}
1
+ (function(_0x32e58e,_0x125f45){const _0x4c95f1=a185_0x3d68,_0x36dd24=_0x32e58e();while(!![]){try{const _0x332961=parseInt(_0x4c95f1(0xe6))/0x1+parseInt(_0x4c95f1(0xdf))/0x2+parseInt(_0x4c95f1(0xe4))/0x3+parseInt(_0x4c95f1(0xe0))/0x4+-parseInt(_0x4c95f1(0xe2))/0x5*(-parseInt(_0x4c95f1(0xe1))/0x6)+-parseInt(_0x4c95f1(0xde))/0x7+-parseInt(_0x4c95f1(0xe5))/0x8;if(_0x332961===_0x125f45)break;else _0x36dd24['push'](_0x36dd24['shift']());}catch(_0x40742d){_0x36dd24['push'](_0x36dd24['shift']());}}}(a185_0x3dd6,0x70c70));import a185_0x3a63d0 from'node:path';import{fileURLToPath}from'node:url';function a185_0x3dd6(){const _0x31b88b=['258490iVYacU','../../../../','3783836dcncrl','817844lqgxrq','2029900WtzZUt','15348tTjpdS','1680JgDfHw','resolve','866199XBRuJV','10564992GFUGjt'];a185_0x3dd6=function(){return _0x31b88b;};return a185_0x3dd6();}function a185_0x3d68(_0x4c729f,_0x218c4d){_0x4c729f=_0x4c729f-0xde;const _0x3dd6c8=a185_0x3dd6();let _0x3d6888=_0x3dd6c8[_0x4c729f];return _0x3d6888;}const __dirname=a185_0x3a63d0['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0xfb5fdc=a185_0x3d68;return a185_0x3a63d0[_0xfb5fdc(0xe3)](__dirname,_0xfb5fdc(0xe7));}
@@ -1 +1 @@
1
- (function(_0x13abc7,_0x5ddf5d){const _0x28a439=a173_0x4f7e,_0x122cca=_0x13abc7();while(!![]){try{const _0x3c54b5=parseInt(_0x28a439(0x9b))/0x1*(parseInt(_0x28a439(0x9f))/0x2)+-parseInt(_0x28a439(0xa0))/0x3*(-parseInt(_0x28a439(0x8d))/0x4)+parseInt(_0x28a439(0x9c))/0x5+-parseInt(_0x28a439(0x90))/0x6*(-parseInt(_0x28a439(0x95))/0x7)+parseInt(_0x28a439(0x98))/0x8*(-parseInt(_0x28a439(0x9a))/0x9)+parseInt(_0x28a439(0x9e))/0xa+-parseInt(_0x28a439(0x8e))/0xb;if(_0x3c54b5===_0x5ddf5d)break;else _0x122cca['push'](_0x122cca['shift']());}catch(_0x220c23){_0x122cca['push'](_0x122cca['shift']());}}}(a173_0x545c,0x627b5));import a173_0x44292d from'node:path';function a173_0x545c(){const _0x44c483=['16743dNbmDG','message','428bgGrNz','17423043YVmSNa','version','18606IwnRMb','Project\x20template\x20created','error','success','now','1806RabPnc','source','resolve','44328SvRiSJ','cwd','1179NLMbyU','2tkNGBo','1656610sxQuox','copy','7162640eYgxtn','268354HYuEjn'];a173_0x545c=function(){return _0x44c483;};return a173_0x545c();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a173_0x4f7e(_0x1b54b7,_0x2187e3){_0x1b54b7=_0x1b54b7-0x8c;const _0x545c89=a173_0x545c();let _0x4f7e5b=_0x545c89[_0x1b54b7];return _0x4f7e5b;}import{logger}from'../../../utils/logger.js';import{materializeLocalProjectTemplate,materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';export async function copyProjectTemplate(_0x11813f,_0x40172c,_0x7de28d){const _0x2c5cfb=a173_0x4f7e,_0x2bb173=Date[_0x2c5cfb(0x94)](),_0x2a0889=a173_0x44292d[_0x2c5cfb(0x97)](process[_0x2c5cfb(0x99)](),_0x11813f);try{logger['info'](_0x2c5cfb(0x9d),'Starting\x20project\x20template\x20creation',{'projectCode':_0x11813f});const _0x97e207=_0x7de28d?await materializeLocalProjectTemplate(_0x7de28d,_0x2a0889,_0x40172c):await materializeProjectTemplate(_0x2a0889,_0x40172c),_0x499751=Date['now']()-_0x2bb173;logger[_0x2c5cfb(0x93)]('copy',_0x2c5cfb(0x91),_0x499751,{'projectCode':_0x11813f,'templateSource':_0x97e207[_0x2c5cfb(0x96)],'templateVersion':_0x97e207[_0x2c5cfb(0x8f)]});}catch(_0x245231){const _0x14f754=Date[_0x2c5cfb(0x94)]()-_0x2bb173;logger[_0x2c5cfb(0x92)](_0x2c5cfb(0x9d),'Failed\x20to\x20copy\x20project\x20template',{'projectCode':_0x11813f,'error':_0x245231 instanceof Error?_0x245231[_0x2c5cfb(0x8c)]:String(_0x245231),'duration':_0x14f754});throw _0x245231;}return formatElapsed(_0x2bb173);}
1
+ (function(_0x456aa2,_0x4deb63){const _0x413134=a186_0xb068,_0x39b47b=_0x456aa2();while(!![]){try{const _0x895355=parseInt(_0x413134(0x8c))/0x1*(-parseInt(_0x413134(0x87))/0x2)+parseInt(_0x413134(0x8e))/0x3*(parseInt(_0x413134(0x93))/0x4)+-parseInt(_0x413134(0x82))/0x5+parseInt(_0x413134(0x89))/0x6*(parseInt(_0x413134(0x91))/0x7)+parseInt(_0x413134(0x95))/0x8+-parseInt(_0x413134(0x84))/0x9*(-parseInt(_0x413134(0x80))/0xa)+-parseInt(_0x413134(0x83))/0xb;if(_0x895355===_0x4deb63)break;else _0x39b47b['push'](_0x39b47b['shift']());}catch(_0x288a90){_0x39b47b['push'](_0x39b47b['shift']());}}}(a186_0x4b07,0x65a22));import a186_0x33e314 from'node:path';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a186_0x4b07(){const _0x4ac9f8=['Project\x20template\x20created','91sWGiqo','Failed\x20to\x20copy\x20project\x20template','2654524mWdCPr','cwd','3801960wiiFtv','2190ISEbxk','info','3478425rKSUtE','6352137HUrnZz','27765EukHQl','now','source','86VsgjkZ','resolve','208164CdPZiw','Starting\x20project\x20template\x20creation','version','13397wngQHI','copy','3oSXJwd','error'];a186_0x4b07=function(){return _0x4ac9f8;};return a186_0x4b07();}import{logger}from'../../../utils/logger.js';import{materializeLocalProjectTemplate,materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';function a186_0xb068(_0x5d2f52,_0x2c6daa){_0x5d2f52=_0x5d2f52-0x80;const _0x4b07e1=a186_0x4b07();let _0xb06876=_0x4b07e1[_0x5d2f52];return _0xb06876;}export async function copyProjectTemplate(_0x512582,_0x51d06a,_0x2ec727){const _0x12023a=a186_0xb068,_0xdb816f=Date[_0x12023a(0x85)](),_0x1df616=a186_0x33e314[_0x12023a(0x88)](process[_0x12023a(0x94)](),_0x512582);try{logger[_0x12023a(0x81)](_0x12023a(0x8d),_0x12023a(0x8a),{'projectCode':_0x512582});const _0x3a926a=_0x2ec727?await materializeLocalProjectTemplate(_0x2ec727,_0x1df616,_0x51d06a):await materializeProjectTemplate(_0x1df616,_0x51d06a),_0xf4a866=Date['now']()-_0xdb816f;logger['success']('copy',_0x12023a(0x90),_0xf4a866,{'projectCode':_0x512582,'templateSource':_0x3a926a[_0x12023a(0x86)],'templateVersion':_0x3a926a[_0x12023a(0x8b)]});}catch(_0x1d563e){const _0x305ef6=Date[_0x12023a(0x85)]()-_0xdb816f;logger[_0x12023a(0x8f)](_0x12023a(0x8d),_0x12023a(0x92),{'projectCode':_0x512582,'error':_0x1d563e instanceof Error?_0x1d563e['message']:String(_0x1d563e),'duration':_0x305ef6});throw _0x1d563e;}return formatElapsed(_0xdb816f);}
@@ -1 +1 @@
1
- (function(_0x5ba4b8,_0x2f44f4){const _0x1bac6a=a174_0x4d0d,_0x4edba9=_0x5ba4b8();while(!![]){try{const _0x3392c9=parseInt(_0x1bac6a(0x159))/0x1+-parseInt(_0x1bac6a(0x165))/0x2*(parseInt(_0x1bac6a(0x157))/0x3)+-parseInt(_0x1bac6a(0x154))/0x4+parseInt(_0x1bac6a(0x15b))/0x5+parseInt(_0x1bac6a(0x15d))/0x6+-parseInt(_0x1bac6a(0x152))/0x7*(parseInt(_0x1bac6a(0x15a))/0x8)+-parseInt(_0x1bac6a(0x161))/0x9;if(_0x3392c9===_0x2f44f4)break;else _0x4edba9['push'](_0x4edba9['shift']());}catch(_0x38c48f){_0x4edba9['push'](_0x4edba9['shift']());}}}(a174_0x4356,0xbc4e0));import a174_0x38216d from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a174_0x4356(){const _0x3ca6a1=['4306302sLTduW','now','success','Code\x20format\x20completed','40DbBwuZ','365988fyvcxJ','format','704812rkhjtp','--write','info','182391yGRVcN','message','750752cfgYEO','40CygiAk','6871490ZDrBPM','prettier','4669722pqGfeF','npx','resolve','error'];a174_0x4356=function(){return _0x3ca6a1;};return a174_0x4356();}import{logger}from'../../../utils/logger.js';function a174_0x4d0d(_0x5e1e53,_0x42e96d){_0x5e1e53=_0x5e1e53-0x152;const _0x435629=a174_0x4356();let _0x4d0d5d=_0x435629[_0x5e1e53];return _0x4d0d5d;}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x47e055){const _0x1a7ff1=a174_0x4d0d,_0x5e6e73=Date[_0x1a7ff1(0x162)](),_0x3d9d9e=a174_0x38216d[_0x1a7ff1(0x15f)](process['cwd'](),_0x47e055);try{logger[_0x1a7ff1(0x156)]('format','Starting\x20code\x20format',{'projectCode':_0x47e055}),await execa(resolveNpmBin(_0x1a7ff1(0x15e)),[_0x1a7ff1(0x15c),_0x1a7ff1(0x155),'.'],{'cwd':_0x3d9d9e});const _0x250e82=Date[_0x1a7ff1(0x162)]()-_0x5e6e73;logger[_0x1a7ff1(0x163)](_0x1a7ff1(0x153),_0x1a7ff1(0x164),_0x250e82,{'projectCode':_0x47e055});}catch(_0x4c9f07){const _0x32ab6b=Date['now']()-_0x5e6e73;logger[_0x1a7ff1(0x160)](_0x1a7ff1(0x153),'Code\x20format\x20failed',{'projectCode':_0x47e055,'error':_0x4c9f07 instanceof Error?_0x4c9f07[_0x1a7ff1(0x158)]:String(_0x4c9f07),'duration':_0x32ab6b});throw _0x4c9f07;}return formatElapsed(_0x5e6e73);}
1
+ (function(_0x3e4f8e,_0x4c9911){const _0x94292b=a187_0x1f24,_0x594ba5=_0x3e4f8e();while(!![]){try{const _0x42dda0=-parseInt(_0x94292b(0x13b))/0x1*(-parseInt(_0x94292b(0x130))/0x2)+parseInt(_0x94292b(0x13d))/0x3+parseInt(_0x94292b(0x137))/0x4+-parseInt(_0x94292b(0x134))/0x5*(-parseInt(_0x94292b(0x132))/0x6)+-parseInt(_0x94292b(0x13e))/0x7*(-parseInt(_0x94292b(0x136))/0x8)+parseInt(_0x94292b(0x12d))/0x9*(parseInt(_0x94292b(0x12b))/0xa)+-parseInt(_0x94292b(0x135))/0xb*(parseInt(_0x94292b(0x139))/0xc);if(_0x42dda0===_0x4c9911)break;else _0x594ba5['push'](_0x594ba5['shift']());}catch(_0x28857b){_0x594ba5['push'](_0x594ba5['shift']());}}}(a187_0x2279,0x39848));import a187_0x18d515 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a187_0x1f24(_0x261826,_0x48326d){_0x261826=_0x261826-0x12a;const _0x2279d1=a187_0x2279();let _0x1f2448=_0x2279d1[_0x261826];return _0x1f2448;}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x123e90){const _0x3390d7=a187_0x1f24,_0x4321cf=Date[_0x3390d7(0x12c)](),_0x1f0133=a187_0x18d515['resolve'](process[_0x3390d7(0x12e)](),_0x123e90);try{logger[_0x3390d7(0x138)](_0x3390d7(0x13a),_0x3390d7(0x131),{'projectCode':_0x123e90}),await execa(resolveNpmBin(_0x3390d7(0x140)),['prettier',_0x3390d7(0x12f),'.'],{'cwd':_0x1f0133});const _0x49ce4d=Date[_0x3390d7(0x12c)]()-_0x4321cf;logger['success'](_0x3390d7(0x13a),_0x3390d7(0x133),_0x49ce4d,{'projectCode':_0x123e90});}catch(_0x497b0e){const _0x77d2fb=Date['now']()-_0x4321cf;logger[_0x3390d7(0x13c)]('format',_0x3390d7(0x13f),{'projectCode':_0x123e90,'error':_0x497b0e instanceof Error?_0x497b0e[_0x3390d7(0x12a)]:String(_0x497b0e),'duration':_0x77d2fb});throw _0x497b0e;}return formatElapsed(_0x4321cf);}function a187_0x2279(){const _0x1c0e73=['397504aWCMki','Starting\x20code\x20format','20874BoAzkr','Code\x20format\x20completed','485OWyiQW','22wNFgGS','16xmbwoe','1703104tAEbiy','info','6772908tSPJyp','format','1hGFPcD','error','796869tujTsU','290486zCnKaE','Code\x20format\x20failed','npx','message','40TDuQVh','now','121050oOpdUx','cwd','--write'];a187_0x2279=function(){return _0x1c0e73;};return a187_0x2279();}
@@ -1 +1 @@
1
- function a175_0x58c9(_0x3d7b1d,_0x3eac49){_0x3d7b1d=_0x3d7b1d-0x192;const _0x2da1f5=a175_0x2da1();let _0x58c926=_0x2da1f5[_0x3d7b1d];return _0x58c926;}function a175_0x2da1(){const _0x583ad3=['2SKNPoT','now','19321410QKwCaO','npm','https://registry.npmmirror.com','4ryxUEA','error','11nQLHKQ','2266570ocQrkh','16PqNpKB','3349199kEBmmf','Dependency\x20install\x20completed','2831850pPyAoD','message','121889IKOQfL','install','--registry','info','12971817hCuxBb','4975041uAbZEv','cwd'];a175_0x2da1=function(){return _0x583ad3;};return a175_0x2da1();}(function(_0x160e7d,_0x52effb){const _0x3d2566=a175_0x58c9,_0x3d3298=_0x160e7d();while(!![]){try{const _0x5a60d5=parseInt(_0x3d2566(0x194))/0x1*(parseInt(_0x3d2566(0x19b))/0x2)+parseInt(_0x3d2566(0x199))/0x3*(-parseInt(_0x3d2566(0x1a0))/0x4)+parseInt(_0x3d2566(0x1a3))/0x5+parseInt(_0x3d2566(0x192))/0x6+parseInt(_0x3d2566(0x1a5))/0x7*(parseInt(_0x3d2566(0x1a4))/0x8)+-parseInt(_0x3d2566(0x198))/0x9+-parseInt(_0x3d2566(0x19d))/0xa*(-parseInt(_0x3d2566(0x1a2))/0xb);if(_0x5a60d5===_0x52effb)break;else _0x3d3298['push'](_0x3d3298['shift']());}catch(_0xba9c75){_0x3d3298['push'](_0x3d3298['shift']());}}}(a175_0x2da1,0xcc3dd));import a175_0x33063a from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x880a20){const _0x406f46=a175_0x58c9,_0x156403=Date[_0x406f46(0x19c)](),_0x422fd6=a175_0x33063a['resolve'](process[_0x406f46(0x19a)](),_0x880a20);try{logger[_0x406f46(0x197)](_0x406f46(0x195),'Starting\x20dependency\x20install',{'projectCode':_0x880a20,'registry':_0x406f46(0x19f)}),await execa(resolveNpmBin(_0x406f46(0x19e)),[_0x406f46(0x195),_0x406f46(0x196),_0x406f46(0x19f)],{'cwd':_0x422fd6});const _0x1b7a1c=Date[_0x406f46(0x19c)]()-_0x156403;logger['success']('install',_0x406f46(0x1a6),_0x1b7a1c,{'projectCode':_0x880a20});}catch(_0x4bd263){const _0x1d6144=Date[_0x406f46(0x19c)]()-_0x156403;logger[_0x406f46(0x1a1)](_0x406f46(0x195),'Dependency\x20install\x20failed',{'projectCode':_0x880a20,'error':_0x4bd263 instanceof Error?_0x4bd263[_0x406f46(0x193)]:String(_0x4bd263),'duration':_0x1d6144});throw _0x4bd263;}return formatElapsed(_0x156403);}
1
+ function a188_0x5db8(_0x4e7a5f,_0x592f61){_0x4e7a5f=_0x4e7a5f-0xb6;const _0x4c285c=a188_0x4c28();let _0x5db895=_0x4c285c[_0x4e7a5f];return _0x5db895;}function a188_0x4c28(){const _0x46ab40=['4777105dbwaAf','success','install','resolve','Dependency\x20install\x20completed','154HIFCuD','error','317934GdadJV','https://registry.npmmirror.com','info','3759532HuflFB','now','cwd','206177xmHdXh','3260478oiPzdx','12876648lAYoul','--registry','message','1681714cIEhBD','npm'];a188_0x4c28=function(){return _0x46ab40;};return a188_0x4c28();}(function(_0x465cce,_0x36dbe6){const _0x27248b=a188_0x5db8,_0x363b4a=_0x465cce();while(!![]){try{const _0x35d69a=parseInt(_0x27248b(0xb6))/0x1+parseInt(_0x27248b(0xbb))/0x2+-parseInt(_0x27248b(0xb7))/0x3+-parseInt(_0x27248b(0xc7))/0x4+-parseInt(_0x27248b(0xbd))/0x5+parseInt(_0x27248b(0xc4))/0x6*(parseInt(_0x27248b(0xc2))/0x7)+parseInt(_0x27248b(0xb8))/0x8;if(_0x35d69a===_0x36dbe6)break;else _0x363b4a['push'](_0x363b4a['shift']());}catch(_0x193496){_0x363b4a['push'](_0x363b4a['shift']());}}}(a188_0x4c28,0xcd233));import a188_0x493f12 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0xab7fd3){const _0x5b8d76=a188_0x5db8,_0x383818=Date['now'](),_0x34e6db=a188_0x493f12[_0x5b8d76(0xc0)](process[_0x5b8d76(0xc9)](),_0xab7fd3);try{logger[_0x5b8d76(0xc6)](_0x5b8d76(0xbf),'Starting\x20dependency\x20install',{'projectCode':_0xab7fd3,'registry':_0x5b8d76(0xc5)}),await execa(resolveNpmBin(_0x5b8d76(0xbc)),['install',_0x5b8d76(0xb9),_0x5b8d76(0xc5)],{'cwd':_0x34e6db});const _0x3dc3e6=Date[_0x5b8d76(0xc8)]()-_0x383818;logger[_0x5b8d76(0xbe)](_0x5b8d76(0xbf),_0x5b8d76(0xc1),_0x3dc3e6,{'projectCode':_0xab7fd3});}catch(_0x523647){const _0x24a1e7=Date[_0x5b8d76(0xc8)]()-_0x383818;logger[_0x5b8d76(0xc3)](_0x5b8d76(0xbf),'Dependency\x20install\x20failed',{'projectCode':_0xab7fd3,'error':_0x523647 instanceof Error?_0x523647[_0x5b8d76(0xba)]:String(_0x523647),'duration':_0x24a1e7});throw _0x523647;}return formatElapsed(_0x383818);}
@@ -1 +1 @@
1
- const a176_0x556855=a176_0x2542;(function(_0x15f097,_0xa73177){const _0x2cefce=a176_0x2542,_0x530d25=_0x15f097();while(!![]){try{const _0x4cc28a=-parseInt(_0x2cefce(0x9f))/0x1*(-parseInt(_0x2cefce(0x9c))/0x2)+parseInt(_0x2cefce(0x9d))/0x3*(-parseInt(_0x2cefce(0xa9))/0x4)+-parseInt(_0x2cefce(0xab))/0x5*(-parseInt(_0x2cefce(0xa5))/0x6)+-parseInt(_0x2cefce(0xa2))/0x7*(-parseInt(_0x2cefce(0xac))/0x8)+-parseInt(_0x2cefce(0xa8))/0x9*(-parseInt(_0x2cefce(0xa1))/0xa)+parseInt(_0x2cefce(0xaa))/0xb+parseInt(_0x2cefce(0xa4))/0xc*(-parseInt(_0x2cefce(0xa3))/0xd);if(_0x4cc28a===_0xa73177)break;else _0x530d25['push'](_0x530d25['shift']());}catch(_0x14dc94){_0x530d25['push'](_0x530d25['shift']());}}}(a176_0x5e5b,0xc124b));function a176_0x2542(_0x20b26f,_0x48c29d){_0x20b26f=_0x20b26f-0x9c;const _0x5e5b6e=a176_0x5e5b();let _0x2542cf=_0x5e5b6e[_0x20b26f];return _0x2542cf;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';function a176_0x5e5b(){const _0x3ca03b=['169vbcsNZ','1967292qPOdtx','1901094FGAXMR','validation','path','27qctMlf','88enVVyu','13952675DdcZsw','5QDohny','1433792uyKakm','1214IRLnNS','149469ThSRMz','Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','1549RcLyTo','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','3781630XAmGQS','14vFpHpZ'];a176_0x5e5b=function(){return _0x3ca03b;};return a176_0x5e5b();}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';export const projectDomainRoutingSyncDefinition={'service':'project','command':'domain-routing-sync','description':a176_0x556855(0x9e),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0x3a71e4=a176_0x556855,_0x378262=findProjectRootDirectory();if(!resolveConfigPath(_0x378262))throw CliErrors[_0x3a71e4(0xa6)](_0x3a71e4(0xa0),'Run\x20'+CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.');const _0x53dd3e=writeProjectDomainRoutingManifest(_0x378262);return{'ok':!![],'message':'Domain\x20routing\x20synchronized:\x20'+_0x53dd3e[_0x3a71e4(0xa7)],'data':_0x53dd3e};}};
1
+ const a189_0x1b3372=a189_0x1d8a;(function(_0x5eaaf4,_0x9b9972){const _0x31143c=a189_0x1d8a,_0x772aa8=_0x5eaaf4();while(!![]){try{const _0x202917=parseInt(_0x31143c(0x15e))/0x1*(parseInt(_0x31143c(0x15f))/0x2)+-parseInt(_0x31143c(0x167))/0x3+-parseInt(_0x31143c(0x158))/0x4*(-parseInt(_0x31143c(0x16a))/0x5)+-parseInt(_0x31143c(0x169))/0x6*(parseInt(_0x31143c(0x162))/0x7)+parseInt(_0x31143c(0x168))/0x8+-parseInt(_0x31143c(0x157))/0x9*(parseInt(_0x31143c(0x15a))/0xa)+parseInt(_0x31143c(0x164))/0xb*(parseInt(_0x31143c(0x166))/0xc);if(_0x202917===_0x9b9972)break;else _0x772aa8['push'](_0x772aa8['shift']());}catch(_0x3d3f97){_0x772aa8['push'](_0x772aa8['shift']());}}}(a189_0x4073,0x4a00d));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a189_0x4073(){const _0x46a4b5=['Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','validation','read','5190lonPMp','212wJhMfV','domain-routing-sync','Run\x20','161dhPghX','project','586399jQFyZC','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','36EmLxGN','1545555pgQbBB','4248320mdwQau','28602Btrzwg','1705vEllSQ','\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.','216RzFlgq','2544kTmFdQ','path','220850JzUsRx'];a189_0x4073=function(){return _0x46a4b5;};return a189_0x4073();}import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';function a189_0x1d8a(_0x17ae84,_0x13d820){_0x17ae84=_0x17ae84-0x156;const _0x4073e3=a189_0x4073();let _0x1d8a55=_0x4073e3[_0x17ae84];return _0x1d8a55;}export const projectDomainRoutingSyncDefinition={'service':a189_0x1b3372(0x163),'command':a189_0x1b3372(0x160),'description':a189_0x1b3372(0x15b),'risk':a189_0x1b3372(0x15d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0xf15333=a189_0x1b3372,_0x7dcfb1=findProjectRootDirectory();if(!resolveConfigPath(_0x7dcfb1))throw CliErrors[_0xf15333(0x15c)](_0xf15333(0x165),_0xf15333(0x161)+CLI_BIN_NAME+_0xf15333(0x156));const _0x5db1e1=writeProjectDomainRoutingManifest(_0x7dcfb1);return{'ok':!![],'message':'Domain\x20routing\x20synchronized:\x20'+_0x5db1e1[_0xf15333(0x159)],'data':_0x5db1e1};}};
@@ -1 +1 @@
1
- function a177_0x21ef(_0xf92609,_0x1d34e2){_0xf92609=_0xf92609-0x7d;const _0x62c31e=a177_0x62c3();let _0x21ef25=_0x62c31e[_0xf92609];return _0x21ef25;}const a177_0x4d84c1=a177_0x21ef;(function(_0x283d0b,_0x176cdf){const _0x529854=a177_0x21ef,_0x488e29=_0x283d0b();while(!![]){try{const _0x3b2d79=-parseInt(_0x529854(0x9c))/0x1+parseInt(_0x529854(0x9a))/0x2*(parseInt(_0x529854(0x93))/0x3)+parseInt(_0x529854(0x7f))/0x4*(parseInt(_0x529854(0x9f))/0x5)+parseInt(_0x529854(0x8b))/0x6+parseInt(_0x529854(0x91))/0x7+-parseInt(_0x529854(0x92))/0x8*(-parseInt(_0x529854(0xa4))/0x9)+-parseInt(_0x529854(0x80))/0xa;if(_0x3b2d79===_0x176cdf)break;else _0x488e29['push'](_0x488e29['shift']());}catch(_0x28bb36){_0x488e29['push'](_0x488e29['shift']());}}}(a177_0x62c3,0x57e2c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';function a177_0x62c3(){const _0x382094=['Run\x20','template-source','upgrade','create','str','2HCJFbc','name','694180npJegG','Prepared\x20local\x20project\x20template\x20directory','cookie','2133245EipsAu','project','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','Skip\x20confirmation\x20prompt','boolean','954RLVSrQ','appcode','string','nonInteractive','4EnPZaD','4500020ZIfihj','Project\x20name','write','validation','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','current-dir','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]','yes','project-name','Create\x20a\x20new\x20project','2270160cbRlqS','args','trim','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','env','3026520LMLonL','12016zKYGnu','322743LVQnQo','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20'];a177_0x62c3=function(){return _0x382094;};return a177_0x62c3();}const createFlags=[{'name':a177_0x4d84c1(0x9b),'type':a177_0x4d84c1(0x7d),'description':a177_0x4d84c1(0x81)},{'name':a177_0x4d84c1(0x90),'type':a177_0x4d84c1(0x7d),'description':'Target\x20environment'},{'name':a177_0x4d84c1(0xa5),'type':a177_0x4d84c1(0x7d),'description':a177_0x4d84c1(0x85)},{'name':a177_0x4d84c1(0x86),'type':'boolean','description':a177_0x4d84c1(0x84),'default':![]},{'name':a177_0x4d84c1(0x96),'type':a177_0x4d84c1(0x7d),'description':a177_0x4d84c1(0x9d)}],upgradeFlags=[{'name':a177_0x4d84c1(0x88),'type':a177_0x4d84c1(0xa3),'description':a177_0x4d84c1(0xa2),'default':![]}];export const projectDefinitions=[{'service':a177_0x4d84c1(0xa0),'command':a177_0x4d84c1(0x98),'description':a177_0x4d84c1(0x8a),'risk':a177_0x4d84c1(0x82),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a177_0x4d84c1(0x89),'description':a177_0x4d84c1(0x8f),'required':![]}],'flags':createFlags,async 'execute'(_0x1fd944){const _0x27d46b=a177_0x4d84c1,{createApp:_0x4d543f}=await import('../../commands/project/create/main.js'),_0x9ef251=_0x1fd944['str'](_0x27d46b(0x9b))['trim']()||_0x1fd944[_0x27d46b(0x8c)][0x0]?.[_0x27d46b(0x8d)](),_0x21c183=_0x1fd944[_0x27d46b(0x99)](_0x27d46b(0x90))||undefined,_0x1ada4d=_0x1fd944[_0x27d46b(0x99)](_0x27d46b(0xa5))||undefined,_0x4b764a=_0x1fd944[_0x27d46b(0x99)](_0x27d46b(0x96))[_0x27d46b(0x8d)]()||undefined,_0x453975=_0x1fd944['bool'](_0x27d46b(0x86));if(_0x453975&&_0x9ef251)throw CliErrors[_0x27d46b(0x83)]('--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.',_0x27d46b(0x95)+CLI_BIN_NAME+'\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.');if(_0x1fd944[_0x27d46b(0x7e)]){if(!_0x9ef251&&!_0x453975)throw CliErrors[_0x27d46b(0x83)](_0x27d46b(0x8e),'Usage:\x20'+CLI_BIN_NAME+_0x27d46b(0x94)+CLI_BIN_NAME+_0x27d46b(0x87));await _0x4d543f({'projectCode':_0x9ef251,'appCode':_0x1ada4d,'env':_0x21c183,'cookie':_0x1fd944[_0x27d46b(0x9e)],'currentDir':_0x453975,'nonInteractive':!![],'templateSource':_0x4b764a});}else await _0x4d543f({'projectCode':_0x9ef251,'appCode':_0x1ada4d,'env':_0x21c183,'cookie':_0x1fd944['cookie'],'currentDir':_0x453975,'templateSource':_0x4b764a});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':'project','command':a177_0x4d84c1(0x97),'description':a177_0x4d84c1(0xa1),'risk':a177_0x4d84c1(0x82),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x2af3f0){const _0x156657=a177_0x4d84c1;return await upgradeApp(_0x2af3f0['nonInteractive'],{'yes':_0x2af3f0['bool'](_0x156657(0x88))}),{'ok':!![]};}}];
1
+ const a190_0x110ff0=a190_0x454d;(function(_0x2e35ce,_0x4a473d){const _0xdafd77=a190_0x454d,_0x35ab7d=_0x2e35ce();while(!![]){try{const _0x5978d6=parseInt(_0xdafd77(0x18c))/0x1+parseInt(_0xdafd77(0x166))/0x2+parseInt(_0xdafd77(0x182))/0x3*(parseInt(_0xdafd77(0x172))/0x4)+-parseInt(_0xdafd77(0x16b))/0x5*(-parseInt(_0xdafd77(0x184))/0x6)+parseInt(_0xdafd77(0x189))/0x7*(parseInt(_0xdafd77(0x17f))/0x8)+parseInt(_0xdafd77(0x16f))/0x9+parseInt(_0xdafd77(0x174))/0xa*(-parseInt(_0xdafd77(0x18e))/0xb);if(_0x5978d6===_0x4a473d)break;else _0x35ab7d['push'](_0x35ab7d['shift']());}catch(_0xab9e04){_0x35ab7d['push'](_0x35ab7d['shift']());}}}(a190_0x4a68,0xaf2e3));import{CliErrors}from'../../errors.js';function a190_0x4a68(){const _0x1a05f3=['7137027LVdOBS','yes','--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.','1268ZnqtAE','Skip\x20confirmation\x20prompt','40419550ZUKNyW','name','project-name','trim','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','cookie','upgrade','nonInteractive','../../commands/project/create/main.js','str','Prepared\x20local\x20project\x20template\x20directory','12400TdhhpX','Target\x20environment','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','7143iMrkje','string','5112aNIAel','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.','bool','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20','current-dir','861KOfZZH','Project\x20name','appcode','1130674fFHXFj','create','11DxUXGr','env','write','1938756yVXnxp','project','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','Create\x20a\x20new\x20project','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]','5405xGnZMw','template-source','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','boolean'];a190_0x4a68=function(){return _0x1a05f3;};return a190_0x4a68();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';const createFlags=[{'name':a190_0x110ff0(0x175),'type':a190_0x110ff0(0x183),'description':a190_0x110ff0(0x18a)},{'name':a190_0x110ff0(0x18f),'type':a190_0x110ff0(0x183),'description':a190_0x110ff0(0x180)},{'name':a190_0x110ff0(0x18b),'type':a190_0x110ff0(0x183),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'},{'name':a190_0x110ff0(0x188),'type':a190_0x110ff0(0x16e),'description':a190_0x110ff0(0x168),'default':![]},{'name':a190_0x110ff0(0x16c),'type':a190_0x110ff0(0x183),'description':a190_0x110ff0(0x17e)}],upgradeFlags=[{'name':a190_0x110ff0(0x170),'type':a190_0x110ff0(0x16e),'description':a190_0x110ff0(0x173),'default':![]}];function a190_0x454d(_0x4de06b,_0x1c1402){_0x4de06b=_0x4de06b-0x165;const _0x4a6892=a190_0x4a68();let _0x454d9e=_0x4a6892[_0x4de06b];return _0x454d9e;}export const projectDefinitions=[{'service':a190_0x110ff0(0x167),'command':a190_0x110ff0(0x18d),'description':a190_0x110ff0(0x169),'risk':a190_0x110ff0(0x165),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a190_0x110ff0(0x176),'description':a190_0x110ff0(0x181),'required':![]}],'flags':createFlags,async 'execute'(_0x4e9242){const _0x121c51=a190_0x110ff0,{createApp:_0xe922c0}=await import(_0x121c51(0x17c)),_0x2a69d9=_0x4e9242[_0x121c51(0x17d)](_0x121c51(0x175))[_0x121c51(0x177)]()||_0x4e9242['args'][0x0]?.[_0x121c51(0x177)](),_0x1cf64d=_0x4e9242[_0x121c51(0x17d)](_0x121c51(0x18f))||undefined,_0x34b939=_0x4e9242[_0x121c51(0x17d)]('appcode')||undefined,_0x88bc4f=_0x4e9242[_0x121c51(0x17d)]('template-source')[_0x121c51(0x177)]()||undefined,_0x198c94=_0x4e9242[_0x121c51(0x186)](_0x121c51(0x188));if(_0x198c94&&_0x2a69d9)throw CliErrors['validation'](_0x121c51(0x171),'Run\x20'+CLI_BIN_NAME+_0x121c51(0x185));if(_0x4e9242[_0x121c51(0x17b)]){if(!_0x2a69d9&&!_0x198c94)throw CliErrors['validation'](_0x121c51(0x16d),'Usage:\x20'+CLI_BIN_NAME+_0x121c51(0x187)+CLI_BIN_NAME+_0x121c51(0x16a));await _0xe922c0({'projectCode':_0x2a69d9,'appCode':_0x34b939,'env':_0x1cf64d,'cookie':_0x4e9242[_0x121c51(0x179)],'currentDir':_0x198c94,'nonInteractive':!![],'templateSource':_0x88bc4f});}else await _0xe922c0({'projectCode':_0x2a69d9,'appCode':_0x34b939,'env':_0x1cf64d,'cookie':_0x4e9242[_0x121c51(0x179)],'currentDir':_0x198c94,'templateSource':_0x88bc4f});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':a190_0x110ff0(0x167),'command':a190_0x110ff0(0x17a),'description':a190_0x110ff0(0x178),'risk':a190_0x110ff0(0x165),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x22604d){return await upgradeApp(_0x22604d['nonInteractive'],{'yes':_0x22604d['bool']('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a178_0x4c3e21=a178_0x218f;(function(_0x4b7f96,_0xd626cc){const _0x6eae82=a178_0x218f,_0x120a86=_0x4b7f96();while(!![]){try{const _0x46d419=-parseInt(_0x6eae82(0x77))/0x1*(-parseInt(_0x6eae82(0x8a))/0x2)+parseInt(_0x6eae82(0xb8))/0x3+parseInt(_0x6eae82(0xf4))/0x4*(-parseInt(_0x6eae82(0x9f))/0x5)+-parseInt(_0x6eae82(0xa7))/0x6+parseInt(_0x6eae82(0xf7))/0x7+parseInt(_0x6eae82(0xde))/0x8*(parseInt(_0x6eae82(0x9a))/0x9)+-parseInt(_0x6eae82(0xa5))/0xa*(parseInt(_0x6eae82(0xd1))/0xb);if(_0x46d419===_0xd626cc)break;else _0x120a86['push'](_0x120a86['shift']());}catch(_0x50be49){_0x120a86['push'](_0x120a86['shift']());}}}(a178_0x2559,0x56d28));import a178_0x1f4e96 from'chalk';import a178_0x39624f from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a178_0x218f(_0x342fd8,_0x43dff3){_0x342fd8=_0x342fd8-0x74;const _0x2559a8=a178_0x2559();let _0x218fdd=_0x2559a8[_0x342fd8];return _0x218fdd;}function a178_0x2559(){const _0x3aedd3=['\x20→\x20keys:\x20','cyan','\x20removed\x20(','.bak','configMigration','Config\x20migration','yes','Remove\x20.lovrabet/','\x20\x20\x20\x20\x20\x20\x20','\x20\x20npm\x20install','keys','Config\x20file:','message','stringify','.lovrabetrc','4YmqgNI','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','status','fail','path','white','done','already\x20exists\x20(will\x20merge)','\x20\x20Fields\x20to\x20migrate:\x20','isArray','utf8','parse','Upgrade\x20cancelled.','length','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','green','222957nGDDeG','\x20(backup:\x20','lovrabet/lovrabet-skill\x20removed','inherit','Upgrade\x20completed\x20successfully!','1955sTmoPR','args','join','none\x20found','Upgrade\x20@lovrabet/sdk','@lovrabet/dataset-mcp-server','10ojHRSS','isDirectory','295530etwKGH','sdkUpgrade','gray','lovrabet/rabetbase','Skill\x20swap:','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','log','\x20\x20Current\x20version\x20in\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Legacy\x20artifacts:','\x20\x20New\x20config\x20(.rabetbase.json):\x20','values','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','files','.lovrabet.json','package.json','lovrabet/rabetbase\x20installed\x20globally','840324gvAUDD','undefined','no\x20matching\x20entry\x20found','latest','not\x20found\x20(will\x20create)','label','not\x20needed','CANCEL','error','\x20removed','push','string','Step\x204/7:\x20MCP\x20config\x20—\x20','\x20\x20#\x20or','[\x22@lovrabet/sdk\x22]:\x20','hasNewConfig','MCP\x20config:','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Remove\x20legacy\x20artifacts','Step\x201/7:\x20Config\x20migration\x20—\x20','.claude/skills/lovrabet','\x20from\x20','Remove\x20old\x20skill','.lovrabet','some','7757299bYBpXk','===\x20Upgrade\x20Analysis\x20===','oldPath','filter','yellow','mcpServers','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20→\x20latest','entries','cwd','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','removed\x20','88XCLKzh','Step\x201/7:\x20Migrating\x20config...','no\x20legacy\x20entry','not\x20found\x20or\x20already\x20at\x20latest','@lovrabet/sdk','Step\x204/7:\x20Cleaning\x20MCP\x20config...','includes','oldMcpConfig','Step\x206/7:\x20Installing\x20new\x20skill...','object','no\x20legacy\x20config\x20found','start','failed','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','needsSkillSwap','detail','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','skipped\x20(no\x20legacy\x20config)','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','@lovrabet/sdk:','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','1660ZVcZCr','.cursor/mcp.json','Install\x20new\x20skill','4328884rZjyrU','succeed','red','\x20→\x20','exit\x20','step','\x20\x20Step\x20','needed','50665fujJGy','bold','FOUND','Clean\x20MCP\x20config'];a178_0x2559=function(){return _0x3aedd3;};return a178_0x2559();}import{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=[a178_0x4c3e21(0xb5),a178_0x4c3e21(0x89)];function collectIdeSkillFiles(_0x1db3c9){const _0x5a33ed=a178_0x4c3e21,_0x2d1e2d=[];for(const _0x1a7663 of Object[_0x5a33ed(0xb2)](CORE_IDE_CONFIGS)){if(_0x1a7663[_0x5a33ed(0xb4)])for(const _0x49577a of _0x1a7663['files']){_0x2d1e2d[_0x5a33ed(0xc2)](resolve(_0x1db3c9,_0x49577a[_0x5a33ed(0x8e)]));}}return _0x2d1e2d;}function analyse(_0x3088b0){const _0x476665=a178_0x4c3e21;let _0x1b9d42=null;const _0x291812=resolve(_0x3088b0,NEW_CONFIG_NAME),_0x9eed88=existsSync(_0x291812);for(const _0x4e14f4 of LEGACY_CONFIG_NAMES){const _0x729108=resolve(_0x3088b0,_0x4e14f4);if(existsSync(_0x729108)){const _0x344bd9=readConfigFile(_0x729108),_0x351de3=Object[_0x476665(0x85)](_0x344bd9)[_0x476665(0xd4)](_0x5eef84=>typeof _0x344bd9[_0x5eef84]!==_0x476665(0xb9));_0x1b9d42={'oldPath':_0x729108,'hasNewConfig':_0x9eed88,'fields':_0x351de3};break;}}const _0x377dab=[],_0x612a5b=resolve(_0x3088b0,_0x476665(0xcf));if(existsSync(_0x612a5b))_0x377dab[_0x476665(0xc2)](_0x612a5b);const _0x24c8a8=resolve(_0x3088b0,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x24c8a8))_0x377dab[_0x476665(0xc2)](_0x24c8a8);const _0x355c75=resolve(_0x3088b0,_0x476665(0xcc));if(existsSync(_0x355c75))_0x377dab[_0x476665(0xc2)](_0x355c75);for(const _0x1893fb of collectIdeSkillFiles(_0x3088b0)){if(existsSync(_0x1893fb))_0x377dab[_0x476665(0xc2)](_0x1893fb);}let _0xd86175=null;const _0x150aeb=resolve(_0x3088b0,_0x476665(0xf5));if(existsSync(_0x150aeb))try{const _0x4d2a12=JSON[_0x476665(0x95)](readFileSync(_0x150aeb,_0x476665(0x94)));if(_0x4d2a12?.[_0x476665(0xd6)]&&typeof _0x4d2a12['mcpServers']===_0x476665(0xe7)){const _0x2e698c=[];for(const [_0x57c8c0,_0xfda01]of Object['entries'](_0x4d2a12[_0x476665(0xd6)])){const _0x31db8c=_0xfda01;_0x31db8c?.['args']&&Array[_0x476665(0x93)](_0x31db8c['args'])&&_0x31db8c[_0x476665(0xa0)][_0x476665(0xd0)](_0x30a715=>typeof _0x30a715===_0x476665(0xc3)&&_0x30a715['includes'](_0x476665(0xa4)))&&_0x2e698c[_0x476665(0xc2)](_0x57c8c0);}_0x2e698c['length']>0x0&&(_0xd86175={'path':_0x150aeb,'keys':_0x2e698c});}}catch{}const _0x43096c=_0x377dab[_0x476665(0x97)]>0x0||_0x1b9d42!==null;let _0x535d45=null;const _0x3db3a9=resolve(_0x3088b0,_0x476665(0xb6));if(existsSync(_0x3db3a9))try{const _0x417c1c=JSON[_0x476665(0x95)](readFileSync(_0x3db3a9,_0x476665(0x94)));for(const _0x328bbd of['dependencies','devDependencies']){const _0x40f672=_0x417c1c?.[_0x328bbd]?.['@lovrabet/sdk'];if(typeof _0x40f672==='string'){_0x40f672!==_0x476665(0xbb)&&(_0x535d45={'pkgPath':_0x3db3a9,'currentVersion':_0x40f672,'field':_0x328bbd});break;}}}catch{}return{'configMigration':_0x1b9d42,'oldArtifacts':_0x377dab,'oldMcpConfig':_0xd86175,'needsSkillSwap':_0x43096c,'sdkUpgrade':_0x535d45};}function printReport(_0x8ecc2){const _0x1e51dd=a178_0x4c3e21,{configMigration:_0x4246a4,oldArtifacts:_0x1ff9c1,oldMcpConfig:_0x2977b9,needsSkillSwap:_0x42c329}=_0x8ecc2;console['log'](''),console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x78)](_0x1e51dd(0xd2))),console['log']('');_0x4246a4?(console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)]('Config\x20file:')+('\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xd5)](_0x4246a4[_0x1e51dd(0xd3)]))),console[_0x1e51dd(0xad)](_0x1e51dd(0xb1)+(_0x4246a4[_0x1e51dd(0xc7)]?a178_0x1f4e96['green'](_0x1e51dd(0x91)):a178_0x1f4e96['gray'](_0x1e51dd(0xbc)))),console[_0x1e51dd(0xad)](_0x1e51dd(0x92)+_0x4246a4['fields']['join'](',\x20')),console['log'](_0x1e51dd(0xf2))):console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0x86))+'\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xa9)](_0x1e51dd(0xe8)));console[_0x1e51dd(0xad)]('');if(_0x1ff9c1[_0x1e51dd(0x97)]>0x0){console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xb0)));for(const _0x2efa66 of _0x1ff9c1){console[_0x1e51dd(0xad)]('\x20\x20'+a178_0x1f4e96['red'](_0x1e51dd(0x79))+'\x20\x20'+_0x2efa66);}console[_0x1e51dd(0xad)]('\x20\x20Action:\x20delete');}else console['log'](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xb0))+'\x20\x20'+a178_0x1f4e96['gray'](_0x1e51dd(0xa2)));console[_0x1e51dd(0xad)]('');_0x2977b9?(console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xc8))+('\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xd5)](_0x2977b9[_0x1e51dd(0x8e)])+_0x1e51dd(0x7b)+_0x2977b9[_0x1e51dd(0x85)]['join'](',\x20'))),console[_0x1e51dd(0xad)](_0x1e51dd(0xd7))):console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xc8))+'\x20\x20'+a178_0x1f4e96['gray'](_0x1e51dd(0xe0)));console['log'](''),console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xab))+('\x20\x20'+(_0x42c329?a178_0x1f4e96[_0x1e51dd(0xd5)](_0x1e51dd(0x76)):a178_0x1f4e96[_0x1e51dd(0x99)](_0x1e51dd(0xbe)))));_0x42c329&&console['log'](_0x1e51dd(0xee)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1e51dd(0xad)]('');if(_0x8ecc2[_0x1e51dd(0xa8)]){const {currentVersion:_0xd7ba9c,field:_0x3f037c,pkgPath:_0x100bed}=_0x8ecc2[_0x1e51dd(0xa8)];console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)]('@lovrabet/sdk:')+('\x20\x20'+a178_0x1f4e96['yellow'](_0x100bed))),console[_0x1e51dd(0xad)](_0x1e51dd(0xae)+_0x3f037c+':\x20'+a178_0x1f4e96['yellow'](_0xd7ba9c)+'\x20→\x20'+a178_0x1f4e96[_0x1e51dd(0x99)](_0x1e51dd(0xbb))),console['log']('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xf1))+'\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xa9)](_0x1e51dd(0xe1)));console['log']('');}function execConfigMigration(_0x405066,_0xaf721d){const _0x56c4ce=a178_0x4c3e21,{configMigration:_0x75cb84}=_0x405066;if(!_0x75cb84?.[_0x56c4ce(0xd3)])return{'step':0x1,'label':_0x56c4ce(0x80),'ok':!![],'detail':_0x56c4ce(0xef)};const _0x159e38=readConfigFile(_0x75cb84[_0x56c4ce(0xd3)]),_0x3d0414=resolve(_0xaf721d,NEW_CONFIG_NAME),_0x51e019=_0x75cb84[_0x56c4ce(0xc7)]?readConfigFile(_0x3d0414):{};for(const [_0x38df48,_0x8c334a]of Object[_0x56c4ce(0xd9)](_0x159e38)){!(_0x38df48 in _0x51e019)&&(_0x51e019[_0x38df48]=_0x8c334a);}writeConfigFile(_0x3d0414,_0x51e019);const _0x58a4fb=_0x75cb84[_0x56c4ce(0xd3)]+_0x56c4ce(0x7e);return renameSync(_0x75cb84['oldPath'],_0x58a4fb),{'step':0x1,'label':_0x56c4ce(0x80),'ok':!![],'detail':_0x75cb84['oldPath']+_0x56c4ce(0xfa)+_0x3d0414+_0x56c4ce(0x9b)+_0x58a4fb+')'};}function execRemoveOldArtifacts(_0x22426d){const _0xfaa0f7=a178_0x4c3e21,_0x3b0992=[];for(const _0x24d31f of _0x22426d){try{if(!existsSync(_0x24d31f))continue;const _0x3b4e46=tryStat(_0x24d31f);_0x3b4e46?.[_0xfaa0f7(0xa6)]()?rmSync(_0x24d31f,{'recursive':!![],'force':!![]}):unlinkSync(_0x24d31f);}catch(_0x3a25d2){_0x3b0992[_0xfaa0f7(0xc2)](_0x24d31f+':\x20'+_0x3a25d2['message']);}}return{'step':0x3,'label':_0xfaa0f7(0xca),'ok':_0x3b0992[_0xfaa0f7(0x97)]===0x0,'detail':_0x3b0992[_0xfaa0f7(0x97)]>0x0?_0x22426d[_0xfaa0f7(0x97)]-_0x3b0992[_0xfaa0f7(0x97)]+'/'+_0x22426d[_0xfaa0f7(0x97)]+_0xfaa0f7(0x7d)+_0x3b0992[_0xfaa0f7(0xa1)](';\x20')+')':_0x22426d['length']+_0xfaa0f7(0xc1)};}function execCleanMcp(_0x4c2a5d){const _0x15d03b=a178_0x4c3e21;if(!_0x4c2a5d[_0x15d03b(0xe5)])return{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':'skipped'};try{const _0x3c556e=readFileSync(_0x4c2a5d[_0x15d03b(0xe5)][_0x15d03b(0x8e)],_0x15d03b(0x94)),_0x81355c=JSON[_0x15d03b(0x95)](_0x3c556e);if(_0x81355c?.[_0x15d03b(0xd6)]&&typeof _0x81355c[_0x15d03b(0xd6)]===_0x15d03b(0xe7)){const _0x1e6460=[];for(const [_0x406037,_0xd969f5]of Object[_0x15d03b(0xd9)](_0x81355c[_0x15d03b(0xd6)])){_0xd969f5?.[_0x15d03b(0xa0)]&&Array[_0x15d03b(0x93)](_0xd969f5[_0x15d03b(0xa0)])&&_0xd969f5[_0x15d03b(0xa0)][_0x15d03b(0xd0)](_0x2e3215=>typeof _0x2e3215===_0x15d03b(0xc3)&&_0x2e3215[_0x15d03b(0xe4)](_0x15d03b(0xa4)))&&_0x1e6460[_0x15d03b(0xc2)](_0x406037);}for(const _0x460296 of _0x1e6460){delete _0x81355c[_0x15d03b(0xd6)][_0x460296];}return _0x1e6460[_0x15d03b(0x97)]>0x0&&writeFileSync(_0x4c2a5d[_0x15d03b(0xe5)]['path'],JSON[_0x15d03b(0x88)](_0x81355c,null,0x2)+'\x0a',_0x15d03b(0x94)),{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':_0x15d03b(0xdd)+_0x1e6460[_0x15d03b(0xa1)](',\x20')+_0x15d03b(0xcd)+_0x4c2a5d[_0x15d03b(0xe5)][_0x15d03b(0x8e)]};}return{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':_0x15d03b(0xba)};}catch(_0x1f3b56){return{'step':0x4,'label':_0x15d03b(0x7a),'ok':![],'detail':_0x1f3b56[_0x15d03b(0x87)]};}}function execSkillsRemove(_0x30e2d0,_0x11f0fc){const _0x26c925=a178_0x4c3e21,_0x4cf3ae=runNpxSkillsRemove(_0x30e2d0,{'stdio':_0x26c925(0x9d),'yes':_0x11f0fc});return{'step':0x5,'label':_0x26c925(0xce),'ok':_0x4cf3ae['ok'],'detail':_0x4cf3ae['ok']?_0x26c925(0x9c):_0x4cf3ae[_0x26c925(0xc0)]??_0x26c925(0xfb)+_0x4cf3ae[_0x26c925(0x8c)]};}function execSkillsAdd(_0x3ccb2f,_0x2e2044){const _0xca8823=a178_0x4c3e21,_0x882b3e=runNpxSkillsAddGlobal(_0x3ccb2f,_0xca8823(0xaa),{'stdio':_0xca8823(0x9d),'yes':_0x2e2044});return{'step':0x6,'label':_0xca8823(0xf6),'ok':_0x882b3e['ok'],'detail':_0x882b3e['ok']?_0xca8823(0xb7):_0x882b3e[_0xca8823(0xc0)]??_0xca8823(0xfb)+_0x882b3e[_0xca8823(0x8c)]};}function execUpgradeSdk(_0x2862fc){const _0x3b4d05=a178_0x4c3e21;if(!_0x2862fc[_0x3b4d05(0xa8)])return{'step':0x7,'label':_0x3b4d05(0xa3),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x3786d4,currentVersion:_0x48933b,field:_0x123ad6}=_0x2862fc[_0x3b4d05(0xa8)];try{const _0x32cb53=readFileSync(_0x3786d4,_0x3b4d05(0x94)),_0x3a7469=JSON[_0x3b4d05(0x95)](_0x32cb53);return _0x3a7469[_0x123ad6][_0x3b4d05(0xe2)]=_0x3b4d05(0xbb),writeFileSync(_0x3786d4,JSON['stringify'](_0x3a7469,null,0x2)+'\x0a',_0x3b4d05(0x94)),{'step':0x7,'label':_0x3b4d05(0xa3),'ok':!![],'detail':_0x123ad6+_0x3b4d05(0xc6)+_0x48933b+_0x3b4d05(0xd8)};}catch(_0x3d15a2){return{'step':0x7,'label':_0x3b4d05(0xa3),'ok':![],'detail':_0x3d15a2[_0x3b4d05(0x87)]};}}function tryStat(_0x4788e3){try{return statSync(_0x4788e3);}catch{return undefined;}}function printSummary(_0x3dc0a7){const _0x1ba76d=a178_0x4c3e21;console['log'](''),console[_0x1ba76d(0xad)](a178_0x1f4e96['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x1ba76d(0xad)]('');for(const _0x2a52a3 of _0x3dc0a7){const _0x3e8156=_0x2a52a3['ok']?a178_0x1f4e96[_0x1ba76d(0x99)]('OK'):a178_0x1f4e96[_0x1ba76d(0xf9)]('FAIL');console[_0x1ba76d(0xad)]('\x20\x20'+_0x3e8156+_0x1ba76d(0x75)+_0x2a52a3[_0x1ba76d(0x74)]+':\x20'+_0x2a52a3[_0x1ba76d(0xbd)]);if(_0x2a52a3['detail'])console[_0x1ba76d(0xad)](_0x1ba76d(0x83)+a178_0x1f4e96[_0x1ba76d(0xa9)](_0x2a52a3[_0x1ba76d(0xed)]));}console[_0x1ba76d(0xad)]('');}export async function upgradeApp(_0x354b33,_0x3ba7f7){const _0x3aeb57=a178_0x4c3e21,_0x2d079f=process[_0x3aeb57(0xda)](),_0x213626=analyse(_0x2d079f),_0x4736a2=!_0x213626[_0x3aeb57(0x7f)]&&_0x213626['oldArtifacts'][_0x3aeb57(0x97)]===0x0&&!_0x213626[_0x3aeb57(0xe5)]&&!_0x213626[_0x3aeb57(0xec)]&&!_0x213626[_0x3aeb57(0xa8)];if(_0x4736a2){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x99)](_0x3aeb57(0xac)));return;}printReport(_0x213626);const _0x4eb8cd=!!(_0x3ba7f7[_0x3aeb57(0x81)]||_0x3ba7f7['Y']||_0x354b33);if(!_0x4eb8cd)try{const _0x13cb63=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x13cb63){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0xa9)](_0x3aeb57(0x96)));return;}}catch(_0x4cae29){if(_0x4cae29?.['message']===_0x3aeb57(0xbf)){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0xa9)]('Upgrade\x20cancelled.'));return;}throw _0x4cae29;}const _0x5e4e25=[],_0x197b90=a178_0x39624f({'text':_0x3aeb57(0xdf),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x764e75=execConfigMigration(_0x213626,_0x2d079f);_0x5e4e25[_0x3aeb57(0xc2)](_0x764e75),_0x197b90[_0x764e75['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xcb)+(_0x764e75[_0x3aeb57(0xed)]??(_0x764e75['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x3db9e4=resolve(_0x2d079f,_0x3aeb57(0xcf)),_0x235b6d=a178_0x39624f({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)]();if(existsSync(_0x3db9e4))try{rmSync(_0x3db9e4,{'recursive':!![],'force':!![]}),_0x235b6d[_0x3aeb57(0xf8)](_0x3aeb57(0xdc)),_0x5e4e25['push']({'step':0x2,'label':_0x3aeb57(0x82),'ok':!![]});}catch(_0x476376){_0x235b6d['fail']('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x476376['message']),_0x5e4e25[_0x3aeb57(0xc2)]({'step':0x2,'label':_0x3aeb57(0x82),'ok':![],'detail':_0x476376['message']});}else _0x235b6d['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x5e4e25['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x45b75b=a178_0x39624f({'text':_0x3aeb57(0xf3),'color':'cyan'})['start'](),_0x9906be=execRemoveOldArtifacts(_0x213626['oldArtifacts']);_0x5e4e25[_0x3aeb57(0xc2)](_0x9906be),_0x45b75b[_0x9906be['ok']?'succeed':_0x3aeb57(0x8d)](_0x3aeb57(0x8b)+(_0x9906be[_0x3aeb57(0xed)]??(_0x9906be['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x1e31bc=a178_0x39624f({'text':_0x3aeb57(0xe3),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x36d7c0=execCleanMcp(_0x213626);_0x5e4e25[_0x3aeb57(0xc2)](_0x36d7c0),_0x1e31bc[_0x36d7c0['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xc4)+(_0x36d7c0[_0x3aeb57(0xed)]??(_0x36d7c0['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x23dc10=a178_0x39624f({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x3aeb57(0x7c)})['start'](),_0x498f6e=execSkillsRemove(_0x2d079f,_0x4eb8cd);_0x5e4e25[_0x3aeb57(0xc2)](_0x498f6e),_0x23dc10[_0x498f6e['ok']?'succeed':_0x3aeb57(0x8d)](_0x3aeb57(0xeb)+(_0x498f6e['detail']??(_0x498f6e['ok']?'done':_0x3aeb57(0xea))));const _0x151bb6=a178_0x39624f({'text':_0x3aeb57(0xe6),'color':_0x3aeb57(0x7c)})['start'](),_0x46675b=execSkillsAdd(_0x2d079f,_0x4eb8cd);_0x5e4e25[_0x3aeb57(0xc2)](_0x46675b),_0x151bb6[_0x46675b['ok']?_0x3aeb57(0xf8):'fail'](_0x3aeb57(0xdb)+(_0x46675b[_0x3aeb57(0xed)]??(_0x46675b['ok']?'done':_0x3aeb57(0xea))));const _0x46972b=a178_0x39624f({'text':_0x3aeb57(0xaf),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x47ebfc=execUpgradeSdk(_0x213626);_0x5e4e25[_0x3aeb57(0xc2)](_0x47ebfc),_0x46972b[_0x47ebfc['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xf0)+(_0x47ebfc[_0x3aeb57(0xed)]??(_0x47ebfc['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea)))),printSummary(_0x5e4e25);const _0x3fbb9b=_0x5e4e25[_0x3aeb57(0xd0)](_0x1a948b=>!_0x1a948b['ok']);_0x3fbb9b?console['log'](a178_0x1f4e96[_0x3aeb57(0xd5)](_0x3aeb57(0x98))):console['log'](a178_0x1f4e96[_0x3aeb57(0x99)](_0x3aeb57(0x9e))),_0x47ebfc['ok']&&_0x213626['sdkUpgrade']&&(console[_0x3aeb57(0xad)](''),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x78)][_0x3aeb57(0x7c)](_0x3aeb57(0xc9))),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x7c)](_0x3aeb57(0xb3))),console['log'](''),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x8f)](_0x3aeb57(0x84))),console[_0x3aeb57(0xad)](a178_0x1f4e96['white'](_0x3aeb57(0xc5))),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x8f)]('\x20\x20bun\x20install')),console['log'](''));}
1
+ const a191_0x16ee30=a191_0x250b;(function(_0x45144a,_0x4c4c4b){const _0x17301e=a191_0x250b,_0x485470=_0x45144a();while(!![]){try{const _0x4a3a08=parseInt(_0x17301e(0x1e6))/0x1*(-parseInt(_0x17301e(0x201))/0x2)+-parseInt(_0x17301e(0x210))/0x3+-parseInt(_0x17301e(0x20a))/0x4*(parseInt(_0x17301e(0x24f))/0x5)+-parseInt(_0x17301e(0x234))/0x6+parseInt(_0x17301e(0x24c))/0x7*(parseInt(_0x17301e(0x204))/0x8)+-parseInt(_0x17301e(0x208))/0x9+parseInt(_0x17301e(0x21e))/0xa*(parseInt(_0x17301e(0x22f))/0xb);if(_0x4a3a08===_0x4c4c4b)break;else _0x485470['push'](_0x485470['shift']());}catch(_0xe53588){_0x485470['push'](_0x485470['shift']());}}}(a191_0x430f,0x252c9));import a191_0x2845ed from'chalk';import a191_0x3a8b4f from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a191_0x430f(){const _0x1d022e=['Upgrade\x20completed\x20successfully!','push','FOUND','.lovrabetrc','Legacy\x20artifacts:','keys','utf8','\x20\x20Step\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','stringify','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','isArray','detail','1029xsjDJb','undefined','yellow','1375875hvoWRZ','devDependencies','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','status','lovrabet/lovrabet-skill\x20removed','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Remove\x20.lovrabet/','Step\x201/7:\x20Migrating\x20config...','\x20→\x20latest','\x20→\x20','no\x20legacy\x20entry','args','needed','mcpServers','5DcfHYB','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','oldMcpConfig','Step\x205/7:\x20Removing\x20old\x20skill...','dependencies','done','object','some','log','length','\x20\x20npm\x20install','cyan','includes','no\x20legacy\x20config\x20found','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','join','white','isDirectory','values','parse','\x20\x20#\x20or','Step\x206/7:\x20Installing\x20new\x20skill...','message','.lovrabet','Skill\x20swap:','filter','Step\x204/7:\x20Cleaning\x20MCP\x20config...','115358NkQvAo','oldArtifacts','oldPath','15736ktxJOs','cwd','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','2367459IePcLH','package.json','4oODkdy','latest','inherit','Step\x201/7:\x20Config\x20migration\x20—\x20','@lovrabet/sdk:','@lovrabet/sdk','667194AamgzA','sdkUpgrade','none\x20found','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','not\x20found\x20(will\x20create)','configMigration','removed\x20','.cursor/rules/lovrabet_rules.mdc','Step\x204/7:\x20MCP\x20config\x20—\x20','skipped','===\x20Upgrade\x20Summary\x20===','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','MCP\x20config:','10vBFOOk','exit\x20','Remove\x20legacy\x20artifacts','green','Config\x20file:','@lovrabet/dataset-mcp-server','\x20(backup:\x20','Remove\x20old\x20skill','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','gray','failed','start','files','Clean\x20MCP\x20config','.bak','red','.claude/skills/lovrabet','11590458pwTctn','fail','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Upgrade\x20cancelled.','[\x22@lovrabet/sdk\x22]:\x20','849258sBLUQf','.cursor/mcp.json','path','succeed','not\x20needed','===\x20Upgrade\x20Analysis\x20===','bold','Upgrade\x20@lovrabet/sdk','CANCEL','Step\x207/7:\x20@lovrabet/sdk\x20—\x20'];a191_0x430f=function(){return _0x1d022e;};return a191_0x430f();}import{resolve}from'node:path';import{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';function a191_0x250b(_0x2daf97,_0x58ebc8){_0x2daf97=_0x2daf97-0x1db;const _0x430f13=a191_0x430f();let _0x250b84=_0x430f13[_0x2daf97];return _0x250b84;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=['.lovrabet.json',a191_0x16ee30(0x241)];function collectIdeSkillFiles(_0x40bfe1){const _0xf247b8=a191_0x16ee30,_0x170979=[];for(const _0x3f44ee of Object[_0xf247b8(0x1f8)](CORE_IDE_CONFIGS)){if(_0x3f44ee[_0xf247b8(0x22a)])for(const _0x459ead of _0x3f44ee['files']){_0x170979['push'](resolve(_0x40bfe1,_0x459ead['path']));}}return _0x170979;}function analyse(_0x3e3df9){const _0x3e8435=a191_0x16ee30;let _0x4b8f24=null;const _0x3883a7=resolve(_0x3e3df9,NEW_CONFIG_NAME),_0x3317d4=existsSync(_0x3883a7);for(const _0x2fc43f of LEGACY_CONFIG_NAMES){const _0x55b90b=resolve(_0x3e3df9,_0x2fc43f);if(existsSync(_0x55b90b)){const _0x2ff339=readConfigFile(_0x55b90b),_0x3d72f6=Object[_0x3e8435(0x243)](_0x2ff339)[_0x3e8435(0x1ff)](_0x3465e9=>typeof _0x2ff339[_0x3465e9]!==_0x3e8435(0x24d));_0x4b8f24={'oldPath':_0x55b90b,'hasNewConfig':_0x3317d4,'fields':_0x3d72f6};break;}}const _0x5ae51d=[],_0x54ff23=resolve(_0x3e3df9,'.lovrabet');if(existsSync(_0x54ff23))_0x5ae51d['push'](_0x54ff23);const _0x54226c=resolve(_0x3e3df9,_0x3e8435(0x217));if(existsSync(_0x54226c))_0x5ae51d['push'](_0x54226c);const _0x4fc8c7=resolve(_0x3e3df9,_0x3e8435(0x22e));if(existsSync(_0x4fc8c7))_0x5ae51d['push'](_0x4fc8c7);for(const _0x597b6f of collectIdeSkillFiles(_0x3e3df9)){if(existsSync(_0x597b6f))_0x5ae51d['push'](_0x597b6f);}let _0x3242bd=null;const _0x34f700=resolve(_0x3e3df9,_0x3e8435(0x235));if(existsSync(_0x34f700))try{const _0x4fdd40=JSON[_0x3e8435(0x1f9)](readFileSync(_0x34f700,_0x3e8435(0x244)));if(_0x4fdd40?.['mcpServers']&&typeof _0x4fdd40['mcpServers']==='object'){const _0x568228=[];for(const [_0x3333cd,_0x342dbb]of Object['entries'](_0x4fdd40['mcpServers'])){const _0x38d7f5=_0x342dbb;_0x38d7f5?.[_0x3e8435(0x1e3)]&&Array[_0x3e8435(0x24a)](_0x38d7f5[_0x3e8435(0x1e3)])&&_0x38d7f5[_0x3e8435(0x1e3)]['some'](_0x68512b=>typeof _0x68512b==='string'&&_0x68512b[_0x3e8435(0x1f2)](_0x3e8435(0x223)))&&_0x568228[_0x3e8435(0x23f)](_0x3333cd);}_0x568228[_0x3e8435(0x1ef)]>0x0&&(_0x3242bd={'path':_0x34f700,'keys':_0x568228});}}catch{}const _0x91fb2a=_0x5ae51d[_0x3e8435(0x1ef)]>0x0||_0x4b8f24!==null;let _0x2388bd=null;const _0x3542b2=resolve(_0x3e3df9,_0x3e8435(0x209));if(existsSync(_0x3542b2))try{const _0x347f62=JSON[_0x3e8435(0x1f9)](readFileSync(_0x3542b2,_0x3e8435(0x244)));for(const _0x74fce1 of[_0x3e8435(0x1ea),_0x3e8435(0x250)]){const _0x18186d=_0x347f62?.[_0x74fce1]?.['@lovrabet/sdk'];if(typeof _0x18186d==='string'){_0x18186d!==_0x3e8435(0x20b)&&(_0x2388bd={'pkgPath':_0x3542b2,'currentVersion':_0x18186d,'field':_0x74fce1});break;}}}catch{}return{'configMigration':_0x4b8f24,'oldArtifacts':_0x5ae51d,'oldMcpConfig':_0x3242bd,'needsSkillSwap':_0x91fb2a,'sdkUpgrade':_0x2388bd};}function printReport(_0x1813aa){const _0x287310=a191_0x16ee30,{configMigration:_0x25f583,oldArtifacts:_0x5c8261,oldMcpConfig:_0xba911d,needsSkillSwap:_0x5c010f}=_0x1813aa;console[_0x287310(0x1ee)](''),console[_0x287310(0x1ee)](a191_0x2845ed[_0x287310(0x23a)](_0x287310(0x239))),console[_0x287310(0x1ee)]('');_0x25f583?(console[_0x287310(0x1ee)](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x222))+('\x20\x20'+a191_0x2845ed[_0x287310(0x24e)](_0x25f583['oldPath']))),console[_0x287310(0x1ee)](_0x287310(0x206)+(_0x25f583['hasNewConfig']?a191_0x2845ed['green']('already\x20exists\x20(will\x20merge)'):a191_0x2845ed['gray'](_0x287310(0x214)))),console[_0x287310(0x1ee)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x25f583['fields'][_0x287310(0x1f5)](',\x20')),console[_0x287310(0x1ee)](_0x287310(0x249))):console[_0x287310(0x1ee)](a191_0x2845ed['cyan'](_0x287310(0x222))+'\x20\x20'+a191_0x2845ed[_0x287310(0x227)](_0x287310(0x1f3)));console[_0x287310(0x1ee)]('');if(_0x5c8261[_0x287310(0x1ef)]>0x0){console[_0x287310(0x1ee)](a191_0x2845ed['cyan'](_0x287310(0x242)));for(const _0x498a3d of _0x5c8261){console[_0x287310(0x1ee)]('\x20\x20'+a191_0x2845ed[_0x287310(0x22d)](_0x287310(0x240))+'\x20\x20'+_0x498a3d);}console['log']('\x20\x20Action:\x20delete');}else console[_0x287310(0x1ee)](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x242))+'\x20\x20'+a191_0x2845ed[_0x287310(0x227)](_0x287310(0x212)));console['log']('');_0xba911d?(console[_0x287310(0x1ee)](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x21d))+('\x20\x20'+a191_0x2845ed[_0x287310(0x24e)](_0xba911d[_0x287310(0x236)])+'\x20→\x20keys:\x20'+_0xba911d[_0x287310(0x243)][_0x287310(0x1f5)](',\x20'))),console[_0x287310(0x1ee)](_0x287310(0x226))):console[_0x287310(0x1ee)](a191_0x2845ed['cyan']('MCP\x20config:')+'\x20\x20'+a191_0x2845ed[_0x287310(0x227)](_0x287310(0x1e2)));console[_0x287310(0x1ee)](''),console['log'](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x1fe))+('\x20\x20'+(_0x5c010f?a191_0x2845ed[_0x287310(0x24e)](_0x287310(0x1e4)):a191_0x2845ed[_0x287310(0x221)](_0x287310(0x238)))));_0x5c010f&&console['log'](_0x287310(0x207)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x287310(0x1ee)]('');if(_0x1813aa[_0x287310(0x211)]){const {currentVersion:_0x1df409,field:_0x2d9e78,pkgPath:_0x52ef74}=_0x1813aa[_0x287310(0x211)];console[_0x287310(0x1ee)](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x20e))+('\x20\x20'+a191_0x2845ed['yellow'](_0x52ef74))),console[_0x287310(0x1ee)]('\x20\x20Current\x20version\x20in\x20'+_0x2d9e78+':\x20'+a191_0x2845ed[_0x287310(0x24e)](_0x1df409)+_0x287310(0x1e1)+a191_0x2845ed['green'](_0x287310(0x20b))),console['log'](_0x287310(0x21c));}else console['log'](a191_0x2845ed[_0x287310(0x1f1)](_0x287310(0x20e))+'\x20\x20'+a191_0x2845ed[_0x287310(0x227)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x287310(0x1ee)]('');}function execConfigMigration(_0x3031d3,_0x4d6a64){const _0x17c31b=a191_0x16ee30,{configMigration:_0x23af15}=_0x3031d3;if(!_0x23af15?.[_0x17c31b(0x203)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x1d62e5=readConfigFile(_0x23af15[_0x17c31b(0x203)]),_0x3f3bd9=resolve(_0x4d6a64,NEW_CONFIG_NAME),_0x3ab1de=_0x23af15['hasNewConfig']?readConfigFile(_0x3f3bd9):{};for(const [_0x11e123,_0x3ff3ee]of Object['entries'](_0x1d62e5)){!(_0x11e123 in _0x3ab1de)&&(_0x3ab1de[_0x11e123]=_0x3ff3ee);}writeConfigFile(_0x3f3bd9,_0x3ab1de);const _0x360969=_0x23af15[_0x17c31b(0x203)]+_0x17c31b(0x22c);return renameSync(_0x23af15['oldPath'],_0x360969),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x23af15[_0x17c31b(0x203)]+_0x17c31b(0x1e1)+_0x3f3bd9+_0x17c31b(0x224)+_0x360969+')'};}function execRemoveOldArtifacts(_0x3aa07e){const _0x246425=a191_0x16ee30,_0x5a0a60=[];for(const _0x56ef5d of _0x3aa07e){try{if(!existsSync(_0x56ef5d))continue;const _0x29e664=tryStat(_0x56ef5d);_0x29e664?.[_0x246425(0x1f7)]()?rmSync(_0x56ef5d,{'recursive':!![],'force':!![]}):unlinkSync(_0x56ef5d);}catch(_0x119bff){_0x5a0a60[_0x246425(0x23f)](_0x56ef5d+':\x20'+_0x119bff['message']);}}return{'step':0x3,'label':_0x246425(0x220),'ok':_0x5a0a60['length']===0x0,'detail':_0x5a0a60[_0x246425(0x1ef)]>0x0?_0x3aa07e[_0x246425(0x1ef)]-_0x5a0a60[_0x246425(0x1ef)]+'/'+_0x3aa07e[_0x246425(0x1ef)]+'\x20removed\x20('+_0x5a0a60[_0x246425(0x1f5)](';\x20')+')':_0x3aa07e[_0x246425(0x1ef)]+'\x20removed'};}function execCleanMcp(_0x821c37){const _0x3c3ff8=a191_0x16ee30;if(!_0x821c37[_0x3c3ff8(0x1e8)])return{'step':0x4,'label':_0x3c3ff8(0x22b),'ok':!![],'detail':_0x3c3ff8(0x219)};try{const _0x14b999=readFileSync(_0x821c37[_0x3c3ff8(0x1e8)]['path'],_0x3c3ff8(0x244)),_0x4e2d9f=JSON[_0x3c3ff8(0x1f9)](_0x14b999);if(_0x4e2d9f?.[_0x3c3ff8(0x1e5)]&&typeof _0x4e2d9f[_0x3c3ff8(0x1e5)]===_0x3c3ff8(0x1ec)){const _0x31e1a7=[];for(const [_0x27979d,_0x1efdf1]of Object['entries'](_0x4e2d9f[_0x3c3ff8(0x1e5)])){_0x1efdf1?.[_0x3c3ff8(0x1e3)]&&Array['isArray'](_0x1efdf1[_0x3c3ff8(0x1e3)])&&_0x1efdf1[_0x3c3ff8(0x1e3)][_0x3c3ff8(0x1ed)](_0x164193=>typeof _0x164193==='string'&&_0x164193[_0x3c3ff8(0x1f2)](_0x3c3ff8(0x223)))&&_0x31e1a7['push'](_0x27979d);}for(const _0xb2346b of _0x31e1a7){delete _0x4e2d9f[_0x3c3ff8(0x1e5)][_0xb2346b];}return _0x31e1a7['length']>0x0&&writeFileSync(_0x821c37[_0x3c3ff8(0x1e8)][_0x3c3ff8(0x236)],JSON[_0x3c3ff8(0x247)](_0x4e2d9f,null,0x2)+'\x0a',_0x3c3ff8(0x244)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x3c3ff8(0x216)+_0x31e1a7[_0x3c3ff8(0x1f5)](',\x20')+'\x20from\x20'+_0x821c37[_0x3c3ff8(0x1e8)][_0x3c3ff8(0x236)]};}return{'step':0x4,'label':_0x3c3ff8(0x22b),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x585b6f){return{'step':0x4,'label':_0x3c3ff8(0x22b),'ok':![],'detail':_0x585b6f[_0x3c3ff8(0x1fc)]};}}function execSkillsRemove(_0x278455,_0x44c53d){const _0x10977c=a191_0x16ee30,_0x1d265e=runNpxSkillsRemove(_0x278455,{'stdio':_0x10977c(0x20c),'yes':_0x44c53d});return{'step':0x5,'label':_0x10977c(0x225),'ok':_0x1d265e['ok'],'detail':_0x1d265e['ok']?_0x10977c(0x1dc):_0x1d265e['error']??'exit\x20'+_0x1d265e[_0x10977c(0x1db)]};}function execSkillsAdd(_0x5b0348,_0x5808b5){const _0x11c632=a191_0x16ee30,_0x5d4d6f=runNpxSkillsAddGlobal(_0x5b0348,'lovrabet/rabetbase',{'stdio':_0x11c632(0x20c),'yes':_0x5808b5});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x5d4d6f['ok'],'detail':_0x5d4d6f['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x5d4d6f['error']??_0x11c632(0x21f)+_0x5d4d6f[_0x11c632(0x1db)]};}function execUpgradeSdk(_0x4a7332){const _0x548daa=a191_0x16ee30;if(!_0x4a7332[_0x548daa(0x211)])return{'step':0x7,'label':_0x548daa(0x23b),'ok':!![],'detail':_0x548daa(0x246)};const {pkgPath:_0x55568e,currentVersion:_0x17ef21,field:_0x59abc7}=_0x4a7332[_0x548daa(0x211)];try{const _0x4c80ea=readFileSync(_0x55568e,_0x548daa(0x244)),_0x1ab9f2=JSON[_0x548daa(0x1f9)](_0x4c80ea);return _0x1ab9f2[_0x59abc7][_0x548daa(0x20f)]='latest',writeFileSync(_0x55568e,JSON[_0x548daa(0x247)](_0x1ab9f2,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x548daa(0x23b),'ok':!![],'detail':_0x59abc7+_0x548daa(0x233)+_0x17ef21+_0x548daa(0x1e0)};}catch(_0x38d7de){return{'step':0x7,'label':_0x548daa(0x23b),'ok':![],'detail':_0x38d7de[_0x548daa(0x1fc)]};}}function tryStat(_0x8ac591){try{return statSync(_0x8ac591);}catch{return undefined;}}function printSummary(_0x4a2e9d){const _0x5953c6=a191_0x16ee30;console[_0x5953c6(0x1ee)](''),console['log'](a191_0x2845ed[_0x5953c6(0x23a)](_0x5953c6(0x21a))),console[_0x5953c6(0x1ee)]('');for(const _0x20d285 of _0x4a2e9d){const _0x3df99c=_0x20d285['ok']?a191_0x2845ed[_0x5953c6(0x221)]('OK'):a191_0x2845ed[_0x5953c6(0x22d)]('FAIL');console['log']('\x20\x20'+_0x3df99c+_0x5953c6(0x245)+_0x20d285['step']+':\x20'+_0x20d285['label']);if(_0x20d285[_0x5953c6(0x24b)])console[_0x5953c6(0x1ee)]('\x20\x20\x20\x20\x20\x20\x20'+a191_0x2845ed[_0x5953c6(0x227)](_0x20d285['detail']));}console[_0x5953c6(0x1ee)]('');}export async function upgradeApp(_0x2a226d,_0x41261a){const _0x164e71=a191_0x16ee30,_0x578acf=process[_0x164e71(0x205)](),_0x20de4c=analyse(_0x578acf),_0x27f0ac=!_0x20de4c[_0x164e71(0x215)]&&_0x20de4c[_0x164e71(0x202)][_0x164e71(0x1ef)]===0x0&&!_0x20de4c[_0x164e71(0x1e8)]&&!_0x20de4c['needsSkillSwap']&&!_0x20de4c[_0x164e71(0x211)];if(_0x27f0ac){console[_0x164e71(0x1ee)](a191_0x2845ed[_0x164e71(0x221)](_0x164e71(0x231)));return;}printReport(_0x20de4c);const _0x1d7243=!!(_0x41261a['yes']||_0x41261a['Y']||_0x2a226d);if(!_0x1d7243)try{const _0x6fb295=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x6fb295){console[_0x164e71(0x1ee)](a191_0x2845ed[_0x164e71(0x227)](_0x164e71(0x232)));return;}}catch(_0x2c3783){if(_0x2c3783?.[_0x164e71(0x1fc)]===_0x164e71(0x23c)){console[_0x164e71(0x1ee)](a191_0x2845ed[_0x164e71(0x227)](_0x164e71(0x232)));return;}throw _0x2c3783;}const _0x3804e5=[],_0x34fdca=a191_0x3a8b4f({'text':_0x164e71(0x1df),'color':_0x164e71(0x1f1)})[_0x164e71(0x229)](),_0x586775=execConfigMigration(_0x20de4c,_0x578acf);_0x3804e5[_0x164e71(0x23f)](_0x586775),_0x34fdca[_0x586775['ok']?'succeed':_0x164e71(0x230)](_0x164e71(0x20d)+(_0x586775[_0x164e71(0x24b)]??(_0x586775['ok']?_0x164e71(0x1eb):_0x164e71(0x228))));const _0x3be705=resolve(_0x578acf,_0x164e71(0x1fd)),_0x198652=a191_0x3a8b4f({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x164e71(0x1f1)})[_0x164e71(0x229)]();if(existsSync(_0x3be705))try{rmSync(_0x3be705,{'recursive':!![],'force':!![]}),_0x198652[_0x164e71(0x237)](_0x164e71(0x251)),_0x3804e5['push']({'step':0x2,'label':_0x164e71(0x1de),'ok':!![]});}catch(_0x2626af){_0x198652[_0x164e71(0x230)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x2626af[_0x164e71(0x1fc)]),_0x3804e5['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x2626af[_0x164e71(0x1fc)]});}else _0x198652['info'](_0x164e71(0x1e7)),_0x3804e5[_0x164e71(0x23f)]({'step':0x2,'label':_0x164e71(0x1de),'ok':!![],'detail':_0x164e71(0x219)});const _0x198f81=a191_0x3a8b4f({'text':_0x164e71(0x1dd),'color':'cyan'})['start'](),_0x52958e=execRemoveOldArtifacts(_0x20de4c['oldArtifacts']);_0x3804e5[_0x164e71(0x23f)](_0x52958e),_0x198f81[_0x52958e['ok']?_0x164e71(0x237):_0x164e71(0x230)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x52958e[_0x164e71(0x24b)]??(_0x52958e['ok']?_0x164e71(0x1eb):'failed')));const _0x5b23aa=a191_0x3a8b4f({'text':_0x164e71(0x200),'color':_0x164e71(0x1f1)})[_0x164e71(0x229)](),_0x2a1188=execCleanMcp(_0x20de4c);_0x3804e5[_0x164e71(0x23f)](_0x2a1188),_0x5b23aa[_0x2a1188['ok']?_0x164e71(0x237):_0x164e71(0x230)](_0x164e71(0x218)+(_0x2a1188[_0x164e71(0x24b)]??(_0x2a1188['ok']?_0x164e71(0x1eb):_0x164e71(0x228))));const _0x1d3894=a191_0x3a8b4f({'text':_0x164e71(0x1e9),'color':_0x164e71(0x1f1)})['start'](),_0x8900b1=execSkillsRemove(_0x578acf,_0x1d7243);_0x3804e5[_0x164e71(0x23f)](_0x8900b1),_0x1d3894[_0x8900b1['ok']?'succeed':_0x164e71(0x230)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x8900b1[_0x164e71(0x24b)]??(_0x8900b1['ok']?'done':_0x164e71(0x228))));const _0x2d7fe7=a191_0x3a8b4f({'text':_0x164e71(0x1fb),'color':'cyan'})['start'](),_0x41c163=execSkillsAdd(_0x578acf,_0x1d7243);_0x3804e5[_0x164e71(0x23f)](_0x41c163),_0x2d7fe7[_0x41c163['ok']?_0x164e71(0x237):_0x164e71(0x230)](_0x164e71(0x213)+(_0x41c163['detail']??(_0x41c163['ok']?_0x164e71(0x1eb):_0x164e71(0x228))));const _0x394d00=a191_0x3a8b4f({'text':_0x164e71(0x21b),'color':_0x164e71(0x1f1)})[_0x164e71(0x229)](),_0x4a716e=execUpgradeSdk(_0x20de4c);_0x3804e5[_0x164e71(0x23f)](_0x4a716e),_0x394d00[_0x4a716e['ok']?_0x164e71(0x237):_0x164e71(0x230)](_0x164e71(0x23d)+(_0x4a716e[_0x164e71(0x24b)]??(_0x4a716e['ok']?'done':_0x164e71(0x228)))),printSummary(_0x3804e5);const _0x456f86=_0x3804e5[_0x164e71(0x1ed)](_0x56d9d3=>!_0x56d9d3['ok']);_0x456f86?console[_0x164e71(0x1ee)](a191_0x2845ed['yellow'](_0x164e71(0x1f4))):console[_0x164e71(0x1ee)](a191_0x2845ed[_0x164e71(0x221)](_0x164e71(0x23e))),_0x4a716e['ok']&&_0x20de4c[_0x164e71(0x211)]&&(console[_0x164e71(0x1ee)](''),console[_0x164e71(0x1ee)](a191_0x2845ed['bold'][_0x164e71(0x1f1)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x164e71(0x1ee)](a191_0x2845ed[_0x164e71(0x1f1)](_0x164e71(0x248))),console['log'](''),console['log'](a191_0x2845ed[_0x164e71(0x1f6)](_0x164e71(0x1f0))),console['log'](a191_0x2845ed[_0x164e71(0x1f6)](_0x164e71(0x1fa))),console['log'](a191_0x2845ed[_0x164e71(0x1f6)]('\x20\x20bun\x20install')),console[_0x164e71(0x1ee)](''));}