@lovrabet/rabetbase-cli 2.1.7-beta.3 → 2.1.7-beta.5

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 (196) 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/delete.js +1 -1
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/index.js +1 -1
  54. package/lib/commands/dataset/link-create.js +1 -1
  55. package/lib/commands/dataset/link-delete.js +1 -1
  56. package/lib/commands/dataset/link-shared.js +1 -1
  57. package/lib/commands/dataset/link-update.js +1 -1
  58. package/lib/commands/dataset/links.js +1 -1
  59. package/lib/commands/dataset/list.js +1 -1
  60. package/lib/commands/dataset/operations.js +1 -1
  61. package/lib/commands/db/analyze-cancel.js +1 -1
  62. package/lib/commands/db/analyze-start.js +1 -1
  63. package/lib/commands/db/analyze-status.js +1 -1
  64. package/lib/commands/db/create.js +1 -1
  65. package/lib/commands/db/delete.js +1 -1
  66. package/lib/commands/db/detail.js +1 -1
  67. package/lib/commands/db/diff.js +1 -1
  68. package/lib/commands/db/index.js +1 -1
  69. package/lib/commands/db/list.js +1 -1
  70. package/lib/commands/db/shared.js +1 -1
  71. package/lib/commands/db/tables.js +1 -1
  72. package/lib/commands/db/test.js +1 -1
  73. package/lib/commands/db/update.js +1 -1
  74. package/lib/commands/doctor.js +1 -1
  75. package/lib/commands/init/index.js +1 -1
  76. package/lib/commands/issue/index.js +1 -1
  77. package/lib/commands/issue/report.js +1 -1
  78. package/lib/commands/logs/index.js +1 -1
  79. package/lib/commands/menu/index.js +1 -1
  80. package/lib/commands/menu/shared/compare-table.js +1 -1
  81. package/lib/commands/menu/shared/index.js +1 -1
  82. package/lib/commands/menu/shared/inquirer.js +1 -1
  83. package/lib/commands/menu/shared/local-pages.js +1 -1
  84. package/lib/commands/menu/shared/logic.js +1 -1
  85. package/lib/commands/menu/shared/service.js +1 -1
  86. package/lib/commands/menu/shared/sync-core.js +1 -1
  87. package/lib/commands/menu/shared/update-core.js +1 -1
  88. package/lib/commands/menu/shared/valid-url.js +1 -1
  89. package/lib/commands/menu/sync.js +1 -1
  90. package/lib/commands/menu/update.js +1 -1
  91. package/lib/commands/page/generate-start.js +1 -1
  92. package/lib/commands/page/generate-status.js +1 -1
  93. package/lib/commands/page/index.js +1 -1
  94. package/lib/commands/page/pull.js +1 -1
  95. package/lib/commands/page/push.js +1 -1
  96. package/lib/commands/page/shared.js +1 -1
  97. package/lib/commands/page/standard-page-status.js +1 -1
  98. package/lib/commands/page/sync.js +1 -1
  99. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  100. package/lib/commands/project/create/format-elapsed.js +1 -1
  101. package/lib/commands/project/create/main.js +1 -1
  102. package/lib/commands/project/create/non-interactive.js +1 -1
  103. package/lib/commands/project/create/project-template-path.js +1 -1
  104. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  105. package/lib/commands/project/create/use-format-code.js +1 -1
  106. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  107. package/lib/commands/project/index.js +1 -1
  108. package/lib/commands/project/init.js +1 -1
  109. package/lib/commands/project/upgrade.js +1 -1
  110. package/lib/commands/registry.js +1 -1
  111. package/lib/commands/run/index.js +1 -1
  112. package/lib/commands/schema.js +1 -1
  113. package/lib/commands/skill/index.js +1 -1
  114. package/lib/commands/sql/create.js +1 -1
  115. package/lib/commands/sql/delete.js +1 -1
  116. package/lib/commands/sql/detail.js +1 -1
  117. package/lib/commands/sql/exec.js +1 -1
  118. package/lib/commands/sql/index.js +1 -1
  119. package/lib/commands/sql/list.js +1 -1
  120. package/lib/commands/sql/pull.js +1 -1
  121. package/lib/commands/sql/push.js +1 -1
  122. package/lib/commands/sql/save.js +1 -1
  123. package/lib/commands/sql/shared.js +1 -1
  124. package/lib/commands/sql/status.js +1 -1
  125. package/lib/commands/sql/validate.js +1 -1
  126. package/lib/config/schema.js +1 -1
  127. package/lib/constant/cdn.js +1 -1
  128. package/lib/constant/cli.js +1 -1
  129. package/lib/constant/defaults.js +1 -1
  130. package/lib/constant/domain.js +1 -1
  131. package/lib/constant/env.js +1 -1
  132. package/lib/constant/output.js +1 -1
  133. package/lib/constant/paths.js +1 -1
  134. package/lib/constant/risk.js +1 -1
  135. package/lib/context.js +1 -1
  136. package/lib/core/alias-resolver.js +1 -1
  137. package/lib/core/api-client.js +1 -1
  138. package/lib/core/bff/config.js +1 -1
  139. package/lib/core/bff/file-system.js +1 -1
  140. package/lib/core/bff/hash.js +1 -1
  141. package/lib/core/bff/lock.js +1 -1
  142. package/lib/core/bff/utils.js +1 -1
  143. package/lib/core/db-resolver.js +1 -1
  144. package/lib/core/page/file-system.js +1 -1
  145. package/lib/core/page/hash.js +1 -1
  146. package/lib/core/page/lock.js +1 -1
  147. package/lib/core/sql-sync/config.js +1 -1
  148. package/lib/core/sql-sync/file-system.js +1 -1
  149. package/lib/core/sql-sync/hash.js +1 -1
  150. package/lib/core/sql-sync/lock.js +1 -1
  151. package/lib/core/sql-sync/utils.js +1 -1
  152. package/lib/core/sql-validator.js +1 -1
  153. package/lib/errors.js +1 -1
  154. package/lib/framework/build-all-flags.js +1 -1
  155. package/lib/framework/flags.js +1 -1
  156. package/lib/framework/help.js +1 -1
  157. package/lib/framework/index.js +1 -1
  158. package/lib/framework/output.js +1 -1
  159. package/lib/framework/response.js +1 -1
  160. package/lib/framework/runner-alias.js +1 -1
  161. package/lib/framework/runner.js +1 -1
  162. package/lib/framework/schema-export.js +1 -1
  163. package/lib/framework/types.js +1 -1
  164. package/lib/generated/build-info.js +1 -1
  165. package/lib/help.js +1 -1
  166. package/lib/skills/main.js +1 -1
  167. package/lib/skills/npx-skills-add.js +1 -1
  168. package/lib/telemetry/cli-command-trace.js +1 -1
  169. package/lib/telemetry/cli-help-trace.js +1 -1
  170. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  171. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  172. package/lib/telemetry/send-cli-trace-log.js +1 -1
  173. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  174. package/lib/utils/ai_config.js +1 -1
  175. package/lib/utils/apply-jq-filter.js +1 -1
  176. package/lib/utils/cdn-config.js +1 -1
  177. package/lib/utils/check-sdk-version.js +1 -1
  178. package/lib/utils/cli-version-check.js +1 -1
  179. package/lib/utils/cli-version-policy.js +1 -1
  180. package/lib/utils/config.js +1 -1
  181. package/lib/utils/copy-directory.js +1 -1
  182. package/lib/utils/entity-with-id.js +1 -1
  183. package/lib/utils/file-utils.js +1 -1
  184. package/lib/utils/guides-cdn.js +1 -1
  185. package/lib/utils/http-client.js +1 -1
  186. package/lib/utils/is-non-interactive.js +1 -1
  187. package/lib/utils/logger.js +1 -1
  188. package/lib/utils/params.js +1 -1
  189. package/lib/utils/platform.js +1 -1
  190. package/lib/utils/rules-cdn.js +1 -1
  191. package/lib/utils/sleep.js +1 -1
  192. package/lib/utils/template-replacer.js +1 -1
  193. package/lib/utils/version.js +1 -1
  194. package/lib/utils/with-active-cookie.js +1 -1
  195. package/lib/utils/write-cli-side-channel.js +1 -1
  196. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x40a7f1,_0x410ee9){const _0x2c56d9=a109_0x13a3,_0x3dddf0=_0x40a7f1();while(!![]){try{const _0x5e6623=-parseInt(_0x2c56d9(0xcd))/0x1+parseInt(_0x2c56d9(0x129))/0x2*(-parseInt(_0x2c56d9(0x11c))/0x3)+parseInt(_0x2c56d9(0x126))/0x4*(-parseInt(_0x2c56d9(0xfc))/0x5)+parseInt(_0x2c56d9(0xe4))/0x6*(-parseInt(_0x2c56d9(0xbe))/0x7)+parseInt(_0x2c56d9(0xf9))/0x8+-parseInt(_0x2c56d9(0x121))/0x9+-parseInt(_0x2c56d9(0xd4))/0xa*(-parseInt(_0x2c56d9(0x125))/0xb);if(_0x5e6623===_0x410ee9)break;else _0x3dddf0['push'](_0x3dddf0['shift']());}catch(_0x59b0e5){_0x3dddf0['push'](_0x3dddf0['shift']());}}}(a109_0x4ff8,0xe2658));import a109_0x19a117 from'chalk';import a109_0x3945a2 from'ora';function a109_0x13a3(_0x2951ba,_0x220f34){_0x2951ba=_0x2951ba-0xbd;const _0x4ff8b5=a109_0x4ff8();let _0x13a331=_0x4ff8b5[_0x2951ba];return _0x13a331;}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'](_0x748b75=>_0x748b75!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x14bf9e){const _0x3a4aa3=a109_0x13a3,_0x1c3203=[];for(const _0x14cf8e of Object[_0x3a4aa3(0xd6)](CORE_IDE_CONFIGS)){if(_0x14cf8e[_0x3a4aa3(0xc4)])for(const _0x180af0 of _0x14cf8e[_0x3a4aa3(0xc4)]){_0x1c3203['push'](resolve(_0x14bf9e,_0x180af0[_0x3a4aa3(0x13e)]));}}return _0x1c3203;}function analyse(_0x14b241){const _0x2e6616=a109_0x13a3;let _0x1fd146=null;const _0x5f5914=resolve(_0x14b241,NEW_CONFIG_NAME),_0x5d6227=existsSync(_0x5f5914);for(const _0x59f0e0 of LEGACY_CONFIG_NAMES){const _0x59f07f=resolve(_0x14b241,_0x59f0e0);if(existsSync(_0x59f07f)){const _0x1ff7d3=readConfigFile(_0x59f07f),_0x1379b1=Object[_0x2e6616(0xd7)](_0x1ff7d3)['filter'](_0x5c767e=>typeof _0x1ff7d3[_0x5c767e]!==_0x2e6616(0x131));_0x1fd146={'oldPath':_0x59f07f,'hasNewConfig':_0x5d6227,'fields':_0x1379b1};break;}}const _0x47dd17=[],_0x4092ab=resolve(_0x14b241,'.lovrabet');if(existsSync(_0x4092ab))_0x47dd17[_0x2e6616(0xd1)](_0x4092ab);const _0x178b86=resolve(_0x14b241,_0x2e6616(0x109));if(existsSync(_0x178b86))_0x47dd17[_0x2e6616(0xd1)](_0x178b86);const _0x29dea3=resolve(_0x14b241,_0x2e6616(0xf5));if(existsSync(_0x29dea3))_0x47dd17['push'](_0x29dea3);for(const _0x1c8486 of collectIdeSkillFiles(_0x14b241)){if(existsSync(_0x1c8486))_0x47dd17['push'](_0x1c8486);}let _0x4f19cb=null;const _0x5f3d93=resolve(_0x14b241,'.cursor/mcp.json');if(existsSync(_0x5f3d93))try{const _0x32f6e8=JSON[_0x2e6616(0x137)](readFileSync(_0x5f3d93,_0x2e6616(0xcf)));if(_0x32f6e8?.[_0x2e6616(0xe3)]&&typeof _0x32f6e8[_0x2e6616(0xe3)]===_0x2e6616(0x107)){const _0x26fcea=[];for(const [_0x2a7b69,_0x445e84]of Object[_0x2e6616(0xbf)](_0x32f6e8[_0x2e6616(0xe3)])){const _0xe10f24=_0x445e84;_0xe10f24?.['args']&&Array[_0x2e6616(0xca)](_0xe10f24[_0x2e6616(0x104)])&&_0xe10f24[_0x2e6616(0x104)][_0x2e6616(0xf1)](_0x10ab23=>typeof _0x10ab23===_0x2e6616(0xf6)&&_0x10ab23[_0x2e6616(0x10a)](_0x2e6616(0xf3)))&&_0x26fcea[_0x2e6616(0xd1)](_0x2a7b69);}_0x26fcea[_0x2e6616(0xff)]>0x0&&(_0x4f19cb={'path':_0x5f3d93,'keys':_0x26fcea});}}catch{}const _0x2643ad=_0x47dd17['length']>0x0||_0x1fd146!==null;let _0x411a32=null;const _0x22d87b=resolve(_0x14b241,_0x2e6616(0x105));if(existsSync(_0x22d87b))try{const _0x222d46=JSON[_0x2e6616(0x137)](readFileSync(_0x22d87b,_0x2e6616(0xcf)));for(const _0x15dd8e of['dependencies',_0x2e6616(0x10d)]){const _0x207cc4=_0x222d46?.[_0x15dd8e]?.[_0x2e6616(0x135)];if(typeof _0x207cc4===_0x2e6616(0xf6)){_0x207cc4!==_0x2e6616(0xed)&&(_0x411a32={'pkgPath':_0x22d87b,'currentVersion':_0x207cc4,'field':_0x15dd8e});break;}}}catch{}return{'configMigration':_0x1fd146,'oldArtifacts':_0x47dd17,'oldMcpConfig':_0x4f19cb,'needsSkillSwap':_0x2643ad,'sdkUpgrade':_0x411a32};}function printReport(_0x2332c6){const _0x3a429a=a109_0x13a3,{configMigration:_0x2b69a7,oldArtifacts:_0x12a2dc,oldMcpConfig:_0x4927c3,needsSkillSwap:_0x2345b0}=_0x2332c6;console['log'](''),console[_0x3a429a(0xfd)](a109_0x19a117['bold'](_0x3a429a(0x112))),console[_0x3a429a(0xfd)]('');_0x2b69a7?(console[_0x3a429a(0xfd)](a109_0x19a117[_0x3a429a(0xea)](_0x3a429a(0x127))+('\x20\x20'+a109_0x19a117[_0x3a429a(0x13a)](_0x2b69a7[_0x3a429a(0xd2)]))),console[_0x3a429a(0xfd)](_0x3a429a(0x106)+(_0x2b69a7[_0x3a429a(0x114)]?a109_0x19a117['green'](_0x3a429a(0xf8)):a109_0x19a117[_0x3a429a(0xda)](_0x3a429a(0x13c)))),console[_0x3a429a(0xfd)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x2b69a7[_0x3a429a(0x11e)]['join'](',\x20')),console['log'](_0x3a429a(0x128))):console[_0x3a429a(0xfd)](a109_0x19a117['cyan'](_0x3a429a(0x127))+'\x20\x20'+a109_0x19a117['gray'](_0x3a429a(0x123)));console[_0x3a429a(0xfd)]('');if(_0x12a2dc[_0x3a429a(0xff)]>0x0){console[_0x3a429a(0xfd)](a109_0x19a117[_0x3a429a(0xea)](_0x3a429a(0xc7)));for(const _0x44e716 of _0x12a2dc){console[_0x3a429a(0xfd)]('\x20\x20'+a109_0x19a117['red']('FOUND')+'\x20\x20'+_0x44e716);}console[_0x3a429a(0xfd)](_0x3a429a(0x10e));}else console[_0x3a429a(0xfd)](a109_0x19a117[_0x3a429a(0xea)](_0x3a429a(0xc7))+'\x20\x20'+a109_0x19a117[_0x3a429a(0xda)]('none\x20found'));console[_0x3a429a(0xfd)]('');_0x4927c3?(console['log'](a109_0x19a117[_0x3a429a(0xea)](_0x3a429a(0x10b))+('\x20\x20'+a109_0x19a117['yellow'](_0x4927c3[_0x3a429a(0x13e)])+_0x3a429a(0xdb)+_0x4927c3[_0x3a429a(0xd7)]['join'](',\x20'))),console['log']('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x3a429a(0xfd)](a109_0x19a117['cyan'](_0x3a429a(0x10b))+'\x20\x20'+a109_0x19a117[_0x3a429a(0xda)](_0x3a429a(0xd8)));console['log'](''),console['log'](a109_0x19a117[_0x3a429a(0xea)]('Skill\x20swap:')+('\x20\x20'+(_0x2345b0?a109_0x19a117['yellow']('needed'):a109_0x19a117['green'](_0x3a429a(0xe1)))));_0x2345b0&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x3a429a(0xfd)]('');if(_0x2332c6[_0x3a429a(0xcb)]){const {currentVersion:_0x46258a,field:_0x4b9f14,pkgPath:_0x5a3266}=_0x2332c6[_0x3a429a(0xcb)];console[_0x3a429a(0xfd)](a109_0x19a117[_0x3a429a(0xea)]('@lovrabet/sdk:')+('\x20\x20'+a109_0x19a117[_0x3a429a(0x13a)](_0x5a3266))),console[_0x3a429a(0xfd)](_0x3a429a(0xf4)+_0x4b9f14+':\x20'+a109_0x19a117[_0x3a429a(0x13a)](_0x46258a)+_0x3a429a(0xe7)+a109_0x19a117[_0x3a429a(0x117)]('latest')),console[_0x3a429a(0xfd)](_0x3a429a(0xbd));}else console[_0x3a429a(0xfd)](a109_0x19a117[_0x3a429a(0xea)](_0x3a429a(0xdd))+'\x20\x20'+a109_0x19a117[_0x3a429a(0xda)](_0x3a429a(0x12f)));console[_0x3a429a(0xfd)]('');}function execConfigMigration(_0x3d9919,_0x594a97){const _0x183058=a109_0x13a3,{configMigration:_0x1500ca}=_0x3d9919;if(!_0x1500ca?.[_0x183058(0xd2)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x183058(0xe2)};const _0x5b4205=readConfigFile(_0x1500ca['oldPath']),_0x119444=resolve(_0x594a97,NEW_CONFIG_NAME),_0x4ca047=_0x1500ca['hasNewConfig']?readConfigFile(_0x119444):{};for(const [_0xb23f3e,_0x5c97ed]of Object[_0x183058(0xbf)](_0x5b4205)){!(_0xb23f3e in _0x4ca047)&&(_0x4ca047[_0xb23f3e]=_0x5c97ed);}writeConfigFile(_0x119444,_0x4ca047);const _0x34957d=_0x1500ca[_0x183058(0xd2)]+_0x183058(0x11d);return renameSync(_0x1500ca['oldPath'],_0x34957d),{'step':0x1,'label':_0x183058(0xf7),'ok':!![],'detail':_0x1500ca[_0x183058(0xd2)]+_0x183058(0xe7)+_0x119444+_0x183058(0xc2)+_0x34957d+')'};}function execRemoveOldArtifacts(_0x9eea){const _0x36d2ab=a109_0x13a3,_0x406962=[];for(const _0x1232cd of _0x9eea){try{if(!existsSync(_0x1232cd))continue;const _0x596e75=tryStat(_0x1232cd);_0x596e75?.[_0x36d2ab(0xe6)]()?rmSync(_0x1232cd,{'recursive':!![],'force':!![]}):unlinkSync(_0x1232cd);}catch(_0x3807b5){_0x406962[_0x36d2ab(0xd1)](_0x1232cd+':\x20'+_0x3807b5[_0x36d2ab(0x12e)]);}}return{'step':0x3,'label':_0x36d2ab(0x12a),'ok':_0x406962[_0x36d2ab(0xff)]===0x0,'detail':_0x406962[_0x36d2ab(0xff)]>0x0?_0x9eea[_0x36d2ab(0xff)]-_0x406962[_0x36d2ab(0xff)]+'/'+_0x9eea['length']+'\x20removed\x20('+_0x406962[_0x36d2ab(0x138)](';\x20')+')':_0x9eea[_0x36d2ab(0xff)]+_0x36d2ab(0xee)};}function execCleanMcp(_0x1c5486){const _0x510955=a109_0x13a3;if(!_0x1c5486[_0x510955(0x103)])return{'step':0x4,'label':_0x510955(0xfb),'ok':!![],'detail':_0x510955(0xc9)};try{const _0x18b07f=readFileSync(_0x1c5486[_0x510955(0x103)]['path'],_0x510955(0xcf)),_0x19f92e=JSON[_0x510955(0x137)](_0x18b07f);if(_0x19f92e?.[_0x510955(0xe3)]&&typeof _0x19f92e['mcpServers']==='object'){const _0x5b408=[];for(const [_0x114758,_0x1fa928]of Object[_0x510955(0xbf)](_0x19f92e[_0x510955(0xe3)])){_0x1fa928?.['args']&&Array[_0x510955(0xca)](_0x1fa928[_0x510955(0x104)])&&_0x1fa928[_0x510955(0x104)][_0x510955(0xf1)](_0x36ea81=>typeof _0x36ea81===_0x510955(0xf6)&&_0x36ea81[_0x510955(0x10a)](_0x510955(0xf3)))&&_0x5b408[_0x510955(0xd1)](_0x114758);}for(const _0x28faf8 of _0x5b408){delete _0x19f92e['mcpServers'][_0x28faf8];}return _0x5b408[_0x510955(0xff)]>0x0&&writeFileSync(_0x1c5486[_0x510955(0x103)][_0x510955(0x13e)],JSON[_0x510955(0x102)](_0x19f92e,null,0x2)+'\x0a',_0x510955(0xcf)),{'step':0x4,'label':_0x510955(0xfb),'ok':!![],'detail':'removed\x20'+_0x5b408[_0x510955(0x138)](',\x20')+_0x510955(0x13b)+_0x1c5486[_0x510955(0x103)]['path']};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x510955(0xf0)};}catch(_0x5fcfef){return{'step':0x4,'label':_0x510955(0xfb),'ok':![],'detail':_0x5fcfef[_0x510955(0x12e)]};}}function execSkillsRemove(_0x5c08e4,_0x12b006){const _0xd10da9=a109_0x13a3,_0x21e280=runNpxSkillsRemove(_0x5c08e4,{'stdio':_0xd10da9(0x113),'yes':_0x12b006});return{'step':0x5,'label':_0xd10da9(0xfe),'ok':_0x21e280['ok'],'detail':_0x21e280['ok']?_0xd10da9(0x12d):_0x21e280['error']??'exit\x20'+_0x21e280[_0xd10da9(0x110)]};}function a109_0x4ff8(){const _0x2ec108=['join','[\x22@lovrabet/sdk\x22]:\x20','yellow','\x20from\x20','not\x20found\x20(will\x20create)','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','path','info','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','7OpfPUh','entries','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','\x20(backup:\x20','step','files','fail','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Legacy\x20artifacts:','white','skipped','isArray','sdkUpgrade','FAIL','597891CzyHHY','\x20\x20\x20\x20\x20\x20\x20','utf8','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','push','oldPath','cwd','10kONAix','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','values','keys','no\x20legacy\x20entry','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','gray','\x20→\x20keys:\x20','===\x20Upgrade\x20Summary\x20===','@lovrabet/sdk:','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Upgrade\x20cancelled.','detail','not\x20needed','skipped\x20(no\x20legacy\x20config)','mcpServers','9145068HJNdHL','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','isDirectory','\x20→\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','succeed','cyan','\x20\x20Step\x20','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','latest','\x20removed','Step\x206/7:\x20Installing\x20new\x20skill...','no\x20matching\x20entry\x20found','some','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','@lovrabet/dataset-mcp-server','\x20\x20Current\x20version\x20in\x20','.claude/skills/lovrabet','string','Config\x20migration','already\x20exists\x20(will\x20merge)','11931400SjtZjQ','failed','Clean\x20MCP\x20config','3544210OIGtcQ','log','Remove\x20old\x20skill','length','Step\x205/7:\x20Removing\x20old\x20skill...','Proceed\x20with\x20upgrade?','stringify','oldMcpConfig','args','package.json','\x20\x20New\x20config\x20(.rabetbase.json):\x20','object','exit\x20','.cursor/rules/lovrabet_rules.mdc','includes','MCP\x20config:','error','devDependencies','\x20\x20Action:\x20delete','bold','status','done','===\x20Upgrade\x20Analysis\x20===','inherit','hasNewConfig','Upgrade\x20completed\x20successfully!','Upgrade\x20@lovrabet/sdk','green','\x20\x20#\x20or','Step\x201/7:\x20Migrating\x20config...','Install\x20new\x20skill','lovrabet/rabetbase\x20installed\x20globally','36pvBGmc','.bak','fields','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','.lovrabet','7271676gqjLjC','label','no\x20legacy\x20config\x20found','configMigration','47820146gMXYEO','4qnHVKK','Config\x20file:','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','212086VmsLpZ','Remove\x20legacy\x20artifacts','start','\x20\x20bun\x20install','lovrabet/lovrabet-skill\x20removed','message','not\x20found\x20or\x20already\x20at\x20latest','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','undefined','needsSkillSwap','Remove\x20.lovrabet/','CANCEL','@lovrabet/sdk','Step\x204/7:\x20Cleaning\x20MCP\x20config...','parse'];a109_0x4ff8=function(){return _0x2ec108;};return a109_0x4ff8();}function execSkillsAdd(_0xfcf00a,_0x3486bb){const _0x4636a9=a109_0x13a3,_0x448cde=runNpxSkillsAddGlobal(_0xfcf00a,'lovrabet/rabetbase',{'stdio':_0x4636a9(0x113),'yes':_0x3486bb});return{'step':0x6,'label':_0x4636a9(0x11a),'ok':_0x448cde['ok'],'detail':_0x448cde['ok']?_0x4636a9(0x11b):_0x448cde[_0x4636a9(0x10c)]??_0x4636a9(0x108)+_0x448cde[_0x4636a9(0x110)]};}function execUpgradeSdk(_0xfb6579){const _0x2eca94=a109_0x13a3;if(!_0xfb6579[_0x2eca94(0xcb)])return{'step':0x7,'label':_0x2eca94(0x116),'ok':!![],'detail':_0x2eca94(0xd5)};const {pkgPath:_0x3756c9,currentVersion:_0x12e756,field:_0x1cd3ff}=_0xfb6579[_0x2eca94(0xcb)];try{const _0x2ae23a=readFileSync(_0x3756c9,_0x2eca94(0xcf)),_0x5377df=JSON[_0x2eca94(0x137)](_0x2ae23a);return _0x5377df[_0x1cd3ff]['@lovrabet/sdk']=_0x2eca94(0xed),writeFileSync(_0x3756c9,JSON[_0x2eca94(0x102)](_0x5377df,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x2eca94(0x116),'ok':!![],'detail':_0x1cd3ff+_0x2eca94(0x139)+_0x12e756+'\x20→\x20latest'};}catch(_0x11c7a9){return{'step':0x7,'label':_0x2eca94(0x116),'ok':![],'detail':_0x11c7a9['message']};}}function tryStat(_0x3f7d6d){try{return statSync(_0x3f7d6d);}catch{return undefined;}}function printSummary(_0x1695de){const _0x4fe2b1=a109_0x13a3;console[_0x4fe2b1(0xfd)](''),console[_0x4fe2b1(0xfd)](a109_0x19a117[_0x4fe2b1(0x10f)](_0x4fe2b1(0xdc))),console[_0x4fe2b1(0xfd)]('');for(const _0x3f8281 of _0x1695de){const _0x33be2b=_0x3f8281['ok']?a109_0x19a117[_0x4fe2b1(0x117)]('OK'):a109_0x19a117['red'](_0x4fe2b1(0xcc));console['log']('\x20\x20'+_0x33be2b+_0x4fe2b1(0xeb)+_0x3f8281[_0x4fe2b1(0xc3)]+':\x20'+_0x3f8281[_0x4fe2b1(0x122)]);if(_0x3f8281[_0x4fe2b1(0xe0)])console[_0x4fe2b1(0xfd)](_0x4fe2b1(0xce)+a109_0x19a117[_0x4fe2b1(0xda)](_0x3f8281[_0x4fe2b1(0xe0)]));}console[_0x4fe2b1(0xfd)]('');}export async function upgradeApp(_0x5641a4,_0x382944){const _0x574701=a109_0x13a3,_0x18d790=process[_0x574701(0xd3)](),_0x9c942a=analyse(_0x18d790),_0x832500=!_0x9c942a[_0x574701(0x124)]&&_0x9c942a['oldArtifacts']['length']===0x0&&!_0x9c942a[_0x574701(0x103)]&&!_0x9c942a[_0x574701(0x132)]&&!_0x9c942a[_0x574701(0xcb)];if(_0x832500){console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0x117)](_0x574701(0x13d)));return;}printReport(_0x9c942a);const _0x1ae70f=!!(_0x382944['yes']||_0x382944['Y']||_0x5641a4);if(!_0x1ae70f)try{const _0x49d267=await askConfirm(_0x574701(0x101));if(!_0x49d267){console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0xda)]('Upgrade\x20cancelled.'));return;}}catch(_0x1ea2a4){if(_0x1ea2a4?.['message']===_0x574701(0x134)){console['log'](a109_0x19a117[_0x574701(0xda)](_0x574701(0xdf)));return;}throw _0x1ea2a4;}const _0x5706c3=[],_0x60a46c=a109_0x3945a2({'text':_0x574701(0x119),'color':_0x574701(0xea)})[_0x574701(0x12b)](),_0x3fbe83=execConfigMigration(_0x9c942a,_0x18d790);_0x5706c3[_0x574701(0xd1)](_0x3fbe83),_0x60a46c[_0x3fbe83['ok']?_0x574701(0xe9):'fail'](_0x574701(0xc0)+(_0x3fbe83[_0x574701(0xe0)]??(_0x3fbe83['ok']?_0x574701(0x111):_0x574701(0xfa))));const _0x2d10fa=resolve(_0x18d790,_0x574701(0x120)),_0x1971f3=a109_0x3945a2({'text':_0x574701(0xc6),'color':_0x574701(0xea)})[_0x574701(0x12b)]();if(existsSync(_0x2d10fa))try{rmSync(_0x2d10fa,{'recursive':!![],'force':!![]}),_0x1971f3['succeed'](_0x574701(0xde)),_0x5706c3[_0x574701(0xd1)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2eb593){_0x1971f3[_0x574701(0xc5)](_0x574701(0xd0)+_0x2eb593[_0x574701(0x12e)]),_0x5706c3[_0x574701(0xd1)]({'step':0x2,'label':_0x574701(0x133),'ok':![],'detail':_0x2eb593[_0x574701(0x12e)]});}else _0x1971f3[_0x574701(0x13f)](_0x574701(0xf2)),_0x5706c3[_0x574701(0xd1)]({'step':0x2,'label':_0x574701(0x133),'ok':!![],'detail':'skipped'});const _0x59ed6d=a109_0x3945a2({'text':_0x574701(0x11f),'color':_0x574701(0xea)})[_0x574701(0x12b)](),_0x4fe0e8=execRemoveOldArtifacts(_0x9c942a['oldArtifacts']);_0x5706c3[_0x574701(0xd1)](_0x4fe0e8),_0x59ed6d[_0x4fe0e8['ok']?_0x574701(0xe9):'fail'](_0x574701(0xd9)+(_0x4fe0e8['detail']??(_0x4fe0e8['ok']?_0x574701(0x111):_0x574701(0xfa))));const _0x1f1d26=a109_0x3945a2({'text':_0x574701(0x136),'color':_0x574701(0xea)})['start'](),_0x49385b=execCleanMcp(_0x9c942a);_0x5706c3[_0x574701(0xd1)](_0x49385b),_0x1f1d26[_0x49385b['ok']?_0x574701(0xe9):_0x574701(0xc5)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x49385b[_0x574701(0xe0)]??(_0x49385b['ok']?'done':'failed')));const _0x18eae8=a109_0x3945a2({'text':_0x574701(0x100),'color':_0x574701(0xea)})[_0x574701(0x12b)](),_0x4a8221=execSkillsRemove(_0x18d790,_0x1ae70f);_0x5706c3['push'](_0x4a8221),_0x18eae8[_0x4a8221['ok']?_0x574701(0xe9):_0x574701(0xc5)](_0x574701(0xc1)+(_0x4a8221[_0x574701(0xe0)]??(_0x4a8221['ok']?'done':_0x574701(0xfa))));const _0x53293c=a109_0x3945a2({'text':_0x574701(0xef),'color':_0x574701(0xea)})[_0x574701(0x12b)](),_0x3720a6=execSkillsAdd(_0x18d790,_0x1ae70f);_0x5706c3[_0x574701(0xd1)](_0x3720a6),_0x53293c[_0x3720a6['ok']?_0x574701(0xe9):'fail']('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x3720a6['detail']??(_0x3720a6['ok']?'done':_0x574701(0xfa))));const _0x2b5a9d=a109_0x3945a2({'text':_0x574701(0x130),'color':_0x574701(0xea)})[_0x574701(0x12b)](),_0x4b0af3=execUpgradeSdk(_0x9c942a);_0x5706c3[_0x574701(0xd1)](_0x4b0af3),_0x2b5a9d[_0x4b0af3['ok']?_0x574701(0xe9):'fail'](_0x574701(0xec)+(_0x4b0af3[_0x574701(0xe0)]??(_0x4b0af3['ok']?_0x574701(0x111):_0x574701(0xfa)))),printSummary(_0x5706c3);const _0x3b0154=_0x5706c3[_0x574701(0xf1)](_0xfdff7e=>!_0xfdff7e['ok']);_0x3b0154?console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0x13a)](_0x574701(0xe5))):console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0x117)](_0x574701(0x115))),_0x4b0af3['ok']&&_0x9c942a[_0x574701(0xcb)]&&(console[_0x574701(0xfd)](''),console[_0x574701(0xfd)](a109_0x19a117['bold']['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a109_0x19a117[_0x574701(0xea)](_0x574701(0xe8))),console['log'](''),console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0xc8)]('\x20\x20npm\x20install')),console[_0x574701(0xfd)](a109_0x19a117[_0x574701(0xc8)](_0x574701(0x118))),console['log'](a109_0x19a117['white'](_0x574701(0x12c))),console[_0x574701(0xfd)](''));}
1
+ (function(_0x1bd3f5,_0x2852e7){const _0x53c0f3=a109_0x5862,_0x34a9c4=_0x1bd3f5();while(!![]){try{const _0x37980d=parseInt(_0x53c0f3(0xf1))/0x1+parseInt(_0x53c0f3(0x14b))/0x2*(-parseInt(_0x53c0f3(0x146))/0x3)+parseInt(_0x53c0f3(0x134))/0x4*(-parseInt(_0x53c0f3(0x14a))/0x5)+-parseInt(_0x53c0f3(0x12e))/0x6+parseInt(_0x53c0f3(0x133))/0x7+-parseInt(_0x53c0f3(0x13c))/0x8*(parseInt(_0x53c0f3(0x11e))/0x9)+parseInt(_0x53c0f3(0xd7))/0xa;if(_0x37980d===_0x2852e7)break;else _0x34a9c4['push'](_0x34a9c4['shift']());}catch(_0x1957d7){_0x34a9c4['push'](_0x34a9c4['shift']());}}}(a109_0x2c68,0x8e611));import a109_0x5e0adc from'chalk';import a109_0x1de791 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';function a109_0x5862(_0x100d72,_0x5e670c){_0x100d72=_0x100d72-0xcf;const _0x2c687b=a109_0x2c68();let _0x586295=_0x2c687b[_0x100d72];return _0x586295;}const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x3823ff=>_0x3823ff!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4e042a){const _0x2df2b7=a109_0x5862,_0x2fed71=[];for(const _0x47b288 of Object[_0x2df2b7(0xf7)](CORE_IDE_CONFIGS)){if(_0x47b288[_0x2df2b7(0x13b)])for(const _0x52b1ef of _0x47b288['files']){_0x2fed71[_0x2df2b7(0xe5)](resolve(_0x4e042a,_0x52b1ef[_0x2df2b7(0x148)]));}}return _0x2fed71;}function a109_0x2c68(){const _0x53d393=['\x20\x20npm\x20install','no\x20legacy\x20entry','white','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','none\x20found','args','3105855FThsnj','\x20removed\x20(','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Upgrade\x20@lovrabet/sdk','undefined','@lovrabet/sdk:','Legacy\x20artifacts:','\x20\x20\x20\x20\x20\x20\x20','utf8','oldPath','\x20→\x20keys:\x20','inherit','===\x20Upgrade\x20Summary\x20===','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20\x20Action:\x20delete','Proceed\x20with\x20upgrade?','4740990SGbpsx','\x20\x20Fields\x20to\x20migrate:\x20','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Remove\x20legacy\x20artifacts','cwd','6597038HqXtkx','182676ZvkkRP','some','needsSkillSwap','yellow','CANCEL','entries','needed','files','8CNiQCM','string','latest','info','MCP\x20config:','[\x22@lovrabet/sdk\x22]:\x20','\x20removed','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.cursor/rules/lovrabet_rules.mdc','===\x20Upgrade\x20Analysis\x20===','6bKvEos','Step\x204/7:\x20Cleaning\x20MCP\x20config...','path','dependencies','5kcHSrB','779126SJmUVy','\x20from\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20→\x20latest','status','start','sdkUpgrade','.bak','error','Clean\x20MCP\x20config','\x20\x20bun\x20install','14735260EBWoDO','Skill\x20swap:','removed\x20','step','not\x20found\x20or\x20already\x20at\x20latest','Step\x205/7:\x20Removing\x20old\x20skill...','not\x20needed','package.json','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Config\x20file:','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','done','length','bold','push','message','lovrabet/lovrabet-skill\x20removed','exit\x20','parse','configMigration','oldArtifacts','red','join','Step\x204/7:\x20MCP\x20config\x20—\x20','succeed','yes','127280UrVMja','detail','lovrabet/rabetbase','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','cyan','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','values','\x20→\x20','label','isArray','skipped','green','Remove\x20.lovrabet/','no\x20legacy\x20config\x20found','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','gray','Upgrade\x20cancelled.','isDirectory','Remove\x20old\x20skill','fail','\x20\x20#\x20or','\x20\x20Step\x20','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','mcpServers','includes','hasNewConfig','object','.lovrabet','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','log','keys','failed','@lovrabet/dataset-mcp-server','FOUND','stringify','oldMcpConfig'];a109_0x2c68=function(){return _0x53d393;};return a109_0x2c68();}function analyse(_0xdd1b0d){const _0x821a1f=a109_0x5862;let _0x574e40=null;const _0x3b980c=resolve(_0xdd1b0d,NEW_CONFIG_NAME),_0x291d4a=existsSync(_0x3b980c);for(const _0xbd9d80 of LEGACY_CONFIG_NAMES){const _0x557136=resolve(_0xdd1b0d,_0xbd9d80);if(existsSync(_0x557136)){const _0x233113=readConfigFile(_0x557136),_0x1ed95c=Object[_0x821a1f(0x112)](_0x233113)['filter'](_0x565d0a=>typeof _0x233113[_0x565d0a]!==_0x821a1f(0x122));_0x574e40={'oldPath':_0x557136,'hasNewConfig':_0x291d4a,'fields':_0x1ed95c};break;}}const _0x222872=[],_0x135f50=resolve(_0xdd1b0d,'.lovrabet');if(existsSync(_0x135f50))_0x222872[_0x821a1f(0xe5)](_0x135f50);const _0x31012e=resolve(_0xdd1b0d,_0x821a1f(0x144));if(existsSync(_0x31012e))_0x222872[_0x821a1f(0xe5)](_0x31012e);const _0x567bc3=resolve(_0xdd1b0d,'.claude/skills/lovrabet');if(existsSync(_0x567bc3))_0x222872[_0x821a1f(0xe5)](_0x567bc3);for(const _0x3134d3 of collectIdeSkillFiles(_0xdd1b0d)){if(existsSync(_0x3134d3))_0x222872[_0x821a1f(0xe5)](_0x3134d3);}let _0x1d0c14=null;const _0x5dd07a=resolve(_0xdd1b0d,'.cursor/mcp.json');if(existsSync(_0x5dd07a))try{const _0x194274=JSON[_0x821a1f(0xe9)](readFileSync(_0x5dd07a,_0x821a1f(0x126)));if(_0x194274?.[_0x821a1f(0x109)]&&typeof _0x194274[_0x821a1f(0x109)]===_0x821a1f(0x10c)){const _0x54a7fb=[];for(const [_0x5ed2c9,_0xefde1b]of Object['entries'](_0x194274[_0x821a1f(0x109)])){const _0x2b5d7e=_0xefde1b;_0x2b5d7e?.[_0x821a1f(0x11d)]&&Array[_0x821a1f(0xfa)](_0x2b5d7e[_0x821a1f(0x11d)])&&_0x2b5d7e[_0x821a1f(0x11d)][_0x821a1f(0x135)](_0x2c1a80=>typeof _0x2c1a80==='string'&&_0x2c1a80[_0x821a1f(0x10a)](_0x821a1f(0x114)))&&_0x54a7fb[_0x821a1f(0xe5)](_0x5ed2c9);}_0x54a7fb[_0x821a1f(0xe3)]>0x0&&(_0x1d0c14={'path':_0x5dd07a,'keys':_0x54a7fb});}}catch{}const _0x35835b=_0x222872['length']>0x0||_0x574e40!==null;let _0x280322=null;const _0x5b250d=resolve(_0xdd1b0d,_0x821a1f(0xde));if(existsSync(_0x5b250d))try{const _0x29e5e1=JSON[_0x821a1f(0xe9)](readFileSync(_0x5b250d,_0x821a1f(0x126)));for(const _0x4c9874 of[_0x821a1f(0x149),'devDependencies']){const _0x2790a2=_0x29e5e1?.[_0x4c9874]?.['@lovrabet/sdk'];if(typeof _0x2790a2===_0x821a1f(0x13d)){_0x2790a2!==_0x821a1f(0x13e)&&(_0x280322={'pkgPath':_0x5b250d,'currentVersion':_0x2790a2,'field':_0x4c9874});break;}}}catch{}return{'configMigration':_0x574e40,'oldArtifacts':_0x222872,'oldMcpConfig':_0x1d0c14,'needsSkillSwap':_0x35835b,'sdkUpgrade':_0x280322};}function printReport(_0x2c12da){const _0x2241da=a109_0x5862,{configMigration:_0x46d6a9,oldArtifacts:_0x3eae22,oldMcpConfig:_0x5a4c7a,needsSkillSwap:_0x2667c5}=_0x2c12da;console[_0x2241da(0x111)](''),console['log'](a109_0x5e0adc['bold'](_0x2241da(0x145))),console['log']('');_0x46d6a9?(console[_0x2241da(0x111)](a109_0x5e0adc['cyan'](_0x2241da(0xe0))+('\x20\x20'+a109_0x5e0adc[_0x2241da(0x137)](_0x46d6a9[_0x2241da(0x127)]))),console['log'](_0x2241da(0x10e)+(_0x46d6a9[_0x2241da(0x10b)]?a109_0x5e0adc[_0x2241da(0xfc)]('already\x20exists\x20(will\x20merge)'):a109_0x5e0adc[_0x2241da(0x101)]('not\x20found\x20(will\x20create)'))),console[_0x2241da(0x111)](_0x2241da(0x12f)+_0x46d6a9['fields']['join'](',\x20')),console[_0x2241da(0x111)](_0x2241da(0xf6))):console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)]('Config\x20file:')+'\x20\x20'+a109_0x5e0adc[_0x2241da(0x101)](_0x2241da(0xfe)));console[_0x2241da(0x111)]('');if(_0x3eae22[_0x2241da(0xe3)]>0x0){console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)](_0x2241da(0x124)));for(const _0x443aa5 of _0x3eae22){console[_0x2241da(0x111)]('\x20\x20'+a109_0x5e0adc[_0x2241da(0xec)](_0x2241da(0x115))+'\x20\x20'+_0x443aa5);}console[_0x2241da(0x111)](_0x2241da(0x12c));}else console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)]('Legacy\x20artifacts:')+'\x20\x20'+a109_0x5e0adc[_0x2241da(0x101)](_0x2241da(0x11c)));console[_0x2241da(0x111)]('');_0x5a4c7a?(console[_0x2241da(0x111)](a109_0x5e0adc['cyan']('MCP\x20config:')+('\x20\x20'+a109_0x5e0adc['yellow'](_0x5a4c7a[_0x2241da(0x148)])+_0x2241da(0x128)+_0x5a4c7a['keys'][_0x2241da(0xed)](',\x20'))),console['log']('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console['log'](a109_0x5e0adc[_0x2241da(0xf5)](_0x2241da(0x140))+'\x20\x20'+a109_0x5e0adc[_0x2241da(0x101)](_0x2241da(0x119)));console[_0x2241da(0x111)](''),console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)](_0x2241da(0xd8))+('\x20\x20'+(_0x2667c5?a109_0x5e0adc[_0x2241da(0x137)](_0x2241da(0x13a)):a109_0x5e0adc['green'](_0x2241da(0xdd)))));_0x2667c5&&console[_0x2241da(0x111)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2241da(0x111)]('');if(_0x2c12da[_0x2241da(0xd2)]){const {currentVersion:_0x1d2f09,field:_0xe3574f,pkgPath:_0x385b66}=_0x2c12da[_0x2241da(0xd2)];console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)](_0x2241da(0x123))+('\x20\x20'+a109_0x5e0adc[_0x2241da(0x137)](_0x385b66))),console[_0x2241da(0x111)]('\x20\x20Current\x20version\x20in\x20'+_0xe3574f+':\x20'+a109_0x5e0adc[_0x2241da(0x137)](_0x1d2f09)+'\x20→\x20'+a109_0x5e0adc[_0x2241da(0xfc)](_0x2241da(0x13e))),console[_0x2241da(0x111)](_0x2241da(0x143));}else console[_0x2241da(0x111)](a109_0x5e0adc[_0x2241da(0xf5)]('@lovrabet/sdk:')+'\x20\x20'+a109_0x5e0adc['gray'](_0x2241da(0xdb)));console[_0x2241da(0x111)]('');}function execConfigMigration(_0x54afb4,_0x46e066){const _0x1a943c=a109_0x5862,{configMigration:_0x583d0e}=_0x54afb4;if(!_0x583d0e?.[_0x1a943c(0x127)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x4b8a4b=readConfigFile(_0x583d0e[_0x1a943c(0x127)]),_0x592e3f=resolve(_0x46e066,NEW_CONFIG_NAME),_0x15d1a0=_0x583d0e[_0x1a943c(0x10b)]?readConfigFile(_0x592e3f):{};for(const [_0x2c7167,_0x2c0fad]of Object[_0x1a943c(0x139)](_0x4b8a4b)){!(_0x2c7167 in _0x15d1a0)&&(_0x15d1a0[_0x2c7167]=_0x2c0fad);}writeConfigFile(_0x592e3f,_0x15d1a0);const _0x3db87b=_0x583d0e[_0x1a943c(0x127)]+_0x1a943c(0xd3);return renameSync(_0x583d0e['oldPath'],_0x3db87b),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x583d0e['oldPath']+_0x1a943c(0xf8)+_0x592e3f+'\x20(backup:\x20'+_0x3db87b+')'};}function execRemoveOldArtifacts(_0xf1672e){const _0x1570e7=a109_0x5862,_0x1b32f8=[];for(const _0x3ac6db of _0xf1672e){try{if(!existsSync(_0x3ac6db))continue;const _0xa0af75=tryStat(_0x3ac6db);_0xa0af75?.[_0x1570e7(0x103)]()?rmSync(_0x3ac6db,{'recursive':!![],'force':!![]}):unlinkSync(_0x3ac6db);}catch(_0x2691a4){_0x1b32f8[_0x1570e7(0xe5)](_0x3ac6db+':\x20'+_0x2691a4['message']);}}return{'step':0x3,'label':_0x1570e7(0x131),'ok':_0x1b32f8[_0x1570e7(0xe3)]===0x0,'detail':_0x1b32f8[_0x1570e7(0xe3)]>0x0?_0xf1672e[_0x1570e7(0xe3)]-_0x1b32f8[_0x1570e7(0xe3)]+'/'+_0xf1672e[_0x1570e7(0xe3)]+_0x1570e7(0x11f)+_0x1b32f8[_0x1570e7(0xed)](';\x20')+')':_0xf1672e['length']+_0x1570e7(0x142)};}function execCleanMcp(_0x46b5ba){const _0x37cbd3=a109_0x5862;if(!_0x46b5ba['oldMcpConfig'])return{'step':0x4,'label':_0x37cbd3(0xd5),'ok':!![],'detail':_0x37cbd3(0xfb)};try{const _0x30578a=readFileSync(_0x46b5ba['oldMcpConfig'][_0x37cbd3(0x148)],_0x37cbd3(0x126)),_0x4d4849=JSON[_0x37cbd3(0xe9)](_0x30578a);if(_0x4d4849?.[_0x37cbd3(0x109)]&&typeof _0x4d4849[_0x37cbd3(0x109)]===_0x37cbd3(0x10c)){const _0x40fe8a=[];for(const [_0x291aa3,_0x49b742]of Object['entries'](_0x4d4849[_0x37cbd3(0x109)])){_0x49b742?.[_0x37cbd3(0x11d)]&&Array['isArray'](_0x49b742[_0x37cbd3(0x11d)])&&_0x49b742[_0x37cbd3(0x11d)]['some'](_0x1b5788=>typeof _0x1b5788===_0x37cbd3(0x13d)&&_0x1b5788[_0x37cbd3(0x10a)]('@lovrabet/dataset-mcp-server'))&&_0x40fe8a[_0x37cbd3(0xe5)](_0x291aa3);}for(const _0x1734cd of _0x40fe8a){delete _0x4d4849[_0x37cbd3(0x109)][_0x1734cd];}return _0x40fe8a[_0x37cbd3(0xe3)]>0x0&&writeFileSync(_0x46b5ba['oldMcpConfig'][_0x37cbd3(0x148)],JSON[_0x37cbd3(0x116)](_0x4d4849,null,0x2)+'\x0a',_0x37cbd3(0x126)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x37cbd3(0xd9)+_0x40fe8a[_0x37cbd3(0xed)](',\x20')+_0x37cbd3(0x14c)+_0x46b5ba[_0x37cbd3(0x117)]['path']};}return{'step':0x4,'label':_0x37cbd3(0xd5),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x403f48){return{'step':0x4,'label':_0x37cbd3(0xd5),'ok':![],'detail':_0x403f48[_0x37cbd3(0xe6)]};}}function execSkillsRemove(_0x278d70,_0x48d044){const _0x3384a1=a109_0x5862,_0xc3a021=runNpxSkillsRemove(_0x278d70,{'stdio':_0x3384a1(0x129),'yes':_0x48d044});return{'step':0x5,'label':_0x3384a1(0x104),'ok':_0xc3a021['ok'],'detail':_0xc3a021['ok']?_0x3384a1(0xe7):_0xc3a021[_0x3384a1(0xd4)]??_0x3384a1(0xe8)+_0xc3a021['status']};}function execSkillsAdd(_0x27fd64,_0x4f599a){const _0x4c9b38=a109_0x5862,_0x2e4817=runNpxSkillsAddGlobal(_0x27fd64,_0x4c9b38(0xf3),{'stdio':_0x4c9b38(0x129),'yes':_0x4f599a});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x2e4817['ok'],'detail':_0x2e4817['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x2e4817[_0x4c9b38(0xd4)]??'exit\x20'+_0x2e4817[_0x4c9b38(0xd0)]};}function execUpgradeSdk(_0x1996d3){const _0x4d7a55=a109_0x5862;if(!_0x1996d3[_0x4d7a55(0xd2)])return{'step':0x7,'label':_0x4d7a55(0x121),'ok':!![],'detail':_0x4d7a55(0x14d)};const {pkgPath:_0x55007a,currentVersion:_0x2f1e59,field:_0xd9f90d}=_0x1996d3[_0x4d7a55(0xd2)];try{const _0x58e53b=readFileSync(_0x55007a,'utf8'),_0x38c663=JSON['parse'](_0x58e53b);return _0x38c663[_0xd9f90d]['@lovrabet/sdk']=_0x4d7a55(0x13e),writeFileSync(_0x55007a,JSON[_0x4d7a55(0x116)](_0x38c663,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x4d7a55(0x121),'ok':!![],'detail':_0xd9f90d+_0x4d7a55(0x141)+_0x2f1e59+_0x4d7a55(0xcf)};}catch(_0xef8591){return{'step':0x7,'label':_0x4d7a55(0x121),'ok':![],'detail':_0xef8591[_0x4d7a55(0xe6)]};}}function tryStat(_0x39ddaf){try{return statSync(_0x39ddaf);}catch{return undefined;}}function printSummary(_0x361906){const _0x4def20=a109_0x5862;console[_0x4def20(0x111)](''),console['log'](a109_0x5e0adc[_0x4def20(0xe4)](_0x4def20(0x12a))),console[_0x4def20(0x111)]('');for(const _0x2232e4 of _0x361906){const _0x26c702=_0x2232e4['ok']?a109_0x5e0adc[_0x4def20(0xfc)]('OK'):a109_0x5e0adc[_0x4def20(0xec)]('FAIL');console[_0x4def20(0x111)]('\x20\x20'+_0x26c702+_0x4def20(0x107)+_0x2232e4[_0x4def20(0xda)]+':\x20'+_0x2232e4[_0x4def20(0xf9)]);if(_0x2232e4['detail'])console[_0x4def20(0x111)](_0x4def20(0x125)+a109_0x5e0adc[_0x4def20(0x101)](_0x2232e4[_0x4def20(0xf2)]));}console[_0x4def20(0x111)]('');}export async function upgradeApp(_0x105330,_0x2c21ea){const _0x3291ee=a109_0x5862,_0x4e05f4=process[_0x3291ee(0x132)](),_0x2f175a=analyse(_0x4e05f4),_0x123a9c=!_0x2f175a[_0x3291ee(0xea)]&&_0x2f175a['oldArtifacts'][_0x3291ee(0xe3)]===0x0&&!_0x2f175a['oldMcpConfig']&&!_0x2f175a[_0x3291ee(0x136)]&&!_0x2f175a[_0x3291ee(0xd2)];if(_0x123a9c){console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0xfc)](_0x3291ee(0x12b)));return;}printReport(_0x2f175a);const _0x5ee4b8=!!(_0x2c21ea[_0x3291ee(0xf0)]||_0x2c21ea['Y']||_0x105330);if(!_0x5ee4b8)try{const _0x4ba29c=await askConfirm(_0x3291ee(0x12d));if(!_0x4ba29c){console['log'](a109_0x5e0adc['gray']('Upgrade\x20cancelled.'));return;}}catch(_0xa646af){if(_0xa646af?.['message']===_0x3291ee(0x138)){console[_0x3291ee(0x111)](a109_0x5e0adc['gray'](_0x3291ee(0x102)));return;}throw _0xa646af;}const _0x42b52b=[],_0x32a87f=a109_0x1de791({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x228aee=execConfigMigration(_0x2f175a,_0x4e05f4);_0x42b52b[_0x3291ee(0xe5)](_0x228aee),_0x32a87f[_0x228aee['ok']?_0x3291ee(0xef):_0x3291ee(0x105)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x228aee['detail']??(_0x228aee['ok']?_0x3291ee(0xe2):_0x3291ee(0x113))));const _0x5e953c=resolve(_0x4e05f4,_0x3291ee(0x10d)),_0x10b4fc=a109_0x1de791({'text':_0x3291ee(0xff),'color':_0x3291ee(0xf5)})['start']();if(existsSync(_0x5e953c))try{rmSync(_0x5e953c,{'recursive':!![],'force':!![]}),_0x10b4fc[_0x3291ee(0xef)](_0x3291ee(0x110)),_0x42b52b[_0x3291ee(0xe5)]({'step':0x2,'label':_0x3291ee(0xfd),'ok':!![]});}catch(_0x1302e9){_0x10b4fc[_0x3291ee(0x105)](_0x3291ee(0xdf)+_0x1302e9[_0x3291ee(0xe6)]),_0x42b52b[_0x3291ee(0xe5)]({'step':0x2,'label':_0x3291ee(0xfd),'ok':![],'detail':_0x1302e9[_0x3291ee(0xe6)]});}else _0x10b4fc[_0x3291ee(0x13f)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x42b52b[_0x3291ee(0xe5)]({'step':0x2,'label':_0x3291ee(0xfd),'ok':!![],'detail':_0x3291ee(0xfb)});const _0x952a48=a109_0x1de791({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x4e0408=execRemoveOldArtifacts(_0x2f175a[_0x3291ee(0xeb)]);_0x42b52b['push'](_0x4e0408),_0x952a48[_0x4e0408['ok']?_0x3291ee(0xef):_0x3291ee(0x105)](_0x3291ee(0xf4)+(_0x4e0408[_0x3291ee(0xf2)]??(_0x4e0408['ok']?_0x3291ee(0xe2):_0x3291ee(0x113))));const _0x1c009d=a109_0x1de791({'text':_0x3291ee(0x147),'color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x2831da=execCleanMcp(_0x2f175a);_0x42b52b[_0x3291ee(0xe5)](_0x2831da),_0x1c009d[_0x2831da['ok']?'succeed':'fail'](_0x3291ee(0xee)+(_0x2831da[_0x3291ee(0xf2)]??(_0x2831da['ok']?'done':_0x3291ee(0x113))));const _0x28d2a2=a109_0x1de791({'text':_0x3291ee(0xdc),'color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x39e7eb=execSkillsRemove(_0x4e05f4,_0x5ee4b8);_0x42b52b[_0x3291ee(0xe5)](_0x39e7eb),_0x28d2a2[_0x39e7eb['ok']?_0x3291ee(0xef):_0x3291ee(0x105)](_0x3291ee(0x11b)+(_0x39e7eb['detail']??(_0x39e7eb['ok']?_0x3291ee(0xe2):_0x3291ee(0x113))));const _0x3fae89=a109_0x1de791({'text':_0x3291ee(0x10f),'color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x228b14=execSkillsAdd(_0x4e05f4,_0x5ee4b8);_0x42b52b[_0x3291ee(0xe5)](_0x228b14),_0x3fae89[_0x228b14['ok']?_0x3291ee(0xef):_0x3291ee(0x105)](_0x3291ee(0x100)+(_0x228b14[_0x3291ee(0xf2)]??(_0x228b14['ok']?_0x3291ee(0xe2):_0x3291ee(0x113))));const _0xad693c=a109_0x1de791({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x3291ee(0xf5)})[_0x3291ee(0xd1)](),_0x4e909f=execUpgradeSdk(_0x2f175a);_0x42b52b[_0x3291ee(0xe5)](_0x4e909f),_0xad693c[_0x4e909f['ok']?_0x3291ee(0xef):'fail'](_0x3291ee(0xe1)+(_0x4e909f['detail']??(_0x4e909f['ok']?_0x3291ee(0xe2):'failed'))),printSummary(_0x42b52b);const _0x4823bb=_0x42b52b[_0x3291ee(0x135)](_0x55c391=>!_0x55c391['ok']);_0x4823bb?console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0x137)](_0x3291ee(0x108))):console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0xfc)]('Upgrade\x20completed\x20successfully!')),_0x4e909f['ok']&&_0x2f175a[_0x3291ee(0xd2)]&&(console['log'](''),console['log'](a109_0x5e0adc['bold'][_0x3291ee(0xf5)](_0x3291ee(0x130))),console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0xf5)](_0x3291ee(0x120))),console[_0x3291ee(0x111)](''),console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0x11a)](_0x3291ee(0x118))),console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0x11a)](_0x3291ee(0x106))),console[_0x3291ee(0x111)](a109_0x5e0adc[_0x3291ee(0x11a)](_0x3291ee(0xd6))),console[_0x3291ee(0x111)](''));}
@@ -1 +1 @@
1
- const a110_0x6fce1e=a110_0xdac6;(function(_0x11aae9,_0x1728fb){const _0x4d2804=a110_0xdac6,_0x6f9f95=_0x11aae9();while(!![]){try{const _0x504107=parseInt(_0x4d2804(0x148))/0x1*(parseInt(_0x4d2804(0x142))/0x2)+-parseInt(_0x4d2804(0x14e))/0x3+parseInt(_0x4d2804(0x121))/0x4+-parseInt(_0x4d2804(0x13b))/0x5*(-parseInt(_0x4d2804(0x144))/0x6)+parseInt(_0x4d2804(0x13e))/0x7*(-parseInt(_0x4d2804(0x11c))/0x8)+-parseInt(_0x4d2804(0x120))/0x9*(-parseInt(_0x4d2804(0x143))/0xa)+-parseInt(_0x4d2804(0x12d))/0xb*(parseInt(_0x4d2804(0x12a))/0xc);if(_0x504107===_0x1728fb)break;else _0x6f9f95['push'](_0x6f9f95['shift']());}catch(_0x3ab20f){_0x6f9f95['push'](_0x6f9f95['shift']());}}}(a110_0x19b1,0xd28dc));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a110_0xdac6(_0x3052d5,_0x41fba9){_0x3052d5=_0x3052d5-0x119;const _0x19b170=a110_0x19b1();let _0xdac67=_0x19b170[_0x3052d5];return _0xdac67;}export const serviceGroups=new Map();function registerDefinitions(_0x13c901){const _0x4f9510=a110_0xdac6;for(const _0x3b4766 of _0x13c901){definitions[_0x4f9510(0x134)](_0x3b4766[_0x4f9510(0x147)]+':'+_0x3b4766[_0x4f9510(0x12f)],_0x3b4766);let _0x53a7e2=serviceGroups[_0x4f9510(0x136)](_0x3b4766[_0x4f9510(0x147)]);!_0x53a7e2&&(_0x53a7e2=[],serviceGroups[_0x4f9510(0x134)](_0x3b4766[_0x4f9510(0x147)],_0x53a7e2)),_0x53a7e2['push'](_0x3b4766);}}function registerDeclarativeService(_0x600229,_0xd4a57d,_0x47b406){const _0x36507b=a110_0xdac6;registerDefinitions(_0xd4a57d);_0x47b406?.[_0x36507b(0x128)]&&registerDefinitions([_0x47b406[_0x36507b(0x128)]]);const _0x493651=_0x36415f=>_0x36415f===_0x36507b(0x119)?'':_0x36415f===_0x36507b(0x11d)?'\x20\x20[write]':_0x36507b(0x135),_0xe2b8c8={'service':_0xd4a57d[0x0][_0x36507b(0x147)],'label':_0x600229,'commands':_0xd4a57d[_0x36507b(0x133)](_0x6a1355=>({'command':_0x6a1355[_0x36507b(0x12f)],'description':_0x6a1355[_0x36507b(0x12e)],'tag':_0x493651(_0x6a1355[_0x36507b(0x13c)])})),'declarative':!![],'defaultCommand':_0x47b406?.[_0x36507b(0x12b)]??(_0x47b406?.[_0x36507b(0x127)]?_0xd4a57d[0x0][_0x36507b(0x12f)]:undefined),'wildcardDef':_0x47b406?.[_0x36507b(0x128)],'isSingleCommand':_0x47b406?.[_0x36507b(0x127)]};serviceRegistry[_0x36507b(0x122)](_0xe2b8c8),serviceByName[_0x36507b(0x134)](_0xe2b8c8[_0x36507b(0x147)],_0xe2b8c8);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a110_0x6fce1e(0x11b),projectDefinitions),registerDeclarativeService(a110_0x6fce1e(0x124),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a110_0x6fce1e(0x11e)]=[{'command':'<script>','description':a110_0x6fce1e(0x13a),'tag':''}];}registerDeclarativeService(a110_0x6fce1e(0x130),authDefinitions,{'defaultCommand':a110_0x6fce1e(0x138)}),registerDeclarativeService(a110_0x6fce1e(0x131),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x6fce1e(0x132),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x6fce1e(0x14c),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a110_0x6fce1e(0x14f),apiDefinitions),registerDeclarativeService(a110_0x6fce1e(0x11f),menuDefinitions),registerDeclarativeService(a110_0x6fce1e(0x123),dbDefinitions),registerDeclarativeService(a110_0x6fce1e(0x126),datasetDefinitions),registerDeclarativeService(a110_0x6fce1e(0x125),pageDefinitions),registerDeclarativeService(a110_0x6fce1e(0x140),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a110_0x6fce1e(0x149),sqlDefinitions),registerDeclarativeService(a110_0x6fce1e(0x141),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x6fce1e(0x11a),logsDefinitions,{'defaultCommand':a110_0x6fce1e(0x12c)});export const deprecatedAliases={'create':{'service':a110_0x6fce1e(0x14d),'command':a110_0x6fce1e(0x137)},'start':{'service':a110_0x6fce1e(0x145),'command':'start'},'build':{'service':a110_0x6fce1e(0x145),'command':a110_0x6fce1e(0x14b)},'preview':{'service':a110_0x6fce1e(0x145),'command':'preview'},'logout':{'service':a110_0x6fce1e(0x14a),'command':a110_0x6fce1e(0x139)},'skills':{'service':a110_0x6fce1e(0x13f),'command':'install'}};export const deprecatedSubcommands={'bff':{'new':a110_0x6fce1e(0x137)},'sql':{'new':a110_0x6fce1e(0x137)}};export function resolveDeprecatedSubcommand(_0x246cfa,_0x86c308){return deprecatedSubcommands[_0x246cfa]?.[_0x86c308];}export function findDefinition(_0x1ec12e,_0x1d2d9a){const _0x427af8=a110_0x6fce1e;return definitions[_0x427af8(0x136)](_0x1ec12e+':'+_0x1d2d9a);}export function isKnownService(_0x1f993f){const _0x20abec=a110_0x6fce1e;return serviceByName[_0x20abec(0x129)](_0x1f993f);}export function isDeclarativeService(_0x110617){const _0x35ac35=a110_0x6fce1e;return serviceGroups[_0x35ac35(0x129)](_0x110617)||serviceByName[_0x35ac35(0x136)](_0x110617)?.[_0x35ac35(0x128)]!==undefined;}export function getServiceEntry(_0x3cb0df){return serviceByName['get'](_0x3cb0df);}export function getLegacyHandler(_0x54981a,_0x25d327){return undefined;}function a110_0x19b1(){const _0xab184=['Logs','Project','92096HyOsaz','write','commands','Menu','81EaNNkk','1976952dVZSMK','push','Database\x20Connections','App\x20Management','Pages','Dataset\x20&\x20Operations','isSingleCommand','wildcardDef','has','3078336rSxWMu','defaultCommand','show','33XNSulh','description','command','Authentication','Self\x20Update','Diagnostics','map','set','\x20\x20[high-risk-write]','get','create','login','logout','Run\x20any\x20package.json\x20script','5qLmQMA','risk','values','994fulRpq','skill','Data\x20Query','Code\x20Generation','101098zsSSIX','1632730DpTFre','6765954ReqgOc','run','from','service','18mbpEkd','SQL\x20Queries','auth','build','Schema','project','2203560wlojYV','API','read'];a110_0x19b1=function(){return _0xab184;};return a110_0x19b1();}export function getAllDefinitions(){const _0x267511=a110_0x6fce1e;return Array[_0x267511(0x146)](definitions[_0x267511(0x13d)]());}
1
+ const a110_0x2580b9=a110_0x49d2;(function(_0x30965d,_0x38a3a0){const _0x3f8785=a110_0x49d2,_0x509af5=_0x30965d();while(!![]){try{const _0x1a00fa=-parseInt(_0x3f8785(0x18b))/0x1*(-parseInt(_0x3f8785(0x176))/0x2)+-parseInt(_0x3f8785(0x162))/0x3+-parseInt(_0x3f8785(0x161))/0x4+-parseInt(_0x3f8785(0x186))/0x5*(parseInt(_0x3f8785(0x17d))/0x6)+parseInt(_0x3f8785(0x160))/0x7*(-parseInt(_0x3f8785(0x15e))/0x8)+parseInt(_0x3f8785(0x16a))/0x9+parseInt(_0x3f8785(0x16d))/0xa;if(_0x1a00fa===_0x38a3a0)break;else _0x509af5['push'](_0x509af5['shift']());}catch(_0x7c693b){_0x509af5['push'](_0x509af5['shift']());}}}(a110_0x56ce,0x3e525));function a110_0x49d2(_0xf65611,_0x9eb337){_0xf65611=_0xf65611-0x157;const _0x56ce8c=a110_0x56ce();let _0x49d230=_0x56ce8c[_0xf65611];return _0x49d230;}import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x1aca24){const _0x2aaa1f=a110_0x49d2;for(const _0xd95eb4 of _0x1aca24){definitions['set'](_0xd95eb4[_0x2aaa1f(0x17c)]+':'+_0xd95eb4[_0x2aaa1f(0x177)],_0xd95eb4);let _0x1aa22d=serviceGroups['get'](_0xd95eb4[_0x2aaa1f(0x17c)]);!_0x1aa22d&&(_0x1aa22d=[],serviceGroups['set'](_0xd95eb4[_0x2aaa1f(0x17c)],_0x1aa22d)),_0x1aa22d[_0x2aaa1f(0x17e)](_0xd95eb4);}}function registerDeclarativeService(_0x3c431c,_0x10d9d8,_0x1a1c70){const _0x95bbb9=a110_0x49d2;registerDefinitions(_0x10d9d8);_0x1a1c70?.['wildcardDef']&&registerDefinitions([_0x1a1c70[_0x95bbb9(0x15f)]]);const _0x724e=_0x2f78db=>_0x2f78db===_0x95bbb9(0x182)?'':_0x2f78db==='write'?'\x20\x20[write]':_0x95bbb9(0x178),_0x1f357e={'service':_0x10d9d8[0x0]['service'],'label':_0x3c431c,'commands':_0x10d9d8[_0x95bbb9(0x17f)](_0x2fa138=>({'command':_0x2fa138[_0x95bbb9(0x177)],'description':_0x2fa138['description'],'tag':_0x724e(_0x2fa138[_0x95bbb9(0x164)])})),'declarative':!![],'defaultCommand':_0x1a1c70?.[_0x95bbb9(0x168)]??(_0x1a1c70?.[_0x95bbb9(0x15a)]?_0x10d9d8[0x0][_0x95bbb9(0x177)]:undefined),'wildcardDef':_0x1a1c70?.[_0x95bbb9(0x15f)],'isSingleCommand':_0x1a1c70?.['isSingleCommand']};serviceRegistry['push'](_0x1f357e),serviceByName[_0x95bbb9(0x16e)](_0x1f357e[_0x95bbb9(0x17c)],_0x1f357e);}registerDeclarativeService(a110_0x2580b9(0x18a),initDefinitions,{'defaultCommand':a110_0x2580b9(0x175),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a110_0x2580b9(0x173),appDefinitions),registerDeclarativeService(a110_0x2580b9(0x16c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x2580b9(0x179)]-0x1];last[a110_0x2580b9(0x180)]=[{'command':a110_0x2580b9(0x15c),'description':a110_0x2580b9(0x172),'tag':''}];}registerDeclarativeService(a110_0x2580b9(0x184),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a110_0x2580b9(0x169),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x2580b9(0x15b),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x2580b9(0x181),configDefinitions),registerDeclarativeService(a110_0x2580b9(0x17a),issueDefinitions),registerDeclarativeService(a110_0x2580b9(0x163),apiDefinitions),registerDeclarativeService(a110_0x2580b9(0x189),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a110_0x2580b9(0x16f),datasetDefinitions),registerDeclarativeService(a110_0x2580b9(0x183),pageDefinitions),registerDeclarativeService(a110_0x2580b9(0x174),dataDefinitions),registerDeclarativeService(a110_0x2580b9(0x158),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a110_0x2580b9(0x15d),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x2580b9(0x17b),logsDefinitions,{'defaultCommand':a110_0x2580b9(0x188)});function a110_0x56ce(){const _0x4fd4cf=['Pages','Authentication','preview','246460MtHfFh','install','show','Menu','Quick\x20Start','6583jXjCxB','logout','BFF\x20Scripts','create','isSingleCommand','Diagnostics','<script>','Code\x20Generation','96uoAtrC','wildcardDef','126224klIfsD','846768FsGeRh','1137042ZxHcWa','API','risk','has','skill','from','defaultCommand','Self\x20Update','1144395aUyNwH','auth','Run\x20Scripts','12046240vzVyqQ','set','Dataset\x20&\x20Operations','start','get','Run\x20any\x20package.json\x20script','App\x20Management','Data\x20Query','run','8vYFpcv','command','\x20\x20[high-risk-write]','length','Platform\x20Issue','Logs','service','36ISWPCD','push','map','commands','Configuration','read'];a110_0x56ce=function(){return _0x4fd4cf;};return a110_0x56ce();}export const deprecatedAliases={'create':{'service':'project','command':a110_0x2580b9(0x159)},'start':{'service':a110_0x2580b9(0x175),'command':a110_0x2580b9(0x170)},'build':{'service':a110_0x2580b9(0x175),'command':'build'},'preview':{'service':a110_0x2580b9(0x175),'command':a110_0x2580b9(0x185)},'logout':{'service':a110_0x2580b9(0x16b),'command':a110_0x2580b9(0x157)},'skills':{'service':a110_0x2580b9(0x166),'command':a110_0x2580b9(0x187)}};export const deprecatedSubcommands={'bff':{'new':a110_0x2580b9(0x159)},'sql':{'new':a110_0x2580b9(0x159)}};export function resolveDeprecatedSubcommand(_0x446f73,_0x406694){return deprecatedSubcommands[_0x446f73]?.[_0x406694];}export function findDefinition(_0x460e33,_0x41583b){const _0x4c03be=a110_0x2580b9;return definitions[_0x4c03be(0x171)](_0x460e33+':'+_0x41583b);}export function isKnownService(_0x1cbfaa){const _0x5bf8b4=a110_0x2580b9;return serviceByName[_0x5bf8b4(0x165)](_0x1cbfaa);}export function isDeclarativeService(_0x4f6222){const _0x4070a5=a110_0x2580b9;return serviceGroups[_0x4070a5(0x165)](_0x4f6222)||serviceByName[_0x4070a5(0x171)](_0x4f6222)?.[_0x4070a5(0x15f)]!==undefined;}export function getServiceEntry(_0x28d909){const _0x29069d=a110_0x2580b9;return serviceByName[_0x29069d(0x171)](_0x28d909);}export function getLegacyHandler(_0x341eee,_0xfed0e){return undefined;}export function getAllDefinitions(){const _0x48b80a=a110_0x2580b9;return Array[_0x48b80a(0x167)](definitions['values']());}
@@ -1 +1 @@
1
- const a111_0x137354=a111_0x1825;(function(_0x2a4e65,_0x267cea){const _0xf2eba2=a111_0x1825,_0x2fcb3e=_0x2a4e65();while(!![]){try{const _0x4fbf4f=parseInt(_0xf2eba2(0xf9))/0x1*(parseInt(_0xf2eba2(0x102))/0x2)+parseInt(_0xf2eba2(0x12a))/0x3*(parseInt(_0xf2eba2(0x134))/0x4)+parseInt(_0xf2eba2(0x10c))/0x5*(parseInt(_0xf2eba2(0x10d))/0x6)+parseInt(_0xf2eba2(0x121))/0x7*(parseInt(_0xf2eba2(0x113))/0x8)+-parseInt(_0xf2eba2(0x136))/0x9+-parseInt(_0xf2eba2(0x10a))/0xa*(-parseInt(_0xf2eba2(0x110))/0xb)+-parseInt(_0xf2eba2(0x123))/0xc;if(_0x4fbf4f===_0x267cea)break;else _0x2fcb3e['push'](_0x2fcb3e['shift']());}catch(_0x3930e2){_0x2fcb3e['push'](_0x2fcb3e['shift']());}}}(a111_0x3d12,0x3ed15));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([a111_0x137354(0x10f),a111_0x137354(0x125)]);function readPackageScripts(_0x62f5b9){const _0x351361=a111_0x137354,_0x2bb0d9=resolve(_0x62f5b9,_0x351361(0xfd));if(!existsSync(_0x2bb0d9))return null;try{const _0x2e646e=JSON['parse'](readFileSync(_0x2bb0d9,'utf-8'));return _0x2e646e[_0x351361(0xfc)]??{};}catch{return null;}}function a111_0x3d12(){const _0x50fcc0=['package.json','entries','inherit','cwd','--watch','36gmnSxk','\x20run\x20preview','push','pnpm-lock.yaml','error','keys','validation','length','2870220CWXZtm','No\x20scripts\x20defined\x20in\x20package.json.','2089415mdGGAX','6YDxwDC','bun','start','11TTkQwd','No\x20package.json\x20found\x20in\x20current\x20directory.','\x22\x20not\x20found\x20in\x20package.json.','16zczIWV','yarn','yarn.lock','read','bun.lock','Enable\x20watch\x20mode\x20for\x20preview','has','\x20\x20\x20\x20','padEnd','\x20run\x20<script>\x0a','run','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','\x20run\x20','bool','1280482PMAZtf','belowMinimum','14351496AkClJI','pnpm','dev','map','Available:\x20','vite\x20preview\x20exited\x20with\x20code\x20','log','1486755cHTrPQ','npm','join','vite','Run\x20a\x20package.json\x20script','build','script','.bin','watch','\x20run\x20build','4padIGo','needsUpgrade','3296115mGwyeO','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','preview','args','node_modules','close','bun.lockb','boolean','\x0a\x20\x20Available\x20scripts:\x0a','14064ybuiSs','\x20exited\x20with\x20code\x20','max','scripts'];a111_0x3d12=function(){return _0x50fcc0;};return a111_0x3d12();}function detectPackageManager(_0xe9c316){const _0x4b6257=a111_0x137354;if(existsSync(resolve(_0xe9c316,_0x4b6257(0x13c)))||existsSync(resolve(_0xe9c316,_0x4b6257(0x117))))return _0x4b6257(0x10e);if(existsSync(resolve(_0xe9c316,_0x4b6257(0x105))))return _0x4b6257(0x124);if(existsSync(resolve(_0xe9c316,_0x4b6257(0x115))))return _0x4b6257(0x114);return _0x4b6257(0x12b);}async function versionCheck(_0x2bfa70){const _0x475ba2=a111_0x137354,_0x735c7d=await checkCliVersion();(_0x735c7d[_0x475ba2(0x135)]||_0x735c7d[_0x475ba2(0x122)])&&(printCliUpgradeWarning(_0x735c7d),assertCliVersionSupported(_0x735c7d));const _0x4edac9=await checkSdkVersion(_0x2bfa70);if(_0x4edac9[_0x475ba2(0x135)])printSdkUpgradeWarning(_0x4edac9);}function spawnScript(_0x281c0b,_0x527355,_0x2844d1,_0x1f5a4b){return new Promise((_0xdf49b8,_0x29714f)=>{const _0x5394ba=a111_0x1825,_0x17b2a9=[_0x5394ba(0x11d),_0x527355,..._0x2844d1],_0xe887e1=spawn(_0x281c0b,_0x17b2a9,{'cwd':_0x1f5a4b,'stdio':_0x5394ba(0xff),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1f5a4b,_0x5394ba(0x13a),_0x5394ba(0x131))+delimiter+process.env.PATH}});_0xe887e1['on']('close',_0x22e043=>{const _0x415405=_0x5394ba;if(_0x22e043===0x0||_0x22e043===null)_0xdf49b8();else _0x29714f(new Error(_0x281c0b+_0x415405(0x11f)+_0x527355+_0x415405(0xfa)+_0x22e043));}),_0xe887e1['on']('error',_0x29714f);});}function spawnViteBuildWatch(_0xd39876){return new Promise((_0x23c636,_0x186f2e)=>{const _0x413575=a111_0x1825,_0x34df0b=spawn(_0x413575(0x12d),[_0x413575(0x12f),_0x413575(0x101)],{'cwd':_0xd39876,'stdio':_0x413575(0xff),'shell':!![],'env':{...process.env,'PATH':''+join(_0xd39876,'node_modules',_0x413575(0x131))+delimiter+process.env.PATH}});_0x34df0b['on']('close',_0x33eec1=>{if(_0x33eec1===0x0||_0x33eec1===null)_0x23c636();else _0x186f2e(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x33eec1));}),_0x34df0b['on']('error',_0x186f2e);});}function spawnVitePreview(_0x5e65b6){return new Promise((_0x1d7fe8,_0x39a200)=>{const _0x1b0f77=a111_0x1825,_0x2e4972=spawn(_0x1b0f77(0x12d),[_0x1b0f77(0x138)],{'cwd':_0x5e65b6,'stdio':_0x1b0f77(0xff),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5e65b6,'node_modules',_0x1b0f77(0x131))+delimiter+process.env.PATH}});_0x2e4972['on'](_0x1b0f77(0x13b),_0xbb510a=>{const _0x532a06=_0x1b0f77;if(_0xbb510a===0x0||_0xbb510a===null)_0x1d7fe8();else _0x39a200(new Error(_0x532a06(0x128)+_0xbb510a));}),_0x2e4972['on'](_0x1b0f77(0x106),_0x39a200);});}const runFlags=[{'name':'watch','type':a111_0x137354(0x13d),'description':a111_0x137354(0x118),'default':![]}];function a111_0x1825(_0x2759db,_0x3d376a){_0x2759db=_0x2759db-0xf8;const _0x3d124b=a111_0x3d12();let _0x1825eb=_0x3d124b[_0x2759db];return _0x1825eb;}export const runDefinition={'service':a111_0x137354(0x11d),'command':a111_0x137354(0x11d),'description':a111_0x137354(0x12e),'risk':a111_0x137354(0x116),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x137354(0x130),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4c7a58=a111_0x137354,_0x3f973a=readPackageScripts(process[_0x4c7a58(0x100)]()),_0x4364ba=[];if(_0x3f973a&&Object['keys'](_0x3f973a)[_0x4c7a58(0x109)]>0x0){const _0x999bdf=Object['keys'](_0x3f973a),_0xaa019f=Math[_0x4c7a58(0xfb)](..._0x999bdf[_0x4c7a58(0x126)](_0x1bf304=>_0x1bf304[_0x4c7a58(0x109)]));_0x4364ba['push'](_0x4c7a58(0x137));for(const [_0x195107,_0xf0e247]of Object[_0x4c7a58(0xfe)](_0x3f973a)){_0x4364ba[_0x4c7a58(0x104)](_0x4c7a58(0x11a)+CLI_BIN_NAME+_0x4c7a58(0x11f)+_0x195107['padEnd'](_0xaa019f+0x2)+'#\x20'+_0xf0e247);}}else _0x4364ba[_0x4c7a58(0x104)]('\x20\x20EXAMPLES'),_0x4364ba['push'](_0x4c7a58(0x11a)+CLI_BIN_NAME+'\x20run\x20start'),_0x4364ba['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x4c7a58(0x133)),_0x4364ba[_0x4c7a58(0x104)](_0x4c7a58(0x11a)+CLI_BIN_NAME+_0x4c7a58(0x103)),_0x4364ba['push'](_0x4c7a58(0x11a)+CLI_BIN_NAME+_0x4c7a58(0x11e));return _0x4364ba[_0x4c7a58(0x12c)]('\x0a');},async 'execute'(_0x4b2d10){const _0x27fb1e=a111_0x137354,_0x2ff04a=process[_0x27fb1e(0x100)](),_0xc76fe1=_0x4b2d10['args'][0x0],_0x1c414b=_0x4b2d10[_0x27fb1e(0x139)]['slice'](0x1),_0x17dbb8=readPackageScripts(_0x2ff04a);if(!_0x17dbb8)throw CliErrors['validation'](_0x27fb1e(0x111));if(!_0xc76fe1){const _0x582cfe=Object[_0x27fb1e(0x107)](_0x17dbb8);if(_0x582cfe[_0x27fb1e(0x109)]===0x0)console[_0x27fb1e(0x129)](_0x27fb1e(0x10b));else{console[_0x27fb1e(0x129)](_0x27fb1e(0xf8));const _0x515b98=Math[_0x27fb1e(0xfb)](..._0x582cfe[_0x27fb1e(0x126)](_0x1dba2d=>_0x1dba2d['length']));for(const [_0x29e912,_0x790106]of Object[_0x27fb1e(0xfe)](_0x17dbb8)){console[_0x27fb1e(0x129)]('\x20\x20\x20\x20'+_0x29e912[_0x27fb1e(0x11b)](_0x515b98+0x2)+_0x790106);}console[_0x27fb1e(0x129)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x27fb1e(0x11c));}return{'ok':!![]};}if(!_0x17dbb8[_0xc76fe1])throw CliErrors[_0x27fb1e(0x108)]('Script\x20\x22'+_0xc76fe1+_0x27fb1e(0x112),_0x27fb1e(0x127)+(Object[_0x27fb1e(0x107)](_0x17dbb8)[_0x27fb1e(0x12c)](',\x20')||'(none)'));const _0x1dcc8a=detectPackageManager(_0x2ff04a);VERSION_CHECK_SCRIPTS[_0x27fb1e(0x119)](_0xc76fe1)&&await versionCheck(_0x2ff04a);if(_0xc76fe1===_0x27fb1e(0x138)&&_0x4b2d10[_0x27fb1e(0x120)](_0x27fb1e(0x132)))return await Promise['all']([spawnViteBuildWatch(_0x2ff04a),spawnVitePreview(_0x2ff04a)]),{'ok':!![]};return await spawnScript(_0x1dcc8a,_0xc76fe1,_0x1c414b,_0x2ff04a),{'ok':!![]};}};
1
+ const a111_0x92eafc=a111_0x300d;(function(_0x4c98a5,_0x411898){const _0x113821=a111_0x300d,_0x45e0ed=_0x4c98a5();while(!![]){try{const _0xc8bf4d=-parseInt(_0x113821(0xb7))/0x1+-parseInt(_0x113821(0xa5))/0x2*(parseInt(_0x113821(0xc3))/0x3)+parseInt(_0x113821(0xbc))/0x4+parseInt(_0x113821(0x9c))/0x5*(-parseInt(_0x113821(0x92))/0x6)+parseInt(_0x113821(0xa3))/0x7+parseInt(_0x113821(0xce))/0x8*(-parseInt(_0x113821(0x8d))/0x9)+parseInt(_0x113821(0xa2))/0xa;if(_0xc8bf4d===_0x411898)break;else _0x45e0ed['push'](_0x45e0ed['shift']());}catch(_0x542fff){_0x45e0ed['push'](_0x45e0ed['shift']());}}}(a111_0x339d,0x938b4));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';function a111_0x339d(){const _0x270bdd=['map','Enable\x20watch\x20mode\x20for\x20preview','node_modules','958506WeUcge','log','bun.lockb','.bin','pnpm','1299776wgVYxh','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','all','\x0a\x20\x20Usage:\x20','boolean','max','inherit','3eqXzYx','has','\x20exited\x20with\x20code\x20','utf-8','needsUpgrade','entries','keys','\x20run\x20preview','padEnd','read','dev','8qwrYha','\x20\x20\x20\x20','10342584NjVHtZ','\x20run\x20','Script\x20name\x20defined\x20in\x20package.json','slice','npm','6igZqDu','start','run','error','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','build','bun','vite\x20preview\x20exited\x20with\x20code\x20','close','Run\x20a\x20package.json\x20script','2473675cRiAuA','join','validation','\x22\x20not\x20found\x20in\x20package.json.','push','\x20run\x20build','28621750ojbRFb','3787259BQlVPI','bun.lock','1042798CXWswU','Script\x20\x22','No\x20scripts\x20defined\x20in\x20package.json.','\x0a\x20\x20Available\x20scripts:\x0a','watch','args','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','yarn','cwd','pnpm-lock.yaml','vite','preview','Available:\x20','\x20run\x20<script>\x0a','length'];a111_0x339d=function(){return _0x270bdd;};return a111_0x339d();}const VERSION_CHECK_SCRIPTS=new Set([a111_0x92eafc(0x93),a111_0x92eafc(0xcd)]);function readPackageScripts(_0x1bf48c){const _0x511699=a111_0x92eafc,_0x55d753=resolve(_0x1bf48c,'package.json');if(!existsSync(_0x55d753))return null;try{const _0x21a1ea=JSON['parse'](readFileSync(_0x55d753,_0x511699(0xc6)));return _0x21a1ea['scripts']??{};}catch{return null;}}function detectPackageManager(_0x552362){const _0x50baa2=a111_0x92eafc;if(existsSync(resolve(_0x552362,_0x50baa2(0xb9)))||existsSync(resolve(_0x552362,_0x50baa2(0xa4))))return _0x50baa2(0x98);if(existsSync(resolve(_0x552362,_0x50baa2(0xae))))return _0x50baa2(0xbb);if(existsSync(resolve(_0x552362,'yarn.lock')))return _0x50baa2(0xac);return _0x50baa2(0x91);}async function versionCheck(_0x3ff052){const _0x141c3d=a111_0x92eafc,_0x1cccb4=await checkCliVersion();(_0x1cccb4[_0x141c3d(0xc7)]||_0x1cccb4['belowMinimum'])&&(printCliUpgradeWarning(_0x1cccb4),assertCliVersionSupported(_0x1cccb4));const _0x2bf4e6=await checkSdkVersion(_0x3ff052);if(_0x2bf4e6['needsUpgrade'])printSdkUpgradeWarning(_0x2bf4e6);}function spawnScript(_0x331262,_0x455d69,_0x783a13,_0x47fc20){return new Promise((_0x1776df,_0x509505)=>{const _0x1206d6=a111_0x300d,_0x1e155f=[_0x1206d6(0x94),_0x455d69,..._0x783a13],_0x482eaf=spawn(_0x331262,_0x1e155f,{'cwd':_0x47fc20,'stdio':_0x1206d6(0xc2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x47fc20,_0x1206d6(0xb6),_0x1206d6(0xba))+delimiter+process.env.PATH}});_0x482eaf['on'](_0x1206d6(0x9a),_0xd6f219=>{const _0x3ef00b=_0x1206d6;if(_0xd6f219===0x0||_0xd6f219===null)_0x1776df();else _0x509505(new Error(_0x331262+_0x3ef00b(0x8e)+_0x455d69+_0x3ef00b(0xc5)+_0xd6f219));}),_0x482eaf['on'](_0x1206d6(0x95),_0x509505);});}function spawnViteBuildWatch(_0x593b95){return new Promise((_0x54a652,_0x239a88)=>{const _0x1d9518=a111_0x300d,_0x14087d=spawn('vite',[_0x1d9518(0x97),'--watch'],{'cwd':_0x593b95,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x593b95,_0x1d9518(0xb6),'.bin')+delimiter+process.env.PATH}});_0x14087d['on'](_0x1d9518(0x9a),_0x41349a=>{const _0x2fd5f5=_0x1d9518;if(_0x41349a===0x0||_0x41349a===null)_0x54a652();else _0x239a88(new Error(_0x2fd5f5(0x96)+_0x41349a));}),_0x14087d['on'](_0x1d9518(0x95),_0x239a88);});}function a111_0x300d(_0x4c6661,_0x548a54){_0x4c6661=_0x4c6661-0x8d;const _0x339d93=a111_0x339d();let _0x300da5=_0x339d93[_0x4c6661];return _0x300da5;}function spawnVitePreview(_0x34c351){return new Promise((_0x4ac90b,_0x11c8dc)=>{const _0x177b50=a111_0x300d,_0x3d3388=spawn(_0x177b50(0xaf),[_0x177b50(0xb0)],{'cwd':_0x34c351,'stdio':_0x177b50(0xc2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x34c351,'node_modules',_0x177b50(0xba))+delimiter+process.env.PATH}});_0x3d3388['on'](_0x177b50(0x9a),_0x5e18c6=>{const _0x2a4b67=_0x177b50;if(_0x5e18c6===0x0||_0x5e18c6===null)_0x4ac90b();else _0x11c8dc(new Error(_0x2a4b67(0x99)+_0x5e18c6));}),_0x3d3388['on'](_0x177b50(0x95),_0x11c8dc);});}const runFlags=[{'name':'watch','type':a111_0x92eafc(0xc0),'description':a111_0x92eafc(0xb5),'default':![]}];export const runDefinition={'service':a111_0x92eafc(0x94),'command':a111_0x92eafc(0x94),'description':a111_0x92eafc(0x9b),'risk':a111_0x92eafc(0xcc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a111_0x92eafc(0x8f),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1c00e6=a111_0x92eafc,_0x4572c5=readPackageScripts(process[_0x1c00e6(0xad)]()),_0x2e60d5=[];if(_0x4572c5&&Object[_0x1c00e6(0xc9)](_0x4572c5)[_0x1c00e6(0xb3)]>0x0){const _0x17b1fc=Object[_0x1c00e6(0xc9)](_0x4572c5),_0x18003f=Math[_0x1c00e6(0xc1)](..._0x17b1fc['map'](_0x5e766a=>_0x5e766a[_0x1c00e6(0xb3)]));_0x2e60d5['push'](_0x1c00e6(0xbd));for(const [_0x142385,_0x3374b4]of Object[_0x1c00e6(0xc8)](_0x4572c5)){_0x2e60d5['push'](_0x1c00e6(0xcf)+CLI_BIN_NAME+'\x20run\x20'+_0x142385[_0x1c00e6(0xcb)](_0x18003f+0x2)+'#\x20'+_0x3374b4);}}else _0x2e60d5[_0x1c00e6(0xa0)]('\x20\x20EXAMPLES'),_0x2e60d5[_0x1c00e6(0xa0)](_0x1c00e6(0xcf)+CLI_BIN_NAME+'\x20run\x20start'),_0x2e60d5[_0x1c00e6(0xa0)](_0x1c00e6(0xcf)+CLI_BIN_NAME+_0x1c00e6(0xa1)),_0x2e60d5[_0x1c00e6(0xa0)](_0x1c00e6(0xcf)+CLI_BIN_NAME+_0x1c00e6(0xca)),_0x2e60d5[_0x1c00e6(0xa0)](_0x1c00e6(0xcf)+CLI_BIN_NAME+_0x1c00e6(0xab));return _0x2e60d5['join']('\x0a');},async 'execute'(_0xf861c6){const _0x353607=a111_0x92eafc,_0x585666=process[_0x353607(0xad)](),_0x1687a5=_0xf861c6[_0x353607(0xaa)][0x0],_0xf73152=_0xf861c6[_0x353607(0xaa)][_0x353607(0x90)](0x1),_0x29b636=readPackageScripts(_0x585666);if(!_0x29b636)throw CliErrors[_0x353607(0x9e)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x1687a5){const _0x5af865=Object['keys'](_0x29b636);if(_0x5af865[_0x353607(0xb3)]===0x0)console[_0x353607(0xb8)](_0x353607(0xa7));else{console[_0x353607(0xb8)](_0x353607(0xa8));const _0x324717=Math['max'](..._0x5af865[_0x353607(0xb4)](_0x3b3292=>_0x3b3292['length']));for(const [_0x2a2848,_0x323573]of Object[_0x353607(0xc8)](_0x29b636)){console['log'](_0x353607(0xcf)+_0x2a2848[_0x353607(0xcb)](_0x324717+0x2)+_0x323573);}console[_0x353607(0xb8)](_0x353607(0xbf)+CLI_BIN_NAME+_0x353607(0xb2));}return{'ok':!![]};}if(!_0x29b636[_0x1687a5])throw CliErrors[_0x353607(0x9e)](_0x353607(0xa6)+_0x1687a5+_0x353607(0x9f),_0x353607(0xb1)+(Object['keys'](_0x29b636)[_0x353607(0x9d)](',\x20')||'(none)'));const _0x3fca9a=detectPackageManager(_0x585666);VERSION_CHECK_SCRIPTS[_0x353607(0xc4)](_0x1687a5)&&await versionCheck(_0x585666);if(_0x1687a5===_0x353607(0xb0)&&_0xf861c6['bool'](_0x353607(0xa9)))return await Promise[_0x353607(0xbe)]([spawnViteBuildWatch(_0x585666),spawnVitePreview(_0x585666)]),{'ok':!![]};return await spawnScript(_0x3fca9a,_0x1687a5,_0xf73152,_0x585666),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a112_0x13a01f=a112_0xb921;function a112_0x3fe4(){const _0x1b17ed=['8754earJoY','1159214eTOkiy','read','8Xdkokp','70aawVQb','Export\x20machine-readable\x20command\x20schema\x20(JSON)','15qeOnwj','557674nySPGW','json','1004iFxUrO','69350CQIkmt','export','120ZnqbFN','174295VcLvLh','1036506idIrvu','297sOYvps','2823CzwuyD','5MzvKIy'];a112_0x3fe4=function(){return _0x1b17ed;};return a112_0x3fe4();}function a112_0xb921(_0x30314e,_0x32502a){_0x30314e=_0x30314e-0x171;const _0x3fe4bb=a112_0x3fe4();let _0xb92100=_0x3fe4bb[_0x30314e];return _0xb92100;}(function(_0x2b6aa2,_0x2a8dd3){const _0x154962=a112_0xb921,_0x1693c2=_0x2b6aa2();while(!![]){try{const _0x5368e7=parseInt(_0x154962(0x176))/0x1*(parseInt(_0x154962(0x182))/0x2)+parseInt(_0x154962(0x180))/0x3*(parseInt(_0x154962(0x179))/0x4)+-parseInt(_0x154962(0x181))/0x5*(parseInt(_0x154962(0x17e))/0x6)+-parseInt(_0x154962(0x171))/0x7*(parseInt(_0x154962(0x173))/0x8)+-parseInt(_0x154962(0x17f))/0x9*(-parseInt(_0x154962(0x17a))/0xa)+parseInt(_0x154962(0x17d))/0xb*(parseInt(_0x154962(0x17c))/0xc)+parseInt(_0x154962(0x177))/0xd*(-parseInt(_0x154962(0x174))/0xe);if(_0x5368e7===_0x2a8dd3)break;else _0x1693c2['push'](_0x1693c2['shift']());}catch(_0x25120b){_0x1693c2['push'](_0x1693c2['shift']());}}}(a112_0x3fe4,0x21474));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x50ecc9){const _0x57d991=await buildSchemaPayload();return{'ok':!![],'data':_0x57d991};}export const schemaDefinition={'service':'schema','command':a112_0x13a01f(0x17b),'description':a112_0x13a01f(0x175),'risk':a112_0x13a01f(0x172),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x13a01f(0x178),'flags':[],'execute':execute};
1
+ const a112_0x4e9cb5=a112_0x4750;(function(_0x25e8df,_0x50fc7b){const _0x1f44d3=a112_0x4750,_0xb720a9=_0x25e8df();while(!![]){try{const _0x494608=parseInt(_0x1f44d3(0x15c))/0x1*(-parseInt(_0x1f44d3(0x152))/0x2)+parseInt(_0x1f44d3(0x15a))/0x3*(parseInt(_0x1f44d3(0x153))/0x4)+-parseInt(_0x1f44d3(0x156))/0x5+parseInt(_0x1f44d3(0x14f))/0x6+-parseInt(_0x1f44d3(0x155))/0x7*(-parseInt(_0x1f44d3(0x158))/0x8)+parseInt(_0x1f44d3(0x159))/0x9*(-parseInt(_0x1f44d3(0x154))/0xa)+parseInt(_0x1f44d3(0x150))/0xb;if(_0x494608===_0x50fc7b)break;else _0xb720a9['push'](_0xb720a9['shift']());}catch(_0xd7063c){_0xb720a9['push'](_0xb720a9['shift']());}}}(a112_0x4ab7,0xe178c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5118c7){const _0xd43001=await buildSchemaPayload();return{'ok':!![],'data':_0xd43001};}function a112_0x4750(_0x3e4b30,_0x1bd085){_0x3e4b30=_0x3e4b30-0x14f;const _0x4ab795=a112_0x4ab7();let _0x4750dc=_0x4ab795[_0x3e4b30];return _0x4750dc;}export const schemaDefinition={'service':'schema','command':a112_0x4e9cb5(0x15b),'description':a112_0x4e9cb5(0x157),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x4e9cb5(0x151),'flags':[],'execute':execute};function a112_0x4ab7(){const _0x2d0d74=['export','6rZtEBp','6692334xLriJf','5890049twTEBk','json','496882NwLLmc','17948IoAzcl','6690sGKSdE','7QYzWEW','1622590fkAFmC','Export\x20machine-readable\x20command\x20schema\x20(JSON)','8419024WWAzRr','549DjNSNz','51rHViqW'];a112_0x4ab7=function(){return _0x2d0d74;};return a112_0x4ab7();}
@@ -1 +1 @@
1
- const a113_0x17220b=a113_0x3386;function a113_0x3386(_0x346b03,_0x5d8a7f){_0x346b03=_0x346b03-0x1a0;const _0x3ad9b2=a113_0x3ad9();let _0x33869e=_0x3ad9b2[_0x346b03];return _0x33869e;}(function(_0x4ae8e2,_0x239656){const _0x50cc0c=a113_0x3386,_0x255c8c=_0x4ae8e2();while(!![]){try{const _0x1ddf55=parseInt(_0x50cc0c(0x1b0))/0x1+parseInt(_0x50cc0c(0x1b9))/0x2+-parseInt(_0x50cc0c(0x1b8))/0x3+-parseInt(_0x50cc0c(0x1af))/0x4+-parseInt(_0x50cc0c(0x1a0))/0x5*(parseInt(_0x50cc0c(0x1ab))/0x6)+parseInt(_0x50cc0c(0x1a5))/0x7+parseInt(_0x50cc0c(0x1b3))/0x8*(parseInt(_0x50cc0c(0x1a6))/0x9);if(_0x1ddf55===_0x239656)break;else _0x255c8c['push'](_0x255c8c['shift']());}catch(_0x530d59){_0x255c8c['push'](_0x255c8c['shift']());}}}(a113_0x3ad9,0xe7e37));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a113_0x3ad9(){const _0x1a4a85=['4325907JJrucc','801682ZYkoio','Check\x20network\x20connectivity\x20and\x20try\x20again.','nonInteractive','log','inherit','../../skills/npx-skills-add.js','write','5heuKJo','\x20skill\x20installed','skipped','install','skill-install','8296848QVBDzB','36zolBUr','cwd',')...','skill','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','3498822ENFRrt','unknown','error','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','4472412CfjvaZ','231615DgRvGT','Install\x20developer\x20skill\x20package','lovrabet/rabetbase','4550608iuqxSq','info','setLogPath','Installing\x20official\x20skill\x20via\x20npx\x20(','apiError'];a113_0x3ad9=function(){return _0x1a4a85;};return a113_0x3ad9();}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x17220b(0x1a9),'command':a113_0x17220b(0x1a3),'description':a113_0x17220b(0x1b1),'risk':a113_0x17220b(0x1bf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x340b25){const _0x16a1b3=a113_0x17220b;logger[_0x16a1b3(0x1b5)](process[_0x16a1b3(0x1a7)]()),logger[_0x16a1b3(0x1b4)](_0x16a1b3(0x1a4),_0x16a1b3(0x1aa));const {runNpxSkillsAddGlobal:_0x3ab54d}=await import(_0x16a1b3(0x1be)),_0xe11983=_0x340b25[_0x16a1b3(0x1bb)]?'pipe':_0x16a1b3(0x1bd);console[_0x16a1b3(0x1bc)](_0x16a1b3(0x1b6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x16a1b3(0x1a8));const _0xefd8f5=_0x3ab54d(process['cwd'](),_0x16a1b3(0x1b2),{'stdio':_0xe11983});if(_0xefd8f5[_0x16a1b3(0x1a2)])console[_0x16a1b3(0x1bc)](_0x16a1b3(0x1ae));else{if(_0xefd8f5['ok'])console[_0x16a1b3(0x1bc)](CLI_BIN_NAME+_0x16a1b3(0x1a1));else throw CliErrors[_0x16a1b3(0x1b7)]('npx\x20skills\x20add\x20failed:\x20'+(_0xefd8f5[_0x16a1b3(0x1ad)]||_0x16a1b3(0x1ac)),_0x16a1b3(0x1ba));}return{'ok':!![]};}}];
1
+ const a113_0x4a3a4d=a113_0x50c3;(function(_0x160361,_0x5de7a4){const _0x1993ee=a113_0x50c3,_0x293a61=_0x160361();while(!![]){try{const _0x1941b9=parseInt(_0x1993ee(0x15a))/0x1*(parseInt(_0x1993ee(0x143))/0x2)+parseInt(_0x1993ee(0x14a))/0x3*(parseInt(_0x1993ee(0x14c))/0x4)+-parseInt(_0x1993ee(0x155))/0x5*(-parseInt(_0x1993ee(0x157))/0x6)+-parseInt(_0x1993ee(0x159))/0x7+-parseInt(_0x1993ee(0x148))/0x8+parseInt(_0x1993ee(0x152))/0x9+-parseInt(_0x1993ee(0x158))/0xa*(parseInt(_0x1993ee(0x151))/0xb);if(_0x1941b9===_0x5de7a4)break;else _0x293a61['push'](_0x293a61['shift']());}catch(_0x443a46){_0x293a61['push'](_0x293a61['shift']());}}}(a113_0x5d91,0xdd562));function a113_0x5d91(){const _0x55a95d=['Installing\x20official\x20skill\x20via\x20npx\x20(','log','2128915HouMDk','skipped','18pEmqeS','499110XSjASI','4181408jLphev','1XiTRWg','lovrabet/rabetbase','apiError','../../skills/npx-skills-add.js','skill-install','\x20skill\x20installed','Install\x20developer\x20skill\x20package','687508MehOvS','error','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','npx\x20skills\x20add\x20failed:\x20','install','661720dfIkvu','Check\x20network\x20connectivity\x20and\x20try\x20again.','12192bYhWFT','inherit','520yRIlua','write','cwd','nonInteractive','setLogPath','319dqNqAm','7961841OTFAwT'];a113_0x5d91=function(){return _0x55a95d;};return a113_0x5d91();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';function a113_0x50c3(_0x3f5806,_0x5ab8f0){_0x3f5806=_0x3f5806-0x142;const _0x5d910e=a113_0x5d91();let _0x50c3d3=_0x5d910e[_0x3f5806];return _0x50c3d3;}export const skillDefinitions=[{'service':'skill','command':a113_0x4a3a4d(0x147),'description':a113_0x4a3a4d(0x142),'risk':a113_0x4a3a4d(0x14d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5c11c8){const _0x2cf0f5=a113_0x4a3a4d;logger[_0x2cf0f5(0x150)](process[_0x2cf0f5(0x14e)]()),logger['info'](_0x2cf0f5(0x15e),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x2ec8d6}=await import(_0x2cf0f5(0x15d)),_0x2aab66=_0x5c11c8[_0x2cf0f5(0x14f)]?'pipe':_0x2cf0f5(0x14b);console[_0x2cf0f5(0x154)](_0x2cf0f5(0x153)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x3c1327=_0x2ec8d6(process['cwd'](),_0x2cf0f5(0x15b),{'stdio':_0x2aab66});if(_0x3c1327[_0x2cf0f5(0x156)])console[_0x2cf0f5(0x154)](_0x2cf0f5(0x145));else{if(_0x3c1327['ok'])console[_0x2cf0f5(0x154)](CLI_BIN_NAME+_0x2cf0f5(0x15f));else throw CliErrors[_0x2cf0f5(0x15c)](_0x2cf0f5(0x146)+(_0x3c1327[_0x2cf0f5(0x144)]||'unknown'),_0x2cf0f5(0x149));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a114_0x47b3f6=a114_0x1d70;function a114_0x32d8(){const _0x4754f1=['join','<server-generated-sqlCode>','validation','sqlRootDir','map','SQL\x20query\x20display\x20name','</select>','new','适合带动态标签的\x20MyBatis\x20XML\x20SQL','POST','850042urWOsF','mybatisXml','dbId\x20不能为空','File\x20already\x20exists:\x20','dbId','__manual__','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','193521qLFXFG','str','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','\x20\x20SELECT\x201\x20AS\x20id','trim','lockFilePath','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','isFinite','普通\x20SQL(sql)','length','sqlCode','14759892ATtcPv','1305450ZwDwlM','请输入目标数据库\x20dbId:','create','dbName','db-id','请输入\x20SQL\x20名称:','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','toISOString','flagMissing','✎\x20手动输入\x20dbId','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','appCode','number','633514rIfkCv','catch','isInteger','sql','mode','parse','SELECT\x201\x20AS\x20id;','请选择本地\x20SQL\x20模式:','dbId\x20必须为正整数','4665904dijlWc','/smartapi/custom/saveUserCustomSql','7EwGCIS','4345098IBdFBp','name','24yeORwY','Target\x20database\x20ID','stringify','sqlRoot','sqlName','string','sqls','nonInteractive'];a114_0x32d8=function(){return _0x4754f1;};return a114_0x32d8();}(function(_0x1cb4cd,_0x425505){const _0x248eaa=a114_0x1d70,_0x119ba1=_0x1cb4cd();while(!![]){try{const _0x105a16=-parseInt(_0x248eaa(0x1c1))/0x1+-parseInt(_0x248eaa(0x1e1))/0x2+-parseInt(_0x248eaa(0x1e8))/0x3*(-parseInt(_0x248eaa(0x1cf))/0x4)+-parseInt(_0x248eaa(0x1f4))/0x5+-parseInt(_0x248eaa(0x1cd))/0x6+-parseInt(_0x248eaa(0x1cc))/0x7*(-parseInt(_0x248eaa(0x1ca))/0x8)+parseInt(_0x248eaa(0x1f3))/0x9;if(_0x105a16===_0x425505)break;else _0x119ba1['push'](_0x119ba1['shift']());}catch(_0x31a4c0){_0x119ba1['push'](_0x119ba1['shift']());}}}(a114_0x32d8,0x8a4bc));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(_0x24fee5){const _0x53e986=a114_0x1d70;if(_0x24fee5===_0x53e986(0x1e2))return[_0x53e986(0x1e7),_0x53e986(0x1eb),_0x53e986(0x1dd),''][_0x53e986(0x1d7)]('\x0a');return[_0x53e986(0x1c7),''][_0x53e986(0x1d7)]('\x0a');}export const sqlCreate={'service':a114_0x47b3f6(0x1c4),'command':a114_0x47b3f6(0x1f6),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':'high-risk-write','flags':[{'name':a114_0x47b3f6(0x1ce),'type':'string','description':a114_0x47b3f6(0x1dc)},{'name':a114_0x47b3f6(0x1f8),'type':a114_0x47b3f6(0x1c0),'description':a114_0x47b3f6(0x1d0)},{'name':'mode','type':a114_0x47b3f6(0x1d4),'enum':[a114_0x47b3f6(0x1c4),'mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x339d68){const _0x2ee392=a114_0x47b3f6;if(!_0x339d68['nonInteractive'])return;if(!_0x339d68[_0x2ee392(0x1e9)](_0x2ee392(0x1ce))[_0x2ee392(0x1ec)]())throw CliErrors['flagMissing']('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0xdb4fd3=resolveProvidedDbId(_0x339d68);if(typeof _0xdb4fd3!=='number'||!Number['isFinite'](_0xdb4fd3)||_0xdb4fd3<=0x0)throw CliErrors[_0x2ee392(0x1fc)](_0x2ee392(0x1f8),_0x2ee392(0x1fe));if(!_0x339d68[_0x2ee392(0x1e9)](_0x2ee392(0x1c5))[_0x2ee392(0x1ec)]())throw CliErrors[_0x2ee392(0x1fc)](_0x2ee392(0x1c5),_0x2ee392(0x1fa));},async 'dryRun'(_0x3f333a){const _0x1d29ab=a114_0x47b3f6,_0x1ab9c1=loadSqlProjectConfig(_0x3f333a[_0x1d29ab(0x1ff)]),{sqlName:_0x51ff5b,dbId:_0x1208cd,dbName:_0x23620e,mode:_0x2fc11b}=await resolveSqlNewInputs(_0x3f333a),_0x1a8247=buildSqlRelativePath(_0x1d29ab(0x1d8),_0x51ff5b,_0x23620e,_0x2fc11b,_0x1208cd),_0x58102a=_0x1ab9c1[_0x1d29ab(0x1da)]+'/'+_0x1a8247;return{'method':_0x1d29ab(0x1e0),'url':_0x1d29ab(0x1cb),'body':{'appCode':_0x3f333a[_0x1d29ab(0x1ff)],'sqlName':_0x51ff5b,'dbId':_0x1208cd,'mode':_0x2fc11b,'localPath':_0x58102a},'description':_0x1d29ab(0x1ea)+_0x1ab9c1['sqlRootDir']};},async 'execute'(_0x461811){const _0x3789d2=a114_0x47b3f6,_0x3d6d02=loadSqlProjectConfig(_0x461811[_0x3789d2(0x1ff)]),{sqlName:_0x1aedbe,dbId:_0x1c53d7,dbName:_0x30fba7,mode:_0x5135fc}=await resolveSqlNewInputs(_0x461811),_0x5064be=generateSqlTemplate(_0x5135fc),_0x28e87b=await createSqlQuery({'appCode':_0x461811[_0x3789d2(0x1ff)],'sqlName':_0x1aedbe,'dbId':_0x1c53d7,'sqlContent':_0x5064be}),_0x29e092=ensureRemoteSqlContent(_0x28e87b),_0x1ce530=_0x30fba7||await getDbName(_0x461811[_0x3789d2(0x1ff)],_0x1c53d7)[_0x3789d2(0x1c2)](()=>undefined),_0x37d223=buildSqlRelativePath(_0x28e87b['sqlCode'],_0x28e87b['sqlName'],_0x1ce530,_0x5135fc,_0x1c53d7),_0x500d73=_0x3d6d02[_0x3789d2(0x1da)]+'/'+_0x37d223,_0x410339=buildLocalSqlFileContent({'sqlCode':_0x28e87b[_0x3789d2(0x1f2)],'sqlName':_0x28e87b['sqlName'],'dbId':_0x28e87b[_0x3789d2(0x1e5)]},_0x29e092,{'dbName':_0x1ce530,'mode':_0x5135fc,'syncedAt':new Date()[_0x3789d2(0x1fb)](),'description':_0x28e87b['description']});if(await fileExists(_0x500d73))throw CliErrors['validation'](_0x3789d2(0x1e4)+_0x500d73);await ensureParentDirectory(_0x500d73),await writeFile(_0x500d73,_0x410339,'utf8');const _0x3599a4=await readSqlLockFile(_0x3d6d02[_0x3789d2(0x1ed)]),{lockData:_0x490774,appLock:_0x2fad1b}=ensureSqlLockScope(_0x3599a4??createEmptySqlLock(),_0x3d6d02[_0x3789d2(0x1ff)],_0x3d6d02[_0x3789d2(0x1d2)],_0x3789d2(0x1de));return _0x2fad1b[_0x3789d2(0x1d5)][_0x28e87b[_0x3789d2(0x1f2)]]={...buildSqlLockEntry(_0x28e87b,_0x29e092,computeSqlContentHash(_0x410339),{'dbName':_0x1ce530}),'path':_0x37d223,'mode':_0x5135fc},_0x2fad1b['lastSync']=new Date()[_0x3789d2(0x1fb)](),await writeSqlLockFile(_0x3d6d02[_0x3789d2(0x1ed)],_0x490774),{'ok':!![],'data':{'id':_0x28e87b['id'],'sqlCode':_0x28e87b[_0x3789d2(0x1f2)],'sqlName':_0x28e87b[_0x3789d2(0x1d3)],'dbId':_0x28e87b[_0x3789d2(0x1e5)],'path':_0x500d73,'mode':_0x5135fc},'message':'Created\x20SQL\x20query\x20'+_0x28e87b[_0x3789d2(0x1f2)]};}};async function resolveSqlNewInputs(_0x3f8107){const _0x72e4ea=await resolveSqlNameInput(_0x3f8107),{dbId:_0x95d438,dbName:_0x3296c2}=await resolveDbSelection(_0x3f8107),_0x2afff7=await resolveSqlModeInput(_0x3f8107);return{'sqlName':_0x72e4ea,'dbId':_0x95d438,'dbName':_0x3296c2,'mode':_0x2afff7};}async function resolveSqlNameInput(_0x1a1390){const _0x2509ff=a114_0x47b3f6,_0x216a82=_0x1a1390[_0x2509ff(0x1e9)](_0x2509ff(0x1ce))[_0x2509ff(0x1ec)]();if(_0x216a82)return _0x216a82;if(_0x1a1390['nonInteractive'])throw CliErrors[_0x2509ff(0x1fc)](_0x2509ff(0x1ce),_0x2509ff(0x1ee));return(await input({'message':_0x2509ff(0x1f9),'validate':_0x537d9f=>_0x537d9f[_0x2509ff(0x1ec)]()?!![]:'SQL\x20名称不能为空'}))['trim']();}function a114_0x1d70(_0x16368b,_0x3c3ccb){_0x16368b=_0x16368b-0x1c0;const _0x32d8a6=a114_0x32d8();let _0x1d703d=_0x32d8a6[_0x16368b];return _0x1d703d;}async function resolveDbSelection(_0x38c315){const _0x1eeddf=a114_0x47b3f6,_0x4ac451=resolveProvidedDbId(_0x38c315);if(typeof _0x4ac451===_0x1eeddf(0x1c0)&&Number['isFinite'](_0x4ac451)&&_0x4ac451>0x0)return{'dbId':_0x4ac451,'dbName':await getDbName(_0x38c315[_0x1eeddf(0x1ff)],_0x4ac451)[_0x1eeddf(0x1c2)](()=>undefined)};if(_0x38c315[_0x1eeddf(0x1d6)])throw CliErrors[_0x1eeddf(0x1fc)](_0x1eeddf(0x1f8),_0x1eeddf(0x1fe));const _0x121435=await listDatabases(_0x38c315[_0x1eeddf(0x1ff)])[_0x1eeddf(0x1c2)](()=>[]);if(_0x121435[_0x1eeddf(0x1f1)]===0x1)return{'dbId':_0x121435[0x0]['dbId'],'dbName':_0x121435[0x0]['dbName']};if(_0x121435[_0x1eeddf(0x1f1)]>0x1){const _0x4e2557=await select({'message':'请选择目标数据库:','choices':[..._0x121435[_0x1eeddf(0x1db)](_0x22a22b=>({'name':_0x22a22b[_0x1eeddf(0x1f7)]+'\x20('+_0x22a22b[_0x1eeddf(0x1e5)]+')','value':serializeDbSelection(_0x22a22b)})),{'name':_0x1eeddf(0x1fd),'value':_0x1eeddf(0x1e6)}]});if(_0x4e2557!==_0x1eeddf(0x1e6))return deserializeDbSelection(_0x4e2557);}const _0x4ca650=await input({'message':_0x1eeddf(0x1f5),'validate':_0x323783=>{const _0x5a1691=_0x1eeddf,_0x201581=_0x323783[_0x5a1691(0x1ec)]();if(!_0x201581)return _0x5a1691(0x1e3);const _0x4298c2=Number(_0x201581);if(!Number[_0x5a1691(0x1c3)](_0x4298c2)||_0x4298c2<=0x0)return _0x5a1691(0x1c9);return!![];}});return{'dbId':Number(_0x4ca650['trim']())};}async function resolveSqlModeInput(_0x5b929b){const _0x5bb811=a114_0x47b3f6,_0x2ea194=_0x5b929b[_0x5bb811(0x1e9)](_0x5bb811(0x1c5))[_0x5bb811(0x1ec)]();if(_0x2ea194===_0x5bb811(0x1c4)||_0x2ea194===_0x5bb811(0x1e2))return _0x2ea194;if(_0x5b929b[_0x5bb811(0x1d6)])throw CliErrors[_0x5bb811(0x1fc)](_0x5bb811(0x1c5),_0x5bb811(0x1fa));return await select({'message':_0x5bb811(0x1c8),'choices':[{'name':_0x5bb811(0x1f0),'value':_0x5bb811(0x1c4),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':'mybatisXml','description':_0x5bb811(0x1df)}]});}function serializeDbSelection(_0x39e92e){const _0x24cb22=a114_0x47b3f6;return JSON[_0x24cb22(0x1d1)]({'dbId':_0x39e92e[_0x24cb22(0x1e5)],'dbName':_0x39e92e['dbName']});}function deserializeDbSelection(_0x352b00){const _0x1da854=a114_0x47b3f6;try{const _0x451dbd=JSON[_0x1da854(0x1c6)](_0x352b00);if(typeof _0x451dbd[_0x1da854(0x1e5)]==='number'&&Number[_0x1da854(0x1ef)](_0x451dbd['dbId']))return{'dbId':_0x451dbd[_0x1da854(0x1e5)],'dbName':_0x451dbd[_0x1da854(0x1f7)]};}catch{}throw CliErrors[_0x1da854(0x1d9)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x352b00);}function resolveProvidedDbId(_0x5e87cc){const _0x5e3996=a114_0x47b3f6,_0x35cf34=_0x5e87cc['flag']('db-id');if(typeof _0x35cf34==='number'&&Number[_0x5e3996(0x1ef)](_0x35cf34))return _0x35cf34;return undefined;}
1
+ const a114_0x1e42e4=a114_0x1e88;(function(_0x28dff3,_0x408b0d){const _0x13dd40=a114_0x1e88,_0x4d591a=_0x28dff3();while(!![]){try{const _0x5a9c76=-parseInt(_0x13dd40(0x1c2))/0x1*(parseInt(_0x13dd40(0x1ad))/0x2)+parseInt(_0x13dd40(0x1c7))/0x3*(-parseInt(_0x13dd40(0x1cc))/0x4)+-parseInt(_0x13dd40(0x1e1))/0x5+parseInt(_0x13dd40(0x1c0))/0x6*(parseInt(_0x13dd40(0x1e6))/0x7)+parseInt(_0x13dd40(0x1b3))/0x8*(parseInt(_0x13dd40(0x1ac))/0x9)+parseInt(_0x13dd40(0x1e7))/0xa*(parseInt(_0x13dd40(0x1c1))/0xb)+-parseInt(_0x13dd40(0x1de))/0xc*(-parseInt(_0x13dd40(0x1df))/0xd);if(_0x5a9c76===_0x408b0d)break;else _0x4d591a['push'](_0x4d591a['shift']());}catch(_0x5444ea){_0x4d591a['push'](_0x4d591a['shift']());}}}(a114_0x460e,0x9db0f));import{writeFile}from'node:fs/promises';function a114_0x1e88(_0xe0a90c,_0x138ced){_0xe0a90c=_0xe0a90c-0x1ab;const _0x460e71=a114_0x460e();let _0x1e889c=_0x460e71[_0xe0a90c];return _0x1e889c;}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';function a114_0x460e(){const _0x5f5579=['/smartapi/custom/saveUserCustomSql','flagMissing','dbId','SELECT\x201\x20AS\x20id;','请输入\x20SQL\x20名称:','sql','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','SQL\x20名称不能为空','parse','423804KbzQtw','169ilVFnM','number','774850duBjGK','high-risk-write','appCode','nonInteractive','<server-generated-sqlCode>','476NedHHe','970rFjtpe','sqlRootDir','string','Created\x20SQL\x20query\x20','</select>','str','sqlName','Local\x20SQL\x20file\x20mode','sqlCode','catch','mybatisXml','__manual__','3415059ftPbvb','724258JEkqSG','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','dbId\x20必须为正整数','description','join','new','8wiJbkC','请选择目标数据库:','sqls','适合带动态标签的\x20MyBatis\x20XML\x20SQL','MyBatis\x20XML(mybatisXml)','name','db-id','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Invalid\x20database\x20selection\x20payload:\x20','trim','sqlRoot','POST','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','25182IbdEnZ','96393owsSSa','3dDsYop','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','validation','lockFilePath','create','260157DbrRKl','toISOString','map','SQL\x20query\x20display\x20name','isFinite','4RwtkBJ','✎\x20手动输入\x20dbId','dbId\x20不能为空','length','File\x20already\x20exists:\x20','dbName','lastSync','utf8'];a114_0x460e=function(){return _0x5f5579;};return a114_0x460e();}import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x4b7efa){const _0x3fe46d=a114_0x1e88;if(_0x4b7efa==='mybatisXml')return[_0x3fe46d(0x1ae),'\x20\x20SELECT\x201\x20AS\x20id',_0x3fe46d(0x1eb),'']['join']('\x0a');return[_0x3fe46d(0x1d7),''][_0x3fe46d(0x1b1)]('\x0a');}export const sqlCreate={'service':a114_0x1e42e4(0x1d9),'command':a114_0x1e42e4(0x1c6),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a114_0x1e42e4(0x1e2),'flags':[{'name':a114_0x1e42e4(0x1b8),'type':a114_0x1e42e4(0x1e9),'description':a114_0x1e42e4(0x1ca)},{'name':a114_0x1e42e4(0x1b9),'type':a114_0x1e42e4(0x1e0),'description':'Target\x20database\x20ID'},{'name':a114_0x1e42e4(0x1db),'type':a114_0x1e42e4(0x1e9),'enum':[a114_0x1e42e4(0x1d9),'mybatisXml'],'description':a114_0x1e42e4(0x1ee)}],async 'validate'(_0x4b3e96){const _0x5d49d9=a114_0x1e42e4;if(!_0x4b3e96[_0x5d49d9(0x1e4)])return;if(!_0x4b3e96[_0x5d49d9(0x1ec)]('name')['trim']())throw CliErrors[_0x5d49d9(0x1d5)](_0x5d49d9(0x1b8),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x254413=resolveProvidedDbId(_0x4b3e96);if(typeof _0x254413!=='number'||!Number['isFinite'](_0x254413)||_0x254413<=0x0)throw CliErrors[_0x5d49d9(0x1d5)](_0x5d49d9(0x1b9),_0x5d49d9(0x1da));if(!_0x4b3e96[_0x5d49d9(0x1ec)](_0x5d49d9(0x1db))[_0x5d49d9(0x1bc)]())throw CliErrors[_0x5d49d9(0x1d5)]('mode',_0x5d49d9(0x1c3));},async 'dryRun'(_0x30e1dd){const _0x5d93f5=a114_0x1e42e4,_0x11b51e=loadSqlProjectConfig(_0x30e1dd[_0x5d93f5(0x1e3)]),{sqlName:_0x1d98ed,dbId:_0x24e647,dbName:_0x1f906a,mode:_0x3530a4}=await resolveSqlNewInputs(_0x30e1dd),_0x564ade=buildSqlRelativePath(_0x5d93f5(0x1e5),_0x1d98ed,_0x1f906a,_0x3530a4,_0x24e647),_0x207231=_0x11b51e['sqlRootDir']+'/'+_0x564ade;return{'method':_0x5d93f5(0x1be),'url':_0x5d93f5(0x1d4),'body':{'appCode':_0x30e1dd['appCode'],'sqlName':_0x1d98ed,'dbId':_0x24e647,'mode':_0x3530a4,'localPath':_0x207231},'description':_0x5d93f5(0x1bf)+_0x11b51e[_0x5d93f5(0x1e8)]};},async 'execute'(_0x5cf04c){const _0x163db0=a114_0x1e42e4,_0x11b042=loadSqlProjectConfig(_0x5cf04c[_0x163db0(0x1e3)]),{sqlName:_0x4ad196,dbId:_0x53d5d8,dbName:_0x3592d9,mode:_0x2fb506}=await resolveSqlNewInputs(_0x5cf04c),_0x39ff9b=generateSqlTemplate(_0x2fb506),_0x386efc=await createSqlQuery({'appCode':_0x5cf04c[_0x163db0(0x1e3)],'sqlName':_0x4ad196,'dbId':_0x53d5d8,'sqlContent':_0x39ff9b}),_0x5305d3=ensureRemoteSqlContent(_0x386efc),_0x52376f=_0x3592d9||await getDbName(_0x5cf04c[_0x163db0(0x1e3)],_0x53d5d8)[_0x163db0(0x1f0)](()=>undefined),_0x10fcca=buildSqlRelativePath(_0x386efc[_0x163db0(0x1ef)],_0x386efc[_0x163db0(0x1ed)],_0x52376f,_0x2fb506,_0x53d5d8),_0x41c565=_0x11b042[_0x163db0(0x1e8)]+'/'+_0x10fcca,_0x3a1623=buildLocalSqlFileContent({'sqlCode':_0x386efc[_0x163db0(0x1ef)],'sqlName':_0x386efc['sqlName'],'dbId':_0x386efc[_0x163db0(0x1d6)]},_0x5305d3,{'dbName':_0x52376f,'mode':_0x2fb506,'syncedAt':new Date()[_0x163db0(0x1c8)](),'description':_0x386efc[_0x163db0(0x1b0)]});if(await fileExists(_0x41c565))throw CliErrors[_0x163db0(0x1c4)](_0x163db0(0x1d0)+_0x41c565);await ensureParentDirectory(_0x41c565),await writeFile(_0x41c565,_0x3a1623,_0x163db0(0x1d3));const _0x98b85=await readSqlLockFile(_0x11b042['lockFilePath']),{lockData:_0x1ade2e,appLock:_0x5499d4}=ensureSqlLockScope(_0x98b85??createEmptySqlLock(),_0x11b042['appCode'],_0x11b042[_0x163db0(0x1bd)],_0x163db0(0x1b2));return _0x5499d4[_0x163db0(0x1b5)][_0x386efc[_0x163db0(0x1ef)]]={...buildSqlLockEntry(_0x386efc,_0x5305d3,computeSqlContentHash(_0x3a1623),{'dbName':_0x52376f}),'path':_0x10fcca,'mode':_0x2fb506},_0x5499d4[_0x163db0(0x1d2)]=new Date()[_0x163db0(0x1c8)](),await writeSqlLockFile(_0x11b042[_0x163db0(0x1c5)],_0x1ade2e),{'ok':!![],'data':{'id':_0x386efc['id'],'sqlCode':_0x386efc[_0x163db0(0x1ef)],'sqlName':_0x386efc[_0x163db0(0x1ed)],'dbId':_0x386efc[_0x163db0(0x1d6)],'path':_0x41c565,'mode':_0x2fb506},'message':_0x163db0(0x1ea)+_0x386efc[_0x163db0(0x1ef)]};}};async function resolveSqlNewInputs(_0x2936be){const _0x4488fe=await resolveSqlNameInput(_0x2936be),{dbId:_0x2c20e4,dbName:_0x1d1838}=await resolveDbSelection(_0x2936be),_0x3c91fd=await resolveSqlModeInput(_0x2936be);return{'sqlName':_0x4488fe,'dbId':_0x2c20e4,'dbName':_0x1d1838,'mode':_0x3c91fd};}async function resolveSqlNameInput(_0x33e262){const _0x44715f=a114_0x1e42e4,_0x110842=_0x33e262[_0x44715f(0x1ec)]('name')[_0x44715f(0x1bc)]();if(_0x110842)return _0x110842;if(_0x33e262[_0x44715f(0x1e4)])throw CliErrors[_0x44715f(0x1d5)](_0x44715f(0x1b8),_0x44715f(0x1ba));return(await input({'message':_0x44715f(0x1d8),'validate':_0x3a96b5=>_0x3a96b5[_0x44715f(0x1bc)]()?!![]:_0x44715f(0x1dc)}))[_0x44715f(0x1bc)]();}async function resolveDbSelection(_0x333eec){const _0x184368=a114_0x1e42e4,_0xedb31f=resolveProvidedDbId(_0x333eec);if(typeof _0xedb31f===_0x184368(0x1e0)&&Number[_0x184368(0x1cb)](_0xedb31f)&&_0xedb31f>0x0)return{'dbId':_0xedb31f,'dbName':await getDbName(_0x333eec[_0x184368(0x1e3)],_0xedb31f)['catch'](()=>undefined)};if(_0x333eec[_0x184368(0x1e4)])throw CliErrors[_0x184368(0x1d5)](_0x184368(0x1b9),_0x184368(0x1da));const _0x53e15f=await listDatabases(_0x333eec[_0x184368(0x1e3)])[_0x184368(0x1f0)](()=>[]);if(_0x53e15f['length']===0x1)return{'dbId':_0x53e15f[0x0][_0x184368(0x1d6)],'dbName':_0x53e15f[0x0]['dbName']};if(_0x53e15f[_0x184368(0x1cf)]>0x1){const _0x5769b6=await select({'message':_0x184368(0x1b4),'choices':[..._0x53e15f[_0x184368(0x1c9)](_0x256a77=>({'name':_0x256a77['dbName']+'\x20('+_0x256a77[_0x184368(0x1d6)]+')','value':serializeDbSelection(_0x256a77)})),{'name':_0x184368(0x1cd),'value':_0x184368(0x1ab)}]});if(_0x5769b6!==_0x184368(0x1ab))return deserializeDbSelection(_0x5769b6);}const _0x1a9fb3=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x174df0=>{const _0x1bfaa0=_0x184368,_0xe0d186=_0x174df0[_0x1bfaa0(0x1bc)]();if(!_0xe0d186)return _0x1bfaa0(0x1ce);const _0x1c902c=Number(_0xe0d186);if(!Number['isInteger'](_0x1c902c)||_0x1c902c<=0x0)return _0x1bfaa0(0x1af);return!![];}});return{'dbId':Number(_0x1a9fb3[_0x184368(0x1bc)]())};}async function resolveSqlModeInput(_0x2f728f){const _0x45a465=a114_0x1e42e4,_0x5f1aec=_0x2f728f['str'](_0x45a465(0x1db))['trim']();if(_0x5f1aec===_0x45a465(0x1d9)||_0x5f1aec===_0x45a465(0x1f1))return _0x5f1aec;if(_0x2f728f[_0x45a465(0x1e4)])throw CliErrors[_0x45a465(0x1d5)](_0x45a465(0x1db),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':'普通\x20SQL(sql)','value':_0x45a465(0x1d9),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x45a465(0x1b7),'value':'mybatisXml','description':_0x45a465(0x1b6)}]});}function serializeDbSelection(_0x29a6ec){const _0x3a14b3=a114_0x1e42e4;return JSON['stringify']({'dbId':_0x29a6ec[_0x3a14b3(0x1d6)],'dbName':_0x29a6ec[_0x3a14b3(0x1d1)]});}function deserializeDbSelection(_0x582c98){const _0x812f00=a114_0x1e42e4;try{const _0xb0cbff=JSON[_0x812f00(0x1dd)](_0x582c98);if(typeof _0xb0cbff['dbId']===_0x812f00(0x1e0)&&Number['isFinite'](_0xb0cbff['dbId']))return{'dbId':_0xb0cbff[_0x812f00(0x1d6)],'dbName':_0xb0cbff['dbName']};}catch{}throw CliErrors[_0x812f00(0x1c4)](_0x812f00(0x1bb)+_0x582c98);}function resolveProvidedDbId(_0x286d66){const _0x25b4e2=a114_0x1e42e4,_0x2e721f=_0x286d66['flag'](_0x25b4e2(0x1b9));if(typeof _0x2e721f===_0x25b4e2(0x1e0)&&Number['isFinite'](_0x2e721f))return _0x2e721f;return undefined;}
@@ -1 +1 @@
1
- const a115_0x18961a=a115_0x56c2;(function(_0x4aa324,_0x53e79c){const _0x1cedba=a115_0x56c2,_0x2d5466=_0x4aa324();while(!![]){try{const _0x52eb03=parseInt(_0x1cedba(0x142))/0x1*(-parseInt(_0x1cedba(0x14a))/0x2)+-parseInt(_0x1cedba(0x13f))/0x3+parseInt(_0x1cedba(0x151))/0x4*(parseInt(_0x1cedba(0x156))/0x5)+-parseInt(_0x1cedba(0x14c))/0x6*(parseInt(_0x1cedba(0x158))/0x7)+-parseInt(_0x1cedba(0x152))/0x8*(parseInt(_0x1cedba(0x153))/0x9)+parseInt(_0x1cedba(0x15a))/0xa+parseInt(_0x1cedba(0x146))/0xb;if(_0x52eb03===_0x53e79c)break;else _0x2d5466['push'](_0x2d5466['shift']());}catch(_0xd430e){_0x2d5466['push'](_0x2d5466['shift']());}}}(a115_0x2753,0xb9721));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';import{CliErrors}from'../../errors.js';function a115_0x2753(){const _0x536541=['/smartapi/custom/deleteUserCustomSql','toISOString','str','sqlRoot','replace','lastSync','2726799CBkoLh','sqls','filter','5lMsTIU','trashDir','sqlcode','entries','34711380TBPQLB','appCode','length','sqlRootDir','531658HoGJaG','delete','6cFrJMk','validation','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','lockFilePath','236CByBBl','968208nwWAub','9YPfqsS','Deleted\x20','sql','119425pyGbAm','remoteId','10207022lScIxo','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','120400xtcerd','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','high-risk-write','SQL\x20lock\x20file\x20not\x20found.','projectRoot'];a115_0x2753=function(){return _0x536541;};return a115_0x2753();}function a115_0x56c2(_0x5b352d,_0x45f8aa){_0x5b352d=_0x5b352d-0x13a;const _0x27530b=a115_0x2753();let _0x56c232=_0x27530b[_0x5b352d];return _0x56c232;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a115_0x18961a(0x155),'command':a115_0x18961a(0x14b),'description':a115_0x18961a(0x14f),'risk':a115_0x18961a(0x15c),'flags':[SQLCODE_FLAG],async 'validate'(_0x108777){const _0x4ac44c=a115_0x18961a,_0x117941=loadSqlProjectConfig(_0x108777[_0x4ac44c(0x147)]),_0xf8f02=await readSqlLockFile(_0x117941[_0x4ac44c(0x150)]);if(!_0xf8f02)throw CliErrors['validation'](_0x4ac44c(0x14e));},async 'dryRun'(_0x5a691c){const _0x3c2085=a115_0x18961a,_0x5456c4=loadSqlProjectConfig(_0x5a691c[_0x3c2085(0x147)]),_0x357650=await readSqlLockFile(_0x5456c4[_0x3c2085(0x150)]);if(!_0x357650)throw CliErrors[_0x3c2085(0x14d)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x4ed9cb}=ensureSqlLockScope(_0x357650,_0x5a691c['appCode'],_0x5456c4[_0x3c2085(0x13c)],_0x3c2085(0x14b)),_0x582f10=_0x5a691c[_0x3c2085(0x13b)](_0x3c2085(0x144)),_0x5c7d29=_0x4ed9cb[_0x3c2085(0x140)][_0x582f10];if(!_0x5c7d29)throw CliErrors[_0x3c2085(0x14d)](_0x3c2085(0x159)+_0x582f10+'\x22.');return{'method':'POST','url':_0x3c2085(0x15f),'body':{'sqlCode':_0x582f10,'id':_0x5c7d29['remoteId'],'localPath':resolveLocalSqlFilePath(_0x5456c4,_0x582f10,_0x5c7d29)},'description':'Would\x20delete\x20SQL\x20'+_0x582f10+_0x3c2085(0x15b)+_0x5456c4[_0x3c2085(0x143)]};},async 'execute'(_0x564eb3){const _0x462ec3=a115_0x18961a,_0x165452=loadSqlProjectConfig(_0x564eb3[_0x462ec3(0x147)]),_0x2ef3e4=await readSqlLockFile(_0x165452[_0x462ec3(0x150)]);if(!_0x2ef3e4)throw CliErrors['validation'](_0x462ec3(0x15d));const {lockData:_0x14c61c,appLock:_0x207cbf}=ensureSqlLockScope(_0x2ef3e4,_0x564eb3['appCode'],_0x165452['sqlRoot'],'delete'),_0x565785=_0x564eb3['str'](_0x462ec3(0x144)),_0x5063f8=_0x207cbf[_0x462ec3(0x140)][_0x565785];if(!_0x5063f8)throw CliErrors['validation'](_0x462ec3(0x159)+_0x565785+'\x22.');await deleteSqlQuery({'id':_0x5063f8[_0x462ec3(0x157)],'sqlCode':_0x565785}),_0x207cbf[_0x462ec3(0x140)]=Object['fromEntries'](Object[_0x462ec3(0x145)](_0x207cbf['sqls'])[_0x462ec3(0x141)](([_0x3528e7])=>_0x3528e7!==_0x565785)),_0x207cbf[_0x462ec3(0x13e)]=new Date()[_0x462ec3(0x13a)](),await writeSqlLockFile(_0x165452[_0x462ec3(0x150)],_0x14c61c);const _0x375010=resolveLocalSqlFilePath(_0x165452,_0x565785,_0x5063f8);let _0x5f1c6d;await fileExists(_0x375010)&&(_0x5f1c6d=await moveToTrash(_0x165452[_0x462ec3(0x15e)],_0x165452[_0x462ec3(0x143)],_0x375010),await cleanupEmptyDirectories(dirname(_0x375010),_0x165452[_0x462ec3(0x149)]));const _0x5a34fd={'deleted':_0x565785,'remoteId':_0x5063f8[_0x462ec3(0x157)]};if(_0x5f1c6d)_0x5a34fd['trashedTo']=_0x5f1c6d;return{'ok':!![],'data':_0x5a34fd,'message':_0x462ec3(0x154)+_0x565785+(_0x5f1c6d?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x1bcfe8,_0x458c43,_0x53ad9c){const _0x1c162c=a115_0x18961a,_0x34be1d=new Date()[_0x1c162c(0x13a)]()[_0x1c162c(0x13d)](/[:.]/g,'-'),_0x144aa7=relative(_0x1bcfe8,_0x53ad9c),_0x1ec6d5=join(_0x458c43,_0x34be1d,_0x144aa7);return await mkdir(dirname(_0x1ec6d5),{'recursive':!![]}),await rename(_0x53ad9c,_0x1ec6d5),_0x1ec6d5;}async function cleanupEmptyDirectories(_0x8e364b,_0xbeaa80){const _0x5b41aa=a115_0x18961a;let _0x5b800f=resolve(_0x8e364b);const _0xfbf7f5=resolve(_0xbeaa80);while(_0x5b800f['startsWith'](''+_0xfbf7f5+sep)||_0x5b800f===_0xfbf7f5){if(_0x5b800f===_0xfbf7f5)return;try{const _0x3b0db2=await readdir(_0x5b800f);if(_0x3b0db2[_0x5b41aa(0x148)]>0x0)return;await rmdir(_0x5b800f);}catch{return;}_0x5b800f=dirname(_0x5b800f);}}
1
+ const a115_0x4fe080=a115_0xc8fe;(function(_0x190296,_0x419a7e){const _0x56f201=a115_0xc8fe,_0x45f80f=_0x190296();while(!![]){try{const _0x10eb22=parseInt(_0x56f201(0x1c0))/0x1+-parseInt(_0x56f201(0x1c7))/0x2*(parseInt(_0x56f201(0x1a8))/0x3)+-parseInt(_0x56f201(0x1c5))/0x4+-parseInt(_0x56f201(0x1bc))/0x5*(parseInt(_0x56f201(0x1af))/0x6)+-parseInt(_0x56f201(0x1c3))/0x7+parseInt(_0x56f201(0x1b1))/0x8*(-parseInt(_0x56f201(0x1bd))/0x9)+parseInt(_0x56f201(0x1b4))/0xa;if(_0x10eb22===_0x419a7e)break;else _0x45f80f['push'](_0x45f80f['shift']());}catch(_0x197c40){_0x45f80f['push'](_0x45f80f['shift']());}}}(a115_0x5024,0xc8e89));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a115_0xc8fe(_0x328e36,_0x5da53b){_0x328e36=_0x328e36-0x19f;const _0x5024db=a115_0x5024();let _0xc8fed7=_0x5024db[_0x328e36];return _0xc8fed7;}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';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a115_0x5024(){const _0x3395ad=['SQL\x20lock\x20file\x20not\x20found.','5384vhcQuS','entries','remoteId','49008780bKXPuZ','lockFilePath','sqls','appCode','trashDir','toISOString','replace','str','2409570nhhtxd','11961pjNabr','length','/smartapi/custom/deleteUserCustomSql','706684wqIPbb','high-risk-write','POST','10839570iptTyV','sqlRootDir','5873236RwVJeH','sqlcode','6SRwBiJ','startsWith','\x20(local\x20file\x20moved\x20to\x20trash)','projectRoot','sqlRoot','fromEntries','lastSync','sql','delete','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','391491aVrBeJ','trashedTo','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','filter','Would\x20delete\x20SQL\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','validation','6lgSLpO'];a115_0x5024=function(){return _0x3395ad;};return a115_0x5024();}export const sqlDelete={'service':a115_0x4fe080(0x1a5),'command':a115_0x4fe080(0x1a6),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a115_0x4fe080(0x1c1),'flags':[SQLCODE_FLAG],async 'validate'(_0x460fb2){const _0x53f2f3=a115_0x4fe080,_0x51a12d=loadSqlProjectConfig(_0x460fb2[_0x53f2f3(0x1b7)]),_0x3c4290=await readSqlLockFile(_0x51a12d[_0x53f2f3(0x1b5)]);if(!_0x3c4290)throw CliErrors['validation'](_0x53f2f3(0x1a7));},async 'dryRun'(_0x5cb730){const _0x25212d=a115_0x4fe080,_0x4807df=loadSqlProjectConfig(_0x5cb730['appCode']),_0x50bf18=await readSqlLockFile(_0x4807df[_0x25212d(0x1b5)]);if(!_0x50bf18)throw CliErrors['validation'](_0x25212d(0x1a7));const {appLock:_0x2073c8}=ensureSqlLockScope(_0x50bf18,_0x5cb730['appCode'],_0x4807df[_0x25212d(0x1a2)],_0x25212d(0x1a6)),_0x222dde=_0x5cb730[_0x25212d(0x1bb)](_0x25212d(0x1c6)),_0x17cb02=_0x2073c8[_0x25212d(0x1b6)][_0x222dde];if(!_0x17cb02)throw CliErrors[_0x25212d(0x1ae)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x222dde+'\x22.');return{'method':_0x25212d(0x1c2),'url':_0x25212d(0x1bf),'body':{'sqlCode':_0x222dde,'id':_0x17cb02[_0x25212d(0x1b3)],'localPath':resolveLocalSqlFilePath(_0x4807df,_0x222dde,_0x17cb02)},'description':_0x25212d(0x1ac)+_0x222dde+_0x25212d(0x1aa)+_0x4807df['trashDir']};},async 'execute'(_0x36abe6){const _0xa76a2=a115_0x4fe080,_0x56ee4d=loadSqlProjectConfig(_0x36abe6['appCode']),_0x479585=await readSqlLockFile(_0x56ee4d[_0xa76a2(0x1b5)]);if(!_0x479585)throw CliErrors['validation'](_0xa76a2(0x1b0));const {lockData:_0x4a14f8,appLock:_0x5870bf}=ensureSqlLockScope(_0x479585,_0x36abe6['appCode'],_0x56ee4d[_0xa76a2(0x1a2)],_0xa76a2(0x1a6)),_0x21c41d=_0x36abe6[_0xa76a2(0x1bb)]('sqlcode'),_0x2a4359=_0x5870bf[_0xa76a2(0x1b6)][_0x21c41d];if(!_0x2a4359)throw CliErrors['validation'](_0xa76a2(0x1ad)+_0x21c41d+'\x22.');await deleteSqlQuery({'id':_0x2a4359[_0xa76a2(0x1b3)],'sqlCode':_0x21c41d}),_0x5870bf[_0xa76a2(0x1b6)]=Object[_0xa76a2(0x1a3)](Object[_0xa76a2(0x1b2)](_0x5870bf['sqls'])[_0xa76a2(0x1ab)](([_0x292ebf])=>_0x292ebf!==_0x21c41d)),_0x5870bf[_0xa76a2(0x1a4)]=new Date()['toISOString'](),await writeSqlLockFile(_0x56ee4d[_0xa76a2(0x1b5)],_0x4a14f8);const _0xafed0c=resolveLocalSqlFilePath(_0x56ee4d,_0x21c41d,_0x2a4359);let _0x5c4e2c;await fileExists(_0xafed0c)&&(_0x5c4e2c=await moveToTrash(_0x56ee4d[_0xa76a2(0x1a1)],_0x56ee4d[_0xa76a2(0x1b8)],_0xafed0c),await cleanupEmptyDirectories(dirname(_0xafed0c),_0x56ee4d[_0xa76a2(0x1c4)]));const _0x3247c2={'deleted':_0x21c41d,'remoteId':_0x2a4359[_0xa76a2(0x1b3)]};if(_0x5c4e2c)_0x3247c2[_0xa76a2(0x1a9)]=_0x5c4e2c;return{'ok':!![],'data':_0x3247c2,'message':'Deleted\x20'+_0x21c41d+(_0x5c4e2c?_0xa76a2(0x1a0):'')};}};async function moveToTrash(_0x19666f,_0x2287dd,_0x63fb83){const _0x3e0ebb=a115_0x4fe080,_0x107fa7=new Date()[_0x3e0ebb(0x1b9)]()[_0x3e0ebb(0x1ba)](/[:.]/g,'-'),_0x4f65f9=relative(_0x19666f,_0x63fb83),_0xbd7020=join(_0x2287dd,_0x107fa7,_0x4f65f9);return await mkdir(dirname(_0xbd7020),{'recursive':!![]}),await rename(_0x63fb83,_0xbd7020),_0xbd7020;}async function cleanupEmptyDirectories(_0x4b77c9,_0x3ad439){const _0x42937e=a115_0x4fe080;let _0x2e1d42=resolve(_0x4b77c9);const _0x59ed1b=resolve(_0x3ad439);while(_0x2e1d42[_0x42937e(0x19f)](''+_0x59ed1b+sep)||_0x2e1d42===_0x59ed1b){if(_0x2e1d42===_0x59ed1b)return;try{const _0x3609d0=await readdir(_0x2e1d42);if(_0x3609d0[_0x42937e(0x1be)]>0x0)return;await rmdir(_0x2e1d42);}catch{return;}_0x2e1d42=dirname(_0x2e1d42);}}
@@ -1 +1 @@
1
- const a116_0x1efc14=a116_0x15e2;(function(_0x3f2fcf,_0x393dad){const _0x5cef3d=a116_0x15e2,_0x2ba5c5=_0x3f2fcf();while(!![]){try{const _0x4f77c5=-parseInt(_0x5cef3d(0x1d9))/0x1*(parseInt(_0x5cef3d(0x1da))/0x2)+parseInt(_0x5cef3d(0x1db))/0x3*(parseInt(_0x5cef3d(0x1e5))/0x4)+parseInt(_0x5cef3d(0x1d8))/0x5+-parseInt(_0x5cef3d(0x1eb))/0x6+-parseInt(_0x5cef3d(0x1e2))/0x7*(-parseInt(_0x5cef3d(0x1ed))/0x8)+parseInt(_0x5cef3d(0x1df))/0x9*(-parseInt(_0x5cef3d(0x1ea))/0xa)+parseInt(_0x5cef3d(0x1ec))/0xb*(parseInt(_0x5cef3d(0x1ef))/0xc);if(_0x4f77c5===_0x393dad)break;else _0x2ba5c5['push'](_0x2ba5c5['shift']());}catch(_0x5ba892){_0x2ba5c5['push'](_0x2ba5c5['shift']());}}}(a116_0xde1e,0xc4aae));function a116_0x15e2(_0x3735ca,_0x3f9663){_0x3735ca=_0x3735ca-0x1d7;const _0xde1eba=a116_0xde1e();let _0x15e20d=_0xde1eba[_0x3735ca];return _0x15e20d;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a116_0xde1e(){const _0x111523=['2Sxgfpb','27zHhNMG','dbId','description','boolean','9YHHyqY','sqlContent','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','2282588TMZave','bool','read','569012kANksF','verbose','Return\x20full\x20raw\x20SQL\x20query\x20object','appCode','detail','8069510anMrLA','9620100akcHbL','191015dxfnPI','24lBDWPA','sql','240DYpuho','sqlCode','7901625nPwNoM','970303mJemUO'];a116_0xde1e=function(){return _0x111523;};return a116_0xde1e();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x1efc14(0x1ee),'command':a116_0x1efc14(0x1e9),'description':a116_0x1efc14(0x1e1),'risk':a116_0x1efc14(0x1e4),'flags':[SQLCODE_FLAG,{'name':a116_0x1efc14(0x1e6),'type':a116_0x1efc14(0x1de),'description':a116_0x1efc14(0x1e7)}],async 'execute'(_0x9ce8ee){const _0x520794=a116_0x1efc14,_0x1e8a3f=await getSqlQueryInfo(_0x9ce8ee[_0x520794(0x1e8)],_0x9ce8ee['str']('sqlcode')),_0x494fac=_0x9ce8ee[_0x520794(0x1e3)]('verbose');if(_0x494fac)return{'ok':!![],'data':_0x1e8a3f};const _0x471e57=_0x1e8a3f['dbId']?await getDbName(_0x9ce8ee[_0x520794(0x1e8)],_0x1e8a3f[_0x520794(0x1dc)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1e8a3f[_0x520794(0x1d7)],'sqlName':_0x1e8a3f['sqlName'],'db':_0x471e57?_0x471e57+'\x20('+_0x1e8a3f[_0x520794(0x1dc)]+')':_0x1e8a3f[_0x520794(0x1dc)]??'','description':_0x1e8a3f[_0x520794(0x1dd)]??'','sqlContent':_0x1e8a3f[_0x520794(0x1e0)]??''}};}};
1
+ const a116_0x8b4057=a116_0x2db5;function a116_0x2db5(_0xccb73c,_0x2abc2c){_0xccb73c=_0xccb73c-0x1b9;const _0x5b0a79=a116_0x5b0a();let _0x2db58b=_0x5b0a79[_0xccb73c];return _0x2db58b;}(function(_0x21d864,_0x2ef3c9){const _0xa6ebdc=a116_0x2db5,_0x135af0=_0x21d864();while(!![]){try{const _0x1e7f1e=parseInt(_0xa6ebdc(0x1cc))/0x1+parseInt(_0xa6ebdc(0x1d0))/0x2*(parseInt(_0xa6ebdc(0x1c2))/0x3)+-parseInt(_0xa6ebdc(0x1b9))/0x4+parseInt(_0xa6ebdc(0x1c7))/0x5+-parseInt(_0xa6ebdc(0x1d1))/0x6*(parseInt(_0xa6ebdc(0x1c1))/0x7)+-parseInt(_0xa6ebdc(0x1ca))/0x8*(parseInt(_0xa6ebdc(0x1cb))/0x9)+parseInt(_0xa6ebdc(0x1c8))/0xa;if(_0x1e7f1e===_0x2ef3c9)break;else _0x135af0['push'](_0x135af0['shift']());}catch(_0x186c59){_0x135af0['push'](_0x135af0['shift']());}}}(a116_0x5b0a,0xafa09));function a116_0x5b0a(){const _0x374971=['21697800QPnilj','verbose','8qoBBWc','7618851DVHHvz','88270LLqAfk','sqlCode','boolean','appCode','874qbGgzi','10326cyRhmd','5331748jGxshU','detail','Return\x20full\x20raw\x20SQL\x20query\x20object','dbId','str','sqlContent','description','bool','588ybhyvo','5097yhPEcp','sqlName','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','read','sqlcode','214480YEPHfN'];a116_0x5b0a=function(){return _0x374971;};return a116_0x5b0a();}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':a116_0x8b4057(0x1ba),'description':a116_0x8b4057(0x1c4),'risk':a116_0x8b4057(0x1c5),'flags':[SQLCODE_FLAG,{'name':a116_0x8b4057(0x1c9),'type':a116_0x8b4057(0x1ce),'description':a116_0x8b4057(0x1bb)}],async 'execute'(_0xd8b30a){const _0xcc2190=a116_0x8b4057,_0x566528=await getSqlQueryInfo(_0xd8b30a[_0xcc2190(0x1cf)],_0xd8b30a[_0xcc2190(0x1bd)](_0xcc2190(0x1c6))),_0x4cd705=_0xd8b30a[_0xcc2190(0x1c0)]('verbose');if(_0x4cd705)return{'ok':!![],'data':_0x566528};const _0x3275f6=_0x566528[_0xcc2190(0x1bc)]?await getDbName(_0xd8b30a[_0xcc2190(0x1cf)],_0x566528['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x566528[_0xcc2190(0x1cd)],'sqlName':_0x566528[_0xcc2190(0x1c3)],'db':_0x3275f6?_0x3275f6+'\x20('+_0x566528['dbId']+')':_0x566528[_0xcc2190(0x1bc)]??'','description':_0x566528[_0xcc2190(0x1bf)]??'','sqlContent':_0x566528[_0xcc2190(0x1be)]??''}};}};
@@ -1 +1 @@
1
- const a117_0x7e8080=a117_0x4779;(function(_0x4f8e17,_0x55178c){const _0x4c84f3=a117_0x4779,_0x1be55e=_0x4f8e17();while(!![]){try{const _0x246a51=-parseInt(_0x4c84f3(0x1ea))/0x1+parseInt(_0x4c84f3(0x1ee))/0x2*(parseInt(_0x4c84f3(0x1e8))/0x3)+parseInt(_0x4c84f3(0x1ef))/0x4*(-parseInt(_0x4c84f3(0x1ed))/0x5)+parseInt(_0x4c84f3(0x1f6))/0x6*(parseInt(_0x4c84f3(0x1e1))/0x7)+-parseInt(_0x4c84f3(0x1f7))/0x8+parseInt(_0x4c84f3(0x1e2))/0x9+-parseInt(_0x4c84f3(0x1f8))/0xa;if(_0x246a51===_0x55178c)break;else _0x1be55e['push'](_0x1be55e['shift']());}catch(_0x91a831){_0x1be55e['push'](_0x1be55e['shift']());}}}(a117_0x1e98,0x774f1));import{executeSql}from'../../core/api-client.js';function a117_0x4779(_0x3d64c8,_0x12df97){_0x3d64c8=_0x3d64c8-0x1e0;const _0x1e982a=a117_0x1e98();let _0x4779b2=_0x1e982a[_0x3d64c8];return _0x4779b2;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':a117_0x7e8080(0x1f2),'description':a117_0x7e8080(0x1e4),'risk':a117_0x7e8080(0x1e5),'flags':[SQLCODE_FLAG,{'name':a117_0x7e8080(0x1eb),'type':a117_0x7e8080(0x1e9),'description':a117_0x7e8080(0x1e7)}],async 'execute'(_0x14a5e6){const _0xab51f0=a117_0x7e8080,_0x1a718d=parseJsonParams(_0x14a5e6['str'](_0xab51f0(0x1eb))),_0x41abca=Date[_0xab51f0(0x1f5)](),_0x4a0529=await executeSql(_0x14a5e6[_0xab51f0(0x1e6)],_0x14a5e6['str'](_0xab51f0(0x1ec)),_0x1a718d),_0x4e3580=Date[_0xab51f0(0x1f5)]()-_0x41abca,_0x29798a=_0x4a0529?.[_0xab51f0(0x1f3)]??_0x4a0529,_0x3e21fb=_0x4a0529?.['execSuccess']??!![];if(!_0x3e21fb)return{'ok':![],'data':{'error':_0x4a0529?.[_0xab51f0(0x1f0)]||'SQL\x20execution\x20failed','elapsed':_0x4e3580},'message':_0xab51f0(0x1e0)};const _0x2fe826=Array['isArray'](_0x29798a)?_0x29798a:[];return{'ok':!![],'data':{'rows':_0x2fe826,'rowCount':_0x2fe826[_0xab51f0(0x1e3)],'elapsed':_0x4e3580},'message':_0xab51f0(0x1f4)+_0x2fe826[_0xab51f0(0x1e3)]+_0xab51f0(0x1f1)+_0x4e3580+'ms'};}};function a117_0x1e98(){const _0x76eb07=['Returned\x20','now','5079234wVKkVS','3749544NHQLNk','13226350qkdbkI','SQL\x20execution\x20failed','7JzqngE','7064847WdWqUE','length','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','read','appCode','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','3qhysXV','string','35598ioZxvj','params','sqlcode','13010PWcrZC','1482674iojNxp','88TCqTGc','execError','\x20row(s)\x20in\x20','exec','execResult'];a117_0x1e98=function(){return _0x76eb07;};return a117_0x1e98();}
1
+ function a117_0x4d55(){const _0x16bfe8=['Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','length','4151690VPyQGP','1003092NKUgdP','3038370AItFlO','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','6ikkQdN','22qMwADk','appCode','1616625adsCnw','isArray','execSuccess','string','now','18oPeBfW','sqlcode','35246JgDNZt','read','1955860XWGQNt','13rulJLg','sql','245aXbWVi','execError','165320FkVlyn','str','SQL\x20execution\x20failed','\x20row(s)\x20in\x20','params'];a117_0x4d55=function(){return _0x16bfe8;};return a117_0x4d55();}const a117_0xb82974=a117_0x28db;(function(_0x2661d3,_0x5c6097){const _0xaae121=a117_0x28db,_0x4d38d0=_0x2661d3();while(!![]){try{const _0x34245c=-parseInt(_0xaae121(0x171))/0x1*(parseInt(_0xaae121(0x16e))/0x2)+-parseInt(_0xaae121(0x180))/0x3*(-parseInt(_0xaae121(0x170))/0x4)+parseInt(_0xaae121(0x183))/0x5+-parseInt(_0xaae121(0x17e))/0x6+parseInt(_0xaae121(0x173))/0x7*(-parseInt(_0xaae121(0x175))/0x8)+parseInt(_0xaae121(0x16c))/0x9*(parseInt(_0xaae121(0x17c))/0xa)+-parseInt(_0xaae121(0x181))/0xb*(parseInt(_0xaae121(0x17d))/0xc);if(_0x34245c===_0x5c6097)break;else _0x4d38d0['push'](_0x4d38d0['shift']());}catch(_0x261064){_0x4d38d0['push'](_0x4d38d0['shift']());}}}(a117_0x4d55,0x7b72a));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a117_0x28db(_0x49eeff,_0x2ae4ac){_0x49eeff=_0x49eeff-0x168;const _0x4d559c=a117_0x4d55();let _0x28dbbf=_0x4d559c[_0x49eeff];return _0x28dbbf;}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a117_0xb82974(0x172),'command':'exec','description':a117_0xb82974(0x17a),'risk':a117_0xb82974(0x16f),'flags':[SQLCODE_FLAG,{'name':a117_0xb82974(0x179),'type':a117_0xb82974(0x16a),'description':a117_0xb82974(0x17f)}],async 'execute'(_0x3e2b1f){const _0x45ad3c=a117_0xb82974,_0x36ba4e=parseJsonParams(_0x3e2b1f['str'](_0x45ad3c(0x179))),_0x1cedeb=Date['now'](),_0x287bc6=await executeSql(_0x3e2b1f[_0x45ad3c(0x182)],_0x3e2b1f[_0x45ad3c(0x176)](_0x45ad3c(0x16d)),_0x36ba4e),_0x2fcc1c=Date[_0x45ad3c(0x16b)]()-_0x1cedeb,_0x54f240=_0x287bc6?.['execResult']??_0x287bc6,_0x20dc4f=_0x287bc6?.[_0x45ad3c(0x169)]??!![];if(!_0x20dc4f)return{'ok':![],'data':{'error':_0x287bc6?.[_0x45ad3c(0x174)]||_0x45ad3c(0x177),'elapsed':_0x2fcc1c},'message':_0x45ad3c(0x177)};const _0x3ecfda=Array[_0x45ad3c(0x168)](_0x54f240)?_0x54f240:[];return{'ok':!![],'data':{'rows':_0x3ecfda,'rowCount':_0x3ecfda[_0x45ad3c(0x17b)],'elapsed':_0x2fcc1c},'message':'Returned\x20'+_0x3ecfda['length']+_0x45ad3c(0x178)+_0x2fcc1c+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x34f6b8,_0x30ecbe){const _0x23af7c=a118_0x1cc6,_0x488c69=_0x34f6b8();while(!![]){try{const _0x18a2f9=parseInt(_0x23af7c(0x1d5))/0x1*(-parseInt(_0x23af7c(0x1d3))/0x2)+-parseInt(_0x23af7c(0x1cd))/0x3*(parseInt(_0x23af7c(0x1d2))/0x4)+-parseInt(_0x23af7c(0x1d0))/0x5*(-parseInt(_0x23af7c(0x1cc))/0x6)+-parseInt(_0x23af7c(0x1cf))/0x7+parseInt(_0x23af7c(0x1d1))/0x8+-parseInt(_0x23af7c(0x1ce))/0x9+parseInt(_0x23af7c(0x1d4))/0xa*(parseInt(_0x23af7c(0x1d6))/0xb);if(_0x18a2f9===_0x30ecbe)break;else _0x488c69['push'](_0x488c69['shift']());}catch(_0x387f77){_0x488c69['push'](_0x488c69['shift']());}}}(a118_0x8d39,0x484c6));function a118_0x8d39(){const _0x81dd83=['120860ObYUTp','1490ssMFFX','6bXhteK','32626RikUVW','1067988RPwunX','228402qSCaEL','1456155gSOiNh','3312113lMNYnV','15ARVNBz','4369136OgJFqq','12dARPXY'];a118_0x8d39=function(){return _0x81dd83;};return a118_0x8d39();}import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a118_0x1cc6(_0x3bc14f,_0x18d643){_0x3bc14f=_0x3bc14f-0x1cc;const _0x8d3976=a118_0x8d39();let _0x1cc6f7=_0x8d3976[_0x3bc14f];return _0x1cc6f7;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x1df517,_0x5ed9f8){const _0x5b61dc=a118_0x5b78,_0x5dd805=_0x1df517();while(!![]){try{const _0x2330c1=-parseInt(_0x5b61dc(0xba))/0x1*(-parseInt(_0x5b61dc(0xb5))/0x2)+parseInt(_0x5b61dc(0xbb))/0x3+parseInt(_0x5b61dc(0xbc))/0x4+parseInt(_0x5b61dc(0xb7))/0x5+-parseInt(_0x5b61dc(0xb6))/0x6*(parseInt(_0x5b61dc(0xb4))/0x7)+parseInt(_0x5b61dc(0xb8))/0x8*(-parseInt(_0x5b61dc(0xb3))/0x9)+-parseInt(_0x5b61dc(0xb9))/0xa;if(_0x2330c1===_0x5ed9f8)break;else _0x5dd805['push'](_0x5dd805['shift']());}catch(_0x293bed){_0x5dd805['push'](_0x5dd805['shift']());}}}(a118_0x5ef7,0x48723));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';function a118_0x5b78(_0x8dc082,_0x31ecbf){_0x8dc082=_0x8dc082-0xb3;const _0x5ef7c4=a118_0x5ef7();let _0x5b78ab=_0x5ef7c4[_0x8dc082];return _0x5b78ab;}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a118_0x5ef7(){const _0x1eaf3d=['4765380ntinGy','3xpFSbu','71481hazHeI','459876LqHimY','3303GycRdC','14FnPmcO','266804pCALjL','140094elpiAO','2298510HoEeXs','3896pdGjyA'];a118_0x5ef7=function(){return _0x1eaf3d;};return a118_0x5ef7();}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a119_0x394e(_0x5d8494,_0x596b04){_0x5d8494=_0x5d8494-0x189;const _0x555fd3=a119_0x555f();let _0x394e9a=_0x555fd3[_0x5d8494];return _0x394e9a;}const a119_0x378219=a119_0x394e;(function(_0x5a670d,_0x340830){const _0x377178=a119_0x394e,_0x3c0c4d=_0x5a670d();while(!![]){try{const _0x3a742c=-parseInt(_0x377178(0x191))/0x1*(parseInt(_0x377178(0x18f))/0x2)+parseInt(_0x377178(0x1aa))/0x3+-parseInt(_0x377178(0x1a1))/0x4*(parseInt(_0x377178(0x197))/0x5)+parseInt(_0x377178(0x18d))/0x6+parseInt(_0x377178(0x195))/0x7*(-parseInt(_0x377178(0x18c))/0x8)+-parseInt(_0x377178(0x1a7))/0x9*(parseInt(_0x377178(0x19d))/0xa)+parseInt(_0x377178(0x1a3))/0xb;if(_0x3a742c===_0x340830)break;else _0x3c0c4d['push'](_0x3c0c4d['shift']());}catch(_0x3cc56c){_0x3c0c4d['push'](_0x3c0c4d['shift']());}}}(a119_0x555f,0x7d5d1));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a119_0x555f(){const _0x4ee834=['1426342FPmQLO','bool','1mjLypJ','str','List\x20custom\x20SQL\x20queries','sqlName','5180TTxJxD','name','3697070tBuOvI','sql','tableData','totalCount','boolean','appCode','29570svNKWA','verbose','Page\x20number','page','4dNfYQo','pagesize','20774149xouJHc','sqlcode','map','read','2205ZKvCNp','all','length','1313589aQoYqK','dbId','list','No\x20custom\x20SQL\x20queries\x20found.','1856QiLvxt','3214782CEXtmv','number'];a119_0x555f=function(){return _0x4ee834;};return a119_0x555f();}export const sqlList={'service':a119_0x378219(0x198),'command':a119_0x378219(0x18a),'description':a119_0x378219(0x193),'risk':a119_0x378219(0x1a6),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':a119_0x378219(0x1a0),'type':'number','description':a119_0x378219(0x19f),'default':0x1},{'name':a119_0x378219(0x1a2),'type':a119_0x378219(0x18e),'description':'Page\x20size'},{'name':a119_0x378219(0x19e),'type':a119_0x378219(0x19b),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x3b2e82){const _0x2014c0=a119_0x378219,_0x36100b=await listSqlQueries(_0x3b2e82[_0x2014c0(0x19c)],{'sqlCode':_0x3b2e82['str'](_0x2014c0(0x1a4))||undefined,'sqlName':_0x3b2e82[_0x2014c0(0x192)](_0x2014c0(0x196))||undefined,'currentPage':_0x3b2e82['num'](_0x2014c0(0x1a0)),'pageSize':_0x3b2e82['num'](_0x2014c0(0x1a2),0x32)}),_0x3266e8=_0x3b2e82[_0x2014c0(0x190)](_0x2014c0(0x19e)),_0x1b1def=_0x36100b[_0x2014c0(0x199)]??[],_0xda45a2=_0x36100b['paging']?.[_0x2014c0(0x19a)]??_0x1b1def['length'];let _0x470766;return _0x3266e8?_0x470766=_0x1b1def:_0x470766=await Promise[_0x2014c0(0x1a8)](_0x1b1def[_0x2014c0(0x1a5)](async _0x225094=>{const _0x553c9d=_0x2014c0;let _0x56d5ea;try{_0x56d5ea=_0x225094[_0x553c9d(0x189)]?await getDbName(_0x3b2e82[_0x553c9d(0x19c)],_0x225094[_0x553c9d(0x189)]):undefined;}catch{}return{'sqlCode':_0x225094['sqlCode'],'sqlName':_0x225094[_0x553c9d(0x194)],'description':_0x225094['description']??'','db':_0x56d5ea?_0x56d5ea+'\x20('+_0x225094[_0x553c9d(0x189)]+')':_0x225094[_0x553c9d(0x189)]??''};})),{'ok':!![],'data':_0x470766,'message':_0x1b1def[_0x2014c0(0x1a9)]===0x0?_0x2014c0(0x18b):'Found\x20'+_0x1b1def[_0x2014c0(0x1a9)]+'\x20SQL\x20queries\x20(total:\x20'+_0xda45a2+').'};}};
1
+ const a119_0x222bb1=a119_0x50c3;(function(_0x70232d,_0x39ff91){const _0x558fc9=a119_0x50c3,_0x5264ea=_0x70232d();while(!![]){try{const _0x1138a0=parseInt(_0x558fc9(0x19a))/0x1+parseInt(_0x558fc9(0x192))/0x2+parseInt(_0x558fc9(0x19f))/0x3*(-parseInt(_0x558fc9(0x18b))/0x4)+-parseInt(_0x558fc9(0x189))/0x5*(-parseInt(_0x558fc9(0x18f))/0x6)+parseInt(_0x558fc9(0x195))/0x7*(-parseInt(_0x558fc9(0x18c))/0x8)+parseInt(_0x558fc9(0x187))/0x9+-parseInt(_0x558fc9(0x17d))/0xa*(parseInt(_0x558fc9(0x1a0))/0xb);if(_0x1138a0===_0x39ff91)break;else _0x5264ea['push'](_0x5264ea['shift']());}catch(_0x2a4fcb){_0x5264ea['push'](_0x5264ea['shift']());}}}(a119_0x1c75,0x7a774));import{listSqlQueries}from'../../core/api-client.js';function a119_0x1c75(){const _0x21ecb9=['boolean','35yITMoA','dbId','sqlCode','List\x20custom\x20SQL\x20queries','all','574007HQHZbN','list','num','string','\x20SQL\x20queries\x20(total:\x20','6IllfTs','11JbPOXk','name','read','sql','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','1264730hrKgGZ','bool','Page\x20size','length','paging','sqlcode','pagesize','str','tableData','page','1009341RyUKkm','totalCount','185IIZobo','map','938544YmCAFC','1140232bcuHvo','Found\x20','sqlName','155658cvYPFP','No\x20custom\x20SQL\x20queries\x20found.','number','327926sHMjOB','verbose'];a119_0x1c75=function(){return _0x21ecb9;};return a119_0x1c75();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a119_0x50c3(_0x2e51c0,_0x56afa0){_0x2e51c0=_0x2e51c0-0x17b;const _0x1c75e1=a119_0x1c75();let _0x50c3db=_0x1c75e1[_0x2e51c0];return _0x50c3db;}export const sqlList={'service':a119_0x222bb1(0x17b),'command':a119_0x222bb1(0x19b),'description':a119_0x222bb1(0x198),'risk':a119_0x222bb1(0x1a2),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a119_0x222bb1(0x19d),'description':'Filter\x20by\x20SQL\x20name'},{'name':a119_0x222bb1(0x186),'type':a119_0x222bb1(0x191),'description':'Page\x20number','default':0x1},{'name':a119_0x222bb1(0x183),'type':a119_0x222bb1(0x191),'description':a119_0x222bb1(0x17f)},{'name':a119_0x222bb1(0x193),'type':a119_0x222bb1(0x194),'description':a119_0x222bb1(0x17c)}],async 'execute'(_0x386a60){const _0x92785d=a119_0x222bb1,_0x594a3c=await listSqlQueries(_0x386a60['appCode'],{'sqlCode':_0x386a60[_0x92785d(0x184)](_0x92785d(0x182))||undefined,'sqlName':_0x386a60[_0x92785d(0x184)](_0x92785d(0x1a1))||undefined,'currentPage':_0x386a60[_0x92785d(0x19c)](_0x92785d(0x186)),'pageSize':_0x386a60[_0x92785d(0x19c)](_0x92785d(0x183),0x32)}),_0x20700b=_0x386a60[_0x92785d(0x17e)](_0x92785d(0x193)),_0x13f9f1=_0x594a3c[_0x92785d(0x185)]??[],_0x258844=_0x594a3c[_0x92785d(0x181)]?.[_0x92785d(0x188)]??_0x13f9f1[_0x92785d(0x180)];let _0x2f2cea;return _0x20700b?_0x2f2cea=_0x13f9f1:_0x2f2cea=await Promise[_0x92785d(0x199)](_0x13f9f1[_0x92785d(0x18a)](async _0x508a73=>{const _0x26684c=_0x92785d;let _0x35ebcf;try{_0x35ebcf=_0x508a73['dbId']?await getDbName(_0x386a60['appCode'],_0x508a73[_0x26684c(0x196)]):undefined;}catch{}return{'sqlCode':_0x508a73[_0x26684c(0x197)],'sqlName':_0x508a73[_0x26684c(0x18e)],'description':_0x508a73['description']??'','db':_0x35ebcf?_0x35ebcf+'\x20('+_0x508a73[_0x26684c(0x196)]+')':_0x508a73[_0x26684c(0x196)]??''};})),{'ok':!![],'data':_0x2f2cea,'message':_0x13f9f1[_0x92785d(0x180)]===0x0?_0x92785d(0x190):_0x92785d(0x18d)+_0x13f9f1['length']+_0x92785d(0x19e)+_0x258844+').'};}};
@@ -1 +1 @@
1
- const a120_0x522f46=a120_0x114a;function a120_0x3821(){const _0x53ee0b=['812UoZreF','sqlContent','sqlCode','POST','382571YZctuE','sqlName','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','message','bool','Filter\x20by\x20SQL\x20display\x20name','tableData','dbId','description','catch','\x20SQL\x20file(s)\x20into\x20','trimStart','\x20written,\x20','test','3344830pAkZbt','skipped','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','1984730DjOIQU','appCode','lockFilePath','sqls','lastSync','filter','cancelled','580utHDbN','mybatisXml','name','push','pull','toISOString','write','force','sqlRootDir','local\x20differs\x20from\x20remote','sqlcode','5550147ErEzRw','sql','length','conflict','utf8','Force\x20overwrite\x20local\x20unsynced\x20changes','unchanged','20624SOzMci','str','2232348ZfQYWQ','15969FBuTiU','replace','\x20failed','No\x20remote\x20SQL\x20queries\x20matched.','Pull\x20complete:\x20','split','Force\x20pull\x20cancelled.','boolean','path','sqlRoot'];a120_0x3821=function(){return _0x53ee0b;};return a120_0x3821();}(function(_0x2beaac,_0x45a93c){const _0x24f3e8=a120_0x114a,_0x1e750f=_0x2beaac();while(!![]){try{const _0x128cd8=-parseInt(_0x24f3e8(0x162))/0x1+-parseInt(_0x24f3e8(0x138))/0x2+parseInt(_0x24f3e8(0x154))/0x3*(parseInt(_0x24f3e8(0x13f))/0x4)+parseInt(_0x24f3e8(0x170))/0x5+-parseInt(_0x24f3e8(0x153))/0x6+parseInt(_0x24f3e8(0x15e))/0x7*(parseInt(_0x24f3e8(0x151))/0x8)+parseInt(_0x24f3e8(0x14a))/0x9;if(_0x128cd8===_0x45a93c)break;else _0x1e750f['push'](_0x1e750f['shift']());}catch(_0x263af9){_0x1e750f['push'](_0x1e750f['shift']());}}}(a120_0x3821,0x94d02));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;function a120_0x114a(_0x594e5a,_0x40c650){_0x594e5a=_0x594e5a-0x137;const _0x38219e=a120_0x3821();let _0x114ad9=_0x38219e[_0x594e5a];return _0x114ad9;}async function fetchAllSqlQueries(_0x45b908,_0x89301b){const _0x202349=a120_0x114a,_0x37d94c=[];let _0x1b904d=0x1;while(!![]){const _0x237220=await listSqlQueries(_0x45b908,{'currentPage':_0x1b904d,'pageSize':PAGE_SIZE,'sqlCode':_0x89301b[_0x202349(0x160)],'sqlName':_0x89301b[_0x202349(0x163)]}),_0x128f5b=_0x237220[_0x202349(0x168)]??[];_0x37d94c['push'](..._0x128f5b);if(_0x128f5b[_0x202349(0x14c)]===0x0)break;const _0x43b8c0=_0x237220['paging']?.['totalCount'];if(_0x43b8c0!=null?_0x37d94c['length']>=_0x43b8c0:_0x128f5b[_0x202349(0x14c)]<PAGE_SIZE)break;_0x1b904d++;}return _0x37d94c;}async function ensureSqlContent(_0x4d10ea){const _0x1b1141=a120_0x114a;if(_0x4d10ea[_0x1b1141(0x15f)]!=null&&String(_0x4d10ea[_0x1b1141(0x15f)])[_0x1b1141(0x14c)]>0x0)return _0x4d10ea;return getSqlQueryDetail(_0x4d10ea['sqlCode']);}export const sqlPull={'service':a120_0x522f46(0x14b),'command':a120_0x522f46(0x143),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a120_0x522f46(0x145),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x522f46(0x141),'type':'string','description':a120_0x522f46(0x167)},{'name':'force','type':a120_0x522f46(0x15b),'description':a120_0x522f46(0x14f)}],async 'dryRun'(_0x29515b){const _0x115213=a120_0x522f46,_0x1d1901=loadSqlProjectConfig(_0x29515b['appCode']),_0x2018a4=await readSqlLockFile(_0x1d1901[_0x115213(0x13a)]),{appLock:_0x352e2d}=ensureSqlLockScope(_0x2018a4??createEmptySqlLock(),_0x1d1901[_0x115213(0x139)],_0x1d1901[_0x115213(0x15d)],_0x115213(0x143)),_0x51bee9=await fetchAllSqlQueries(_0x29515b[_0x115213(0x139)],{'sqlCode':_0x29515b[_0x115213(0x152)]('sqlcode')||undefined,'sqlName':_0x29515b[_0x115213(0x152)](_0x115213(0x141))||undefined}),_0x4f0e41=[];for(const _0x2e003f of _0x51bee9){const _0x434c70=await ensureSqlContent(_0x2e003f),_0xf51ef=ensureRemoteSqlContent(_0x434c70),_0x497139=detectModeFromSql(_0x434c70),_0x544e74=_0x434c70['dbId']?await getDbName(_0x29515b['appCode'],Number(_0x434c70[_0x115213(0x169)]))[_0x115213(0x16b)](()=>undefined):undefined,_0x4e4420=buildLocalSqlFileContent({'sqlCode':_0x434c70[_0x115213(0x160)],'sqlName':_0x434c70['sqlName'],'dbId':_0x434c70['dbId']},_0xf51ef,{'dbName':_0x544e74,'mode':_0x497139,'syncedAt':new Date()['toISOString'](),'description':_0x434c70[_0x115213(0x16a)]}),_0x5d2821=buildSqlLockEntry(_0x434c70,_0xf51ef,'',{'dbName':_0x544e74}),_0x93107b=resolveLocalSqlFilePath(_0x1d1901,_0x434c70[_0x115213(0x160)],_0x5d2821);let _0x39620c='would_pull',_0x4d0d12;if(await fileExists(_0x93107b)){const _0x1146bf=await readFile(_0x93107b,_0x115213(0x14e));isEquivalentPulledSqlFile(_0x1146bf,_0x4e4420,_0x497139)?(_0x39620c=_0x115213(0x171),_0x4d0d12=_0x115213(0x150)):(_0x39620c=_0x115213(0x14d),_0x4d0d12=_0x115213(0x164));}_0x4f0e41[_0x115213(0x142)]({'sqlCode':_0x434c70[_0x115213(0x160)],'sqlName':_0x434c70[_0x115213(0x163)],'filePath':_0x93107b,'status':_0x39620c,'reason':_0x4d0d12});}return{'method':_0x115213(0x161),'url':_0x115213(0x137),'body':{'appCode':_0x29515b[_0x115213(0x139)],'sqlCode':_0x29515b['str']('sqlcode')||null,'sqlName':_0x29515b[_0x115213(0x152)]('name')||null,'files':_0x4f0e41},'description':'Would\x20pull\x20'+_0x4f0e41['length']+_0x115213(0x16c)+_0x1d1901[_0x115213(0x147)]};},async 'execute'(_0x917a0f){const _0x3051a1=a120_0x522f46,_0x471018=loadSqlProjectConfig(_0x917a0f[_0x3051a1(0x139)]),_0x57248b=await readSqlLockFile(_0x471018[_0x3051a1(0x13a)]),{lockData:_0x141be0,appLock:_0x2727e3}=ensureSqlLockScope(_0x57248b??createEmptySqlLock(),_0x471018[_0x3051a1(0x139)],_0x471018[_0x3051a1(0x15d)],_0x3051a1(0x143)),_0x5a99a7=_0x917a0f[_0x3051a1(0x166)](_0x3051a1(0x146)),_0x40737c=await fetchAllSqlQueries(_0x917a0f[_0x3051a1(0x139)],{'sqlCode':_0x917a0f['str'](_0x3051a1(0x149))||undefined,'sqlName':_0x917a0f['str']('name')||undefined});if(_0x40737c[_0x3051a1(0x14c)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3051a1(0x157)};const _0xde4294=[],_0x401aea=[];for(const _0x1a26d9 of _0x40737c){try{_0xde4294[_0x3051a1(0x142)](await ensureSqlContent(_0x1a26d9));}catch(_0x30ff94){_0x401aea[_0x3051a1(0x142)]({'sqlCode':_0x1a26d9['sqlCode'],'error':_0x30ff94 instanceof Error?_0x30ff94[_0x3051a1(0x165)]:String(_0x30ff94)});}}if(_0x5a99a7&&!_0x917a0f['nonInteractive']){let _0x1625b2=![];for(const _0xe5fc2d of _0xde4294){const _0x5c8820=detectModeFromSql(_0xe5fc2d),_0x15d6e8=_0xe5fc2d[_0x3051a1(0x169)]?await getDbName(_0x917a0f[_0x3051a1(0x139)],Number(_0xe5fc2d[_0x3051a1(0x169)]))[_0x3051a1(0x16b)](()=>undefined):undefined,_0x5ee666=buildLocalSqlFileContent({'sqlCode':_0xe5fc2d[_0x3051a1(0x160)],'sqlName':_0xe5fc2d[_0x3051a1(0x163)],'dbId':_0xe5fc2d['dbId']},ensureRemoteSqlContent(_0xe5fc2d),{'dbName':_0x15d6e8,'mode':_0x5c8820,'syncedAt':new Date()[_0x3051a1(0x144)](),'description':_0xe5fc2d[_0x3051a1(0x16a)]}),_0x4204a1=resolveLocalSqlFilePath(_0x471018,_0xe5fc2d['sqlCode'],buildSqlLockEntry(_0xe5fc2d,ensureRemoteSqlContent(_0xe5fc2d),'',{'dbName':_0x15d6e8}));if(await fileExists(_0x4204a1)){const _0x52b04b=await readFile(_0x4204a1,_0x3051a1(0x14e));if(!isEquivalentPulledSqlFile(_0x52b04b,_0x5ee666,_0x5c8820)){_0x1625b2=!![];break;}}}if(_0x1625b2){const _0x1315c4=await confirmForceOverwrite(_0x3051a1(0x172));if(!_0x1315c4)throw CliErrors[_0x3051a1(0x13e)](_0x3051a1(0x15a));}}const _0x1c18c8=cloneSqlLockData(_0x141be0),_0xbea6fc=_0x1c18c8['apps'][_0x471018[_0x3051a1(0x139)]],_0x1cc0bb=[],_0x32cd1a=[];for(const _0x5c431c of _0xde4294){const _0x3935ec=_0xbea6fc['sqls'][_0x5c431c[_0x3051a1(0x160)]],_0x372210=ensureRemoteSqlContent(_0x5c431c),_0xef3863=detectModeFromSql(_0x5c431c),_0x7d2a9d=_0x5c431c['dbId']?await getDbName(_0x917a0f[_0x3051a1(0x139)],Number(_0x5c431c[_0x3051a1(0x169)]))[_0x3051a1(0x16b)](()=>undefined):undefined,_0x549aec=buildLocalSqlFileContent({'sqlCode':_0x5c431c[_0x3051a1(0x160)],'sqlName':_0x5c431c[_0x3051a1(0x163)],'dbId':_0x5c431c[_0x3051a1(0x169)]},_0x372210,{'dbName':_0x7d2a9d,'mode':_0xef3863,'syncedAt':new Date()[_0x3051a1(0x144)](),'description':_0x5c431c['description']}),_0x53167c=buildSqlLockEntry(_0x5c431c,_0x372210,computeSqlContentHash(_0x549aec),{'dbName':_0x7d2a9d}),_0x588af1=_0x53167c[_0x3051a1(0x15c)],_0xde30b6=join(_0x471018[_0x3051a1(0x147)],_0x588af1);try{if(await fileExists(_0xde30b6)){const _0xc31283=await readFile(_0xde30b6,_0x3051a1(0x14e));if(isEquivalentPulledSqlFile(_0xc31283,_0x549aec,_0xef3863)){_0x32cd1a[_0x3051a1(0x142)]({'sqlCode':_0x5c431c[_0x3051a1(0x160)],'reason':_0x3051a1(0x150)}),_0xbea6fc[_0x3051a1(0x13b)][_0x5c431c[_0x3051a1(0x160)]]={..._0x53167c,'hash':computeSqlContentHash(_0xc31283),'path':_0x588af1};continue;}if(!_0x5a99a7){_0x32cd1a[_0x3051a1(0x142)]({'sqlCode':_0x5c431c['sqlCode'],'reason':_0x3051a1(0x148)});continue;}}const _0x145ef6=_0x3935ec?.['path']?join(_0x471018[_0x3051a1(0x147)],_0x3935ec[_0x3051a1(0x15c)]):undefined;_0x145ef6&&_0x145ef6!==_0xde30b6&&await fileExists(_0x145ef6)&&await rm(_0x145ef6,{'force':!![]}),await ensureParentDirectory(_0xde30b6),await writeFile(_0xde30b6,_0x549aec,_0x3051a1(0x14e)),_0xbea6fc[_0x3051a1(0x13b)][_0x5c431c[_0x3051a1(0x160)]]={..._0x53167c,'path':_0x588af1},_0x1cc0bb[_0x3051a1(0x142)]({'sqlCode':_0x5c431c[_0x3051a1(0x160)],'filePath':_0xde30b6});}catch(_0x57055a){_0x401aea['push']({'sqlCode':_0x5c431c[_0x3051a1(0x160)],'error':_0x57055a instanceof Error?_0x57055a['message']:String(_0x57055a)});}}return _0xbea6fc[_0x3051a1(0x13c)]=new Date()[_0x3051a1(0x144)](),await writeSqlLockFile(_0x471018[_0x3051a1(0x13a)],_0x1c18c8),{'ok':_0x401aea[_0x3051a1(0x14c)]===0x0,'data':{'pulled':_0x1cc0bb,'skipped':_0x32cd1a,'failed':_0x401aea},'message':_0x3051a1(0x158)+_0x1cc0bb[_0x3051a1(0x14c)]+_0x3051a1(0x16e)+_0x32cd1a[_0x3051a1(0x14c)]+'\x20skipped,\x20'+_0x401aea[_0x3051a1(0x14c)]+_0x3051a1(0x156)};}};function detectModeFromSql(_0x834047){const _0x3bb1ca=a120_0x522f46,_0x3862c7=ensureRemoteSqlContent(_0x834047),_0x3002c9=stripLocalSqlMetadata(_0x3862c7,_0x3bb1ca(0x140))[_0x3bb1ca(0x16d)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x3002c9))return _0x3bb1ca(0x140);return _0x3bb1ca(0x14b);}function isEquivalentPulledSqlFile(_0x15678a,_0x228a9f,_0x5995ab){return normalizePullComparableContent(_0x15678a,_0x5995ab)===normalizePullComparableContent(_0x228a9f,_0x5995ab);}function normalizePullComparableContent(_0x2b3451,_0x5991fc){const _0x3ca414=a120_0x522f46,_0x37e575=_0x2b3451[_0x3ca414(0x155)](/\r\n/g,'\x0a')[_0x3ca414(0x159)]('\x0a'),_0x440183=_0x37e575[_0x3ca414(0x13d)](_0x35f680=>!isSyncedAtMetadataLine(_0x35f680,_0x5991fc));return _0x440183['join']('\x0a');}function isSyncedAtMetadataLine(_0x2aec85,_0x1e4a5b){const _0xe0c16a=a120_0x522f46;if(_0x1e4a5b===_0xe0c16a(0x140))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0xe0c16a(0x16f)](_0x2aec85);return/^\s*--\s*@lovrabet\.syncedAt:/[_0xe0c16a(0x16f)](_0x2aec85);}
1
+ const a120_0x127ca3=a120_0x54b4;(function(_0x3df771,_0x561cfc){const _0x551186=a120_0x54b4,_0x25d1f8=_0x3df771();while(!![]){try{const _0x3d767d=parseInt(_0x551186(0x93))/0x1+parseInt(_0x551186(0xc0))/0x2*(parseInt(_0x551186(0xa0))/0x3)+parseInt(_0x551186(0xad))/0x4*(parseInt(_0x551186(0xbc))/0x5)+-parseInt(_0x551186(0xb5))/0x6+-parseInt(_0x551186(0xbb))/0x7*(-parseInt(_0x551186(0xc2))/0x8)+-parseInt(_0x551186(0x9e))/0x9+-parseInt(_0x551186(0xca))/0xa;if(_0x3d767d===_0x561cfc)break;else _0x25d1f8['push'](_0x25d1f8['shift']());}catch(_0x5c2631){_0x25d1f8['push'](_0x25d1f8['shift']());}}}(a120_0xa47c,0xbce26));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a120_0xa47c(){const _0x458a49=['lockFilePath','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','cancelled','sqlCode','test','dbId','paging','name','262665rekTgb','sqls','21lZUHLe','sqlcode','Filter\x20by\x20SQL\x20display\x20name','skipped','catch','sqlRoot','sqlRootDir','force','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','toISOString','totalCount','push','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','2764JhgpGB','length','sqlContent','sqlName','split','string','sql','unchanged','7474758dhPxCT','mybatisXml','path','write','tableData','Force\x20pull\x20cancelled.','118951tecnzy','420yuWKYq','boolean','utf8','replace','266716uwckhj','message','40qoGOqO','filter','would_pull','join','description','POST','\x20SQL\x20file(s)\x20into\x20','bool','4897930bAuxDQ','appCode','No\x20remote\x20SQL\x20queries\x20matched.','local\x20differs\x20from\x20remote','pull','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','str','1461926rOcvsV','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)'];a120_0xa47c=function(){return _0x458a49;};return a120_0xa47c();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x2894e1,_0x2b8eda){const _0x4122c7=a120_0x54b4,_0x30d9e5=[];let _0x1843a6=0x1;while(!![]){const _0x43fde7=await listSqlQueries(_0x2894e1,{'currentPage':_0x1843a6,'pageSize':PAGE_SIZE,'sqlCode':_0x2b8eda[_0x4122c7(0x99)],'sqlName':_0x2b8eda['sqlName']}),_0x48c5e2=_0x43fde7[_0x4122c7(0xb9)]??[];_0x30d9e5[_0x4122c7(0xab)](..._0x48c5e2);if(_0x48c5e2['length']===0x0)break;const _0x1e8a94=_0x43fde7[_0x4122c7(0x9c)]?.[_0x4122c7(0xaa)];if(_0x1e8a94!=null?_0x30d9e5['length']>=_0x1e8a94:_0x48c5e2[_0x4122c7(0xae)]<PAGE_SIZE)break;_0x1843a6++;}return _0x30d9e5;}async function ensureSqlContent(_0x5b3e26){const _0x4117eb=a120_0x54b4;if(_0x5b3e26[_0x4117eb(0xaf)]!=null&&String(_0x5b3e26[_0x4117eb(0xaf)])['length']>0x0)return _0x5b3e26;return getSqlQueryDetail(_0x5b3e26[_0x4117eb(0x99)]);}function a120_0x54b4(_0x20eb31,_0x2c365c){_0x20eb31=_0x20eb31-0x91;const _0xa47c78=a120_0xa47c();let _0x54b46f=_0xa47c78[_0x20eb31];return _0x54b46f;}export const sqlPull={'service':a120_0x127ca3(0xb3),'command':a120_0x127ca3(0xce),'description':a120_0x127ca3(0xa8),'risk':a120_0x127ca3(0xb8),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x127ca3(0x9d),'type':a120_0x127ca3(0xb2),'description':a120_0x127ca3(0xa2)},{'name':a120_0x127ca3(0xa7),'type':a120_0x127ca3(0xbd),'description':a120_0x127ca3(0x97)}],async 'dryRun'(_0x2db33c){const _0x156ab1=a120_0x127ca3,_0x159ffd=loadSqlProjectConfig(_0x2db33c[_0x156ab1(0xcb)]),_0x4002ec=await readSqlLockFile(_0x159ffd[_0x156ab1(0x95)]),{appLock:_0x1e2b34}=ensureSqlLockScope(_0x4002ec??createEmptySqlLock(),_0x159ffd[_0x156ab1(0xcb)],_0x159ffd[_0x156ab1(0xa5)],_0x156ab1(0xce)),_0x2a986b=await fetchAllSqlQueries(_0x2db33c[_0x156ab1(0xcb)],{'sqlCode':_0x2db33c[_0x156ab1(0x92)](_0x156ab1(0xa1))||undefined,'sqlName':_0x2db33c[_0x156ab1(0x92)]('name')||undefined}),_0x40a296=[];for(const _0x52078c of _0x2a986b){const _0x53b13f=await ensureSqlContent(_0x52078c),_0x577e40=ensureRemoteSqlContent(_0x53b13f),_0x35efb9=detectModeFromSql(_0x53b13f),_0x3d87d4=_0x53b13f[_0x156ab1(0x9b)]?await getDbName(_0x2db33c[_0x156ab1(0xcb)],Number(_0x53b13f[_0x156ab1(0x9b)]))[_0x156ab1(0xa4)](()=>undefined):undefined,_0x3808a6=buildLocalSqlFileContent({'sqlCode':_0x53b13f[_0x156ab1(0x99)],'sqlName':_0x53b13f[_0x156ab1(0xb0)],'dbId':_0x53b13f[_0x156ab1(0x9b)]},_0x577e40,{'dbName':_0x3d87d4,'mode':_0x35efb9,'syncedAt':new Date()[_0x156ab1(0xa9)](),'description':_0x53b13f[_0x156ab1(0xc6)]}),_0x395c0e=buildSqlLockEntry(_0x53b13f,_0x577e40,'',{'dbName':_0x3d87d4}),_0x176beb=resolveLocalSqlFilePath(_0x159ffd,_0x53b13f[_0x156ab1(0x99)],_0x395c0e);let _0x1675fc=_0x156ab1(0xc4),_0xf05dca;if(await fileExists(_0x176beb)){const _0x474de1=await readFile(_0x176beb,_0x156ab1(0xbe));isEquivalentPulledSqlFile(_0x474de1,_0x3808a6,_0x35efb9)?(_0x1675fc=_0x156ab1(0xa3),_0xf05dca=_0x156ab1(0xb4)):(_0x1675fc='conflict',_0xf05dca=_0x156ab1(0x94));}_0x40a296[_0x156ab1(0xab)]({'sqlCode':_0x53b13f['sqlCode'],'sqlName':_0x53b13f[_0x156ab1(0xb0)],'filePath':_0x176beb,'status':_0x1675fc,'reason':_0xf05dca});}return{'method':_0x156ab1(0xc7),'url':_0x156ab1(0x91),'body':{'appCode':_0x2db33c['appCode'],'sqlCode':_0x2db33c[_0x156ab1(0x92)](_0x156ab1(0xa1))||null,'sqlName':_0x2db33c[_0x156ab1(0x92)](_0x156ab1(0x9d))||null,'files':_0x40a296},'description':'Would\x20pull\x20'+_0x40a296[_0x156ab1(0xae)]+_0x156ab1(0xc8)+_0x159ffd[_0x156ab1(0xa6)]};},async 'execute'(_0x4c576e){const _0x14c4d2=a120_0x127ca3,_0x2f5ce7=loadSqlProjectConfig(_0x4c576e['appCode']),_0x38ff31=await readSqlLockFile(_0x2f5ce7[_0x14c4d2(0x95)]),{lockData:_0x4ab38d,appLock:_0x72b907}=ensureSqlLockScope(_0x38ff31??createEmptySqlLock(),_0x2f5ce7[_0x14c4d2(0xcb)],_0x2f5ce7[_0x14c4d2(0xa5)],_0x14c4d2(0xce)),_0x4c4a0a=_0x4c576e[_0x14c4d2(0xc9)](_0x14c4d2(0xa7)),_0x3b773b=await fetchAllSqlQueries(_0x4c576e['appCode'],{'sqlCode':_0x4c576e[_0x14c4d2(0x92)](_0x14c4d2(0xa1))||undefined,'sqlName':_0x4c576e[_0x14c4d2(0x92)](_0x14c4d2(0x9d))||undefined});if(_0x3b773b[_0x14c4d2(0xae)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x14c4d2(0xcc)};const _0x2087e9=[],_0x1613e3=[];for(const _0x199362 of _0x3b773b){try{_0x2087e9[_0x14c4d2(0xab)](await ensureSqlContent(_0x199362));}catch(_0x452d93){_0x1613e3[_0x14c4d2(0xab)]({'sqlCode':_0x199362[_0x14c4d2(0x99)],'error':_0x452d93 instanceof Error?_0x452d93[_0x14c4d2(0xc1)]:String(_0x452d93)});}}if(_0x4c4a0a&&!_0x4c576e['nonInteractive']){let _0x352fd9=![];for(const _0x1f6f6e of _0x2087e9){const _0x4610d8=detectModeFromSql(_0x1f6f6e),_0x390a6f=_0x1f6f6e[_0x14c4d2(0x9b)]?await getDbName(_0x4c576e['appCode'],Number(_0x1f6f6e[_0x14c4d2(0x9b)]))[_0x14c4d2(0xa4)](()=>undefined):undefined,_0x4fc9ae=buildLocalSqlFileContent({'sqlCode':_0x1f6f6e[_0x14c4d2(0x99)],'sqlName':_0x1f6f6e[_0x14c4d2(0xb0)],'dbId':_0x1f6f6e[_0x14c4d2(0x9b)]},ensureRemoteSqlContent(_0x1f6f6e),{'dbName':_0x390a6f,'mode':_0x4610d8,'syncedAt':new Date()[_0x14c4d2(0xa9)](),'description':_0x1f6f6e[_0x14c4d2(0xc6)]}),_0x38015e=resolveLocalSqlFilePath(_0x2f5ce7,_0x1f6f6e[_0x14c4d2(0x99)],buildSqlLockEntry(_0x1f6f6e,ensureRemoteSqlContent(_0x1f6f6e),'',{'dbName':_0x390a6f}));if(await fileExists(_0x38015e)){const _0xda82df=await readFile(_0x38015e,_0x14c4d2(0xbe));if(!isEquivalentPulledSqlFile(_0xda82df,_0x4fc9ae,_0x4610d8)){_0x352fd9=!![];break;}}}if(_0x352fd9){const _0x4e8502=await confirmForceOverwrite(_0x14c4d2(0xac));if(!_0x4e8502)throw CliErrors[_0x14c4d2(0x98)](_0x14c4d2(0xba));}}const _0x595b31=cloneSqlLockData(_0x4ab38d),_0x500735=_0x595b31['apps'][_0x2f5ce7[_0x14c4d2(0xcb)]],_0x1e3758=[],_0x2dfb02=[];for(const _0x486285 of _0x2087e9){const _0x26a486=_0x500735[_0x14c4d2(0x9f)][_0x486285[_0x14c4d2(0x99)]],_0x3c6088=ensureRemoteSqlContent(_0x486285),_0x1ad2db=detectModeFromSql(_0x486285),_0x48c84a=_0x486285[_0x14c4d2(0x9b)]?await getDbName(_0x4c576e[_0x14c4d2(0xcb)],Number(_0x486285[_0x14c4d2(0x9b)]))[_0x14c4d2(0xa4)](()=>undefined):undefined,_0x4edb5d=buildLocalSqlFileContent({'sqlCode':_0x486285[_0x14c4d2(0x99)],'sqlName':_0x486285[_0x14c4d2(0xb0)],'dbId':_0x486285[_0x14c4d2(0x9b)]},_0x3c6088,{'dbName':_0x48c84a,'mode':_0x1ad2db,'syncedAt':new Date()[_0x14c4d2(0xa9)](),'description':_0x486285[_0x14c4d2(0xc6)]}),_0x5da313=buildSqlLockEntry(_0x486285,_0x3c6088,computeSqlContentHash(_0x4edb5d),{'dbName':_0x48c84a}),_0x45be8b=_0x5da313[_0x14c4d2(0xb7)],_0x108532=join(_0x2f5ce7[_0x14c4d2(0xa6)],_0x45be8b);try{if(await fileExists(_0x108532)){const _0x2e2941=await readFile(_0x108532,_0x14c4d2(0xbe));if(isEquivalentPulledSqlFile(_0x2e2941,_0x4edb5d,_0x1ad2db)){_0x2dfb02[_0x14c4d2(0xab)]({'sqlCode':_0x486285[_0x14c4d2(0x99)],'reason':_0x14c4d2(0xb4)}),_0x500735['sqls'][_0x486285[_0x14c4d2(0x99)]]={..._0x5da313,'hash':computeSqlContentHash(_0x2e2941),'path':_0x45be8b};continue;}if(!_0x4c4a0a){_0x2dfb02[_0x14c4d2(0xab)]({'sqlCode':_0x486285[_0x14c4d2(0x99)],'reason':_0x14c4d2(0xcd)});continue;}}const _0x12327d=_0x26a486?.[_0x14c4d2(0xb7)]?join(_0x2f5ce7[_0x14c4d2(0xa6)],_0x26a486[_0x14c4d2(0xb7)]):undefined;_0x12327d&&_0x12327d!==_0x108532&&await fileExists(_0x12327d)&&await rm(_0x12327d,{'force':!![]}),await ensureParentDirectory(_0x108532),await writeFile(_0x108532,_0x4edb5d,'utf8'),_0x500735[_0x14c4d2(0x9f)][_0x486285[_0x14c4d2(0x99)]]={..._0x5da313,'path':_0x45be8b},_0x1e3758[_0x14c4d2(0xab)]({'sqlCode':_0x486285[_0x14c4d2(0x99)],'filePath':_0x108532});}catch(_0xc11ef3){_0x1613e3[_0x14c4d2(0xab)]({'sqlCode':_0x486285[_0x14c4d2(0x99)],'error':_0xc11ef3 instanceof Error?_0xc11ef3[_0x14c4d2(0xc1)]:String(_0xc11ef3)});}}return _0x500735['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x2f5ce7[_0x14c4d2(0x95)],_0x595b31),{'ok':_0x1613e3[_0x14c4d2(0xae)]===0x0,'data':{'pulled':_0x1e3758,'skipped':_0x2dfb02,'failed':_0x1613e3},'message':'Pull\x20complete:\x20'+_0x1e3758[_0x14c4d2(0xae)]+'\x20written,\x20'+_0x2dfb02[_0x14c4d2(0xae)]+'\x20skipped,\x20'+_0x1613e3['length']+_0x14c4d2(0x96)};}};function detectModeFromSql(_0x31b5ab){const _0x477539=a120_0x127ca3,_0x19bc66=ensureRemoteSqlContent(_0x31b5ab),_0x54bdb1=stripLocalSqlMetadata(_0x19bc66,_0x477539(0xb6))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x477539(0x9a)](_0x54bdb1))return _0x477539(0xb6);return _0x477539(0xb3);}function isEquivalentPulledSqlFile(_0xdf4a7c,_0x55e8ae,_0x2db96e){return normalizePullComparableContent(_0xdf4a7c,_0x2db96e)===normalizePullComparableContent(_0x55e8ae,_0x2db96e);}function normalizePullComparableContent(_0x5956f5,_0x32563){const _0x2d7bfa=a120_0x127ca3,_0x477ca3=_0x5956f5[_0x2d7bfa(0xbf)](/\r\n/g,'\x0a')[_0x2d7bfa(0xb1)]('\x0a'),_0x1937b5=_0x477ca3[_0x2d7bfa(0xc3)](_0x36b3d4=>!isSyncedAtMetadataLine(_0x36b3d4,_0x32563));return _0x1937b5[_0x2d7bfa(0xc5)]('\x0a');}function isSyncedAtMetadataLine(_0xe2b022,_0x47dd97){const _0x24e343=a120_0x127ca3;if(_0x47dd97===_0x24e343(0xb6))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0xe2b022);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x24e343(0x9a)](_0xe2b022);}