@lovrabet/rabetbase-cli 2.3.3 → 2.3.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/README.md +99 -560
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/add.js +1 -1
  21. package/lib/commands/app/discover.js +1 -1
  22. package/lib/commands/app/index.js +1 -1
  23. package/lib/commands/app/list.js +1 -1
  24. package/lib/commands/app/remove.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/flags.js +1 -1
  48. package/lib/commands/common/validate.js +1 -1
  49. package/lib/commands/config/get.js +1 -1
  50. package/lib/commands/config/index.js +1 -1
  51. package/lib/commands/config/list.js +1 -1
  52. package/lib/commands/config/set.js +1 -1
  53. package/lib/commands/config/shared.js +1 -1
  54. package/lib/commands/data/filter.js +1 -1
  55. package/lib/commands/data/getOne.js +1 -1
  56. package/lib/commands/data/index.js +1 -1
  57. package/lib/commands/data/shared.js +1 -1
  58. package/lib/commands/dataset/business-group-update.js +1 -1
  59. package/lib/commands/dataset/capability.js +1 -1
  60. package/lib/commands/dataset/delete.js +1 -1
  61. package/lib/commands/dataset/detail.js +1 -1
  62. package/lib/commands/dataset/extend-update.js +1 -1
  63. package/lib/commands/dataset/field-update.js +1 -1
  64. package/lib/commands/dataset/generate.js +1 -1
  65. package/lib/commands/dataset/index.js +1 -1
  66. package/lib/commands/dataset/list.js +1 -1
  67. package/lib/commands/dataset/operations.js +1 -1
  68. package/lib/commands/dataset/relation-audit.js +1 -1
  69. package/lib/commands/dataset/relation-create.js +1 -1
  70. package/lib/commands/dataset/relation-delete.js +1 -1
  71. package/lib/commands/dataset/relation-shared.js +1 -1
  72. package/lib/commands/dataset/relation-update.js +1 -1
  73. package/lib/commands/dataset/relations.js +1 -1
  74. package/lib/commands/dataset/rename.js +1 -1
  75. package/lib/commands/dataset/restore.js +1 -1
  76. package/lib/commands/db/analyze-cancel.js +1 -1
  77. package/lib/commands/db/analyze-start.js +1 -1
  78. package/lib/commands/db/analyze-status.js +1 -1
  79. package/lib/commands/db/create.js +1 -1
  80. package/lib/commands/db/delete.js +1 -1
  81. package/lib/commands/db/detail.js +1 -1
  82. package/lib/commands/db/diff.js +1 -1
  83. package/lib/commands/db/index.js +1 -1
  84. package/lib/commands/db/list.js +1 -1
  85. package/lib/commands/db/shared.js +1 -1
  86. package/lib/commands/db/tables.js +1 -1
  87. package/lib/commands/db/test.js +1 -1
  88. package/lib/commands/db/update.js +1 -1
  89. package/lib/commands/doctor.js +1 -1
  90. package/lib/commands/init/index.js +1 -1
  91. package/lib/commands/issue/index.js +1 -1
  92. package/lib/commands/issue/nudge.js +1 -1
  93. package/lib/commands/issue/report.js +1 -1
  94. package/lib/commands/issue/shared.js +1 -1
  95. package/lib/commands/logs/index.js +1 -1
  96. package/lib/commands/menu/index.js +1 -1
  97. package/lib/commands/menu/list.js +1 -1
  98. package/lib/commands/menu/shared/compare-table.js +1 -1
  99. package/lib/commands/menu/shared/index.js +1 -1
  100. package/lib/commands/menu/shared/inquirer.js +1 -1
  101. package/lib/commands/menu/shared/local-pages.js +1 -1
  102. package/lib/commands/menu/shared/logic.js +1 -1
  103. package/lib/commands/menu/shared/service.js +1 -1
  104. package/lib/commands/menu/shared/sync-core.js +1 -1
  105. package/lib/commands/menu/shared/update-core.js +1 -1
  106. package/lib/commands/menu/shared/valid-url.js +1 -1
  107. package/lib/commands/menu/sync.js +1 -1
  108. package/lib/commands/menu/update.js +1 -1
  109. package/lib/commands/page/generate-start.js +1 -1
  110. package/lib/commands/page/generate-status.js +1 -1
  111. package/lib/commands/page/index.js +1 -1
  112. package/lib/commands/page/pull.js +1 -1
  113. package/lib/commands/page/push.js +1 -1
  114. package/lib/commands/page/relation-audit.js +1 -1
  115. package/lib/commands/page/shared.js +1 -1
  116. package/lib/commands/page/standard-page-status.js +1 -1
  117. package/lib/commands/page/sync.js +1 -1
  118. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  119. package/lib/commands/project/create/format-elapsed.js +1 -1
  120. package/lib/commands/project/create/main.js +1 -1
  121. package/lib/commands/project/create/non-interactive.js +1 -1
  122. package/lib/commands/project/create/project-template-path.js +1 -1
  123. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  124. package/lib/commands/project/create/use-format-code.js +1 -1
  125. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  126. package/lib/commands/project/index.js +1 -1
  127. package/lib/commands/project/init.js +1 -1
  128. package/lib/commands/project/upgrade.js +1 -1
  129. package/lib/commands/registry.js +1 -1
  130. package/lib/commands/run/index.js +1 -1
  131. package/lib/commands/schema.js +1 -1
  132. package/lib/commands/sql/create.js +1 -1
  133. package/lib/commands/sql/delete.js +1 -1
  134. package/lib/commands/sql/detail.js +1 -1
  135. package/lib/commands/sql/exec.js +1 -1
  136. package/lib/commands/sql/index.js +1 -1
  137. package/lib/commands/sql/list.js +1 -1
  138. package/lib/commands/sql/pull.js +1 -1
  139. package/lib/commands/sql/push.js +1 -1
  140. package/lib/commands/sql/save.js +1 -1
  141. package/lib/commands/sql/shared.js +1 -1
  142. package/lib/commands/sql/status.js +1 -1
  143. package/lib/commands/sql/validate.js +1 -1
  144. package/lib/commands/workspace/index.js +1 -1
  145. package/lib/config/schema.js +1 -1
  146. package/lib/constant/cdn.js +1 -1
  147. package/lib/constant/cli.js +1 -1
  148. package/lib/constant/defaults.js +1 -1
  149. package/lib/constant/domain.js +1 -1
  150. package/lib/constant/env.js +1 -1
  151. package/lib/constant/output.js +1 -1
  152. package/lib/constant/paths.js +1 -1
  153. package/lib/constant/risk.js +1 -1
  154. package/lib/context/app-resolver.js +1 -1
  155. package/lib/context/auth-resolver.js +1 -1
  156. package/lib/context/config-loader.js +1 -1
  157. package/lib/context.js +1 -1
  158. package/lib/core/alias-resolver.js +1 -1
  159. package/lib/core/api-client.js +1 -1
  160. package/lib/core/bff/config.js +1 -1
  161. package/lib/core/bff/file-system.js +1 -1
  162. package/lib/core/bff/hash.js +1 -1
  163. package/lib/core/bff/lock.js +1 -1
  164. package/lib/core/bff/utils.js +1 -1
  165. package/lib/core/db-resolver.js +1 -1
  166. package/lib/core/page/file-system.js +1 -1
  167. package/lib/core/page/hash.js +1 -1
  168. package/lib/core/page/lock.js +1 -1
  169. package/lib/core/sql-sync/config.js +1 -1
  170. package/lib/core/sql-sync/file-system.js +1 -1
  171. package/lib/core/sql-sync/hash.js +1 -1
  172. package/lib/core/sql-sync/lock.js +1 -1
  173. package/lib/core/sql-sync/utils.js +1 -1
  174. package/lib/core/sql-validator.js +1 -1
  175. package/lib/errors.js +1 -1
  176. package/lib/framework/build-all-flags.js +1 -1
  177. package/lib/framework/flags.js +1 -1
  178. package/lib/framework/help.js +1 -1
  179. package/lib/framework/index.js +1 -1
  180. package/lib/framework/output.js +1 -1
  181. package/lib/framework/response.js +1 -1
  182. package/lib/framework/runner-alias.js +1 -1
  183. package/lib/framework/runner.js +1 -1
  184. package/lib/framework/schema-export.js +1 -1
  185. package/lib/framework/types.js +1 -1
  186. package/lib/generated/build-info.js +1 -1
  187. package/lib/help.js +1 -1
  188. package/lib/skills/main.js +1 -1
  189. package/lib/skills/npx-skills-add.js +1 -1
  190. package/lib/telemetry/cli-command-trace.js +1 -1
  191. package/lib/telemetry/cli-help-trace.js +1 -1
  192. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  193. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  194. package/lib/telemetry/send-cli-trace-log.js +1 -1
  195. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  196. package/lib/utils/ai_config.js +1 -1
  197. package/lib/utils/apply-jq-filter.js +1 -1
  198. package/lib/utils/cdn-config.js +1 -1
  199. package/lib/utils/check-sdk-version.js +1 -1
  200. package/lib/utils/cli-version-check.js +1 -1
  201. package/lib/utils/cli-version-policy.js +1 -1
  202. package/lib/utils/config.js +1 -1
  203. package/lib/utils/copy-directory.js +1 -1
  204. package/lib/utils/entity-with-id.js +1 -1
  205. package/lib/utils/file-utils.js +1 -1
  206. package/lib/utils/guides-cdn.js +1 -1
  207. package/lib/utils/http-client.js +1 -1
  208. package/lib/utils/is-non-interactive.js +1 -1
  209. package/lib/utils/logger.js +1 -1
  210. package/lib/utils/params.js +1 -1
  211. package/lib/utils/platform.js +1 -1
  212. package/lib/utils/rules-cdn.js +1 -1
  213. package/lib/utils/sleep.js +1 -1
  214. package/lib/utils/template-replacer.js +1 -1
  215. package/lib/utils/update-notice.js +1 -1
  216. package/lib/utils/version.js +1 -1
  217. package/lib/utils/with-active-cookie.js +1 -1
  218. package/lib/utils/write-cli-side-channel.js +1 -1
  219. package/package.json +19 -3
  220. package/lib/commands/app/use.js +0 -1
@@ -1 +1 @@
1
- const a128_0x559022=a128_0x15fd;(function(_0x240a31,_0x2c103d){const _0x34dce1=a128_0x15fd,_0xc15632=_0x240a31();while(!![]){try{const _0x45983b=parseInt(_0x34dce1(0x166))/0x1*(-parseInt(_0x34dce1(0x16b))/0x2)+-parseInt(_0x34dce1(0x16e))/0x3+parseInt(_0x34dce1(0x169))/0x4*(parseInt(_0x34dce1(0x13b))/0x5)+-parseInt(_0x34dce1(0x140))/0x6+-parseInt(_0x34dce1(0x173))/0x7+parseInt(_0x34dce1(0x155))/0x8+parseInt(_0x34dce1(0x19a))/0x9;if(_0x45983b===_0x2c103d)break;else _0xc15632['push'](_0xc15632['shift']());}catch(_0x14a9d8){_0xc15632['push'](_0xc15632['shift']());}}}(a128_0x4e45,0xda74b));import a128_0x11574f from'chalk';import a128_0x1fe323 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_0x4e45(){const _0x304e11=['keys','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','lovrabet/lovrabet-skill\x20removed','isDirectory','status','\x20→\x20','object','label','args','19807056sZmGWQ','message','bold','entries','path','not\x20found\x20(will\x20create)','exit\x20','stringify','includes','.lovrabet','\x20\x20#\x20or','Remove\x20legacy\x20artifacts','CANCEL','oldArtifacts','green','Step\x201/7:\x20Config\x20migration\x20—\x20','none\x20found','white','.cursor/mcp.json','hasNewConfig','Step\x204/7:\x20Cleaning\x20MCP\x20config...','needed','gray','Step\x205/7:\x20Removing\x20old\x20skill...','step','cwd','skipped\x20(no\x20legacy\x20config)','@lovrabet/dataset-mcp-server','Install\x20new\x20skill','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','push','no\x20legacy\x20entry','@lovrabet/sdk','6373105nmDHAS','join','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','fields','\x20\x20Action:\x20delete','4640718AetTha','Config\x20migration','string','\x20\x20Current\x20version\x20in\x20','yes','files','Upgrade\x20@lovrabet/sdk','already\x20exists\x20(will\x20merge)','latest','Skill\x20swap:','Upgrade\x20cancelled.','red','removed\x20','oldPath','parse','lovrabet/rabetbase','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','yellow','succeed','\x20\x20bun\x20install','info','5610584ceJRTd','Remove\x20.lovrabet/','detail','\x20removed\x20(','\x20\x20\x20\x20\x20\x20\x20','Clean\x20MCP\x20config','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','@lovrabet/sdk:','.claude/skills/lovrabet','mcpServers','no\x20matching\x20entry\x20found','values','isArray','\x20removed','needsSkillSwap','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20\x20npm\x20install','11WrFgMl','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','filter','4qdHhhS','.cursor/rules/lovrabet_rules.mdc','168358LftZPr','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','no\x20legacy\x20config\x20found','3217152KtzoDf','configMigration','lovrabet/rabetbase\x20installed\x20globally','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20Step\x20','3570889anaHVF','fail','===\x20Upgrade\x20Summary\x20===','package.json','not\x20found\x20or\x20already\x20at\x20latest','done','failed','dependencies','sdkUpgrade','skipped','inherit','Step\x201/7:\x20Migrating\x20config...','[\x22@lovrabet/sdk\x22]:\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','log','length','cyan','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','not\x20needed','FOUND','start','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x206/7:\x20Installing\x20new\x20skill...','some','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','MCP\x20config:','utf8','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','oldMcpConfig'];a128_0x4e45=function(){return _0x304e11;};return a128_0x4e45();}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[a128_0x559022(0x168)](_0x4ba211=>_0x4ba211!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0xdeed8e){const _0x4fd95d=a128_0x559022,_0x279804=[];for(const _0x25dadf of Object[_0x4fd95d(0x160)](CORE_IDE_CONFIGS)){if(_0x25dadf[_0x4fd95d(0x145)])for(const _0xe36874 of _0x25dadf[_0x4fd95d(0x145)]){_0x279804['push'](resolve(_0xdeed8e,_0xe36874['path']));}}return _0x279804;}function analyse(_0xbf7576){const _0x14f893=a128_0x559022;let _0x194bc5=null;const _0x5d4cbf=resolve(_0xbf7576,NEW_CONFIG_NAME),_0x1364b6=existsSync(_0x5d4cbf);for(const _0x2559aa of LEGACY_CONFIG_NAMES){const _0x333f69=resolve(_0xbf7576,_0x2559aa);if(existsSync(_0x333f69)){const _0x5754a8=readConfigFile(_0x333f69),_0x257e11=Object[_0x14f893(0x191)](_0x5754a8)[_0x14f893(0x168)](_0x154c88=>typeof _0x5754a8[_0x154c88]!=='undefined');_0x194bc5={'oldPath':_0x333f69,'hasNewConfig':_0x1364b6,'fields':_0x257e11};break;}}const _0x1dfb84=[],_0x11b409=resolve(_0xbf7576,_0x14f893(0x1a3));if(existsSync(_0x11b409))_0x1dfb84['push'](_0x11b409);const _0x4b3c3e=resolve(_0xbf7576,_0x14f893(0x16a));if(existsSync(_0x4b3c3e))_0x1dfb84[_0x14f893(0x138)](_0x4b3c3e);const _0x15e6a9=resolve(_0xbf7576,_0x14f893(0x15d));if(existsSync(_0x15e6a9))_0x1dfb84[_0x14f893(0x138)](_0x15e6a9);for(const _0x4947d9 of collectIdeSkillFiles(_0xbf7576)){if(existsSync(_0x4947d9))_0x1dfb84[_0x14f893(0x138)](_0x4947d9);}let _0x451998=null;const _0x17a825=resolve(_0xbf7576,_0x14f893(0x1ac));if(existsSync(_0x17a825))try{const _0x545dda=JSON['parse'](readFileSync(_0x17a825,_0x14f893(0x18e)));if(_0x545dda?.[_0x14f893(0x15e)]&&typeof _0x545dda[_0x14f893(0x15e)]===_0x14f893(0x197)){const _0x5d81f7=[];for(const [_0x37ad49,_0x2a5557]of Object[_0x14f893(0x19d)](_0x545dda[_0x14f893(0x15e)])){const _0x405fe0=_0x2a5557;_0x405fe0?.[_0x14f893(0x199)]&&Array[_0x14f893(0x161)](_0x405fe0[_0x14f893(0x199)])&&_0x405fe0['args'][_0x14f893(0x18b)](_0x31432a=>typeof _0x31432a===_0x14f893(0x142)&&_0x31432a[_0x14f893(0x1a2)](_0x14f893(0x135)))&&_0x5d81f7['push'](_0x37ad49);}_0x5d81f7[_0x14f893(0x182)]>0x0&&(_0x451998={'path':_0x17a825,'keys':_0x5d81f7});}}catch{}const _0x344c53=_0x1dfb84[_0x14f893(0x182)]>0x0||_0x194bc5!==null;let _0x105e27=null;const _0x2e576d=resolve(_0xbf7576,_0x14f893(0x176));if(existsSync(_0x2e576d))try{const _0x48af28=JSON[_0x14f893(0x14e)](readFileSync(_0x2e576d,_0x14f893(0x18e)));for(const _0x5d6458 of[_0x14f893(0x17a),'devDependencies']){const _0x352f2f=_0x48af28?.[_0x5d6458]?.[_0x14f893(0x13a)];if(typeof _0x352f2f===_0x14f893(0x142)){_0x352f2f!=='latest'&&(_0x105e27={'pkgPath':_0x2e576d,'currentVersion':_0x352f2f,'field':_0x5d6458});break;}}}catch{}return{'configMigration':_0x194bc5,'oldArtifacts':_0x1dfb84,'oldMcpConfig':_0x451998,'needsSkillSwap':_0x344c53,'sdkUpgrade':_0x105e27};}function printReport(_0x2d29a9){const _0x5bc5cb=a128_0x559022,{configMigration:_0x2b3eb5,oldArtifacts:_0x1e754e,oldMcpConfig:_0x18e376,needsSkillSwap:_0xd29428}=_0x2d29a9;console['log'](''),console[_0x5bc5cb(0x181)](a128_0x11574f[_0x5bc5cb(0x19c)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x5bc5cb(0x181)]('');_0x2b3eb5?(console['log'](a128_0x11574f[_0x5bc5cb(0x183)]('Config\x20file:')+('\x20\x20'+a128_0x11574f[_0x5bc5cb(0x151)](_0x2b3eb5[_0x5bc5cb(0x14d)]))),console['log']('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x2b3eb5[_0x5bc5cb(0x1ad)]?a128_0x11574f['green'](_0x5bc5cb(0x147)):a128_0x11574f[_0x5bc5cb(0x1b0)](_0x5bc5cb(0x19f)))),console[_0x5bc5cb(0x181)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x2b3eb5[_0x5bc5cb(0x13e)][_0x5bc5cb(0x13c)](',\x20')),console['log'](_0x5bc5cb(0x164))):console['log'](a128_0x11574f[_0x5bc5cb(0x183)]('Config\x20file:')+'\x20\x20'+a128_0x11574f[_0x5bc5cb(0x1b0)](_0x5bc5cb(0x16d)));console['log']('');if(_0x1e754e[_0x5bc5cb(0x182)]>0x0){console['log'](a128_0x11574f[_0x5bc5cb(0x183)]('Legacy\x20artifacts:'));for(const _0xbb77e0 of _0x1e754e){console[_0x5bc5cb(0x181)]('\x20\x20'+a128_0x11574f[_0x5bc5cb(0x14b)](_0x5bc5cb(0x187))+'\x20\x20'+_0xbb77e0);}console['log'](_0x5bc5cb(0x13f));}else console[_0x5bc5cb(0x181)](a128_0x11574f['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a128_0x11574f[_0x5bc5cb(0x1b0)](_0x5bc5cb(0x1aa)));console[_0x5bc5cb(0x181)]('');_0x18e376?(console[_0x5bc5cb(0x181)](a128_0x11574f[_0x5bc5cb(0x183)]('MCP\x20config:')+('\x20\x20'+a128_0x11574f[_0x5bc5cb(0x151)](_0x18e376[_0x5bc5cb(0x19e)])+'\x20→\x20keys:\x20'+_0x18e376[_0x5bc5cb(0x191)]['join'](',\x20'))),console[_0x5bc5cb(0x181)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x5bc5cb(0x181)](a128_0x11574f[_0x5bc5cb(0x183)](_0x5bc5cb(0x18d))+'\x20\x20'+a128_0x11574f[_0x5bc5cb(0x1b0)](_0x5bc5cb(0x139)));console[_0x5bc5cb(0x181)](''),console[_0x5bc5cb(0x181)](a128_0x11574f['cyan'](_0x5bc5cb(0x149))+('\x20\x20'+(_0xd29428?a128_0x11574f[_0x5bc5cb(0x151)](_0x5bc5cb(0x1af)):a128_0x11574f['green'](_0x5bc5cb(0x186)))));_0xd29428&&console[_0x5bc5cb(0x181)](_0x5bc5cb(0x13d)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x2d29a9['sdkUpgrade']){const {currentVersion:_0x47a3b0,field:_0x13896a,pkgPath:_0x1ab796}=_0x2d29a9['sdkUpgrade'];console[_0x5bc5cb(0x181)](a128_0x11574f[_0x5bc5cb(0x183)](_0x5bc5cb(0x15c))+('\x20\x20'+a128_0x11574f[_0x5bc5cb(0x151)](_0x1ab796))),console[_0x5bc5cb(0x181)](_0x5bc5cb(0x143)+_0x13896a+':\x20'+a128_0x11574f[_0x5bc5cb(0x151)](_0x47a3b0)+'\x20→\x20'+a128_0x11574f[_0x5bc5cb(0x1a8)](_0x5bc5cb(0x148))),console[_0x5bc5cb(0x181)](_0x5bc5cb(0x15b));}else console[_0x5bc5cb(0x181)](a128_0x11574f[_0x5bc5cb(0x183)](_0x5bc5cb(0x15c))+'\x20\x20'+a128_0x11574f[_0x5bc5cb(0x1b0)](_0x5bc5cb(0x177)));console[_0x5bc5cb(0x181)]('');}function execConfigMigration(_0x12359b,_0x37ac4b){const _0x51d911=a128_0x559022,{configMigration:_0x32eaca}=_0x12359b;if(!_0x32eaca?.[_0x51d911(0x14d)])return{'step':0x1,'label':_0x51d911(0x141),'ok':!![],'detail':_0x51d911(0x134)};const _0xa85bb8=readConfigFile(_0x32eaca[_0x51d911(0x14d)]),_0x2cb60f=resolve(_0x37ac4b,NEW_CONFIG_NAME),_0x44818a=_0x32eaca[_0x51d911(0x1ad)]?readConfigFile(_0x2cb60f):{};for(const [_0x4644f9,_0x38d46d]of Object[_0x51d911(0x19d)](_0xa85bb8)){!(_0x4644f9 in _0x44818a)&&(_0x44818a[_0x4644f9]=_0x38d46d);}writeConfigFile(_0x2cb60f,_0x44818a);const _0x28a819=_0x32eaca[_0x51d911(0x14d)]+'.bak';return renameSync(_0x32eaca[_0x51d911(0x14d)],_0x28a819),{'step':0x1,'label':_0x51d911(0x141),'ok':!![],'detail':_0x32eaca['oldPath']+_0x51d911(0x196)+_0x2cb60f+'\x20(backup:\x20'+_0x28a819+')'};}function execRemoveOldArtifacts(_0x1033b9){const _0x1f688c=a128_0x559022,_0x308582=[];for(const _0x526e5f of _0x1033b9){try{if(!existsSync(_0x526e5f))continue;const _0x28623f=tryStat(_0x526e5f);_0x28623f?.[_0x1f688c(0x194)]()?rmSync(_0x526e5f,{'recursive':!![],'force':!![]}):unlinkSync(_0x526e5f);}catch(_0x42732f){_0x308582[_0x1f688c(0x138)](_0x526e5f+':\x20'+_0x42732f[_0x1f688c(0x19b)]);}}return{'step':0x3,'label':_0x1f688c(0x1a5),'ok':_0x308582[_0x1f688c(0x182)]===0x0,'detail':_0x308582['length']>0x0?_0x1033b9[_0x1f688c(0x182)]-_0x308582['length']+'/'+_0x1033b9[_0x1f688c(0x182)]+_0x1f688c(0x158)+_0x308582[_0x1f688c(0x13c)](';\x20')+')':_0x1033b9[_0x1f688c(0x182)]+_0x1f688c(0x162)};}function execCleanMcp(_0x3cb187){const _0x384a5e=a128_0x559022;if(!_0x3cb187[_0x384a5e(0x190)])return{'step':0x4,'label':_0x384a5e(0x15a),'ok':!![],'detail':_0x384a5e(0x17c)};try{const _0x501277=readFileSync(_0x3cb187[_0x384a5e(0x190)]['path'],_0x384a5e(0x18e)),_0x5c13d3=JSON[_0x384a5e(0x14e)](_0x501277);if(_0x5c13d3?.[_0x384a5e(0x15e)]&&typeof _0x5c13d3[_0x384a5e(0x15e)]===_0x384a5e(0x197)){const _0x3c58c2=[];for(const [_0x18145a,_0x518bcb]of Object[_0x384a5e(0x19d)](_0x5c13d3[_0x384a5e(0x15e)])){_0x518bcb?.['args']&&Array[_0x384a5e(0x161)](_0x518bcb[_0x384a5e(0x199)])&&_0x518bcb[_0x384a5e(0x199)][_0x384a5e(0x18b)](_0x464677=>typeof _0x464677==='string'&&_0x464677[_0x384a5e(0x1a2)](_0x384a5e(0x135)))&&_0x3c58c2[_0x384a5e(0x138)](_0x18145a);}for(const _0x205de1 of _0x3c58c2){delete _0x5c13d3[_0x384a5e(0x15e)][_0x205de1];}return _0x3c58c2[_0x384a5e(0x182)]>0x0&&writeFileSync(_0x3cb187[_0x384a5e(0x190)][_0x384a5e(0x19e)],JSON[_0x384a5e(0x1a1)](_0x5c13d3,null,0x2)+'\x0a',_0x384a5e(0x18e)),{'step':0x4,'label':_0x384a5e(0x15a),'ok':!![],'detail':_0x384a5e(0x14c)+_0x3c58c2[_0x384a5e(0x13c)](',\x20')+'\x20from\x20'+_0x3cb187[_0x384a5e(0x190)]['path']};}return{'step':0x4,'label':_0x384a5e(0x15a),'ok':!![],'detail':_0x384a5e(0x15f)};}catch(_0x414567){return{'step':0x4,'label':_0x384a5e(0x15a),'ok':![],'detail':_0x414567['message']};}}function execSkillsRemove(_0x53fdf6,_0x384395){const _0x240c1f=a128_0x559022,_0x4a1008=runNpxSkillsRemove(_0x53fdf6,{'stdio':_0x240c1f(0x17d),'yes':_0x384395});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x4a1008['ok'],'detail':_0x4a1008['ok']?_0x240c1f(0x193):_0x4a1008['error']??_0x240c1f(0x1a0)+_0x4a1008[_0x240c1f(0x195)]};}function execSkillsAdd(_0x5c3228,_0x3bd49e){const _0x500fac=a128_0x559022,_0x7f5fde=runNpxSkillsAddGlobal(_0x5c3228,_0x500fac(0x14f),{'stdio':'inherit','yes':_0x3bd49e});return{'step':0x6,'label':_0x500fac(0x136),'ok':_0x7f5fde['ok'],'detail':_0x7f5fde['ok']?_0x500fac(0x170):_0x7f5fde['error']??_0x500fac(0x1a0)+_0x7f5fde[_0x500fac(0x195)]};}function execUpgradeSdk(_0x5bbb78){const _0x291e74=a128_0x559022;if(!_0x5bbb78['sdkUpgrade'])return{'step':0x7,'label':_0x291e74(0x146),'ok':!![],'detail':_0x291e74(0x16c)};const {pkgPath:_0x17127a,currentVersion:_0x46fd09,field:_0x1ddf51}=_0x5bbb78[_0x291e74(0x17b)];try{const _0x241a72=readFileSync(_0x17127a,'utf8'),_0x3e2426=JSON[_0x291e74(0x14e)](_0x241a72);return _0x3e2426[_0x1ddf51][_0x291e74(0x13a)]=_0x291e74(0x148),writeFileSync(_0x17127a,JSON[_0x291e74(0x1a1)](_0x3e2426,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x291e74(0x146),'ok':!![],'detail':_0x1ddf51+_0x291e74(0x17f)+_0x46fd09+'\x20→\x20latest'};}catch(_0x19f276){return{'step':0x7,'label':_0x291e74(0x146),'ok':![],'detail':_0x19f276[_0x291e74(0x19b)]};}}function tryStat(_0xa9d735){try{return statSync(_0xa9d735);}catch{return undefined;}}function a128_0x15fd(_0x421327,_0x2655b9){_0x421327=_0x421327-0x133;const _0x4e45d7=a128_0x4e45();let _0x15fd71=_0x4e45d7[_0x421327];return _0x15fd71;}function printSummary(_0x1a7f3d){const _0x11d861=a128_0x559022;console[_0x11d861(0x181)](''),console[_0x11d861(0x181)](a128_0x11574f[_0x11d861(0x19c)](_0x11d861(0x175))),console[_0x11d861(0x181)]('');for(const _0xec2d0b of _0x1a7f3d){const _0x3ce611=_0xec2d0b['ok']?a128_0x11574f['green']('OK'):a128_0x11574f['red']('FAIL');console[_0x11d861(0x181)]('\x20\x20'+_0x3ce611+_0x11d861(0x172)+_0xec2d0b[_0x11d861(0x1b2)]+':\x20'+_0xec2d0b[_0x11d861(0x198)]);if(_0xec2d0b[_0x11d861(0x157)])console[_0x11d861(0x181)](_0x11d861(0x159)+a128_0x11574f[_0x11d861(0x1b0)](_0xec2d0b[_0x11d861(0x157)]));}console[_0x11d861(0x181)]('');}export async function upgradeApp(_0x4bd5f7,_0x3db4f0){const _0x45c7b7=a128_0x559022,_0x4588cb=process[_0x45c7b7(0x133)](),_0x267a54=analyse(_0x4588cb),_0x4ed8a9=!_0x267a54[_0x45c7b7(0x16f)]&&_0x267a54[_0x45c7b7(0x1a7)]['length']===0x0&&!_0x267a54[_0x45c7b7(0x190)]&&!_0x267a54[_0x45c7b7(0x163)]&&!_0x267a54[_0x45c7b7(0x17b)];if(_0x4ed8a9){console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x1a8)](_0x45c7b7(0x184)));return;}printReport(_0x267a54);const _0x50c165=!!(_0x3db4f0[_0x45c7b7(0x144)]||_0x3db4f0['Y']||_0x4bd5f7);if(!_0x50c165)try{const _0x4510ab=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x4510ab){console['log'](a128_0x11574f['gray']('Upgrade\x20cancelled.'));return;}}catch(_0x452514){if(_0x452514?.[_0x45c7b7(0x19b)]===_0x45c7b7(0x1a6)){console['log'](a128_0x11574f[_0x45c7b7(0x1b0)](_0x45c7b7(0x14a)));return;}throw _0x452514;}const _0x2e71bc=[],_0x26eb65=a128_0x1fe323({'text':_0x45c7b7(0x17e),'color':_0x45c7b7(0x183)})[_0x45c7b7(0x188)](),_0x44cdb3=execConfigMigration(_0x267a54,_0x4588cb);_0x2e71bc[_0x45c7b7(0x138)](_0x44cdb3),_0x26eb65[_0x44cdb3['ok']?_0x45c7b7(0x152):_0x45c7b7(0x174)](_0x45c7b7(0x1a9)+(_0x44cdb3[_0x45c7b7(0x157)]??(_0x44cdb3['ok']?_0x45c7b7(0x178):'failed')));const _0x1b7140=resolve(_0x4588cb,_0x45c7b7(0x1a3)),_0x116901=a128_0x1fe323({'text':_0x45c7b7(0x150),'color':'cyan'})[_0x45c7b7(0x188)]();if(existsSync(_0x1b7140))try{rmSync(_0x1b7140,{'recursive':!![],'force':!![]}),_0x116901[_0x45c7b7(0x152)](_0x45c7b7(0x171)),_0x2e71bc['push']({'step':0x2,'label':_0x45c7b7(0x156),'ok':!![]});}catch(_0x48146b){_0x116901[_0x45c7b7(0x174)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x48146b[_0x45c7b7(0x19b)]),_0x2e71bc[_0x45c7b7(0x138)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x48146b[_0x45c7b7(0x19b)]});}else _0x116901[_0x45c7b7(0x154)](_0x45c7b7(0x167)),_0x2e71bc['push']({'step':0x2,'label':_0x45c7b7(0x156),'ok':!![],'detail':'skipped'});const _0x34502e=a128_0x1fe323({'text':_0x45c7b7(0x18c),'color':_0x45c7b7(0x183)})['start'](),_0x38c5cc=execRemoveOldArtifacts(_0x267a54[_0x45c7b7(0x1a7)]);_0x2e71bc[_0x45c7b7(0x138)](_0x38c5cc),_0x34502e[_0x38c5cc['ok']?'succeed':_0x45c7b7(0x174)](_0x45c7b7(0x137)+(_0x38c5cc[_0x45c7b7(0x157)]??(_0x38c5cc['ok']?_0x45c7b7(0x178):_0x45c7b7(0x179))));const _0x6b6379=a128_0x1fe323({'text':_0x45c7b7(0x1ae),'color':_0x45c7b7(0x183)})[_0x45c7b7(0x188)](),_0x5913f0=execCleanMcp(_0x267a54);_0x2e71bc[_0x45c7b7(0x138)](_0x5913f0),_0x6b6379[_0x5913f0['ok']?_0x45c7b7(0x152):_0x45c7b7(0x174)](_0x45c7b7(0x180)+(_0x5913f0[_0x45c7b7(0x157)]??(_0x5913f0['ok']?_0x45c7b7(0x178):_0x45c7b7(0x179))));const _0x46682e=a128_0x1fe323({'text':_0x45c7b7(0x1b1),'color':_0x45c7b7(0x183)})[_0x45c7b7(0x188)](),_0x53d709=execSkillsRemove(_0x4588cb,_0x50c165);_0x2e71bc[_0x45c7b7(0x138)](_0x53d709),_0x46682e[_0x53d709['ok']?'succeed':'fail'](_0x45c7b7(0x192)+(_0x53d709[_0x45c7b7(0x157)]??(_0x53d709['ok']?_0x45c7b7(0x178):_0x45c7b7(0x179))));const _0x36b592=a128_0x1fe323({'text':_0x45c7b7(0x18a),'color':'cyan'})[_0x45c7b7(0x188)](),_0x3ed8de=execSkillsAdd(_0x4588cb,_0x50c165);_0x2e71bc[_0x45c7b7(0x138)](_0x3ed8de),_0x36b592[_0x3ed8de['ok']?_0x45c7b7(0x152):_0x45c7b7(0x174)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x3ed8de[_0x45c7b7(0x157)]??(_0x3ed8de['ok']?_0x45c7b7(0x178):_0x45c7b7(0x179))));const _0x4a659b=a128_0x1fe323({'text':_0x45c7b7(0x18f),'color':_0x45c7b7(0x183)})[_0x45c7b7(0x188)](),_0x12725f=execUpgradeSdk(_0x267a54);_0x2e71bc['push'](_0x12725f),_0x4a659b[_0x12725f['ok']?_0x45c7b7(0x152):_0x45c7b7(0x174)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x12725f['detail']??(_0x12725f['ok']?_0x45c7b7(0x178):_0x45c7b7(0x179)))),printSummary(_0x2e71bc);const _0x22606b=_0x2e71bc[_0x45c7b7(0x18b)](_0x2deff7=>!_0x2deff7['ok']);_0x22606b?console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x151)](_0x45c7b7(0x185))):console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x1a8)]('Upgrade\x20completed\x20successfully!')),_0x12725f['ok']&&_0x267a54[_0x45c7b7(0x17b)]&&(console[_0x45c7b7(0x181)](''),console['log'](a128_0x11574f['bold']['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a128_0x11574f['cyan'](_0x45c7b7(0x189))),console[_0x45c7b7(0x181)](''),console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x1ab)](_0x45c7b7(0x165))),console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x1ab)](_0x45c7b7(0x1a4))),console[_0x45c7b7(0x181)](a128_0x11574f[_0x45c7b7(0x1ab)](_0x45c7b7(0x153))),console[_0x45c7b7(0x181)](''));}
1
+ (function(_0x1ada7f,_0xa53b24){const _0x15e159=a127_0x33f1,_0x13ce27=_0x1ada7f();while(!![]){try{const _0x4ef4f9=-parseInt(_0x15e159(0x148))/0x1+parseInt(_0x15e159(0x166))/0x2+-parseInt(_0x15e159(0x189))/0x3*(parseInt(_0x15e159(0x177))/0x4)+parseInt(_0x15e159(0x160))/0x5*(-parseInt(_0x15e159(0x14a))/0x6)+parseInt(_0x15e159(0x12d))/0x7+-parseInt(_0x15e159(0x193))/0x8+parseInt(_0x15e159(0x15b))/0x9;if(_0x4ef4f9===_0xa53b24)break;else _0x13ce27['push'](_0x13ce27['shift']());}catch(_0x5ae5e1){_0x13ce27['push'](_0x13ce27['shift']());}}}(a127_0x2931,0x5113c));import a127_0x389592 from'chalk';import a127_0x56bc45 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a127_0x2931(){const _0xb37dc9=['cwd','4388335atJmix','needsSkillSwap','inherit','filter','Step\x201/7:\x20Config\x20migration\x20—\x20','@lovrabet/dataset-mcp-server','stringify','\x20(backup:\x20','Clean\x20MCP\x20config','skipped','no\x20legacy\x20config\x20found','lovrabet/rabetbase\x20installed\x20globally','hasNewConfig','mcpServers','info','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','utf8','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','detail','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','succeed','oldPath','\x20removed\x20(','files','\x20\x20Action:\x20delete','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','661871CgilDS','not\x20found\x20(will\x20create)','94002kBqDVP','undefined','no\x20legacy\x20entry','Legacy\x20artifacts:','\x20→\x20latest','none\x20found','some','FAIL','.claude/skills/lovrabet','length','done','error','status','lovrabet/lovrabet-skill\x20removed','\x20removed','.cursor/mcp.json','args','11223522YPfUdw','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Remove\x20legacy\x20artifacts','lovrabet/rabetbase','.cursor/rules/lovrabet_rules.mdc','180uYUQOV','Install\x20new\x20skill','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','oldArtifacts','\x20→\x20keys:\x20','green','88900hmLgDh','isDirectory','latest','log','\x20\x20npm\x20install','\x20\x20#\x20or','bold','red','@lovrabet/sdk','failed','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20→\x20','\x20\x20bun\x20install','fields','Upgrade\x20cancelled.','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20New\x20config\x20(.rabetbase.json):\x20','1190012UPeTrN','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','skipped\x20(no\x20legacy\x20config)','parse','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Skill\x20swap:','\x20\x20\x20\x20\x20\x20\x20','isArray','path','FOUND','fail','sdkUpgrade','push','Remove\x20.lovrabet/','keys','Upgrade\x20@lovrabet/sdk','message','3jgrXOY','includes','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','label','@lovrabet/sdk:','entries','===\x20Upgrade\x20Analysis\x20===','white','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','503480CMImSF','object','not\x20found\x20or\x20already\x20at\x20latest','Step\x201/7:\x20Migrating\x20config...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','.lovrabet','start','join','already\x20exists\x20(will\x20merge)','cyan','\x20\x20Current\x20version\x20in\x20','configMigration','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','string','\x20from\x20','Upgrade\x20completed\x20successfully!','Proceed\x20with\x20upgrade?','Remove\x20old\x20skill','Config\x20migration','MCP\x20config:','yellow','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','gray','yes','oldMcpConfig','exit\x20'];a127_0x2931=function(){return _0xb37dc9;};return a127_0x2931();}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';function a127_0x33f1(_0x5202df,_0x321a34){_0x5202df=_0x5202df-0x11e;const _0x293149=a127_0x2931();let _0x33f1ee=_0x293149[_0x5202df];return _0x33f1ee;}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'](_0x4cf1d3=>_0x4cf1d3!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5a1d30){const _0x1f0ea9=a127_0x33f1,_0x1c7d2a=[];for(const _0x13ac27 of Object['values'](CORE_IDE_CONFIGS)){if(_0x13ac27[_0x1f0ea9(0x144)])for(const _0x52264a of _0x13ac27[_0x1f0ea9(0x144)]){_0x1c7d2a[_0x1f0ea9(0x184)](resolve(_0x5a1d30,_0x52264a['path']));}}return _0x1c7d2a;}function analyse(_0x22f644){const _0x580051=a127_0x33f1;let _0x18304c=null;const _0x2eebac=resolve(_0x22f644,NEW_CONFIG_NAME),_0x51c7cf=existsSync(_0x2eebac);for(const _0x1a8e7a of LEGACY_CONFIG_NAMES){const _0xa9b9c=resolve(_0x22f644,_0x1a8e7a);if(existsSync(_0xa9b9c)){const _0x608d95=readConfigFile(_0xa9b9c),_0x1f7b60=Object[_0x580051(0x186)](_0x608d95)[_0x580051(0x130)](_0x13053f=>typeof _0x608d95[_0x13053f]!==_0x580051(0x14b));_0x18304c={'oldPath':_0xa9b9c,'hasNewConfig':_0x51c7cf,'fields':_0x1f7b60};break;}}const _0x36eeaa=[],_0x21fd96=resolve(_0x22f644,_0x580051(0x198));if(existsSync(_0x21fd96))_0x36eeaa[_0x580051(0x184)](_0x21fd96);const _0x30e7f1=resolve(_0x22f644,_0x580051(0x15f));if(existsSync(_0x30e7f1))_0x36eeaa['push'](_0x30e7f1);const _0x832ce2=resolve(_0x22f644,_0x580051(0x152));if(existsSync(_0x832ce2))_0x36eeaa['push'](_0x832ce2);for(const _0x3a70bb of collectIdeSkillFiles(_0x22f644)){if(existsSync(_0x3a70bb))_0x36eeaa['push'](_0x3a70bb);}let _0x161a70=null;const _0x38d10f=resolve(_0x22f644,_0x580051(0x159));if(existsSync(_0x38d10f))try{const _0x3755a2=JSON[_0x580051(0x17b)](readFileSync(_0x38d10f,_0x580051(0x13d)));if(_0x3755a2?.['mcpServers']&&typeof _0x3755a2['mcpServers']===_0x580051(0x194)){const _0x170bcf=[];for(const [_0x6dd29c,_0x3680a9]of Object[_0x580051(0x18f)](_0x3755a2[_0x580051(0x13a)])){const _0x11c18f=_0x3680a9;_0x11c18f?.[_0x580051(0x15a)]&&Array[_0x580051(0x17f)](_0x11c18f[_0x580051(0x15a)])&&_0x11c18f[_0x580051(0x15a)]['some'](_0x3ef18f=>typeof _0x3ef18f===_0x580051(0x11f)&&_0x3ef18f['includes']('@lovrabet/dataset-mcp-server'))&&_0x170bcf[_0x580051(0x184)](_0x6dd29c);}_0x170bcf[_0x580051(0x153)]>0x0&&(_0x161a70={'path':_0x38d10f,'keys':_0x170bcf});}}catch{}const _0x36bdbb=_0x36eeaa[_0x580051(0x153)]>0x0||_0x18304c!==null;let _0x3b19a7=null;const _0x915a7f=resolve(_0x22f644,'package.json');if(existsSync(_0x915a7f))try{const _0x35e8ec=JSON[_0x580051(0x17b)](readFileSync(_0x915a7f,_0x580051(0x13d)));for(const _0xaeac61 of['dependencies','devDependencies']){const _0x181465=_0x35e8ec?.[_0xaeac61]?.['@lovrabet/sdk'];if(typeof _0x181465===_0x580051(0x11f)){_0x181465!==_0x580051(0x168)&&(_0x3b19a7={'pkgPath':_0x915a7f,'currentVersion':_0x181465,'field':_0xaeac61});break;}}}catch{}return{'configMigration':_0x18304c,'oldArtifacts':_0x36eeaa,'oldMcpConfig':_0x161a70,'needsSkillSwap':_0x36bdbb,'sdkUpgrade':_0x3b19a7};}function printReport(_0x17057e){const _0x4ec80b=a127_0x33f1,{configMigration:_0x37a303,oldArtifacts:_0x30ea82,oldMcpConfig:_0x58d565,needsSkillSwap:_0x368429}=_0x17057e;console[_0x4ec80b(0x169)](''),console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x16c)](_0x4ec80b(0x190))),console['log']('');_0x37a303?(console['log'](a127_0x389592['cyan']('Config\x20file:')+('\x20\x20'+a127_0x389592[_0x4ec80b(0x126)](_0x37a303[_0x4ec80b(0x142)]))),console[_0x4ec80b(0x169)](_0x4ec80b(0x176)+(_0x37a303[_0x4ec80b(0x139)]?a127_0x389592[_0x4ec80b(0x165)](_0x4ec80b(0x19b)):a127_0x389592['gray'](_0x4ec80b(0x149)))),console[_0x4ec80b(0x169)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x37a303[_0x4ec80b(0x173)][_0x4ec80b(0x19a)](',\x20')),console[_0x4ec80b(0x169)](_0x4ec80b(0x13e))):console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)]('Config\x20file:')+'\x20\x20'+a127_0x389592[_0x4ec80b(0x128)](_0x4ec80b(0x137)));console[_0x4ec80b(0x169)]('');if(_0x30ea82[_0x4ec80b(0x153)]>0x0){console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)](_0x4ec80b(0x14d)));for(const _0x23ea21 of _0x30ea82){console[_0x4ec80b(0x169)]('\x20\x20'+a127_0x389592[_0x4ec80b(0x16d)](_0x4ec80b(0x181))+'\x20\x20'+_0x23ea21);}console['log'](_0x4ec80b(0x145));}else console[_0x4ec80b(0x169)](a127_0x389592['cyan'](_0x4ec80b(0x14d))+'\x20\x20'+a127_0x389592['gray'](_0x4ec80b(0x14f)));console[_0x4ec80b(0x169)]('');_0x58d565?(console[_0x4ec80b(0x169)](a127_0x389592['cyan'](_0x4ec80b(0x125))+('\x20\x20'+a127_0x389592['yellow'](_0x58d565['path'])+_0x4ec80b(0x164)+_0x58d565['keys'][_0x4ec80b(0x19a)](',\x20'))),console[_0x4ec80b(0x169)](_0x4ec80b(0x17c))):console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)](_0x4ec80b(0x125))+'\x20\x20'+a127_0x389592['gray'](_0x4ec80b(0x14c)));console[_0x4ec80b(0x169)](''),console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)](_0x4ec80b(0x17d))+('\x20\x20'+(_0x368429?a127_0x389592['yellow']('needed'):a127_0x389592[_0x4ec80b(0x165)]('not\x20needed'))));_0x368429&&console[_0x4ec80b(0x169)](_0x4ec80b(0x13c)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x4ec80b(0x169)]('');if(_0x17057e[_0x4ec80b(0x183)]){const {currentVersion:_0x339875,field:_0x19ba96,pkgPath:_0x283408}=_0x17057e[_0x4ec80b(0x183)];console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)](_0x4ec80b(0x18e))+('\x20\x20'+a127_0x389592['yellow'](_0x283408))),console[_0x4ec80b(0x169)](_0x4ec80b(0x19d)+_0x19ba96+':\x20'+a127_0x389592[_0x4ec80b(0x126)](_0x339875)+_0x4ec80b(0x171)+a127_0x389592[_0x4ec80b(0x165)](_0x4ec80b(0x168))),console[_0x4ec80b(0x169)](_0x4ec80b(0x15c));}else console[_0x4ec80b(0x169)](a127_0x389592[_0x4ec80b(0x19c)](_0x4ec80b(0x18e))+'\x20\x20'+a127_0x389592[_0x4ec80b(0x128)](_0x4ec80b(0x195)));console[_0x4ec80b(0x169)]('');}function execConfigMigration(_0xf3331a,_0xd232e8){const _0x5bb2b6=a127_0x33f1,{configMigration:_0xe153e9}=_0xf3331a;if(!_0xe153e9?.[_0x5bb2b6(0x142)])return{'step':0x1,'label':_0x5bb2b6(0x124),'ok':!![],'detail':_0x5bb2b6(0x17a)};const _0x2933fa=readConfigFile(_0xe153e9[_0x5bb2b6(0x142)]),_0x5bcb96=resolve(_0xd232e8,NEW_CONFIG_NAME),_0x316597=_0xe153e9[_0x5bb2b6(0x139)]?readConfigFile(_0x5bcb96):{};for(const [_0x2e2dbd,_0x35eb18]of Object[_0x5bb2b6(0x18f)](_0x2933fa)){!(_0x2e2dbd in _0x316597)&&(_0x316597[_0x2e2dbd]=_0x35eb18);}writeConfigFile(_0x5bcb96,_0x316597);const _0x4f0180=_0xe153e9[_0x5bb2b6(0x142)]+'.bak';return renameSync(_0xe153e9[_0x5bb2b6(0x142)],_0x4f0180),{'step':0x1,'label':_0x5bb2b6(0x124),'ok':!![],'detail':_0xe153e9[_0x5bb2b6(0x142)]+_0x5bb2b6(0x171)+_0x5bcb96+_0x5bb2b6(0x134)+_0x4f0180+')'};}function execRemoveOldArtifacts(_0x185ca4){const _0x4bc1de=a127_0x33f1,_0xfe5075=[];for(const _0x2e550b of _0x185ca4){try{if(!existsSync(_0x2e550b))continue;const _0x2ea29f=tryStat(_0x2e550b);_0x2ea29f?.[_0x4bc1de(0x167)]()?rmSync(_0x2e550b,{'recursive':!![],'force':!![]}):unlinkSync(_0x2e550b);}catch(_0x3fbe97){_0xfe5075[_0x4bc1de(0x184)](_0x2e550b+':\x20'+_0x3fbe97[_0x4bc1de(0x188)]);}}return{'step':0x3,'label':_0x4bc1de(0x15d),'ok':_0xfe5075[_0x4bc1de(0x153)]===0x0,'detail':_0xfe5075['length']>0x0?_0x185ca4[_0x4bc1de(0x153)]-_0xfe5075[_0x4bc1de(0x153)]+'/'+_0x185ca4[_0x4bc1de(0x153)]+_0x4bc1de(0x143)+_0xfe5075[_0x4bc1de(0x19a)](';\x20')+')':_0x185ca4[_0x4bc1de(0x153)]+_0x4bc1de(0x158)};}function execCleanMcp(_0x1c3188){const _0x544dd3=a127_0x33f1;if(!_0x1c3188[_0x544dd3(0x12a)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x544dd3(0x136)};try{const _0x2490b2=readFileSync(_0x1c3188[_0x544dd3(0x12a)][_0x544dd3(0x180)],_0x544dd3(0x13d)),_0xb99be3=JSON[_0x544dd3(0x17b)](_0x2490b2);if(_0xb99be3?.['mcpServers']&&typeof _0xb99be3[_0x544dd3(0x13a)]===_0x544dd3(0x194)){const _0xc76082=[];for(const [_0x2356bd,_0x356c88]of Object['entries'](_0xb99be3[_0x544dd3(0x13a)])){_0x356c88?.[_0x544dd3(0x15a)]&&Array['isArray'](_0x356c88[_0x544dd3(0x15a)])&&_0x356c88[_0x544dd3(0x15a)][_0x544dd3(0x150)](_0xb033c5=>typeof _0xb033c5===_0x544dd3(0x11f)&&_0xb033c5[_0x544dd3(0x18a)](_0x544dd3(0x132)))&&_0xc76082['push'](_0x2356bd);}for(const _0x4af5c3 of _0xc76082){delete _0xb99be3['mcpServers'][_0x4af5c3];}return _0xc76082['length']>0x0&&writeFileSync(_0x1c3188[_0x544dd3(0x12a)]['path'],JSON[_0x544dd3(0x133)](_0xb99be3,null,0x2)+'\x0a',_0x544dd3(0x13d)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0xc76082[_0x544dd3(0x19a)](',\x20')+_0x544dd3(0x120)+_0x1c3188['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x544dd3(0x135),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x1dc0a5){return{'step':0x4,'label':_0x544dd3(0x135),'ok':![],'detail':_0x1dc0a5[_0x544dd3(0x188)]};}}function execSkillsRemove(_0x2d7bea,_0x3959cd){const _0x413eb2=a127_0x33f1,_0x4b1d0d=runNpxSkillsRemove(_0x2d7bea,{'stdio':_0x413eb2(0x12f),'yes':_0x3959cd});return{'step':0x5,'label':_0x413eb2(0x123),'ok':_0x4b1d0d['ok'],'detail':_0x4b1d0d['ok']?_0x413eb2(0x157):_0x4b1d0d['error']??_0x413eb2(0x12b)+_0x4b1d0d[_0x413eb2(0x156)]};}function execSkillsAdd(_0x3f312a,_0x3f67c0){const _0x31c7bc=a127_0x33f1,_0x5862e0=runNpxSkillsAddGlobal(_0x3f312a,_0x31c7bc(0x15e),{'stdio':_0x31c7bc(0x12f),'yes':_0x3f67c0});return{'step':0x6,'label':_0x31c7bc(0x161),'ok':_0x5862e0['ok'],'detail':_0x5862e0['ok']?_0x31c7bc(0x138):_0x5862e0[_0x31c7bc(0x155)]??_0x31c7bc(0x12b)+_0x5862e0[_0x31c7bc(0x156)]};}function execUpgradeSdk(_0x2b029d){const _0x515bf5=a127_0x33f1;if(!_0x2b029d[_0x515bf5(0x183)])return{'step':0x7,'label':_0x515bf5(0x187),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4645aa,currentVersion:_0x4ceb8e,field:_0x3813d1}=_0x2b029d['sdkUpgrade'];try{const _0x371c65=readFileSync(_0x4645aa,_0x515bf5(0x13d)),_0x32a3e5=JSON['parse'](_0x371c65);return _0x32a3e5[_0x3813d1][_0x515bf5(0x16e)]='latest',writeFileSync(_0x4645aa,JSON[_0x515bf5(0x133)](_0x32a3e5,null,0x2)+'\x0a',_0x515bf5(0x13d)),{'step':0x7,'label':_0x515bf5(0x187),'ok':!![],'detail':_0x3813d1+_0x515bf5(0x18c)+_0x4ceb8e+_0x515bf5(0x14e)};}catch(_0xe3e240){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0xe3e240[_0x515bf5(0x188)]};}}function tryStat(_0x167196){try{return statSync(_0x167196);}catch{return undefined;}}function printSummary(_0x2bb593){const _0x9069aa=a127_0x33f1;console[_0x9069aa(0x169)](''),console['log'](a127_0x389592[_0x9069aa(0x16c)]('===\x20Upgrade\x20Summary\x20===')),console[_0x9069aa(0x169)]('');for(const _0x30f9e4 of _0x2bb593){const _0x301841=_0x30f9e4['ok']?a127_0x389592['green']('OK'):a127_0x389592['red'](_0x9069aa(0x151));console[_0x9069aa(0x169)]('\x20\x20'+_0x301841+'\x20\x20Step\x20'+_0x30f9e4['step']+':\x20'+_0x30f9e4[_0x9069aa(0x18d)]);if(_0x30f9e4[_0x9069aa(0x13f)])console[_0x9069aa(0x169)](_0x9069aa(0x17e)+a127_0x389592[_0x9069aa(0x128)](_0x30f9e4[_0x9069aa(0x13f)]));}console[_0x9069aa(0x169)]('');}export async function upgradeApp(_0x308bfb,_0x4fa64d){const _0x2bf904=a127_0x33f1,_0x4112b0=process[_0x2bf904(0x12c)](),_0x4e9ea4=analyse(_0x4112b0),_0x23e8ad=!_0x4e9ea4[_0x2bf904(0x19e)]&&_0x4e9ea4['oldArtifacts']['length']===0x0&&!_0x4e9ea4[_0x2bf904(0x12a)]&&!_0x4e9ea4[_0x2bf904(0x12e)]&&!_0x4e9ea4[_0x2bf904(0x183)];if(_0x23e8ad){console[_0x2bf904(0x169)](a127_0x389592['green'](_0x2bf904(0x178)));return;}printReport(_0x4e9ea4);const _0x28ba77=!!(_0x4fa64d[_0x2bf904(0x129)]||_0x4fa64d['Y']||_0x308bfb);if(!_0x28ba77)try{const _0x38e4b7=await askConfirm(_0x2bf904(0x122));if(!_0x38e4b7){console[_0x2bf904(0x169)](a127_0x389592[_0x2bf904(0x128)](_0x2bf904(0x174)));return;}}catch(_0x2d6671){if(_0x2d6671?.['message']==='CANCEL'){console[_0x2bf904(0x169)](a127_0x389592[_0x2bf904(0x128)]('Upgrade\x20cancelled.'));return;}throw _0x2d6671;}const _0x5283bd=[],_0x33c257=a127_0x56bc45({'text':_0x2bf904(0x196),'color':_0x2bf904(0x19c)})[_0x2bf904(0x199)](),_0x55c642=execConfigMigration(_0x4e9ea4,_0x4112b0);_0x5283bd['push'](_0x55c642),_0x33c257[_0x55c642['ok']?'succeed':'fail'](_0x2bf904(0x131)+(_0x55c642[_0x2bf904(0x13f)]??(_0x55c642['ok']?'done':'failed')));const _0x5f4729=resolve(_0x4112b0,'.lovrabet'),_0x2c6f3b=a127_0x56bc45({'text':_0x2bf904(0x162),'color':_0x2bf904(0x19c)})[_0x2bf904(0x199)]();if(existsSync(_0x5f4729))try{rmSync(_0x5f4729,{'recursive':!![],'force':!![]}),_0x2c6f3b[_0x2bf904(0x141)](_0x2bf904(0x11e)),_0x5283bd[_0x2bf904(0x184)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x3f4a00){_0x2c6f3b[_0x2bf904(0x182)](_0x2bf904(0x18b)+_0x3f4a00[_0x2bf904(0x188)]),_0x5283bd[_0x2bf904(0x184)]({'step':0x2,'label':_0x2bf904(0x185),'ok':![],'detail':_0x3f4a00[_0x2bf904(0x188)]});}else _0x2c6f3b[_0x2bf904(0x13b)](_0x2bf904(0x170)),_0x5283bd[_0x2bf904(0x184)]({'step':0x2,'label':_0x2bf904(0x185),'ok':!![],'detail':_0x2bf904(0x136)});const _0x48155b=a127_0x56bc45({'text':_0x2bf904(0x175),'color':_0x2bf904(0x19c)})[_0x2bf904(0x199)](),_0xad03ec=execRemoveOldArtifacts(_0x4e9ea4[_0x2bf904(0x163)]);_0x5283bd['push'](_0xad03ec),_0x48155b[_0xad03ec['ok']?_0x2bf904(0x141):_0x2bf904(0x182)](_0x2bf904(0x140)+(_0xad03ec['detail']??(_0xad03ec['ok']?_0x2bf904(0x154):'failed')));const _0x2fcdad=a127_0x56bc45({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x2bf904(0x19c)})[_0x2bf904(0x199)](),_0xb67bbe=execCleanMcp(_0x4e9ea4);_0x5283bd[_0x2bf904(0x184)](_0xb67bbe),_0x2fcdad[_0xb67bbe['ok']?_0x2bf904(0x141):'fail']('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0xb67bbe[_0x2bf904(0x13f)]??(_0xb67bbe['ok']?_0x2bf904(0x154):_0x2bf904(0x16f))));const _0x288510=a127_0x56bc45({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})['start'](),_0x23c926=execSkillsRemove(_0x4112b0,_0x28ba77);_0x5283bd[_0x2bf904(0x184)](_0x23c926),_0x288510[_0x23c926['ok']?_0x2bf904(0x141):'fail'](_0x2bf904(0x146)+(_0x23c926[_0x2bf904(0x13f)]??(_0x23c926['ok']?_0x2bf904(0x154):'failed')));const _0x53c93e=a127_0x56bc45({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x2bf904(0x19c)})[_0x2bf904(0x199)](),_0x2462dc=execSkillsAdd(_0x4112b0,_0x28ba77);_0x5283bd['push'](_0x2462dc),_0x53c93e[_0x2462dc['ok']?_0x2bf904(0x141):'fail'](_0x2bf904(0x179)+(_0x2462dc[_0x2bf904(0x13f)]??(_0x2462dc['ok']?'done':_0x2bf904(0x16f))));const _0x2aa132=a127_0x56bc45({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':'cyan'})['start'](),_0x273c13=execUpgradeSdk(_0x4e9ea4);_0x5283bd['push'](_0x273c13),_0x2aa132[_0x273c13['ok']?_0x2bf904(0x141):_0x2bf904(0x182)](_0x2bf904(0x147)+(_0x273c13[_0x2bf904(0x13f)]??(_0x273c13['ok']?'done':'failed'))),printSummary(_0x5283bd);const _0x3b99b5=_0x5283bd[_0x2bf904(0x150)](_0x4e1c28=>!_0x4e1c28['ok']);_0x3b99b5?console[_0x2bf904(0x169)](a127_0x389592[_0x2bf904(0x126)](_0x2bf904(0x127))):console[_0x2bf904(0x169)](a127_0x389592['green'](_0x2bf904(0x121))),_0x273c13['ok']&&_0x4e9ea4[_0x2bf904(0x183)]&&(console[_0x2bf904(0x169)](''),console[_0x2bf904(0x169)](a127_0x389592[_0x2bf904(0x16c)]['cyan'](_0x2bf904(0x197))),console['log'](a127_0x389592[_0x2bf904(0x19c)](_0x2bf904(0x192))),console[_0x2bf904(0x169)](''),console['log'](a127_0x389592[_0x2bf904(0x191)](_0x2bf904(0x16a))),console[_0x2bf904(0x169)](a127_0x389592[_0x2bf904(0x191)](_0x2bf904(0x16b))),console[_0x2bf904(0x169)](a127_0x389592['white'](_0x2bf904(0x172))),console['log'](''));}
@@ -1 +1 @@
1
- const a129_0x3ee415=a129_0x2020;(function(_0x362667,_0x6d38ab){const _0x315611=a129_0x2020,_0xfd8e6b=_0x362667();while(!![]){try{const _0x4343db=parseInt(_0x315611(0x1ae))/0x1*(parseInt(_0x315611(0x1c9))/0x2)+-parseInt(_0x315611(0x1c3))/0x3+-parseInt(_0x315611(0x1aa))/0x4*(parseInt(_0x315611(0x1b8))/0x5)+-parseInt(_0x315611(0x1b1))/0x6*(parseInt(_0x315611(0x1ac))/0x7)+-parseInt(_0x315611(0x1b3))/0x8+parseInt(_0x315611(0x1c2))/0x9*(parseInt(_0x315611(0x1c0))/0xa)+parseInt(_0x315611(0x1c4))/0xb;if(_0x4343db===_0x6d38ab)break;else _0xfd8e6b['push'](_0xfd8e6b['shift']());}catch(_0x1b9ece){_0xfd8e6b['push'](_0xfd8e6b['shift']());}}}(a129_0x1e0c,0x7c9df));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';function a129_0x1e0c(){const _0x167966=['1409919xpWHwR','13581777uIuhNR','run','Dataset\x20&\x20Operations','start','`\x20has\x20been\x20removed.','4762bQGOnu','write','Run\x20Scripts','Schema','from','push','Code\x20Generation','values','skills','get','commands','Instant\x20API','description','isSingleCommand','command','auth','App\x20Management','defaultCommand','Database\x20Connections','<script>','preview','map','CLI\x20Built-in\x20Skill','skill','Run\x20any\x20package.json\x20script','Self\x20Update','install','API','284xbwvcZ','wildcardDef','513919xgzZMT','BFF\x20Scripts','263Xxwakp','Logs','create','12kgBuEJ','read','3391680uIYJYJ','Menu','\x20\x20[write]','`rabetbase\x20skills`\x20has\x20been\x20removed.','\x20\x20[high-risk-write]','56015JfPine','Diagnostics','set','service','show','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Project','risk','4857010BQjumJ','SQL\x20Queries','9nCrwts'];a129_0x1e0c=function(){return _0x167966;};return a129_0x1e0c();}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(_0x50463a){const _0x69a9=a129_0x2020;for(const _0x589b11 of _0x50463a){definitions[_0x69a9(0x1ba)](_0x589b11[_0x69a9(0x1bb)]+':'+_0x589b11['command'],_0x589b11);let _0x3672f8=serviceGroups[_0x69a9(0x1d2)](_0x589b11[_0x69a9(0x1bb)]);!_0x3672f8&&(_0x3672f8=[],serviceGroups['set'](_0x589b11[_0x69a9(0x1bb)],_0x3672f8)),_0x3672f8[_0x69a9(0x1ce)](_0x589b11);}}function registerDeclarativeService(_0x3fd47c,_0x82a6ca,_0x1d1427){const _0x30e3fb=a129_0x2020;registerDefinitions(_0x82a6ca);_0x1d1427?.['wildcardDef']&&registerDefinitions([_0x1d1427[_0x30e3fb(0x1ab)]]);const _0x474db0=_0x4ebfbd=>_0x4ebfbd===_0x30e3fb(0x1b2)?'':_0x4ebfbd===_0x30e3fb(0x1ca)?_0x30e3fb(0x1b5):_0x30e3fb(0x1b7),_0x40327e={'service':_0x82a6ca[0x0][_0x30e3fb(0x1bb)],'label':_0x3fd47c,'commands':_0x82a6ca[_0x30e3fb(0x1a3)](_0x49498a=>({'command':_0x49498a['command'],'description':_0x49498a[_0x30e3fb(0x1d5)],'tag':_0x474db0(_0x49498a[_0x30e3fb(0x1bf)])})),'declarative':!![],'defaultCommand':_0x1d1427?.[_0x30e3fb(0x1da)]??(_0x1d1427?.[_0x30e3fb(0x1d6)]?_0x82a6ca[0x0][_0x30e3fb(0x1d7)]:undefined),'wildcardDef':_0x1d1427?.[_0x30e3fb(0x1ab)],'isSingleCommand':_0x1d1427?.[_0x30e3fb(0x1d6)]};serviceRegistry['push'](_0x40327e),serviceByName[_0x30e3fb(0x1ba)](_0x40327e['service'],_0x40327e);}function a129_0x2020(_0x150a33,_0xa67636){_0x150a33=_0x150a33-0x1a3;const _0x1e0c2f=a129_0x1e0c();let _0x2020a1=_0x1e0c2f[_0x150a33];return _0x2020a1;}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a129_0x3ee415(0x1c5),'isSingleCommand':!![]}),registerDeclarativeService(a129_0x3ee415(0x1be),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService(a129_0x3ee415(0x1d9),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a129_0x3ee415(0x1c6),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a129_0x3ee415(0x1a9),apiDefinitions),registerDeclarativeService(a129_0x3ee415(0x1d4),dataDefinitions),registerDeclarativeService(a129_0x3ee415(0x1ad),bffDefinitions),registerDeclarativeService(a129_0x3ee415(0x1c1),sqlDefinitions),registerDeclarativeService(a129_0x3ee415(0x1db),dbDefinitions),registerDeclarativeService(a129_0x3ee415(0x1b4),menuDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a129_0x3ee415(0x1cf),codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a129_0x3ee415(0x1b9),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a129_0x3ee415(0x1cc),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a129_0x3ee415(0x1a7),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a129_0x3ee415(0x1a4),cliSkillDefinitions,{'defaultCommand':a129_0x3ee415(0x1a8)}),registerDeclarativeService(a129_0x3ee415(0x1af),logsDefinitions,{'defaultCommand':a129_0x3ee415(0x1bc)}),registerDeclarativeService(a129_0x3ee415(0x1cb),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a129_0x3ee415(0x1d3)]=[{'command':a129_0x3ee415(0x1dc),'description':a129_0x3ee415(0x1a6),'tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':a129_0x3ee415(0x1b0)},'start':{'service':a129_0x3ee415(0x1c5),'command':a129_0x3ee415(0x1c7)},'build':{'service':'run','command':'build'},'preview':{'service':a129_0x3ee415(0x1c5),'command':a129_0x3ee415(0x1dd)},'logout':{'service':a129_0x3ee415(0x1d8),'command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a129_0x3ee415(0x1bd);export function resolveRemovedCommand(_0x50fe8a,_0x484bce){const _0x5802c4=a129_0x3ee415;if(_0x50fe8a==='skill'){const _0x588518=_0x484bce?'skill\x20'+_0x484bce:_0x5802c4(0x1a5);return{'command':_0x588518,'message':'`rabetbase\x20'+_0x588518+_0x5802c4(0x1c8),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x50fe8a===_0x5802c4(0x1d1))return{'command':_0x5802c4(0x1d1),'message':_0x5802c4(0x1b6),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a129_0x3ee415(0x1b0)},'sql':{'new':a129_0x3ee415(0x1b0)}};export function resolveDeprecatedSubcommand(_0x1c3881,_0x5a8d33){return deprecatedSubcommands[_0x1c3881]?.[_0x5a8d33];}export function findDefinition(_0x4c8b62,_0x31fa4b){const _0x34474e=a129_0x3ee415;return definitions[_0x34474e(0x1d2)](_0x4c8b62+':'+_0x31fa4b);}export function isKnownService(_0x266740){return serviceByName['has'](_0x266740);}export function isDeclarativeService(_0xcdd004){const _0x3b2004=a129_0x3ee415;return serviceGroups['has'](_0xcdd004)||serviceByName['get'](_0xcdd004)?.[_0x3b2004(0x1ab)]!==undefined;}export function getServiceEntry(_0x38ec7d){const _0x2a83ab=a129_0x3ee415;return serviceByName[_0x2a83ab(0x1d2)](_0x38ec7d);}export function getLegacyHandler(_0x38906f,_0x5433c7){return undefined;}export function getAllDefinitions(){const _0x3aea50=a129_0x3ee415;return Array[_0x3aea50(0x1cd)](definitions[_0x3aea50(0x1d0)]());}
1
+ const a128_0x21f33a=a128_0xc58e;(function(_0x361aa3,_0x168fd3){const _0x4d3189=a128_0xc58e,_0x26a79c=_0x361aa3();while(!![]){try{const _0x5a87fd=-parseInt(_0x4d3189(0x107))/0x1*(parseInt(_0x4d3189(0x12e))/0x2)+parseInt(_0x4d3189(0x141))/0x3+parseInt(_0x4d3189(0x137))/0x4+-parseInt(_0x4d3189(0x12a))/0x5*(-parseInt(_0x4d3189(0x124))/0x6)+-parseInt(_0x4d3189(0x140))/0x7*(parseInt(_0x4d3189(0x111))/0x8)+parseInt(_0x4d3189(0x106))/0x9+parseInt(_0x4d3189(0x12c))/0xa*(parseInt(_0x4d3189(0x12f))/0xb);if(_0x5a87fd===_0x168fd3)break;else _0x26a79c['push'](_0x26a79c['shift']());}catch(_0x287782){_0x26a79c['push'](_0x26a79c['shift']());}}}(a128_0x533e,0x49765));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';function a128_0xc58e(_0xc73bc5,_0x375fb4){_0xc73bc5=_0xc73bc5-0x102;const _0x533e88=a128_0x533e();let _0xc58e0b=_0x533e88[_0xc73bc5];return _0xc58e0b;}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';function a128_0x533e(){const _0x29632e=['8gJYhYj','Code\x20Generation','Configuration','app\x20use','Instant\x20API','Authentication','wildcardDef','\x20\x20[high-risk-write]','Quick\x20Start','Run\x20Scripts','App\x20Management','`\x20has\x20been\x20removed.','defaultCommand','command','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','SQL\x20Queries','remote','show','Runtime\x20App\x20Config\x20Management','684WYDbUo','read','has','Diagnostics','service','\x20\x20[write]','18695QSyRGJ','BFF\x20Scripts','1270RaPdZi','CLI\x20Built-in\x20Skill','1814nuyNfn','473UvSKuq','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','push','length','isSingleCommand','skill\x20','preview','run','475960UWDFvM','app','use','description','risk','Workspace','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Logs','Project','3135895ZWYyJd','1444872yanntI','from','values','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Self\x20Update','Run\x20any\x20package.json\x20script','Menu','set','Schema','map','Database\x20Connections','232668FgxusZ','341TAcyec','create','start','get','skill','skills','project','logout','Dataset\x20&\x20Operations','<script>'];a128_0x533e=function(){return _0x29632e;};return a128_0x533e();}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(_0x5eda0a){const _0x13efab=a128_0xc58e;for(const _0x80e95b of _0x5eda0a){definitions[_0x13efab(0x102)](_0x80e95b[_0x13efab(0x128)]+':'+_0x80e95b['command'],_0x80e95b);let _0x155731=serviceGroups[_0x13efab(0x10a)](_0x80e95b[_0x13efab(0x128)]);!_0x155731&&(_0x155731=[],serviceGroups['set'](_0x80e95b[_0x13efab(0x128)],_0x155731)),_0x155731[_0x13efab(0x131)](_0x80e95b);}}function registerDeclarativeService(_0x2cee40,_0x42f78b,_0x3451b5){const _0x3bb541=a128_0xc58e;registerDefinitions(_0x42f78b);_0x3451b5?.[_0x3bb541(0x117)]&&registerDefinitions([_0x3451b5['wildcardDef']]);const _0x24c7b9=_0x5ccf73=>_0x5ccf73===_0x3bb541(0x125)?'':_0x5ccf73==='write'?_0x3bb541(0x129):_0x3bb541(0x118),_0xc1f7f5={'service':_0x42f78b[0x0][_0x3bb541(0x128)],'label':_0x2cee40,'commands':_0x42f78b[_0x3bb541(0x104)](_0x9672=>({'command':_0x9672[_0x3bb541(0x11e)],'description':_0x9672[_0x3bb541(0x13a)],'tag':_0x24c7b9(_0x9672[_0x3bb541(0x13b)])})),'declarative':!![],'defaultCommand':_0x3451b5?.[_0x3bb541(0x11d)]??(_0x3451b5?.['isSingleCommand']?_0x42f78b[0x0]['command']:undefined),'wildcardDef':_0x3451b5?.[_0x3bb541(0x117)],'isSingleCommand':_0x3451b5?.[_0x3bb541(0x133)]};serviceRegistry[_0x3bb541(0x131)](_0xc1f7f5),serviceByName[_0x3bb541(0x102)](_0xc1f7f5[_0x3bb541(0x128)],_0xc1f7f5);}registerDeclarativeService(a128_0x21f33a(0x119),initDefinitions,{'defaultCommand':a128_0x21f33a(0x136),'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x13f),projectDefinitions),registerDeclarativeService(a128_0x21f33a(0x13c),workspaceDefinitions),registerDeclarativeService(a128_0x21f33a(0x11b),appDefinitions),registerDeclarativeService(a128_0x21f33a(0x116),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a128_0x21f33a(0x10f),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a128_0x21f33a(0x115),dataDefinitions),registerDeclarativeService(a128_0x21f33a(0x12b),bffDefinitions),registerDeclarativeService(a128_0x21f33a(0x120),sqlDefinitions),registerDeclarativeService(a128_0x21f33a(0x105),dbDefinitions),registerDeclarativeService(a128_0x21f33a(0x147),menuDefinitions),registerDeclarativeService(a128_0x21f33a(0x123),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a128_0x21f33a(0x112),codegenDefinitions),registerDeclarativeService(a128_0x21f33a(0x113),configDefinitions),registerDeclarativeService(a128_0x21f33a(0x127),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x103),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x145),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x21f33a(0x12d),cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService(a128_0x21f33a(0x13e),logsDefinitions,{'defaultCommand':a128_0x21f33a(0x122)}),registerDeclarativeService(a128_0x21f33a(0x11a),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x21f33a(0x132)]-0x1];last['commands']=[{'command':a128_0x21f33a(0x110),'description':a128_0x21f33a(0x146),'tag':''}];}export const deprecatedAliases={'create':{'service':a128_0x21f33a(0x10d),'command':a128_0x21f33a(0x108)},'start':{'service':'run','command':a128_0x21f33a(0x109)},'build':{'service':a128_0x21f33a(0x136),'command':'build'},'preview':{'service':'run','command':a128_0x21f33a(0x135)},'logout':{'service':'auth','command':a128_0x21f33a(0x10e)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a128_0x21f33a(0x13d),APP_REMOTE_REMOVED_HINT=a128_0x21f33a(0x130),APP_USE_REMOVED_HINT=a128_0x21f33a(0x144);export function resolveRemovedCommand(_0x99333,_0x20b62a){const _0x2f6071=a128_0x21f33a;if(_0x99333===_0x2f6071(0x10b)){const _0x4e82bd=_0x20b62a?_0x2f6071(0x134)+_0x20b62a:_0x2f6071(0x10b);return{'command':_0x4e82bd,'message':'`rabetbase\x20'+_0x4e82bd+_0x2f6071(0x11c),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x99333===_0x2f6071(0x10c))return{'command':'skills','message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x99333===_0x2f6071(0x138)&&_0x20b62a===_0x2f6071(0x121))return{'command':'app\x20remote','message':_0x2f6071(0x11f),'hint':APP_REMOTE_REMOVED_HINT};if(_0x99333==='app'&&_0x20b62a===_0x2f6071(0x139))return{'command':_0x2f6071(0x114),'message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x21f33a(0x108)},'sql':{'new':a128_0x21f33a(0x108)}};export function resolveDeprecatedSubcommand(_0x5ce755,_0x57ba22){return deprecatedSubcommands[_0x5ce755]?.[_0x57ba22];}export function findDefinition(_0x3f6e38,_0x3b4017){const _0x39ca24=a128_0x21f33a;return definitions[_0x39ca24(0x10a)](_0x3f6e38+':'+_0x3b4017);}export function isKnownService(_0x5f368b){const _0x518000=a128_0x21f33a;return serviceByName[_0x518000(0x126)](_0x5f368b);}export function isDeclarativeService(_0x1feb70){const _0xef1923=a128_0x21f33a;return serviceGroups['has'](_0x1feb70)||serviceByName[_0xef1923(0x10a)](_0x1feb70)?.[_0xef1923(0x117)]!==undefined;}export function getServiceEntry(_0xceeed3){const _0x59411d=a128_0x21f33a;return serviceByName[_0x59411d(0x10a)](_0xceeed3);}export function getLegacyHandler(_0x3bdb93,_0x195232){return undefined;}export function getAllDefinitions(){const _0xb0ee0c=a128_0x21f33a;return Array[_0xb0ee0c(0x142)](definitions[_0xb0ee0c(0x143)]());}
@@ -1 +1 @@
1
- const a130_0x5cb3dd=a130_0x86ce;(function(_0xce29ae,_0x4f6920){const _0x22eec5=a130_0x86ce,_0x21f410=_0xce29ae();while(!![]){try{const _0x1018af=-parseInt(_0x22eec5(0x160))/0x1+-parseInt(_0x22eec5(0x165))/0x2*(parseInt(_0x22eec5(0x153))/0x3)+parseInt(_0x22eec5(0x13b))/0x4+parseInt(_0x22eec5(0x13d))/0x5+-parseInt(_0x22eec5(0x161))/0x6+-parseInt(_0x22eec5(0x170))/0x7*(parseInt(_0x22eec5(0x150))/0x8)+parseInt(_0x22eec5(0x14d))/0x9;if(_0x1018af===_0x4f6920)break;else _0x21f410['push'](_0x21f410['shift']());}catch(_0x2106f1){_0x21f410['push'](_0x21f410['shift']());}}}(a130_0xc8b6,0x48ba4));import{readFileSync,existsSync}from'node:fs';function a130_0x86ce(_0xeedfa4,_0x572194){_0xeedfa4=_0xeedfa4-0x136;const _0xc8b62f=a130_0xc8b6();let _0x86cecd=_0xc8b62f[_0xeedfa4];return _0x86cecd;}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_0x5cb3dd(0x169),a130_0x5cb3dd(0x158)]);function readPackageScripts(_0x316034){const _0x20fe87=a130_0x5cb3dd,_0x31f3b9=resolve(_0x316034,_0x20fe87(0x162));if(!existsSync(_0x31f3b9))return null;try{const _0x5baa86=JSON[_0x20fe87(0x163)](readFileSync(_0x31f3b9,_0x20fe87(0x140)));return _0x5baa86[_0x20fe87(0x13e)]??{};}catch{return null;}}function detectPackageManager(_0xd39e01){const _0x39aa6f=a130_0x5cb3dd;if(existsSync(resolve(_0xd39e01,_0x39aa6f(0x168)))||existsSync(resolve(_0xd39e01,_0x39aa6f(0x149))))return _0x39aa6f(0x166);if(existsSync(resolve(_0xd39e01,_0x39aa6f(0x172))))return _0x39aa6f(0x15f);if(existsSync(resolve(_0xd39e01,_0x39aa6f(0x13a))))return'yarn';return'npm';}async function versionCheck(_0x4993de){const _0x4a9b8c=a130_0x5cb3dd,_0x5dc2dd=await checkCliVersion();(_0x5dc2dd['needsUpgrade']||_0x5dc2dd[_0x4a9b8c(0x144)])&&(printCliUpgradeWarning(_0x5dc2dd),assertCliVersionSupported(_0x5dc2dd));const _0x474944=await checkSdkVersion(_0x4993de);if(_0x474944[_0x4a9b8c(0x14e)])printSdkUpgradeWarning(_0x474944);}function spawnScript(_0x505362,_0x21d516,_0x589dbe,_0x12820e){return new Promise((_0x46ada8,_0x22ee18)=>{const _0x1e0baf=a130_0x86ce,_0x17436a=[_0x1e0baf(0x16e),_0x21d516,..._0x589dbe],_0x1a87d1=spawn(_0x505362,_0x17436a,{'cwd':_0x12820e,'stdio':_0x1e0baf(0x174),'shell':!![],'env':{...process.env,'PATH':''+join(_0x12820e,_0x1e0baf(0x16a),'.bin')+delimiter+process.env.PATH}});_0x1a87d1['on'](_0x1e0baf(0x171),_0x58abea=>{const _0x99863a=_0x1e0baf;if(_0x58abea===0x0||_0x58abea===null)_0x46ada8();else _0x22ee18(new Error(_0x505362+_0x99863a(0x14f)+_0x21d516+_0x99863a(0x148)+_0x58abea));}),_0x1a87d1['on'](_0x1e0baf(0x136),_0x22ee18);});}function spawnViteBuildWatch(_0xabccef){return new Promise((_0x5c3b91,_0x3b2043)=>{const _0x4fa84d=a130_0x86ce,_0x40bee6=spawn(_0x4fa84d(0x14a),[_0x4fa84d(0x152),_0x4fa84d(0x139)],{'cwd':_0xabccef,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xabccef,'node_modules','.bin')+delimiter+process.env.PATH}});_0x40bee6['on'](_0x4fa84d(0x171),_0x320602=>{if(_0x320602===0x0||_0x320602===null)_0x5c3b91();else _0x3b2043(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x320602));}),_0x40bee6['on'](_0x4fa84d(0x136),_0x3b2043);});}function a130_0xc8b6(){const _0x9215cb=['bun.lockb','start','node_modules','\x0a\x20\x20Available\x20scripts:\x0a','bool','slice','run','has','7yZDiSH','close','pnpm-lock.yaml','preview','inherit','error','\x20run\x20preview\x20--watch','\x22\x20not\x20found\x20in\x20package.json.','--watch','yarn.lock','220532qSDUqL','vite\x20preview\x20exited\x20with\x20code\x20','523850ERvMLF','scripts','.bin','utf-8','Run\x20a\x20package.json\x20script','log','all','belowMinimum','args','\x0a\x20\x20Usage:\x20','boolean','\x20exited\x20with\x20code\x20','bun.lock','vite','validation','push','16231491ldkdat','needsUpgrade','\x20run\x20','3353368pABrxW','join','build','3039urGkJF','length','Script\x20\x22','\x20\x20\x20\x20','No\x20scripts\x20defined\x20in\x20package.json.','dev','keys','script','watch','cwd','Script\x20name\x20defined\x20in\x20package.json','\x20run\x20<script>\x0a','pnpm','250104mahyZb','3564444mbxxkg','package.json','parse','\x20\x20EXAMPLES','794vnGvDh','bun','(none)'];a130_0xc8b6=function(){return _0x9215cb;};return a130_0xc8b6();}function spawnVitePreview(_0x1524e5){return new Promise((_0x436e8d,_0x5ce26f)=>{const _0x465c82=a130_0x86ce,_0x421b31=spawn('vite',[_0x465c82(0x173)],{'cwd':_0x1524e5,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x1524e5,_0x465c82(0x16a),_0x465c82(0x13f))+delimiter+process.env.PATH}});_0x421b31['on']('close',_0x4e2831=>{const _0x2c2574=_0x465c82;if(_0x4e2831===0x0||_0x4e2831===null)_0x436e8d();else _0x5ce26f(new Error(_0x2c2574(0x13c)+_0x4e2831));}),_0x421b31['on'](_0x465c82(0x136),_0x5ce26f);});}const runFlags=[{'name':a130_0x5cb3dd(0x15b),'type':a130_0x5cb3dd(0x147),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a130_0x5cb3dd(0x16e),'command':a130_0x5cb3dd(0x16e),'description':a130_0x5cb3dd(0x141),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a130_0x5cb3dd(0x15a),'description':a130_0x5cb3dd(0x15d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1fcdcf=a130_0x5cb3dd,_0x9311ec=[];return _0x9311ec[_0x1fcdcf(0x14c)](_0x1fcdcf(0x164)),_0x9311ec['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x9311ec[_0x1fcdcf(0x14c)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x9311ec[_0x1fcdcf(0x14c)](_0x1fcdcf(0x156)+CLI_BIN_NAME+'\x20run\x20preview'),_0x9311ec[_0x1fcdcf(0x14c)](_0x1fcdcf(0x156)+CLI_BIN_NAME+_0x1fcdcf(0x137)),_0x9311ec[_0x1fcdcf(0x151)]('\x0a');},async 'execute'(_0x36640c){const _0x39cc0a=a130_0x5cb3dd,_0x2b3db3=process[_0x39cc0a(0x15c)](),_0x5cec33=_0x36640c[_0x39cc0a(0x145)][0x0],_0x3db89d=_0x36640c[_0x39cc0a(0x145)][_0x39cc0a(0x16d)](0x1),_0x1c5a24=readPackageScripts(_0x2b3db3);if(!_0x1c5a24)throw CliErrors[_0x39cc0a(0x14b)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x5cec33){const _0xf6900b=Object[_0x39cc0a(0x159)](_0x1c5a24);if(_0xf6900b[_0x39cc0a(0x154)]===0x0)console['log'](_0x39cc0a(0x157));else{console[_0x39cc0a(0x142)](_0x39cc0a(0x16b));for(const _0x1c6a35 of _0xf6900b){console[_0x39cc0a(0x142)](_0x39cc0a(0x156)+_0x1c6a35);}console[_0x39cc0a(0x142)](_0x39cc0a(0x146)+CLI_BIN_NAME+_0x39cc0a(0x15e));}return{'ok':!![]};}if(!_0x1c5a24[_0x5cec33])throw CliErrors[_0x39cc0a(0x14b)](_0x39cc0a(0x155)+_0x5cec33+_0x39cc0a(0x138),'Available:\x20'+(Object[_0x39cc0a(0x159)](_0x1c5a24)[_0x39cc0a(0x151)](',\x20')||_0x39cc0a(0x167)));const _0x2bb8ad=detectPackageManager(_0x2b3db3);VERSION_CHECK_SCRIPTS[_0x39cc0a(0x16f)](_0x5cec33)&&await versionCheck(_0x2b3db3);if(_0x5cec33==='preview'&&_0x36640c[_0x39cc0a(0x16c)]('watch'))return await Promise[_0x39cc0a(0x143)]([spawnViteBuildWatch(_0x2b3db3),spawnVitePreview(_0x2b3db3)]),{'ok':!![]};return await spawnScript(_0x2bb8ad,_0x5cec33,_0x3db89d,_0x2b3db3),{'ok':!![]};}};
1
+ const a129_0x2f1d82=a129_0x3d9d;(function(_0x1bc92f,_0x443809){const _0x237912=a129_0x3d9d,_0x38d19a=_0x1bc92f();while(!![]){try{const _0xa98bbe=parseInt(_0x237912(0xc5))/0x1*(-parseInt(_0x237912(0xb8))/0x2)+-parseInt(_0x237912(0xd8))/0x3+-parseInt(_0x237912(0xe1))/0x4*(parseInt(_0x237912(0xa3))/0x5)+parseInt(_0x237912(0xaf))/0x6*(-parseInt(_0x237912(0x9f))/0x7)+-parseInt(_0x237912(0xce))/0x8*(parseInt(_0x237912(0xc3))/0x9)+-parseInt(_0x237912(0xd4))/0xa+parseInt(_0x237912(0xd2))/0xb;if(_0xa98bbe===_0x443809)break;else _0x38d19a['push'](_0x38d19a['shift']());}catch(_0x137ede){_0x38d19a['push'](_0x38d19a['shift']());}}}(a129_0x542a,0x54957));import{readFileSync,existsSync}from'node:fs';function a129_0x3d9d(_0x5910ed,_0x5384fa){_0x5910ed=_0x5910ed-0x9f;const _0x542a3b=a129_0x542a();let _0x3d9dc5=_0x542a3b[_0x5910ed];return _0x3d9dc5;}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';function a129_0x542a(){const _0x4c0566=['belowMinimum','parse','\x20\x20\x20\x20','1304478fbHQxS','\x0a\x20\x20Available\x20scripts:\x0a','utf-8','\x20\x20EXAMPLES','\x20run\x20start','vite\x20preview\x20exited\x20with\x20code\x20','run','slice','\x20exited\x20with\x20code\x20','136eOhUKT','922761NjFGbJ','\x22\x20not\x20found\x20in\x20package.json.','\x20run\x20build','Enable\x20watch\x20mode\x20for\x20preview','53730rTswxv','all','node_modules','bun','cwd','length','bun.lockb','watch','join','npm','(none)','validation','24tbNvXm','.bin','script','push','close','keys','\x20run\x20<script>\x0a','--watch','read','8462EruXUF','scripts','bun.lock','No\x20scripts\x20defined\x20in\x20package.json.','Run\x20a\x20package.json\x20script','No\x20package.json\x20found\x20in\x20current\x20directory.','has','yarn.lock','args','pnpm-lock.yaml','build','814257UfdiCv','boolean','115JSMKOI','\x0a\x20\x20Usage:\x20','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','start','log','\x20run\x20preview','preview','inherit','needsUpgrade','40DEkREn','vite','dev','error','30188697mgNewH','Script\x20\x22','1315600yTIayE'];a129_0x542a=function(){return _0x4c0566;};return a129_0x542a();}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_0x2f1d82(0xc8),a129_0x2f1d82(0xd0)]);function readPackageScripts(_0x5a2aef){const _0x5d94e5=a129_0x2f1d82,_0x4c97e3=resolve(_0x5a2aef,'package.json');if(!existsSync(_0x4c97e3))return null;try{const _0x5f46b0=JSON[_0x5d94e5(0xd6)](readFileSync(_0x4c97e3,_0x5d94e5(0xda)));return _0x5f46b0[_0x5d94e5(0xb9)]??{};}catch{return null;}}function detectPackageManager(_0x5d7df9){const _0x1d95fd=a129_0x2f1d82;if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xa9)))||existsSync(resolve(_0x5d7df9,_0x1d95fd(0xba))))return _0x1d95fd(0xa6);if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xc1))))return'pnpm';if(existsSync(resolve(_0x5d7df9,_0x1d95fd(0xbf))))return'yarn';return _0x1d95fd(0xac);}async function versionCheck(_0x23faa6){const _0x1b46c9=a129_0x2f1d82,_0x2ebe29=await checkCliVersion();(_0x2ebe29[_0x1b46c9(0xcd)]||_0x2ebe29[_0x1b46c9(0xd5)])&&(printCliUpgradeWarning(_0x2ebe29),assertCliVersionSupported(_0x2ebe29));const _0x1686a8=await checkSdkVersion(_0x23faa6);if(_0x1686a8[_0x1b46c9(0xcd)])printSdkUpgradeWarning(_0x1686a8);}function spawnScript(_0x259984,_0x3825b1,_0x2e5a1f,_0x11a74e){return new Promise((_0x8a20dc,_0x148276)=>{const _0x43d21e=a129_0x3d9d,_0x190102=[_0x43d21e(0xde),_0x3825b1,..._0x2e5a1f],_0x42c92e=spawn(_0x259984,_0x190102,{'cwd':_0x11a74e,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x11a74e,_0x43d21e(0xa5),'.bin')+delimiter+process.env.PATH}});_0x42c92e['on'](_0x43d21e(0xb3),_0x362f37=>{const _0x29e4aa=_0x43d21e;if(_0x362f37===0x0||_0x362f37===null)_0x8a20dc();else _0x148276(new Error(_0x259984+'\x20run\x20'+_0x3825b1+_0x29e4aa(0xe0)+_0x362f37));}),_0x42c92e['on'](_0x43d21e(0xd1),_0x148276);});}function spawnViteBuildWatch(_0x4bd1f2){return new Promise((_0x5730ee,_0x317c2d)=>{const _0x1b413d=a129_0x3d9d,_0x48a07c=spawn(_0x1b413d(0xcf),[_0x1b413d(0xc2),_0x1b413d(0xb6)],{'cwd':_0x4bd1f2,'stdio':_0x1b413d(0xcc),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4bd1f2,_0x1b413d(0xa5),_0x1b413d(0xb0))+delimiter+process.env.PATH}});_0x48a07c['on'](_0x1b413d(0xb3),_0x1579db=>{const _0x1e2e57=_0x1b413d;if(_0x1579db===0x0||_0x1579db===null)_0x5730ee();else _0x317c2d(new Error(_0x1e2e57(0xc7)+_0x1579db));}),_0x48a07c['on'](_0x1b413d(0xd1),_0x317c2d);});}function spawnVitePreview(_0x1f22fa){return new Promise((_0x48a4df,_0x122348)=>{const _0xc26312=a129_0x3d9d,_0x205a5b=spawn('vite',['preview'],{'cwd':_0x1f22fa,'stdio':_0xc26312(0xcc),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1f22fa,_0xc26312(0xa5),_0xc26312(0xb0))+delimiter+process.env.PATH}});_0x205a5b['on']('close',_0x11a4d9=>{const _0x50c0d1=_0xc26312;if(_0x11a4d9===0x0||_0x11a4d9===null)_0x48a4df();else _0x122348(new Error(_0x50c0d1(0xdd)+_0x11a4d9));}),_0x205a5b['on'](_0xc26312(0xd1),_0x122348);});}const runFlags=[{'name':'watch','type':a129_0x2f1d82(0xc4),'description':a129_0x2f1d82(0xa2),'default':![]}];export const runDefinition={'service':a129_0x2f1d82(0xde),'command':a129_0x2f1d82(0xde),'description':a129_0x2f1d82(0xbc),'risk':a129_0x2f1d82(0xb7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0x2f1d82(0xb1),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x114072=a129_0x2f1d82,_0x4186ae=[];return _0x4186ae['push'](_0x114072(0xdb)),_0x4186ae[_0x114072(0xb2)](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xdc)),_0x4186ae['push'](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xa1)),_0x4186ae[_0x114072(0xb2)](_0x114072(0xd7)+CLI_BIN_NAME+_0x114072(0xca)),_0x4186ae['push'](_0x114072(0xd7)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x4186ae[_0x114072(0xab)]('\x0a');},async 'execute'(_0x1ec69d){const _0xc2a650=a129_0x2f1d82,_0x33cea7=process[_0xc2a650(0xa7)](),_0xac155c=_0x1ec69d['args'][0x0],_0x5214f7=_0x1ec69d[_0xc2a650(0xc0)][_0xc2a650(0xdf)](0x1),_0x276d08=readPackageScripts(_0x33cea7);if(!_0x276d08)throw CliErrors[_0xc2a650(0xae)](_0xc2a650(0xbd));if(!_0xac155c){const _0x36ad1e=Object[_0xc2a650(0xb4)](_0x276d08);if(_0x36ad1e[_0xc2a650(0xa8)]===0x0)console[_0xc2a650(0xc9)](_0xc2a650(0xbb));else{console[_0xc2a650(0xc9)](_0xc2a650(0xd9));for(const _0x50d261 of _0x36ad1e){console['log']('\x20\x20\x20\x20'+_0x50d261);}console[_0xc2a650(0xc9)](_0xc2a650(0xc6)+CLI_BIN_NAME+_0xc2a650(0xb5));}return{'ok':!![]};}if(!_0x276d08[_0xac155c])throw CliErrors[_0xc2a650(0xae)](_0xc2a650(0xd3)+_0xac155c+_0xc2a650(0xa0),'Available:\x20'+(Object['keys'](_0x276d08)[_0xc2a650(0xab)](',\x20')||_0xc2a650(0xad)));const _0x5056e3=detectPackageManager(_0x33cea7);VERSION_CHECK_SCRIPTS[_0xc2a650(0xbe)](_0xac155c)&&await versionCheck(_0x33cea7);if(_0xac155c===_0xc2a650(0xcb)&&_0x1ec69d['bool'](_0xc2a650(0xaa)))return await Promise[_0xc2a650(0xa4)]([spawnViteBuildWatch(_0x33cea7),spawnVitePreview(_0x33cea7)]),{'ok':!![]};return await spawnScript(_0x5056e3,_0xac155c,_0x5214f7,_0x33cea7),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a131_0x39c5(_0x4d41e9,_0x4134e2){_0x4d41e9=_0x4d41e9-0x1bd;const _0x581d3f=a131_0x581d();let _0x39c5e6=_0x581d3f[_0x4d41e9];return _0x39c5e6;}function a131_0x581d(){const _0x4029e4=['67800Dlfbbu','424430QqSbqh','135pylrKm','5274NDolgz','111qSoCCA','6933520UkGmGZ','7762dBuuKb','3065fmflxv','259RuEiqB','57464ewIwTI','Export\x20machine-readable\x20command\x20schema\x20(JSON)','json','read','export','1356ZhwTbM'];a131_0x581d=function(){return _0x4029e4;};return a131_0x581d();}const a131_0x466b7a=a131_0x39c5;(function(_0x4629bf,_0x406eba){const _0x35a263=a131_0x39c5,_0x11dc9b=_0x4629bf();while(!![]){try{const _0x3dc273=-parseInt(_0x35a263(0x1bf))/0x1+parseInt(_0x35a263(0x1cb))/0x2*(-parseInt(_0x35a263(0x1c9))/0x3)+-parseInt(_0x35a263(0x1c4))/0x4*(parseInt(_0x35a263(0x1bd))/0x5)+parseInt(_0x35a263(0x1c8))/0x6*(parseInt(_0x35a263(0x1be))/0x7)+-parseInt(_0x35a263(0x1c5))/0x8*(parseInt(_0x35a263(0x1c7))/0x9)+parseInt(_0x35a263(0x1c6))/0xa+parseInt(_0x35a263(0x1ca))/0xb;if(_0x3dc273===_0x406eba)break;else _0x11dc9b['push'](_0x11dc9b['shift']());}catch(_0x1c04c6){_0x11dc9b['push'](_0x11dc9b['shift']());}}}(a131_0x581d,0x2954d));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x505a5e){const _0x5435e3=await buildSchemaPayload();return{'ok':!![],'data':_0x5435e3};}export const schemaDefinition={'service':'schema','command':a131_0x466b7a(0x1c3),'description':a131_0x466b7a(0x1c0),'risk':a131_0x466b7a(0x1c2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a131_0x466b7a(0x1c1),'flags':[],'execute':execute};
1
+ function a130_0x3620(){const _0x61eea9=['read','5438752BlryGp','70lraJNX','1989076viOAfA','1869015nYTHpv','10683JMgUSG','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','114002XqaKkD','2109036ZqiUoN','263109dwmVSM'];a130_0x3620=function(){return _0x61eea9;};return a130_0x3620();}const a130_0x543d19=a130_0x294c;(function(_0x376f56,_0x180691){const _0xbf39fb=a130_0x294c,_0x59357c=_0x376f56();while(!![]){try{const _0x5f3932=-parseInt(_0xbf39fb(0xf1))/0x1+parseInt(_0xbf39fb(0xeb))/0x2*(-parseInt(_0xbf39fb(0xee))/0x3)+parseInt(_0xbf39fb(0xec))/0x4+parseInt(_0xbf39fb(0xed))/0x5+parseInt(_0xbf39fb(0xf2))/0x6+-parseInt(_0xbf39fb(0xf3))/0x7+-parseInt(_0xbf39fb(0xea))/0x8;if(_0x5f3932===_0x180691)break;else _0x59357c['push'](_0x59357c['shift']());}catch(_0x215acb){_0x59357c['push'](_0x59357c['shift']());}}}(a130_0x3620,0x4110e));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1f3bdf){const _0x284c36=await buildSchemaPayload();return{'ok':!![],'data':_0x284c36};}function a130_0x294c(_0x303edf,_0x1b52ba){_0x303edf=_0x303edf-0xea;const _0x36208b=a130_0x3620();let _0x294c6a=_0x36208b[_0x303edf];return _0x294c6a;}export const schemaDefinition={'service':a130_0x543d19(0xef),'command':'export','description':a130_0x543d19(0xf0),'risk':a130_0x543d19(0xf4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a132_0x5b041e=a132_0x5a95;(function(_0xe51b8c,_0x440505){const _0x5b04a3=a132_0x5a95,_0x1fa8e=_0xe51b8c();while(!![]){try{const _0x2e5a6e=parseInt(_0x5b04a3(0x1bd))/0x1*(parseInt(_0x5b04a3(0x1ab))/0x2)+-parseInt(_0x5b04a3(0x1a8))/0x3*(parseInt(_0x5b04a3(0x198))/0x4)+-parseInt(_0x5b04a3(0x17f))/0x5*(-parseInt(_0x5b04a3(0x179))/0x6)+parseInt(_0x5b04a3(0x187))/0x7*(-parseInt(_0x5b04a3(0x18e))/0x8)+-parseInt(_0x5b04a3(0x1be))/0x9+-parseInt(_0x5b04a3(0x1bb))/0xa+-parseInt(_0x5b04a3(0x177))/0xb*(-parseInt(_0x5b04a3(0x17b))/0xc);if(_0x2e5a6e===_0x440505)break;else _0x1fa8e['push'](_0x1fa8e['shift']());}catch(_0x356496){_0x1fa8e['push'](_0x1fa8e['shift']());}}}(a132_0x3cd4,0x5cf38));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(_0xddc6e7){const _0x71af08=a132_0x5a95;if(_0xddc6e7==='mybatisXml')return[_0x71af08(0x195),_0x71af08(0x1a2),_0x71af08(0x185),''][_0x71af08(0x1b6)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x71af08(0x1b6)]('\x0a');}export const sqlCreate={'service':a132_0x5b041e(0x1b3),'command':a132_0x5b041e(0x1a3),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a132_0x5b041e(0x191),'flags':[{'name':a132_0x5b041e(0x190),'type':'string','description':a132_0x5b041e(0x1b7)},{'name':'db-id','type':'number','description':a132_0x5b041e(0x1a5)},{'name':a132_0x5b041e(0x19f),'type':a132_0x5b041e(0x1c1),'enum':['sql',a132_0x5b041e(0x194)],'description':a132_0x5b041e(0x1a4)}],async 'validate'(_0x40877f){const _0x38c4fd=a132_0x5b041e;if(!_0x40877f[_0x38c4fd(0x186)])return;if(!_0x40877f[_0x38c4fd(0x17a)](_0x38c4fd(0x190))[_0x38c4fd(0x1a7)]())throw CliErrors[_0x38c4fd(0x19b)]('name',_0x38c4fd(0x178));const _0x17c89c=resolveProvidedDbId(_0x40877f);if(typeof _0x17c89c!==_0x38c4fd(0x18f)||!Number[_0x38c4fd(0x1bf)](_0x17c89c)||_0x17c89c<=0x0)throw CliErrors['flagMissing'](_0x38c4fd(0x181),_0x38c4fd(0x1b9));if(!_0x40877f['str'](_0x38c4fd(0x19f))['trim']())throw CliErrors[_0x38c4fd(0x19b)]('mode',_0x38c4fd(0x1ac));},async 'dryRun'(_0xd862e){const _0x691c32=a132_0x5b041e,_0xe6cddf=loadSqlProjectConfig(_0xd862e[_0x691c32(0x196)]),{sqlName:_0x1bbe81,dbId:_0x374372,dbName:_0x14f1d5,mode:_0xd865bf}=await resolveSqlNewInputs(_0xd862e),_0x1371f5=buildSqlRelativePath(_0x691c32(0x18c),_0x1bbe81,_0x14f1d5,_0xd865bf,_0x374372),_0x6ef2b9=_0xe6cddf[_0x691c32(0x1b0)]+'/'+_0x1371f5;return{'method':_0x691c32(0x18a),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0xd862e[_0x691c32(0x196)],'sqlName':_0x1bbe81,'dbId':_0x374372,'mode':_0xd865bf,'localPath':_0x6ef2b9},'description':_0x691c32(0x19c)+_0xe6cddf['sqlRootDir']};},async 'execute'(_0x1d744b){const _0x188f07=a132_0x5b041e,_0x311030=loadSqlProjectConfig(_0x1d744b['appCode']),{sqlName:_0x1aa890,dbId:_0x88f595,dbName:_0x269064,mode:_0x5c98ee}=await resolveSqlNewInputs(_0x1d744b),_0x39ea4b=generateSqlTemplate(_0x5c98ee),_0x23129f=await createSqlQuery({'appCode':_0x1d744b[_0x188f07(0x196)],'sqlName':_0x1aa890,'dbId':_0x88f595,'sqlContent':_0x39ea4b}),_0x1a22a9=ensureRemoteSqlContent(_0x23129f),_0x3beb18=_0x269064||await getDbName(_0x1d744b[_0x188f07(0x196)],_0x88f595)[_0x188f07(0x1b8)](()=>undefined),_0xa50e3=buildSqlRelativePath(_0x23129f['sqlCode'],_0x23129f[_0x188f07(0x19a)],_0x3beb18,_0x5c98ee,_0x88f595),_0x96bb4d=_0x311030[_0x188f07(0x1b0)]+'/'+_0xa50e3,_0x234849=buildLocalSqlFileContent({'sqlCode':_0x23129f[_0x188f07(0x1b1)],'sqlName':_0x23129f[_0x188f07(0x19a)],'dbId':_0x23129f['dbId']},_0x1a22a9,{'dbName':_0x3beb18,'mode':_0x5c98ee,'syncedAt':new Date()[_0x188f07(0x1a0)](),'description':_0x23129f[_0x188f07(0x17e)]});if(await fileExists(_0x96bb4d))throw CliErrors['validation'](_0x188f07(0x188)+_0x96bb4d);await ensureParentDirectory(_0x96bb4d),await writeFile(_0x96bb4d,_0x234849,_0x188f07(0x183));const _0x359f5a=await readSqlLockFile(_0x311030[_0x188f07(0x199)]),{lockData:_0x4d5165,appLock:_0x582dac}=ensureSqlLockScope(_0x359f5a??createEmptySqlLock(),_0x311030[_0x188f07(0x196)],_0x311030[_0x188f07(0x1a6)],_0x188f07(0x19d));return _0x582dac[_0x188f07(0x1aa)][_0x23129f['sqlCode']]={...buildSqlLockEntry(_0x23129f,_0x1a22a9,computeSqlContentHash(_0x234849),{'dbName':_0x3beb18}),'path':_0xa50e3,'mode':_0x5c98ee},_0x582dac[_0x188f07(0x189)]=new Date()[_0x188f07(0x1a0)](),await writeSqlLockFile(_0x311030['lockFilePath'],_0x4d5165),{'ok':!![],'data':{'id':_0x23129f['id'],'sqlCode':_0x23129f[_0x188f07(0x1b1)],'sqlName':_0x23129f['sqlName'],'dbId':_0x23129f[_0x188f07(0x1c2)],'path':_0x96bb4d,'mode':_0x5c98ee},'message':_0x188f07(0x180)+_0x23129f[_0x188f07(0x1b1)]};}};async function resolveSqlNewInputs(_0x45f51a){const _0x1b247d=await resolveSqlNameInput(_0x45f51a),{dbId:_0x25d504,dbName:_0x43f7da}=await resolveDbSelection(_0x45f51a),_0x22054c=await resolveSqlModeInput(_0x45f51a);return{'sqlName':_0x1b247d,'dbId':_0x25d504,'dbName':_0x43f7da,'mode':_0x22054c};}function a132_0x3cd4(){const _0x3def05=['mybatisXml','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','appCode','stringify','22556UeSXDL','lockFilePath','sqlName','flagMissing','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','new','flag','mode','toISOString','请输入目标数据库\x20dbId:','\x20\x20SELECT\x201\x20AS\x20id','create','Local\x20SQL\x20file\x20mode','Target\x20database\x20ID','sqlRoot','trim','348CHECOg','MyBatis\x20XML(mybatisXml)','sqls','65458NpvxKM','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId\x20必须为正整数','请输入\x20SQL\x20名称:','✎\x20手动输入\x20dbId','sqlRootDir','sqlCode','map','sql','parse','validation','join','SQL\x20query\x20display\x20name','catch','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','__manual__','3373010XWCaPY','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','4UzNInw','2426634cfNCEA','isFinite','普通\x20SQL(sql)','string','dbId','22EwMHJq','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','8706gIabPv','str','11328612ofLjrh','length','dbId\x20不能为空','description','995WGMaHo','Created\x20SQL\x20query\x20','db-id','SQL\x20名称不能为空','utf8','dbName','</select>','nonInteractive','388493JeSLrC','File\x20already\x20exists:\x20','lastSync','POST','请选择本地\x20SQL\x20模式:','<server-generated-sqlCode>','请选择目标数据库:','96fGfwub','number','name','high-risk-write','isInteger','Invalid\x20database\x20selection\x20payload:\x20'];a132_0x3cd4=function(){return _0x3def05;};return a132_0x3cd4();}async function resolveSqlNameInput(_0x127ce5){const _0xa971d=a132_0x5b041e,_0x34d070=_0x127ce5[_0xa971d(0x17a)]('name')[_0xa971d(0x1a7)]();if(_0x34d070)return _0x34d070;if(_0x127ce5['nonInteractive'])throw CliErrors['flagMissing']('name',_0xa971d(0x178));return(await input({'message':_0xa971d(0x1ae),'validate':_0x57ef6b=>_0x57ef6b[_0xa971d(0x1a7)]()?!![]:_0xa971d(0x182)}))[_0xa971d(0x1a7)]();}async function resolveDbSelection(_0x180533){const _0x271828=a132_0x5b041e,_0x4eda68=resolveProvidedDbId(_0x180533);if(typeof _0x4eda68==='number'&&Number[_0x271828(0x1bf)](_0x4eda68)&&_0x4eda68>0x0)return{'dbId':_0x4eda68,'dbName':await getDbName(_0x180533[_0x271828(0x196)],_0x4eda68)[_0x271828(0x1b8)](()=>undefined)};if(_0x180533[_0x271828(0x186)])throw CliErrors[_0x271828(0x19b)](_0x271828(0x181),_0x271828(0x1b9));const _0xab3d7e=await listDatabases(_0x180533['appCode'])[_0x271828(0x1b8)](()=>[]);if(_0xab3d7e[_0x271828(0x17c)]===0x1)return{'dbId':_0xab3d7e[0x0][_0x271828(0x1c2)],'dbName':_0xab3d7e[0x0][_0x271828(0x184)]};if(_0xab3d7e[_0x271828(0x17c)]>0x1){const _0x4a7729=await select({'message':_0x271828(0x18d),'choices':[..._0xab3d7e[_0x271828(0x1b2)](_0x6a0c40=>({'name':_0x6a0c40[_0x271828(0x184)]+'\x20('+_0x6a0c40['dbId']+')','value':serializeDbSelection(_0x6a0c40)})),{'name':_0x271828(0x1af),'value':_0x271828(0x1ba)}]});if(_0x4a7729!==_0x271828(0x1ba))return deserializeDbSelection(_0x4a7729);}const _0x14feaf=await input({'message':_0x271828(0x1a1),'validate':_0x386889=>{const _0x5a62a2=_0x271828,_0x2a6ba2=_0x386889[_0x5a62a2(0x1a7)]();if(!_0x2a6ba2)return _0x5a62a2(0x17d);const _0x200382=Number(_0x2a6ba2);if(!Number[_0x5a62a2(0x192)](_0x200382)||_0x200382<=0x0)return _0x5a62a2(0x1ad);return!![];}});return{'dbId':Number(_0x14feaf['trim']())};}function a132_0x5a95(_0x3ff84b,_0x2e7837){_0x3ff84b=_0x3ff84b-0x177;const _0x3cd4eb=a132_0x3cd4();let _0x5a95cd=_0x3cd4eb[_0x3ff84b];return _0x5a95cd;}async function resolveSqlModeInput(_0x54f249){const _0xbad40c=a132_0x5b041e,_0x209f0b=_0x54f249[_0xbad40c(0x17a)]('mode')[_0xbad40c(0x1a7)]();if(_0x209f0b===_0xbad40c(0x1b3)||_0x209f0b===_0xbad40c(0x194))return _0x209f0b;if(_0x54f249['nonInteractive'])throw CliErrors[_0xbad40c(0x19b)](_0xbad40c(0x19f),_0xbad40c(0x1ac));return await select({'message':_0xbad40c(0x18b),'choices':[{'name':_0xbad40c(0x1c0),'value':_0xbad40c(0x1b3),'description':_0xbad40c(0x1bc)},{'name':_0xbad40c(0x1a9),'value':_0xbad40c(0x194),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x4e928e){const _0x4939a9=a132_0x5b041e;return JSON[_0x4939a9(0x197)]({'dbId':_0x4e928e[_0x4939a9(0x1c2)],'dbName':_0x4e928e[_0x4939a9(0x184)]});}function deserializeDbSelection(_0x1fa776){const _0x2f8f62=a132_0x5b041e;try{const _0x1e3a1b=JSON[_0x2f8f62(0x1b4)](_0x1fa776);if(typeof _0x1e3a1b[_0x2f8f62(0x1c2)]===_0x2f8f62(0x18f)&&Number[_0x2f8f62(0x1bf)](_0x1e3a1b['dbId']))return{'dbId':_0x1e3a1b[_0x2f8f62(0x1c2)],'dbName':_0x1e3a1b[_0x2f8f62(0x184)]};}catch{}throw CliErrors[_0x2f8f62(0x1b5)](_0x2f8f62(0x193)+_0x1fa776);}function resolveProvidedDbId(_0x5926d4){const _0x16c42d=a132_0x5b041e,_0x470e93=_0x5926d4[_0x16c42d(0x19e)](_0x16c42d(0x181));if(typeof _0x470e93===_0x16c42d(0x18f)&&Number[_0x16c42d(0x1bf)](_0x470e93))return _0x470e93;return undefined;}
1
+ const a131_0x48c896=a131_0x4620;(function(_0x323838,_0x2fc9e6){const _0x2f5336=a131_0x4620,_0x42d611=_0x323838();while(!![]){try{const _0x2ff51d=-parseInt(_0x2f5336(0x1cf))/0x1*(-parseInt(_0x2f5336(0x1bc))/0x2)+parseInt(_0x2f5336(0x19f))/0x3+-parseInt(_0x2f5336(0x1cc))/0x4+parseInt(_0x2f5336(0x1af))/0x5*(-parseInt(_0x2f5336(0x1ac))/0x6)+-parseInt(_0x2f5336(0x199))/0x7*(parseInt(_0x2f5336(0x1b3))/0x8)+-parseInt(_0x2f5336(0x1a8))/0x9*(-parseInt(_0x2f5336(0x1c8))/0xa)+-parseInt(_0x2f5336(0x192))/0xb*(-parseInt(_0x2f5336(0x1c1))/0xc);if(_0x2ff51d===_0x2fc9e6)break;else _0x42d611['push'](_0x42d611['shift']());}catch(_0x26b8b8){_0x42d611['push'](_0x42d611['shift']());}}}(a131_0x4afb,0x9f072));import{writeFile}from'node:fs/promises';function a131_0x4620(_0x17b160,_0x3aaab5){_0x17b160=_0x17b160-0x18f;const _0x4afb6e=a131_0x4afb();let _0x4620cb=_0x4afb6e[_0x17b160];return _0x4620cb;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a131_0x4afb(){const _0x55c535=['str','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','/smartapi/custom/saveUserCustomSql','description','sqls','2671968WfWeuU','sqlRootDir','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','flagMissing','stringify','appCode','MyBatis\x20XML(mybatisXml)','toISOString','9kyyRjC','isFinite','flag','</select>','7375338wsgyqI','dbName','map','5xZDXXG','Invalid\x20database\x20selection\x20payload:\x20','lockFilePath','dbId\x20必须为正整数','108088dlzBEr','POST','<server-generated-sqlCode>','__manual__','nonInteractive','mode','File\x20already\x20exists:\x20','high-risk-write','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','515444NeWFWH','普通\x20SQL(sql)','dbId','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','number','23488116rqlTfH','请选择目标数据库:','utf8','catch','length','sqlName','SELECT\x201\x20AS\x20id;','1783310jEkFoV','sql','请输入目标数据库\x20dbId:','join','2699480HHgMrD','db-id','SQL\x20query\x20display\x20name','2vozUxt','name','mybatisXml','适合带动态标签的\x20MyBatis\x20XML\x20SQL','SQL\x20名称不能为空','trim','validation','sqlCode','isInteger','11RHISrt','Target\x20database\x20ID','Local\x20SQL\x20file\x20mode','dbId\x20不能为空','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Created\x20SQL\x20query\x20','string','511WEyigp'];a131_0x4afb=function(){return _0x55c535;};return a131_0x4afb();}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x492573){const _0x4f24e6=a131_0x4620;if(_0x492573==='mybatisXml')return[_0x4f24e6(0x1a1),_0x4f24e6(0x1a2),_0x4f24e6(0x1ab),''][_0x4f24e6(0x1cb)]('\x0a');return[_0x4f24e6(0x1c7),'']['join']('\x0a');}export const sqlCreate={'service':a131_0x48c896(0x1c9),'command':'create','description':a131_0x48c896(0x19b),'risk':a131_0x48c896(0x1ba),'flags':[{'name':a131_0x48c896(0x1d0),'type':a131_0x48c896(0x198),'description':a131_0x48c896(0x1ce)},{'name':'db-id','type':a131_0x48c896(0x1c0),'description':a131_0x48c896(0x193)},{'name':'mode','type':a131_0x48c896(0x198),'enum':[a131_0x48c896(0x1c9),a131_0x48c896(0x1d1)],'description':a131_0x48c896(0x194)}],async 'validate'(_0x5e42de){const _0xae60bd=a131_0x48c896;if(!_0x5e42de[_0xae60bd(0x1b7)])return;if(!_0x5e42de[_0xae60bd(0x19a)](_0xae60bd(0x1d0))['trim']())throw CliErrors[_0xae60bd(0x1a3)](_0xae60bd(0x1d0),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x467b4b=resolveProvidedDbId(_0x5e42de);if(typeof _0x467b4b!==_0xae60bd(0x1c0)||!Number[_0xae60bd(0x1a9)](_0x467b4b)||_0x467b4b<=0x0)throw CliErrors['flagMissing']('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x5e42de[_0xae60bd(0x19a)](_0xae60bd(0x1b8))['trim']())throw CliErrors['flagMissing']('mode',_0xae60bd(0x1bb));},async 'dryRun'(_0x47e49f){const _0x4e6a59=a131_0x48c896,_0x272325=loadSqlProjectConfig(_0x47e49f[_0x4e6a59(0x1a5)]),{sqlName:_0x2d097e,dbId:_0x343a56,dbName:_0x406df9,mode:_0x339aaf}=await resolveSqlNewInputs(_0x47e49f),_0x4f7947=buildSqlRelativePath(_0x4e6a59(0x1b5),_0x2d097e,_0x406df9,_0x339aaf,_0x343a56),_0x39a51f=_0x272325[_0x4e6a59(0x1a0)]+'/'+_0x4f7947;return{'method':_0x4e6a59(0x1b4),'url':_0x4e6a59(0x19c),'body':{'appCode':_0x47e49f[_0x4e6a59(0x1a5)],'sqlName':_0x2d097e,'dbId':_0x343a56,'mode':_0x339aaf,'localPath':_0x39a51f},'description':_0x4e6a59(0x196)+_0x272325[_0x4e6a59(0x1a0)]};},async 'execute'(_0x1fc571){const _0x3bea81=a131_0x48c896,_0x1444d9=loadSqlProjectConfig(_0x1fc571[_0x3bea81(0x1a5)]),{sqlName:_0x35daf9,dbId:_0x504d47,dbName:_0x2235d1,mode:_0x1476d5}=await resolveSqlNewInputs(_0x1fc571),_0xfe4d2d=generateSqlTemplate(_0x1476d5),_0xd25c1b=await createSqlQuery({'appCode':_0x1fc571['appCode'],'sqlName':_0x35daf9,'dbId':_0x504d47,'sqlContent':_0xfe4d2d}),_0xc205b=ensureRemoteSqlContent(_0xd25c1b),_0x5204d9=_0x2235d1||await getDbName(_0x1fc571[_0x3bea81(0x1a5)],_0x504d47)['catch'](()=>undefined),_0x4eb6e1=buildSqlRelativePath(_0xd25c1b[_0x3bea81(0x190)],_0xd25c1b['sqlName'],_0x5204d9,_0x1476d5,_0x504d47),_0x4f667e=_0x1444d9[_0x3bea81(0x1a0)]+'/'+_0x4eb6e1,_0x59c8b2=buildLocalSqlFileContent({'sqlCode':_0xd25c1b['sqlCode'],'sqlName':_0xd25c1b[_0x3bea81(0x1c6)],'dbId':_0xd25c1b[_0x3bea81(0x1be)]},_0xc205b,{'dbName':_0x5204d9,'mode':_0x1476d5,'syncedAt':new Date()[_0x3bea81(0x1a7)](),'description':_0xd25c1b[_0x3bea81(0x19d)]});if(await fileExists(_0x4f667e))throw CliErrors[_0x3bea81(0x18f)](_0x3bea81(0x1b9)+_0x4f667e);await ensureParentDirectory(_0x4f667e),await writeFile(_0x4f667e,_0x59c8b2,_0x3bea81(0x1c3));const _0x3c342d=await readSqlLockFile(_0x1444d9['lockFilePath']),{lockData:_0x373530,appLock:_0x36c2ec}=ensureSqlLockScope(_0x3c342d??createEmptySqlLock(),_0x1444d9[_0x3bea81(0x1a5)],_0x1444d9['sqlRoot'],'new');return _0x36c2ec[_0x3bea81(0x19e)][_0xd25c1b[_0x3bea81(0x190)]]={...buildSqlLockEntry(_0xd25c1b,_0xc205b,computeSqlContentHash(_0x59c8b2),{'dbName':_0x5204d9}),'path':_0x4eb6e1,'mode':_0x1476d5},_0x36c2ec['lastSync']=new Date()[_0x3bea81(0x1a7)](),await writeSqlLockFile(_0x1444d9[_0x3bea81(0x1b1)],_0x373530),{'ok':!![],'data':{'id':_0xd25c1b['id'],'sqlCode':_0xd25c1b[_0x3bea81(0x190)],'sqlName':_0xd25c1b[_0x3bea81(0x1c6)],'dbId':_0xd25c1b[_0x3bea81(0x1be)],'path':_0x4f667e,'mode':_0x1476d5},'message':_0x3bea81(0x197)+_0xd25c1b[_0x3bea81(0x190)]};}};async function resolveSqlNewInputs(_0x5a4c9b){const _0x2c73ef=await resolveSqlNameInput(_0x5a4c9b),{dbId:_0x316a45,dbName:_0x4cf0bf}=await resolveDbSelection(_0x5a4c9b),_0x2df671=await resolveSqlModeInput(_0x5a4c9b);return{'sqlName':_0x2c73ef,'dbId':_0x316a45,'dbName':_0x4cf0bf,'mode':_0x2df671};}async function resolveSqlNameInput(_0x3e039b){const _0xf411dd=a131_0x48c896,_0x26780e=_0x3e039b[_0xf411dd(0x19a)](_0xf411dd(0x1d0))[_0xf411dd(0x1d4)]();if(_0x26780e)return _0x26780e;if(_0x3e039b[_0xf411dd(0x1b7)])throw CliErrors[_0xf411dd(0x1a3)](_0xf411dd(0x1d0),_0xf411dd(0x1bf));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x5503d6=>_0x5503d6['trim']()?!![]:_0xf411dd(0x1d3)}))[_0xf411dd(0x1d4)]();}async function resolveDbSelection(_0x72cb73){const _0xb516d6=a131_0x48c896,_0x32689b=resolveProvidedDbId(_0x72cb73);if(typeof _0x32689b===_0xb516d6(0x1c0)&&Number[_0xb516d6(0x1a9)](_0x32689b)&&_0x32689b>0x0)return{'dbId':_0x32689b,'dbName':await getDbName(_0x72cb73[_0xb516d6(0x1a5)],_0x32689b)[_0xb516d6(0x1c4)](()=>undefined)};if(_0x72cb73['nonInteractive'])throw CliErrors['flagMissing']('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x149d1d=await listDatabases(_0x72cb73['appCode'])[_0xb516d6(0x1c4)](()=>[]);if(_0x149d1d[_0xb516d6(0x1c5)]===0x1)return{'dbId':_0x149d1d[0x0]['dbId'],'dbName':_0x149d1d[0x0][_0xb516d6(0x1ad)]};if(_0x149d1d[_0xb516d6(0x1c5)]>0x1){const _0x32f7a3=await select({'message':_0xb516d6(0x1c2),'choices':[..._0x149d1d[_0xb516d6(0x1ae)](_0x310404=>({'name':_0x310404[_0xb516d6(0x1ad)]+'\x20('+_0x310404['dbId']+')','value':serializeDbSelection(_0x310404)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x32f7a3!==_0xb516d6(0x1b6))return deserializeDbSelection(_0x32f7a3);}const _0x5c99f3=await input({'message':_0xb516d6(0x1ca),'validate':_0x27098c=>{const _0x202b2c=_0xb516d6,_0x4ea07a=_0x27098c['trim']();if(!_0x4ea07a)return _0x202b2c(0x195);const _0x4e87ce=Number(_0x4ea07a);if(!Number[_0x202b2c(0x191)](_0x4e87ce)||_0x4e87ce<=0x0)return _0x202b2c(0x1b2);return!![];}});return{'dbId':Number(_0x5c99f3[_0xb516d6(0x1d4)]())};}async function resolveSqlModeInput(_0x478e4b){const _0x3cb30c=a131_0x48c896,_0x4231a4=_0x478e4b[_0x3cb30c(0x19a)]('mode')[_0x3cb30c(0x1d4)]();if(_0x4231a4===_0x3cb30c(0x1c9)||_0x4231a4===_0x3cb30c(0x1d1))return _0x4231a4;if(_0x478e4b[_0x3cb30c(0x1b7)])throw CliErrors['flagMissing']('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x3cb30c(0x1bd),'value':_0x3cb30c(0x1c9),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x3cb30c(0x1a6),'value':_0x3cb30c(0x1d1),'description':_0x3cb30c(0x1d2)}]});}function serializeDbSelection(_0x447354){const _0x1231e7=a131_0x48c896;return JSON[_0x1231e7(0x1a4)]({'dbId':_0x447354[_0x1231e7(0x1be)],'dbName':_0x447354[_0x1231e7(0x1ad)]});}function deserializeDbSelection(_0x566107){const _0x2286c5=a131_0x48c896;try{const _0x1ea03c=JSON['parse'](_0x566107);if(typeof _0x1ea03c[_0x2286c5(0x1be)]===_0x2286c5(0x1c0)&&Number[_0x2286c5(0x1a9)](_0x1ea03c[_0x2286c5(0x1be)]))return{'dbId':_0x1ea03c[_0x2286c5(0x1be)],'dbName':_0x1ea03c['dbName']};}catch{}throw CliErrors[_0x2286c5(0x18f)](_0x2286c5(0x1b0)+_0x566107);}function resolveProvidedDbId(_0xf37e93){const _0x293f79=a131_0x48c896,_0x242e94=_0xf37e93[_0x293f79(0x1aa)](_0x293f79(0x1cd));if(typeof _0x242e94===_0x293f79(0x1c0)&&Number[_0x293f79(0x1a9)](_0x242e94))return _0x242e94;return undefined;}
@@ -1 +1 @@
1
- const a133_0x2a4e28=a133_0x52e6;(function(_0x52ff16,_0x1f45d1){const _0x184817=a133_0x52e6,_0x255eac=_0x52ff16();while(!![]){try{const _0x3fa681=parseInt(_0x184817(0xb4))/0x1*(parseInt(_0x184817(0xa7))/0x2)+-parseInt(_0x184817(0x9e))/0x3*(-parseInt(_0x184817(0xa6))/0x4)+-parseInt(_0x184817(0x9c))/0x5*(-parseInt(_0x184817(0xae))/0x6)+-parseInt(_0x184817(0xbd))/0x7*(parseInt(_0x184817(0xb2))/0x8)+-parseInt(_0x184817(0xac))/0x9+-parseInt(_0x184817(0xa1))/0xa*(parseInt(_0x184817(0xc1))/0xb)+-parseInt(_0x184817(0xb3))/0xc*(-parseInt(_0x184817(0xb1))/0xd);if(_0x3fa681===_0x1f45d1)break;else _0x255eac['push'](_0x255eac['shift']());}catch(_0x494f8e){_0x255eac['push'](_0x255eac['shift']());}}}(a133_0x4688,0xca134));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';function a133_0x4688(){const _0x36b794=['No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','6013674JSltUN','Would\x20delete\x20SQL\x20','54WhzjEz','str','POST','1163929vXhxSd','1442328LKpSNU','12CSCMfS','17yvwBKU','sqlRoot','delete','\x20(local\x20file\x20moved\x20to\x20trash)','replace','/smartapi/custom/deleteUserCustomSql','lockFilePath','appCode','remoteId','21FRBujX','sqlRootDir','filter','sql','121FEDPeY','SQL\x20lock\x20file\x20not\x20found.','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','45790GeoiyW','sqls','126GdwodM','length','entries','353120qgQedY','Deleted\x20','sqlcode','trashDir','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','107740tGPBmT','131996gjBLmA','lastSync','validation','toISOString'];a133_0x4688=function(){return _0x36b794;};return a133_0x4688();}function a133_0x52e6(_0x3e49ed,_0x6e09d6){_0x3e49ed=_0x3e49ed-0x9b;const _0x46880f=a133_0x4688();let _0x52e6c1=_0x46880f[_0x3e49ed];return _0x52e6c1;}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':a133_0x2a4e28(0xc0),'command':'delete','description':a133_0x2a4e28(0xa5),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x306a37){const _0x119a2d=a133_0x2a4e28,_0x48b756=loadSqlProjectConfig(_0x306a37[_0x119a2d(0xbb)]),_0x368410=await readSqlLockFile(_0x48b756['lockFilePath']);if(!_0x368410)throw CliErrors[_0x119a2d(0xa9)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x1cf2aa){const _0x3a2cb7=a133_0x2a4e28,_0x3f6e0b=loadSqlProjectConfig(_0x1cf2aa[_0x3a2cb7(0xbb)]),_0x511e41=await readSqlLockFile(_0x3f6e0b[_0x3a2cb7(0xba)]);if(!_0x511e41)throw CliErrors[_0x3a2cb7(0xa9)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x22f8fa}=ensureSqlLockScope(_0x511e41,_0x1cf2aa['appCode'],_0x3f6e0b[_0x3a2cb7(0xb5)],_0x3a2cb7(0xb6)),_0x3242eb=_0x1cf2aa[_0x3a2cb7(0xaf)](_0x3a2cb7(0xa3)),_0x1bc26c=_0x22f8fa[_0x3a2cb7(0x9d)][_0x3242eb];if(!_0x1bc26c)throw CliErrors['validation'](_0x3a2cb7(0xab)+_0x3242eb+'\x22.');return{'method':_0x3a2cb7(0xb0),'url':_0x3a2cb7(0xb9),'body':{'sqlCode':_0x3242eb,'id':_0x1bc26c['remoteId'],'localPath':resolveLocalSqlFilePath(_0x3f6e0b,_0x3242eb,_0x1bc26c)},'description':_0x3a2cb7(0xad)+_0x3242eb+_0x3a2cb7(0x9b)+_0x3f6e0b['trashDir']};},async 'execute'(_0x35e7a9){const _0xc7465d=a133_0x2a4e28,_0x1f3462=loadSqlProjectConfig(_0x35e7a9['appCode']),_0x17a26a=await readSqlLockFile(_0x1f3462[_0xc7465d(0xba)]);if(!_0x17a26a)throw CliErrors[_0xc7465d(0xa9)](_0xc7465d(0xc2));const {lockData:_0x3d7851,appLock:_0x48efad}=ensureSqlLockScope(_0x17a26a,_0x35e7a9[_0xc7465d(0xbb)],_0x1f3462[_0xc7465d(0xb5)],_0xc7465d(0xb6)),_0x510114=_0x35e7a9[_0xc7465d(0xaf)](_0xc7465d(0xa3)),_0x3a8faa=_0x48efad[_0xc7465d(0x9d)][_0x510114];if(!_0x3a8faa)throw CliErrors['validation'](_0xc7465d(0xab)+_0x510114+'\x22.');await deleteSqlQuery({'id':_0x3a8faa[_0xc7465d(0xbc)],'sqlCode':_0x510114}),_0x48efad[_0xc7465d(0x9d)]=Object['fromEntries'](Object[_0xc7465d(0xa0)](_0x48efad[_0xc7465d(0x9d)])[_0xc7465d(0xbf)](([_0x449d96])=>_0x449d96!==_0x510114)),_0x48efad[_0xc7465d(0xa8)]=new Date()[_0xc7465d(0xaa)](),await writeSqlLockFile(_0x1f3462['lockFilePath'],_0x3d7851);const _0x48462a=resolveLocalSqlFilePath(_0x1f3462,_0x510114,_0x3a8faa);let _0x35b0d7;await fileExists(_0x48462a)&&(_0x35b0d7=await moveToTrash(_0x1f3462['projectRoot'],_0x1f3462[_0xc7465d(0xa4)],_0x48462a),await cleanupEmptyDirectories(dirname(_0x48462a),_0x1f3462[_0xc7465d(0xbe)]));const _0x516f52={'deleted':_0x510114,'remoteId':_0x3a8faa[_0xc7465d(0xbc)]};if(_0x35b0d7)_0x516f52['trashedTo']=_0x35b0d7;return{'ok':!![],'data':_0x516f52,'message':_0xc7465d(0xa2)+_0x510114+(_0x35b0d7?_0xc7465d(0xb7):'')};}};async function moveToTrash(_0x40b6f1,_0x21fdf8,_0x53c9a5){const _0x625846=a133_0x2a4e28,_0x1364cd=new Date()['toISOString']()[_0x625846(0xb8)](/[:.]/g,'-'),_0x2a3296=relative(_0x40b6f1,_0x53c9a5),_0x4b9811=join(_0x21fdf8,_0x1364cd,_0x2a3296);return await mkdir(dirname(_0x4b9811),{'recursive':!![]}),await rename(_0x53c9a5,_0x4b9811),_0x4b9811;}async function cleanupEmptyDirectories(_0x1c8a23,_0x1e5683){const _0x100595=a133_0x2a4e28;let _0x1aa038=resolve(_0x1c8a23);const _0x52524a=resolve(_0x1e5683);while(_0x1aa038['startsWith'](''+_0x52524a+sep)||_0x1aa038===_0x52524a){if(_0x1aa038===_0x52524a)return;try{const _0x14ffbd=await readdir(_0x1aa038);if(_0x14ffbd[_0x100595(0x9f)]>0x0)return;await rmdir(_0x1aa038);}catch{return;}_0x1aa038=dirname(_0x1aa038);}}
1
+ const a132_0x9232e3=a132_0x4c85;(function(_0x2e4a0d,_0x10fc2b){const _0xc44759=a132_0x4c85,_0x306ecf=_0x2e4a0d();while(!![]){try{const _0x2201c3=parseInt(_0xc44759(0x1f1))/0x1*(parseInt(_0xc44759(0x1f0))/0x2)+-parseInt(_0xc44759(0x1f6))/0x3+-parseInt(_0xc44759(0x1f8))/0x4+parseInt(_0xc44759(0x1ee))/0x5*(-parseInt(_0xc44759(0x1e6))/0x6)+-parseInt(_0xc44759(0x1f4))/0x7*(-parseInt(_0xc44759(0x200))/0x8)+-parseInt(_0xc44759(0x1fc))/0x9*(parseInt(_0xc44759(0x1ea))/0xa)+-parseInt(_0xc44759(0x1e9))/0xb*(-parseInt(_0xc44759(0x1f3))/0xc);if(_0x2201c3===_0x10fc2b)break;else _0x306ecf['push'](_0x306ecf['shift']());}catch(_0x461f40){_0x306ecf['push'](_0x306ecf['shift']());}}}(a132_0x591d,0xba3ab));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a132_0x591d(){const _0x1c524f=['POST','9wRZhHE','sqlcode','sqlRoot','entries','203360qIhnyC','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','length','delete','appCode','validation','high-risk-write','toISOString','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','str','12MmxTsi','trashDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','77cpEjNZ','5036810uvyueq','lockFilePath','projectRoot','Would\x20delete\x20SQL\x20','704560uxZuHj','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','1970yRQStA','1181lKOqsC','SQL\x20lock\x20file\x20not\x20found.','2564724atRQSq','399QouGXY','/smartapi/custom/deleteUserCustomSql','3601533WqhQnK','Deleted\x20','5438012ObCKoG','sqls','trashedTo'];a132_0x591d=function(){return _0x1c524f;};return a132_0x591d();}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';function a132_0x4c85(_0x1b45da,_0x115238){_0x1b45da=_0x1b45da-0x1dd;const _0x591d65=a132_0x591d();let _0x4c85a6=_0x591d65[_0x1b45da];return _0x4c85a6;}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':a132_0x9232e3(0x1df),'description':a132_0x9232e3(0x1ef),'risk':a132_0x9232e3(0x1e2),'flags':[SQLCODE_FLAG],async 'validate'(_0x148866){const _0x29cb41=a132_0x9232e3,_0x48870b=loadSqlProjectConfig(_0x148866[_0x29cb41(0x1e0)]),_0x42e87a=await readSqlLockFile(_0x48870b['lockFilePath']);if(!_0x42e87a)throw CliErrors[_0x29cb41(0x1e1)](_0x29cb41(0x1dd));},async 'dryRun'(_0x3a05bd){const _0x565869=a132_0x9232e3,_0x22a7d6=loadSqlProjectConfig(_0x3a05bd['appCode']),_0x4a0024=await readSqlLockFile(_0x22a7d6[_0x565869(0x1eb)]);if(!_0x4a0024)throw CliErrors['validation'](_0x565869(0x1dd));const {appLock:_0xec6fa9}=ensureSqlLockScope(_0x4a0024,_0x3a05bd[_0x565869(0x1e0)],_0x22a7d6[_0x565869(0x1fe)],_0x565869(0x1df)),_0x107aeb=_0x3a05bd[_0x565869(0x1e5)](_0x565869(0x1fd)),_0x1af513=_0xec6fa9[_0x565869(0x1f9)][_0x107aeb];if(!_0x1af513)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x107aeb+'\x22.');return{'method':_0x565869(0x1fb),'url':_0x565869(0x1f5),'body':{'sqlCode':_0x107aeb,'id':_0x1af513['remoteId'],'localPath':resolveLocalSqlFilePath(_0x22a7d6,_0x107aeb,_0x1af513)},'description':_0x565869(0x1ed)+_0x107aeb+_0x565869(0x1e8)+_0x22a7d6['trashDir']};},async 'execute'(_0x122f56){const _0x927729=a132_0x9232e3,_0xb78885=loadSqlProjectConfig(_0x122f56[_0x927729(0x1e0)]),_0x52d350=await readSqlLockFile(_0xb78885['lockFilePath']);if(!_0x52d350)throw CliErrors[_0x927729(0x1e1)](_0x927729(0x1f2));const {lockData:_0x3a42bd,appLock:_0x410351}=ensureSqlLockScope(_0x52d350,_0x122f56['appCode'],_0xb78885[_0x927729(0x1fe)],_0x927729(0x1df)),_0x2621d2=_0x122f56[_0x927729(0x1e5)](_0x927729(0x1fd)),_0x6fad32=_0x410351[_0x927729(0x1f9)][_0x2621d2];if(!_0x6fad32)throw CliErrors[_0x927729(0x1e1)](_0x927729(0x1e4)+_0x2621d2+'\x22.');await deleteSqlQuery({'id':_0x6fad32['remoteId'],'sqlCode':_0x2621d2}),_0x410351['sqls']=Object['fromEntries'](Object[_0x927729(0x1ff)](_0x410351[_0x927729(0x1f9)])['filter'](([_0x4d567d])=>_0x4d567d!==_0x2621d2)),_0x410351['lastSync']=new Date()[_0x927729(0x1e3)](),await writeSqlLockFile(_0xb78885['lockFilePath'],_0x3a42bd);const _0x5a8b54=resolveLocalSqlFilePath(_0xb78885,_0x2621d2,_0x6fad32);let _0x8b130b;await fileExists(_0x5a8b54)&&(_0x8b130b=await moveToTrash(_0xb78885[_0x927729(0x1ec)],_0xb78885[_0x927729(0x1e7)],_0x5a8b54),await cleanupEmptyDirectories(dirname(_0x5a8b54),_0xb78885['sqlRootDir']));const _0x131dd8={'deleted':_0x2621d2,'remoteId':_0x6fad32['remoteId']};if(_0x8b130b)_0x131dd8[_0x927729(0x1fa)]=_0x8b130b;return{'ok':!![],'data':_0x131dd8,'message':_0x927729(0x1f7)+_0x2621d2+(_0x8b130b?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x291928,_0x4893cf,_0x438617){const _0x542065=a132_0x9232e3,_0x4980d0=new Date()[_0x542065(0x1e3)]()['replace'](/[:.]/g,'-'),_0x1d2f4b=relative(_0x291928,_0x438617),_0x14c21f=join(_0x4893cf,_0x4980d0,_0x1d2f4b);return await mkdir(dirname(_0x14c21f),{'recursive':!![]}),await rename(_0x438617,_0x14c21f),_0x14c21f;}async function cleanupEmptyDirectories(_0x31bae1,_0x1d23e6){const _0x469d1b=a132_0x9232e3;let _0x3e6602=resolve(_0x31bae1);const _0x22f030=resolve(_0x1d23e6);while(_0x3e6602['startsWith'](''+_0x22f030+sep)||_0x3e6602===_0x22f030){if(_0x3e6602===_0x22f030)return;try{const _0x442ab1=await readdir(_0x3e6602);if(_0x442ab1[_0x469d1b(0x1de)]>0x0)return;await rmdir(_0x3e6602);}catch{return;}_0x3e6602=dirname(_0x3e6602);}}
@@ -1 +1 @@
1
- const a134_0x1aea8e=a134_0x3f81;(function(_0x11ee47,_0x21f07d){const _0x1569a9=a134_0x3f81,_0x36b2d4=_0x11ee47();while(!![]){try{const _0xf52fb=-parseInt(_0x1569a9(0x177))/0x1+-parseInt(_0x1569a9(0x164))/0x2*(parseInt(_0x1569a9(0x168))/0x3)+parseInt(_0x1569a9(0x16c))/0x4*(-parseInt(_0x1569a9(0x173))/0x5)+parseInt(_0x1569a9(0x161))/0x6+-parseInt(_0x1569a9(0x169))/0x7*(parseInt(_0x1569a9(0x167))/0x8)+-parseInt(_0x1569a9(0x171))/0x9+parseInt(_0x1569a9(0x170))/0xa*(parseInt(_0x1569a9(0x178))/0xb);if(_0xf52fb===_0x21f07d)break;else _0x36b2d4['push'](_0x36b2d4['shift']());}catch(_0x277e33){_0x36b2d4['push'](_0x36b2d4['shift']());}}}(a134_0x5415,0x4485a));import{getSqlQueryInfo}from'../../core/api-client.js';function a134_0x3f81(_0x508404,_0x58f49f){_0x508404=_0x508404-0x161;const _0x54150d=a134_0x5415();let _0x3f816a=_0x54150d[_0x508404];return _0x3f816a;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a134_0x1aea8e(0x16a),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a134_0x1aea8e(0x16e),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a134_0x1aea8e(0x16f),'description':a134_0x1aea8e(0x176)}],async 'execute'(_0x51b08c){const _0x5d126d=a134_0x1aea8e,_0x101498=await getSqlQueryInfo(_0x51b08c['appCode'],_0x51b08c[_0x5d126d(0x162)](_0x5d126d(0x16b))),_0x17e631=_0x51b08c[_0x5d126d(0x175)](_0x5d126d(0x163));if(_0x17e631)return{'ok':!![],'data':_0x101498};const _0x25e9e9=_0x101498[_0x5d126d(0x174)]?await getDbName(_0x51b08c['appCode'],_0x101498[_0x5d126d(0x174)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x101498[_0x5d126d(0x166)],'sqlName':_0x101498[_0x5d126d(0x172)],'db':_0x25e9e9?_0x25e9e9+'\x20('+_0x101498['dbId']+')':_0x101498[_0x5d126d(0x174)]??'','description':_0x101498[_0x5d126d(0x16d)]??'','sqlContent':_0x101498[_0x5d126d(0x165)]??''}};}};function a134_0x5415(){const _0x4ab407=['344385hwQEdw','1984048COnHXo','2651784HBGlfU','str','verbose','90MwaFlh','sqlContent','sqlCode','400GPwhAp','19611XMkNnv','26341WwZBiV','detail','sqlcode','427048ktXjMG','description','read','boolean','80teqcpv','3154446KLgeBg','sqlName','20fVTomF','dbId','bool','Return\x20full\x20raw\x20SQL\x20query\x20object'];a134_0x5415=function(){return _0x4ab407;};return a134_0x5415();}
1
+ const a133_0x47c36a=a133_0x74b1;(function(_0x1c768f,_0x1601c2){const _0x56acdc=a133_0x74b1,_0x493283=_0x1c768f();while(!![]){try{const _0x402b16=parseInt(_0x56acdc(0xf1))/0x1*(parseInt(_0x56acdc(0x101))/0x2)+parseInt(_0x56acdc(0xf9))/0x3*(-parseInt(_0x56acdc(0xf5))/0x4)+-parseInt(_0x56acdc(0xf2))/0x5*(-parseInt(_0x56acdc(0x104))/0x6)+-parseInt(_0x56acdc(0xfe))/0x7+-parseInt(_0x56acdc(0xf4))/0x8*(parseInt(_0x56acdc(0x100))/0x9)+parseInt(_0x56acdc(0xfd))/0xa+-parseInt(_0x56acdc(0xfb))/0xb*(parseInt(_0x56acdc(0xf8))/0xc);if(_0x402b16===_0x1601c2)break;else _0x493283['push'](_0x493283['shift']());}catch(_0x38046f){_0x493283['push'](_0x493283['shift']());}}}(a133_0x1798,0x3bf9b));function a133_0x74b1(_0x5ef013,_0x4f281d){_0x5ef013=_0x5ef013-0xee;const _0x179890=a133_0x1798();let _0x74b1f8=_0x179890[_0x5ef013];return _0x74b1f8;}import{getSqlQueryInfo}from'../../core/api-client.js';function a133_0x1798(){const _0x3c66f0=['appCode','sqlcode','2414934CscnzL','dbId','sql','Return\x20full\x20raw\x20SQL\x20query\x20object','boolean','161ofUoUw','5stbUAa','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','28504OuLFEJ','122504ltqNYv','verbose','bool','1236NqeUCH','24IUGpFI','sqlCode','47157hwfXWJ','sqlName','4687740HXCNzP','526442umWXgd','str','153OrwJCg','2444onKrSO'];a133_0x1798=function(){return _0x3c66f0;};return a133_0x1798();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a133_0x47c36a(0xee),'command':'detail','description':a133_0x47c36a(0xf3),'risk':'read','flags':[SQLCODE_FLAG,{'name':a133_0x47c36a(0xf6),'type':a133_0x47c36a(0xf0),'description':a133_0x47c36a(0xef)}],async 'execute'(_0x5d58d2){const _0x4ea638=a133_0x47c36a,_0x46b7e9=await getSqlQueryInfo(_0x5d58d2[_0x4ea638(0x102)],_0x5d58d2[_0x4ea638(0xff)](_0x4ea638(0x103))),_0xf82bb7=_0x5d58d2[_0x4ea638(0xf7)](_0x4ea638(0xf6));if(_0xf82bb7)return{'ok':!![],'data':_0x46b7e9};const _0x4c2fa6=_0x46b7e9[_0x4ea638(0x105)]?await getDbName(_0x5d58d2[_0x4ea638(0x102)],_0x46b7e9[_0x4ea638(0x105)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x46b7e9[_0x4ea638(0xfa)],'sqlName':_0x46b7e9[_0x4ea638(0xfc)],'db':_0x4c2fa6?_0x4c2fa6+'\x20('+_0x46b7e9[_0x4ea638(0x105)]+')':_0x46b7e9['dbId']??'','description':_0x46b7e9['description']??'','sqlContent':_0x46b7e9['sqlContent']??''}};}};
@@ -1 +1 @@
1
- const a135_0x1d2bdf=a135_0x5c7d;function a135_0x5c7d(_0x700e38,_0x3be5f0){_0x700e38=_0x700e38-0x83;const _0x3082ff=a135_0x3082();let _0x5c7d2c=_0x3082ff[_0x700e38];return _0x5c7d2c;}(function(_0x416860,_0x2cc8ca){const _0x483487=a135_0x5c7d,_0x51568f=_0x416860();while(!![]){try{const _0x513823=parseInt(_0x483487(0x96))/0x1*(parseInt(_0x483487(0x87))/0x2)+parseInt(_0x483487(0x92))/0x3+-parseInt(_0x483487(0x8d))/0x4+-parseInt(_0x483487(0x8c))/0x5*(parseInt(_0x483487(0x97))/0x6)+parseInt(_0x483487(0x85))/0x7+parseInt(_0x483487(0x93))/0x8+-parseInt(_0x483487(0x88))/0x9;if(_0x513823===_0x2cc8ca)break;else _0x51568f['push'](_0x51568f['shift']());}catch(_0x3a851f){_0x51568f['push'](_0x51568f['shift']());}}}(a135_0x3082,0xb7601));function a135_0x3082(){const _0x4eebfd=['length','sql','str','994690jYzDsN','1445784DmNBNE','params','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','now','sqlcode','3566544nsZgGp','4459064MWfkuh','Returned\x20','read','1QXnwLh','12veJdKA','appCode','exec','execResult','string','6540338JMkZki','SQL\x20execution\x20failed','1359626gsBbUs','16649559MUgyiN'];a135_0x3082=function(){return _0x4eebfd;};return a135_0x3082();}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a135_0x1d2bdf(0x8a),'command':a135_0x1d2bdf(0x99),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a135_0x1d2bdf(0x95),'flags':[SQLCODE_FLAG,{'name':'params','type':a135_0x1d2bdf(0x84),'description':a135_0x1d2bdf(0x8f)}],async 'execute'(_0x1700e4){const _0x53f04c=a135_0x1d2bdf,_0x19edd1=parseJsonParams(_0x1700e4[_0x53f04c(0x8b)](_0x53f04c(0x8e))),_0x289bdd=Date[_0x53f04c(0x90)](),_0x4627a1=await executeSql(_0x1700e4[_0x53f04c(0x98)],_0x1700e4[_0x53f04c(0x8b)](_0x53f04c(0x91)),_0x19edd1),_0x52519f=Date[_0x53f04c(0x90)]()-_0x289bdd,_0x3cf478=_0x4627a1?.[_0x53f04c(0x83)]??_0x4627a1,_0x137cad=_0x4627a1?.['execSuccess']??!![];if(!_0x137cad)return{'ok':![],'data':{'error':_0x4627a1?.['execError']||_0x53f04c(0x86),'elapsed':_0x52519f},'message':_0x53f04c(0x86)};const _0x314ced=Array['isArray'](_0x3cf478)?_0x3cf478:[];return{'ok':!![],'data':{'rows':_0x314ced,'rowCount':_0x314ced[_0x53f04c(0x89)],'elapsed':_0x52519f},'message':_0x53f04c(0x94)+_0x314ced[_0x53f04c(0x89)]+'\x20row(s)\x20in\x20'+_0x52519f+'ms'};}};
1
+ const a134_0x2f61cb=a134_0x3fd0;(function(_0x5c645e,_0x4afa26){const _0x55989e=a134_0x3fd0,_0x67dd18=_0x5c645e();while(!![]){try{const _0x3cea0b=parseInt(_0x55989e(0x10c))/0x1*(parseInt(_0x55989e(0x10e))/0x2)+-parseInt(_0x55989e(0x112))/0x3+-parseInt(_0x55989e(0x102))/0x4+parseInt(_0x55989e(0x103))/0x5*(-parseInt(_0x55989e(0x10d))/0x6)+parseInt(_0x55989e(0x10b))/0x7*(-parseInt(_0x55989e(0x10a))/0x8)+-parseInt(_0x55989e(0x10f))/0x9+parseInt(_0x55989e(0x106))/0xa;if(_0x3cea0b===_0x4afa26)break;else _0x67dd18['push'](_0x67dd18['shift']());}catch(_0x136c04){_0x67dd18['push'](_0x67dd18['shift']());}}}(a134_0x3592,0x5947b));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a134_0x3fd0(_0x3a5e7c,_0x267750){_0x3a5e7c=_0x3a5e7c-0x102;const _0x35920f=a134_0x3592();let _0x3fd044=_0x35920f[_0x3a5e7c];return _0x3fd044;}function a134_0x3592(){const _0x1e9ae9=['sqlcode','execResult','length','appCode','str','params','1065308ckCuns','470jEzogw','SQL\x20execution\x20failed','execSuccess','15724630uKPPiF','now','read','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','344kCjKBY','29092spbSnt','2oVfPfO','10398rYSRLA','470936oQqCiF','4123278PFsEbp','Returned\x20','isArray','1834887LiMMaR'];a134_0x3592=function(){return _0x1e9ae9;};return a134_0x3592();}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':'exec','description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a134_0x2f61cb(0x108),'flags':[SQLCODE_FLAG,{'name':a134_0x2f61cb(0x118),'type':'string','description':a134_0x2f61cb(0x109)}],async 'execute'(_0x28d87b){const _0x24f858=a134_0x2f61cb,_0x5bf695=parseJsonParams(_0x28d87b[_0x24f858(0x117)](_0x24f858(0x118))),_0x38e51a=Date[_0x24f858(0x107)](),_0x4edc0d=await executeSql(_0x28d87b[_0x24f858(0x116)],_0x28d87b[_0x24f858(0x117)](_0x24f858(0x113)),_0x5bf695),_0x14798b=Date[_0x24f858(0x107)]()-_0x38e51a,_0x20e9e=_0x4edc0d?.[_0x24f858(0x114)]??_0x4edc0d,_0xd2c0b0=_0x4edc0d?.[_0x24f858(0x105)]??!![];if(!_0xd2c0b0)return{'ok':![],'data':{'error':_0x4edc0d?.['execError']||_0x24f858(0x104),'elapsed':_0x14798b},'message':_0x24f858(0x104)};const _0x170dee=Array[_0x24f858(0x111)](_0x20e9e)?_0x20e9e:[];return{'ok':!![],'data':{'rows':_0x170dee,'rowCount':_0x170dee['length'],'elapsed':_0x14798b},'message':_0x24f858(0x110)+_0x170dee[_0x24f858(0x115)]+'\x20row(s)\x20in\x20'+_0x14798b+'ms'};}};
@@ -1 +1 @@
1
- function a136_0x9d81(){const _0x225b10=['4vllkDM','10030788SJcIAK','609172fcpwZI','27585SBhyAq','6740tpoTvq','7870270HUwwqD','4903299itkCud','11928868QlfGdJ','4285mYlAzk','2744JZtMcy'];a136_0x9d81=function(){return _0x225b10;};return a136_0x9d81();}(function(_0x12e5ab,_0x3f01be){const _0x49e407=a136_0x174a,_0x217c6e=_0x12e5ab();while(!![]){try{const _0x32b3fc=parseInt(_0x49e407(0xa3))/0x1*(-parseInt(_0x49e407(0xa5))/0x2)+-parseInt(_0x49e407(0x9f))/0x3+-parseInt(_0x49e407(0xa7))/0x4*(parseInt(_0x49e407(0xa1))/0x5)+parseInt(_0x49e407(0xa4))/0x6+parseInt(_0x49e407(0xa0))/0x7+parseInt(_0x49e407(0xa2))/0x8*(parseInt(_0x49e407(0xa6))/0x9)+parseInt(_0x49e407(0x9e))/0xa;if(_0x32b3fc===_0x3f01be)break;else _0x217c6e['push'](_0x217c6e['shift']());}catch(_0x5c95c5){_0x217c6e['push'](_0x217c6e['shift']());}}}(a136_0x9d81,0xdffae));function a136_0x174a(_0x1d1a33,_0x42690c){_0x1d1a33=_0x1d1a33-0x9e;const _0x9d8173=a136_0x9d81();let _0x174a27=_0x9d8173[_0x1d1a33];return _0x174a27;}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';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(_0x47480b,_0x4e83cb){const _0x2e0399=a135_0x5d15,_0x3dcc0d=_0x47480b();while(!![]){try{const _0x5bf34e=parseInt(_0x2e0399(0x1af))/0x1*(-parseInt(_0x2e0399(0x1ab))/0x2)+-parseInt(_0x2e0399(0x1a9))/0x3*(-parseInt(_0x2e0399(0x1b0))/0x4)+parseInt(_0x2e0399(0x1ad))/0x5+-parseInt(_0x2e0399(0x1ae))/0x6*(-parseInt(_0x2e0399(0x1a7))/0x7)+parseInt(_0x2e0399(0x1ac))/0x8*(-parseInt(_0x2e0399(0x1a8))/0x9)+-parseInt(_0x2e0399(0x1b1))/0xa+parseInt(_0x2e0399(0x1aa))/0xb;if(_0x5bf34e===_0x4e83cb)break;else _0x3dcc0d['push'](_0x3dcc0d['shift']());}catch(_0x1c3a7e){_0x3dcc0d['push'](_0x3dcc0d['shift']());}}}(a135_0x3ee4,0xd58c5));function a135_0x5d15(_0x40f0da,_0x3399e0){_0x40f0da=_0x40f0da-0x1a7;const _0x3ee4b1=a135_0x3ee4();let _0x5d15f7=_0x3ee4b1[_0x40f0da];return _0x5d15f7;}import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a135_0x3ee4(){const _0x291f74=['5342589yVXGNo','96939zIrJWS','27213ubGFGf','21386640vVPIFV','16fDXMQq','536jDkhmv','2721525ndiisT','6WpeVfS','102172ehfBsu','152sZcpVo','11827440ConLgg'];a135_0x3ee4=function(){return _0x291f74;};return a135_0x3ee4();}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 +1 @@
1
- const a137_0x423827=a137_0x3493;function a137_0x3493(_0x1d595a,_0x5b32b9){_0x1d595a=_0x1d595a-0x1a2;const _0xab0206=a137_0xab02();let _0x34938d=_0xab0206[_0x1d595a];return _0x34938d;}(function(_0x12a076,_0x535743){const _0x28db5e=a137_0x3493,_0x2ca10c=_0x12a076();while(!![]){try{const _0x2162ac=-parseInt(_0x28db5e(0x1c1))/0x1+-parseInt(_0x28db5e(0x1a7))/0x2*(-parseInt(_0x28db5e(0x1bf))/0x3)+-parseInt(_0x28db5e(0x1b0))/0x4+parseInt(_0x28db5e(0x1b3))/0x5*(-parseInt(_0x28db5e(0x1a2))/0x6)+parseInt(_0x28db5e(0x1bd))/0x7*(-parseInt(_0x28db5e(0x1be))/0x8)+-parseInt(_0x28db5e(0x1a5))/0x9+parseInt(_0x28db5e(0x1c3))/0xa;if(_0x2162ac===_0x535743)break;else _0x2ca10c['push'](_0x2ca10c['shift']());}catch(_0x3a7f3b){_0x2ca10c['push'](_0x2ca10c['shift']());}}}(a137_0xab02,0x1a479));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a137_0xab02(){const _0x10c2c2=['totalCount','name','all','21861mBijFP','344nDlGDp','321612gINuFg','length','80603PorUze','appCode','2589860LOZkOY','sqlCode','22434qqNxMQ','paging','read','780993rNkLVM','number','4eWdeBw','Page\x20number','pagesize','List\x20custom\x20SQL\x20queries','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','num','description','Page\x20size','Found\x20','61908DgQQyI','boolean','No\x20custom\x20SQL\x20queries\x20found.','65fjvlhB','dbId','verbose','str','bool','page','sqlName'];a137_0xab02=function(){return _0x10c2c2;};return a137_0xab02();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':'list','description':a137_0x423827(0x1aa),'risk':a137_0x423827(0x1a4),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':a137_0x423827(0x1b8),'type':a137_0x423827(0x1a6),'description':a137_0x423827(0x1a8),'default':0x1},{'name':a137_0x423827(0x1a9),'type':'number','description':a137_0x423827(0x1ae)},{'name':a137_0x423827(0x1b5),'type':a137_0x423827(0x1b1),'description':a137_0x423827(0x1ab)}],async 'execute'(_0x160351){const _0x5ccc2a=a137_0x423827,_0x3b3aaf=await listSqlQueries(_0x160351[_0x5ccc2a(0x1c2)],{'sqlCode':_0x160351[_0x5ccc2a(0x1b6)]('sqlcode')||undefined,'sqlName':_0x160351[_0x5ccc2a(0x1b6)](_0x5ccc2a(0x1bb))||undefined,'currentPage':_0x160351[_0x5ccc2a(0x1ac)](_0x5ccc2a(0x1b8)),'pageSize':_0x160351[_0x5ccc2a(0x1ac)]('pagesize',0x32)}),_0x48d712=_0x160351[_0x5ccc2a(0x1b7)](_0x5ccc2a(0x1b5)),_0x13db44=_0x3b3aaf['tableData']??[],_0x21b415=_0x3b3aaf[_0x5ccc2a(0x1a3)]?.[_0x5ccc2a(0x1ba)]??_0x13db44['length'];let _0x2a1798;return _0x48d712?_0x2a1798=_0x13db44:_0x2a1798=await Promise[_0x5ccc2a(0x1bc)](_0x13db44['map'](async _0x4aec7b=>{const _0x4a5d7e=_0x5ccc2a;let _0xeedbe0;try{_0xeedbe0=_0x4aec7b[_0x4a5d7e(0x1b4)]?await getDbName(_0x160351['appCode'],_0x4aec7b['dbId']):undefined;}catch{}return{'sqlCode':_0x4aec7b[_0x4a5d7e(0x1c4)],'sqlName':_0x4aec7b[_0x4a5d7e(0x1b9)],'description':_0x4aec7b[_0x4a5d7e(0x1ad)]??'','db':_0xeedbe0?_0xeedbe0+'\x20('+_0x4aec7b[_0x4a5d7e(0x1b4)]+')':_0x4aec7b[_0x4a5d7e(0x1b4)]??''};})),{'ok':!![],'data':_0x2a1798,'message':_0x13db44[_0x5ccc2a(0x1c0)]===0x0?_0x5ccc2a(0x1b2):_0x5ccc2a(0x1af)+_0x13db44[_0x5ccc2a(0x1c0)]+'\x20SQL\x20queries\x20(total:\x20'+_0x21b415+').'};}};
1
+ const a136_0x23db8b=a136_0x3057;(function(_0x5207db,_0x382538){const _0x31f9e8=a136_0x3057,_0x3da8f1=_0x5207db();while(!![]){try{const _0xa2d4f3=-parseInt(_0x31f9e8(0xab))/0x1+-parseInt(_0x31f9e8(0xaa))/0x2+parseInt(_0x31f9e8(0xbb))/0x3*(parseInt(_0x31f9e8(0xaf))/0x4)+-parseInt(_0x31f9e8(0xa7))/0x5+parseInt(_0x31f9e8(0xc3))/0x6+-parseInt(_0x31f9e8(0xb2))/0x7+parseInt(_0x31f9e8(0xc1))/0x8;if(_0xa2d4f3===_0x382538)break;else _0x3da8f1['push'](_0x3da8f1['shift']());}catch(_0x1883ca){_0x3da8f1['push'](_0x3da8f1['shift']());}}}(a136_0x1ebc,0x33bb7));function a136_0x1ebc(){const _0x2fdca5=['all','sqlName','page','list','num','totalCount','\x20SQL\x20queries\x20(total:\x20','27JEKWAz','name','verbose','paging','description','number','7751952THXKCu','sql','582282muBKFd','Page\x20size','sqlCode','string','pagesize','bool','Found\x20','Filter\x20by\x20SQL\x20name','boolean','685675hgYkzI','tableData','map','810084iWghOu','154512dUJfMW','sqlcode','dbId','No\x20custom\x20SQL\x20queries\x20found.','4056PJTcmv','appCode','str','1166081vLnvxj','List\x20custom\x20SQL\x20queries'];a136_0x1ebc=function(){return _0x2fdca5;};return a136_0x1ebc();}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a136_0x3057(_0x598982,_0x809d86){_0x598982=_0x598982-0xa6;const _0x1ebcdd=a136_0x1ebc();let _0x3057d0=_0x1ebcdd[_0x598982];return _0x3057d0;}export const sqlList={'service':a136_0x23db8b(0xc2),'command':a136_0x23db8b(0xb7),'description':a136_0x23db8b(0xb3),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x23db8b(0xbc),'type':a136_0x23db8b(0xc6),'description':a136_0x23db8b(0xca)},{'name':a136_0x23db8b(0xb6),'type':'number','description':'Page\x20number','default':0x1},{'name':'pagesize','type':a136_0x23db8b(0xc0),'description':a136_0x23db8b(0xc4)},{'name':a136_0x23db8b(0xbd),'type':a136_0x23db8b(0xa6),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x3f768a){const _0x81b76e=a136_0x23db8b,_0xb6120b=await listSqlQueries(_0x3f768a[_0x81b76e(0xb0)],{'sqlCode':_0x3f768a['str'](_0x81b76e(0xac))||undefined,'sqlName':_0x3f768a[_0x81b76e(0xb1)](_0x81b76e(0xbc))||undefined,'currentPage':_0x3f768a[_0x81b76e(0xb8)](_0x81b76e(0xb6)),'pageSize':_0x3f768a[_0x81b76e(0xb8)](_0x81b76e(0xc7),0x32)}),_0x353a0b=_0x3f768a[_0x81b76e(0xc8)](_0x81b76e(0xbd)),_0x377511=_0xb6120b[_0x81b76e(0xa8)]??[],_0x387c55=_0xb6120b[_0x81b76e(0xbe)]?.[_0x81b76e(0xb9)]??_0x377511['length'];let _0x18cde7;return _0x353a0b?_0x18cde7=_0x377511:_0x18cde7=await Promise[_0x81b76e(0xb4)](_0x377511[_0x81b76e(0xa9)](async _0x57ca51=>{const _0x5ed913=_0x81b76e;let _0x542ab6;try{_0x542ab6=_0x57ca51[_0x5ed913(0xad)]?await getDbName(_0x3f768a[_0x5ed913(0xb0)],_0x57ca51[_0x5ed913(0xad)]):undefined;}catch{}return{'sqlCode':_0x57ca51[_0x5ed913(0xc5)],'sqlName':_0x57ca51[_0x5ed913(0xb5)],'description':_0x57ca51[_0x5ed913(0xbf)]??'','db':_0x542ab6?_0x542ab6+'\x20('+_0x57ca51[_0x5ed913(0xad)]+')':_0x57ca51['dbId']??''};})),{'ok':!![],'data':_0x18cde7,'message':_0x377511['length']===0x0?_0x81b76e(0xae):_0x81b76e(0xc9)+_0x377511['length']+_0x81b76e(0xba)+_0x387c55+').'};}};
@@ -1 +1 @@
1
- const a138_0x1f1a2b=a138_0x1990;(function(_0x16bc18,_0x576945){const _0x1a2bfb=a138_0x1990,_0x22586f=_0x16bc18();while(!![]){try{const _0x4ac773=parseInt(_0x1a2bfb(0x104))/0x1*(-parseInt(_0x1a2bfb(0x107))/0x2)+-parseInt(_0x1a2bfb(0x130))/0x3*(-parseInt(_0x1a2bfb(0x132))/0x4)+parseInt(_0x1a2bfb(0x12d))/0x5*(-parseInt(_0x1a2bfb(0x126))/0x6)+-parseInt(_0x1a2bfb(0x129))/0x7*(parseInt(_0x1a2bfb(0x118))/0x8)+-parseInt(_0x1a2bfb(0x119))/0x9+-parseInt(_0x1a2bfb(0x123))/0xa*(-parseInt(_0x1a2bfb(0x12f))/0xb)+parseInt(_0x1a2bfb(0x10c))/0xc;if(_0x4ac773===_0x576945)break;else _0x22586f['push'](_0x22586f['shift']());}catch(_0x31b30f){_0x22586f['push'](_0x22586f['shift']());}}}(a138_0x241f,0xc33ba));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(_0x22f0ad,_0x388ad2){const _0x530dbf=a138_0x1990,_0x3efe1b=[];let _0x2752bb=0x1;while(!![]){const _0x533a30=await listSqlQueries(_0x22f0ad,{'currentPage':_0x2752bb,'pageSize':PAGE_SIZE,'sqlCode':_0x388ad2[_0x530dbf(0x102)],'sqlName':_0x388ad2[_0x530dbf(0xfb)]}),_0x439253=_0x533a30[_0x530dbf(0x112)]??[];_0x3efe1b[_0x530dbf(0x127)](..._0x439253);if(_0x439253[_0x530dbf(0x134)]===0x0)break;const _0x10e63b=_0x533a30['paging']?.[_0x530dbf(0x135)];if(_0x10e63b!=null?_0x3efe1b[_0x530dbf(0x134)]>=_0x10e63b:_0x439253[_0x530dbf(0x134)]<PAGE_SIZE)break;_0x2752bb++;}return _0x3efe1b;}async function ensureSqlContent(_0x47ffba){const _0x4408f3=a138_0x1990;if(_0x47ffba[_0x4408f3(0x137)]!=null&&String(_0x47ffba[_0x4408f3(0x137)])[_0x4408f3(0x134)]>0x0)return _0x47ffba;return getSqlQueryDetail(_0x47ffba[_0x4408f3(0x102)]);}export const sqlPull={'service':a138_0x1f1a2b(0x139),'command':a138_0x1f1a2b(0x120),'description':a138_0x1f1a2b(0x117),'risk':a138_0x1f1a2b(0x103),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a138_0x1f1a2b(0x11d),'type':a138_0x1f1a2b(0x100),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':a138_0x1f1a2b(0x13c),'description':a138_0x1f1a2b(0x12c)}],async 'dryRun'(_0x54be42){const _0xbe7031=a138_0x1f1a2b,_0xc446d9=loadSqlProjectConfig(_0x54be42[_0xbe7031(0xfc)]),_0x2b6acf=await readSqlLockFile(_0xc446d9[_0xbe7031(0x128)]),{appLock:_0x3bd9cb}=ensureSqlLockScope(_0x2b6acf??createEmptySqlLock(),_0xc446d9[_0xbe7031(0xfc)],_0xc446d9['sqlRoot'],'pull'),_0x5e77dc=await fetchAllSqlQueries(_0x54be42[_0xbe7031(0xfc)],{'sqlCode':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x106))||undefined,'sqlName':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x11d))||undefined}),_0x2834aa=[];for(const _0x443b31 of _0x5e77dc){const _0x294018=await ensureSqlContent(_0x443b31),_0xf32844=ensureRemoteSqlContent(_0x294018),_0x37e507=detectModeFromSql(_0x294018),_0x4f77f2=_0x294018[_0xbe7031(0x105)]?await getDbName(_0x54be42[_0xbe7031(0xfc)],Number(_0x294018[_0xbe7031(0x105)]))[_0xbe7031(0x121)](()=>undefined):undefined,_0x8d633c=buildLocalSqlFileContent({'sqlCode':_0x294018[_0xbe7031(0x102)],'sqlName':_0x294018[_0xbe7031(0xfb)],'dbId':_0x294018[_0xbe7031(0x105)]},_0xf32844,{'dbName':_0x4f77f2,'mode':_0x37e507,'syncedAt':new Date()['toISOString'](),'description':_0x294018[_0xbe7031(0x11f)]}),_0x263fa6=buildSqlLockEntry(_0x294018,_0xf32844,'',{'dbName':_0x4f77f2}),_0x5cfaa5=resolveLocalSqlFilePath(_0xc446d9,_0x294018[_0xbe7031(0x102)],_0x263fa6);let _0x5f496c=_0xbe7031(0x10a),_0x4d67df;if(await fileExists(_0x5cfaa5)){const _0x19b82d=await readFile(_0x5cfaa5,'utf8');isEquivalentPulledSqlFile(_0x19b82d,_0x8d633c,_0x37e507)?(_0x5f496c=_0xbe7031(0xfd),_0x4d67df='unchanged'):(_0x5f496c=_0xbe7031(0x138),_0x4d67df=_0xbe7031(0x10f));}_0x2834aa[_0xbe7031(0x127)]({'sqlCode':_0x294018[_0xbe7031(0x102)],'sqlName':_0x294018[_0xbe7031(0xfb)],'filePath':_0x5cfaa5,'status':_0x5f496c,'reason':_0x4d67df});}return{'method':_0xbe7031(0x136),'url':_0xbe7031(0x115),'body':{'appCode':_0x54be42[_0xbe7031(0xfc)],'sqlCode':_0x54be42['str']('sqlcode')||null,'sqlName':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x11d))||null,'files':_0x2834aa},'description':_0xbe7031(0x124)+_0x2834aa[_0xbe7031(0x134)]+_0xbe7031(0x110)+_0xc446d9['sqlRootDir']};},async 'execute'(_0xdfebc5){const _0xf9301c=a138_0x1f1a2b,_0x4241ec=loadSqlProjectConfig(_0xdfebc5['appCode']),_0x16dbc7=await readSqlLockFile(_0x4241ec['lockFilePath']),{lockData:_0x49d76a,appLock:_0x30c90b}=ensureSqlLockScope(_0x16dbc7??createEmptySqlLock(),_0x4241ec['appCode'],_0x4241ec[_0xf9301c(0x11e)],'pull'),_0x4506c8=_0xdfebc5[_0xf9301c(0x12a)](_0xf9301c(0x11c)),_0x4a485e=await fetchAllSqlQueries(_0xdfebc5['appCode'],{'sqlCode':_0xdfebc5[_0xf9301c(0x125)]('sqlcode')||undefined,'sqlName':_0xdfebc5[_0xf9301c(0x125)](_0xf9301c(0x11d))||undefined});if(_0x4a485e[_0xf9301c(0x134)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xf9301c(0x111)};const _0x276510=[],_0x4e0439=[];for(const _0xc2ccf4 of _0x4a485e){try{_0x276510[_0xf9301c(0x127)](await ensureSqlContent(_0xc2ccf4));}catch(_0x18c3a2){_0x4e0439[_0xf9301c(0x127)]({'sqlCode':_0xc2ccf4['sqlCode'],'error':_0x18c3a2 instanceof Error?_0x18c3a2[_0xf9301c(0x12e)]:String(_0x18c3a2)});}}if(_0x4506c8&&!_0xdfebc5[_0xf9301c(0x122)]){let _0x3fb09f=![];for(const _0x29a200 of _0x276510){const _0x5f511d=detectModeFromSql(_0x29a200),_0x4ef6c7=_0x29a200[_0xf9301c(0x105)]?await getDbName(_0xdfebc5['appCode'],Number(_0x29a200[_0xf9301c(0x105)]))[_0xf9301c(0x121)](()=>undefined):undefined,_0x50a2c9=buildLocalSqlFileContent({'sqlCode':_0x29a200[_0xf9301c(0x102)],'sqlName':_0x29a200[_0xf9301c(0xfb)],'dbId':_0x29a200[_0xf9301c(0x105)]},ensureRemoteSqlContent(_0x29a200),{'dbName':_0x4ef6c7,'mode':_0x5f511d,'syncedAt':new Date()[_0xf9301c(0x113)](),'description':_0x29a200['description']}),_0x2194cd=resolveLocalSqlFilePath(_0x4241ec,_0x29a200[_0xf9301c(0x102)],buildSqlLockEntry(_0x29a200,ensureRemoteSqlContent(_0x29a200),'',{'dbName':_0x4ef6c7}));if(await fileExists(_0x2194cd)){const _0x596bf1=await readFile(_0x2194cd,_0xf9301c(0x12b));if(!isEquivalentPulledSqlFile(_0x596bf1,_0x50a2c9,_0x5f511d)){_0x3fb09f=!![];break;}}}if(_0x3fb09f){const _0x1407ba=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x1407ba)throw CliErrors['cancelled'](_0xf9301c(0x114));}}const _0x86f617=cloneSqlLockData(_0x49d76a),_0x321f88=_0x86f617['apps'][_0x4241ec[_0xf9301c(0xfc)]],_0x38d7d8=[],_0x3e505a=[];for(const _0x1031fa of _0x276510){const _0x2ab657=_0x321f88[_0xf9301c(0x11a)][_0x1031fa[_0xf9301c(0x102)]],_0x107351=ensureRemoteSqlContent(_0x1031fa),_0x32da39=detectModeFromSql(_0x1031fa),_0x3a739d=_0x1031fa[_0xf9301c(0x105)]?await getDbName(_0xdfebc5['appCode'],Number(_0x1031fa[_0xf9301c(0x105)]))[_0xf9301c(0x121)](()=>undefined):undefined,_0x2ee37f=buildLocalSqlFileContent({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'sqlName':_0x1031fa['sqlName'],'dbId':_0x1031fa[_0xf9301c(0x105)]},_0x107351,{'dbName':_0x3a739d,'mode':_0x32da39,'syncedAt':new Date()[_0xf9301c(0x113)](),'description':_0x1031fa[_0xf9301c(0x11f)]}),_0x188767=buildSqlLockEntry(_0x1031fa,_0x107351,computeSqlContentHash(_0x2ee37f),{'dbName':_0x3a739d}),_0x5a5530=_0x188767[_0xf9301c(0x116)],_0x4fc952=join(_0x4241ec[_0xf9301c(0x10d)],_0x5a5530);try{if(await fileExists(_0x4fc952)){const _0x45919e=await readFile(_0x4fc952,_0xf9301c(0x12b));if(isEquivalentPulledSqlFile(_0x45919e,_0x2ee37f,_0x32da39)){_0x3e505a[_0xf9301c(0x127)]({'sqlCode':_0x1031fa['sqlCode'],'reason':_0xf9301c(0x101)}),_0x321f88['sqls'][_0x1031fa[_0xf9301c(0x102)]]={..._0x188767,'hash':computeSqlContentHash(_0x45919e),'path':_0x5a5530};continue;}if(!_0x4506c8){_0x3e505a[_0xf9301c(0x127)]({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'reason':_0xf9301c(0x109)});continue;}}const _0x1969f9=_0x2ab657?.['path']?join(_0x4241ec[_0xf9301c(0x10d)],_0x2ab657[_0xf9301c(0x116)]):undefined;_0x1969f9&&_0x1969f9!==_0x4fc952&&await fileExists(_0x1969f9)&&await rm(_0x1969f9,{'force':!![]}),await ensureParentDirectory(_0x4fc952),await writeFile(_0x4fc952,_0x2ee37f,'utf8'),_0x321f88['sqls'][_0x1031fa['sqlCode']]={..._0x188767,'path':_0x5a5530},_0x38d7d8['push']({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'filePath':_0x4fc952});}catch(_0x172ef0){_0x4e0439[_0xf9301c(0x127)]({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'error':_0x172ef0 instanceof Error?_0x172ef0[_0xf9301c(0x12e)]:String(_0x172ef0)});}}return _0x321f88[_0xf9301c(0xff)]=new Date()[_0xf9301c(0x113)](),await writeSqlLockFile(_0x4241ec[_0xf9301c(0x128)],_0x86f617),{'ok':_0x4e0439['length']===0x0,'data':{'pulled':_0x38d7d8,'skipped':_0x3e505a,'failed':_0x4e0439},'message':_0xf9301c(0x13a)+_0x38d7d8['length']+_0xf9301c(0x10b)+_0x3e505a[_0xf9301c(0x134)]+'\x20skipped,\x20'+_0x4e0439[_0xf9301c(0x134)]+_0xf9301c(0xfe)};}};function detectModeFromSql(_0x5667cd){const _0x27ad67=a138_0x1f1a2b,_0x351238=ensureRemoteSqlContent(_0x5667cd),_0x57da7f=stripLocalSqlMetadata(_0x351238,_0x27ad67(0x131))[_0x27ad67(0x133)]();if(/^<(select|insert|update|delete)\b/i[_0x27ad67(0x13b)](_0x57da7f))return _0x27ad67(0x131);return _0x27ad67(0x139);}function a138_0x1990(_0x12c4b3,_0xb2cdc1){_0x12c4b3=_0x12c4b3-0xfb;const _0x241ffb=a138_0x241f();let _0x1990b9=_0x241ffb[_0x12c4b3];return _0x1990b9;}function a138_0x241f(){const _0x13c878=['pull','catch','nonInteractive','2410tvmawo','Would\x20pull\x20','str','4637562YroofL','push','lockFilePath','11683wIZJTX','bool','utf8','Force\x20overwrite\x20local\x20unsynced\x20changes','10eoinOU','message','28523YiQDhJ','29373oLyjCk','mybatisXml','428QNpiTl','trimStart','length','totalCount','POST','sqlContent','conflict','sql','Pull\x20complete:\x20','test','boolean','sqlName','appCode','skipped','\x20failed','lastSync','string','unchanged','sqlCode','write','97smcMvU','dbId','sqlcode','11326oofxhK','filter','local\x20differs\x20from\x20remote','would_pull','\x20written,\x20','29487456XBpKCv','sqlRootDir','replace','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20SQL\x20file(s)\x20into\x20','No\x20remote\x20SQL\x20queries\x20matched.','tableData','toISOString','Force\x20pull\x20cancelled.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','path','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','1432tVAibp','8426232YUQHJX','sqls','join','force','name','sqlRoot','description'];a138_0x241f=function(){return _0x13c878;};return a138_0x241f();}function isEquivalentPulledSqlFile(_0x19b17c,_0x44d98a,_0x1c031d){return normalizePullComparableContent(_0x19b17c,_0x1c031d)===normalizePullComparableContent(_0x44d98a,_0x1c031d);}function normalizePullComparableContent(_0xd302eb,_0x47a9a9){const _0x52302f=a138_0x1f1a2b,_0x58a8fd=_0xd302eb[_0x52302f(0x10e)](/\r\n/g,'\x0a')['split']('\x0a'),_0x339dbd=_0x58a8fd[_0x52302f(0x108)](_0x5e5b84=>!isSyncedAtMetadataLine(_0x5e5b84,_0x47a9a9));return _0x339dbd[_0x52302f(0x11b)]('\x0a');}function isSyncedAtMetadataLine(_0xe8118c,_0x23ff65){const _0x3ad89a=a138_0x1f1a2b;if(_0x23ff65===_0x3ad89a(0x131))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x3ad89a(0x13b)](_0xe8118c);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x3ad89a(0x13b)](_0xe8118c);}
1
+ const a137_0x295389=a137_0x4c50;(function(_0x2aa458,_0x21e940){const _0x383b0d=a137_0x4c50,_0x240035=_0x2aa458();while(!![]){try{const _0x44d38=parseInt(_0x383b0d(0xa7))/0x1*(-parseInt(_0x383b0d(0xda))/0x2)+parseInt(_0x383b0d(0xc9))/0x3+-parseInt(_0x383b0d(0xbc))/0x4+parseInt(_0x383b0d(0xca))/0x5+parseInt(_0x383b0d(0xa8))/0x6*(parseInt(_0x383b0d(0xb8))/0x7)+parseInt(_0x383b0d(0xae))/0x8+parseInt(_0x383b0d(0xdd))/0x9;if(_0x44d38===_0x21e940)break;else _0x240035['push'](_0x240035['shift']());}catch(_0x37a3a4){_0x240035['push'](_0x240035['shift']());}}}(a137_0x1fd5,0x1c488));import{readFile,rm,writeFile}from'node:fs/promises';function a137_0x4c50(_0x14721c,_0x2436f2){_0x14721c=_0x14721c-0xa6;const _0x1fd57c=a137_0x1fd5();let _0x4c5059=_0x1fd57c[_0x14721c];return _0x4c5059;}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';function a137_0x1fd5(){const _0x21bed3=['skipped','5292eerKki','193315VNGUih','local\x20differs\x20from\x20remote','sqlName','cancelled','force','sqlRootDir','sqlCode','split','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','conflict','paging','dbId','POST','\x20written,\x20','pull','mybatisXml','2ljfSmT','tableData','path','1791810rbzBro','toISOString','unchanged','Force\x20pull\x20cancelled.','write','33817HnjcAc','402VbVwVN','description','lastSync','would_pull','boolean','length','386424CeswWc','sqlContent','nonInteractive','lockFilePath','sqlcode','name','string','sqls','filter','join','6594rwNJDl','Would\x20pull\x20','totalCount','push','805076MEiQwk','test','appCode','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','No\x20remote\x20SQL\x20queries\x20matched.','str','sqlRoot','Force\x20overwrite\x20local\x20unsynced\x20changes','utf8','trimStart','Filter\x20by\x20SQL\x20display\x20name','catch'];a137_0x1fd5=function(){return _0x21bed3;};return a137_0x1fd5();}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(_0x3d5bea,_0x15a857){const _0x1d40ba=a137_0x4c50,_0xf2f814=[];let _0x5dfd7c=0x1;while(!![]){const _0x1e32b2=await listSqlQueries(_0x3d5bea,{'currentPage':_0x5dfd7c,'pageSize':PAGE_SIZE,'sqlCode':_0x15a857[_0x1d40ba(0xd0)],'sqlName':_0x15a857[_0x1d40ba(0xcc)]}),_0x2fd460=_0x1e32b2[_0x1d40ba(0xdb)]??[];_0xf2f814['push'](..._0x2fd460);if(_0x2fd460[_0x1d40ba(0xad)]===0x0)break;const _0x560d52=_0x1e32b2[_0x1d40ba(0xd4)]?.[_0x1d40ba(0xba)];if(_0x560d52!=null?_0xf2f814[_0x1d40ba(0xad)]>=_0x560d52:_0x2fd460['length']<PAGE_SIZE)break;_0x5dfd7c++;}return _0xf2f814;}async function ensureSqlContent(_0x1257e8){const _0x3f58f5=a137_0x4c50;if(_0x1257e8[_0x3f58f5(0xaf)]!=null&&String(_0x1257e8[_0x3f58f5(0xaf)])[_0x3f58f5(0xad)]>0x0)return _0x1257e8;return getSqlQueryDetail(_0x1257e8[_0x3f58f5(0xd0)]);}export const sqlPull={'service':'sql','command':'pull','description':a137_0x295389(0xd2),'risk':a137_0x295389(0xa6),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a137_0x295389(0xb4),'description':a137_0x295389(0xc6)},{'name':a137_0x295389(0xce),'type':a137_0x295389(0xac),'description':a137_0x295389(0xc3)}],async 'dryRun'(_0x56d987){const _0x399a9b=a137_0x295389,_0x4cc120=loadSqlProjectConfig(_0x56d987[_0x399a9b(0xbe)]),_0x3b0275=await readSqlLockFile(_0x4cc120['lockFilePath']),{appLock:_0x52d8dd}=ensureSqlLockScope(_0x3b0275??createEmptySqlLock(),_0x4cc120[_0x399a9b(0xbe)],_0x4cc120[_0x399a9b(0xc2)],_0x399a9b(0xd8)),_0x292e24=await fetchAllSqlQueries(_0x56d987[_0x399a9b(0xbe)],{'sqlCode':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb2))||undefined,'sqlName':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb3))||undefined}),_0x389497=[];for(const _0x2d7c80 of _0x292e24){const _0x541e85=await ensureSqlContent(_0x2d7c80),_0x3db427=ensureRemoteSqlContent(_0x541e85),_0x156302=detectModeFromSql(_0x541e85),_0xc5acd3=_0x541e85[_0x399a9b(0xd5)]?await getDbName(_0x56d987[_0x399a9b(0xbe)],Number(_0x541e85['dbId']))[_0x399a9b(0xc7)](()=>undefined):undefined,_0x211b05=buildLocalSqlFileContent({'sqlCode':_0x541e85[_0x399a9b(0xd0)],'sqlName':_0x541e85[_0x399a9b(0xcc)],'dbId':_0x541e85['dbId']},_0x3db427,{'dbName':_0xc5acd3,'mode':_0x156302,'syncedAt':new Date()[_0x399a9b(0xde)](),'description':_0x541e85[_0x399a9b(0xa9)]}),_0x171302=buildSqlLockEntry(_0x541e85,_0x3db427,'',{'dbName':_0xc5acd3}),_0x3999d9=resolveLocalSqlFilePath(_0x4cc120,_0x541e85['sqlCode'],_0x171302);let _0x4c9842=_0x399a9b(0xab),_0x326098;if(await fileExists(_0x3999d9)){const _0x43befa=await readFile(_0x3999d9,_0x399a9b(0xc4));isEquivalentPulledSqlFile(_0x43befa,_0x211b05,_0x156302)?(_0x4c9842=_0x399a9b(0xc8),_0x326098=_0x399a9b(0xdf)):(_0x4c9842=_0x399a9b(0xd3),_0x326098=_0x399a9b(0xbf));}_0x389497[_0x399a9b(0xbb)]({'sqlCode':_0x541e85['sqlCode'],'sqlName':_0x541e85[_0x399a9b(0xcc)],'filePath':_0x3999d9,'status':_0x4c9842,'reason':_0x326098});}return{'method':_0x399a9b(0xd6),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x56d987[_0x399a9b(0xbe)],'sqlCode':_0x56d987[_0x399a9b(0xc1)]('sqlcode')||null,'sqlName':_0x56d987[_0x399a9b(0xc1)](_0x399a9b(0xb3))||null,'files':_0x389497},'description':_0x399a9b(0xb9)+_0x389497['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x4cc120[_0x399a9b(0xcf)]};},async 'execute'(_0x2d0c74){const _0x55d48f=a137_0x295389,_0x433c92=loadSqlProjectConfig(_0x2d0c74[_0x55d48f(0xbe)]),_0x457e1f=await readSqlLockFile(_0x433c92['lockFilePath']),{lockData:_0x27f306,appLock:_0x5fd83b}=ensureSqlLockScope(_0x457e1f??createEmptySqlLock(),_0x433c92[_0x55d48f(0xbe)],_0x433c92[_0x55d48f(0xc2)],'pull'),_0x24f0e8=_0x2d0c74['bool'](_0x55d48f(0xce)),_0x50ef2b=await fetchAllSqlQueries(_0x2d0c74['appCode'],{'sqlCode':_0x2d0c74[_0x55d48f(0xc1)]('sqlcode')||undefined,'sqlName':_0x2d0c74[_0x55d48f(0xc1)](_0x55d48f(0xb3))||undefined});if(_0x50ef2b[_0x55d48f(0xad)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x55d48f(0xc0)};const _0x3707d9=[],_0x399560=[];for(const _0xf4b94d of _0x50ef2b){try{_0x3707d9[_0x55d48f(0xbb)](await ensureSqlContent(_0xf4b94d));}catch(_0x1011fa){_0x399560[_0x55d48f(0xbb)]({'sqlCode':_0xf4b94d[_0x55d48f(0xd0)],'error':_0x1011fa instanceof Error?_0x1011fa['message']:String(_0x1011fa)});}}if(_0x24f0e8&&!_0x2d0c74[_0x55d48f(0xb0)]){let _0x550bac=![];for(const _0x287fc7 of _0x3707d9){const _0x3ba02f=detectModeFromSql(_0x287fc7),_0x3c6651=_0x287fc7['dbId']?await getDbName(_0x2d0c74[_0x55d48f(0xbe)],Number(_0x287fc7[_0x55d48f(0xd5)]))['catch'](()=>undefined):undefined,_0x221c24=buildLocalSqlFileContent({'sqlCode':_0x287fc7[_0x55d48f(0xd0)],'sqlName':_0x287fc7[_0x55d48f(0xcc)],'dbId':_0x287fc7[_0x55d48f(0xd5)]},ensureRemoteSqlContent(_0x287fc7),{'dbName':_0x3c6651,'mode':_0x3ba02f,'syncedAt':new Date()[_0x55d48f(0xde)](),'description':_0x287fc7[_0x55d48f(0xa9)]}),_0x5a38dd=resolveLocalSqlFilePath(_0x433c92,_0x287fc7[_0x55d48f(0xd0)],buildSqlLockEntry(_0x287fc7,ensureRemoteSqlContent(_0x287fc7),'',{'dbName':_0x3c6651}));if(await fileExists(_0x5a38dd)){const _0x22c380=await readFile(_0x5a38dd,'utf8');if(!isEquivalentPulledSqlFile(_0x22c380,_0x221c24,_0x3ba02f)){_0x550bac=!![];break;}}}if(_0x550bac){const _0x38b889=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x38b889)throw CliErrors[_0x55d48f(0xcd)](_0x55d48f(0xe0));}}const _0x4cc02f=cloneSqlLockData(_0x27f306),_0x24617c=_0x4cc02f['apps'][_0x433c92[_0x55d48f(0xbe)]],_0x487af3=[],_0x4707fb=[];for(const _0x509c72 of _0x3707d9){const _0x44c1ba=_0x24617c[_0x55d48f(0xb5)][_0x509c72['sqlCode']],_0x4a0470=ensureRemoteSqlContent(_0x509c72),_0x3f9383=detectModeFromSql(_0x509c72),_0x58e3ad=_0x509c72[_0x55d48f(0xd5)]?await getDbName(_0x2d0c74[_0x55d48f(0xbe)],Number(_0x509c72['dbId']))['catch'](()=>undefined):undefined,_0x5ef1f7=buildLocalSqlFileContent({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'sqlName':_0x509c72[_0x55d48f(0xcc)],'dbId':_0x509c72['dbId']},_0x4a0470,{'dbName':_0x58e3ad,'mode':_0x3f9383,'syncedAt':new Date()[_0x55d48f(0xde)](),'description':_0x509c72['description']}),_0x285c40=buildSqlLockEntry(_0x509c72,_0x4a0470,computeSqlContentHash(_0x5ef1f7),{'dbName':_0x58e3ad}),_0x1c6fe1=_0x285c40[_0x55d48f(0xdc)],_0x18869b=join(_0x433c92['sqlRootDir'],_0x1c6fe1);try{if(await fileExists(_0x18869b)){const _0xe8e8cf=await readFile(_0x18869b,_0x55d48f(0xc4));if(isEquivalentPulledSqlFile(_0xe8e8cf,_0x5ef1f7,_0x3f9383)){_0x4707fb[_0x55d48f(0xbb)]({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'reason':_0x55d48f(0xdf)}),_0x24617c['sqls'][_0x509c72['sqlCode']]={..._0x285c40,'hash':computeSqlContentHash(_0xe8e8cf),'path':_0x1c6fe1};continue;}if(!_0x24f0e8){_0x4707fb[_0x55d48f(0xbb)]({'sqlCode':_0x509c72['sqlCode'],'reason':_0x55d48f(0xcb)});continue;}}const _0x22f44c=_0x44c1ba?.[_0x55d48f(0xdc)]?join(_0x433c92[_0x55d48f(0xcf)],_0x44c1ba['path']):undefined;_0x22f44c&&_0x22f44c!==_0x18869b&&await fileExists(_0x22f44c)&&await rm(_0x22f44c,{'force':!![]}),await ensureParentDirectory(_0x18869b),await writeFile(_0x18869b,_0x5ef1f7,_0x55d48f(0xc4)),_0x24617c[_0x55d48f(0xb5)][_0x509c72['sqlCode']]={..._0x285c40,'path':_0x1c6fe1},_0x487af3[_0x55d48f(0xbb)]({'sqlCode':_0x509c72['sqlCode'],'filePath':_0x18869b});}catch(_0x494276){_0x399560[_0x55d48f(0xbb)]({'sqlCode':_0x509c72[_0x55d48f(0xd0)],'error':_0x494276 instanceof Error?_0x494276['message']:String(_0x494276)});}}return _0x24617c[_0x55d48f(0xaa)]=new Date()['toISOString'](),await writeSqlLockFile(_0x433c92[_0x55d48f(0xb1)],_0x4cc02f),{'ok':_0x399560[_0x55d48f(0xad)]===0x0,'data':{'pulled':_0x487af3,'skipped':_0x4707fb,'failed':_0x399560},'message':'Pull\x20complete:\x20'+_0x487af3[_0x55d48f(0xad)]+_0x55d48f(0xd7)+_0x4707fb[_0x55d48f(0xad)]+'\x20skipped,\x20'+_0x399560[_0x55d48f(0xad)]+'\x20failed'};}};function detectModeFromSql(_0x33f80e){const _0x501082=a137_0x295389,_0x321f24=ensureRemoteSqlContent(_0x33f80e),_0x2d1cc5=stripLocalSqlMetadata(_0x321f24,_0x501082(0xd9))[_0x501082(0xc5)]();if(/^<(select|insert|update|delete)\b/i[_0x501082(0xbd)](_0x2d1cc5))return'mybatisXml';return'sql';}function isEquivalentPulledSqlFile(_0x1c39ba,_0x50636c,_0x2df39f){return normalizePullComparableContent(_0x1c39ba,_0x2df39f)===normalizePullComparableContent(_0x50636c,_0x2df39f);}function normalizePullComparableContent(_0x3e3e74,_0x17d5f7){const _0x3c9a7a=a137_0x295389,_0x17dc10=_0x3e3e74['replace'](/\r\n/g,'\x0a')[_0x3c9a7a(0xd1)]('\x0a'),_0x2c8411=_0x17dc10[_0x3c9a7a(0xb6)](_0x4b1267=>!isSyncedAtMetadataLine(_0x4b1267,_0x17d5f7));return _0x2c8411[_0x3c9a7a(0xb7)]('\x0a');}function isSyncedAtMetadataLine(_0x5476cf,_0x281a21){const _0x376da1=a137_0x295389;if(_0x281a21===_0x376da1(0xd9))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x5476cf);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x376da1(0xbd)](_0x5476cf);}