@lovrabet/rabetbase-cli 2.1.6-beta.0 → 2.1.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 (188) 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/detail.js +1 -1
  52. package/lib/commands/dataset/index.js +1 -1
  53. package/lib/commands/dataset/links.js +1 -1
  54. package/lib/commands/dataset/list.js +1 -1
  55. package/lib/commands/dataset/operations.js +1 -1
  56. package/lib/commands/db/analyze-cancel.js +1 -1
  57. package/lib/commands/db/analyze-start.js +1 -1
  58. package/lib/commands/db/analyze-status.js +1 -1
  59. package/lib/commands/db/create.js +1 -1
  60. package/lib/commands/db/delete.js +1 -1
  61. package/lib/commands/db/detail.js +1 -1
  62. package/lib/commands/db/diff.js +1 -1
  63. package/lib/commands/db/index.js +1 -1
  64. package/lib/commands/db/list.js +1 -1
  65. package/lib/commands/db/shared.js +1 -1
  66. package/lib/commands/db/tables.js +1 -1
  67. package/lib/commands/db/test.js +1 -1
  68. package/lib/commands/db/update.js +1 -1
  69. package/lib/commands/doctor.js +1 -1
  70. package/lib/commands/init/index.js +1 -1
  71. package/lib/commands/logs/index.js +1 -1
  72. package/lib/commands/menu/index.js +1 -1
  73. package/lib/commands/menu/shared/compare-table.js +1 -1
  74. package/lib/commands/menu/shared/index.js +1 -1
  75. package/lib/commands/menu/shared/inquirer.js +1 -1
  76. package/lib/commands/menu/shared/local-pages.js +1 -1
  77. package/lib/commands/menu/shared/logic.js +1 -1
  78. package/lib/commands/menu/shared/service.js +1 -1
  79. package/lib/commands/menu/shared/sync-core.js +1 -1
  80. package/lib/commands/menu/shared/update-core.js +1 -1
  81. package/lib/commands/menu/shared/valid-url.js +1 -1
  82. package/lib/commands/menu/sync.js +1 -1
  83. package/lib/commands/menu/update.js +1 -1
  84. package/lib/commands/page/generate-start.js +1 -1
  85. package/lib/commands/page/generate-status.js +1 -1
  86. package/lib/commands/page/index.js +1 -1
  87. package/lib/commands/page/pull.js +1 -1
  88. package/lib/commands/page/push.js +1 -1
  89. package/lib/commands/page/shared.js +1 -1
  90. package/lib/commands/page/standard-page-status.js +1 -1
  91. package/lib/commands/page/sync.js +1 -1
  92. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  93. package/lib/commands/project/create/format-elapsed.js +1 -1
  94. package/lib/commands/project/create/main.js +1 -1
  95. package/lib/commands/project/create/non-interactive.js +1 -1
  96. package/lib/commands/project/create/project-template-path.js +1 -1
  97. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  98. package/lib/commands/project/create/use-format-code.js +1 -1
  99. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  100. package/lib/commands/project/index.js +1 -1
  101. package/lib/commands/project/init.js +1 -1
  102. package/lib/commands/project/upgrade.js +1 -1
  103. package/lib/commands/registry.js +1 -1
  104. package/lib/commands/run/index.js +1 -1
  105. package/lib/commands/schema.js +1 -1
  106. package/lib/commands/skill/index.js +1 -1
  107. package/lib/commands/sql/create.js +1 -1
  108. package/lib/commands/sql/delete.js +1 -1
  109. package/lib/commands/sql/detail.js +1 -1
  110. package/lib/commands/sql/exec.js +1 -1
  111. package/lib/commands/sql/index.js +1 -1
  112. package/lib/commands/sql/list.js +1 -1
  113. package/lib/commands/sql/pull.js +1 -1
  114. package/lib/commands/sql/push.js +1 -1
  115. package/lib/commands/sql/save.js +1 -1
  116. package/lib/commands/sql/shared.js +1 -1
  117. package/lib/commands/sql/status.js +1 -1
  118. package/lib/commands/sql/validate.js +1 -1
  119. package/lib/config/schema.js +1 -1
  120. package/lib/constant/cdn.js +1 -1
  121. package/lib/constant/cli.js +1 -1
  122. package/lib/constant/defaults.js +1 -1
  123. package/lib/constant/domain.js +1 -1
  124. package/lib/constant/env.js +1 -1
  125. package/lib/constant/output.js +1 -1
  126. package/lib/constant/paths.js +1 -1
  127. package/lib/constant/risk.js +1 -1
  128. package/lib/context.js +1 -1
  129. package/lib/core/alias-resolver.js +1 -1
  130. package/lib/core/api-client.js +1 -1
  131. package/lib/core/bff/config.js +1 -1
  132. package/lib/core/bff/file-system.js +1 -1
  133. package/lib/core/bff/hash.js +1 -1
  134. package/lib/core/bff/lock.js +1 -1
  135. package/lib/core/bff/utils.js +1 -1
  136. package/lib/core/db-resolver.js +1 -1
  137. package/lib/core/page/file-system.js +1 -1
  138. package/lib/core/page/hash.js +1 -1
  139. package/lib/core/page/lock.js +1 -1
  140. package/lib/core/sql-sync/config.js +1 -1
  141. package/lib/core/sql-sync/file-system.js +1 -1
  142. package/lib/core/sql-sync/hash.js +1 -1
  143. package/lib/core/sql-sync/lock.js +1 -1
  144. package/lib/core/sql-sync/utils.js +1 -1
  145. package/lib/core/sql-validator.js +1 -1
  146. package/lib/errors.js +1 -1
  147. package/lib/framework/build-all-flags.js +1 -1
  148. package/lib/framework/flags.js +1 -1
  149. package/lib/framework/help.js +1 -1
  150. package/lib/framework/index.js +1 -1
  151. package/lib/framework/output.js +1 -1
  152. package/lib/framework/response.js +1 -1
  153. package/lib/framework/runner-alias.js +1 -1
  154. package/lib/framework/runner.js +1 -1
  155. package/lib/framework/schema-export.js +1 -1
  156. package/lib/framework/types.js +1 -1
  157. package/lib/generated/build-info.js +1 -1
  158. package/lib/help.js +1 -1
  159. package/lib/skills/main.js +1 -1
  160. package/lib/skills/npx-skills-add.js +1 -1
  161. package/lib/telemetry/cli-command-trace.js +1 -1
  162. package/lib/telemetry/cli-help-trace.js +1 -1
  163. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  164. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  165. package/lib/telemetry/send-cli-trace-log.js +1 -1
  166. package/lib/utils/ai_config.js +1 -1
  167. package/lib/utils/apply-jq-filter.js +1 -1
  168. package/lib/utils/cdn-config.js +1 -1
  169. package/lib/utils/check-sdk-version.js +1 -1
  170. package/lib/utils/cli-version-check.js +1 -1
  171. package/lib/utils/cli-version-policy.js +1 -1
  172. package/lib/utils/config.js +1 -1
  173. package/lib/utils/copy-directory.js +1 -1
  174. package/lib/utils/entity-with-id.js +1 -1
  175. package/lib/utils/file-utils.js +1 -1
  176. package/lib/utils/guides-cdn.js +1 -1
  177. package/lib/utils/http-client.js +1 -1
  178. package/lib/utils/is-non-interactive.js +1 -1
  179. package/lib/utils/logger.js +1 -1
  180. package/lib/utils/params.js +1 -1
  181. package/lib/utils/platform.js +1 -1
  182. package/lib/utils/rules-cdn.js +1 -1
  183. package/lib/utils/sleep.js +1 -1
  184. package/lib/utils/template-replacer.js +1 -1
  185. package/lib/utils/version.js +1 -1
  186. package/lib/utils/with-active-cookie.js +1 -1
  187. package/lib/utils/write-cli-side-channel.js +1 -1
  188. package/package.json +1 -1
@@ -1 +1 @@
1
- function a98_0x406a(_0x43a469,_0x10289f){_0x43a469=_0x43a469-0x1a9;const _0x5629a5=a98_0x5629();let _0x406afd=_0x5629a5[_0x43a469];return _0x406afd;}(function(_0x104f60,_0x229ceb){const _0x4ad68c=a98_0x406a,_0x58c20f=_0x104f60();while(!![]){try{const _0xd96acd=-parseInt(_0x4ad68c(0x1b6))/0x1*(parseInt(_0x4ad68c(0x1af))/0x2)+parseInt(_0x4ad68c(0x1b4))/0x3+parseInt(_0x4ad68c(0x1ae))/0x4+-parseInt(_0x4ad68c(0x1ab))/0x5*(parseInt(_0x4ad68c(0x1bb))/0x6)+-parseInt(_0x4ad68c(0x1b2))/0x7*(-parseInt(_0x4ad68c(0x1ac))/0x8)+parseInt(_0x4ad68c(0x1b0))/0x9+-parseInt(_0x4ad68c(0x1aa))/0xa;if(_0xd96acd===_0x229ceb)break;else _0x58c20f['push'](_0x58c20f['shift']());}catch(_0x54b263){_0x58c20f['push'](_0x58c20f['shift']());}}}(a98_0x5629,0xaa09c));import a98_0x1a77fa from'node:path';function a98_0x5629(){const _0x5acff9=['8101840cxzVuC','318505ydIcfJ','8SXnUro','success','3356776zkGwjX','167502TdUzjm','561411ikpJeU','resolve','3916731hAHjRo','开始格式化代码','3746313JVcsee','message','6ZlkWMT','cwd','prettier','代码格式化完成','代码格式化失败','66OddsSo','info','--write','error','format','now'];a98_0x5629=function(){return _0x5acff9;};return a98_0x5629();}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x447883){const _0x4beee5=a98_0x406a,_0x410acf=Date[_0x4beee5(0x1a9)](),_0x24ba86=a98_0x1a77fa[_0x4beee5(0x1b1)](process[_0x4beee5(0x1b7)](),_0x447883);try{logger[_0x4beee5(0x1bc)](_0x4beee5(0x1bf),_0x4beee5(0x1b3),{'projectCode':_0x447883}),await execa(resolveNpmBin('npx'),[_0x4beee5(0x1b8),_0x4beee5(0x1bd),'.'],{'cwd':_0x24ba86});const _0x4208e2=Date[_0x4beee5(0x1a9)]()-_0x410acf;logger[_0x4beee5(0x1ad)]('format',_0x4beee5(0x1b9),_0x4208e2,{'projectCode':_0x447883});}catch(_0x2205d8){const _0x5c38cb=Date['now']()-_0x410acf;logger[_0x4beee5(0x1be)](_0x4beee5(0x1bf),_0x4beee5(0x1ba),{'projectCode':_0x447883,'error':_0x2205d8 instanceof Error?_0x2205d8[_0x4beee5(0x1b5)]:String(_0x2205d8),'duration':_0x5c38cb});throw _0x2205d8;}return formatElapsed(_0x410acf);}
1
+ (function(_0x59cfed,_0x61f6c5){const _0x556de6=a98_0x11a6,_0x202831=_0x59cfed();while(!![]){try{const _0x40575c=-parseInt(_0x556de6(0x127))/0x1*(parseInt(_0x556de6(0x123))/0x2)+-parseInt(_0x556de6(0x125))/0x3+parseInt(_0x556de6(0x122))/0x4+parseInt(_0x556de6(0x12b))/0x5+parseInt(_0x556de6(0x120))/0x6*(parseInt(_0x556de6(0x124))/0x7)+-parseInt(_0x556de6(0x11b))/0x8+-parseInt(_0x556de6(0x12c))/0x9;if(_0x40575c===_0x61f6c5)break;else _0x202831['push'](_0x202831['shift']());}catch(_0x52762c){_0x202831['push'](_0x202831['shift']());}}}(a98_0x23eb,0xa44a5));function a98_0x11a6(_0x59315f,_0x2e79a7){_0x59315f=_0x59315f-0x11b;const _0x23ebb4=a98_0x23eb();let _0x11a6e8=_0x23ebb4[_0x59315f];return _0x11a6e8;}import a98_0x47d112 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 formatProjectCode(_0x126ec0){const _0x18572a=a98_0x11a6,_0x3ea491=Date[_0x18572a(0x11d)](),_0x3b2b3b=a98_0x47d112[_0x18572a(0x11c)](process[_0x18572a(0x128)](),_0x126ec0);try{logger[_0x18572a(0x121)](_0x18572a(0x11f),_0x18572a(0x126),{'projectCode':_0x126ec0}),await execa(resolveNpmBin('npx'),[_0x18572a(0x11e),_0x18572a(0x129),'.'],{'cwd':_0x3b2b3b});const _0x427d03=Date[_0x18572a(0x11d)]()-_0x3ea491;logger[_0x18572a(0x12a)](_0x18572a(0x11f),'代码格式化完成',_0x427d03,{'projectCode':_0x126ec0});}catch(_0x32cc45){const _0x99504e=Date[_0x18572a(0x11d)]()-_0x3ea491;logger['error'](_0x18572a(0x11f),'代码格式化失败',{'projectCode':_0x126ec0,'error':_0x32cc45 instanceof Error?_0x32cc45['message']:String(_0x32cc45),'duration':_0x99504e});throw _0x32cc45;}return formatElapsed(_0x3ea491);}function a98_0x23eb(){const _0x46a280=['开始格式化代码','394597EASNvQ','cwd','--write','success','5461180HtuVOC','1135314wLGCmH','3772720EyDJwO','resolve','now','prettier','format','6fQApMs','info','1109076ofIYbg','2dFdHXs','3113719ASAoid','447168pWhedg'];a98_0x23eb=function(){return _0x46a280;};return a98_0x23eb();}
@@ -1 +1 @@
1
- (function(_0x5801c2,_0x282b2f){const _0x1b2c26=a99_0x2af8,_0x415152=_0x5801c2();while(!![]){try{const _0x4defa0=-parseInt(_0x1b2c26(0x175))/0x1+parseInt(_0x1b2c26(0x17e))/0x2+-parseInt(_0x1b2c26(0x17d))/0x3*(parseInt(_0x1b2c26(0x180))/0x4)+-parseInt(_0x1b2c26(0x177))/0x5*(parseInt(_0x1b2c26(0x17f))/0x6)+-parseInt(_0x1b2c26(0x16f))/0x7*(parseInt(_0x1b2c26(0x181))/0x8)+parseInt(_0x1b2c26(0x17a))/0x9+parseInt(_0x1b2c26(0x17b))/0xa;if(_0x4defa0===_0x282b2f)break;else _0x415152['push'](_0x415152['shift']());}catch(_0x9b3e76){_0x415152['push'](_0x415152['shift']());}}}(a99_0x58e8,0x2d0da));function a99_0x2af8(_0x3c90e6,_0x1468a3){_0x3c90e6=_0x3c90e6-0x16f;const _0x58e896=a99_0x58e8();let _0x2af834=_0x58e896[_0x3c90e6];return _0x2af834;}import a99_0x12c1fd 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(_0x2e94d7){const _0x514abf=a99_0x2af8,_0x8809e9=Date[_0x514abf(0x174)](),_0x4dc48c=a99_0x12c1fd[_0x514abf(0x17c)](process[_0x514abf(0x178)](),_0x2e94d7);try{logger[_0x514abf(0x170)](_0x514abf(0x173),_0x514abf(0x171),{'projectCode':_0x2e94d7,'registry':_0x514abf(0x172)}),await execa(resolveNpmBin(_0x514abf(0x179)),[_0x514abf(0x173),'--registry',_0x514abf(0x172)],{'cwd':_0x4dc48c});const _0x2a8eb4=Date[_0x514abf(0x174)]()-_0x8809e9;logger[_0x514abf(0x184)](_0x514abf(0x173),_0x514abf(0x183),_0x2a8eb4,{'projectCode':_0x2e94d7});}catch(_0xde2fd9){const _0xb53a42=Date[_0x514abf(0x174)]()-_0x8809e9;logger[_0x514abf(0x182)](_0x514abf(0x173),_0x514abf(0x176),{'projectCode':_0x2e94d7,'error':_0xde2fd9 instanceof Error?_0xde2fd9['message']:String(_0xde2fd9),'duration':_0xb53a42});throw _0xde2fd9;}return formatElapsed(_0x8809e9);}function a99_0x58e8(){const _0x150a03=['error','依赖安装完成','success','24122BqnWBY','info','开始安装依赖','https://registry.npmmirror.com','install','now','193239TCTeWP','依赖安装失败','895psNhwK','cwd','npm','1471014bEHeqi','5789500fJusRA','resolve','69cURQEE','128550isWeDi','5046UBNJeO','11852DOPMSD','488INOFRK'];a99_0x58e8=function(){return _0x150a03;};return a99_0x58e8();}
1
+ (function(_0x4e6091,_0x124cb5){const _0x287607=a99_0x6345,_0x34fdf6=_0x4e6091();while(!![]){try{const _0x1d76cd=parseInt(_0x287607(0x18b))/0x1*(-parseInt(_0x287607(0x189))/0x2)+-parseInt(_0x287607(0x198))/0x3*(parseInt(_0x287607(0x188))/0x4)+parseInt(_0x287607(0x186))/0x5+-parseInt(_0x287607(0x18d))/0x6*(parseInt(_0x287607(0x196))/0x7)+parseInt(_0x287607(0x185))/0x8+-parseInt(_0x287607(0x187))/0x9*(parseInt(_0x287607(0x190))/0xa)+-parseInt(_0x287607(0x197))/0xb*(-parseInt(_0x287607(0x195))/0xc);if(_0x1d76cd===_0x124cb5)break;else _0x34fdf6['push'](_0x34fdf6['shift']());}catch(_0x320161){_0x34fdf6['push'](_0x34fdf6['shift']());}}}(a99_0x5df1,0x91872));function a99_0x5df1(){const _0x2dccbd=['310190vzJaLj','90bbKlOk','12lRlYOL','366ZOIVcr','now','1251AiSxOj','error','383352TnaVOl','message','依赖安装失败','274210XCHwrJ','开始安装依赖','npm','resolve','https://registry.npmmirror.com','6655716jMPidg','126cxohvE','55jFCiUe','1079877HAnUpA','info','install','3951240hLJlTX'];a99_0x5df1=function(){return _0x2dccbd;};return a99_0x5df1();}import a99_0x237ba6 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a99_0x6345(_0x2f72c1,_0x3d789e){_0x2f72c1=_0x2f72c1-0x185;const _0x5df1a3=a99_0x5df1();let _0x6345d7=_0x5df1a3[_0x2f72c1];return _0x6345d7;}import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x6b8760){const _0x4815e8=a99_0x6345,_0xefeb56=Date['now'](),_0x525d30=a99_0x237ba6[_0x4815e8(0x193)](process['cwd'](),_0x6b8760);try{logger[_0x4815e8(0x199)]('install',_0x4815e8(0x191),{'projectCode':_0x6b8760,'registry':'https://registry.npmmirror.com'}),await execa(resolveNpmBin(_0x4815e8(0x192)),[_0x4815e8(0x19a),'--registry',_0x4815e8(0x194)],{'cwd':_0x525d30});const _0x598c1f=Date[_0x4815e8(0x18a)]()-_0xefeb56;logger['success'](_0x4815e8(0x19a),'依赖安装完成',_0x598c1f,{'projectCode':_0x6b8760});}catch(_0x16ce54){const _0x50b110=Date['now']()-_0xefeb56;logger[_0x4815e8(0x18c)]('install',_0x4815e8(0x18f),{'projectCode':_0x6b8760,'error':_0x16ce54 instanceof Error?_0x16ce54[_0x4815e8(0x18e)]:String(_0x16ce54),'duration':_0x50b110});throw _0x16ce54;}return formatElapsed(_0xefeb56);}
@@ -1 +1 @@
1
- const a100_0x1284f7=a100_0x2cf5;function a100_0x2cf5(_0x431f97,_0x8c67d6){_0x431f97=_0x431f97-0x11e;const _0x53fd70=a100_0x53fd();let _0x2cf5ad=_0x53fd70[_0x431f97];return _0x2cf5ad;}(function(_0x506da2,_0x4c6e3c){const _0x1a9623=a100_0x2cf5,_0x5badb9=_0x506da2();while(!![]){try{const _0x2e9afb=-parseInt(_0x1a9623(0x12c))/0x1*(parseInt(_0x1a9623(0x124))/0x2)+-parseInt(_0x1a9623(0x11f))/0x3+-parseInt(_0x1a9623(0x143))/0x4*(parseInt(_0x1a9623(0x138))/0x5)+-parseInt(_0x1a9623(0x135))/0x6*(parseInt(_0x1a9623(0x122))/0x7)+-parseInt(_0x1a9623(0x131))/0x8+-parseInt(_0x1a9623(0x121))/0x9*(-parseInt(_0x1a9623(0x127))/0xa)+parseInt(_0x1a9623(0x13d))/0xb;if(_0x2e9afb===_0x4c6e3c)break;else _0x5badb9['push'](_0x5badb9['shift']());}catch(_0x30cb32){_0x5badb9['push'](_0x5badb9['shift']());}}}(a100_0x53fd,0x959ad));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':a100_0x1284f7(0x12b),'type':a100_0x1284f7(0x12a),'description':a100_0x1284f7(0x12f)},{'name':a100_0x1284f7(0x125),'type':a100_0x1284f7(0x12a),'description':a100_0x1284f7(0x145)},{'name':a100_0x1284f7(0x130),'type':'boolean','description':a100_0x1284f7(0x137),'default':![]}],createFlags=[{'name':a100_0x1284f7(0x139),'type':a100_0x1284f7(0x12a),'description':a100_0x1284f7(0x120)},{'name':a100_0x1284f7(0x125),'type':a100_0x1284f7(0x12a),'description':a100_0x1284f7(0x145)},{'name':a100_0x1284f7(0x12b),'type':a100_0x1284f7(0x12a),'description':a100_0x1284f7(0x11e)}],upgradeFlags=[{'name':a100_0x1284f7(0x130),'type':a100_0x1284f7(0x13c),'description':a100_0x1284f7(0x128),'default':![]}];export const projectDefinitions=[{'service':'project','command':a100_0x1284f7(0x12d),'description':a100_0x1284f7(0x13f),'risk':a100_0x1284f7(0x132),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x21a6b9){const _0x42b755=a100_0x1284f7;return await initConfig({'appcode':_0x21a6b9[_0x42b755(0x126)](_0x42b755(0x12b))||undefined,'env':_0x21a6b9[_0x42b755(0x126)]('env')||undefined,'autoYes':_0x21a6b9['bool'](_0x42b755(0x130))}),{'ok':!![]};}},{'service':'project','command':a100_0x1284f7(0x141),'description':'Create\x20a\x20new\x20project','risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a100_0x1284f7(0x140),'description':a100_0x1284f7(0x142),'required':![]}],'flags':createFlags,async 'execute'(_0x3e5e1c){const _0x51b35b=a100_0x1284f7,{createApp:_0x320839}=await import(_0x51b35b(0x13e)),{createProjectNonInteractive:_0x2b2fdb}=await import('../../commands/project/create/non-interactive.js'),_0x54b0c4=_0x3e5e1c[_0x51b35b(0x126)]('name')[_0x51b35b(0x13b)]()||_0x3e5e1c[_0x51b35b(0x136)][0x0]?.[_0x51b35b(0x13b)](),_0x42a25c=_0x3e5e1c[_0x51b35b(0x126)](_0x51b35b(0x125))||undefined,_0x5be564=_0x3e5e1c[_0x51b35b(0x126)](_0x51b35b(0x12b))||undefined;if(_0x3e5e1c['nonInteractive']){if(!_0x54b0c4)throw CliErrors[_0x51b35b(0x12e)](_0x51b35b(0x129),_0x51b35b(0x144)+CLI_BIN_NAME+_0x51b35b(0x134));await _0x2b2fdb(_0x54b0c4,_0x42a25c,_0x5be564,_0x3e5e1c[_0x51b35b(0x13a)]);}else await _0x320839({'projectCode':_0x54b0c4,'appCode':_0x5be564,'env':_0x42a25c,'cookie':_0x3e5e1c[_0x51b35b(0x13a)]});return{'ok':!![]};}},{'service':'project','command':a100_0x1284f7(0x146),'description':a100_0x1284f7(0x133),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x15befb){const _0x5f1dc5=a100_0x1284f7;return await upgradeApp(_0x15befb['nonInteractive'],{'yes':_0x15befb[_0x5f1dc5(0x123)](_0x5f1dc5(0x130))}),{'ok':!![]};}}];function a100_0x53fd(){const _0xda6254=['str','20EVqYYk','Skip\x20confirmation\x20prompt','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','string','appcode','6WINnlA','init','validation','App\x20code\x20to\x20initialize','yes','2688040tpSyla','write','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','126FEyroS','args','Auto-confirm\x20prompts','49865aovLFx','name','cookie','trim','boolean','37413376fNwcqz','../../commands/project/create/main.js','Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','project-name','create','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','340IiWLSV','Usage:\x20','Target\x20environment','upgrade','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','66156kATCvU','Project\x20name','773595rUKkZC','178283BREZSB','bool','406578VjdgwN','env'];a100_0x53fd=function(){return _0xda6254;};return a100_0x53fd();}
1
+ const a100_0x587ad2=a100_0x2359;function a100_0x2359(_0x5d3f83,_0xf0e23c){_0x5d3f83=_0x5d3f83-0xaa;const _0x14d64c=a100_0x14d6();let _0x23596d=_0x14d64c[_0x5d3f83];return _0x23596d;}(function(_0x18887a,_0x3a7dd1){const _0x2400bd=a100_0x2359,_0x469cdc=_0x18887a();while(!![]){try{const _0x31a8fa=parseInt(_0x2400bd(0xbe))/0x1+-parseInt(_0x2400bd(0xbf))/0x2*(parseInt(_0x2400bd(0xb7))/0x3)+-parseInt(_0x2400bd(0xc4))/0x4+parseInt(_0x2400bd(0xca))/0x5+parseInt(_0x2400bd(0xb6))/0x6*(parseInt(_0x2400bd(0xb8))/0x7)+parseInt(_0x2400bd(0xc9))/0x8*(-parseInt(_0x2400bd(0xcd))/0x9)+-parseInt(_0x2400bd(0xaf))/0xa*(-parseInt(_0x2400bd(0xc6))/0xb);if(_0x31a8fa===_0x3a7dd1)break;else _0x469cdc['push'](_0x469cdc['shift']());}catch(_0x5702f4){_0x469cdc['push'](_0x469cdc['shift']());}}}(a100_0x14d6,0x28683));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':a100_0x587ad2(0xc8),'type':a100_0x587ad2(0xbc),'description':a100_0x587ad2(0xd5)},{'name':a100_0x587ad2(0xcb),'type':a100_0x587ad2(0xbc),'description':'Target\x20environment'},{'name':a100_0x587ad2(0xaa),'type':a100_0x587ad2(0xb5),'description':a100_0x587ad2(0xb1),'default':![]}],createFlags=[{'name':a100_0x587ad2(0xc0),'type':'string','description':a100_0x587ad2(0xc2)},{'name':a100_0x587ad2(0xcb),'type':a100_0x587ad2(0xbc),'description':a100_0x587ad2(0xd4)},{'name':a100_0x587ad2(0xc8),'type':'string','description':a100_0x587ad2(0xc3)}],upgradeFlags=[{'name':a100_0x587ad2(0xaa),'type':a100_0x587ad2(0xb5),'description':'Skip\x20confirmation\x20prompt','default':![]}];function a100_0x14d6(){const _0x37a009=['Target\x20environment','App\x20code\x20to\x20initialize','yes','validation','bool','project','../../commands/project/create/main.js','10uUwpQY','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','Auto-confirm\x20prompts','Create\x20a\x20new\x20project','Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','upgrade','boolean','138YCdaUa','1629JulgAX','54761JBjlkN','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','trim','string','write','175150Etrvvq','188ypvcjY','name','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Project\x20name','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','1081396KvQWNf','args','1631465HONgpm','str','appcode','8xAHyOd','728550cjHzlK','env','nonInteractive','1459854CCkTTH','project-name','create','init','../../commands/project/create/non-interactive.js','Usage:\x20','cookie'];a100_0x14d6=function(){return _0x37a009;};return a100_0x14d6();}export const projectDefinitions=[{'service':a100_0x587ad2(0xad),'command':a100_0x587ad2(0xd0),'description':a100_0x587ad2(0xb3),'risk':a100_0x587ad2(0xbd),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x4b062a){const _0x1cfa16=a100_0x587ad2;return await initConfig({'appcode':_0x4b062a[_0x1cfa16(0xc7)](_0x1cfa16(0xc8))||undefined,'env':_0x4b062a[_0x1cfa16(0xc7)](_0x1cfa16(0xcb))||undefined,'autoYes':_0x4b062a[_0x1cfa16(0xac)](_0x1cfa16(0xaa))}),{'ok':!![]};}},{'service':'project','command':a100_0x587ad2(0xcf),'description':a100_0x587ad2(0xb2),'risk':a100_0x587ad2(0xbd),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a100_0x587ad2(0xce),'description':a100_0x587ad2(0xc1),'required':![]}],'flags':createFlags,async 'execute'(_0x5c55a2){const _0x56c378=a100_0x587ad2,{createApp:_0xfecac0}=await import(_0x56c378(0xae)),{createProjectNonInteractive:_0x5cc642}=await import(_0x56c378(0xd1)),_0x27a783=_0x5c55a2[_0x56c378(0xc7)](_0x56c378(0xc0))[_0x56c378(0xbb)]()||_0x5c55a2[_0x56c378(0xc5)][0x0]?.[_0x56c378(0xbb)](),_0x1c191c=_0x5c55a2[_0x56c378(0xc7)](_0x56c378(0xcb))||undefined,_0x5da03a=_0x5c55a2[_0x56c378(0xc7)](_0x56c378(0xc8))||undefined;if(_0x5c55a2[_0x56c378(0xcc)]){if(!_0x27a783)throw CliErrors[_0x56c378(0xab)](_0x56c378(0xba),_0x56c378(0xd2)+CLI_BIN_NAME+_0x56c378(0xb0));await _0x5cc642(_0x27a783,_0x1c191c,_0x5da03a,_0x5c55a2[_0x56c378(0xd3)]);}else await _0xfecac0({'projectCode':_0x27a783,'appCode':_0x5da03a,'env':_0x1c191c,'cookie':_0x5c55a2[_0x56c378(0xd3)]});return{'ok':!![]};}},{'service':a100_0x587ad2(0xad),'command':a100_0x587ad2(0xb4),'description':a100_0x587ad2(0xb9),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x31da17){const _0x5658eb=a100_0x587ad2;return await upgradeApp(_0x31da17[_0x5658eb(0xcc)],{'yes':_0x31da17[_0x5658eb(0xac)](_0x5658eb(0xaa))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0x3c5d4d,_0x344c40){const _0x345f57=a101_0x3dad,_0x222247=_0x3c5d4d();while(!![]){try{const _0x3a1956=parseInt(_0x345f57(0xb1))/0x1+parseInt(_0x345f57(0xd6))/0x2+-parseInt(_0x345f57(0xb3))/0x3+-parseInt(_0x345f57(0xcb))/0x4*(parseInt(_0x345f57(0xb5))/0x5)+parseInt(_0x345f57(0xd1))/0x6+parseInt(_0x345f57(0xdd))/0x7*(-parseInt(_0x345f57(0xd3))/0x8)+parseInt(_0x345f57(0xc9))/0x9;if(_0x3a1956===_0x344c40)break;else _0x222247['push'](_0x222247['shift']());}catch(_0x4998f2){_0x222247['push'](_0x222247['shift']());}}}(a101_0x86ed,0x71914));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a101_0x86ed(){const _0x14e97=['Please\x20enter\x20App\x20Code:','.rabetbase.json','1129956MrdYvn','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','16LihQZx','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','1.0.0','1637448ELVExM','cwd','\x20api\x20pull\x27','env','setLogPath','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','defaultApp','2331322PTiJgV','apps','trim','utf8','\x20\x20appcode:\x20','\x20→\x20.rabetbase.json','cyan','yellow','555763qKKzcU','bold','1653234HRaItl','toLocaleString','575iNzefC','parse','初始化项目配置文件成功','App\x20Code\x20cannot\x20be\x20empty','init','green','✓\x20Upgraded\x20','\x20api\x20generate\x27\x20and\x20\x27','version','Invalid\x20App\x20Code','gray','log','join','\x20\x20Apps:\x20','keys','string','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','Upgrade\x20it\x20to\x20','\x20\x20Default:\x20','package.json','3757446GwzInb','.bak','10364XRTWvQ','info','appcode','app'];a101_0x86ed=function(){return _0x14e97;};return a101_0x86ed();}import a101_0x3334b0 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';function a101_0x3dad(_0x540e84,_0x547bb4){_0x540e84=_0x540e84-0xaa;const _0x86ed47=a101_0x86ed();let _0x3dadf0=_0x86ed47[_0x540e84];return _0x3dadf0;}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(_0x374b09){const _0x1130e7=a101_0x3dad,{appcode:_0x3a93fe,env:_0x2cf02e,autoYes:_0x452269}=_0x374b09,_0x144ff9=process[_0x1130e7(0xd7)]();if(getProjectConfigPath())throw new Error(_0x1130e7(0xdb));let _0x1a7e63;for(const _0x3a7713 of LEGACY_CONFIG_NAMES){const _0x21db4c=resolve(_0x144ff9,_0x3a7713);if(existsSync(_0x21db4c)){_0x1a7e63=_0x21db4c;break;}}if(_0x1a7e63){let _0x234ddb={};try{_0x234ddb=JSON['parse'](readFileSync(_0x1a7e63,'utf8'));}catch{}const _0x599332=basename(_0x1a7e63),_0x73dc6d=_0x234ddb?.['appcode']||_0x234ddb?.[_0x1130e7(0xce)];let _0x264ea1=_0x452269;!_0x452269&&(console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xb0)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a101_0x3334b0['bold'](_0x599332))),_0x73dc6d&&console['log'](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xad)+_0x73dc6d)),_0x264ea1=await confirm({'message':_0x1130e7(0xc6)+a101_0x3334b0[_0x1130e7(0xb2)](_0x1130e7(0xd0))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x264ea1){console[_0x1130e7(0xc0)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+'\x20project\x20init`\x20to\x20start\x20fresh.');return;}const _0x4c0edf=resolve(_0x144ff9,NEW_CONFIG_NAME),_0x16e914=getCliVersionFromPkg(),_0x2792aa=readRawConfig(),_0x38197f=_0x3a93fe||(typeof _0x234ddb?.[_0x1130e7(0xcd)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xcd)]:undefined)||(typeof _0x234ddb?.[_0x1130e7(0xce)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xce)]:undefined)||await askAppcode(),_0x167478=typeof _0x234ddb?.[_0x1130e7(0xd9)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xd9)]:typeof _0x2792aa[_0x1130e7(0xd9)]==='string'?_0x2792aa['env']:'production',_0x5c76ce=buildCanonicalProjectConfig({..._0x2792aa,..._0x234ddb},{'appCodes':[_0x38197f],'env':_0x167478,'metadata':{'version':_0x16e914,'migratedAt':new Date()[_0x1130e7(0xb4)](),'migratedFrom':_0x1a7e63}});writeConfigFile(_0x4c0edf,_0x5c76ce);const _0x2cce02=_0x1a7e63+_0x1130e7(0xca);renameSync(_0x1a7e63,_0x2cce02),logger[_0x1130e7(0xda)](_0x144ff9),logger['info'](_0x1130e7(0xb9),'从旧配置文件升级成功',{'from':_0x1a7e63,'to':_0x4c0edf,'appcode':_0x38197f,'env':_0x5c76ce['env']}),console[_0x1130e7(0xc0)](a101_0x3334b0['green'](_0x1130e7(0xbb)+_0x599332+_0x1130e7(0xae))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc2)+Object[_0x1130e7(0xc3)](_0x5c76ce['apps']||{})[_0x1130e7(0xc1)](',\x20'))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc7)+_0x5c76ce[_0x1130e7(0xdc)])),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xbf)](_0x1130e7(0xd2)+_0x599332+_0x1130e7(0xca)));return;}const _0x1af944=_0x3a93fe||await askAppcode(),_0x11d15d=resolve(_0x144ff9,NEW_CONFIG_NAME),_0x2efa5a=getCliVersionFromPkg(),_0x213701=readRawConfig(),_0xa2aa4e=typeof _0x213701['env']===_0x1130e7(0xc4)?_0x213701[_0x1130e7(0xd9)]:undefined,_0x29c609=buildCanonicalProjectConfig({},{'appCodes':[_0x1af944],'env':_0x2cf02e||_0xa2aa4e||'production','metadata':{'version':_0x2efa5a,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x11d15d,_0x29c609),logger[_0x1130e7(0xda)](_0x144ff9),logger[_0x1130e7(0xcc)]('init',_0x1130e7(0xb7),{'appcode':_0x1af944,'env':_0x29c609['env'],'version':_0x29c609[_0x1130e7(0xbd)],'configPath':_0x11d15d}),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xba)](_0x1130e7(0xd4))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc2)+Object[_0x1130e7(0xc3)](_0x29c609[_0x1130e7(0xaa)]||{})[_0x1130e7(0xc1)](',\x20'))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)]('\x20\x20Default:\x20'+_0x29c609[_0x1130e7(0xdc)])),console['log'](_0x1130e7(0xc5)+CLI_BIN_NAME+_0x1130e7(0xbc)+CLI_BIN_NAME+_0x1130e7(0xd8));}function askAppcode(){const _0x4add2d=a101_0x3dad;return input({'message':_0x4add2d(0xcf),'validate':_0xc9c17f=>{const _0x291951=_0x4add2d;if(!_0xc9c17f['trim']())return _0x291951(0xb8);const {valid:_0x3f5161,message:_0x21a6a9}=validateAppcode(_0xc9c17f[_0x291951(0xab)]());return _0x3f5161||_0x21a6a9||_0x291951(0xbe);}});}function getCliVersionFromPkg(){const _0x346383=a101_0x3dad;try{const _0x5ad944=fileURLToPath(import.meta.url),_0x3f71e5=resolve(dirname(_0x5ad944),'../..'),_0x2cdf19=JSON[_0x346383(0xb6)](readFileSync(resolve(_0x3f71e5,_0x346383(0xc8)),_0x346383(0xac)));return _0x2cdf19[_0x346383(0xbd)]||_0x346383(0xd5);}catch{return'1.0.0';}}
1
+ function a101_0x3e40(_0xb955ca,_0x3b86b0){_0xb955ca=_0xb955ca-0x14a;const _0x1afbdd=a101_0x1afb();let _0x3e4050=_0x1afbdd[_0xb955ca];return _0x3e4050;}(function(_0x26c64f,_0xfb80d8){const _0xd76b5f=a101_0x3e40,_0xf12be9=_0x26c64f();while(!![]){try{const _0x30dce5=-parseInt(_0xd76b5f(0x182))/0x1*(parseInt(_0xd76b5f(0x174))/0x2)+-parseInt(_0xd76b5f(0x15e))/0x3+parseInt(_0xd76b5f(0x15c))/0x4+parseInt(_0xd76b5f(0x17a))/0x5*(-parseInt(_0xd76b5f(0x171))/0x6)+-parseInt(_0xd76b5f(0x170))/0x7*(-parseInt(_0xd76b5f(0x156))/0x8)+-parseInt(_0xd76b5f(0x175))/0x9+-parseInt(_0xd76b5f(0x16b))/0xa*(-parseInt(_0xd76b5f(0x179))/0xb);if(_0x30dce5===_0xfb80d8)break;else _0xf12be9['push'](_0xf12be9['shift']());}catch(_0x1cab41){_0xf12be9['push'](_0xf12be9['shift']());}}}(a101_0x1afb,0xba68d));import{readFileSync,existsSync,renameSync}from'node:fs';function a101_0x1afb(){const _0xb8710=['gray','utf8','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','\x20\x20Default:\x20','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','package.json','\x20\x20appcode:\x20','✓\x20Upgraded\x20','408FIOBQd','keys','从旧配置文件升级成功','\x20project\x20init`\x20to\x20start\x20fresh.','cyan','setLogPath','2308464UzGQWB','production','3440844ueJrmO','parse','\x20api\x20pull\x27','\x20api\x20generate\x27\x20and\x20\x27','.rabetbase.json','?\x20(Old\x20file\x20→\x20*.bak)','appcode','app','apps','trim','defaultApp','env','1.0.0','14684060LFEpTD','Please\x20enter\x20App\x20Code:','Migration\x20cancelled.\x20Run\x20`','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','Upgrade\x20it\x20to\x20','206773RksPuJ','18NpgCEG','log','.bak','560984kZichA','12448944fDOKph','Invalid\x20App\x20Code','yellow','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','22fRDNCw','1007920feVqvO','bold','string','cwd','初始化项目配置文件成功','toLocaleString','green','App\x20Code\x20cannot\x20be\x20empty','4NlttWk','info','init','version','join'];a101_0x1afb=function(){return _0xb8710;};return a101_0x1afb();}import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a101_0xa70dfb 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(_0x333b13){const _0x1232ca=a101_0x3e40,{appcode:_0x43dd7b,env:_0xea3cdc,autoYes:_0x7da7f6}=_0x333b13,_0x15a731=process[_0x1232ca(0x17d)]();if(getProjectConfigPath())throw new Error(_0x1232ca(0x16e));let _0x4b7411;for(const _0x22912d of LEGACY_CONFIG_NAMES){const _0x1cdfb4=resolve(_0x15a731,_0x22912d);if(existsSync(_0x1cdfb4)){_0x4b7411=_0x1cdfb4;break;}}if(_0x4b7411){let _0x521063={};try{_0x521063=JSON[_0x1232ca(0x15f)](readFileSync(_0x4b7411,_0x1232ca(0x14f)));}catch{}const _0x5b5622=basename(_0x4b7411),_0x144b21=_0x521063?.[_0x1232ca(0x164)]||_0x521063?.[_0x1232ca(0x165)];let _0x55c673=_0x7da7f6;!_0x7da7f6&&(console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x177)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a101_0xa70dfb[_0x1232ca(0x17b)](_0x5b5622))),_0x144b21&&console[_0x1232ca(0x172)](a101_0xa70dfb['cyan'](_0x1232ca(0x154)+_0x144b21)),_0x55c673=await confirm({'message':_0x1232ca(0x16f)+a101_0xa70dfb[_0x1232ca(0x17b)](_0x1232ca(0x162))+_0x1232ca(0x163),'default':!![]}));if(!_0x55c673){console[_0x1232ca(0x172)](_0x1232ca(0x16d)+CLI_BIN_NAME+_0x1232ca(0x159));return;}const _0x39a826=resolve(_0x15a731,NEW_CONFIG_NAME),_0x26e6e3=getCliVersionFromPkg(),_0x205404=readRawConfig(),_0x129646=_0x43dd7b||(typeof _0x521063?.['appcode']===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x164)]:undefined)||(typeof _0x521063?.[_0x1232ca(0x165)]===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x165)]:undefined)||await askAppcode(),_0x5eab44=typeof _0x521063?.[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x169)]:typeof _0x205404[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x205404[_0x1232ca(0x169)]:_0x1232ca(0x15d),_0x48b978=buildCanonicalProjectConfig({..._0x205404,..._0x521063},{'appCodes':[_0x129646],'env':_0x5eab44,'metadata':{'version':_0x26e6e3,'migratedAt':new Date()[_0x1232ca(0x17f)](),'migratedFrom':_0x4b7411}});writeConfigFile(_0x39a826,_0x48b978);const _0x49ba0d=_0x4b7411+_0x1232ca(0x173);renameSync(_0x4b7411,_0x49ba0d),logger[_0x1232ca(0x15b)](_0x15a731),logger[_0x1232ca(0x14a)]('init',_0x1232ca(0x158),{'from':_0x4b7411,'to':_0x39a826,'appcode':_0x129646,'env':_0x48b978[_0x1232ca(0x169)]}),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x180)](_0x1232ca(0x155)+_0x5b5622+'\x20→\x20.rabetbase.json')),console[_0x1232ca(0x172)](a101_0xa70dfb['cyan']('\x20\x20Apps:\x20'+Object[_0x1232ca(0x157)](_0x48b978[_0x1232ca(0x166)]||{})['join'](',\x20'))),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x15a)](_0x1232ca(0x151)+_0x48b978[_0x1232ca(0x168)])),console['log'](a101_0xa70dfb[_0x1232ca(0x14e)](_0x1232ca(0x178)+_0x5b5622+_0x1232ca(0x173)));return;}const _0x3f9e84=_0x43dd7b||await askAppcode(),_0x3e382d=resolve(_0x15a731,NEW_CONFIG_NAME),_0x1fcccd=getCliVersionFromPkg(),_0x1e6e5b=readRawConfig(),_0x360d16=typeof _0x1e6e5b[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x1e6e5b[_0x1232ca(0x169)]:undefined,_0xfa87d6=buildCanonicalProjectConfig({},{'appCodes':[_0x3f9e84],'env':_0xea3cdc||_0x360d16||_0x1232ca(0x15d),'metadata':{'version':_0x1fcccd,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x3e382d,_0xfa87d6),logger['setLogPath'](_0x15a731),logger['info'](_0x1232ca(0x14b),_0x1232ca(0x17e),{'appcode':_0x3f9e84,'env':_0xfa87d6[_0x1232ca(0x169)],'version':_0xfa87d6[_0x1232ca(0x14c)],'configPath':_0x3e382d}),console[_0x1232ca(0x172)](a101_0xa70dfb['green'](_0x1232ca(0x150))),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x15a)]('\x20\x20Apps:\x20'+Object[_0x1232ca(0x157)](_0xfa87d6[_0x1232ca(0x166)]||{})[_0x1232ca(0x14d)](',\x20'))),console['log'](a101_0xa70dfb['cyan'](_0x1232ca(0x151)+_0xfa87d6['defaultApp'])),console[_0x1232ca(0x172)](_0x1232ca(0x152)+CLI_BIN_NAME+_0x1232ca(0x161)+CLI_BIN_NAME+_0x1232ca(0x160));}function askAppcode(){const _0x5d0e44=a101_0x3e40;return input({'message':_0x5d0e44(0x16c),'validate':_0xcb86ff=>{const _0x5c5574=_0x5d0e44;if(!_0xcb86ff[_0x5c5574(0x167)]())return _0x5c5574(0x181);const {valid:_0x46ed61,message:_0x545d75}=validateAppcode(_0xcb86ff[_0x5c5574(0x167)]());return _0x46ed61||_0x545d75||_0x5c5574(0x176);}});}function getCliVersionFromPkg(){const _0x5781ba=a101_0x3e40;try{const _0x54e0ea=fileURLToPath(import.meta.url),_0x421a29=resolve(dirname(_0x54e0ea),'../..'),_0x416104=JSON[_0x5781ba(0x15f)](readFileSync(resolve(_0x421a29,_0x5781ba(0x153)),_0x5781ba(0x14f)));return _0x416104[_0x5781ba(0x14c)]||'1.0.0';}catch{return _0x5781ba(0x16a);}}
@@ -1 +1 @@
1
- function a102_0x2c71(_0x229704,_0x237d78){_0x229704=_0x229704-0x9f;const _0x40abb4=a102_0x40ab();let _0x2c7164=_0x40abb4[_0x229704];return _0x2c7164;}(function(_0x431c11,_0x5dad34){const _0x276dc3=a102_0x2c71,_0xcdc6d4=_0x431c11();while(!![]){try{const _0x1f22e6=parseInt(_0x276dc3(0x11b))/0x1*(parseInt(_0x276dc3(0xd8))/0x2)+parseInt(_0x276dc3(0x115))/0x3+-parseInt(_0x276dc3(0x10d))/0x4*(-parseInt(_0x276dc3(0xf0))/0x5)+-parseInt(_0x276dc3(0x113))/0x6*(-parseInt(_0x276dc3(0xa8))/0x7)+-parseInt(_0x276dc3(0xe5))/0x8*(parseInt(_0x276dc3(0xaa))/0x9)+-parseInt(_0x276dc3(0xe6))/0xa+-parseInt(_0x276dc3(0xb8))/0xb*(parseInt(_0x276dc3(0xb2))/0xc);if(_0x1f22e6===_0x5dad34)break;else _0xcdc6d4['push'](_0xcdc6d4['shift']());}catch(_0x39b19b){_0xcdc6d4['push'](_0xcdc6d4['shift']());}}}(a102_0x40ab,0x4d8ed));import a102_0x35f9de from'chalk';import a102_0x323df2 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['filter'](_0x387db4=>_0x387db4!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x57ade9){const _0x3cade8=a102_0x2c71,_0x767b41=[];for(const _0x53ab74 of Object[_0x3cade8(0xe8)](CORE_IDE_CONFIGS)){if(_0x53ab74['files'])for(const _0x1f5f42 of _0x53ab74[_0x3cade8(0xd5)]){_0x767b41[_0x3cade8(0x9f)](resolve(_0x57ade9,_0x1f5f42[_0x3cade8(0xec)]));}}return _0x767b41;}function a102_0x40ab(){const _0x4d1956=['===\x20Upgrade\x20Summary\x20===','latest','done','===\x20Upgrade\x20Analysis\x20===','length','\x20removed\x20(','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','6041oZnfUl','skipped\x20(no\x20legacy\x20config)','47016xwRSbd','bold','lovrabet/rabetbase','cwd','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','cyan','already\x20exists\x20(will\x20merge)','[\x22@lovrabet/sdk\x22]:\x20','444EGnNlS','.claude/skills/lovrabet','Step\x206/7:\x20Installing\x20new\x20skill...','error','message','detail','150106xHlgZe','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','info','utf8','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20.lovrabet/','@lovrabet/sdk','removed\x20','oldMcpConfig','.bak','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x201/7:\x20Migrating\x20config...','\x20\x20\x20\x20\x20\x20\x20','MCP\x20config:','Remove\x20legacy\x20artifacts','\x20\x20Current\x20version\x20in\x20','Config\x20migration','no\x20legacy\x20config\x20found','\x20\x20bun\x20install','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20→\x20','Upgrade\x20completed\x20successfully!','some','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','status','devDependencies','args','join','configMigration','files','green','succeed','222038yNmieS','Upgrade\x20cancelled.','Step\x204/7:\x20Cleaning\x20MCP\x20config...','oldPath','object','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','log','Config\x20file:','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Legacy\x20artifacts:','includes','32yTjtSo','3383930BVGyRx','fail','values','Proceed\x20with\x20upgrade?','@lovrabet/dataset-mcp-server','keys','path','exit\x20','sdkUpgrade','white','270zLUAmD','entries','package.json','red','filter','\x20\x20Fields\x20to\x20migrate:\x20','.cursor/rules/lovrabet_rules.mdc','lovrabet/lovrabet-skill\x20removed','no\x20legacy\x20entry','\x20\x20#\x20or','Install\x20new\x20skill','inherit','@lovrabet/sdk:','string','Step\x201/7:\x20Config\x20migration\x20—\x20','isDirectory','Step\x205/7:\x20Removing\x20old\x20skill...','mcpServers','.lovrabet','\x20\x20npm\x20install','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','no\x20matching\x20entry\x20found','skipped','yellow','start','gray','\x20(backup:\x20','\x20removed','parse','35368OkbwAR','Upgrade\x20@lovrabet/sdk','hasNewConfig','needsSkillSwap','label','\x20from\x20','1818oxfQZj','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','995676jbogYf','none\x20found','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','failed','\x20\x20New\x20config\x20(.rabetbase.json):\x20','1qtngQo','push','Clean\x20MCP\x20config'];a102_0x40ab=function(){return _0x4d1956;};return a102_0x40ab();}function analyse(_0x30347a){const _0x181686=a102_0x2c71;let _0xb0070c=null;const _0x14f81c=resolve(_0x30347a,NEW_CONFIG_NAME),_0x509efd=existsSync(_0x14f81c);for(const _0x30c6f7 of LEGACY_CONFIG_NAMES){const _0x3f7230=resolve(_0x30347a,_0x30c6f7);if(existsSync(_0x3f7230)){const _0x25d8f2=readConfigFile(_0x3f7230),_0x3b6768=Object['keys'](_0x25d8f2)[_0x181686(0xf4)](_0x5025a4=>typeof _0x25d8f2[_0x5025a4]!=='undefined');_0xb0070c={'oldPath':_0x3f7230,'hasNewConfig':_0x509efd,'fields':_0x3b6768};break;}}const _0xd707a0=[],_0x3a966=resolve(_0x30347a,_0x181686(0x102));if(existsSync(_0x3a966))_0xd707a0[_0x181686(0x9f)](_0x3a966);const _0x9753fe=resolve(_0x30347a,_0x181686(0xf6));if(existsSync(_0x9753fe))_0xd707a0[_0x181686(0x9f)](_0x9753fe);const _0x2dee85=resolve(_0x30347a,_0x181686(0xb3));if(existsSync(_0x2dee85))_0xd707a0[_0x181686(0x9f)](_0x2dee85);for(const _0xd3fca2 of collectIdeSkillFiles(_0x30347a)){if(existsSync(_0xd3fca2))_0xd707a0[_0x181686(0x9f)](_0xd3fca2);}let _0x290269=null;const _0x1b734e=resolve(_0x30347a,'.cursor/mcp.json');if(existsSync(_0x1b734e))try{const _0x3420cf=JSON[_0x181686(0x10c)](readFileSync(_0x1b734e,'utf8'));if(_0x3420cf?.[_0x181686(0x101)]&&typeof _0x3420cf[_0x181686(0x101)]==='object'){const _0x4e0e7e=[];for(const [_0x280e4f,_0x2a87b2]of Object[_0x181686(0xf1)](_0x3420cf[_0x181686(0x101)])){const _0x4344d0=_0x2a87b2;_0x4344d0?.['args']&&Array['isArray'](_0x4344d0[_0x181686(0xd2)])&&_0x4344d0[_0x181686(0xd2)][_0x181686(0xce)](_0x4a1d20=>typeof _0x4a1d20===_0x181686(0xfd)&&_0x4a1d20['includes'](_0x181686(0xea)))&&_0x4e0e7e['push'](_0x280e4f);}_0x4e0e7e['length']>0x0&&(_0x290269={'path':_0x1b734e,'keys':_0x4e0e7e});}}catch{}const _0x21dfaf=_0xd707a0[_0x181686(0xa5)]>0x0||_0xb0070c!==null;let _0x23d2ea=null;const _0x2e8091=resolve(_0x30347a,_0x181686(0xf2));if(existsSync(_0x2e8091))try{const _0x2ea665=JSON['parse'](readFileSync(_0x2e8091,_0x181686(0xbb)));for(const _0x2da8d1 of['dependencies',_0x181686(0xd1)]){const _0x14a525=_0x2ea665?.[_0x2da8d1]?.[_0x181686(0xbe)];if(typeof _0x14a525===_0x181686(0xfd)){_0x14a525!==_0x181686(0xa2)&&(_0x23d2ea={'pkgPath':_0x2e8091,'currentVersion':_0x14a525,'field':_0x2da8d1});break;}}}catch{}return{'configMigration':_0xb0070c,'oldArtifacts':_0xd707a0,'oldMcpConfig':_0x290269,'needsSkillSwap':_0x21dfaf,'sdkUpgrade':_0x23d2ea};}function printReport(_0x1aba4c){const _0x4ba66b=a102_0x2c71,{configMigration:_0x28e353,oldArtifacts:_0x31ae52,oldMcpConfig:_0x4ed89e,needsSkillSwap:_0x58920a}=_0x1aba4c;console[_0x4ba66b(0xdf)](''),console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xab)](_0x4ba66b(0xa4))),console[_0x4ba66b(0xdf)]('');_0x28e353?(console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe0))+('\x20\x20'+a102_0x35f9de[_0x4ba66b(0x107)](_0x28e353['oldPath']))),console['log'](_0x4ba66b(0x11a)+(_0x28e353[_0x4ba66b(0x10f)]?a102_0x35f9de[_0x4ba66b(0xd6)](_0x4ba66b(0xb0)):a102_0x35f9de[_0x4ba66b(0x109)]('not\x20found\x20(will\x20create)'))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xf5)+_0x28e353['fields'][_0x4ba66b(0xd3)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe0))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)](_0x4ba66b(0xc9)));console['log']('');if(_0x31ae52[_0x4ba66b(0xa5)]>0x0){console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)]('Legacy\x20artifacts:'));for(const _0x1974dd of _0x31ae52){console[_0x4ba66b(0xdf)]('\x20\x20'+a102_0x35f9de[_0x4ba66b(0xf3)]('FOUND')+'\x20\x20'+_0x1974dd);}console['log']('\x20\x20Action:\x20delete');}else console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe3))+'\x20\x20'+a102_0x35f9de['gray'](_0x4ba66b(0x116)));console[_0x4ba66b(0xdf)]('');_0x4ed89e?(console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan'](_0x4ba66b(0xc5))+('\x20\x20'+a102_0x35f9de[_0x4ba66b(0x107)](_0x4ed89e['path'])+'\x20→\x20keys:\x20'+_0x4ed89e[_0x4ba66b(0xeb)]['join'](',\x20'))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xdd))):console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xc5))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)](_0x4ba66b(0xf8)));console[_0x4ba66b(0xdf)](''),console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x58920a?a102_0x35f9de[_0x4ba66b(0x107)]('needed'):a102_0x35f9de['green']('not\x20needed'))));_0x58920a&&console[_0x4ba66b(0xdf)](_0x4ba66b(0xb9)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x4ba66b(0xdf)]('');if(_0x1aba4c[_0x4ba66b(0xee)]){const {currentVersion:_0x14460d,field:_0x5e7cae,pkgPath:_0x5492a1}=_0x1aba4c[_0x4ba66b(0xee)];console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan'](_0x4ba66b(0xfc))+('\x20\x20'+a102_0x35f9de['yellow'](_0x5492a1))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xc7)+_0x5e7cae+':\x20'+a102_0x35f9de['yellow'](_0x14460d)+'\x20→\x20'+a102_0x35f9de['green'](_0x4ba66b(0xa2))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xe1));}else console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xfc))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x461370,_0x55b615){const _0x165c55=a102_0x2c71,{configMigration:_0x504598}=_0x461370;if(!_0x504598?.['oldPath'])return{'step':0x1,'label':_0x165c55(0xc8),'ok':!![],'detail':_0x165c55(0xa9)};const _0x1a9fe0=readConfigFile(_0x504598[_0x165c55(0xdb)]),_0x4a082d=resolve(_0x55b615,NEW_CONFIG_NAME),_0x1ccacb=_0x504598[_0x165c55(0x10f)]?readConfigFile(_0x4a082d):{};for(const [_0xd38e4f,_0x38b171]of Object[_0x165c55(0xf1)](_0x1a9fe0)){!(_0xd38e4f in _0x1ccacb)&&(_0x1ccacb[_0xd38e4f]=_0x38b171);}writeConfigFile(_0x4a082d,_0x1ccacb);const _0x446225=_0x504598[_0x165c55(0xdb)]+_0x165c55(0xc1);return renameSync(_0x504598[_0x165c55(0xdb)],_0x446225),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x504598[_0x165c55(0xdb)]+_0x165c55(0xcc)+_0x4a082d+_0x165c55(0x10a)+_0x446225+')'};}function execRemoveOldArtifacts(_0x246921){const _0x40cea2=a102_0x2c71,_0x4900b3=[];for(const _0x29b88b of _0x246921){try{if(!existsSync(_0x29b88b))continue;const _0x30cb64=tryStat(_0x29b88b);_0x30cb64?.[_0x40cea2(0xff)]()?rmSync(_0x29b88b,{'recursive':!![],'force':!![]}):unlinkSync(_0x29b88b);}catch(_0x2f7cf5){_0x4900b3[_0x40cea2(0x9f)](_0x29b88b+':\x20'+_0x2f7cf5[_0x40cea2(0xb6)]);}}return{'step':0x3,'label':_0x40cea2(0xc6),'ok':_0x4900b3[_0x40cea2(0xa5)]===0x0,'detail':_0x4900b3[_0x40cea2(0xa5)]>0x0?_0x246921[_0x40cea2(0xa5)]-_0x4900b3[_0x40cea2(0xa5)]+'/'+_0x246921[_0x40cea2(0xa5)]+_0x40cea2(0xa6)+_0x4900b3[_0x40cea2(0xd3)](';\x20')+')':_0x246921['length']+_0x40cea2(0x10b)};}function execCleanMcp(_0x8391fc){const _0x286137=a102_0x2c71;if(!_0x8391fc[_0x286137(0xc0)])return{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0x106)};try{const _0x3666b6=readFileSync(_0x8391fc['oldMcpConfig'][_0x286137(0xec)],_0x286137(0xbb)),_0x8b4301=JSON[_0x286137(0x10c)](_0x3666b6);if(_0x8b4301?.[_0x286137(0x101)]&&typeof _0x8b4301[_0x286137(0x101)]===_0x286137(0xdc)){const _0x423ce9=[];for(const [_0x1c7c6a,_0x2f7190]of Object[_0x286137(0xf1)](_0x8b4301[_0x286137(0x101)])){_0x2f7190?.[_0x286137(0xd2)]&&Array['isArray'](_0x2f7190[_0x286137(0xd2)])&&_0x2f7190[_0x286137(0xd2)][_0x286137(0xce)](_0x42c79b=>typeof _0x42c79b===_0x286137(0xfd)&&_0x42c79b[_0x286137(0xe4)](_0x286137(0xea)))&&_0x423ce9['push'](_0x1c7c6a);}for(const _0x17001 of _0x423ce9){delete _0x8b4301[_0x286137(0x101)][_0x17001];}return _0x423ce9[_0x286137(0xa5)]>0x0&&writeFileSync(_0x8391fc[_0x286137(0xc0)][_0x286137(0xec)],JSON['stringify'](_0x8b4301,null,0x2)+'\x0a',_0x286137(0xbb)),{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0xbf)+_0x423ce9[_0x286137(0xd3)](',\x20')+_0x286137(0x112)+_0x8391fc['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0x105)};}catch(_0x4a6224){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x4a6224[_0x286137(0xb6)]};}}function execSkillsRemove(_0x552bed,_0x1da9ac){const _0x5af56b=a102_0x2c71,_0x484240=runNpxSkillsRemove(_0x552bed,{'stdio':_0x5af56b(0xfb),'yes':_0x1da9ac});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x484240['ok'],'detail':_0x484240['ok']?_0x5af56b(0xf7):_0x484240[_0x5af56b(0xb5)]??'exit\x20'+_0x484240[_0x5af56b(0xd0)]};}function execSkillsAdd(_0x4692aa,_0x3aea7e){const _0x4f5faa=a102_0x2c71,_0x56d5f9=runNpxSkillsAddGlobal(_0x4692aa,_0x4f5faa(0xac),{'stdio':_0x4f5faa(0xfb),'yes':_0x3aea7e});return{'step':0x6,'label':_0x4f5faa(0xfa),'ok':_0x56d5f9['ok'],'detail':_0x56d5f9['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x56d5f9[_0x4f5faa(0xb5)]??_0x4f5faa(0xed)+_0x56d5f9['status']};}function execUpgradeSdk(_0x3cce7d){const _0x44a60e=a102_0x2c71;if(!_0x3cce7d[_0x44a60e(0xee)])return{'step':0x7,'label':_0x44a60e(0x10e),'ok':!![],'detail':_0x44a60e(0xe2)};const {pkgPath:_0x35870e,currentVersion:_0x50615d,field:_0x20f1c9}=_0x3cce7d[_0x44a60e(0xee)];try{const _0x9ba326=readFileSync(_0x35870e,_0x44a60e(0xbb)),_0x5bc4f7=JSON[_0x44a60e(0x10c)](_0x9ba326);return _0x5bc4f7[_0x20f1c9][_0x44a60e(0xbe)]=_0x44a60e(0xa2),writeFileSync(_0x35870e,JSON['stringify'](_0x5bc4f7,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x44a60e(0x10e),'ok':!![],'detail':_0x20f1c9+_0x44a60e(0xb1)+_0x50615d+'\x20→\x20latest'};}catch(_0x2468f9){return{'step':0x7,'label':_0x44a60e(0x10e),'ok':![],'detail':_0x2468f9['message']};}}function tryStat(_0x21224b){try{return statSync(_0x21224b);}catch{return undefined;}}function printSummary(_0x58f328){const _0x57e519=a102_0x2c71;console[_0x57e519(0xdf)](''),console[_0x57e519(0xdf)](a102_0x35f9de[_0x57e519(0xab)](_0x57e519(0xa1))),console['log']('');for(const _0x45cc09 of _0x58f328){const _0x5887f3=_0x45cc09['ok']?a102_0x35f9de[_0x57e519(0xd6)]('OK'):a102_0x35f9de[_0x57e519(0xf3)]('FAIL');console[_0x57e519(0xdf)]('\x20\x20'+_0x5887f3+'\x20\x20Step\x20'+_0x45cc09['step']+':\x20'+_0x45cc09[_0x57e519(0x111)]);if(_0x45cc09[_0x57e519(0xb7)])console[_0x57e519(0xdf)](_0x57e519(0xc4)+a102_0x35f9de['gray'](_0x45cc09[_0x57e519(0xb7)]));}console['log']('');}export async function upgradeApp(_0x5266a6,_0x3642c7){const _0x2d5fbb=a102_0x2c71,_0x330337=process[_0x2d5fbb(0xad)](),_0x3debfb=analyse(_0x330337),_0x472999=!_0x3debfb[_0x2d5fbb(0xd4)]&&_0x3debfb['oldArtifacts']['length']===0x0&&!_0x3debfb[_0x2d5fbb(0xc0)]&&!_0x3debfb[_0x2d5fbb(0x110)]&&!_0x3debfb[_0x2d5fbb(0xee)];if(_0x472999){console['log'](a102_0x35f9de[_0x2d5fbb(0xd6)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3debfb);const _0xe2fdc2=!!(_0x3642c7['yes']||_0x3642c7['Y']||_0x5266a6);if(!_0xe2fdc2)try{const _0x32dc9e=await askConfirm(_0x2d5fbb(0xe9));if(!_0x32dc9e){console['log'](a102_0x35f9de['gray'](_0x2d5fbb(0xd9)));return;}}catch(_0x509f73){if(_0x509f73?.[_0x2d5fbb(0xb6)]==='CANCEL'){console[_0x2d5fbb(0xdf)](a102_0x35f9de['gray'](_0x2d5fbb(0xd9)));return;}throw _0x509f73;}const _0x38c987=[],_0x3c73f8=a102_0x323df2({'text':_0x2d5fbb(0xc3),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x32b7d2=execConfigMigration(_0x3debfb,_0x330337);_0x38c987[_0x2d5fbb(0x9f)](_0x32b7d2),_0x3c73f8[_0x32b7d2['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0xfe)+(_0x32b7d2['detail']??(_0x32b7d2['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x1cc485=resolve(_0x330337,'.lovrabet'),_0x5b5afc=a102_0x323df2({'text':_0x2d5fbb(0xa7),'color':_0x2d5fbb(0xaf)})['start']();if(existsSync(_0x1cc485))try{rmSync(_0x1cc485,{'recursive':!![],'force':!![]}),_0x5b5afc[_0x2d5fbb(0xd7)](_0x2d5fbb(0xbc)),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':!![]});}catch(_0x2523da){_0x5b5afc[_0x2d5fbb(0xe7)](_0x2d5fbb(0x118)+_0x2523da[_0x2d5fbb(0xb6)]),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':![],'detail':_0x2523da['message']});}else _0x5b5afc[_0x2d5fbb(0xba)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':!![],'detail':'skipped'});const _0x267d30=a102_0x323df2({'text':_0x2d5fbb(0xde),'color':_0x2d5fbb(0xaf)})['start'](),_0x2e633b=execRemoveOldArtifacts(_0x3debfb['oldArtifacts']);_0x38c987['push'](_0x2e633b),_0x267d30[_0x2e633b['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0x117)+(_0x2e633b[_0x2d5fbb(0xb7)]??(_0x2e633b['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x2bd2bb=a102_0x323df2({'text':_0x2d5fbb(0xda),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x418b1e=execCleanMcp(_0x3debfb);_0x38c987[_0x2d5fbb(0x9f)](_0x418b1e),_0x2bd2bb[_0x418b1e['ok']?'succeed':_0x2d5fbb(0xe7)](_0x2d5fbb(0xc2)+(_0x418b1e['detail']??(_0x418b1e['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x189bf7=a102_0x323df2({'text':_0x2d5fbb(0x100),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x372045=execSkillsRemove(_0x330337,_0xe2fdc2);_0x38c987[_0x2d5fbb(0x9f)](_0x372045),_0x189bf7[_0x372045['ok']?_0x2d5fbb(0xd7):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x372045[_0x2d5fbb(0xb7)]??(_0x372045['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x322c3e=a102_0x323df2({'text':_0x2d5fbb(0xb4),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x1f109c=execSkillsAdd(_0x330337,_0xe2fdc2);_0x38c987[_0x2d5fbb(0x9f)](_0x1f109c),_0x322c3e[_0x1f109c['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0x114)+(_0x1f109c[_0x2d5fbb(0xb7)]??(_0x1f109c['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x1c1085=a102_0x323df2({'text':_0x2d5fbb(0xcf),'color':'cyan'})[_0x2d5fbb(0x108)](),_0x36f31c=execUpgradeSdk(_0x3debfb);_0x38c987['push'](_0x36f31c),_0x1c1085[_0x36f31c['ok']?'succeed':_0x2d5fbb(0xe7)](_0x2d5fbb(0xae)+(_0x36f31c[_0x2d5fbb(0xb7)]??(_0x36f31c['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119)))),printSummary(_0x38c987);const _0x29809c=_0x38c987[_0x2d5fbb(0xce)](_0x3f2aeb=>!_0x3f2aeb['ok']);_0x29809c?console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0x107)](_0x2d5fbb(0xcb))):console[_0x2d5fbb(0xdf)](a102_0x35f9de['green'](_0x2d5fbb(0xcd))),_0x36f31c['ok']&&_0x3debfb['sdkUpgrade']&&(console[_0x2d5fbb(0xdf)](''),console[_0x2d5fbb(0xdf)](a102_0x35f9de['bold'][_0x2d5fbb(0xaf)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xaf)](_0x2d5fbb(0x104))),console[_0x2d5fbb(0xdf)](''),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0x103))),console['log'](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0xf9))),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0xca))),console[_0x2d5fbb(0xdf)](''));}
1
+ const a102_0x17c204=a102_0x40ce;(function(_0x405185,_0x244253){const _0x1bc987=a102_0x40ce,_0x3316bd=_0x405185();while(!![]){try{const _0xc6c826=-parseInt(_0x1bc987(0x11c))/0x1*(parseInt(_0x1bc987(0x141))/0x2)+-parseInt(_0x1bc987(0x122))/0x3*(parseInt(_0x1bc987(0x13a))/0x4)+-parseInt(_0x1bc987(0x183))/0x5+-parseInt(_0x1bc987(0x170))/0x6+-parseInt(_0x1bc987(0x185))/0x7*(-parseInt(_0x1bc987(0x156))/0x8)+-parseInt(_0x1bc987(0x166))/0x9+parseInt(_0x1bc987(0x14d))/0xa;if(_0xc6c826===_0x244253)break;else _0x3316bd['push'](_0x3316bd['shift']());}catch(_0x410c1e){_0x3316bd['push'](_0x3316bd['shift']());}}}(a102_0x22a1,0x5f29f));import a102_0x21c6d6 from'chalk';import a102_0x3257de from'ora';function a102_0x40ce(_0x42ed83,_0x263e81){_0x42ed83=_0x42ed83-0x119;const _0x22a15d=a102_0x22a1();let _0x40ce17=_0x22a15d[_0x42ed83];return _0x40ce17;}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[a102_0x17c204(0x16e)](_0x568304=>_0x568304!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x27a965){const _0xd7da9b=a102_0x17c204,_0x523f19=[];for(const _0x30495f of Object[_0xd7da9b(0x198)](CORE_IDE_CONFIGS)){if(_0x30495f[_0xd7da9b(0x14b)])for(const _0x558c26 of _0x30495f[_0xd7da9b(0x14b)]){_0x523f19['push'](resolve(_0x27a965,_0x558c26['path']));}}return _0x523f19;}function analyse(_0x59b4ad){const _0x5466b5=a102_0x17c204;let _0x5c37d8=null;const _0xfd220=resolve(_0x59b4ad,NEW_CONFIG_NAME),_0xf49577=existsSync(_0xfd220);for(const _0x1d0303 of LEGACY_CONFIG_NAMES){const _0x9a86df=resolve(_0x59b4ad,_0x1d0303);if(existsSync(_0x9a86df)){const _0x549f19=readConfigFile(_0x9a86df),_0x1e8350=Object[_0x5466b5(0x133)](_0x549f19)[_0x5466b5(0x16e)](_0x22ac44=>typeof _0x549f19[_0x22ac44]!=='undefined');_0x5c37d8={'oldPath':_0x9a86df,'hasNewConfig':_0xf49577,'fields':_0x1e8350};break;}}const _0x3a0b99=[],_0x300bb5=resolve(_0x59b4ad,_0x5466b5(0x173));if(existsSync(_0x300bb5))_0x3a0b99['push'](_0x300bb5);const _0x2672e8=resolve(_0x59b4ad,_0x5466b5(0x153));if(existsSync(_0x2672e8))_0x3a0b99[_0x5466b5(0x18f)](_0x2672e8);const _0x535f37=resolve(_0x59b4ad,_0x5466b5(0x17b));if(existsSync(_0x535f37))_0x3a0b99['push'](_0x535f37);for(const _0x1498bd of collectIdeSkillFiles(_0x59b4ad)){if(existsSync(_0x1498bd))_0x3a0b99['push'](_0x1498bd);}let _0x37bfee=null;const _0x5e95e8=resolve(_0x59b4ad,'.cursor/mcp.json');if(existsSync(_0x5e95e8))try{const _0x32df31=JSON[_0x5466b5(0x13b)](readFileSync(_0x5e95e8,_0x5466b5(0x12f)));if(_0x32df31?.[_0x5466b5(0x19d)]&&typeof _0x32df31[_0x5466b5(0x19d)]===_0x5466b5(0x164)){const _0x4751f3=[];for(const [_0x547d3e,_0x900e0]of Object[_0x5466b5(0x123)](_0x32df31[_0x5466b5(0x19d)])){const _0x1f5df5=_0x900e0;_0x1f5df5?.[_0x5466b5(0x13e)]&&Array[_0x5466b5(0x14e)](_0x1f5df5[_0x5466b5(0x13e)])&&_0x1f5df5[_0x5466b5(0x13e)][_0x5466b5(0x14f)](_0x4347b2=>typeof _0x4347b2===_0x5466b5(0x197)&&_0x4347b2[_0x5466b5(0x160)]('@lovrabet/dataset-mcp-server'))&&_0x4751f3[_0x5466b5(0x18f)](_0x547d3e);}_0x4751f3[_0x5466b5(0x145)]>0x0&&(_0x37bfee={'path':_0x5e95e8,'keys':_0x4751f3});}}catch{}const _0x41836b=_0x3a0b99[_0x5466b5(0x145)]>0x0||_0x5c37d8!==null;let _0x36b690=null;const _0x51b83f=resolve(_0x59b4ad,_0x5466b5(0x140));if(existsSync(_0x51b83f))try{const _0x42a64b=JSON['parse'](readFileSync(_0x51b83f,_0x5466b5(0x12f)));for(const _0x34cdeb of['dependencies',_0x5466b5(0x11e)]){const _0x15f528=_0x42a64b?.[_0x34cdeb]?.[_0x5466b5(0x186)];if(typeof _0x15f528===_0x5466b5(0x197)){_0x15f528!==_0x5466b5(0x12d)&&(_0x36b690={'pkgPath':_0x51b83f,'currentVersion':_0x15f528,'field':_0x34cdeb});break;}}}catch{}return{'configMigration':_0x5c37d8,'oldArtifacts':_0x3a0b99,'oldMcpConfig':_0x37bfee,'needsSkillSwap':_0x41836b,'sdkUpgrade':_0x36b690};}function printReport(_0x244a75){const _0x29fe89=a102_0x17c204,{configMigration:_0x44d273,oldArtifacts:_0x380aee,oldMcpConfig:_0x54c176,needsSkillSwap:_0x29af28}=_0x244a75;console['log'](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x169)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x29fe89(0x19b)]('');_0x44d273?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('Config\x20file:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x44d273[_0x29fe89(0x124)]))),console[_0x29fe89(0x19b)](_0x29fe89(0x165)+(_0x44d273[_0x29fe89(0x15e)]?a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x180)):a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x17f)))),console[_0x29fe89(0x19b)](_0x29fe89(0x144)+_0x44d273[_0x29fe89(0x18e)][_0x29fe89(0x13c)](',\x20')),console[_0x29fe89(0x19b)](_0x29fe89(0x189))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x14c))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)]('no\x20legacy\x20config\x20found'));console[_0x29fe89(0x19b)]('');if(_0x380aee['length']>0x0){console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x132)));for(const _0x36ae63 of _0x380aee){console['log']('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x168)](_0x29fe89(0x181))+'\x20\x20'+_0x36ae63);}console['log'](_0x29fe89(0x196));}else console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('Legacy\x20artifacts:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x16f)));console['log']('');_0x54c176?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+('\x20\x20'+a102_0x21c6d6['yellow'](_0x54c176[_0x29fe89(0x152)])+_0x29fe89(0x167)+_0x54c176['keys'][_0x29fe89(0x13c)](',\x20'))),console[_0x29fe89(0x19b)](_0x29fe89(0x19c))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x190)));console[_0x29fe89(0x19b)](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x199))+('\x20\x20'+(_0x29af28?a102_0x21c6d6[_0x29fe89(0x193)](_0x29fe89(0x18d)):a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x15d)))));_0x29af28&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x29fe89(0x19b)]('');if(_0x244a75['sdkUpgrade']){const {currentVersion:_0x543a84,field:_0x567fd0,pkgPath:_0x3ec74a}=_0x244a75[_0x29fe89(0x192)];console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('@lovrabet/sdk:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x3ec74a))),console[_0x29fe89(0x19b)](_0x29fe89(0x194)+_0x567fd0+':\x20'+a102_0x21c6d6['yellow'](_0x543a84)+_0x29fe89(0x179)+a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x12d))),console[_0x29fe89(0x19b)](_0x29fe89(0x161));}else console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x16d))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x142)));console[_0x29fe89(0x19b)]('');}function execConfigMigration(_0x5b41a7,_0x8609af){const _0x52d8e9=a102_0x17c204,{configMigration:_0x524fd2}=_0x5b41a7;if(!_0x524fd2?.[_0x52d8e9(0x124)])return{'step':0x1,'label':_0x52d8e9(0x162),'ok':!![],'detail':_0x52d8e9(0x16c)};const _0x2c436d=readConfigFile(_0x524fd2[_0x52d8e9(0x124)]),_0x20c607=resolve(_0x8609af,NEW_CONFIG_NAME),_0x1c30cf=_0x524fd2[_0x52d8e9(0x15e)]?readConfigFile(_0x20c607):{};for(const [_0x434971,_0x32186a]of Object[_0x52d8e9(0x123)](_0x2c436d)){!(_0x434971 in _0x1c30cf)&&(_0x1c30cf[_0x434971]=_0x32186a);}writeConfigFile(_0x20c607,_0x1c30cf);const _0xaa420e=_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x13f);return renameSync(_0x524fd2[_0x52d8e9(0x124)],_0xaa420e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x179)+_0x20c607+'\x20(backup:\x20'+_0xaa420e+')'};}function execRemoveOldArtifacts(_0x17d906){const _0xe593d5=a102_0x17c204,_0x17af72=[];for(const _0x363c0b of _0x17d906){try{if(!existsSync(_0x363c0b))continue;const _0x27fdc4=tryStat(_0x363c0b);_0x27fdc4?.['isDirectory']()?rmSync(_0x363c0b,{'recursive':!![],'force':!![]}):unlinkSync(_0x363c0b);}catch(_0x26122c){_0x17af72[_0xe593d5(0x18f)](_0x363c0b+':\x20'+_0x26122c[_0xe593d5(0x136)]);}}return{'step':0x3,'label':_0xe593d5(0x12a),'ok':_0x17af72[_0xe593d5(0x145)]===0x0,'detail':_0x17af72['length']>0x0?_0x17d906[_0xe593d5(0x145)]-_0x17af72[_0xe593d5(0x145)]+'/'+_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x139)+_0x17af72[_0xe593d5(0x13c)](';\x20')+')':_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x16b)};}function execCleanMcp(_0x3d8815){const _0x5eecda=a102_0x17c204;if(!_0x3d8815['oldMcpConfig'])return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x148)};try{const _0x5ad2e0=readFileSync(_0x3d8815['oldMcpConfig'][_0x5eecda(0x152)],_0x5eecda(0x12f)),_0xcb120d=JSON[_0x5eecda(0x13b)](_0x5ad2e0);if(_0xcb120d?.[_0x5eecda(0x19d)]&&typeof _0xcb120d[_0x5eecda(0x19d)]==='object'){const _0x5d7244=[];for(const [_0x433c74,_0x30b6c4]of Object[_0x5eecda(0x123)](_0xcb120d[_0x5eecda(0x19d)])){_0x30b6c4?.[_0x5eecda(0x13e)]&&Array[_0x5eecda(0x14e)](_0x30b6c4[_0x5eecda(0x13e)])&&_0x30b6c4[_0x5eecda(0x13e)][_0x5eecda(0x14f)](_0x378c47=>typeof _0x378c47===_0x5eecda(0x197)&&_0x378c47[_0x5eecda(0x160)](_0x5eecda(0x15b)))&&_0x5d7244[_0x5eecda(0x18f)](_0x433c74);}for(const _0x1201ad of _0x5d7244){delete _0xcb120d['mcpServers'][_0x1201ad];}return _0x5d7244['length']>0x0&&writeFileSync(_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)],JSON[_0x5eecda(0x11f)](_0xcb120d,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x11b)+_0x5d7244[_0x5eecda(0x13c)](',\x20')+_0x5eecda(0x138)+_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)]};}return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2f5fbc){return{'step':0x4,'label':_0x5eecda(0x15f),'ok':![],'detail':_0x2f5fbc[_0x5eecda(0x136)]};}}function execSkillsRemove(_0x2e6d8f,_0x5d0f3c){const _0x582cd7=a102_0x17c204,_0x4ea073=runNpxSkillsRemove(_0x2e6d8f,{'stdio':_0x582cd7(0x131),'yes':_0x5d0f3c});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x4ea073['ok'],'detail':_0x4ea073['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4ea073['error']??_0x582cd7(0x12e)+_0x4ea073[_0x582cd7(0x176)]};}function a102_0x22a1(){const _0x138839=['Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','not\x20found\x20(will\x20create)','already\x20exists\x20(will\x20merge)','FOUND','Upgrade\x20completed\x20successfully!','1586980eQVQvz','Upgrade\x20@lovrabet/sdk','7aJGGiZ','@lovrabet/sdk','oldMcpConfig','label','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','failed','white','needed','fields','push','no\x20legacy\x20entry','info','sdkUpgrade','yellow','\x20\x20Current\x20version\x20in\x20','\x20\x20Step\x20','\x20\x20Action:\x20delete','string','values','Skill\x20swap:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','log','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','mcpServers','Proceed\x20with\x20upgrade?','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','removed\x20','255261riLqLO','\x20\x20#\x20or','devDependencies','stringify','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Remove\x20.lovrabet/','352722WWwvpm','entries','oldPath','done','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20npm\x20install','green','Install\x20new\x20skill','Remove\x20legacy\x20artifacts','cwd','lovrabet/rabetbase\x20installed\x20globally','latest','exit\x20','utf8','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','inherit','Legacy\x20artifacts:','keys','oldArtifacts','succeed','message','cyan','\x20from\x20','\x20removed\x20(','24isoLdc','parse','join','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','args','.bak','package.json','2CXihOx','not\x20found\x20or\x20already\x20at\x20latest','yes','\x20\x20Fields\x20to\x20migrate:\x20','length','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','skipped','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20→\x20latest','files','Config\x20file:','17857730TFrmmk','isArray','some','start','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','path','.cursor/rules/lovrabet_rules.mdc','configMigration','Step\x205/7:\x20Removing\x20old\x20skill...','6181784xZaiaZ','fail','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','detail','lovrabet/rabetbase','@lovrabet/dataset-mcp-server','gray','not\x20needed','hasNewConfig','Clean\x20MCP\x20config','includes','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Config\x20migration','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','object','\x20\x20New\x20config\x20(.rabetbase.json):\x20','5186340lCcVWW','\x20→\x20keys:\x20','red','bold','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20removed','skipped\x20(no\x20legacy\x20config)','@lovrabet/sdk:','filter','none\x20found','1886064BQDJRt','Step\x201/7:\x20Config\x20migration\x20—\x20','Upgrade\x20cancelled.','.lovrabet','error','Step\x201/7:\x20Migrating\x20config...','status','\x20\x20bun\x20install','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20→\x20','CANCEL','.claude/skills/lovrabet'];a102_0x22a1=function(){return _0x138839;};return a102_0x22a1();}function execSkillsAdd(_0xcef24f,_0x2ecafb){const _0x456967=a102_0x17c204,_0xaa2f05=runNpxSkillsAddGlobal(_0xcef24f,_0x456967(0x15a),{'stdio':_0x456967(0x131),'yes':_0x2ecafb});return{'step':0x6,'label':_0x456967(0x129),'ok':_0xaa2f05['ok'],'detail':_0xaa2f05['ok']?_0x456967(0x12c):_0xaa2f05[_0x456967(0x174)]??_0x456967(0x12e)+_0xaa2f05[_0x456967(0x176)]};}function execUpgradeSdk(_0x3bad58){const _0xd20bec=a102_0x17c204;if(!_0x3bad58['sdkUpgrade'])return{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0xd20bec(0x16a)};const {pkgPath:_0x471060,currentVersion:_0x209d3c,field:_0x4b1516}=_0x3bad58[_0xd20bec(0x192)];try{const _0x483f3a=readFileSync(_0x471060,_0xd20bec(0x12f)),_0x8c54df=JSON[_0xd20bec(0x13b)](_0x483f3a);return _0x8c54df[_0x4b1516][_0xd20bec(0x186)]=_0xd20bec(0x12d),writeFileSync(_0x471060,JSON[_0xd20bec(0x11f)](_0x8c54df,null,0x2)+'\x0a',_0xd20bec(0x12f)),{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0x4b1516+_0xd20bec(0x126)+_0x209d3c+_0xd20bec(0x14a)};}catch(_0x200209){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x200209['message']};}}function tryStat(_0x2c76cc){try{return statSync(_0x2c76cc);}catch{return undefined;}}function printSummary(_0x251015){const _0x411978=a102_0x17c204;console[_0x411978(0x19b)](''),console[_0x411978(0x19b)](a102_0x21c6d6['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x411978(0x19b)]('');for(const _0xa23b68 of _0x251015){const _0x6a43af=_0xa23b68['ok']?a102_0x21c6d6[_0x411978(0x128)]('OK'):a102_0x21c6d6[_0x411978(0x168)]('FAIL');console[_0x411978(0x19b)]('\x20\x20'+_0x6a43af+_0x411978(0x195)+_0xa23b68['step']+':\x20'+_0xa23b68[_0x411978(0x188)]);if(_0xa23b68[_0x411978(0x159)])console[_0x411978(0x19b)](_0x411978(0x147)+a102_0x21c6d6[_0x411978(0x15c)](_0xa23b68[_0x411978(0x159)]));}console[_0x411978(0x19b)]('');}export async function upgradeApp(_0x214841,_0x4049a2){const _0x36324c=a102_0x17c204,_0xf408a8=process[_0x36324c(0x12b)](),_0x3a0a2f=analyse(_0xf408a8),_0x27684f=!_0x3a0a2f[_0x36324c(0x154)]&&_0x3a0a2f[_0x36324c(0x134)][_0x36324c(0x145)]===0x0&&!_0x3a0a2f[_0x36324c(0x187)]&&!_0x3a0a2f['needsSkillSwap']&&!_0x3a0a2f[_0x36324c(0x192)];if(_0x27684f){console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x128)](_0x36324c(0x120)));return;}printReport(_0x3a0a2f);const _0x3c13c7=!!(_0x4049a2[_0x36324c(0x143)]||_0x4049a2['Y']||_0x214841);if(!_0x3c13c7)try{const _0x472879=await askConfirm(_0x36324c(0x119));if(!_0x472879){console['log'](a102_0x21c6d6[_0x36324c(0x15c)]('Upgrade\x20cancelled.'));return;}}catch(_0x2f4110){if(_0x2f4110?.[_0x36324c(0x136)]===_0x36324c(0x17a)){console['log'](a102_0x21c6d6[_0x36324c(0x15c)](_0x36324c(0x172)));return;}throw _0x2f4110;}const _0x1ca150=[],_0x397972=a102_0x3257de({'text':_0x36324c(0x175),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0xc785d1=execConfigMigration(_0x3a0a2f,_0xf408a8);_0x1ca150[_0x36324c(0x18f)](_0xc785d1),_0x397972[_0xc785d1['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x171)+(_0xc785d1['detail']??(_0xc785d1['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0xa0fcce=resolve(_0xf408a8,'.lovrabet'),_0x13c1d3=a102_0x3257de({'text':_0x36324c(0x163),'color':_0x36324c(0x137)})['start']();if(existsSync(_0xa0fcce))try{rmSync(_0xa0fcce,{'recursive':!![],'force':!![]}),_0x13c1d3[_0x36324c(0x135)](_0x36324c(0x18a)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':!![]});}catch(_0x2fd7c2){_0x13c1d3[_0x36324c(0x157)](_0x36324c(0x151)+_0x2fd7c2[_0x36324c(0x136)]),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':![],'detail':_0x2fd7c2[_0x36324c(0x136)]});}else _0x13c1d3[_0x36324c(0x191)](_0x36324c(0x13d)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x36324c(0x148)});const _0x1284ce=a102_0x3257de({'text':_0x36324c(0x149),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5acc74=execRemoveOldArtifacts(_0x3a0a2f['oldArtifacts']);_0x1ca150[_0x36324c(0x18f)](_0x5acc74),_0x1284ce[_0x5acc74['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x146)+(_0x5acc74['detail']??(_0x5acc74['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x259dbd=a102_0x3257de({'text':_0x36324c(0x19a),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x3abf61=execCleanMcp(_0x3a0a2f);_0x1ca150['push'](_0x3abf61),_0x259dbd[_0x3abf61['ok']?'succeed':_0x36324c(0x157)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x3abf61[_0x36324c(0x159)]??(_0x3abf61['ok']?'done':_0x36324c(0x18b))));const _0x49abcf=a102_0x3257de({'text':_0x36324c(0x155),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1e026b=execSkillsRemove(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1e026b),_0x49abcf[_0x1e026b['ok']?'succeed':_0x36324c(0x157)](_0x36324c(0x11a)+(_0x1e026b[_0x36324c(0x159)]??(_0x1e026b['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x279281=a102_0x3257de({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1b1ca7=execSkillsAdd(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1b1ca7),_0x279281[_0x1b1ca7['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x158)+(_0x1b1ca7['detail']??(_0x1b1ca7['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x57747d=a102_0x3257de({'text':_0x36324c(0x17d),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5cefaf=execUpgradeSdk(_0x3a0a2f);_0x1ca150[_0x36324c(0x18f)](_0x5cefaf),_0x57747d[_0x5cefaf['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x178)+(_0x5cefaf[_0x36324c(0x159)]??(_0x5cefaf['ok']?_0x36324c(0x125):_0x36324c(0x18b)))),printSummary(_0x1ca150);const _0x805f90=_0x1ca150['some'](_0x4c5d95=>!_0x4c5d95['ok']);_0x805f90?console['log'](a102_0x21c6d6[_0x36324c(0x193)](_0x36324c(0x130))):console[_0x36324c(0x19b)](a102_0x21c6d6['green'](_0x36324c(0x182))),_0x5cefaf['ok']&&_0x3a0a2f[_0x36324c(0x192)]&&(console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x169)][_0x36324c(0x137)](_0x36324c(0x17e))),console['log'](a102_0x21c6d6['cyan'](_0x36324c(0x17c))),console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6['white'](_0x36324c(0x127))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x11d))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x177))),console[_0x36324c(0x19b)](''));}
@@ -1 +1 @@
1
- const a103_0x2e20e5=a103_0x59c6;(function(_0xabeae3,_0x46b742){const _0x4649ca=a103_0x59c6,_0x2ae557=_0xabeae3();while(!![]){try{const _0x29e31c=parseInt(_0x4649ca(0x19f))/0x1*(parseInt(_0x4649ca(0x198))/0x2)+-parseInt(_0x4649ca(0x187))/0x3*(parseInt(_0x4649ca(0x18f))/0x4)+-parseInt(_0x4649ca(0x16f))/0x5*(parseInt(_0x4649ca(0x182))/0x6)+parseInt(_0x4649ca(0x190))/0x7+-parseInt(_0x4649ca(0x188))/0x8*(parseInt(_0x4649ca(0x193))/0x9)+-parseInt(_0x4649ca(0x17c))/0xa*(-parseInt(_0x4649ca(0x181))/0xb)+-parseInt(_0x4649ca(0x19e))/0xc*(parseInt(_0x4649ca(0x19c))/0xd);if(_0x29e31c===_0x46b742)break;else _0x2ae557['push'](_0x2ae557['shift']());}catch(_0x53f514){_0x2ae557['push'](_0x2ae557['shift']());}}}(a103_0xfe42,0x7514c));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{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(_0x1388b6){const _0x49c201=a103_0x59c6;for(const _0x4f6961 of _0x1388b6){definitions[_0x49c201(0x186)](_0x4f6961['service']+':'+_0x4f6961[_0x49c201(0x191)],_0x4f6961);let _0x450d56=serviceGroups[_0x49c201(0x171)](_0x4f6961[_0x49c201(0x17b)]);!_0x450d56&&(_0x450d56=[],serviceGroups[_0x49c201(0x186)](_0x4f6961[_0x49c201(0x17b)],_0x450d56)),_0x450d56[_0x49c201(0x172)](_0x4f6961);}}function registerDeclarativeService(_0x43d154,_0x55c66d,_0x4d64d1){const _0x48755f=a103_0x59c6;registerDefinitions(_0x55c66d);_0x4d64d1?.[_0x48755f(0x177)]&&registerDefinitions([_0x4d64d1[_0x48755f(0x177)]]);const _0x118a81=_0x1dec61=>_0x1dec61==='read'?'':_0x1dec61==='write'?'\x20\x20[write]':_0x48755f(0x17d),_0x2d7528={'service':_0x55c66d[0x0][_0x48755f(0x17b)],'label':_0x43d154,'commands':_0x55c66d['map'](_0x122d88=>({'command':_0x122d88[_0x48755f(0x191)],'description':_0x122d88[_0x48755f(0x183)],'tag':_0x118a81(_0x122d88[_0x48755f(0x195)])})),'declarative':!![],'defaultCommand':_0x4d64d1?.[_0x48755f(0x19b)]??(_0x4d64d1?.['isSingleCommand']?_0x55c66d[0x0][_0x48755f(0x191)]:undefined),'wildcardDef':_0x4d64d1?.[_0x48755f(0x177)],'isSingleCommand':_0x4d64d1?.['isSingleCommand']};serviceRegistry[_0x48755f(0x172)](_0x2d7528),serviceByName[_0x48755f(0x186)](_0x2d7528[_0x48755f(0x17b)],_0x2d7528);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a103_0x2e20e5(0x18c),projectDefinitions),registerDeclarativeService(a103_0x2e20e5(0x185),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a103_0x2e20e5(0x16d)]-0x1];last[a103_0x2e20e5(0x189)]=[{'command':a103_0x2e20e5(0x180),'description':a103_0x2e20e5(0x196),'tag':''}];}function a103_0x59c6(_0x1fc53b,_0x444037){_0x1fc53b=_0x1fc53b-0x16d;const _0xfe4232=a103_0xfe42();let _0x59c690=_0xfe4232[_0x1fc53b];return _0x59c690;}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a103_0x2e20e5(0x17e)}),registerDeclarativeService(a103_0x2e20e5(0x175),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x2e20e5(0x199),configDefinitions),registerDeclarativeService(a103_0x2e20e5(0x17f),apiDefinitions),registerDeclarativeService(a103_0x2e20e5(0x18a),menuDefinitions),registerDeclarativeService(a103_0x2e20e5(0x184),dbDefinitions),registerDeclarativeService(a103_0x2e20e5(0x173),datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a103_0x2e20e5(0x19a),dataDefinitions),registerDeclarativeService(a103_0x2e20e5(0x19d),bffDefinitions),registerDeclarativeService(a103_0x2e20e5(0x18e),sqlDefinitions),registerDeclarativeService(a103_0x2e20e5(0x174),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a103_0x2e20e5(0x194),logsDefinitions,{'defaultCommand':a103_0x2e20e5(0x197)});export const deprecatedAliases={'create':{'service':'project','command':a103_0x2e20e5(0x179)},'start':{'service':'run','command':'start'},'build':{'service':a103_0x2e20e5(0x16e),'command':'build'},'preview':{'service':a103_0x2e20e5(0x16e),'command':a103_0x2e20e5(0x192)},'logout':{'service':a103_0x2e20e5(0x18d),'command':a103_0x2e20e5(0x178)},'skills':{'service':a103_0x2e20e5(0x176),'command':a103_0x2e20e5(0x170)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a103_0x2e20e5(0x179)}};export function resolveDeprecatedSubcommand(_0x5531e4,_0xd24ed0){return deprecatedSubcommands[_0x5531e4]?.[_0xd24ed0];}export function findDefinition(_0x143f8c,_0x1cf53e){const _0x3d91d0=a103_0x2e20e5;return definitions[_0x3d91d0(0x171)](_0x143f8c+':'+_0x1cf53e);}export function isKnownService(_0x33c6e6){const _0xb63cc1=a103_0x2e20e5;return serviceByName[_0xb63cc1(0x18b)](_0x33c6e6);}function a103_0xfe42(){const _0x106796=['9567GUyvWI','Logs','risk','Run\x20any\x20package.json\x20script','show','58WfJBlj','Configuration','Data\x20Query','defaultCommand','16247621qeYcAT','BFF\x20Scripts','12ALVfWY','32719DOloHi','length','run','285ecLNlM','install','get','push','Dataset\x20&\x20Operations','Code\x20Generation','Self\x20Update','skill','wildcardDef','logout','create','from','service','24630MBezRc','\x20\x20[high-risk-write]','login','API','<script>','3179qhbRCy','666IGnoZg','description','Database\x20Connections','App\x20Management','set','3zIvWSU','1752NhnctW','commands','Menu','has','Project','auth','SQL\x20Queries','1684324VTXtRF','5102496wDpUbz','command','preview'];a103_0xfe42=function(){return _0x106796;};return a103_0xfe42();}export function isDeclarativeService(_0x122ced){const _0x100bef=a103_0x2e20e5;return serviceGroups[_0x100bef(0x18b)](_0x122ced)||serviceByName[_0x100bef(0x171)](_0x122ced)?.[_0x100bef(0x177)]!==undefined;}export function getServiceEntry(_0x41b8bc){return serviceByName['get'](_0x41b8bc);}export function getLegacyHandler(_0x3e0961,_0x4b6802){return undefined;}export function getAllDefinitions(){const _0x4008ec=a103_0x2e20e5;return Array[_0x4008ec(0x17a)](definitions['values']());}
1
+ const a103_0x5afa2b=a103_0x4a7f;(function(_0x4f8199,_0x1663a6){const _0x4f04bb=a103_0x4a7f,_0x1ab727=_0x4f8199();while(!![]){try{const _0x1ade0d=parseInt(_0x4f04bb(0x161))/0x1+-parseInt(_0x4f04bb(0x15e))/0x2+parseInt(_0x4f04bb(0x15c))/0x3+parseInt(_0x4f04bb(0x172))/0x4+-parseInt(_0x4f04bb(0x14a))/0x5*(parseInt(_0x4f04bb(0x15f))/0x6)+-parseInt(_0x4f04bb(0x14b))/0x7+-parseInt(_0x4f04bb(0x15b))/0x8;if(_0x1ade0d===_0x1663a6)break;else _0x1ab727['push'](_0x1ab727['shift']());}catch(_0x3ac56c){_0x1ab727['push'](_0x1ab727['shift']());}}}(a103_0x4c60,0x2534a));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a103_0x4a7f(_0x20d901,_0x340011){_0x20d901=_0x20d901-0x146;const _0x4c6082=a103_0x4c60();let _0x4a7f50=_0x4c6082[_0x20d901];return _0x4a7f50;}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{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(_0x57d853){const _0x1b62f7=a103_0x4a7f;for(const _0xb51a77 of _0x57d853){definitions[_0x1b62f7(0x167)](_0xb51a77[_0x1b62f7(0x16e)]+':'+_0xb51a77['command'],_0xb51a77);let _0x5b825b=serviceGroups[_0x1b62f7(0x158)](_0xb51a77[_0x1b62f7(0x16e)]);!_0x5b825b&&(_0x5b825b=[],serviceGroups[_0x1b62f7(0x167)](_0xb51a77[_0x1b62f7(0x16e)],_0x5b825b)),_0x5b825b[_0x1b62f7(0x173)](_0xb51a77);}}function a103_0x4c60(){const _0x2eea43=['924352kwCyiN','push','from','Code\x20Generation','values','Logs','5vhgoUC','827036aJiIOE','preview','Data\x20Query','Diagnostics','defaultCommand','Self\x20Update','login','project','Menu','SQL\x20Queries','Authentication','Project','Configuration','get','Run\x20Scripts','Schema','2538416IpwrHS','718710eSVxBv','description','162936WccoZC','275034fIcEaV','show','244493oekXyn','start','skill','Quick\x20Start','isSingleCommand','Database\x20Connections','set','install','build','run','Skills','create','write','service','logout','command','wildcardDef'];a103_0x4c60=function(){return _0x2eea43;};return a103_0x4c60();}function registerDeclarativeService(_0x2c30f,_0x509462,_0x36fa49){const _0x5dc272=a103_0x4a7f;registerDefinitions(_0x509462);_0x36fa49?.[_0x5dc272(0x171)]&&registerDefinitions([_0x36fa49[_0x5dc272(0x171)]]);const _0x4d18a7=_0x2dc6b1=>_0x2dc6b1==='read'?'':_0x2dc6b1===_0x5dc272(0x16d)?'\x20\x20[write]':'\x20\x20[high-risk-write]',_0x157f8b={'service':_0x509462[0x0][_0x5dc272(0x16e)],'label':_0x2c30f,'commands':_0x509462['map'](_0xead456=>({'command':_0xead456[_0x5dc272(0x170)],'description':_0xead456[_0x5dc272(0x15d)],'tag':_0x4d18a7(_0xead456['risk'])})),'declarative':!![],'defaultCommand':_0x36fa49?.[_0x5dc272(0x14f)]??(_0x36fa49?.[_0x5dc272(0x165)]?_0x509462[0x0][_0x5dc272(0x170)]:undefined),'wildcardDef':_0x36fa49?.[_0x5dc272(0x171)],'isSingleCommand':_0x36fa49?.[_0x5dc272(0x165)]};serviceRegistry['push'](_0x157f8b),serviceByName[_0x5dc272(0x167)](_0x157f8b[_0x5dc272(0x16e)],_0x157f8b);}registerDeclarativeService(a103_0x5afa2b(0x164),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x156),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a103_0x5afa2b(0x159),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService(a103_0x5afa2b(0x155),authDefinitions,{'defaultCommand':a103_0x5afa2b(0x151)}),registerDeclarativeService(a103_0x5afa2b(0x150),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x14e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x15a),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x157),configDefinitions),registerDeclarativeService('API',apiDefinitions),registerDeclarativeService(a103_0x5afa2b(0x153),menuDefinitions),registerDeclarativeService(a103_0x5afa2b(0x166),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a103_0x5afa2b(0x14d),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a103_0x5afa2b(0x154),sqlDefinitions),registerDeclarativeService(a103_0x5afa2b(0x147),codegenDefinitions),registerDeclarativeService(a103_0x5afa2b(0x16b),skillDefinitions),registerDeclarativeService(a103_0x5afa2b(0x149),logsDefinitions,{'defaultCommand':a103_0x5afa2b(0x160)});export const deprecatedAliases={'create':{'service':a103_0x5afa2b(0x152),'command':a103_0x5afa2b(0x16c)},'start':{'service':'run','command':a103_0x5afa2b(0x162)},'build':{'service':a103_0x5afa2b(0x16a),'command':a103_0x5afa2b(0x169)},'preview':{'service':a103_0x5afa2b(0x16a),'command':a103_0x5afa2b(0x14c)},'logout':{'service':'auth','command':a103_0x5afa2b(0x16f)},'skills':{'service':a103_0x5afa2b(0x163),'command':a103_0x5afa2b(0x168)}};export const deprecatedSubcommands={'bff':{'new':a103_0x5afa2b(0x16c)},'sql':{'new':a103_0x5afa2b(0x16c)}};export function resolveDeprecatedSubcommand(_0x3ba2ce,_0x510c2d){return deprecatedSubcommands[_0x3ba2ce]?.[_0x510c2d];}export function findDefinition(_0x2af6b0,_0x4a8ce){const _0x215ed5=a103_0x5afa2b;return definitions[_0x215ed5(0x158)](_0x2af6b0+':'+_0x4a8ce);}export function isKnownService(_0x694aec){return serviceByName['has'](_0x694aec);}export function isDeclarativeService(_0x3b1dd5){const _0x3f4a8c=a103_0x5afa2b;return serviceGroups['has'](_0x3b1dd5)||serviceByName[_0x3f4a8c(0x158)](_0x3b1dd5)?.[_0x3f4a8c(0x171)]!==undefined;}export function getServiceEntry(_0x403fd5){const _0x59c37c=a103_0x5afa2b;return serviceByName[_0x59c37c(0x158)](_0x403fd5);}export function getLegacyHandler(_0xa50b76,_0x1e6e83){return undefined;}export function getAllDefinitions(){const _0x58df5c=a103_0x5afa2b;return Array[_0x58df5c(0x146)](definitions[_0x58df5c(0x148)]());}
@@ -1 +1 @@
1
- const a104_0x156a49=a104_0x2201;(function(_0x2a9913,_0x21c8ee){const _0xf0eea9=a104_0x2201,_0x10a3dd=_0x2a9913();while(!![]){try{const _0x5abec5=parseInt(_0xf0eea9(0xcf))/0x1+parseInt(_0xf0eea9(0xc3))/0x2+-parseInt(_0xf0eea9(0xdc))/0x3+parseInt(_0xf0eea9(0xc1))/0x4+parseInt(_0xf0eea9(0xcb))/0x5*(-parseInt(_0xf0eea9(0xd1))/0x6)+-parseInt(_0xf0eea9(0xcc))/0x7*(parseInt(_0xf0eea9(0xda))/0x8)+-parseInt(_0xf0eea9(0xa6))/0x9;if(_0x5abec5===_0x21c8ee)break;else _0x10a3dd['push'](_0x10a3dd['shift']());}catch(_0x2c9e0d){_0x10a3dd['push'](_0x10a3dd['shift']());}}}(a104_0x1f42,0x73fa3));import{readFileSync,existsSync}from'node:fs';function a104_0x1f42(){const _0x3dc60a=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','package.json','48phRIQI','preview','1806198rOMtGh','\x0a\x20\x20Available\x20scripts:\x0a','npm','\x20run\x20start','Script\x20name\x20defined\x20in\x20package.json','all','boolean','yarn','\x22\x20not\x20found\x20in\x20package.json.','max','slice','node_modules','close','run','\x20run\x20<script>\x0a','script','cwd','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20exited\x20with\x20code\x20','--watch','4484736ioLBVQ','\x20\x20\x20\x20','validation','pnpm','build','inherit','\x20\x20EXAMPLES','\x20run\x20build','needsUpgrade','dev','(none)','vite','.bin','padEnd','scripts','has','parse','args','log','start','vite\x20preview\x20exited\x20with\x20code\x20','bun','\x20run\x20preview','bun.lock','map','join','length','2882592VUAmMV','yarn.lock','1400390GPLggd','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','watch','belowMinimum','utf-8','push','Available:\x20','entries','9510MslKLJ','285565WdXSnn','\x0a\x20\x20Usage:\x20','Script\x20\x22','515362qBOsAw','read','366WlFyxt','No\x20scripts\x20defined\x20in\x20package.json.','\x20run\x20','bun.lockb','keys','error','pnpm-lock.yaml'];a104_0x1f42=function(){return _0x3dc60a;};return a104_0x1f42();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';function a104_0x2201(_0x3edd48,_0x2971e1){_0x3edd48=_0x3edd48-0x97;const _0x1f4205=a104_0x1f42();let _0x220152=_0x1f4205[_0x3edd48];return _0x220152;}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([a104_0x156a49(0xb9),a104_0x156a49(0xaf)]);function readPackageScripts(_0x542dff){const _0x75385=a104_0x156a49,_0x36bc68=resolve(_0x542dff,_0x75385(0xd9));if(!existsSync(_0x36bc68))return null;try{const _0x3577bc=JSON[_0x75385(0xb6)](readFileSync(_0x36bc68,_0x75385(0xc7)));return _0x3577bc[_0x75385(0xb4)]??{};}catch{return null;}}function detectPackageManager(_0x51c190){const _0x1f6192=a104_0x156a49;if(existsSync(resolve(_0x51c190,_0x1f6192(0xd4)))||existsSync(resolve(_0x51c190,_0x1f6192(0xbd))))return _0x1f6192(0xbb);if(existsSync(resolve(_0x51c190,_0x1f6192(0xd7))))return _0x1f6192(0xa9);if(existsSync(resolve(_0x51c190,_0x1f6192(0xc2))))return _0x1f6192(0x99);return _0x1f6192(0xde);}async function versionCheck(_0x422b80){const _0x4f713e=a104_0x156a49,_0x451941=await checkCliVersion();(_0x451941[_0x4f713e(0xae)]||_0x451941[_0x4f713e(0xc6)])&&(printCliUpgradeWarning(_0x451941),assertCliVersionSupported(_0x451941));const _0x51615c=await checkSdkVersion(_0x422b80);if(_0x51615c['needsUpgrade'])printSdkUpgradeWarning(_0x51615c);}function spawnScript(_0x2b4cbf,_0x30a8c9,_0x343525,_0x66d675){return new Promise((_0x3f22a2,_0x2b230e)=>{const _0x119d2a=a104_0x2201,_0x2c287a=[_0x119d2a(0x9f),_0x30a8c9,..._0x343525],_0x2f3e1b=spawn(_0x2b4cbf,_0x2c287a,{'cwd':_0x66d675,'stdio':_0x119d2a(0xab),'shell':!![],'env':{...process.env,'PATH':''+join(_0x66d675,_0x119d2a(0x9d),_0x119d2a(0xb2))+delimiter+process.env.PATH}});_0x2f3e1b['on'](_0x119d2a(0x9e),_0x594ee2=>{const _0x23ab4b=_0x119d2a;if(_0x594ee2===0x0||_0x594ee2===null)_0x3f22a2();else _0x2b230e(new Error(_0x2b4cbf+'\x20run\x20'+_0x30a8c9+_0x23ab4b(0xa4)+_0x594ee2));}),_0x2f3e1b['on'](_0x119d2a(0xd6),_0x2b230e);});}function spawnViteBuildWatch(_0xd9ea90){return new Promise((_0x430c00,_0x1c70c1)=>{const _0x35323a=a104_0x2201,_0x420e47=spawn(_0x35323a(0xb1),[_0x35323a(0xaa),_0x35323a(0xa5)],{'cwd':_0xd9ea90,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xd9ea90,_0x35323a(0x9d),'.bin')+delimiter+process.env.PATH}});_0x420e47['on'](_0x35323a(0x9e),_0x330c0f=>{const _0xac59f6=_0x35323a;if(_0x330c0f===0x0||_0x330c0f===null)_0x430c00();else _0x1c70c1(new Error(_0xac59f6(0xd8)+_0x330c0f));}),_0x420e47['on'](_0x35323a(0xd6),_0x1c70c1);});}function spawnVitePreview(_0x4127a3){return new Promise((_0x36e9cb,_0x3ab95b)=>{const _0x48cea7=a104_0x2201,_0x4a1f50=spawn(_0x48cea7(0xb1),[_0x48cea7(0xdb)],{'cwd':_0x4127a3,'stdio':_0x48cea7(0xab),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4127a3,'node_modules','.bin')+delimiter+process.env.PATH}});_0x4a1f50['on'](_0x48cea7(0x9e),_0x1b0a55=>{const _0x2269c5=_0x48cea7;if(_0x1b0a55===0x0||_0x1b0a55===null)_0x36e9cb();else _0x3ab95b(new Error(_0x2269c5(0xba)+_0x1b0a55));}),_0x4a1f50['on']('error',_0x3ab95b);});}const runFlags=[{'name':'watch','type':a104_0x156a49(0x98),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':'run','command':a104_0x156a49(0x9f),'description':'Run\x20a\x20package.json\x20script','risk':a104_0x156a49(0xd0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a104_0x156a49(0xa1),'description':a104_0x156a49(0xe0),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x348ff8=a104_0x156a49,_0x22be75=readPackageScripts(process[_0x348ff8(0xa2)]()),_0x4aea07=[];if(_0x22be75&&Object[_0x348ff8(0xd5)](_0x22be75)[_0x348ff8(0xc0)]>0x0){const _0x33e0e3=Object['keys'](_0x22be75),_0x17d2ea=Math['max'](..._0x33e0e3[_0x348ff8(0xbe)](_0x49d223=>_0x49d223['length']));_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa3));for(const [_0x2d6e4b,_0x55d8c2]of Object[_0x348ff8(0xca)](_0x22be75)){_0x4aea07['push'](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xd3)+_0x2d6e4b[_0x348ff8(0xb3)](_0x17d2ea+0x2)+'#\x20'+_0x55d8c2);}}else _0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xac)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xdf)),_0x4aea07[_0x348ff8(0xc8)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x348ff8(0xad)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xbc)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xc4));return _0x4aea07[_0x348ff8(0xbf)]('\x0a');},async 'execute'(_0x132481){const _0x4df404=a104_0x156a49,_0x84fffc=process['cwd'](),_0x4ab549=_0x132481[_0x4df404(0xb7)][0x0],_0x4894c1=_0x132481[_0x4df404(0xb7)][_0x4df404(0x9c)](0x1),_0x539bce=readPackageScripts(_0x84fffc);if(!_0x539bce)throw CliErrors[_0x4df404(0xa8)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x4ab549){const _0x278239=Object[_0x4df404(0xd5)](_0x539bce);if(_0x278239[_0x4df404(0xc0)]===0x0)console[_0x4df404(0xb8)](_0x4df404(0xd2));else{console[_0x4df404(0xb8)](_0x4df404(0xdd));const _0x502e2f=Math[_0x4df404(0x9b)](..._0x278239[_0x4df404(0xbe)](_0x315e90=>_0x315e90[_0x4df404(0xc0)]));for(const [_0x5b51ac,_0x29859d]of Object[_0x4df404(0xca)](_0x539bce)){console[_0x4df404(0xb8)]('\x20\x20\x20\x20'+_0x5b51ac[_0x4df404(0xb3)](_0x502e2f+0x2)+_0x29859d);}console['log'](_0x4df404(0xcd)+CLI_BIN_NAME+_0x4df404(0xa0));}return{'ok':!![]};}if(!_0x539bce[_0x4ab549])throw CliErrors[_0x4df404(0xa8)](_0x4df404(0xce)+_0x4ab549+_0x4df404(0x9a),_0x4df404(0xc9)+(Object[_0x4df404(0xd5)](_0x539bce)[_0x4df404(0xbf)](',\x20')||_0x4df404(0xb0)));const _0x3e82f5=detectPackageManager(_0x84fffc);VERSION_CHECK_SCRIPTS[_0x4df404(0xb5)](_0x4ab549)&&await versionCheck(_0x84fffc);if(_0x4ab549==='preview'&&_0x132481['bool'](_0x4df404(0xc5)))return await Promise[_0x4df404(0x97)]([spawnViteBuildWatch(_0x84fffc),spawnVitePreview(_0x84fffc)]),{'ok':!![]};return await spawnScript(_0x3e82f5,_0x4ab549,_0x4894c1,_0x84fffc),{'ok':!![]};}};
1
+ const a104_0xa210dd=a104_0x24c8;(function(_0x4c5aa7,_0x2e0371){const _0x5a1e7d=a104_0x24c8,_0x3f25b7=_0x4c5aa7();while(!![]){try{const _0x7bfa00=-parseInt(_0x5a1e7d(0x12c))/0x1+parseInt(_0x5a1e7d(0x118))/0x2+-parseInt(_0x5a1e7d(0x130))/0x3*(-parseInt(_0x5a1e7d(0x129))/0x4)+parseInt(_0x5a1e7d(0x120))/0x5+-parseInt(_0x5a1e7d(0xf8))/0x6+-parseInt(_0x5a1e7d(0x11c))/0x7+parseInt(_0x5a1e7d(0x114))/0x8*(parseInt(_0x5a1e7d(0x113))/0x9);if(_0x7bfa00===_0x2e0371)break;else _0x3f25b7['push'](_0x3f25b7['shift']());}catch(_0x48fb73){_0x3f25b7['push'](_0x3f25b7['shift']());}}}(a104_0xfbbf,0xd4501));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([a104_0xa210dd(0xfe),a104_0xa210dd(0x11b)]);function readPackageScripts(_0x44772a){const _0x11f53c=a104_0xa210dd,_0x32eb48=resolve(_0x44772a,_0x11f53c(0x127));if(!existsSync(_0x32eb48))return null;try{const _0x599079=JSON['parse'](readFileSync(_0x32eb48,_0x11f53c(0x126)));return _0x599079['scripts']??{};}catch{return null;}}function detectPackageManager(_0x3a7d00){const _0x30e57d=a104_0xa210dd;if(existsSync(resolve(_0x3a7d00,'bun.lockb'))||existsSync(resolve(_0x3a7d00,_0x30e57d(0x10a))))return _0x30e57d(0x102);if(existsSync(resolve(_0x3a7d00,'pnpm-lock.yaml')))return _0x30e57d(0x10c);if(existsSync(resolve(_0x3a7d00,_0x30e57d(0x106))))return _0x30e57d(0x107);return _0x30e57d(0x123);}async function versionCheck(_0x1bfaba){const _0x552c03=a104_0xa210dd,_0x36a4eb=await checkCliVersion();(_0x36a4eb[_0x552c03(0xf7)]||_0x36a4eb['belowMinimum'])&&(printCliUpgradeWarning(_0x36a4eb),assertCliVersionSupported(_0x36a4eb));const _0x4ae85d=await checkSdkVersion(_0x1bfaba);if(_0x4ae85d[_0x552c03(0xf7)])printSdkUpgradeWarning(_0x4ae85d);}function a104_0xfbbf(){const _0x1c4e15=['8kfCDvZ','run','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20run\x20start','410882RHkLXt','boolean','\x20\x20\x20\x20','dev','11580359eFZdlq','Script\x20name\x20defined\x20in\x20package.json','\x20\x20EXAMPLES','max','2788060wEuMUL','node_modules','map','npm','.bin','--watch','utf-8','package.json','error','4BDkdiO','Run\x20a\x20package.json\x20script','\x20run\x20preview','1378450CeAHHC','preview','Enable\x20watch\x20mode\x20for\x20preview','length','543003WqkOJf','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','log','cwd','validation','padEnd','bool','keys','\x22\x20not\x20found\x20in\x20package.json.','entries','inherit','needsUpgrade','9810066NQHete','join','script','has','\x0a\x20\x20Usage:\x20','vite\x20preview\x20exited\x20with\x20code\x20','start','Script\x20\x22','vite','Available:\x20','bun','\x0a\x20\x20Available\x20scripts:\x0a','No\x20scripts\x20defined\x20in\x20package.json.','close','yarn.lock','yarn','\x20run\x20<script>\x0a','build','bun.lock','slice','pnpm','all','\x20exited\x20with\x20code\x20','push','watch','\x20run\x20','args','41340393cMEcRP'];a104_0xfbbf=function(){return _0x1c4e15;};return a104_0xfbbf();}function spawnScript(_0x454ad7,_0x3ba664,_0x39cf2b,_0x2658db){return new Promise((_0x5e3a9b,_0x1d304d)=>{const _0x23eefd=a104_0x24c8,_0x1e5df0=['run',_0x3ba664,..._0x39cf2b],_0x331786=spawn(_0x454ad7,_0x1e5df0,{'cwd':_0x2658db,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x2658db,_0x23eefd(0x121),_0x23eefd(0x124))+delimiter+process.env.PATH}});_0x331786['on'](_0x23eefd(0x105),_0x8b0f36=>{const _0x400f5e=_0x23eefd;if(_0x8b0f36===0x0||_0x8b0f36===null)_0x5e3a9b();else _0x1d304d(new Error(_0x454ad7+_0x400f5e(0x111)+_0x3ba664+_0x400f5e(0x10e)+_0x8b0f36));}),_0x331786['on'](_0x23eefd(0x128),_0x1d304d);});}function a104_0x24c8(_0x5e55f3,_0x2f4d6d){_0x5e55f3=_0x5e55f3-0xf3;const _0xfbbfdc=a104_0xfbbf();let _0x24c8dd=_0xfbbfdc[_0x5e55f3];return _0x24c8dd;}function spawnViteBuildWatch(_0x418208){return new Promise((_0x272444,_0x3afc10)=>{const _0x5a9204=a104_0x24c8,_0x2117f4=spawn(_0x5a9204(0x100),[_0x5a9204(0x109),_0x5a9204(0x125)],{'cwd':_0x418208,'stdio':_0x5a9204(0xf6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x418208,'node_modules',_0x5a9204(0x124))+delimiter+process.env.PATH}});_0x2117f4['on'](_0x5a9204(0x105),_0x1d3f8e=>{if(_0x1d3f8e===0x0||_0x1d3f8e===null)_0x272444();else _0x3afc10(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x1d3f8e));}),_0x2117f4['on'](_0x5a9204(0x128),_0x3afc10);});}function spawnVitePreview(_0x354938){return new Promise((_0x32c32d,_0x199305)=>{const _0x31b303=a104_0x24c8,_0x450976=spawn(_0x31b303(0x100),['preview'],{'cwd':_0x354938,'stdio':_0x31b303(0xf6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x354938,_0x31b303(0x121),_0x31b303(0x124))+delimiter+process.env.PATH}});_0x450976['on'](_0x31b303(0x105),_0xd4e4ec=>{const _0x1f5d5a=_0x31b303;if(_0xd4e4ec===0x0||_0xd4e4ec===null)_0x32c32d();else _0x199305(new Error(_0x1f5d5a(0xfd)+_0xd4e4ec));}),_0x450976['on'](_0x31b303(0x128),_0x199305);});}const runFlags=[{'name':a104_0xa210dd(0x110),'type':a104_0xa210dd(0x119),'description':a104_0xa210dd(0x12e),'default':![]}];export const runDefinition={'service':a104_0xa210dd(0x115),'command':a104_0xa210dd(0x115),'description':a104_0xa210dd(0x12a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a104_0xa210dd(0xfa),'description':a104_0xa210dd(0x11d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x16dab8=a104_0xa210dd,_0x1ff0f5=readPackageScripts(process[_0x16dab8(0x133)]()),_0x10020c=[];if(_0x1ff0f5&&Object[_0x16dab8(0xf3)](_0x1ff0f5)[_0x16dab8(0x12f)]>0x0){const _0x5e8d98=Object[_0x16dab8(0xf3)](_0x1ff0f5),_0x49b598=Math[_0x16dab8(0x11f)](..._0x5e8d98[_0x16dab8(0x122)](_0x2bb5b8=>_0x2bb5b8[_0x16dab8(0x12f)]));_0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x116));for(const [_0x1b1038,_0x6bedd3]of Object[_0x16dab8(0xf5)](_0x1ff0f5)){_0x10020c['push'](_0x16dab8(0x11a)+CLI_BIN_NAME+_0x16dab8(0x111)+_0x1b1038['padEnd'](_0x49b598+0x2)+'#\x20'+_0x6bedd3);}}else _0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x11e)),_0x10020c[_0x16dab8(0x10f)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x16dab8(0x117)),_0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x11a)+CLI_BIN_NAME+'\x20run\x20build'),_0x10020c['push'](_0x16dab8(0x11a)+CLI_BIN_NAME+_0x16dab8(0x12b)),_0x10020c['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x16dab8(0x131));return _0x10020c['join']('\x0a');},async 'execute'(_0x1b5d84){const _0x179fcf=a104_0xa210dd,_0x453458=process[_0x179fcf(0x133)](),_0xed5863=_0x1b5d84[_0x179fcf(0x112)][0x0],_0x480e33=_0x1b5d84[_0x179fcf(0x112)][_0x179fcf(0x10b)](0x1),_0x2c2f68=readPackageScripts(_0x453458);if(!_0x2c2f68)throw CliErrors['validation']('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0xed5863){const _0x11a791=Object[_0x179fcf(0xf3)](_0x2c2f68);if(_0x11a791[_0x179fcf(0x12f)]===0x0)console[_0x179fcf(0x132)](_0x179fcf(0x104));else{console[_0x179fcf(0x132)](_0x179fcf(0x103));const _0x435adb=Math[_0x179fcf(0x11f)](..._0x11a791[_0x179fcf(0x122)](_0x37c7a0=>_0x37c7a0[_0x179fcf(0x12f)]));for(const [_0x19e4d4,_0x2fb5d9]of Object['entries'](_0x2c2f68)){console[_0x179fcf(0x132)](_0x179fcf(0x11a)+_0x19e4d4[_0x179fcf(0x135)](_0x435adb+0x2)+_0x2fb5d9);}console[_0x179fcf(0x132)](_0x179fcf(0xfc)+CLI_BIN_NAME+_0x179fcf(0x108));}return{'ok':!![]};}if(!_0x2c2f68[_0xed5863])throw CliErrors[_0x179fcf(0x134)](_0x179fcf(0xff)+_0xed5863+_0x179fcf(0xf4),_0x179fcf(0x101)+(Object['keys'](_0x2c2f68)[_0x179fcf(0xf9)](',\x20')||'(none)'));const _0x205f87=detectPackageManager(_0x453458);VERSION_CHECK_SCRIPTS[_0x179fcf(0xfb)](_0xed5863)&&await versionCheck(_0x453458);if(_0xed5863===_0x179fcf(0x12d)&&_0x1b5d84[_0x179fcf(0x136)]('watch'))return await Promise[_0x179fcf(0x10d)]([spawnViteBuildWatch(_0x453458),spawnVitePreview(_0x453458)]),{'ok':!![]};return await spawnScript(_0x205f87,_0xed5863,_0x480e33,_0x453458),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a105_0x2c27(_0x5b1a46,_0xc08fe6){_0x5b1a46=_0x5b1a46-0xca;const _0x4c0b23=a105_0x4c0b();let _0x2c27c1=_0x4c0b23[_0x5b1a46];return _0x2c27c1;}const a105_0x5c745c=a105_0x2c27;(function(_0x42a985,_0x151f33){const _0x59207b=a105_0x2c27,_0x364529=_0x42a985();while(!![]){try{const _0x4b1b57=-parseInt(_0x59207b(0xca))/0x1+parseInt(_0x59207b(0xce))/0x2+-parseInt(_0x59207b(0xd2))/0x3+-parseInt(_0x59207b(0xcc))/0x4+-parseInt(_0x59207b(0xcb))/0x5+-parseInt(_0x59207b(0xcf))/0x6+-parseInt(_0x59207b(0xcd))/0x7*(-parseInt(_0x59207b(0xd4))/0x8);if(_0x4b1b57===_0x151f33)break;else _0x364529['push'](_0x364529['shift']());}catch(_0x35ddb6){_0x364529['push'](_0x364529['shift']());}}}(a105_0x4c0b,0xc0852));function a105_0x4c0b(){const _0x505121=['778828rOuLVB','6551750uLWuFF','3804016FVJIhC','14OtEGHh','856072DsqyJE','6387858LAEGIs','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','2774691WEhOxX','json','21560992VfDvao'];a105_0x4c0b=function(){return _0x505121;};return a105_0x4c0b();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xc8a8fe){const _0x188554=await buildSchemaPayload();return{'ok':!![],'data':_0x188554};}export const schemaDefinition={'service':'schema','command':a105_0x5c745c(0xd1),'description':a105_0x5c745c(0xd0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a105_0x5c745c(0xd3),'flags':[],'execute':execute};
1
+ const a105_0x4a7932=a105_0x4f65;function a105_0x49a7(){const _0xd98088=['27898464hjNiHg','1654967yHPWEw','json','Export\x20machine-readable\x20command\x20schema\x20(JSON)','schema','6hCBKXY','1760MFYxTs','4xOXtBS','533818HnJTpu','41319wOsYRU','376978QGQVML','5250117iovUfK','9381455cRfCua','128NgkMQC'];a105_0x49a7=function(){return _0xd98088;};return a105_0x49a7();}(function(_0x3f3fc3,_0x48ae2b){const _0x1ffbd1=a105_0x4f65,_0x3446bd=_0x3f3fc3();while(!![]){try{const _0x33cabd=-parseInt(_0x1ffbd1(0xbc))/0x1+parseInt(_0x1ffbd1(0xb5))/0x2+-parseInt(_0x1ffbd1(0xb8))/0x3*(-parseInt(_0x1ffbd1(0xb4))/0x4)+-parseInt(_0x1ffbd1(0xb9))/0x5*(parseInt(_0x1ffbd1(0xb2))/0x6)+parseInt(_0x1ffbd1(0xb7))/0x7*(-parseInt(_0x1ffbd1(0xba))/0x8)+-parseInt(_0x1ffbd1(0xb6))/0x9*(-parseInt(_0x1ffbd1(0xb3))/0xa)+parseInt(_0x1ffbd1(0xbb))/0xb;if(_0x33cabd===_0x48ae2b)break;else _0x3446bd['push'](_0x3446bd['shift']());}catch(_0x3a3902){_0x3446bd['push'](_0x3446bd['shift']());}}}(a105_0x49a7,0xec64a));import{buildSchemaPayload}from'../framework/schema-export.js';function a105_0x4f65(_0x4fa3ad,_0x1f5243){_0x4fa3ad=_0x4fa3ad-0xb0;const _0x49a787=a105_0x49a7();let _0x4f656a=_0x49a787[_0x4fa3ad];return _0x4f656a;}async function execute(_0x1b2a7d){const _0x28d3c9=await buildSchemaPayload();return{'ok':!![],'data':_0x28d3c9};}export const schemaDefinition={'service':a105_0x4a7932(0xb1),'command':'export','description':a105_0x4a7932(0xb0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a105_0x4a7932(0xbd),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a106_0x2f6178=a106_0x2b06;(function(_0x4ee3f4,_0x1a014e){const _0x5d9050=a106_0x2b06,_0x3f463f=_0x4ee3f4();while(!![]){try{const _0x192ce3=parseInt(_0x5d9050(0xd4))/0x1+parseInt(_0x5d9050(0xcc))/0x2*(-parseInt(_0x5d9050(0xe1))/0x3)+-parseInt(_0x5d9050(0xcf))/0x4*(-parseInt(_0x5d9050(0xde))/0x5)+parseInt(_0x5d9050(0xdd))/0x6+-parseInt(_0x5d9050(0xd1))/0x7*(parseInt(_0x5d9050(0xcd))/0x8)+-parseInt(_0x5d9050(0xd2))/0x9+parseInt(_0x5d9050(0xd6))/0xa;if(_0x192ce3===_0x1a014e)break;else _0x3f463f['push'](_0x3f463f['shift']());}catch(_0x4195c0){_0x3f463f['push'](_0x3f463f['shift']());}}}(a106_0xa781,0xd042d));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a106_0x2b06(_0x176ce2,_0x393dcb){_0x176ce2=_0x176ce2-0xca;const _0xa781c1=a106_0xa781();let _0x2b06f3=_0xa781c1[_0x176ce2];return _0x2b06f3;}import{logger}from'../../utils/logger.js';function a106_0xa781(){const _0x11af04=['5KLEPdA',')...','\x20skill\x20installed','102LUEuGE','unknown','pipe','skill-install','22642HLXWMV','23344avTpKn','nonInteractive','5154664ElKzou','lovrabet/rabetbase','476ONYiQI','10815471kWQwzc','info','870612WuccHo','log','2265270URIBKS','Installing\x20official\x20skill\x20via\x20npx\x20(','npx\x20skills\x20add\x20failed:\x20','inherit','Install\x20developer\x20skill\x20package','skipped','skill','1513734ZjCyvS'];a106_0xa781=function(){return _0x11af04;};return a106_0xa781();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a106_0x2f6178(0xdc),'command':'install','description':a106_0x2f6178(0xda),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x50f06e){const _0xd31caa=a106_0x2f6178;logger['setLogPath'](process['cwd']()),logger[_0xd31caa(0xd3)](_0xd31caa(0xcb),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x785f18}=await import('../../skills/npx-skills-add.js'),_0x2fc005=_0x50f06e[_0xd31caa(0xce)]?_0xd31caa(0xca):_0xd31caa(0xd9);console[_0xd31caa(0xd5)](_0xd31caa(0xd7)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xd31caa(0xdf));const _0x337585=_0x785f18(process['cwd'](),_0xd31caa(0xd0),{'stdio':_0x2fc005});if(_0x337585[_0xd31caa(0xdb)])console[_0xd31caa(0xd5)]('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x337585['ok'])console[_0xd31caa(0xd5)](CLI_BIN_NAME+_0xd31caa(0xe0));else throw CliErrors['apiError'](_0xd31caa(0xd8)+(_0x337585['error']||_0xd31caa(0xe2)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
1
+ const a106_0x122fe4=a106_0x22fb;function a106_0x22fb(_0x23608c,_0x3c14ea){_0x23608c=_0x23608c-0x88;const _0x584051=a106_0x5840();let _0x22fbc0=_0x584051[_0x23608c];return _0x22fbc0;}(function(_0x5fdfe9,_0x34fb9c){const _0x34a77e=a106_0x22fb,_0x98f49f=_0x5fdfe9();while(!![]){try{const _0x2461c8=parseInt(_0x34a77e(0x99))/0x1+parseInt(_0x34a77e(0x9f))/0x2+-parseInt(_0x34a77e(0x8a))/0x3*(-parseInt(_0x34a77e(0x98))/0x4)+-parseInt(_0x34a77e(0x8f))/0x5*(parseInt(_0x34a77e(0x92))/0x6)+parseInt(_0x34a77e(0xa2))/0x7*(-parseInt(_0x34a77e(0x8d))/0x8)+-parseInt(_0x34a77e(0x88))/0x9*(parseInt(_0x34a77e(0xa1))/0xa)+parseInt(_0x34a77e(0x9b))/0xb*(parseInt(_0x34a77e(0x91))/0xc);if(_0x2461c8===_0x34fb9c)break;else _0x98f49f['push'](_0x98f49f['shift']());}catch(_0x449cce){_0x98f49f['push'](_0x98f49f['shift']());}}}(a106_0x5840,0xcaef6));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a106_0x5840(){const _0x37fbf6=['npx\x20skills\x20add\x20failed:\x20','Check\x20network\x20connectivity\x20and\x20try\x20again.','inherit','256MRbgVU','600909PrvyHn','\x20skill\x20installed','7810396cVJTfV','log','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','apiError','1268418ucMFIB','pipe','234810doiIGf','7480690ALPfmK','72aEZYEM','../../skills/npx-skills-add.js','31524dcwGmz','install','write','8IRQoQG','Installing\x20official\x20skill\x20via\x20npx\x20(','10oFUyVF',')...','12yMfpBs','1589778zJblwG','cwd','lovrabet/rabetbase'];a106_0x5840=function(){return _0x37fbf6;};return a106_0x5840();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a106_0x122fe4(0x8b),'description':'Install\x20developer\x20skill\x20package','risk':a106_0x122fe4(0x8c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x119890){const _0xe0f57b=a106_0x122fe4;logger['setLogPath'](process[_0xe0f57b(0x93)]()),logger['info']('skill-install','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x1e23eb}=await import(_0xe0f57b(0x89)),_0x3858d2=_0x119890['nonInteractive']?_0xe0f57b(0xa0):_0xe0f57b(0x97);console[_0xe0f57b(0x9c)](_0xe0f57b(0x8e)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xe0f57b(0x90));const _0x547bc1=_0x1e23eb(process['cwd'](),_0xe0f57b(0x94),{'stdio':_0x3858d2});if(_0x547bc1['skipped'])console[_0xe0f57b(0x9c)](_0xe0f57b(0x9d));else{if(_0x547bc1['ok'])console[_0xe0f57b(0x9c)](CLI_BIN_NAME+_0xe0f57b(0x9a));else throw CliErrors[_0xe0f57b(0x9e)](_0xe0f57b(0x95)+(_0x547bc1['error']||'unknown'),_0xe0f57b(0x96));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a107_0x302592=a107_0x3c89;(function(_0x324f0b,_0x3e0649){const _0x4650fb=a107_0x3c89,_0x36d915=_0x324f0b();while(!![]){try{const _0x168ac5=-parseInt(_0x4650fb(0x1c5))/0x1+parseInt(_0x4650fb(0x1b9))/0x2*(parseInt(_0x4650fb(0x1aa))/0x3)+-parseInt(_0x4650fb(0x1b6))/0x4*(parseInt(_0x4650fb(0x1c6))/0x5)+-parseInt(_0x4650fb(0x1cd))/0x6+parseInt(_0x4650fb(0x1a2))/0x7+parseInt(_0x4650fb(0x1cb))/0x8+-parseInt(_0x4650fb(0x196))/0x9*(-parseInt(_0x4650fb(0x1a8))/0xa);if(_0x168ac5===_0x3e0649)break;else _0x36d915['push'](_0x36d915['shift']());}catch(_0x4fa8ab){_0x36d915['push'](_0x36d915['shift']());}}}(a107_0x56e6,0xa8012));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';function a107_0x56e6(){const _0x8cf851=['Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','10rkgeip','/smartapi/custom/saveUserCustomSql','flagMissing','请选择本地\x20SQL\x20模式:','flag','Target\x20database\x20ID','parse','请选择目标数据库:','utf8','lockFilePath','isFinite','sqlRoot','185586OOmmJW','25AWSwnO','new','catch','dbName','SQL\x20query\x20display\x20name','286016ruHksm','mode','4475424KjsPBE','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','MyBatis\x20XML(mybatisXml)','__manual__','sqlCode','validation','trim','dbId','普通\x20SQL(sql)','number','db-id','map','File\x20already\x20exists:\x20','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL','sql','SELECT\x201\x20AS\x20id;','sqlRootDir','43965lgioHJ','dbId\x20必须为正整数','请输入\x20SQL\x20名称:','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Invalid\x20database\x20selection\x20payload:\x20','join','nonInteractive','\x20\x20SELECT\x201\x20AS\x20id','length','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlName','sqls','7488593duMTsX','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','mybatisXml','stringify','POST','</select>','370NhkzxA','appCode','816246fqSReM','create','SQL\x20名称不能为空','isInteger','string','name','<server-generated-sqlCode>','description','str','请输入目标数据库\x20dbId:','toISOString','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','821656HVBZpo','✎\x20手动输入\x20dbId'];a107_0x56e6=function(){return _0x8cf851;};return a107_0x56e6();}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';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(_0xf4f183){const _0x396ebe=a107_0x3c89;if(_0xf4f183===_0x396ebe(0x1a4))return[_0x396ebe(0x1ce),_0x396ebe(0x19d),_0x396ebe(0x1a7),''][_0x396ebe(0x19b)]('\x0a');return[_0x396ebe(0x194),''][_0x396ebe(0x19b)]('\x0a');}export const sqlCreate={'service':a107_0x302592(0x193),'command':a107_0x302592(0x1ab),'description':a107_0x302592(0x1b8),'risk':'high-risk-write','flags':[{'name':a107_0x302592(0x1af),'type':a107_0x302592(0x1ae),'description':a107_0x302592(0x1ca)},{'name':'db-id','type':a107_0x302592(0x18d),'description':a107_0x302592(0x1be)},{'name':'mode','type':'string','enum':['sql','mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x19821f){const _0x1dcab9=a107_0x302592;if(!_0x19821f[_0x1dcab9(0x19c)])return;if(!_0x19821f[_0x1dcab9(0x1b2)](_0x1dcab9(0x1af))[_0x1dcab9(0x18a)]())throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x1af),_0x1dcab9(0x199));const _0x2f3b83=resolveProvidedDbId(_0x19821f);if(typeof _0x2f3b83!==_0x1dcab9(0x18d)||!Number[_0x1dcab9(0x1c3)](_0x2f3b83)||_0x2f3b83<=0x0)throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x18e),_0x1dcab9(0x19f));if(!_0x19821f['str']('mode')[_0x1dcab9(0x18a)]())throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x1cc),_0x1dcab9(0x1b5));},async 'dryRun'(_0x5d0c29){const _0x5a1c90=a107_0x302592,_0x3e944d=loadSqlProjectConfig(_0x5d0c29['appCode']),{sqlName:_0x47c0c2,dbId:_0x338515,dbName:_0xb3d96d,mode:_0x736790}=await resolveSqlNewInputs(_0x5d0c29),_0xe5c3c8=buildSqlRelativePath(_0x5a1c90(0x1b0),_0x47c0c2,_0xb3d96d,_0x736790,_0x338515),_0x2a7eca=_0x3e944d[_0x5a1c90(0x195)]+'/'+_0xe5c3c8;return{'method':_0x5a1c90(0x1a6),'url':_0x5a1c90(0x1ba),'body':{'appCode':_0x5d0c29[_0x5a1c90(0x1a9)],'sqlName':_0x47c0c2,'dbId':_0x338515,'mode':_0x736790,'localPath':_0x2a7eca},'description':_0x5a1c90(0x191)+_0x3e944d['sqlRootDir']};},async 'execute'(_0x54f54a){const _0x39ac93=a107_0x302592,_0x435326=loadSqlProjectConfig(_0x54f54a[_0x39ac93(0x1a9)]),{sqlName:_0x3e0ea1,dbId:_0x451537,dbName:_0x222e0c,mode:_0x1b13fe}=await resolveSqlNewInputs(_0x54f54a),_0x5884e5=generateSqlTemplate(_0x1b13fe),_0x566a53=await createSqlQuery({'appCode':_0x54f54a[_0x39ac93(0x1a9)],'sqlName':_0x3e0ea1,'dbId':_0x451537,'sqlContent':_0x5884e5}),_0x2ad056=ensureRemoteSqlContent(_0x566a53),_0x388e61=_0x222e0c||await getDbName(_0x54f54a[_0x39ac93(0x1a9)],_0x451537)[_0x39ac93(0x1c8)](()=>undefined),_0x22d2cc=buildSqlRelativePath(_0x566a53[_0x39ac93(0x188)],_0x566a53[_0x39ac93(0x1a0)],_0x388e61,_0x1b13fe,_0x451537),_0x56081f=_0x435326[_0x39ac93(0x195)]+'/'+_0x22d2cc,_0x576a8f=buildLocalSqlFileContent({'sqlCode':_0x566a53['sqlCode'],'sqlName':_0x566a53[_0x39ac93(0x1a0)],'dbId':_0x566a53[_0x39ac93(0x18b)]},_0x2ad056,{'dbName':_0x388e61,'mode':_0x1b13fe,'syncedAt':new Date()[_0x39ac93(0x1b4)](),'description':_0x566a53[_0x39ac93(0x1b1)]});if(await fileExists(_0x56081f))throw CliErrors[_0x39ac93(0x189)](_0x39ac93(0x190)+_0x56081f);await ensureParentDirectory(_0x56081f),await writeFile(_0x56081f,_0x576a8f,_0x39ac93(0x1c1));const _0x38eec5=await readSqlLockFile(_0x435326[_0x39ac93(0x1c2)]),{lockData:_0x183f89,appLock:_0x3964f8}=ensureSqlLockScope(_0x38eec5??createEmptySqlLock(),_0x435326['appCode'],_0x435326[_0x39ac93(0x1c4)],_0x39ac93(0x1c7));return _0x3964f8[_0x39ac93(0x1a1)][_0x566a53[_0x39ac93(0x188)]]={...buildSqlLockEntry(_0x566a53,_0x2ad056,computeSqlContentHash(_0x576a8f),{'dbName':_0x388e61}),'path':_0x22d2cc,'mode':_0x1b13fe},_0x3964f8['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x435326[_0x39ac93(0x1c2)],_0x183f89),{'ok':!![],'data':{'id':_0x566a53['id'],'sqlCode':_0x566a53[_0x39ac93(0x188)],'sqlName':_0x566a53[_0x39ac93(0x1a0)],'dbId':_0x566a53['dbId'],'path':_0x56081f,'mode':_0x1b13fe},'message':'Created\x20SQL\x20query\x20'+_0x566a53[_0x39ac93(0x188)]};}};async function resolveSqlNewInputs(_0x166897){const _0xdf3bbd=await resolveSqlNameInput(_0x166897),{dbId:_0xce309e,dbName:_0x5551f9}=await resolveDbSelection(_0x166897),_0x2567da=await resolveSqlModeInput(_0x166897);return{'sqlName':_0xdf3bbd,'dbId':_0xce309e,'dbName':_0x5551f9,'mode':_0x2567da};}async function resolveSqlNameInput(_0x9d9b6e){const _0x2acc31=a107_0x302592,_0x46fa5f=_0x9d9b6e['str'](_0x2acc31(0x1af))[_0x2acc31(0x18a)]();if(_0x46fa5f)return _0x46fa5f;if(_0x9d9b6e[_0x2acc31(0x19c)])throw CliErrors[_0x2acc31(0x1bb)]('name',_0x2acc31(0x199));return(await input({'message':_0x2acc31(0x198),'validate':_0x516be6=>_0x516be6[_0x2acc31(0x18a)]()?!![]:_0x2acc31(0x1ac)}))[_0x2acc31(0x18a)]();}function a107_0x3c89(_0x5967c5,_0x2143cc){_0x5967c5=_0x5967c5-0x186;const _0x56e668=a107_0x56e6();let _0x3c89d7=_0x56e668[_0x5967c5];return _0x3c89d7;}async function resolveDbSelection(_0x4bc7a3){const _0xbe4474=a107_0x302592,_0x4c9acc=resolveProvidedDbId(_0x4bc7a3);if(typeof _0x4c9acc===_0xbe4474(0x18d)&&Number['isFinite'](_0x4c9acc)&&_0x4c9acc>0x0)return{'dbId':_0x4c9acc,'dbName':await getDbName(_0x4bc7a3['appCode'],_0x4c9acc)[_0xbe4474(0x1c8)](()=>undefined)};if(_0x4bc7a3['nonInteractive'])throw CliErrors[_0xbe4474(0x1bb)](_0xbe4474(0x18e),_0xbe4474(0x19f));const _0x466856=await listDatabases(_0x4bc7a3[_0xbe4474(0x1a9)])[_0xbe4474(0x1c8)](()=>[]);if(_0x466856[_0xbe4474(0x19e)]===0x1)return{'dbId':_0x466856[0x0][_0xbe4474(0x18b)],'dbName':_0x466856[0x0][_0xbe4474(0x1c9)]};if(_0x466856['length']>0x1){const _0x351ebd=await select({'message':_0xbe4474(0x1c0),'choices':[..._0x466856[_0xbe4474(0x18f)](_0x2e74f2=>({'name':_0x2e74f2[_0xbe4474(0x1c9)]+'\x20('+_0x2e74f2[_0xbe4474(0x18b)]+')','value':serializeDbSelection(_0x2e74f2)})),{'name':_0xbe4474(0x1b7),'value':_0xbe4474(0x187)}]});if(_0x351ebd!=='__manual__')return deserializeDbSelection(_0x351ebd);}const _0x24f3df=await input({'message':_0xbe4474(0x1b3),'validate':_0x42e7cb=>{const _0x14646a=_0xbe4474,_0x2505ac=_0x42e7cb[_0x14646a(0x18a)]();if(!_0x2505ac)return'dbId\x20不能为空';const _0x4c4364=Number(_0x2505ac);if(!Number[_0x14646a(0x1ad)](_0x4c4364)||_0x4c4364<=0x0)return _0x14646a(0x197);return!![];}});return{'dbId':Number(_0x24f3df[_0xbe4474(0x18a)]())};}async function resolveSqlModeInput(_0x14576f){const _0x2628f4=a107_0x302592,_0x261be9=_0x14576f[_0x2628f4(0x1b2)](_0x2628f4(0x1cc))[_0x2628f4(0x18a)]();if(_0x261be9===_0x2628f4(0x193)||_0x261be9===_0x2628f4(0x1a4))return _0x261be9;if(_0x14576f[_0x2628f4(0x19c)])throw CliErrors[_0x2628f4(0x1bb)](_0x2628f4(0x1cc),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x2628f4(0x1bc),'choices':[{'name':_0x2628f4(0x18c),'value':_0x2628f4(0x193),'description':_0x2628f4(0x1a3)},{'name':_0x2628f4(0x186),'value':'mybatisXml','description':_0x2628f4(0x192)}]});}function serializeDbSelection(_0x4791f3){const _0x34f252=a107_0x302592;return JSON[_0x34f252(0x1a5)]({'dbId':_0x4791f3[_0x34f252(0x18b)],'dbName':_0x4791f3[_0x34f252(0x1c9)]});}function deserializeDbSelection(_0x3a04ac){const _0x429623=a107_0x302592;try{const _0x317184=JSON[_0x429623(0x1bf)](_0x3a04ac);if(typeof _0x317184[_0x429623(0x18b)]==='number'&&Number[_0x429623(0x1c3)](_0x317184['dbId']))return{'dbId':_0x317184[_0x429623(0x18b)],'dbName':_0x317184['dbName']};}catch{}throw CliErrors[_0x429623(0x189)](_0x429623(0x19a)+_0x3a04ac);}function resolveProvidedDbId(_0x1ed774){const _0x242df4=a107_0x302592,_0x5ac5ed=_0x1ed774[_0x242df4(0x1bd)](_0x242df4(0x18e));if(typeof _0x5ac5ed===_0x242df4(0x18d)&&Number['isFinite'](_0x5ac5ed))return _0x5ac5ed;return undefined;}
1
+ const a107_0x221db3=a107_0x1b9e;(function(_0xda7048,_0x56e6a3){const _0x3207d9=a107_0x1b9e,_0x4280fa=_0xda7048();while(!![]){try{const _0x24039e=-parseInt(_0x3207d9(0x168))/0x1+-parseInt(_0x3207d9(0x15a))/0x2+parseInt(_0x3207d9(0x166))/0x3*(parseInt(_0x3207d9(0x15e))/0x4)+parseInt(_0x3207d9(0x155))/0x5*(parseInt(_0x3207d9(0x14a))/0x6)+parseInt(_0x3207d9(0x16f))/0x7*(parseInt(_0x3207d9(0x171))/0x8)+-parseInt(_0x3207d9(0x163))/0x9*(-parseInt(_0x3207d9(0x18b))/0xa)+-parseInt(_0x3207d9(0x17c))/0xb*(parseInt(_0x3207d9(0x172))/0xc);if(_0x24039e===_0x56e6a3)break;else _0x4280fa['push'](_0x4280fa['shift']());}catch(_0xc6985c){_0x4280fa['push'](_0x4280fa['shift']());}}}(a107_0x1034,0x31ebf));function a107_0x1034(){const _0x2f3dcc=['20KhXuuY','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','<server-generated-sqlCode>','dbId','1356KRAdXy','flagMissing','/smartapi/custom/saveUserCustomSql','map','\x20\x20SELECT\x201\x20AS\x20id','create','mybatisXml','sqlRoot','mode','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','7415WMqLnf','flag','parse','str','appCode','409786dQSVMI','SQL\x20名称不能为空','catch','✎\x20手动输入\x20dbId','1223312DwIzOe','MyBatis\x20XML(mybatisXml)','dbId\x20必须为正整数','Invalid\x20database\x20selection\x20payload:\x20','isFinite','252792zZszcj','POST','Target\x20database\x20ID','3ZoZNwE','toISOString','361870CMjClS','SQL\x20query\x20display\x20name','__manual__','sqlRootDir','sqlName','请输入\x20SQL\x20名称:','new','1507786lrCQvU','sqlCode','8CvKQak','1695816rotKhx','trim','validation','string','lockFilePath','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','utf8','sql','请选择本地\x20SQL\x20模式:','sqls','11QLPQmu','length','dbId\x20不能为空','SELECT\x201\x20AS\x20id;','description','number','name','lastSync','适合带动态标签的\x20MyBatis\x20XML\x20SQL','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','stringify','join','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','isInteger'];a107_0x1034=function(){return _0x2f3dcc;};return a107_0x1034();}function a107_0x1b9e(_0x17a3d0,_0x26c4f9){_0x17a3d0=_0x17a3d0-0x149;const _0x103452=a107_0x1034();let _0x1b9e2d=_0x103452[_0x17a3d0];return _0x1b9e2d;}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';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x3de735){const _0x393970=a107_0x1b9e;if(_0x3de735===_0x393970(0x150))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x393970(0x14e),'</select>',''][_0x393970(0x187)]('\x0a');return[_0x393970(0x17f),''][_0x393970(0x187)]('\x0a');}export const sqlCreate={'service':a107_0x221db3(0x179),'command':a107_0x221db3(0x14f),'description':a107_0x221db3(0x188),'risk':'high-risk-write','flags':[{'name':a107_0x221db3(0x182),'type':a107_0x221db3(0x175),'description':a107_0x221db3(0x169)},{'name':a107_0x221db3(0x189),'type':a107_0x221db3(0x181),'description':a107_0x221db3(0x165)},{'name':a107_0x221db3(0x152),'type':a107_0x221db3(0x175),'enum':[a107_0x221db3(0x179),a107_0x221db3(0x150)],'description':a107_0x221db3(0x154)}],async 'validate'(_0x406734){const _0x2c2ac3=a107_0x221db3;if(!_0x406734[_0x2c2ac3(0x18d)])return;if(!_0x406734[_0x2c2ac3(0x158)]('name')[_0x2c2ac3(0x173)]())throw CliErrors['flagMissing'](_0x2c2ac3(0x182),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x34cc79=resolveProvidedDbId(_0x406734);if(typeof _0x34cc79!==_0x2c2ac3(0x181)||!Number[_0x2c2ac3(0x162)](_0x34cc79)||_0x34cc79<=0x0)throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x189),_0x2c2ac3(0x18c));if(!_0x406734[_0x2c2ac3(0x158)]('mode')[_0x2c2ac3(0x173)]())throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x152),_0x2c2ac3(0x185));},async 'dryRun'(_0x37bfd9){const _0x49fec2=a107_0x221db3,_0x4f957f=loadSqlProjectConfig(_0x37bfd9[_0x49fec2(0x159)]),{sqlName:_0x2289df,dbId:_0x10f016,dbName:_0x444faa,mode:_0x4e16ec}=await resolveSqlNewInputs(_0x37bfd9),_0x1d1a3b=buildSqlRelativePath(_0x49fec2(0x18e),_0x2289df,_0x444faa,_0x4e16ec,_0x10f016),_0x3aa246=_0x4f957f[_0x49fec2(0x16b)]+'/'+_0x1d1a3b;return{'method':_0x49fec2(0x164),'url':_0x49fec2(0x14c),'body':{'appCode':_0x37bfd9[_0x49fec2(0x159)],'sqlName':_0x2289df,'dbId':_0x10f016,'mode':_0x4e16ec,'localPath':_0x3aa246},'description':_0x49fec2(0x177)+_0x4f957f[_0x49fec2(0x16b)]};},async 'execute'(_0x5a9a05){const _0x29f7be=a107_0x221db3,_0x5d17e6=loadSqlProjectConfig(_0x5a9a05[_0x29f7be(0x159)]),{sqlName:_0xb591f8,dbId:_0x317fe7,dbName:_0x1bc469,mode:_0x19c599}=await resolveSqlNewInputs(_0x5a9a05),_0x1bb594=generateSqlTemplate(_0x19c599),_0x33e96f=await createSqlQuery({'appCode':_0x5a9a05['appCode'],'sqlName':_0xb591f8,'dbId':_0x317fe7,'sqlContent':_0x1bb594}),_0x5c4342=ensureRemoteSqlContent(_0x33e96f),_0x3ffca3=_0x1bc469||await getDbName(_0x5a9a05[_0x29f7be(0x159)],_0x317fe7)['catch'](()=>undefined),_0x8b1c0b=buildSqlRelativePath(_0x33e96f[_0x29f7be(0x170)],_0x33e96f[_0x29f7be(0x16c)],_0x3ffca3,_0x19c599,_0x317fe7),_0x9582d5=_0x5d17e6[_0x29f7be(0x16b)]+'/'+_0x8b1c0b,_0x11a380=buildLocalSqlFileContent({'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f['sqlName'],'dbId':_0x33e96f[_0x29f7be(0x149)]},_0x5c4342,{'dbName':_0x3ffca3,'mode':_0x19c599,'syncedAt':new Date()[_0x29f7be(0x167)](),'description':_0x33e96f[_0x29f7be(0x180)]});if(await fileExists(_0x9582d5))throw CliErrors[_0x29f7be(0x174)]('File\x20already\x20exists:\x20'+_0x9582d5);await ensureParentDirectory(_0x9582d5),await writeFile(_0x9582d5,_0x11a380,_0x29f7be(0x178));const _0x4e38a3=await readSqlLockFile(_0x5d17e6[_0x29f7be(0x176)]),{lockData:_0x6fc833,appLock:_0x569a1d}=ensureSqlLockScope(_0x4e38a3??createEmptySqlLock(),_0x5d17e6[_0x29f7be(0x159)],_0x5d17e6[_0x29f7be(0x151)],_0x29f7be(0x16e));return _0x569a1d[_0x29f7be(0x17b)][_0x33e96f[_0x29f7be(0x170)]]={...buildSqlLockEntry(_0x33e96f,_0x5c4342,computeSqlContentHash(_0x11a380),{'dbName':_0x3ffca3}),'path':_0x8b1c0b,'mode':_0x19c599},_0x569a1d[_0x29f7be(0x183)]=new Date()[_0x29f7be(0x167)](),await writeSqlLockFile(_0x5d17e6[_0x29f7be(0x176)],_0x6fc833),{'ok':!![],'data':{'id':_0x33e96f['id'],'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f[_0x29f7be(0x16c)],'dbId':_0x33e96f['dbId'],'path':_0x9582d5,'mode':_0x19c599},'message':_0x29f7be(0x153)+_0x33e96f['sqlCode']};}};async function resolveSqlNewInputs(_0x324363){const _0x54074b=await resolveSqlNameInput(_0x324363),{dbId:_0x41c4c9,dbName:_0x2b9c74}=await resolveDbSelection(_0x324363),_0x1d2172=await resolveSqlModeInput(_0x324363);return{'sqlName':_0x54074b,'dbId':_0x41c4c9,'dbName':_0x2b9c74,'mode':_0x1d2172};}async function resolveSqlNameInput(_0x3bdda0){const _0x41ba11=a107_0x221db3,_0x2afad0=_0x3bdda0['str'](_0x41ba11(0x182))[_0x41ba11(0x173)]();if(_0x2afad0)return _0x2afad0;if(_0x3bdda0[_0x41ba11(0x18d)])throw CliErrors[_0x41ba11(0x14b)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x41ba11(0x16d),'validate':_0x2e5d77=>_0x2e5d77[_0x41ba11(0x173)]()?!![]:_0x41ba11(0x15b)}))[_0x41ba11(0x173)]();}async function resolveDbSelection(_0x2daf3b){const _0x1cd84d=a107_0x221db3,_0x5eac69=resolveProvidedDbId(_0x2daf3b);if(typeof _0x5eac69==='number'&&Number[_0x1cd84d(0x162)](_0x5eac69)&&_0x5eac69>0x0)return{'dbId':_0x5eac69,'dbName':await getDbName(_0x2daf3b['appCode'],_0x5eac69)[_0x1cd84d(0x15c)](()=>undefined)};if(_0x2daf3b[_0x1cd84d(0x18d)])throw CliErrors[_0x1cd84d(0x14b)](_0x1cd84d(0x189),_0x1cd84d(0x18c));const _0x589895=await listDatabases(_0x2daf3b[_0x1cd84d(0x159)])['catch'](()=>[]);if(_0x589895[_0x1cd84d(0x17d)]===0x1)return{'dbId':_0x589895[0x0][_0x1cd84d(0x149)],'dbName':_0x589895[0x0]['dbName']};if(_0x589895[_0x1cd84d(0x17d)]>0x1){const _0x486de0=await select({'message':'请选择目标数据库:','choices':[..._0x589895[_0x1cd84d(0x14d)](_0xb8fb67=>({'name':_0xb8fb67['dbName']+'\x20('+_0xb8fb67['dbId']+')','value':serializeDbSelection(_0xb8fb67)})),{'name':_0x1cd84d(0x15d),'value':_0x1cd84d(0x16a)}]});if(_0x486de0!==_0x1cd84d(0x16a))return deserializeDbSelection(_0x486de0);}const _0x39ae88=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x11517c=>{const _0x181451=_0x1cd84d,_0x2aa85f=_0x11517c[_0x181451(0x173)]();if(!_0x2aa85f)return _0x181451(0x17e);const _0x175d7d=Number(_0x2aa85f);if(!Number[_0x181451(0x18a)](_0x175d7d)||_0x175d7d<=0x0)return _0x181451(0x160);return!![];}});return{'dbId':Number(_0x39ae88[_0x1cd84d(0x173)]())};}async function resolveSqlModeInput(_0x8a270e){const _0x215e8c=a107_0x221db3,_0x5b590e=_0x8a270e[_0x215e8c(0x158)]('mode')['trim']();if(_0x5b590e===_0x215e8c(0x179)||_0x5b590e===_0x215e8c(0x150))return _0x5b590e;if(_0x8a270e[_0x215e8c(0x18d)])throw CliErrors[_0x215e8c(0x14b)](_0x215e8c(0x152),_0x215e8c(0x185));return await select({'message':_0x215e8c(0x17a),'choices':[{'name':'普通\x20SQL(sql)','value':_0x215e8c(0x179),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x215e8c(0x15f),'value':_0x215e8c(0x150),'description':_0x215e8c(0x184)}]});}function serializeDbSelection(_0x406d9f){const _0x4e3b57=a107_0x221db3;return JSON[_0x4e3b57(0x186)]({'dbId':_0x406d9f[_0x4e3b57(0x149)],'dbName':_0x406d9f['dbName']});}function deserializeDbSelection(_0x480994){const _0x1f950b=a107_0x221db3;try{const _0x4ae51c=JSON[_0x1f950b(0x157)](_0x480994);if(typeof _0x4ae51c[_0x1f950b(0x149)]==='number'&&Number[_0x1f950b(0x162)](_0x4ae51c[_0x1f950b(0x149)]))return{'dbId':_0x4ae51c[_0x1f950b(0x149)],'dbName':_0x4ae51c['dbName']};}catch{}throw CliErrors[_0x1f950b(0x174)](_0x1f950b(0x161)+_0x480994);}function resolveProvidedDbId(_0x5c85b9){const _0x203a66=a107_0x221db3,_0x19ece6=_0x5c85b9[_0x203a66(0x156)](_0x203a66(0x189));if(typeof _0x19ece6===_0x203a66(0x181)&&Number[_0x203a66(0x162)](_0x19ece6))return _0x19ece6;return undefined;}
@@ -1 +1 @@
1
- const a108_0x5c2058=a108_0x3fd2;(function(_0x52b892,_0x12ecb1){const _0x79b642=a108_0x3fd2,_0x4cb3e6=_0x52b892();while(!![]){try{const _0x566d80=parseInt(_0x79b642(0xb0))/0x1+parseInt(_0x79b642(0x94))/0x2*(-parseInt(_0x79b642(0x9f))/0x3)+parseInt(_0x79b642(0xa2))/0x4+parseInt(_0x79b642(0x93))/0x5*(parseInt(_0x79b642(0xb4))/0x6)+parseInt(_0x79b642(0xb1))/0x7+-parseInt(_0x79b642(0xa0))/0x8*(-parseInt(_0x79b642(0x9a))/0x9)+-parseInt(_0x79b642(0x92))/0xa;if(_0x566d80===_0x12ecb1)break;else _0x4cb3e6['push'](_0x4cb3e6['shift']());}catch(_0x1a6b0c){_0x4cb3e6['push'](_0x4cb3e6['shift']());}}}(a108_0x1fa8,0x6608e));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a108_0x1fa8(){const _0x4e186b=['appCode','delete','sqlRoot','remoteId','high-risk-write','startsWith','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','entries','sqlRootDir','filter','\x20(local\x20file\x20moved\x20to\x20trash)','504546HhLJqR','5578776MtolEu','lockFilePath','validation','6174uwBgpu','toISOString','projectRoot','str','23876110JhUBzi','2345HsJahg','2AgNNBM','fromEntries','sqls','/smartapi/custom/deleteUserCustomSql','sqlcode','sql','27LbTKVW','Would\x20delete\x20SQL\x20','Deleted\x20','length','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','1267377lzyEtd','1782168PKUhUE','lastSync','3102304mmFhfk','trashedTo','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'];a108_0x1fa8=function(){return _0x4e186b;};return a108_0x1fa8();}import{CliErrors}from'../../errors.js';function a108_0x3fd2(_0x542f47,_0x2e3de0){_0x542f47=_0x542f47-0x90;const _0x1fa838=a108_0x1fa8();let _0x3fd2c7=_0x1fa838[_0x542f47];return _0x3fd2c7;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a108_0x5c2058(0x99),'command':a108_0x5c2058(0xa6),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a108_0x5c2058(0xa9),'flags':[SQLCODE_FLAG],async 'validate'(_0xd1b58b){const _0x4be289=a108_0x5c2058,_0x415f10=loadSqlProjectConfig(_0xd1b58b[_0x4be289(0xa5)]),_0x5c092b=await readSqlLockFile(_0x415f10[_0x4be289(0xb2)]);if(!_0x5c092b)throw CliErrors[_0x4be289(0xb3)](_0x4be289(0xab));},async 'dryRun'(_0x35b584){const _0x5260c7=a108_0x5c2058,_0x26b906=loadSqlProjectConfig(_0x35b584[_0x5260c7(0xa5)]),_0x2620c6=await readSqlLockFile(_0x26b906[_0x5260c7(0xb2)]);if(!_0x2620c6)throw CliErrors['validation'](_0x5260c7(0xab));const {appLock:_0x31cce7}=ensureSqlLockScope(_0x2620c6,_0x35b584[_0x5260c7(0xa5)],_0x26b906['sqlRoot'],_0x5260c7(0xa6)),_0x17fb51=_0x35b584[_0x5260c7(0x91)](_0x5260c7(0x98)),_0x82f240=_0x31cce7[_0x5260c7(0x96)][_0x17fb51];if(!_0x82f240)throw CliErrors[_0x5260c7(0xb3)](_0x5260c7(0x9e)+_0x17fb51+'\x22.');return{'method':'POST','url':_0x5260c7(0x97),'body':{'sqlCode':_0x17fb51,'id':_0x82f240['remoteId'],'localPath':resolveLocalSqlFilePath(_0x26b906,_0x17fb51,_0x82f240)},'description':_0x5260c7(0x9b)+_0x17fb51+_0x5260c7(0xa4)+_0x26b906['trashDir']};},async 'execute'(_0x347789){const _0x5894cc=a108_0x5c2058,_0x4a8df7=loadSqlProjectConfig(_0x347789[_0x5894cc(0xa5)]),_0x1ae3bb=await readSqlLockFile(_0x4a8df7['lockFilePath']);if(!_0x1ae3bb)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2d319f,appLock:_0x1dca18}=ensureSqlLockScope(_0x1ae3bb,_0x347789[_0x5894cc(0xa5)],_0x4a8df7[_0x5894cc(0xa7)],'delete'),_0x201838=_0x347789[_0x5894cc(0x91)](_0x5894cc(0x98)),_0x5154a9=_0x1dca18[_0x5894cc(0x96)][_0x201838];if(!_0x5154a9)throw CliErrors['validation'](_0x5894cc(0x9e)+_0x201838+'\x22.');await deleteSqlQuery({'id':_0x5154a9[_0x5894cc(0xa8)],'sqlCode':_0x201838}),_0x1dca18[_0x5894cc(0x96)]=Object[_0x5894cc(0x95)](Object[_0x5894cc(0xac)](_0x1dca18[_0x5894cc(0x96)])[_0x5894cc(0xae)](([_0x5cad0f])=>_0x5cad0f!==_0x201838)),_0x1dca18[_0x5894cc(0xa1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4a8df7[_0x5894cc(0xb2)],_0x2d319f);const _0x115d61=resolveLocalSqlFilePath(_0x4a8df7,_0x201838,_0x5154a9);let _0x568f01;await fileExists(_0x115d61)&&(_0x568f01=await moveToTrash(_0x4a8df7[_0x5894cc(0x90)],_0x4a8df7['trashDir'],_0x115d61),await cleanupEmptyDirectories(dirname(_0x115d61),_0x4a8df7[_0x5894cc(0xad)]));const _0x2970d2={'deleted':_0x201838,'remoteId':_0x5154a9['remoteId']};if(_0x568f01)_0x2970d2[_0x5894cc(0xa3)]=_0x568f01;return{'ok':!![],'data':_0x2970d2,'message':_0x5894cc(0x9c)+_0x201838+(_0x568f01?_0x5894cc(0xaf):'')};}};async function moveToTrash(_0x33f577,_0x2bf00f,_0x56c04f){const _0xaf13ff=a108_0x5c2058,_0x1d6c34=new Date()[_0xaf13ff(0xb5)]()['replace'](/[:.]/g,'-'),_0x1d2385=relative(_0x33f577,_0x56c04f),_0x4048f9=join(_0x2bf00f,_0x1d6c34,_0x1d2385);return await mkdir(dirname(_0x4048f9),{'recursive':!![]}),await rename(_0x56c04f,_0x4048f9),_0x4048f9;}async function cleanupEmptyDirectories(_0x281a24,_0x2a856a){const _0x10cc4a=a108_0x5c2058;let _0x3d3c59=resolve(_0x281a24);const _0x1a129b=resolve(_0x2a856a);while(_0x3d3c59[_0x10cc4a(0xaa)](''+_0x1a129b+sep)||_0x3d3c59===_0x1a129b){if(_0x3d3c59===_0x1a129b)return;try{const _0x235e72=await readdir(_0x3d3c59);if(_0x235e72[_0x10cc4a(0x9d)]>0x0)return;await rmdir(_0x3d3c59);}catch{return;}_0x3d3c59=dirname(_0x3d3c59);}}
1
+ const a108_0x58cf12=a108_0x4161;(function(_0x40a0e9,_0x26019e){const _0x555a23=a108_0x4161,_0x18a205=_0x40a0e9();while(!![]){try{const _0xc52a9a=parseInt(_0x555a23(0x169))/0x1*(parseInt(_0x555a23(0x161))/0x2)+-parseInt(_0x555a23(0x16b))/0x3+-parseInt(_0x555a23(0x174))/0x4*(-parseInt(_0x555a23(0x170))/0x5)+-parseInt(_0x555a23(0x175))/0x6+-parseInt(_0x555a23(0x16d))/0x7+parseInt(_0x555a23(0x177))/0x8+parseInt(_0x555a23(0x179))/0x9;if(_0xc52a9a===_0x26019e)break;else _0x18a205['push'](_0x18a205['shift']());}catch(_0x16128a){_0x18a205['push'](_0x18a205['shift']());}}}(a108_0x3824,0xe462b));function a108_0x4161(_0x428d87,_0x34e573){_0x428d87=_0x428d87-0x15f;const _0x382449=a108_0x3824();let _0x4161d2=_0x382449[_0x428d87];return _0x4161d2;}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a108_0x3824(){const _0x45f7de=['high-risk-write','sqlRoot','replace','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','appCode','entries','Would\x20delete\x20SQL\x20','trashDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','str','1322ZBEcZa','sqlcode','toISOString','validation','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','filter','trashedTo','\x20(local\x20file\x20moved\x20to\x20trash)','1963cjrMjq','lastSync','1329681zFLXro','POST','1666546EaICih','lockFilePath','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','472950BMybEF','Deleted\x20','delete','fromEntries','68gRDCKy','9521292vuThBz','remoteId','364760nacnEq','SQL\x20lock\x20file\x20not\x20found.','2272374ykMGhD','sqls','startsWith'];a108_0x3824=function(){return _0x45f7de;};return a108_0x3824();}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a108_0x58cf12(0x172),'description':a108_0x58cf12(0x16f),'risk':a108_0x58cf12(0x17c),'flags':[SQLCODE_FLAG],async 'validate'(_0x3df8be){const _0xbf67de=a108_0x58cf12,_0x1bf68c=loadSqlProjectConfig(_0x3df8be[_0xbf67de(0x180)]),_0x1ac8d4=await readSqlLockFile(_0x1bf68c[_0xbf67de(0x16e)]);if(!_0x1ac8d4)throw CliErrors[_0xbf67de(0x164)](_0xbf67de(0x17f));},async 'dryRun'(_0xf34de2){const _0x22c26b=a108_0x58cf12,_0x2f5583=loadSqlProjectConfig(_0xf34de2['appCode']),_0x331271=await readSqlLockFile(_0x2f5583[_0x22c26b(0x16e)]);if(!_0x331271)throw CliErrors[_0x22c26b(0x164)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x8e4345}=ensureSqlLockScope(_0x331271,_0xf34de2['appCode'],_0x2f5583['sqlRoot'],_0x22c26b(0x172)),_0x2f212f=_0xf34de2['str']('sqlcode'),_0x1dd646=_0x8e4345[_0x22c26b(0x17a)][_0x2f212f];if(!_0x1dd646)throw CliErrors[_0x22c26b(0x164)](_0x22c26b(0x165)+_0x2f212f+'\x22.');return{'method':_0x22c26b(0x16c),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x2f212f,'id':_0x1dd646[_0x22c26b(0x176)],'localPath':resolveLocalSqlFilePath(_0x2f5583,_0x2f212f,_0x1dd646)},'description':_0x22c26b(0x182)+_0x2f212f+_0x22c26b(0x15f)+_0x2f5583[_0x22c26b(0x183)]};},async 'execute'(_0x11d7df){const _0x46139c=a108_0x58cf12,_0x2ebb86=loadSqlProjectConfig(_0x11d7df['appCode']),_0x3f6443=await readSqlLockFile(_0x2ebb86[_0x46139c(0x16e)]);if(!_0x3f6443)throw CliErrors[_0x46139c(0x164)](_0x46139c(0x178));const {lockData:_0x55304c,appLock:_0x40a28f}=ensureSqlLockScope(_0x3f6443,_0x11d7df[_0x46139c(0x180)],_0x2ebb86[_0x46139c(0x17d)],_0x46139c(0x172)),_0x1cd5ef=_0x11d7df[_0x46139c(0x160)](_0x46139c(0x162)),_0x28750e=_0x40a28f['sqls'][_0x1cd5ef];if(!_0x28750e)throw CliErrors[_0x46139c(0x164)](_0x46139c(0x165)+_0x1cd5ef+'\x22.');await deleteSqlQuery({'id':_0x28750e[_0x46139c(0x176)],'sqlCode':_0x1cd5ef}),_0x40a28f[_0x46139c(0x17a)]=Object[_0x46139c(0x173)](Object[_0x46139c(0x181)](_0x40a28f[_0x46139c(0x17a)])[_0x46139c(0x166)](([_0x34d1ba])=>_0x34d1ba!==_0x1cd5ef)),_0x40a28f[_0x46139c(0x16a)]=new Date()[_0x46139c(0x163)](),await writeSqlLockFile(_0x2ebb86['lockFilePath'],_0x55304c);const _0x4f882b=resolveLocalSqlFilePath(_0x2ebb86,_0x1cd5ef,_0x28750e);let _0x2db1bc;await fileExists(_0x4f882b)&&(_0x2db1bc=await moveToTrash(_0x2ebb86['projectRoot'],_0x2ebb86['trashDir'],_0x4f882b),await cleanupEmptyDirectories(dirname(_0x4f882b),_0x2ebb86['sqlRootDir']));const _0x1db015={'deleted':_0x1cd5ef,'remoteId':_0x28750e[_0x46139c(0x176)]};if(_0x2db1bc)_0x1db015[_0x46139c(0x167)]=_0x2db1bc;return{'ok':!![],'data':_0x1db015,'message':_0x46139c(0x171)+_0x1cd5ef+(_0x2db1bc?_0x46139c(0x168):'')};}};async function moveToTrash(_0x399701,_0x505e6d,_0x10ca2b){const _0x4c65e9=a108_0x58cf12,_0x108445=new Date()[_0x4c65e9(0x163)]()[_0x4c65e9(0x17e)](/[:.]/g,'-'),_0xb3ecf7=relative(_0x399701,_0x10ca2b),_0x4e17c9=join(_0x505e6d,_0x108445,_0xb3ecf7);return await mkdir(dirname(_0x4e17c9),{'recursive':!![]}),await rename(_0x10ca2b,_0x4e17c9),_0x4e17c9;}async function cleanupEmptyDirectories(_0x367176,_0x278df2){const _0x2a6162=a108_0x58cf12;let _0xb570d9=resolve(_0x367176);const _0x2e7f62=resolve(_0x278df2);while(_0xb570d9[_0x2a6162(0x17b)](''+_0x2e7f62+sep)||_0xb570d9===_0x2e7f62){if(_0xb570d9===_0x2e7f62)return;try{const _0x366c8f=await readdir(_0xb570d9);if(_0x366c8f['length']>0x0)return;await rmdir(_0xb570d9);}catch{return;}_0xb570d9=dirname(_0xb570d9);}}
@@ -1 +1 @@
1
- function a109_0x1ea6(_0x3ccb25,_0x28e96e){_0x3ccb25=_0x3ccb25-0xbd;const _0x351b39=a109_0x351b();let _0x1ea6ef=_0x351b39[_0x3ccb25];return _0x1ea6ef;}const a109_0x377c7b=a109_0x1ea6;(function(_0x13880d,_0x1264c3){const _0x17c248=a109_0x1ea6,_0x30837c=_0x13880d();while(!![]){try{const _0x391975=parseInt(_0x17c248(0xcd))/0x1*(parseInt(_0x17c248(0xca))/0x2)+parseInt(_0x17c248(0xbd))/0x3+parseInt(_0x17c248(0xc9))/0x4+-parseInt(_0x17c248(0xcf))/0x5+-parseInt(_0x17c248(0xc8))/0x6+parseInt(_0x17c248(0xc6))/0x7*(-parseInt(_0x17c248(0xd1))/0x8)+parseInt(_0x17c248(0xc2))/0x9*(parseInt(_0x17c248(0xd4))/0xa);if(_0x391975===_0x1264c3)break;else _0x30837c['push'](_0x30837c['shift']());}catch(_0x38ea88){_0x30837c['push'](_0x30837c['shift']());}}}(a109_0x351b,0x41615));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a109_0x377c7b(0xd2),'command':a109_0x377c7b(0xd0),'description':a109_0x377c7b(0xc7),'risk':a109_0x377c7b(0xcb),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a109_0x377c7b(0xce),'description':a109_0x377c7b(0xc0)}],async 'execute'(_0x2f59f1){const _0x27be40=a109_0x377c7b,_0x4bd093=await getSqlQueryInfo(_0x2f59f1[_0x27be40(0xc4)],_0x2f59f1[_0x27be40(0xc1)](_0x27be40(0xc3))),_0x4ba2bc=_0x2f59f1[_0x27be40(0xbf)](_0x27be40(0xc5));if(_0x4ba2bc)return{'ok':!![],'data':_0x4bd093};const _0x5224e0=_0x4bd093[_0x27be40(0xd5)]?await getDbName(_0x2f59f1[_0x27be40(0xc4)],_0x4bd093['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x4bd093[_0x27be40(0xbe)],'sqlName':_0x4bd093['sqlName'],'db':_0x5224e0?_0x5224e0+'\x20('+_0x4bd093['dbId']+')':_0x4bd093[_0x27be40(0xd5)]??'','description':_0x4bd093[_0x27be40(0xd3)]??'','sqlContent':_0x4bd093[_0x27be40(0xcc)]??''}};}};function a109_0x351b(){const _0x41fe3a=['810830FCkHtb','detail','15432EaTNbl','sql','description','10xWnzqL','dbId','1600536qGfGys','sqlCode','bool','Return\x20full\x20raw\x20SQL\x20query\x20object','str','1114623jYHxCX','sqlcode','appCode','verbose','175ltjbhF','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','2017440QyQwer','477960dOhQZq','2RDOyGY','read','sqlContent','37579yCENkc','boolean'];a109_0x351b=function(){return _0x41fe3a;};return a109_0x351b();}
1
+ const a109_0x36a34c=a109_0x3754;(function(_0x55ac2a,_0x5288bf){const _0x215db7=a109_0x3754,_0x58e463=_0x55ac2a();while(!![]){try{const _0x38f81e=parseInt(_0x215db7(0xd5))/0x1+-parseInt(_0x215db7(0xe1))/0x2*(-parseInt(_0x215db7(0xe0))/0x3)+parseInt(_0x215db7(0xdd))/0x4*(-parseInt(_0x215db7(0xdf))/0x5)+parseInt(_0x215db7(0xe9))/0x6*(-parseInt(_0x215db7(0xe7))/0x7)+-parseInt(_0x215db7(0xde))/0x8*(parseInt(_0x215db7(0xe4))/0x9)+parseInt(_0x215db7(0xd6))/0xa*(-parseInt(_0x215db7(0xd4))/0xb)+parseInt(_0x215db7(0xe8))/0xc*(parseInt(_0x215db7(0xe2))/0xd);if(_0x38f81e===_0x5288bf)break;else _0x58e463['push'](_0x58e463['shift']());}catch(_0x1976c5){_0x58e463['push'](_0x58e463['shift']());}}}(a109_0x292d,0x76fdb));function a109_0x3754(_0x1fb73b,_0x1d5a50){_0x1fb73b=_0x1fb73b-0xd3;const _0x292d5c=a109_0x292d();let _0x375410=_0x292d5c[_0x1fb73b];return _0x375410;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':'detail','description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a109_0x36a34c(0xd9),'type':a109_0x36a34c(0xe3),'description':a109_0x36a34c(0xd8)}],async 'execute'(_0x2f33af){const _0x184ee6=a109_0x36a34c,_0xf22973=await getSqlQueryInfo(_0x2f33af[_0x184ee6(0xda)],_0x2f33af[_0x184ee6(0xe5)](_0x184ee6(0xdb))),_0x1245b5=_0x2f33af['bool'](_0x184ee6(0xd9));if(_0x1245b5)return{'ok':!![],'data':_0xf22973};const _0x39550b=_0xf22973[_0x184ee6(0xd7)]?await getDbName(_0x2f33af['appCode'],_0xf22973[_0x184ee6(0xd7)]):undefined;return{'ok':!![],'data':{'sqlCode':_0xf22973[_0x184ee6(0xe6)],'sqlName':_0xf22973[_0x184ee6(0xd3)],'db':_0x39550b?_0x39550b+'\x20('+_0xf22973[_0x184ee6(0xd7)]+')':_0xf22973[_0x184ee6(0xd7)]??'','description':_0xf22973['description']??'','sqlContent':_0xf22973[_0x184ee6(0xdc)]??''}};}};function a109_0x292d(){const _0x1163b2=['sqlName','55cAoByb','512324wLWQdG','896570oDIHgU','dbId','Return\x20full\x20raw\x20SQL\x20query\x20object','verbose','appCode','sqlcode','sqlContent','220KxkrSJ','11040KEqlBI','20675HnRPOx','2031FNwUEy','638RVIrQJ','26kRuCEc','boolean','4203AomrxR','str','sqlCode','1157716NlhIPM','8460276qLtQcy','12gbXgXj'];a109_0x292d=function(){return _0x1163b2;};return a109_0x292d();}
@@ -1 +1 @@
1
- const a110_0x447b83=a110_0x71bb;(function(_0x974c79,_0x32f9c1){const _0x3d41fb=a110_0x71bb,_0x41eccb=_0x974c79();while(!![]){try{const _0x31397e=-parseInt(_0x3d41fb(0xbd))/0x1*(-parseInt(_0x3d41fb(0xd1))/0x2)+-parseInt(_0x3d41fb(0xc7))/0x3*(parseInt(_0x3d41fb(0xbe))/0x4)+parseInt(_0x3d41fb(0xbc))/0x5*(parseInt(_0x3d41fb(0xd3))/0x6)+parseInt(_0x3d41fb(0xcc))/0x7+parseInt(_0x3d41fb(0xcf))/0x8+parseInt(_0x3d41fb(0xce))/0x9*(parseInt(_0x3d41fb(0xca))/0xa)+-parseInt(_0x3d41fb(0xcb))/0xb*(parseInt(_0x3d41fb(0xd0))/0xc);if(_0x31397e===_0x32f9c1)break;else _0x41eccb['push'](_0x41eccb['shift']());}catch(_0x158cc1){_0x41eccb['push'](_0x41eccb['shift']());}}}(a110_0x57de,0xb862e));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a110_0x71bb(_0x14e7ff,_0x4c3547){_0x14e7ff=_0x14e7ff-0xbb;const _0x57de8a=a110_0x57de();let _0x71bb41=_0x57de8a[_0x14e7ff];return _0x71bb41;}import{parseJsonParams}from'../../utils/params.js';function a110_0x57de(){const _0x18ce5c=['isArray','exec','str','execSuccess','3871617nORwcn','execError','read','3343770oQhHSj','421058TgMDqx','7353444dMnEOQ','execResult','36HcLBeH','4546936OBLFbC','1056LQoYpz','121522LuDVKS','SQL\x20execution\x20failed','6362274BPBFCQ','now','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','sql','5EmEXle','23aFpvfG','4aeDxdm','string','params','sqlcode','length'];a110_0x57de=function(){return _0x18ce5c;};return a110_0x57de();}export const sqlExec={'service':a110_0x447b83(0xbb),'command':a110_0x447b83(0xc4),'description':a110_0x447b83(0xd5),'risk':a110_0x447b83(0xc9),'flags':[SQLCODE_FLAG,{'name':a110_0x447b83(0xc0),'type':a110_0x447b83(0xbf),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x15bbb1){const _0x5f436a=a110_0x447b83,_0x574ba6=parseJsonParams(_0x15bbb1[_0x5f436a(0xc5)](_0x5f436a(0xc0))),_0x46df17=Date[_0x5f436a(0xd4)](),_0x2ff2aa=await executeSql(_0x15bbb1['appCode'],_0x15bbb1[_0x5f436a(0xc5)](_0x5f436a(0xc1)),_0x574ba6),_0x1eb76d=Date[_0x5f436a(0xd4)]()-_0x46df17,_0xc10771=_0x2ff2aa?.[_0x5f436a(0xcd)]??_0x2ff2aa,_0x27d805=_0x2ff2aa?.[_0x5f436a(0xc6)]??!![];if(!_0x27d805)return{'ok':![],'data':{'error':_0x2ff2aa?.[_0x5f436a(0xc8)]||'SQL\x20execution\x20failed','elapsed':_0x1eb76d},'message':_0x5f436a(0xd2)};const _0x169b18=Array[_0x5f436a(0xc3)](_0xc10771)?_0xc10771:[];return{'ok':!![],'data':{'rows':_0x169b18,'rowCount':_0x169b18['length'],'elapsed':_0x1eb76d},'message':'Returned\x20'+_0x169b18[_0x5f436a(0xc2)]+'\x20row(s)\x20in\x20'+_0x1eb76d+'ms'};}};
1
+ const a110_0x460f25=a110_0x5aa7;(function(_0x642d6b,_0x2e63e8){const _0x4a0f6a=a110_0x5aa7,_0x10a2de=_0x642d6b();while(!![]){try{const _0x1ffd18=-parseInt(_0x4a0f6a(0x163))/0x1+parseInt(_0x4a0f6a(0x15c))/0x2*(-parseInt(_0x4a0f6a(0x15d))/0x3)+-parseInt(_0x4a0f6a(0x164))/0x4+parseInt(_0x4a0f6a(0x15a))/0x5+-parseInt(_0x4a0f6a(0x169))/0x6+-parseInt(_0x4a0f6a(0x15e))/0x7*(parseInt(_0x4a0f6a(0x154))/0x8)+-parseInt(_0x4a0f6a(0x15f))/0x9*(-parseInt(_0x4a0f6a(0x157))/0xa);if(_0x1ffd18===_0x2e63e8)break;else _0x10a2de['push'](_0x10a2de['shift']());}catch(_0x415bb1){_0x10a2de['push'](_0x10a2de['shift']());}}}(a110_0x1359,0x395ed));function a110_0x5aa7(_0x17d422,_0x260b59){_0x17d422=_0x17d422-0x151;const _0x13593f=a110_0x1359();let _0x5aa76c=_0x13593f[_0x17d422];return _0x5aa76c;}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':a110_0x460f25(0x151),'description':a110_0x460f25(0x167),'risk':a110_0x460f25(0x15b),'flags':[SQLCODE_FLAG,{'name':a110_0x460f25(0x160),'type':a110_0x460f25(0x153),'description':a110_0x460f25(0x156)}],async 'execute'(_0x452f15){const _0xd23b9d=a110_0x460f25,_0x17c38b=parseJsonParams(_0x452f15['str']('params')),_0x45452d=Date[_0xd23b9d(0x165)](),_0x21cc60=await executeSql(_0x452f15[_0xd23b9d(0x155)],_0x452f15[_0xd23b9d(0x168)](_0xd23b9d(0x162)),_0x17c38b),_0xa293cb=Date['now']()-_0x45452d,_0x48a0ce=_0x21cc60?.[_0xd23b9d(0x158)]??_0x21cc60,_0x3caf99=_0x21cc60?.[_0xd23b9d(0x159)]??!![];if(!_0x3caf99)return{'ok':![],'data':{'error':_0x21cc60?.[_0xd23b9d(0x166)]||'SQL\x20execution\x20failed','elapsed':_0xa293cb},'message':_0xd23b9d(0x161)};const _0x4e91a7=Array['isArray'](_0x48a0ce)?_0x48a0ce:[];return{'ok':!![],'data':{'rows':_0x4e91a7,'rowCount':_0x4e91a7['length'],'elapsed':_0xa293cb},'message':'Returned\x20'+_0x4e91a7[_0xd23b9d(0x152)]+'\x20row(s)\x20in\x20'+_0xa293cb+'ms'};}};function a110_0x1359(){const _0x50b07e=['string','40WVHMzn','appCode','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','533050LGLCcW','execResult','execSuccess','1044725RCJbnp','read','16DHHICE','107367oMPpjJ','174034eOKihT','171piCqaA','params','SQL\x20execution\x20failed','sqlcode','105046eOebwI','1242464nRuEon','now','execError','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','str','962802LeZHVR','exec','length'];a110_0x1359=function(){return _0x50b07e;};return a110_0x1359();}