@lovrabet/rabetbase-cli 2.2.4-beta.5 → 2.2.4-beta.6

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 (209) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/list.js +1 -1
  87. package/lib/commands/menu/shared/compare-table.js +1 -1
  88. package/lib/commands/menu/shared/index.js +1 -1
  89. package/lib/commands/menu/shared/inquirer.js +1 -1
  90. package/lib/commands/menu/shared/local-pages.js +1 -1
  91. package/lib/commands/menu/shared/logic.js +1 -1
  92. package/lib/commands/menu/shared/service.js +1 -1
  93. package/lib/commands/menu/shared/sync-core.js +1 -1
  94. package/lib/commands/menu/shared/update-core.js +1 -1
  95. package/lib/commands/menu/shared/valid-url.js +1 -1
  96. package/lib/commands/menu/sync.js +1 -1
  97. package/lib/commands/menu/update.js +1 -1
  98. package/lib/commands/page/generate-start.js +1 -1
  99. package/lib/commands/page/generate-status.js +1 -1
  100. package/lib/commands/page/index.js +1 -1
  101. package/lib/commands/page/pull.js +1 -1
  102. package/lib/commands/page/push.js +1 -1
  103. package/lib/commands/page/relation-audit.js +1 -1
  104. package/lib/commands/page/shared.js +1 -1
  105. package/lib/commands/page/standard-page-status.js +1 -1
  106. package/lib/commands/page/sync.js +1 -1
  107. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  108. package/lib/commands/project/create/format-elapsed.js +1 -1
  109. package/lib/commands/project/create/main.js +1 -1
  110. package/lib/commands/project/create/non-interactive.js +1 -1
  111. package/lib/commands/project/create/project-template-path.js +1 -1
  112. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  113. package/lib/commands/project/create/use-format-code.js +1 -1
  114. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  115. package/lib/commands/project/index.js +1 -1
  116. package/lib/commands/project/init.js +1 -1
  117. package/lib/commands/project/upgrade.js +1 -1
  118. package/lib/commands/registry.js +1 -1
  119. package/lib/commands/run/index.js +1 -1
  120. package/lib/commands/schema.js +1 -1
  121. package/lib/commands/skill/index.js +1 -1
  122. package/lib/commands/sql/create.js +1 -1
  123. package/lib/commands/sql/delete.js +1 -1
  124. package/lib/commands/sql/detail.js +1 -1
  125. package/lib/commands/sql/exec.js +1 -1
  126. package/lib/commands/sql/index.js +1 -1
  127. package/lib/commands/sql/list.js +1 -1
  128. package/lib/commands/sql/pull.js +1 -1
  129. package/lib/commands/sql/push.js +1 -1
  130. package/lib/commands/sql/save.js +1 -1
  131. package/lib/commands/sql/shared.js +1 -1
  132. package/lib/commands/sql/status.js +1 -1
  133. package/lib/commands/sql/validate.js +1 -1
  134. package/lib/commands/workspace/index.js +1 -0
  135. package/lib/config/schema.js +1 -1
  136. package/lib/constant/cdn.js +1 -1
  137. package/lib/constant/cli.js +1 -1
  138. package/lib/constant/defaults.js +1 -1
  139. package/lib/constant/domain.js +1 -1
  140. package/lib/constant/env.js +1 -1
  141. package/lib/constant/output.js +1 -1
  142. package/lib/constant/paths.js +1 -1
  143. package/lib/constant/risk.js +1 -1
  144. package/lib/context/app-resolver.js +1 -1
  145. package/lib/context/auth-resolver.js +1 -1
  146. package/lib/context/config-loader.js +1 -1
  147. package/lib/context.js +1 -1
  148. package/lib/core/alias-resolver.js +1 -1
  149. package/lib/core/api-client.js +1 -1
  150. package/lib/core/bff/config.js +1 -1
  151. package/lib/core/bff/file-system.js +1 -1
  152. package/lib/core/bff/hash.js +1 -1
  153. package/lib/core/bff/lock.js +1 -1
  154. package/lib/core/bff/utils.js +1 -1
  155. package/lib/core/db-resolver.js +1 -1
  156. package/lib/core/page/file-system.js +1 -1
  157. package/lib/core/page/hash.js +1 -1
  158. package/lib/core/page/lock.js +1 -1
  159. package/lib/core/sql-sync/config.js +1 -1
  160. package/lib/core/sql-sync/file-system.js +1 -1
  161. package/lib/core/sql-sync/hash.js +1 -1
  162. package/lib/core/sql-sync/lock.js +1 -1
  163. package/lib/core/sql-sync/utils.js +1 -1
  164. package/lib/core/sql-validator.js +1 -1
  165. package/lib/errors.js +1 -1
  166. package/lib/framework/build-all-flags.js +1 -1
  167. package/lib/framework/flags.js +1 -1
  168. package/lib/framework/help.js +1 -1
  169. package/lib/framework/index.js +1 -1
  170. package/lib/framework/output.js +1 -1
  171. package/lib/framework/response.js +1 -1
  172. package/lib/framework/runner-alias.js +1 -1
  173. package/lib/framework/runner.js +1 -1
  174. package/lib/framework/schema-export.js +1 -1
  175. package/lib/framework/types.js +1 -1
  176. package/lib/generated/build-info.js +1 -1
  177. package/lib/help.js +1 -1
  178. package/lib/skills/main.js +1 -1
  179. package/lib/skills/npx-skills-add.js +1 -1
  180. package/lib/telemetry/cli-command-trace.js +1 -1
  181. package/lib/telemetry/cli-help-trace.js +1 -1
  182. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  183. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  184. package/lib/telemetry/send-cli-trace-log.js +1 -1
  185. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  186. package/lib/utils/ai_config.js +1 -1
  187. package/lib/utils/apply-jq-filter.js +1 -1
  188. package/lib/utils/cdn-config.js +1 -1
  189. package/lib/utils/check-sdk-version.js +1 -1
  190. package/lib/utils/cli-version-check.js +1 -1
  191. package/lib/utils/cli-version-policy.js +1 -1
  192. package/lib/utils/config.js +1 -1
  193. package/lib/utils/copy-directory.js +1 -1
  194. package/lib/utils/entity-with-id.js +1 -1
  195. package/lib/utils/file-utils.js +1 -1
  196. package/lib/utils/guides-cdn.js +1 -1
  197. package/lib/utils/http-client.js +1 -1
  198. package/lib/utils/is-non-interactive.js +1 -1
  199. package/lib/utils/logger.js +1 -1
  200. package/lib/utils/params.js +1 -1
  201. package/lib/utils/platform.js +1 -1
  202. package/lib/utils/rules-cdn.js +1 -1
  203. package/lib/utils/sleep.js +1 -1
  204. package/lib/utils/template-replacer.js +1 -1
  205. package/lib/utils/update-notice.js +1 -1
  206. package/lib/utils/version.js +1 -1
  207. package/lib/utils/with-active-cookie.js +1 -1
  208. package/lib/utils/write-cli-side-channel.js +1 -1
  209. package/package.json +1 -1
@@ -1 +1 @@
1
- function a110_0x20ee(_0x5c91cf,_0x39896e){_0x5c91cf=_0x5c91cf-0x154;const _0x4d592c=a110_0x4d59();let _0x20ee5e=_0x4d592c[_0x5c91cf];return _0x20ee5e;}(function(_0x2fd801,_0x46cbef){const _0x2acff1=a110_0x20ee,_0x37f138=_0x2fd801();while(!![]){try{const _0x455609=-parseInt(_0x2acff1(0x188))/0x1+-parseInt(_0x2acff1(0x186))/0x2*(parseInt(_0x2acff1(0x177))/0x3)+-parseInt(_0x2acff1(0x15a))/0x4+-parseInt(_0x2acff1(0x167))/0x5*(-parseInt(_0x2acff1(0x17d))/0x6)+parseInt(_0x2acff1(0x173))/0x7+-parseInt(_0x2acff1(0x155))/0x8*(parseInt(_0x2acff1(0x18a))/0x9)+-parseInt(_0x2acff1(0x166))/0xa*(-parseInt(_0x2acff1(0x17f))/0xb);if(_0x455609===_0x46cbef)break;else _0x37f138['push'](_0x37f138['shift']());}catch(_0x55dd69){_0x37f138['push'](_0x37f138['shift']());}}}(a110_0x4d59,0x222f5));import a110_0x36d0ed from'path';import a110_0x20dbe1 from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../api/fetch-model-list.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);function a110_0x4d59(){const _0xd6a5c2=['Project\x20name\x20cannot\x20be\x20empty.','belowMinimum','\x20\x20√\x20package.json\x20updated','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','Use\x20a\x20different\x20project\x20name.','A\x20project\x20created\x20with\x20Lovrabet\x20CLI','ignore','\x20\x20Pulling\x20API\x20configuration...','utf-8','parse','89607PpKSKo','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','writeFile','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','6PMATwb','package.json','chdir','access','description','stringify','1806GiAiKh','Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','22tMbIho','Check\x20directory\x20permissions.','\x20\x20√\x20Project\x20template\x20created','Cannot\x20create\x20project\x20in\x20current\x20directory.','name','log','needsUpgrade','148034YmhJhX','env','169211HXqrqt','\x22\x20already\x20exists.','45gAJzmY','join','\x20model(s)','bun\x20--version','resolve','271104EEhuXc','string','\x20api\x20pull`\x20manually\x20later.','\x20\x20√\x20Pulled\x20','\x0a\x20\x20cd\x20','1001040EPfuph','bun\x20run\x20format','cwd','\x20dataset(s),\x20generated\x20','validation','npm','production','constants','length','Project\x20name\x20contains\x20invalid\x20characters.','\x0a√\x20Project\x20','\x20\x20Installing\x20dependencies...','4219990PYYBEU','335aANhPj','toLocaleString'];a110_0x4d59=function(){return _0xd6a5c2;};return a110_0x4d59();}export async function createProjectNonInteractive(_0x118b9f,_0x1cf928,_0x4c92a0,_0x472e53){const _0x1e0cb5=a110_0x20ee,_0x1dba7e=await checkCliVersion();(_0x1dba7e[_0x1e0cb5(0x185)]||_0x1dba7e[_0x1e0cb5(0x16a)])&&(printCliUpgradeWarning(_0x1dba7e),assertCliVersionSupported(_0x1dba7e));if(!_0x118b9f||_0x118b9f['trim']()==='')throw CliErrors[_0x1e0cb5(0x15e)](_0x1e0cb5(0x169));const _0x24d4da=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x24d4da['test'](_0x118b9f))throw CliErrors[_0x1e0cb5(0x15e)](_0x1e0cb5(0x163),_0x1e0cb5(0x17e));if(_0x118b9f[_0x1e0cb5(0x162)]>0x64)throw CliErrors[_0x1e0cb5(0x15e)](_0x1e0cb5(0x176));const _0x1cc0d2=a110_0x36d0ed[_0x1e0cb5(0x154)](process[_0x1e0cb5(0x15c)](),_0x118b9f);if(existsSync(_0x1cc0d2))throw CliErrors['validation']('Project\x20directory\x20\x22'+_0x118b9f+_0x1e0cb5(0x189),_0x1e0cb5(0x16d));try{const _0x3db8b9=a110_0x36d0ed['dirname'](_0x1cc0d2);await a110_0x20dbe1[_0x1e0cb5(0x17a)](_0x3db8b9,a110_0x20dbe1[_0x1e0cb5(0x161)]['W_OK']);}catch{throw CliErrors[_0x1e0cb5(0x15e)](_0x1e0cb5(0x182),_0x1e0cb5(0x180));}try{console['log']('*\x20Creating\x20project\x20'+_0x118b9f+'...');const _0x3c291e=getSubAppReactDemoTemplateDir();await copyDirectory(_0x3c291e,_0x1cc0d2),console['log'](_0x1e0cb5(0x181)),await updatePackageJsonName(_0x118b9f),console[_0x1e0cb5(0x184)](_0x1e0cb5(0x16b)),console['log'](_0x1e0cb5(0x165)),console['log'](_0x1e0cb5(0x16c)),await formatCode(_0x1cc0d2),console['log']('\x20\x20√\x20Code\x20formatted'),await configureProject(_0x118b9f,_0x4c92a0,_0x1cf928),console[_0x1e0cb5(0x184)]('\x20\x20√\x20Configuration\x20file\x20created'),_0x4c92a0&&await pullApiConfig(_0x1cc0d2,_0x4c92a0,_0x1cf928,_0x472e53),console[_0x1e0cb5(0x184)](_0x1e0cb5(0x164)+_0x118b9f+'\x20created\x20successfully!'),console['log'](_0x1e0cb5(0x159)+_0x118b9f),console[_0x1e0cb5(0x184)]('\x20\x20rabetbase\x20run\x20start\x0a');}catch(_0x3c4170){try{existsSync(_0x1cc0d2)&&await a110_0x20dbe1['rm'](_0x1cc0d2,{'recursive':!![],'force':!![]});}catch{}throw _0x3c4170;}}async function updatePackageJsonName(_0x440c59){const _0x2fc67b=a110_0x20ee,_0x341a00=a110_0x36d0ed[_0x2fc67b(0x154)](process['cwd'](),_0x440c59),_0x1b86a7=a110_0x36d0ed[_0x2fc67b(0x18b)](_0x341a00,_0x2fc67b(0x178)),_0x4c8d6f=await a110_0x20dbe1['readFile'](_0x1b86a7,_0x2fc67b(0x171)),_0x35c4ff=JSON[_0x2fc67b(0x172)](_0x4c8d6f);_0x35c4ff[_0x2fc67b(0x183)]=_0x440c59,_0x35c4ff[_0x2fc67b(0x17b)]=_0x2fc67b(0x16e),await a110_0x20dbe1[_0x2fc67b(0x175)](_0x1b86a7,JSON[_0x2fc67b(0x17c)](_0x35c4ff,null,0x2)+'\x0a');}function detectPackageManager(){const _0x1de8da=a110_0x20ee;try{return execSync(_0x1de8da(0x18d),{'stdio':_0x1de8da(0x16f)}),'bun';}catch{return _0x1de8da(0x15f);}}async function formatCode(_0x3395ea){const _0x1c5d69=a110_0x20ee;try{await execAsync(_0x1c5d69(0x15b),{'cwd':_0x3395ea});}catch{}}async function configureProject(_0x5b0dff,_0x38d120,_0x13fe32){const _0x22fa3c=a110_0x20ee,_0x5406a1=a110_0x36d0ed[_0x22fa3c(0x154)](process[_0x22fa3c(0x15c)](),_0x5b0dff),_0x38be20=a110_0x36d0ed[_0x22fa3c(0x18b)](_0x5406a1,NEW_CONFIG_NAME),_0x4b4d0b=readConfig(),_0x59e43b=typeof _0x4b4d0b[_0x22fa3c(0x187)]===_0x22fa3c(0x156)?_0x4b4d0b[_0x22fa3c(0x187)]:undefined,_0x2dd58a={};for(const _0x5c674e of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x4b4d0b[_0x5c674e]!=null)_0x2dd58a[_0x5c674e]=_0x4b4d0b[_0x5c674e];}const _0x262575=buildCanonicalProjectConfig(_0x2dd58a,{'appCodes':_0x38d120?[_0x38d120]:[],'env':_0x13fe32||_0x59e43b||_0x22fa3c(0x160),'metadata':{'createdAt':new Date()[_0x22fa3c(0x168)](),'version':getCliVersion()}});writeConfigFile(_0x38be20,_0x262575);}async function pullApiConfig(_0x563cc9,_0x124cd6,_0x3b7112,_0x5095a3){const _0x295774=a110_0x20ee,_0x471054=process[_0x295774(0x15c)]();try{process[_0x295774(0x179)](_0x563cc9);const _0xd24b0b=_0x3b7112||_0x295774(0x160);initEnv(_0xd24b0b),console[_0x295774(0x184)](_0x295774(0x170));const {configArray:_0x138b4a}=await fetchModelList(_0x124cd6,_0x5095a3||''),_0x495524=await generateApiFile(_0x138b4a,'',_0x124cd6,!![],_0xd24b0b,DEFAULT_API_DIR);console[_0x295774(0x184)](_0x295774(0x158)+_0x138b4a[_0x295774(0x162)]+_0x295774(0x15d)+_0x495524['modelCount']+_0x295774(0x18c));}catch(_0x47a22c){console['log'](_0x295774(0x174)+CLI_BIN_NAME+_0x295774(0x157));}finally{process[_0x295774(0x179)](_0x471054);}}
1
+ (function(_0x3895bd,_0x5cc743){const _0x258617=a110_0x1c50,_0x4e2236=_0x3895bd();while(!![]){try{const _0xbbc3d9=parseInt(_0x258617(0x1de))/0x1+parseInt(_0x258617(0x1f7))/0x2*(-parseInt(_0x258617(0x1e8))/0x3)+-parseInt(_0x258617(0x1e9))/0x4*(-parseInt(_0x258617(0x1ec))/0x5)+-parseInt(_0x258617(0x20e))/0x6*(-parseInt(_0x258617(0x20a))/0x7)+-parseInt(_0x258617(0x1ed))/0x8*(parseInt(_0x258617(0x1fc))/0x9)+-parseInt(_0x258617(0x201))/0xa+parseInt(_0x258617(0x20c))/0xb*(parseInt(_0x258617(0x1ee))/0xc);if(_0xbbc3d9===_0x5cc743)break;else _0x4e2236['push'](_0x4e2236['shift']());}catch(_0x26bce9){_0x4e2236['push'](_0x4e2236['shift']());}}}(a110_0x5e7d,0x8350f));import a110_0x8eda48 from'path';import a110_0x2bc7eb from'fs/promises';import{existsSync}from'fs';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{exec,execSync}from'child_process';import{copyDirectory}from'../../../utils/copy-directory.js';import{promisify}from'util';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';function a110_0x5e7d(){const _0x4a9d9e=['\x20\x20√\x20Project\x20template\x20created','resolve','101481FKUchx','4412OUJfxW','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters.','\x20dataset(s),\x20generated\x20','4240EGwlwL','296BCOrWH','24NPHlDW','ignore','\x20api\x20pull`\x20manually\x20later.','...','modelCount','utf-8','bun','test','\x20\x20√\x20Code\x20formatted','6avKXZs','package.json','log','belowMinimum','readFile','93249cUWbRA','name','length','validation','npm','8370500qnXeGz','chdir','Cannot\x20create\x20project\x20in\x20current\x20directory.','needsUpgrade','env','stringify','\x20\x20√\x20Configuration\x20file\x20created','\x20\x20rabetbase\x20run\x20start\x0a','bun\x20run\x20format','1338897IRXbNw','bun\x20--version','861377FQljNz','Check\x20directory\x20permissions.','18ONijAz','constants','dirname','\x20created\x20successfully!','Project\x20name\x20contains\x20invalid\x20characters.','\x20model(s)','\x20\x20Pulling\x20API\x20configuration...','\x0a√\x20Project\x20','access','toLocaleString','\x20\x20√\x20Dependency\x20install\x20skipped\x20(non-interactive)','join','\x20\x20√\x20package.json\x20updated','description','193988QZvbZU','Project\x20directory\x20\x22','production','\x20\x20!\x20API\x20pull\x20failed,\x20run\x20`','*\x20Creating\x20project\x20','\x20\x20Installing\x20dependencies...','cwd','string'];a110_0x5e7d=function(){return _0x4a9d9e;};return a110_0x5e7d();}import{readConfig}from'../../../utils/config.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';import{fetchModelList}from'../../../api/fetch-model-list.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';const execAsync=promisify(exec);export async function createProjectNonInteractive(_0x518e30,_0x348c9d,_0x1651da,_0x25b514){const _0x154b57=a110_0x1c50,_0x3dc1af=await checkCliVersion();(_0x3dc1af[_0x154b57(0x204)]||_0x3dc1af[_0x154b57(0x1fa)])&&(printCliUpgradeWarning(_0x3dc1af),assertCliVersionSupported(_0x3dc1af));if(!_0x518e30||_0x518e30['trim']()==='')throw CliErrors['validation']('Project\x20name\x20cannot\x20be\x20empty.');const _0x33614e=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x33614e[_0x154b57(0x1f5)](_0x518e30))throw CliErrors[_0x154b57(0x1ff)](_0x154b57(0x212),'Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters');if(_0x518e30[_0x154b57(0x1fe)]>0x64)throw CliErrors[_0x154b57(0x1ff)](_0x154b57(0x1ea));const _0x2c0970=a110_0x8eda48[_0x154b57(0x1e7)](process[_0x154b57(0x1e4)](),_0x518e30);if(existsSync(_0x2c0970))throw CliErrors[_0x154b57(0x1ff)](_0x154b57(0x1df)+_0x518e30+'\x22\x20already\x20exists.','Use\x20a\x20different\x20project\x20name.');try{const _0x26aaa=a110_0x8eda48[_0x154b57(0x210)](_0x2c0970);await a110_0x2bc7eb[_0x154b57(0x1d8)](_0x26aaa,a110_0x2bc7eb[_0x154b57(0x20f)]['W_OK']);}catch{throw CliErrors[_0x154b57(0x1ff)](_0x154b57(0x203),_0x154b57(0x20d));}try{console[_0x154b57(0x1f9)](_0x154b57(0x1e2)+_0x518e30+_0x154b57(0x1f1));const _0x2e9387=getSubAppReactDemoTemplateDir();await copyDirectory(_0x2e9387,_0x2c0970),console[_0x154b57(0x1f9)](_0x154b57(0x1e6)),await updatePackageJsonName(_0x518e30),console[_0x154b57(0x1f9)](_0x154b57(0x1dc)),console[_0x154b57(0x1f9)](_0x154b57(0x1e3)),console[_0x154b57(0x1f9)](_0x154b57(0x1da)),await formatCode(_0x2c0970),console[_0x154b57(0x1f9)](_0x154b57(0x1f6)),await configureProject(_0x518e30,_0x1651da,_0x348c9d),console[_0x154b57(0x1f9)](_0x154b57(0x207)),_0x1651da&&await pullApiConfig(_0x2c0970,_0x1651da,_0x348c9d,_0x25b514),console[_0x154b57(0x1f9)](_0x154b57(0x1d7)+_0x518e30+_0x154b57(0x211)),console[_0x154b57(0x1f9)]('\x0a\x20\x20cd\x20'+_0x518e30),console[_0x154b57(0x1f9)](_0x154b57(0x208));}catch(_0x121dae){try{existsSync(_0x2c0970)&&await a110_0x2bc7eb['rm'](_0x2c0970,{'recursive':!![],'force':!![]});}catch{}throw _0x121dae;}}async function updatePackageJsonName(_0x295775){const _0x19e976=a110_0x1c50,_0x54b492=a110_0x8eda48[_0x19e976(0x1e7)](process['cwd'](),_0x295775),_0x24651a=a110_0x8eda48[_0x19e976(0x1db)](_0x54b492,_0x19e976(0x1f8)),_0x454fe7=await a110_0x2bc7eb[_0x19e976(0x1fb)](_0x24651a,_0x19e976(0x1f3)),_0x8c77e8=JSON['parse'](_0x454fe7);_0x8c77e8[_0x19e976(0x1fd)]=_0x295775,_0x8c77e8[_0x19e976(0x1dd)]='A\x20project\x20created\x20with\x20Lovrabet\x20CLI',await a110_0x2bc7eb['writeFile'](_0x24651a,JSON[_0x19e976(0x206)](_0x8c77e8,null,0x2)+'\x0a');}function detectPackageManager(){const _0x14de45=a110_0x1c50;try{return execSync(_0x14de45(0x20b),{'stdio':_0x14de45(0x1ef)}),_0x14de45(0x1f4);}catch{return _0x14de45(0x200);}}async function formatCode(_0x135128){const _0x4babf0=a110_0x1c50;try{await execAsync(_0x4babf0(0x209),{'cwd':_0x135128});}catch{}}function a110_0x1c50(_0x54e37e,_0x504d44){_0x54e37e=_0x54e37e-0x1d5;const _0x5e7dcf=a110_0x5e7d();let _0x1c509b=_0x5e7dcf[_0x54e37e];return _0x1c509b;}async function configureProject(_0x52dfd7,_0x28b312,_0x5bc832){const _0x1b09d6=a110_0x1c50,_0x4a00f2=a110_0x8eda48[_0x1b09d6(0x1e7)](process[_0x1b09d6(0x1e4)](),_0x52dfd7),_0x5300b7=a110_0x8eda48['join'](_0x4a00f2,NEW_CONFIG_NAME),_0x1d7f01=readConfig(),_0x335ed4=typeof _0x1d7f01[_0x1b09d6(0x205)]===_0x1b09d6(0x1e5)?_0x1d7f01['env']:undefined,_0x118598={};for(const _0x405c12 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x1d7f01[_0x405c12]!=null)_0x118598[_0x405c12]=_0x1d7f01[_0x405c12];}const _0x405136=buildCanonicalProjectConfig(_0x118598,{'appCodes':_0x28b312?[_0x28b312]:[],'env':_0x5bc832||_0x335ed4||_0x1b09d6(0x1e0),'metadata':{'createdAt':new Date()[_0x1b09d6(0x1d9)](),'version':getCliVersion()}});writeConfigFile(_0x5300b7,_0x405136);}async function pullApiConfig(_0x11ece1,_0x5b0610,_0x555ebf,_0x221eda){const _0x2ff5d4=a110_0x1c50,_0x2ecae8=process[_0x2ff5d4(0x1e4)]();try{process[_0x2ff5d4(0x202)](_0x11ece1);const _0x331d9f=_0x555ebf||'production';initEnv(_0x331d9f),console[_0x2ff5d4(0x1f9)](_0x2ff5d4(0x1d6));const {configArray:_0x205404}=await fetchModelList(_0x5b0610,_0x221eda||''),_0x2555fe=await generateApiFile(_0x205404,'',_0x5b0610,!![],_0x331d9f,DEFAULT_API_DIR);console['log']('\x20\x20√\x20Pulled\x20'+_0x205404[_0x2ff5d4(0x1fe)]+_0x2ff5d4(0x1eb)+_0x2555fe[_0x2ff5d4(0x1f2)]+_0x2ff5d4(0x1d5));}catch(_0x20a719){console['log'](_0x2ff5d4(0x1e1)+CLI_BIN_NAME+_0x2ff5d4(0x1f0));}finally{process[_0x2ff5d4(0x202)](_0x2ecae8);}}
@@ -1 +1 @@
1
- function a111_0x50a7(){const _0x200b7e=['2721243gFDQNP','templates','1981704KSZpZC','2322476vGHOPw','21wrFOpt','../../../../','sub-app-react-demo','resolve','10sWAyUa','7057PIAXIM','10jLaQyR','1992033GIcRjR','projects','1994056nrUTbc','join','dirname','2646083lrhUcq','14afPCvP'];a111_0x50a7=function(){return _0x200b7e;};return a111_0x50a7();}function a111_0x18ea(_0x556f95,_0x410ed1){_0x556f95=_0x556f95-0x1e6;const _0x50a7e1=a111_0x50a7();let _0x18ea1d=_0x50a7e1[_0x556f95];return _0x18ea1d;}const a111_0x2a4f7a=a111_0x18ea;(function(_0x6d1e59,_0x28f127){const _0x3cf4aa=a111_0x18ea,_0x7d5251=_0x6d1e59();while(!![]){try{const _0x2b1625=parseInt(_0x3cf4aa(0x1e6))/0x1*(-parseInt(_0x3cf4aa(0x1ee))/0x2)+parseInt(_0x3cf4aa(0x1ef))/0x3+-parseInt(_0x3cf4aa(0x1f2))/0x4+-parseInt(_0x3cf4aa(0x1f7))/0x5*(-parseInt(_0x3cf4aa(0x1f1))/0x6)+-parseInt(_0x3cf4aa(0x1f3))/0x7*(parseInt(_0x3cf4aa(0x1ea))/0x8)+-parseInt(_0x3cf4aa(0x1e8))/0x9*(-parseInt(_0x3cf4aa(0x1e7))/0xa)+parseInt(_0x3cf4aa(0x1ed))/0xb;if(_0x2b1625===_0x28f127)break;else _0x7d5251['push'](_0x7d5251['shift']());}catch(_0x3e520c){_0x7d5251['push'](_0x7d5251['shift']());}}}(a111_0x50a7,0x9f1e6));import a111_0x4ba6c1 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a111_0x4ba6c1[a111_0x2a4f7a(0x1ec)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x259e21=a111_0x2a4f7a;return a111_0x4ba6c1[_0x259e21(0x1f6)](__dirname,_0x259e21(0x1f4));}export function getSubAppReactDemoTemplateDir(){const _0x1f7a82=a111_0x2a4f7a;return a111_0x4ba6c1[_0x1f7a82(0x1eb)](getRabetbaseCliPackageRoot(),_0x1f7a82(0x1f0),_0x1f7a82(0x1e9),_0x1f7a82(0x1f5));}
1
+ const a111_0x46b46f=a111_0x3878;(function(_0x298d59,_0x11ad9c){const _0x4fb4b4=a111_0x3878,_0x46f09f=_0x298d59();while(!![]){try{const _0x54bb39=parseInt(_0x4fb4b4(0x15f))/0x1+-parseInt(_0x4fb4b4(0x163))/0x2*(parseInt(_0x4fb4b4(0x167))/0x3)+parseInt(_0x4fb4b4(0x169))/0x4+parseInt(_0x4fb4b4(0x160))/0x5*(-parseInt(_0x4fb4b4(0x161))/0x6)+parseInt(_0x4fb4b4(0x164))/0x7+parseInt(_0x4fb4b4(0x15e))/0x8*(-parseInt(_0x4fb4b4(0x162))/0x9)+-parseInt(_0x4fb4b4(0x166))/0xa;if(_0x54bb39===_0x11ad9c)break;else _0x46f09f['push'](_0x46f09f['shift']());}catch(_0x3d5c84){_0x46f09f['push'](_0x46f09f['shift']());}}}(a111_0x5ebd,0xf2b3b));import a111_0x22b6ce from'node:path';import{fileURLToPath}from'node:url';const __dirname=a111_0x22b6ce[a111_0x46b46f(0x165)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x467465=a111_0x46b46f;return a111_0x22b6ce[_0x467465(0x168)](__dirname,'../../../../');}function a111_0x3878(_0x55d3ab,_0x4197d0){_0x55d3ab=_0x55d3ab-0x15c;const _0x5ebd6e=a111_0x5ebd();let _0x387874=_0x5ebd6e[_0x55d3ab];return _0x387874;}function a111_0x5ebd(){const _0x3b629c=['sub-app-react-demo','8SjNeKG','1034054ZAiDXQ','305495lmAPlF','66wvmWLQ','2464335zTpMoI','6igqHFv','11613126aJybJV','dirname','18591800XKgWEn','219249XbzEOV','resolve','5301472AhTMFl','templates'];a111_0x5ebd=function(){return _0x3b629c;};return a111_0x5ebd();}export function getSubAppReactDemoTemplateDir(){const _0x5a9497=a111_0x46b46f;return a111_0x22b6ce['join'](getRabetbaseCliPackageRoot(),_0x5a9497(0x15c),'projects',_0x5a9497(0x15d));}
@@ -1 +1 @@
1
- (function(_0x29a934,_0x1b509c){const _0x3ab6e0=a112_0x512d,_0xe1c9e=_0x29a934();while(!![]){try{const _0x1d37ec=-parseInt(_0x3ab6e0(0x81))/0x1*(-parseInt(_0x3ab6e0(0x8a))/0x2)+parseInt(_0x3ab6e0(0x88))/0x3+-parseInt(_0x3ab6e0(0x82))/0x4+-parseInt(_0x3ab6e0(0x85))/0x5+-parseInt(_0x3ab6e0(0x8b))/0x6+parseInt(_0x3ab6e0(0x84))/0x7+-parseInt(_0x3ab6e0(0x8c))/0x8;if(_0x1d37ec===_0x1b509c)break;else _0xe1c9e['push'](_0xe1c9e['shift']());}catch(_0x389f63){_0xe1c9e['push'](_0xe1c9e['shift']());}}}(a112_0x267d,0xeef10));import a112_0x5f0df3 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a112_0x512d(_0x46fbfc,_0xb35254){_0x46fbfc=_0x46fbfc-0x80;const _0x267daa=a112_0x267d();let _0x512dcd=_0x267daa[_0x46fbfc];return _0x512dcd;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a112_0x267d(){const _0x581f33=['62NjoHUS','11569212pkrmOY','3267200YZqhMK','now','success','cwd','62093VTcGGz','2198036SidCOZ','copy','12056814olZmAN','2341710NLpoKn','info','开始复制项目模板','2057616fEPufu','项目模板复制完成'];a112_0x267d=function(){return _0x581f33;};return a112_0x267d();}import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0x545e3d){const _0x3062bd=a112_0x512d,_0x6fd5ad=Date[_0x3062bd(0x8d)](),_0x28717d=a112_0x5f0df3['resolve'](process[_0x3062bd(0x80)](),_0x545e3d);try{logger[_0x3062bd(0x86)]('copy',_0x3062bd(0x87),{'projectCode':_0x545e3d,'templateDir':templateDir}),await copyDirectory(templateDir,_0x28717d);const _0x370acd=Date[_0x3062bd(0x8d)]()-_0x6fd5ad;logger[_0x3062bd(0x8e)](_0x3062bd(0x83),_0x3062bd(0x89),_0x370acd,{'projectCode':_0x545e3d});}catch(_0x1de2b9){const _0x33fcf6=Date['now']()-_0x6fd5ad;logger['error'](_0x3062bd(0x83),'项目模板复制失败',{'projectCode':_0x545e3d,'error':_0x1de2b9 instanceof Error?_0x1de2b9['message']:String(_0x1de2b9),'duration':_0x33fcf6});throw _0x1de2b9;}return formatElapsed(_0x6fd5ad);}
1
+ (function(_0x4b0fc1,_0x3af501){const _0x354673=a112_0x5e23,_0x2ba6a1=_0x4b0fc1();while(!![]){try{const _0x19fdc1=-parseInt(_0x354673(0x94))/0x1+parseInt(_0x354673(0x90))/0x2+parseInt(_0x354673(0x9d))/0x3*(-parseInt(_0x354673(0x9f))/0x4)+parseInt(_0x354673(0x9c))/0x5*(parseInt(_0x354673(0xa1))/0x6)+-parseInt(_0x354673(0x95))/0x7*(parseInt(_0x354673(0x99))/0x8)+parseInt(_0x354673(0x8f))/0x9+parseInt(_0x354673(0x93))/0xa*(parseInt(_0x354673(0x96))/0xb);if(_0x19fdc1===_0x3af501)break;else _0x2ba6a1['push'](_0x2ba6a1['shift']());}catch(_0x601e7b){_0x2ba6a1['push'](_0x2ba6a1['shift']());}}}(a112_0x1e02,0x5deec));import a112_0xccb8c5 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a112_0x1e02(){const _0x10479e=['976036PKrcKV','now','2802dITMnd','363024klNblv','1386030FLiFtE','resolve','copy','113110jGkbkb','693382BHXOdF','322gsGKfb','1287GbgeMM','项目模板复制完成','error','126416woFEuU','cwd','项目模板复制失败','2530TQazrJ','6nnlDlx','info'];a112_0x1e02=function(){return _0x10479e;};return a112_0x1e02();}function a112_0x5e23(_0x3fca79,_0x52238c){_0x3fca79=_0x3fca79-0x8f;const _0x1e0218=a112_0x1e02();let _0x5e2312=_0x1e0218[_0x3fca79];return _0x5e2312;}import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();export async function copyProjectTemplate(_0xe29c04){const _0x22628d=a112_0x5e23,_0x50d7ed=Date['now'](),_0x594825=a112_0xccb8c5[_0x22628d(0x91)](process[_0x22628d(0x9a)](),_0xe29c04);try{logger[_0x22628d(0x9e)](_0x22628d(0x92),'开始复制项目模板',{'projectCode':_0xe29c04,'templateDir':templateDir}),await copyDirectory(templateDir,_0x594825);const _0x2849f4=Date[_0x22628d(0xa0)]()-_0x50d7ed;logger['success']('copy',_0x22628d(0x97),_0x2849f4,{'projectCode':_0xe29c04});}catch(_0x59fdb9){const _0x2cf1f1=Date[_0x22628d(0xa0)]()-_0x50d7ed;logger[_0x22628d(0x98)](_0x22628d(0x92),_0x22628d(0x9b),{'projectCode':_0xe29c04,'error':_0x59fdb9 instanceof Error?_0x59fdb9['message']:String(_0x59fdb9),'duration':_0x2cf1f1});throw _0x59fdb9;}return formatElapsed(_0x50d7ed);}
@@ -1 +1 @@
1
- (function(_0x1c2b6d,_0x5f5691){const _0x2c7926=a113_0x8354,_0x3f1458=_0x1c2b6d();while(!![]){try{const _0x314adc=-parseInt(_0x2c7926(0x85))/0x1+parseInt(_0x2c7926(0x82))/0x2+parseInt(_0x2c7926(0x7a))/0x3+-parseInt(_0x2c7926(0x79))/0x4+parseInt(_0x2c7926(0x83))/0x5*(-parseInt(_0x2c7926(0x7c))/0x6)+parseInt(_0x2c7926(0x76))/0x7*(-parseInt(_0x2c7926(0x88))/0x8)+parseInt(_0x2c7926(0x7d))/0x9;if(_0x314adc===_0x5f5691)break;else _0x3f1458['push'](_0x3f1458['shift']());}catch(_0x50c5ed){_0x3f1458['push'](_0x3f1458['shift']());}}}(a113_0x5d95,0xc335a));import a113_0x5b84ae from'node:path';function a113_0x5d95(){const _0x362af5=['1501422BmZLcg','31455477wXprOj','error','resolve','开始格式化代码','prettier','1113046IhsQsH','20ADWqFb','info','1537818ijfepn','代码格式化完成','success','24608XNWwMz','1246TGoIeY','message','now','2970376snZNKc','1730670qRjYaK','format'];a113_0x5d95=function(){return _0x362af5;};return a113_0x5d95();}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a113_0x8354(_0x464268,_0x3a49ba){_0x464268=_0x464268-0x76;const _0x5d959b=a113_0x5d95();let _0x8354f6=_0x5d959b[_0x464268];return _0x8354f6;}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x482914){const _0x6ecbc1=a113_0x8354,_0x391c89=Date[_0x6ecbc1(0x78)](),_0x29901a=a113_0x5b84ae[_0x6ecbc1(0x7f)](process['cwd'](),_0x482914);try{logger[_0x6ecbc1(0x84)](_0x6ecbc1(0x7b),_0x6ecbc1(0x80),{'projectCode':_0x482914}),await execa(resolveNpmBin('npx'),[_0x6ecbc1(0x81),'--write','.'],{'cwd':_0x29901a});const _0x3fd9ec=Date[_0x6ecbc1(0x78)]()-_0x391c89;logger[_0x6ecbc1(0x87)](_0x6ecbc1(0x7b),_0x6ecbc1(0x86),_0x3fd9ec,{'projectCode':_0x482914});}catch(_0x40ed03){const _0x452755=Date[_0x6ecbc1(0x78)]()-_0x391c89;logger[_0x6ecbc1(0x7e)](_0x6ecbc1(0x7b),'代码格式化失败',{'projectCode':_0x482914,'error':_0x40ed03 instanceof Error?_0x40ed03[_0x6ecbc1(0x77)]:String(_0x40ed03),'duration':_0x452755});throw _0x40ed03;}return formatElapsed(_0x391c89);}
1
+ (function(_0x1076c0,_0x57ee35){const _0x8648fa=a113_0x1a9d,_0x2ebb16=_0x1076c0();while(!![]){try{const _0x324fa4=parseInt(_0x8648fa(0x1d8))/0x1+-parseInt(_0x8648fa(0x1db))/0x2+-parseInt(_0x8648fa(0x1df))/0x3*(-parseInt(_0x8648fa(0x1d2))/0x4)+parseInt(_0x8648fa(0x1d7))/0x5*(parseInt(_0x8648fa(0x1d4))/0x6)+-parseInt(_0x8648fa(0x1e4))/0x7*(-parseInt(_0x8648fa(0x1da))/0x8)+parseInt(_0x8648fa(0x1d9))/0x9*(-parseInt(_0x8648fa(0x1e8))/0xa)+-parseInt(_0x8648fa(0x1e2))/0xb;if(_0x324fa4===_0x57ee35)break;else _0x2ebb16['push'](_0x2ebb16['shift']());}catch(_0x177765){_0x2ebb16['push'](_0x2ebb16['shift']());}}}(a113_0x258b,0x7a41e));import a113_0x246366 from'node:path';import{execa}from'execa';function a113_0x1a9d(_0x3a7d70,_0xd75a6f){_0x3a7d70=_0x3a7d70-0x1d2;const _0x258b6c=a113_0x258b();let _0x1a9d74=_0x258b6c[_0x3a7d70];return _0x1a9d74;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a113_0x258b(){const _0x250301=['--write','resolve','6042520cXFhfj','代码格式化完成','987Temjsg','开始格式化代码','prettier','success','4428890GObqmU','394300yMZrGb','info','1146942zWSmIM','npx','error','10etYldJ','438719CEClaR','9IXDswz','7776mEapZd','310270mBPciy','message','now','代码格式化失败','21vyaGeG'];a113_0x258b=function(){return _0x250301;};return a113_0x258b();}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x1bd58e){const _0x3cbfb2=a113_0x1a9d,_0x309fd8=Date[_0x3cbfb2(0x1dd)](),_0x5be6b9=a113_0x246366[_0x3cbfb2(0x1e1)](process['cwd'](),_0x1bd58e);try{logger[_0x3cbfb2(0x1d3)]('format',_0x3cbfb2(0x1e5),{'projectCode':_0x1bd58e}),await execa(resolveNpmBin(_0x3cbfb2(0x1d5)),[_0x3cbfb2(0x1e6),_0x3cbfb2(0x1e0),'.'],{'cwd':_0x5be6b9});const _0xbf68f4=Date[_0x3cbfb2(0x1dd)]()-_0x309fd8;logger[_0x3cbfb2(0x1e7)]('format',_0x3cbfb2(0x1e3),_0xbf68f4,{'projectCode':_0x1bd58e});}catch(_0x338dd3){const _0x3dabaf=Date[_0x3cbfb2(0x1dd)]()-_0x309fd8;logger[_0x3cbfb2(0x1d6)]('format',_0x3cbfb2(0x1de),{'projectCode':_0x1bd58e,'error':_0x338dd3 instanceof Error?_0x338dd3[_0x3cbfb2(0x1dc)]:String(_0x338dd3),'duration':_0x3dabaf});throw _0x338dd3;}return formatElapsed(_0x309fd8);}
@@ -1 +1 @@
1
- (function(_0x4855f3,_0x512d17){const _0x15326f=a114_0x2918,_0x1aea2c=_0x4855f3();while(!![]){try{const _0x3197d9=parseInt(_0x15326f(0xc9))/0x1+-parseInt(_0x15326f(0xcd))/0x2*(-parseInt(_0x15326f(0xd1))/0x3)+parseInt(_0x15326f(0xc7))/0x4*(-parseInt(_0x15326f(0xc1))/0x5)+parseInt(_0x15326f(0xc0))/0x6*(-parseInt(_0x15326f(0xc2))/0x7)+parseInt(_0x15326f(0xcc))/0x8+-parseInt(_0x15326f(0xbb))/0x9*(parseInt(_0x15326f(0xbe))/0xa)+-parseInt(_0x15326f(0xd0))/0xb;if(_0x3197d9===_0x512d17)break;else _0x1aea2c['push'](_0x1aea2c['shift']());}catch(_0x2295b5){_0x1aea2c['push'](_0x1aea2c['shift']());}}}(a114_0x56c1,0x5b7e5));function a114_0x56c1(){const _0x489bfd=['success','500358Oyeuzd','info','--registry','5387600KTwOTR','38ZSSCFJ','https://registry.npmmirror.com','message','3233406rEhWkj','31074nVJjsH','install','1134378LBQDML','开始安装依赖','依赖安装失败','10kmbcrc','now','804fSfCmB','335TcMKhM','5138CyWgGv','依赖安装完成','error','cwd','resolve','28508uGxanp'];a114_0x56c1=function(){return _0x489bfd;};return a114_0x56c1();}import a114_0x5a18d5 from'node:path';import{execa}from'execa';function a114_0x2918(_0x13c198,_0x476d84){_0x13c198=_0x13c198-0xbb;const _0x56c141=a114_0x56c1();let _0x2918b0=_0x56c141[_0x13c198];return _0x2918b0;}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(_0x4753c9){const _0x1cbc5e=a114_0x2918,_0x17ac51=Date[_0x1cbc5e(0xbf)](),_0x326040=a114_0x5a18d5[_0x1cbc5e(0xc6)](process[_0x1cbc5e(0xc5)](),_0x4753c9);try{logger[_0x1cbc5e(0xca)](_0x1cbc5e(0xd2),_0x1cbc5e(0xbc),{'projectCode':_0x4753c9,'registry':_0x1cbc5e(0xce)}),await execa(resolveNpmBin('npm'),[_0x1cbc5e(0xd2),_0x1cbc5e(0xcb),_0x1cbc5e(0xce)],{'cwd':_0x326040});const _0x49808b=Date[_0x1cbc5e(0xbf)]()-_0x17ac51;logger[_0x1cbc5e(0xc8)]('install',_0x1cbc5e(0xc3),_0x49808b,{'projectCode':_0x4753c9});}catch(_0x30aa45){const _0x360d36=Date[_0x1cbc5e(0xbf)]()-_0x17ac51;logger[_0x1cbc5e(0xc4)](_0x1cbc5e(0xd2),_0x1cbc5e(0xbd),{'projectCode':_0x4753c9,'error':_0x30aa45 instanceof Error?_0x30aa45[_0x1cbc5e(0xcf)]:String(_0x30aa45),'duration':_0x360d36});throw _0x30aa45;}return formatElapsed(_0x17ac51);}
1
+ (function(_0x1e4c06,_0x3563cb){const _0x2f6446=a114_0x43a0,_0x1e7127=_0x1e4c06();while(!![]){try{const _0x547cc6=-parseInt(_0x2f6446(0x156))/0x1+-parseInt(_0x2f6446(0x157))/0x2*(parseInt(_0x2f6446(0x147))/0x3)+-parseInt(_0x2f6446(0x14b))/0x4+parseInt(_0x2f6446(0x146))/0x5*(parseInt(_0x2f6446(0x155))/0x6)+-parseInt(_0x2f6446(0x152))/0x7*(-parseInt(_0x2f6446(0x148))/0x8)+-parseInt(_0x2f6446(0x14e))/0x9*(-parseInt(_0x2f6446(0x153))/0xa)+-parseInt(_0x2f6446(0x14f))/0xb;if(_0x547cc6===_0x3563cb)break;else _0x1e7127['push'](_0x1e7127['shift']());}catch(_0x430cc2){_0x1e7127['push'](_0x1e7127['shift']());}}}(a114_0x4f00,0xdce94));function a114_0x43a0(_0x34cea5,_0x122fe5){_0x34cea5=_0x34cea5-0x145;const _0x4f0069=a114_0x4f00();let _0x43a09f=_0x4f0069[_0x34cea5];return _0x43a09f;}function a114_0x4f00(){const _0x9bf096=['18saWZxm','417142oFrNpk','2nzvIBV','resolve','1901635nyghop','2779269mGMGLL','632tISZRs','https://registry.npmmirror.com','--registry','1441960rKRsBw','now','success','108gpCTcY','10846099BqoxiD','开始安装依赖','info','126259DVDiMR','857510Yitjtl','install'];a114_0x4f00=function(){return _0x9bf096;};return a114_0x4f00();}import a114_0x34a0dd 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(_0x1450f9){const _0x41fb50=a114_0x43a0,_0x42aab8=Date[_0x41fb50(0x14c)](),_0x1e39f1=a114_0x34a0dd[_0x41fb50(0x145)](process['cwd'](),_0x1450f9);try{logger[_0x41fb50(0x151)](_0x41fb50(0x154),_0x41fb50(0x150),{'projectCode':_0x1450f9,'registry':_0x41fb50(0x149)}),await execa(resolveNpmBin('npm'),[_0x41fb50(0x154),_0x41fb50(0x14a),_0x41fb50(0x149)],{'cwd':_0x1e39f1});const _0x3be13c=Date[_0x41fb50(0x14c)]()-_0x42aab8;logger[_0x41fb50(0x14d)](_0x41fb50(0x154),'依赖安装完成',_0x3be13c,{'projectCode':_0x1450f9});}catch(_0x59434d){const _0x41b51a=Date[_0x41fb50(0x14c)]()-_0x42aab8;logger['error'](_0x41fb50(0x154),'依赖安装失败',{'projectCode':_0x1450f9,'error':_0x59434d instanceof Error?_0x59434d['message']:String(_0x59434d),'duration':_0x41b51a});throw _0x59434d;}return formatElapsed(_0x42aab8);}
@@ -1 +1 @@
1
- function a115_0x4027(_0x3f7247,_0x2d64d3){_0x3f7247=_0x3f7247-0x106;const _0x508638=a115_0x5086();let _0x402703=_0x508638[_0x3f7247];return _0x402703;}const a115_0x357ef7=a115_0x4027;function a115_0x5086(){const _0x53acab=['cookie','8005UfJxAX','create','5424hkCfPK','208ucLFTP','../../commands/project/create/main.js','../../commands/project/create/non-interactive.js','Auto-confirm\x20prompts','upgrade','env','boolean','appcode','write','21636120kHejMU','415592rMzuOV','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','project','Target\x20environment','args','Usage:\x20','72EtsXlm','str','11707003hNxwGC','1382649BdRpLD','project-name','bool','Project\x20name','App\x20code\x20to\x20initialize','name','2109472yFjhvc','yes','Skip\x20confirmation\x20prompt','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','nonInteractive','trim','5uOKUJs','string'];a115_0x5086=function(){return _0x53acab;};return a115_0x5086();}(function(_0x28a2ac,_0x1ae36f){const _0x2edd94=a115_0x4027,_0x30d833=_0x28a2ac();while(!![]){try{const _0x27dc47=parseInt(_0x2edd94(0x128))/0x1*(parseInt(_0x2edd94(0x12b))/0x2)+parseInt(_0x2edd94(0x117))/0x3+parseInt(_0x2edd94(0x11d))/0x4+-parseInt(_0x2edd94(0x125))/0x5*(-parseInt(_0x2edd94(0x12a))/0x6)+parseInt(_0x2edd94(0x116))/0x7+-parseInt(_0x2edd94(0x10e))/0x8*(parseInt(_0x2edd94(0x114))/0x9)+-parseInt(_0x2edd94(0x10d))/0xa;if(_0x27dc47===_0x1ae36f)break;else _0x30d833['push'](_0x30d833['shift']());}catch(_0x14b05f){_0x30d833['push'](_0x30d833['shift']());}}}(a115_0x5086,0xdf5d4));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a115_0x357ef7(0x10b),'type':a115_0x357ef7(0x126),'description':a115_0x357ef7(0x11b)},{'name':a115_0x357ef7(0x109),'type':'string','description':'Target\x20environment'},{'name':'yes','type':a115_0x357ef7(0x10a),'description':a115_0x357ef7(0x107),'default':![]}],createFlags=[{'name':a115_0x357ef7(0x11c),'type':a115_0x357ef7(0x126),'description':a115_0x357ef7(0x11a)},{'name':a115_0x357ef7(0x109),'type':a115_0x357ef7(0x126),'description':a115_0x357ef7(0x111)},{'name':a115_0x357ef7(0x10b),'type':a115_0x357ef7(0x126),'description':a115_0x357ef7(0x121)}],upgradeFlags=[{'name':'yes','type':a115_0x357ef7(0x10a),'description':a115_0x357ef7(0x11f),'default':![]}];export const projectDefinitions=[{'service':a115_0x357ef7(0x110),'command':'init','description':a115_0x357ef7(0x122),'risk':a115_0x357ef7(0x10c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x5db346){const _0x133d71=a115_0x357ef7;return await initConfig({'appcode':_0x5db346[_0x133d71(0x115)](_0x133d71(0x10b))||undefined,'env':_0x5db346[_0x133d71(0x115)]('env')||undefined,'autoYes':_0x5db346[_0x133d71(0x119)](_0x133d71(0x11e))}),{'ok':!![]};}},{'service':a115_0x357ef7(0x110),'command':a115_0x357ef7(0x129),'description':'Create\x20a\x20new\x20project','risk':a115_0x357ef7(0x10c),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a115_0x357ef7(0x118),'description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x141370){const _0x1f8942=a115_0x357ef7,{createApp:_0x4a44e9}=await import(_0x1f8942(0x12c)),{createProjectNonInteractive:_0x3c868c}=await import(_0x1f8942(0x106)),_0x3c9e39=_0x141370['str'](_0x1f8942(0x11c))[_0x1f8942(0x124)]()||_0x141370[_0x1f8942(0x112)][0x0]?.['trim'](),_0x1cb7cc=_0x141370[_0x1f8942(0x115)](_0x1f8942(0x109))||undefined,_0x46519b=_0x141370[_0x1f8942(0x115)](_0x1f8942(0x10b))||undefined;if(_0x141370[_0x1f8942(0x123)]){if(!_0x3c9e39)throw CliErrors['validation']('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x1f8942(0x113)+CLI_BIN_NAME+_0x1f8942(0x120));await _0x3c868c(_0x3c9e39,_0x1cb7cc,_0x46519b,_0x141370[_0x1f8942(0x127)]);}else await _0x4a44e9({'projectCode':_0x3c9e39,'appCode':_0x46519b,'env':_0x1cb7cc,'cookie':_0x141370['cookie']});return{'ok':!![]};}},{'service':a115_0x357ef7(0x110),'command':a115_0x357ef7(0x108),'description':a115_0x357ef7(0x10f),'risk':a115_0x357ef7(0x10c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0xe8f591){const _0x553d72=a115_0x357ef7;return await upgradeApp(_0xe8f591[_0x553d72(0x123)],{'yes':_0xe8f591[_0x553d72(0x119)]('yes')}),{'ok':!![]};}}];
1
+ const a115_0x4bf271=a115_0x3b15;function a115_0x3b15(_0x5df3bd,_0x393407){_0x5df3bd=_0x5df3bd-0x14e;const _0x13dd24=a115_0x13dd();let _0x3b15fd=_0x13dd24[_0x5df3bd];return _0x3b15fd;}(function(_0x4da4cc,_0x229992){const _0x3ef697=a115_0x3b15,_0x307420=_0x4da4cc();while(!![]){try{const _0x326bb9=parseInt(_0x3ef697(0x14e))/0x1+-parseInt(_0x3ef697(0x152))/0x2+parseInt(_0x3ef697(0x162))/0x3+parseInt(_0x3ef697(0x160))/0x4*(-parseInt(_0x3ef697(0x168))/0x5)+parseInt(_0x3ef697(0x153))/0x6+parseInt(_0x3ef697(0x165))/0x7+-parseInt(_0x3ef697(0x158))/0x8;if(_0x326bb9===_0x229992)break;else _0x307420['push'](_0x307420['shift']());}catch(_0x53ce13){_0x307420['push'](_0x307420['shift']());}}}(a115_0x13dd,0x2a4b3));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a115_0x13dd(){const _0x3de5b0=['Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','199499WmbpXI','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','write','116536XyOKpY','1745364WIkMyL','project','Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','env','App\x20code\x20to\x20initialize','4198968xMmBAl','yes','str','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','trim','string','project-name','Project\x20name','4gIGUoJ','validation','895680NyLUYy','appcode','Auto-confirm\x20prompts','1980902CzXDZG','args','nonInteractive','1577825XqVonl','bool','name','../../commands/project/create/main.js','Target\x20environment','boolean','../../commands/project/create/non-interactive.js','create','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli'];a115_0x13dd=function(){return _0x3de5b0;};return a115_0x13dd();}import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a115_0x4bf271(0x163),'type':a115_0x4bf271(0x15d),'description':a115_0x4bf271(0x157)},{'name':a115_0x4bf271(0x156),'type':a115_0x4bf271(0x15d),'description':a115_0x4bf271(0x16c)},{'name':a115_0x4bf271(0x159),'type':a115_0x4bf271(0x16d),'description':a115_0x4bf271(0x164),'default':![]}],createFlags=[{'name':a115_0x4bf271(0x16a),'type':a115_0x4bf271(0x15d),'description':a115_0x4bf271(0x15f)},{'name':a115_0x4bf271(0x156),'type':a115_0x4bf271(0x15d),'description':a115_0x4bf271(0x16c)},{'name':a115_0x4bf271(0x163),'type':'string','description':a115_0x4bf271(0x14f)}],upgradeFlags=[{'name':a115_0x4bf271(0x159),'type':a115_0x4bf271(0x16d),'description':'Skip\x20confirmation\x20prompt','default':![]}];export const projectDefinitions=[{'service':a115_0x4bf271(0x154),'command':'init','description':a115_0x4bf271(0x155),'risk':a115_0x4bf271(0x151),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x3a28d6){const _0xd7e30d=a115_0x4bf271;return await initConfig({'appcode':_0x3a28d6[_0xd7e30d(0x15a)](_0xd7e30d(0x163))||undefined,'env':_0x3a28d6[_0xd7e30d(0x15a)]('env')||undefined,'autoYes':_0x3a28d6[_0xd7e30d(0x169)]('yes')}),{'ok':!![]};}},{'service':a115_0x4bf271(0x154),'command':a115_0x4bf271(0x16f),'description':'Create\x20a\x20new\x20project','risk':a115_0x4bf271(0x151),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a115_0x4bf271(0x15e),'description':a115_0x4bf271(0x171),'required':![]}],'flags':createFlags,async 'execute'(_0x366d81){const _0x3861c1=a115_0x4bf271,{createApp:_0x483448}=await import(_0x3861c1(0x16b)),{createProjectNonInteractive:_0x2da4fc}=await import(_0x3861c1(0x16e)),_0x5e2932=_0x366d81[_0x3861c1(0x15a)](_0x3861c1(0x16a))['trim']()||_0x366d81[_0x3861c1(0x166)][0x0]?.[_0x3861c1(0x15c)](),_0x12101a=_0x366d81['str'](_0x3861c1(0x156))||undefined,_0x1e1406=_0x366d81[_0x3861c1(0x15a)](_0x3861c1(0x163))||undefined;if(_0x366d81[_0x3861c1(0x167)]){if(!_0x5e2932)throw CliErrors[_0x3861c1(0x161)](_0x3861c1(0x15b),'Usage:\x20'+CLI_BIN_NAME+_0x3861c1(0x150));await _0x2da4fc(_0x5e2932,_0x12101a,_0x1e1406,_0x366d81['cookie']);}else await _0x483448({'projectCode':_0x5e2932,'appCode':_0x1e1406,'env':_0x12101a,'cookie':_0x366d81['cookie']});return{'ok':!![]};}},{'service':a115_0x4bf271(0x154),'command':'upgrade','description':a115_0x4bf271(0x170),'risk':a115_0x4bf271(0x151),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3b261d){const _0x37a3a5=a115_0x4bf271;return await upgradeApp(_0x3b261d[_0x37a3a5(0x167)],{'yes':_0x3b261d['bool']('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x458c80,_0x33226c){const _0x100fd0=a116_0x4817,_0x3c7a7e=_0x458c80();while(!![]){try{const _0x188c51=-parseInt(_0x100fd0(0x72))/0x1*(-parseInt(_0x100fd0(0x6c))/0x2)+parseInt(_0x100fd0(0x93))/0x3+-parseInt(_0x100fd0(0x6e))/0x4*(parseInt(_0x100fd0(0x8c))/0x5)+-parseInt(_0x100fd0(0x65))/0x6+parseInt(_0x100fd0(0x70))/0x7+-parseInt(_0x100fd0(0x6a))/0x8*(parseInt(_0x100fd0(0x6f))/0x9)+parseInt(_0x100fd0(0x75))/0xa*(parseInt(_0x100fd0(0x8f))/0xb);if(_0x188c51===_0x33226c)break;else _0x3c7a7e['push'](_0x3c7a7e['shift']());}catch(_0x3e16ed){_0x3c7a7e['push'](_0x3c7a7e['shift']());}}}(a116_0x3f92,0xa6190));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a116_0xeb04fc from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';function a116_0x4817(_0x3ff3b9,_0x3e8aeb){_0x3ff3b9=_0x3ff3b9-0x64;const _0x3f9247=a116_0x3f92();let _0x4817d5=_0x3f9247[_0x3ff3b9];return _0x4817d5;}export async function initConfig(_0x1780eb){const _0x3a6ec4=a116_0x4817,{appcode:_0x1f02a7,env:_0x410fc5,autoYes:_0x414c76}=_0x1780eb,_0x5aa919=process[_0x3a6ec4(0x98)]();if(getProjectConfigPath())throw new Error(_0x3a6ec4(0x8e));let _0x4263b5;for(const _0x5c4d57 of LEGACY_CONFIG_NAMES){const _0x43f8f2=resolve(_0x5aa919,_0x5c4d57);if(existsSync(_0x43f8f2)){_0x4263b5=_0x43f8f2;break;}}if(_0x4263b5){let _0x5444b5={};try{_0x5444b5=JSON[_0x3a6ec4(0x78)](readFileSync(_0x4263b5,'utf8'));}catch{}const _0x3f515a=basename(_0x4263b5),_0x13bb3a=_0x5444b5?.[_0x3a6ec4(0x76)]||_0x5444b5?.[_0x3a6ec4(0x85)];let _0x982442=_0x414c76;!_0x414c76&&(console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x64)](_0x3a6ec4(0x81)+a116_0xeb04fc[_0x3a6ec4(0x7f)](_0x3f515a))),_0x13bb3a&&console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x73)]('\x20\x20appcode:\x20'+_0x13bb3a)),_0x982442=await confirm({'message':_0x3a6ec4(0x67)+a116_0xeb04fc['bold'](_0x3a6ec4(0x8b))+_0x3a6ec4(0x66),'default':!![]}));if(!_0x982442){console['log'](_0x3a6ec4(0x82)+CLI_BIN_NAME+_0x3a6ec4(0x96));return;}const _0x5be002=resolve(_0x5aa919,NEW_CONFIG_NAME),_0x202e47=getCliVersionFromPkg(),_0x574f25=readRawConfig(),_0xd3a908=_0x1f02a7||(typeof _0x5444b5?.[_0x3a6ec4(0x76)]===_0x3a6ec4(0x74)?_0x5444b5[_0x3a6ec4(0x76)]:undefined)||(typeof _0x5444b5?.[_0x3a6ec4(0x85)]==='string'?_0x5444b5[_0x3a6ec4(0x85)]:undefined)||await askAppcode(),_0x40114f=typeof _0x5444b5?.['env']==='string'?_0x5444b5[_0x3a6ec4(0x92)]:typeof _0x574f25['env']===_0x3a6ec4(0x74)?_0x574f25['env']:'production',_0x1474e6=buildCanonicalProjectConfig({..._0x574f25,..._0x5444b5},{'appCodes':[_0xd3a908],'env':_0x40114f,'metadata':{'version':_0x202e47,'migratedAt':new Date()[_0x3a6ec4(0x80)](),'migratedFrom':_0x4263b5}});writeConfigFile(_0x5be002,_0x1474e6);const _0x235967=_0x4263b5+'.bak';renameSync(_0x4263b5,_0x235967),logger[_0x3a6ec4(0x83)](_0x5aa919),logger[_0x3a6ec4(0x7d)](_0x3a6ec4(0x84),_0x3a6ec4(0x87),{'from':_0x4263b5,'to':_0x5be002,'appcode':_0xd3a908,'env':_0x1474e6[_0x3a6ec4(0x92)]}),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x6d)](_0x3a6ec4(0x79)+_0x3f515a+_0x3a6ec4(0x97))),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x73)](_0x3a6ec4(0x90)+Object['keys'](_0x1474e6[_0x3a6ec4(0x8d)]||{})[_0x3a6ec4(0x89)](',\x20'))),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x73)](_0x3a6ec4(0x7e)+_0x1474e6[_0x3a6ec4(0x68)])),console['log'](a116_0xeb04fc[_0x3a6ec4(0x8a)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x3f515a+_0x3a6ec4(0x94)));return;}const _0x135200=_0x1f02a7||await askAppcode(),_0x150a17=resolve(_0x5aa919,NEW_CONFIG_NAME),_0x539adc=getCliVersionFromPkg(),_0x9798f=readRawConfig(),_0x5b2c4d=typeof _0x9798f['env']==='string'?_0x9798f[_0x3a6ec4(0x92)]:undefined,_0x5440ff=buildCanonicalProjectConfig({},{'appCodes':[_0x135200],'env':_0x410fc5||_0x5b2c4d||_0x3a6ec4(0x95),'metadata':{'version':_0x539adc,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x150a17,_0x5440ff),logger[_0x3a6ec4(0x83)](_0x5aa919),logger[_0x3a6ec4(0x7d)](_0x3a6ec4(0x84),_0x3a6ec4(0x7b),{'appcode':_0x135200,'env':_0x5440ff['env'],'version':_0x5440ff['version'],'configPath':_0x150a17}),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x6d)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x73)](_0x3a6ec4(0x90)+Object['keys'](_0x5440ff[_0x3a6ec4(0x8d)]||{})['join'](',\x20'))),console[_0x3a6ec4(0x86)](a116_0xeb04fc[_0x3a6ec4(0x73)](_0x3a6ec4(0x7e)+_0x5440ff['defaultApp'])),console[_0x3a6ec4(0x86)](_0x3a6ec4(0x6b)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x3a6ec4(0x71));}function askAppcode(){const _0x2286a3=a116_0x4817;return input({'message':_0x2286a3(0x88),'validate':_0x46be18=>{const _0x85acd2=_0x2286a3;if(!_0x46be18[_0x85acd2(0x77)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x3ee091,message:_0x3d49b5}=validateAppcode(_0x46be18[_0x85acd2(0x77)]());return _0x3ee091||_0x3d49b5||_0x85acd2(0x7a);}});}function getCliVersionFromPkg(){const _0x3c8fed=a116_0x4817;try{const _0x4f25ba=fileURLToPath(import.meta.url),_0xa6ad9a=resolve(dirname(_0x4f25ba),_0x3c8fed(0x69)),_0x3b37b8=JSON['parse'](readFileSync(resolve(_0xa6ad9a,_0x3c8fed(0x99)),'utf8'));return _0x3b37b8[_0x3c8fed(0x7c)]||_0x3c8fed(0x91);}catch{return _0x3c8fed(0x91);}}function a116_0x3f92(){const _0x501cea=['834666ujZRBp','?\x20(Old\x20file\x20→\x20*.bak)','Upgrade\x20it\x20to\x20','defaultApp','../..','568120bQoqcO','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','161918LQPpDb','green','168rZGDlC','153aIYYtp','6062357kXLHqh','\x20api\x20pull\x27','5ylWVjl','cyan','string','10TpmJtH','appcode','trim','parse','✓\x20Upgraded\x20','Invalid\x20App\x20Code','初始化项目配置文件成功','version','info','\x20\x20Default:\x20','bold','toLocaleString','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','Migration\x20cancelled.\x20Run\x20`','setLogPath','init','app','log','从旧配置文件升级成功','Please\x20enter\x20App\x20Code:','join','gray','.rabetbase.json','146255PGtFMr','apps','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','17148505NswEgf','\x20\x20Apps:\x20','1.0.0','env','1276329vQtfFv','.bak','production','\x20project\x20init`\x20to\x20start\x20fresh.','\x20→\x20.rabetbase.json','cwd','package.json','yellow'];a116_0x3f92=function(){return _0x501cea;};return a116_0x3f92();}
1
+ function a116_0x2979(){const _0x26d6f4=['30SiGSTI','trim','\x20\x20Default:\x20','110271NGLaUi','1890456oUeWtV','Upgrade\x20it\x20to\x20','join','✓\x20Upgraded\x20','481194BlgQsh','cyan','setLogPath','utf8','\x20\x20appcode:\x20','package.json','version','687376QnNnqo','\x20api\x20generate\x27\x20and\x20\x27','1BMwadd','?\x20(Old\x20file\x20→\x20*.bak)','30XYMKvv','log','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','1.0.0','Invalid\x20App\x20Code','parse','yellow','env','.bak','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','appcode','.rabetbase.json','green','\x20\x20Apps:\x20','string','app','初始化项目配置文件成功','App\x20Code\x20cannot\x20be\x20empty','\x20api\x20pull\x27','97875aSoHJU','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','../..','bold','cwd','1695796dQFtPt','apps','keys','init','defaultApp','1920856gpPuDS','info','toLocaleString','production','\x20project\x20init`\x20to\x20start\x20fresh.','\x20→\x20.rabetbase.json'];a116_0x2979=function(){return _0x26d6f4;};return a116_0x2979();}(function(_0xe9ff91,_0x3756ef){const _0x51a972=a116_0x4bdd,_0x5dc33f=_0xe9ff91();while(!![]){try{const _0x22856b=parseInt(_0x51a972(0xca))/0x1*(-parseInt(_0x51a972(0xc8))/0x2)+-parseInt(_0x51a972(0xf2))/0x3+parseInt(_0x51a972(0xe4))/0x4+parseInt(_0x51a972(0xdf))/0x5*(parseInt(_0x51a972(0xcc))/0x6)+-parseInt(_0x51a972(0xe9))/0x7+parseInt(_0x51a972(0xbd))/0x8+parseInt(_0x51a972(0xc1))/0x9*(parseInt(_0x51a972(0xef))/0xa);if(_0x22856b===_0x3756ef)break;else _0x5dc33f['push'](_0x5dc33f['shift']());}catch(_0x179dc6){_0x5dc33f['push'](_0x5dc33f['shift']());}}}(a116_0x2979,0x405fc));function a116_0x4bdd(_0x180f13,_0x1eff22){_0x180f13=_0x180f13-0xbd;const _0x297998=a116_0x2979();let _0x4bdde6=_0x297998[_0x180f13];return _0x4bdde6;}import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a116_0xb15959 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x16e6da){const _0x43ef2b=a116_0x4bdd,{appcode:_0x1e4740,env:_0x1a7391,autoYes:_0x5ba501}=_0x16e6da,_0x4c7a2b=process[_0x43ef2b(0xe3)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x158bc3;for(const _0x5c0fd7 of LEGACY_CONFIG_NAMES){const _0x1862a6=resolve(_0x4c7a2b,_0x5c0fd7);if(existsSync(_0x1862a6)){_0x158bc3=_0x1862a6;break;}}if(_0x158bc3){let _0x57893d={};try{_0x57893d=JSON[_0x43ef2b(0xd1)](readFileSync(_0x158bc3,_0x43ef2b(0xc4)));}catch{}const _0x27c3ee=basename(_0x158bc3),_0x5d9e66=_0x57893d?.[_0x43ef2b(0xd6)]||_0x57893d?.[_0x43ef2b(0xdb)];let _0x1bfda6=_0x5ba501;!_0x5ba501&&(console[_0x43ef2b(0xcd)](a116_0xb15959[_0x43ef2b(0xd2)](_0x43ef2b(0xd5)+a116_0xb15959[_0x43ef2b(0xe2)](_0x27c3ee))),_0x5d9e66&&console['log'](a116_0xb15959['cyan'](_0x43ef2b(0xc5)+_0x5d9e66)),_0x1bfda6=await confirm({'message':_0x43ef2b(0xbe)+a116_0xb15959[_0x43ef2b(0xe2)](_0x43ef2b(0xd7))+_0x43ef2b(0xcb),'default':!![]}));if(!_0x1bfda6){console[_0x43ef2b(0xcd)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x43ef2b(0xed));return;}const _0x2e84d8=resolve(_0x4c7a2b,NEW_CONFIG_NAME),_0x2f5d64=getCliVersionFromPkg(),_0xba6f5=readRawConfig(),_0x1d829f=_0x1e4740||(typeof _0x57893d?.[_0x43ef2b(0xd6)]===_0x43ef2b(0xda)?_0x57893d[_0x43ef2b(0xd6)]:undefined)||(typeof _0x57893d?.['app']===_0x43ef2b(0xda)?_0x57893d[_0x43ef2b(0xdb)]:undefined)||await askAppcode(),_0x468cf3=typeof _0x57893d?.[_0x43ef2b(0xd3)]===_0x43ef2b(0xda)?_0x57893d[_0x43ef2b(0xd3)]:typeof _0xba6f5['env']==='string'?_0xba6f5['env']:_0x43ef2b(0xec),_0x2447fe=buildCanonicalProjectConfig({..._0xba6f5,..._0x57893d},{'appCodes':[_0x1d829f],'env':_0x468cf3,'metadata':{'version':_0x2f5d64,'migratedAt':new Date()[_0x43ef2b(0xeb)](),'migratedFrom':_0x158bc3}});writeConfigFile(_0x2e84d8,_0x2447fe);const _0x58de24=_0x158bc3+_0x43ef2b(0xd4);renameSync(_0x158bc3,_0x58de24),logger[_0x43ef2b(0xc3)](_0x4c7a2b),logger[_0x43ef2b(0xea)](_0x43ef2b(0xe7),'从旧配置文件升级成功',{'from':_0x158bc3,'to':_0x2e84d8,'appcode':_0x1d829f,'env':_0x2447fe[_0x43ef2b(0xd3)]}),console[_0x43ef2b(0xcd)](a116_0xb15959[_0x43ef2b(0xd8)](_0x43ef2b(0xc0)+_0x27c3ee+_0x43ef2b(0xee))),console['log'](a116_0xb15959[_0x43ef2b(0xc2)](_0x43ef2b(0xd9)+Object[_0x43ef2b(0xe6)](_0x2447fe[_0x43ef2b(0xe5)]||{})[_0x43ef2b(0xbf)](',\x20'))),console[_0x43ef2b(0xcd)](a116_0xb15959[_0x43ef2b(0xc2)]('\x20\x20Default:\x20'+_0x2447fe['defaultApp'])),console['log'](a116_0xb15959['gray']('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x27c3ee+_0x43ef2b(0xd4)));return;}const _0x34f0f7=_0x1e4740||await askAppcode(),_0x2f744c=resolve(_0x4c7a2b,NEW_CONFIG_NAME),_0x5ddecf=getCliVersionFromPkg(),_0x4cd6e8=readRawConfig(),_0x1fe75c=typeof _0x4cd6e8['env']===_0x43ef2b(0xda)?_0x4cd6e8[_0x43ef2b(0xd3)]:undefined,_0x400a1f=buildCanonicalProjectConfig({},{'appCodes':[_0x34f0f7],'env':_0x1a7391||_0x1fe75c||_0x43ef2b(0xec),'metadata':{'version':_0x5ddecf,'createdAt':new Date()[_0x43ef2b(0xeb)]()}});writeConfigFile(_0x2f744c,_0x400a1f),logger[_0x43ef2b(0xc3)](_0x4c7a2b),logger[_0x43ef2b(0xea)]('init',_0x43ef2b(0xdc),{'appcode':_0x34f0f7,'env':_0x400a1f['env'],'version':_0x400a1f[_0x43ef2b(0xc7)],'configPath':_0x2f744c}),console['log'](a116_0xb15959['green'](_0x43ef2b(0xce))),console[_0x43ef2b(0xcd)](a116_0xb15959[_0x43ef2b(0xc2)](_0x43ef2b(0xd9)+Object[_0x43ef2b(0xe6)](_0x400a1f[_0x43ef2b(0xe5)]||{})[_0x43ef2b(0xbf)](',\x20'))),console[_0x43ef2b(0xcd)](a116_0xb15959[_0x43ef2b(0xc2)](_0x43ef2b(0xf1)+_0x400a1f[_0x43ef2b(0xe8)])),console[_0x43ef2b(0xcd)](_0x43ef2b(0xe0)+CLI_BIN_NAME+_0x43ef2b(0xc9)+CLI_BIN_NAME+_0x43ef2b(0xde));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x48c6d8=>{const _0x2b9407=a116_0x4bdd;if(!_0x48c6d8[_0x2b9407(0xf0)]())return _0x2b9407(0xdd);const {valid:_0x3017e7,message:_0x3abadb}=validateAppcode(_0x48c6d8[_0x2b9407(0xf0)]());return _0x3017e7||_0x3abadb||_0x2b9407(0xd0);}});}function getCliVersionFromPkg(){const _0x120385=a116_0x4bdd;try{const _0x12666c=fileURLToPath(import.meta.url),_0x2dee63=resolve(dirname(_0x12666c),_0x120385(0xe1)),_0x4c8b04=JSON[_0x120385(0xd1)](readFileSync(resolve(_0x2dee63,_0x120385(0xc6)),_0x120385(0xc4)));return _0x4c8b04[_0x120385(0xc7)]||_0x120385(0xcf);}catch{return _0x120385(0xcf);}}
@@ -1 +1 @@
1
- (function(_0x313dfd,_0x12a887){const _0x314019=a117_0x3b45,_0x5b3e87=_0x313dfd();while(!![]){try{const _0x3e2059=parseInt(_0x314019(0x183))/0x1+-parseInt(_0x314019(0x17e))/0x2*(parseInt(_0x314019(0x1c7))/0x3)+-parseInt(_0x314019(0x182))/0x4*(-parseInt(_0x314019(0x1b6))/0x5)+-parseInt(_0x314019(0x192))/0x6*(-parseInt(_0x314019(0x176))/0x7)+parseInt(_0x314019(0x1a7))/0x8+parseInt(_0x314019(0x15a))/0x9+-parseInt(_0x314019(0x18f))/0xa*(parseInt(_0x314019(0x153))/0xb);if(_0x3e2059===_0x12a887)break;else _0x5b3e87['push'](_0x5b3e87['shift']());}catch(_0x51c668){_0x5b3e87['push'](_0x5b3e87['shift']());}}}(a117_0x97ea,0xee4a9));import a117_0x45c037 from'chalk';import a117_0x51053f from'ora';function a117_0x97ea(){const _0x5319bc=['CANCEL','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','removed\x20','values','\x20\x20#\x20or','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','MCP\x20config:','Legacy\x20artifacts:','fields','@lovrabet/dataset-mcp-server','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','skipped\x20(no\x20legacy\x20config)','done','.bak','Config\x20migration','status','oldMcpConfig','Clean\x20MCP\x20config','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','cwd','fail','763084qDhtpS','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','needed','push','no\x20legacy\x20config\x20found','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x201/7:\x20Migrating\x20config...','parse','2TSEYRL','cyan','inherit','\x20\x20npm\x20install','145932CLiAKZ','1225541wgDRql','error','sdkUpgrade','stringify','yes','start','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','args','\x20\x20\x20\x20\x20\x20\x20','green','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','log','3829060ODkuGB','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Config\x20file:','18LCNjet','\x20\x20bun\x20install','\x20\x20Current\x20version\x20in\x20','lovrabet/lovrabet-skill\x20removed','===\x20Upgrade\x20Summary\x20===','Remove\x20.lovrabet/','lovrabet/rabetbase\x20installed\x20globally','string','\x20\x20Step\x20','@lovrabet/sdk:','\x20→\x20','filter','mcpServers','@lovrabet/sdk','\x20removed','files','succeed','oldPath','\x20(backup:\x20','exit\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','10123352FxJMVd','Remove\x20legacy\x20artifacts','FOUND','red','Proceed\x20with\x20upgrade?','\x20removed\x20(','isArray','isDirectory','detail','white','join','.cursor/mcp.json','Upgrade\x20@lovrabet/sdk','not\x20found\x20or\x20already\x20at\x20latest','gray','190dIrbwc','object','entries','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Upgrade\x20cancelled.','.lovrabet','dependencies','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','failed','length','utf8','\x20\x20Fields\x20to\x20migrate:\x20','not\x20needed','latest','\x20from\x20','yellow','hasNewConfig','341337sUXTNb','keys','Step\x206/7:\x20Installing\x20new\x20skill...','info','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','needsSkillSwap','Install\x20new\x20skill','undefined','step','\x20\x20Action:\x20delete','bold','includes','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Step\x205/7:\x20Removing\x20old\x20skill...','not\x20found\x20(will\x20create)','Step\x204/7:\x20MCP\x20config\x20—\x20','oldArtifacts','package.json','[\x22@lovrabet/sdk\x22]:\x20','some','143gurIzG','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20→\x20keys:\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','skipped','lovrabet/rabetbase','16769232DSHnUq','\x20→\x20latest','path','none\x20found','message'];a117_0x97ea=function(){return _0x5319bc;};return a117_0x97ea();}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x1496d5=>_0x1496d5!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x288d8a){const _0x2f9a24=a117_0x3b45,_0x5db8a2=[];for(const _0x3612f2 of Object[_0x2f9a24(0x164)](CORE_IDE_CONFIGS)){if(_0x3612f2['files'])for(const _0x35047e of _0x3612f2[_0x2f9a24(0x1a1)]){_0x5db8a2[_0x2f9a24(0x179)](resolve(_0x288d8a,_0x35047e[_0x2f9a24(0x15c)]));}}return _0x5db8a2;}function analyse(_0x2bf729){const _0xb5ae01=a117_0x3b45;let _0x1116ee=null;const _0x3e4dfa=resolve(_0x2bf729,NEW_CONFIG_NAME),_0x5ca731=existsSync(_0x3e4dfa);for(const _0x914b0c of LEGACY_CONFIG_NAMES){const _0x37a77e=resolve(_0x2bf729,_0x914b0c);if(existsSync(_0x37a77e)){const _0x64c276=readConfigFile(_0x37a77e),_0x1aaa66=Object[_0xb5ae01(0x1c8)](_0x64c276)[_0xb5ae01(0x19d)](_0x477830=>typeof _0x64c276[_0x477830]!==_0xb5ae01(0x1ce));_0x1116ee={'oldPath':_0x37a77e,'hasNewConfig':_0x5ca731,'fields':_0x1aaa66};break;}}const _0x5da14b=[],_0x4893a1=resolve(_0x2bf729,'.lovrabet');if(existsSync(_0x4893a1))_0x5da14b[_0xb5ae01(0x179)](_0x4893a1);const _0x37b595=resolve(_0x2bf729,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x37b595))_0x5da14b[_0xb5ae01(0x179)](_0x37b595);const _0xde5aba=resolve(_0x2bf729,'.claude/skills/lovrabet');if(existsSync(_0xde5aba))_0x5da14b[_0xb5ae01(0x179)](_0xde5aba);for(const _0x44b2d1 of collectIdeSkillFiles(_0x2bf729)){if(existsSync(_0x44b2d1))_0x5da14b['push'](_0x44b2d1);}let _0x1476a8=null;const _0x12caef=resolve(_0x2bf729,_0xb5ae01(0x1b2));if(existsSync(_0x12caef))try{const _0x53a001=JSON[_0xb5ae01(0x17d)](readFileSync(_0x12caef,_0xb5ae01(0x1c0)));if(_0x53a001?.[_0xb5ae01(0x19e)]&&typeof _0x53a001[_0xb5ae01(0x19e)]===_0xb5ae01(0x1b7)){const _0x491542=[];for(const [_0x47e3b6,_0x4a5b5e]of Object[_0xb5ae01(0x1b8)](_0x53a001[_0xb5ae01(0x19e)])){const _0x17c746=_0x4a5b5e;_0x17c746?.['args']&&Array[_0xb5ae01(0x1ad)](_0x17c746[_0xb5ae01(0x18a)])&&_0x17c746[_0xb5ae01(0x18a)][_0xb5ae01(0x152)](_0x5cd4cd=>typeof _0x5cd4cd===_0xb5ae01(0x199)&&_0x5cd4cd[_0xb5ae01(0x149)](_0xb5ae01(0x16a)))&&_0x491542[_0xb5ae01(0x179)](_0x47e3b6);}_0x491542[_0xb5ae01(0x1bf)]>0x0&&(_0x1476a8={'path':_0x12caef,'keys':_0x491542});}}catch{}const _0x2b9191=_0x5da14b[_0xb5ae01(0x1bf)]>0x0||_0x1116ee!==null;let _0x10a270=null;const _0x5dffc0=resolve(_0x2bf729,_0xb5ae01(0x150));if(existsSync(_0x5dffc0))try{const _0x45ccf0=JSON[_0xb5ae01(0x17d)](readFileSync(_0x5dffc0,_0xb5ae01(0x1c0)));for(const _0x2f24c9 of[_0xb5ae01(0x1bc),'devDependencies']){const _0x38e5ad=_0x45ccf0?.[_0x2f24c9]?.[_0xb5ae01(0x19f)];if(typeof _0x38e5ad===_0xb5ae01(0x199)){_0x38e5ad!==_0xb5ae01(0x1c3)&&(_0x10a270={'pkgPath':_0x5dffc0,'currentVersion':_0x38e5ad,'field':_0x2f24c9});break;}}}catch{}return{'configMigration':_0x1116ee,'oldArtifacts':_0x5da14b,'oldMcpConfig':_0x1476a8,'needsSkillSwap':_0x2b9191,'sdkUpgrade':_0x10a270};}function printReport(_0x555f82){const _0x16d3ce=a117_0x3b45,{configMigration:_0x5baae0,oldArtifacts:_0x3e4f9a,oldMcpConfig:_0x5160f2,needsSkillSwap:_0x23603d}=_0x555f82;console[_0x16d3ce(0x18e)](''),console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x148)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x16d3ce(0x18e)]('');_0x5baae0?(console[_0x16d3ce(0x18e)](a117_0x45c037['cyan']('Config\x20file:')+('\x20\x20'+a117_0x45c037['yellow'](_0x5baae0[_0x16d3ce(0x1a3)]))),console[_0x16d3ce(0x18e)](_0x16d3ce(0x161)+(_0x5baae0[_0x16d3ce(0x1c6)]?a117_0x45c037['green']('already\x20exists\x20(will\x20merge)'):a117_0x45c037[_0x16d3ce(0x1b5)](_0x16d3ce(0x14d)))),console[_0x16d3ce(0x18e)](_0x16d3ce(0x1c1)+_0x5baae0[_0x16d3ce(0x169)][_0x16d3ce(0x1b1)](',\x20')),console[_0x16d3ce(0x18e)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x17f)](_0x16d3ce(0x191))+'\x20\x20'+a117_0x45c037[_0x16d3ce(0x1b5)](_0x16d3ce(0x17a)));console['log']('');if(_0x3e4f9a[_0x16d3ce(0x1bf)]>0x0){console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x17f)](_0x16d3ce(0x168)));for(const _0x3ac42c of _0x3e4f9a){console[_0x16d3ce(0x18e)]('\x20\x20'+a117_0x45c037['red'](_0x16d3ce(0x1a9))+'\x20\x20'+_0x3ac42c);}console[_0x16d3ce(0x18e)](_0x16d3ce(0x147));}else console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x17f)](_0x16d3ce(0x168))+'\x20\x20'+a117_0x45c037[_0x16d3ce(0x1b5)](_0x16d3ce(0x15d)));console[_0x16d3ce(0x18e)]('');_0x5160f2?(console['log'](a117_0x45c037[_0x16d3ce(0x17f)](_0x16d3ce(0x167))+('\x20\x20'+a117_0x45c037[_0x16d3ce(0x1c5)](_0x5160f2['path'])+_0x16d3ce(0x156)+_0x5160f2[_0x16d3ce(0x1c8)][_0x16d3ce(0x1b1)](',\x20'))),console[_0x16d3ce(0x18e)](_0x16d3ce(0x162))):console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x17f)]('MCP\x20config:')+'\x20\x20'+a117_0x45c037[_0x16d3ce(0x1b5)]('no\x20legacy\x20entry'));console['log'](''),console[_0x16d3ce(0x18e)](a117_0x45c037['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x23603d?a117_0x45c037['yellow'](_0x16d3ce(0x178)):a117_0x45c037['green'](_0x16d3ce(0x1c2)))));_0x23603d&&console['log'](_0x16d3ce(0x157)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x555f82[_0x16d3ce(0x185)]){const {currentVersion:_0x172eab,field:_0x103025,pkgPath:_0x33b41b}=_0x555f82[_0x16d3ce(0x185)];console[_0x16d3ce(0x18e)](a117_0x45c037[_0x16d3ce(0x17f)](_0x16d3ce(0x19b))+('\x20\x20'+a117_0x45c037[_0x16d3ce(0x1c5)](_0x33b41b))),console['log'](_0x16d3ce(0x194)+_0x103025+':\x20'+a117_0x45c037[_0x16d3ce(0x1c5)](_0x172eab)+_0x16d3ce(0x19c)+a117_0x45c037[_0x16d3ce(0x18c)](_0x16d3ce(0x1c3))),console[_0x16d3ce(0x18e)](_0x16d3ce(0x17b));}else console[_0x16d3ce(0x18e)](a117_0x45c037['cyan'](_0x16d3ce(0x19b))+'\x20\x20'+a117_0x45c037[_0x16d3ce(0x1b5)](_0x16d3ce(0x1b4)));console[_0x16d3ce(0x18e)]('');}function execConfigMigration(_0x1096af,_0x4eaf6e){const _0x21c6c8=a117_0x3b45,{configMigration:_0x253607}=_0x1096af;if(!_0x253607?.[_0x21c6c8(0x1a3)])return{'step':0x1,'label':_0x21c6c8(0x16f),'ok':!![],'detail':_0x21c6c8(0x16c)};const _0x513350=readConfigFile(_0x253607['oldPath']),_0x21ea12=resolve(_0x4eaf6e,NEW_CONFIG_NAME),_0x10fb78=_0x253607[_0x21c6c8(0x1c6)]?readConfigFile(_0x21ea12):{};for(const [_0xfb71a5,_0x35dd3c]of Object[_0x21c6c8(0x1b8)](_0x513350)){!(_0xfb71a5 in _0x10fb78)&&(_0x10fb78[_0xfb71a5]=_0x35dd3c);}writeConfigFile(_0x21ea12,_0x10fb78);const _0x1a9fb6=_0x253607[_0x21c6c8(0x1a3)]+_0x21c6c8(0x16e);return renameSync(_0x253607[_0x21c6c8(0x1a3)],_0x1a9fb6),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x253607['oldPath']+_0x21c6c8(0x19c)+_0x21ea12+_0x21c6c8(0x1a4)+_0x1a9fb6+')'};}function a117_0x3b45(_0x47df89,_0x17bfc3){_0x47df89=_0x47df89-0x146;const _0x97eaf0=a117_0x97ea();let _0x3b457a=_0x97eaf0[_0x47df89];return _0x3b457a;}function execRemoveOldArtifacts(_0x4a8c50){const _0x3fb38d=a117_0x3b45,_0x265737=[];for(const _0x16f82f of _0x4a8c50){try{if(!existsSync(_0x16f82f))continue;const _0x100508=tryStat(_0x16f82f);_0x100508?.[_0x3fb38d(0x1ae)]()?rmSync(_0x16f82f,{'recursive':!![],'force':!![]}):unlinkSync(_0x16f82f);}catch(_0x3a1e20){_0x265737[_0x3fb38d(0x179)](_0x16f82f+':\x20'+_0x3a1e20[_0x3fb38d(0x15e)]);}}return{'step':0x3,'label':_0x3fb38d(0x1a8),'ok':_0x265737['length']===0x0,'detail':_0x265737[_0x3fb38d(0x1bf)]>0x0?_0x4a8c50[_0x3fb38d(0x1bf)]-_0x265737['length']+'/'+_0x4a8c50[_0x3fb38d(0x1bf)]+_0x3fb38d(0x1ac)+_0x265737[_0x3fb38d(0x1b1)](';\x20')+')':_0x4a8c50['length']+_0x3fb38d(0x1a0)};}function execCleanMcp(_0x37c18){const _0x456ea6=a117_0x3b45;if(!_0x37c18['oldMcpConfig'])return{'step':0x4,'label':_0x456ea6(0x172),'ok':!![],'detail':_0x456ea6(0x158)};try{const _0x312a88=readFileSync(_0x37c18['oldMcpConfig'][_0x456ea6(0x15c)],_0x456ea6(0x1c0)),_0x584ce3=JSON['parse'](_0x312a88);if(_0x584ce3?.[_0x456ea6(0x19e)]&&typeof _0x584ce3[_0x456ea6(0x19e)]===_0x456ea6(0x1b7)){const _0x15eb54=[];for(const [_0x94bd45,_0x5c2523]of Object[_0x456ea6(0x1b8)](_0x584ce3['mcpServers'])){_0x5c2523?.[_0x456ea6(0x18a)]&&Array[_0x456ea6(0x1ad)](_0x5c2523['args'])&&_0x5c2523['args'][_0x456ea6(0x152)](_0x5d152b=>typeof _0x5d152b===_0x456ea6(0x199)&&_0x5d152b[_0x456ea6(0x149)](_0x456ea6(0x16a)))&&_0x15eb54[_0x456ea6(0x179)](_0x94bd45);}for(const _0x3934d6 of _0x15eb54){delete _0x584ce3[_0x456ea6(0x19e)][_0x3934d6];}return _0x15eb54[_0x456ea6(0x1bf)]>0x0&&writeFileSync(_0x37c18[_0x456ea6(0x171)]['path'],JSON[_0x456ea6(0x186)](_0x584ce3,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x456ea6(0x172),'ok':!![],'detail':_0x456ea6(0x163)+_0x15eb54[_0x456ea6(0x1b1)](',\x20')+_0x456ea6(0x1c4)+_0x37c18[_0x456ea6(0x171)]['path']};}return{'step':0x4,'label':_0x456ea6(0x172),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2ed3f6){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x2ed3f6['message']};}}function execSkillsRemove(_0xfa435d,_0x458dec){const _0x4d3320=a117_0x3b45,_0x32698f=runNpxSkillsRemove(_0xfa435d,{'stdio':_0x4d3320(0x180),'yes':_0x458dec});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x32698f['ok'],'detail':_0x32698f['ok']?_0x4d3320(0x195):_0x32698f[_0x4d3320(0x184)]??'exit\x20'+_0x32698f[_0x4d3320(0x170)]};}function execSkillsAdd(_0x4481dd,_0x293499){const _0xb72a5c=a117_0x3b45,_0x28113d=runNpxSkillsAddGlobal(_0x4481dd,_0xb72a5c(0x159),{'stdio':_0xb72a5c(0x180),'yes':_0x293499});return{'step':0x6,'label':_0xb72a5c(0x1cd),'ok':_0x28113d['ok'],'detail':_0x28113d['ok']?_0xb72a5c(0x198):_0x28113d[_0xb72a5c(0x184)]??_0xb72a5c(0x1a5)+_0x28113d[_0xb72a5c(0x170)]};}function execUpgradeSdk(_0x2550b){const _0x3d2017=a117_0x3b45;if(!_0x2550b['sdkUpgrade'])return{'step':0x7,'label':_0x3d2017(0x1b3),'ok':!![],'detail':_0x3d2017(0x1cb)};const {pkgPath:_0x27d236,currentVersion:_0x11fc66,field:_0x1e8bab}=_0x2550b[_0x3d2017(0x185)];try{const _0x1f7cec=readFileSync(_0x27d236,_0x3d2017(0x1c0)),_0xe7d6ea=JSON[_0x3d2017(0x17d)](_0x1f7cec);return _0xe7d6ea[_0x1e8bab]['@lovrabet/sdk']='latest',writeFileSync(_0x27d236,JSON[_0x3d2017(0x186)](_0xe7d6ea,null,0x2)+'\x0a',_0x3d2017(0x1c0)),{'step':0x7,'label':_0x3d2017(0x1b3),'ok':!![],'detail':_0x1e8bab+_0x3d2017(0x151)+_0x11fc66+_0x3d2017(0x15b)};}catch(_0x38ccd6){return{'step':0x7,'label':_0x3d2017(0x1b3),'ok':![],'detail':_0x38ccd6[_0x3d2017(0x15e)]};}}function tryStat(_0x32dc7c){try{return statSync(_0x32dc7c);}catch{return undefined;}}function printSummary(_0x390aee){const _0x20bf57=a117_0x3b45;console[_0x20bf57(0x18e)](''),console[_0x20bf57(0x18e)](a117_0x45c037[_0x20bf57(0x148)](_0x20bf57(0x196))),console['log']('');for(const _0x1f7858 of _0x390aee){const _0x2b64d5=_0x1f7858['ok']?a117_0x45c037[_0x20bf57(0x18c)]('OK'):a117_0x45c037[_0x20bf57(0x1aa)]('FAIL');console[_0x20bf57(0x18e)]('\x20\x20'+_0x2b64d5+_0x20bf57(0x19a)+_0x1f7858[_0x20bf57(0x146)]+':\x20'+_0x1f7858['label']);if(_0x1f7858[_0x20bf57(0x1af)])console[_0x20bf57(0x18e)](_0x20bf57(0x18b)+a117_0x45c037[_0x20bf57(0x1b5)](_0x1f7858[_0x20bf57(0x1af)]));}console[_0x20bf57(0x18e)]('');}export async function upgradeApp(_0x1f6702,_0x482022){const _0x178762=a117_0x3b45,_0x15db0c=process[_0x178762(0x174)](),_0x4f1306=analyse(_0x15db0c),_0x338500=!_0x4f1306['configMigration']&&_0x4f1306[_0x178762(0x14f)][_0x178762(0x1bf)]===0x0&&!_0x4f1306[_0x178762(0x171)]&&!_0x4f1306[_0x178762(0x1cc)]&&!_0x4f1306[_0x178762(0x185)];if(_0x338500){console['log'](a117_0x45c037['green'](_0x178762(0x166)));return;}printReport(_0x4f1306);const _0x29ad00=!!(_0x482022[_0x178762(0x187)]||_0x482022['Y']||_0x1f6702);if(!_0x29ad00)try{const _0x366668=await askConfirm(_0x178762(0x1ab));if(!_0x366668){console['log'](a117_0x45c037[_0x178762(0x1b5)](_0x178762(0x1ba)));return;}}catch(_0x1bb8c3){if(_0x1bb8c3?.[_0x178762(0x15e)]===_0x178762(0x15f)){console[_0x178762(0x18e)](a117_0x45c037[_0x178762(0x1b5)]('Upgrade\x20cancelled.'));return;}throw _0x1bb8c3;}const _0x30fe60=[],_0x198144=a117_0x51053f({'text':_0x178762(0x17c),'color':_0x178762(0x17f)})[_0x178762(0x188)](),_0x4bac92=execConfigMigration(_0x4f1306,_0x15db0c);_0x30fe60['push'](_0x4bac92),_0x198144[_0x4bac92['ok']?_0x178762(0x1a2):_0x178762(0x175)](_0x178762(0x14a)+(_0x4bac92[_0x178762(0x1af)]??(_0x4bac92['ok']?_0x178762(0x16d):_0x178762(0x1be))));const _0xb7fa68=resolve(_0x15db0c,_0x178762(0x1bb)),_0x10c0cd=a117_0x51053f({'text':_0x178762(0x177),'color':'cyan'})[_0x178762(0x188)]();if(existsSync(_0xb7fa68))try{rmSync(_0xb7fa68,{'recursive':!![],'force':!![]}),_0x10c0cd[_0x178762(0x1a2)](_0x178762(0x1b9)),_0x30fe60[_0x178762(0x179)]({'step':0x2,'label':_0x178762(0x197),'ok':!![]});}catch(_0x9facb0){_0x10c0cd['fail'](_0x178762(0x173)+_0x9facb0[_0x178762(0x15e)]),_0x30fe60['push']({'step':0x2,'label':_0x178762(0x197),'ok':![],'detail':_0x9facb0['message']});}else _0x10c0cd[_0x178762(0x1ca)](_0x178762(0x1a6)),_0x30fe60[_0x178762(0x179)]({'step':0x2,'label':_0x178762(0x197),'ok':!![],'detail':_0x178762(0x158)});const _0x43335f=a117_0x51053f({'text':_0x178762(0x14b),'color':_0x178762(0x17f)})['start'](),_0x584e5b=execRemoveOldArtifacts(_0x4f1306[_0x178762(0x14f)]);_0x30fe60[_0x178762(0x179)](_0x584e5b),_0x43335f[_0x584e5b['ok']?_0x178762(0x1a2):_0x178762(0x175)](_0x178762(0x154)+(_0x584e5b[_0x178762(0x1af)]??(_0x584e5b['ok']?_0x178762(0x16d):'failed')));const _0x454539=a117_0x51053f({'text':_0x178762(0x190),'color':'cyan'})[_0x178762(0x188)](),_0x2495b4=execCleanMcp(_0x4f1306);_0x30fe60[_0x178762(0x179)](_0x2495b4),_0x454539[_0x2495b4['ok']?'succeed':_0x178762(0x175)](_0x178762(0x14e)+(_0x2495b4['detail']??(_0x2495b4['ok']?'done':'failed')));const _0x3b6f2e=a117_0x51053f({'text':_0x178762(0x14c),'color':_0x178762(0x17f)})[_0x178762(0x188)](),_0x393288=execSkillsRemove(_0x15db0c,_0x29ad00);_0x30fe60[_0x178762(0x179)](_0x393288),_0x3b6f2e[_0x393288['ok']?_0x178762(0x1a2):'fail'](_0x178762(0x16b)+(_0x393288['detail']??(_0x393288['ok']?_0x178762(0x16d):_0x178762(0x1be))));const _0x23a11b=a117_0x51053f({'text':_0x178762(0x1c9),'color':_0x178762(0x17f)})[_0x178762(0x188)](),_0x4d419f=execSkillsAdd(_0x15db0c,_0x29ad00);_0x30fe60[_0x178762(0x179)](_0x4d419f),_0x23a11b[_0x4d419f['ok']?_0x178762(0x1a2):_0x178762(0x175)](_0x178762(0x155)+(_0x4d419f[_0x178762(0x1af)]??(_0x4d419f['ok']?'done':_0x178762(0x1be))));const _0x1ad5a3=a117_0x51053f({'text':_0x178762(0x160),'color':_0x178762(0x17f)})[_0x178762(0x188)](),_0x4c7276=execUpgradeSdk(_0x4f1306);_0x30fe60[_0x178762(0x179)](_0x4c7276),_0x1ad5a3[_0x4c7276['ok']?_0x178762(0x1a2):_0x178762(0x175)](_0x178762(0x1bd)+(_0x4c7276[_0x178762(0x1af)]??(_0x4c7276['ok']?_0x178762(0x16d):_0x178762(0x1be)))),printSummary(_0x30fe60);const _0x30324b=_0x30fe60[_0x178762(0x152)](_0x4d1389=>!_0x4d1389['ok']);_0x30324b?console['log'](a117_0x45c037[_0x178762(0x1c5)](_0x178762(0x189))):console[_0x178762(0x18e)](a117_0x45c037[_0x178762(0x18c)]('Upgrade\x20completed\x20successfully!')),_0x4c7276['ok']&&_0x4f1306[_0x178762(0x185)]&&(console['log'](''),console[_0x178762(0x18e)](a117_0x45c037[_0x178762(0x148)][_0x178762(0x17f)](_0x178762(0x18d))),console[_0x178762(0x18e)](a117_0x45c037[_0x178762(0x17f)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x178762(0x18e)](''),console['log'](a117_0x45c037[_0x178762(0x1b0)](_0x178762(0x181))),console['log'](a117_0x45c037[_0x178762(0x1b0)](_0x178762(0x165))),console['log'](a117_0x45c037['white'](_0x178762(0x193))),console[_0x178762(0x18e)](''));}
1
+ const a117_0x523c0e=a117_0x4fcd;(function(_0x9996e5,_0x439b4c){const _0x51a7dd=a117_0x4fcd,_0x375927=_0x9996e5();while(!![]){try{const _0x266ee6=parseInt(_0x51a7dd(0x135))/0x1+parseInt(_0x51a7dd(0xda))/0x2*(-parseInt(_0x51a7dd(0xd7))/0x3)+-parseInt(_0x51a7dd(0x10e))/0x4+parseInt(_0x51a7dd(0x11a))/0x5*(parseInt(_0x51a7dd(0xf7))/0x6)+-parseInt(_0x51a7dd(0x11c))/0x7+parseInt(_0x51a7dd(0xe1))/0x8+parseInt(_0x51a7dd(0xf8))/0x9*(parseInt(_0x51a7dd(0xfe))/0xa);if(_0x266ee6===_0x439b4c)break;else _0x375927['push'](_0x375927['shift']());}catch(_0xfcffbe){_0x375927['push'](_0x375927['shift']());}}}(a117_0x221a,0xc4838));import a117_0x259e33 from'chalk';import a117_0x3bcf88 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a117_0x523c0e(0x133)](_0x210ddf=>_0x210ddf!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4a94bd){const _0x4d17f4=a117_0x523c0e,_0x41910b=[];for(const _0x5c6aff of Object['values'](CORE_IDE_CONFIGS)){if(_0x5c6aff[_0x4d17f4(0xf5)])for(const _0x42ce6f of _0x5c6aff[_0x4d17f4(0xf5)]){_0x41910b['push'](resolve(_0x4a94bd,_0x42ce6f['path']));}}return _0x41910b;}function analyse(_0x2bbd28){const _0x456416=a117_0x523c0e;let _0x2d3766=null;const _0x712470=resolve(_0x2bbd28,NEW_CONFIG_NAME),_0x49379f=existsSync(_0x712470);for(const _0x2989a0 of LEGACY_CONFIG_NAMES){const _0x1963e2=resolve(_0x2bbd28,_0x2989a0);if(existsSync(_0x1963e2)){const _0x30e334=readConfigFile(_0x1963e2),_0x4e72d0=Object[_0x456416(0x13b)](_0x30e334)['filter'](_0x4af244=>typeof _0x30e334[_0x4af244]!==_0x456416(0x13a));_0x2d3766={'oldPath':_0x1963e2,'hasNewConfig':_0x49379f,'fields':_0x4e72d0};break;}}const _0x3e0350=[],_0x5e77f9=resolve(_0x2bbd28,_0x456416(0xd2));if(existsSync(_0x5e77f9))_0x3e0350[_0x456416(0xeb)](_0x5e77f9);const _0x2b5524=resolve(_0x2bbd28,_0x456416(0xdc));if(existsSync(_0x2b5524))_0x3e0350['push'](_0x2b5524);const _0x14f79c=resolve(_0x2bbd28,_0x456416(0x121));if(existsSync(_0x14f79c))_0x3e0350[_0x456416(0xeb)](_0x14f79c);for(const _0x132039 of collectIdeSkillFiles(_0x2bbd28)){if(existsSync(_0x132039))_0x3e0350[_0x456416(0xeb)](_0x132039);}let _0xbdf9b1=null;const _0x2bcde6=resolve(_0x2bbd28,_0x456416(0x106));if(existsSync(_0x2bcde6))try{const _0x569dad=JSON[_0x456416(0xf9)](readFileSync(_0x2bcde6,_0x456416(0x116)));if(_0x569dad?.[_0x456416(0xd3)]&&typeof _0x569dad['mcpServers']===_0x456416(0x132)){const _0x10360d=[];for(const [_0x32fbbf,_0x39fc5f]of Object['entries'](_0x569dad['mcpServers'])){const _0xb77311=_0x39fc5f;_0xb77311?.[_0x456416(0xea)]&&Array[_0x456416(0xf4)](_0xb77311[_0x456416(0xea)])&&_0xb77311[_0x456416(0xea)]['some'](_0x34a262=>typeof _0x34a262===_0x456416(0x12f)&&_0x34a262[_0x456416(0x14a)](_0x456416(0xe5)))&&_0x10360d[_0x456416(0xeb)](_0x32fbbf);}_0x10360d['length']>0x0&&(_0xbdf9b1={'path':_0x2bcde6,'keys':_0x10360d});}}catch{}const _0x4eaee6=_0x3e0350[_0x456416(0xf6)]>0x0||_0x2d3766!==null;let _0x2707fa=null;const _0x7791e=resolve(_0x2bbd28,_0x456416(0xf3));if(existsSync(_0x7791e))try{const _0xf9dc6e=JSON['parse'](readFileSync(_0x7791e,_0x456416(0x116)));for(const _0x5f054c of[_0x456416(0xd9),_0x456416(0xfa)]){const _0x6ed482=_0xf9dc6e?.[_0x5f054c]?.['@lovrabet/sdk'];if(typeof _0x6ed482===_0x456416(0x12f)){_0x6ed482!==_0x456416(0x112)&&(_0x2707fa={'pkgPath':_0x7791e,'currentVersion':_0x6ed482,'field':_0x5f054c});break;}}}catch{}return{'configMigration':_0x2d3766,'oldArtifacts':_0x3e0350,'oldMcpConfig':_0xbdf9b1,'needsSkillSwap':_0x4eaee6,'sdkUpgrade':_0x2707fa};}function printReport(_0x1f3a78){const _0x112721=a117_0x523c0e,{configMigration:_0x5786ea,oldArtifacts:_0xbe1a48,oldMcpConfig:_0xd6df0a,needsSkillSwap:_0x416049}=_0x1f3a78;console[_0x112721(0x10b)](''),console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xfb)](_0x112721(0x130))),console[_0x112721(0x10b)]('');_0x5786ea?(console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x11e))+('\x20\x20'+a117_0x259e33[_0x112721(0x144)](_0x5786ea['oldPath']))),console[_0x112721(0x10b)](_0x112721(0xf0)+(_0x5786ea[_0x112721(0x141)]?a117_0x259e33[_0x112721(0x12d)]('already\x20exists\x20(will\x20merge)'):a117_0x259e33['gray']('not\x20found\x20(will\x20create)'))),console[_0x112721(0x10b)](_0x112721(0x13d)+_0x5786ea[_0x112721(0x147)][_0x112721(0x143)](',\x20')),console[_0x112721(0x10b)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x11e))+'\x20\x20'+a117_0x259e33['gray'](_0x112721(0x100)));console[_0x112721(0x10b)]('');if(_0xbe1a48[_0x112721(0xf6)]>0x0){console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x127)));for(const _0x3c2f4a of _0xbe1a48){console['log']('\x20\x20'+a117_0x259e33[_0x112721(0x115)](_0x112721(0x149))+'\x20\x20'+_0x3c2f4a);}console[_0x112721(0x10b)]('\x20\x20Action:\x20delete');}else console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x127))+'\x20\x20'+a117_0x259e33[_0x112721(0x10c)](_0x112721(0x123)));console[_0x112721(0x10b)]('');_0xd6df0a?(console[_0x112721(0x10b)](a117_0x259e33['cyan'](_0x112721(0x138))+('\x20\x20'+a117_0x259e33[_0x112721(0x144)](_0xd6df0a[_0x112721(0x14b)])+_0x112721(0xe3)+_0xd6df0a[_0x112721(0x13b)][_0x112721(0x143)](',\x20'))),console['log'](_0x112721(0xee))):console['log'](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x138))+'\x20\x20'+a117_0x259e33[_0x112721(0x10c)](_0x112721(0x109)));console[_0x112721(0x10b)](''),console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x101))+('\x20\x20'+(_0x416049?a117_0x259e33[_0x112721(0x144)](_0x112721(0xde)):a117_0x259e33[_0x112721(0x12d)](_0x112721(0xe2)))));_0x416049&&console[_0x112721(0x10b)](_0x112721(0x110)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x1f3a78[_0x112721(0x111)]){const {currentVersion:_0x13f6ac,field:_0x3de602,pkgPath:_0x421bea}=_0x1f3a78['sdkUpgrade'];console[_0x112721(0x10b)](a117_0x259e33['cyan'](_0x112721(0x11b))+('\x20\x20'+a117_0x259e33['yellow'](_0x421bea))),console[_0x112721(0x10b)](_0x112721(0xd8)+_0x3de602+':\x20'+a117_0x259e33[_0x112721(0x144)](_0x13f6ac)+_0x112721(0xfd)+a117_0x259e33[_0x112721(0x12d)]('latest')),console['log']('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x112721(0x10b)](a117_0x259e33[_0x112721(0xdf)](_0x112721(0x11b))+'\x20\x20'+a117_0x259e33['gray'](_0x112721(0x142)));console[_0x112721(0x10b)]('');}function execConfigMigration(_0x2c433f,_0x336a7e){const _0x23528a=a117_0x523c0e,{configMigration:_0x311ce4}=_0x2c433f;if(!_0x311ce4?.['oldPath'])return{'step':0x1,'label':_0x23528a(0x10a),'ok':!![],'detail':_0x23528a(0x113)};const _0x41ed2d=readConfigFile(_0x311ce4['oldPath']),_0x5758bf=resolve(_0x336a7e,NEW_CONFIG_NAME),_0x204f85=_0x311ce4[_0x23528a(0x141)]?readConfigFile(_0x5758bf):{};for(const [_0x39b0cc,_0x56b417]of Object['entries'](_0x41ed2d)){!(_0x39b0cc in _0x204f85)&&(_0x204f85[_0x39b0cc]=_0x56b417);}writeConfigFile(_0x5758bf,_0x204f85);const _0x2b9d89=_0x311ce4[_0x23528a(0x114)]+'.bak';return renameSync(_0x311ce4[_0x23528a(0x114)],_0x2b9d89),{'step':0x1,'label':_0x23528a(0x10a),'ok':!![],'detail':_0x311ce4[_0x23528a(0x114)]+'\x20→\x20'+_0x5758bf+'\x20(backup:\x20'+_0x2b9d89+')'};}function execRemoveOldArtifacts(_0x1a3917){const _0x466f72=a117_0x523c0e,_0x2a187b=[];for(const _0x47d429 of _0x1a3917){try{if(!existsSync(_0x47d429))continue;const _0x5da095=tryStat(_0x47d429);_0x5da095?.[_0x466f72(0xe6)]()?rmSync(_0x47d429,{'recursive':!![],'force':!![]}):unlinkSync(_0x47d429);}catch(_0x22eaf8){_0x2a187b[_0x466f72(0xeb)](_0x47d429+':\x20'+_0x22eaf8[_0x466f72(0x136)]);}}return{'step':0x3,'label':_0x466f72(0x10f),'ok':_0x2a187b[_0x466f72(0xf6)]===0x0,'detail':_0x2a187b['length']>0x0?_0x1a3917[_0x466f72(0xf6)]-_0x2a187b['length']+'/'+_0x1a3917[_0x466f72(0xf6)]+'\x20removed\x20('+_0x2a187b[_0x466f72(0x143)](';\x20')+')':_0x1a3917['length']+_0x466f72(0x118)};}function execCleanMcp(_0x123e5c){const _0x599b5a=a117_0x523c0e;if(!_0x123e5c['oldMcpConfig'])return{'step':0x4,'label':_0x599b5a(0xd6),'ok':!![],'detail':_0x599b5a(0xe0)};try{const _0x359b65=readFileSync(_0x123e5c['oldMcpConfig'][_0x599b5a(0x14b)],_0x599b5a(0x116)),_0xc3c6a6=JSON[_0x599b5a(0xf9)](_0x359b65);if(_0xc3c6a6?.['mcpServers']&&typeof _0xc3c6a6[_0x599b5a(0xd3)]===_0x599b5a(0x132)){const _0x3d7869=[];for(const [_0x5132b5,_0x5dec73]of Object[_0x599b5a(0x11d)](_0xc3c6a6[_0x599b5a(0xd3)])){_0x5dec73?.[_0x599b5a(0xea)]&&Array['isArray'](_0x5dec73[_0x599b5a(0xea)])&&_0x5dec73[_0x599b5a(0xea)][_0x599b5a(0x117)](_0x47d138=>typeof _0x47d138===_0x599b5a(0x12f)&&_0x47d138[_0x599b5a(0x14a)](_0x599b5a(0xe5)))&&_0x3d7869[_0x599b5a(0xeb)](_0x5132b5);}for(const _0x20ed4c of _0x3d7869){delete _0xc3c6a6[_0x599b5a(0xd3)][_0x20ed4c];}return _0x3d7869[_0x599b5a(0xf6)]>0x0&&writeFileSync(_0x123e5c['oldMcpConfig'][_0x599b5a(0x14b)],JSON[_0x599b5a(0x126)](_0xc3c6a6,null,0x2)+'\x0a',_0x599b5a(0x116)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x3d7869['join'](',\x20')+_0x599b5a(0x119)+_0x123e5c[_0x599b5a(0x122)][_0x599b5a(0x14b)]};}return{'step':0x4,'label':_0x599b5a(0xd6),'ok':!![],'detail':_0x599b5a(0x12a)};}catch(_0x472a92){return{'step':0x4,'label':_0x599b5a(0xd6),'ok':![],'detail':_0x472a92[_0x599b5a(0x136)]};}}function execSkillsRemove(_0x2f3314,_0xa5ffb6){const _0x22d807=a117_0x523c0e,_0x23f1c7=runNpxSkillsRemove(_0x2f3314,{'stdio':_0x22d807(0x10d),'yes':_0xa5ffb6});return{'step':0x5,'label':_0x22d807(0xef),'ok':_0x23f1c7['ok'],'detail':_0x23f1c7['ok']?_0x22d807(0x104):_0x23f1c7[_0x22d807(0xed)]??_0x22d807(0x131)+_0x23f1c7[_0x22d807(0xf1)]};}function execSkillsAdd(_0x522810,_0x258a4d){const _0x1d54c4=a117_0x523c0e,_0x27df84=runNpxSkillsAddGlobal(_0x522810,_0x1d54c4(0xdd),{'stdio':_0x1d54c4(0x10d),'yes':_0x258a4d});return{'step':0x6,'label':_0x1d54c4(0x139),'ok':_0x27df84['ok'],'detail':_0x27df84['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x27df84[_0x1d54c4(0xed)]??_0x1d54c4(0x131)+_0x27df84[_0x1d54c4(0xf1)]};}function a117_0x4fcd(_0x2e1459,_0x4e579e){_0x2e1459=_0x2e1459-0xd2;const _0x221aca=a117_0x221a();let _0x4fcdd=_0x221aca[_0x2e1459];return _0x4fcdd;}function execUpgradeSdk(_0x23d894){const _0x2a1bce=a117_0x523c0e;if(!_0x23d894[_0x2a1bce(0x111)])return{'step':0x7,'label':_0x2a1bce(0x13f),'ok':!![],'detail':_0x2a1bce(0x14d)};const {pkgPath:_0x47ad85,currentVersion:_0x4cb0c1,field:_0x43cca5}=_0x23d894[_0x2a1bce(0x111)];try{const _0xacd0b7=readFileSync(_0x47ad85,'utf8'),_0x4757e3=JSON[_0x2a1bce(0xf9)](_0xacd0b7);return _0x4757e3[_0x43cca5][_0x2a1bce(0x125)]='latest',writeFileSync(_0x47ad85,JSON[_0x2a1bce(0x126)](_0x4757e3,null,0x2)+'\x0a',_0x2a1bce(0x116)),{'step':0x7,'label':_0x2a1bce(0x13f),'ok':!![],'detail':_0x43cca5+_0x2a1bce(0x13c)+_0x4cb0c1+'\x20→\x20latest'};}catch(_0x588841){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x588841['message']};}}function tryStat(_0x21e38d){try{return statSync(_0x21e38d);}catch{return undefined;}}function printSummary(_0x16be07){const _0x13e867=a117_0x523c0e;console[_0x13e867(0x10b)](''),console[_0x13e867(0x10b)](a117_0x259e33[_0x13e867(0xfb)](_0x13e867(0x129))),console[_0x13e867(0x10b)]('');for(const _0x4795b8 of _0x16be07){const _0x472b71=_0x4795b8['ok']?a117_0x259e33[_0x13e867(0x12d)]('OK'):a117_0x259e33[_0x13e867(0x115)]('FAIL');console['log']('\x20\x20'+_0x472b71+'\x20\x20Step\x20'+_0x4795b8[_0x13e867(0xd4)]+':\x20'+_0x4795b8[_0x13e867(0x102)]);if(_0x4795b8[_0x13e867(0x12b)])console[_0x13e867(0x10b)]('\x20\x20\x20\x20\x20\x20\x20'+a117_0x259e33[_0x13e867(0x10c)](_0x4795b8['detail']));}console[_0x13e867(0x10b)]('');}export async function upgradeApp(_0xcad3bf,_0x19b851){const _0x8dbf10=a117_0x523c0e,_0x28133f=process[_0x8dbf10(0x137)](),_0xd96bff=analyse(_0x28133f),_0xc99060=!_0xd96bff[_0x8dbf10(0x11f)]&&_0xd96bff['oldArtifacts'][_0x8dbf10(0xf6)]===0x0&&!_0xd96bff[_0x8dbf10(0x122)]&&!_0xd96bff['needsSkillSwap']&&!_0xd96bff[_0x8dbf10(0x111)];if(_0xc99060){console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0x12d)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0xd96bff);const _0x5ece88=!!(_0x19b851[_0x8dbf10(0xe9)]||_0x19b851['Y']||_0xcad3bf);if(!_0x5ece88)try{const _0x42939e=await askConfirm(_0x8dbf10(0x148));if(!_0x42939e){console['log'](a117_0x259e33[_0x8dbf10(0x10c)]('Upgrade\x20cancelled.'));return;}}catch(_0x24a759){if(_0x24a759?.[_0x8dbf10(0x136)]===_0x8dbf10(0xfc)){console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0x10c)]('Upgrade\x20cancelled.'));return;}throw _0x24a759;}const _0x267ecc=[],_0x4a29d9=a117_0x3bcf88({'text':_0x8dbf10(0xe8),'color':_0x8dbf10(0xdf)})[_0x8dbf10(0xdb)](),_0x23c78a=execConfigMigration(_0xd96bff,_0x28133f);_0x267ecc[_0x8dbf10(0xeb)](_0x23c78a),_0x4a29d9[_0x23c78a['ok']?_0x8dbf10(0xf2):_0x8dbf10(0x134)](_0x8dbf10(0x146)+(_0x23c78a[_0x8dbf10(0x12b)]??(_0x23c78a['ok']?_0x8dbf10(0xec):_0x8dbf10(0x12c))));const _0x1c64f3=resolve(_0x28133f,'.lovrabet'),_0x4a345e=a117_0x3bcf88({'text':_0x8dbf10(0x128),'color':_0x8dbf10(0xdf)})[_0x8dbf10(0xdb)]();if(existsSync(_0x1c64f3))try{rmSync(_0x1c64f3,{'recursive':!![],'force':!![]}),_0x4a345e[_0x8dbf10(0xf2)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x267ecc['push']({'step':0x2,'label':_0x8dbf10(0x105),'ok':!![]});}catch(_0x4d5306){_0x4a345e[_0x8dbf10(0x134)](_0x8dbf10(0x108)+_0x4d5306[_0x8dbf10(0x136)]),_0x267ecc[_0x8dbf10(0xeb)]({'step':0x2,'label':_0x8dbf10(0x105),'ok':![],'detail':_0x4d5306[_0x8dbf10(0x136)]});}else _0x4a345e[_0x8dbf10(0x14c)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x267ecc[_0x8dbf10(0xeb)]({'step':0x2,'label':_0x8dbf10(0x105),'ok':!![],'detail':_0x8dbf10(0xe0)});const _0x581eb8=a117_0x3bcf88({'text':_0x8dbf10(0xe4),'color':_0x8dbf10(0xdf)})[_0x8dbf10(0xdb)](),_0x213d43=execRemoveOldArtifacts(_0xd96bff[_0x8dbf10(0x124)]);_0x267ecc[_0x8dbf10(0xeb)](_0x213d43),_0x581eb8[_0x213d43['ok']?_0x8dbf10(0xf2):_0x8dbf10(0x134)](_0x8dbf10(0x12e)+(_0x213d43['detail']??(_0x213d43['ok']?_0x8dbf10(0xec):_0x8dbf10(0x12c))));const _0x547262=a117_0x3bcf88({'text':_0x8dbf10(0x107),'color':_0x8dbf10(0xdf)})['start'](),_0x4351e3=execCleanMcp(_0xd96bff);_0x267ecc['push'](_0x4351e3),_0x547262[_0x4351e3['ok']?'succeed':_0x8dbf10(0x134)](_0x8dbf10(0x103)+(_0x4351e3['detail']??(_0x4351e3['ok']?_0x8dbf10(0xec):_0x8dbf10(0x12c))));const _0x20ad19=a117_0x3bcf88({'text':_0x8dbf10(0xd5),'color':_0x8dbf10(0xdf)})[_0x8dbf10(0xdb)](),_0x191281=execSkillsRemove(_0x28133f,_0x5ece88);_0x267ecc['push'](_0x191281),_0x20ad19[_0x191281['ok']?_0x8dbf10(0xf2):'fail'](_0x8dbf10(0x145)+(_0x191281[_0x8dbf10(0x12b)]??(_0x191281['ok']?_0x8dbf10(0xec):_0x8dbf10(0x12c))));const _0x29e29d=a117_0x3bcf88({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x8dbf10(0xdf)})['start'](),_0x2a4be0=execSkillsAdd(_0x28133f,_0x5ece88);_0x267ecc[_0x8dbf10(0xeb)](_0x2a4be0),_0x29e29d[_0x2a4be0['ok']?_0x8dbf10(0xf2):_0x8dbf10(0x134)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x2a4be0[_0x8dbf10(0x12b)]??(_0x2a4be0['ok']?_0x8dbf10(0xec):_0x8dbf10(0x12c))));const _0x2c5f3d=a117_0x3bcf88({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x8dbf10(0xdf)})[_0x8dbf10(0xdb)](),_0x18c462=execUpgradeSdk(_0xd96bff);_0x267ecc['push'](_0x18c462),_0x2c5f3d[_0x18c462['ok']?'succeed':_0x8dbf10(0x134)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x18c462[_0x8dbf10(0x12b)]??(_0x18c462['ok']?_0x8dbf10(0xec):'failed'))),printSummary(_0x267ecc);const _0x14f739=_0x267ecc[_0x8dbf10(0x117)](_0x1b2862=>!_0x1b2862['ok']);_0x14f739?console['log'](a117_0x259e33[_0x8dbf10(0x144)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0x12d)](_0x8dbf10(0x140))),_0x18c462['ok']&&_0xd96bff[_0x8dbf10(0x111)]&&(console[_0x8dbf10(0x10b)](''),console['log'](a117_0x259e33[_0x8dbf10(0xfb)][_0x8dbf10(0xdf)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0xdf)](_0x8dbf10(0xff))),console[_0x8dbf10(0x10b)](''),console['log'](a117_0x259e33[_0x8dbf10(0x120)](_0x8dbf10(0xe7))),console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0x120)](_0x8dbf10(0x13e))),console[_0x8dbf10(0x10b)](a117_0x259e33[_0x8dbf10(0x120)]('\x20\x20bun\x20install')),console[_0x8dbf10(0x10b)](''));}function a117_0x221a(){const _0x131bc5=['.cursor/rules/lovrabet_rules.mdc','lovrabet/rabetbase','needed','cyan','skipped','10543560jNnjxg','not\x20needed','\x20→\x20keys:\x20','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','@lovrabet/dataset-mcp-server','isDirectory','\x20\x20npm\x20install','Step\x201/7:\x20Migrating\x20config...','yes','args','push','done','error','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Remove\x20old\x20skill','\x20\x20New\x20config\x20(.rabetbase.json):\x20','status','succeed','package.json','isArray','files','length','268698keteJx','18PkINEQ','parse','devDependencies','bold','CANCEL','\x20→\x20','675460GCiHCy','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','no\x20legacy\x20config\x20found','Skill\x20swap:','label','Step\x204/7:\x20MCP\x20config\x20—\x20','lovrabet/lovrabet-skill\x20removed','Remove\x20.lovrabet/','.cursor/mcp.json','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','no\x20legacy\x20entry','Config\x20migration','log','gray','inherit','382044IbdMJU','Remove\x20legacy\x20artifacts','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','sdkUpgrade','latest','skipped\x20(no\x20legacy\x20config)','oldPath','red','utf8','some','\x20removed','\x20from\x20','35wGUxXL','@lovrabet/sdk:','3053512KKPIPr','entries','Config\x20file:','configMigration','white','.claude/skills/lovrabet','oldMcpConfig','none\x20found','oldArtifacts','@lovrabet/sdk','stringify','Legacy\x20artifacts:','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','===\x20Upgrade\x20Summary\x20===','no\x20matching\x20entry\x20found','detail','failed','green','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','string','===\x20Upgrade\x20Analysis\x20===','exit\x20','object','filter','fail','114990NnKbXK','message','cwd','MCP\x20config:','Install\x20new\x20skill','undefined','keys','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20Fields\x20to\x20migrate:\x20','\x20\x20#\x20or','Upgrade\x20@lovrabet/sdk','Upgrade\x20completed\x20successfully!','hasNewConfig','not\x20found\x20or\x20already\x20at\x20latest','join','yellow','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','fields','Proceed\x20with\x20upgrade?','FOUND','includes','path','info','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','.lovrabet','mcpServers','step','Step\x205/7:\x20Removing\x20old\x20skill...','Clean\x20MCP\x20config','3vfXinE','\x20\x20Current\x20version\x20in\x20','dependencies','1089722OJLKHW','start'];a117_0x221a=function(){return _0x131bc5;};return a117_0x221a();}
@@ -1 +1 @@
1
- const a118_0x56b66a=a118_0x8e06;(function(_0x4dca95,_0x2c32e8){const _0x1eddd6=a118_0x8e06,_0x2cee8d=_0x4dca95();while(!![]){try{const _0x39f44c=-parseInt(_0x1eddd6(0x1a8))/0x1+-parseInt(_0x1eddd6(0x1a9))/0x2+-parseInt(_0x1eddd6(0x1a0))/0x3*(parseInt(_0x1eddd6(0x1cb))/0x4)+-parseInt(_0x1eddd6(0x1be))/0x5+parseInt(_0x1eddd6(0x19c))/0x6*(parseInt(_0x1eddd6(0x1b7))/0x7)+-parseInt(_0x1eddd6(0x1b1))/0x8*(-parseInt(_0x1eddd6(0x1ab))/0x9)+-parseInt(_0x1eddd6(0x1c0))/0xa*(-parseInt(_0x1eddd6(0x1b5))/0xb);if(_0x39f44c===_0x2c32e8)break;else _0x2cee8d['push'](_0x2cee8d['shift']());}catch(_0x3bab73){_0x2cee8d['push'](_0x2cee8d['shift']());}}}(a118_0x47dc,0xf2e56));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0xe5b6b7){const _0x45a296=a118_0x8e06;for(const _0x13cf21 of _0xe5b6b7){definitions[_0x45a296(0x1cd)](_0x13cf21[_0x45a296(0x199)]+':'+_0x13cf21[_0x45a296(0x1ae)],_0x13cf21);let _0x3fca35=serviceGroups['get'](_0x13cf21[_0x45a296(0x199)]);!_0x3fca35&&(_0x3fca35=[],serviceGroups[_0x45a296(0x1cd)](_0x13cf21[_0x45a296(0x199)],_0x3fca35)),_0x3fca35[_0x45a296(0x1ad)](_0x13cf21);}}function registerDeclarativeService(_0x5b1a05,_0x21ec1f,_0x66c7db){const _0x5e34e0=a118_0x8e06;registerDefinitions(_0x21ec1f);_0x66c7db?.[_0x5e34e0(0x1ca)]&&registerDefinitions([_0x66c7db[_0x5e34e0(0x1ca)]]);const _0x3eb241=_0x2aa1af=>_0x2aa1af===_0x5e34e0(0x1d0)?'':_0x2aa1af===_0x5e34e0(0x1c6)?'\x20\x20[write]':_0x5e34e0(0x1b9),_0x5c9abc={'service':_0x21ec1f[0x0][_0x5e34e0(0x199)],'label':_0x5b1a05,'commands':_0x21ec1f[_0x5e34e0(0x19b)](_0x1e6d5e=>({'command':_0x1e6d5e['command'],'description':_0x1e6d5e['description'],'tag':_0x3eb241(_0x1e6d5e['risk'])})),'declarative':!![],'defaultCommand':_0x66c7db?.[_0x5e34e0(0x1a4)]??(_0x66c7db?.[_0x5e34e0(0x19e)]?_0x21ec1f[0x0][_0x5e34e0(0x1ae)]:undefined),'wildcardDef':_0x66c7db?.[_0x5e34e0(0x1ca)],'isSingleCommand':_0x66c7db?.['isSingleCommand']};serviceRegistry['push'](_0x5c9abc),serviceByName['set'](_0x5c9abc[_0x5e34e0(0x199)],_0x5c9abc);}registerDeclarativeService(a118_0x56b66a(0x1ba),initDefinitions,{'defaultCommand':a118_0x56b66a(0x1a3),'isSingleCommand':!![]}),registerDeclarativeService(a118_0x56b66a(0x1a2),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a118_0x56b66a(0x1a1),[runDefinition],{'wildcardDef':runDefinition});function a118_0x47dc(){const _0x169c40=['Run\x20any\x20package.json\x20script','6059710BXlmGV','values','1110UuegWc','BFF\x20Scripts','Self\x20Update','API','Code\x20Generation','auth','write','login','SQL\x20Queries','commands','wildcardDef','8WccSel','Authentication','set','Configuration','project','read','build','service','show','map','12jeskfl','skill','isSingleCommand','logout','2073639zNLNUH','Run\x20Scripts','Project','run','defaultCommand','get','Smart\x20List\x20Pages','length','1566814muSXCn','641634pgYnUf','from','1863TYCaOE','Logs','push','command','Database\x20Connections','preview','16728tGQIuR','create','<script>','Skills','335346kEltPF','install','5810413UWoWxQ','has','\x20\x20[high-risk-write]','Quick\x20Start','start','Menu'];a118_0x47dc=function(){return _0x169c40;};return a118_0x47dc();}{const last=serviceRegistry[serviceRegistry[a118_0x56b66a(0x1a7)]-0x1];last[a118_0x56b66a(0x1c9)]=[{'command':a118_0x56b66a(0x1b3),'description':a118_0x56b66a(0x1bd),'tag':''}];}registerDeclarativeService(a118_0x56b66a(0x1cc),authDefinitions,{'defaultCommand':a118_0x56b66a(0x1c7)}),registerDeclarativeService(a118_0x56b66a(0x1c2),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a118_0x56b66a(0x1ce),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a118_0x56b66a(0x1c3),apiDefinitions),registerDeclarativeService(a118_0x56b66a(0x1bc),menuDefinitions),registerDeclarativeService(a118_0x56b66a(0x1af),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a118_0x56b66a(0x1a6),pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a118_0x56b66a(0x1c1),bffDefinitions),registerDeclarativeService(a118_0x56b66a(0x1c8),sqlDefinitions),registerDeclarativeService(a118_0x56b66a(0x1c4),codegenDefinitions),registerDeclarativeService(a118_0x56b66a(0x1b4),skillDefinitions),registerDeclarativeService(a118_0x56b66a(0x1ac),logsDefinitions,{'defaultCommand':a118_0x56b66a(0x19a)});export const deprecatedAliases={'create':{'service':a118_0x56b66a(0x1cf),'command':'create'},'start':{'service':a118_0x56b66a(0x1a3),'command':a118_0x56b66a(0x1bb)},'build':{'service':a118_0x56b66a(0x1a3),'command':a118_0x56b66a(0x1d1)},'preview':{'service':a118_0x56b66a(0x1a3),'command':a118_0x56b66a(0x1b0)},'logout':{'service':a118_0x56b66a(0x1c5),'command':a118_0x56b66a(0x19f)},'skills':{'service':a118_0x56b66a(0x19d),'command':a118_0x56b66a(0x1b6)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a118_0x56b66a(0x1b2)}};export function resolveDeprecatedSubcommand(_0x166f31,_0x132948){return deprecatedSubcommands[_0x166f31]?.[_0x132948];}export function findDefinition(_0x42cd84,_0x121776){const _0x5e4492=a118_0x56b66a;return definitions[_0x5e4492(0x1a5)](_0x42cd84+':'+_0x121776);}export function isKnownService(_0x2195d2){const _0x525744=a118_0x56b66a;return serviceByName[_0x525744(0x1b8)](_0x2195d2);}export function isDeclarativeService(_0x4a55a1){const _0x5a7543=a118_0x56b66a;return serviceGroups[_0x5a7543(0x1b8)](_0x4a55a1)||serviceByName['get'](_0x4a55a1)?.[_0x5a7543(0x1ca)]!==undefined;}export function getServiceEntry(_0x56c4f2){const _0x11812f=a118_0x56b66a;return serviceByName[_0x11812f(0x1a5)](_0x56c4f2);}export function getLegacyHandler(_0x32ad46,_0x4b5b07){return undefined;}function a118_0x8e06(_0x126773,_0x25cd19){_0x126773=_0x126773-0x199;const _0x47dc00=a118_0x47dc();let _0x8e0625=_0x47dc00[_0x126773];return _0x8e0625;}export function getAllDefinitions(){const _0xff6d60=a118_0x56b66a;return Array[_0xff6d60(0x1aa)](definitions[_0xff6d60(0x1bf)]());}
1
+ const a118_0x33c4a8=a118_0x47fe;(function(_0x39befd,_0x36534b){const _0x1bfa0d=a118_0x47fe,_0x4bd5fa=_0x39befd();while(!![]){try{const _0x37606f=parseInt(_0x1bfa0d(0x1ca))/0x1*(parseInt(_0x1bfa0d(0x1b0))/0x2)+-parseInt(_0x1bfa0d(0x1df))/0x3*(parseInt(_0x1bfa0d(0x1d1))/0x4)+-parseInt(_0x1bfa0d(0x1e0))/0x5*(-parseInt(_0x1bfa0d(0x1bb))/0x6)+-parseInt(_0x1bfa0d(0x1b4))/0x7+-parseInt(_0x1bfa0d(0x1c1))/0x8*(parseInt(_0x1bfa0d(0x1d3))/0x9)+-parseInt(_0x1bfa0d(0x1ba))/0xa+parseInt(_0x1bfa0d(0x1bd))/0xb;if(_0x37606f===_0x36534b)break;else _0x4bd5fa['push'](_0x4bd5fa['shift']());}catch(_0x33b623){_0x4bd5fa['push'](_0x4bd5fa['shift']());}}}(a118_0x1640,0x1c8ae));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';function a118_0x1640(){const _0xde29a=['defaultCommand','Menu','Run\x20Scripts','150278cthHwN','run','skill','Self\x20Update','1406468MaWwOg','Platform\x20Issue','Dataset\x20&\x20Operations','Code\x20Generation','API','read','1129680yckIRV','17646KsPgzD','login','4365603hziCmx','project','command','get','127384pawmXc','push','isSingleCommand','wildcardDef','\x20\x20[high-risk-write]','SQL\x20Queries','create','write','build','2VDvBdJ','has','App\x20Management','start','commands','Logs','Database\x20Connections','3532zvbwcD','BFF\x20Scripts','9CQMjrZ','Instant\x20API','auth','from','service','Quick\x20Start','<script>','Schema','map','values','install','set','591VskhvL','125OlUKGI','description','Smart\x20List\x20Pages','Project'];a118_0x1640=function(){return _0xde29a;};return a118_0x1640();}import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';function a118_0x47fe(_0x1fae89,_0x5f510b){_0x1fae89=_0x1fae89-0x1aa;const _0x164020=a118_0x1640();let _0x47fe67=_0x164020[_0x1fae89];return _0x47fe67;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x2a1a5f){const _0xdd2237=a118_0x47fe;for(const _0x471dd0 of _0x2a1a5f){definitions[_0xdd2237(0x1de)](_0x471dd0[_0xdd2237(0x1d7)]+':'+_0x471dd0[_0xdd2237(0x1bf)],_0x471dd0);let _0x40e123=serviceGroups[_0xdd2237(0x1c0)](_0x471dd0[_0xdd2237(0x1d7)]);!_0x40e123&&(_0x40e123=[],serviceGroups[_0xdd2237(0x1de)](_0x471dd0[_0xdd2237(0x1d7)],_0x40e123)),_0x40e123[_0xdd2237(0x1c2)](_0x471dd0);}}function registerDeclarativeService(_0x5b8e18,_0x3ee035,_0x5a9c30){const _0xf9c64a=a118_0x47fe;registerDefinitions(_0x3ee035);_0x5a9c30?.[_0xf9c64a(0x1c4)]&&registerDefinitions([_0x5a9c30['wildcardDef']]);const _0x4f5996=_0x33a139=>_0x33a139===_0xf9c64a(0x1b9)?'':_0x33a139===_0xf9c64a(0x1c8)?'\x20\x20[write]':_0xf9c64a(0x1c5),_0x4de65a={'service':_0x3ee035[0x0][_0xf9c64a(0x1d7)],'label':_0x5b8e18,'commands':_0x3ee035[_0xf9c64a(0x1db)](_0x356754=>({'command':_0x356754['command'],'description':_0x356754[_0xf9c64a(0x1aa)],'tag':_0x4f5996(_0x356754['risk'])})),'declarative':!![],'defaultCommand':_0x5a9c30?.[_0xf9c64a(0x1ad)]??(_0x5a9c30?.[_0xf9c64a(0x1c3)]?_0x3ee035[0x0][_0xf9c64a(0x1bf)]:undefined),'wildcardDef':_0x5a9c30?.[_0xf9c64a(0x1c4)],'isSingleCommand':_0x5a9c30?.['isSingleCommand']};serviceRegistry['push'](_0x4de65a),serviceByName[_0xf9c64a(0x1de)](_0x4de65a[_0xf9c64a(0x1d7)],_0x4de65a);}registerDeclarativeService(a118_0x33c4a8(0x1d8),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a118_0x33c4a8(0x1ac),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1cc),appDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1af),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a118_0x33c4a8(0x1ce)]=[{'command':a118_0x33c4a8(0x1d9),'description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a118_0x33c4a8(0x1bc)}),registerDeclarativeService(a118_0x33c4a8(0x1b3),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a118_0x33c4a8(0x1da),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1b5),issueDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1b8),apiDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1ae),menuDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1d0),dbDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1b6),datasetDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1ab),pageDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1d4),dataDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1d2),bffDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1c6),sqlDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1b7),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a118_0x33c4a8(0x1cf),logsDefinitions,{'defaultCommand':'show'});export const deprecatedAliases={'create':{'service':a118_0x33c4a8(0x1be),'command':a118_0x33c4a8(0x1c7)},'start':{'service':a118_0x33c4a8(0x1b1),'command':a118_0x33c4a8(0x1cd)},'build':{'service':a118_0x33c4a8(0x1b1),'command':a118_0x33c4a8(0x1c9)},'preview':{'service':'run','command':'preview'},'logout':{'service':a118_0x33c4a8(0x1d5),'command':'logout'},'skills':{'service':a118_0x33c4a8(0x1b2),'command':a118_0x33c4a8(0x1dd)}};export const deprecatedSubcommands={'bff':{'new':a118_0x33c4a8(0x1c7)},'sql':{'new':a118_0x33c4a8(0x1c7)}};export function resolveDeprecatedSubcommand(_0x583921,_0x54825a){return deprecatedSubcommands[_0x583921]?.[_0x54825a];}export function findDefinition(_0x2d6b91,_0x4d75fd){const _0x296574=a118_0x33c4a8;return definitions[_0x296574(0x1c0)](_0x2d6b91+':'+_0x4d75fd);}export function isKnownService(_0x1faf97){const _0x8d3476=a118_0x33c4a8;return serviceByName[_0x8d3476(0x1cb)](_0x1faf97);}export function isDeclarativeService(_0x58594d){const _0x47ac27=a118_0x33c4a8;return serviceGroups[_0x47ac27(0x1cb)](_0x58594d)||serviceByName[_0x47ac27(0x1c0)](_0x58594d)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x1c5163){const _0x5dd3cb=a118_0x33c4a8;return serviceByName[_0x5dd3cb(0x1c0)](_0x1c5163);}export function getLegacyHandler(_0x5c8fbb,_0x79e52d){return undefined;}export function getAllDefinitions(){const _0xc9c0d1=a118_0x33c4a8;return Array[_0xc9c0d1(0x1d6)](definitions[_0xc9c0d1(0x1dc)]());}
@@ -1 +1 @@
1
- const a119_0x439739=a119_0x1136;function a119_0x1136(_0x3c8f19,_0x5a49ab){_0x3c8f19=_0x3c8f19-0x68;const _0x4c4d82=a119_0x4c4d();let _0x113692=_0x4c4d82[_0x3c8f19];return _0x113692;}(function(_0x28320f,_0x4ce881){const _0x454c34=a119_0x1136,_0x46fa20=_0x28320f();while(!![]){try{const _0x479696=-parseInt(_0x454c34(0x77))/0x1+parseInt(_0x454c34(0xa5))/0x2*(-parseInt(_0x454c34(0xa3))/0x3)+parseInt(_0x454c34(0x89))/0x4+-parseInt(_0x454c34(0x6c))/0x5*(-parseInt(_0x454c34(0x68))/0x6)+-parseInt(_0x454c34(0x84))/0x7+parseInt(_0x454c34(0x78))/0x8*(-parseInt(_0x454c34(0xac))/0x9)+parseInt(_0x454c34(0x8b))/0xa;if(_0x479696===_0x4ce881)break;else _0x46fa20['push'](_0x46fa20['shift']());}catch(_0x3a4e68){_0x46fa20['push'](_0x46fa20['shift']());}}}(a119_0x4c4d,0x3506c));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';function a119_0x4c4d(){const _0x5010c3=['Script\x20name\x20defined\x20in\x20package.json','\x20run\x20build','close','bun.lock','entries','dev','validation','vite','bun','\x20\x20\x20\x20','1086029jhZXMn','script','inherit','Available:\x20','.bin','525244JAeCCt','node_modules','6014640MPvVlZ','parse','Script\x20\x22','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','padEnd','cwd','utf-8','boolean','run','max','length','\x20run\x20start','--watch','\x0a\x20\x20Usage:\x20','scripts','\x20exited\x20with\x20code\x20','args','Enable\x20watch\x20mode\x20for\x20preview','preview','\x20run\x20','error','log','vite\x20preview\x20exited\x20with\x20code\x20','yarn.lock','3oqWQVq','\x0a\x20\x20Available\x20scripts:\x0a','446178fftKqH','join','map','\x20\x20EXAMPLES','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','keys','No\x20scripts\x20defined\x20in\x20package.json.','486zWXKSh','108EjIVma','npm','all','read','119435JEAsFd','needsUpgrade','\x22\x20not\x20found\x20in\x20package.json.','push','package.json','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','watch','has','pnpm','slice','Run\x20a\x20package.json\x20script','258807YuVdGm','45704lAhwJC','No\x20package.json\x20found\x20in\x20current\x20directory.'];a119_0x4c4d=function(){return _0x5010c3;};return a119_0x4c4d();}import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a119_0x439739(0x7f)]);function readPackageScripts(_0x1350f1){const _0x1e929e=a119_0x439739,_0x58fd56=resolve(_0x1350f1,_0x1e929e(0x70));if(!existsSync(_0x58fd56))return null;try{const _0x4cf0c4=JSON[_0x1e929e(0x8c)](readFileSync(_0x58fd56,_0x1e929e(0x91)));return _0x4cf0c4[_0x1e929e(0x99)]??{};}catch{return null;}}function detectPackageManager(_0x11d6aa){const _0x5a83e4=a119_0x439739;if(existsSync(resolve(_0x11d6aa,'bun.lockb'))||existsSync(resolve(_0x11d6aa,_0x5a83e4(0x7d))))return _0x5a83e4(0x82);if(existsSync(resolve(_0x11d6aa,'pnpm-lock.yaml')))return _0x5a83e4(0x74);if(existsSync(resolve(_0x11d6aa,_0x5a83e4(0xa2))))return'yarn';return _0x5a83e4(0x69);}async function versionCheck(_0x509395){const _0x5259ce=a119_0x439739,_0x349606=await checkCliVersion();(_0x349606[_0x5259ce(0x6d)]||_0x349606['belowMinimum'])&&(printCliUpgradeWarning(_0x349606),assertCliVersionSupported(_0x349606));const _0x4802d5=await checkSdkVersion(_0x509395);if(_0x4802d5[_0x5259ce(0x6d)])printSdkUpgradeWarning(_0x4802d5);}function spawnScript(_0x50ea74,_0x1d5a06,_0x297484,_0xee28ca){return new Promise((_0x44af67,_0x2c7ce6)=>{const _0x188509=a119_0x1136,_0x2c89ba=[_0x188509(0x93),_0x1d5a06,..._0x297484],_0x2bb556=spawn(_0x50ea74,_0x2c89ba,{'cwd':_0xee28ca,'stdio':_0x188509(0x86),'shell':!![],'env':{...process.env,'PATH':''+join(_0xee28ca,_0x188509(0x8a),_0x188509(0x88))+delimiter+process.env.PATH}});_0x2bb556['on'](_0x188509(0x7c),_0x2146e7=>{const _0x1b7b70=_0x188509;if(_0x2146e7===0x0||_0x2146e7===null)_0x44af67();else _0x2c7ce6(new Error(_0x50ea74+_0x1b7b70(0x9e)+_0x1d5a06+_0x1b7b70(0x9a)+_0x2146e7));}),_0x2bb556['on'](_0x188509(0x9f),_0x2c7ce6);});}function spawnViteBuildWatch(_0x518a22){return new Promise((_0x26c6dc,_0x3053b4)=>{const _0x18b268=a119_0x1136,_0x2e20ea=spawn('vite',['build',_0x18b268(0x97)],{'cwd':_0x518a22,'stdio':_0x18b268(0x86),'shell':!![],'env':{...process.env,'PATH':''+join(_0x518a22,_0x18b268(0x8a),_0x18b268(0x88))+delimiter+process.env.PATH}});_0x2e20ea['on']('close',_0x4a1269=>{const _0x16d49e=_0x18b268;if(_0x4a1269===0x0||_0x4a1269===null)_0x26c6dc();else _0x3053b4(new Error(_0x16d49e(0x71)+_0x4a1269));}),_0x2e20ea['on']('error',_0x3053b4);});}function spawnVitePreview(_0x391a7e){return new Promise((_0x451b3d,_0x56d365)=>{const _0xa29804=a119_0x1136,_0x69d623=spawn(_0xa29804(0x81),[_0xa29804(0x9d)],{'cwd':_0x391a7e,'stdio':_0xa29804(0x86),'shell':!![],'env':{...process.env,'PATH':''+join(_0x391a7e,'node_modules',_0xa29804(0x88))+delimiter+process.env.PATH}});_0x69d623['on']('close',_0x2a1569=>{const _0x28ded4=_0xa29804;if(_0x2a1569===0x0||_0x2a1569===null)_0x451b3d();else _0x56d365(new Error(_0x28ded4(0xa1)+_0x2a1569));}),_0x69d623['on']('error',_0x56d365);});}const runFlags=[{'name':a119_0x439739(0x72),'type':a119_0x439739(0x92),'description':a119_0x439739(0x9c),'default':![]}];export const runDefinition={'service':a119_0x439739(0x93),'command':a119_0x439739(0x93),'description':a119_0x439739(0x76),'risk':a119_0x439739(0x6b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a119_0x439739(0x85),'description':a119_0x439739(0x7a),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x39f58c=a119_0x439739,_0x1f81ad=readPackageScripts(process[_0x39f58c(0x90)]()),_0x551570=[];if(_0x1f81ad&&Object[_0x39f58c(0xaa)](_0x1f81ad)[_0x39f58c(0x95)]>0x0){const _0x30210a=Object[_0x39f58c(0xaa)](_0x1f81ad),_0x520a2b=Math[_0x39f58c(0x94)](..._0x30210a[_0x39f58c(0xa7)](_0x96c6df=>_0x96c6df[_0x39f58c(0x95)]));_0x551570['push'](_0x39f58c(0x8e));for(const [_0x3c2e8c,_0x55c862]of Object[_0x39f58c(0x7e)](_0x1f81ad)){_0x551570[_0x39f58c(0x6f)](_0x39f58c(0x83)+CLI_BIN_NAME+_0x39f58c(0x9e)+_0x3c2e8c[_0x39f58c(0x8f)](_0x520a2b+0x2)+'#\x20'+_0x55c862);}}else _0x551570[_0x39f58c(0x6f)](_0x39f58c(0xa8)),_0x551570[_0x39f58c(0x6f)](_0x39f58c(0x83)+CLI_BIN_NAME+_0x39f58c(0x96)),_0x551570[_0x39f58c(0x6f)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x39f58c(0x7b)),_0x551570[_0x39f58c(0x6f)](_0x39f58c(0x83)+CLI_BIN_NAME+'\x20run\x20preview'),_0x551570[_0x39f58c(0x6f)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x39f58c(0xa9));return _0x551570['join']('\x0a');},async 'execute'(_0x141b82){const _0x1193f9=a119_0x439739,_0x58eb83=process[_0x1193f9(0x90)](),_0x5e24f4=_0x141b82[_0x1193f9(0x9b)][0x0],_0x29ef97=_0x141b82[_0x1193f9(0x9b)][_0x1193f9(0x75)](0x1),_0x42503f=readPackageScripts(_0x58eb83);if(!_0x42503f)throw CliErrors[_0x1193f9(0x80)](_0x1193f9(0x79));if(!_0x5e24f4){const _0x38f242=Object[_0x1193f9(0xaa)](_0x42503f);if(_0x38f242[_0x1193f9(0x95)]===0x0)console[_0x1193f9(0xa0)](_0x1193f9(0xab));else{console[_0x1193f9(0xa0)](_0x1193f9(0xa4));const _0x1daebc=Math['max'](..._0x38f242[_0x1193f9(0xa7)](_0x1a6081=>_0x1a6081[_0x1193f9(0x95)]));for(const [_0x49b51a,_0x2c61]of Object[_0x1193f9(0x7e)](_0x42503f)){console[_0x1193f9(0xa0)](_0x1193f9(0x83)+_0x49b51a[_0x1193f9(0x8f)](_0x1daebc+0x2)+_0x2c61);}console['log'](_0x1193f9(0x98)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x42503f[_0x5e24f4])throw CliErrors[_0x1193f9(0x80)](_0x1193f9(0x8d)+_0x5e24f4+_0x1193f9(0x6e),_0x1193f9(0x87)+(Object[_0x1193f9(0xaa)](_0x42503f)[_0x1193f9(0xa6)](',\x20')||'(none)'));const _0x627008=detectPackageManager(_0x58eb83);VERSION_CHECK_SCRIPTS[_0x1193f9(0x73)](_0x5e24f4)&&await versionCheck(_0x58eb83);if(_0x5e24f4===_0x1193f9(0x9d)&&_0x141b82['bool'](_0x1193f9(0x72)))return await Promise[_0x1193f9(0x6a)]([spawnViteBuildWatch(_0x58eb83),spawnVitePreview(_0x58eb83)]),{'ok':!![]};return await spawnScript(_0x627008,_0x5e24f4,_0x29ef97,_0x58eb83),{'ok':!![]};}};
1
+ const a119_0x40940f=a119_0x301f;(function(_0x4fc9e8,_0x324851){const _0xa4aa37=a119_0x301f,_0x4f7803=_0x4fc9e8();while(!![]){try{const _0x4f347a=parseInt(_0xa4aa37(0x71))/0x1+-parseInt(_0xa4aa37(0xa1))/0x2+parseInt(_0xa4aa37(0x91))/0x3+parseInt(_0xa4aa37(0x8c))/0x4*(-parseInt(_0xa4aa37(0x6d))/0x5)+parseInt(_0xa4aa37(0x9d))/0x6+parseInt(_0xa4aa37(0x7c))/0x7+-parseInt(_0xa4aa37(0x76))/0x8*(parseInt(_0xa4aa37(0x90))/0x9);if(_0x4f347a===_0x324851)break;else _0x4f7803['push'](_0x4f7803['shift']());}catch(_0xb7a24){_0x4f7803['push'](_0x4f7803['shift']());}}}(a119_0x1e6e,0x389ec));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a119_0x40940f(0xa4),a119_0x40940f(0x96)]);function readPackageScripts(_0x470864){const _0x5e1ed6=a119_0x40940f,_0x54e815=resolve(_0x470864,_0x5e1ed6(0x67));if(!existsSync(_0x54e815))return null;try{const _0x37c8e9=JSON[_0x5e1ed6(0x97)](readFileSync(_0x54e815,_0x5e1ed6(0xa7)));return _0x37c8e9[_0x5e1ed6(0xa6)]??{};}catch{return null;}}function detectPackageManager(_0x4ebbea){const _0x3e912f=a119_0x40940f;if(existsSync(resolve(_0x4ebbea,_0x3e912f(0x89)))||existsSync(resolve(_0x4ebbea,_0x3e912f(0xa8))))return _0x3e912f(0x80);if(existsSync(resolve(_0x4ebbea,_0x3e912f(0x88))))return'pnpm';if(existsSync(resolve(_0x4ebbea,_0x3e912f(0xa3))))return _0x3e912f(0x7f);return _0x3e912f(0x68);}function a119_0x301f(_0x2bf042,_0x512d15){_0x2bf042=_0x2bf042-0x66;const _0x1e6ec6=a119_0x1e6e();let _0x301fa1=_0x1e6ec6[_0x2bf042];return _0x301fa1;}async function versionCheck(_0x26f2d2){const _0x395053=a119_0x40940f,_0x27dd84=await checkCliVersion();(_0x27dd84[_0x395053(0x9f)]||_0x27dd84[_0x395053(0x87)])&&(printCliUpgradeWarning(_0x27dd84),assertCliVersionSupported(_0x27dd84));const _0x678080=await checkSdkVersion(_0x26f2d2);if(_0x678080[_0x395053(0x9f)])printSdkUpgradeWarning(_0x678080);}function spawnScript(_0x7ba801,_0x5bf82e,_0x2903f9,_0x281c3b){return new Promise((_0x485502,_0x16796d)=>{const _0x5111db=a119_0x301f,_0x957102=[_0x5111db(0x7d),_0x5bf82e,..._0x2903f9],_0x2b9d14=spawn(_0x7ba801,_0x957102,{'cwd':_0x281c3b,'stdio':_0x5111db(0x74),'shell':!![],'env':{...process.env,'PATH':''+join(_0x281c3b,'node_modules',_0x5111db(0x9a))+delimiter+process.env.PATH}});_0x2b9d14['on'](_0x5111db(0x7b),_0x287e5b=>{const _0x3671dc=_0x5111db;if(_0x287e5b===0x0||_0x287e5b===null)_0x485502();else _0x16796d(new Error(_0x7ba801+_0x3671dc(0x85)+_0x5bf82e+_0x3671dc(0xa9)+_0x287e5b));}),_0x2b9d14['on'](_0x5111db(0x8e),_0x16796d);});}function spawnViteBuildWatch(_0xe438e1){return new Promise((_0x2ec153,_0x452e6d)=>{const _0x36a998=a119_0x301f,_0x7e9c3=spawn('vite',['build',_0x36a998(0x8f)],{'cwd':_0xe438e1,'stdio':_0x36a998(0x74),'shell':!![],'env':{...process.env,'PATH':''+join(_0xe438e1,_0x36a998(0x98),_0x36a998(0x9a))+delimiter+process.env.PATH}});_0x7e9c3['on']('close',_0x2005a1=>{const _0x4573bc=_0x36a998;if(_0x2005a1===0x0||_0x2005a1===null)_0x2ec153();else _0x452e6d(new Error(_0x4573bc(0xa2)+_0x2005a1));}),_0x7e9c3['on']('error',_0x452e6d);});}function spawnVitePreview(_0x379955){return new Promise((_0x133e1b,_0x4994)=>{const _0x435bb7=a119_0x301f,_0x59cc45=spawn(_0x435bb7(0x99),[_0x435bb7(0x6e)],{'cwd':_0x379955,'stdio':_0x435bb7(0x74),'shell':!![],'env':{...process.env,'PATH':''+join(_0x379955,_0x435bb7(0x98),_0x435bb7(0x9a))+delimiter+process.env.PATH}});_0x59cc45['on'](_0x435bb7(0x7b),_0x5b0d19=>{const _0x39815a=_0x435bb7;if(_0x5b0d19===0x0||_0x5b0d19===null)_0x133e1b();else _0x4994(new Error(_0x39815a(0x83)+_0x5b0d19));}),_0x59cc45['on'](_0x435bb7(0x8e),_0x4994);});}const runFlags=[{'name':a119_0x40940f(0x7e),'type':'boolean','description':a119_0x40940f(0x73),'default':![]}];function a119_0x1e6e(){const _0x47b307=['\x20run\x20preview','max','\x22\x20not\x20found\x20in\x20package.json.','dev','parse','node_modules','vite','.bin','args','entries','1748118tDwaom','slice','needsUpgrade','\x0a\x20\x20Usage:\x20','891534vkGLGf','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','yarn.lock','start','log','scripts','utf-8','bun.lock','\x20exited\x20with\x20code\x20','join','package.json','npm','has','cwd','map','validation','58205UxAJZo','preview','\x20run\x20build','script','455251lULmNg','Script\x20\x22','Enable\x20watch\x20mode\x20for\x20preview','inherit','\x0a\x20\x20Available\x20scripts:\x0a','9888UgXziP','\x20run\x20<script>\x0a','length','No\x20package.json\x20found\x20in\x20current\x20directory.','all','close','1094646tVefYP','run','watch','yarn','bun','Available:\x20','read','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20start','\x20run\x20','keys','belowMinimum','pnpm-lock.yaml','bun.lockb','(none)','push','12WvVnJT','\x20\x20\x20\x20','error','--watch','1467JQrQfr','33276REZsom','Script\x20name\x20defined\x20in\x20package.json'];a119_0x1e6e=function(){return _0x47b307;};return a119_0x1e6e();}export const runDefinition={'service':'run','command':a119_0x40940f(0x7d),'description':'Run\x20a\x20package.json\x20script','risk':a119_0x40940f(0x82),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a119_0x40940f(0x70),'description':a119_0x40940f(0x92),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x30bf3b=a119_0x40940f,_0x400e25=readPackageScripts(process[_0x30bf3b(0x6a)]()),_0x18e14e=[];if(_0x400e25&&Object[_0x30bf3b(0x86)](_0x400e25)[_0x30bf3b(0x78)]>0x0){const _0xe143e=Object[_0x30bf3b(0x86)](_0x400e25),_0x35c7e1=Math[_0x30bf3b(0x94)](..._0xe143e[_0x30bf3b(0x6b)](_0x27feb6=>_0x27feb6[_0x30bf3b(0x78)]));_0x18e14e[_0x30bf3b(0x8b)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x44167f,_0x32eb5d]of Object[_0x30bf3b(0x9c)](_0x400e25)){_0x18e14e[_0x30bf3b(0x8b)](_0x30bf3b(0x8d)+CLI_BIN_NAME+'\x20run\x20'+_0x44167f['padEnd'](_0x35c7e1+0x2)+'#\x20'+_0x32eb5d);}}else _0x18e14e['push']('\x20\x20EXAMPLES'),_0x18e14e[_0x30bf3b(0x8b)](_0x30bf3b(0x8d)+CLI_BIN_NAME+_0x30bf3b(0x84)),_0x18e14e[_0x30bf3b(0x8b)](_0x30bf3b(0x8d)+CLI_BIN_NAME+_0x30bf3b(0x6f)),_0x18e14e[_0x30bf3b(0x8b)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x30bf3b(0x93)),_0x18e14e[_0x30bf3b(0x8b)](_0x30bf3b(0x8d)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x18e14e[_0x30bf3b(0x66)]('\x0a');},async 'execute'(_0x314937){const _0x2c57f7=a119_0x40940f,_0x459b0b=process[_0x2c57f7(0x6a)](),_0x1d7fed=_0x314937[_0x2c57f7(0x9b)][0x0],_0x483ed0=_0x314937['args'][_0x2c57f7(0x9e)](0x1),_0x14e12d=readPackageScripts(_0x459b0b);if(!_0x14e12d)throw CliErrors[_0x2c57f7(0x6c)](_0x2c57f7(0x79));if(!_0x1d7fed){const _0x49c23e=Object[_0x2c57f7(0x86)](_0x14e12d);if(_0x49c23e[_0x2c57f7(0x78)]===0x0)console[_0x2c57f7(0xa5)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x2c57f7(0xa5)](_0x2c57f7(0x75));const _0x42efee=Math[_0x2c57f7(0x94)](..._0x49c23e['map'](_0x23ed8a=>_0x23ed8a[_0x2c57f7(0x78)]));for(const [_0x35afdf,_0x551dfb]of Object['entries'](_0x14e12d)){console[_0x2c57f7(0xa5)](_0x2c57f7(0x8d)+_0x35afdf['padEnd'](_0x42efee+0x2)+_0x551dfb);}console[_0x2c57f7(0xa5)](_0x2c57f7(0xa0)+CLI_BIN_NAME+_0x2c57f7(0x77));}return{'ok':!![]};}if(!_0x14e12d[_0x1d7fed])throw CliErrors[_0x2c57f7(0x6c)](_0x2c57f7(0x72)+_0x1d7fed+_0x2c57f7(0x95),_0x2c57f7(0x81)+(Object['keys'](_0x14e12d)[_0x2c57f7(0x66)](',\x20')||_0x2c57f7(0x8a)));const _0x4f3281=detectPackageManager(_0x459b0b);VERSION_CHECK_SCRIPTS[_0x2c57f7(0x69)](_0x1d7fed)&&await versionCheck(_0x459b0b);if(_0x1d7fed===_0x2c57f7(0x6e)&&_0x314937['bool'](_0x2c57f7(0x7e)))return await Promise[_0x2c57f7(0x7a)]([spawnViteBuildWatch(_0x459b0b),spawnVitePreview(_0x459b0b)]),{'ok':!![]};return await spawnScript(_0x4f3281,_0x1d7fed,_0x483ed0,_0x459b0b),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a120_0x46c5ba=a120_0x5f4d;(function(_0x8a7f2a,_0x120d1f){const _0x18598a=a120_0x5f4d,_0x53e787=_0x8a7f2a();while(!![]){try{const _0x1b868b=parseInt(_0x18598a(0x1f0))/0x1*(parseInt(_0x18598a(0x1f5))/0x2)+-parseInt(_0x18598a(0x1ea))/0x3+parseInt(_0x18598a(0x1eb))/0x4+parseInt(_0x18598a(0x1ef))/0x5+-parseInt(_0x18598a(0x1ec))/0x6*(-parseInt(_0x18598a(0x1f3))/0x7)+-parseInt(_0x18598a(0x1ed))/0x8*(-parseInt(_0x18598a(0x1f4))/0x9)+parseInt(_0x18598a(0x1f6))/0xa*(-parseInt(_0x18598a(0x1f1))/0xb);if(_0x1b868b===_0x120d1f)break;else _0x53e787['push'](_0x53e787['shift']());}catch(_0x21301c){_0x53e787['push'](_0x53e787['shift']());}}}(a120_0x424a,0x5a07c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x38f856){const _0x4c0f27=await buildSchemaPayload();return{'ok':!![],'data':_0x4c0f27};}function a120_0x5f4d(_0x10c468,_0x49cc40){_0x10c468=_0x10c468-0x1ea;const _0x424a28=a120_0x424a();let _0x5f4d06=_0x424a28[_0x10c468];return _0x5f4d06;}export const schemaDefinition={'service':'schema','command':a120_0x46c5ba(0x1f2),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a120_0x46c5ba(0x1ee),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a120_0x46c5ba(0x1f7),'flags':[],'execute':execute};function a120_0x424a(){const _0x5f5d60=['640OJDFrh','read','3650675fBgOvX','357061pcBWOG','772354VnKKrb','export','3395HmrkaD','30546yngDIj','2dFoBVk','200mhGTTY','json','2016078mqCEAU','1771036scqQmk','7962YGIaJo'];a120_0x424a=function(){return _0x5f5d60;};return a120_0x424a();}
1
+ const a120_0x2f198c=a120_0x2486;function a120_0x2486(_0x5c6d88,_0x25de77){_0x5c6d88=_0x5c6d88-0x1c6;const _0x20d477=a120_0x20d4();let _0x248673=_0x20d477[_0x5c6d88];return _0x248673;}function a120_0x20d4(){const _0x215cdd=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','6HrhGmI','5190828wnQyqz','1159308BQQKyK','6kTgAdE','2020149vSjOeS','export','1268395XmKlWy','13587ReqNnQ','883778dxcvoi','read','20mDAFBD','25133oxfMqz','11ZOKcmI','520siDjnr','schema'];a120_0x20d4=function(){return _0x215cdd;};return a120_0x20d4();}(function(_0x5e32f0,_0x11c2b7){const _0x4ee0d0=a120_0x2486,_0x208bb1=_0x5e32f0();while(!![]){try{const _0x156eaa=-parseInt(_0x4ee0d0(0x1c7))/0x1+-parseInt(_0x4ee0d0(0x1d4))/0x2*(-parseInt(_0x4ee0d0(0x1cf))/0x3)+parseInt(_0x4ee0d0(0x1ce))/0x4+-parseInt(_0x4ee0d0(0x1d2))/0x5*(parseInt(_0x4ee0d0(0x1cc))/0x6)+-parseInt(_0x4ee0d0(0x1d3))/0x7*(parseInt(_0x4ee0d0(0x1c9))/0x8)+-parseInt(_0x4ee0d0(0x1d0))/0x9*(-parseInt(_0x4ee0d0(0x1c6))/0xa)+parseInt(_0x4ee0d0(0x1c8))/0xb*(-parseInt(_0x4ee0d0(0x1cd))/0xc);if(_0x156eaa===_0x11c2b7)break;else _0x208bb1['push'](_0x208bb1['shift']());}catch(_0xc0681a){_0x208bb1['push'](_0x208bb1['shift']());}}}(a120_0x20d4,0xbfa55));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5f59b9){const _0x60e58c=await buildSchemaPayload();return{'ok':!![],'data':_0x60e58c};}export const schemaDefinition={'service':a120_0x2f198c(0x1ca),'command':a120_0x2f198c(0x1d1),'description':a120_0x2f198c(0x1cb),'risk':a120_0x2f198c(0x1d5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a121_0x4e6dac=a121_0x5356;(function(_0x33d2f7,_0x4bae65){const _0x422fe0=a121_0x5356,_0x20a0e9=_0x33d2f7();while(!![]){try{const _0x158f0e=parseInt(_0x422fe0(0x12e))/0x1+parseInt(_0x422fe0(0x117))/0x2*(-parseInt(_0x422fe0(0x113))/0x3)+-parseInt(_0x422fe0(0x11c))/0x4+parseInt(_0x422fe0(0x122))/0x5*(parseInt(_0x422fe0(0x12d))/0x6)+parseInt(_0x422fe0(0x11b))/0x7+-parseInt(_0x422fe0(0x112))/0x8*(-parseInt(_0x422fe0(0x118))/0x9)+-parseInt(_0x422fe0(0x12a))/0xa*(parseInt(_0x422fe0(0x125))/0xb);if(_0x158f0e===_0x4bae65)break;else _0x20a0e9['push'](_0x20a0e9['shift']());}catch(_0xf9cb0c){_0x20a0e9['push'](_0x20a0e9['shift']());}}}(a121_0x521a,0x95053));import{CliErrors}from'../../errors.js';function a121_0x5356(_0x311ef0,_0x50357d){_0x311ef0=_0x311ef0-0x112;const _0x521a64=a121_0x521a();let _0x5356a6=_0x521a64[_0x311ef0];return _0x5356a6;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a121_0x521a(){const _0x4cbab9=['2649325Nwuiaa','nonInteractive','unknown','8734oqRHlU','skill-install','skill','info','log','8380UakicL','lovrabet/rabetbase','apiError','6ZBFLGD','258401GIegCM','../../skills/npx-skills-add.js','pipe','16gQtdUM','2205939VeQpdn','npx\x20skills\x20add\x20failed:\x20','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)',')...','2yiYLqH','3674394qnHxaB','cwd','install','8509676dogoHs','3237576lLFgRA','\x20skill\x20installed','inherit','setLogPath','Installing\x20official\x20skill\x20via\x20npx\x20(','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.'];a121_0x521a=function(){return _0x4cbab9;};return a121_0x521a();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a121_0x4e6dac(0x127),'command':a121_0x4e6dac(0x11a),'description':'Install\x20developer\x20skill\x20package','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x519f71){const _0x31e347=a121_0x4e6dac;logger[_0x31e347(0x11f)](process['cwd']()),logger[_0x31e347(0x128)](_0x31e347(0x126),_0x31e347(0x115));const {runNpxSkillsAddGlobal:_0x116ed4}=await import(_0x31e347(0x12f)),_0x5a5169=_0x519f71[_0x31e347(0x123)]?_0x31e347(0x130):_0x31e347(0x11e);console[_0x31e347(0x129)](_0x31e347(0x120)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x31e347(0x116));const _0x2f1b10=_0x116ed4(process[_0x31e347(0x119)](),_0x31e347(0x12b),{'stdio':_0x5a5169});if(_0x2f1b10['skipped'])console[_0x31e347(0x129)](_0x31e347(0x121));else{if(_0x2f1b10['ok'])console['log'](CLI_BIN_NAME+_0x31e347(0x11d));else throw CliErrors[_0x31e347(0x12c)](_0x31e347(0x114)+(_0x2f1b10['error']||_0x31e347(0x124)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
1
+ function a121_0x37b2(_0x4bad08,_0x9f7ac8){_0x4bad08=_0x4bad08-0x1aa;const _0x1cfc16=a121_0x1cfc();let _0x37b26a=_0x1cfc16[_0x4bad08];return _0x37b26a;}function a121_0x1cfc(){const _0x11874d=['install','427390LXmXDJ','pipe','Check\x20network\x20connectivity\x20and\x20try\x20again.','write','skipped','\x20skill\x20installed','info','error','log','6739101CBiSUn','Install\x20developer\x20skill\x20package','10786888XsLtQG','132NWmKts','186347DAsbiI','39BpjbPO','186154ZibYwn','1912awRRPq','5180ZAjqdD','npx\x20skills\x20add\x20failed:\x20','setLogPath','86527oBvLKZ','lovrabet/rabetbase','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','skill','Installing\x20official\x20skill\x20via\x20npx\x20(','unknown','407NzJkRI','inherit','cwd'];a121_0x1cfc=function(){return _0x11874d;};return a121_0x1cfc();}const a121_0x171b1b=a121_0x37b2;(function(_0x175f97,_0x20be80){const _0x43553d=a121_0x37b2,_0x2b124b=_0x175f97();while(!![]){try{const _0x32a3dc=parseInt(_0x43553d(0x1ab))/0x1+-parseInt(_0x43553d(0x1c5))/0x2*(-parseInt(_0x43553d(0x1c4))/0x3)+-parseInt(_0x43553d(0x1c6))/0x4*(-parseInt(_0x43553d(0x1c7))/0x5)+parseInt(_0x43553d(0x1c2))/0x6*(-parseInt(_0x43553d(0x1c3))/0x7)+-parseInt(_0x43553d(0x1c1))/0x8+-parseInt(_0x43553d(0x1bf))/0x9+-parseInt(_0x43553d(0x1b6))/0xa*(-parseInt(_0x43553d(0x1b2))/0xb);if(_0x32a3dc===_0x20be80)break;else _0x2b124b['push'](_0x2b124b['shift']());}catch(_0x5eb0c3){_0x2b124b['push'](_0x2b124b['shift']());}}}(a121_0x1cfc,0xa885b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a121_0x171b1b(0x1af),'command':a121_0x171b1b(0x1b5),'description':a121_0x171b1b(0x1c0),'risk':a121_0x171b1b(0x1b9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xbbc191){const _0x139bf8=a121_0x171b1b;logger[_0x139bf8(0x1aa)](process[_0x139bf8(0x1b4)]()),logger[_0x139bf8(0x1bc)]('skill-install',_0x139bf8(0x1ad));const {runNpxSkillsAddGlobal:_0x103fc2}=await import('../../skills/npx-skills-add.js'),_0x47f297=_0xbbc191['nonInteractive']?_0x139bf8(0x1b7):_0x139bf8(0x1b3);console[_0x139bf8(0x1be)](_0x139bf8(0x1b0)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x37d716=_0x103fc2(process[_0x139bf8(0x1b4)](),_0x139bf8(0x1ac),{'stdio':_0x47f297});if(_0x37d716[_0x139bf8(0x1ba)])console[_0x139bf8(0x1be)](_0x139bf8(0x1ae));else{if(_0x37d716['ok'])console[_0x139bf8(0x1be)](CLI_BIN_NAME+_0x139bf8(0x1bb));else throw CliErrors['apiError'](_0x139bf8(0x1c8)+(_0x37d716[_0x139bf8(0x1bd)]||_0x139bf8(0x1b1)),_0x139bf8(0x1b8));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a122_0x2e795b=a122_0xead1;(function(_0x3e6ce4,_0x2e0311){const _0x236179=a122_0xead1,_0x497f97=_0x3e6ce4();while(!![]){try{const _0x28a596=-parseInt(_0x236179(0x17b))/0x1*(parseInt(_0x236179(0x165))/0x2)+parseInt(_0x236179(0x18f))/0x3*(parseInt(_0x236179(0x19f))/0x4)+parseInt(_0x236179(0x192))/0x5+-parseInt(_0x236179(0x19c))/0x6*(-parseInt(_0x236179(0x171))/0x7)+-parseInt(_0x236179(0x17c))/0x8+parseInt(_0x236179(0x188))/0x9+parseInt(_0x236179(0x16b))/0xa*(-parseInt(_0x236179(0x196))/0xb);if(_0x28a596===_0x2e0311)break;else _0x497f97['push'](_0x497f97['shift']());}catch(_0x3d9576){_0x497f97['push'](_0x497f97['shift']());}}}(a122_0x1db5,0xd502f));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a122_0xead1(_0x3a7bb2,_0x50c06b){_0x3a7bb2=_0x3a7bb2-0x165;const _0x1db5ba=a122_0x1db5();let _0xead158=_0x1db5ba[_0x3a7bb2];return _0xead158;}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0xb98098){const _0x1d9e33=a122_0xead1;if(_0xb98098===_0x1d9e33(0x1a1))return[_0x1d9e33(0x16a),'\x20\x20SELECT\x201\x20AS\x20id',_0x1d9e33(0x190),''][_0x1d9e33(0x166)]('\x0a');return[_0x1d9e33(0x167),''][_0x1d9e33(0x166)]('\x0a');}export const sqlCreate={'service':a122_0x2e795b(0x181),'command':'create','description':a122_0x2e795b(0x185),'risk':a122_0x2e795b(0x199),'flags':[{'name':'name','type':a122_0x2e795b(0x173),'description':a122_0x2e795b(0x16e)},{'name':a122_0x2e795b(0x19a),'type':'number','description':a122_0x2e795b(0x16f)},{'name':a122_0x2e795b(0x18a),'type':a122_0x2e795b(0x173),'enum':['sql',a122_0x2e795b(0x1a1)],'description':a122_0x2e795b(0x178)}],async 'validate'(_0x42247a){const _0x53d4a8=a122_0x2e795b;if(!_0x42247a[_0x53d4a8(0x18e)])return;if(!_0x42247a[_0x53d4a8(0x194)](_0x53d4a8(0x1a8))[_0x53d4a8(0x169)]())throw CliErrors[_0x53d4a8(0x187)](_0x53d4a8(0x1a8),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x39f85a=resolveProvidedDbId(_0x42247a);if(typeof _0x39f85a!==_0x53d4a8(0x182)||!Number[_0x53d4a8(0x177)](_0x39f85a)||_0x39f85a<=0x0)throw CliErrors[_0x53d4a8(0x187)]('db-id',_0x53d4a8(0x175));if(!_0x42247a[_0x53d4a8(0x194)]('mode')[_0x53d4a8(0x169)]())throw CliErrors[_0x53d4a8(0x187)]('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x218abd){const _0xa3611b=a122_0x2e795b,_0x59ba0f=loadSqlProjectConfig(_0x218abd[_0xa3611b(0x179)]),{sqlName:_0x23d2f3,dbId:_0x31c8c1,dbName:_0x57afd5,mode:_0x4ef9bf}=await resolveSqlNewInputs(_0x218abd),_0x77e5b3=buildSqlRelativePath(_0xa3611b(0x18c),_0x23d2f3,_0x57afd5,_0x4ef9bf,_0x31c8c1),_0x38adbd=_0x59ba0f[_0xa3611b(0x170)]+'/'+_0x77e5b3;return{'method':_0xa3611b(0x1a6),'url':_0xa3611b(0x193),'body':{'appCode':_0x218abd['appCode'],'sqlName':_0x23d2f3,'dbId':_0x31c8c1,'mode':_0x4ef9bf,'localPath':_0x38adbd},'description':_0xa3611b(0x184)+_0x59ba0f[_0xa3611b(0x170)]};},async 'execute'(_0x16bd2c){const _0x2caec9=a122_0x2e795b,_0x11bb82=loadSqlProjectConfig(_0x16bd2c[_0x2caec9(0x179)]),{sqlName:_0x46b991,dbId:_0x18b644,dbName:_0x19ad44,mode:_0x623f6a}=await resolveSqlNewInputs(_0x16bd2c),_0x9aad3=generateSqlTemplate(_0x623f6a),_0x122113=await createSqlQuery({'appCode':_0x16bd2c[_0x2caec9(0x179)],'sqlName':_0x46b991,'dbId':_0x18b644,'sqlContent':_0x9aad3}),_0x78664f=ensureRemoteSqlContent(_0x122113),_0x201a59=_0x19ad44||await getDbName(_0x16bd2c['appCode'],_0x18b644)['catch'](()=>undefined),_0x30ac23=buildSqlRelativePath(_0x122113['sqlCode'],_0x122113[_0x2caec9(0x1a3)],_0x201a59,_0x623f6a,_0x18b644),_0x426f1a=_0x11bb82[_0x2caec9(0x170)]+'/'+_0x30ac23,_0x5d9a8f=buildLocalSqlFileContent({'sqlCode':_0x122113[_0x2caec9(0x1a4)],'sqlName':_0x122113[_0x2caec9(0x1a3)],'dbId':_0x122113[_0x2caec9(0x19d)]},_0x78664f,{'dbName':_0x201a59,'mode':_0x623f6a,'syncedAt':new Date()['toISOString'](),'description':_0x122113[_0x2caec9(0x17d)]});if(await fileExists(_0x426f1a))throw CliErrors[_0x2caec9(0x183)](_0x2caec9(0x180)+_0x426f1a);await ensureParentDirectory(_0x426f1a),await writeFile(_0x426f1a,_0x5d9a8f,_0x2caec9(0x168));const _0x58c7ea=await readSqlLockFile(_0x11bb82['lockFilePath']),{lockData:_0x3ad50c,appLock:_0x7d458c}=ensureSqlLockScope(_0x58c7ea??createEmptySqlLock(),_0x11bb82['appCode'],_0x11bb82[_0x2caec9(0x176)],'new');return _0x7d458c[_0x2caec9(0x17f)][_0x122113['sqlCode']]={...buildSqlLockEntry(_0x122113,_0x78664f,computeSqlContentHash(_0x5d9a8f),{'dbName':_0x201a59}),'path':_0x30ac23,'mode':_0x623f6a},_0x7d458c[_0x2caec9(0x174)]=new Date()[_0x2caec9(0x197)](),await writeSqlLockFile(_0x11bb82['lockFilePath'],_0x3ad50c),{'ok':!![],'data':{'id':_0x122113['id'],'sqlCode':_0x122113['sqlCode'],'sqlName':_0x122113[_0x2caec9(0x1a3)],'dbId':_0x122113[_0x2caec9(0x19d)],'path':_0x426f1a,'mode':_0x623f6a},'message':_0x2caec9(0x1a5)+_0x122113['sqlCode']};}};async function resolveSqlNewInputs(_0x2d66a3){const _0x3b0c45=await resolveSqlNameInput(_0x2d66a3),{dbId:_0x4dfe73,dbName:_0x4bfd07}=await resolveDbSelection(_0x2d66a3),_0x21863a=await resolveSqlModeInput(_0x2d66a3);return{'sqlName':_0x3b0c45,'dbId':_0x4dfe73,'dbName':_0x4bfd07,'mode':_0x21863a};}async function resolveSqlNameInput(_0xbb46ca){const _0xee731d=a122_0x2e795b,_0x3f7424=_0xbb46ca['str'](_0xee731d(0x1a8))[_0xee731d(0x169)]();if(_0x3f7424)return _0x3f7424;if(_0xbb46ca[_0xee731d(0x18e)])throw CliErrors['flagMissing'](_0xee731d(0x1a8),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0xee731d(0x186),'validate':_0x5235ec=>_0x5235ec[_0xee731d(0x169)]()?!![]:_0xee731d(0x1a0)}))[_0xee731d(0x169)]();}function a122_0x1db5(){const _0x94a4b6=['catch','1096DnwKfw','SQL\x20名称不能为空','mybatisXml','✎\x20手动输入\x20dbId','sqlName','sqlCode','Created\x20SQL\x20query\x20','POST','请输入目标数据库\x20dbId:','name','flag','2BVEhnX','join','SELECT\x201\x20AS\x20id;','utf8','trim','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','10OKISTt','dbId\x20不能为空','dbName','SQL\x20query\x20display\x20name','Target\x20database\x20ID','sqlRootDir','4965863WyFcXY','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','string','lastSync','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','isFinite','Local\x20SQL\x20file\x20mode','appCode','Invalid\x20database\x20selection\x20payload:\x20','707561rhkmDW','5287552jcjJOt','description','length','sqls','File\x20already\x20exists:\x20','sql','number','validation','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','请输入\x20SQL\x20名称:','flagMissing','2033793axdbYU','stringify','mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','<server-generated-sqlCode>','请选择本地\x20SQL\x20模式:','nonInteractive','17301cJakZP','</select>','parse','836940nFbDVW','/smartapi/custom/saveUserCustomSql','str','__manual__','12664751aJgZGI','toISOString','map','high-risk-write','db-id','MyBatis\x20XML(mybatisXml)','12ONteFx','dbId'];a122_0x1db5=function(){return _0x94a4b6;};return a122_0x1db5();}async function resolveDbSelection(_0x320b9f){const _0x3c60d6=a122_0x2e795b,_0x2e068d=resolveProvidedDbId(_0x320b9f);if(typeof _0x2e068d===_0x3c60d6(0x182)&&Number[_0x3c60d6(0x177)](_0x2e068d)&&_0x2e068d>0x0)return{'dbId':_0x2e068d,'dbName':await getDbName(_0x320b9f[_0x3c60d6(0x179)],_0x2e068d)[_0x3c60d6(0x19e)](()=>undefined)};if(_0x320b9f['nonInteractive'])throw CliErrors['flagMissing'](_0x3c60d6(0x19a),_0x3c60d6(0x175));const _0x4bb159=await listDatabases(_0x320b9f[_0x3c60d6(0x179)])[_0x3c60d6(0x19e)](()=>[]);if(_0x4bb159[_0x3c60d6(0x17e)]===0x1)return{'dbId':_0x4bb159[0x0]['dbId'],'dbName':_0x4bb159[0x0][_0x3c60d6(0x16d)]};if(_0x4bb159['length']>0x1){const _0x5e70ed=await select({'message':'请选择目标数据库:','choices':[..._0x4bb159[_0x3c60d6(0x198)](_0x53b69a=>({'name':_0x53b69a[_0x3c60d6(0x16d)]+'\x20('+_0x53b69a[_0x3c60d6(0x19d)]+')','value':serializeDbSelection(_0x53b69a)})),{'name':_0x3c60d6(0x1a2),'value':'__manual__'}]});if(_0x5e70ed!==_0x3c60d6(0x195))return deserializeDbSelection(_0x5e70ed);}const _0x48375f=await input({'message':_0x3c60d6(0x1a7),'validate':_0x234c63=>{const _0x2b20f6=_0x3c60d6,_0x272bad=_0x234c63[_0x2b20f6(0x169)]();if(!_0x272bad)return _0x2b20f6(0x16c);const _0x3076cb=Number(_0x272bad);if(!Number['isInteger'](_0x3076cb)||_0x3076cb<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x48375f[_0x3c60d6(0x169)]())};}async function resolveSqlModeInput(_0x3323d6){const _0x5a859f=a122_0x2e795b,_0x347dfc=_0x3323d6[_0x5a859f(0x194)](_0x5a859f(0x18a))[_0x5a859f(0x169)]();if(_0x347dfc==='sql'||_0x347dfc==='mybatisXml')return _0x347dfc;if(_0x3323d6['nonInteractive'])throw CliErrors[_0x5a859f(0x187)]('mode',_0x5a859f(0x18b));return await select({'message':_0x5a859f(0x18d),'choices':[{'name':'普通\x20SQL(sql)','value':_0x5a859f(0x181),'description':_0x5a859f(0x172)},{'name':_0x5a859f(0x19b),'value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x1c4ae2){const _0x1bfc72=a122_0x2e795b;return JSON[_0x1bfc72(0x189)]({'dbId':_0x1c4ae2[_0x1bfc72(0x19d)],'dbName':_0x1c4ae2[_0x1bfc72(0x16d)]});}function deserializeDbSelection(_0x28a60a){const _0x5acb9a=a122_0x2e795b;try{const _0x326606=JSON[_0x5acb9a(0x191)](_0x28a60a);if(typeof _0x326606[_0x5acb9a(0x19d)]==='number'&&Number[_0x5acb9a(0x177)](_0x326606['dbId']))return{'dbId':_0x326606['dbId'],'dbName':_0x326606['dbName']};}catch{}throw CliErrors['validation'](_0x5acb9a(0x17a)+_0x28a60a);}function resolveProvidedDbId(_0x1e2182){const _0x57e014=a122_0x2e795b,_0x17d77d=_0x1e2182[_0x57e014(0x1a9)]('db-id');if(typeof _0x17d77d===_0x57e014(0x182)&&Number[_0x57e014(0x177)](_0x17d77d))return _0x17d77d;return undefined;}
1
+ const a122_0x373720=a122_0x1409;(function(_0x8d58a0,_0x1dafb3){const _0x28ae88=a122_0x1409,_0x140b42=_0x8d58a0();while(!![]){try{const _0x267ab3=parseInt(_0x28ae88(0x1e7))/0x1*(-parseInt(_0x28ae88(0x1ee))/0x2)+-parseInt(_0x28ae88(0x201))/0x3*(parseInt(_0x28ae88(0x21a))/0x4)+-parseInt(_0x28ae88(0x1fd))/0x5+-parseInt(_0x28ae88(0x1fa))/0x6*(parseInt(_0x28ae88(0x1f2))/0x7)+parseInt(_0x28ae88(0x203))/0x8*(-parseInt(_0x28ae88(0x21c))/0x9)+parseInt(_0x28ae88(0x214))/0xa+-parseInt(_0x28ae88(0x206))/0xb*(-parseInt(_0x28ae88(0x1ff))/0xc);if(_0x267ab3===_0x1dafb3)break;else _0x140b42['push'](_0x140b42['shift']());}catch(_0x169dcb){_0x140b42['push'](_0x140b42['shift']());}}}(a122_0x5eda,0x65e04));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';function a122_0x5eda(){const _0x257c56=['dbId\x20必须为正整数','str','11346OsbIJZ','sql','validation','2451745ROFvpw','string','805164grgxEW','dbId\x20不能为空','249PlxzLW','lastSync','40zyVASp','Target\x20database\x20ID','请选择目标数据库:','363WZDBiZ','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','lockFilePath','stringify','请输入\x20SQL\x20名称:','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','toISOString','sqlRootDir','sqls','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','db-id','nonInteractive','name','map','4330470EEngWR','create','dbName','number','POST','isFinite','37932npUpCB','length','209295babUtg','</select>','description','\x20\x20SELECT\x201\x20AS\x20id','<server-generated-sqlCode>','flag','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','普通\x20SQL(sql)','dbId','请输入目标数据库\x20dbId:','请选择本地\x20SQL\x20模式:','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','mybatisXml','File\x20already\x20exists:\x20','✎\x20手动输入\x20dbId','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','Invalid\x20database\x20selection\x20payload:\x20','642JwWpeH','/smartapi/custom/saveUserCustomSql','Created\x20SQL\x20query\x20','__manual__','trim','sqlCode','sqlName','938SZpLmP','catch','MyBatis\x20XML(mybatisXml)','new','1981XkIjlT','SQL\x20query\x20display\x20name','appCode','join','flagMissing','SQL\x20名称不能为空'];a122_0x5eda=function(){return _0x257c56;};return a122_0x5eda();}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a122_0x1409(_0x254db2,_0x2cfd57){_0x254db2=_0x254db2-0x1dd;const _0x5eda3e=a122_0x5eda();let _0x1409b6=_0x5eda3e[_0x254db2];return _0x1409b6;}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x856947){const _0xfc8caf=a122_0x1409;if(_0x856947===_0xfc8caf(0x1e1))return[_0xfc8caf(0x207),_0xfc8caf(0x21f),_0xfc8caf(0x21d),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0xfc8caf(0x1f5)]('\x0a');}export const sqlCreate={'service':a122_0x373720(0x1fb),'command':a122_0x373720(0x215),'description':a122_0x373720(0x1e0),'risk':'high-risk-write','flags':[{'name':a122_0x373720(0x212),'type':a122_0x373720(0x1fe),'description':a122_0x373720(0x1f3)},{'name':a122_0x373720(0x210),'type':'number','description':a122_0x373720(0x204)},{'name':'mode','type':a122_0x373720(0x1fe),'enum':['sql',a122_0x373720(0x1e1)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0xf112af){const _0x3cb052=a122_0x373720;if(!_0xf112af['nonInteractive'])return;if(!_0xf112af[_0x3cb052(0x1f9)](_0x3cb052(0x212))[_0x3cb052(0x1eb)]())throw CliErrors[_0x3cb052(0x1f6)](_0x3cb052(0x212),_0x3cb052(0x222));const _0x183cc9=resolveProvidedDbId(_0xf112af);if(typeof _0x183cc9!==_0x3cb052(0x217)||!Number[_0x3cb052(0x219)](_0x183cc9)||_0x183cc9<=0x0)throw CliErrors['flagMissing'](_0x3cb052(0x210),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0xf112af[_0x3cb052(0x1f9)](_0x3cb052(0x1e5))[_0x3cb052(0x1eb)]())throw CliErrors[_0x3cb052(0x1f6)]('mode',_0x3cb052(0x1e4));},async 'dryRun'(_0x1c4d6c){const _0x122a94=a122_0x373720,_0x5dc4bc=loadSqlProjectConfig(_0x1c4d6c[_0x122a94(0x1f4)]),{sqlName:_0x5147dd,dbId:_0x1bf4e8,dbName:_0x290b69,mode:_0xdefaf}=await resolveSqlNewInputs(_0x1c4d6c),_0x9ab5ac=buildSqlRelativePath(_0x122a94(0x220),_0x5147dd,_0x290b69,_0xdefaf,_0x1bf4e8),_0x511fa4=_0x5dc4bc[_0x122a94(0x20d)]+'/'+_0x9ab5ac;return{'method':_0x122a94(0x218),'url':_0x122a94(0x1e8),'body':{'appCode':_0x1c4d6c[_0x122a94(0x1f4)],'sqlName':_0x5147dd,'dbId':_0x1bf4e8,'mode':_0xdefaf,'localPath':_0x511fa4},'description':_0x122a94(0x20f)+_0x5dc4bc[_0x122a94(0x20d)]};},async 'execute'(_0xae928b){const _0x5ea119=a122_0x373720,_0x44a2e9=loadSqlProjectConfig(_0xae928b['appCode']),{sqlName:_0x257e28,dbId:_0x461667,dbName:_0x230ca4,mode:_0x17e9c6}=await resolveSqlNewInputs(_0xae928b),_0x4e6324=generateSqlTemplate(_0x17e9c6),_0x2b4cb8=await createSqlQuery({'appCode':_0xae928b[_0x5ea119(0x1f4)],'sqlName':_0x257e28,'dbId':_0x461667,'sqlContent':_0x4e6324}),_0x236224=ensureRemoteSqlContent(_0x2b4cb8),_0x2d006a=_0x230ca4||await getDbName(_0xae928b[_0x5ea119(0x1f4)],_0x461667)[_0x5ea119(0x1ef)](()=>undefined),_0x2d4591=buildSqlRelativePath(_0x2b4cb8[_0x5ea119(0x1ec)],_0x2b4cb8[_0x5ea119(0x1ed)],_0x2d006a,_0x17e9c6,_0x461667),_0x446ea8=_0x44a2e9[_0x5ea119(0x20d)]+'/'+_0x2d4591,_0x31051b=buildLocalSqlFileContent({'sqlCode':_0x2b4cb8[_0x5ea119(0x1ec)],'sqlName':_0x2b4cb8[_0x5ea119(0x1ed)],'dbId':_0x2b4cb8[_0x5ea119(0x1dd)]},_0x236224,{'dbName':_0x2d006a,'mode':_0x17e9c6,'syncedAt':new Date()['toISOString'](),'description':_0x2b4cb8[_0x5ea119(0x21e)]});if(await fileExists(_0x446ea8))throw CliErrors[_0x5ea119(0x1fc)](_0x5ea119(0x1e2)+_0x446ea8);await ensureParentDirectory(_0x446ea8),await writeFile(_0x446ea8,_0x31051b,'utf8');const _0x261c41=await readSqlLockFile(_0x44a2e9[_0x5ea119(0x208)]),{lockData:_0x54c8bf,appLock:_0xc936a7}=ensureSqlLockScope(_0x261c41??createEmptySqlLock(),_0x44a2e9[_0x5ea119(0x1f4)],_0x44a2e9['sqlRoot'],_0x5ea119(0x1f1));return _0xc936a7[_0x5ea119(0x20e)][_0x2b4cb8['sqlCode']]={...buildSqlLockEntry(_0x2b4cb8,_0x236224,computeSqlContentHash(_0x31051b),{'dbName':_0x2d006a}),'path':_0x2d4591,'mode':_0x17e9c6},_0xc936a7[_0x5ea119(0x202)]=new Date()[_0x5ea119(0x20c)](),await writeSqlLockFile(_0x44a2e9[_0x5ea119(0x208)],_0x54c8bf),{'ok':!![],'data':{'id':_0x2b4cb8['id'],'sqlCode':_0x2b4cb8[_0x5ea119(0x1ec)],'sqlName':_0x2b4cb8[_0x5ea119(0x1ed)],'dbId':_0x2b4cb8[_0x5ea119(0x1dd)],'path':_0x446ea8,'mode':_0x17e9c6},'message':_0x5ea119(0x1e9)+_0x2b4cb8[_0x5ea119(0x1ec)]};}};async function resolveSqlNewInputs(_0x198f6c){const _0x3f0d18=await resolveSqlNameInput(_0x198f6c),{dbId:_0x43800b,dbName:_0x31d4c0}=await resolveDbSelection(_0x198f6c),_0x15f53e=await resolveSqlModeInput(_0x198f6c);return{'sqlName':_0x3f0d18,'dbId':_0x43800b,'dbName':_0x31d4c0,'mode':_0x15f53e};}async function resolveSqlNameInput(_0x29af03){const _0x1a2e9b=a122_0x373720,_0x35ed74=_0x29af03[_0x1a2e9b(0x1f9)](_0x1a2e9b(0x212))['trim']();if(_0x35ed74)return _0x35ed74;if(_0x29af03[_0x1a2e9b(0x211)])throw CliErrors[_0x1a2e9b(0x1f6)](_0x1a2e9b(0x212),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x1a2e9b(0x20a),'validate':_0x136bcc=>_0x136bcc[_0x1a2e9b(0x1eb)]()?!![]:_0x1a2e9b(0x1f7)}))[_0x1a2e9b(0x1eb)]();}async function resolveDbSelection(_0x5ce9a2){const _0x5e8fd1=a122_0x373720,_0x37e634=resolveProvidedDbId(_0x5ce9a2);if(typeof _0x37e634==='number'&&Number[_0x5e8fd1(0x219)](_0x37e634)&&_0x37e634>0x0)return{'dbId':_0x37e634,'dbName':await getDbName(_0x5ce9a2[_0x5e8fd1(0x1f4)],_0x37e634)[_0x5e8fd1(0x1ef)](()=>undefined)};if(_0x5ce9a2[_0x5e8fd1(0x211)])throw CliErrors[_0x5e8fd1(0x1f6)](_0x5e8fd1(0x210),_0x5e8fd1(0x20b));const _0x5c8274=await listDatabases(_0x5ce9a2['appCode'])[_0x5e8fd1(0x1ef)](()=>[]);if(_0x5c8274[_0x5e8fd1(0x21b)]===0x1)return{'dbId':_0x5c8274[0x0][_0x5e8fd1(0x1dd)],'dbName':_0x5c8274[0x0][_0x5e8fd1(0x216)]};if(_0x5c8274[_0x5e8fd1(0x21b)]>0x1){const _0x3cc2e6=await select({'message':_0x5e8fd1(0x205),'choices':[..._0x5c8274[_0x5e8fd1(0x213)](_0x39d9ce=>({'name':_0x39d9ce[_0x5e8fd1(0x216)]+'\x20('+_0x39d9ce['dbId']+')','value':serializeDbSelection(_0x39d9ce)})),{'name':_0x5e8fd1(0x1e3),'value':_0x5e8fd1(0x1ea)}]});if(_0x3cc2e6!==_0x5e8fd1(0x1ea))return deserializeDbSelection(_0x3cc2e6);}const _0xddea60=await input({'message':_0x5e8fd1(0x1de),'validate':_0x330968=>{const _0x473b21=_0x5e8fd1,_0x391cb9=_0x330968[_0x473b21(0x1eb)]();if(!_0x391cb9)return _0x473b21(0x200);const _0x20f74d=Number(_0x391cb9);if(!Number['isInteger'](_0x20f74d)||_0x20f74d<=0x0)return _0x473b21(0x1f8);return!![];}});return{'dbId':Number(_0xddea60[_0x5e8fd1(0x1eb)]())};}async function resolveSqlModeInput(_0x1dd1d2){const _0x38b8a4=a122_0x373720,_0x389fb4=_0x1dd1d2[_0x38b8a4(0x1f9)](_0x38b8a4(0x1e5))['trim']();if(_0x389fb4==='sql'||_0x389fb4===_0x38b8a4(0x1e1))return _0x389fb4;if(_0x1dd1d2[_0x38b8a4(0x211)])throw CliErrors[_0x38b8a4(0x1f6)](_0x38b8a4(0x1e5),_0x38b8a4(0x1e4));return await select({'message':_0x38b8a4(0x1df),'choices':[{'name':_0x38b8a4(0x223),'value':_0x38b8a4(0x1fb),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x38b8a4(0x1f0),'value':_0x38b8a4(0x1e1),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0xecf9cf){const _0x47ac85=a122_0x373720;return JSON[_0x47ac85(0x209)]({'dbId':_0xecf9cf[_0x47ac85(0x1dd)],'dbName':_0xecf9cf[_0x47ac85(0x216)]});}function deserializeDbSelection(_0x2dc77e){const _0x3f059f=a122_0x373720;try{const _0x5b5e73=JSON['parse'](_0x2dc77e);if(typeof _0x5b5e73[_0x3f059f(0x1dd)]===_0x3f059f(0x217)&&Number['isFinite'](_0x5b5e73['dbId']))return{'dbId':_0x5b5e73[_0x3f059f(0x1dd)],'dbName':_0x5b5e73['dbName']};}catch{}throw CliErrors[_0x3f059f(0x1fc)](_0x3f059f(0x1e6)+_0x2dc77e);}function resolveProvidedDbId(_0x38e43d){const _0x3919e7=a122_0x373720,_0x18b0a8=_0x38e43d[_0x3919e7(0x221)](_0x3919e7(0x210));if(typeof _0x18b0a8===_0x3919e7(0x217)&&Number[_0x3919e7(0x219)](_0x18b0a8))return _0x18b0a8;return undefined;}