@lovrabet/rabetbase-cli 2.3.3-beta.4 → 2.3.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) 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-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/flags.js +1 -1
  47. package/lib/commands/common/validate.js +1 -1
  48. package/lib/commands/config/get.js +1 -1
  49. package/lib/commands/config/index.js +1 -1
  50. package/lib/commands/config/list.js +1 -1
  51. package/lib/commands/config/set.js +1 -1
  52. package/lib/commands/config/shared.js +1 -1
  53. package/lib/commands/data/filter.js +1 -1
  54. package/lib/commands/data/getOne.js +1 -1
  55. package/lib/commands/data/index.js +1 -1
  56. package/lib/commands/data/shared.js +1 -1
  57. package/lib/commands/dataset/business-group-update.js +1 -1
  58. package/lib/commands/dataset/capability.js +1 -1
  59. package/lib/commands/dataset/delete.js +1 -1
  60. package/lib/commands/dataset/detail.js +1 -1
  61. package/lib/commands/dataset/extend-update.js +1 -1
  62. package/lib/commands/dataset/field-update.js +1 -1
  63. package/lib/commands/dataset/generate.js +1 -1
  64. package/lib/commands/dataset/index.js +1 -1
  65. package/lib/commands/dataset/list.js +1 -1
  66. package/lib/commands/dataset/operations.js +1 -1
  67. package/lib/commands/dataset/relation-audit.js +1 -1
  68. package/lib/commands/dataset/relation-create.js +1 -1
  69. package/lib/commands/dataset/relation-delete.js +1 -1
  70. package/lib/commands/dataset/relation-shared.js +1 -1
  71. package/lib/commands/dataset/relation-update.js +1 -1
  72. package/lib/commands/dataset/relations.js +1 -1
  73. package/lib/commands/dataset/rename.js +1 -1
  74. package/lib/commands/dataset/restore.js +1 -1
  75. package/lib/commands/db/analyze-cancel.js +1 -1
  76. package/lib/commands/db/analyze-start.js +1 -1
  77. package/lib/commands/db/analyze-status.js +1 -1
  78. package/lib/commands/db/create.js +1 -1
  79. package/lib/commands/db/delete.js +1 -1
  80. package/lib/commands/db/detail.js +1 -1
  81. package/lib/commands/db/diff.js +1 -1
  82. package/lib/commands/db/index.js +1 -1
  83. package/lib/commands/db/list.js +1 -1
  84. package/lib/commands/db/shared.js +1 -1
  85. package/lib/commands/db/tables.js +1 -1
  86. package/lib/commands/db/test.js +1 -1
  87. package/lib/commands/db/update.js +1 -1
  88. package/lib/commands/doctor.js +1 -1
  89. package/lib/commands/init/index.js +1 -1
  90. package/lib/commands/issue/index.js +1 -1
  91. package/lib/commands/issue/nudge.js +1 -1
  92. package/lib/commands/issue/report.js +1 -1
  93. package/lib/commands/issue/shared.js +1 -1
  94. package/lib/commands/logs/index.js +1 -1
  95. package/lib/commands/menu/index.js +1 -1
  96. package/lib/commands/menu/list.js +1 -1
  97. package/lib/commands/menu/shared/compare-table.js +1 -1
  98. package/lib/commands/menu/shared/index.js +1 -1
  99. package/lib/commands/menu/shared/inquirer.js +1 -1
  100. package/lib/commands/menu/shared/local-pages.js +1 -1
  101. package/lib/commands/menu/shared/logic.js +1 -1
  102. package/lib/commands/menu/shared/service.js +1 -1
  103. package/lib/commands/menu/shared/sync-core.js +1 -1
  104. package/lib/commands/menu/shared/update-core.js +1 -1
  105. package/lib/commands/menu/shared/valid-url.js +1 -1
  106. package/lib/commands/menu/sync.js +1 -1
  107. package/lib/commands/menu/update.js +1 -1
  108. package/lib/commands/page/generate-start.js +1 -1
  109. package/lib/commands/page/generate-status.js +1 -1
  110. package/lib/commands/page/index.js +1 -1
  111. package/lib/commands/page/pull.js +1 -1
  112. package/lib/commands/page/push.js +1 -1
  113. package/lib/commands/page/relation-audit.js +1 -1
  114. package/lib/commands/page/shared.js +1 -1
  115. package/lib/commands/page/standard-page-status.js +1 -1
  116. package/lib/commands/page/sync.js +1 -1
  117. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  118. package/lib/commands/project/create/format-elapsed.js +1 -1
  119. package/lib/commands/project/create/main.js +1 -1
  120. package/lib/commands/project/create/non-interactive.js +1 -1
  121. package/lib/commands/project/create/project-template-path.js +1 -1
  122. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  123. package/lib/commands/project/create/use-format-code.js +1 -1
  124. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  125. package/lib/commands/project/index.js +1 -1
  126. package/lib/commands/project/init.js +1 -1
  127. package/lib/commands/project/upgrade.js +1 -1
  128. package/lib/commands/registry.js +1 -1
  129. package/lib/commands/run/index.js +1 -1
  130. package/lib/commands/schema.js +1 -1
  131. package/lib/commands/sql/create.js +1 -1
  132. package/lib/commands/sql/delete.js +1 -1
  133. package/lib/commands/sql/detail.js +1 -1
  134. package/lib/commands/sql/exec.js +1 -1
  135. package/lib/commands/sql/index.js +1 -1
  136. package/lib/commands/sql/list.js +1 -1
  137. package/lib/commands/sql/pull.js +1 -1
  138. package/lib/commands/sql/push.js +1 -1
  139. package/lib/commands/sql/save.js +1 -1
  140. package/lib/commands/sql/shared.js +1 -1
  141. package/lib/commands/sql/status.js +1 -1
  142. package/lib/commands/sql/validate.js +1 -1
  143. package/lib/commands/workspace/index.js +1 -1
  144. package/lib/config/schema.js +1 -1
  145. package/lib/constant/cdn.js +1 -1
  146. package/lib/constant/cli.js +1 -1
  147. package/lib/constant/defaults.js +1 -1
  148. package/lib/constant/domain.js +1 -1
  149. package/lib/constant/env.js +1 -1
  150. package/lib/constant/output.js +1 -1
  151. package/lib/constant/paths.js +1 -1
  152. package/lib/constant/risk.js +1 -1
  153. package/lib/context/app-resolver.js +1 -1
  154. package/lib/context/auth-resolver.js +1 -1
  155. package/lib/context/config-loader.js +1 -1
  156. package/lib/context.js +1 -1
  157. package/lib/core/alias-resolver.js +1 -1
  158. package/lib/core/api-client.js +1 -1
  159. package/lib/core/bff/config.js +1 -1
  160. package/lib/core/bff/file-system.js +1 -1
  161. package/lib/core/bff/hash.js +1 -1
  162. package/lib/core/bff/lock.js +1 -1
  163. package/lib/core/bff/utils.js +1 -1
  164. package/lib/core/db-resolver.js +1 -1
  165. package/lib/core/page/file-system.js +1 -1
  166. package/lib/core/page/hash.js +1 -1
  167. package/lib/core/page/lock.js +1 -1
  168. package/lib/core/sql-sync/config.js +1 -1
  169. package/lib/core/sql-sync/file-system.js +1 -1
  170. package/lib/core/sql-sync/hash.js +1 -1
  171. package/lib/core/sql-sync/lock.js +1 -1
  172. package/lib/core/sql-sync/utils.js +1 -1
  173. package/lib/core/sql-validator.js +1 -1
  174. package/lib/errors.js +1 -1
  175. package/lib/framework/build-all-flags.js +1 -1
  176. package/lib/framework/flags.js +1 -1
  177. package/lib/framework/help.js +1 -1
  178. package/lib/framework/index.js +1 -1
  179. package/lib/framework/output.js +1 -1
  180. package/lib/framework/response.js +1 -1
  181. package/lib/framework/runner-alias.js +1 -1
  182. package/lib/framework/runner.js +1 -1
  183. package/lib/framework/schema-export.js +1 -1
  184. package/lib/framework/types.js +1 -1
  185. package/lib/generated/build-info.js +1 -1
  186. package/lib/help.js +1 -1
  187. package/lib/skills/main.js +1 -1
  188. package/lib/skills/npx-skills-add.js +1 -1
  189. package/lib/telemetry/cli-command-trace.js +1 -1
  190. package/lib/telemetry/cli-help-trace.js +1 -1
  191. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  192. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  193. package/lib/telemetry/send-cli-trace-log.js +1 -1
  194. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  195. package/lib/utils/ai_config.js +1 -1
  196. package/lib/utils/apply-jq-filter.js +1 -1
  197. package/lib/utils/cdn-config.js +1 -1
  198. package/lib/utils/check-sdk-version.js +1 -1
  199. package/lib/utils/cli-version-check.js +1 -1
  200. package/lib/utils/cli-version-policy.js +1 -1
  201. package/lib/utils/config.js +1 -1
  202. package/lib/utils/copy-directory.js +1 -1
  203. package/lib/utils/entity-with-id.js +1 -1
  204. package/lib/utils/file-utils.js +1 -1
  205. package/lib/utils/guides-cdn.js +1 -1
  206. package/lib/utils/http-client.js +1 -1
  207. package/lib/utils/is-non-interactive.js +1 -1
  208. package/lib/utils/logger.js +1 -1
  209. package/lib/utils/params.js +1 -1
  210. package/lib/utils/platform.js +1 -1
  211. package/lib/utils/rules-cdn.js +1 -1
  212. package/lib/utils/sleep.js +1 -1
  213. package/lib/utils/template-replacer.js +1 -1
  214. package/lib/utils/update-notice.js +1 -1
  215. package/lib/utils/version.js +1 -1
  216. package/lib/utils/with-active-cookie.js +1 -1
  217. package/lib/utils/write-cli-side-channel.js +1 -1
  218. package/package.json +2 -2
  219. package/lib/commands/app/use.js +0 -1
@@ -1 +1 @@
1
- (function(_0x5db748,_0x49ec11){const _0xbfcd08=a128_0x4077,_0x385c0f=_0x5db748();while(!![]){try{const _0x10a8de=-parseInt(_0xbfcd08(0xef))/0x1*(-parseInt(_0xbfcd08(0x11e))/0x2)+-parseInt(_0xbfcd08(0x156))/0x3+-parseInt(_0xbfcd08(0x110))/0x4+-parseInt(_0xbfcd08(0x109))/0x5*(parseInt(_0xbfcd08(0x12c))/0x6)+parseInt(_0xbfcd08(0x12d))/0x7*(-parseInt(_0xbfcd08(0xfd))/0x8)+parseInt(_0xbfcd08(0x16f))/0x9+parseInt(_0xbfcd08(0x13b))/0xa;if(_0x10a8de===_0x49ec11)break;else _0x385c0f['push'](_0x385c0f['shift']());}catch(_0x2528cb){_0x385c0f['push'](_0x385c0f['shift']());}}}(a128_0x4a86,0xd7916));import a128_0x17cdc9 from'chalk';import a128_0x2e335d 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';function a128_0x4a86(){const _0x1a032e=['bold','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','undefined','.cursor/mcp.json','\x20removed\x20(','\x20from\x20','Remove\x20legacy\x20artifacts','label','\x20(backup:\x20','info','not\x20needed','\x20\x20#\x20or','\x20\x20bun\x20install','.lovrabet','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','fields','Config\x20file:','latest','devDependencies','skipped','@lovrabet/sdk','Config\x20migration','1673748QtfmWO','some','\x20\x20\x20\x20\x20\x20\x20','sdkUpgrade','1vQntzJ','succeed','===\x20Upgrade\x20Summary\x20===','message','\x20→\x20keys:\x20','===\x20Upgrade\x20Analysis\x20===','skipped\x20(no\x20legacy\x20config)','Remove\x20.lovrabet/','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','oldMcpConfig','\x20\x20npm\x20install','hasNewConfig','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','FAIL','72RIxbGr','Skill\x20swap:','object','cyan','done','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','log','@lovrabet/sdk:','green','start','no\x20matching\x20entry\x20found','Proceed\x20with\x20upgrade?','143960IRZQDX','failed','Clean\x20MCP\x20config','configMigration','\x20\x20Step\x20','@lovrabet/dataset-mcp-server','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','3899504XspSSR','parse','utf8','oldArtifacts','detail','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','.bak','.claude/skills/lovrabet','package.json','Upgrade\x20@lovrabet/sdk','isArray','\x20\x20Current\x20version\x20in\x20','Step\x206/7:\x20Installing\x20new\x20skill...','exit\x20','2609338qwHvro','push','Install\x20new\x20skill','oldPath','.cursor/rules/lovrabet_rules.mdc','isDirectory','fail','args','Legacy\x20artifacts:','string','lovrabet/rabetbase\x20installed\x20globally','Remove\x20old\x20skill','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','366UHoxPT','317569KCtpEN','yellow','\x20removed','keys','length','removed\x20','\x20→\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','step','yes','MCP\x20config:','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','white','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','38730010DSeLWB','values','gray','files','entries','status','needsSkillSwap','Upgrade\x20completed\x20successfully!','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Upgrade\x20cancelled.','CANCEL','join','stringify','\x20\x20Fields\x20to\x20migrate:\x20','no\x20legacy\x20config\x20found','Step\x201/7:\x20Migrating\x20config...','\x20\x20New\x20config\x20(.rabetbase.json):\x20','inherit','dependencies','needed','mcpServers','Step\x205/7:\x20Removing\x20old\x20skill...','lovrabet/rabetbase','path','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','red','\x20→\x20latest','4023555qBfgjl','filter','none\x20found'];a128_0x4a86=function(){return _0x1a032e;};return a128_0x4a86();}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'](_0x540ad1=>_0x540ad1!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x345747){const _0x5cd079=a128_0x4077,_0x557a14=[];for(const _0x53cd19 of Object[_0x5cd079(0x13c)](CORE_IDE_CONFIGS)){if(_0x53cd19['files'])for(const _0x3db7cc of _0x53cd19[_0x5cd079(0x13e)]){_0x557a14[_0x5cd079(0x11f)](resolve(_0x345747,_0x3db7cc[_0x5cd079(0x152)]));}}return _0x557a14;}function analyse(_0x5f27e1){const _0x21dd64=a128_0x4077;let _0x210911=null;const _0xe4e3ef=resolve(_0x5f27e1,NEW_CONFIG_NAME),_0xf06c52=existsSync(_0xe4e3ef);for(const _0x4577e7 of LEGACY_CONFIG_NAMES){const _0x37a7a9=resolve(_0x5f27e1,_0x4577e7);if(existsSync(_0x37a7a9)){const _0x393855=readConfigFile(_0x37a7a9),_0x16d91e=Object[_0x21dd64(0x130)](_0x393855)[_0x21dd64(0x157)](_0x40bc22=>typeof _0x393855[_0x40bc22]!==_0x21dd64(0x15b));_0x210911={'oldPath':_0x37a7a9,'hasNewConfig':_0xf06c52,'fields':_0x16d91e};break;}}const _0x5a74aa=[],_0x34756d=resolve(_0x5f27e1,_0x21dd64(0x166));if(existsSync(_0x34756d))_0x5a74aa['push'](_0x34756d);const _0x2825fd=resolve(_0x5f27e1,_0x21dd64(0x122));if(existsSync(_0x2825fd))_0x5a74aa[_0x21dd64(0x11f)](_0x2825fd);const _0x4705c1=resolve(_0x5f27e1,_0x21dd64(0x117));if(existsSync(_0x4705c1))_0x5a74aa[_0x21dd64(0x11f)](_0x4705c1);for(const _0x3404f0 of collectIdeSkillFiles(_0x5f27e1)){if(existsSync(_0x3404f0))_0x5a74aa[_0x21dd64(0x11f)](_0x3404f0);}let _0x555cca=null;const _0x237af8=resolve(_0x5f27e1,_0x21dd64(0x15c));if(existsSync(_0x237af8))try{const _0x165731=JSON[_0x21dd64(0x111)](readFileSync(_0x237af8,'utf8'));if(_0x165731?.[_0x21dd64(0x14f)]&&typeof _0x165731[_0x21dd64(0x14f)]==='object'){const _0x5a1878=[];for(const [_0x5dca6f,_0x1f6774]of Object[_0x21dd64(0x13f)](_0x165731[_0x21dd64(0x14f)])){const _0x29ff56=_0x1f6774;_0x29ff56?.[_0x21dd64(0x125)]&&Array[_0x21dd64(0x11a)](_0x29ff56['args'])&&_0x29ff56[_0x21dd64(0x125)]['some'](_0x19904b=>typeof _0x19904b===_0x21dd64(0x127)&&_0x19904b['includes'](_0x21dd64(0x10e)))&&_0x5a1878[_0x21dd64(0x11f)](_0x5dca6f);}_0x5a1878[_0x21dd64(0x131)]>0x0&&(_0x555cca={'path':_0x237af8,'keys':_0x5a1878});}}catch{}const _0x42f8eb=_0x5a74aa[_0x21dd64(0x131)]>0x0||_0x210911!==null;let _0x4559a0=null;const _0x28e165=resolve(_0x5f27e1,_0x21dd64(0x118));if(existsSync(_0x28e165))try{const _0x23cdc3=JSON[_0x21dd64(0x111)](readFileSync(_0x28e165,'utf8'));for(const _0x229cbb of[_0x21dd64(0x14d),_0x21dd64(0x16b)]){const _0x21b3f4=_0x23cdc3?.[_0x229cbb]?.[_0x21dd64(0x16d)];if(typeof _0x21b3f4===_0x21dd64(0x127)){_0x21b3f4!==_0x21dd64(0x16a)&&(_0x4559a0={'pkgPath':_0x28e165,'currentVersion':_0x21b3f4,'field':_0x229cbb});break;}}}catch{}return{'configMigration':_0x210911,'oldArtifacts':_0x5a74aa,'oldMcpConfig':_0x555cca,'needsSkillSwap':_0x42f8eb,'sdkUpgrade':_0x4559a0};}function printReport(_0x13da5d){const _0x5eab4b=a128_0x4077,{configMigration:_0x2a0837,oldArtifacts:_0x7b311d,oldMcpConfig:_0x55e79a,needsSkillSwap:_0xf22999}=_0x13da5d;console[_0x5eab4b(0x103)](''),console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x159)](_0x5eab4b(0xf4))),console[_0x5eab4b(0x103)]('');_0x2a0837?(console[_0x5eab4b(0x103)](a128_0x17cdc9['cyan']('Config\x20file:')+('\x20\x20'+a128_0x17cdc9[_0x5eab4b(0x12e)](_0x2a0837['oldPath']))),console[_0x5eab4b(0x103)](_0x5eab4b(0x14b)+(_0x2a0837[_0x5eab4b(0xfa)]?a128_0x17cdc9['green']('already\x20exists\x20(will\x20merge)'):a128_0x17cdc9[_0x5eab4b(0x13d)]('not\x20found\x20(will\x20create)'))),console[_0x5eab4b(0x103)](_0x5eab4b(0x148)+_0x2a0837[_0x5eab4b(0x168)][_0x5eab4b(0x146)](',\x20')),console['log'](_0x5eab4b(0x13a))):console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x100)](_0x5eab4b(0x169))+'\x20\x20'+a128_0x17cdc9[_0x5eab4b(0x13d)](_0x5eab4b(0x149)));console[_0x5eab4b(0x103)]('');if(_0x7b311d[_0x5eab4b(0x131)]>0x0){console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x100)](_0x5eab4b(0x126)));for(const _0x14a511 of _0x7b311d){console['log']('\x20\x20'+a128_0x17cdc9['red']('FOUND')+'\x20\x20'+_0x14a511);}console[_0x5eab4b(0x103)]('\x20\x20Action:\x20delete');}else console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x100)](_0x5eab4b(0x126))+'\x20\x20'+a128_0x17cdc9['gray'](_0x5eab4b(0x158)));console[_0x5eab4b(0x103)]('');_0x55e79a?(console['log'](a128_0x17cdc9[_0x5eab4b(0x100)](_0x5eab4b(0x137))+('\x20\x20'+a128_0x17cdc9[_0x5eab4b(0x12e)](_0x55e79a[_0x5eab4b(0x152)])+_0x5eab4b(0xf3)+_0x55e79a[_0x5eab4b(0x130)][_0x5eab4b(0x146)](',\x20'))),console['log'](_0x5eab4b(0x167))):console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x100)]('MCP\x20config:')+'\x20\x20'+a128_0x17cdc9['gray']('no\x20legacy\x20entry'));console[_0x5eab4b(0x103)](''),console[_0x5eab4b(0x103)](a128_0x17cdc9[_0x5eab4b(0x100)](_0x5eab4b(0xfe))+('\x20\x20'+(_0xf22999?a128_0x17cdc9['yellow'](_0x5eab4b(0x14e)):a128_0x17cdc9[_0x5eab4b(0x105)](_0x5eab4b(0x163)))));_0xf22999&&console['log'](_0x5eab4b(0x10f)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x13da5d[_0x5eab4b(0xee)]){const {currentVersion:_0x1511d4,field:_0x5f39d5,pkgPath:_0xd1eda6}=_0x13da5d['sdkUpgrade'];console[_0x5eab4b(0x103)](a128_0x17cdc9['cyan'](_0x5eab4b(0x104))+('\x20\x20'+a128_0x17cdc9[_0x5eab4b(0x12e)](_0xd1eda6))),console[_0x5eab4b(0x103)](_0x5eab4b(0x11b)+_0x5f39d5+':\x20'+a128_0x17cdc9[_0x5eab4b(0x12e)](_0x1511d4)+_0x5eab4b(0x133)+a128_0x17cdc9[_0x5eab4b(0x105)](_0x5eab4b(0x16a))),console[_0x5eab4b(0x103)](_0x5eab4b(0x12a));}else console[_0x5eab4b(0x103)](a128_0x17cdc9['cyan'](_0x5eab4b(0x104))+'\x20\x20'+a128_0x17cdc9[_0x5eab4b(0x13d)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x5eab4b(0x103)]('');}function execConfigMigration(_0xdfb386,_0x3cdbd0){const _0x1cd0b6=a128_0x4077,{configMigration:_0x6ccbff}=_0xdfb386;if(!_0x6ccbff?.[_0x1cd0b6(0x121)])return{'step':0x1,'label':_0x1cd0b6(0x16e),'ok':!![],'detail':_0x1cd0b6(0xf5)};const _0x37af73=readConfigFile(_0x6ccbff[_0x1cd0b6(0x121)]),_0x2ffbc6=resolve(_0x3cdbd0,NEW_CONFIG_NAME),_0x21da96=_0x6ccbff[_0x1cd0b6(0xfa)]?readConfigFile(_0x2ffbc6):{};for(const [_0x355435,_0x19ec38]of Object[_0x1cd0b6(0x13f)](_0x37af73)){!(_0x355435 in _0x21da96)&&(_0x21da96[_0x355435]=_0x19ec38);}writeConfigFile(_0x2ffbc6,_0x21da96);const _0x3bf252=_0x6ccbff[_0x1cd0b6(0x121)]+_0x1cd0b6(0x116);return renameSync(_0x6ccbff[_0x1cd0b6(0x121)],_0x3bf252),{'step':0x1,'label':_0x1cd0b6(0x16e),'ok':!![],'detail':_0x6ccbff['oldPath']+_0x1cd0b6(0x133)+_0x2ffbc6+_0x1cd0b6(0x161)+_0x3bf252+')'};}function execRemoveOldArtifacts(_0x35fabe){const _0x346e43=a128_0x4077,_0x16e2a5=[];for(const _0x3caec1 of _0x35fabe){try{if(!existsSync(_0x3caec1))continue;const _0xb0a581=tryStat(_0x3caec1);_0xb0a581?.[_0x346e43(0x123)]()?rmSync(_0x3caec1,{'recursive':!![],'force':!![]}):unlinkSync(_0x3caec1);}catch(_0x2607d1){_0x16e2a5[_0x346e43(0x11f)](_0x3caec1+':\x20'+_0x2607d1[_0x346e43(0xf2)]);}}return{'step':0x3,'label':_0x346e43(0x15f),'ok':_0x16e2a5[_0x346e43(0x131)]===0x0,'detail':_0x16e2a5[_0x346e43(0x131)]>0x0?_0x35fabe['length']-_0x16e2a5[_0x346e43(0x131)]+'/'+_0x35fabe[_0x346e43(0x131)]+_0x346e43(0x15d)+_0x16e2a5[_0x346e43(0x146)](';\x20')+')':_0x35fabe[_0x346e43(0x131)]+_0x346e43(0x12f)};}function execCleanMcp(_0x395189){const _0x14a216=a128_0x4077;if(!_0x395189['oldMcpConfig'])return{'step':0x4,'label':_0x14a216(0x10b),'ok':!![],'detail':_0x14a216(0x16c)};try{const _0x2bd660=readFileSync(_0x395189['oldMcpConfig'][_0x14a216(0x152)],'utf8'),_0x470eb9=JSON['parse'](_0x2bd660);if(_0x470eb9?.[_0x14a216(0x14f)]&&typeof _0x470eb9[_0x14a216(0x14f)]===_0x14a216(0xff)){const _0x3076de=[];for(const [_0x4bb6f1,_0x50c14c]of Object['entries'](_0x470eb9['mcpServers'])){_0x50c14c?.['args']&&Array[_0x14a216(0x11a)](_0x50c14c[_0x14a216(0x125)])&&_0x50c14c[_0x14a216(0x125)][_0x14a216(0xec)](_0x1b1830=>typeof _0x1b1830===_0x14a216(0x127)&&_0x1b1830['includes'](_0x14a216(0x10e)))&&_0x3076de[_0x14a216(0x11f)](_0x4bb6f1);}for(const _0x38bc13 of _0x3076de){delete _0x470eb9[_0x14a216(0x14f)][_0x38bc13];}return _0x3076de[_0x14a216(0x131)]>0x0&&writeFileSync(_0x395189[_0x14a216(0xf8)][_0x14a216(0x152)],JSON[_0x14a216(0x147)](_0x470eb9,null,0x2)+'\x0a',_0x14a216(0x112)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x14a216(0x132)+_0x3076de['join'](',\x20')+_0x14a216(0x15e)+_0x395189[_0x14a216(0xf8)][_0x14a216(0x152)]};}return{'step':0x4,'label':_0x14a216(0x10b),'ok':!![],'detail':_0x14a216(0x107)};}catch(_0x1d9712){return{'step':0x4,'label':_0x14a216(0x10b),'ok':![],'detail':_0x1d9712['message']};}}function a128_0x4077(_0x31afd8,_0x28f7cc){_0x31afd8=_0x31afd8-0xec;const _0x4a86f1=a128_0x4a86();let _0x4077d0=_0x4a86f1[_0x31afd8];return _0x4077d0;}function execSkillsRemove(_0x24a1d6,_0x1dbbc9){const _0x5cfef2=a128_0x4077,_0x23405e=runNpxSkillsRemove(_0x24a1d6,{'stdio':_0x5cfef2(0x14c),'yes':_0x1dbbc9});return{'step':0x5,'label':_0x5cfef2(0x129),'ok':_0x23405e['ok'],'detail':_0x23405e['ok']?'lovrabet/lovrabet-skill\x20removed':_0x23405e['error']??_0x5cfef2(0x11d)+_0x23405e[_0x5cfef2(0x140)]};}function execSkillsAdd(_0x395fd4,_0x425501){const _0x572b53=a128_0x4077,_0x3c8d0e=runNpxSkillsAddGlobal(_0x395fd4,_0x572b53(0x151),{'stdio':'inherit','yes':_0x425501});return{'step':0x6,'label':_0x572b53(0x120),'ok':_0x3c8d0e['ok'],'detail':_0x3c8d0e['ok']?_0x572b53(0x128):_0x3c8d0e['error']??_0x572b53(0x11d)+_0x3c8d0e['status']};}function execUpgradeSdk(_0x53c57c){const _0x3449b2=a128_0x4077;if(!_0x53c57c[_0x3449b2(0xee)])return{'step':0x7,'label':_0x3449b2(0x119),'ok':!![],'detail':_0x3449b2(0x134)};const {pkgPath:_0x24f6bb,currentVersion:_0x46e69e,field:_0x2e22ca}=_0x53c57c['sdkUpgrade'];try{const _0x27d04e=readFileSync(_0x24f6bb,_0x3449b2(0x112)),_0x2387af=JSON[_0x3449b2(0x111)](_0x27d04e);return _0x2387af[_0x2e22ca]['@lovrabet/sdk']=_0x3449b2(0x16a),writeFileSync(_0x24f6bb,JSON[_0x3449b2(0x147)](_0x2387af,null,0x2)+'\x0a',_0x3449b2(0x112)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x2e22ca+'[\x22@lovrabet/sdk\x22]:\x20'+_0x46e69e+_0x3449b2(0x155)};}catch(_0x241ee3){return{'step':0x7,'label':_0x3449b2(0x119),'ok':![],'detail':_0x241ee3['message']};}}function tryStat(_0x4e150a){try{return statSync(_0x4e150a);}catch{return undefined;}}function printSummary(_0x59f585){const _0x4b5a52=a128_0x4077;console[_0x4b5a52(0x103)](''),console[_0x4b5a52(0x103)](a128_0x17cdc9['bold'](_0x4b5a52(0xf1))),console['log']('');for(const _0x38cb98 of _0x59f585){const _0x7286a4=_0x38cb98['ok']?a128_0x17cdc9[_0x4b5a52(0x105)]('OK'):a128_0x17cdc9[_0x4b5a52(0x154)](_0x4b5a52(0xfc));console[_0x4b5a52(0x103)]('\x20\x20'+_0x7286a4+_0x4b5a52(0x10d)+_0x38cb98[_0x4b5a52(0x135)]+':\x20'+_0x38cb98[_0x4b5a52(0x160)]);if(_0x38cb98[_0x4b5a52(0x114)])console[_0x4b5a52(0x103)](_0x4b5a52(0xed)+a128_0x17cdc9[_0x4b5a52(0x13d)](_0x38cb98[_0x4b5a52(0x114)]));}console[_0x4b5a52(0x103)]('');}export async function upgradeApp(_0x53edf8,_0x4e84fd){const _0x384379=a128_0x4077,_0x1900c8=process['cwd'](),_0x7c5c5f=analyse(_0x1900c8),_0x1f0e01=!_0x7c5c5f[_0x384379(0x10c)]&&_0x7c5c5f[_0x384379(0x113)][_0x384379(0x131)]===0x0&&!_0x7c5c5f['oldMcpConfig']&&!_0x7c5c5f[_0x384379(0x141)]&&!_0x7c5c5f['sdkUpgrade'];if(_0x1f0e01){console['log'](a128_0x17cdc9[_0x384379(0x105)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x7c5c5f);const _0x2e3be7=!!(_0x4e84fd[_0x384379(0x136)]||_0x4e84fd['Y']||_0x53edf8);if(!_0x2e3be7)try{const _0x149b32=await askConfirm(_0x384379(0x108));if(!_0x149b32){console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x13d)](_0x384379(0x144)));return;}}catch(_0x4c7049){if(_0x4c7049?.['message']===_0x384379(0x145)){console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x13d)]('Upgrade\x20cancelled.'));return;}throw _0x4c7049;}const _0x41f2b4=[],_0x3f8c6f=a128_0x2e335d({'text':_0x384379(0x14a),'color':_0x384379(0x100)})[_0x384379(0x106)](),_0xe72da4=execConfigMigration(_0x7c5c5f,_0x1900c8);_0x41f2b4[_0x384379(0x11f)](_0xe72da4),_0x3f8c6f[_0xe72da4['ok']?_0x384379(0xf0):_0x384379(0x124)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0xe72da4[_0x384379(0x114)]??(_0xe72da4['ok']?'done':_0x384379(0x10a))));const _0x351327=resolve(_0x1900c8,_0x384379(0x166)),_0x1376c4=a128_0x2e335d({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':'cyan'})[_0x384379(0x106)]();if(existsSync(_0x351327))try{rmSync(_0x351327,{'recursive':!![],'force':!![]}),_0x1376c4[_0x384379(0xf0)](_0x384379(0x15a)),_0x41f2b4['push']({'step':0x2,'label':_0x384379(0xf6),'ok':!![]});}catch(_0x1dc534){_0x1376c4[_0x384379(0x124)](_0x384379(0xf7)+_0x1dc534[_0x384379(0xf2)]),_0x41f2b4['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x1dc534[_0x384379(0xf2)]});}else _0x1376c4[_0x384379(0x162)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x41f2b4[_0x384379(0x11f)]({'step':0x2,'label':_0x384379(0xf6),'ok':!![],'detail':_0x384379(0x16c)});const _0x55795e=a128_0x2e335d({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x384379(0x100)})['start'](),_0x1221ce=execRemoveOldArtifacts(_0x7c5c5f[_0x384379(0x113)]);_0x41f2b4[_0x384379(0x11f)](_0x1221ce),_0x55795e[_0x1221ce['ok']?'succeed':_0x384379(0x124)](_0x384379(0x138)+(_0x1221ce[_0x384379(0x114)]??(_0x1221ce['ok']?_0x384379(0x101):_0x384379(0x10a))));const _0xc8b80e=a128_0x2e335d({'text':_0x384379(0x143),'color':_0x384379(0x100)})[_0x384379(0x106)](),_0x150c61=execCleanMcp(_0x7c5c5f);_0x41f2b4[_0x384379(0x11f)](_0x150c61),_0xc8b80e[_0x150c61['ok']?_0x384379(0xf0):_0x384379(0x124)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x150c61[_0x384379(0x114)]??(_0x150c61['ok']?_0x384379(0x101):_0x384379(0x10a))));const _0x51bb07=a128_0x2e335d({'text':_0x384379(0x150),'color':_0x384379(0x100)})[_0x384379(0x106)](),_0x35b125=execSkillsRemove(_0x1900c8,_0x2e3be7);_0x41f2b4[_0x384379(0x11f)](_0x35b125),_0x51bb07[_0x35b125['ok']?_0x384379(0xf0):_0x384379(0x124)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x35b125[_0x384379(0x114)]??(_0x35b125['ok']?_0x384379(0x101):_0x384379(0x10a))));const _0x4136fb=a128_0x2e335d({'text':_0x384379(0x11c),'color':_0x384379(0x100)})[_0x384379(0x106)](),_0xaef0f6=execSkillsAdd(_0x1900c8,_0x2e3be7);_0x41f2b4['push'](_0xaef0f6),_0x4136fb[_0xaef0f6['ok']?_0x384379(0xf0):_0x384379(0x124)](_0x384379(0xfb)+(_0xaef0f6['detail']??(_0xaef0f6['ok']?'done':_0x384379(0x10a))));const _0xb9b5a7=a128_0x2e335d({'text':_0x384379(0x115),'color':_0x384379(0x100)})['start'](),_0x3714b5=execUpgradeSdk(_0x7c5c5f);_0x41f2b4[_0x384379(0x11f)](_0x3714b5),_0xb9b5a7[_0x3714b5['ok']?_0x384379(0xf0):_0x384379(0x124)](_0x384379(0x102)+(_0x3714b5[_0x384379(0x114)]??(_0x3714b5['ok']?_0x384379(0x101):_0x384379(0x10a)))),printSummary(_0x41f2b4);const _0x406ac7=_0x41f2b4['some'](_0x7512b=>!_0x7512b['ok']);_0x406ac7?console[_0x384379(0x103)](a128_0x17cdc9['yellow'](_0x384379(0x12b))):console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x105)](_0x384379(0x142))),_0x3714b5['ok']&&_0x7c5c5f['sdkUpgrade']&&(console[_0x384379(0x103)](''),console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x159)]['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x384379(0x103)](a128_0x17cdc9['cyan'](_0x384379(0x153))),console[_0x384379(0x103)](''),console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x139)](_0x384379(0xf9))),console['log'](a128_0x17cdc9[_0x384379(0x139)](_0x384379(0x164))),console[_0x384379(0x103)](a128_0x17cdc9[_0x384379(0x139)](_0x384379(0x165))),console['log'](''));}
1
+ const a127_0x361b18=a127_0x3c72;(function(_0x342bae,_0x1aed40){const _0x4010cd=a127_0x3c72,_0x5b04aa=_0x342bae();while(!![]){try{const _0x1a5090=parseInt(_0x4010cd(0xd8))/0x1+-parseInt(_0x4010cd(0xfd))/0x2+-parseInt(_0x4010cd(0xcd))/0x3+parseInt(_0x4010cd(0xd9))/0x4*(parseInt(_0x4010cd(0x125))/0x5)+-parseInt(_0x4010cd(0x137))/0x6*(-parseInt(_0x4010cd(0xf4))/0x7)+-parseInt(_0x4010cd(0x146))/0x8+-parseInt(_0x4010cd(0xd2))/0x9;if(_0x1a5090===_0x1aed40)break;else _0x5b04aa['push'](_0x5b04aa['shift']());}catch(_0x5d4bf6){_0x5b04aa['push'](_0x5b04aa['shift']());}}}(a127_0x4400,0x19c6c));import a127_0xcdf982 from'chalk';import a127_0x29e27a from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a127_0x361b18(0x10e)](_0xfaab90=>_0xfaab90!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0xf6b7b7){const _0x186f3e=a127_0x361b18,_0x23e7a3=[];for(const _0x342e47 of Object[_0x186f3e(0xfb)](CORE_IDE_CONFIGS)){if(_0x342e47[_0x186f3e(0x113)])for(const _0x4a5f35 of _0x342e47[_0x186f3e(0x113)]){_0x23e7a3['push'](resolve(_0xf6b7b7,_0x4a5f35[_0x186f3e(0x129)]));}}return _0x23e7a3;}function analyse(_0xcb137a){const _0x276ecc=a127_0x361b18;let _0x69a3c3=null;const _0x5989b3=resolve(_0xcb137a,NEW_CONFIG_NAME),_0x53e0a8=existsSync(_0x5989b3);for(const _0x59042e of LEGACY_CONFIG_NAMES){const _0x412cb2=resolve(_0xcb137a,_0x59042e);if(existsSync(_0x412cb2)){const _0x2edae7=readConfigFile(_0x412cb2),_0x42381b=Object[_0x276ecc(0xee)](_0x2edae7)[_0x276ecc(0x10e)](_0x433ec4=>typeof _0x2edae7[_0x433ec4]!=='undefined');_0x69a3c3={'oldPath':_0x412cb2,'hasNewConfig':_0x53e0a8,'fields':_0x42381b};break;}}const _0x2b4b2d=[],_0x27b54c=resolve(_0xcb137a,_0x276ecc(0x108));if(existsSync(_0x27b54c))_0x2b4b2d[_0x276ecc(0x134)](_0x27b54c);const _0x44ad7a=resolve(_0xcb137a,_0x276ecc(0x117));if(existsSync(_0x44ad7a))_0x2b4b2d[_0x276ecc(0x134)](_0x44ad7a);const _0x27de10=resolve(_0xcb137a,'.claude/skills/lovrabet');if(existsSync(_0x27de10))_0x2b4b2d[_0x276ecc(0x134)](_0x27de10);for(const _0x3b44b1 of collectIdeSkillFiles(_0xcb137a)){if(existsSync(_0x3b44b1))_0x2b4b2d[_0x276ecc(0x134)](_0x3b44b1);}let _0xc6509d=null;const _0x1e23c0=resolve(_0xcb137a,_0x276ecc(0xe5));if(existsSync(_0x1e23c0))try{const _0x319764=JSON[_0x276ecc(0x10d)](readFileSync(_0x1e23c0,'utf8'));if(_0x319764?.['mcpServers']&&typeof _0x319764[_0x276ecc(0xdb)]===_0x276ecc(0xf5)){const _0x200d25=[];for(const [_0x35d749,_0x4848c1]of Object[_0x276ecc(0x105)](_0x319764[_0x276ecc(0xdb)])){const _0x4c4f85=_0x4848c1;_0x4c4f85?.[_0x276ecc(0xf8)]&&Array['isArray'](_0x4c4f85[_0x276ecc(0xf8)])&&_0x4c4f85['args'][_0x276ecc(0xe8)](_0x3b9f0b=>typeof _0x3b9f0b===_0x276ecc(0xd3)&&_0x3b9f0b[_0x276ecc(0x11e)]('@lovrabet/dataset-mcp-server'))&&_0x200d25[_0x276ecc(0x134)](_0x35d749);}_0x200d25[_0x276ecc(0x14a)]>0x0&&(_0xc6509d={'path':_0x1e23c0,'keys':_0x200d25});}}catch{}const _0x368724=_0x2b4b2d[_0x276ecc(0x14a)]>0x0||_0x69a3c3!==null;let _0x558928=null;const _0x13715e=resolve(_0xcb137a,'package.json');if(existsSync(_0x13715e))try{const _0x56b8e2=JSON['parse'](readFileSync(_0x13715e,'utf8'));for(const _0x433f4d of[_0x276ecc(0x12a),_0x276ecc(0xfc)]){const _0x295cd1=_0x56b8e2?.[_0x433f4d]?.[_0x276ecc(0x110)];if(typeof _0x295cd1===_0x276ecc(0xd3)){_0x295cd1!==_0x276ecc(0xd5)&&(_0x558928={'pkgPath':_0x13715e,'currentVersion':_0x295cd1,'field':_0x433f4d});break;}}}catch{}return{'configMigration':_0x69a3c3,'oldArtifacts':_0x2b4b2d,'oldMcpConfig':_0xc6509d,'needsSkillSwap':_0x368724,'sdkUpgrade':_0x558928};}function printReport(_0x2ec1d5){const _0x579c29=a127_0x361b18,{configMigration:_0x14ea99,oldArtifacts:_0x18bb0f,oldMcpConfig:_0x1002d3,needsSkillSwap:_0x33f34e}=_0x2ec1d5;console[_0x579c29(0x100)](''),console[_0x579c29(0x100)](a127_0xcdf982['bold'](_0x579c29(0xdc))),console['log']('');_0x14ea99?(console['log'](a127_0xcdf982['cyan']('Config\x20file:')+('\x20\x20'+a127_0xcdf982[_0x579c29(0xe0)](_0x14ea99[_0x579c29(0x140)]))),console[_0x579c29(0x100)](_0x579c29(0x120)+(_0x14ea99['hasNewConfig']?a127_0xcdf982['green'](_0x579c29(0xf1)):a127_0xcdf982[_0x579c29(0x14c)](_0x579c29(0x107)))),console[_0x579c29(0x100)](_0x579c29(0x11c)+_0x14ea99[_0x579c29(0x10b)]['join'](',\x20')),console[_0x579c29(0x100)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console['log'](a127_0xcdf982[_0x579c29(0x136)](_0x579c29(0x126))+'\x20\x20'+a127_0xcdf982[_0x579c29(0x14c)](_0x579c29(0x143)));console[_0x579c29(0x100)]('');if(_0x18bb0f[_0x579c29(0x14a)]>0x0){console[_0x579c29(0x100)](a127_0xcdf982['cyan'](_0x579c29(0xf3)));for(const _0xd986b7 of _0x18bb0f){console[_0x579c29(0x100)]('\x20\x20'+a127_0xcdf982[_0x579c29(0x132)]('FOUND')+'\x20\x20'+_0xd986b7);}console[_0x579c29(0x100)]('\x20\x20Action:\x20delete');}else console[_0x579c29(0x100)](a127_0xcdf982[_0x579c29(0x136)]('Legacy\x20artifacts:')+'\x20\x20'+a127_0xcdf982[_0x579c29(0x14c)](_0x579c29(0x13a)));console[_0x579c29(0x100)]('');_0x1002d3?(console[_0x579c29(0x100)](a127_0xcdf982['cyan'](_0x579c29(0xd1))+('\x20\x20'+a127_0xcdf982[_0x579c29(0xe0)](_0x1002d3['path'])+_0x579c29(0xea)+_0x1002d3['keys'][_0x579c29(0x121)](',\x20'))),console[_0x579c29(0x100)](_0x579c29(0x149))):console['log'](a127_0xcdf982[_0x579c29(0x136)](_0x579c29(0xd1))+'\x20\x20'+a127_0xcdf982['gray'](_0x579c29(0xcc)));console[_0x579c29(0x100)](''),console[_0x579c29(0x100)](a127_0xcdf982[_0x579c29(0x136)](_0x579c29(0x11b))+('\x20\x20'+(_0x33f34e?a127_0xcdf982[_0x579c29(0xe0)]('needed'):a127_0xcdf982[_0x579c29(0x13d)](_0x579c29(0x13f)))));_0x33f34e&&console[_0x579c29(0x100)](_0x579c29(0xd6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x579c29(0x100)]('');if(_0x2ec1d5[_0x579c29(0x12b)]){const {currentVersion:_0x2a91d0,field:_0x200be5,pkgPath:_0x5e381a}=_0x2ec1d5['sdkUpgrade'];console[_0x579c29(0x100)](a127_0xcdf982[_0x579c29(0x136)](_0x579c29(0x12e))+('\x20\x20'+a127_0xcdf982[_0x579c29(0xe0)](_0x5e381a))),console['log'](_0x579c29(0x135)+_0x200be5+':\x20'+a127_0xcdf982[_0x579c29(0xe0)](_0x2a91d0)+_0x579c29(0x10c)+a127_0xcdf982['green'](_0x579c29(0xd5))),console[_0x579c29(0x100)](_0x579c29(0xf6));}else console[_0x579c29(0x100)](a127_0xcdf982[_0x579c29(0x136)](_0x579c29(0x12e))+'\x20\x20'+a127_0xcdf982[_0x579c29(0x14c)](_0x579c29(0xcf)));console[_0x579c29(0x100)]('');}function execConfigMigration(_0x4cd2e1,_0x468289){const _0x4e3709=a127_0x361b18,{configMigration:_0xeeb21b}=_0x4cd2e1;if(!_0xeeb21b?.['oldPath'])return{'step':0x1,'label':_0x4e3709(0x144),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x2e2258=readConfigFile(_0xeeb21b['oldPath']),_0x39950c=resolve(_0x468289,NEW_CONFIG_NAME),_0x5e36df=_0xeeb21b['hasNewConfig']?readConfigFile(_0x39950c):{};for(const [_0xba977d,_0x1e69a2]of Object[_0x4e3709(0x105)](_0x2e2258)){!(_0xba977d in _0x5e36df)&&(_0x5e36df[_0xba977d]=_0x1e69a2);}writeConfigFile(_0x39950c,_0x5e36df);const _0x5082b9=_0xeeb21b[_0x4e3709(0x140)]+_0x4e3709(0x122);return renameSync(_0xeeb21b['oldPath'],_0x5082b9),{'step':0x1,'label':_0x4e3709(0x144),'ok':!![],'detail':_0xeeb21b[_0x4e3709(0x140)]+_0x4e3709(0x10c)+_0x39950c+'\x20(backup:\x20'+_0x5082b9+')'};}function execRemoveOldArtifacts(_0x55901b){const _0x56650a=a127_0x361b18,_0xac4e03=[];for(const _0x119a07 of _0x55901b){try{if(!existsSync(_0x119a07))continue;const _0x1b83d5=tryStat(_0x119a07);_0x1b83d5?.[_0x56650a(0x124)]()?rmSync(_0x119a07,{'recursive':!![],'force':!![]}):unlinkSync(_0x119a07);}catch(_0x46ba5b){_0xac4e03[_0x56650a(0x134)](_0x119a07+':\x20'+_0x46ba5b['message']);}}return{'step':0x3,'label':_0x56650a(0x11a),'ok':_0xac4e03['length']===0x0,'detail':_0xac4e03['length']>0x0?_0x55901b[_0x56650a(0x14a)]-_0xac4e03[_0x56650a(0x14a)]+'/'+_0x55901b[_0x56650a(0x14a)]+_0x56650a(0xf7)+_0xac4e03[_0x56650a(0x121)](';\x20')+')':_0x55901b[_0x56650a(0x14a)]+_0x56650a(0xf2)};}function execCleanMcp(_0x343aea){const _0x1ff75a=a127_0x361b18;if(!_0x343aea['oldMcpConfig'])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'skipped'};try{const _0x34f831=readFileSync(_0x343aea[_0x1ff75a(0x128)]['path'],'utf8'),_0x25cc96=JSON[_0x1ff75a(0x10d)](_0x34f831);if(_0x25cc96?.[_0x1ff75a(0xdb)]&&typeof _0x25cc96[_0x1ff75a(0xdb)]===_0x1ff75a(0xf5)){const _0x4b11f8=[];for(const [_0x20da63,_0x5d8e05]of Object['entries'](_0x25cc96[_0x1ff75a(0xdb)])){_0x5d8e05?.[_0x1ff75a(0xf8)]&&Array[_0x1ff75a(0xdf)](_0x5d8e05[_0x1ff75a(0xf8)])&&_0x5d8e05[_0x1ff75a(0xf8)][_0x1ff75a(0xe8)](_0x5884d9=>typeof _0x5884d9===_0x1ff75a(0xd3)&&_0x5884d9['includes'](_0x1ff75a(0x147)))&&_0x4b11f8[_0x1ff75a(0x134)](_0x20da63);}for(const _0x16001a of _0x4b11f8){delete _0x25cc96['mcpServers'][_0x16001a];}return _0x4b11f8[_0x1ff75a(0x14a)]>0x0&&writeFileSync(_0x343aea[_0x1ff75a(0x128)]['path'],JSON['stringify'](_0x25cc96,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x1ff75a(0x116),'ok':!![],'detail':_0x1ff75a(0xe7)+_0x4b11f8[_0x1ff75a(0x121)](',\x20')+_0x1ff75a(0x119)+_0x343aea['oldMcpConfig'][_0x1ff75a(0x129)]};}return{'step':0x4,'label':_0x1ff75a(0x116),'ok':!![],'detail':_0x1ff75a(0x101)};}catch(_0x1ac717){return{'step':0x4,'label':_0x1ff75a(0x116),'ok':![],'detail':_0x1ac717[_0x1ff75a(0x102)]};}}function execSkillsRemove(_0x2bced9,_0x2b7bba){const _0x46e1df=a127_0x361b18,_0x1d5e3c=runNpxSkillsRemove(_0x2bced9,{'stdio':_0x46e1df(0x11f),'yes':_0x2b7bba});return{'step':0x5,'label':_0x46e1df(0x130),'ok':_0x1d5e3c['ok'],'detail':_0x1d5e3c['ok']?_0x46e1df(0x109):_0x1d5e3c[_0x46e1df(0xed)]??_0x46e1df(0x10a)+_0x1d5e3c['status']};}function a127_0x3c72(_0x522947,_0xc39a34){_0x522947=_0x522947-0xcc;const _0x4400c3=a127_0x4400();let _0x3c72ee=_0x4400c3[_0x522947];return _0x3c72ee;}function a127_0x4400(){const _0x4ace5c=['Config\x20migration','cwd','260904aVndLW','@lovrabet/dataset-mcp-server','needsSkillSwap','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','length','[\x22@lovrabet/sdk\x22]:\x20','gray','no\x20legacy\x20entry','550899patYQR','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','not\x20found\x20or\x20already\x20at\x20latest','===\x20Upgrade\x20Summary\x20===','MCP\x20config:','1171566Cbwriy','string','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','latest','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','start','196290QYPLqO','8972dRPlNT','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','mcpServers','===\x20Upgrade\x20Analysis\x20===','white','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','isArray','yellow','Upgrade\x20@lovrabet/sdk','utf8','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','.cursor/mcp.json','Step\x205/7:\x20Removing\x20old\x20skill...','removed\x20','some','done','\x20→\x20keys:\x20','yes','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','error','keys','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','succeed','already\x20exists\x20(will\x20merge)','\x20removed','Legacy\x20artifacts:','348502IrlOqH','object','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20removed\x20(','args','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','failed','values','devDependencies','70794IAhiuR','Upgrade\x20cancelled.','\x20\x20#\x20or','log','no\x20matching\x20entry\x20found','message','bold','info','entries','Remove\x20.lovrabet/','not\x20found\x20(will\x20create)','.lovrabet','lovrabet/lovrabet-skill\x20removed','exit\x20','fields','\x20→\x20','parse','filter','fail','@lovrabet/sdk','\x20\x20Step\x20','label','files','detail','lovrabet/rabetbase','Clean\x20MCP\x20config','.cursor/rules/lovrabet_rules.mdc','\x20\x20npm\x20install','\x20from\x20','Remove\x20legacy\x20artifacts','Skill\x20swap:','\x20\x20Fields\x20to\x20migrate:\x20','Install\x20new\x20skill','includes','inherit','\x20\x20New\x20config\x20(.rabetbase.json):\x20','join','.bak','Step\x204/7:\x20MCP\x20config\x20—\x20','isDirectory','205LngxkR','Config\x20file:','\x20\x20bun\x20install','oldMcpConfig','path','dependencies','sdkUpgrade','step','Step\x204/7:\x20Cleaning\x20MCP\x20config...','@lovrabet/sdk:','Step\x201/7:\x20Config\x20migration\x20—\x20','Remove\x20old\x20skill','skipped','red','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','push','\x20\x20Current\x20version\x20in\x20','cyan','24ddqVPY','lovrabet/rabetbase\x20installed\x20globally','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','none\x20found','Step\x201/7:\x20Migrating\x20config...','oldArtifacts','green','Proceed\x20with\x20upgrade?','not\x20needed','oldPath','\x20→\x20latest','FAIL','no\x20legacy\x20config\x20found'];a127_0x4400=function(){return _0x4ace5c;};return a127_0x4400();}function execSkillsAdd(_0x62090,_0x2c8699){const _0x2c6656=a127_0x361b18,_0xf91d1d=runNpxSkillsAddGlobal(_0x62090,_0x2c6656(0x115),{'stdio':_0x2c6656(0x11f),'yes':_0x2c8699});return{'step':0x6,'label':_0x2c6656(0x11d),'ok':_0xf91d1d['ok'],'detail':_0xf91d1d['ok']?_0x2c6656(0x138):_0xf91d1d[_0x2c6656(0xed)]??_0x2c6656(0x10a)+_0xf91d1d['status']};}function execUpgradeSdk(_0x526e74){const _0x531743=a127_0x361b18;if(!_0x526e74[_0x531743(0x12b)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x531743(0xde)};const {pkgPath:_0x56a116,currentVersion:_0x48e6a0,field:_0x2c16aa}=_0x526e74[_0x531743(0x12b)];try{const _0xc24b6e=readFileSync(_0x56a116,_0x531743(0xe2)),_0x4b7da9=JSON['parse'](_0xc24b6e);return _0x4b7da9[_0x2c16aa]['@lovrabet/sdk']='latest',writeFileSync(_0x56a116,JSON['stringify'](_0x4b7da9,null,0x2)+'\x0a',_0x531743(0xe2)),{'step':0x7,'label':_0x531743(0xe1),'ok':!![],'detail':_0x2c16aa+_0x531743(0x14b)+_0x48e6a0+_0x531743(0x141)};}catch(_0x52fcda){return{'step':0x7,'label':_0x531743(0xe1),'ok':![],'detail':_0x52fcda['message']};}}function tryStat(_0x30a505){try{return statSync(_0x30a505);}catch{return undefined;}}function printSummary(_0x8f4c49){const _0x2debde=a127_0x361b18;console['log'](''),console['log'](a127_0xcdf982[_0x2debde(0x103)](_0x2debde(0xd0))),console[_0x2debde(0x100)]('');for(const _0x5283e6 of _0x8f4c49){const _0x5ae77a=_0x5283e6['ok']?a127_0xcdf982[_0x2debde(0x13d)]('OK'):a127_0xcdf982[_0x2debde(0x132)](_0x2debde(0x142));console[_0x2debde(0x100)]('\x20\x20'+_0x5ae77a+_0x2debde(0x111)+_0x5283e6[_0x2debde(0x12c)]+':\x20'+_0x5283e6[_0x2debde(0x112)]);if(_0x5283e6[_0x2debde(0x114)])console[_0x2debde(0x100)]('\x20\x20\x20\x20\x20\x20\x20'+a127_0xcdf982[_0x2debde(0x14c)](_0x5283e6[_0x2debde(0x114)]));}console['log']('');}export async function upgradeApp(_0x5c6ab8,_0x4310c7){const _0x141b6a=a127_0x361b18,_0x4c26a2=process[_0x141b6a(0x145)](),_0x21581b=analyse(_0x4c26a2),_0x41b581=!_0x21581b['configMigration']&&_0x21581b['oldArtifacts'][_0x141b6a(0x14a)]===0x0&&!_0x21581b[_0x141b6a(0x128)]&&!_0x21581b[_0x141b6a(0x148)]&&!_0x21581b[_0x141b6a(0x12b)];if(_0x41b581){console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0x13d)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x21581b);const _0x1171d3=!!(_0x4310c7[_0x141b6a(0xeb)]||_0x4310c7['Y']||_0x5c6ab8);if(!_0x1171d3)try{const _0x43c7e1=await askConfirm(_0x141b6a(0x13e));if(!_0x43c7e1){console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0x14c)](_0x141b6a(0xfe)));return;}}catch(_0x467db2){if(_0x467db2?.['message']==='CANCEL'){console[_0x141b6a(0x100)](a127_0xcdf982['gray'](_0x141b6a(0xfe)));return;}throw _0x467db2;}const _0x4bd044=[],_0x209e57=a127_0x29e27a({'text':_0x141b6a(0x13b),'color':_0x141b6a(0x136)})[_0x141b6a(0xd7)](),_0x281bb3=execConfigMigration(_0x21581b,_0x4c26a2);_0x4bd044[_0x141b6a(0x134)](_0x281bb3),_0x209e57[_0x281bb3['ok']?'succeed':'fail'](_0x141b6a(0x12f)+(_0x281bb3[_0x141b6a(0x114)]??(_0x281bb3['ok']?_0x141b6a(0xe9):_0x141b6a(0xfa))));const _0x5db177=resolve(_0x4c26a2,_0x141b6a(0x108)),_0x588a98=a127_0x29e27a({'text':_0x141b6a(0xe3),'color':_0x141b6a(0x136)})[_0x141b6a(0xd7)]();if(existsSync(_0x5db177))try{rmSync(_0x5db177,{'recursive':!![],'force':!![]}),_0x588a98[_0x141b6a(0xf0)](_0x141b6a(0x133)),_0x4bd044[_0x141b6a(0x134)]({'step':0x2,'label':_0x141b6a(0x106),'ok':!![]});}catch(_0x5ca180){_0x588a98[_0x141b6a(0x10f)](_0x141b6a(0xce)+_0x5ca180[_0x141b6a(0x102)]),_0x4bd044[_0x141b6a(0x134)]({'step':0x2,'label':_0x141b6a(0x106),'ok':![],'detail':_0x5ca180[_0x141b6a(0x102)]});}else _0x588a98[_0x141b6a(0x104)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x4bd044[_0x141b6a(0x134)]({'step':0x2,'label':_0x141b6a(0x106),'ok':!![],'detail':_0x141b6a(0x131)});const _0x5743b4=a127_0x29e27a({'text':_0x141b6a(0xda),'color':_0x141b6a(0x136)})[_0x141b6a(0xd7)](),_0x542da4=execRemoveOldArtifacts(_0x21581b[_0x141b6a(0x13c)]);_0x4bd044[_0x141b6a(0x134)](_0x542da4),_0x5743b4[_0x542da4['ok']?_0x141b6a(0xf0):_0x141b6a(0x10f)](_0x141b6a(0xd4)+(_0x542da4[_0x141b6a(0x114)]??(_0x542da4['ok']?_0x141b6a(0xe9):_0x141b6a(0xfa))));const _0xb132f=a127_0x29e27a({'text':_0x141b6a(0x12d),'color':_0x141b6a(0x136)})['start'](),_0x4019f7=execCleanMcp(_0x21581b);_0x4bd044['push'](_0x4019f7),_0xb132f[_0x4019f7['ok']?'succeed':_0x141b6a(0x10f)](_0x141b6a(0x123)+(_0x4019f7[_0x141b6a(0x114)]??(_0x4019f7['ok']?_0x141b6a(0xe9):_0x141b6a(0xfa))));const _0x2fd5d2=a127_0x29e27a({'text':_0x141b6a(0xe6),'color':_0x141b6a(0x136)})[_0x141b6a(0xd7)](),_0x3d535b=execSkillsRemove(_0x4c26a2,_0x1171d3);_0x4bd044[_0x141b6a(0x134)](_0x3d535b),_0x2fd5d2[_0x3d535b['ok']?'succeed':'fail'](_0x141b6a(0xec)+(_0x3d535b[_0x141b6a(0x114)]??(_0x3d535b['ok']?_0x141b6a(0xe9):_0x141b6a(0xfa))));const _0x3d0081=a127_0x29e27a({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x141b6a(0x136)})[_0x141b6a(0xd7)](),_0x39bb6a=execSkillsAdd(_0x4c26a2,_0x1171d3);_0x4bd044[_0x141b6a(0x134)](_0x39bb6a),_0x3d0081[_0x39bb6a['ok']?_0x141b6a(0xf0):'fail']('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x39bb6a[_0x141b6a(0x114)]??(_0x39bb6a['ok']?_0x141b6a(0xe9):'failed')));const _0x29c824=a127_0x29e27a({'text':_0x141b6a(0xe4),'color':_0x141b6a(0x136)})[_0x141b6a(0xd7)](),_0x28d659=execUpgradeSdk(_0x21581b);_0x4bd044[_0x141b6a(0x134)](_0x28d659),_0x29c824[_0x28d659['ok']?_0x141b6a(0xf0):_0x141b6a(0x10f)](_0x141b6a(0xf9)+(_0x28d659[_0x141b6a(0x114)]??(_0x28d659['ok']?_0x141b6a(0xe9):_0x141b6a(0xfa)))),printSummary(_0x4bd044);const _0xf4eb6a=_0x4bd044[_0x141b6a(0xe8)](_0x115fd8=>!_0x115fd8['ok']);_0xf4eb6a?console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0xe0)](_0x141b6a(0xef))):console[_0x141b6a(0x100)](a127_0xcdf982['green']('Upgrade\x20completed\x20successfully!')),_0x28d659['ok']&&_0x21581b[_0x141b6a(0x12b)]&&(console[_0x141b6a(0x100)](''),console['log'](a127_0xcdf982[_0x141b6a(0x103)][_0x141b6a(0x136)](_0x141b6a(0x139))),console[_0x141b6a(0x100)](a127_0xcdf982['cyan']('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x141b6a(0x100)](''),console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0xdd)](_0x141b6a(0x118))),console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0xdd)](_0x141b6a(0xff))),console[_0x141b6a(0x100)](a127_0xcdf982[_0x141b6a(0xdd)](_0x141b6a(0x127))),console['log'](''));}
@@ -1 +1 @@
1
- const a129_0x17d681=a129_0x2f48;(function(_0x59e649,_0x2f40cd){const _0x383555=a129_0x2f48,_0x2c6b49=_0x59e649();while(!![]){try{const _0x5b7d5d=-parseInt(_0x383555(0x1c2))/0x1*(-parseInt(_0x383555(0x1ef))/0x2)+parseInt(_0x383555(0x1ee))/0x3+parseInt(_0x383555(0x1ca))/0x4*(parseInt(_0x383555(0x1ea))/0x5)+-parseInt(_0x383555(0x1e2))/0x6+parseInt(_0x383555(0x1eb))/0x7*(-parseInt(_0x383555(0x1d4))/0x8)+parseInt(_0x383555(0x1e0))/0x9*(parseInt(_0x383555(0x1d1))/0xa)+parseInt(_0x383555(0x1d8))/0xb*(-parseInt(_0x383555(0x1c7))/0xc);if(_0x5b7d5d===_0x2f40cd)break;else _0x2c6b49['push'](_0x2c6b49['shift']());}catch(_0x50b805){_0x2c6b49['push'](_0x2c6b49['shift']());}}}(a129_0x1cb9,0x53ea9));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{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';function a129_0x1cb9(){const _0x182044=['create','Code\x20Generation','install','276tIHKco','Dataset\x20&\x20Operations','API','9696uLWDmV','service','Database\x20Connections','get','SQL\x20Queries','Smart\x20List\x20Pages','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','1286630aKMeHH','commands','Project','48VbAIjB','Run\x20Scripts','command','Run\x20any\x20package.json\x20script','90409YroJQB','Schema','map','run','Instant\x20API','auth','Logs','logout','18mgtgHc','Runtime\x20App\x20Config\x20Management','3211758iYMzGZ','risk','show','has','preview','skills','<script>','isSingleCommand','1270eWklrJ','344127hMInrO','push','from','744867ugqrVM','483412IUzwvx','Workspace','write','skill\x20','\x20\x20[high-risk-write]','defaultCommand','wildcardDef','App\x20Management','skill','description','CLI\x20Built-in\x20Skill','BFF\x20Scripts','1daLxXD','set'];a129_0x1cb9=function(){return _0x182044;};return a129_0x1cb9();}import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/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(_0x41048c){const _0x27847d=a129_0x2f48;for(const _0x4b1bc0 of _0x41048c){definitions[_0x27847d(0x1c3)](_0x4b1bc0[_0x27847d(0x1cb)]+':'+_0x4b1bc0['command'],_0x4b1bc0);let _0xd85341=serviceGroups[_0x27847d(0x1cd)](_0x4b1bc0['service']);!_0xd85341&&(_0xd85341=[],serviceGroups[_0x27847d(0x1c3)](_0x4b1bc0['service'],_0xd85341)),_0xd85341[_0x27847d(0x1ec)](_0x4b1bc0);}}function registerDeclarativeService(_0xc1ffe8,_0x785ecf,_0x151961){const _0x385ce8=a129_0x2f48;registerDefinitions(_0x785ecf);_0x151961?.[_0x385ce8(0x1f5)]&&registerDefinitions([_0x151961[_0x385ce8(0x1f5)]]);const _0x4aa1a3=_0x217e7d=>_0x217e7d==='read'?'':_0x217e7d===_0x385ce8(0x1f1)?'\x20\x20[write]':_0x385ce8(0x1f3),_0x4c438d={'service':_0x785ecf[0x0][_0x385ce8(0x1cb)],'label':_0xc1ffe8,'commands':_0x785ecf[_0x385ce8(0x1da)](_0x50b52d=>({'command':_0x50b52d[_0x385ce8(0x1d6)],'description':_0x50b52d[_0x385ce8(0x1bf)],'tag':_0x4aa1a3(_0x50b52d[_0x385ce8(0x1e3)])})),'declarative':!![],'defaultCommand':_0x151961?.[_0x385ce8(0x1f4)]??(_0x151961?.['isSingleCommand']?_0x785ecf[0x0]['command']:undefined),'wildcardDef':_0x151961?.[_0x385ce8(0x1f5)],'isSingleCommand':_0x151961?.[_0x385ce8(0x1e9)]};serviceRegistry['push'](_0x4c438d),serviceByName['set'](_0x4c438d[_0x385ce8(0x1cb)],_0x4c438d);}function a129_0x2f48(_0x1d3d63,_0x48b2cc){_0x1d3d63=_0x1d3d63-0x1bf;const _0x1cb96a=a129_0x1cb9();let _0x2f48b0=_0x1cb96a[_0x1d3d63];return _0x2f48b0;}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a129_0x17d681(0x1db),'isSingleCommand':!![]}),registerDeclarativeService(a129_0x17d681(0x1d3),projectDefinitions),registerDeclarativeService(a129_0x17d681(0x1f0),workspaceDefinitions),registerDeclarativeService(a129_0x17d681(0x1f6),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a129_0x17d681(0x1c8),datasetDefinitions),registerDeclarativeService(a129_0x17d681(0x1cf),pageDefinitions),registerDeclarativeService(a129_0x17d681(0x1c9),apiDefinitions),registerDeclarativeService(a129_0x17d681(0x1dc),dataDefinitions),registerDeclarativeService(a129_0x17d681(0x1c1),bffDefinitions),registerDeclarativeService(a129_0x17d681(0x1ce),sqlDefinitions),registerDeclarativeService(a129_0x17d681(0x1cc),dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a129_0x17d681(0x1e1),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a129_0x17d681(0x1c5),codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a129_0x17d681(0x1d9),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a129_0x17d681(0x1c0),cliSkillDefinitions,{'defaultCommand':a129_0x17d681(0x1c6)}),registerDeclarativeService(a129_0x17d681(0x1de),logsDefinitions,{'defaultCommand':a129_0x17d681(0x1e4)}),registerDeclarativeService(a129_0x17d681(0x1d5),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a129_0x17d681(0x1d2)]=[{'command':a129_0x17d681(0x1e8),'description':a129_0x17d681(0x1d7),'tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':'create'},'start':{'service':a129_0x17d681(0x1db),'command':'start'},'build':{'service':'run','command':'build'},'preview':{'service':a129_0x17d681(0x1db),'command':a129_0x17d681(0x1e6)},'logout':{'service':a129_0x17d681(0x1dd),'command':a129_0x17d681(0x1df)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a129_0x17d681(0x1d0);export function resolveRemovedCommand(_0x274187,_0x1db44e){const _0x46cc92=a129_0x17d681;if(_0x274187==='skill'){const _0x79da57=_0x1db44e?_0x46cc92(0x1f2)+_0x1db44e:_0x46cc92(0x1f7);return{'command':_0x79da57,'message':'`rabetbase\x20'+_0x79da57+'`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x274187==='skills')return{'command':_0x46cc92(0x1e7),'message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a129_0x17d681(0x1c4)},'sql':{'new':a129_0x17d681(0x1c4)}};export function resolveDeprecatedSubcommand(_0x165a7d,_0x33eb08){return deprecatedSubcommands[_0x165a7d]?.[_0x33eb08];}export function findDefinition(_0x5dfd6e,_0x15e45f){const _0x183bf7=a129_0x17d681;return definitions[_0x183bf7(0x1cd)](_0x5dfd6e+':'+_0x15e45f);}export function isKnownService(_0x7f38e5){return serviceByName['has'](_0x7f38e5);}export function isDeclarativeService(_0x25d2c8){const _0x4c570f=a129_0x17d681;return serviceGroups[_0x4c570f(0x1e5)](_0x25d2c8)||serviceByName[_0x4c570f(0x1cd)](_0x25d2c8)?.[_0x4c570f(0x1f5)]!==undefined;}export function getServiceEntry(_0x4e6776){const _0x4745ef=a129_0x17d681;return serviceByName[_0x4745ef(0x1cd)](_0x4e6776);}export function getLegacyHandler(_0x181c23,_0x1d96e0){return undefined;}export function getAllDefinitions(){const _0x52cce2=a129_0x17d681;return Array[_0x52cce2(0x1ed)](definitions['values']());}
1
+ const a128_0x4e6cb3=a128_0x12ef;(function(_0xf252a2,_0x4e9d5b){const _0x16b4e4=a128_0x12ef,_0x1174ec=_0xf252a2();while(!![]){try{const _0x383509=parseInt(_0x16b4e4(0x10e))/0x1*(-parseInt(_0x16b4e4(0xfa))/0x2)+-parseInt(_0x16b4e4(0xfc))/0x3+parseInt(_0x16b4e4(0x105))/0x4*(-parseInt(_0x16b4e4(0x11b))/0x5)+-parseInt(_0x16b4e4(0x10c))/0x6+parseInt(_0x16b4e4(0x100))/0x7+-parseInt(_0x16b4e4(0x103))/0x8*(-parseInt(_0x16b4e4(0xf9))/0x9)+parseInt(_0x16b4e4(0x11f))/0xa;if(_0x383509===_0x4e9d5b)break;else _0x1174ec['push'](_0x1174ec['shift']());}catch(_0x4be0e4){_0x1174ec['push'](_0x1174ec['shift']());}}}(a128_0x3ada,0xb97be));function a128_0x12ef(_0x53b9fa,_0x443ae4){_0x53b9fa=_0x53b9fa-0xeb;const _0x3ada79=a128_0x3ada();let _0x12efa6=_0x3ada79[_0x53b9fa];return _0x12efa6;}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{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/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{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/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(_0x460194){const _0xbf3eaf=a128_0x12ef;for(const _0x277ba3 of _0x460194){definitions['set'](_0x277ba3['service']+':'+_0x277ba3[_0xbf3eaf(0xee)],_0x277ba3);let _0x184da5=serviceGroups[_0xbf3eaf(0xff)](_0x277ba3[_0xbf3eaf(0x122)]);!_0x184da5&&(_0x184da5=[],serviceGroups[_0xbf3eaf(0xf6)](_0x277ba3[_0xbf3eaf(0x122)],_0x184da5)),_0x184da5[_0xbf3eaf(0xeb)](_0x277ba3);}}function registerDeclarativeService(_0x1585e3,_0x234e8c,_0x2dd073){const _0x17fa26=a128_0x12ef;registerDefinitions(_0x234e8c);_0x2dd073?.[_0x17fa26(0x12b)]&&registerDefinitions([_0x2dd073[_0x17fa26(0x12b)]]);const _0x417eb1=_0x4700ec=>_0x4700ec===_0x17fa26(0xf8)?'':_0x4700ec===_0x17fa26(0x10b)?_0x17fa26(0x102):_0x17fa26(0x112),_0x3e457a={'service':_0x234e8c[0x0]['service'],'label':_0x1585e3,'commands':_0x234e8c[_0x17fa26(0x11c)](_0x362467=>({'command':_0x362467['command'],'description':_0x362467[_0x17fa26(0x127)],'tag':_0x417eb1(_0x362467[_0x17fa26(0x120)])})),'declarative':!![],'defaultCommand':_0x2dd073?.[_0x17fa26(0x101)]??(_0x2dd073?.[_0x17fa26(0x113)]?_0x234e8c[0x0][_0x17fa26(0xee)]:undefined),'wildcardDef':_0x2dd073?.['wildcardDef'],'isSingleCommand':_0x2dd073?.['isSingleCommand']};serviceRegistry[_0x17fa26(0xeb)](_0x3e457a),serviceByName[_0x17fa26(0xf6)](_0x3e457a['service'],_0x3e457a);}registerDeclarativeService(a128_0x4e6cb3(0x108),initDefinitions,{'defaultCommand':a128_0x4e6cb3(0xfe),'isSingleCommand':!![]}),registerDeclarativeService(a128_0x4e6cb3(0xef),projectDefinitions),registerDeclarativeService(a128_0x4e6cb3(0x10f),workspaceDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xf3),appDefinitions),registerDeclarativeService(a128_0x4e6cb3(0x11d),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a128_0x4e6cb3(0x126),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xf1),apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xf2),sqlDefinitions),registerDeclarativeService(a128_0x4e6cb3(0x11e),dbDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xfb),menuDefinitions),registerDeclarativeService(a128_0x4e6cb3(0x12a),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xf5),codegenDefinitions),registerDeclarativeService(a128_0x4e6cb3(0xec),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x4e6cb3(0xf4),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x4e6cb3(0x115),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService(a128_0x4e6cb3(0x125),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a128_0x4e6cb3(0x104),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x4e6cb3(0xfd)]-0x1];last['commands']=[{'command':a128_0x4e6cb3(0xf7),'description':'Run\x20any\x20package.json\x20script','tag':''}];}export const deprecatedAliases={'create':{'service':a128_0x4e6cb3(0x121),'command':a128_0x4e6cb3(0x111)},'start':{'service':'run','command':a128_0x4e6cb3(0xf0)},'build':{'service':a128_0x4e6cb3(0xfe),'command':a128_0x4e6cb3(0x119)},'preview':{'service':'run','command':a128_0x4e6cb3(0x118)},'logout':{'service':'auth','command':a128_0x4e6cb3(0x116)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a128_0x4e6cb3(0x10a),APP_REMOTE_REMOVED_HINT='Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.',APP_USE_REMOVED_HINT=a128_0x4e6cb3(0x109);export function resolveRemovedCommand(_0x44f83f,_0x37e0c6){const _0x55d016=a128_0x4e6cb3;if(_0x44f83f===_0x55d016(0xed)){const _0x2e602a=_0x37e0c6?'skill\x20'+_0x37e0c6:_0x55d016(0xed);return{'command':_0x2e602a,'message':'`rabetbase\x20'+_0x2e602a+_0x55d016(0x129),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x44f83f==='skills')return{'command':_0x55d016(0x10d),'message':_0x55d016(0x114),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x44f83f===_0x55d016(0x106)&&_0x37e0c6===_0x55d016(0x117))return{'command':'app\x20remote','message':'`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','hint':APP_REMOTE_REMOVED_HINT};if(_0x44f83f===_0x55d016(0x106)&&_0x37e0c6===_0x55d016(0x124))return{'command':_0x55d016(0x123),'message':_0x55d016(0x110),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x4e6cb3(0x111)},'sql':{'new':a128_0x4e6cb3(0x111)}};export function resolveDeprecatedSubcommand(_0x14c969,_0x573081){return deprecatedSubcommands[_0x14c969]?.[_0x573081];}function a128_0x3ada(){const _0x2529aa=['Menu','927960vnAZoI','length','run','get','620438xGLVvo','defaultCommand','\x20\x20[write]','49544TiQSzZ','Run\x20Scripts','326588eMWEYo','app','values','Quick\x20Start','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','write','7126410OfvmeK','skills','1mmMYac','Workspace','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','create','\x20\x20[high-risk-write]','isSingleCommand','`rabetbase\x20skills`\x20has\x20been\x20removed.','Self\x20Update','logout','remote','preview','build','from','20lnYOZq','map','Authentication','Database\x20Connections','33250090AgFWSs','risk','project','service','app\x20use','use','Logs','Dataset\x20&\x20Operations','description','has','`\x20has\x20been\x20removed.','Runtime\x20App\x20Config\x20Management','wildcardDef','push','Configuration','skill','command','Project','start','API\x20Development','SQL\x20Queries','App\x20Management','Schema','Code\x20Generation','set','<script>','read','126uvZwvO','1833920lTxuTP'];a128_0x3ada=function(){return _0x2529aa;};return a128_0x3ada();}export function findDefinition(_0x386090,_0x2f0231){const _0x163536=a128_0x4e6cb3;return definitions[_0x163536(0xff)](_0x386090+':'+_0x2f0231);}export function isKnownService(_0xb75306){const _0x52d62b=a128_0x4e6cb3;return serviceByName[_0x52d62b(0x128)](_0xb75306);}export function isDeclarativeService(_0xc1fe64){const _0x130515=a128_0x4e6cb3;return serviceGroups[_0x130515(0x128)](_0xc1fe64)||serviceByName[_0x130515(0xff)](_0xc1fe64)?.[_0x130515(0x12b)]!==undefined;}export function getServiceEntry(_0x21d556){const _0x433fe2=a128_0x4e6cb3;return serviceByName[_0x433fe2(0xff)](_0x21d556);}export function getLegacyHandler(_0x3987c,_0x34701c){return undefined;}export function getAllDefinitions(){const _0x3125ce=a128_0x4e6cb3;return Array[_0x3125ce(0x11a)](definitions[_0x3125ce(0x107)]());}
@@ -1 +1 @@
1
- const a130_0x15e65a=a130_0x4769;function a130_0x35bc(){const _0x2c906b=['Script\x20name\x20defined\x20in\x20package.json','bun.lockb','\x20\x20EXAMPLES','join','close','watch','script','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','run','\x20run\x20preview\x20--watch','slice','start','yarn','\x20\x20\x20\x20','vite\x20preview\x20exited\x20with\x20code\x20','all','.bin','\x20run\x20start','No\x20package.json\x20found\x20in\x20current\x20directory.','log','2068420xLrzyk','inherit','Available:\x20','77mlLLul','dev','20GbojWy','7757469PvDxwb','package.json','cwd','length','7839426RJYSfo','\x20run\x20','\x20run\x20<script>\x0a','boolean','bun.lock','args','1313968msRpEN','keys','1090Ezmugk','8001szPgbg','bun','(none)','bool','yarn.lock','read','pnpm-lock.yaml','\x20run\x20build','\x0a\x20\x20Usage:\x20','node_modules','preview','--watch','npm','parse','validation','utf-8','pnpm','push','needsUpgrade','289617SRBqdT','error','8VyIyub','Script\x20\x22','96204jZdYru'];a130_0x35bc=function(){return _0x2c906b;};return a130_0x35bc();}function a130_0x4769(_0x3f970e,_0xaa4744){_0x3f970e=_0x3f970e-0x1b9;const _0x35bc93=a130_0x35bc();let _0x476979=_0x35bc93[_0x3f970e];return _0x476979;}(function(_0xaf64e8,_0x41785f){const _0x555f48=a130_0x4769,_0x34ccb3=_0xaf64e8();while(!![]){try{const _0x473feb=parseInt(_0x555f48(0x1c6))/0x1+parseInt(_0x555f48(0x1f1))/0x2*(parseInt(_0x555f48(0x1f2))/0x3)+-parseInt(_0x555f48(0x1ef))/0x4+parseInt(_0x555f48(0x1e4))/0x5*(-parseInt(_0x555f48(0x1ca))/0x6)+-parseInt(_0x555f48(0x1e9))/0x7+-parseInt(_0x555f48(0x1c8))/0x8*(parseInt(_0x555f48(0x1e5))/0x9)+parseInt(_0x555f48(0x1df))/0xa*(parseInt(_0x555f48(0x1e2))/0xb);if(_0x473feb===_0x41785f)break;else _0x34ccb3['push'](_0x34ccb3['shift']());}catch(_0x53a6a4){_0x34ccb3['push'](_0x34ccb3['shift']());}}}(a130_0x35bc,0xc759b));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([a130_0x15e65a(0x1d6),a130_0x15e65a(0x1e3)]);function readPackageScripts(_0x584d58){const _0x31b302=a130_0x15e65a,_0x38824c=resolve(_0x584d58,_0x31b302(0x1e6));if(!existsSync(_0x38824c))return null;try{const _0x3671c6=JSON[_0x31b302(0x1c0)](readFileSync(_0x38824c,_0x31b302(0x1c2)));return _0x3671c6['scripts']??{};}catch{return null;}}function detectPackageManager(_0x20fd5d){const _0x42b0c6=a130_0x15e65a;if(existsSync(resolve(_0x20fd5d,_0x42b0c6(0x1cc)))||existsSync(resolve(_0x20fd5d,_0x42b0c6(0x1ed))))return _0x42b0c6(0x1f3);if(existsSync(resolve(_0x20fd5d,_0x42b0c6(0x1b9))))return _0x42b0c6(0x1c3);if(existsSync(resolve(_0x20fd5d,_0x42b0c6(0x1f6))))return _0x42b0c6(0x1d7);return _0x42b0c6(0x1bf);}async function versionCheck(_0x344b0c){const _0x3d8b76=a130_0x15e65a,_0xed69ca=await checkCliVersion();(_0xed69ca[_0x3d8b76(0x1c5)]||_0xed69ca['belowMinimum'])&&(printCliUpgradeWarning(_0xed69ca),assertCliVersionSupported(_0xed69ca));const _0x4a7233=await checkSdkVersion(_0x344b0c);if(_0x4a7233[_0x3d8b76(0x1c5)])printSdkUpgradeWarning(_0x4a7233);}function spawnScript(_0x2f38c2,_0x3a8e1c,_0x25faf1,_0x5adecd){return new Promise((_0x54478c,_0x1efb2f)=>{const _0x9ab0bf=a130_0x4769,_0xa7699c=[_0x9ab0bf(0x1d3),_0x3a8e1c,..._0x25faf1],_0x22b4b7=spawn(_0x2f38c2,_0xa7699c,{'cwd':_0x5adecd,'stdio':_0x9ab0bf(0x1e0),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5adecd,'node_modules','.bin')+delimiter+process.env.PATH}});_0x22b4b7['on'](_0x9ab0bf(0x1cf),_0x497b15=>{const _0x336bbb=_0x9ab0bf;if(_0x497b15===0x0||_0x497b15===null)_0x54478c();else _0x1efb2f(new Error(_0x2f38c2+_0x336bbb(0x1ea)+_0x3a8e1c+'\x20exited\x20with\x20code\x20'+_0x497b15));}),_0x22b4b7['on'](_0x9ab0bf(0x1c7),_0x1efb2f);});}function spawnViteBuildWatch(_0x82d2dd){return new Promise((_0x539a63,_0x2b117a)=>{const _0xb7026c=a130_0x4769,_0x226c75=spawn('vite',['build',_0xb7026c(0x1be)],{'cwd':_0x82d2dd,'stdio':_0xb7026c(0x1e0),'shell':!![],'env':{...process.env,'PATH':''+join(_0x82d2dd,_0xb7026c(0x1bc),_0xb7026c(0x1db))+delimiter+process.env.PATH}});_0x226c75['on'](_0xb7026c(0x1cf),_0x281f92=>{const _0x257cd=_0xb7026c;if(_0x281f92===0x0||_0x281f92===null)_0x539a63();else _0x2b117a(new Error(_0x257cd(0x1d2)+_0x281f92));}),_0x226c75['on'](_0xb7026c(0x1c7),_0x2b117a);});}function spawnVitePreview(_0x2f0032){return new Promise((_0x8a34c3,_0x59ed62)=>{const _0x26be7b=a130_0x4769,_0x5c4a19=spawn('vite',['preview'],{'cwd':_0x2f0032,'stdio':_0x26be7b(0x1e0),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2f0032,_0x26be7b(0x1bc),_0x26be7b(0x1db))+delimiter+process.env.PATH}});_0x5c4a19['on'](_0x26be7b(0x1cf),_0x2e402e=>{const _0x5a876a=_0x26be7b;if(_0x2e402e===0x0||_0x2e402e===null)_0x8a34c3();else _0x59ed62(new Error(_0x5a876a(0x1d9)+_0x2e402e));}),_0x5c4a19['on']('error',_0x59ed62);});}const runFlags=[{'name':a130_0x15e65a(0x1d0),'type':a130_0x15e65a(0x1ec),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a130_0x15e65a(0x1d3),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a130_0x15e65a(0x1f7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a130_0x15e65a(0x1d1),'description':a130_0x15e65a(0x1cb),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1472da=a130_0x15e65a,_0x9fa2a5=[];return _0x9fa2a5[_0x1472da(0x1c4)](_0x1472da(0x1cd)),_0x9fa2a5['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x1472da(0x1dc)),_0x9fa2a5[_0x1472da(0x1c4)](_0x1472da(0x1d8)+CLI_BIN_NAME+_0x1472da(0x1ba)),_0x9fa2a5[_0x1472da(0x1c4)](_0x1472da(0x1d8)+CLI_BIN_NAME+'\x20run\x20preview'),_0x9fa2a5[_0x1472da(0x1c4)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x1472da(0x1d4)),_0x9fa2a5[_0x1472da(0x1ce)]('\x0a');},async 'execute'(_0x95219c){const _0x2d7a62=a130_0x15e65a,_0x1284db=process[_0x2d7a62(0x1e7)](),_0x72a0fe=_0x95219c['args'][0x0],_0x117c2a=_0x95219c[_0x2d7a62(0x1ee)][_0x2d7a62(0x1d5)](0x1),_0x5eae0d=readPackageScripts(_0x1284db);if(!_0x5eae0d)throw CliErrors[_0x2d7a62(0x1c1)](_0x2d7a62(0x1dd));if(!_0x72a0fe){const _0x522e69=Object[_0x2d7a62(0x1f0)](_0x5eae0d);if(_0x522e69[_0x2d7a62(0x1e8)]===0x0)console['log']('No\x20scripts\x20defined\x20in\x20package.json.');else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x4b017d of _0x522e69){console[_0x2d7a62(0x1de)](_0x2d7a62(0x1d8)+_0x4b017d);}console[_0x2d7a62(0x1de)](_0x2d7a62(0x1bb)+CLI_BIN_NAME+_0x2d7a62(0x1eb));}return{'ok':!![]};}if(!_0x5eae0d[_0x72a0fe])throw CliErrors[_0x2d7a62(0x1c1)](_0x2d7a62(0x1c9)+_0x72a0fe+'\x22\x20not\x20found\x20in\x20package.json.',_0x2d7a62(0x1e1)+(Object[_0x2d7a62(0x1f0)](_0x5eae0d)[_0x2d7a62(0x1ce)](',\x20')||_0x2d7a62(0x1f4)));const _0x41934c=detectPackageManager(_0x1284db);VERSION_CHECK_SCRIPTS['has'](_0x72a0fe)&&await versionCheck(_0x1284db);if(_0x72a0fe===_0x2d7a62(0x1bd)&&_0x95219c[_0x2d7a62(0x1f5)](_0x2d7a62(0x1d0)))return await Promise[_0x2d7a62(0x1da)]([spawnViteBuildWatch(_0x1284db),spawnVitePreview(_0x1284db)]),{'ok':!![]};return await spawnScript(_0x41934c,_0x72a0fe,_0x117c2a,_0x1284db),{'ok':!![]};}};
1
+ const a129_0x72e06b=a129_0x3d55;(function(_0x54e745,_0x578ca4){const _0x1838a4=a129_0x3d55,_0x4b9bcb=_0x54e745();while(!![]){try{const _0x50d11d=parseInt(_0x1838a4(0x18d))/0x1+-parseInt(_0x1838a4(0x1a3))/0x2*(parseInt(_0x1838a4(0x19a))/0x3)+-parseInt(_0x1838a4(0x179))/0x4*(-parseInt(_0x1838a4(0x193))/0x5)+-parseInt(_0x1838a4(0x190))/0x6*(parseInt(_0x1838a4(0x19c))/0x7)+parseInt(_0x1838a4(0x177))/0x8+-parseInt(_0x1838a4(0x16b))/0x9+parseInt(_0x1838a4(0x171))/0xa;if(_0x50d11d===_0x578ca4)break;else _0x4b9bcb['push'](_0x4b9bcb['shift']());}catch(_0x1503e5){_0x4b9bcb['push'](_0x4b9bcb['shift']());}}}(a129_0x4e85,0x1e0bf));function a129_0x4e85(){const _0x3df6b7=['\x20\x20EXAMPLES','\x22\x20not\x20found\x20in\x20package.json.','198cWldlF','bool','script','5wEnITY','\x20run\x20<script>\x0a','log','validation','utf-8','bun.lockb','pnpm','128619QWqzMQ','Run\x20a\x20package.json\x20script','46298iZHoLn','\x0a\x20\x20Usage:\x20','needsUpgrade','Enable\x20watch\x20mode\x20for\x20preview','Script\x20name\x20defined\x20in\x20package.json','yarn.lock','.bin','2Hqiqym','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20preview\x20--watch','build','No\x20package.json\x20found\x20in\x20current\x20directory.','2173365rlDGiZ','start','join','error','parse','inherit','5247620PzBZuK','\x20run\x20','yarn','all','read','close','712848YvUsji','slice','32436loZnTb','package.json','push','args','\x0a\x20\x20Available\x20scripts:\x0a','dev','npm','--watch','pnpm-lock.yaml','bun','vite','run','has','keys','boolean','\x20\x20\x20\x20','preview','\x20run\x20preview','node_modules','watch','3714gAbcAp'];a129_0x4e85=function(){return _0x3df6b7;};return a129_0x4e85();}import{readFileSync,existsSync}from'node:fs';function a129_0x3d55(_0x42c082,_0x47d6a6){_0x42c082=_0x42c082-0x16a;const _0x4e8532=a129_0x4e85();let _0x3d55b3=_0x4e8532[_0x42c082];return _0x3d55b3;}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([a129_0x72e06b(0x16c),a129_0x72e06b(0x17e)]);function readPackageScripts(_0x1422b9){const _0x11fe8e=a129_0x72e06b,_0x3b889e=resolve(_0x1422b9,_0x11fe8e(0x17a));if(!existsSync(_0x3b889e))return null;try{const _0x74c69a=JSON[_0x11fe8e(0x16f)](readFileSync(_0x3b889e,_0x11fe8e(0x197)));return _0x74c69a['scripts']??{};}catch{return null;}}function detectPackageManager(_0x6c9436){const _0x50fb39=a129_0x72e06b;if(existsSync(resolve(_0x6c9436,_0x50fb39(0x198)))||existsSync(resolve(_0x6c9436,'bun.lock')))return _0x50fb39(0x182);if(existsSync(resolve(_0x6c9436,_0x50fb39(0x181))))return _0x50fb39(0x199);if(existsSync(resolve(_0x6c9436,_0x50fb39(0x1a1))))return _0x50fb39(0x173);return _0x50fb39(0x17f);}async function versionCheck(_0x5aac81){const _0x51763c=a129_0x72e06b,_0x41e3b4=await checkCliVersion();(_0x41e3b4[_0x51763c(0x19e)]||_0x41e3b4['belowMinimum'])&&(printCliUpgradeWarning(_0x41e3b4),assertCliVersionSupported(_0x41e3b4));const _0x5a2522=await checkSdkVersion(_0x5aac81);if(_0x5a2522[_0x51763c(0x19e)])printSdkUpgradeWarning(_0x5a2522);}function spawnScript(_0x413336,_0xeb922a,_0x42f1da,_0xbace04){return new Promise((_0x36ec4c,_0x430b63)=>{const _0x2a0434=a129_0x3d55,_0x5b1d19=[_0x2a0434(0x184),_0xeb922a,..._0x42f1da],_0x3b014d=spawn(_0x413336,_0x5b1d19,{'cwd':_0xbace04,'stdio':_0x2a0434(0x170),'shell':!![],'env':{...process.env,'PATH':''+join(_0xbace04,_0x2a0434(0x18b),'.bin')+delimiter+process.env.PATH}});_0x3b014d['on'](_0x2a0434(0x176),_0x4b4415=>{const _0x3d31a4=_0x2a0434;if(_0x4b4415===0x0||_0x4b4415===null)_0x36ec4c();else _0x430b63(new Error(_0x413336+_0x3d31a4(0x172)+_0xeb922a+'\x20exited\x20with\x20code\x20'+_0x4b4415));}),_0x3b014d['on'](_0x2a0434(0x16e),_0x430b63);});}function spawnViteBuildWatch(_0xd0f144){return new Promise((_0x297696,_0xc30ee0)=>{const _0x5b7ce6=a129_0x3d55,_0x22b7c2=spawn(_0x5b7ce6(0x183),[_0x5b7ce6(0x1a6),_0x5b7ce6(0x180)],{'cwd':_0xd0f144,'stdio':_0x5b7ce6(0x170),'shell':!![],'env':{...process.env,'PATH':''+join(_0xd0f144,_0x5b7ce6(0x18b),_0x5b7ce6(0x1a2))+delimiter+process.env.PATH}});_0x22b7c2['on']('close',_0x180165=>{if(_0x180165===0x0||_0x180165===null)_0x297696();else _0xc30ee0(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x180165));}),_0x22b7c2['on'](_0x5b7ce6(0x16e),_0xc30ee0);});}function spawnVitePreview(_0x57fa3e){return new Promise((_0x291480,_0x2dcf37)=>{const _0x2b6286=a129_0x3d55,_0x112864=spawn(_0x2b6286(0x183),[_0x2b6286(0x189)],{'cwd':_0x57fa3e,'stdio':_0x2b6286(0x170),'shell':!![],'env':{...process.env,'PATH':''+join(_0x57fa3e,_0x2b6286(0x18b),_0x2b6286(0x1a2))+delimiter+process.env.PATH}});_0x112864['on']('close',_0x235e36=>{const _0x1ca0e2=_0x2b6286;if(_0x235e36===0x0||_0x235e36===null)_0x291480();else _0x2dcf37(new Error(_0x1ca0e2(0x1a4)+_0x235e36));}),_0x112864['on'](_0x2b6286(0x16e),_0x2dcf37);});}const runFlags=[{'name':a129_0x72e06b(0x18c),'type':a129_0x72e06b(0x187),'description':a129_0x72e06b(0x19f),'default':![]}];export const runDefinition={'service':a129_0x72e06b(0x184),'command':'run','description':a129_0x72e06b(0x19b),'risk':a129_0x72e06b(0x175),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0x72e06b(0x192),'description':a129_0x72e06b(0x1a0),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2cb609=a129_0x72e06b,_0x1420be=[];return _0x1420be[_0x2cb609(0x17b)](_0x2cb609(0x18e)),_0x1420be['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x1420be['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x1420be[_0x2cb609(0x17b)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2cb609(0x18a)),_0x1420be[_0x2cb609(0x17b)](_0x2cb609(0x188)+CLI_BIN_NAME+_0x2cb609(0x1a5)),_0x1420be[_0x2cb609(0x16d)]('\x0a');},async 'execute'(_0x235ea3){const _0x44e5c3=a129_0x72e06b,_0x2bcd1c=process['cwd'](),_0x4e2834=_0x235ea3[_0x44e5c3(0x17c)][0x0],_0x4aa8c2=_0x235ea3[_0x44e5c3(0x17c)][_0x44e5c3(0x178)](0x1),_0x29aa19=readPackageScripts(_0x2bcd1c);if(!_0x29aa19)throw CliErrors[_0x44e5c3(0x196)](_0x44e5c3(0x16a));if(!_0x4e2834){const _0x558538=Object[_0x44e5c3(0x186)](_0x29aa19);if(_0x558538['length']===0x0)console['log']('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x44e5c3(0x195)](_0x44e5c3(0x17d));for(const _0x49a446 of _0x558538){console[_0x44e5c3(0x195)](_0x44e5c3(0x188)+_0x49a446);}console[_0x44e5c3(0x195)](_0x44e5c3(0x19d)+CLI_BIN_NAME+_0x44e5c3(0x194));}return{'ok':!![]};}if(!_0x29aa19[_0x4e2834])throw CliErrors['validation']('Script\x20\x22'+_0x4e2834+_0x44e5c3(0x18f),'Available:\x20'+(Object[_0x44e5c3(0x186)](_0x29aa19)['join'](',\x20')||'(none)'));const _0x461fc3=detectPackageManager(_0x2bcd1c);VERSION_CHECK_SCRIPTS[_0x44e5c3(0x185)](_0x4e2834)&&await versionCheck(_0x2bcd1c);if(_0x4e2834===_0x44e5c3(0x189)&&_0x235ea3[_0x44e5c3(0x191)](_0x44e5c3(0x18c)))return await Promise[_0x44e5c3(0x174)]([spawnViteBuildWatch(_0x2bcd1c),spawnVitePreview(_0x2bcd1c)]),{'ok':!![]};return await spawnScript(_0x461fc3,_0x4e2834,_0x4aa8c2,_0x2bcd1c),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a131_0x405426=a131_0x1a7a;(function(_0x4f5afa,_0x41baea){const _0x465a59=a131_0x1a7a,_0x147798=_0x4f5afa();while(!![]){try{const _0x54a563=-parseInt(_0x465a59(0x78))/0x1+parseInt(_0x465a59(0x79))/0x2*(-parseInt(_0x465a59(0x7a))/0x3)+parseInt(_0x465a59(0x76))/0x4+parseInt(_0x465a59(0x6f))/0x5*(-parseInt(_0x465a59(0x75))/0x6)+parseInt(_0x465a59(0x77))/0x7+parseInt(_0x465a59(0x73))/0x8+-parseInt(_0x465a59(0x72))/0x9;if(_0x54a563===_0x41baea)break;else _0x147798['push'](_0x147798['shift']());}catch(_0x275d3e){_0x147798['push'](_0x147798['shift']());}}}(a131_0xd51b,0x49bf9));function a131_0x1a7a(_0x15e87a,_0x15ceb){_0x15e87a=_0x15e87a-0x6f;const _0xd51b9b=a131_0xd51b();let _0x1a7a46=_0xd51b9b[_0x15e87a];return _0x1a7a46;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5ccf29){const _0x24eaa5=await buildSchemaPayload();return{'ok':!![],'data':_0x24eaa5};}function a131_0xd51b(){const _0x2cf630=['4247325IMoGOi','4634288sYsRhv','export','528gqRAGp','2059152PGCkKo','3650619vBVxYw','71365DAImkH','1096GYJChp','2397zKbsbQ','schema','18885VrSFqB','Export\x20machine-readable\x20command\x20schema\x20(JSON)','json'];a131_0xd51b=function(){return _0x2cf630;};return a131_0xd51b();}export const schemaDefinition={'service':a131_0x405426(0x7b),'command':a131_0x405426(0x74),'description':a131_0x405426(0x70),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a131_0x405426(0x71),'flags':[],'execute':execute};
1
+ const a130_0x36fe87=a130_0x5e47;function a130_0x5ec3(){const _0x33247f=['17127salbel','11219362plnlEk','json','40043DzZPkL','8418465PjLYzz','read','3179124hPuotd','618ViUeVL','720bzQiQl','11516deSSNq','schema','141624XacVNU','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a130_0x5ec3=function(){return _0x33247f;};return a130_0x5ec3();}(function(_0x4537ef,_0x5e168f){const _0x28308f=a130_0x5e47,_0x1b6252=_0x4537ef();while(!![]){try{const _0x3c47c9=-parseInt(_0x28308f(0x8a))/0x1+parseInt(_0x28308f(0x85))/0x2+parseInt(_0x28308f(0x81))/0x3*(parseInt(_0x28308f(0x83))/0x4)+-parseInt(_0x28308f(0x7e))/0x5+parseInt(_0x28308f(0x80))/0x6+parseInt(_0x28308f(0x88))/0x7+-parseInt(_0x28308f(0x82))/0x8*(parseInt(_0x28308f(0x87))/0x9);if(_0x3c47c9===_0x5e168f)break;else _0x1b6252['push'](_0x1b6252['shift']());}catch(_0x1ea31c){_0x1b6252['push'](_0x1b6252['shift']());}}}(a130_0x5ec3,0xdc17c));import{buildSchemaPayload}from'../framework/schema-export.js';function a130_0x5e47(_0x34db7c,_0x59eaeb){_0x34db7c=_0x34db7c-0x7e;const _0x5ec3fc=a130_0x5ec3();let _0x5e4767=_0x5ec3fc[_0x34db7c];return _0x5e4767;}async function execute(_0x2df451){const _0x59215c=await buildSchemaPayload();return{'ok':!![],'data':_0x59215c};}export const schemaDefinition={'service':a130_0x36fe87(0x84),'command':'export','description':a130_0x36fe87(0x86),'risk':a130_0x36fe87(0x7f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a130_0x36fe87(0x89),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a132_0x2bce6c=a132_0x2995;(function(_0x3086eb,_0x33ce17){const _0x49d2f9=a132_0x2995,_0x2e7f58=_0x3086eb();while(!![]){try{const _0x393177=parseInt(_0x49d2f9(0x86))/0x1+parseInt(_0x49d2f9(0x99))/0x2+-parseInt(_0x49d2f9(0x98))/0x3+-parseInt(_0x49d2f9(0x91))/0x4*(parseInt(_0x49d2f9(0x9a))/0x5)+parseInt(_0x49d2f9(0xa4))/0x6*(-parseInt(_0x49d2f9(0x8f))/0x7)+parseInt(_0x49d2f9(0x84))/0x8*(-parseInt(_0x49d2f9(0xa2))/0x9)+parseInt(_0x49d2f9(0x7e))/0xa*(parseInt(_0x49d2f9(0x81))/0xb);if(_0x393177===_0x33ce17)break;else _0x2e7f58['push'](_0x2e7f58['shift']());}catch(_0x526df2){_0x2e7f58['push'](_0x2e7f58['shift']());}}}(a132_0x2681,0xc4e4f));import{writeFile}from'node:fs/promises';function a132_0x2995(_0x57efc6,_0x53b458){_0x57efc6=_0x57efc6-0x7b;const _0x2681b1=a132_0x2681();let _0x2995ea=_0x2681b1[_0x57efc6];return _0x2995ea;}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';function a132_0x2681(){const _0x5d6876=['84uLDmdG','trim','parse','lockFilePath','lastSync','POST','create','Target\x20database\x20ID','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','sqlRootDir','<server-generated-sqlCode>','new','Created\x20SQL\x20query\x20','name','mybatisXml','nonInteractive','sql','File\x20already\x20exists:\x20','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','SQL\x20名称不能为空','str','请选择本地\x20SQL\x20模式:','mode','__manual__','number','请输入目标数据库\x20dbId:','join','isInteger','5504470NMmPjK','toISOString','db-id','66arRUfN','description','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','526696JrGKVO','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','20409YeigqY','/smartapi/custom/saveUserCustomSql','普通\x20SQL(sql)','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','length','isFinite','sqlCode','dbName','flag','325073TolMnZ','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','1699856YdIXPz','✎\x20手动输入\x20dbId','SQL\x20query\x20display\x20name','</select>','dbId','sqlName','请选择目标数据库:','3972258zccXHy','2985228camKVK','10slEpzH','appCode','validation','sqlRoot','flagMissing','dbId\x20不能为空','stringify','sqls','162BXpSvL','catch'];a132_0x2681=function(){return _0x5d6876;};return a132_0x2681();}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(_0x3fc95d){const _0x2c8e51=a132_0x2995;if(_0x3fc95d===_0x2c8e51(0xb2))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x2c8e51(0x94),''][_0x2c8e51(0x7c)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x2c8e51(0x7c)]('\x0a');}export const sqlCreate={'service':a132_0x2bce6c(0xb4),'command':a132_0x2bce6c(0xaa),'description':a132_0x2bce6c(0xac),'risk':'high-risk-write','flags':[{'name':a132_0x2bce6c(0xb1),'type':'string','description':a132_0x2bce6c(0x93)},{'name':'db-id','type':'number','description':a132_0x2bce6c(0xab)},{'name':'mode','type':'string','enum':[a132_0x2bce6c(0xb4),a132_0x2bce6c(0xb2)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x48024d){const _0x420860=a132_0x2bce6c;if(!_0x48024d[_0x420860(0xb3)])return;if(!_0x48024d[_0x420860(0xb8)]('name')[_0x420860(0xa5)]())throw CliErrors['flagMissing'](_0x420860(0xb1),_0x420860(0x83));const _0x2874f6=resolveProvidedDbId(_0x48024d);if(typeof _0x2874f6!==_0x420860(0xbc)||!Number[_0x420860(0x8b)](_0x2874f6)||_0x2874f6<=0x0)throw CliErrors['flagMissing'](_0x420860(0x80),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x48024d[_0x420860(0xb8)]('mode')['trim']())throw CliErrors['flagMissing'](_0x420860(0xba),_0x420860(0x89));},async 'dryRun'(_0x32ff1f){const _0x31b292=a132_0x2bce6c,_0x454746=loadSqlProjectConfig(_0x32ff1f[_0x31b292(0x9b)]),{sqlName:_0x237222,dbId:_0x19fad2,dbName:_0x2018e6,mode:_0x562b9a}=await resolveSqlNewInputs(_0x32ff1f),_0x54e562=buildSqlRelativePath(_0x31b292(0xae),_0x237222,_0x2018e6,_0x562b9a,_0x19fad2),_0x58e1d7=_0x454746[_0x31b292(0xad)]+'/'+_0x54e562;return{'method':_0x31b292(0xa9),'url':_0x31b292(0x87),'body':{'appCode':_0x32ff1f['appCode'],'sqlName':_0x237222,'dbId':_0x19fad2,'mode':_0x562b9a,'localPath':_0x58e1d7},'description':_0x31b292(0xb6)+_0x454746['sqlRootDir']};},async 'execute'(_0x360d25){const _0x3a6ec3=a132_0x2bce6c,_0x1ce8a6=loadSqlProjectConfig(_0x360d25['appCode']),{sqlName:_0x11c354,dbId:_0x54d02a,dbName:_0x549354,mode:_0x143eba}=await resolveSqlNewInputs(_0x360d25),_0xc6c16f=generateSqlTemplate(_0x143eba),_0x3ad07e=await createSqlQuery({'appCode':_0x360d25[_0x3a6ec3(0x9b)],'sqlName':_0x11c354,'dbId':_0x54d02a,'sqlContent':_0xc6c16f}),_0x74ca90=ensureRemoteSqlContent(_0x3ad07e),_0x44c88d=_0x549354||await getDbName(_0x360d25[_0x3a6ec3(0x9b)],_0x54d02a)[_0x3a6ec3(0xa3)](()=>undefined),_0x1d8a3c=buildSqlRelativePath(_0x3ad07e[_0x3a6ec3(0x8c)],_0x3ad07e[_0x3a6ec3(0x96)],_0x44c88d,_0x143eba,_0x54d02a),_0x4ca0cc=_0x1ce8a6[_0x3a6ec3(0xad)]+'/'+_0x1d8a3c,_0x2e192e=buildLocalSqlFileContent({'sqlCode':_0x3ad07e[_0x3a6ec3(0x8c)],'sqlName':_0x3ad07e[_0x3a6ec3(0x96)],'dbId':_0x3ad07e[_0x3a6ec3(0x95)]},_0x74ca90,{'dbName':_0x44c88d,'mode':_0x143eba,'syncedAt':new Date()[_0x3a6ec3(0x7f)](),'description':_0x3ad07e[_0x3a6ec3(0x82)]});if(await fileExists(_0x4ca0cc))throw CliErrors[_0x3a6ec3(0x9c)](_0x3a6ec3(0xb5)+_0x4ca0cc);await ensureParentDirectory(_0x4ca0cc),await writeFile(_0x4ca0cc,_0x2e192e,'utf8');const _0x3d3c6b=await readSqlLockFile(_0x1ce8a6[_0x3a6ec3(0xa7)]),{lockData:_0x5e4e80,appLock:_0x3465b2}=ensureSqlLockScope(_0x3d3c6b??createEmptySqlLock(),_0x1ce8a6['appCode'],_0x1ce8a6[_0x3a6ec3(0x9d)],_0x3a6ec3(0xaf));return _0x3465b2[_0x3a6ec3(0xa1)][_0x3ad07e[_0x3a6ec3(0x8c)]]={...buildSqlLockEntry(_0x3ad07e,_0x74ca90,computeSqlContentHash(_0x2e192e),{'dbName':_0x44c88d}),'path':_0x1d8a3c,'mode':_0x143eba},_0x3465b2[_0x3a6ec3(0xa8)]=new Date()['toISOString'](),await writeSqlLockFile(_0x1ce8a6[_0x3a6ec3(0xa7)],_0x5e4e80),{'ok':!![],'data':{'id':_0x3ad07e['id'],'sqlCode':_0x3ad07e['sqlCode'],'sqlName':_0x3ad07e[_0x3a6ec3(0x96)],'dbId':_0x3ad07e[_0x3a6ec3(0x95)],'path':_0x4ca0cc,'mode':_0x143eba},'message':_0x3a6ec3(0xb0)+_0x3ad07e['sqlCode']};}};async function resolveSqlNewInputs(_0xc1f6b8){const _0x370dd7=await resolveSqlNameInput(_0xc1f6b8),{dbId:_0x186317,dbName:_0x22cdea}=await resolveDbSelection(_0xc1f6b8),_0x5b6c81=await resolveSqlModeInput(_0xc1f6b8);return{'sqlName':_0x370dd7,'dbId':_0x186317,'dbName':_0x22cdea,'mode':_0x5b6c81};}async function resolveSqlNameInput(_0x5666a7){const _0x4aa1db=a132_0x2bce6c,_0x92a8eb=_0x5666a7['str'](_0x4aa1db(0xb1))[_0x4aa1db(0xa5)]();if(_0x92a8eb)return _0x92a8eb;if(_0x5666a7[_0x4aa1db(0xb3)])throw CliErrors[_0x4aa1db(0x9e)](_0x4aa1db(0xb1),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x4d44a3=>_0x4d44a3[_0x4aa1db(0xa5)]()?!![]:_0x4aa1db(0xb7)}))[_0x4aa1db(0xa5)]();}async function resolveDbSelection(_0x59089a){const _0x4972a9=a132_0x2bce6c,_0x4ad7c2=resolveProvidedDbId(_0x59089a);if(typeof _0x4ad7c2===_0x4972a9(0xbc)&&Number[_0x4972a9(0x8b)](_0x4ad7c2)&&_0x4ad7c2>0x0)return{'dbId':_0x4ad7c2,'dbName':await getDbName(_0x59089a[_0x4972a9(0x9b)],_0x4ad7c2)[_0x4972a9(0xa3)](()=>undefined)};if(_0x59089a[_0x4972a9(0xb3)])throw CliErrors[_0x4972a9(0x9e)]('db-id',_0x4972a9(0x90));const _0x11565a=await listDatabases(_0x59089a['appCode'])[_0x4972a9(0xa3)](()=>[]);if(_0x11565a['length']===0x1)return{'dbId':_0x11565a[0x0][_0x4972a9(0x95)],'dbName':_0x11565a[0x0][_0x4972a9(0x8d)]};if(_0x11565a[_0x4972a9(0x8a)]>0x1){const _0x465653=await select({'message':_0x4972a9(0x97),'choices':[..._0x11565a['map'](_0x1b7547=>({'name':_0x1b7547[_0x4972a9(0x8d)]+'\x20('+_0x1b7547[_0x4972a9(0x95)]+')','value':serializeDbSelection(_0x1b7547)})),{'name':_0x4972a9(0x92),'value':_0x4972a9(0xbb)}]});if(_0x465653!==_0x4972a9(0xbb))return deserializeDbSelection(_0x465653);}const _0x54b7d8=await input({'message':_0x4972a9(0x7b),'validate':_0x2a9110=>{const _0x1c4933=_0x4972a9,_0x27559c=_0x2a9110[_0x1c4933(0xa5)]();if(!_0x27559c)return _0x1c4933(0x9f);const _0x398dbc=Number(_0x27559c);if(!Number[_0x1c4933(0x7d)](_0x398dbc)||_0x398dbc<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x54b7d8[_0x4972a9(0xa5)]())};}async function resolveSqlModeInput(_0x1ddb90){const _0x18412a=a132_0x2bce6c,_0x48f238=_0x1ddb90[_0x18412a(0xb8)](_0x18412a(0xba))['trim']();if(_0x48f238===_0x18412a(0xb4)||_0x48f238===_0x18412a(0xb2))return _0x48f238;if(_0x1ddb90[_0x18412a(0xb3)])throw CliErrors['flagMissing'](_0x18412a(0xba),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x18412a(0xb9),'choices':[{'name':_0x18412a(0x88),'value':_0x18412a(0xb4),'description':_0x18412a(0x85)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x18412a(0xb2),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x15afd3){const _0x150622=a132_0x2bce6c;return JSON[_0x150622(0xa0)]({'dbId':_0x15afd3[_0x150622(0x95)],'dbName':_0x15afd3['dbName']});}function deserializeDbSelection(_0x1990a4){const _0xb04d3d=a132_0x2bce6c;try{const _0x790aae=JSON[_0xb04d3d(0xa6)](_0x1990a4);if(typeof _0x790aae['dbId']===_0xb04d3d(0xbc)&&Number[_0xb04d3d(0x8b)](_0x790aae[_0xb04d3d(0x95)]))return{'dbId':_0x790aae[_0xb04d3d(0x95)],'dbName':_0x790aae[_0xb04d3d(0x8d)]};}catch{}throw CliErrors[_0xb04d3d(0x9c)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x1990a4);}function resolveProvidedDbId(_0x2216e0){const _0x37758b=a132_0x2bce6c,_0x3e0b14=_0x2216e0[_0x37758b(0x8e)]('db-id');if(typeof _0x3e0b14===_0x37758b(0xbc)&&Number[_0x37758b(0x8b)](_0x3e0b14))return _0x3e0b14;return undefined;}
1
+ const a131_0x9936c7=a131_0x194a;(function(_0x31aad2,_0x52b8f5){const _0x5d808e=a131_0x194a,_0xaa8cbc=_0x31aad2();while(!![]){try{const _0x50dbad=parseInt(_0x5d808e(0x1c9))/0x1*(parseInt(_0x5d808e(0x1cb))/0x2)+-parseInt(_0x5d808e(0x1b1))/0x3+parseInt(_0x5d808e(0x1de))/0x4*(-parseInt(_0x5d808e(0x1e2))/0x5)+parseInt(_0x5d808e(0x1bc))/0x6+-parseInt(_0x5d808e(0x1cf))/0x7*(-parseInt(_0x5d808e(0x1ce))/0x8)+-parseInt(_0x5d808e(0x1a8))/0x9*(-parseInt(_0x5d808e(0x1b3))/0xa)+-parseInt(_0x5d808e(0x1ae))/0xb*(-parseInt(_0x5d808e(0x1b7))/0xc);if(_0x50dbad===_0x52b8f5)break;else _0xaa8cbc['push'](_0xaa8cbc['shift']());}catch(_0x52cdbf){_0xaa8cbc['push'](_0xaa8cbc['shift']());}}}(a131_0xe812,0x8c61f));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(_0x1e133f){const _0xed12b6=a131_0x194a;if(_0x1e133f===_0xed12b6(0x1ab))return[_0xed12b6(0x1d3),_0xed12b6(0x1c5),'</select>','']['join']('\x0a');return[_0xed12b6(0x1b6),''][_0xed12b6(0x1a5)]('\x0a');}export const sqlCreate={'service':a131_0x9936c7(0x1b9),'command':'create','description':a131_0x9936c7(0x1e4),'risk':a131_0x9936c7(0x1d6),'flags':[{'name':a131_0x9936c7(0x1a4),'type':'string','description':a131_0x9936c7(0x1ca)},{'name':a131_0x9936c7(0x1d1),'type':a131_0x9936c7(0x1d8),'description':a131_0x9936c7(0x1df)},{'name':a131_0x9936c7(0x1bb),'type':a131_0x9936c7(0x1ac),'enum':[a131_0x9936c7(0x1b9),a131_0x9936c7(0x1ab)],'description':a131_0x9936c7(0x1d2)}],async 'validate'(_0x2dd4b1){const _0x2caa92=a131_0x9936c7;if(!_0x2dd4b1[_0x2caa92(0x1c0)])return;if(!_0x2dd4b1['str'](_0x2caa92(0x1a4))[_0x2caa92(0x1b8)]())throw CliErrors['flagMissing']('name',_0x2caa92(0x1c4));const _0x99a22c=resolveProvidedDbId(_0x2dd4b1);if(typeof _0x99a22c!==_0x2caa92(0x1d8)||!Number[_0x2caa92(0x1c8)](_0x99a22c)||_0x99a22c<=0x0)throw CliErrors[_0x2caa92(0x1cc)]('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x2dd4b1[_0x2caa92(0x1a2)](_0x2caa92(0x1bb))[_0x2caa92(0x1b8)]())throw CliErrors[_0x2caa92(0x1cc)](_0x2caa92(0x1bb),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x5eab3d){const _0x28a6ba=a131_0x9936c7,_0x295160=loadSqlProjectConfig(_0x5eab3d[_0x28a6ba(0x1a7)]),{sqlName:_0xc09506,dbId:_0x5be8da,dbName:_0x38bc0f,mode:_0x1fd607}=await resolveSqlNewInputs(_0x5eab3d),_0x380d5e=buildSqlRelativePath(_0x28a6ba(0x1db),_0xc09506,_0x38bc0f,_0x1fd607,_0x5be8da),_0x57d06f=_0x295160[_0x28a6ba(0x1dc)]+'/'+_0x380d5e;return{'method':_0x28a6ba(0x1e1),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x5eab3d[_0x28a6ba(0x1a7)],'sqlName':_0xc09506,'dbId':_0x5be8da,'mode':_0x1fd607,'localPath':_0x57d06f},'description':_0x28a6ba(0x1ad)+_0x295160[_0x28a6ba(0x1dc)]};},async 'execute'(_0x52d874){const _0x715bbe=a131_0x9936c7,_0x32604e=loadSqlProjectConfig(_0x52d874[_0x715bbe(0x1a7)]),{sqlName:_0x1f85a0,dbId:_0x4ecd47,dbName:_0x354eff,mode:_0x1576f7}=await resolveSqlNewInputs(_0x52d874),_0x106198=generateSqlTemplate(_0x1576f7),_0x3c67ef=await createSqlQuery({'appCode':_0x52d874['appCode'],'sqlName':_0x1f85a0,'dbId':_0x4ecd47,'sqlContent':_0x106198}),_0x51229d=ensureRemoteSqlContent(_0x3c67ef),_0x23bcfa=_0x354eff||await getDbName(_0x52d874[_0x715bbe(0x1a7)],_0x4ecd47)[_0x715bbe(0x1c3)](()=>undefined),_0x3a1637=buildSqlRelativePath(_0x3c67ef[_0x715bbe(0x1cd)],_0x3c67ef[_0x715bbe(0x1af)],_0x23bcfa,_0x1576f7,_0x4ecd47),_0x1fdd86=_0x32604e['sqlRootDir']+'/'+_0x3a1637,_0x1031ff=buildLocalSqlFileContent({'sqlCode':_0x3c67ef[_0x715bbe(0x1cd)],'sqlName':_0x3c67ef[_0x715bbe(0x1af)],'dbId':_0x3c67ef['dbId']},_0x51229d,{'dbName':_0x23bcfa,'mode':_0x1576f7,'syncedAt':new Date()[_0x715bbe(0x1c2)](),'description':_0x3c67ef[_0x715bbe(0x1a9)]});if(await fileExists(_0x1fdd86))throw CliErrors[_0x715bbe(0x1d4)]('File\x20already\x20exists:\x20'+_0x1fdd86);await ensureParentDirectory(_0x1fdd86),await writeFile(_0x1fdd86,_0x1031ff,_0x715bbe(0x1a3));const _0x3d8da3=await readSqlLockFile(_0x32604e['lockFilePath']),{lockData:_0x25ff6c,appLock:_0x5b71b9}=ensureSqlLockScope(_0x3d8da3??createEmptySqlLock(),_0x32604e[_0x715bbe(0x1a7)],_0x32604e['sqlRoot'],'new');return _0x5b71b9[_0x715bbe(0x1e3)][_0x3c67ef[_0x715bbe(0x1cd)]]={...buildSqlLockEntry(_0x3c67ef,_0x51229d,computeSqlContentHash(_0x1031ff),{'dbName':_0x23bcfa}),'path':_0x3a1637,'mode':_0x1576f7},_0x5b71b9[_0x715bbe(0x1aa)]=new Date()['toISOString'](),await writeSqlLockFile(_0x32604e[_0x715bbe(0x1be)],_0x25ff6c),{'ok':!![],'data':{'id':_0x3c67ef['id'],'sqlCode':_0x3c67ef[_0x715bbe(0x1cd)],'sqlName':_0x3c67ef[_0x715bbe(0x1af)],'dbId':_0x3c67ef[_0x715bbe(0x1ba)],'path':_0x1fdd86,'mode':_0x1576f7},'message':'Created\x20SQL\x20query\x20'+_0x3c67ef[_0x715bbe(0x1cd)]};}};async function resolveSqlNewInputs(_0x522203){const _0x4c99b1=await resolveSqlNameInput(_0x522203),{dbId:_0x663b68,dbName:_0x54fabd}=await resolveDbSelection(_0x522203),_0x36fab6=await resolveSqlModeInput(_0x522203);return{'sqlName':_0x4c99b1,'dbId':_0x663b68,'dbName':_0x54fabd,'mode':_0x36fab6};}function a131_0x194a(_0x46219a,_0x11d8d7){_0x46219a=_0x46219a-0x1a1;const _0xe812c7=a131_0xe812();let _0x194a05=_0xe812c7[_0x46219a];return _0x194a05;}function a131_0xe812(){const _0x4b0ef7=['stringify','819009emdAEQ','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','10gKyQzI','dbId\x20不能为空','SQL\x20名称不能为空','SELECT\x201\x20AS\x20id;','228PcyraH','trim','sql','dbId','mode','602640uhZQTX','适合带动态标签的\x20MyBatis\x20XML\x20SQL','lockFilePath','请输入目标数据库\x20dbId:','nonInteractive','__manual__','toISOString','catch','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','\x20\x20SELECT\x201\x20AS\x20id','flag','isInteger','isFinite','113722SSFyoL','SQL\x20query\x20display\x20name','14DhYvKn','flagMissing','sqlCode','24xevGme','747285BfORiD','请选择本地\x20SQL\x20模式:','db-id','Local\x20SQL\x20file\x20mode','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','validation','Invalid\x20database\x20selection\x20payload:\x20','high-risk-write','parse','number','MyBatis\x20XML(mybatisXml)','请输入\x20SQL\x20名称:','<server-generated-sqlCode>','sqlRootDir','length','76ycSyVo','Target\x20database\x20ID','✎\x20手动输入\x20dbId','POST','197375cDlFvH','sqls','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','str','utf8','name','join','dbName','appCode','244899UIQRqq','description','lastSync','mybatisXml','string','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','204985okXpVY','sqlName'];a131_0xe812=function(){return _0x4b0ef7;};return a131_0xe812();}async function resolveSqlNameInput(_0x58d21b){const _0x44bbf1=a131_0x9936c7,_0x18b6f4=_0x58d21b['str'](_0x44bbf1(0x1a4))[_0x44bbf1(0x1b8)]();if(_0x18b6f4)return _0x18b6f4;if(_0x58d21b[_0x44bbf1(0x1c0)])throw CliErrors['flagMissing'](_0x44bbf1(0x1a4),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x44bbf1(0x1da),'validate':_0x2da0b8=>_0x2da0b8['trim']()?!![]:_0x44bbf1(0x1b5)}))[_0x44bbf1(0x1b8)]();}async function resolveDbSelection(_0x10548c){const _0x1ee96e=a131_0x9936c7,_0xf83287=resolveProvidedDbId(_0x10548c);if(typeof _0xf83287===_0x1ee96e(0x1d8)&&Number[_0x1ee96e(0x1c8)](_0xf83287)&&_0xf83287>0x0)return{'dbId':_0xf83287,'dbName':await getDbName(_0x10548c['appCode'],_0xf83287)['catch'](()=>undefined)};if(_0x10548c[_0x1ee96e(0x1c0)])throw CliErrors[_0x1ee96e(0x1cc)](_0x1ee96e(0x1d1),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x1dc9bb=await listDatabases(_0x10548c[_0x1ee96e(0x1a7)])[_0x1ee96e(0x1c3)](()=>[]);if(_0x1dc9bb[_0x1ee96e(0x1dd)]===0x1)return{'dbId':_0x1dc9bb[0x0][_0x1ee96e(0x1ba)],'dbName':_0x1dc9bb[0x0]['dbName']};if(_0x1dc9bb[_0x1ee96e(0x1dd)]>0x1){const _0x28fd58=await select({'message':'请选择目标数据库:','choices':[..._0x1dc9bb['map'](_0x5e6b07=>({'name':_0x5e6b07[_0x1ee96e(0x1a6)]+'\x20('+_0x5e6b07[_0x1ee96e(0x1ba)]+')','value':serializeDbSelection(_0x5e6b07)})),{'name':_0x1ee96e(0x1e0),'value':_0x1ee96e(0x1c1)}]});if(_0x28fd58!==_0x1ee96e(0x1c1))return deserializeDbSelection(_0x28fd58);}const _0x3a4abe=await input({'message':_0x1ee96e(0x1bf),'validate':_0x1e45f9=>{const _0x2ab102=_0x1ee96e,_0x2f5918=_0x1e45f9[_0x2ab102(0x1b8)]();if(!_0x2f5918)return _0x2ab102(0x1b4);const _0x582177=Number(_0x2f5918);if(!Number[_0x2ab102(0x1c7)](_0x582177)||_0x582177<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x3a4abe[_0x1ee96e(0x1b8)]())};}async function resolveSqlModeInput(_0x486ddb){const _0x5dc999=a131_0x9936c7,_0x35909f=_0x486ddb['str'](_0x5dc999(0x1bb))[_0x5dc999(0x1b8)]();if(_0x35909f===_0x5dc999(0x1b9)||_0x35909f===_0x5dc999(0x1ab))return _0x35909f;if(_0x486ddb[_0x5dc999(0x1c0)])throw CliErrors[_0x5dc999(0x1cc)](_0x5dc999(0x1bb),_0x5dc999(0x1b2));return await select({'message':_0x5dc999(0x1d0),'choices':[{'name':'普通\x20SQL(sql)','value':_0x5dc999(0x1b9),'description':_0x5dc999(0x1a1)},{'name':_0x5dc999(0x1d9),'value':'mybatisXml','description':_0x5dc999(0x1bd)}]});}function serializeDbSelection(_0x91ee9f){const _0x5200a1=a131_0x9936c7;return JSON[_0x5200a1(0x1b0)]({'dbId':_0x91ee9f[_0x5200a1(0x1ba)],'dbName':_0x91ee9f[_0x5200a1(0x1a6)]});}function deserializeDbSelection(_0x2527bf){const _0x34a7a0=a131_0x9936c7;try{const _0x460800=JSON[_0x34a7a0(0x1d7)](_0x2527bf);if(typeof _0x460800[_0x34a7a0(0x1ba)]===_0x34a7a0(0x1d8)&&Number[_0x34a7a0(0x1c8)](_0x460800[_0x34a7a0(0x1ba)]))return{'dbId':_0x460800['dbId'],'dbName':_0x460800['dbName']};}catch{}throw CliErrors[_0x34a7a0(0x1d4)](_0x34a7a0(0x1d5)+_0x2527bf);}function resolveProvidedDbId(_0x2f0a8b){const _0x2d0bf5=a131_0x9936c7,_0x134e26=_0x2f0a8b[_0x2d0bf5(0x1c6)](_0x2d0bf5(0x1d1));if(typeof _0x134e26===_0x2d0bf5(0x1d8)&&Number[_0x2d0bf5(0x1c8)](_0x134e26))return _0x134e26;return undefined;}
@@ -1 +1 @@
1
- const a133_0x32c855=a133_0x5ead;(function(_0x20dbf1,_0x49e452){const _0x555646=a133_0x5ead,_0xc58086=_0x20dbf1();while(!![]){try{const _0x4fd0f9=parseInt(_0x555646(0xd2))/0x1*(parseInt(_0x555646(0xbd))/0x2)+parseInt(_0x555646(0xb8))/0x3+-parseInt(_0x555646(0xc6))/0x4+parseInt(_0x555646(0xdc))/0x5*(-parseInt(_0x555646(0xc7))/0x6)+-parseInt(_0x555646(0xb9))/0x7*(parseInt(_0x555646(0xbb))/0x8)+parseInt(_0x555646(0xd4))/0x9+parseInt(_0x555646(0xcc))/0xa;if(_0x4fd0f9===_0x49e452)break;else _0xc58086['push'](_0xc58086['shift']());}catch(_0x27b5ee){_0xc58086['push'](_0xc58086['shift']());}}}(a133_0xf7a4,0xa5d9e));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a133_0xf7a4(){const _0x1dd9e3=['Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','10600191fhAjas','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','high-risk-write','delete','\x20(local\x20file\x20moved\x20to\x20trash)','lockFilePath','SQL\x20lock\x20file\x20not\x20found.','replace','5FPssjD','2236611riDAHp','227297cChbMq','lastSync','264DLICXP','trashedTo','34184WBCpzw','Deleted\x20','trashDir','filter','Would\x20delete\x20SQL\x20','toISOString','sqlcode','remoteId','projectRoot','1670204AKGIeF','6898458wPEAeO','sqlRoot','/smartapi/custom/deleteUserCustomSql','entries','validation','13777350LFfZOX','sqls','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','POST','appCode','fromEntries','1vcjHay'];a133_0xf7a4=function(){return _0x1dd9e3;};return a133_0xf7a4();}function a133_0x5ead(_0x4468ba,_0x2e48a6){_0x4468ba=_0x4468ba-0xb8;const _0xf7a4da=a133_0xf7a4();let _0x5ead9=_0xf7a4da[_0x4468ba];return _0x5ead9;}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';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a133_0x32c855(0xd7),'description':a133_0x32c855(0xd3),'risk':a133_0x32c855(0xd6),'flags':[SQLCODE_FLAG],async 'validate'(_0x2e9035){const _0x19409d=a133_0x32c855,_0x59b968=loadSqlProjectConfig(_0x2e9035['appCode']),_0xe6af1c=await readSqlLockFile(_0x59b968[_0x19409d(0xd9)]);if(!_0xe6af1c)throw CliErrors[_0x19409d(0xcb)](_0x19409d(0xd5));},async 'dryRun'(_0x35ee81){const _0x5dae40=a133_0x32c855,_0x439041=loadSqlProjectConfig(_0x35ee81['appCode']),_0x48db34=await readSqlLockFile(_0x439041[_0x5dae40(0xd9)]);if(!_0x48db34)throw CliErrors[_0x5dae40(0xcb)](_0x5dae40(0xd5));const {appLock:_0x2b7078}=ensureSqlLockScope(_0x48db34,_0x35ee81['appCode'],_0x439041[_0x5dae40(0xc8)],_0x5dae40(0xd7)),_0x25919d=_0x35ee81['str'](_0x5dae40(0xc3)),_0x5bdc8a=_0x2b7078[_0x5dae40(0xcd)][_0x25919d];if(!_0x5bdc8a)throw CliErrors[_0x5dae40(0xcb)](_0x5dae40(0xce)+_0x25919d+'\x22.');return{'method':_0x5dae40(0xcf),'url':_0x5dae40(0xc9),'body':{'sqlCode':_0x25919d,'id':_0x5bdc8a[_0x5dae40(0xc4)],'localPath':resolveLocalSqlFilePath(_0x439041,_0x25919d,_0x5bdc8a)},'description':_0x5dae40(0xc1)+_0x25919d+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x439041[_0x5dae40(0xbf)]};},async 'execute'(_0x5e9276){const _0xa8b9d6=a133_0x32c855,_0x3598fe=loadSqlProjectConfig(_0x5e9276[_0xa8b9d6(0xd0)]),_0x333b32=await readSqlLockFile(_0x3598fe['lockFilePath']);if(!_0x333b32)throw CliErrors[_0xa8b9d6(0xcb)](_0xa8b9d6(0xda));const {lockData:_0x5d57ec,appLock:_0x4538cb}=ensureSqlLockScope(_0x333b32,_0x5e9276['appCode'],_0x3598fe[_0xa8b9d6(0xc8)],'delete'),_0x2ac37c=_0x5e9276['str'](_0xa8b9d6(0xc3)),_0x9c5be4=_0x4538cb[_0xa8b9d6(0xcd)][_0x2ac37c];if(!_0x9c5be4)throw CliErrors[_0xa8b9d6(0xcb)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2ac37c+'\x22.');await deleteSqlQuery({'id':_0x9c5be4['remoteId'],'sqlCode':_0x2ac37c}),_0x4538cb[_0xa8b9d6(0xcd)]=Object[_0xa8b9d6(0xd1)](Object[_0xa8b9d6(0xca)](_0x4538cb[_0xa8b9d6(0xcd)])[_0xa8b9d6(0xc0)](([_0x587684])=>_0x587684!==_0x2ac37c)),_0x4538cb[_0xa8b9d6(0xba)]=new Date()['toISOString'](),await writeSqlLockFile(_0x3598fe[_0xa8b9d6(0xd9)],_0x5d57ec);const _0x7bdc64=resolveLocalSqlFilePath(_0x3598fe,_0x2ac37c,_0x9c5be4);let _0x199ed7;await fileExists(_0x7bdc64)&&(_0x199ed7=await moveToTrash(_0x3598fe[_0xa8b9d6(0xc5)],_0x3598fe[_0xa8b9d6(0xbf)],_0x7bdc64),await cleanupEmptyDirectories(dirname(_0x7bdc64),_0x3598fe['sqlRootDir']));const _0x4f35a6={'deleted':_0x2ac37c,'remoteId':_0x9c5be4[_0xa8b9d6(0xc4)]};if(_0x199ed7)_0x4f35a6[_0xa8b9d6(0xbc)]=_0x199ed7;return{'ok':!![],'data':_0x4f35a6,'message':_0xa8b9d6(0xbe)+_0x2ac37c+(_0x199ed7?_0xa8b9d6(0xd8):'')};}};async function moveToTrash(_0x37674b,_0x332048,_0x4a46d2){const _0xf0b2e8=a133_0x32c855,_0x57c1ec=new Date()[_0xf0b2e8(0xc2)]()[_0xf0b2e8(0xdb)](/[:.]/g,'-'),_0x592257=relative(_0x37674b,_0x4a46d2),_0x4a4c98=join(_0x332048,_0x57c1ec,_0x592257);return await mkdir(dirname(_0x4a4c98),{'recursive':!![]}),await rename(_0x4a46d2,_0x4a4c98),_0x4a4c98;}async function cleanupEmptyDirectories(_0x173462,_0x509337){let _0xf1c3c8=resolve(_0x173462);const _0x75bf55=resolve(_0x509337);while(_0xf1c3c8['startsWith'](''+_0x75bf55+sep)||_0xf1c3c8===_0x75bf55){if(_0xf1c3c8===_0x75bf55)return;try{const _0x1a5169=await readdir(_0xf1c3c8);if(_0x1a5169['length']>0x0)return;await rmdir(_0xf1c3c8);}catch{return;}_0xf1c3c8=dirname(_0xf1c3c8);}}
1
+ const a132_0x14f117=a132_0x15e8;(function(_0xa992f2,_0x468651){const _0xeb3288=a132_0x15e8,_0x40cf3c=_0xa992f2();while(!![]){try{const _0x5ae1a4=parseInt(_0xeb3288(0x97))/0x1+parseInt(_0xeb3288(0x89))/0x2+-parseInt(_0xeb3288(0x85))/0x3+parseInt(_0xeb3288(0x96))/0x4+parseInt(_0xeb3288(0xa1))/0x5*(-parseInt(_0xeb3288(0x91))/0x6)+parseInt(_0xeb3288(0x90))/0x7*(parseInt(_0xeb3288(0xa0))/0x8)+parseInt(_0xeb3288(0xa4))/0x9*(-parseInt(_0xeb3288(0x9b))/0xa);if(_0x5ae1a4===_0x468651)break;else _0x40cf3c['push'](_0x40cf3c['shift']());}catch(_0x260936){_0x40cf3c['push'](_0x40cf3c['shift']());}}}(a132_0x1faf,0x6e8f8));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a132_0x15e8(_0x4d399d,_0xeb2053){_0x4d399d=_0x4d399d-0x85;const _0x1faf24=a132_0x1faf();let _0x15e85b=_0x1faf24[_0x4d399d];return _0x15e85b;}function a132_0x1faf(){const _0x148a5c=['validation','sqlRoot','1234098WBUpKx','str','replace','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','sqlRootDir','projectRoot','sql','7JLxFAH','31854GCmdIK','startsWith','entries','sqlcode','lockFilePath','1333268RcWJJR','759308xVuqNr','high-risk-write','sqls','/smartapi/custom/deleteUserCustomSql','10LOCIYw','trashedTo','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','remoteId','delete','2892064WONACt','10wLdGxU','Would\x20delete\x20SQL\x20','trashDir','13175928XxtNhI','appCode','431148nKopFN','toISOString'];a132_0x1faf=function(){return _0x148a5c;};return a132_0x1faf();}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a132_0x14f117(0x8f),'command':'delete','description':a132_0x14f117(0x9d),'risk':a132_0x14f117(0x98),'flags':[SQLCODE_FLAG],async 'validate'(_0xd2b135){const _0x14dab9=a132_0x14f117,_0x5b82b0=loadSqlProjectConfig(_0xd2b135[_0x14dab9(0xa5)]),_0x33fd1a=await readSqlLockFile(_0x5b82b0['lockFilePath']);if(!_0x33fd1a)throw CliErrors[_0x14dab9(0x87)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x11f90c){const _0xc451a4=a132_0x14f117,_0x13b979=loadSqlProjectConfig(_0x11f90c[_0xc451a4(0xa5)]),_0x787c65=await readSqlLockFile(_0x13b979[_0xc451a4(0x95)]);if(!_0x787c65)throw CliErrors[_0xc451a4(0x87)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x26d69b}=ensureSqlLockScope(_0x787c65,_0x11f90c[_0xc451a4(0xa5)],_0x13b979[_0xc451a4(0x88)],_0xc451a4(0x9f)),_0x43c80f=_0x11f90c[_0xc451a4(0x8a)]('sqlcode'),_0x446c4f=_0x26d69b[_0xc451a4(0x99)][_0x43c80f];if(!_0x446c4f)throw CliErrors[_0xc451a4(0x87)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x43c80f+'\x22.');return{'method':'POST','url':_0xc451a4(0x9a),'body':{'sqlCode':_0x43c80f,'id':_0x446c4f[_0xc451a4(0x9e)],'localPath':resolveLocalSqlFilePath(_0x13b979,_0x43c80f,_0x446c4f)},'description':_0xc451a4(0xa2)+_0x43c80f+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x13b979[_0xc451a4(0xa3)]};},async 'execute'(_0x5b45ef){const _0x49e77c=a132_0x14f117,_0x516ee0=loadSqlProjectConfig(_0x5b45ef[_0x49e77c(0xa5)]),_0x67fc9c=await readSqlLockFile(_0x516ee0[_0x49e77c(0x95)]);if(!_0x67fc9c)throw CliErrors[_0x49e77c(0x87)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2f04f3,appLock:_0x502d0f}=ensureSqlLockScope(_0x67fc9c,_0x5b45ef[_0x49e77c(0xa5)],_0x516ee0[_0x49e77c(0x88)],_0x49e77c(0x9f)),_0x1309a0=_0x5b45ef[_0x49e77c(0x8a)](_0x49e77c(0x94)),_0x33de90=_0x502d0f['sqls'][_0x1309a0];if(!_0x33de90)throw CliErrors[_0x49e77c(0x87)](_0x49e77c(0x8c)+_0x1309a0+'\x22.');await deleteSqlQuery({'id':_0x33de90[_0x49e77c(0x9e)],'sqlCode':_0x1309a0}),_0x502d0f[_0x49e77c(0x99)]=Object['fromEntries'](Object[_0x49e77c(0x93)](_0x502d0f[_0x49e77c(0x99)])['filter'](([_0x92cd31])=>_0x92cd31!==_0x1309a0)),_0x502d0f['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x516ee0[_0x49e77c(0x95)],_0x2f04f3);const _0x5bf879=resolveLocalSqlFilePath(_0x516ee0,_0x1309a0,_0x33de90);let _0x4f82d3;await fileExists(_0x5bf879)&&(_0x4f82d3=await moveToTrash(_0x516ee0[_0x49e77c(0x8e)],_0x516ee0[_0x49e77c(0xa3)],_0x5bf879),await cleanupEmptyDirectories(dirname(_0x5bf879),_0x516ee0[_0x49e77c(0x8d)]));const _0x215748={'deleted':_0x1309a0,'remoteId':_0x33de90['remoteId']};if(_0x4f82d3)_0x215748[_0x49e77c(0x9c)]=_0x4f82d3;return{'ok':!![],'data':_0x215748,'message':'Deleted\x20'+_0x1309a0+(_0x4f82d3?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x407dcb,_0x537b03,_0x671901){const _0x549a84=a132_0x14f117,_0x5d41eb=new Date()[_0x549a84(0x86)]()[_0x549a84(0x8b)](/[:.]/g,'-'),_0x46482c=relative(_0x407dcb,_0x671901),_0x40a79f=join(_0x537b03,_0x5d41eb,_0x46482c);return await mkdir(dirname(_0x40a79f),{'recursive':!![]}),await rename(_0x671901,_0x40a79f),_0x40a79f;}async function cleanupEmptyDirectories(_0x28c272,_0x295ea4){const _0x46d43b=a132_0x14f117;let _0xc27030=resolve(_0x28c272);const _0x2b9ac0=resolve(_0x295ea4);while(_0xc27030[_0x46d43b(0x92)](''+_0x2b9ac0+sep)||_0xc27030===_0x2b9ac0){if(_0xc27030===_0x2b9ac0)return;try{const _0x4a72ba=await readdir(_0xc27030);if(_0x4a72ba['length']>0x0)return;await rmdir(_0xc27030);}catch{return;}_0xc27030=dirname(_0xc27030);}}
@@ -1 +1 @@
1
- const a134_0x293d60=a134_0xa079;(function(_0x3f289b,_0xc80d81){const _0x5b3914=a134_0xa079,_0x36ebbb=_0x3f289b();while(!![]){try{const _0x2432b7=-parseInt(_0x5b3914(0x1f0))/0x1+parseInt(_0x5b3914(0x1f6))/0x2*(-parseInt(_0x5b3914(0x1ec))/0x3)+-parseInt(_0x5b3914(0x1ef))/0x4*(parseInt(_0x5b3914(0x1fe))/0x5)+-parseInt(_0x5b3914(0x203))/0x6*(parseInt(_0x5b3914(0x1f3))/0x7)+parseInt(_0x5b3914(0x202))/0x8+parseInt(_0x5b3914(0x1ee))/0x9*(parseInt(_0x5b3914(0x1fb))/0xa)+parseInt(_0x5b3914(0x1eb))/0xb*(parseInt(_0x5b3914(0x1ff))/0xc);if(_0x2432b7===_0xc80d81)break;else _0x36ebbb['push'](_0x36ebbb['shift']());}catch(_0x1ea3e3){_0x36ebbb['push'](_0x36ebbb['shift']());}}}(a134_0x4164,0x24bcd));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a134_0xa079(_0x1ccd51,_0x29ab5e){_0x1ccd51=_0x1ccd51-0x1eb;const _0x41644b=a134_0x4164();let _0xa079f9=_0x41644b[_0x1ccd51];return _0xa079f9;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a134_0x4164(){const _0x2f1b08=['appCode','bool','1112536CDdYgy','6ESNILh','102916fXpgFs','171SNaKsX','dbId','369EyJMdv','324nNpNpp','196348SAeIFw','sqlName','detail','1022154TUPUQA','str','description','1486PoJIIF','sqlContent','boolean','read','sqlCode','6080TXkygj','verbose','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','765qNdayJ','492Lnptdk'];a134_0x4164=function(){return _0x2f1b08;};return a134_0x4164();}export const sqlDetail={'service':'sql','command':a134_0x293d60(0x1f2),'description':a134_0x293d60(0x1fd),'risk':a134_0x293d60(0x1f9),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a134_0x293d60(0x1f8),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x1c66d0){const _0x18d61f=a134_0x293d60,_0x5b9b15=await getSqlQueryInfo(_0x1c66d0['appCode'],_0x1c66d0[_0x18d61f(0x1f4)]('sqlcode')),_0x267dc8=_0x1c66d0[_0x18d61f(0x201)](_0x18d61f(0x1fc));if(_0x267dc8)return{'ok':!![],'data':_0x5b9b15};const _0x1ec467=_0x5b9b15[_0x18d61f(0x1ed)]?await getDbName(_0x1c66d0[_0x18d61f(0x200)],_0x5b9b15[_0x18d61f(0x1ed)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x5b9b15[_0x18d61f(0x1fa)],'sqlName':_0x5b9b15[_0x18d61f(0x1f1)],'db':_0x1ec467?_0x1ec467+'\x20('+_0x5b9b15[_0x18d61f(0x1ed)]+')':_0x5b9b15[_0x18d61f(0x1ed)]??'','description':_0x5b9b15[_0x18d61f(0x1f5)]??'','sqlContent':_0x5b9b15[_0x18d61f(0x1f7)]??''}};}};
1
+ const a133_0x2b2fbd=a133_0xec5a;(function(_0x32656c,_0x34895a){const _0x4f6c17=a133_0xec5a,_0x31cc5a=_0x32656c();while(!![]){try{const _0x2f4317=-parseInt(_0x4f6c17(0xc4))/0x1+-parseInt(_0x4f6c17(0xc7))/0x2*(parseInt(_0x4f6c17(0xc1))/0x3)+-parseInt(_0x4f6c17(0xb8))/0x4+-parseInt(_0x4f6c17(0xc2))/0x5+-parseInt(_0x4f6c17(0xb4))/0x6*(parseInt(_0x4f6c17(0xb5))/0x7)+-parseInt(_0x4f6c17(0xc6))/0x8+-parseInt(_0x4f6c17(0xbe))/0x9*(-parseInt(_0x4f6c17(0xbd))/0xa);if(_0x2f4317===_0x34895a)break;else _0x31cc5a['push'](_0x31cc5a['shift']());}catch(_0x389c61){_0x31cc5a['push'](_0x31cc5a['shift']());}}}(a133_0x39ea,0x70b87));import{getSqlQueryInfo}from'../../core/api-client.js';function a133_0x39ea(){const _0x19d30b=['str','1966180QAKNkL','sql','appCode','read','boolean','40063490SOthyr','9URcJMc','sqlName','verbose','3RivKJQ','4539765LlhGpb','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','304457YugaDS','Return\x20full\x20raw\x20SQL\x20query\x20object','4819312BEfvDk','1795934DEmgNR','sqlContent','2041860imJYsu','7KhGVAE','dbId'];a133_0x39ea=function(){return _0x19d30b;};return a133_0x39ea();}import{getDbName}from'../../core/db-resolver.js';function a133_0xec5a(_0x4e9bab,_0x129a0f){_0x4e9bab=_0x4e9bab-0xb4;const _0x39ea1c=a133_0x39ea();let _0xec5a19=_0x39ea1c[_0x4e9bab];return _0xec5a19;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a133_0x2b2fbd(0xb9),'command':'detail','description':a133_0x2b2fbd(0xc3),'risk':a133_0x2b2fbd(0xbb),'flags':[SQLCODE_FLAG,{'name':a133_0x2b2fbd(0xc0),'type':a133_0x2b2fbd(0xbc),'description':a133_0x2b2fbd(0xc5)}],async 'execute'(_0x5ab407){const _0x1ea8fa=a133_0x2b2fbd,_0x29af61=await getSqlQueryInfo(_0x5ab407[_0x1ea8fa(0xba)],_0x5ab407[_0x1ea8fa(0xb7)]('sqlcode')),_0xffeb70=_0x5ab407['bool'](_0x1ea8fa(0xc0));if(_0xffeb70)return{'ok':!![],'data':_0x29af61};const _0x1ed9ce=_0x29af61[_0x1ea8fa(0xb6)]?await getDbName(_0x5ab407['appCode'],_0x29af61[_0x1ea8fa(0xb6)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x29af61['sqlCode'],'sqlName':_0x29af61[_0x1ea8fa(0xbf)],'db':_0x1ed9ce?_0x1ed9ce+'\x20('+_0x29af61['dbId']+')':_0x29af61[_0x1ea8fa(0xb6)]??'','description':_0x29af61['description']??'','sqlContent':_0x29af61[_0x1ea8fa(0xc8)]??''}};}};
@@ -1 +1 @@
1
- function a135_0x103c(){const _0x3c808f=['4mqYFvK','execError','445015XhFrkx','\x20row(s)\x20in\x20','SQL\x20execution\x20failed','7695440SqVoKM','str','string','711996mCmbQH','6605221YWrfdC','length','execResult','exec','params','1781640cNVExn','1174859zlhxmI','read','203294xuPrEQ','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execSuccess','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','sqlcode'];a135_0x103c=function(){return _0x3c808f;};return a135_0x103c();}const a135_0x101401=a135_0x5328;(function(_0x2738dc,_0x34b94c){const _0x230662=a135_0x5328,_0x4199ce=_0x2738dc();while(!![]){try{const _0x967c00=parseInt(_0x230662(0x1f9))/0x1+parseInt(_0x230662(0x1fb))/0x2+-parseInt(_0x230662(0x208))/0x3+parseInt(_0x230662(0x200))/0x4*(-parseInt(_0x230662(0x202))/0x5)+-parseInt(_0x230662(0x1f8))/0x6+-parseInt(_0x230662(0x209))/0x7+parseInt(_0x230662(0x205))/0x8;if(_0x967c00===_0x34b94c)break;else _0x4199ce['push'](_0x4199ce['shift']());}catch(_0x4bcb0f){_0x4199ce['push'](_0x4199ce['shift']());}}}(a135_0x103c,0xa3f46));import{executeSql}from'../../core/api-client.js';function a135_0x5328(_0x6d13c1,_0x4be3bc){_0x6d13c1=_0x6d13c1-0x1f4;const _0x103c74=a135_0x103c();let _0x532834=_0x103c74[_0x6d13c1];return _0x532834;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':a135_0x101401(0x1f6),'description':a135_0x101401(0x1fc),'risk':a135_0x101401(0x1fa),'flags':[SQLCODE_FLAG,{'name':a135_0x101401(0x1f7),'type':a135_0x101401(0x207),'description':a135_0x101401(0x1fe)}],async 'execute'(_0xd1d9d1){const _0x189086=a135_0x101401,_0x334436=parseJsonParams(_0xd1d9d1[_0x189086(0x206)](_0x189086(0x1f7))),_0x4c8b5c=Date['now'](),_0xb1d4ea=await executeSql(_0xd1d9d1['appCode'],_0xd1d9d1[_0x189086(0x206)](_0x189086(0x1ff)),_0x334436),_0x4b9bcf=Date['now']()-_0x4c8b5c,_0x291719=_0xb1d4ea?.[_0x189086(0x1f5)]??_0xb1d4ea,_0x3c64c6=_0xb1d4ea?.[_0x189086(0x1fd)]??!![];if(!_0x3c64c6)return{'ok':![],'data':{'error':_0xb1d4ea?.[_0x189086(0x201)]||_0x189086(0x204),'elapsed':_0x4b9bcf},'message':_0x189086(0x204)};const _0x3f22ae=Array['isArray'](_0x291719)?_0x291719:[];return{'ok':!![],'data':{'rows':_0x3f22ae,'rowCount':_0x3f22ae[_0x189086(0x1f4)],'elapsed':_0x4b9bcf},'message':'Returned\x20'+_0x3f22ae[_0x189086(0x1f4)]+_0x189086(0x203)+_0x4b9bcf+'ms'};}};
1
+ const a134_0x25ccde=a134_0x17ad;function a134_0x5ebd(){const _0x2da873=['3249210rmaPjm','now','execResult','617085klNxnl','str','sql','appCode','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','params','30684lggqKz','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','56SCwLyg','\x20row(s)\x20in\x20','6GjbnAH','length','sqlcode','isArray','40768880pyMFXw','SQL\x20execution\x20failed','4359870pYzEHg','879869ExbURI','execError','395OsNOdc','Returned\x20','1979924xkpKXB'];a134_0x5ebd=function(){return _0x2da873;};return a134_0x5ebd();}(function(_0x5b59d4,_0x4fb363){const _0x76d87f=a134_0x17ad,_0x31a4db=_0x5b59d4();while(!![]){try{const _0x3e3fe7=parseInt(_0x76d87f(0xc4))/0x1+-parseInt(_0x76d87f(0xc9))/0x2+-parseInt(_0x76d87f(0xbd))/0x3*(parseInt(_0x76d87f(0xc8))/0x4)+parseInt(_0x76d87f(0xc6))/0x5*(-parseInt(_0x76d87f(0xd2))/0x6)+-parseInt(_0x76d87f(0xcc))/0x7*(parseInt(_0x76d87f(0xd4))/0x8)+-parseInt(_0x76d87f(0xc3))/0x9+parseInt(_0x76d87f(0xc1))/0xa;if(_0x3e3fe7===_0x4fb363)break;else _0x31a4db['push'](_0x31a4db['shift']());}catch(_0x11f267){_0x31a4db['push'](_0x31a4db['shift']());}}}(a134_0x5ebd,0xcc43d));import{executeSql}from'../../core/api-client.js';function a134_0x17ad(_0x4660e7,_0x503fb3){_0x4660e7=_0x4660e7-0xbd;const _0x5ebd88=a134_0x5ebd();let _0x17ad2=_0x5ebd88[_0x4660e7];return _0x17ad2;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a134_0x25ccde(0xce),'command':'exec','description':a134_0x25ccde(0xd0),'risk':'read','flags':[SQLCODE_FLAG,{'name':a134_0x25ccde(0xd1),'type':'string','description':a134_0x25ccde(0xd3)}],async 'execute'(_0x1ceeed){const _0xc80293=a134_0x25ccde,_0x30d0b2=parseJsonParams(_0x1ceeed[_0xc80293(0xcd)](_0xc80293(0xd1))),_0x1e9ec8=Date[_0xc80293(0xca)](),_0x5ca742=await executeSql(_0x1ceeed[_0xc80293(0xcf)],_0x1ceeed['str'](_0xc80293(0xbf)),_0x30d0b2),_0x309313=Date[_0xc80293(0xca)]()-_0x1e9ec8,_0x313b6f=_0x5ca742?.[_0xc80293(0xcb)]??_0x5ca742,_0x29bab2=_0x5ca742?.['execSuccess']??!![];if(!_0x29bab2)return{'ok':![],'data':{'error':_0x5ca742?.[_0xc80293(0xc5)]||_0xc80293(0xc2),'elapsed':_0x309313},'message':'SQL\x20execution\x20failed'};const _0x511e63=Array[_0xc80293(0xc0)](_0x313b6f)?_0x313b6f:[];return{'ok':!![],'data':{'rows':_0x511e63,'rowCount':_0x511e63[_0xc80293(0xbe)],'elapsed':_0x309313},'message':_0xc80293(0xc7)+_0x511e63['length']+_0xc80293(0xd5)+_0x309313+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x46282f,_0x2e525b){const _0x53207f=a136_0x5bce,_0x33f8bd=_0x46282f();while(!![]){try{const _0x40c493=parseInt(_0x53207f(0x186))/0x1+parseInt(_0x53207f(0x185))/0x2*(-parseInt(_0x53207f(0x184))/0x3)+-parseInt(_0x53207f(0x187))/0x4*(-parseInt(_0x53207f(0x183))/0x5)+parseInt(_0x53207f(0x18a))/0x6+parseInt(_0x53207f(0x18b))/0x7*(parseInt(_0x53207f(0x188))/0x8)+parseInt(_0x53207f(0x182))/0x9+parseInt(_0x53207f(0x18c))/0xa*(-parseInt(_0x53207f(0x189))/0xb);if(_0x40c493===_0x2e525b)break;else _0x33f8bd['push'](_0x33f8bd['shift']());}catch(_0x5bce2e){_0x33f8bd['push'](_0x33f8bd['shift']());}}}(a136_0x1e1b,0xd9e8d));import{sqlList}from'../../commands/sql/list.js';function a136_0x5bce(_0x244c4d,_0x3c4a0a){_0x244c4d=_0x244c4d-0x182;const _0x1e1b52=a136_0x1e1b();let _0x5bceea=_0x1e1b52[_0x244c4d];return _0x5bceea;}import{sqlDetail}from'../../commands/sql/detail.js';function a136_0x1e1b(){const _0x362ec0=['642422XiUwOX','3318012sXNxSo','3466841KsDEvV','360FPmmpV','725040zpyxer','15RzAKXl','1434333wiFOzV','4iMQmEF','1605087cFrQTx','962768FzfGSO','16jruMSD'];a136_0x1e1b=function(){return _0x362ec0;};return a136_0x1e1b();}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';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(_0x13fe68,_0x165ea5){const _0x2440b5=a135_0x1e1d,_0x2a90c4=_0x13fe68();while(!![]){try{const _0x1c973c=-parseInt(_0x2440b5(0x84))/0x1*(parseInt(_0x2440b5(0x87))/0x2)+-parseInt(_0x2440b5(0x7f))/0x3+parseInt(_0x2440b5(0x86))/0x4+-parseInt(_0x2440b5(0x7d))/0x5*(-parseInt(_0x2440b5(0x81))/0x6)+parseInt(_0x2440b5(0x82))/0x7*(parseInt(_0x2440b5(0x80))/0x8)+-parseInt(_0x2440b5(0x83))/0x9*(parseInt(_0x2440b5(0x7c))/0xa)+-parseInt(_0x2440b5(0x7e))/0xb*(-parseInt(_0x2440b5(0x85))/0xc);if(_0x1c973c===_0x165ea5)break;else _0x2a90c4['push'](_0x2a90c4['shift']());}catch(_0x230787){_0x2a90c4['push'](_0x2a90c4['shift']());}}}(a135_0x3d23,0x1aa35));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 a135_0x1e1d(_0x3462c7,_0x406243){_0x3462c7=_0x3462c7-0x7c;const _0x3d230f=a135_0x3d23();let _0x1e1dfd=_0x3d230f[_0x3462c7];return _0x1e1dfd;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';function a135_0x3d23(){const _0x363de8=['21zTPrkN','9iUVJRN','19196QEWjlK','12hJdMdJ','196456NvVnDy','16IVQBHK','1475520FiJWfc','169555mToQYQ','4251533gMPXGD','434466LgnxtB','137632TfIObO','12PzlyHC'];a135_0x3d23=function(){return _0x363de8;};return a135_0x3d23();}import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a137_0x37f438=a137_0x43b6;(function(_0x400c5a,_0x5d4077){const _0x39c524=a137_0x43b6,_0x1bc92b=_0x400c5a();while(!![]){try{const _0x30af30=parseInt(_0x39c524(0x7a))/0x1*(parseInt(_0x39c524(0x84))/0x2)+parseInt(_0x39c524(0x7f))/0x3*(-parseInt(_0x39c524(0x93))/0x4)+-parseInt(_0x39c524(0x8f))/0x5+-parseInt(_0x39c524(0x81))/0x6*(-parseInt(_0x39c524(0x83))/0x7)+-parseInt(_0x39c524(0x8e))/0x8+parseInt(_0x39c524(0x7e))/0x9*(-parseInt(_0x39c524(0x7d))/0xa)+parseInt(_0x39c524(0x90))/0xb;if(_0x30af30===_0x5d4077)break;else _0x1bc92b['push'](_0x1bc92b['shift']());}catch(_0x254f84){_0x1bc92b['push'](_0x1bc92b['shift']());}}}(a137_0x4066,0x8acaa));function a137_0x43b6(_0x9ccce2,_0x74c56d){_0x9ccce2=_0x9ccce2-0x76;const _0x406689=a137_0x4066();let _0x43b65a=_0x406689[_0x9ccce2];return _0x43b65a;}import{listSqlQueries}from'../../core/api-client.js';function a137_0x4066(){const _0x4462a9=['1058100JofAoU','15659809teSuuZ','paging','appCode','6436PjEHGy','pagesize','Page\x20number','all','bool','verbose','length','totalCount','tableData','num','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','Page\x20size','read','478579uugPiK','list','sql','5223630emluQI','9HmOIBp','1149fHRRUg','dbId','11784CsOBbx','description','1582emfLEl','2IirKNa','map','\x20SQL\x20queries\x20(total:\x20','name','str','List\x20custom\x20SQL\x20queries','sqlName','Filter\x20by\x20SQL\x20name','number','string','3418736XhzrGn'];a137_0x4066=function(){return _0x4462a9;};return a137_0x4066();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a137_0x37f438(0x7c),'command':a137_0x37f438(0x7b),'description':a137_0x37f438(0x89),'risk':a137_0x37f438(0x79),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x37f438(0x87),'type':a137_0x37f438(0x8d),'description':a137_0x37f438(0x8b)},{'name':'page','type':a137_0x37f438(0x8c),'description':a137_0x37f438(0x95),'default':0x1},{'name':a137_0x37f438(0x94),'type':a137_0x37f438(0x8c),'description':a137_0x37f438(0x78)},{'name':'verbose','type':'boolean','description':a137_0x37f438(0x77)}],async 'execute'(_0x45ae03){const _0x445c81=a137_0x37f438,_0xde6119=await listSqlQueries(_0x45ae03[_0x445c81(0x92)],{'sqlCode':_0x45ae03[_0x445c81(0x88)]('sqlcode')||undefined,'sqlName':_0x45ae03[_0x445c81(0x88)](_0x445c81(0x87))||undefined,'currentPage':_0x45ae03[_0x445c81(0x76)]('page'),'pageSize':_0x45ae03[_0x445c81(0x76)](_0x445c81(0x94),0x32)}),_0x1c92b0=_0x45ae03[_0x445c81(0x97)](_0x445c81(0x98)),_0x310473=_0xde6119[_0x445c81(0x9b)]??[],_0x356296=_0xde6119[_0x445c81(0x91)]?.[_0x445c81(0x9a)]??_0x310473[_0x445c81(0x99)];let _0x68fe20;return _0x1c92b0?_0x68fe20=_0x310473:_0x68fe20=await Promise[_0x445c81(0x96)](_0x310473[_0x445c81(0x85)](async _0x3295f8=>{const _0x44c89f=_0x445c81;let _0x5ac27a;try{_0x5ac27a=_0x3295f8['dbId']?await getDbName(_0x45ae03[_0x44c89f(0x92)],_0x3295f8[_0x44c89f(0x80)]):undefined;}catch{}return{'sqlCode':_0x3295f8['sqlCode'],'sqlName':_0x3295f8[_0x44c89f(0x8a)],'description':_0x3295f8[_0x44c89f(0x82)]??'','db':_0x5ac27a?_0x5ac27a+'\x20('+_0x3295f8[_0x44c89f(0x80)]+')':_0x3295f8[_0x44c89f(0x80)]??''};})),{'ok':!![],'data':_0x68fe20,'message':_0x310473['length']===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0x310473[_0x445c81(0x99)]+_0x445c81(0x86)+_0x356296+').'};}};
1
+ const a136_0x47336e=a136_0x3bdd;(function(_0x59775a,_0x2d784d){const _0x4dc760=a136_0x3bdd,_0xf1df19=_0x59775a();while(!![]){try{const _0x4fac39=parseInt(_0x4dc760(0x12d))/0x1+parseInt(_0x4dc760(0x111))/0x2*(parseInt(_0x4dc760(0x124))/0x3)+parseInt(_0x4dc760(0x133))/0x4*(-parseInt(_0x4dc760(0x11d))/0x5)+parseInt(_0x4dc760(0x130))/0x6+-parseInt(_0x4dc760(0x12a))/0x7+-parseInt(_0x4dc760(0x115))/0x8+parseInt(_0x4dc760(0x12b))/0x9;if(_0x4fac39===_0x2d784d)break;else _0xf1df19['push'](_0xf1df19['shift']());}catch(_0x557ddd){_0xf1df19['push'](_0xf1df19['shift']());}}}(a136_0x3e73,0xec028));import{listSqlQueries}from'../../core/api-client.js';function a136_0x3bdd(_0x2d780d,_0x2d9b8e){_0x2d780d=_0x2d780d-0x110;const _0x3e736c=a136_0x3e73();let _0x3bdd98=_0x3e736c[_0x2d780d];return _0x3bdd98;}function a136_0x3e73(){const _0x1cf118=['sqlName','sqlcode','9404654xtNGuR','11230506ORJMnj','length','675908uDGKsM','Page\x20number','sqlCode','498522GYpYQx','sql','Page\x20size','8zrbUho','number','2627844MYkLEA','\x20SQL\x20queries\x20(total:\x20','bool','dbId','986200jFjOHe','name','verbose','all','List\x20custom\x20SQL\x20queries','paging','appCode','pagesize','2218145hEyiYs','read','tableData','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','str','num','Filter\x20by\x20SQL\x20name','3IVFYIt','map','boolean','page'];a136_0x3e73=function(){return _0x1cf118;};return a136_0x3e73();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a136_0x47336e(0x131),'command':'list','description':a136_0x47336e(0x119),'risk':a136_0x47336e(0x11e),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x47336e(0x116),'type':'string','description':a136_0x47336e(0x123)},{'name':a136_0x47336e(0x127),'type':a136_0x47336e(0x110),'description':a136_0x47336e(0x12e),'default':0x1},{'name':'pagesize','type':a136_0x47336e(0x110),'description':a136_0x47336e(0x132)},{'name':a136_0x47336e(0x117),'type':a136_0x47336e(0x126),'description':a136_0x47336e(0x120)}],async 'execute'(_0x45b30b){const _0x2829b2=a136_0x47336e,_0x22072c=await listSqlQueries(_0x45b30b[_0x2829b2(0x11b)],{'sqlCode':_0x45b30b['str'](_0x2829b2(0x129))||undefined,'sqlName':_0x45b30b[_0x2829b2(0x121)](_0x2829b2(0x116))||undefined,'currentPage':_0x45b30b[_0x2829b2(0x122)](_0x2829b2(0x127)),'pageSize':_0x45b30b[_0x2829b2(0x122)](_0x2829b2(0x11c),0x32)}),_0x5b5795=_0x45b30b[_0x2829b2(0x113)](_0x2829b2(0x117)),_0x3857f5=_0x22072c[_0x2829b2(0x11f)]??[],_0x5a80f8=_0x22072c[_0x2829b2(0x11a)]?.['totalCount']??_0x3857f5['length'];let _0x486dfe;return _0x5b5795?_0x486dfe=_0x3857f5:_0x486dfe=await Promise[_0x2829b2(0x118)](_0x3857f5[_0x2829b2(0x125)](async _0x209f16=>{const _0x2248fd=_0x2829b2;let _0x5209f5;try{_0x5209f5=_0x209f16['dbId']?await getDbName(_0x45b30b[_0x2248fd(0x11b)],_0x209f16[_0x2248fd(0x114)]):undefined;}catch{}return{'sqlCode':_0x209f16[_0x2248fd(0x12f)],'sqlName':_0x209f16[_0x2248fd(0x128)],'description':_0x209f16['description']??'','db':_0x5209f5?_0x5209f5+'\x20('+_0x209f16[_0x2248fd(0x114)]+')':_0x209f16[_0x2248fd(0x114)]??''};})),{'ok':!![],'data':_0x486dfe,'message':_0x3857f5[_0x2829b2(0x12c)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0x3857f5['length']+_0x2829b2(0x112)+_0x5a80f8+').'};}};
@@ -1 +1 @@
1
- const a138_0x4a8c15=a138_0x3793;(function(_0x5cbd61,_0x1bc466){const _0x1954f5=a138_0x3793,_0x562336=_0x5cbd61();while(!![]){try{const _0x2d5794=parseInt(_0x1954f5(0x115))/0x1*(parseInt(_0x1954f5(0x11f))/0x2)+-parseInt(_0x1954f5(0x139))/0x3+parseInt(_0x1954f5(0x11c))/0x4+-parseInt(_0x1954f5(0x143))/0x5+-parseInt(_0x1954f5(0x142))/0x6*(parseInt(_0x1954f5(0x12c))/0x7)+-parseInt(_0x1954f5(0x141))/0x8+parseInt(_0x1954f5(0x110))/0x9*(parseInt(_0x1954f5(0x137))/0xa);if(_0x2d5794===_0x1bc466)break;else _0x562336['push'](_0x562336['shift']());}catch(_0x530eb8){_0x562336['push'](_0x562336['shift']());}}}(a138_0x5029,0x79a76));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;async function fetchAllSqlQueries(_0x5ed2d6,_0x3b32d6){const _0x33aeb1=a138_0x3793,_0x4fb686=[];let _0x229fa6=0x1;while(!![]){const _0x5b3232=await listSqlQueries(_0x5ed2d6,{'currentPage':_0x229fa6,'pageSize':PAGE_SIZE,'sqlCode':_0x3b32d6['sqlCode'],'sqlName':_0x3b32d6[_0x33aeb1(0x10d)]}),_0x5403af=_0x5b3232[_0x33aeb1(0x111)]??[];_0x4fb686[_0x33aeb1(0x12a)](..._0x5403af);if(_0x5403af['length']===0x0)break;const _0x4a15a2=_0x5b3232[_0x33aeb1(0x144)]?.['totalCount'];if(_0x4a15a2!=null?_0x4fb686[_0x33aeb1(0x14a)]>=_0x4a15a2:_0x5403af[_0x33aeb1(0x14a)]<PAGE_SIZE)break;_0x229fa6++;}return _0x4fb686;}function a138_0x3793(_0x501061,_0x1ce419){_0x501061=_0x501061-0x10a;const _0x50299c=a138_0x5029();let _0x37934f=_0x50299c[_0x501061];return _0x37934f;}async function ensureSqlContent(_0x50df30){const _0x482351=a138_0x3793;if(_0x50df30[_0x482351(0x120)]!=null&&String(_0x50df30['sqlContent'])[_0x482351(0x14a)]>0x0)return _0x50df30;return getSqlQueryDetail(_0x50df30[_0x482351(0x138)]);}export const sqlPull={'service':a138_0x4a8c15(0x113),'command':'pull','description':a138_0x4a8c15(0x114),'risk':a138_0x4a8c15(0x127),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a138_0x4a8c15(0x13b),'type':a138_0x4a8c15(0x112),'description':a138_0x4a8c15(0x149)},{'name':a138_0x4a8c15(0x12d),'type':a138_0x4a8c15(0x122),'description':a138_0x4a8c15(0x12e)}],async 'dryRun'(_0x2e602d){const _0x25b690=a138_0x4a8c15,_0x4beec0=loadSqlProjectConfig(_0x2e602d[_0x25b690(0x10b)]),_0x2f12b9=await readSqlLockFile(_0x4beec0[_0x25b690(0x10f)]),{appLock:_0x32596c}=ensureSqlLockScope(_0x2f12b9??createEmptySqlLock(),_0x4beec0['appCode'],_0x4beec0['sqlRoot'],_0x25b690(0x135)),_0x21b1bb=await fetchAllSqlQueries(_0x2e602d[_0x25b690(0x10b)],{'sqlCode':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x119))||undefined,'sqlName':_0x2e602d[_0x25b690(0x130)]('name')||undefined}),_0x4c0630=[];for(const _0x42a42a of _0x21b1bb){const _0x333a5e=await ensureSqlContent(_0x42a42a),_0x5d7d1d=ensureRemoteSqlContent(_0x333a5e),_0x3be26a=detectModeFromSql(_0x333a5e),_0x48cf41=_0x333a5e[_0x25b690(0x147)]?await getDbName(_0x2e602d[_0x25b690(0x10b)],Number(_0x333a5e[_0x25b690(0x147)]))['catch'](()=>undefined):undefined,_0x43c188=buildLocalSqlFileContent({'sqlCode':_0x333a5e[_0x25b690(0x138)],'sqlName':_0x333a5e[_0x25b690(0x10d)],'dbId':_0x333a5e['dbId']},_0x5d7d1d,{'dbName':_0x48cf41,'mode':_0x3be26a,'syncedAt':new Date()['toISOString'](),'description':_0x333a5e[_0x25b690(0x123)]}),_0x12cc87=buildSqlLockEntry(_0x333a5e,_0x5d7d1d,'',{'dbName':_0x48cf41}),_0x4de717=resolveLocalSqlFilePath(_0x4beec0,_0x333a5e[_0x25b690(0x138)],_0x12cc87);let _0x30c20b=_0x25b690(0x13c),_0x3cd8bb;if(await fileExists(_0x4de717)){const _0x1d0c84=await readFile(_0x4de717,_0x25b690(0x11d));isEquivalentPulledSqlFile(_0x1d0c84,_0x43c188,_0x3be26a)?(_0x30c20b=_0x25b690(0x121),_0x3cd8bb=_0x25b690(0x10c)):(_0x30c20b=_0x25b690(0x125),_0x3cd8bb=_0x25b690(0x10e));}_0x4c0630[_0x25b690(0x12a)]({'sqlCode':_0x333a5e['sqlCode'],'sqlName':_0x333a5e['sqlName'],'filePath':_0x4de717,'status':_0x30c20b,'reason':_0x3cd8bb});}return{'method':_0x25b690(0x131),'url':_0x25b690(0x11e),'body':{'appCode':_0x2e602d['appCode'],'sqlCode':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x119))||null,'sqlName':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x13b))||null,'files':_0x4c0630},'description':'Would\x20pull\x20'+_0x4c0630[_0x25b690(0x14a)]+_0x25b690(0x11b)+_0x4beec0[_0x25b690(0x145)]};},async 'execute'(_0x2746ae){const _0x2dfcab=a138_0x4a8c15,_0x509d57=loadSqlProjectConfig(_0x2746ae['appCode']),_0x113891=await readSqlLockFile(_0x509d57['lockFilePath']),{lockData:_0x13c20b,appLock:_0x3ad80a}=ensureSqlLockScope(_0x113891??createEmptySqlLock(),_0x509d57[_0x2dfcab(0x10b)],_0x509d57[_0x2dfcab(0x132)],_0x2dfcab(0x135)),_0x4a3746=_0x2746ae[_0x2dfcab(0x133)]('force'),_0x265477=await fetchAllSqlQueries(_0x2746ae['appCode'],{'sqlCode':_0x2746ae[_0x2dfcab(0x130)]('sqlcode')||undefined,'sqlName':_0x2746ae[_0x2dfcab(0x130)](_0x2dfcab(0x13b))||undefined});if(_0x265477[_0x2dfcab(0x14a)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2dfcab(0x13f)};const _0x1adcca=[],_0x425ff6=[];for(const _0x1e1a9e of _0x265477){try{_0x1adcca['push'](await ensureSqlContent(_0x1e1a9e));}catch(_0x37aa0a){_0x425ff6[_0x2dfcab(0x12a)]({'sqlCode':_0x1e1a9e['sqlCode'],'error':_0x37aa0a instanceof Error?_0x37aa0a['message']:String(_0x37aa0a)});}}if(_0x4a3746&&!_0x2746ae[_0x2dfcab(0x126)]){let _0x1e1e45=![];for(const _0xdfab24 of _0x1adcca){const _0x586ea9=detectModeFromSql(_0xdfab24),_0x5e465e=_0xdfab24[_0x2dfcab(0x147)]?await getDbName(_0x2746ae[_0x2dfcab(0x10b)],Number(_0xdfab24[_0x2dfcab(0x147)]))[_0x2dfcab(0x11a)](()=>undefined):undefined,_0x35c7cd=buildLocalSqlFileContent({'sqlCode':_0xdfab24[_0x2dfcab(0x138)],'sqlName':_0xdfab24['sqlName'],'dbId':_0xdfab24[_0x2dfcab(0x147)]},ensureRemoteSqlContent(_0xdfab24),{'dbName':_0x5e465e,'mode':_0x586ea9,'syncedAt':new Date()['toISOString'](),'description':_0xdfab24[_0x2dfcab(0x123)]}),_0x5bb7bc=resolveLocalSqlFilePath(_0x509d57,_0xdfab24[_0x2dfcab(0x138)],buildSqlLockEntry(_0xdfab24,ensureRemoteSqlContent(_0xdfab24),'',{'dbName':_0x5e465e}));if(await fileExists(_0x5bb7bc)){const _0x328e34=await readFile(_0x5bb7bc,'utf8');if(!isEquivalentPulledSqlFile(_0x328e34,_0x35c7cd,_0x586ea9)){_0x1e1e45=!![];break;}}}if(_0x1e1e45){const _0x19d0ae=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x19d0ae)throw CliErrors[_0x2dfcab(0x12b)](_0x2dfcab(0x13e));}}const _0x326160=cloneSqlLockData(_0x13c20b),_0x2c31f8=_0x326160[_0x2dfcab(0x136)][_0x509d57[_0x2dfcab(0x10b)]],_0x2d41d4=[],_0x239502=[];for(const _0x4a612f of _0x1adcca){const _0x1725d9=_0x2c31f8[_0x2dfcab(0x12f)][_0x4a612f[_0x2dfcab(0x138)]],_0x4ce31f=ensureRemoteSqlContent(_0x4a612f),_0x445820=detectModeFromSql(_0x4a612f),_0x4255cc=_0x4a612f['dbId']?await getDbName(_0x2746ae['appCode'],Number(_0x4a612f[_0x2dfcab(0x147)]))['catch'](()=>undefined):undefined,_0x4364c3=buildLocalSqlFileContent({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'sqlName':_0x4a612f[_0x2dfcab(0x10d)],'dbId':_0x4a612f[_0x2dfcab(0x147)]},_0x4ce31f,{'dbName':_0x4255cc,'mode':_0x445820,'syncedAt':new Date()[_0x2dfcab(0x116)](),'description':_0x4a612f['description']}),_0x5af268=buildSqlLockEntry(_0x4a612f,_0x4ce31f,computeSqlContentHash(_0x4364c3),{'dbName':_0x4255cc}),_0x35b307=_0x5af268['path'],_0x4a494d=join(_0x509d57[_0x2dfcab(0x145)],_0x35b307);try{if(await fileExists(_0x4a494d)){const _0xaf34dd=await readFile(_0x4a494d,'utf8');if(isEquivalentPulledSqlFile(_0xaf34dd,_0x4364c3,_0x445820)){_0x239502['push']({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'reason':_0x2dfcab(0x10c)}),_0x2c31f8[_0x2dfcab(0x12f)][_0x4a612f[_0x2dfcab(0x138)]]={..._0x5af268,'hash':computeSqlContentHash(_0xaf34dd),'path':_0x35b307};continue;}if(!_0x4a3746){_0x239502[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x12c0ca=_0x1725d9?.[_0x2dfcab(0x148)]?join(_0x509d57[_0x2dfcab(0x145)],_0x1725d9['path']):undefined;_0x12c0ca&&_0x12c0ca!==_0x4a494d&&await fileExists(_0x12c0ca)&&await rm(_0x12c0ca,{'force':!![]}),await ensureParentDirectory(_0x4a494d),await writeFile(_0x4a494d,_0x4364c3,_0x2dfcab(0x11d)),_0x2c31f8['sqls'][_0x4a612f[_0x2dfcab(0x138)]]={..._0x5af268,'path':_0x35b307},_0x2d41d4[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'filePath':_0x4a494d});}catch(_0x1eec84){_0x425ff6[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'error':_0x1eec84 instanceof Error?_0x1eec84[_0x2dfcab(0x10a)]:String(_0x1eec84)});}}return _0x2c31f8[_0x2dfcab(0x13a)]=new Date()['toISOString'](),await writeSqlLockFile(_0x509d57[_0x2dfcab(0x10f)],_0x326160),{'ok':_0x425ff6[_0x2dfcab(0x14a)]===0x0,'data':{'pulled':_0x2d41d4,'skipped':_0x239502,'failed':_0x425ff6},'message':'Pull\x20complete:\x20'+_0x2d41d4[_0x2dfcab(0x14a)]+_0x2dfcab(0x13d)+_0x239502[_0x2dfcab(0x14a)]+_0x2dfcab(0x118)+_0x425ff6[_0x2dfcab(0x14a)]+_0x2dfcab(0x128)};}};function detectModeFromSql(_0x1d7664){const _0xa9ad18=a138_0x4a8c15,_0x20bd87=ensureRemoteSqlContent(_0x1d7664),_0x5a8914=stripLocalSqlMetadata(_0x20bd87,'mybatisXml')[_0xa9ad18(0x146)]();if(/^<(select|insert|update|delete)\b/i[_0xa9ad18(0x117)](_0x5a8914))return'mybatisXml';return'sql';}function a138_0x5029(){const _0x21b1e2=['utf8','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','263132IEQRQP','sqlContent','skipped','boolean','description','replace','conflict','nonInteractive','write','\x20failed','join','push','cancelled','280IJWCDg','force','Force\x20overwrite\x20local\x20unsynced\x20changes','sqls','str','POST','sqlRoot','bool','split','pull','apps','650oeAnZi','sqlCode','2047593BHbVSq','lastSync','name','would_pull','\x20written,\x20','Force\x20pull\x20cancelled.','No\x20remote\x20SQL\x20queries\x20matched.','mybatisXml','6668520TzyhPt','85602TctFEZ','417945qwWHdP','paging','sqlRootDir','trimStart','dbId','path','Filter\x20by\x20SQL\x20display\x20name','length','message','appCode','unchanged','sqlName','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','lockFilePath','171765YUBvFn','tableData','string','sql','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','6HinYES','toISOString','test','\x20skipped,\x20','sqlcode','catch','\x20SQL\x20file(s)\x20into\x20','2554952zjqPNI'];a138_0x5029=function(){return _0x21b1e2;};return a138_0x5029();}function isEquivalentPulledSqlFile(_0x454d73,_0x1c1dff,_0xa7ba5e){return normalizePullComparableContent(_0x454d73,_0xa7ba5e)===normalizePullComparableContent(_0x1c1dff,_0xa7ba5e);}function normalizePullComparableContent(_0x2f7b02,_0x330336){const _0x53013b=a138_0x4a8c15,_0x2b068b=_0x2f7b02[_0x53013b(0x124)](/\r\n/g,'\x0a')[_0x53013b(0x134)]('\x0a'),_0x327dfc=_0x2b068b['filter'](_0x341516=>!isSyncedAtMetadataLine(_0x341516,_0x330336));return _0x327dfc[_0x53013b(0x129)]('\x0a');}function isSyncedAtMetadataLine(_0x316da8,_0x4dc0a9){const _0x22b247=a138_0x4a8c15;if(_0x4dc0a9===_0x22b247(0x140))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x22b247(0x117)](_0x316da8);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x22b247(0x117)](_0x316da8);}
1
+ const a137_0x442a42=a137_0x24aa;(function(_0x123f2a,_0x4cd3ba){const _0x3e9254=a137_0x24aa,_0x2c338f=_0x123f2a();while(!![]){try{const _0x360635=-parseInt(_0x3e9254(0xd4))/0x1*(parseInt(_0x3e9254(0xc7))/0x2)+-parseInt(_0x3e9254(0xba))/0x3*(parseInt(_0x3e9254(0xcd))/0x4)+parseInt(_0x3e9254(0xd2))/0x5*(parseInt(_0x3e9254(0xcc))/0x6)+-parseInt(_0x3e9254(0xb9))/0x7+-parseInt(_0x3e9254(0xe1))/0x8+parseInt(_0x3e9254(0xc6))/0x9+parseInt(_0x3e9254(0xbe))/0xa;if(_0x360635===_0x4cd3ba)break;else _0x2c338f['push'](_0x2c338f['shift']());}catch(_0x54084b){_0x2c338f['push'](_0x2c338f['shift']());}}}(a137_0x29f1,0x47ebc));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';function a137_0x29f1(){const _0x20aa3f=['appCode','utf8','nonInteractive','path','sqlRoot','dbId','test','\x20skipped,\x20','Pull\x20complete:\x20','str','2208736iJROuV','write','bool','description','\x20SQL\x20file(s)\x20into\x20','join','cancelled','trimStart','local\x20differs\x20from\x20remote','totalCount','would_pull','sqlCode','toISOString','tableData','message','string','lastSync','filter','split','unchanged','865060xmGwYs','76647oHvhtL','sql','length','skipped','12054380VFTQlx','replace','pull','Force\x20overwrite\x20local\x20unsynced\x20changes','push','Force\x20pull\x20cancelled.','name','sqlcode','480861PppoVH','2WpvYJv','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqlContent','sqls','sqlName','6ipemJS','84TFLQFR','lockFilePath','Would\x20pull\x20','sqlRootDir','mybatisXml','587720fuFnXL','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','145622XWflCV','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','conflict'];a137_0x29f1=function(){return _0x20aa3f;};return a137_0x29f1();}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(_0xb883,_0x20c3a4){const _0x14d03b=a137_0x24aa,_0x30cc68=[];let _0x2d62a9=0x1;while(!![]){const _0x151aa0=await listSqlQueries(_0xb883,{'currentPage':_0x2d62a9,'pageSize':PAGE_SIZE,'sqlCode':_0x20c3a4['sqlCode'],'sqlName':_0x20c3a4[_0x14d03b(0xcb)]}),_0x287572=_0x151aa0[_0x14d03b(0xb2)]??[];_0x30cc68['push'](..._0x287572);if(_0x287572[_0x14d03b(0xbc)]===0x0)break;const _0xd3d5b3=_0x151aa0['paging']?.[_0x14d03b(0xae)];if(_0xd3d5b3!=null?_0x30cc68['length']>=_0xd3d5b3:_0x287572[_0x14d03b(0xbc)]<PAGE_SIZE)break;_0x2d62a9++;}return _0x30cc68;}function a137_0x24aa(_0x593947,_0x3dba2b){_0x593947=_0x593947-0xad;const _0x29f13e=a137_0x29f1();let _0x24aafe=_0x29f13e[_0x593947];return _0x24aafe;}async function ensureSqlContent(_0x1a2e3c){const _0x3200b8=a137_0x24aa;if(_0x1a2e3c[_0x3200b8(0xc9)]!=null&&String(_0x1a2e3c[_0x3200b8(0xc9)])[_0x3200b8(0xbc)]>0x0)return _0x1a2e3c;return getSqlQueryDetail(_0x1a2e3c[_0x3200b8(0xb0)]);}export const sqlPull={'service':a137_0x442a42(0xbb),'command':a137_0x442a42(0xc0),'description':a137_0x442a42(0xd5),'risk':a137_0x442a42(0xe2),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x442a42(0xc4),'type':a137_0x442a42(0xb4),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':'boolean','description':a137_0x442a42(0xc1)}],async 'dryRun'(_0x460717){const _0x450713=a137_0x442a42,_0x7a1b56=loadSqlProjectConfig(_0x460717[_0x450713(0xd7)]),_0xb243bd=await readSqlLockFile(_0x7a1b56['lockFilePath']),{appLock:_0x17a30e}=ensureSqlLockScope(_0xb243bd??createEmptySqlLock(),_0x7a1b56[_0x450713(0xd7)],_0x7a1b56[_0x450713(0xdb)],_0x450713(0xc0)),_0x171149=await fetchAllSqlQueries(_0x460717['appCode'],{'sqlCode':_0x460717['str'](_0x450713(0xc5))||undefined,'sqlName':_0x460717['str'](_0x450713(0xc4))||undefined}),_0x300638=[];for(const _0x3d0be5 of _0x171149){const _0x59f696=await ensureSqlContent(_0x3d0be5),_0x5be776=ensureRemoteSqlContent(_0x59f696),_0x546866=detectModeFromSql(_0x59f696),_0x2fc3b3=_0x59f696[_0x450713(0xdc)]?await getDbName(_0x460717[_0x450713(0xd7)],Number(_0x59f696['dbId']))['catch'](()=>undefined):undefined,_0x1adb58=buildLocalSqlFileContent({'sqlCode':_0x59f696[_0x450713(0xb0)],'sqlName':_0x59f696[_0x450713(0xcb)],'dbId':_0x59f696[_0x450713(0xdc)]},_0x5be776,{'dbName':_0x2fc3b3,'mode':_0x546866,'syncedAt':new Date()[_0x450713(0xb1)](),'description':_0x59f696['description']}),_0x441988=buildSqlLockEntry(_0x59f696,_0x5be776,'',{'dbName':_0x2fc3b3}),_0x2dbcd8=resolveLocalSqlFilePath(_0x7a1b56,_0x59f696[_0x450713(0xb0)],_0x441988);let _0x10c2c5=_0x450713(0xaf),_0x229b50;if(await fileExists(_0x2dbcd8)){const _0x3309eb=await readFile(_0x2dbcd8,'utf8');isEquivalentPulledSqlFile(_0x3309eb,_0x1adb58,_0x546866)?(_0x10c2c5=_0x450713(0xbd),_0x229b50=_0x450713(0xb8)):(_0x10c2c5=_0x450713(0xd6),_0x229b50=_0x450713(0xc8));}_0x300638['push']({'sqlCode':_0x59f696[_0x450713(0xb0)],'sqlName':_0x59f696[_0x450713(0xcb)],'filePath':_0x2dbcd8,'status':_0x10c2c5,'reason':_0x229b50});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x460717[_0x450713(0xd7)],'sqlCode':_0x460717['str'](_0x450713(0xc5))||null,'sqlName':_0x460717[_0x450713(0xe0)](_0x450713(0xc4))||null,'files':_0x300638},'description':_0x450713(0xcf)+_0x300638[_0x450713(0xbc)]+_0x450713(0xe5)+_0x7a1b56[_0x450713(0xd0)]};},async 'execute'(_0x3ad8a8){const _0x487424=a137_0x442a42,_0x2a2995=loadSqlProjectConfig(_0x3ad8a8[_0x487424(0xd7)]),_0x127ba7=await readSqlLockFile(_0x2a2995[_0x487424(0xce)]),{lockData:_0x298597,appLock:_0x5df18b}=ensureSqlLockScope(_0x127ba7??createEmptySqlLock(),_0x2a2995[_0x487424(0xd7)],_0x2a2995[_0x487424(0xdb)],_0x487424(0xc0)),_0x144b76=_0x3ad8a8[_0x487424(0xe3)]('force'),_0x19e26c=await fetchAllSqlQueries(_0x3ad8a8[_0x487424(0xd7)],{'sqlCode':_0x3ad8a8[_0x487424(0xe0)](_0x487424(0xc5))||undefined,'sqlName':_0x3ad8a8[_0x487424(0xe0)](_0x487424(0xc4))||undefined});if(_0x19e26c[_0x487424(0xbc)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x59691d=[],_0x5d89b3=[];for(const _0x2a3fbb of _0x19e26c){try{_0x59691d[_0x487424(0xc2)](await ensureSqlContent(_0x2a3fbb));}catch(_0x683a13){_0x5d89b3['push']({'sqlCode':_0x2a3fbb[_0x487424(0xb0)],'error':_0x683a13 instanceof Error?_0x683a13[_0x487424(0xb3)]:String(_0x683a13)});}}if(_0x144b76&&!_0x3ad8a8[_0x487424(0xd9)]){let _0x4fa69f=![];for(const _0x384469 of _0x59691d){const _0x2d049f=detectModeFromSql(_0x384469),_0x445ed4=_0x384469[_0x487424(0xdc)]?await getDbName(_0x3ad8a8[_0x487424(0xd7)],Number(_0x384469[_0x487424(0xdc)]))['catch'](()=>undefined):undefined,_0x2f0e63=buildLocalSqlFileContent({'sqlCode':_0x384469[_0x487424(0xb0)],'sqlName':_0x384469[_0x487424(0xcb)],'dbId':_0x384469[_0x487424(0xdc)]},ensureRemoteSqlContent(_0x384469),{'dbName':_0x445ed4,'mode':_0x2d049f,'syncedAt':new Date()[_0x487424(0xb1)](),'description':_0x384469['description']}),_0x3bfc87=resolveLocalSqlFilePath(_0x2a2995,_0x384469['sqlCode'],buildSqlLockEntry(_0x384469,ensureRemoteSqlContent(_0x384469),'',{'dbName':_0x445ed4}));if(await fileExists(_0x3bfc87)){const _0x2a443d=await readFile(_0x3bfc87,_0x487424(0xd8));if(!isEquivalentPulledSqlFile(_0x2a443d,_0x2f0e63,_0x2d049f)){_0x4fa69f=!![];break;}}}if(_0x4fa69f){const _0x300d52=await confirmForceOverwrite(_0x487424(0xd3));if(!_0x300d52)throw CliErrors[_0x487424(0xe7)](_0x487424(0xc3));}}const _0x4274c4=cloneSqlLockData(_0x298597),_0x3006a6=_0x4274c4['apps'][_0x2a2995['appCode']],_0xa432e5=[],_0x21b7de=[];for(const _0x3ae6d0 of _0x59691d){const _0x218784=_0x3006a6['sqls'][_0x3ae6d0[_0x487424(0xb0)]],_0xea8c25=ensureRemoteSqlContent(_0x3ae6d0),_0x20be56=detectModeFromSql(_0x3ae6d0),_0x194211=_0x3ae6d0[_0x487424(0xdc)]?await getDbName(_0x3ad8a8[_0x487424(0xd7)],Number(_0x3ae6d0[_0x487424(0xdc)]))['catch'](()=>undefined):undefined,_0x2ccfaf=buildLocalSqlFileContent({'sqlCode':_0x3ae6d0[_0x487424(0xb0)],'sqlName':_0x3ae6d0['sqlName'],'dbId':_0x3ae6d0[_0x487424(0xdc)]},_0xea8c25,{'dbName':_0x194211,'mode':_0x20be56,'syncedAt':new Date()['toISOString'](),'description':_0x3ae6d0[_0x487424(0xe4)]}),_0x71d41f=buildSqlLockEntry(_0x3ae6d0,_0xea8c25,computeSqlContentHash(_0x2ccfaf),{'dbName':_0x194211}),_0x495b01=_0x71d41f['path'],_0x4d8f6b=join(_0x2a2995['sqlRootDir'],_0x495b01);try{if(await fileExists(_0x4d8f6b)){const _0x254d5e=await readFile(_0x4d8f6b,_0x487424(0xd8));if(isEquivalentPulledSqlFile(_0x254d5e,_0x2ccfaf,_0x20be56)){_0x21b7de[_0x487424(0xc2)]({'sqlCode':_0x3ae6d0[_0x487424(0xb0)],'reason':'unchanged'}),_0x3006a6[_0x487424(0xca)][_0x3ae6d0['sqlCode']]={..._0x71d41f,'hash':computeSqlContentHash(_0x254d5e),'path':_0x495b01};continue;}if(!_0x144b76){_0x21b7de[_0x487424(0xc2)]({'sqlCode':_0x3ae6d0[_0x487424(0xb0)],'reason':_0x487424(0xad)});continue;}}const _0x11d7f7=_0x218784?.[_0x487424(0xda)]?join(_0x2a2995[_0x487424(0xd0)],_0x218784[_0x487424(0xda)]):undefined;_0x11d7f7&&_0x11d7f7!==_0x4d8f6b&&await fileExists(_0x11d7f7)&&await rm(_0x11d7f7,{'force':!![]}),await ensureParentDirectory(_0x4d8f6b),await writeFile(_0x4d8f6b,_0x2ccfaf,'utf8'),_0x3006a6[_0x487424(0xca)][_0x3ae6d0['sqlCode']]={..._0x71d41f,'path':_0x495b01},_0xa432e5[_0x487424(0xc2)]({'sqlCode':_0x3ae6d0[_0x487424(0xb0)],'filePath':_0x4d8f6b});}catch(_0x79a231){_0x5d89b3[_0x487424(0xc2)]({'sqlCode':_0x3ae6d0[_0x487424(0xb0)],'error':_0x79a231 instanceof Error?_0x79a231['message']:String(_0x79a231)});}}return _0x3006a6[_0x487424(0xb5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x2a2995['lockFilePath'],_0x4274c4),{'ok':_0x5d89b3[_0x487424(0xbc)]===0x0,'data':{'pulled':_0xa432e5,'skipped':_0x21b7de,'failed':_0x5d89b3},'message':_0x487424(0xdf)+_0xa432e5[_0x487424(0xbc)]+'\x20written,\x20'+_0x21b7de[_0x487424(0xbc)]+_0x487424(0xde)+_0x5d89b3[_0x487424(0xbc)]+'\x20failed'};}};function detectModeFromSql(_0x4db731){const _0x46b49f=a137_0x442a42,_0x4afa03=ensureRemoteSqlContent(_0x4db731),_0x3849ad=stripLocalSqlMetadata(_0x4afa03,_0x46b49f(0xd1))[_0x46b49f(0xe8)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x3849ad))return _0x46b49f(0xd1);return _0x46b49f(0xbb);}function isEquivalentPulledSqlFile(_0x5e24e9,_0x1e4a73,_0x4dd3b8){return normalizePullComparableContent(_0x5e24e9,_0x4dd3b8)===normalizePullComparableContent(_0x1e4a73,_0x4dd3b8);}function normalizePullComparableContent(_0xd24155,_0x1ce4cc){const _0xa9af90=a137_0x442a42,_0x2565d2=_0xd24155[_0xa9af90(0xbf)](/\r\n/g,'\x0a')[_0xa9af90(0xb7)]('\x0a'),_0x5dc53d=_0x2565d2[_0xa9af90(0xb6)](_0x44a607=>!isSyncedAtMetadataLine(_0x44a607,_0x1ce4cc));return _0x5dc53d[_0xa9af90(0xe6)]('\x0a');}function isSyncedAtMetadataLine(_0x2e1b01,_0x334e15){const _0x4b73e0=a137_0x442a42;if(_0x334e15===_0x4b73e0(0xd1))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x2e1b01);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x4b73e0(0xdd)](_0x2e1b01);}