@lovrabet/rabetbase-cli 2.1.7-beta.6 → 2.1.7-beta.7

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 (197) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/delete.js +1 -1
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/index.js +1 -1
  54. package/lib/commands/dataset/link-create.js +1 -1
  55. package/lib/commands/dataset/link-delete.js +1 -1
  56. package/lib/commands/dataset/link-shared.js +1 -1
  57. package/lib/commands/dataset/link-update.js +1 -1
  58. package/lib/commands/dataset/links.js +1 -1
  59. package/lib/commands/dataset/list.js +1 -1
  60. package/lib/commands/dataset/operations.js +1 -1
  61. package/lib/commands/db/analyze-cancel.js +1 -1
  62. package/lib/commands/db/analyze-start.js +1 -1
  63. package/lib/commands/db/analyze-status.js +1 -1
  64. package/lib/commands/db/create.js +1 -1
  65. package/lib/commands/db/delete.js +1 -1
  66. package/lib/commands/db/detail.js +1 -1
  67. package/lib/commands/db/diff.js +1 -1
  68. package/lib/commands/db/index.js +1 -1
  69. package/lib/commands/db/list.js +1 -1
  70. package/lib/commands/db/shared.js +1 -1
  71. package/lib/commands/db/tables.js +1 -1
  72. package/lib/commands/db/test.js +1 -1
  73. package/lib/commands/db/update.js +1 -1
  74. package/lib/commands/doctor.js +1 -1
  75. package/lib/commands/init/index.js +1 -1
  76. package/lib/commands/issue/index.js +1 -1
  77. package/lib/commands/issue/report.js +1 -1
  78. package/lib/commands/logs/index.js +1 -1
  79. package/lib/commands/menu/index.js +1 -1
  80. package/lib/commands/menu/shared/compare-table.js +1 -1
  81. package/lib/commands/menu/shared/index.js +1 -1
  82. package/lib/commands/menu/shared/inquirer.js +1 -1
  83. package/lib/commands/menu/shared/local-pages.js +1 -1
  84. package/lib/commands/menu/shared/logic.js +1 -1
  85. package/lib/commands/menu/shared/service.js +1 -1
  86. package/lib/commands/menu/shared/sync-core.js +1 -1
  87. package/lib/commands/menu/shared/update-core.js +1 -1
  88. package/lib/commands/menu/shared/valid-url.js +1 -1
  89. package/lib/commands/menu/sync.js +1 -1
  90. package/lib/commands/menu/update.js +1 -1
  91. package/lib/commands/page/generate-start.js +1 -1
  92. package/lib/commands/page/generate-status.js +1 -1
  93. package/lib/commands/page/index.js +1 -1
  94. package/lib/commands/page/pull.js +1 -1
  95. package/lib/commands/page/push.js +1 -1
  96. package/lib/commands/page/shared.js +1 -1
  97. package/lib/commands/page/standard-page-status.js +1 -1
  98. package/lib/commands/page/sync.js +1 -1
  99. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  100. package/lib/commands/project/create/format-elapsed.js +1 -1
  101. package/lib/commands/project/create/main.js +1 -1
  102. package/lib/commands/project/create/non-interactive.js +1 -1
  103. package/lib/commands/project/create/project-template-path.js +1 -1
  104. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  105. package/lib/commands/project/create/use-format-code.js +1 -1
  106. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  107. package/lib/commands/project/index.js +1 -1
  108. package/lib/commands/project/init.js +1 -1
  109. package/lib/commands/project/upgrade.js +1 -1
  110. package/lib/commands/registry.js +1 -1
  111. package/lib/commands/run/index.js +1 -1
  112. package/lib/commands/schema.js +1 -1
  113. package/lib/commands/skill/index.js +1 -1
  114. package/lib/commands/sql/create.js +1 -1
  115. package/lib/commands/sql/delete.js +1 -1
  116. package/lib/commands/sql/detail.js +1 -1
  117. package/lib/commands/sql/exec.js +1 -1
  118. package/lib/commands/sql/index.js +1 -1
  119. package/lib/commands/sql/list.js +1 -1
  120. package/lib/commands/sql/pull.js +1 -1
  121. package/lib/commands/sql/push.js +1 -1
  122. package/lib/commands/sql/save.js +1 -1
  123. package/lib/commands/sql/shared.js +1 -1
  124. package/lib/commands/sql/status.js +1 -1
  125. package/lib/commands/sql/validate.js +1 -1
  126. package/lib/config/schema.js +1 -1
  127. package/lib/constant/cdn.js +1 -1
  128. package/lib/constant/cli.js +1 -1
  129. package/lib/constant/defaults.js +1 -1
  130. package/lib/constant/domain.js +1 -1
  131. package/lib/constant/env.js +1 -1
  132. package/lib/constant/output.js +1 -1
  133. package/lib/constant/paths.js +1 -1
  134. package/lib/constant/risk.js +1 -1
  135. package/lib/context.js +1 -1
  136. package/lib/core/alias-resolver.js +1 -1
  137. package/lib/core/api-client.js +1 -1
  138. package/lib/core/bff/config.js +1 -1
  139. package/lib/core/bff/file-system.js +1 -1
  140. package/lib/core/bff/hash.js +1 -1
  141. package/lib/core/bff/lock.js +1 -1
  142. package/lib/core/bff/utils.js +1 -1
  143. package/lib/core/db-resolver.js +1 -1
  144. package/lib/core/page/file-system.js +1 -1
  145. package/lib/core/page/hash.js +1 -1
  146. package/lib/core/page/lock.js +1 -1
  147. package/lib/core/sql-sync/config.js +1 -1
  148. package/lib/core/sql-sync/file-system.js +1 -1
  149. package/lib/core/sql-sync/hash.js +1 -1
  150. package/lib/core/sql-sync/lock.js +1 -1
  151. package/lib/core/sql-sync/utils.js +1 -1
  152. package/lib/core/sql-validator.js +1 -1
  153. package/lib/errors.js +1 -1
  154. package/lib/framework/build-all-flags.js +1 -1
  155. package/lib/framework/flags.js +1 -1
  156. package/lib/framework/help.js +1 -1
  157. package/lib/framework/index.js +1 -1
  158. package/lib/framework/output.js +1 -1
  159. package/lib/framework/response.js +1 -1
  160. package/lib/framework/runner-alias.js +1 -1
  161. package/lib/framework/runner.js +1 -1
  162. package/lib/framework/schema-export.js +1 -1
  163. package/lib/framework/types.js +1 -1
  164. package/lib/generated/build-info.js +1 -1
  165. package/lib/help.js +1 -1
  166. package/lib/skills/main.js +1 -1
  167. package/lib/skills/npx-skills-add.js +1 -1
  168. package/lib/telemetry/cli-command-trace.js +1 -1
  169. package/lib/telemetry/cli-help-trace.js +1 -1
  170. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  171. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  172. package/lib/telemetry/send-cli-trace-log.js +1 -1
  173. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  174. package/lib/utils/ai_config.js +1 -1
  175. package/lib/utils/apply-jq-filter.js +1 -1
  176. package/lib/utils/cdn-config.js +1 -1
  177. package/lib/utils/check-sdk-version.js +1 -1
  178. package/lib/utils/cli-version-check.js +1 -1
  179. package/lib/utils/cli-version-policy.js +1 -1
  180. package/lib/utils/config.js +1 -1
  181. package/lib/utils/copy-directory.js +1 -1
  182. package/lib/utils/entity-with-id.js +1 -1
  183. package/lib/utils/file-utils.js +1 -1
  184. package/lib/utils/guides-cdn.js +1 -1
  185. package/lib/utils/http-client.js +1 -1
  186. package/lib/utils/is-non-interactive.js +1 -1
  187. package/lib/utils/logger.js +1 -1
  188. package/lib/utils/params.js +1 -1
  189. package/lib/utils/platform.js +1 -1
  190. package/lib/utils/rules-cdn.js +1 -1
  191. package/lib/utils/sleep.js +1 -1
  192. package/lib/utils/template-replacer.js +1 -1
  193. package/lib/utils/version.js +1 -1
  194. package/lib/utils/with-active-cookie.js +1 -1
  195. package/lib/utils/write-cli-side-channel.js +1 -1
  196. package/package.json +1 -1
  197. package/templates/projects/sub-app-react-demo/README.md +1 -1
@@ -1 +1 @@
1
- const a109_0x529e35=a109_0xf887;(function(_0x45ec44,_0x37309c){const _0x3d6983=a109_0xf887,_0x65b9dd=_0x45ec44();while(!![]){try{const _0x5dccd3=-parseInt(_0x3d6983(0x178))/0x1*(-parseInt(_0x3d6983(0x155))/0x2)+-parseInt(_0x3d6983(0x12a))/0x3*(parseInt(_0x3d6983(0x13b))/0x4)+-parseInt(_0x3d6983(0x160))/0x5+parseInt(_0x3d6983(0x149))/0x6+parseInt(_0x3d6983(0x130))/0x7+parseInt(_0x3d6983(0x15e))/0x8+-parseInt(_0x3d6983(0x113))/0x9*(parseInt(_0x3d6983(0x135))/0xa);if(_0x5dccd3===_0x37309c)break;else _0x65b9dd['push'](_0x65b9dd['shift']());}catch(_0x3b2680){_0x65b9dd['push'](_0x65b9dd['shift']());}}}(a109_0x49b0,0x78720));import a109_0x544896 from'chalk';import a109_0x10c0ba from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';function a109_0x49b0(){const _0x1deaa4=['parse','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','lovrabet/rabetbase\x20installed\x20globally','Legacy\x20artifacts:','no\x20matching\x20entry\x20found','cwd','[\x22@lovrabet/sdk\x22]:\x20','gray','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20from\x20','1PnmDWH','\x20removed','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x204/7:\x20Cleaning\x20MCP\x20config...','\x20removed\x20(','\x20(backup:\x20','not\x20needed','Config\x20migration','.bak','files','keys','some','isArray','\x20→\x20keys:\x20','dependencies','oldMcpConfig','skipped','yes','Upgrade\x20cancelled.','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','CANCEL','entries','red','.cursor/mcp.json','.claude/skills/lovrabet','9lqqoWe','Upgrade\x20@lovrabet/sdk','Step\x201/7:\x20Migrating\x20config...','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','FAIL','already\x20exists\x20(will\x20merge)','isDirectory','\x20\x20bun\x20install','white','args','start','yellow','\x20\x20Step\x20','Remove\x20legacy\x20artifacts','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20npm\x20install','needed','@lovrabet/dataset-mcp-server','fail','succeed','inherit','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','\x20→\x20','2432577UjtnxK','cyan','removed\x20','latest','exit\x20','\x20\x20Fields\x20to\x20migrate:\x20','5438629CCbDPa','path','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','not\x20found\x20(will\x20create)','join','8442820CXHZkA','hasNewConfig','done','length','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20→\x20latest','4FmlbFQ','string','oldArtifacts','includes','lovrabet/lovrabet-skill\x20removed','===\x20Upgrade\x20Analysis\x20===','\x20\x20Action:\x20delete','log','no\x20legacy\x20config\x20found','MCP\x20config:','utf8','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20\x20Current\x20version\x20in\x20','green','4662786RFqqfP','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','failed','filter','@lovrabet/sdk:','Remove\x20.lovrabet/','.cursor/rules/lovrabet_rules.mdc','Clean\x20MCP\x20config','Config\x20file:','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','oldPath','error','1156444HOihVE','package.json','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','sdkUpgrade','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','label','Upgrade\x20completed\x20successfully!','object','mcpServers','1327736gYcdTm','stringify','748910mMCvMy','not\x20found\x20or\x20already\x20at\x20latest','.lovrabet','detail','bold','skipped\x20(no\x20legacy\x20config)','none\x20found','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','configMigration','push','step','fields','message','Install\x20new\x20skill'];a109_0x49b0=function(){return _0x1deaa4;};return a109_0x49b0();}const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x529e35(0x14c)](_0x556195=>_0x556195!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2da7dc){const _0x350410=a109_0x529e35,_0x4806f2=[];for(const _0x2334c of Object['values'](CORE_IDE_CONFIGS)){if(_0x2334c[_0x350410(0x181)])for(const _0x4e15e3 of _0x2334c[_0x350410(0x181)]){_0x4806f2[_0x350410(0x169)](resolve(_0x2da7dc,_0x4e15e3[_0x350410(0x131)]));}}return _0x4806f2;}function analyse(_0x2a9994){const _0x221229=a109_0x529e35;let _0x14e3f9=null;const _0x15f638=resolve(_0x2a9994,NEW_CONFIG_NAME),_0x44d848=existsSync(_0x15f638);for(const _0x2fa770 of LEGACY_CONFIG_NAMES){const _0x4beec0=resolve(_0x2a9994,_0x2fa770);if(existsSync(_0x4beec0)){const _0x5be315=readConfigFile(_0x4beec0),_0x5ef364=Object[_0x221229(0x182)](_0x5be315)[_0x221229(0x14c)](_0x98f211=>typeof _0x5be315[_0x98f211]!=='undefined');_0x14e3f9={'oldPath':_0x4beec0,'hasNewConfig':_0x44d848,'fields':_0x5ef364};break;}}const _0x14704e=[],_0x490b46=resolve(_0x2a9994,_0x221229(0x162));if(existsSync(_0x490b46))_0x14704e['push'](_0x490b46);const _0x5b9450=resolve(_0x2a9994,_0x221229(0x14f));if(existsSync(_0x5b9450))_0x14704e['push'](_0x5b9450);const _0x1d9aef=resolve(_0x2a9994,_0x221229(0x112));if(existsSync(_0x1d9aef))_0x14704e['push'](_0x1d9aef);for(const _0x22686e of collectIdeSkillFiles(_0x2a9994)){if(existsSync(_0x22686e))_0x14704e['push'](_0x22686e);}let _0x24106c=null;const _0x223c53=resolve(_0x2a9994,_0x221229(0x111));if(existsSync(_0x223c53))try{const _0x2337ea=JSON['parse'](readFileSync(_0x223c53,_0x221229(0x145)));if(_0x2337ea?.[_0x221229(0x15d)]&&typeof _0x2337ea['mcpServers']===_0x221229(0x15c)){const _0x9e9c90=[];for(const [_0x881fa7,_0x381c25]of Object[_0x221229(0x18d)](_0x2337ea[_0x221229(0x15d)])){const _0x41c6ee=_0x381c25;_0x41c6ee?.[_0x221229(0x11c)]&&Array[_0x221229(0x184)](_0x41c6ee['args'])&&_0x41c6ee['args']['some'](_0x3d550d=>typeof _0x3d550d===_0x221229(0x13c)&&_0x3d550d[_0x221229(0x13e)](_0x221229(0x124)))&&_0x9e9c90[_0x221229(0x169)](_0x881fa7);}_0x9e9c90[_0x221229(0x138)]>0x0&&(_0x24106c={'path':_0x223c53,'keys':_0x9e9c90});}}catch{}const _0x457e0a=_0x14704e[_0x221229(0x138)]>0x0||_0x14e3f9!==null;let _0x35b9d9=null;const _0x195ba5=resolve(_0x2a9994,_0x221229(0x156));if(existsSync(_0x195ba5))try{const _0x42a9da=JSON[_0x221229(0x16e)](readFileSync(_0x195ba5,_0x221229(0x145)));for(const _0x5466cc of[_0x221229(0x186),'devDependencies']){const _0x14af90=_0x42a9da?.[_0x5466cc]?.['@lovrabet/sdk'];if(typeof _0x14af90===_0x221229(0x13c)){_0x14af90!==_0x221229(0x12d)&&(_0x35b9d9={'pkgPath':_0x195ba5,'currentVersion':_0x14af90,'field':_0x5466cc});break;}}}catch{}return{'configMigration':_0x14e3f9,'oldArtifacts':_0x14704e,'oldMcpConfig':_0x24106c,'needsSkillSwap':_0x457e0a,'sdkUpgrade':_0x35b9d9};}function printReport(_0x4c7736){const _0x14ee7d=a109_0x529e35,{configMigration:_0x5a046c,oldArtifacts:_0x4cc249,oldMcpConfig:_0x3ac73e,needsSkillSwap:_0x287a57}=_0x4c7736;console[_0x14ee7d(0x142)](''),console[_0x14ee7d(0x142)](a109_0x544896[_0x14ee7d(0x164)](_0x14ee7d(0x140))),console[_0x14ee7d(0x142)]('');_0x5a046c?(console['log'](a109_0x544896['cyan'](_0x14ee7d(0x151))+('\x20\x20'+a109_0x544896[_0x14ee7d(0x11e)](_0x5a046c[_0x14ee7d(0x153)]))),console[_0x14ee7d(0x142)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x5a046c[_0x14ee7d(0x136)]?a109_0x544896[_0x14ee7d(0x148)](_0x14ee7d(0x118)):a109_0x544896[_0x14ee7d(0x175)](_0x14ee7d(0x133)))),console['log'](_0x14ee7d(0x12f)+_0x5a046c[_0x14ee7d(0x16b)][_0x14ee7d(0x134)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x14ee7d(0x142)](a109_0x544896[_0x14ee7d(0x12b)]('Config\x20file:')+'\x20\x20'+a109_0x544896[_0x14ee7d(0x175)](_0x14ee7d(0x143)));console[_0x14ee7d(0x142)]('');if(_0x4cc249[_0x14ee7d(0x138)]>0x0){console[_0x14ee7d(0x142)](a109_0x544896['cyan'](_0x14ee7d(0x171)));for(const _0x43620c of _0x4cc249){console[_0x14ee7d(0x142)]('\x20\x20'+a109_0x544896['red']('FOUND')+'\x20\x20'+_0x43620c);}console[_0x14ee7d(0x142)](_0x14ee7d(0x141));}else console[_0x14ee7d(0x142)](a109_0x544896[_0x14ee7d(0x12b)](_0x14ee7d(0x171))+'\x20\x20'+a109_0x544896[_0x14ee7d(0x175)](_0x14ee7d(0x166)));console['log']('');_0x3ac73e?(console[_0x14ee7d(0x142)](a109_0x544896['cyan'](_0x14ee7d(0x144))+('\x20\x20'+a109_0x544896[_0x14ee7d(0x11e)](_0x3ac73e[_0x14ee7d(0x131)])+_0x14ee7d(0x185)+_0x3ac73e[_0x14ee7d(0x182)][_0x14ee7d(0x134)](',\x20'))),console[_0x14ee7d(0x142)](_0x14ee7d(0x157))):console['log'](a109_0x544896[_0x14ee7d(0x12b)](_0x14ee7d(0x144))+'\x20\x20'+a109_0x544896['gray']('no\x20legacy\x20entry'));console[_0x14ee7d(0x142)](''),console['log'](a109_0x544896[_0x14ee7d(0x12b)]('Skill\x20swap:')+('\x20\x20'+(_0x287a57?a109_0x544896[_0x14ee7d(0x11e)](_0x14ee7d(0x123)):a109_0x544896[_0x14ee7d(0x148)](_0x14ee7d(0x17e)))));_0x287a57&&console[_0x14ee7d(0x142)](_0x14ee7d(0x18b)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x14ee7d(0x142)]('');if(_0x4c7736[_0x14ee7d(0x158)]){const {currentVersion:_0x533771,field:_0xf190e,pkgPath:_0x1d728d}=_0x4c7736[_0x14ee7d(0x158)];console[_0x14ee7d(0x142)](a109_0x544896[_0x14ee7d(0x12b)](_0x14ee7d(0x14d))+('\x20\x20'+a109_0x544896['yellow'](_0x1d728d))),console[_0x14ee7d(0x142)](_0x14ee7d(0x147)+_0xf190e+':\x20'+a109_0x544896[_0x14ee7d(0x11e)](_0x533771)+'\x20→\x20'+a109_0x544896['green'](_0x14ee7d(0x12d))),console[_0x14ee7d(0x142)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x14ee7d(0x142)](a109_0x544896['cyan']('@lovrabet/sdk:')+'\x20\x20'+a109_0x544896[_0x14ee7d(0x175)](_0x14ee7d(0x161)));console[_0x14ee7d(0x142)]('');}function execConfigMigration(_0x472d77,_0x39b0fe){const _0x2c03ed=a109_0x529e35,{configMigration:_0x4d360c}=_0x472d77;if(!_0x4d360c?.[_0x2c03ed(0x153)])return{'step':0x1,'label':_0x2c03ed(0x17f),'ok':!![],'detail':_0x2c03ed(0x165)};const _0x326fdc=readConfigFile(_0x4d360c[_0x2c03ed(0x153)]),_0x16cf0a=resolve(_0x39b0fe,NEW_CONFIG_NAME),_0x584b60=_0x4d360c[_0x2c03ed(0x136)]?readConfigFile(_0x16cf0a):{};for(const [_0x2004a5,_0x36001d]of Object[_0x2c03ed(0x18d)](_0x326fdc)){!(_0x2004a5 in _0x584b60)&&(_0x584b60[_0x2004a5]=_0x36001d);}writeConfigFile(_0x16cf0a,_0x584b60);const _0x3fb3b1=_0x4d360c['oldPath']+_0x2c03ed(0x180);return renameSync(_0x4d360c[_0x2c03ed(0x153)],_0x3fb3b1),{'step':0x1,'label':_0x2c03ed(0x17f),'ok':!![],'detail':_0x4d360c[_0x2c03ed(0x153)]+_0x2c03ed(0x129)+_0x16cf0a+_0x2c03ed(0x17d)+_0x3fb3b1+')'};}function execRemoveOldArtifacts(_0x1d5de6){const _0x3b88ed=a109_0x529e35,_0x21efe6=[];for(const _0x5cc25e of _0x1d5de6){try{if(!existsSync(_0x5cc25e))continue;const _0x12775c=tryStat(_0x5cc25e);_0x12775c?.[_0x3b88ed(0x119)]()?rmSync(_0x5cc25e,{'recursive':!![],'force':!![]}):unlinkSync(_0x5cc25e);}catch(_0x1f3e3e){_0x21efe6[_0x3b88ed(0x169)](_0x5cc25e+':\x20'+_0x1f3e3e[_0x3b88ed(0x16c)]);}}return{'step':0x3,'label':_0x3b88ed(0x120),'ok':_0x21efe6[_0x3b88ed(0x138)]===0x0,'detail':_0x21efe6['length']>0x0?_0x1d5de6[_0x3b88ed(0x138)]-_0x21efe6[_0x3b88ed(0x138)]+'/'+_0x1d5de6[_0x3b88ed(0x138)]+_0x3b88ed(0x17c)+_0x21efe6[_0x3b88ed(0x134)](';\x20')+')':_0x1d5de6[_0x3b88ed(0x138)]+_0x3b88ed(0x179)};}function execCleanMcp(_0x4b9454){const _0x31f943=a109_0x529e35;if(!_0x4b9454['oldMcpConfig'])return{'step':0x4,'label':_0x31f943(0x150),'ok':!![],'detail':'skipped'};try{const _0xb47581=readFileSync(_0x4b9454[_0x31f943(0x187)][_0x31f943(0x131)],_0x31f943(0x145)),_0x323841=JSON[_0x31f943(0x16e)](_0xb47581);if(_0x323841?.[_0x31f943(0x15d)]&&typeof _0x323841['mcpServers']===_0x31f943(0x15c)){const _0x1e438d=[];for(const [_0x2c1247,_0x1d9b6d]of Object[_0x31f943(0x18d)](_0x323841['mcpServers'])){_0x1d9b6d?.[_0x31f943(0x11c)]&&Array[_0x31f943(0x184)](_0x1d9b6d[_0x31f943(0x11c)])&&_0x1d9b6d[_0x31f943(0x11c)][_0x31f943(0x183)](_0x34585b=>typeof _0x34585b===_0x31f943(0x13c)&&_0x34585b[_0x31f943(0x13e)]('@lovrabet/dataset-mcp-server'))&&_0x1e438d['push'](_0x2c1247);}for(const _0x176e30 of _0x1e438d){delete _0x323841[_0x31f943(0x15d)][_0x176e30];}return _0x1e438d[_0x31f943(0x138)]>0x0&&writeFileSync(_0x4b9454[_0x31f943(0x187)][_0x31f943(0x131)],JSON[_0x31f943(0x15f)](_0x323841,null,0x2)+'\x0a',_0x31f943(0x145)),{'step':0x4,'label':_0x31f943(0x150),'ok':!![],'detail':_0x31f943(0x12c)+_0x1e438d[_0x31f943(0x134)](',\x20')+_0x31f943(0x177)+_0x4b9454[_0x31f943(0x187)][_0x31f943(0x131)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x31f943(0x172)};}catch(_0x42f0a6){return{'step':0x4,'label':_0x31f943(0x150),'ok':![],'detail':_0x42f0a6[_0x31f943(0x16c)]};}}function execSkillsRemove(_0x2c271e,_0x224aac){const _0x4fdf93=a109_0x529e35,_0x110b73=runNpxSkillsRemove(_0x2c271e,{'stdio':_0x4fdf93(0x127),'yes':_0x224aac});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x110b73['ok'],'detail':_0x110b73['ok']?_0x4fdf93(0x13f):_0x110b73[_0x4fdf93(0x154)]??_0x4fdf93(0x12e)+_0x110b73['status']};}function execSkillsAdd(_0x3a8f3b,_0x4f8c69){const _0x18d851=a109_0x529e35,_0x312b75=runNpxSkillsAddGlobal(_0x3a8f3b,'lovrabet/rabetbase',{'stdio':_0x18d851(0x127),'yes':_0x4f8c69});return{'step':0x6,'label':_0x18d851(0x16d),'ok':_0x312b75['ok'],'detail':_0x312b75['ok']?_0x18d851(0x170):_0x312b75[_0x18d851(0x154)]??_0x18d851(0x12e)+_0x312b75['status']};}function execUpgradeSdk(_0x1cd9df){const _0x114259=a109_0x529e35;if(!_0x1cd9df[_0x114259(0x158)])return{'step':0x7,'label':_0x114259(0x114),'ok':!![],'detail':_0x114259(0x146)};const {pkgPath:_0x2c7eb3,currentVersion:_0x3fa67b,field:_0x3408b5}=_0x1cd9df['sdkUpgrade'];try{const _0x3de2ef=readFileSync(_0x2c7eb3,_0x114259(0x145)),_0x23a683=JSON['parse'](_0x3de2ef);return _0x23a683[_0x3408b5]['@lovrabet/sdk']='latest',writeFileSync(_0x2c7eb3,JSON[_0x114259(0x15f)](_0x23a683,null,0x2)+'\x0a',_0x114259(0x145)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x3408b5+_0x114259(0x174)+_0x3fa67b+_0x114259(0x13a)};}catch(_0x51ad1d){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x51ad1d[_0x114259(0x16c)]};}}function a109_0xf887(_0x1564d2,_0x5e04f1){_0x1564d2=_0x1564d2-0x111;const _0x49b03d=a109_0x49b0();let _0xf8873d=_0x49b03d[_0x1564d2];return _0xf8873d;}function tryStat(_0x2e5126){try{return statSync(_0x2e5126);}catch{return undefined;}}function printSummary(_0xf54e81){const _0x1e28cc=a109_0x529e35;console['log'](''),console['log'](a109_0x544896[_0x1e28cc(0x164)]('===\x20Upgrade\x20Summary\x20===')),console[_0x1e28cc(0x142)]('');for(const _0x1da398 of _0xf54e81){const _0x5da0bb=_0x1da398['ok']?a109_0x544896[_0x1e28cc(0x148)]('OK'):a109_0x544896[_0x1e28cc(0x18e)](_0x1e28cc(0x117));console[_0x1e28cc(0x142)]('\x20\x20'+_0x5da0bb+_0x1e28cc(0x11f)+_0x1da398[_0x1e28cc(0x16a)]+':\x20'+_0x1da398[_0x1e28cc(0x15a)]);if(_0x1da398[_0x1e28cc(0x163)])console[_0x1e28cc(0x142)]('\x20\x20\x20\x20\x20\x20\x20'+a109_0x544896['gray'](_0x1da398[_0x1e28cc(0x163)]));}console[_0x1e28cc(0x142)]('');}export async function upgradeApp(_0x21dcb5,_0x408ddc){const _0x319437=a109_0x529e35,_0x2d549e=process[_0x319437(0x173)](),_0x17ed41=analyse(_0x2d549e),_0x5f5b3b=!_0x17ed41[_0x319437(0x168)]&&_0x17ed41['oldArtifacts'][_0x319437(0x138)]===0x0&&!_0x17ed41[_0x319437(0x187)]&&!_0x17ed41['needsSkillSwap']&&!_0x17ed41[_0x319437(0x158)];if(_0x5f5b3b){console['log'](a109_0x544896['green'](_0x319437(0x152)));return;}printReport(_0x17ed41);const _0x3a3a5c=!!(_0x408ddc[_0x319437(0x189)]||_0x408ddc['Y']||_0x21dcb5);if(!_0x3a3a5c)try{const _0x1613fc=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x1613fc){console[_0x319437(0x142)](a109_0x544896[_0x319437(0x175)]('Upgrade\x20cancelled.'));return;}}catch(_0x3150a4){if(_0x3150a4?.[_0x319437(0x16c)]===_0x319437(0x18c)){console['log'](a109_0x544896[_0x319437(0x175)](_0x319437(0x18a)));return;}throw _0x3150a4;}const _0x4ace6c=[],_0x3c509e=a109_0x10c0ba({'text':_0x319437(0x115),'color':_0x319437(0x12b)})['start'](),_0x46d34d=execConfigMigration(_0x17ed41,_0x2d549e);_0x4ace6c[_0x319437(0x169)](_0x46d34d),_0x3c509e[_0x46d34d['ok']?'succeed':_0x319437(0x125)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x46d34d[_0x319437(0x163)]??(_0x46d34d['ok']?_0x319437(0x137):'failed')));const _0x5eea69=resolve(_0x2d549e,'.lovrabet'),_0x1623e3=a109_0x10c0ba({'text':_0x319437(0x128),'color':_0x319437(0x12b)})[_0x319437(0x11d)]();if(existsSync(_0x5eea69))try{rmSync(_0x5eea69,{'recursive':!![],'force':!![]}),_0x1623e3[_0x319437(0x126)](_0x319437(0x116)),_0x4ace6c['push']({'step':0x2,'label':_0x319437(0x14e),'ok':!![]});}catch(_0x2a101e){_0x1623e3[_0x319437(0x125)](_0x319437(0x159)+_0x2a101e[_0x319437(0x16c)]),_0x4ace6c[_0x319437(0x169)]({'step':0x2,'label':_0x319437(0x14e),'ok':![],'detail':_0x2a101e['message']});}else _0x1623e3['info'](_0x319437(0x132)),_0x4ace6c['push']({'step':0x2,'label':_0x319437(0x14e),'ok':!![],'detail':_0x319437(0x188)});const _0xd1ef7f=a109_0x10c0ba({'text':_0x319437(0x167),'color':'cyan'})[_0x319437(0x11d)](),_0x15e014=execRemoveOldArtifacts(_0x17ed41[_0x319437(0x13d)]);_0x4ace6c['push'](_0x15e014),_0xd1ef7f[_0x15e014['ok']?'succeed':_0x319437(0x125)](_0x319437(0x176)+(_0x15e014[_0x319437(0x163)]??(_0x15e014['ok']?'done':_0x319437(0x14b))));const _0x43280f=a109_0x10c0ba({'text':_0x319437(0x17b),'color':_0x319437(0x12b)})[_0x319437(0x11d)](),_0x1d3285=execCleanMcp(_0x17ed41);_0x4ace6c['push'](_0x1d3285),_0x43280f[_0x1d3285['ok']?_0x319437(0x126):_0x319437(0x125)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x1d3285[_0x319437(0x163)]??(_0x1d3285['ok']?'done':_0x319437(0x14b))));const _0x1ced31=a109_0x10c0ba({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x319437(0x12b)})[_0x319437(0x11d)](),_0x404506=execSkillsRemove(_0x2d549e,_0x3a3a5c);_0x4ace6c['push'](_0x404506),_0x1ced31[_0x404506['ok']?_0x319437(0x126):_0x319437(0x125)](_0x319437(0x16f)+(_0x404506['detail']??(_0x404506['ok']?_0x319437(0x137):'failed')));const _0x17f217=a109_0x10c0ba({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x319437(0x12b)})[_0x319437(0x11d)](),_0x296cdb=execSkillsAdd(_0x2d549e,_0x3a3a5c);_0x4ace6c[_0x319437(0x169)](_0x296cdb),_0x17f217[_0x296cdb['ok']?_0x319437(0x126):_0x319437(0x125)](_0x319437(0x121)+(_0x296cdb[_0x319437(0x163)]??(_0x296cdb['ok']?_0x319437(0x137):'failed')));const _0x4cea8f=a109_0x10c0ba({'text':_0x319437(0x14a),'color':_0x319437(0x12b)})[_0x319437(0x11d)](),_0x3b2e49=execUpgradeSdk(_0x17ed41);_0x4ace6c[_0x319437(0x169)](_0x3b2e49),_0x4cea8f[_0x3b2e49['ok']?_0x319437(0x126):_0x319437(0x125)](_0x319437(0x17a)+(_0x3b2e49[_0x319437(0x163)]??(_0x3b2e49['ok']?_0x319437(0x137):_0x319437(0x14b)))),printSummary(_0x4ace6c);const _0x548872=_0x4ace6c['some'](_0x2bfe52=>!_0x2bfe52['ok']);_0x548872?console[_0x319437(0x142)](a109_0x544896['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x319437(0x142)](a109_0x544896[_0x319437(0x148)](_0x319437(0x15b))),_0x3b2e49['ok']&&_0x17ed41[_0x319437(0x158)]&&(console['log'](''),console['log'](a109_0x544896[_0x319437(0x164)][_0x319437(0x12b)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x319437(0x142)](a109_0x544896['cyan'](_0x319437(0x139))),console[_0x319437(0x142)](''),console['log'](a109_0x544896[_0x319437(0x11b)](_0x319437(0x122))),console['log'](a109_0x544896[_0x319437(0x11b)]('\x20\x20#\x20or')),console[_0x319437(0x142)](a109_0x544896[_0x319437(0x11b)](_0x319437(0x11a))),console['log'](''));}
1
+ (function(_0x35cc6e,_0x36175b){const _0x3db054=a109_0x3894,_0x28547d=_0x35cc6e();while(!![]){try{const _0x36585a=-parseInt(_0x3db054(0x149))/0x1+parseInt(_0x3db054(0x10d))/0x2*(parseInt(_0x3db054(0x119))/0x3)+parseInt(_0x3db054(0x137))/0x4*(parseInt(_0x3db054(0x174))/0x5)+-parseInt(_0x3db054(0x12e))/0x6*(-parseInt(_0x3db054(0x110))/0x7)+parseInt(_0x3db054(0x179))/0x8*(parseInt(_0x3db054(0x100))/0x9)+parseInt(_0x3db054(0x15a))/0xa+-parseInt(_0x3db054(0xfe))/0xb;if(_0x36585a===_0x36175b)break;else _0x28547d['push'](_0x28547d['shift']());}catch(_0x33887d){_0x28547d['push'](_0x28547d['shift']());}}}(a109_0x4601,0x53f3c));import a109_0xfa6b3 from'chalk';import a109_0x44d4bc from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x4349b3=>_0x4349b3!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x434ed3){const _0x397570=a109_0x3894,_0x190bf8=[];for(const _0x30c466 of Object['values'](CORE_IDE_CONFIGS)){if(_0x30c466[_0x397570(0x11a)])for(const _0x2ac3e1 of _0x30c466[_0x397570(0x11a)]){_0x190bf8['push'](resolve(_0x434ed3,_0x2ac3e1[_0x397570(0x17b)]));}}return _0x190bf8;}function analyse(_0x1bd099){const _0x543206=a109_0x3894;let _0x2a3b62=null;const _0x14ee40=resolve(_0x1bd099,NEW_CONFIG_NAME),_0x53ac86=existsSync(_0x14ee40);for(const _0x260c57 of LEGACY_CONFIG_NAMES){const _0x26500e=resolve(_0x1bd099,_0x260c57);if(existsSync(_0x26500e)){const _0x368aab=readConfigFile(_0x26500e),_0x206348=Object[_0x543206(0x108)](_0x368aab)[_0x543206(0x106)](_0x2ac82b=>typeof _0x368aab[_0x2ac82b]!=='undefined');_0x2a3b62={'oldPath':_0x26500e,'hasNewConfig':_0x53ac86,'fields':_0x206348};break;}}const _0x28a0ce=[],_0x95ebb4=resolve(_0x1bd099,_0x543206(0x15c));if(existsSync(_0x95ebb4))_0x28a0ce['push'](_0x95ebb4);const _0x1077d8=resolve(_0x1bd099,_0x543206(0x167));if(existsSync(_0x1077d8))_0x28a0ce['push'](_0x1077d8);const _0x14d32d=resolve(_0x1bd099,'.claude/skills/lovrabet');if(existsSync(_0x14d32d))_0x28a0ce[_0x543206(0x11c)](_0x14d32d);for(const _0x29f4cf of collectIdeSkillFiles(_0x1bd099)){if(existsSync(_0x29f4cf))_0x28a0ce[_0x543206(0x11c)](_0x29f4cf);}let _0x27b892=null;const _0x4b9ef2=resolve(_0x1bd099,_0x543206(0x16a));if(existsSync(_0x4b9ef2))try{const _0x1ad390=JSON[_0x543206(0x165)](readFileSync(_0x4b9ef2,'utf8'));if(_0x1ad390?.[_0x543206(0x11f)]&&typeof _0x1ad390[_0x543206(0x11f)]==='object'){const _0x1808a4=[];for(const [_0xd5dee4,_0x36d72b]of Object[_0x543206(0x104)](_0x1ad390[_0x543206(0x11f)])){const _0x488d64=_0x36d72b;_0x488d64?.[_0x543206(0x178)]&&Array[_0x543206(0x177)](_0x488d64[_0x543206(0x178)])&&_0x488d64[_0x543206(0x178)][_0x543206(0x11b)](_0x1a94ae=>typeof _0x1a94ae==='string'&&_0x1a94ae[_0x543206(0x140)](_0x543206(0x14e)))&&_0x1808a4[_0x543206(0x11c)](_0xd5dee4);}_0x1808a4[_0x543206(0x17e)]>0x0&&(_0x27b892={'path':_0x4b9ef2,'keys':_0x1808a4});}}catch{}const _0x41210c=_0x28a0ce[_0x543206(0x17e)]>0x0||_0x2a3b62!==null;let _0x6f520d=null;const _0x182731=resolve(_0x1bd099,_0x543206(0x114));if(existsSync(_0x182731))try{const _0x3e33e0=JSON[_0x543206(0x165)](readFileSync(_0x182731,_0x543206(0x14f)));for(const _0x2cfb62 of[_0x543206(0x13d),'devDependencies']){const _0x48be31=_0x3e33e0?.[_0x2cfb62]?.[_0x543206(0x116)];if(typeof _0x48be31===_0x543206(0x13c)){_0x48be31!==_0x543206(0x145)&&(_0x6f520d={'pkgPath':_0x182731,'currentVersion':_0x48be31,'field':_0x2cfb62});break;}}}catch{}return{'configMigration':_0x2a3b62,'oldArtifacts':_0x28a0ce,'oldMcpConfig':_0x27b892,'needsSkillSwap':_0x41210c,'sdkUpgrade':_0x6f520d};}function printReport(_0x328fe5){const _0x2b7c12=a109_0x3894,{configMigration:_0x11b3bd,oldArtifacts:_0x41e83d,oldMcpConfig:_0x54ec19,needsSkillSwap:_0x4e4b8c}=_0x328fe5;console[_0x2b7c12(0x109)](''),console['log'](a109_0xfa6b3[_0x2b7c12(0x155)](_0x2b7c12(0x10b))),console['log']('');_0x11b3bd?(console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan']('Config\x20file:')+('\x20\x20'+a109_0xfa6b3['yellow'](_0x11b3bd['oldPath']))),console[_0x2b7c12(0x109)](_0x2b7c12(0x10c)+(_0x11b3bd[_0x2b7c12(0x172)]?a109_0xfa6b3[_0x2b7c12(0x173)]('already\x20exists\x20(will\x20merge)'):a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x107)))),console[_0x2b7c12(0x109)](_0x2b7c12(0x101)+_0x11b3bd[_0x2b7c12(0x133)][_0x2b7c12(0x113)](',\x20')),console[_0x2b7c12(0x109)](_0x2b7c12(0x111))):console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x142))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x129)));console[_0x2b7c12(0x109)]('');if(_0x41e83d['length']>0x0){console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)]('Legacy\x20artifacts:'));for(const _0x16347b of _0x41e83d){console[_0x2b7c12(0x109)]('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15f)]('FOUND')+'\x20\x20'+_0x16347b);}console[_0x2b7c12(0x109)]('\x20\x20Action:\x20delete');}else console['log'](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x124))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)]('none\x20found'));console[_0x2b7c12(0x109)]('');_0x54ec19?(console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan'](_0x2b7c12(0x139))+('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x54ec19[_0x2b7c12(0x17b)])+'\x20→\x20keys:\x20'+_0x54ec19[_0x2b7c12(0x108)][_0x2b7c12(0x113)](',\x20'))),console[_0x2b7c12(0x109)](_0x2b7c12(0x153))):console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x139))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x16b)));console['log'](''),console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)]('Skill\x20swap:')+('\x20\x20'+(_0x4e4b8c?a109_0xfa6b3[_0x2b7c12(0x15b)]('needed'):a109_0xfa6b3['green'](_0x2b7c12(0x144)))));_0x4e4b8c&&console[_0x2b7c12(0x109)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2b7c12(0x109)]('');if(_0x328fe5[_0x2b7c12(0x122)]){const {currentVersion:_0x2b94b6,field:_0x5143c2,pkgPath:_0x3ea846}=_0x328fe5[_0x2b7c12(0x122)];console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan'](_0x2b7c12(0x126))+('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x3ea846))),console[_0x2b7c12(0x109)](_0x2b7c12(0x16f)+_0x5143c2+':\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x2b94b6)+_0x2b7c12(0x10a)+a109_0xfa6b3[_0x2b7c12(0x173)](_0x2b7c12(0x145))),console['log'](_0x2b7c12(0x160));}else console['log'](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x126))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x135)));console['log']('');}function execConfigMigration(_0x140521,_0x386f88){const _0x223881=a109_0x3894,{configMigration:_0x52303c}=_0x140521;if(!_0x52303c?.[_0x223881(0x13b)])return{'step':0x1,'label':_0x223881(0x13f),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x2d6c27=readConfigFile(_0x52303c['oldPath']),_0x419e81=resolve(_0x386f88,NEW_CONFIG_NAME),_0x58b0bd=_0x52303c[_0x223881(0x172)]?readConfigFile(_0x419e81):{};for(const [_0x1cac72,_0x533c08]of Object[_0x223881(0x104)](_0x2d6c27)){!(_0x1cac72 in _0x58b0bd)&&(_0x58b0bd[_0x1cac72]=_0x533c08);}writeConfigFile(_0x419e81,_0x58b0bd);const _0x5b2eda=_0x52303c['oldPath']+_0x223881(0x17a);return renameSync(_0x52303c[_0x223881(0x13b)],_0x5b2eda),{'step':0x1,'label':_0x223881(0x13f),'ok':!![],'detail':_0x52303c[_0x223881(0x13b)]+_0x223881(0x10a)+_0x419e81+'\x20(backup:\x20'+_0x5b2eda+')'};}function execRemoveOldArtifacts(_0x5521b2){const _0x200847=a109_0x3894,_0x4ef1e2=[];for(const _0xc44841 of _0x5521b2){try{if(!existsSync(_0xc44841))continue;const _0x121558=tryStat(_0xc44841);_0x121558?.[_0x200847(0x170)]()?rmSync(_0xc44841,{'recursive':!![],'force':!![]}):unlinkSync(_0xc44841);}catch(_0x25ba67){_0x4ef1e2[_0x200847(0x11c)](_0xc44841+':\x20'+_0x25ba67[_0x200847(0x150)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4ef1e2['length']===0x0,'detail':_0x4ef1e2[_0x200847(0x17e)]>0x0?_0x5521b2['length']-_0x4ef1e2['length']+'/'+_0x5521b2[_0x200847(0x17e)]+_0x200847(0x17c)+_0x4ef1e2[_0x200847(0x113)](';\x20')+')':_0x5521b2[_0x200847(0x17e)]+_0x200847(0x16d)};}function execCleanMcp(_0x5d9e8e){const _0x3ed5d4=a109_0x3894;if(!_0x5d9e8e[_0x3ed5d4(0x162)])return{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':!![],'detail':_0x3ed5d4(0x14d)};try{const _0x32d65c=readFileSync(_0x5d9e8e[_0x3ed5d4(0x162)]['path'],_0x3ed5d4(0x14f)),_0x3f400e=JSON[_0x3ed5d4(0x165)](_0x32d65c);if(_0x3f400e?.['mcpServers']&&typeof _0x3f400e[_0x3ed5d4(0x11f)]===_0x3ed5d4(0x10f)){const _0x75f043=[];for(const [_0x5b0057,_0x3a0ec2]of Object[_0x3ed5d4(0x104)](_0x3f400e[_0x3ed5d4(0x11f)])){_0x3a0ec2?.[_0x3ed5d4(0x178)]&&Array[_0x3ed5d4(0x177)](_0x3a0ec2[_0x3ed5d4(0x178)])&&_0x3a0ec2[_0x3ed5d4(0x178)][_0x3ed5d4(0x11b)](_0x6b15a3=>typeof _0x6b15a3===_0x3ed5d4(0x13c)&&_0x6b15a3[_0x3ed5d4(0x140)](_0x3ed5d4(0x14e)))&&_0x75f043[_0x3ed5d4(0x11c)](_0x5b0057);}for(const _0x2ce630 of _0x75f043){delete _0x3f400e[_0x3ed5d4(0x11f)][_0x2ce630];}return _0x75f043['length']>0x0&&writeFileSync(_0x5d9e8e[_0x3ed5d4(0x162)]['path'],JSON[_0x3ed5d4(0x16c)](_0x3f400e,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':!![],'detail':'removed\x20'+_0x75f043[_0x3ed5d4(0x113)](',\x20')+_0x3ed5d4(0x103)+_0x5d9e8e[_0x3ed5d4(0x162)][_0x3ed5d4(0x17b)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x3ed5d4(0x156)};}catch(_0x212337){return{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':![],'detail':_0x212337[_0x3ed5d4(0x150)]};}}function execSkillsRemove(_0x566929,_0x579ce6){const _0x29fc75=a109_0x3894,_0x1d552d=runNpxSkillsRemove(_0x566929,{'stdio':_0x29fc75(0x118),'yes':_0x579ce6});return{'step':0x5,'label':_0x29fc75(0xfd),'ok':_0x1d552d['ok'],'detail':_0x1d552d['ok']?_0x29fc75(0xfc):_0x1d552d[_0x29fc75(0x10e)]??_0x29fc75(0x17f)+_0x1d552d[_0x29fc75(0x125)]};}function a109_0x4601(){const _0x493e7a=['===\x20Upgrade\x20Summary\x20===','68dHiTSm','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','MCP\x20config:','FAIL','oldPath','string','dependencies','Step\x201/7:\x20Config\x20migration\x20—\x20','Config\x20migration','includes','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Config\x20file:','oldArtifacts','not\x20needed','latest','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','lovrabet/rabetbase\x20installed\x20globally','\x20\x20#\x20or','31851xnZrFw','Upgrade\x20cancelled.','Install\x20new\x20skill','detail','skipped','@lovrabet/dataset-mcp-server','utf8','message','succeed','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Upgrade\x20@lovrabet/sdk','bold','no\x20matching\x20entry\x20found','yes','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20bun\x20install','5510970hisoYK','yellow','.lovrabet','label','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','red','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','oldMcpConfig','fail','lovrabet/rabetbase','parse','Remove\x20.lovrabet/','.cursor/rules/lovrabet_rules.mdc','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Upgrade\x20completed\x20successfully!','.cursor/mcp.json','no\x20legacy\x20entry','stringify','\x20removed','cyan','\x20\x20Current\x20version\x20in\x20','isDirectory','Step\x205/7:\x20Removing\x20old\x20skill...','hasNewConfig','green','64230REOaKI','Proceed\x20with\x20upgrade?','Step\x204/7:\x20MCP\x20config\x20—\x20','isArray','args','8IsSAzg','.bak','path','\x20removed\x20(','\x20\x20Step\x20','length','exit\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','lovrabet/lovrabet-skill\x20removed','Remove\x20old\x20skill','17888981FtraNC','cwd','1535481RtvUiZ','\x20\x20Fields\x20to\x20migrate:\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20from\x20','entries','[\x22@lovrabet/sdk\x22]:\x20','filter','not\x20found\x20(will\x20create)','keys','log','\x20→\x20','===\x20Upgrade\x20Analysis\x20===','\x20\x20New\x20config\x20(.rabetbase.json):\x20','998rNUPsZ','error','object','1502060QbmdOg','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','white','join','package.json','\x20\x20npm\x20install','@lovrabet/sdk','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','inherit','2514qHFVQg','files','some','push','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Step\x206/7:\x20Installing\x20new\x20skill...','mcpServers','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','sdkUpgrade','CANCEL','Legacy\x20artifacts:','status','@lovrabet/sdk:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','start','no\x20legacy\x20config\x20found','done','needsSkillSwap','configMigration','gray','18ieCgEb','Clean\x20MCP\x20config','Step\x201/7:\x20Migrating\x20config...','step','\x20\x20\x20\x20\x20\x20\x20','fields','failed','not\x20found\x20or\x20already\x20at\x20latest'];a109_0x4601=function(){return _0x493e7a;};return a109_0x4601();}function execSkillsAdd(_0x160551,_0x6a6945){const _0x52d969=a109_0x3894,_0x3299ff=runNpxSkillsAddGlobal(_0x160551,_0x52d969(0x164),{'stdio':'inherit','yes':_0x6a6945});return{'step':0x6,'label':_0x52d969(0x14b),'ok':_0x3299ff['ok'],'detail':_0x3299ff['ok']?_0x52d969(0x147):_0x3299ff['error']??_0x52d969(0x17f)+_0x3299ff['status']};}function execUpgradeSdk(_0x30a6f2){const _0x30f75b=a109_0x3894;if(!_0x30a6f2[_0x30f75b(0x122)])return{'step':0x7,'label':_0x30f75b(0x154),'ok':!![],'detail':_0x30f75b(0x102)};const {pkgPath:_0x34c84d,currentVersion:_0x5ca6b4,field:_0x1484ac}=_0x30a6f2[_0x30f75b(0x122)];try{const _0x167215=readFileSync(_0x34c84d,'utf8'),_0x46bf72=JSON['parse'](_0x167215);return _0x46bf72[_0x1484ac]['@lovrabet/sdk']='latest',writeFileSync(_0x34c84d,JSON['stringify'](_0x46bf72,null,0x2)+'\x0a',_0x30f75b(0x14f)),{'step':0x7,'label':_0x30f75b(0x154),'ok':!![],'detail':_0x1484ac+_0x30f75b(0x105)+_0x5ca6b4+'\x20→\x20latest'};}catch(_0x4e2756){return{'step':0x7,'label':_0x30f75b(0x154),'ok':![],'detail':_0x4e2756['message']};}}function tryStat(_0x3663a9){try{return statSync(_0x3663a9);}catch{return undefined;}}function printSummary(_0x3783a3){const _0x1f7044=a109_0x3894;console[_0x1f7044(0x109)](''),console['log'](a109_0xfa6b3['bold'](_0x1f7044(0x136))),console[_0x1f7044(0x109)]('');for(const _0x157faf of _0x3783a3){const _0x4334b1=_0x157faf['ok']?a109_0xfa6b3['green']('OK'):a109_0xfa6b3[_0x1f7044(0x15f)](_0x1f7044(0x13a));console[_0x1f7044(0x109)]('\x20\x20'+_0x4334b1+_0x1f7044(0x17d)+_0x157faf[_0x1f7044(0x131)]+':\x20'+_0x157faf[_0x1f7044(0x15d)]);if(_0x157faf[_0x1f7044(0x14c)])console['log'](_0x1f7044(0x132)+a109_0xfa6b3[_0x1f7044(0x12d)](_0x157faf[_0x1f7044(0x14c)]));}console['log']('');}function a109_0x3894(_0x31923f,_0x134fbd){_0x31923f=_0x31923f-0xfb;const _0x460139=a109_0x4601();let _0x389432=_0x460139[_0x31923f];return _0x389432;}export async function upgradeApp(_0x36e249,_0x3ab220){const _0xc5ab52=a109_0x3894,_0x2ccde6=process[_0xc5ab52(0xff)](),_0x1276b6=analyse(_0x2ccde6),_0x2f523f=!_0x1276b6[_0xc5ab52(0x12c)]&&_0x1276b6[_0xc5ab52(0x143)][_0xc5ab52(0x17e)]===0x0&&!_0x1276b6['oldMcpConfig']&&!_0x1276b6[_0xc5ab52(0x12b)]&&!_0x1276b6[_0xc5ab52(0x122)];if(_0x2f523f){console[_0xc5ab52(0x109)](a109_0xfa6b3['green'](_0xc5ab52(0x121)));return;}printReport(_0x1276b6);const _0x98d4df=!!(_0x3ab220[_0xc5ab52(0x157)]||_0x3ab220['Y']||_0x36e249);if(!_0x98d4df)try{const _0x54fda7=await askConfirm(_0xc5ab52(0x175));if(!_0x54fda7){console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x12d)]('Upgrade\x20cancelled.'));return;}}catch(_0x129705){if(_0x129705?.[_0xc5ab52(0x150)]===_0xc5ab52(0x123)){console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x12d)](_0xc5ab52(0x14a)));return;}throw _0x129705;}const _0x5e93b6=[],_0x2ba0a7=a109_0x44d4bc({'text':_0xc5ab52(0x130),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x3b08a9=execConfigMigration(_0x1276b6,_0x2ccde6);_0x5e93b6['push'](_0x3b08a9),_0x2ba0a7[_0x3b08a9['ok']?_0xc5ab52(0x151):'fail'](_0xc5ab52(0x13e)+(_0x3b08a9['detail']??(_0x3b08a9['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x23c097=resolve(_0x2ccde6,'.lovrabet'),_0x610a98=a109_0x44d4bc({'text':_0xc5ab52(0xfb),'color':_0xc5ab52(0x16e)})['start']();if(existsSync(_0x23c097))try{rmSync(_0x23c097,{'recursive':!![],'force':!![]}),_0x610a98[_0xc5ab52(0x151)](_0xc5ab52(0x158)),_0x5e93b6['push']({'step':0x2,'label':_0xc5ab52(0x166),'ok':!![]});}catch(_0x3ef127){_0x610a98[_0xc5ab52(0x163)](_0xc5ab52(0x141)+_0x3ef127['message']),_0x5e93b6[_0xc5ab52(0x11c)]({'step':0x2,'label':_0xc5ab52(0x166),'ok':![],'detail':_0x3ef127['message']});}else _0x610a98['info'](_0xc5ab52(0x117)),_0x5e93b6[_0xc5ab52(0x11c)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0xc5ab52(0x14d)});const _0x38ee68=a109_0x44d4bc({'text':_0xc5ab52(0x11d),'color':_0xc5ab52(0x16e)})['start'](),_0x3413d9=execRemoveOldArtifacts(_0x1276b6[_0xc5ab52(0x143)]);_0x5e93b6[_0xc5ab52(0x11c)](_0x3413d9),_0x38ee68[_0x3413d9['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x161)+(_0x3413d9['detail']??(_0x3413d9['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x1b90bf=a109_0x44d4bc({'text':_0xc5ab52(0x127),'color':_0xc5ab52(0x16e)})['start'](),_0x442a4d=execCleanMcp(_0x1276b6);_0x5e93b6['push'](_0x442a4d),_0x1b90bf[_0x442a4d['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x176)+(_0x442a4d[_0xc5ab52(0x14c)]??(_0x442a4d['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x454f1e=a109_0x44d4bc({'text':_0xc5ab52(0x171),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x581670=execSkillsRemove(_0x2ccde6,_0x98d4df);_0x5e93b6[_0xc5ab52(0x11c)](_0x581670),_0x454f1e[_0x581670['ok']?_0xc5ab52(0x151):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x581670['detail']??(_0x581670['ok']?_0xc5ab52(0x12a):'failed')));const _0x320b59=a109_0x44d4bc({'text':_0xc5ab52(0x11e),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x10c9b8=execSkillsAdd(_0x2ccde6,_0x98d4df);_0x5e93b6[_0xc5ab52(0x11c)](_0x10c9b8),_0x320b59[_0x10c9b8['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x120)+(_0x10c9b8[_0xc5ab52(0x14c)]??(_0x10c9b8['ok']?_0xc5ab52(0x12a):'failed')));const _0x2895d6=a109_0x44d4bc({'text':_0xc5ab52(0x15e),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x1da408=execUpgradeSdk(_0x1276b6);_0x5e93b6[_0xc5ab52(0x11c)](_0x1da408),_0x2895d6[_0x1da408['ok']?'succeed':_0xc5ab52(0x163)](_0xc5ab52(0x146)+(_0x1da408[_0xc5ab52(0x14c)]??(_0x1da408['ok']?_0xc5ab52(0x12a):'failed'))),printSummary(_0x5e93b6);const _0x5c7efa=_0x5e93b6[_0xc5ab52(0x11b)](_0x4e31df=>!_0x4e31df['ok']);_0x5c7efa?console[_0xc5ab52(0x109)](a109_0xfa6b3['yellow'](_0xc5ab52(0x168))):console['log'](a109_0xfa6b3[_0xc5ab52(0x173)](_0xc5ab52(0x169))),_0x1da408['ok']&&_0x1276b6[_0xc5ab52(0x122)]&&(console[_0xc5ab52(0x109)](''),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x155)][_0xc5ab52(0x16e)](_0xc5ab52(0x152))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x16e)](_0xc5ab52(0x138))),console[_0xc5ab52(0x109)](''),console[_0xc5ab52(0x109)](a109_0xfa6b3['white'](_0xc5ab52(0x115))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x112)](_0xc5ab52(0x148))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x112)](_0xc5ab52(0x159))),console[_0xc5ab52(0x109)](''));}
@@ -1 +1 @@
1
- const a110_0x20d764=a110_0x5be1;(function(_0x10634b,_0x51f54e){const _0xa38287=a110_0x5be1,_0x4879b0=_0x10634b();while(!![]){try{const _0x3e8a2f=-parseInt(_0xa38287(0x1a8))/0x1*(-parseInt(_0xa38287(0x1d3))/0x2)+-parseInt(_0xa38287(0x1ad))/0x3*(-parseInt(_0xa38287(0x19c))/0x4)+-parseInt(_0xa38287(0x1a4))/0x5+parseInt(_0xa38287(0x19d))/0x6*(-parseInt(_0xa38287(0x1b8))/0x7)+-parseInt(_0xa38287(0x1d1))/0x8*(parseInt(_0xa38287(0x1b1))/0x9)+parseInt(_0xa38287(0x1ae))/0xa+parseInt(_0xa38287(0x1ce))/0xb;if(_0x3e8a2f===_0x51f54e)break;else _0x4879b0['push'](_0x4879b0['shift']());}catch(_0x8a8339){_0x4879b0['push'](_0x4879b0['shift']());}}}(a110_0x244b,0xec5af));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';function a110_0x244b(){const _0x4eb340=['command','171ecqAOQ','auth','has','\x20\x20[high-risk-write]','Logs','Platform\x20Issue','push','112BgZqXa','show','Database\x20Connections','\x20\x20[write]','Self\x20Update','install','from','description','map','Configuration','<script>','Run\x20Scripts','login','set','Dataset\x20&\x20Operations','read','Authentication','API','run','project','preview','skill','17289855DbDUcF','Run\x20any\x20package.json\x20script','defaultCommand','132536CRnHKf','service','1598702rMeijz','3068tGiTWx','424740xOuYaX','Schema','risk','length','commands','wildcardDef','Menu','7791260PmKSRN','write','Pages','create','1IBlffi','Skills','isSingleCommand','logout','get','5133TZrGuM','2902830KeDaLg','values'];a110_0x244b=function(){return _0x4eb340;};return a110_0x244b();}import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3ad9c0){const _0x4bac77=a110_0x5be1;for(const _0xe5e130 of _0x3ad9c0){definitions[_0x4bac77(0x1c5)](_0xe5e130[_0x4bac77(0x1d2)]+':'+_0xe5e130[_0x4bac77(0x1b0)],_0xe5e130);let _0x262c92=serviceGroups[_0x4bac77(0x1ac)](_0xe5e130[_0x4bac77(0x1d2)]);!_0x262c92&&(_0x262c92=[],serviceGroups[_0x4bac77(0x1c5)](_0xe5e130[_0x4bac77(0x1d2)],_0x262c92)),_0x262c92['push'](_0xe5e130);}}function registerDeclarativeService(_0xb8160c,_0x5d7184,_0x40dd95){const _0x5dc0ee=a110_0x5be1;registerDefinitions(_0x5d7184);_0x40dd95?.['wildcardDef']&&registerDefinitions([_0x40dd95[_0x5dc0ee(0x1a2)]]);const _0x10347f=_0x358f4b=>_0x358f4b===_0x5dc0ee(0x1c7)?'':_0x358f4b===_0x5dc0ee(0x1a5)?_0x5dc0ee(0x1bb):_0x5dc0ee(0x1b4),_0x277dfd={'service':_0x5d7184[0x0][_0x5dc0ee(0x1d2)],'label':_0xb8160c,'commands':_0x5d7184[_0x5dc0ee(0x1c0)](_0x5da234=>({'command':_0x5da234['command'],'description':_0x5da234[_0x5dc0ee(0x1bf)],'tag':_0x10347f(_0x5da234[_0x5dc0ee(0x19f)])})),'declarative':!![],'defaultCommand':_0x40dd95?.[_0x5dc0ee(0x1d0)]??(_0x40dd95?.[_0x5dc0ee(0x1aa)]?_0x5d7184[0x0][_0x5dc0ee(0x1b0)]:undefined),'wildcardDef':_0x40dd95?.[_0x5dc0ee(0x1a2)],'isSingleCommand':_0x40dd95?.[_0x5dc0ee(0x1aa)]};serviceRegistry[_0x5dc0ee(0x1b7)](_0x277dfd),serviceByName[_0x5dc0ee(0x1c5)](_0x277dfd[_0x5dc0ee(0x1d2)],_0x277dfd);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a110_0x20d764(0x1ca),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a110_0x20d764(0x1c3),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x20d764(0x1a0)]-0x1];last[a110_0x20d764(0x1a1)]=[{'command':a110_0x20d764(0x1c2),'description':a110_0x20d764(0x1cf),'tag':''}];}registerDeclarativeService(a110_0x20d764(0x1c8),authDefinitions,{'defaultCommand':a110_0x20d764(0x1c4)}),registerDeclarativeService(a110_0x20d764(0x1bc),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x20d764(0x19e),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x20d764(0x1c1),configDefinitions),registerDeclarativeService(a110_0x20d764(0x1b6),issueDefinitions),registerDeclarativeService(a110_0x20d764(0x1c9),apiDefinitions),registerDeclarativeService(a110_0x20d764(0x1a3),menuDefinitions),registerDeclarativeService(a110_0x20d764(0x1ba),dbDefinitions),registerDeclarativeService(a110_0x20d764(0x1c6),datasetDefinitions),registerDeclarativeService(a110_0x20d764(0x1a6),pageDefinitions),registerDeclarativeService('Data\x20Query',dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a110_0x20d764(0x1a9),skillDefinitions),registerDeclarativeService(a110_0x20d764(0x1b5),logsDefinitions,{'defaultCommand':a110_0x20d764(0x1b9)});export const deprecatedAliases={'create':{'service':a110_0x20d764(0x1cb),'command':a110_0x20d764(0x1a7)},'start':{'service':a110_0x20d764(0x1ca),'command':'start'},'build':{'service':'run','command':'build'},'preview':{'service':a110_0x20d764(0x1ca),'command':a110_0x20d764(0x1cc)},'logout':{'service':a110_0x20d764(0x1b2),'command':a110_0x20d764(0x1ab)},'skills':{'service':a110_0x20d764(0x1cd),'command':a110_0x20d764(0x1bd)}};export const deprecatedSubcommands={'bff':{'new':a110_0x20d764(0x1a7)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x2e7ef5,_0x289e99){return deprecatedSubcommands[_0x2e7ef5]?.[_0x289e99];}export function findDefinition(_0x24d1b0,_0x4b56bf){const _0x3b139c=a110_0x20d764;return definitions[_0x3b139c(0x1ac)](_0x24d1b0+':'+_0x4b56bf);}export function isKnownService(_0x292f71){const _0x4e5cac=a110_0x20d764;return serviceByName[_0x4e5cac(0x1b3)](_0x292f71);}export function isDeclarativeService(_0x5f1f73){const _0x55b0e3=a110_0x20d764;return serviceGroups[_0x55b0e3(0x1b3)](_0x5f1f73)||serviceByName[_0x55b0e3(0x1ac)](_0x5f1f73)?.['wildcardDef']!==undefined;}function a110_0x5be1(_0x4b9949,_0x1d2542){_0x4b9949=_0x4b9949-0x19c;const _0x244be5=a110_0x244b();let _0x5be146=_0x244be5[_0x4b9949];return _0x5be146;}export function getServiceEntry(_0x4737e9){const _0x27eb5b=a110_0x20d764;return serviceByName[_0x27eb5b(0x1ac)](_0x4737e9);}export function getLegacyHandler(_0x75e757,_0x49fe72){return undefined;}export function getAllDefinitions(){const _0x5b43de=a110_0x20d764;return Array[_0x5b43de(0x1be)](definitions[_0x5b43de(0x1af)]());}
1
+ const a110_0x32148e=a110_0x1ddc;(function(_0x48ffe1,_0x5b8471){const _0x1ce705=a110_0x1ddc,_0x336f15=_0x48ffe1();while(!![]){try{const _0x4a635b=parseInt(_0x1ce705(0x206))/0x1+parseInt(_0x1ce705(0x21c))/0x2+parseInt(_0x1ce705(0x1f1))/0x3+-parseInt(_0x1ce705(0x1fa))/0x4*(parseInt(_0x1ce705(0x1f9))/0x5)+parseInt(_0x1ce705(0x1ef))/0x6*(-parseInt(_0x1ce705(0x1f4))/0x7)+parseInt(_0x1ce705(0x1f5))/0x8*(parseInt(_0x1ce705(0x211))/0x9)+parseInt(_0x1ce705(0x1f7))/0xa;if(_0x4a635b===_0x5b8471)break;else _0x336f15['push'](_0x336f15['shift']());}catch(_0x3aca41){_0x336f15['push'](_0x336f15['shift']());}}}(a110_0x5e95,0xc2a40));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';function a110_0x1ddc(_0xec4bec,_0x2aea63){_0xec4bec=_0xec4bec-0x1ef;const _0x5e952b=a110_0x5e95();let _0x1ddcf5=_0x5e952b[_0xec4bec];return _0x1ddcf5;}import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function a110_0x5e95(){const _0x549930=['20HJmQrL','Run\x20Scripts','Run\x20any\x20package.json\x20script','has','push','SQL\x20Queries','wildcardDef','API','<script>','read','Self\x20Update','command','33364hwlEpi','App\x20Management','isSingleCommand','get','Schema','Dataset\x20&\x20Operations','Authentication','create','show','values','Menu','6570nKbaQZ','Skills','Configuration','Database\x20Connections','\x20\x20[write]','logout','Project','skill','set','description','run','276352CAKfOU','length','risk','defaultCommand','commands','6736206fKHNsN','Platform\x20Issue','1740210WceRyC','preview','Diagnostics','7KQddXZ','200FuNepx','from','27143040HtNKgm','service','1564215qTwcdV'];a110_0x5e95=function(){return _0x549930;};return a110_0x5e95();}function registerDefinitions(_0x39fe1e){const _0x1fce69=a110_0x1ddc;for(const _0x4e79b0 of _0x39fe1e){definitions['set'](_0x4e79b0['service']+':'+_0x4e79b0[_0x1fce69(0x205)],_0x4e79b0);let _0x30ba65=serviceGroups[_0x1fce69(0x209)](_0x4e79b0['service']);!_0x30ba65&&(_0x30ba65=[],serviceGroups['set'](_0x4e79b0[_0x1fce69(0x1f8)],_0x30ba65)),_0x30ba65[_0x1fce69(0x1fe)](_0x4e79b0);}}function registerDeclarativeService(_0x3a2af8,_0x1f9c87,_0x1f6cbe){const _0x56d231=a110_0x1ddc;registerDefinitions(_0x1f9c87);_0x1f6cbe?.['wildcardDef']&&registerDefinitions([_0x1f6cbe[_0x56d231(0x200)]]);const _0x736aba=_0xd4192e=>_0xd4192e===_0x56d231(0x203)?'':_0xd4192e==='write'?_0x56d231(0x215):'\x20\x20[high-risk-write]',_0x30d440={'service':_0x1f9c87[0x0]['service'],'label':_0x3a2af8,'commands':_0x1f9c87['map'](_0x5c1052=>({'command':_0x5c1052[_0x56d231(0x205)],'description':_0x5c1052[_0x56d231(0x21a)],'tag':_0x736aba(_0x5c1052[_0x56d231(0x21e)])})),'declarative':!![],'defaultCommand':_0x1f6cbe?.[_0x56d231(0x21f)]??(_0x1f6cbe?.[_0x56d231(0x208)]?_0x1f9c87[0x0][_0x56d231(0x205)]:undefined),'wildcardDef':_0x1f6cbe?.['wildcardDef'],'isSingleCommand':_0x1f6cbe?.[_0x56d231(0x208)]};serviceRegistry[_0x56d231(0x1fe)](_0x30d440),serviceByName[_0x56d231(0x219)](_0x30d440[_0x56d231(0x1f8)],_0x30d440);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a110_0x32148e(0x21b),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x32148e(0x217),projectDefinitions),registerDeclarativeService(a110_0x32148e(0x207),appDefinitions),registerDeclarativeService(a110_0x32148e(0x1fb),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x32148e(0x21d)]-0x1];last[a110_0x32148e(0x220)]=[{'command':a110_0x32148e(0x202),'description':a110_0x32148e(0x1fc),'tag':''}];}registerDeclarativeService(a110_0x32148e(0x20c),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a110_0x32148e(0x204),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x32148e(0x1f3),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x32148e(0x20a),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x32148e(0x213),configDefinitions),registerDeclarativeService(a110_0x32148e(0x1f0),issueDefinitions),registerDeclarativeService(a110_0x32148e(0x201),apiDefinitions),registerDeclarativeService(a110_0x32148e(0x210),menuDefinitions),registerDeclarativeService(a110_0x32148e(0x214),dbDefinitions),registerDeclarativeService(a110_0x32148e(0x20b),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a110_0x32148e(0x1ff),sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a110_0x32148e(0x212),skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a110_0x32148e(0x20e)});export const deprecatedAliases={'create':{'service':'project','command':a110_0x32148e(0x20d)},'start':{'service':a110_0x32148e(0x21b),'command':'start'},'build':{'service':a110_0x32148e(0x21b),'command':'build'},'preview':{'service':a110_0x32148e(0x21b),'command':a110_0x32148e(0x1f2)},'logout':{'service':'auth','command':a110_0x32148e(0x216)},'skills':{'service':a110_0x32148e(0x218),'command':'install'}};export const deprecatedSubcommands={'bff':{'new':a110_0x32148e(0x20d)},'sql':{'new':a110_0x32148e(0x20d)}};export function resolveDeprecatedSubcommand(_0x5be758,_0x59a6a8){return deprecatedSubcommands[_0x5be758]?.[_0x59a6a8];}export function findDefinition(_0x52ff78,_0x24b921){const _0x360687=a110_0x32148e;return definitions[_0x360687(0x209)](_0x52ff78+':'+_0x24b921);}export function isKnownService(_0xa3ede3){const _0xd35376=a110_0x32148e;return serviceByName[_0xd35376(0x1fd)](_0xa3ede3);}export function isDeclarativeService(_0x804b64){const _0x2a160a=a110_0x32148e;return serviceGroups[_0x2a160a(0x1fd)](_0x804b64)||serviceByName['get'](_0x804b64)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x115185){const _0x5b6ade=a110_0x32148e;return serviceByName[_0x5b6ade(0x209)](_0x115185);}export function getLegacyHandler(_0x3ccb60,_0x2ec754){return undefined;}export function getAllDefinitions(){const _0x2d724a=a110_0x32148e;return Array[_0x2d724a(0x1f6)](definitions[_0x2d724a(0x20f)]());}
@@ -1 +1 @@
1
- const a111_0x4dc493=a111_0x5c13;(function(_0x4bfa6b,_0xab2dd5){const _0xb76756=a111_0x5c13,_0x164a74=_0x4bfa6b();while(!![]){try{const _0x8f1540=-parseInt(_0xb76756(0x209))/0x1*(-parseInt(_0xb76756(0x227))/0x2)+-parseInt(_0xb76756(0x1fb))/0x3+-parseInt(_0xb76756(0x21c))/0x4*(-parseInt(_0xb76756(0x204))/0x5)+-parseInt(_0xb76756(0x222))/0x6*(parseInt(_0xb76756(0x1fd))/0x7)+parseInt(_0xb76756(0x220))/0x8*(-parseInt(_0xb76756(0x1ec))/0x9)+-parseInt(_0xb76756(0x210))/0xa+parseInt(_0xb76756(0x20b))/0xb;if(_0x8f1540===_0xab2dd5)break;else _0x164a74['push'](_0x164a74['shift']());}catch(_0x3b9212){_0x164a74['push'](_0x164a74['shift']());}}}(a111_0x5a54,0x5a6ce));function a111_0x5c13(_0x377e5b,_0x3eadc7){_0x377e5b=_0x377e5b-0x1e6;const _0x5a546b=a111_0x5a54();let _0x5c13a6=_0x5a546b[_0x377e5b];return _0x5c13a6;}import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x4dc493(0x208),a111_0x4dc493(0x1e6)]);function readPackageScripts(_0x31f792){const _0x13831b=a111_0x4dc493,_0x31ee62=resolve(_0x31f792,_0x13831b(0x202));if(!existsSync(_0x31ee62))return null;try{const _0xa38e80=JSON[_0x13831b(0x20e)](readFileSync(_0x31ee62,_0x13831b(0x200)));return _0xa38e80[_0x13831b(0x207)]??{};}catch{return null;}}function detectPackageManager(_0x478948){const _0x4f1fe3=a111_0x4dc493;if(existsSync(resolve(_0x478948,'bun.lockb'))||existsSync(resolve(_0x478948,_0x4f1fe3(0x215))))return'bun';if(existsSync(resolve(_0x478948,_0x4f1fe3(0x1e7))))return _0x4f1fe3(0x221);if(existsSync(resolve(_0x478948,_0x4f1fe3(0x20a))))return _0x4f1fe3(0x1f5);return _0x4f1fe3(0x225);}async function versionCheck(_0x4faa9d){const _0x48d4aa=a111_0x4dc493,_0x152476=await checkCliVersion();(_0x152476[_0x48d4aa(0x1fe)]||_0x152476[_0x48d4aa(0x1f3)])&&(printCliUpgradeWarning(_0x152476),assertCliVersionSupported(_0x152476));const _0x345146=await checkSdkVersion(_0x4faa9d);if(_0x345146['needsUpgrade'])printSdkUpgradeWarning(_0x345146);}function spawnScript(_0x24ab1f,_0x46b871,_0x1c0bc5,_0x5a2ecc){return new Promise((_0x11e754,_0x30a434)=>{const _0x57d74a=a111_0x5c13,_0xac9b6=['run',_0x46b871,..._0x1c0bc5],_0x3d85db=spawn(_0x24ab1f,_0xac9b6,{'cwd':_0x5a2ecc,'stdio':_0x57d74a(0x228),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5a2ecc,_0x57d74a(0x20f),_0x57d74a(0x1ee))+delimiter+process.env.PATH}});_0x3d85db['on']('close',_0x2fb50d=>{const _0x4bd0fc=_0x57d74a;if(_0x2fb50d===0x0||_0x2fb50d===null)_0x11e754();else _0x30a434(new Error(_0x24ab1f+_0x4bd0fc(0x21a)+_0x46b871+'\x20exited\x20with\x20code\x20'+_0x2fb50d));}),_0x3d85db['on'](_0x57d74a(0x1fc),_0x30a434);});}function spawnViteBuildWatch(_0x580cac){return new Promise((_0x595acd,_0x7039ef)=>{const _0x5e7988=a111_0x5c13,_0x27ce02=spawn(_0x5e7988(0x206),[_0x5e7988(0x213),_0x5e7988(0x229)],{'cwd':_0x580cac,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x580cac,_0x5e7988(0x20f),_0x5e7988(0x1ee))+delimiter+process.env.PATH}});_0x27ce02['on'](_0x5e7988(0x1ea),_0x265b7a=>{const _0x2cc45a=_0x5e7988;if(_0x265b7a===0x0||_0x265b7a===null)_0x595acd();else _0x7039ef(new Error(_0x2cc45a(0x1f0)+_0x265b7a));}),_0x27ce02['on'](_0x5e7988(0x1fc),_0x7039ef);});}function spawnVitePreview(_0x184e5e){return new Promise((_0x44abc7,_0x4ad127)=>{const _0x2adf95=a111_0x5c13,_0x447bdc=spawn(_0x2adf95(0x206),[_0x2adf95(0x1f7)],{'cwd':_0x184e5e,'stdio':_0x2adf95(0x228),'shell':!![],'env':{...process.env,'PATH':''+join(_0x184e5e,_0x2adf95(0x20f),_0x2adf95(0x1ee))+delimiter+process.env.PATH}});_0x447bdc['on'](_0x2adf95(0x1ea),_0x372caa=>{const _0x41649e=_0x2adf95;if(_0x372caa===0x0||_0x372caa===null)_0x44abc7();else _0x4ad127(new Error(_0x41649e(0x218)+_0x372caa));}),_0x447bdc['on'](_0x2adf95(0x1fc),_0x4ad127);});}const runFlags=[{'name':'watch','type':'boolean','description':a111_0x4dc493(0x22a),'default':![]}];export const runDefinition={'service':a111_0x4dc493(0x219),'command':a111_0x4dc493(0x219),'description':'Run\x20a\x20package.json\x20script','risk':a111_0x4dc493(0x1f2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a111_0x4dc493(0x1f1),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x7318d6=a111_0x4dc493,_0x529d9f=readPackageScripts(process[_0x7318d6(0x20c)]()),_0x1c4880=[];if(_0x529d9f&&Object[_0x7318d6(0x1eb)](_0x529d9f)[_0x7318d6(0x21b)]>0x0){const _0x47200a=Object[_0x7318d6(0x1eb)](_0x529d9f),_0x576969=Math[_0x7318d6(0x214)](..._0x47200a[_0x7318d6(0x1f6)](_0x88c699=>_0x88c699['length']));_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x205));for(const [_0x8cc0ae,_0x3da411]of Object[_0x7318d6(0x1f9)](_0x529d9f)){_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x201)+CLI_BIN_NAME+_0x7318d6(0x21a)+_0x8cc0ae['padEnd'](_0x576969+0x2)+'#\x20'+_0x3da411);}}else _0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x21f)),_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x201)+CLI_BIN_NAME+'\x20run\x20start'),_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x201)+CLI_BIN_NAME+_0x7318d6(0x224)),_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x201)+CLI_BIN_NAME+'\x20run\x20preview'),_0x1c4880[_0x7318d6(0x1ed)](_0x7318d6(0x201)+CLI_BIN_NAME+_0x7318d6(0x203));return _0x1c4880[_0x7318d6(0x217)]('\x0a');},async 'execute'(_0x5d4a3d){const _0x599618=a111_0x4dc493,_0x58a860=process[_0x599618(0x20c)](),_0x382dbd=_0x5d4a3d[_0x599618(0x20d)][0x0],_0x3ed6c8=_0x5d4a3d['args'][_0x599618(0x21d)](0x1),_0x39e673=readPackageScripts(_0x58a860);if(!_0x39e673)throw CliErrors[_0x599618(0x1f4)](_0x599618(0x1ef));if(!_0x382dbd){const _0x18dea8=Object[_0x599618(0x1eb)](_0x39e673);if(_0x18dea8[_0x599618(0x21b)]===0x0)console[_0x599618(0x1e9)](_0x599618(0x1ff));else{console[_0x599618(0x1e9)](_0x599618(0x216));const _0xfc7316=Math[_0x599618(0x214)](..._0x18dea8[_0x599618(0x1f6)](_0x4fe308=>_0x4fe308['length']));for(const [_0x595e24,_0x29b695]of Object[_0x599618(0x1f9)](_0x39e673)){console[_0x599618(0x1e9)]('\x20\x20\x20\x20'+_0x595e24[_0x599618(0x226)](_0xfc7316+0x2)+_0x29b695);}console[_0x599618(0x1e9)](_0x599618(0x211)+CLI_BIN_NAME+_0x599618(0x212));}return{'ok':!![]};}if(!_0x39e673[_0x382dbd])throw CliErrors[_0x599618(0x1f4)](_0x599618(0x1fa)+_0x382dbd+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object[_0x599618(0x1eb)](_0x39e673)[_0x599618(0x217)](',\x20')||_0x599618(0x21e)));const _0x2cd092=detectPackageManager(_0x58a860);VERSION_CHECK_SCRIPTS[_0x599618(0x1e8)](_0x382dbd)&&await versionCheck(_0x58a860);if(_0x382dbd===_0x599618(0x1f7)&&_0x5d4a3d[_0x599618(0x1f8)](_0x599618(0x223)))return await Promise['all']([spawnViteBuildWatch(_0x58a860),spawnVitePreview(_0x58a860)]),{'ok':!![]};return await spawnScript(_0x2cd092,_0x382dbd,_0x3ed6c8,_0x58a860),{'ok':!![]};}};function a111_0x5a54(){const _0x1ef1fb=['\x0a\x20\x20Usage:\x20','\x20run\x20<script>\x0a','build','max','bun.lock','\x0a\x20\x20Available\x20scripts:\x0a','join','vite\x20preview\x20exited\x20with\x20code\x20','run','\x20run\x20','length','4LXuKQy','slice','(none)','\x20\x20EXAMPLES','1321624njDTbU','pnpm','6gidcGW','watch','\x20run\x20build','npm','padEnd','2JxnGKM','inherit','--watch','Enable\x20watch\x20mode\x20for\x20preview','dev','pnpm-lock.yaml','has','log','close','keys','18cKuwXl','push','.bin','No\x20package.json\x20found\x20in\x20current\x20directory.','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','Script\x20name\x20defined\x20in\x20package.json','read','belowMinimum','validation','yarn','map','preview','bool','entries','Script\x20\x22','1183509mtTDMx','error','1797866XFDUjD','needsUpgrade','No\x20scripts\x20defined\x20in\x20package.json.','utf-8','\x20\x20\x20\x20','package.json','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','698485RsOCUA','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','vite','scripts','start','346789vFwcIQ','yarn.lock','13276263oarqoA','cwd','args','parse','node_modules','3412900nnTCLI'];a111_0x5a54=function(){return _0x1ef1fb;};return a111_0x5a54();}
1
+ const a111_0x429a70=a111_0x53a7;(function(_0x52af27,_0x14bea7){const _0x41c3cb=a111_0x53a7,_0x175a6c=_0x52af27();while(!![]){try{const _0x19d92a=parseInt(_0x41c3cb(0xd7))/0x1*(parseInt(_0x41c3cb(0x107))/0x2)+parseInt(_0x41c3cb(0xf6))/0x3*(-parseInt(_0x41c3cb(0xf1))/0x4)+-parseInt(_0x41c3cb(0xfa))/0x5*(-parseInt(_0x41c3cb(0xeb))/0x6)+parseInt(_0x41c3cb(0x110))/0x7*(-parseInt(_0x41c3cb(0x109))/0x8)+parseInt(_0x41c3cb(0xf5))/0x9*(parseInt(_0x41c3cb(0x10f))/0xa)+-parseInt(_0x41c3cb(0x101))/0xb*(parseInt(_0x41c3cb(0xf3))/0xc)+-parseInt(_0x41c3cb(0x10c))/0xd*(parseInt(_0x41c3cb(0xee))/0xe);if(_0x19d92a===_0x14bea7)break;else _0x175a6c['push'](_0x175a6c['shift']());}catch(_0x214e19){_0x175a6c['push'](_0x175a6c['shift']());}}}(a111_0x321b,0xb5328));import{readFileSync,existsSync}from'node:fs';function a111_0x53a7(_0x39dcd5,_0x4fc6a0){_0x39dcd5=_0x39dcd5-0xd7;const _0x321bef=a111_0x321b();let _0x53a752=_0x321bef[_0x39dcd5];return _0x53a752;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x429a70(0x108),'dev']);function readPackageScripts(_0x63fe9e){const _0x28f9ce=a111_0x429a70,_0x2b5d87=resolve(_0x63fe9e,_0x28f9ce(0x11d));if(!existsSync(_0x2b5d87))return null;try{const _0x16467e=JSON[_0x28f9ce(0xe3)](readFileSync(_0x2b5d87,_0x28f9ce(0xef)));return _0x16467e[_0x28f9ce(0xe2)]??{};}catch{return null;}}function detectPackageManager(_0x2f762c){const _0x354d82=a111_0x429a70;if(existsSync(resolve(_0x2f762c,_0x354d82(0xdf)))||existsSync(resolve(_0x2f762c,_0x354d82(0xfc))))return _0x354d82(0x113);if(existsSync(resolve(_0x2f762c,_0x354d82(0xe5))))return _0x354d82(0xe9);if(existsSync(resolve(_0x2f762c,'yarn.lock')))return'yarn';return _0x354d82(0x106);}async function versionCheck(_0x38ec9e){const _0x40399d=a111_0x429a70,_0x8cd5e6=await checkCliVersion();(_0x8cd5e6[_0x40399d(0x11e)]||_0x8cd5e6[_0x40399d(0xe4)])&&(printCliUpgradeWarning(_0x8cd5e6),assertCliVersionSupported(_0x8cd5e6));const _0x41e86d=await checkSdkVersion(_0x38ec9e);if(_0x41e86d['needsUpgrade'])printSdkUpgradeWarning(_0x41e86d);}function spawnScript(_0x39ede7,_0x1e78c6,_0x567113,_0x115d5a){return new Promise((_0x5a9a49,_0x537946)=>{const _0x236235=a111_0x53a7,_0x17d529=[_0x236235(0xf8),_0x1e78c6,..._0x567113],_0x479e85=spawn(_0x39ede7,_0x17d529,{'cwd':_0x115d5a,'stdio':_0x236235(0xf2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x115d5a,_0x236235(0x104),'.bin')+delimiter+process.env.PATH}});_0x479e85['on'](_0x236235(0xda),_0x24c014=>{const _0x5aee8c=_0x236235;if(_0x24c014===0x0||_0x24c014===null)_0x5a9a49();else _0x537946(new Error(_0x39ede7+_0x5aee8c(0xf9)+_0x1e78c6+_0x5aee8c(0xed)+_0x24c014));}),_0x479e85['on'](_0x236235(0x118),_0x537946);});}function spawnViteBuildWatch(_0x31064a){return new Promise((_0x4c8d91,_0x5946f6)=>{const _0x3c1de5=a111_0x53a7,_0x2efc45=spawn(_0x3c1de5(0x100),[_0x3c1de5(0x102),_0x3c1de5(0xdc)],{'cwd':_0x31064a,'stdio':_0x3c1de5(0xf2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x31064a,_0x3c1de5(0x104),'.bin')+delimiter+process.env.PATH}});_0x2efc45['on'](_0x3c1de5(0xda),_0x2e71c4=>{if(_0x2e71c4===0x0||_0x2e71c4===null)_0x4c8d91();else _0x5946f6(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x2e71c4));}),_0x2efc45['on']('error',_0x5946f6);});}function spawnVitePreview(_0x5749c1){return new Promise((_0x4aefee,_0x425942)=>{const _0x1c2976=a111_0x53a7,_0x3529d3=spawn(_0x1c2976(0x100),[_0x1c2976(0x115)],{'cwd':_0x5749c1,'stdio':_0x1c2976(0xf2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5749c1,_0x1c2976(0x104),_0x1c2976(0x119))+delimiter+process.env.PATH}});_0x3529d3['on']('close',_0x209125=>{const _0xeb2b48=_0x1c2976;if(_0x209125===0x0||_0x209125===null)_0x4aefee();else _0x425942(new Error(_0xeb2b48(0xe0)+_0x209125));}),_0x3529d3['on'](_0x1c2976(0x118),_0x425942);});}const runFlags=[{'name':a111_0x429a70(0xe7),'type':a111_0x429a70(0xf4),'description':a111_0x429a70(0xe6),'default':![]}];export const runDefinition={'service':'run','command':'run','description':a111_0x429a70(0xfb),'risk':a111_0x429a70(0xe8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x429a70(0xdb),'description':a111_0x429a70(0x10d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4ba591=a111_0x429a70,_0x2b82ec=readPackageScripts(process[_0x4ba591(0x114)]()),_0xe92203=[];if(_0x2b82ec&&Object['keys'](_0x2b82ec)[_0x4ba591(0xea)]>0x0){const _0x5b130d=Object[_0x4ba591(0xf7)](_0x2b82ec),_0x458660=Math[_0x4ba591(0x10b)](..._0x5b130d[_0x4ba591(0x117)](_0x578d38=>_0x578d38[_0x4ba591(0xea)]));_0xe92203['push'](_0x4ba591(0x10e));for(const [_0x1c884e,_0x2758ae]of Object[_0x4ba591(0x116)](_0x2b82ec)){_0xe92203[_0x4ba591(0xe1)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x4ba591(0xf9)+_0x1c884e[_0x4ba591(0x111)](_0x458660+0x2)+'#\x20'+_0x2758ae);}}else _0xe92203['push'](_0x4ba591(0xec)),_0xe92203[_0x4ba591(0xe1)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0xe92203[_0x4ba591(0xe1)](_0x4ba591(0xfe)+CLI_BIN_NAME+_0x4ba591(0x11f)),_0xe92203[_0x4ba591(0xe1)](_0x4ba591(0xfe)+CLI_BIN_NAME+_0x4ba591(0xf0)),_0xe92203['push'](_0x4ba591(0xfe)+CLI_BIN_NAME+_0x4ba591(0x10a));return _0xe92203['join']('\x0a');},async 'execute'(_0x3ea954){const _0x464b67=a111_0x429a70,_0x34bff4=process[_0x464b67(0x114)](),_0xa4b116=_0x3ea954[_0x464b67(0xd8)][0x0],_0x649866=_0x3ea954[_0x464b67(0xd8)][_0x464b67(0x11a)](0x1),_0x53e907=readPackageScripts(_0x34bff4);if(!_0x53e907)throw CliErrors[_0x464b67(0x11b)](_0x464b67(0xde));if(!_0xa4b116){const _0x184f8c=Object[_0x464b67(0xf7)](_0x53e907);if(_0x184f8c[_0x464b67(0xea)]===0x0)console[_0x464b67(0x105)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x464b67(0x105)](_0x464b67(0xfd));const _0x1ff869=Math[_0x464b67(0x10b)](..._0x184f8c[_0x464b67(0x117)](_0x28bf34=>_0x28bf34[_0x464b67(0xea)]));for(const [_0x371fd3,_0x1d4155]of Object[_0x464b67(0x116)](_0x53e907)){console['log'](_0x464b67(0xfe)+_0x371fd3['padEnd'](_0x1ff869+0x2)+_0x1d4155);}console['log'](_0x464b67(0xff)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x53e907[_0xa4b116])throw CliErrors[_0x464b67(0x11b)](_0x464b67(0x112)+_0xa4b116+'\x22\x20not\x20found\x20in\x20package.json.',_0x464b67(0x11c)+(Object[_0x464b67(0xf7)](_0x53e907)[_0x464b67(0xd9)](',\x20')||_0x464b67(0xdd)));const _0x529654=detectPackageManager(_0x34bff4);VERSION_CHECK_SCRIPTS['has'](_0xa4b116)&&await versionCheck(_0x34bff4);if(_0xa4b116==='preview'&&_0x3ea954[_0x464b67(0x103)](_0x464b67(0xe7)))return await Promise['all']([spawnViteBuildWatch(_0x34bff4),spawnVitePreview(_0x34bff4)]),{'ok':!![]};return await spawnScript(_0x529654,_0xa4b116,_0x649866,_0x34bff4),{'ok':!![]};}};function a111_0x321b(){const _0x4d4b6a=['args','join','close','script','--watch','(none)','No\x20package.json\x20found\x20in\x20current\x20directory.','bun.lockb','vite\x20preview\x20exited\x20with\x20code\x20','push','scripts','parse','belowMinimum','pnpm-lock.yaml','Enable\x20watch\x20mode\x20for\x20preview','watch','read','pnpm','length','1038684FqMASK','\x20\x20EXAMPLES','\x20exited\x20with\x20code\x20','1431850qKsBik','utf-8','\x20run\x20preview','2150812zdVdzG','inherit','576PyDfOW','boolean','252foBnqY','3jPwVkI','keys','run','\x20run\x20','15MBgnRM','Run\x20a\x20package.json\x20script','bun.lock','\x0a\x20\x20Available\x20scripts:\x0a','\x20\x20\x20\x20','\x0a\x20\x20Usage:\x20','vite','44715ElxnZY','build','bool','node_modules','log','npm','1122536SUzqEH','start','456TdWXmf','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','max','78ICOoTx','Script\x20name\x20defined\x20in\x20package.json','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','215770TUydrw','19327UgRooP','padEnd','Script\x20\x22','bun','cwd','preview','entries','map','error','.bin','slice','validation','Available:\x20','package.json','needsUpgrade','\x20run\x20build','2VQNlEW'];a111_0x321b=function(){return _0x4d4b6a;};return a111_0x321b();}
@@ -1 +1 @@
1
- function a112_0x407e(_0xe35f4d,_0x5aa503){_0xe35f4d=_0xe35f4d-0x95;const _0x4a6b22=a112_0x4a6b();let _0x407e5d=_0x4a6b22[_0xe35f4d];return _0x407e5d;}const a112_0x1868ad=a112_0x407e;function a112_0x4a6b(){const _0x5f5636=['558pebZds','schema','102012GkIser','2704qXyBce','4596QztqMa','144830MKwqDD','77ApmQVn','Export\x20machine-readable\x20command\x20schema\x20(JSON)','3742587zXvKiL','json','30254ZnGErn','2223XcJxLc','55fjziVn','2978102xZURgu','35240yiaZKa','1zdgmQO'];a112_0x4a6b=function(){return _0x5f5636;};return a112_0x4a6b();}(function(_0x19cfa7,_0x4fb420){const _0x1531ab=a112_0x407e,_0x4444c6=_0x19cfa7();while(!![]){try{const _0x587ca0=-parseInt(_0x1531ab(0x9d))/0x1*(-parseInt(_0x1531ab(0x9b))/0x2)+-parseInt(_0x1531ab(0x9e))/0x3*(-parseInt(_0x1531ab(0x9c))/0x4)+parseInt(_0x1531ab(0x9a))/0x5*(-parseInt(_0x1531ab(0xa0))/0x6)+-parseInt(_0x1531ab(0x98))/0x7*(parseInt(_0x1531ab(0xa1))/0x8)+-parseInt(_0x1531ab(0x96))/0x9+parseInt(_0x1531ab(0xa3))/0xa*(-parseInt(_0x1531ab(0xa4))/0xb)+parseInt(_0x1531ab(0xa2))/0xc*(-parseInt(_0x1531ab(0x99))/0xd);if(_0x587ca0===_0x4fb420)break;else _0x4444c6['push'](_0x4444c6['shift']());}catch(_0x46707b){_0x4444c6['push'](_0x4444c6['shift']());}}}(a112_0x4a6b,0xdb070));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x368c74){const _0x54acca=await buildSchemaPayload();return{'ok':!![],'data':_0x54acca};}export const schemaDefinition={'service':a112_0x1868ad(0x9f),'command':'export','description':a112_0x1868ad(0x95),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x1868ad(0x97),'flags':[],'execute':execute};
1
+ const a112_0x1d023a=a112_0x5bb7;(function(_0x4aa2be,_0xc45430){const _0x568245=a112_0x5bb7,_0x56c60e=_0x4aa2be();while(!![]){try{const _0x3080da=parseInt(_0x568245(0x164))/0x1+parseInt(_0x568245(0x15d))/0x2*(-parseInt(_0x568245(0x159))/0x3)+-parseInt(_0x568245(0x15f))/0x4*(parseInt(_0x568245(0x162))/0x5)+-parseInt(_0x568245(0x15a))/0x6+-parseInt(_0x568245(0x161))/0x7+-parseInt(_0x568245(0x158))/0x8*(-parseInt(_0x568245(0x15e))/0x9)+parseInt(_0x568245(0x165))/0xa;if(_0x3080da===_0xc45430)break;else _0x56c60e['push'](_0x56c60e['shift']());}catch(_0x48ab0a){_0x56c60e['push'](_0x56c60e['shift']());}}}(a112_0x5712,0x2fb63));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x204cdf){const _0x273d16=await buildSchemaPayload();return{'ok':!![],'data':_0x273d16};}function a112_0x5bb7(_0x56d822,_0x244183){_0x56d822=_0x56d822-0x158;const _0x571278=a112_0x5712();let _0x5bb72e=_0x571278[_0x56d822];return _0x5bb72e;}export const schemaDefinition={'service':a112_0x1d023a(0x15c),'command':a112_0x1d023a(0x160),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a112_0x1d023a(0x15b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x1d023a(0x163),'flags':[],'execute':execute};function a112_0x5712(){const _0x19d66e=['534pSbKIC','1938264EvibeK','read','schema','4282XyJXie','102807lxAKyP','1514316gbiezb','export','2510326MWtqVG','5rcJhGy','json','39036itWAXE','14035390YvlbTQ','136ghBgJU'];a112_0x5712=function(){return _0x19d66e;};return a112_0x5712();}
@@ -1 +1 @@
1
- const a113_0x410be6=a113_0x5c21;(function(_0xeeaa8f,_0x4aac62){const _0x62306a=a113_0x5c21,_0x5464a1=_0xeeaa8f();while(!![]){try{const _0x3f00d2=-parseInt(_0x62306a(0xb1))/0x1*(-parseInt(_0x62306a(0xa5))/0x2)+parseInt(_0x62306a(0xa9))/0x3*(-parseInt(_0x62306a(0xb7))/0x4)+parseInt(_0x62306a(0xa1))/0x5+-parseInt(_0x62306a(0xb3))/0x6+parseInt(_0x62306a(0xa2))/0x7+parseInt(_0x62306a(0xbd))/0x8*(parseInt(_0x62306a(0xa4))/0x9)+-parseInt(_0x62306a(0xa0))/0xa*(parseInt(_0x62306a(0xab))/0xb);if(_0x3f00d2===_0x4aac62)break;else _0x5464a1['push'](_0x5464a1['shift']());}catch(_0x34a85e){_0x5464a1['push'](_0x5464a1['shift']());}}}(a113_0x4a26,0x7fecd));import{CliErrors}from'../../errors.js';function a113_0x4a26(){const _0x565c70=['apiError','skill','7459MJdWkO','nonInteractive','3923868EXpIgO','lovrabet/rabetbase','npx\x20skills\x20add\x20failed:\x20','cwd','4FDpMJH','../../skills/npx-skills-add.js','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','inherit',')...','skipped','8hIpagd','1100FIOfkx','3506605ZpKFuk','2972760rtEetm','Install\x20developer\x20skill\x20package','5389101YGMjCI','28KSfzTG','Installing\x20official\x20skill\x20via\x20npx\x20(','pipe','Check\x20network\x20connectivity\x20and\x20try\x20again.','1825071EwFZGN','log','4290ygpFxT','info','write','skill-install'];a113_0x4a26=function(){return _0x565c70;};return a113_0x4a26();}function a113_0x5c21(_0x47d666,_0x217f9a){_0x47d666=_0x47d666-0xa0;const _0x4a2624=a113_0x4a26();let _0x5c21c0=_0x4a2624[_0x47d666];return _0x5c21c0;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x410be6(0xb0),'command':'install','description':a113_0x410be6(0xa3),'risk':a113_0x410be6(0xad),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2a24ba){const _0x1f136d=a113_0x410be6;logger['setLogPath'](process[_0x1f136d(0xb6)]()),logger[_0x1f136d(0xac)](_0x1f136d(0xae),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x40f9a7}=await import(_0x1f136d(0xb8)),_0x1fd5e3=_0x2a24ba[_0x1f136d(0xb2)]?_0x1f136d(0xa7):_0x1f136d(0xba);console[_0x1f136d(0xaa)](_0x1f136d(0xa6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x1f136d(0xbb));const _0x472607=_0x40f9a7(process[_0x1f136d(0xb6)](),_0x1f136d(0xb4),{'stdio':_0x1fd5e3});if(_0x472607[_0x1f136d(0xbc)])console[_0x1f136d(0xaa)](_0x1f136d(0xb9));else{if(_0x472607['ok'])console['log'](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x1f136d(0xaf)](_0x1f136d(0xb5)+(_0x472607['error']||'unknown'),_0x1f136d(0xa8));}return{'ok':!![]};}}];
1
+ const a113_0x4eb869=a113_0x11be;(function(_0x2e7325,_0x967488){const _0xa2db3c=a113_0x11be,_0x5af71b=_0x2e7325();while(!![]){try{const _0x1b6d16=parseInt(_0xa2db3c(0x153))/0x1+-parseInt(_0xa2db3c(0x151))/0x2+-parseInt(_0xa2db3c(0x142))/0x3*(-parseInt(_0xa2db3c(0x15c))/0x4)+parseInt(_0xa2db3c(0x155))/0x5*(parseInt(_0xa2db3c(0x150))/0x6)+-parseInt(_0xa2db3c(0x154))/0x7*(parseInt(_0xa2db3c(0x159))/0x8)+parseInt(_0xa2db3c(0x158))/0x9*(-parseInt(_0xa2db3c(0x149))/0xa)+parseInt(_0xa2db3c(0x146))/0xb;if(_0x1b6d16===_0x967488)break;else _0x5af71b['push'](_0x5af71b['shift']());}catch(_0x326e01){_0x5af71b['push'](_0x5af71b['shift']());}}}(a113_0x4ddf,0xb1139));function a113_0x4ddf(){const _0x478166=['216miGoiu','282456nhnypN','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','setLogPath','270616AHemAd',')...','info','unknown','skipped','6XGuaAd','lovrabet/rabetbase','Installing\x20official\x20skill\x20via\x20npx\x20(','log','25333264TwXeRb','npx\x20skills\x20add\x20failed:\x20','skill','322700SPyrig','write','../../skills/npx-skills-add.js','Install\x20developer\x20skill\x20package','pipe','nonInteractive','install','138KnRbdi','1616262suCqbz','error','283968ssTzQx','217daOrJG','147855HQmPDw','\x20skill\x20installed','cwd'];a113_0x4ddf=function(){return _0x478166;};return a113_0x4ddf();}import{CliErrors}from'../../errors.js';function a113_0x11be(_0x183321,_0x38a163){_0x183321=_0x183321-0x141;const _0x4ddfbe=a113_0x4ddf();let _0x11bee5=_0x4ddfbe[_0x183321];return _0x11bee5;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x4eb869(0x148),'command':a113_0x4eb869(0x14f),'description':a113_0x4eb869(0x14c),'risk':a113_0x4eb869(0x14a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3489d5){const _0x3a62ed=a113_0x4eb869;logger[_0x3a62ed(0x15b)](process[_0x3a62ed(0x157)]()),logger[_0x3a62ed(0x15e)]('skill-install',_0x3a62ed(0x15a));const {runNpxSkillsAddGlobal:_0x47607d}=await import(_0x3a62ed(0x14b)),_0x277824=_0x3489d5[_0x3a62ed(0x14e)]?_0x3a62ed(0x14d):'inherit';console[_0x3a62ed(0x145)](_0x3a62ed(0x144)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x3a62ed(0x15d));const _0x2f99e8=_0x47607d(process[_0x3a62ed(0x157)](),_0x3a62ed(0x143),{'stdio':_0x277824});if(_0x2f99e8[_0x3a62ed(0x141)])console['log']('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x2f99e8['ok'])console['log'](CLI_BIN_NAME+_0x3a62ed(0x156));else throw CliErrors['apiError'](_0x3a62ed(0x147)+(_0x2f99e8[_0x3a62ed(0x152)]||_0x3a62ed(0x15f)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a114_0x554c72=a114_0xeeca;(function(_0x49a2e4,_0x156cd5){const _0x2294bb=a114_0xeeca,_0x4a4cbc=_0x49a2e4();while(!![]){try{const _0x36bbe6=parseInt(_0x2294bb(0x102))/0x1*(parseInt(_0x2294bb(0xdf))/0x2)+-parseInt(_0x2294bb(0xe4))/0x3+-parseInt(_0x2294bb(0xe7))/0x4+-parseInt(_0x2294bb(0xe1))/0x5+-parseInt(_0x2294bb(0x10b))/0x6+parseInt(_0x2294bb(0xfb))/0x7*(-parseInt(_0x2294bb(0xf7))/0x8)+-parseInt(_0x2294bb(0xf8))/0x9*(-parseInt(_0x2294bb(0xe8))/0xa);if(_0x36bbe6===_0x156cd5)break;else _0x4a4cbc['push'](_0x4a4cbc['shift']());}catch(_0x5c5da4){_0x4a4cbc['push'](_0x4a4cbc['shift']());}}}(a114_0x22f1,0x791e7));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a114_0xeeca(_0x13a3aa,_0x33f2d1){_0x13a3aa=_0x13a3aa-0xdd;const _0x22f108=a114_0x22f1();let _0xeecaff=_0x22f108[_0x13a3aa];return _0xeecaff;}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';function a114_0x22f1(){const _0x2ac528=['请选择本地\x20SQL\x20模式:','1888sseLCK','4273119IQtUUX','SELECT\x201\x20AS\x20id;','catch','21343ZZwJAK','create','nonInteractive','stringify','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','number','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','1AuLizJ','sqlCode','请选择目标数据库:','dbId\x20不能为空','dbId\x20必须为正整数','/smartapi/custom/saveUserCustomSql','toISOString','sqls','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','1922658AtaDss','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','trim','utf8','sqlRootDir','db-id','Created\x20SQL\x20query\x20','lockFilePath','length','\x20\x20SELECT\x201\x20AS\x20id','sql','validation','Target\x20database\x20ID','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','high-risk-write','flagMissing','mybatisXml','join','isFinite','297878RxNLtq','mode','24985rTGknN','sqlRoot','✎\x20手动输入\x20dbId','1751163ojrYrm','str','dbName','1592264XvwdZR','50RrZPqg','普通\x20SQL(sql)','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Invalid\x20database\x20selection\x20payload:\x20','POST','appCode','name','SQL\x20名称不能为空','__manual__','请输入目标数据库\x20dbId:','isInteger','<server-generated-sqlCode>','dbId','lastSync'];a114_0x22f1=function(){return _0x2ac528;};return a114_0x22f1();}import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x5d5f2d){const _0x45e0af=a114_0xeeca;if(_0x5d5f2d===_0x45e0af(0x11b))return[_0x45e0af(0x101),_0x45e0af(0x114),'</select>',''][_0x45e0af(0xdd)]('\x0a');return[_0x45e0af(0xf9),''][_0x45e0af(0xdd)]('\x0a');}export const sqlCreate={'service':a114_0x554c72(0x115),'command':a114_0x554c72(0xfc),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a114_0x554c72(0x119),'flags':[{'name':'name','type':'string','description':'SQL\x20query\x20display\x20name'},{'name':a114_0x554c72(0x110),'type':a114_0x554c72(0x100),'description':a114_0x554c72(0x117)},{'name':a114_0x554c72(0xe0),'type':'string','enum':[a114_0x554c72(0x115),a114_0x554c72(0x11b)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x42c882){const _0x52ef24=a114_0x554c72;if(!_0x42c882[_0x52ef24(0xfd)])return;if(!_0x42c882['str'](_0x52ef24(0xee))['trim']())throw CliErrors[_0x52ef24(0x11a)](_0x52ef24(0xee),_0x52ef24(0x10c));const _0x263e2e=resolveProvidedDbId(_0x42c882);if(typeof _0x263e2e!==_0x52ef24(0x100)||!Number[_0x52ef24(0xde)](_0x263e2e)||_0x263e2e<=0x0)throw CliErrors[_0x52ef24(0x11a)](_0x52ef24(0x110),_0x52ef24(0x10a));if(!_0x42c882['str'](_0x52ef24(0xe0))[_0x52ef24(0x10d)]())throw CliErrors[_0x52ef24(0x11a)](_0x52ef24(0xe0),_0x52ef24(0x118));},async 'dryRun'(_0x263b54){const _0x476e98=a114_0x554c72,_0x50c52b=loadSqlProjectConfig(_0x263b54[_0x476e98(0xed)]),{sqlName:_0x14e3c0,dbId:_0x28bab6,dbName:_0xdf7e00,mode:_0xa9e75b}=await resolveSqlNewInputs(_0x263b54),_0x2cc581=buildSqlRelativePath(_0x476e98(0xf3),_0x14e3c0,_0xdf7e00,_0xa9e75b,_0x28bab6),_0x202f60=_0x50c52b[_0x476e98(0x10f)]+'/'+_0x2cc581;return{'method':_0x476e98(0xec),'url':_0x476e98(0x107),'body':{'appCode':_0x263b54['appCode'],'sqlName':_0x14e3c0,'dbId':_0x28bab6,'mode':_0xa9e75b,'localPath':_0x202f60},'description':_0x476e98(0xff)+_0x50c52b[_0x476e98(0x10f)]};},async 'execute'(_0x562c8a){const _0x3fd92c=a114_0x554c72,_0x85b113=loadSqlProjectConfig(_0x562c8a[_0x3fd92c(0xed)]),{sqlName:_0x3864eb,dbId:_0x189232,dbName:_0xf7bd7d,mode:_0x2b4cd9}=await resolveSqlNewInputs(_0x562c8a),_0x251d7e=generateSqlTemplate(_0x2b4cd9),_0x14f107=await createSqlQuery({'appCode':_0x562c8a['appCode'],'sqlName':_0x3864eb,'dbId':_0x189232,'sqlContent':_0x251d7e}),_0x1192f8=ensureRemoteSqlContent(_0x14f107),_0x2b9036=_0xf7bd7d||await getDbName(_0x562c8a[_0x3fd92c(0xed)],_0x189232)[_0x3fd92c(0xfa)](()=>undefined),_0x341db3=buildSqlRelativePath(_0x14f107[_0x3fd92c(0x103)],_0x14f107['sqlName'],_0x2b9036,_0x2b4cd9,_0x189232),_0x2f5733=_0x85b113[_0x3fd92c(0x10f)]+'/'+_0x341db3,_0x2d2dec=buildLocalSqlFileContent({'sqlCode':_0x14f107[_0x3fd92c(0x103)],'sqlName':_0x14f107['sqlName'],'dbId':_0x14f107[_0x3fd92c(0xf4)]},_0x1192f8,{'dbName':_0x2b9036,'mode':_0x2b4cd9,'syncedAt':new Date()[_0x3fd92c(0x108)](),'description':_0x14f107['description']});if(await fileExists(_0x2f5733))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x2f5733);await ensureParentDirectory(_0x2f5733),await writeFile(_0x2f5733,_0x2d2dec,_0x3fd92c(0x10e));const _0x272a31=await readSqlLockFile(_0x85b113[_0x3fd92c(0x112)]),{lockData:_0x207ca5,appLock:_0x19f849}=ensureSqlLockScope(_0x272a31??createEmptySqlLock(),_0x85b113[_0x3fd92c(0xed)],_0x85b113[_0x3fd92c(0xe2)],'new');return _0x19f849[_0x3fd92c(0x109)][_0x14f107[_0x3fd92c(0x103)]]={...buildSqlLockEntry(_0x14f107,_0x1192f8,computeSqlContentHash(_0x2d2dec),{'dbName':_0x2b9036}),'path':_0x341db3,'mode':_0x2b4cd9},_0x19f849[_0x3fd92c(0xf5)]=new Date()[_0x3fd92c(0x108)](),await writeSqlLockFile(_0x85b113[_0x3fd92c(0x112)],_0x207ca5),{'ok':!![],'data':{'id':_0x14f107['id'],'sqlCode':_0x14f107[_0x3fd92c(0x103)],'sqlName':_0x14f107['sqlName'],'dbId':_0x14f107[_0x3fd92c(0xf4)],'path':_0x2f5733,'mode':_0x2b4cd9},'message':_0x3fd92c(0x111)+_0x14f107['sqlCode']};}};async function resolveSqlNewInputs(_0x263ebc){const _0x5586fb=await resolveSqlNameInput(_0x263ebc),{dbId:_0x400245,dbName:_0x526fec}=await resolveDbSelection(_0x263ebc),_0x4c9be0=await resolveSqlModeInput(_0x263ebc);return{'sqlName':_0x5586fb,'dbId':_0x400245,'dbName':_0x526fec,'mode':_0x4c9be0};}async function resolveSqlNameInput(_0x1cbfab){const _0x1ff4b0=a114_0x554c72,_0x1a3f95=_0x1cbfab['str'](_0x1ff4b0(0xee))[_0x1ff4b0(0x10d)]();if(_0x1a3f95)return _0x1a3f95;if(_0x1cbfab['nonInteractive'])throw CliErrors[_0x1ff4b0(0x11a)](_0x1ff4b0(0xee),_0x1ff4b0(0x10c));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x1cbc2e=>_0x1cbc2e[_0x1ff4b0(0x10d)]()?!![]:_0x1ff4b0(0xef)}))['trim']();}async function resolveDbSelection(_0x4e6f09){const _0x265d2e=a114_0x554c72,_0x4aec99=resolveProvidedDbId(_0x4e6f09);if(typeof _0x4aec99===_0x265d2e(0x100)&&Number[_0x265d2e(0xde)](_0x4aec99)&&_0x4aec99>0x0)return{'dbId':_0x4aec99,'dbName':await getDbName(_0x4e6f09['appCode'],_0x4aec99)[_0x265d2e(0xfa)](()=>undefined)};if(_0x4e6f09[_0x265d2e(0xfd)])throw CliErrors[_0x265d2e(0x11a)](_0x265d2e(0x110),_0x265d2e(0x10a));const _0x4dd232=await listDatabases(_0x4e6f09[_0x265d2e(0xed)])[_0x265d2e(0xfa)](()=>[]);if(_0x4dd232[_0x265d2e(0x113)]===0x1)return{'dbId':_0x4dd232[0x0][_0x265d2e(0xf4)],'dbName':_0x4dd232[0x0][_0x265d2e(0xe6)]};if(_0x4dd232[_0x265d2e(0x113)]>0x1){const _0x7ff8ce=await select({'message':_0x265d2e(0x104),'choices':[..._0x4dd232['map'](_0x34e886=>({'name':_0x34e886[_0x265d2e(0xe6)]+'\x20('+_0x34e886[_0x265d2e(0xf4)]+')','value':serializeDbSelection(_0x34e886)})),{'name':_0x265d2e(0xe3),'value':_0x265d2e(0xf0)}]});if(_0x7ff8ce!==_0x265d2e(0xf0))return deserializeDbSelection(_0x7ff8ce);}const _0x25b0ae=await input({'message':_0x265d2e(0xf1),'validate':_0x44c14d=>{const _0x246dc0=_0x265d2e,_0x57568e=_0x44c14d[_0x246dc0(0x10d)]();if(!_0x57568e)return _0x246dc0(0x105);const _0x28c55a=Number(_0x57568e);if(!Number[_0x246dc0(0xf2)](_0x28c55a)||_0x28c55a<=0x0)return _0x246dc0(0x106);return!![];}});return{'dbId':Number(_0x25b0ae[_0x265d2e(0x10d)]())};}async function resolveSqlModeInput(_0x3dfd35){const _0x338d47=a114_0x554c72,_0x354bad=_0x3dfd35[_0x338d47(0xe5)](_0x338d47(0xe0))['trim']();if(_0x354bad==='sql'||_0x354bad==='mybatisXml')return _0x354bad;if(_0x3dfd35[_0x338d47(0xfd)])throw CliErrors['flagMissing']('mode',_0x338d47(0x118));return await select({'message':_0x338d47(0xf6),'choices':[{'name':_0x338d47(0xe9),'value':_0x338d47(0x115),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x338d47(0x11b),'description':_0x338d47(0xea)}]});}function serializeDbSelection(_0x2ebae0){const _0x589407=a114_0x554c72;return JSON[_0x589407(0xfe)]({'dbId':_0x2ebae0[_0x589407(0xf4)],'dbName':_0x2ebae0[_0x589407(0xe6)]});}function deserializeDbSelection(_0x31dce8){const _0x5ac37d=a114_0x554c72;try{const _0x345369=JSON['parse'](_0x31dce8);if(typeof _0x345369[_0x5ac37d(0xf4)]==='number'&&Number['isFinite'](_0x345369[_0x5ac37d(0xf4)]))return{'dbId':_0x345369[_0x5ac37d(0xf4)],'dbName':_0x345369['dbName']};}catch{}throw CliErrors[_0x5ac37d(0x116)](_0x5ac37d(0xeb)+_0x31dce8);}function resolveProvidedDbId(_0x27ccdf){const _0x32822e=a114_0x554c72,_0x5bd6ed=_0x27ccdf['flag']('db-id');if(typeof _0x5bd6ed===_0x32822e(0x100)&&Number[_0x32822e(0xde)](_0x5bd6ed))return _0x5bd6ed;return undefined;}
1
+ const a114_0x76b244=a114_0x3ec0;(function(_0x400dec,_0x3fb60b){const _0x5aea13=a114_0x3ec0,_0x4da1a8=_0x400dec();while(!![]){try{const _0x4666af=parseInt(_0x5aea13(0x1fa))/0x1*(-parseInt(_0x5aea13(0x223))/0x2)+parseInt(_0x5aea13(0x235))/0x3*(parseInt(_0x5aea13(0x226))/0x4)+-parseInt(_0x5aea13(0x229))/0x5*(-parseInt(_0x5aea13(0x200))/0x6)+-parseInt(_0x5aea13(0x21a))/0x7+-parseInt(_0x5aea13(0x234))/0x8*(parseInt(_0x5aea13(0x205))/0x9)+-parseInt(_0x5aea13(0x217))/0xa*(-parseInt(_0x5aea13(0x20f))/0xb)+parseInt(_0x5aea13(0x237))/0xc;if(_0x4666af===_0x3fb60b)break;else _0x4da1a8['push'](_0x4da1a8['shift']());}catch(_0x323da7){_0x4da1a8['push'](_0x4da1a8['shift']());}}}(a114_0x4600,0xdec76));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a114_0x4600(){const _0x2637da=['Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Created\x20SQL\x20query\x20','8615700jWIRvO','sql','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','5548137vqRfxm','db-id','Target\x20database\x20ID','nonInteractive','dbId\x20必须为正整数','<server-generated-sqlCode>','number','map','sqlCode','424agMoIA','SELECT\x201\x20AS\x20id;','name','954392QUwslw','string','length','32225SXbXlH','str','SQL\x20名称不能为空','请输入\x20SQL\x20名称:','请输入目标数据库\x20dbId:','sqlName','appCode','POST','✎\x20手动输入\x20dbId','catch','lastSync','32VOehtv','12HrVqeD','普通\x20SQL(sql)','13195344vnfujW','sqlRootDir','dbName','Invalid\x20database\x20selection\x20payload:\x20','isFinite','join','toISOString','4398VfYylb','适合带动态标签的\x20MyBatis\x20XML\x20SQL','lockFilePath','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','validation','flagMissing','426rsEphX','high-risk-write','/smartapi/custom/saveUserCustomSql','SQL\x20query\x20display\x20name','utf8','1655325XNAMnx','dbId','flag','__manual__','sqlRoot','请选择目标数据库:','new','mybatisXml','trim','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','11GZLmsg','</select>','mode','请选择本地\x20SQL\x20模式:','parse','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.'];a114_0x4600=function(){return _0x2637da;};return a114_0x4600();}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';function a114_0x3ec0(_0x2d45c5,_0xf7c1c4){_0x2d45c5=_0x2d45c5-0x1f4;const _0x4600f3=a114_0x4600();let _0x3ec0fa=_0x4600f3[_0x2d45c5];return _0x3ec0fa;}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x165900){const _0x14c033=a114_0x3ec0;if(_0x165900==='mybatisXml')return[_0x14c033(0x1fd),'\x20\x20SELECT\x201\x20AS\x20id',_0x14c033(0x210),''][_0x14c033(0x1f8)]('\x0a');return[_0x14c033(0x224),''][_0x14c033(0x1f8)]('\x0a');}export const sqlCreate={'service':'sql','command':'create','description':a114_0x76b244(0x215),'risk':a114_0x76b244(0x201),'flags':[{'name':'name','type':a114_0x76b244(0x227),'description':a114_0x76b244(0x203)},{'name':a114_0x76b244(0x21b),'type':'number','description':a114_0x76b244(0x21c)},{'name':a114_0x76b244(0x211),'type':a114_0x76b244(0x227),'enum':['sql','mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0xf82bf8){const _0x687de6=a114_0x76b244;if(!_0xf82bf8[_0x687de6(0x21d)])return;if(!_0xf82bf8[_0x687de6(0x22a)]('name')[_0x687de6(0x20d)]())throw CliErrors[_0x687de6(0x1ff)](_0x687de6(0x225),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x3adb0d=resolveProvidedDbId(_0xf82bf8);if(typeof _0x3adb0d!==_0x687de6(0x220)||!Number[_0x687de6(0x1f7)](_0x3adb0d)||_0x3adb0d<=0x0)throw CliErrors['flagMissing'](_0x687de6(0x21b),_0x687de6(0x214));if(!_0xf82bf8[_0x687de6(0x22a)](_0x687de6(0x211))[_0x687de6(0x20d)]())throw CliErrors[_0x687de6(0x1ff)]('mode',_0x687de6(0x219));},async 'dryRun'(_0x2e241f){const _0x29934e=a114_0x76b244,_0x52d6be=loadSqlProjectConfig(_0x2e241f['appCode']),{sqlName:_0x493300,dbId:_0x43edf5,dbName:_0x3f2cc7,mode:_0xfdedb5}=await resolveSqlNewInputs(_0x2e241f),_0x3557fa=buildSqlRelativePath(_0x29934e(0x21f),_0x493300,_0x3f2cc7,_0xfdedb5,_0x43edf5),_0x4e5aae=_0x52d6be[_0x29934e(0x1f4)]+'/'+_0x3557fa;return{'method':_0x29934e(0x230),'url':_0x29934e(0x202),'body':{'appCode':_0x2e241f[_0x29934e(0x22f)],'sqlName':_0x493300,'dbId':_0x43edf5,'mode':_0xfdedb5,'localPath':_0x4e5aae},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x52d6be[_0x29934e(0x1f4)]};},async 'execute'(_0x4c84ba){const _0x573698=a114_0x76b244,_0xc12c88=loadSqlProjectConfig(_0x4c84ba[_0x573698(0x22f)]),{sqlName:_0x223e1c,dbId:_0x362ed5,dbName:_0x5290c5,mode:_0x761484}=await resolveSqlNewInputs(_0x4c84ba),_0x181380=generateSqlTemplate(_0x761484),_0xc693c5=await createSqlQuery({'appCode':_0x4c84ba[_0x573698(0x22f)],'sqlName':_0x223e1c,'dbId':_0x362ed5,'sqlContent':_0x181380}),_0x1183ec=ensureRemoteSqlContent(_0xc693c5),_0x3a6358=_0x5290c5||await getDbName(_0x4c84ba[_0x573698(0x22f)],_0x362ed5)[_0x573698(0x232)](()=>undefined),_0x2a08ea=buildSqlRelativePath(_0xc693c5[_0x573698(0x222)],_0xc693c5[_0x573698(0x22e)],_0x3a6358,_0x761484,_0x362ed5),_0x31dd34=_0xc12c88[_0x573698(0x1f4)]+'/'+_0x2a08ea,_0x485625=buildLocalSqlFileContent({'sqlCode':_0xc693c5['sqlCode'],'sqlName':_0xc693c5['sqlName'],'dbId':_0xc693c5['dbId']},_0x1183ec,{'dbName':_0x3a6358,'mode':_0x761484,'syncedAt':new Date()[_0x573698(0x1f9)](),'description':_0xc693c5['description']});if(await fileExists(_0x31dd34))throw CliErrors[_0x573698(0x1fe)]('File\x20already\x20exists:\x20'+_0x31dd34);await ensureParentDirectory(_0x31dd34),await writeFile(_0x31dd34,_0x485625,_0x573698(0x204));const _0x24f7a6=await readSqlLockFile(_0xc12c88[_0x573698(0x1fc)]),{lockData:_0x589d32,appLock:_0x41f871}=ensureSqlLockScope(_0x24f7a6??createEmptySqlLock(),_0xc12c88[_0x573698(0x22f)],_0xc12c88[_0x573698(0x209)],_0x573698(0x20b));return _0x41f871['sqls'][_0xc693c5[_0x573698(0x222)]]={...buildSqlLockEntry(_0xc693c5,_0x1183ec,computeSqlContentHash(_0x485625),{'dbName':_0x3a6358}),'path':_0x2a08ea,'mode':_0x761484},_0x41f871[_0x573698(0x233)]=new Date()[_0x573698(0x1f9)](),await writeSqlLockFile(_0xc12c88[_0x573698(0x1fc)],_0x589d32),{'ok':!![],'data':{'id':_0xc693c5['id'],'sqlCode':_0xc693c5[_0x573698(0x222)],'sqlName':_0xc693c5['sqlName'],'dbId':_0xc693c5['dbId'],'path':_0x31dd34,'mode':_0x761484},'message':_0x573698(0x216)+_0xc693c5[_0x573698(0x222)]};}};async function resolveSqlNewInputs(_0x4ded8a){const _0x64db4c=await resolveSqlNameInput(_0x4ded8a),{dbId:_0x3b8c04,dbName:_0x21884e}=await resolveDbSelection(_0x4ded8a),_0x24c1ea=await resolveSqlModeInput(_0x4ded8a);return{'sqlName':_0x64db4c,'dbId':_0x3b8c04,'dbName':_0x21884e,'mode':_0x24c1ea};}async function resolveSqlNameInput(_0x3efd05){const _0x20c817=a114_0x76b244,_0x3a239f=_0x3efd05[_0x20c817(0x22a)](_0x20c817(0x225))[_0x20c817(0x20d)]();if(_0x3a239f)return _0x3a239f;if(_0x3efd05[_0x20c817(0x21d)])throw CliErrors['flagMissing'](_0x20c817(0x225),_0x20c817(0x20e));return(await input({'message':_0x20c817(0x22c),'validate':_0x52adbd=>_0x52adbd[_0x20c817(0x20d)]()?!![]:_0x20c817(0x22b)}))[_0x20c817(0x20d)]();}async function resolveDbSelection(_0x15bc6e){const _0x26a667=a114_0x76b244,_0x57c518=resolveProvidedDbId(_0x15bc6e);if(typeof _0x57c518==='number'&&Number[_0x26a667(0x1f7)](_0x57c518)&&_0x57c518>0x0)return{'dbId':_0x57c518,'dbName':await getDbName(_0x15bc6e[_0x26a667(0x22f)],_0x57c518)[_0x26a667(0x232)](()=>undefined)};if(_0x15bc6e[_0x26a667(0x21d)])throw CliErrors['flagMissing'](_0x26a667(0x21b),_0x26a667(0x214));const _0x10ba71=await listDatabases(_0x15bc6e[_0x26a667(0x22f)])[_0x26a667(0x232)](()=>[]);if(_0x10ba71[_0x26a667(0x228)]===0x1)return{'dbId':_0x10ba71[0x0][_0x26a667(0x206)],'dbName':_0x10ba71[0x0][_0x26a667(0x1f5)]};if(_0x10ba71[_0x26a667(0x228)]>0x1){const _0x548ea8=await select({'message':_0x26a667(0x20a),'choices':[..._0x10ba71[_0x26a667(0x221)](_0x324f15=>({'name':_0x324f15[_0x26a667(0x1f5)]+'\x20('+_0x324f15[_0x26a667(0x206)]+')','value':serializeDbSelection(_0x324f15)})),{'name':_0x26a667(0x231),'value':_0x26a667(0x208)}]});if(_0x548ea8!==_0x26a667(0x208))return deserializeDbSelection(_0x548ea8);}const _0x2f4f54=await input({'message':_0x26a667(0x22d),'validate':_0x50d5c0=>{const _0x4a30a1=_0x26a667,_0x330f25=_0x50d5c0[_0x4a30a1(0x20d)]();if(!_0x330f25)return'dbId\x20不能为空';const _0x24a59b=Number(_0x330f25);if(!Number['isInteger'](_0x24a59b)||_0x24a59b<=0x0)return _0x4a30a1(0x21e);return!![];}});return{'dbId':Number(_0x2f4f54[_0x26a667(0x20d)]())};}async function resolveSqlModeInput(_0x5cc81b){const _0x4af03e=a114_0x76b244,_0x592fe=_0x5cc81b['str'](_0x4af03e(0x211))[_0x4af03e(0x20d)]();if(_0x592fe===_0x4af03e(0x218)||_0x592fe===_0x4af03e(0x20c))return _0x592fe;if(_0x5cc81b['nonInteractive'])throw CliErrors[_0x4af03e(0x1ff)](_0x4af03e(0x211),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x4af03e(0x212),'choices':[{'name':_0x4af03e(0x236),'value':_0x4af03e(0x218),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x4af03e(0x20c),'description':_0x4af03e(0x1fb)}]});}function serializeDbSelection(_0x2739b5){const _0x454014=a114_0x76b244;return JSON['stringify']({'dbId':_0x2739b5[_0x454014(0x206)],'dbName':_0x2739b5[_0x454014(0x1f5)]});}function deserializeDbSelection(_0x268792){const _0x494c4a=a114_0x76b244;try{const _0x241988=JSON[_0x494c4a(0x213)](_0x268792);if(typeof _0x241988[_0x494c4a(0x206)]==='number'&&Number[_0x494c4a(0x1f7)](_0x241988['dbId']))return{'dbId':_0x241988[_0x494c4a(0x206)],'dbName':_0x241988[_0x494c4a(0x1f5)]};}catch{}throw CliErrors['validation'](_0x494c4a(0x1f6)+_0x268792);}function resolveProvidedDbId(_0x189c75){const _0x278fbb=a114_0x76b244,_0x74962f=_0x189c75[_0x278fbb(0x207)](_0x278fbb(0x21b));if(typeof _0x74962f==='number'&&Number['isFinite'](_0x74962f))return _0x74962f;return undefined;}
@@ -1 +1 @@
1
- const a115_0x5c439e=a115_0x53ca;function a115_0x53ca(_0x2d6d26,_0x38d38e){_0x2d6d26=_0x2d6d26-0x15c;const _0x45c60a=a115_0x45c6();let _0x53ca25=_0x45c60a[_0x2d6d26];return _0x53ca25;}(function(_0x12890c,_0x55f64a){const _0x48d339=a115_0x53ca,_0x49e37c=_0x12890c();while(!![]){try{const _0x13e4b3=-parseInt(_0x48d339(0x169))/0x1+-parseInt(_0x48d339(0x177))/0x2*(parseInt(_0x48d339(0x163))/0x3)+-parseInt(_0x48d339(0x164))/0x4*(-parseInt(_0x48d339(0x175))/0x5)+-parseInt(_0x48d339(0x17c))/0x6*(-parseInt(_0x48d339(0x176))/0x7)+parseInt(_0x48d339(0x15e))/0x8+-parseInt(_0x48d339(0x15d))/0x9*(-parseInt(_0x48d339(0x170))/0xa)+-parseInt(_0x48d339(0x17d))/0xb;if(_0x13e4b3===_0x55f64a)break;else _0x49e37c['push'](_0x49e37c['shift']());}catch(_0x4528a4){_0x49e37c['push'](_0x49e37c['shift']());}}}(a115_0x45c6,0xc1cde));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a115_0x45c6(){const _0x50a905=['toISOString','3036054NYyQNh','6227661QQsQyx','replace','sqls','/smartapi/custom/deleteUserCustomSql','\x20(local\x20file\x20moved\x20to\x20trash)','14126391hatgmp','2930072QMRaeF','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','trashDir','projectRoot','startsWith','501JYpjqe','4PjHapB','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','lockFilePath','sqlRoot','sql','1117608tresPc','validation','sqlRootDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','Would\x20delete\x20SQL\x20','appCode','high-risk-write','10blTYKB','trashedTo','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','str','sqlcode','125135kYAoCP','14WqRWAx','5932xXMxjm','length','remoteId','delete'];a115_0x45c6=function(){return _0x50a905;};return a115_0x45c6();}export const sqlDelete={'service':a115_0x5c439e(0x168),'command':a115_0x5c439e(0x17a),'description':a115_0x5c439e(0x165),'risk':a115_0x5c439e(0x16f),'flags':[SQLCODE_FLAG],async 'validate'(_0x52d0fd){const _0x5997b8=a115_0x5c439e,_0x57735b=loadSqlProjectConfig(_0x52d0fd[_0x5997b8(0x16e)]),_0x11de52=await readSqlLockFile(_0x57735b[_0x5997b8(0x166)]);if(!_0x11de52)throw CliErrors['validation'](_0x5997b8(0x15f));},async 'dryRun'(_0x3e29a7){const _0x476dec=a115_0x5c439e,_0x31f55f=loadSqlProjectConfig(_0x3e29a7['appCode']),_0x1c4060=await readSqlLockFile(_0x31f55f[_0x476dec(0x166)]);if(!_0x1c4060)throw CliErrors[_0x476dec(0x16a)](_0x476dec(0x15f));const {appLock:_0x52de32}=ensureSqlLockScope(_0x1c4060,_0x3e29a7[_0x476dec(0x16e)],_0x31f55f[_0x476dec(0x167)],_0x476dec(0x17a)),_0x5a804c=_0x3e29a7[_0x476dec(0x173)](_0x476dec(0x174)),_0x50fa76=_0x52de32['sqls'][_0x5a804c];if(!_0x50fa76)throw CliErrors[_0x476dec(0x16a)](_0x476dec(0x172)+_0x5a804c+'\x22.');return{'method':'POST','url':_0x476dec(0x180),'body':{'sqlCode':_0x5a804c,'id':_0x50fa76[_0x476dec(0x179)],'localPath':resolveLocalSqlFilePath(_0x31f55f,_0x5a804c,_0x50fa76)},'description':_0x476dec(0x16d)+_0x5a804c+_0x476dec(0x16c)+_0x31f55f[_0x476dec(0x160)]};},async 'execute'(_0x19d9e4){const _0x10c458=a115_0x5c439e,_0xa563ff=loadSqlProjectConfig(_0x19d9e4[_0x10c458(0x16e)]),_0x3015ab=await readSqlLockFile(_0xa563ff['lockFilePath']);if(!_0x3015ab)throw CliErrors[_0x10c458(0x16a)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2df23d,appLock:_0x53af2b}=ensureSqlLockScope(_0x3015ab,_0x19d9e4['appCode'],_0xa563ff[_0x10c458(0x167)],_0x10c458(0x17a)),_0x3b2047=_0x19d9e4[_0x10c458(0x173)](_0x10c458(0x174)),_0x43bf3e=_0x53af2b['sqls'][_0x3b2047];if(!_0x43bf3e)throw CliErrors[_0x10c458(0x16a)](_0x10c458(0x172)+_0x3b2047+'\x22.');await deleteSqlQuery({'id':_0x43bf3e[_0x10c458(0x179)],'sqlCode':_0x3b2047}),_0x53af2b[_0x10c458(0x17f)]=Object['fromEntries'](Object['entries'](_0x53af2b[_0x10c458(0x17f)])['filter'](([_0x30cadc])=>_0x30cadc!==_0x3b2047)),_0x53af2b['lastSync']=new Date()[_0x10c458(0x17b)](),await writeSqlLockFile(_0xa563ff[_0x10c458(0x166)],_0x2df23d);const _0x11143a=resolveLocalSqlFilePath(_0xa563ff,_0x3b2047,_0x43bf3e);let _0x3e93b8;await fileExists(_0x11143a)&&(_0x3e93b8=await moveToTrash(_0xa563ff[_0x10c458(0x161)],_0xa563ff[_0x10c458(0x160)],_0x11143a),await cleanupEmptyDirectories(dirname(_0x11143a),_0xa563ff[_0x10c458(0x16b)]));const _0x588644={'deleted':_0x3b2047,'remoteId':_0x43bf3e[_0x10c458(0x179)]};if(_0x3e93b8)_0x588644[_0x10c458(0x171)]=_0x3e93b8;return{'ok':!![],'data':_0x588644,'message':'Deleted\x20'+_0x3b2047+(_0x3e93b8?_0x10c458(0x15c):'')};}};async function moveToTrash(_0x17312c,_0x39f9f0,_0x40d2d7){const _0x2c69e1=a115_0x5c439e,_0x2585c9=new Date()['toISOString']()[_0x2c69e1(0x17e)](/[:.]/g,'-'),_0x35e568=relative(_0x17312c,_0x40d2d7),_0x294d90=join(_0x39f9f0,_0x2585c9,_0x35e568);return await mkdir(dirname(_0x294d90),{'recursive':!![]}),await rename(_0x40d2d7,_0x294d90),_0x294d90;}async function cleanupEmptyDirectories(_0x17f7ae,_0x4abe9c){const _0x47c4e6=a115_0x5c439e;let _0x34c710=resolve(_0x17f7ae);const _0xcac2e1=resolve(_0x4abe9c);while(_0x34c710[_0x47c4e6(0x162)](''+_0xcac2e1+sep)||_0x34c710===_0xcac2e1){if(_0x34c710===_0xcac2e1)return;try{const _0x1f7613=await readdir(_0x34c710);if(_0x1f7613[_0x47c4e6(0x178)]>0x0)return;await rmdir(_0x34c710);}catch{return;}_0x34c710=dirname(_0x34c710);}}
1
+ const a115_0x56795c=a115_0x40c3;(function(_0x32847f,_0x487d67){const _0x1b0f42=a115_0x40c3,_0x33af86=_0x32847f();while(!![]){try{const _0x157d7a=-parseInt(_0x1b0f42(0x188))/0x1+parseInt(_0x1b0f42(0x184))/0x2+parseInt(_0x1b0f42(0x193))/0x3+-parseInt(_0x1b0f42(0x186))/0x4+-parseInt(_0x1b0f42(0x18d))/0x5*(parseInt(_0x1b0f42(0x195))/0x6)+parseInt(_0x1b0f42(0x17d))/0x7+-parseInt(_0x1b0f42(0x17e))/0x8;if(_0x157d7a===_0x487d67)break;else _0x33af86['push'](_0x33af86['shift']());}catch(_0x4f40c6){_0x33af86['push'](_0x33af86['shift']());}}}(a115_0x4551,0x5e948));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a115_0x40c3(_0x50928b,_0x58b13d){_0x50928b=_0x50928b-0x17d;const _0x455162=a115_0x4551();let _0x40c312=_0x455162[_0x50928b];return _0x40c312;}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':'delete','description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a115_0x56795c(0x196),'flags':[SQLCODE_FLAG],async 'validate'(_0x30267f){const _0x13ec04=a115_0x56795c,_0x5be617=loadSqlProjectConfig(_0x30267f[_0x13ec04(0x185)]),_0x5a0652=await readSqlLockFile(_0x5be617['lockFilePath']);if(!_0x5a0652)throw CliErrors[_0x13ec04(0x189)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0xe6c1d1){const _0x647ac7=a115_0x56795c,_0x10749b=loadSqlProjectConfig(_0xe6c1d1[_0x647ac7(0x185)]),_0x10f87c=await readSqlLockFile(_0x10749b[_0x647ac7(0x18b)]);if(!_0x10f87c)throw CliErrors[_0x647ac7(0x189)](_0x647ac7(0x19c));const {appLock:_0x1cbc36}=ensureSqlLockScope(_0x10f87c,_0xe6c1d1[_0x647ac7(0x185)],_0x10749b[_0x647ac7(0x18a)],_0x647ac7(0x192)),_0x288964=_0xe6c1d1['str'](_0x647ac7(0x19e)),_0x250c86=_0x1cbc36[_0x647ac7(0x19f)][_0x288964];if(!_0x250c86)throw CliErrors[_0x647ac7(0x189)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x288964+'\x22.');return{'method':_0x647ac7(0x182),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x288964,'id':_0x250c86[_0x647ac7(0x18c)],'localPath':resolveLocalSqlFilePath(_0x10749b,_0x288964,_0x250c86)},'description':'Would\x20delete\x20SQL\x20'+_0x288964+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x10749b['trashDir']};},async 'execute'(_0x46b176){const _0x2cca09=a115_0x56795c,_0x230776=loadSqlProjectConfig(_0x46b176[_0x2cca09(0x185)]),_0x448b5f=await readSqlLockFile(_0x230776[_0x2cca09(0x18b)]);if(!_0x448b5f)throw CliErrors[_0x2cca09(0x189)](_0x2cca09(0x199));const {lockData:_0x544f89,appLock:_0x2a9464}=ensureSqlLockScope(_0x448b5f,_0x46b176['appCode'],_0x230776[_0x2cca09(0x18a)],_0x2cca09(0x192)),_0x4a2b5a=_0x46b176[_0x2cca09(0x19a)](_0x2cca09(0x19e)),_0x4a73d3=_0x2a9464['sqls'][_0x4a2b5a];if(!_0x4a73d3)throw CliErrors[_0x2cca09(0x189)](_0x2cca09(0x180)+_0x4a2b5a+'\x22.');await deleteSqlQuery({'id':_0x4a73d3[_0x2cca09(0x18c)],'sqlCode':_0x4a2b5a}),_0x2a9464[_0x2cca09(0x19f)]=Object[_0x2cca09(0x18e)](Object[_0x2cca09(0x19d)](_0x2a9464[_0x2cca09(0x19f)])['filter'](([_0x37a4e0])=>_0x37a4e0!==_0x4a2b5a)),_0x2a9464[_0x2cca09(0x183)]=new Date()[_0x2cca09(0x19b)](),await writeSqlLockFile(_0x230776[_0x2cca09(0x18b)],_0x544f89);const _0x2f304d=resolveLocalSqlFilePath(_0x230776,_0x4a2b5a,_0x4a73d3);let _0x3fddec;await fileExists(_0x2f304d)&&(_0x3fddec=await moveToTrash(_0x230776[_0x2cca09(0x190)],_0x230776[_0x2cca09(0x197)],_0x2f304d),await cleanupEmptyDirectories(dirname(_0x2f304d),_0x230776[_0x2cca09(0x198)]));const _0x28d3fb={'deleted':_0x4a2b5a,'remoteId':_0x4a73d3['remoteId']};if(_0x3fddec)_0x28d3fb[_0x2cca09(0x17f)]=_0x3fddec;return{'ok':!![],'data':_0x28d3fb,'message':_0x2cca09(0x181)+_0x4a2b5a+(_0x3fddec?_0x2cca09(0x18f):'')};}};function a115_0x4551(){const _0x136c75=['1401952WkQRbY','length','347856GMTxKY','validation','sqlRoot','lockFilePath','remoteId','65ODnpMO','fromEntries','\x20(local\x20file\x20moved\x20to\x20trash)','projectRoot','startsWith','delete','2281779QRYcne','replace','326544WhfvTG','high-risk-write','trashDir','sqlRootDir','SQL\x20lock\x20file\x20not\x20found.','str','toISOString','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','entries','sqlcode','sqls','5153659QgMqGs','3400592vPirLp','trashedTo','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','Deleted\x20','POST','lastSync','1443000mHWlAX','appCode'];a115_0x4551=function(){return _0x136c75;};return a115_0x4551();}async function moveToTrash(_0x4dfa28,_0x4c8340,_0x5478d9){const _0x511631=a115_0x56795c,_0x4192d5=new Date()[_0x511631(0x19b)]()[_0x511631(0x194)](/[:.]/g,'-'),_0x1dc7e5=relative(_0x4dfa28,_0x5478d9),_0x3a357a=join(_0x4c8340,_0x4192d5,_0x1dc7e5);return await mkdir(dirname(_0x3a357a),{'recursive':!![]}),await rename(_0x5478d9,_0x3a357a),_0x3a357a;}async function cleanupEmptyDirectories(_0x37b359,_0x1ded7e){const _0xb56e81=a115_0x56795c;let _0x3905b6=resolve(_0x37b359);const _0x36f1cc=resolve(_0x1ded7e);while(_0x3905b6[_0xb56e81(0x191)](''+_0x36f1cc+sep)||_0x3905b6===_0x36f1cc){if(_0x3905b6===_0x36f1cc)return;try{const _0x5505a7=await readdir(_0x3905b6);if(_0x5505a7[_0xb56e81(0x187)]>0x0)return;await rmdir(_0x3905b6);}catch{return;}_0x3905b6=dirname(_0x3905b6);}}
@@ -1 +1 @@
1
- const a116_0x5022d3=a116_0x4132;(function(_0x7749fe,_0x18fe3a){const _0x36c1be=a116_0x4132,_0x19fdad=_0x7749fe();while(!![]){try{const _0x30939a=-parseInt(_0x36c1be(0x1c4))/0x1+-parseInt(_0x36c1be(0x1d2))/0x2*(-parseInt(_0x36c1be(0x1c1))/0x3)+-parseInt(_0x36c1be(0x1ce))/0x4+-parseInt(_0x36c1be(0x1c8))/0x5*(parseInt(_0x36c1be(0x1c3))/0x6)+-parseInt(_0x36c1be(0x1d5))/0x7*(-parseInt(_0x36c1be(0x1d3))/0x8)+parseInt(_0x36c1be(0x1cd))/0x9+parseInt(_0x36c1be(0x1cb))/0xa*(-parseInt(_0x36c1be(0x1cc))/0xb);if(_0x30939a===_0x18fe3a)break;else _0x19fdad['push'](_0x19fdad['shift']());}catch(_0x22da6d){_0x19fdad['push'](_0x19fdad['shift']());}}}(a116_0x2c3e,0x89e9e));function a116_0x2c3e(){const _0x2fa3ca=['1561560URZvGU','description','Return\x20full\x20raw\x20SQL\x20query\x20object','sqlcode','202OoCYKd','4904JUrdjt','sql','9758xqpMem','sqlContent','bool','detail','sqlName','30909ASPfqF','sqlCode','799962kaDgEP','33985aTqvus','verbose','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','str','10zmVzCS','dbId','appCode','802980nqEwbt','121ipQKja','2196684OVxJob'];a116_0x2c3e=function(){return _0x2fa3ca;};return a116_0x2c3e();}import{getSqlQueryInfo}from'../../core/api-client.js';function a116_0x4132(_0x14f776,_0x378fd7){_0x14f776=_0x14f776-0x1bf;const _0x2c3e64=a116_0x2c3e();let _0x41327e=_0x2c3e64[_0x14f776];return _0x41327e;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x5022d3(0x1d4),'command':a116_0x5022d3(0x1bf),'description':a116_0x5022d3(0x1c6),'risk':'read','flags':[SQLCODE_FLAG,{'name':a116_0x5022d3(0x1c5),'type':'boolean','description':a116_0x5022d3(0x1d0)}],async 'execute'(_0x3f76ea){const _0x4fef07=a116_0x5022d3,_0x41ff98=await getSqlQueryInfo(_0x3f76ea[_0x4fef07(0x1ca)],_0x3f76ea[_0x4fef07(0x1c7)](_0x4fef07(0x1d1))),_0x3ae50d=_0x3f76ea[_0x4fef07(0x1d7)](_0x4fef07(0x1c5));if(_0x3ae50d)return{'ok':!![],'data':_0x41ff98};const _0xe3f407=_0x41ff98[_0x4fef07(0x1c9)]?await getDbName(_0x3f76ea['appCode'],_0x41ff98[_0x4fef07(0x1c9)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x41ff98[_0x4fef07(0x1c2)],'sqlName':_0x41ff98[_0x4fef07(0x1c0)],'db':_0xe3f407?_0xe3f407+'\x20('+_0x41ff98[_0x4fef07(0x1c9)]+')':_0x41ff98['dbId']??'','description':_0x41ff98[_0x4fef07(0x1cf)]??'','sqlContent':_0x41ff98[_0x4fef07(0x1d6)]??''}};}};
1
+ function a116_0x43f0(_0x275f8a,_0x29c36b){_0x275f8a=_0x275f8a-0xb8;const _0x5c3628=a116_0x5c36();let _0x43f08c=_0x5c3628[_0x275f8a];return _0x43f08c;}const a116_0x53591f=a116_0x43f0;function a116_0x5c36(){const _0xce9ea0=['appCode','1100Osljzt','294OKIvCO','30048612PASpPP','sql','28drFFDY','verbose','71650Gzdcij','461432VfytkD','10118232yDtzjz','detail','sqlcode','boolean','425910kPFCdm','sqlContent','1TIEHxC','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','bool','read','Return\x20full\x20raw\x20SQL\x20query\x20object','133HCovKi','7300Gqplqe','str','241716xUnOeC','sqlName','dbId'];a116_0x5c36=function(){return _0xce9ea0;};return a116_0x5c36();}(function(_0x1d7b79,_0xcb20af){const _0x1f9af8=a116_0x43f0,_0x369476=_0x1d7b79();while(!![]){try{const _0x405778=-parseInt(_0x1f9af8(0xc5))/0x1*(parseInt(_0x1f9af8(0xc3))/0x2)+parseInt(_0x1f9af8(0xcd))/0x3*(parseInt(_0x1f9af8(0xbb))/0x4)+parseInt(_0x1f9af8(0xcb))/0x5*(parseInt(_0x1f9af8(0xb8))/0x6)+parseInt(_0x1f9af8(0xca))/0x7*(parseInt(_0x1f9af8(0xbe))/0x8)+parseInt(_0x1f9af8(0xbf))/0x9+-parseInt(_0x1f9af8(0xbd))/0xa*(-parseInt(_0x1f9af8(0xd1))/0xb)+-parseInt(_0x1f9af8(0xb9))/0xc;if(_0x405778===_0xcb20af)break;else _0x369476['push'](_0x369476['shift']());}catch(_0x95347e){_0x369476['push'](_0x369476['shift']());}}}(a116_0x5c36,0xd0c93));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x53591f(0xba),'command':a116_0x53591f(0xc0),'description':a116_0x53591f(0xc6),'risk':a116_0x53591f(0xc8),'flags':[SQLCODE_FLAG,{'name':a116_0x53591f(0xbc),'type':a116_0x53591f(0xc2),'description':a116_0x53591f(0xc9)}],async 'execute'(_0x203377){const _0x2dd4ef=a116_0x53591f,_0xfc4b67=await getSqlQueryInfo(_0x203377[_0x2dd4ef(0xd0)],_0x203377[_0x2dd4ef(0xcc)](_0x2dd4ef(0xc1))),_0x22826d=_0x203377[_0x2dd4ef(0xc7)](_0x2dd4ef(0xbc));if(_0x22826d)return{'ok':!![],'data':_0xfc4b67};const _0x5019a6=_0xfc4b67[_0x2dd4ef(0xcf)]?await getDbName(_0x203377[_0x2dd4ef(0xd0)],_0xfc4b67[_0x2dd4ef(0xcf)]):undefined;return{'ok':!![],'data':{'sqlCode':_0xfc4b67['sqlCode'],'sqlName':_0xfc4b67[_0x2dd4ef(0xce)],'db':_0x5019a6?_0x5019a6+'\x20('+_0xfc4b67['dbId']+')':_0xfc4b67[_0x2dd4ef(0xcf)]??'','description':_0xfc4b67['description']??'','sqlContent':_0xfc4b67[_0x2dd4ef(0xc4)]??''}};}};
@@ -1 +1 @@
1
- const a117_0x166283=a117_0x253b;(function(_0x28ff22,_0x5561e5){const _0x3c5d3c=a117_0x253b,_0x4700d9=_0x28ff22();while(!![]){try{const _0x59671a=parseInt(_0x3c5d3c(0xd2))/0x1+-parseInt(_0x3c5d3c(0xd9))/0x2*(parseInt(_0x3c5d3c(0xc5))/0x3)+-parseInt(_0x3c5d3c(0xce))/0x4*(parseInt(_0x3c5d3c(0xcb))/0x5)+parseInt(_0x3c5d3c(0xcf))/0x6*(parseInt(_0x3c5d3c(0xc9))/0x7)+-parseInt(_0x3c5d3c(0xd8))/0x8*(-parseInt(_0x3c5d3c(0xc7))/0x9)+-parseInt(_0x3c5d3c(0xca))/0xa*(-parseInt(_0x3c5d3c(0xc2))/0xb)+parseInt(_0x3c5d3c(0xc0))/0xc;if(_0x59671a===_0x5561e5)break;else _0x4700d9['push'](_0x4700d9['shift']());}catch(_0x313a3a){_0x4700d9['push'](_0x4700d9['shift']());}}}(a117_0xff64,0xd52a1));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a117_0x253b(_0x347fd3,_0x53eafe){_0x347fd3=_0x347fd3-0xbf;const _0xff64c0=a117_0xff64();let _0x253bbc=_0xff64c0[_0x347fd3];return _0x253bbc;}import{parseJsonParams}from'../../utils/params.js';function a117_0xff64(){const _0x4442c5=['803960wskqzx','2iMijWB','isArray','SQL\x20execution\x20failed','execResult','execError','11321484tqoGnZ','execSuccess','13540967iaBFld','sqlcode','read','4611741JUQSPW','sql','9rHKoIq','string','469fSlhDr','10SqtWNd','2551585iaWObv','str','exec','12LSloGy','29430NJoCUB','length','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','1337735MumUgD','appCode','params','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','now','\x20row(s)\x20in\x20'];a117_0xff64=function(){return _0x4442c5;};return a117_0xff64();}export const sqlExec={'service':a117_0x166283(0xc6),'command':a117_0x166283(0xcd),'description':a117_0x166283(0xd5),'risk':a117_0x166283(0xc4),'flags':[SQLCODE_FLAG,{'name':'params','type':a117_0x166283(0xc8),'description':a117_0x166283(0xd1)}],async 'execute'(_0x525785){const _0x3c93c1=a117_0x166283,_0x303ac7=parseJsonParams(_0x525785['str'](_0x3c93c1(0xd4))),_0x207a28=Date[_0x3c93c1(0xd6)](),_0x58b20f=await executeSql(_0x525785[_0x3c93c1(0xd3)],_0x525785[_0x3c93c1(0xcc)](_0x3c93c1(0xc3)),_0x303ac7),_0x96bd3d=Date[_0x3c93c1(0xd6)]()-_0x207a28,_0x5b1aa5=_0x58b20f?.[_0x3c93c1(0xdc)]??_0x58b20f,_0x16c140=_0x58b20f?.[_0x3c93c1(0xc1)]??!![];if(!_0x16c140)return{'ok':![],'data':{'error':_0x58b20f?.[_0x3c93c1(0xbf)]||_0x3c93c1(0xdb),'elapsed':_0x96bd3d},'message':_0x3c93c1(0xdb)};const _0x3ac1bb=Array[_0x3c93c1(0xda)](_0x5b1aa5)?_0x5b1aa5:[];return{'ok':!![],'data':{'rows':_0x3ac1bb,'rowCount':_0x3ac1bb[_0x3c93c1(0xd0)],'elapsed':_0x96bd3d},'message':'Returned\x20'+_0x3ac1bb['length']+_0x3c93c1(0xd7)+_0x96bd3d+'ms'};}};
1
+ const a117_0x179a23=a117_0x3533;(function(_0x3ea30a,_0x5a49ac){const _0x19a5f7=a117_0x3533,_0x169191=_0x3ea30a();while(!![]){try{const _0x2dbf1c=parseInt(_0x19a5f7(0x13e))/0x1+-parseInt(_0x19a5f7(0x12f))/0x2+parseInt(_0x19a5f7(0x139))/0x3*(-parseInt(_0x19a5f7(0x133))/0x4)+parseInt(_0x19a5f7(0x138))/0x5+parseInt(_0x19a5f7(0x13a))/0x6+-parseInt(_0x19a5f7(0x134))/0x7*(parseInt(_0x19a5f7(0x12a))/0x8)+-parseInt(_0x19a5f7(0x142))/0x9*(-parseInt(_0x19a5f7(0x130))/0xa);if(_0x2dbf1c===_0x5a49ac)break;else _0x169191['push'](_0x169191['shift']());}catch(_0xf616b){_0x169191['push'](_0x169191['shift']());}}}(a117_0x88c7,0x6b1be));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a117_0x3533(_0x4adeaf,_0x2420b9){_0x4adeaf=_0x4adeaf-0x129;const _0x88c771=a117_0x88c7();let _0x353384=_0x88c771[_0x4adeaf];return _0x353384;}import{parseJsonParams}from'../../utils/params.js';function a117_0x88c7(){const _0xfc2270=['163432hUppvD','4558799thtRiR','execResult','isArray','string','1821130cdzuoa','30StbBzm','3310044CUdGPQ','SQL\x20execution\x20failed','read','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','360609gXvAXk','now','str','sql','18gcHODZ','appCode','8PgEtje','length','execError','execSuccess','\x20row(s)\x20in\x20','237268CTMBFR','1703400GWKxxX','params','Returned\x20'];a117_0x88c7=function(){return _0xfc2270;};return a117_0x88c7();}export const sqlExec={'service':a117_0x179a23(0x141),'command':'exec','description':a117_0x179a23(0x13d),'risk':a117_0x179a23(0x13c),'flags':[SQLCODE_FLAG,{'name':a117_0x179a23(0x131),'type':a117_0x179a23(0x137),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x1e5819){const _0x595d53=a117_0x179a23,_0x28d0d2=parseJsonParams(_0x1e5819[_0x595d53(0x140)](_0x595d53(0x131))),_0x569579=Date[_0x595d53(0x13f)](),_0x4c807b=await executeSql(_0x1e5819[_0x595d53(0x129)],_0x1e5819[_0x595d53(0x140)]('sqlcode'),_0x28d0d2),_0x2eb33d=Date[_0x595d53(0x13f)]()-_0x569579,_0x4a5449=_0x4c807b?.[_0x595d53(0x135)]??_0x4c807b,_0x284f9d=_0x4c807b?.[_0x595d53(0x12d)]??!![];if(!_0x284f9d)return{'ok':![],'data':{'error':_0x4c807b?.[_0x595d53(0x12c)]||'SQL\x20execution\x20failed','elapsed':_0x2eb33d},'message':_0x595d53(0x13b)};const _0x7a959e=Array[_0x595d53(0x136)](_0x4a5449)?_0x4a5449:[];return{'ok':!![],'data':{'rows':_0x7a959e,'rowCount':_0x7a959e[_0x595d53(0x12b)],'elapsed':_0x2eb33d},'message':_0x595d53(0x132)+_0x7a959e[_0x595d53(0x12b)]+_0x595d53(0x12e)+_0x2eb33d+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x2e019f,_0x501459){const _0x3ee8cd=a118_0x55c5,_0x22b4ba=_0x2e019f();while(!![]){try{const _0x363b0d=parseInt(_0x3ee8cd(0x1a8))/0x1+parseInt(_0x3ee8cd(0x1a7))/0x2+-parseInt(_0x3ee8cd(0x1a6))/0x3*(-parseInt(_0x3ee8cd(0x1aa))/0x4)+parseInt(_0x3ee8cd(0x1a2))/0x5+-parseInt(_0x3ee8cd(0x1a5))/0x6+-parseInt(_0x3ee8cd(0x1a4))/0x7+-parseInt(_0x3ee8cd(0x1a9))/0x8*(parseInt(_0x3ee8cd(0x1a3))/0x9);if(_0x363b0d===_0x501459)break;else _0x22b4ba['push'](_0x22b4ba['shift']());}catch(_0x317551){_0x22b4ba['push'](_0x22b4ba['shift']());}}}(a118_0x5b4b,0x24d59));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a118_0x55c5(_0x5f257d,_0x5e4721){_0x5f257d=_0x5f257d-0x1a2;const _0x5b4b61=a118_0x5b4b();let _0x55c573=_0x5b4b61[_0x5f257d];return _0x55c573;}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';function a118_0x5b4b(){const _0x81bb3a=['24RRvMlQ','8QUySHB','379175MPSxNN','101403STMwwJ','595847rxISfJ','698484eXPcUR','224628TXgAPX','208922YVYPBO','56161LkTyhw'];a118_0x5b4b=function(){return _0x81bb3a;};return a118_0x5b4b();}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x34017c,_0x4a5998){const _0x29f35e=a118_0x492f,_0x156e19=_0x34017c();while(!![]){try{const _0x67b2e3=-parseInt(_0x29f35e(0xce))/0x1+-parseInt(_0x29f35e(0xd1))/0x2*(parseInt(_0x29f35e(0xd7))/0x3)+parseInt(_0x29f35e(0xd6))/0x4+-parseInt(_0x29f35e(0xd5))/0x5+parseInt(_0x29f35e(0xcf))/0x6+-parseInt(_0x29f35e(0xd2))/0x7*(parseInt(_0x29f35e(0xd0))/0x8)+-parseInt(_0x29f35e(0xd3))/0x9*(-parseInt(_0x29f35e(0xd4))/0xa);if(_0x67b2e3===_0x4a5998)break;else _0x156e19['push'](_0x156e19['shift']());}catch(_0x3a1c80){_0x156e19['push'](_0x156e19['shift']());}}}(a118_0x2852,0xd93f0));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a118_0x492f(_0x87ae7c,_0x5704ca){_0x87ae7c=_0x87ae7c-0xce;const _0x2852ce=a118_0x2852();let _0x492fdb=_0x2852ce[_0x87ae7c];return _0x492fdb;}import{sqlSave}from'../../commands/sql/save.js';function a118_0x2852(){const _0x4bd9c2=['2513bHILhF','9TvfvcI','4679530nanylR','5279295WnlDPp','4723180iSUAAc','3GYzRxC','252180qMYzNE','7859322inEvwB','1800VDoNon','1359962JbtUHM'];a118_0x2852=function(){return _0x4bd9c2;};return a118_0x2852();}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 a119_0x1f0ff9=a119_0x55bc;(function(_0x501466,_0x3cd806){const _0x556213=a119_0x55bc,_0x178576=_0x501466();while(!![]){try{const _0x3747a3=parseInt(_0x556213(0x129))/0x1+-parseInt(_0x556213(0x12e))/0x2*(parseInt(_0x556213(0x12b))/0x3)+-parseInt(_0x556213(0x120))/0x4*(-parseInt(_0x556213(0x13b))/0x5)+-parseInt(_0x556213(0x137))/0x6*(-parseInt(_0x556213(0x12a))/0x7)+-parseInt(_0x556213(0x122))/0x8+parseInt(_0x556213(0x13c))/0x9*(-parseInt(_0x556213(0x140))/0xa)+parseInt(_0x556213(0x13e))/0xb;if(_0x3747a3===_0x3cd806)break;else _0x178576['push'](_0x178576['shift']());}catch(_0x4a5bdf){_0x178576['push'](_0x178576['shift']());}}}(a119_0x1bc7,0xc4f88));import{listSqlQueries}from'../../core/api-client.js';function a119_0x55bc(_0x3c356e,_0x519560){_0x3c356e=_0x3c356e-0x11d;const _0x1bc716=a119_0x1bc7();let _0x55bc30=_0x1bc716[_0x3c356e];return _0x55bc30;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':'list','description':'List\x20custom\x20SQL\x20queries','risk':a119_0x1f0ff9(0x136),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x1f0ff9(0x123),'type':a119_0x1f0ff9(0x135),'description':a119_0x1f0ff9(0x132)},{'name':a119_0x1f0ff9(0x13f),'type':a119_0x1f0ff9(0x11f),'description':a119_0x1f0ff9(0x13d),'default':0x1},{'name':'pagesize','type':a119_0x1f0ff9(0x11f),'description':a119_0x1f0ff9(0x12d)},{'name':'verbose','type':a119_0x1f0ff9(0x131),'description':a119_0x1f0ff9(0x133)}],async 'execute'(_0x4b0fa4){const _0x5eb866=a119_0x1f0ff9,_0xe373d4=await listSqlQueries(_0x4b0fa4[_0x5eb866(0x141)],{'sqlCode':_0x4b0fa4[_0x5eb866(0x11e)](_0x5eb866(0x125))||undefined,'sqlName':_0x4b0fa4[_0x5eb866(0x11e)](_0x5eb866(0x123))||undefined,'currentPage':_0x4b0fa4[_0x5eb866(0x128)](_0x5eb866(0x13f)),'pageSize':_0x4b0fa4['num']('pagesize',0x32)}),_0x540c0e=_0x4b0fa4[_0x5eb866(0x12f)](_0x5eb866(0x126)),_0x39d4b4=_0xe373d4[_0x5eb866(0x127)]??[],_0x137cf2=_0xe373d4[_0x5eb866(0x12c)]?.[_0x5eb866(0x13a)]??_0x39d4b4[_0x5eb866(0x11d)];let _0x421f37;return _0x540c0e?_0x421f37=_0x39d4b4:_0x421f37=await Promise[_0x5eb866(0x139)](_0x39d4b4[_0x5eb866(0x130)](async _0x8cc7e8=>{const _0x533585=_0x5eb866;let _0x52c187;try{_0x52c187=_0x8cc7e8[_0x533585(0x138)]?await getDbName(_0x4b0fa4[_0x533585(0x141)],_0x8cc7e8[_0x533585(0x138)]):undefined;}catch{}return{'sqlCode':_0x8cc7e8['sqlCode'],'sqlName':_0x8cc7e8[_0x533585(0x121)],'description':_0x8cc7e8[_0x533585(0x124)]??'','db':_0x52c187?_0x52c187+'\x20('+_0x8cc7e8['dbId']+')':_0x8cc7e8['dbId']??''};})),{'ok':!![],'data':_0x421f37,'message':_0x39d4b4['length']===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x5eb866(0x134)+_0x39d4b4[_0x5eb866(0x11d)]+'\x20SQL\x20queries\x20(total:\x20'+_0x137cf2+').'};}};function a119_0x1bc7(){const _0x218423=['map','boolean','Filter\x20by\x20SQL\x20name','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','Found\x20','string','read','6996YwOJEu','dbId','all','totalCount','15UGYSrY','2550159QakGug','Page\x20number','10082611pQmQwE','page','10fhooMB','appCode','length','str','number','1364516YbPpqu','sqlName','10604032bbudiw','name','description','sqlcode','verbose','tableData','num','1211753DIBEFG','770mxsSqY','2593062NCrUkM','paging','Page\x20size','2OlwMNm','bool'];a119_0x1bc7=function(){return _0x218423;};return a119_0x1bc7();}
1
+ function a119_0x548e(){const _0x38e2b8=['No\x20custom\x20SQL\x20queries\x20found.','Found\x20','list','boolean','description','page','verbose','name','32noWILL','sqlcode','sql','tableData','736365vLmDFv','map','40vClnwp','Filter\x20by\x20SQL\x20name','Page\x20number','1169730nLScNs','6gCiSIn','148767oGtRWP','418xbvcyO','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','1856dcJqPu','sqlCode','2467113rRzXJQ','number','appCode','num','length','totalCount','1922125xSzJTv','str','Page\x20size','48gQocda','all','bool','string','read','pagesize','dbId','10174104csXvjg','sqlName','paging'];a119_0x548e=function(){return _0x38e2b8;};return a119_0x548e();}function a119_0x49c1(_0x12116a,_0x1d6ec9){_0x12116a=_0x12116a-0x76;const _0x548eba=a119_0x548e();let _0x49c150=_0x548eba[_0x12116a];return _0x49c150;}const a119_0x410783=a119_0x49c1;(function(_0x2d9821,_0x1e443c){const _0x424166=a119_0x49c1,_0x168b91=_0x2d9821();while(!![]){try{const _0x34986b=parseInt(_0x424166(0x99))/0x1*(parseInt(_0x424166(0x97))/0x2)+-parseInt(_0x424166(0x96))/0x3*(-parseInt(_0x424166(0x8b))/0x4)+-parseInt(_0x424166(0x76))/0x5*(-parseInt(_0x424166(0x95))/0x6)+-parseInt(_0x424166(0x8f))/0x7*(parseInt(_0x424166(0x79))/0x8)+parseInt(_0x424166(0x94))/0x9+parseInt(_0x424166(0x91))/0xa*(-parseInt(_0x424166(0x9b))/0xb)+parseInt(_0x424166(0x80))/0xc;if(_0x34986b===_0x1e443c)break;else _0x168b91['push'](_0x168b91['shift']());}catch(_0x5ad256){_0x168b91['push'](_0x168b91['shift']());}}}(a119_0x548e,0x97037));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a119_0x410783(0x8d),'command':a119_0x410783(0x85),'description':'List\x20custom\x20SQL\x20queries','risk':a119_0x410783(0x7d),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x410783(0x8a),'type':a119_0x410783(0x7c),'description':a119_0x410783(0x92)},{'name':'page','type':a119_0x410783(0x9c),'description':a119_0x410783(0x93),'default':0x1},{'name':a119_0x410783(0x7e),'type':'number','description':a119_0x410783(0x78)},{'name':'verbose','type':a119_0x410783(0x86),'description':a119_0x410783(0x98)}],async 'execute'(_0x1f3932){const _0x44c840=a119_0x410783,_0x416a2f=await listSqlQueries(_0x1f3932[_0x44c840(0x9d)],{'sqlCode':_0x1f3932[_0x44c840(0x77)](_0x44c840(0x8c))||undefined,'sqlName':_0x1f3932['str'](_0x44c840(0x8a))||undefined,'currentPage':_0x1f3932[_0x44c840(0x9e)](_0x44c840(0x88)),'pageSize':_0x1f3932[_0x44c840(0x9e)](_0x44c840(0x7e),0x32)}),_0x140e26=_0x1f3932[_0x44c840(0x7b)](_0x44c840(0x89)),_0x4f3814=_0x416a2f[_0x44c840(0x8e)]??[],_0x57ebad=_0x416a2f[_0x44c840(0x82)]?.[_0x44c840(0xa0)]??_0x4f3814[_0x44c840(0x9f)];let _0xd54385;return _0x140e26?_0xd54385=_0x4f3814:_0xd54385=await Promise[_0x44c840(0x7a)](_0x4f3814[_0x44c840(0x90)](async _0x2fd374=>{const _0x7bb3c0=_0x44c840;let _0x11bb30;try{_0x11bb30=_0x2fd374[_0x7bb3c0(0x7f)]?await getDbName(_0x1f3932[_0x7bb3c0(0x9d)],_0x2fd374['dbId']):undefined;}catch{}return{'sqlCode':_0x2fd374[_0x7bb3c0(0x9a)],'sqlName':_0x2fd374[_0x7bb3c0(0x81)],'description':_0x2fd374[_0x7bb3c0(0x87)]??'','db':_0x11bb30?_0x11bb30+'\x20('+_0x2fd374[_0x7bb3c0(0x7f)]+')':_0x2fd374['dbId']??''};})),{'ok':!![],'data':_0xd54385,'message':_0x4f3814['length']===0x0?_0x44c840(0x83):_0x44c840(0x84)+_0x4f3814[_0x44c840(0x9f)]+'\x20SQL\x20queries\x20(total:\x20'+_0x57ebad+').'};}};
@@ -1 +1 @@
1
- const a120_0x1925e7=a120_0x1093;(function(_0x98e9c,_0xc5b2db){const _0x3a0a1d=a120_0x1093,_0xad3682=_0x98e9c();while(!![]){try{const _0x57cf19=-parseInt(_0x3a0a1d(0x213))/0x1+-parseInt(_0x3a0a1d(0x21d))/0x2*(parseInt(_0x3a0a1d(0x203))/0x3)+parseInt(_0x3a0a1d(0x207))/0x4+-parseInt(_0x3a0a1d(0x22b))/0x5*(-parseInt(_0x3a0a1d(0x1f7))/0x6)+-parseInt(_0x3a0a1d(0x1ef))/0x7+parseInt(_0x3a0a1d(0x211))/0x8+parseInt(_0x3a0a1d(0x1f2))/0x9;if(_0x57cf19===_0xc5b2db)break;else _0xad3682['push'](_0xad3682['shift']());}catch(_0x3653df){_0xad3682['push'](_0xad3682['shift']());}}}(a120_0x5e6a,0xacf0d));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';function a120_0x5e6a(){const _0x47f0f2=['conflict','Would\x20pull\x20','Pull\x20complete:\x20','sqlRoot','mybatisXml','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','apps','3dwFMfL','sql','string','would_pull','954648LbVOTd','toISOString','push','Force\x20pull\x20cancelled.','appCode','sqlName','\x20written,\x20','totalCount','path','POST','9067528UMnIaf','boolean','1311522yhUFGa','sqlContent','dbId','name','sqlCode','trimStart','pull','\x20SQL\x20file(s)\x20into\x20','str','lastSync','2552618PjtsCA','unchanged','lockFilePath','join','tableData','description','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','message','sqlcode','paging','write','split','skipped','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','55qKfjRJ','Filter\x20by\x20SQL\x20display\x20name','test','sqls','utf8','5306651hQwjYN','length','sqlRootDir','19347381PNQrVX','filter','cancelled','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','catch','290442AwJoCI','bool','No\x20remote\x20SQL\x20queries\x20matched.','nonInteractive','force'];a120_0x5e6a=function(){return _0x47f0f2;};return a120_0x5e6a();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a120_0x1093(_0x32d355,_0x237345){_0x32d355=_0x32d355-0x1ed;const _0x5e6a70=a120_0x5e6a();let _0x1093a3=_0x5e6a70[_0x32d355];return _0x1093a3;}import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x60c386,_0x5048f5){const _0x4470b7=a120_0x1093,_0x52761c=[];let _0x1fb546=0x1;while(!![]){const _0x179a22=await listSqlQueries(_0x60c386,{'currentPage':_0x1fb546,'pageSize':PAGE_SIZE,'sqlCode':_0x5048f5[_0x4470b7(0x217)],'sqlName':_0x5048f5[_0x4470b7(0x20c)]}),_0x19d064=_0x179a22[_0x4470b7(0x221)]??[];_0x52761c['push'](..._0x19d064);if(_0x19d064['length']===0x0)break;const _0x116bad=_0x179a22[_0x4470b7(0x226)]?.[_0x4470b7(0x20e)];if(_0x116bad!=null?_0x52761c[_0x4470b7(0x1f0)]>=_0x116bad:_0x19d064[_0x4470b7(0x1f0)]<PAGE_SIZE)break;_0x1fb546++;}return _0x52761c;}async function ensureSqlContent(_0x32d1a5){const _0x547f46=a120_0x1093;if(_0x32d1a5[_0x547f46(0x214)]!=null&&String(_0x32d1a5[_0x547f46(0x214)])['length']>0x0)return _0x32d1a5;return getSqlQueryDetail(_0x32d1a5[_0x547f46(0x217)]);}export const sqlPull={'service':a120_0x1925e7(0x204),'command':a120_0x1925e7(0x219),'description':a120_0x1925e7(0x22a),'risk':a120_0x1925e7(0x227),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a120_0x1925e7(0x205),'description':a120_0x1925e7(0x22c)},{'name':a120_0x1925e7(0x1fb),'type':a120_0x1925e7(0x212),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x2bacae){const _0x265943=a120_0x1925e7,_0x1648cb=loadSqlProjectConfig(_0x2bacae[_0x265943(0x20b)]),_0xaa5d64=await readSqlLockFile(_0x1648cb[_0x265943(0x21f)]),{appLock:_0x5e66f7}=ensureSqlLockScope(_0xaa5d64??createEmptySqlLock(),_0x1648cb[_0x265943(0x20b)],_0x1648cb[_0x265943(0x1ff)],'pull'),_0x378c27=await fetchAllSqlQueries(_0x2bacae['appCode'],{'sqlCode':_0x2bacae[_0x265943(0x21b)](_0x265943(0x225))||undefined,'sqlName':_0x2bacae[_0x265943(0x21b)](_0x265943(0x216))||undefined}),_0x342ee1=[];for(const _0x17d80d of _0x378c27){const _0x3ed0fa=await ensureSqlContent(_0x17d80d),_0x500b5a=ensureRemoteSqlContent(_0x3ed0fa),_0x16921a=detectModeFromSql(_0x3ed0fa),_0xda7d26=_0x3ed0fa[_0x265943(0x215)]?await getDbName(_0x2bacae[_0x265943(0x20b)],Number(_0x3ed0fa[_0x265943(0x215)]))[_0x265943(0x1f6)](()=>undefined):undefined,_0x502556=buildLocalSqlFileContent({'sqlCode':_0x3ed0fa[_0x265943(0x217)],'sqlName':_0x3ed0fa['sqlName'],'dbId':_0x3ed0fa[_0x265943(0x215)]},_0x500b5a,{'dbName':_0xda7d26,'mode':_0x16921a,'syncedAt':new Date()[_0x265943(0x208)](),'description':_0x3ed0fa[_0x265943(0x222)]}),_0x26f9dc=buildSqlLockEntry(_0x3ed0fa,_0x500b5a,'',{'dbName':_0xda7d26}),_0x139344=resolveLocalSqlFilePath(_0x1648cb,_0x3ed0fa[_0x265943(0x217)],_0x26f9dc);let _0x522356=_0x265943(0x206),_0x74b44d;if(await fileExists(_0x139344)){const _0x2d75b2=await readFile(_0x139344,_0x265943(0x1ee));isEquivalentPulledSqlFile(_0x2d75b2,_0x502556,_0x16921a)?(_0x522356=_0x265943(0x229),_0x74b44d=_0x265943(0x21e)):(_0x522356=_0x265943(0x1fc),_0x74b44d=_0x265943(0x1f5));}_0x342ee1[_0x265943(0x209)]({'sqlCode':_0x3ed0fa[_0x265943(0x217)],'sqlName':_0x3ed0fa[_0x265943(0x20c)],'filePath':_0x139344,'status':_0x522356,'reason':_0x74b44d});}return{'method':_0x265943(0x210),'url':_0x265943(0x223),'body':{'appCode':_0x2bacae['appCode'],'sqlCode':_0x2bacae[_0x265943(0x21b)](_0x265943(0x225))||null,'sqlName':_0x2bacae[_0x265943(0x21b)]('name')||null,'files':_0x342ee1},'description':_0x265943(0x1fd)+_0x342ee1['length']+_0x265943(0x21a)+_0x1648cb[_0x265943(0x1f1)]};},async 'execute'(_0x2a541b){const _0x26cead=a120_0x1925e7,_0x3c8086=loadSqlProjectConfig(_0x2a541b['appCode']),_0x38be97=await readSqlLockFile(_0x3c8086[_0x26cead(0x21f)]),{lockData:_0x11e809,appLock:_0x23ba05}=ensureSqlLockScope(_0x38be97??createEmptySqlLock(),_0x3c8086['appCode'],_0x3c8086[_0x26cead(0x1ff)],'pull'),_0x5cd1cf=_0x2a541b[_0x26cead(0x1f8)](_0x26cead(0x1fb)),_0x134db6=await fetchAllSqlQueries(_0x2a541b[_0x26cead(0x20b)],{'sqlCode':_0x2a541b['str'](_0x26cead(0x225))||undefined,'sqlName':_0x2a541b['str']('name')||undefined});if(_0x134db6['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x26cead(0x1f9)};const _0x4fa82c=[],_0x595ce1=[];for(const _0x4380b8 of _0x134db6){try{_0x4fa82c[_0x26cead(0x209)](await ensureSqlContent(_0x4380b8));}catch(_0x40678f){_0x595ce1[_0x26cead(0x209)]({'sqlCode':_0x4380b8[_0x26cead(0x217)],'error':_0x40678f instanceof Error?_0x40678f[_0x26cead(0x224)]:String(_0x40678f)});}}if(_0x5cd1cf&&!_0x2a541b[_0x26cead(0x1fa)]){let _0x1784d1=![];for(const _0x3b9829 of _0x4fa82c){const _0x486bd8=detectModeFromSql(_0x3b9829),_0x1fd97f=_0x3b9829[_0x26cead(0x215)]?await getDbName(_0x2a541b[_0x26cead(0x20b)],Number(_0x3b9829[_0x26cead(0x215)]))[_0x26cead(0x1f6)](()=>undefined):undefined,_0x4c7d30=buildLocalSqlFileContent({'sqlCode':_0x3b9829['sqlCode'],'sqlName':_0x3b9829[_0x26cead(0x20c)],'dbId':_0x3b9829[_0x26cead(0x215)]},ensureRemoteSqlContent(_0x3b9829),{'dbName':_0x1fd97f,'mode':_0x486bd8,'syncedAt':new Date()[_0x26cead(0x208)](),'description':_0x3b9829['description']}),_0x418dd8=resolveLocalSqlFilePath(_0x3c8086,_0x3b9829[_0x26cead(0x217)],buildSqlLockEntry(_0x3b9829,ensureRemoteSqlContent(_0x3b9829),'',{'dbName':_0x1fd97f}));if(await fileExists(_0x418dd8)){const _0x41be79=await readFile(_0x418dd8,_0x26cead(0x1ee));if(!isEquivalentPulledSqlFile(_0x41be79,_0x4c7d30,_0x486bd8)){_0x1784d1=!![];break;}}}if(_0x1784d1){const _0x5ca75e=await confirmForceOverwrite(_0x26cead(0x201));if(!_0x5ca75e)throw CliErrors[_0x26cead(0x1f4)](_0x26cead(0x20a));}}const _0x3cd012=cloneSqlLockData(_0x11e809),_0x402338=_0x3cd012[_0x26cead(0x202)][_0x3c8086[_0x26cead(0x20b)]],_0x119151=[],_0x2db60e=[];for(const _0x25c50c of _0x4fa82c){const _0x39f3e2=_0x402338[_0x26cead(0x1ed)][_0x25c50c[_0x26cead(0x217)]],_0x259912=ensureRemoteSqlContent(_0x25c50c),_0x123b1a=detectModeFromSql(_0x25c50c),_0x3f016b=_0x25c50c[_0x26cead(0x215)]?await getDbName(_0x2a541b[_0x26cead(0x20b)],Number(_0x25c50c[_0x26cead(0x215)]))[_0x26cead(0x1f6)](()=>undefined):undefined,_0x1c3acc=buildLocalSqlFileContent({'sqlCode':_0x25c50c['sqlCode'],'sqlName':_0x25c50c[_0x26cead(0x20c)],'dbId':_0x25c50c[_0x26cead(0x215)]},_0x259912,{'dbName':_0x3f016b,'mode':_0x123b1a,'syncedAt':new Date()[_0x26cead(0x208)](),'description':_0x25c50c[_0x26cead(0x222)]}),_0x238643=buildSqlLockEntry(_0x25c50c,_0x259912,computeSqlContentHash(_0x1c3acc),{'dbName':_0x3f016b}),_0x9c75e3=_0x238643['path'],_0x15c909=join(_0x3c8086[_0x26cead(0x1f1)],_0x9c75e3);try{if(await fileExists(_0x15c909)){const _0x1dcee2=await readFile(_0x15c909,_0x26cead(0x1ee));if(isEquivalentPulledSqlFile(_0x1dcee2,_0x1c3acc,_0x123b1a)){_0x2db60e[_0x26cead(0x209)]({'sqlCode':_0x25c50c[_0x26cead(0x217)],'reason':_0x26cead(0x21e)}),_0x402338[_0x26cead(0x1ed)][_0x25c50c[_0x26cead(0x217)]]={..._0x238643,'hash':computeSqlContentHash(_0x1dcee2),'path':_0x9c75e3};continue;}if(!_0x5cd1cf){_0x2db60e['push']({'sqlCode':_0x25c50c['sqlCode'],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x8927fc=_0x39f3e2?.[_0x26cead(0x20f)]?join(_0x3c8086[_0x26cead(0x1f1)],_0x39f3e2[_0x26cead(0x20f)]):undefined;_0x8927fc&&_0x8927fc!==_0x15c909&&await fileExists(_0x8927fc)&&await rm(_0x8927fc,{'force':!![]}),await ensureParentDirectory(_0x15c909),await writeFile(_0x15c909,_0x1c3acc,'utf8'),_0x402338['sqls'][_0x25c50c[_0x26cead(0x217)]]={..._0x238643,'path':_0x9c75e3},_0x119151['push']({'sqlCode':_0x25c50c[_0x26cead(0x217)],'filePath':_0x15c909});}catch(_0x3f1d1b){_0x595ce1[_0x26cead(0x209)]({'sqlCode':_0x25c50c[_0x26cead(0x217)],'error':_0x3f1d1b instanceof Error?_0x3f1d1b[_0x26cead(0x224)]:String(_0x3f1d1b)});}}return _0x402338[_0x26cead(0x21c)]=new Date()[_0x26cead(0x208)](),await writeSqlLockFile(_0x3c8086[_0x26cead(0x21f)],_0x3cd012),{'ok':_0x595ce1[_0x26cead(0x1f0)]===0x0,'data':{'pulled':_0x119151,'skipped':_0x2db60e,'failed':_0x595ce1},'message':_0x26cead(0x1fe)+_0x119151[_0x26cead(0x1f0)]+_0x26cead(0x20d)+_0x2db60e[_0x26cead(0x1f0)]+'\x20skipped,\x20'+_0x595ce1[_0x26cead(0x1f0)]+'\x20failed'};}};function detectModeFromSql(_0x43fe53){const _0x2a94b5=a120_0x1925e7,_0xa65b=ensureRemoteSqlContent(_0x43fe53),_0x346ba9=stripLocalSqlMetadata(_0xa65b,_0x2a94b5(0x200))[_0x2a94b5(0x218)]();if(/^<(select|insert|update|delete)\b/i[_0x2a94b5(0x22d)](_0x346ba9))return _0x2a94b5(0x200);return _0x2a94b5(0x204);}function isEquivalentPulledSqlFile(_0x5b451f,_0x1f2eac,_0x300cae){return normalizePullComparableContent(_0x5b451f,_0x300cae)===normalizePullComparableContent(_0x1f2eac,_0x300cae);}function normalizePullComparableContent(_0x4edf8f,_0x4adcc7){const _0x2460d7=a120_0x1925e7,_0x5a1862=_0x4edf8f['replace'](/\r\n/g,'\x0a')[_0x2460d7(0x228)]('\x0a'),_0x3dfd14=_0x5a1862[_0x2460d7(0x1f3)](_0xdd0c09=>!isSyncedAtMetadataLine(_0xdd0c09,_0x4adcc7));return _0x3dfd14[_0x2460d7(0x220)]('\x0a');}function isSyncedAtMetadataLine(_0x560865,_0x110dd5){const _0x53ac4e=a120_0x1925e7;if(_0x110dd5===_0x53ac4e(0x200))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x53ac4e(0x22d)](_0x560865);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x53ac4e(0x22d)](_0x560865);}
1
+ function a120_0x4fda(){const _0xc113e2=['796437lDPuIQ','175081mwTyIm','lockFilePath','sqlName','2298030kBhAWZ','totalCount','skipped','cancelled','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','14HKNSoB','str','filter','join','\x20skipped,\x20','Filter\x20by\x20SQL\x20display\x20name','bool','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','utf8','711960keETAU','mybatisXml','Force\x20pull\x20cancelled.','replace','sqlCode','name','1681168QTMkYx','trimStart','4VZcDmk','unchanged','description','tableData','pull','30dfALaA','message','catch','path','local\x20differs\x20from\x20remote','sqlRootDir','Force\x20overwrite\x20local\x20unsynced\x20changes','string','apps','sqlContent','sqlcode','length','dbId','would_pull','No\x20remote\x20SQL\x20queries\x20matched.','conflict','146366GVQETI','348NkmGvW','\x20SQL\x20file(s)\x20into\x20','sqls','force','492HXdkvj','sqlRoot','Pull\x20complete:\x20','push','8301uhqGuz','\x20failed','sql','test','appCode','toISOString','nonInteractive','\x20written,\x20'];a120_0x4fda=function(){return _0xc113e2;};return a120_0x4fda();}const a120_0x3be496=a120_0x57df;(function(_0x1507ed,_0x262cca){const _0x58d95f=a120_0x57df,_0x5b7c97=_0x1507ed();while(!![]){try{const _0x2b4e9f=parseInt(_0x58d95f(0x1dd))/0x1*(parseInt(_0x58d95f(0x1f6))/0x2)+-parseInt(_0x58d95f(0x1d4))/0x3*(parseInt(_0x58d95f(0x20c))/0x4)+parseInt(_0x58d95f(0x1ee))/0x5+-parseInt(_0x58d95f(0x1e0))/0x6+parseInt(_0x58d95f(0x1e5))/0x7*(-parseInt(_0x58d95f(0x1f4))/0x8)+-parseInt(_0x58d95f(0x1dc))/0x9*(-parseInt(_0x58d95f(0x1fb))/0xa)+parseInt(_0x58d95f(0x20b))/0xb*(parseInt(_0x58d95f(0x210))/0xc);if(_0x2b4e9f===_0x262cca)break;else _0x5b7c97['push'](_0x5b7c97['shift']());}catch(_0xcae58c){_0x5b7c97['push'](_0x5b7c97['shift']());}}}(a120_0x4fda,0x3f5e1));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';function a120_0x57df(_0xc1ee10,_0xb06903){_0xc1ee10=_0xc1ee10-0x1d2;const _0x4fdadf=a120_0x4fda();let _0x57df4d=_0x4fdadf[_0xc1ee10];return _0x57df4d;}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(_0x33ad98,_0x460f53){const _0x490ace=a120_0x57df,_0x39caa8=[];let _0x5589b8=0x1;while(!![]){const _0x23a1ee=await listSqlQueries(_0x33ad98,{'currentPage':_0x5589b8,'pageSize':PAGE_SIZE,'sqlCode':_0x460f53[_0x490ace(0x1f2)],'sqlName':_0x460f53[_0x490ace(0x1df)]}),_0x32f4a1=_0x23a1ee[_0x490ace(0x1f9)]??[];_0x39caa8['push'](..._0x32f4a1);if(_0x32f4a1[_0x490ace(0x206)]===0x0)break;const _0x4e5cf2=_0x23a1ee['paging']?.[_0x490ace(0x1e1)];if(_0x4e5cf2!=null?_0x39caa8['length']>=_0x4e5cf2:_0x32f4a1[_0x490ace(0x206)]<PAGE_SIZE)break;_0x5589b8++;}return _0x39caa8;}async function ensureSqlContent(_0x53d213){const _0x702ae3=a120_0x57df;if(_0x53d213[_0x702ae3(0x204)]!=null&&String(_0x53d213['sqlContent'])[_0x702ae3(0x206)]>0x0)return _0x53d213;return getSqlQueryDetail(_0x53d213['sqlCode']);}export const sqlPull={'service':a120_0x3be496(0x1d6),'command':a120_0x3be496(0x1fa),'description':a120_0x3be496(0x1e4),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a120_0x3be496(0x202),'description':a120_0x3be496(0x1ea)},{'name':a120_0x3be496(0x20f),'type':'boolean','description':a120_0x3be496(0x201)}],async 'dryRun'(_0x342bcc){const _0x2b9730=a120_0x3be496,_0x346750=loadSqlProjectConfig(_0x342bcc[_0x2b9730(0x1d8)]),_0x26872a=await readSqlLockFile(_0x346750[_0x2b9730(0x1de)]),{appLock:_0x504ed0}=ensureSqlLockScope(_0x26872a??createEmptySqlLock(),_0x346750['appCode'],_0x346750[_0x2b9730(0x211)],_0x2b9730(0x1fa)),_0x6b20af=await fetchAllSqlQueries(_0x342bcc[_0x2b9730(0x1d8)],{'sqlCode':_0x342bcc['str'](_0x2b9730(0x205))||undefined,'sqlName':_0x342bcc['str'](_0x2b9730(0x1f3))||undefined}),_0x1cb637=[];for(const _0x2e43d8 of _0x6b20af){const _0x48c181=await ensureSqlContent(_0x2e43d8),_0x27cf01=ensureRemoteSqlContent(_0x48c181),_0x165483=detectModeFromSql(_0x48c181),_0x47ac9e=_0x48c181[_0x2b9730(0x207)]?await getDbName(_0x342bcc[_0x2b9730(0x1d8)],Number(_0x48c181[_0x2b9730(0x207)]))[_0x2b9730(0x1fd)](()=>undefined):undefined,_0x3b6055=buildLocalSqlFileContent({'sqlCode':_0x48c181['sqlCode'],'sqlName':_0x48c181[_0x2b9730(0x1df)],'dbId':_0x48c181[_0x2b9730(0x207)]},_0x27cf01,{'dbName':_0x47ac9e,'mode':_0x165483,'syncedAt':new Date()[_0x2b9730(0x1d9)](),'description':_0x48c181['description']}),_0x2da9f2=buildSqlLockEntry(_0x48c181,_0x27cf01,'',{'dbName':_0x47ac9e}),_0x2b86dc=resolveLocalSqlFilePath(_0x346750,_0x48c181[_0x2b9730(0x1f2)],_0x2da9f2);let _0x1fae90=_0x2b9730(0x208),_0xa34836;if(await fileExists(_0x2b86dc)){const _0x1a3339=await readFile(_0x2b86dc,_0x2b9730(0x1ed));isEquivalentPulledSqlFile(_0x1a3339,_0x3b6055,_0x165483)?(_0x1fae90=_0x2b9730(0x1e2),_0xa34836=_0x2b9730(0x1f7)):(_0x1fae90=_0x2b9730(0x20a),_0xa34836='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x1cb637[_0x2b9730(0x1d3)]({'sqlCode':_0x48c181[_0x2b9730(0x1f2)],'sqlName':_0x48c181[_0x2b9730(0x1df)],'filePath':_0x2b86dc,'status':_0x1fae90,'reason':_0xa34836});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x342bcc[_0x2b9730(0x1d8)],'sqlCode':_0x342bcc[_0x2b9730(0x1e6)](_0x2b9730(0x205))||null,'sqlName':_0x342bcc[_0x2b9730(0x1e6)]('name')||null,'files':_0x1cb637},'description':'Would\x20pull\x20'+_0x1cb637[_0x2b9730(0x206)]+_0x2b9730(0x20d)+_0x346750[_0x2b9730(0x200)]};},async 'execute'(_0x3ca486){const _0x394fc0=a120_0x3be496,_0x188a0c=loadSqlProjectConfig(_0x3ca486[_0x394fc0(0x1d8)]),_0x4e75b9=await readSqlLockFile(_0x188a0c['lockFilePath']),{lockData:_0xd8f7f,appLock:_0x547c10}=ensureSqlLockScope(_0x4e75b9??createEmptySqlLock(),_0x188a0c['appCode'],_0x188a0c[_0x394fc0(0x211)],_0x394fc0(0x1fa)),_0x4f2398=_0x3ca486[_0x394fc0(0x1eb)]('force'),_0xd56ef1=await fetchAllSqlQueries(_0x3ca486[_0x394fc0(0x1d8)],{'sqlCode':_0x3ca486[_0x394fc0(0x1e6)](_0x394fc0(0x205))||undefined,'sqlName':_0x3ca486[_0x394fc0(0x1e6)](_0x394fc0(0x1f3))||undefined});if(_0xd56ef1[_0x394fc0(0x206)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x394fc0(0x209)};const _0x20e79d=[],_0x5ed36b=[];for(const _0x46521c of _0xd56ef1){try{_0x20e79d[_0x394fc0(0x1d3)](await ensureSqlContent(_0x46521c));}catch(_0x3aee6e){_0x5ed36b['push']({'sqlCode':_0x46521c[_0x394fc0(0x1f2)],'error':_0x3aee6e instanceof Error?_0x3aee6e['message']:String(_0x3aee6e)});}}if(_0x4f2398&&!_0x3ca486[_0x394fc0(0x1da)]){let _0x552c22=![];for(const _0x3e46c3 of _0x20e79d){const _0x30b0ab=detectModeFromSql(_0x3e46c3),_0x2f61f0=_0x3e46c3[_0x394fc0(0x207)]?await getDbName(_0x3ca486['appCode'],Number(_0x3e46c3[_0x394fc0(0x207)]))[_0x394fc0(0x1fd)](()=>undefined):undefined,_0x5dc59e=buildLocalSqlFileContent({'sqlCode':_0x3e46c3['sqlCode'],'sqlName':_0x3e46c3[_0x394fc0(0x1df)],'dbId':_0x3e46c3[_0x394fc0(0x207)]},ensureRemoteSqlContent(_0x3e46c3),{'dbName':_0x2f61f0,'mode':_0x30b0ab,'syncedAt':new Date()['toISOString'](),'description':_0x3e46c3['description']}),_0x2eb62d=resolveLocalSqlFilePath(_0x188a0c,_0x3e46c3[_0x394fc0(0x1f2)],buildSqlLockEntry(_0x3e46c3,ensureRemoteSqlContent(_0x3e46c3),'',{'dbName':_0x2f61f0}));if(await fileExists(_0x2eb62d)){const _0x23f682=await readFile(_0x2eb62d,_0x394fc0(0x1ed));if(!isEquivalentPulledSqlFile(_0x23f682,_0x5dc59e,_0x30b0ab)){_0x552c22=!![];break;}}}if(_0x552c22){const _0x31791e=await confirmForceOverwrite(_0x394fc0(0x1ec));if(!_0x31791e)throw CliErrors[_0x394fc0(0x1e3)](_0x394fc0(0x1f0));}}const _0x213ce3=cloneSqlLockData(_0xd8f7f),_0x22a2e4=_0x213ce3[_0x394fc0(0x203)][_0x188a0c[_0x394fc0(0x1d8)]],_0x195454=[],_0x2ea73c=[];for(const _0x2584c9 of _0x20e79d){const _0x5bad84=_0x22a2e4['sqls'][_0x2584c9[_0x394fc0(0x1f2)]],_0x2fe13a=ensureRemoteSqlContent(_0x2584c9),_0x186a19=detectModeFromSql(_0x2584c9),_0x2fd2fc=_0x2584c9[_0x394fc0(0x207)]?await getDbName(_0x3ca486[_0x394fc0(0x1d8)],Number(_0x2584c9[_0x394fc0(0x207)]))[_0x394fc0(0x1fd)](()=>undefined):undefined,_0x3feded=buildLocalSqlFileContent({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'sqlName':_0x2584c9[_0x394fc0(0x1df)],'dbId':_0x2584c9['dbId']},_0x2fe13a,{'dbName':_0x2fd2fc,'mode':_0x186a19,'syncedAt':new Date()[_0x394fc0(0x1d9)](),'description':_0x2584c9[_0x394fc0(0x1f8)]}),_0x86741b=buildSqlLockEntry(_0x2584c9,_0x2fe13a,computeSqlContentHash(_0x3feded),{'dbName':_0x2fd2fc}),_0x440d65=_0x86741b[_0x394fc0(0x1fe)],_0x2c40e7=join(_0x188a0c[_0x394fc0(0x200)],_0x440d65);try{if(await fileExists(_0x2c40e7)){const _0x1b46b8=await readFile(_0x2c40e7,_0x394fc0(0x1ed));if(isEquivalentPulledSqlFile(_0x1b46b8,_0x3feded,_0x186a19)){_0x2ea73c['push']({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'reason':_0x394fc0(0x1f7)}),_0x22a2e4[_0x394fc0(0x20e)][_0x2584c9['sqlCode']]={..._0x86741b,'hash':computeSqlContentHash(_0x1b46b8),'path':_0x440d65};continue;}if(!_0x4f2398){_0x2ea73c[_0x394fc0(0x1d3)]({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'reason':_0x394fc0(0x1ff)});continue;}}const _0x19ab79=_0x5bad84?.[_0x394fc0(0x1fe)]?join(_0x188a0c[_0x394fc0(0x200)],_0x5bad84[_0x394fc0(0x1fe)]):undefined;_0x19ab79&&_0x19ab79!==_0x2c40e7&&await fileExists(_0x19ab79)&&await rm(_0x19ab79,{'force':!![]}),await ensureParentDirectory(_0x2c40e7),await writeFile(_0x2c40e7,_0x3feded,_0x394fc0(0x1ed)),_0x22a2e4[_0x394fc0(0x20e)][_0x2584c9[_0x394fc0(0x1f2)]]={..._0x86741b,'path':_0x440d65},_0x195454[_0x394fc0(0x1d3)]({'sqlCode':_0x2584c9['sqlCode'],'filePath':_0x2c40e7});}catch(_0x42cde6){_0x5ed36b['push']({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'error':_0x42cde6 instanceof Error?_0x42cde6[_0x394fc0(0x1fc)]:String(_0x42cde6)});}}return _0x22a2e4['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x188a0c[_0x394fc0(0x1de)],_0x213ce3),{'ok':_0x5ed36b[_0x394fc0(0x206)]===0x0,'data':{'pulled':_0x195454,'skipped':_0x2ea73c,'failed':_0x5ed36b},'message':_0x394fc0(0x1d2)+_0x195454[_0x394fc0(0x206)]+_0x394fc0(0x1db)+_0x2ea73c[_0x394fc0(0x206)]+_0x394fc0(0x1e9)+_0x5ed36b['length']+_0x394fc0(0x1d5)};}};function detectModeFromSql(_0x3b021d){const _0x3093b4=a120_0x3be496,_0x250356=ensureRemoteSqlContent(_0x3b021d),_0x13a6da=stripLocalSqlMetadata(_0x250356,_0x3093b4(0x1ef))[_0x3093b4(0x1f5)]();if(/^<(select|insert|update|delete)\b/i[_0x3093b4(0x1d7)](_0x13a6da))return'mybatisXml';return'sql';}function isEquivalentPulledSqlFile(_0x20fd90,_0x4b4916,_0x3ab834){return normalizePullComparableContent(_0x20fd90,_0x3ab834)===normalizePullComparableContent(_0x4b4916,_0x3ab834);}function normalizePullComparableContent(_0x36d133,_0x529ae0){const _0xb7e9c1=a120_0x3be496,_0x5babc1=_0x36d133[_0xb7e9c1(0x1f1)](/\r\n/g,'\x0a')['split']('\x0a'),_0x4e7772=_0x5babc1[_0xb7e9c1(0x1e7)](_0x23b6c0=>!isSyncedAtMetadataLine(_0x23b6c0,_0x529ae0));return _0x4e7772[_0xb7e9c1(0x1e8)]('\x0a');}function isSyncedAtMetadataLine(_0x10f3a2,_0x47d655){const _0x51a1eb=a120_0x3be496;if(_0x47d655===_0x51a1eb(0x1ef))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x10f3a2);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x51a1eb(0x1d7)](_0x10f3a2);}