@lovrabet/rabetbase-cli 2.1.14-beta.2 → 2.1.14-beta.3

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 (202) 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/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/link-create.js +1 -1
  58. package/lib/commands/dataset/link-delete.js +1 -1
  59. package/lib/commands/dataset/link-shared.js +1 -1
  60. package/lib/commands/dataset/link-update.js +1 -1
  61. package/lib/commands/dataset/links.js +1 -1
  62. package/lib/commands/dataset/list.js +1 -1
  63. package/lib/commands/dataset/operations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/shared.js +1 -1
  103. package/lib/commands/page/standard-page-status.js +1 -1
  104. package/lib/commands/page/sync.js +1 -1
  105. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  106. package/lib/commands/project/create/format-elapsed.js +1 -1
  107. package/lib/commands/project/create/main.js +1 -1
  108. package/lib/commands/project/create/non-interactive.js +1 -1
  109. package/lib/commands/project/create/project-template-path.js +1 -1
  110. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  111. package/lib/commands/project/create/use-format-code.js +1 -1
  112. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  113. package/lib/commands/project/index.js +1 -1
  114. package/lib/commands/project/init.js +1 -1
  115. package/lib/commands/project/upgrade.js +1 -1
  116. package/lib/commands/registry.js +1 -1
  117. package/lib/commands/run/index.js +1 -1
  118. package/lib/commands/schema.js +1 -1
  119. package/lib/commands/skill/index.js +1 -1
  120. package/lib/commands/sql/create.js +1 -1
  121. package/lib/commands/sql/delete.js +1 -1
  122. package/lib/commands/sql/detail.js +1 -1
  123. package/lib/commands/sql/exec.js +1 -1
  124. package/lib/commands/sql/index.js +1 -1
  125. package/lib/commands/sql/list.js +1 -1
  126. package/lib/commands/sql/pull.js +1 -1
  127. package/lib/commands/sql/push.js +1 -1
  128. package/lib/commands/sql/save.js +1 -1
  129. package/lib/commands/sql/shared.js +1 -1
  130. package/lib/commands/sql/status.js +1 -1
  131. package/lib/commands/sql/validate.js +1 -1
  132. package/lib/config/schema.js +1 -1
  133. package/lib/constant/cdn.js +1 -1
  134. package/lib/constant/cli.js +1 -1
  135. package/lib/constant/defaults.js +1 -1
  136. package/lib/constant/domain.js +1 -1
  137. package/lib/constant/env.js +1 -1
  138. package/lib/constant/output.js +1 -1
  139. package/lib/constant/paths.js +1 -1
  140. package/lib/constant/risk.js +1 -1
  141. package/lib/context.js +1 -1
  142. package/lib/core/alias-resolver.js +1 -1
  143. package/lib/core/api-client.js +1 -1
  144. package/lib/core/bff/config.js +1 -1
  145. package/lib/core/bff/file-system.js +1 -1
  146. package/lib/core/bff/hash.js +1 -1
  147. package/lib/core/bff/lock.js +1 -1
  148. package/lib/core/bff/utils.js +1 -1
  149. package/lib/core/db-resolver.js +1 -1
  150. package/lib/core/page/file-system.js +1 -1
  151. package/lib/core/page/hash.js +1 -1
  152. package/lib/core/page/lock.js +1 -1
  153. package/lib/core/sql-sync/config.js +1 -1
  154. package/lib/core/sql-sync/file-system.js +1 -1
  155. package/lib/core/sql-sync/hash.js +1 -1
  156. package/lib/core/sql-sync/lock.js +1 -1
  157. package/lib/core/sql-sync/utils.js +1 -1
  158. package/lib/core/sql-validator.js +1 -1
  159. package/lib/errors.js +1 -1
  160. package/lib/framework/build-all-flags.js +1 -1
  161. package/lib/framework/flags.js +1 -1
  162. package/lib/framework/help.js +1 -1
  163. package/lib/framework/index.js +1 -1
  164. package/lib/framework/output.js +1 -1
  165. package/lib/framework/response.js +1 -1
  166. package/lib/framework/runner-alias.js +1 -1
  167. package/lib/framework/runner.js +1 -1
  168. package/lib/framework/schema-export.js +1 -1
  169. package/lib/framework/types.js +1 -1
  170. package/lib/generated/build-info.js +1 -1
  171. package/lib/help.js +1 -1
  172. package/lib/skills/main.js +1 -1
  173. package/lib/skills/npx-skills-add.js +1 -1
  174. package/lib/telemetry/cli-command-trace.js +1 -1
  175. package/lib/telemetry/cli-help-trace.js +1 -1
  176. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  177. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  178. package/lib/telemetry/send-cli-trace-log.js +1 -1
  179. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  180. package/lib/utils/ai_config.js +1 -1
  181. package/lib/utils/apply-jq-filter.js +1 -1
  182. package/lib/utils/cdn-config.js +1 -1
  183. package/lib/utils/check-sdk-version.js +1 -1
  184. package/lib/utils/cli-version-check.js +1 -1
  185. package/lib/utils/cli-version-policy.js +1 -1
  186. package/lib/utils/config.js +1 -1
  187. package/lib/utils/copy-directory.js +1 -1
  188. package/lib/utils/entity-with-id.js +1 -1
  189. package/lib/utils/file-utils.js +1 -1
  190. package/lib/utils/guides-cdn.js +1 -1
  191. package/lib/utils/http-client.js +1 -1
  192. package/lib/utils/is-non-interactive.js +1 -1
  193. package/lib/utils/logger.js +1 -1
  194. package/lib/utils/params.js +1 -1
  195. package/lib/utils/platform.js +1 -1
  196. package/lib/utils/rules-cdn.js +1 -1
  197. package/lib/utils/sleep.js +1 -1
  198. package/lib/utils/template-replacer.js +1 -1
  199. package/lib/utils/version.js +1 -1
  200. package/lib/utils/with-active-cookie.js +1 -1
  201. package/lib/utils/write-cli-side-channel.js +1 -1
  202. package/package.json +1 -1
@@ -1 +1 @@
1
- function a115_0x3352(){const _0x3d9968=['inherit','64696oiaUGl','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x204/7:\x20Cleaning\x20MCP\x20config...','needsSkillSwap','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Step\x20','parse','\x20\x20New\x20config\x20(.rabetbase.json):\x20','lovrabet/rabetbase\x20installed\x20globally','CANCEL','\x20→\x20','gray','.cursor/mcp.json','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','filter','keys','skipped\x20(no\x20legacy\x20config)','utf8','hasNewConfig','isDirectory','skipped','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','succeed','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','fail','\x20\x20npm\x20install','push','label','lovrabet/rabetbase','green','yes','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20\x20\x20\x20\x20\x20\x20','cyan','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','502962kyhPAH','package.json','args','includes','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','oldPath','start','needed','Clean\x20MCP\x20config','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Legacy\x20artifacts:','===\x20Upgrade\x20Summary\x20===','105ToCFNE','object','.lovrabet','failed','error','\x20from\x20','not\x20found\x20or\x20already\x20at\x20latest','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20→\x20keys:\x20','detail','87459eJLbdw','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','done','length','no\x20matching\x20entry\x20found','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','34656vyFZTD','sdkUpgrade','Remove\x20.lovrabet/','undefined','already\x20exists\x20(will\x20merge)','3257170mCvrdV','not\x20needed','mcpServers','.bak','Remove\x20old\x20skill','12410892idyuhn','@lovrabet/sdk','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','MCP\x20config:','@lovrabet/sdk:','46IQbcdg','@lovrabet/dataset-mcp-server','Step\x205/7:\x20Removing\x20old\x20skill...','status','\x20\x20#\x20or','Proceed\x20with\x20upgrade?','oldMcpConfig','10dlAAZe','path','\x20\x20Current\x20version\x20in\x20','files','log','message','not\x20found\x20(will\x20create)','red','stringify','FAIL','string','white','Upgrade\x20cancelled.','isArray','some','bold','exit\x20','6052528NyCWjZ','yellow','\x20→\x20latest','.claude/skills/lovrabet','join','\x20removed','devDependencies','configMigration','fields','step','removed\x20','cwd','Upgrade\x20completed\x20successfully!','latest','FOUND','Config\x20migration','oldArtifacts','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x201/7:\x20Config\x20migration\x20—\x20','entries','Upgrade\x20@lovrabet/sdk'];a115_0x3352=function(){return _0x3d9968;};return a115_0x3352();}const a115_0x411376=a115_0x150d;(function(_0x5b2038,_0x20bd6b){const _0x1c116b=a115_0x150d,_0x22b904=_0x5b2038();while(!![]){try{const _0x6679e1=parseInt(_0x1c116b(0x21f))/0x1+-parseInt(_0x1c116b(0x22e))/0x2*(-parseInt(_0x1c116b(0x219))/0x3)+parseInt(_0x1c116b(0x1df))/0x4*(-parseInt(_0x1c116b(0x20f))/0x5)+-parseInt(_0x1c116b(0x203))/0x6+-parseInt(_0x1c116b(0x224))/0x7+-parseInt(_0x1c116b(0x246))/0x8+parseInt(_0x1c116b(0x229))/0x9*(parseInt(_0x1c116b(0x235))/0xa);if(_0x6679e1===_0x20bd6b)break;else _0x22b904['push'](_0x22b904['shift']());}catch(_0x104d57){_0x22b904['push'](_0x22b904['shift']());}}}(a115_0x3352,0x6b216));import a115_0x586797 from'chalk';import a115_0x4e291e from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a115_0x150d(_0x4a4ef3,_0x4cd806){_0x4a4ef3=_0x4a4ef3-0x1d8;const _0x33528b=a115_0x3352();let _0x150dbd=_0x33528b[_0x4a4ef3];return _0x150dbd;}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[a115_0x411376(0x1ed)](_0x424c89=>_0x424c89!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x28b9cf){const _0x5676e8=a115_0x411376,_0x12796b=[];for(const _0x54a222 of Object['values'](CORE_IDE_CONFIGS)){if(_0x54a222[_0x5676e8(0x238)])for(const _0x3e1804 of _0x54a222[_0x5676e8(0x238)]){_0x12796b[_0x5676e8(0x1f9)](resolve(_0x28b9cf,_0x3e1804['path']));}}return _0x12796b;}function analyse(_0x373087){const _0x3f520f=a115_0x411376;let _0x2beb7f=null;const _0x17ff81=resolve(_0x373087,NEW_CONFIG_NAME),_0x24e46e=existsSync(_0x17ff81);for(const _0x405019 of LEGACY_CONFIG_NAMES){const _0x18d32c=resolve(_0x373087,_0x405019);if(existsSync(_0x18d32c)){const _0x49fc26=readConfigFile(_0x18d32c),_0x157371=Object[_0x3f520f(0x1ee)](_0x49fc26)[_0x3f520f(0x1ed)](_0x1deae1=>typeof _0x49fc26[_0x1deae1]!==_0x3f520f(0x222));_0x2beb7f={'oldPath':_0x18d32c,'hasNewConfig':_0x24e46e,'fields':_0x157371};break;}}const _0x30df35=[],_0x42e442=resolve(_0x373087,_0x3f520f(0x211));if(existsSync(_0x42e442))_0x30df35[_0x3f520f(0x1f9)](_0x42e442);const _0x478a97=resolve(_0x373087,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x478a97))_0x30df35[_0x3f520f(0x1f9)](_0x478a97);const _0x1eca90=resolve(_0x373087,_0x3f520f(0x249));if(existsSync(_0x1eca90))_0x30df35[_0x3f520f(0x1f9)](_0x1eca90);for(const _0x19f5e3 of collectIdeSkillFiles(_0x373087)){if(existsSync(_0x19f5e3))_0x30df35[_0x3f520f(0x1f9)](_0x19f5e3);}let _0x4400f2=null;const _0x547980=resolve(_0x373087,_0x3f520f(0x1eb));if(existsSync(_0x547980))try{const _0x12e49c=JSON['parse'](readFileSync(_0x547980,_0x3f520f(0x1f0)));if(_0x12e49c?.[_0x3f520f(0x226)]&&typeof _0x12e49c[_0x3f520f(0x226)]==='object'){const _0x5d7505=[];for(const [_0x5144f4,_0xd49b81]of Object[_0x3f520f(0x1dc)](_0x12e49c[_0x3f520f(0x226)])){const _0x4cdce2=_0xd49b81;_0x4cdce2?.[_0x3f520f(0x205)]&&Array[_0x3f520f(0x242)](_0x4cdce2['args'])&&_0x4cdce2[_0x3f520f(0x205)][_0x3f520f(0x243)](_0x2dde92=>typeof _0x2dde92===_0x3f520f(0x23f)&&_0x2dde92[_0x3f520f(0x206)](_0x3f520f(0x22f)))&&_0x5d7505[_0x3f520f(0x1f9)](_0x5144f4);}_0x5d7505[_0x3f520f(0x21c)]>0x0&&(_0x4400f2={'path':_0x547980,'keys':_0x5d7505});}}catch{}const _0x271da6=_0x30df35['length']>0x0||_0x2beb7f!==null;let _0x47dcda=null;const _0x327121=resolve(_0x373087,_0x3f520f(0x204));if(existsSync(_0x327121))try{const _0x4a2663=JSON['parse'](readFileSync(_0x327121,_0x3f520f(0x1f0)));for(const _0x294700 of['dependencies',_0x3f520f(0x24c)]){const _0x515780=_0x4a2663?.[_0x294700]?.[_0x3f520f(0x22a)];if(typeof _0x515780===_0x3f520f(0x23f)){_0x515780!==_0x3f520f(0x253)&&(_0x47dcda={'pkgPath':_0x327121,'currentVersion':_0x515780,'field':_0x294700});break;}}}catch{}return{'configMigration':_0x2beb7f,'oldArtifacts':_0x30df35,'oldMcpConfig':_0x4400f2,'needsSkillSwap':_0x271da6,'sdkUpgrade':_0x47dcda};}function printReport(_0x241c11){const _0x33eeef=a115_0x411376,{configMigration:_0x1f74c2,oldArtifacts:_0x331581,oldMcpConfig:_0x1fb2f1,needsSkillSwap:_0x2a880d}=_0x241c11;console[_0x33eeef(0x239)](''),console['log'](a115_0x586797[_0x33eeef(0x244)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x33eeef(0x239)]('');_0x1f74c2?(console[_0x33eeef(0x239)](a115_0x586797[_0x33eeef(0x200)]('Config\x20file:')+('\x20\x20'+a115_0x586797[_0x33eeef(0x247)](_0x1f74c2[_0x33eeef(0x208)]))),console[_0x33eeef(0x239)](_0x33eeef(0x1e6)+(_0x1f74c2[_0x33eeef(0x1f1)]?a115_0x586797[_0x33eeef(0x1fc)](_0x33eeef(0x223)):a115_0x586797[_0x33eeef(0x1ea)](_0x33eeef(0x23b)))),console[_0x33eeef(0x239)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x1f74c2[_0x33eeef(0x24e)][_0x33eeef(0x24a)](',\x20')),console[_0x33eeef(0x239)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console['log'](a115_0x586797[_0x33eeef(0x200)]('Config\x20file:')+'\x20\x20'+a115_0x586797['gray']('no\x20legacy\x20config\x20found'));console[_0x33eeef(0x239)]('');if(_0x331581[_0x33eeef(0x21c)]>0x0){console['log'](a115_0x586797[_0x33eeef(0x200)](_0x33eeef(0x20d)));for(const _0x2d7971 of _0x331581){console['log']('\x20\x20'+a115_0x586797[_0x33eeef(0x23c)](_0x33eeef(0x254))+'\x20\x20'+_0x2d7971);}console[_0x33eeef(0x239)]('\x20\x20Action:\x20delete');}else console[_0x33eeef(0x239)](a115_0x586797[_0x33eeef(0x200)](_0x33eeef(0x20d))+'\x20\x20'+a115_0x586797['gray']('none\x20found'));console[_0x33eeef(0x239)]('');_0x1fb2f1?(console['log'](a115_0x586797[_0x33eeef(0x200)](_0x33eeef(0x22c))+('\x20\x20'+a115_0x586797[_0x33eeef(0x247)](_0x1fb2f1[_0x33eeef(0x236)])+_0x33eeef(0x217)+_0x1fb2f1[_0x33eeef(0x1ee)][_0x33eeef(0x24a)](',\x20'))),console[_0x33eeef(0x239)](_0x33eeef(0x216))):console['log'](a115_0x586797['cyan']('MCP\x20config:')+'\x20\x20'+a115_0x586797['gray']('no\x20legacy\x20entry'));console[_0x33eeef(0x239)](''),console[_0x33eeef(0x239)](a115_0x586797[_0x33eeef(0x200)]('Skill\x20swap:')+('\x20\x20'+(_0x2a880d?a115_0x586797[_0x33eeef(0x247)](_0x33eeef(0x20a)):a115_0x586797[_0x33eeef(0x1fc)](_0x33eeef(0x225)))));_0x2a880d&&console[_0x33eeef(0x239)](_0x33eeef(0x1f4)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x241c11[_0x33eeef(0x220)]){const {currentVersion:_0x3991e7,field:_0x5bea99,pkgPath:_0x593a60}=_0x241c11['sdkUpgrade'];console['log'](a115_0x586797['cyan']('@lovrabet/sdk:')+('\x20\x20'+a115_0x586797[_0x33eeef(0x247)](_0x593a60))),console[_0x33eeef(0x239)](_0x33eeef(0x237)+_0x5bea99+':\x20'+a115_0x586797[_0x33eeef(0x247)](_0x3991e7)+_0x33eeef(0x1e9)+a115_0x586797['green'](_0x33eeef(0x253))),console[_0x33eeef(0x239)](_0x33eeef(0x201));}else console[_0x33eeef(0x239)](a115_0x586797[_0x33eeef(0x200)](_0x33eeef(0x22d))+'\x20\x20'+a115_0x586797[_0x33eeef(0x1ea)](_0x33eeef(0x215)));console[_0x33eeef(0x239)]('');}function execConfigMigration(_0x465f2d,_0x4f1618){const _0x4e7818=a115_0x411376,{configMigration:_0x284ee3}=_0x465f2d;if(!_0x284ee3?.[_0x4e7818(0x208)])return{'step':0x1,'label':_0x4e7818(0x1d8),'ok':!![],'detail':_0x4e7818(0x1ef)};const _0x5ce7cc=readConfigFile(_0x284ee3[_0x4e7818(0x208)]),_0x4101fd=resolve(_0x4f1618,NEW_CONFIG_NAME),_0xf3032=_0x284ee3[_0x4e7818(0x1f1)]?readConfigFile(_0x4101fd):{};for(const [_0x303f85,_0x413662]of Object[_0x4e7818(0x1dc)](_0x5ce7cc)){!(_0x303f85 in _0xf3032)&&(_0xf3032[_0x303f85]=_0x413662);}writeConfigFile(_0x4101fd,_0xf3032);const _0x4bc694=_0x284ee3[_0x4e7818(0x208)]+_0x4e7818(0x227);return renameSync(_0x284ee3[_0x4e7818(0x208)],_0x4bc694),{'step':0x1,'label':_0x4e7818(0x1d8),'ok':!![],'detail':_0x284ee3[_0x4e7818(0x208)]+_0x4e7818(0x1e9)+_0x4101fd+'\x20(backup:\x20'+_0x4bc694+')'};}function execRemoveOldArtifacts(_0x1f790d){const _0x24289d=a115_0x411376,_0x5cb606=[];for(const _0x266a03 of _0x1f790d){try{if(!existsSync(_0x266a03))continue;const _0x399a9e=tryStat(_0x266a03);_0x399a9e?.[_0x24289d(0x1f2)]()?rmSync(_0x266a03,{'recursive':!![],'force':!![]}):unlinkSync(_0x266a03);}catch(_0x481984){_0x5cb606[_0x24289d(0x1f9)](_0x266a03+':\x20'+_0x481984[_0x24289d(0x23a)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x5cb606['length']===0x0,'detail':_0x5cb606[_0x24289d(0x21c)]>0x0?_0x1f790d[_0x24289d(0x21c)]-_0x5cb606[_0x24289d(0x21c)]+'/'+_0x1f790d[_0x24289d(0x21c)]+'\x20removed\x20('+_0x5cb606['join'](';\x20')+')':_0x1f790d[_0x24289d(0x21c)]+_0x24289d(0x24b)};}function execCleanMcp(_0x45c9da){const _0x983941=a115_0x411376;if(!_0x45c9da[_0x983941(0x234)])return{'step':0x4,'label':_0x983941(0x20b),'ok':!![],'detail':_0x983941(0x1f3)};try{const _0x1687dd=readFileSync(_0x45c9da[_0x983941(0x234)][_0x983941(0x236)],_0x983941(0x1f0)),_0x4e4a6f=JSON['parse'](_0x1687dd);if(_0x4e4a6f?.[_0x983941(0x226)]&&typeof _0x4e4a6f['mcpServers']===_0x983941(0x210)){const _0x8d01ed=[];for(const [_0x9a6b7b,_0x24f8e1]of Object[_0x983941(0x1dc)](_0x4e4a6f[_0x983941(0x226)])){_0x24f8e1?.['args']&&Array[_0x983941(0x242)](_0x24f8e1['args'])&&_0x24f8e1[_0x983941(0x205)]['some'](_0x21a3c1=>typeof _0x21a3c1===_0x983941(0x23f)&&_0x21a3c1[_0x983941(0x206)](_0x983941(0x22f)))&&_0x8d01ed[_0x983941(0x1f9)](_0x9a6b7b);}for(const _0x4e1678 of _0x8d01ed){delete _0x4e4a6f[_0x983941(0x226)][_0x4e1678];}return _0x8d01ed[_0x983941(0x21c)]>0x0&&writeFileSync(_0x45c9da[_0x983941(0x234)][_0x983941(0x236)],JSON[_0x983941(0x23d)](_0x4e4a6f,null,0x2)+'\x0a',_0x983941(0x1f0)),{'step':0x4,'label':_0x983941(0x20b),'ok':!![],'detail':_0x983941(0x250)+_0x8d01ed[_0x983941(0x24a)](',\x20')+_0x983941(0x214)+_0x45c9da[_0x983941(0x234)][_0x983941(0x236)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x983941(0x21d)};}catch(_0x422789){return{'step':0x4,'label':_0x983941(0x20b),'ok':![],'detail':_0x422789[_0x983941(0x23a)]};}}function execSkillsRemove(_0x14cf2b,_0x11a47f){const _0x41b624=a115_0x411376,_0x483730=runNpxSkillsRemove(_0x14cf2b,{'stdio':_0x41b624(0x1de),'yes':_0x11a47f});return{'step':0x5,'label':_0x41b624(0x228),'ok':_0x483730['ok'],'detail':_0x483730['ok']?'lovrabet/lovrabet-skill\x20removed':_0x483730[_0x41b624(0x213)]??_0x41b624(0x245)+_0x483730[_0x41b624(0x231)]};}function execSkillsAdd(_0x1a015a,_0x300b90){const _0xf01e61=a115_0x411376,_0x127085=runNpxSkillsAddGlobal(_0x1a015a,_0xf01e61(0x1fb),{'stdio':_0xf01e61(0x1de),'yes':_0x300b90});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x127085['ok'],'detail':_0x127085['ok']?_0xf01e61(0x1e7):_0x127085[_0xf01e61(0x213)]??_0xf01e61(0x245)+_0x127085['status']};}function execUpgradeSdk(_0x406198){const _0x16fd9d=a115_0x411376;if(!_0x406198[_0x16fd9d(0x220)])return{'step':0x7,'label':_0x16fd9d(0x1dd),'ok':!![],'detail':_0x16fd9d(0x202)};const {pkgPath:_0x4d84b2,currentVersion:_0x5c4c6f,field:_0x1b7e88}=_0x406198[_0x16fd9d(0x220)];try{const _0x1a97cb=readFileSync(_0x4d84b2,_0x16fd9d(0x1f0)),_0x117c7f=JSON[_0x16fd9d(0x1e5)](_0x1a97cb);return _0x117c7f[_0x1b7e88]['@lovrabet/sdk']=_0x16fd9d(0x253),writeFileSync(_0x4d84b2,JSON['stringify'](_0x117c7f,null,0x2)+'\x0a',_0x16fd9d(0x1f0)),{'step':0x7,'label':_0x16fd9d(0x1dd),'ok':!![],'detail':_0x1b7e88+'[\x22@lovrabet/sdk\x22]:\x20'+_0x5c4c6f+_0x16fd9d(0x248)};}catch(_0x2fc151){return{'step':0x7,'label':_0x16fd9d(0x1dd),'ok':![],'detail':_0x2fc151[_0x16fd9d(0x23a)]};}}function tryStat(_0x1d8be7){try{return statSync(_0x1d8be7);}catch{return undefined;}}function printSummary(_0x6d36c1){const _0x3e8621=a115_0x411376;console['log'](''),console[_0x3e8621(0x239)](a115_0x586797[_0x3e8621(0x244)](_0x3e8621(0x20e))),console[_0x3e8621(0x239)]('');for(const _0x200b5b of _0x6d36c1){const _0x37597a=_0x200b5b['ok']?a115_0x586797['green']('OK'):a115_0x586797[_0x3e8621(0x23c)](_0x3e8621(0x23e));console[_0x3e8621(0x239)]('\x20\x20'+_0x37597a+_0x3e8621(0x1e4)+_0x200b5b[_0x3e8621(0x24f)]+':\x20'+_0x200b5b[_0x3e8621(0x1fa)]);if(_0x200b5b[_0x3e8621(0x218)])console[_0x3e8621(0x239)](_0x3e8621(0x1ff)+a115_0x586797['gray'](_0x200b5b[_0x3e8621(0x218)]));}console[_0x3e8621(0x239)]('');}export async function upgradeApp(_0x5a46a4,_0x50108b){const _0x58af5c=a115_0x411376,_0x35a9ab=process[_0x58af5c(0x251)](),_0x5e8f22=analyse(_0x35a9ab),_0x13be67=!_0x5e8f22[_0x58af5c(0x24d)]&&_0x5e8f22[_0x58af5c(0x1d9)][_0x58af5c(0x21c)]===0x0&&!_0x5e8f22['oldMcpConfig']&&!_0x5e8f22[_0x58af5c(0x1e2)]&&!_0x5e8f22['sdkUpgrade'];if(_0x13be67){console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x1fc)](_0x58af5c(0x1fe)));return;}printReport(_0x5e8f22);const _0x475af0=!!(_0x50108b[_0x58af5c(0x1fd)]||_0x50108b['Y']||_0x5a46a4);if(!_0x475af0)try{const _0x292cfc=await askConfirm(_0x58af5c(0x233));if(!_0x292cfc){console[_0x58af5c(0x239)](a115_0x586797['gray'](_0x58af5c(0x241)));return;}}catch(_0x4c9657){if(_0x4c9657?.[_0x58af5c(0x23a)]===_0x58af5c(0x1e8)){console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x1ea)](_0x58af5c(0x241)));return;}throw _0x4c9657;}const _0x3dd3c4=[],_0x29f9c5=a115_0x4e291e({'text':'Step\x201/7:\x20Migrating\x20config...','color':'cyan'})[_0x58af5c(0x209)](),_0x1084ad=execConfigMigration(_0x5e8f22,_0x35a9ab);_0x3dd3c4[_0x58af5c(0x1f9)](_0x1084ad),_0x29f9c5[_0x1084ad['ok']?'succeed':_0x58af5c(0x1f7)](_0x58af5c(0x1db)+(_0x1084ad[_0x58af5c(0x218)]??(_0x1084ad['ok']?_0x58af5c(0x21b):_0x58af5c(0x212))));const _0x21869=resolve(_0x35a9ab,'.lovrabet'),_0x3ee119=a115_0x4e291e({'text':_0x58af5c(0x1da),'color':'cyan'})[_0x58af5c(0x209)]();if(existsSync(_0x21869))try{rmSync(_0x21869,{'recursive':!![],'force':!![]}),_0x3ee119['succeed'](_0x58af5c(0x21e)),_0x3dd3c4[_0x58af5c(0x1f9)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x53b47a){_0x3ee119[_0x58af5c(0x1f7)](_0x58af5c(0x22b)+_0x53b47a['message']),_0x3dd3c4[_0x58af5c(0x1f9)]({'step':0x2,'label':_0x58af5c(0x221),'ok':![],'detail':_0x53b47a[_0x58af5c(0x23a)]});}else _0x3ee119['info'](_0x58af5c(0x1f6)),_0x3dd3c4[_0x58af5c(0x1f9)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x58af5c(0x1f3)});const _0x28df1a=a115_0x4e291e({'text':_0x58af5c(0x1ec),'color':'cyan'})[_0x58af5c(0x209)](),_0x5b2e0f=execRemoveOldArtifacts(_0x5e8f22[_0x58af5c(0x1d9)]);_0x3dd3c4['push'](_0x5b2e0f),_0x28df1a[_0x5b2e0f['ok']?_0x58af5c(0x1f5):_0x58af5c(0x1f7)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x5b2e0f['detail']??(_0x5b2e0f['ok']?'done':_0x58af5c(0x212))));const _0x1161d6=a115_0x4e291e({'text':_0x58af5c(0x1e1),'color':_0x58af5c(0x200)})[_0x58af5c(0x209)](),_0x2a827b=execCleanMcp(_0x5e8f22);_0x3dd3c4[_0x58af5c(0x1f9)](_0x2a827b),_0x1161d6[_0x2a827b['ok']?_0x58af5c(0x1f5):_0x58af5c(0x1f7)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x2a827b[_0x58af5c(0x218)]??(_0x2a827b['ok']?'done':_0x58af5c(0x212))));const _0x1f7a13=a115_0x4e291e({'text':_0x58af5c(0x230),'color':_0x58af5c(0x200)})[_0x58af5c(0x209)](),_0x53d97b=execSkillsRemove(_0x35a9ab,_0x475af0);_0x3dd3c4['push'](_0x53d97b),_0x1f7a13[_0x53d97b['ok']?'succeed':_0x58af5c(0x1f7)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x53d97b[_0x58af5c(0x218)]??(_0x53d97b['ok']?_0x58af5c(0x21b):_0x58af5c(0x212))));const _0x3b1ab0=a115_0x4e291e({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x58af5c(0x200)})[_0x58af5c(0x209)](),_0x5f1796=execSkillsAdd(_0x35a9ab,_0x475af0);_0x3dd3c4[_0x58af5c(0x1f9)](_0x5f1796),_0x3b1ab0[_0x5f1796['ok']?_0x58af5c(0x1f5):'fail'](_0x58af5c(0x1e0)+(_0x5f1796[_0x58af5c(0x218)]??(_0x5f1796['ok']?_0x58af5c(0x21b):_0x58af5c(0x212))));const _0x315784=a115_0x4e291e({'text':_0x58af5c(0x20c),'color':'cyan'})['start'](),_0x2d0734=execUpgradeSdk(_0x5e8f22);_0x3dd3c4[_0x58af5c(0x1f9)](_0x2d0734),_0x315784[_0x2d0734['ok']?_0x58af5c(0x1f5):_0x58af5c(0x1f7)](_0x58af5c(0x207)+(_0x2d0734['detail']??(_0x2d0734['ok']?_0x58af5c(0x21b):_0x58af5c(0x212)))),printSummary(_0x3dd3c4);const _0x4fe1c8=_0x3dd3c4[_0x58af5c(0x243)](_0xfa9df6=>!_0xfa9df6['ok']);_0x4fe1c8?console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x247)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console['log'](a115_0x586797[_0x58af5c(0x1fc)](_0x58af5c(0x252))),_0x2d0734['ok']&&_0x5e8f22[_0x58af5c(0x220)]&&(console[_0x58af5c(0x239)](''),console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x244)][_0x58af5c(0x200)](_0x58af5c(0x1e3))),console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x200)](_0x58af5c(0x21a))),console['log'](''),console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x240)](_0x58af5c(0x1f8))),console[_0x58af5c(0x239)](a115_0x586797[_0x58af5c(0x240)](_0x58af5c(0x232))),console['log'](a115_0x586797['white']('\x20\x20bun\x20install')),console[_0x58af5c(0x239)](''));}
1
+ const a115_0x4c8ab7=a115_0x4f04;(function(_0x1d4174,_0x548711){const _0x27645f=a115_0x4f04,_0x34d9c7=_0x1d4174();while(!![]){try{const _0x50b9aa=parseInt(_0x27645f(0x1b6))/0x1+-parseInt(_0x27645f(0x1b5))/0x2+parseInt(_0x27645f(0x1a8))/0x3+-parseInt(_0x27645f(0x1c2))/0x4*(parseInt(_0x27645f(0x1a5))/0x5)+-parseInt(_0x27645f(0x19f))/0x6+-parseInt(_0x27645f(0x18b))/0x7+parseInt(_0x27645f(0x1a6))/0x8;if(_0x50b9aa===_0x548711)break;else _0x34d9c7['push'](_0x34d9c7['shift']());}catch(_0x1283fc){_0x34d9c7['push'](_0x34d9c7['shift']());}}}(a115_0x24f1,0x6fd99));import a115_0x3bc237 from'chalk';import a115_0x35aa69 from'ora';function a115_0x4f04(_0x4787d8,_0x533c95){_0x4787d8=_0x4787d8-0x155;const _0x24f186=a115_0x24f1();let _0x4f04b4=_0x24f186[_0x4787d8];return _0x4f04b4;}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a115_0x24f1(){const _0x23cf43=['removed\x20','files','fields','\x20removed\x20(','succeed','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Skill\x20swap:','parse','\x20\x20Fields\x20to\x20migrate:\x20','Upgrade\x20completed\x20successfully!','cwd','FOUND','push','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','length','@lovrabet/sdk','join','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','utf8','none\x20found','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','fail','lovrabet/rabetbase','isArray','hasNewConfig','label','\x20\x20Step\x20','lovrabet/rabetbase\x20installed\x20globally','\x20\x20bun\x20install','not\x20found\x20or\x20already\x20at\x20latest','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20→\x20','oldMcpConfig','\x20\x20Action:\x20delete','white','latest','no\x20legacy\x20config\x20found','string','\x20→\x20keys:\x20','yellow','2996434DUkfgh','inherit','object','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','lovrabet/lovrabet-skill\x20removed','Remove\x20old\x20skill','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','failed','step','not\x20needed','Remove\x20legacy\x20artifacts','includes','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','path','\x20\x20Current\x20version\x20in\x20','===\x20Upgrade\x20Analysis\x20===','Upgrade\x20@lovrabet/sdk','bold','needed','4708734SgaRqL','oldArtifacts','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','.lovrabet','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','detail','62575TwNurr','8748776ftQgoQ','green','184068oUuIgY','\x20\x20#\x20or','red','Remove\x20.lovrabet/','not\x20found\x20(will\x20create)','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','dependencies','gray','Config\x20migration','Legacy\x20artifacts:','Step\x201/7:\x20Config\x20migration\x20—\x20','keys','Proceed\x20with\x20upgrade?','486398pgNmzn','771749yZuHar','Step\x204/7:\x20Cleaning\x20MCP\x20config...','exit\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','Step\x204/7:\x20MCP\x20config\x20—\x20','args','already\x20exists\x20(will\x20merge)','skipped','info','cyan','log','mcpServers','4axUGbq','\x20\x20New\x20config\x20(.rabetbase.json):\x20','sdkUpgrade','needsSkillSwap','entries','\x20→\x20latest','error','isDirectory','===\x20Upgrade\x20Summary\x20===','configMigration','Clean\x20MCP\x20config','.bak','Step\x206/7:\x20Installing\x20new\x20skill...','Upgrade\x20cancelled.','Config\x20file:','@lovrabet/dataset-mcp-server','done','start','FAIL','message','@lovrabet/sdk:','no\x20matching\x20entry\x20found','.claude/skills/lovrabet','filter','oldPath','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','some','.cursor/mcp.json'];a115_0x24f1=function(){return _0x23cf43;};return a115_0x24f1();}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[a115_0x4c8ab7(0x15d)](_0xc735b1=>_0xc735b1!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5e2a54){const _0x22b247=a115_0x4c8ab7,_0x18d18c=[];for(const _0x34d690 of Object['values'](CORE_IDE_CONFIGS)){if(_0x34d690['files'])for(const _0x1e6776 of _0x34d690[_0x22b247(0x163)]){_0x18d18c['push'](resolve(_0x5e2a54,_0x1e6776['path']));}}return _0x18d18c;}function analyse(_0x12dcac){const _0x168c75=a115_0x4c8ab7;let _0x5e76b6=null;const _0xc0e1ef=resolve(_0x12dcac,NEW_CONFIG_NAME),_0x3cb783=existsSync(_0xc0e1ef);for(const _0x3196ee of LEGACY_CONFIG_NAMES){const _0x34ea6a=resolve(_0x12dcac,_0x3196ee);if(existsSync(_0x34ea6a)){const _0x5ce93b=readConfigFile(_0x34ea6a),_0x1e5c26=Object[_0x168c75(0x1b3)](_0x5ce93b)[_0x168c75(0x15d)](_0x49f9a3=>typeof _0x5ce93b[_0x49f9a3]!=='undefined');_0x5e76b6={'oldPath':_0x34ea6a,'hasNewConfig':_0x3cb783,'fields':_0x1e5c26};break;}}const _0x3dae8a=[],_0x39c2b5=resolve(_0x12dcac,_0x168c75(0x1a2));if(existsSync(_0x39c2b5))_0x3dae8a[_0x168c75(0x16e)](_0x39c2b5);const _0x112727=resolve(_0x12dcac,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x112727))_0x3dae8a[_0x168c75(0x16e)](_0x112727);const _0x3783c0=resolve(_0x12dcac,_0x168c75(0x15c));if(existsSync(_0x3783c0))_0x3dae8a[_0x168c75(0x16e)](_0x3783c0);for(const _0x13109c of collectIdeSkillFiles(_0x12dcac)){if(existsSync(_0x13109c))_0x3dae8a['push'](_0x13109c);}let _0x39c905=null;const _0x1c900d=resolve(_0x12dcac,_0x168c75(0x161));if(existsSync(_0x1c900d))try{const _0x5242db=JSON[_0x168c75(0x169)](readFileSync(_0x1c900d,_0x168c75(0x175)));if(_0x5242db?.[_0x168c75(0x1c1)]&&typeof _0x5242db[_0x168c75(0x1c1)]===_0x168c75(0x18d)){const _0x4d25b7=[];for(const [_0x32d779,_0x299961]of Object[_0x168c75(0x1c6)](_0x5242db[_0x168c75(0x1c1)])){const _0x226931=_0x299961;_0x226931?.[_0x168c75(0x1bb)]&&Array[_0x168c75(0x17a)](_0x226931[_0x168c75(0x1bb)])&&_0x226931['args'][_0x168c75(0x160)](_0x301fe1=>typeof _0x301fe1===_0x168c75(0x188)&&_0x301fe1[_0x168c75(0x196)](_0x168c75(0x155)))&&_0x4d25b7['push'](_0x32d779);}_0x4d25b7['length']>0x0&&(_0x39c905={'path':_0x1c900d,'keys':_0x4d25b7});}}catch{}const _0x13d126=_0x3dae8a[_0x168c75(0x171)]>0x0||_0x5e76b6!==null;let _0x121263=null;const _0x4499bf=resolve(_0x12dcac,'package.json');if(existsSync(_0x4499bf))try{const _0x2a21c2=JSON[_0x168c75(0x169)](readFileSync(_0x4499bf,_0x168c75(0x175)));for(const _0x233a11 of[_0x168c75(0x1ae),'devDependencies']){const _0x3945f4=_0x2a21c2?.[_0x233a11]?.[_0x168c75(0x172)];if(typeof _0x3945f4===_0x168c75(0x188)){_0x3945f4!==_0x168c75(0x186)&&(_0x121263={'pkgPath':_0x4499bf,'currentVersion':_0x3945f4,'field':_0x233a11});break;}}}catch{}return{'configMigration':_0x5e76b6,'oldArtifacts':_0x3dae8a,'oldMcpConfig':_0x39c905,'needsSkillSwap':_0x13d126,'sdkUpgrade':_0x121263};}function printReport(_0x272ae5){const _0x275dc9=a115_0x4c8ab7,{configMigration:_0x140a0d,oldArtifacts:_0xa5a668,oldMcpConfig:_0x3d627d,needsSkillSwap:_0xeb58a8}=_0x272ae5;console[_0x275dc9(0x1c0)](''),console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x19d)](_0x275dc9(0x19b))),console[_0x275dc9(0x1c0)]('');_0x140a0d?(console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x1d0))+('\x20\x20'+a115_0x3bc237[_0x275dc9(0x18a)](_0x140a0d['oldPath']))),console[_0x275dc9(0x1c0)](_0x275dc9(0x1c3)+(_0x140a0d[_0x275dc9(0x17b)]?a115_0x3bc237[_0x275dc9(0x1a7)](_0x275dc9(0x1bc)):a115_0x3bc237[_0x275dc9(0x1af)](_0x275dc9(0x1ac)))),console[_0x275dc9(0x1c0)](_0x275dc9(0x16a)+_0x140a0d[_0x275dc9(0x164)][_0x275dc9(0x173)](',\x20')),console['log'](_0x275dc9(0x191))):console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x1d0))+'\x20\x20'+a115_0x3bc237[_0x275dc9(0x1af)](_0x275dc9(0x187)));console[_0x275dc9(0x1c0)]('');if(_0xa5a668['length']>0x0){console['log'](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x1b1)));for(const _0x1411b7 of _0xa5a668){console['log']('\x20\x20'+a115_0x3bc237[_0x275dc9(0x1aa)](_0x275dc9(0x16d))+'\x20\x20'+_0x1411b7);}console['log'](_0x275dc9(0x184));}else console['log'](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x1b1))+'\x20\x20'+a115_0x3bc237[_0x275dc9(0x1af)](_0x275dc9(0x176)));console[_0x275dc9(0x1c0)]('');_0x3d627d?(console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)]('MCP\x20config:')+('\x20\x20'+a115_0x3bc237[_0x275dc9(0x18a)](_0x3d627d[_0x275dc9(0x199)])+_0x275dc9(0x189)+_0x3d627d[_0x275dc9(0x1b3)]['join'](',\x20'))),console[_0x275dc9(0x1c0)](_0x275dc9(0x15f))):console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)]('MCP\x20config:')+'\x20\x20'+a115_0x3bc237[_0x275dc9(0x1af)]('no\x20legacy\x20entry'));console[_0x275dc9(0x1c0)](''),console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x168))+('\x20\x20'+(_0xeb58a8?a115_0x3bc237['yellow'](_0x275dc9(0x19e)):a115_0x3bc237[_0x275dc9(0x1a7)](_0x275dc9(0x194)))));_0xeb58a8&&console[_0x275dc9(0x1c0)](_0x275dc9(0x167)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x275dc9(0x1c0)]('');if(_0x272ae5['sdkUpgrade']){const {currentVersion:_0x4064f6,field:_0xbae771,pkgPath:_0x27941f}=_0x272ae5[_0x275dc9(0x1c4)];console[_0x275dc9(0x1c0)](a115_0x3bc237['cyan'](_0x275dc9(0x15a))+('\x20\x20'+a115_0x3bc237[_0x275dc9(0x18a)](_0x27941f))),console['log'](_0x275dc9(0x19a)+_0xbae771+':\x20'+a115_0x3bc237[_0x275dc9(0x18a)](_0x4064f6)+_0x275dc9(0x182)+a115_0x3bc237['green'](_0x275dc9(0x186))),console[_0x275dc9(0x1c0)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x275dc9(0x1c0)](a115_0x3bc237[_0x275dc9(0x1bf)](_0x275dc9(0x15a))+'\x20\x20'+a115_0x3bc237['gray'](_0x275dc9(0x180)));console[_0x275dc9(0x1c0)]('');}function execConfigMigration(_0x316c69,_0x14bb01){const _0x39b5ab=a115_0x4c8ab7,{configMigration:_0x1e8bb2}=_0x316c69;if(!_0x1e8bb2?.[_0x39b5ab(0x15e)])return{'step':0x1,'label':_0x39b5ab(0x1b0),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x490890=readConfigFile(_0x1e8bb2[_0x39b5ab(0x15e)]),_0x44a5d1=resolve(_0x14bb01,NEW_CONFIG_NAME),_0x5e10ec=_0x1e8bb2['hasNewConfig']?readConfigFile(_0x44a5d1):{};for(const [_0x2b3bd0,_0x37edb8]of Object[_0x39b5ab(0x1c6)](_0x490890)){!(_0x2b3bd0 in _0x5e10ec)&&(_0x5e10ec[_0x2b3bd0]=_0x37edb8);}writeConfigFile(_0x44a5d1,_0x5e10ec);const _0x4321b3=_0x1e8bb2[_0x39b5ab(0x15e)]+_0x39b5ab(0x1cd);return renameSync(_0x1e8bb2[_0x39b5ab(0x15e)],_0x4321b3),{'step':0x1,'label':_0x39b5ab(0x1b0),'ok':!![],'detail':_0x1e8bb2['oldPath']+_0x39b5ab(0x182)+_0x44a5d1+'\x20(backup:\x20'+_0x4321b3+')'};}function execRemoveOldArtifacts(_0x3dd7a8){const _0x28313c=a115_0x4c8ab7,_0x1c4d75=[];for(const _0x52389c of _0x3dd7a8){try{if(!existsSync(_0x52389c))continue;const _0x1da06c=tryStat(_0x52389c);_0x1da06c?.[_0x28313c(0x1c9)]()?rmSync(_0x52389c,{'recursive':!![],'force':!![]}):unlinkSync(_0x52389c);}catch(_0x7c5ff8){_0x1c4d75[_0x28313c(0x16e)](_0x52389c+':\x20'+_0x7c5ff8['message']);}}return{'step':0x3,'label':_0x28313c(0x195),'ok':_0x1c4d75['length']===0x0,'detail':_0x1c4d75[_0x28313c(0x171)]>0x0?_0x3dd7a8['length']-_0x1c4d75[_0x28313c(0x171)]+'/'+_0x3dd7a8['length']+_0x28313c(0x165)+_0x1c4d75['join'](';\x20')+')':_0x3dd7a8[_0x28313c(0x171)]+'\x20removed'};}function execCleanMcp(_0x564659){const _0x117180=a115_0x4c8ab7;if(!_0x564659[_0x117180(0x183)])return{'step':0x4,'label':_0x117180(0x1cc),'ok':!![],'detail':'skipped'};try{const _0x2acd9e=readFileSync(_0x564659[_0x117180(0x183)][_0x117180(0x199)],_0x117180(0x175)),_0x1f4922=JSON['parse'](_0x2acd9e);if(_0x1f4922?.['mcpServers']&&typeof _0x1f4922[_0x117180(0x1c1)]===_0x117180(0x18d)){const _0x605f69=[];for(const [_0x32fe72,_0x2a9d09]of Object['entries'](_0x1f4922[_0x117180(0x1c1)])){_0x2a9d09?.[_0x117180(0x1bb)]&&Array[_0x117180(0x17a)](_0x2a9d09[_0x117180(0x1bb)])&&_0x2a9d09[_0x117180(0x1bb)][_0x117180(0x160)](_0x5ae6eb=>typeof _0x5ae6eb===_0x117180(0x188)&&_0x5ae6eb[_0x117180(0x196)](_0x117180(0x155)))&&_0x605f69[_0x117180(0x16e)](_0x32fe72);}for(const _0x3f8c39 of _0x605f69){delete _0x1f4922[_0x117180(0x1c1)][_0x3f8c39];}return _0x605f69['length']>0x0&&writeFileSync(_0x564659[_0x117180(0x183)][_0x117180(0x199)],JSON['stringify'](_0x1f4922,null,0x2)+'\x0a',_0x117180(0x175)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x117180(0x162)+_0x605f69['join'](',\x20')+'\x20from\x20'+_0x564659[_0x117180(0x183)]['path']};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x117180(0x15b)};}catch(_0x1d424c){return{'step':0x4,'label':_0x117180(0x1cc),'ok':![],'detail':_0x1d424c[_0x117180(0x159)]};}}function execSkillsRemove(_0x1d41b9,_0x3923bf){const _0x38c541=a115_0x4c8ab7,_0x195303=runNpxSkillsRemove(_0x1d41b9,{'stdio':'inherit','yes':_0x3923bf});return{'step':0x5,'label':_0x38c541(0x190),'ok':_0x195303['ok'],'detail':_0x195303['ok']?_0x38c541(0x18f):_0x195303[_0x38c541(0x1c8)]??_0x38c541(0x1b8)+_0x195303['status']};}function execSkillsAdd(_0x5b0df8,_0x1b5b7c){const _0x3a47da=a115_0x4c8ab7,_0xd1c22=runNpxSkillsAddGlobal(_0x5b0df8,_0x3a47da(0x179),{'stdio':_0x3a47da(0x18c),'yes':_0x1b5b7c});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0xd1c22['ok'],'detail':_0xd1c22['ok']?_0x3a47da(0x17e):_0xd1c22[_0x3a47da(0x1c8)]??_0x3a47da(0x1b8)+_0xd1c22['status']};}function execUpgradeSdk(_0x4f0dd1){const _0x369e74=a115_0x4c8ab7;if(!_0x4f0dd1[_0x369e74(0x1c4)])return{'step':0x7,'label':_0x369e74(0x19c),'ok':!![],'detail':_0x369e74(0x197)};const {pkgPath:_0x5968a0,currentVersion:_0x1cd585,field:_0x3d698b}=_0x4f0dd1[_0x369e74(0x1c4)];try{const _0x10f25c=readFileSync(_0x5968a0,'utf8'),_0x372cd4=JSON[_0x369e74(0x169)](_0x10f25c);return _0x372cd4[_0x3d698b][_0x369e74(0x172)]=_0x369e74(0x186),writeFileSync(_0x5968a0,JSON['stringify'](_0x372cd4,null,0x2)+'\x0a',_0x369e74(0x175)),{'step':0x7,'label':_0x369e74(0x19c),'ok':!![],'detail':_0x3d698b+'[\x22@lovrabet/sdk\x22]:\x20'+_0x1cd585+_0x369e74(0x1c7)};}catch(_0x1455e9){return{'step':0x7,'label':_0x369e74(0x19c),'ok':![],'detail':_0x1455e9[_0x369e74(0x159)]};}}function tryStat(_0xa5ac84){try{return statSync(_0xa5ac84);}catch{return undefined;}}function printSummary(_0x1b90e8){const _0x5c7080=a115_0x4c8ab7;console[_0x5c7080(0x1c0)](''),console[_0x5c7080(0x1c0)](a115_0x3bc237[_0x5c7080(0x19d)](_0x5c7080(0x1ca))),console['log']('');for(const _0x37dd2a of _0x1b90e8){const _0x5f476c=_0x37dd2a['ok']?a115_0x3bc237['green']('OK'):a115_0x3bc237[_0x5c7080(0x1aa)](_0x5c7080(0x158));console[_0x5c7080(0x1c0)]('\x20\x20'+_0x5f476c+_0x5c7080(0x17d)+_0x37dd2a[_0x5c7080(0x193)]+':\x20'+_0x37dd2a[_0x5c7080(0x17c)]);if(_0x37dd2a[_0x5c7080(0x1a4)])console[_0x5c7080(0x1c0)]('\x20\x20\x20\x20\x20\x20\x20'+a115_0x3bc237[_0x5c7080(0x1af)](_0x37dd2a['detail']));}console['log']('');}export async function upgradeApp(_0x114ddb,_0x3792f5){const _0x2883cc=a115_0x4c8ab7,_0x107bee=process[_0x2883cc(0x16c)](),_0x1b67c3=analyse(_0x107bee),_0xdf78b5=!_0x1b67c3[_0x2883cc(0x1cb)]&&_0x1b67c3['oldArtifacts'][_0x2883cc(0x171)]===0x0&&!_0x1b67c3[_0x2883cc(0x183)]&&!_0x1b67c3[_0x2883cc(0x1c5)]&&!_0x1b67c3[_0x2883cc(0x1c4)];if(_0xdf78b5){console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x1a7)](_0x2883cc(0x198)));return;}printReport(_0x1b67c3);const _0x4ba554=!!(_0x3792f5['yes']||_0x3792f5['Y']||_0x114ddb);if(!_0x4ba554)try{const _0x20d149=await askConfirm(_0x2883cc(0x1b4));if(!_0x20d149){console['log'](a115_0x3bc237[_0x2883cc(0x1af)](_0x2883cc(0x1cf)));return;}}catch(_0x449d91){if(_0x449d91?.[_0x2883cc(0x159)]==='CANCEL'){console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x1af)](_0x2883cc(0x1cf)));return;}throw _0x449d91;}const _0x221b35=[],_0x286c98=a115_0x35aa69({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)](),_0x2b5c71=execConfigMigration(_0x1b67c3,_0x107bee);_0x221b35[_0x2883cc(0x16e)](_0x2b5c71),_0x286c98[_0x2b5c71['ok']?_0x2883cc(0x166):_0x2883cc(0x178)](_0x2883cc(0x1b2)+(_0x2b5c71[_0x2883cc(0x1a4)]??(_0x2b5c71['ok']?'done':_0x2883cc(0x192))));const _0x445bdb=resolve(_0x107bee,_0x2883cc(0x1a2)),_0x44c4dd=a115_0x35aa69({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)]();if(existsSync(_0x445bdb))try{rmSync(_0x445bdb,{'recursive':!![],'force':!![]}),_0x44c4dd[_0x2883cc(0x166)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x221b35['push']({'step':0x2,'label':_0x2883cc(0x1ab),'ok':!![]});}catch(_0x103a41){_0x44c4dd[_0x2883cc(0x178)](_0x2883cc(0x170)+_0x103a41[_0x2883cc(0x159)]),_0x221b35['push']({'step':0x2,'label':_0x2883cc(0x1ab),'ok':![],'detail':_0x103a41[_0x2883cc(0x159)]});}else _0x44c4dd[_0x2883cc(0x1be)](_0x2883cc(0x1b9)),_0x221b35[_0x2883cc(0x16e)]({'step':0x2,'label':_0x2883cc(0x1ab),'ok':!![],'detail':_0x2883cc(0x1bd)});const _0x37fe27=a115_0x35aa69({'text':_0x2883cc(0x174),'color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)](),_0x3dd0f4=execRemoveOldArtifacts(_0x1b67c3[_0x2883cc(0x1a0)]);_0x221b35[_0x2883cc(0x16e)](_0x3dd0f4),_0x37fe27[_0x3dd0f4['ok']?_0x2883cc(0x166):'fail'](_0x2883cc(0x1a1)+(_0x3dd0f4[_0x2883cc(0x1a4)]??(_0x3dd0f4['ok']?'done':_0x2883cc(0x192))));const _0x33035b=a115_0x35aa69({'text':_0x2883cc(0x1b7),'color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)](),_0x405ac2=execCleanMcp(_0x1b67c3);_0x221b35[_0x2883cc(0x16e)](_0x405ac2),_0x33035b[_0x405ac2['ok']?_0x2883cc(0x166):_0x2883cc(0x178)](_0x2883cc(0x1ba)+(_0x405ac2[_0x2883cc(0x1a4)]??(_0x405ac2['ok']?_0x2883cc(0x156):_0x2883cc(0x192))));const _0x2a3319=a115_0x35aa69({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})[_0x2883cc(0x157)](),_0x30d347=execSkillsRemove(_0x107bee,_0x4ba554);_0x221b35[_0x2883cc(0x16e)](_0x30d347),_0x2a3319[_0x30d347['ok']?_0x2883cc(0x166):_0x2883cc(0x178)](_0x2883cc(0x18e)+(_0x30d347[_0x2883cc(0x1a4)]??(_0x30d347['ok']?_0x2883cc(0x156):_0x2883cc(0x192))));const _0x5e1b2b=a115_0x35aa69({'text':_0x2883cc(0x1ce),'color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)](),_0x22e23c=execSkillsAdd(_0x107bee,_0x4ba554);_0x221b35[_0x2883cc(0x16e)](_0x22e23c),_0x5e1b2b[_0x22e23c['ok']?_0x2883cc(0x166):_0x2883cc(0x178)](_0x2883cc(0x1ad)+(_0x22e23c[_0x2883cc(0x1a4)]??(_0x22e23c['ok']?_0x2883cc(0x156):_0x2883cc(0x192))));const _0x46ff3d=a115_0x35aa69({'text':_0x2883cc(0x1a3),'color':_0x2883cc(0x1bf)})[_0x2883cc(0x157)](),_0x41fc74=execUpgradeSdk(_0x1b67c3);_0x221b35[_0x2883cc(0x16e)](_0x41fc74),_0x46ff3d[_0x41fc74['ok']?'succeed':'fail'](_0x2883cc(0x181)+(_0x41fc74['detail']??(_0x41fc74['ok']?_0x2883cc(0x156):_0x2883cc(0x192)))),printSummary(_0x221b35);const _0x5382d4=_0x221b35[_0x2883cc(0x160)](_0x2eba4b=>!_0x2eba4b['ok']);_0x5382d4?console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x18a)](_0x2883cc(0x177))):console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x1a7)](_0x2883cc(0x16b))),_0x41fc74['ok']&&_0x1b67c3[_0x2883cc(0x1c4)]&&(console[_0x2883cc(0x1c0)](''),console['log'](a115_0x3bc237[_0x2883cc(0x19d)]['cyan'](_0x2883cc(0x16f))),console[_0x2883cc(0x1c0)](a115_0x3bc237['cyan']('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x2883cc(0x1c0)](''),console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x185)]('\x20\x20npm\x20install')),console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x185)](_0x2883cc(0x1a9))),console[_0x2883cc(0x1c0)](a115_0x3bc237[_0x2883cc(0x185)](_0x2883cc(0x17f))),console[_0x2883cc(0x1c0)](''));}
@@ -1 +1 @@
1
- const a116_0x42ee10=a116_0x41af;(function(_0x2487e9,_0x252bd1){const _0x40d492=a116_0x41af,_0x38784f=_0x2487e9();while(!![]){try{const _0x48ed18=-parseInt(_0x40d492(0x143))/0x1*(-parseInt(_0x40d492(0x127))/0x2)+parseInt(_0x40d492(0x135))/0x3+-parseInt(_0x40d492(0x147))/0x4*(parseInt(_0x40d492(0x12c))/0x5)+-parseInt(_0x40d492(0x141))/0x6+parseInt(_0x40d492(0x130))/0x7*(-parseInt(_0x40d492(0x129))/0x8)+-parseInt(_0x40d492(0x121))/0x9*(parseInt(_0x40d492(0x12d))/0xa)+parseInt(_0x40d492(0x12a))/0xb;if(_0x48ed18===_0x252bd1)break;else _0x38784f['push'](_0x38784f['shift']());}catch(_0x221255){_0x38784f['push'](_0x38784f['shift']());}}}(a116_0x202a,0x66b78));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a116_0x41af(_0x43c744,_0x26ca34){_0x43c744=_0x43c744-0x115;const _0x202a96=a116_0x202a();let _0x41aff7=_0x202a96[_0x43c744];return _0x41aff7;}export const serviceGroups=new Map();function registerDefinitions(_0x2a5317){const _0x4e77da=a116_0x41af;for(const _0x412bca of _0x2a5317){definitions[_0x4e77da(0x13c)](_0x412bca[_0x4e77da(0x13f)]+':'+_0x412bca['command'],_0x412bca);let _0x1f428d=serviceGroups[_0x4e77da(0x11c)](_0x412bca['service']);!_0x1f428d&&(_0x1f428d=[],serviceGroups['set'](_0x412bca['service'],_0x1f428d)),_0x1f428d[_0x4e77da(0x126)](_0x412bca);}}function registerDeclarativeService(_0x75bd15,_0x432f2f,_0x1f25b7){const _0x5960bd=a116_0x41af;registerDefinitions(_0x432f2f);_0x1f25b7?.['wildcardDef']&&registerDefinitions([_0x1f25b7['wildcardDef']]);const _0xf1bf57=_0x36eef9=>_0x36eef9===_0x5960bd(0x136)?'':_0x36eef9===_0x5960bd(0x11d)?_0x5960bd(0x133):_0x5960bd(0x117),_0x1ed0e2={'service':_0x432f2f[0x0][_0x5960bd(0x13f)],'label':_0x75bd15,'commands':_0x432f2f['map'](_0x8073f9=>({'command':_0x8073f9['command'],'description':_0x8073f9[_0x5960bd(0x120)],'tag':_0xf1bf57(_0x8073f9[_0x5960bd(0x137)])})),'declarative':!![],'defaultCommand':_0x1f25b7?.[_0x5960bd(0x14b)]??(_0x1f25b7?.[_0x5960bd(0x14a)]?_0x432f2f[0x0][_0x5960bd(0x11e)]:undefined),'wildcardDef':_0x1f25b7?.['wildcardDef'],'isSingleCommand':_0x1f25b7?.[_0x5960bd(0x14a)]};serviceRegistry[_0x5960bd(0x126)](_0x1ed0e2),serviceByName[_0x5960bd(0x13c)](_0x1ed0e2[_0x5960bd(0x13f)],_0x1ed0e2);}registerDeclarativeService(a116_0x42ee10(0x140),initDefinitions,{'defaultCommand':a116_0x42ee10(0x148),'isSingleCommand':!![]}),registerDeclarativeService(a116_0x42ee10(0x138),projectDefinitions),registerDeclarativeService(a116_0x42ee10(0x131),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});function a116_0x202a(){const _0x295789=['Instant\x20API','\x20\x20[write]','Platform\x20Issue','546960rLuROZ','read','risk','Project','logout','Dataset\x20&\x20Operations','Logs','set','start','install','service','Quick\x20Start','12300lvfoUl','build','140766pLArwh','create','Self\x20Update','Code\x20Generation','4xgHmVv','run','Authentication','isSingleCommand','defaultCommand','wildcardDef','values','show','auth','preview','\x20\x20[high-risk-write]','Diagnostics','login','commands','has','get','write','command','from','description','9jImNlz','Run\x20any\x20package.json\x20script','length','Configuration','API','push','6oMvxag','Menu','5223208IBsgbU','21782519tquKtv','Smart\x20List\x20Pages','3879395UDnYHE','7332890LmZfJl','project','Database\x20Connections','7OJbJBN','App\x20Management'];a116_0x202a=function(){return _0x295789;};return a116_0x202a();}{const last=serviceRegistry[serviceRegistry[a116_0x42ee10(0x123)]-0x1];last[a116_0x42ee10(0x11a)]=[{'command':'<script>','description':a116_0x42ee10(0x122),'tag':''}];}registerDeclarativeService(a116_0x42ee10(0x149),authDefinitions,{'defaultCommand':a116_0x42ee10(0x119)}),registerDeclarativeService(a116_0x42ee10(0x145),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a116_0x42ee10(0x118),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a116_0x42ee10(0x124),configDefinitions),registerDeclarativeService(a116_0x42ee10(0x134),issueDefinitions),registerDeclarativeService(a116_0x42ee10(0x125),apiDefinitions),registerDeclarativeService(a116_0x42ee10(0x128),menuDefinitions),registerDeclarativeService(a116_0x42ee10(0x12f),dbDefinitions),registerDeclarativeService(a116_0x42ee10(0x13a),datasetDefinitions),registerDeclarativeService(a116_0x42ee10(0x12b),pageDefinitions),registerDeclarativeService(a116_0x42ee10(0x132),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a116_0x42ee10(0x146),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a116_0x42ee10(0x13b),logsDefinitions,{'defaultCommand':a116_0x42ee10(0x14e)});export const deprecatedAliases={'create':{'service':a116_0x42ee10(0x12e),'command':'create'},'start':{'service':a116_0x42ee10(0x148),'command':a116_0x42ee10(0x13d)},'build':{'service':a116_0x42ee10(0x148),'command':a116_0x42ee10(0x142)},'preview':{'service':a116_0x42ee10(0x148),'command':a116_0x42ee10(0x116)},'logout':{'service':a116_0x42ee10(0x115),'command':a116_0x42ee10(0x139)},'skills':{'service':'skill','command':a116_0x42ee10(0x13e)}};export const deprecatedSubcommands={'bff':{'new':a116_0x42ee10(0x144)},'sql':{'new':a116_0x42ee10(0x144)}};export function resolveDeprecatedSubcommand(_0x3adaf6,_0x1a4e6b){return deprecatedSubcommands[_0x3adaf6]?.[_0x1a4e6b];}export function findDefinition(_0x3137bb,_0xed710e){return definitions['get'](_0x3137bb+':'+_0xed710e);}export function isKnownService(_0x4155e7){const _0x10073a=a116_0x42ee10;return serviceByName[_0x10073a(0x11b)](_0x4155e7);}export function isDeclarativeService(_0x263066){const _0x3f21af=a116_0x42ee10;return serviceGroups['has'](_0x263066)||serviceByName[_0x3f21af(0x11c)](_0x263066)?.[_0x3f21af(0x14c)]!==undefined;}export function getServiceEntry(_0x198309){const _0x39b5a0=a116_0x42ee10;return serviceByName[_0x39b5a0(0x11c)](_0x198309);}export function getLegacyHandler(_0x593c02,_0x89f5fb){return undefined;}export function getAllDefinitions(){const _0x287e31=a116_0x42ee10;return Array[_0x287e31(0x11f)](definitions[_0x287e31(0x14d)]());}
1
+ const a116_0x4faa8b=a116_0x2d76;(function(_0x1271f8,_0xdb89d7){const _0x35da53=a116_0x2d76,_0x19601b=_0x1271f8();while(!![]){try{const _0xf8a1f0=parseInt(_0x35da53(0x1f8))/0x1+parseInt(_0x35da53(0x201))/0x2*(parseInt(_0x35da53(0x1f4))/0x3)+-parseInt(_0x35da53(0x21a))/0x4+parseInt(_0x35da53(0x221))/0x5*(parseInt(_0x35da53(0x20a))/0x6)+parseInt(_0x35da53(0x1fd))/0x7+-parseInt(_0x35da53(0x220))/0x8*(parseInt(_0x35da53(0x1fb))/0x9)+-parseInt(_0x35da53(0x218))/0xa;if(_0xf8a1f0===_0xdb89d7)break;else _0x19601b['push'](_0x19601b['shift']());}catch(_0x736310){_0x19601b['push'](_0x19601b['shift']());}}}(a116_0x576b,0x18cce));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 a116_0x2d76(_0x508e84,_0x488dd9){_0x508e84=_0x508e84-0x1ef;const _0x576b8e=a116_0x576b();let _0x2d7663=_0x576b8e[_0x508e84];return _0x2d7663;}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';function a116_0x576b(){const _0x1a8edc=['Menu','36252FQKied','Code\x20Generation','auth','51165phplXs','Platform\x20Issue','895650tMSxZP','Dataset\x20&\x20Operations','show','service','1050nGgjrp','Configuration','create','App\x20Management','skill','\x20\x20[high-risk-write]','start','write','read','773070fTUCNZ','SQL\x20Queries','description','commands','from','defaultCommand','Logs','isSingleCommand','Quick\x20Start','set','build','risk','run','Authentication','1090830rvXyJq','command','796808COslkg','logout','Diagnostics','values','wildcardDef','push','24PPoXGh','5FfcNGA','login','install','Run\x20any\x20package.json\x20script','Instant\x20API','has','765vbxUDi','Skills','get'];a116_0x576b=function(){return _0x1a8edc;};return a116_0x576b();}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(_0x18e0f7){const _0x9ce34b=a116_0x2d76;for(const _0x59f155 of _0x18e0f7){definitions[_0x9ce34b(0x213)](_0x59f155[_0x9ce34b(0x200)]+':'+_0x59f155[_0x9ce34b(0x219)],_0x59f155);let _0x4a8c6b=serviceGroups[_0x9ce34b(0x1f6)](_0x59f155[_0x9ce34b(0x200)]);!_0x4a8c6b&&(_0x4a8c6b=[],serviceGroups[_0x9ce34b(0x213)](_0x59f155[_0x9ce34b(0x200)],_0x4a8c6b)),_0x4a8c6b[_0x9ce34b(0x21f)](_0x59f155);}}function registerDeclarativeService(_0x47828c,_0x16febf,_0x1bb5b3){const _0x10194b=a116_0x2d76;registerDefinitions(_0x16febf);_0x1bb5b3?.[_0x10194b(0x21e)]&&registerDefinitions([_0x1bb5b3[_0x10194b(0x21e)]]);const _0x112329=_0x1cd7de=>_0x1cd7de===_0x10194b(0x209)?'':_0x1cd7de===_0x10194b(0x208)?'\x20\x20[write]':_0x10194b(0x206),_0x1fae8b={'service':_0x16febf[0x0][_0x10194b(0x200)],'label':_0x47828c,'commands':_0x16febf['map'](_0x289b2c=>({'command':_0x289b2c[_0x10194b(0x219)],'description':_0x289b2c[_0x10194b(0x20c)],'tag':_0x112329(_0x289b2c[_0x10194b(0x215)])})),'declarative':!![],'defaultCommand':_0x1bb5b3?.[_0x10194b(0x20f)]??(_0x1bb5b3?.[_0x10194b(0x211)]?_0x16febf[0x0]['command']:undefined),'wildcardDef':_0x1bb5b3?.[_0x10194b(0x21e)],'isSingleCommand':_0x1bb5b3?.[_0x10194b(0x211)]};serviceRegistry[_0x10194b(0x21f)](_0x1fae8b),serviceByName['set'](_0x1fae8b[_0x10194b(0x200)],_0x1fae8b);}registerDeclarativeService(a116_0x4faa8b(0x212),initDefinitions,{'defaultCommand':a116_0x4faa8b(0x216),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a116_0x4faa8b(0x204),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a116_0x4faa8b(0x20d)]=[{'command':'<script>','description':a116_0x4faa8b(0x1f1),'tag':''}];}registerDeclarativeService(a116_0x4faa8b(0x217),authDefinitions,{'defaultCommand':a116_0x4faa8b(0x1ef)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a116_0x4faa8b(0x21c),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a116_0x4faa8b(0x202),configDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1fc),issueDefinitions),registerDeclarativeService('API',apiDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1f7),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1fe),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1f2),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a116_0x4faa8b(0x20b),sqlDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1f9),codegenDefinitions),registerDeclarativeService(a116_0x4faa8b(0x1f5),skillDefinitions),registerDeclarativeService(a116_0x4faa8b(0x210),logsDefinitions,{'defaultCommand':a116_0x4faa8b(0x1ff)});export const deprecatedAliases={'create':{'service':'project','command':a116_0x4faa8b(0x203)},'start':{'service':a116_0x4faa8b(0x216),'command':a116_0x4faa8b(0x207)},'build':{'service':a116_0x4faa8b(0x216),'command':a116_0x4faa8b(0x214)},'preview':{'service':'run','command':'preview'},'logout':{'service':a116_0x4faa8b(0x1fa),'command':a116_0x4faa8b(0x21b)},'skills':{'service':a116_0x4faa8b(0x205),'command':a116_0x4faa8b(0x1f0)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0xa8ea6,_0x1cc023){return deprecatedSubcommands[_0xa8ea6]?.[_0x1cc023];}export function findDefinition(_0x3e2b3a,_0xede2f2){return definitions['get'](_0x3e2b3a+':'+_0xede2f2);}export function isKnownService(_0x16f4f5){return serviceByName['has'](_0x16f4f5);}export function isDeclarativeService(_0x4c7dbf){const _0x21764b=a116_0x4faa8b;return serviceGroups[_0x21764b(0x1f3)](_0x4c7dbf)||serviceByName['get'](_0x4c7dbf)?.[_0x21764b(0x21e)]!==undefined;}export function getServiceEntry(_0x1370a6){const _0x29388f=a116_0x4faa8b;return serviceByName[_0x29388f(0x1f6)](_0x1370a6);}export function getLegacyHandler(_0xcf8a06,_0x119a55){return undefined;}export function getAllDefinitions(){const _0x4243cf=a116_0x4faa8b;return Array[_0x4243cf(0x20e)](definitions[_0x4243cf(0x21d)]());}
@@ -1 +1 @@
1
- const a117_0x22ca2d=a117_0x3c84;(function(_0x3a772d,_0x18c2bb){const _0x1f666e=a117_0x3c84,_0xbadd83=_0x3a772d();while(!![]){try{const _0x3dd68e=-parseInt(_0x1f666e(0x120))/0x1+-parseInt(_0x1f666e(0x106))/0x2*(parseInt(_0x1f666e(0x105))/0x3)+parseInt(_0x1f666e(0xf7))/0x4+parseInt(_0x1f666e(0x10f))/0x5+-parseInt(_0x1f666e(0x125))/0x6*(parseInt(_0x1f666e(0x111))/0x7)+-parseInt(_0x1f666e(0xfa))/0x8+parseInt(_0x1f666e(0x12a))/0x9;if(_0x3dd68e===_0x18c2bb)break;else _0xbadd83['push'](_0xbadd83['shift']());}catch(_0x4d4690){_0xbadd83['push'](_0xbadd83['shift']());}}}(a117_0x1dd9,0xeb33b));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';function a117_0x3c84(_0x10bc90,_0x29d742){_0x10bc90=_0x10bc90-0xf0;const _0x1dd9a6=a117_0x1dd9();let _0x3c84a5=_0x1dd9a6[_0x10bc90];return _0x3c84a5;}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([a117_0x22ca2d(0xf4),'dev']);function a117_0x1dd9(){const _0x20f7a7=['script','1315190jmRUpP','vite\x20preview\x20exited\x20with\x20code\x20','run','package.json','cwd','8393922XrnQZu','padEnd','\x20run\x20<script>\x0a','map','(none)','43690014SiGkNJ','.bin','args','close','build','start','has','preview','1157120KBjWrC','\x20run\x20','No\x20scripts\x20defined\x20in\x20package.json.','12159264IJXcSc','inherit','pnpm','\x20\x20\x20\x20','entries','bun.lock','error','parse','node_modules','\x20run\x20start','boolean','958359bnHmet','2gPQkGx','\x20exited\x20with\x20code\x20','Run\x20a\x20package.json\x20script','read','push','yarn.lock','vite','Script\x20\x22','log','1865995oXFQMn','join','7CybAqm','npm','scripts','\x0a\x20\x20Usage:\x20','validation','\x20run\x20preview','length','max','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','watch','--watch','keys','bun.lockb','Script\x20name\x20defined\x20in\x20package.json'];a117_0x1dd9=function(){return _0x20f7a7;};return a117_0x1dd9();}function readPackageScripts(_0x8cb959){const _0x191ae1=a117_0x22ca2d,_0x2ec98b=resolve(_0x8cb959,_0x191ae1(0x123));if(!existsSync(_0x2ec98b))return null;try{const _0x2a0120=JSON[_0x191ae1(0x101)](readFileSync(_0x2ec98b,'utf-8'));return _0x2a0120[_0x191ae1(0x113)]??{};}catch{return null;}}function detectPackageManager(_0x5ca449){const _0x575fc8=a117_0x22ca2d;if(existsSync(resolve(_0x5ca449,_0x575fc8(0x11d)))||existsSync(resolve(_0x5ca449,_0x575fc8(0xff))))return'bun';if(existsSync(resolve(_0x5ca449,'pnpm-lock.yaml')))return _0x575fc8(0xfc);if(existsSync(resolve(_0x5ca449,_0x575fc8(0x10b))))return'yarn';return _0x575fc8(0x112);}async function versionCheck(_0x16a124){const _0x18a715=await checkCliVersion();(_0x18a715['needsUpgrade']||_0x18a715['belowMinimum'])&&(printCliUpgradeWarning(_0x18a715),assertCliVersionSupported(_0x18a715));const _0x3ba6fc=await checkSdkVersion(_0x16a124);if(_0x3ba6fc['needsUpgrade'])printSdkUpgradeWarning(_0x3ba6fc);}function spawnScript(_0x3ac326,_0x4dd812,_0x358d87,_0x21dd78){return new Promise((_0xa85eb,_0xdadebd)=>{const _0x11c744=a117_0x3c84,_0x38cb9d=[_0x11c744(0x122),_0x4dd812,..._0x358d87],_0x23d823=spawn(_0x3ac326,_0x38cb9d,{'cwd':_0x21dd78,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x21dd78,_0x11c744(0x102),_0x11c744(0xf0))+delimiter+process.env.PATH}});_0x23d823['on'](_0x11c744(0xf2),_0x35f695=>{const _0x4ad09d=_0x11c744;if(_0x35f695===0x0||_0x35f695===null)_0xa85eb();else _0xdadebd(new Error(_0x3ac326+_0x4ad09d(0xf8)+_0x4dd812+_0x4ad09d(0x107)+_0x35f695));}),_0x23d823['on']('error',_0xdadebd);});}function spawnViteBuildWatch(_0x51ba74){return new Promise((_0x5e23b1,_0x510b7b)=>{const _0x4f995d=a117_0x3c84,_0x3a9128=spawn('vite',[_0x4f995d(0xf3),_0x4f995d(0x11b)],{'cwd':_0x51ba74,'stdio':_0x4f995d(0xfb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x51ba74,'node_modules',_0x4f995d(0xf0))+delimiter+process.env.PATH}});_0x3a9128['on'](_0x4f995d(0xf2),_0x95370a=>{const _0x1b3806=_0x4f995d;if(_0x95370a===0x0||_0x95370a===null)_0x5e23b1();else _0x510b7b(new Error(_0x1b3806(0x119)+_0x95370a));}),_0x3a9128['on'](_0x4f995d(0x100),_0x510b7b);});}function spawnVitePreview(_0x141ab5){return new Promise((_0x5c9f5f,_0x324381)=>{const _0x32c64a=a117_0x3c84,_0x1f8fe1=spawn(_0x32c64a(0x10c),[_0x32c64a(0xf6)],{'cwd':_0x141ab5,'stdio':_0x32c64a(0xfb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x141ab5,_0x32c64a(0x102),'.bin')+delimiter+process.env.PATH}});_0x1f8fe1['on']('close',_0x537c13=>{const _0x5d022f=_0x32c64a;if(_0x537c13===0x0||_0x537c13===null)_0x5c9f5f();else _0x324381(new Error(_0x5d022f(0x121)+_0x537c13));}),_0x1f8fe1['on']('error',_0x324381);});}const runFlags=[{'name':'watch','type':a117_0x22ca2d(0x104),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a117_0x22ca2d(0x122),'command':a117_0x22ca2d(0x122),'description':a117_0x22ca2d(0x108),'risk':a117_0x22ca2d(0x109),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a117_0x22ca2d(0x11f),'description':a117_0x22ca2d(0x11e),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1fec8e=a117_0x22ca2d,_0x301ffb=readPackageScripts(process[_0x1fec8e(0x124)]()),_0x10e7ec=[];if(_0x301ffb&&Object['keys'](_0x301ffb)['length']>0x0){const _0x5d9381=Object[_0x1fec8e(0x11c)](_0x301ffb),_0x1521be=Math[_0x1fec8e(0x118)](..._0x5d9381[_0x1fec8e(0x128)](_0x532289=>_0x532289['length']));_0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x32af22,_0x595c30]of Object['entries'](_0x301ffb)){_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+_0x1fec8e(0xf8)+_0x32af22[_0x1fec8e(0x126)](_0x1521be+0x2)+'#\x20'+_0x595c30);}}else _0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20EXAMPLES'),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+_0x1fec8e(0x103)),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+'\x20run\x20build'),_0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x1fec8e(0x116)),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x10e7ec['join']('\x0a');},async 'execute'(_0x8e6a19){const _0x59a539=a117_0x22ca2d,_0x59f475=process[_0x59a539(0x124)](),_0xf1d3eb=_0x8e6a19[_0x59a539(0xf1)][0x0],_0x5a97d7=_0x8e6a19[_0x59a539(0xf1)]['slice'](0x1),_0x53598d=readPackageScripts(_0x59f475);if(!_0x53598d)throw CliErrors[_0x59a539(0x115)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0xf1d3eb){const _0x2e08b2=Object['keys'](_0x53598d);if(_0x2e08b2[_0x59a539(0x117)]===0x0)console[_0x59a539(0x10e)](_0x59a539(0xf9));else{console[_0x59a539(0x10e)]('\x0a\x20\x20Available\x20scripts:\x0a');const _0x4fc238=Math[_0x59a539(0x118)](..._0x2e08b2['map'](_0x160e8d=>_0x160e8d[_0x59a539(0x117)]));for(const [_0x59a344,_0x585366]of Object[_0x59a539(0xfe)](_0x53598d)){console['log']('\x20\x20\x20\x20'+_0x59a344[_0x59a539(0x126)](_0x4fc238+0x2)+_0x585366);}console[_0x59a539(0x10e)](_0x59a539(0x114)+CLI_BIN_NAME+_0x59a539(0x127));}return{'ok':!![]};}if(!_0x53598d[_0xf1d3eb])throw CliErrors[_0x59a539(0x115)](_0x59a539(0x10d)+_0xf1d3eb+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x53598d)[_0x59a539(0x110)](',\x20')||_0x59a539(0x129)));const _0x5f2850=detectPackageManager(_0x59f475);VERSION_CHECK_SCRIPTS[_0x59a539(0xf5)](_0xf1d3eb)&&await versionCheck(_0x59f475);if(_0xf1d3eb===_0x59a539(0xf6)&&_0x8e6a19['bool'](_0x59a539(0x11a)))return await Promise['all']([spawnViteBuildWatch(_0x59f475),spawnVitePreview(_0x59f475)]),{'ok':!![]};return await spawnScript(_0x5f2850,_0xf1d3eb,_0x5a97d7,_0x59f475),{'ok':!![]};}};
1
+ const a117_0x152186=a117_0x44ee;function a117_0x44ee(_0x3dfa94,_0x181ecc){_0x3dfa94=_0x3dfa94-0xf7;const _0x48c323=a117_0x48c3();let _0x44ee16=_0x48c323[_0x3dfa94];return _0x44ee16;}(function(_0xa16168,_0x2a92a3){const _0x2383b3=a117_0x44ee,_0x39c9c7=_0xa16168();while(!![]){try{const _0x291894=-parseInt(_0x2383b3(0x103))/0x1*(-parseInt(_0x2383b3(0x108))/0x2)+-parseInt(_0x2383b3(0x13c))/0x3*(parseInt(_0x2383b3(0x109))/0x4)+parseInt(_0x2383b3(0x10a))/0x5*(-parseInt(_0x2383b3(0x123))/0x6)+-parseInt(_0x2383b3(0xfb))/0x7*(-parseInt(_0x2383b3(0x12c))/0x8)+-parseInt(_0x2383b3(0xff))/0x9*(-parseInt(_0x2383b3(0xfd))/0xa)+parseInt(_0x2383b3(0x12b))/0xb*(-parseInt(_0x2383b3(0x116))/0xc)+parseInt(_0x2383b3(0x122))/0xd;if(_0x291894===_0x2a92a3)break;else _0x39c9c7['push'](_0x39c9c7['shift']());}catch(_0x8d1c37){_0x39c9c7['push'](_0x39c9c7['shift']());}}}(a117_0x48c3,0x1fd1f));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([a117_0x152186(0x127),a117_0x152186(0x13f)]);function readPackageScripts(_0x142e78){const _0x143593=a117_0x152186,_0x3dba35=resolve(_0x142e78,_0x143593(0xf9));if(!existsSync(_0x3dba35))return null;try{const _0x66b43a=JSON[_0x143593(0x137)](readFileSync(_0x3dba35,_0x143593(0x11f)));return _0x66b43a[_0x143593(0x12d)]??{};}catch{return null;}}function detectPackageManager(_0x4a0ccb){const _0x14b228=a117_0x152186;if(existsSync(resolve(_0x4a0ccb,_0x14b228(0x107)))||existsSync(resolve(_0x4a0ccb,_0x14b228(0x136))))return _0x14b228(0x10b);if(existsSync(resolve(_0x4a0ccb,_0x14b228(0x114))))return'pnpm';if(existsSync(resolve(_0x4a0ccb,_0x14b228(0x138))))return _0x14b228(0x132);return _0x14b228(0x125);}function a117_0x48c3(){const _0x4eeb4f=['yarn','log','keys','validation','bun.lock','parse','yarn.lock','push','boolean','Script\x20\x22','1563PPHxFb','belowMinimum','cwd','dev','length','bool','package.json','close','35aBSUDc','run','30IZgWxR','map','26379RwnlxB','error','vite\x20preview\x20exited\x20with\x20code\x20','has','37402EcBMHD','entries','watch','\x20exited\x20with\x20code\x20','bun.lockb','4sjTNMN','1940EfaVSR','198950pBlFfE','bun','\x20run\x20preview','Script\x20name\x20defined\x20in\x20package.json','padEnd','\x0a\x20\x20Available\x20scripts:\x0a','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','Available:\x20','.bin','\x20\x20\x20\x20','pnpm-lock.yaml','node_modules','156BmKahb','\x20run\x20start','join','\x0a\x20\x20Usage:\x20','\x20run\x20','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','No\x20package.json\x20found\x20in\x20current\x20directory.','read','No\x20scripts\x20defined\x20in\x20package.json.','utf-8','args','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','4031261BKdIil','36uzQqYZ','vite','npm','(none)','start','Enable\x20watch\x20mode\x20for\x20preview','--watch','max','6853mltFtu','377864gpbeRr','scripts','\x20run\x20<script>\x0a','inherit','preview','slice'];a117_0x48c3=function(){return _0x4eeb4f;};return a117_0x48c3();}async function versionCheck(_0x121b67){const _0x1a4473=a117_0x152186,_0xd7bda5=await checkCliVersion();(_0xd7bda5['needsUpgrade']||_0xd7bda5[_0x1a4473(0x13d)])&&(printCliUpgradeWarning(_0xd7bda5),assertCliVersionSupported(_0xd7bda5));const _0x2f87fa=await checkSdkVersion(_0x121b67);if(_0x2f87fa['needsUpgrade'])printSdkUpgradeWarning(_0x2f87fa);}function spawnScript(_0x27ee2a,_0x5bfd06,_0x4c1526,_0x41cbb5){return new Promise((_0x18b544,_0x4c86cc)=>{const _0x46b206=a117_0x44ee,_0x4b5c9b=[_0x46b206(0xfc),_0x5bfd06,..._0x4c1526],_0x4a41a4=spawn(_0x27ee2a,_0x4b5c9b,{'cwd':_0x41cbb5,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x41cbb5,_0x46b206(0x115),_0x46b206(0x112))+delimiter+process.env.PATH}});_0x4a41a4['on']('close',_0x2b9ad3=>{const _0x4b2aef=_0x46b206;if(_0x2b9ad3===0x0||_0x2b9ad3===null)_0x18b544();else _0x4c86cc(new Error(_0x27ee2a+_0x4b2aef(0x11a)+_0x5bfd06+_0x4b2aef(0x106)+_0x2b9ad3));}),_0x4a41a4['on'](_0x46b206(0x100),_0x4c86cc);});}function spawnViteBuildWatch(_0x4c0675){return new Promise((_0x2978cd,_0x11ef1e)=>{const _0x251535=a117_0x44ee,_0x1c9d73=spawn(_0x251535(0x124),['build',_0x251535(0x129)],{'cwd':_0x4c0675,'stdio':_0x251535(0x12f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4c0675,'node_modules',_0x251535(0x112))+delimiter+process.env.PATH}});_0x1c9d73['on'](_0x251535(0xfa),_0x4e8baf=>{const _0x10be20=_0x251535;if(_0x4e8baf===0x0||_0x4e8baf===null)_0x2978cd();else _0x11ef1e(new Error(_0x10be20(0x110)+_0x4e8baf));}),_0x1c9d73['on'](_0x251535(0x100),_0x11ef1e);});}function spawnVitePreview(_0x4cbcee){return new Promise((_0xadef68,_0x45a06b)=>{const _0x1043bd=a117_0x44ee,_0x4911bb=spawn(_0x1043bd(0x124),[_0x1043bd(0x130)],{'cwd':_0x4cbcee,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x4cbcee,_0x1043bd(0x115),_0x1043bd(0x112))+delimiter+process.env.PATH}});_0x4911bb['on'](_0x1043bd(0xfa),_0x480e2e=>{const _0x18853b=_0x1043bd;if(_0x480e2e===0x0||_0x480e2e===null)_0xadef68();else _0x45a06b(new Error(_0x18853b(0x101)+_0x480e2e));}),_0x4911bb['on'](_0x1043bd(0x100),_0x45a06b);});}const runFlags=[{'name':a117_0x152186(0x105),'type':a117_0x152186(0x13a),'description':a117_0x152186(0x128),'default':![]}];export const runDefinition={'service':a117_0x152186(0xfc),'command':a117_0x152186(0xfc),'description':'Run\x20a\x20package.json\x20script','risk':a117_0x152186(0x11d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a117_0x152186(0x10d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4773aa=a117_0x152186,_0x5347b8=readPackageScripts(process[_0x4773aa(0x13e)]()),_0xad6b18=[];if(_0x5347b8&&Object['keys'](_0x5347b8)['length']>0x0){const _0x304a0f=Object[_0x4773aa(0x134)](_0x5347b8),_0x211611=Math[_0x4773aa(0x12a)](..._0x304a0f[_0x4773aa(0xfe)](_0x20d238=>_0x20d238[_0x4773aa(0xf7)]));_0xad6b18[_0x4773aa(0x139)](_0x4773aa(0x11b));for(const [_0x5575a6,_0x3b1275]of Object['entries'](_0x5347b8)){_0xad6b18['push'](_0x4773aa(0x113)+CLI_BIN_NAME+'\x20run\x20'+_0x5575a6['padEnd'](_0x211611+0x2)+'#\x20'+_0x3b1275);}}else _0xad6b18['push']('\x20\x20EXAMPLES'),_0xad6b18['push'](_0x4773aa(0x113)+CLI_BIN_NAME+_0x4773aa(0x117)),_0xad6b18[_0x4773aa(0x139)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0xad6b18[_0x4773aa(0x139)](_0x4773aa(0x113)+CLI_BIN_NAME+_0x4773aa(0x10c)),_0xad6b18[_0x4773aa(0x139)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x4773aa(0x121));return _0xad6b18[_0x4773aa(0x118)]('\x0a');},async 'execute'(_0x2bbf37){const _0x53d5c0=a117_0x152186,_0x4a6155=process[_0x53d5c0(0x13e)](),_0x1cb19a=_0x2bbf37[_0x53d5c0(0x120)][0x0],_0x48980f=_0x2bbf37[_0x53d5c0(0x120)][_0x53d5c0(0x131)](0x1),_0x47b236=readPackageScripts(_0x4a6155);if(!_0x47b236)throw CliErrors['validation'](_0x53d5c0(0x11c));if(!_0x1cb19a){const _0x5371db=Object[_0x53d5c0(0x134)](_0x47b236);if(_0x5371db['length']===0x0)console['log'](_0x53d5c0(0x11e));else{console[_0x53d5c0(0x133)](_0x53d5c0(0x10f));const _0x42c4b9=Math[_0x53d5c0(0x12a)](..._0x5371db['map'](_0x5a70d1=>_0x5a70d1[_0x53d5c0(0xf7)]));for(const [_0x5a615d,_0xaaef88]of Object[_0x53d5c0(0x104)](_0x47b236)){console[_0x53d5c0(0x133)](_0x53d5c0(0x113)+_0x5a615d[_0x53d5c0(0x10e)](_0x42c4b9+0x2)+_0xaaef88);}console[_0x53d5c0(0x133)](_0x53d5c0(0x119)+CLI_BIN_NAME+_0x53d5c0(0x12e));}return{'ok':!![]};}if(!_0x47b236[_0x1cb19a])throw CliErrors[_0x53d5c0(0x135)](_0x53d5c0(0x13b)+_0x1cb19a+'\x22\x20not\x20found\x20in\x20package.json.',_0x53d5c0(0x111)+(Object[_0x53d5c0(0x134)](_0x47b236)[_0x53d5c0(0x118)](',\x20')||_0x53d5c0(0x126)));const _0x19430d=detectPackageManager(_0x4a6155);VERSION_CHECK_SCRIPTS[_0x53d5c0(0x102)](_0x1cb19a)&&await versionCheck(_0x4a6155);if(_0x1cb19a===_0x53d5c0(0x130)&&_0x2bbf37[_0x53d5c0(0xf8)](_0x53d5c0(0x105)))return await Promise['all']([spawnViteBuildWatch(_0x4a6155),spawnVitePreview(_0x4a6155)]),{'ok':!![]};return await spawnScript(_0x19430d,_0x1cb19a,_0x48980f,_0x4a6155),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a118_0x4ce732=a118_0x1d6b;function a118_0x1d6b(_0x3cee8f,_0x41acc4){_0x3cee8f=_0x3cee8f-0xd2;const _0x4fcae1=a118_0x4fca();let _0x1d6b4e=_0x4fcae1[_0x3cee8f];return _0x1d6b4e;}(function(_0xfe743e,_0x5b16fa){const _0x2c6ccb=a118_0x1d6b,_0x29dd71=_0xfe743e();while(!![]){try{const _0x110939=parseInt(_0x2c6ccb(0xde))/0x1+-parseInt(_0x2c6ccb(0xd6))/0x2*(-parseInt(_0x2c6ccb(0xd5))/0x3)+-parseInt(_0x2c6ccb(0xd9))/0x4*(parseInt(_0x2c6ccb(0xd8))/0x5)+-parseInt(_0x2c6ccb(0xdb))/0x6+parseInt(_0x2c6ccb(0xdd))/0x7+-parseInt(_0x2c6ccb(0xd7))/0x8+parseInt(_0x2c6ccb(0xd2))/0x9;if(_0x110939===_0x5b16fa)break;else _0x29dd71['push'](_0x29dd71['shift']());}catch(_0x2e7c35){_0x29dd71['push'](_0x29dd71['shift']());}}}(a118_0x4fca,0x88c03));import{buildSchemaPayload}from'../framework/schema-export.js';function a118_0x4fca(){const _0x4f47e1=['600eGVpHb','32756vOWCcL','schema','4888818xEUelM','read','986447NwIvpH','868777bLWCHn','15739065HUscOH','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','183WFkxlr','11282jebPHF','5959760eHxKXe'];a118_0x4fca=function(){return _0x4f47e1;};return a118_0x4fca();}async function execute(_0x4970d9){const _0x538d75=await buildSchemaPayload();return{'ok':!![],'data':_0x538d75};}export const schemaDefinition={'service':a118_0x4ce732(0xda),'command':a118_0x4ce732(0xd4),'description':a118_0x4ce732(0xd3),'risk':a118_0x4ce732(0xdc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
1
+ function a118_0x5abb(){const _0x30b4a2=['18ujnYeR','308EUQmFQ','Export\x20machine-readable\x20command\x20schema\x20(JSON)','2324113qhdVnt','2296OrSACa','schema','978418xoYmWL','read','9099TimgZx','36375ZxkZaV','156458HUtykJ','6IVFObk','6703110Ijpmvm','315714qhfkzW'];a118_0x5abb=function(){return _0x30b4a2;};return a118_0x5abb();}const a118_0x38eb4f=a118_0x1762;(function(_0x49847c,_0x4b0a72){const _0xa6cb94=a118_0x1762,_0x49ff5d=_0x49847c();while(!![]){try{const _0x191f19=parseInt(_0xa6cb94(0x136))/0x1+parseInt(_0xa6cb94(0x141))/0x2*(parseInt(_0xa6cb94(0x142))/0x3)+-parseInt(_0xa6cb94(0x138))/0x4*(parseInt(_0xa6cb94(0x140))/0x5)+-parseInt(_0xa6cb94(0x137))/0x6*(-parseInt(_0xa6cb94(0x13d))/0x7)+parseInt(_0xa6cb94(0x13b))/0x8*(-parseInt(_0xa6cb94(0x13f))/0x9)+parseInt(_0xa6cb94(0x135))/0xa+-parseInt(_0xa6cb94(0x13a))/0xb;if(_0x191f19===_0x4b0a72)break;else _0x49ff5d['push'](_0x49ff5d['shift']());}catch(_0x1279d2){_0x49ff5d['push'](_0x49ff5d['shift']());}}}(a118_0x5abb,0x7a1de));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x54d827){const _0x58bf86=await buildSchemaPayload();return{'ok':!![],'data':_0x58bf86};}function a118_0x1762(_0x7cf73f,_0x4ee7e8){_0x7cf73f=_0x7cf73f-0x135;const _0x5abb8b=a118_0x5abb();let _0x176279=_0x5abb8b[_0x7cf73f];return _0x176279;}export const schemaDefinition={'service':a118_0x38eb4f(0x13c),'command':'export','description':a118_0x38eb4f(0x139),'risk':a118_0x38eb4f(0x13e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a119_0x43367d=a119_0x7565;(function(_0x51dbf2,_0x87626f){const _0x3344ab=a119_0x7565,_0x101230=_0x51dbf2();while(!![]){try{const _0x46ccf0=-parseInt(_0x3344ab(0x1ec))/0x1*(-parseInt(_0x3344ab(0x1eb))/0x2)+-parseInt(_0x3344ab(0x204))/0x3*(parseInt(_0x3344ab(0x1f7))/0x4)+-parseInt(_0x3344ab(0x201))/0x5*(parseInt(_0x3344ab(0x1e7))/0x6)+parseInt(_0x3344ab(0x1e9))/0x7*(parseInt(_0x3344ab(0x1ff))/0x8)+parseInt(_0x3344ab(0x1f8))/0x9+parseInt(_0x3344ab(0x1f3))/0xa*(parseInt(_0x3344ab(0x1f2))/0xb)+parseInt(_0x3344ab(0x1fa))/0xc;if(_0x46ccf0===_0x87626f)break;else _0x101230['push'](_0x101230['shift']());}catch(_0x35e28f){_0x101230['push'](_0x101230['shift']());}}}(a119_0x2790,0x9ef40));function a119_0x2790(){const _0x1c2f4e=['nonInteractive','setLogPath','skill-install','inherit','21670uqMQrm','5230nTkZaN','unknown','cwd','log','4JAglOz','307800whPEkd','../../skills/npx-skills-add.js','1125876FVXSzV','error','Install\x20developer\x20skill\x20package','\x20skill\x20installed','lovrabet/rabetbase','8HLSdoD','Check\x20network\x20connectivity\x20and\x20try\x20again.','2556585VuvxPy',')...','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','1307919utQyts','6SsPHpb','write','755237dCCarc','install','4678RpHsUD','142WGbrzM','info'];a119_0x2790=function(){return _0x1c2f4e;};return a119_0x2790();}function a119_0x7565(_0x2fad4a,_0x41f0cc){_0x2fad4a=_0x2fad4a-0x1e7;const _0x279092=a119_0x2790();let _0x75650f=_0x279092[_0x2fad4a];return _0x75650f;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a119_0x43367d(0x1ea),'description':a119_0x43367d(0x1fc),'risk':a119_0x43367d(0x1e8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1f2fcd){const _0x8160cb=a119_0x43367d;logger[_0x8160cb(0x1ef)](process['cwd']()),logger[_0x8160cb(0x1ed)](_0x8160cb(0x1f0),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x18f3e4}=await import(_0x8160cb(0x1f9)),_0x4b342a=_0x1f2fcd[_0x8160cb(0x1ee)]?'pipe':_0x8160cb(0x1f1);console['log']('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x8160cb(0x202));const _0x20ea21=_0x18f3e4(process[_0x8160cb(0x1f5)](),_0x8160cb(0x1fe),{'stdio':_0x4b342a});if(_0x20ea21['skipped'])console['log'](_0x8160cb(0x203));else{if(_0x20ea21['ok'])console[_0x8160cb(0x1f6)](CLI_BIN_NAME+_0x8160cb(0x1fd));else throw CliErrors['apiError']('npx\x20skills\x20add\x20failed:\x20'+(_0x20ea21[_0x8160cb(0x1fb)]||_0x8160cb(0x1f4)),_0x8160cb(0x200));}return{'ok':!![]};}}];
1
+ function a119_0x32f9(){const _0x34595f=['1920055cXneeZ','Check\x20network\x20connectivity\x20and\x20try\x20again.','222219FFhrIW','skill','pipe','../../skills/npx-skills-add.js','unknown','14aWvJdP','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','log','4943144GPFYgK','info','inherit','4386712ZOypyB','lovrabet/rabetbase',')...','1187406DNIGXC','skill-install','cwd','Installing\x20official\x20skill\x20via\x20npx\x20(','120sAdjgB','skipped','1681854XukTTU','1616014pJiPkN','\x20skill\x20installed','3biYHZj','setLogPath','error'];a119_0x32f9=function(){return _0x34595f;};return a119_0x32f9();}const a119_0x32c718=a119_0x5726;function a119_0x5726(_0x5b7c6d,_0x361cde){_0x5b7c6d=_0x5b7c6d-0x1c4;const _0x32f9f0=a119_0x32f9();let _0x572667=_0x32f9f0[_0x5b7c6d];return _0x572667;}(function(_0x17ecac,_0x2b5ad6){const _0xabb369=a119_0x5726,_0x38dcb4=_0x17ecac();while(!![]){try{const _0x541a4f=parseInt(_0xabb369(0x1c7))/0x1+parseInt(_0xabb369(0x1ce))/0x2*(-parseInt(_0xabb369(0x1d0))/0x3)+parseInt(_0xabb369(0x1c4))/0x4+-parseInt(_0xabb369(0x1d3))/0x5+-parseInt(_0xabb369(0x1cd))/0x6*(parseInt(_0xabb369(0x1da))/0x7)+parseInt(_0xabb369(0x1dd))/0x8+parseInt(_0xabb369(0x1d5))/0x9*(-parseInt(_0xabb369(0x1cb))/0xa);if(_0x541a4f===_0x2b5ad6)break;else _0x38dcb4['push'](_0x38dcb4['shift']());}catch(_0x5ebaf5){_0x38dcb4['push'](_0x38dcb4['shift']());}}}(a119_0x32f9,0xd0439));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a119_0x32c718(0x1d6),'command':'install','description':'Install\x20developer\x20skill\x20package','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x53e926){const _0x393540=a119_0x32c718;logger[_0x393540(0x1d1)](process[_0x393540(0x1c9)]()),logger[_0x393540(0x1de)](_0x393540(0x1c8),_0x393540(0x1db));const {runNpxSkillsAddGlobal:_0x12e48a}=await import(_0x393540(0x1d8)),_0x8a9fe3=_0x53e926['nonInteractive']?_0x393540(0x1d7):_0x393540(0x1df);console[_0x393540(0x1dc)](_0x393540(0x1ca)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x393540(0x1c6));const _0x57faf0=_0x12e48a(process[_0x393540(0x1c9)](),_0x393540(0x1c5),{'stdio':_0x8a9fe3});if(_0x57faf0[_0x393540(0x1cc)])console['log']('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x57faf0['ok'])console[_0x393540(0x1dc)](CLI_BIN_NAME+_0x393540(0x1cf));else throw CliErrors['apiError']('npx\x20skills\x20add\x20failed:\x20'+(_0x57faf0[_0x393540(0x1d2)]||_0x393540(0x1d9)),_0x393540(0x1d4));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a120_0x5d801a=a120_0x45bb;function a120_0x45bb(_0x1544fe,_0x238ff3){_0x1544fe=_0x1544fe-0xfe;const _0x3e3f3f=a120_0x3e3f();let _0x45bbc8=_0x3e3f3f[_0x1544fe];return _0x45bbc8;}(function(_0x52eb76,_0x1c9289){const _0x34d308=a120_0x45bb,_0x5b5b0d=_0x52eb76();while(!![]){try{const _0x1875a4=-parseInt(_0x34d308(0x138))/0x1*(-parseInt(_0x34d308(0x129))/0x2)+-parseInt(_0x34d308(0x105))/0x3*(parseInt(_0x34d308(0x130))/0x4)+parseInt(_0x34d308(0x104))/0x5*(-parseInt(_0x34d308(0x146))/0x6)+-parseInt(_0x34d308(0x134))/0x7*(-parseInt(_0x34d308(0x10e))/0x8)+-parseInt(_0x34d308(0x11a))/0x9*(parseInt(_0x34d308(0x121))/0xa)+parseInt(_0x34d308(0x128))/0xb*(parseInt(_0x34d308(0x10c))/0xc)+parseInt(_0x34d308(0x102))/0xd*(-parseInt(_0x34d308(0xfe))/0xe);if(_0x1875a4===_0x1c9289)break;else _0x5b5b0d['push'](_0x5b5b0d['shift']());}catch(_0x43e3b7){_0x5b5b0d['push'](_0x5b5b0d['shift']());}}}(a120_0x3e3f,0xd40e9));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x1a560c){const _0x3f3f0f=a120_0x45bb;if(_0x1a560c===_0x3f3f0f(0x103))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x3f3f0f(0x127),_0x3f3f0f(0x122),''][_0x3f3f0f(0x13e)]('\x0a');return[_0x3f3f0f(0x10b),''][_0x3f3f0f(0x13e)]('\x0a');}export const sqlCreate={'service':a120_0x5d801a(0x12a),'command':a120_0x5d801a(0x13d),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':'high-risk-write','flags':[{'name':'name','type':a120_0x5d801a(0x135),'description':'SQL\x20query\x20display\x20name'},{'name':a120_0x5d801a(0x12e),'type':'number','description':a120_0x5d801a(0x12d)},{'name':a120_0x5d801a(0xff),'type':a120_0x5d801a(0x135),'enum':[a120_0x5d801a(0x12a),a120_0x5d801a(0x103)],'description':a120_0x5d801a(0x109)}],async 'validate'(_0x1eeb69){const _0x78bbdc=a120_0x5d801a;if(!_0x1eeb69[_0x78bbdc(0x124)])return;if(!_0x1eeb69[_0x78bbdc(0x113)]('name')[_0x78bbdc(0x111)]())throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0x118),_0x78bbdc(0x123));const _0x496cfb=resolveProvidedDbId(_0x1eeb69);if(typeof _0x496cfb!==_0x78bbdc(0x13b)||!Number['isFinite'](_0x496cfb)||_0x496cfb<=0x0)throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0x12e),_0x78bbdc(0x137));if(!_0x1eeb69[_0x78bbdc(0x113)](_0x78bbdc(0xff))[_0x78bbdc(0x111)]())throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0xff),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x4f07ac){const _0x53b334=a120_0x5d801a,_0xb8fb9d=loadSqlProjectConfig(_0x4f07ac[_0x53b334(0x140)]),{sqlName:_0x4f90ac,dbId:_0x5b9315,dbName:_0x576530,mode:_0x2b6840}=await resolveSqlNewInputs(_0x4f07ac),_0x2f9663=buildSqlRelativePath(_0x53b334(0x100),_0x4f90ac,_0x576530,_0x2b6840,_0x5b9315),_0x323412=_0xb8fb9d[_0x53b334(0x106)]+'/'+_0x2f9663;return{'method':'POST','url':_0x53b334(0x13c),'body':{'appCode':_0x4f07ac[_0x53b334(0x140)],'sqlName':_0x4f90ac,'dbId':_0x5b9315,'mode':_0x2b6840,'localPath':_0x323412},'description':_0x53b334(0x117)+_0xb8fb9d[_0x53b334(0x106)]};},async 'execute'(_0x596f6e){const _0x47a565=a120_0x5d801a,_0x4807fe=loadSqlProjectConfig(_0x596f6e[_0x47a565(0x140)]),{sqlName:_0x4b4c79,dbId:_0x2ae7a1,dbName:_0x6eb39,mode:_0x3ec77d}=await resolveSqlNewInputs(_0x596f6e),_0x2129bd=generateSqlTemplate(_0x3ec77d),_0x22d77e=await createSqlQuery({'appCode':_0x596f6e[_0x47a565(0x140)],'sqlName':_0x4b4c79,'dbId':_0x2ae7a1,'sqlContent':_0x2129bd}),_0x18c09d=ensureRemoteSqlContent(_0x22d77e),_0xf61889=_0x6eb39||await getDbName(_0x596f6e[_0x47a565(0x140)],_0x2ae7a1)[_0x47a565(0x10f)](()=>undefined),_0x1d2d84=buildSqlRelativePath(_0x22d77e[_0x47a565(0x110)],_0x22d77e[_0x47a565(0x115)],_0xf61889,_0x3ec77d,_0x2ae7a1),_0x11e250=_0x4807fe[_0x47a565(0x106)]+'/'+_0x1d2d84,_0x42f781=buildLocalSqlFileContent({'sqlCode':_0x22d77e[_0x47a565(0x110)],'sqlName':_0x22d77e[_0x47a565(0x115)],'dbId':_0x22d77e[_0x47a565(0x114)]},_0x18c09d,{'dbName':_0xf61889,'mode':_0x3ec77d,'syncedAt':new Date()[_0x47a565(0x133)](),'description':_0x22d77e[_0x47a565(0x131)]});if(await fileExists(_0x11e250))throw CliErrors[_0x47a565(0x136)](_0x47a565(0x11b)+_0x11e250);await ensureParentDirectory(_0x11e250),await writeFile(_0x11e250,_0x42f781,_0x47a565(0x11f));const _0x515f7e=await readSqlLockFile(_0x4807fe[_0x47a565(0x142)]),{lockData:_0x2fc8fe,appLock:_0x7e7735}=ensureSqlLockScope(_0x515f7e??createEmptySqlLock(),_0x4807fe[_0x47a565(0x140)],_0x4807fe['sqlRoot'],_0x47a565(0x12f));return _0x7e7735[_0x47a565(0x10a)][_0x22d77e[_0x47a565(0x110)]]={...buildSqlLockEntry(_0x22d77e,_0x18c09d,computeSqlContentHash(_0x42f781),{'dbName':_0xf61889}),'path':_0x1d2d84,'mode':_0x3ec77d},_0x7e7735[_0x47a565(0x101)]=new Date()[_0x47a565(0x133)](),await writeSqlLockFile(_0x4807fe[_0x47a565(0x142)],_0x2fc8fe),{'ok':!![],'data':{'id':_0x22d77e['id'],'sqlCode':_0x22d77e[_0x47a565(0x110)],'sqlName':_0x22d77e[_0x47a565(0x115)],'dbId':_0x22d77e[_0x47a565(0x114)],'path':_0x11e250,'mode':_0x3ec77d},'message':_0x47a565(0x143)+_0x22d77e[_0x47a565(0x110)]};}};async function resolveSqlNewInputs(_0x3573f1){const _0x5cbfbc=await resolveSqlNameInput(_0x3573f1),{dbId:_0x535eb5,dbName:_0x122305}=await resolveDbSelection(_0x3573f1),_0x26997b=await resolveSqlModeInput(_0x3573f1);return{'sqlName':_0x5cbfbc,'dbId':_0x535eb5,'dbName':_0x122305,'mode':_0x26997b};}function a120_0x3e3f(){const _0x305411=['请输入目标数据库\x20dbId:','普通\x20SQL(sql)','utf8','__manual__','90zEojQo','</select>','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','请输入\x20SQL\x20名称:','SQL\x20名称不能为空','\x20\x20SELECT\x201\x20AS\x20id','1012ZNqkGd','38xyisPk','sql','dbId\x20必须为正整数','dbId\x20不能为空','Target\x20database\x20ID','db-id','new','8784uoxhvk','description','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','toISOString','1799LTvWcq','string','validation','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','39049VNNDna','Invalid\x20database\x20selection\x20payload:\x20','请选择本地\x20SQL\x20模式:','number','/smartapi/custom/saveUserCustomSql','create','join','isInteger','appCode','length','lockFilePath','Created\x20SQL\x20query\x20','dbName','请选择目标数据库:','3552gnNvMe','16040794BiDCKD','mode','<server-generated-sqlCode>','lastSync','13ENzLwq','mybatisXml','4895uRmTMX','1104AVPvKD','sqlRootDir','✎\x20手动输入\x20dbId','parse','Local\x20SQL\x20file\x20mode','sqls','SELECT\x201\x20AS\x20id;','222024LNkqJI','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','36856qtnRFn','catch','sqlCode','trim','isFinite','str','dbId','sqlName','flagMissing','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','name','MyBatis\x20XML(mybatisXml)','226062buTWsI','File\x20already\x20exists:\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL'];a120_0x3e3f=function(){return _0x305411;};return a120_0x3e3f();}async function resolveSqlNameInput(_0x22e8fe){const _0x5d4378=a120_0x5d801a,_0x333e3b=_0x22e8fe[_0x5d4378(0x113)](_0x5d4378(0x118))[_0x5d4378(0x111)]();if(_0x333e3b)return _0x333e3b;if(_0x22e8fe[_0x5d4378(0x124)])throw CliErrors['flagMissing'](_0x5d4378(0x118),_0x5d4378(0x123));return(await input({'message':_0x5d4378(0x125),'validate':_0x22ad2f=>_0x22ad2f[_0x5d4378(0x111)]()?!![]:_0x5d4378(0x126)}))[_0x5d4378(0x111)]();}async function resolveDbSelection(_0x10424d){const _0x11b3e4=a120_0x5d801a,_0x41b60b=resolveProvidedDbId(_0x10424d);if(typeof _0x41b60b===_0x11b3e4(0x13b)&&Number[_0x11b3e4(0x112)](_0x41b60b)&&_0x41b60b>0x0)return{'dbId':_0x41b60b,'dbName':await getDbName(_0x10424d[_0x11b3e4(0x140)],_0x41b60b)['catch'](()=>undefined)};if(_0x10424d['nonInteractive'])throw CliErrors[_0x11b3e4(0x116)](_0x11b3e4(0x12e),_0x11b3e4(0x137));const _0xc7a57e=await listDatabases(_0x10424d['appCode'])[_0x11b3e4(0x10f)](()=>[]);if(_0xc7a57e['length']===0x1)return{'dbId':_0xc7a57e[0x0][_0x11b3e4(0x114)],'dbName':_0xc7a57e[0x0][_0x11b3e4(0x144)]};if(_0xc7a57e[_0x11b3e4(0x141)]>0x1){const _0x509b56=await select({'message':_0x11b3e4(0x145),'choices':[..._0xc7a57e['map'](_0x4f0b17=>({'name':_0x4f0b17[_0x11b3e4(0x144)]+'\x20('+_0x4f0b17[_0x11b3e4(0x114)]+')','value':serializeDbSelection(_0x4f0b17)})),{'name':_0x11b3e4(0x107),'value':_0x11b3e4(0x120)}]});if(_0x509b56!==_0x11b3e4(0x120))return deserializeDbSelection(_0x509b56);}const _0x4ff771=await input({'message':_0x11b3e4(0x11d),'validate':_0x3e5437=>{const _0x1de4ed=_0x11b3e4,_0xab486e=_0x3e5437[_0x1de4ed(0x111)]();if(!_0xab486e)return _0x1de4ed(0x12c);const _0x54f7a0=Number(_0xab486e);if(!Number[_0x1de4ed(0x13f)](_0x54f7a0)||_0x54f7a0<=0x0)return _0x1de4ed(0x12b);return!![];}});return{'dbId':Number(_0x4ff771['trim']())};}async function resolveSqlModeInput(_0x5644ca){const _0x4c55e3=a120_0x5d801a,_0x14c262=_0x5644ca['str'](_0x4c55e3(0xff))['trim']();if(_0x14c262===_0x4c55e3(0x12a)||_0x14c262===_0x4c55e3(0x103))return _0x14c262;if(_0x5644ca[_0x4c55e3(0x124)])throw CliErrors[_0x4c55e3(0x116)](_0x4c55e3(0xff),_0x4c55e3(0x132));return await select({'message':_0x4c55e3(0x13a),'choices':[{'name':_0x4c55e3(0x11e),'value':'sql','description':_0x4c55e3(0x10d)},{'name':_0x4c55e3(0x119),'value':_0x4c55e3(0x103),'description':_0x4c55e3(0x11c)}]});}function serializeDbSelection(_0xbdf4d6){const _0x542909=a120_0x5d801a;return JSON['stringify']({'dbId':_0xbdf4d6[_0x542909(0x114)],'dbName':_0xbdf4d6[_0x542909(0x144)]});}function deserializeDbSelection(_0x18eb18){const _0x3cd24a=a120_0x5d801a;try{const _0x28181f=JSON[_0x3cd24a(0x108)](_0x18eb18);if(typeof _0x28181f[_0x3cd24a(0x114)]===_0x3cd24a(0x13b)&&Number[_0x3cd24a(0x112)](_0x28181f[_0x3cd24a(0x114)]))return{'dbId':_0x28181f[_0x3cd24a(0x114)],'dbName':_0x28181f[_0x3cd24a(0x144)]};}catch{}throw CliErrors[_0x3cd24a(0x136)](_0x3cd24a(0x139)+_0x18eb18);}function resolveProvidedDbId(_0x12f12e){const _0x3a159a=a120_0x5d801a,_0x300c32=_0x12f12e['flag']('db-id');if(typeof _0x300c32===_0x3a159a(0x13b)&&Number['isFinite'](_0x300c32))return _0x300c32;return undefined;}
1
+ const a120_0x5cd701=a120_0x3595;function a120_0x3928(){const _0x320825=['number','__manual__','1087787tOtiEf','utf8','lastSync','POST','flagMissing','普通\x20SQL(sql)','create','isInteger','parse','sql','dbId\x20必须为正整数','toISOString','</select>','validation','请选择目标数据库:','stringify','join','请选择本地\x20SQL\x20模式:','new','trim','db-id','sqlCode','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','2124JNdsri','Local\x20SQL\x20file\x20mode','lockFilePath','high-risk-write','SQL\x20query\x20display\x20name','1994lzIwIN','3750964eXKhPW','description','90lJXbLH','nonInteractive','isFinite','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','183295zNgYfr','✎\x20手动输入\x20dbId','mybatisXml','MyBatis\x20XML(mybatisXml)','sqlName','请输入目标数据库\x20dbId:','string','name','/smartapi/custom/saveUserCustomSql','File\x20already\x20exists:\x20','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','str','sqls','适合带动态标签的\x20MyBatis\x20XML\x20SQL','5473712YYYvau','9ZgKRrB','Created\x20SQL\x20query\x20','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','catch','<server-generated-sqlCode>','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','dbId','sqlRootDir','25947340aFAuZU','dbId\x20不能为空','length','611989NFikgz','appCode'];a120_0x3928=function(){return _0x320825;};return a120_0x3928();}(function(_0x8f8bb3,_0x5bb013){const _0x12c513=a120_0x3595,_0x562529=_0x8f8bb3();while(!![]){try{const _0x470d26=parseInt(_0x12c513(0xe3))/0x1+-parseInt(_0x12c513(0xbd))/0x2*(parseInt(_0x12c513(0xb8))/0x3)+-parseInt(_0x12c513(0xbe))/0x4+parseInt(_0x12c513(0xc5))/0x5*(-parseInt(_0x12c513(0xc0))/0x6)+-parseInt(_0x12c513(0xdf))/0x7+-parseInt(_0x12c513(0xd3))/0x8+parseInt(_0x12c513(0xd4))/0x9*(parseInt(_0x12c513(0xdc))/0xa);if(_0x470d26===_0x5bb013)break;else _0x562529['push'](_0x562529['shift']());}catch(_0x25590c){_0x562529['push'](_0x562529['shift']());}}}(a120_0x3928,0xaf242));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x4009d1){const _0x163a2e=a120_0x3595;if(_0x4009d1===_0x163a2e(0xc7))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x163a2e(0xad),''][_0x163a2e(0xb1)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x163a2e(0xb1)]('\x0a');}function a120_0x3595(_0x56aa73,_0x379c05){_0x56aa73=_0x56aa73-0xac;const _0x39285f=a120_0x3928();let _0x35951d=_0x39285f[_0x56aa73];return _0x35951d;}export const sqlCreate={'service':'sql','command':a120_0x5cd701(0xe9),'description':a120_0x5cd701(0xd6),'risk':a120_0x5cd701(0xbb),'flags':[{'name':a120_0x5cd701(0xcc),'type':'string','description':a120_0x5cd701(0xbc)},{'name':'db-id','type':a120_0x5cd701(0xe1),'description':'Target\x20database\x20ID'},{'name':a120_0x5cd701(0xc4),'type':a120_0x5cd701(0xcb),'enum':[a120_0x5cd701(0xec),'mybatisXml'],'description':a120_0x5cd701(0xb9)}],async 'validate'(_0x350346){const _0x367b11=a120_0x5cd701;if(!_0x350346['nonInteractive'])return;if(!_0x350346['str'](_0x367b11(0xcc))[_0x367b11(0xb4)]())throw CliErrors[_0x367b11(0xe7)]('name',_0x367b11(0xc3));const _0x4c0b1d=resolveProvidedDbId(_0x350346);if(typeof _0x4c0b1d!==_0x367b11(0xe1)||!Number[_0x367b11(0xc2)](_0x4c0b1d)||_0x4c0b1d<=0x0)throw CliErrors[_0x367b11(0xe7)](_0x367b11(0xb5),_0x367b11(0xb7));if(!_0x350346['str'](_0x367b11(0xc4))[_0x367b11(0xb4)]())throw CliErrors[_0x367b11(0xe7)](_0x367b11(0xc4),_0x367b11(0xcf));},async 'dryRun'(_0x2c920d){const _0x380f47=a120_0x5cd701,_0x1d397f=loadSqlProjectConfig(_0x2c920d[_0x380f47(0xe0)]),{sqlName:_0x37c9ff,dbId:_0x13a95c,dbName:_0x4c4562,mode:_0x5c82b9}=await resolveSqlNewInputs(_0x2c920d),_0x584e27=buildSqlRelativePath(_0x380f47(0xd8),_0x37c9ff,_0x4c4562,_0x5c82b9,_0x13a95c),_0x2fe3d2=_0x1d397f[_0x380f47(0xdb)]+'/'+_0x584e27;return{'method':_0x380f47(0xe6),'url':_0x380f47(0xcd),'body':{'appCode':_0x2c920d[_0x380f47(0xe0)],'sqlName':_0x37c9ff,'dbId':_0x13a95c,'mode':_0x5c82b9,'localPath':_0x2fe3d2},'description':_0x380f47(0xd9)+_0x1d397f['sqlRootDir']};},async 'execute'(_0x129d2a){const _0x1bc403=a120_0x5cd701,_0x54d3b5=loadSqlProjectConfig(_0x129d2a['appCode']),{sqlName:_0x4af882,dbId:_0xbc454c,dbName:_0x2d6e52,mode:_0x1ff384}=await resolveSqlNewInputs(_0x129d2a),_0x105414=generateSqlTemplate(_0x1ff384),_0x540614=await createSqlQuery({'appCode':_0x129d2a[_0x1bc403(0xe0)],'sqlName':_0x4af882,'dbId':_0xbc454c,'sqlContent':_0x105414}),_0x253753=ensureRemoteSqlContent(_0x540614),_0x1de8ec=_0x2d6e52||await getDbName(_0x129d2a[_0x1bc403(0xe0)],_0xbc454c)[_0x1bc403(0xd7)](()=>undefined),_0x4e0f92=buildSqlRelativePath(_0x540614[_0x1bc403(0xb6)],_0x540614[_0x1bc403(0xc9)],_0x1de8ec,_0x1ff384,_0xbc454c),_0x2b0695=_0x54d3b5[_0x1bc403(0xdb)]+'/'+_0x4e0f92,_0x1d6dc2=buildLocalSqlFileContent({'sqlCode':_0x540614[_0x1bc403(0xb6)],'sqlName':_0x540614[_0x1bc403(0xc9)],'dbId':_0x540614[_0x1bc403(0xda)]},_0x253753,{'dbName':_0x1de8ec,'mode':_0x1ff384,'syncedAt':new Date()[_0x1bc403(0xac)](),'description':_0x540614[_0x1bc403(0xbf)]});if(await fileExists(_0x2b0695))throw CliErrors[_0x1bc403(0xae)](_0x1bc403(0xce)+_0x2b0695);await ensureParentDirectory(_0x2b0695),await writeFile(_0x2b0695,_0x1d6dc2,_0x1bc403(0xe4));const _0x37254a=await readSqlLockFile(_0x54d3b5[_0x1bc403(0xba)]),{lockData:_0x26663e,appLock:_0x351a2b}=ensureSqlLockScope(_0x37254a??createEmptySqlLock(),_0x54d3b5[_0x1bc403(0xe0)],_0x54d3b5['sqlRoot'],_0x1bc403(0xb3));return _0x351a2b[_0x1bc403(0xd1)][_0x540614[_0x1bc403(0xb6)]]={...buildSqlLockEntry(_0x540614,_0x253753,computeSqlContentHash(_0x1d6dc2),{'dbName':_0x1de8ec}),'path':_0x4e0f92,'mode':_0x1ff384},_0x351a2b[_0x1bc403(0xe5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x54d3b5['lockFilePath'],_0x26663e),{'ok':!![],'data':{'id':_0x540614['id'],'sqlCode':_0x540614[_0x1bc403(0xb6)],'sqlName':_0x540614['sqlName'],'dbId':_0x540614['dbId'],'path':_0x2b0695,'mode':_0x1ff384},'message':_0x1bc403(0xd5)+_0x540614[_0x1bc403(0xb6)]};}};async function resolveSqlNewInputs(_0x3ee731){const _0x39a962=await resolveSqlNameInput(_0x3ee731),{dbId:_0x339524,dbName:_0x445151}=await resolveDbSelection(_0x3ee731),_0x5554df=await resolveSqlModeInput(_0x3ee731);return{'sqlName':_0x39a962,'dbId':_0x339524,'dbName':_0x445151,'mode':_0x5554df};}async function resolveSqlNameInput(_0x4204a3){const _0x469967=a120_0x5cd701,_0x5e1f99=_0x4204a3[_0x469967(0xd0)]('name')['trim']();if(_0x5e1f99)return _0x5e1f99;if(_0x4204a3['nonInteractive'])throw CliErrors[_0x469967(0xe7)](_0x469967(0xcc),_0x469967(0xc3));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0xa810c0=>_0xa810c0[_0x469967(0xb4)]()?!![]:'SQL\x20名称不能为空'}))[_0x469967(0xb4)]();}async function resolveDbSelection(_0x1e6ae2){const _0x4cfa65=a120_0x5cd701,_0xe2b268=resolveProvidedDbId(_0x1e6ae2);if(typeof _0xe2b268===_0x4cfa65(0xe1)&&Number['isFinite'](_0xe2b268)&&_0xe2b268>0x0)return{'dbId':_0xe2b268,'dbName':await getDbName(_0x1e6ae2[_0x4cfa65(0xe0)],_0xe2b268)[_0x4cfa65(0xd7)](()=>undefined)};if(_0x1e6ae2[_0x4cfa65(0xc1)])throw CliErrors[_0x4cfa65(0xe7)](_0x4cfa65(0xb5),_0x4cfa65(0xb7));const _0x50a495=await listDatabases(_0x1e6ae2[_0x4cfa65(0xe0)])[_0x4cfa65(0xd7)](()=>[]);if(_0x50a495[_0x4cfa65(0xde)]===0x1)return{'dbId':_0x50a495[0x0][_0x4cfa65(0xda)],'dbName':_0x50a495[0x0]['dbName']};if(_0x50a495[_0x4cfa65(0xde)]>0x1){const _0x59e894=await select({'message':_0x4cfa65(0xaf),'choices':[..._0x50a495['map'](_0x50805d=>({'name':_0x50805d['dbName']+'\x20('+_0x50805d[_0x4cfa65(0xda)]+')','value':serializeDbSelection(_0x50805d)})),{'name':_0x4cfa65(0xc6),'value':_0x4cfa65(0xe2)}]});if(_0x59e894!==_0x4cfa65(0xe2))return deserializeDbSelection(_0x59e894);}const _0x3a5b1a=await input({'message':_0x4cfa65(0xca),'validate':_0x3e43c6=>{const _0x155e4d=_0x4cfa65,_0xa8e57d=_0x3e43c6['trim']();if(!_0xa8e57d)return _0x155e4d(0xdd);const _0x5b0460=Number(_0xa8e57d);if(!Number[_0x155e4d(0xea)](_0x5b0460)||_0x5b0460<=0x0)return _0x155e4d(0xed);return!![];}});return{'dbId':Number(_0x3a5b1a[_0x4cfa65(0xb4)]())};}async function resolveSqlModeInput(_0x354cb){const _0x485c1a=a120_0x5cd701,_0x1c43a0=_0x354cb[_0x485c1a(0xd0)](_0x485c1a(0xc4))['trim']();if(_0x1c43a0==='sql'||_0x1c43a0==='mybatisXml')return _0x1c43a0;if(_0x354cb['nonInteractive'])throw CliErrors['flagMissing'](_0x485c1a(0xc4),_0x485c1a(0xcf));return await select({'message':_0x485c1a(0xb2),'choices':[{'name':_0x485c1a(0xe8),'value':'sql','description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x485c1a(0xc8),'value':_0x485c1a(0xc7),'description':_0x485c1a(0xd2)}]});}function serializeDbSelection(_0x784c76){const _0x4e0c68=a120_0x5cd701;return JSON[_0x4e0c68(0xb0)]({'dbId':_0x784c76[_0x4e0c68(0xda)],'dbName':_0x784c76['dbName']});}function deserializeDbSelection(_0x1afb10){const _0x45305b=a120_0x5cd701;try{const _0x1f9e91=JSON[_0x45305b(0xeb)](_0x1afb10);if(typeof _0x1f9e91[_0x45305b(0xda)]===_0x45305b(0xe1)&&Number['isFinite'](_0x1f9e91[_0x45305b(0xda)]))return{'dbId':_0x1f9e91['dbId'],'dbName':_0x1f9e91['dbName']};}catch{}throw CliErrors[_0x45305b(0xae)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x1afb10);}function resolveProvidedDbId(_0x4c964a){const _0x20afbd=a120_0x5cd701,_0x361c7e=_0x4c964a['flag'](_0x20afbd(0xb5));if(typeof _0x361c7e===_0x20afbd(0xe1)&&Number['isFinite'](_0x361c7e))return _0x361c7e;return undefined;}
@@ -1 +1 @@
1
- const a121_0x3fe64a=a121_0x3ffc;(function(_0x68f9bc,_0x5bf3dc){const _0x571e37=a121_0x3ffc,_0xdd19ab=_0x68f9bc();while(!![]){try{const _0x3cad1a=-parseInt(_0x571e37(0xac))/0x1+parseInt(_0x571e37(0xa9))/0x2*(-parseInt(_0x571e37(0xb1))/0x3)+parseInt(_0x571e37(0xb7))/0x4+-parseInt(_0x571e37(0xc4))/0x5+-parseInt(_0x571e37(0xa0))/0x6+-parseInt(_0x571e37(0xc2))/0x7*(parseInt(_0x571e37(0xbc))/0x8)+parseInt(_0x571e37(0xbb))/0x9*(parseInt(_0x571e37(0xbe))/0xa);if(_0x3cad1a===_0x5bf3dc)break;else _0xdd19ab['push'](_0xdd19ab['shift']());}catch(_0x273ea7){_0xdd19ab['push'](_0xdd19ab['shift']());}}}(a121_0x19f2,0x37358));function a121_0x19f2(){const _0x36692d=['360792uiVwyE','remoteId','SQL\x20lock\x20file\x20not\x20found.','Deleted\x20','sqlRoot','projectRoot','delete','startsWith','sqlRootDir','60646cWfmKw','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','Would\x20delete\x20SQL\x20','134438chXnHo','sql','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','filter','POST','15lTSbsG','validation','trashedTo','entries','fromEntries','toISOString','1803872Feixmn','sqls','lastSync','replace','23445pmOubw','136sAYZfP','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','2690uFLoLs','str','trashDir','appCode','115731cOelyG','sqlcode','1491655rYoXzK','lockFilePath'];a121_0x19f2=function(){return _0x36692d;};return a121_0x19f2();}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 a121_0x3ffc(_0x37d1c7,_0x4131fd){_0x37d1c7=_0x37d1c7-0xa0;const _0x19f25f=a121_0x19f2();let _0x3ffc0f=_0x19f25f[_0x37d1c7];return _0x3ffc0f;}export const sqlDelete={'service':a121_0x3fe64a(0xad),'command':'delete','description':a121_0x3fe64a(0xaa),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x237009){const _0x20e335=a121_0x3fe64a,_0x2927c8=loadSqlProjectConfig(_0x237009[_0x20e335(0xc1)]),_0x236962=await readSqlLockFile(_0x2927c8[_0x20e335(0xc5)]);if(!_0x236962)throw CliErrors[_0x20e335(0xb2)](_0x20e335(0xae));},async 'dryRun'(_0x36c72b){const _0x456204=a121_0x3fe64a,_0x1eca76=loadSqlProjectConfig(_0x36c72b['appCode']),_0x54f76b=await readSqlLockFile(_0x1eca76[_0x456204(0xc5)]);if(!_0x54f76b)throw CliErrors[_0x456204(0xb2)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x2ed61f}=ensureSqlLockScope(_0x54f76b,_0x36c72b[_0x456204(0xc1)],_0x1eca76[_0x456204(0xa4)],_0x456204(0xa6)),_0x3932fa=_0x36c72b[_0x456204(0xbf)]('sqlcode'),_0x3da15e=_0x2ed61f[_0x456204(0xb8)][_0x3932fa];if(!_0x3da15e)throw CliErrors[_0x456204(0xb2)](_0x456204(0xbd)+_0x3932fa+'\x22.');return{'method':_0x456204(0xb0),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x3932fa,'id':_0x3da15e[_0x456204(0xa1)],'localPath':resolveLocalSqlFilePath(_0x1eca76,_0x3932fa,_0x3da15e)},'description':_0x456204(0xab)+_0x3932fa+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x1eca76['trashDir']};},async 'execute'(_0x2afb8e){const _0x30858e=a121_0x3fe64a,_0x2eead3=loadSqlProjectConfig(_0x2afb8e[_0x30858e(0xc1)]),_0x6febda=await readSqlLockFile(_0x2eead3[_0x30858e(0xc5)]);if(!_0x6febda)throw CliErrors[_0x30858e(0xb2)](_0x30858e(0xa2));const {lockData:_0x45634c,appLock:_0x3e7f79}=ensureSqlLockScope(_0x6febda,_0x2afb8e[_0x30858e(0xc1)],_0x2eead3[_0x30858e(0xa4)],_0x30858e(0xa6)),_0x409c90=_0x2afb8e[_0x30858e(0xbf)](_0x30858e(0xc3)),_0x1ffed6=_0x3e7f79[_0x30858e(0xb8)][_0x409c90];if(!_0x1ffed6)throw CliErrors[_0x30858e(0xb2)](_0x30858e(0xbd)+_0x409c90+'\x22.');await deleteSqlQuery({'id':_0x1ffed6[_0x30858e(0xa1)],'sqlCode':_0x409c90}),_0x3e7f79[_0x30858e(0xb8)]=Object[_0x30858e(0xb5)](Object[_0x30858e(0xb4)](_0x3e7f79[_0x30858e(0xb8)])[_0x30858e(0xaf)](([_0x4a7172])=>_0x4a7172!==_0x409c90)),_0x3e7f79[_0x30858e(0xb9)]=new Date()[_0x30858e(0xb6)](),await writeSqlLockFile(_0x2eead3[_0x30858e(0xc5)],_0x45634c);const _0x4e770a=resolveLocalSqlFilePath(_0x2eead3,_0x409c90,_0x1ffed6);let _0xacf1f3;await fileExists(_0x4e770a)&&(_0xacf1f3=await moveToTrash(_0x2eead3[_0x30858e(0xa5)],_0x2eead3[_0x30858e(0xc0)],_0x4e770a),await cleanupEmptyDirectories(dirname(_0x4e770a),_0x2eead3[_0x30858e(0xa8)]));const _0x3a96dc={'deleted':_0x409c90,'remoteId':_0x1ffed6[_0x30858e(0xa1)]};if(_0xacf1f3)_0x3a96dc[_0x30858e(0xb3)]=_0xacf1f3;return{'ok':!![],'data':_0x3a96dc,'message':_0x30858e(0xa3)+_0x409c90+(_0xacf1f3?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x125b38,_0x17207a,_0x2d740b){const _0x6979d5=a121_0x3fe64a,_0x229676=new Date()[_0x6979d5(0xb6)]()[_0x6979d5(0xba)](/[:.]/g,'-'),_0xf5e6b8=relative(_0x125b38,_0x2d740b),_0x300bc5=join(_0x17207a,_0x229676,_0xf5e6b8);return await mkdir(dirname(_0x300bc5),{'recursive':!![]}),await rename(_0x2d740b,_0x300bc5),_0x300bc5;}async function cleanupEmptyDirectories(_0x15723f,_0x4ffb04){const _0x324ac6=a121_0x3fe64a;let _0x210762=resolve(_0x15723f);const _0x44c23b=resolve(_0x4ffb04);while(_0x210762[_0x324ac6(0xa7)](''+_0x44c23b+sep)||_0x210762===_0x44c23b){if(_0x210762===_0x44c23b)return;try{const _0x38a182=await readdir(_0x210762);if(_0x38a182['length']>0x0)return;await rmdir(_0x210762);}catch{return;}_0x210762=dirname(_0x210762);}}
1
+ function a121_0x4f14(_0x2af1aa,_0x2edce4){_0x2af1aa=_0x2af1aa-0xae;const _0x42abc4=a121_0x42ab();let _0x4f1489=_0x42abc4[_0x2af1aa];return _0x4f1489;}const a121_0x36c3c3=a121_0x4f14;(function(_0x3322e8,_0x72e0f4){const _0x179027=a121_0x4f14,_0xc48909=_0x3322e8();while(!![]){try{const _0x9b963d=parseInt(_0x179027(0xb2))/0x1+parseInt(_0x179027(0xaf))/0x2+parseInt(_0x179027(0xc5))/0x3*(parseInt(_0x179027(0xc9))/0x4)+-parseInt(_0x179027(0xbf))/0x5+-parseInt(_0x179027(0xce))/0x6*(parseInt(_0x179027(0xbe))/0x7)+parseInt(_0x179027(0xb4))/0x8*(-parseInt(_0x179027(0xc1))/0x9)+parseInt(_0x179027(0xcf))/0xa;if(_0x9b963d===_0x72e0f4)break;else _0xc48909['push'](_0xc48909['shift']());}catch(_0x565326){_0xc48909['push'](_0xc48909['shift']());}}}(a121_0x42ab,0xb89a8));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';export const sqlDelete={'service':a121_0x36c3c3(0xc2),'command':a121_0x36c3c3(0xba),'description':a121_0x36c3c3(0xb8),'risk':a121_0x36c3c3(0xb5),'flags':[SQLCODE_FLAG],async 'validate'(_0x1596c7){const _0x3a2460=a121_0x36c3c3,_0x3db694=loadSqlProjectConfig(_0x1596c7['appCode']),_0x3cbe9e=await readSqlLockFile(_0x3db694[_0x3a2460(0xc3)]);if(!_0x3cbe9e)throw CliErrors[_0x3a2460(0xc0)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x94132e){const _0x49f0d0=a121_0x36c3c3,_0x329571=loadSqlProjectConfig(_0x94132e['appCode']),_0x227ce6=await readSqlLockFile(_0x329571['lockFilePath']);if(!_0x227ce6)throw CliErrors[_0x49f0d0(0xc0)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0xf41a33}=ensureSqlLockScope(_0x227ce6,_0x94132e[_0x49f0d0(0xb7)],_0x329571[_0x49f0d0(0xcd)],'delete'),_0x447f7e=_0x94132e[_0x49f0d0(0xae)]('sqlcode'),_0x359ccf=_0xf41a33['sqls'][_0x447f7e];if(!_0x359ccf)throw CliErrors[_0x49f0d0(0xc0)](_0x49f0d0(0xbd)+_0x447f7e+'\x22.');return{'method':'POST','url':_0x49f0d0(0xbc),'body':{'sqlCode':_0x447f7e,'id':_0x359ccf[_0x49f0d0(0xcc)],'localPath':resolveLocalSqlFilePath(_0x329571,_0x447f7e,_0x359ccf)},'description':'Would\x20delete\x20SQL\x20'+_0x447f7e+_0x49f0d0(0xc4)+_0x329571[_0x49f0d0(0xb1)]};},async 'execute'(_0x5cc4d3){const _0x2c27bb=a121_0x36c3c3,_0x40b853=loadSqlProjectConfig(_0x5cc4d3['appCode']),_0x49fc73=await readSqlLockFile(_0x40b853['lockFilePath']);if(!_0x49fc73)throw CliErrors[_0x2c27bb(0xc0)](_0x2c27bb(0xca));const {lockData:_0x556ba0,appLock:_0x19b334}=ensureSqlLockScope(_0x49fc73,_0x5cc4d3[_0x2c27bb(0xb7)],_0x40b853['sqlRoot'],_0x2c27bb(0xba)),_0x40e8ac=_0x5cc4d3[_0x2c27bb(0xae)]('sqlcode'),_0x1b0779=_0x19b334[_0x2c27bb(0xb6)][_0x40e8ac];if(!_0x1b0779)throw CliErrors[_0x2c27bb(0xc0)](_0x2c27bb(0xbd)+_0x40e8ac+'\x22.');await deleteSqlQuery({'id':_0x1b0779['remoteId'],'sqlCode':_0x40e8ac}),_0x19b334['sqls']=Object[_0x2c27bb(0xc7)](Object[_0x2c27bb(0xb9)](_0x19b334['sqls'])[_0x2c27bb(0xcb)](([_0x57c4c8])=>_0x57c4c8!==_0x40e8ac)),_0x19b334[_0x2c27bb(0xb3)]=new Date()[_0x2c27bb(0xbb)](),await writeSqlLockFile(_0x40b853[_0x2c27bb(0xc3)],_0x556ba0);const _0x342e96=resolveLocalSqlFilePath(_0x40b853,_0x40e8ac,_0x1b0779);let _0x27e8a5;await fileExists(_0x342e96)&&(_0x27e8a5=await moveToTrash(_0x40b853[_0x2c27bb(0xd0)],_0x40b853['trashDir'],_0x342e96),await cleanupEmptyDirectories(dirname(_0x342e96),_0x40b853[_0x2c27bb(0xc8)]));const _0x2a7f0c={'deleted':_0x40e8ac,'remoteId':_0x1b0779[_0x2c27bb(0xcc)]};if(_0x27e8a5)_0x2a7f0c['trashedTo']=_0x27e8a5;return{'ok':!![],'data':_0x2a7f0c,'message':_0x2c27bb(0xd1)+_0x40e8ac+(_0x27e8a5?_0x2c27bb(0xd2):'')};}};async function moveToTrash(_0x5d0849,_0x135821,_0x33595e){const _0x16dfe4=a121_0x36c3c3,_0x48a090=new Date()[_0x16dfe4(0xbb)]()[_0x16dfe4(0xc6)](/[:.]/g,'-'),_0x484106=relative(_0x5d0849,_0x33595e),_0x339a9c=join(_0x135821,_0x48a090,_0x484106);return await mkdir(dirname(_0x339a9c),{'recursive':!![]}),await rename(_0x33595e,_0x339a9c),_0x339a9c;}function a121_0x42ab(){const _0x188e4c=['validation','1917ECYkhl','sql','lockFilePath','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','6WxNclU','replace','fromEntries','sqlRootDir','1611484GFLylR','SQL\x20lock\x20file\x20not\x20found.','filter','remoteId','sqlRoot','4250898JxLcBA','11888090QpeaoO','projectRoot','Deleted\x20','\x20(local\x20file\x20moved\x20to\x20trash)','str','75916vhKtzc','startsWith','trashDir','887613rtHDkp','lastSync','40480NhcdgQ','high-risk-write','sqls','appCode','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','entries','delete','toISOString','/smartapi/custom/deleteUserCustomSql','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','7ArDMnV','1888615DCTVNF'];a121_0x42ab=function(){return _0x188e4c;};return a121_0x42ab();}async function cleanupEmptyDirectories(_0x246b04,_0x141259){const _0x404fce=a121_0x36c3c3;let _0x1fa14c=resolve(_0x246b04);const _0x3e37e8=resolve(_0x141259);while(_0x1fa14c[_0x404fce(0xb0)](''+_0x3e37e8+sep)||_0x1fa14c===_0x3e37e8){if(_0x1fa14c===_0x3e37e8)return;try{const _0x1864ff=await readdir(_0x1fa14c);if(_0x1864ff['length']>0x0)return;await rmdir(_0x1fa14c);}catch{return;}_0x1fa14c=dirname(_0x1fa14c);}}
@@ -1 +1 @@
1
- const a122_0x279415=a122_0x304e;(function(_0x324ecf,_0x4f47b5){const _0x190d1f=a122_0x304e,_0x2c63f0=_0x324ecf();while(!![]){try{const _0x1c4073=-parseInt(_0x190d1f(0x8a))/0x1*(-parseInt(_0x190d1f(0x9c))/0x2)+parseInt(_0x190d1f(0x96))/0x3+parseInt(_0x190d1f(0x9e))/0x4+-parseInt(_0x190d1f(0x94))/0x5+parseInt(_0x190d1f(0x99))/0x6*(parseInt(_0x190d1f(0x9b))/0x7)+-parseInt(_0x190d1f(0x9f))/0x8+-parseInt(_0x190d1f(0x97))/0x9;if(_0x1c4073===_0x4f47b5)break;else _0x2c63f0['push'](_0x2c63f0['shift']());}catch(_0x59f5d5){_0x2c63f0['push'](_0x2c63f0['shift']());}}}(a122_0x1364,0x8d75d));import{getSqlQueryInfo}from'../../core/api-client.js';function a122_0x1364(){const _0x1faa62=['737184KzymkO','sqlcode','sqlContent','1PDEmXv','sqlName','detail','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','verbose','sqlCode','sql','boolean','read','bool','5172670Njngdt','description','2594784kDKJuI','8952939kDljBA','dbId','10794SkVdzt','Return\x20full\x20raw\x20SQL\x20query\x20object','1141Bdtunn','1327276mDaTrj','appCode','3516284XhoRjc'];a122_0x1364=function(){return _0x1faa62;};return a122_0x1364();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a122_0x304e(_0x2b60cf,_0x80dbe8){_0x2b60cf=_0x2b60cf-0x89;const _0x136467=a122_0x1364();let _0x304e55=_0x136467[_0x2b60cf];return _0x304e55;}export const sqlDetail={'service':a122_0x279415(0x90),'command':a122_0x279415(0x8c),'description':a122_0x279415(0x8d),'risk':a122_0x279415(0x92),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a122_0x279415(0x91),'description':a122_0x279415(0x9a)}],async 'execute'(_0x134f7a){const _0x53cfc1=a122_0x279415,_0x70783e=await getSqlQueryInfo(_0x134f7a[_0x53cfc1(0x9d)],_0x134f7a['str'](_0x53cfc1(0xa0))),_0x26a55e=_0x134f7a[_0x53cfc1(0x93)](_0x53cfc1(0x8e));if(_0x26a55e)return{'ok':!![],'data':_0x70783e};const _0x16e2de=_0x70783e[_0x53cfc1(0x98)]?await getDbName(_0x134f7a[_0x53cfc1(0x9d)],_0x70783e[_0x53cfc1(0x98)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x70783e[_0x53cfc1(0x8f)],'sqlName':_0x70783e[_0x53cfc1(0x8b)],'db':_0x16e2de?_0x16e2de+'\x20('+_0x70783e[_0x53cfc1(0x98)]+')':_0x70783e[_0x53cfc1(0x98)]??'','description':_0x70783e[_0x53cfc1(0x95)]??'','sqlContent':_0x70783e[_0x53cfc1(0x89)]??''}};}};
1
+ const a122_0x272449=a122_0x921b;(function(_0x45d38e,_0x3998f3){const _0xe92c76=a122_0x921b,_0x24f029=_0x45d38e();while(!![]){try{const _0x41739c=parseInt(_0xe92c76(0xe9))/0x1*(-parseInt(_0xe92c76(0xe6))/0x2)+-parseInt(_0xe92c76(0xe8))/0x3+parseInt(_0xe92c76(0xfb))/0x4+parseInt(_0xe92c76(0xec))/0x5*(parseInt(_0xe92c76(0xf1))/0x6)+parseInt(_0xe92c76(0xe4))/0x7*(parseInt(_0xe92c76(0xea))/0x8)+parseInt(_0xe92c76(0xed))/0x9*(parseInt(_0xe92c76(0xef))/0xa)+parseInt(_0xe92c76(0xf0))/0xb*(-parseInt(_0xe92c76(0xf9))/0xc);if(_0x41739c===_0x3998f3)break;else _0x24f029['push'](_0x24f029['shift']());}catch(_0x372a98){_0x24f029['push'](_0x24f029['shift']());}}}(a122_0x4e4d,0x62e42));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a122_0x921b(_0x20fab9,_0x1d27bb){_0x20fab9=_0x20fab9-0xe4;const _0x4e4d87=a122_0x4e4d();let _0x921b8f=_0x4e4d87[_0x20fab9];return _0x921b8f;}function a122_0x4e4d(){const _0xecc990=['874884VzDwFz','1151HFrzcn','712UtbxUg','boolean','4030145lEMWZE','1474749DrYRmP','sqlCode','10pPggTN','143FZCIUS','6mwLBtb','appCode','dbId','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','sqlContent','detail','description','verbose','1194156kcrScn','read','2479192qLAwaY','48804RkxdYp','str','382vxfccW','sqlcode'];a122_0x4e4d=function(){return _0xecc990;};return a122_0x4e4d();}export const sqlDetail={'service':'sql','command':a122_0x272449(0xf6),'description':a122_0x272449(0xf4),'risk':a122_0x272449(0xfa),'flags':[SQLCODE_FLAG,{'name':a122_0x272449(0xf8),'type':a122_0x272449(0xeb),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x26bad1){const _0x251b4d=a122_0x272449,_0x5b8c25=await getSqlQueryInfo(_0x26bad1[_0x251b4d(0xf2)],_0x26bad1[_0x251b4d(0xe5)](_0x251b4d(0xe7))),_0x26c3f5=_0x26bad1['bool']('verbose');if(_0x26c3f5)return{'ok':!![],'data':_0x5b8c25};const _0x348767=_0x5b8c25[_0x251b4d(0xf3)]?await getDbName(_0x26bad1['appCode'],_0x5b8c25['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x5b8c25[_0x251b4d(0xee)],'sqlName':_0x5b8c25['sqlName'],'db':_0x348767?_0x348767+'\x20('+_0x5b8c25[_0x251b4d(0xf3)]+')':_0x5b8c25[_0x251b4d(0xf3)]??'','description':_0x5b8c25[_0x251b4d(0xf7)]??'','sqlContent':_0x5b8c25[_0x251b4d(0xf5)]??''}};}};
@@ -1 +1 @@
1
- const a123_0x2b836d=a123_0x4fd9;(function(_0x5af709,_0x1fe541){const _0x523133=a123_0x4fd9,_0x14656b=_0x5af709();while(!![]){try{const _0x726ce7=-parseInt(_0x523133(0xaf))/0x1*(parseInt(_0x523133(0xa6))/0x2)+-parseInt(_0x523133(0xa0))/0x3*(-parseInt(_0x523133(0xaa))/0x4)+parseInt(_0x523133(0xa8))/0x5+-parseInt(_0x523133(0xad))/0x6+-parseInt(_0x523133(0xa3))/0x7+parseInt(_0x523133(0xb2))/0x8*(parseInt(_0x523133(0x9b))/0x9)+parseInt(_0x523133(0xa2))/0xa*(-parseInt(_0x523133(0x9e))/0xb);if(_0x726ce7===_0x1fe541)break;else _0x14656b['push'](_0x14656b['shift']());}catch(_0x4bd8fb){_0x14656b['push'](_0x14656b['shift']());}}}(a123_0x424e,0x748eb));import{executeSql}from'../../core/api-client.js';function a123_0x424e(){const _0x2f8c3f=['now','1206wTAOWp','exec','2530060GiwdLp','str','1424344TpUEXx','isArray','string','282210OVOdIe','appCode','417pgFwhH','params','sqlcode','6646480yeKLYp','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','read','execSuccess','SQL\x20execution\x20failed','9SaJnqM','sql','execResult','491524uhJMDw','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','3saBtxK','\x20row(s)\x20in\x20','70uSHHmj','4229505BLAgSh','execError'];a123_0x424e=function(){return _0x2f8c3f;};return a123_0x424e();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a123_0x4fd9(_0x3f3a57,_0x4d42ac){_0x3f3a57=_0x3f3a57-0x99;const _0x424e58=a123_0x424e();let _0x4fd987=_0x424e58[_0x3f3a57];return _0x4fd987;}export const sqlExec={'service':a123_0x2b836d(0x9c),'command':a123_0x2b836d(0xa7),'description':a123_0x2b836d(0x9f),'risk':a123_0x2b836d(0xb4),'flags':[SQLCODE_FLAG,{'name':a123_0x2b836d(0xb0),'type':a123_0x2b836d(0xac),'description':a123_0x2b836d(0xb3)}],async 'execute'(_0xd6bb1b){const _0x281d6e=a123_0x2b836d,_0xfc603e=parseJsonParams(_0xd6bb1b['str'](_0x281d6e(0xb0))),_0x6be6b0=Date[_0x281d6e(0xa5)](),_0x4c154f=await executeSql(_0xd6bb1b[_0x281d6e(0xae)],_0xd6bb1b[_0x281d6e(0xa9)](_0x281d6e(0xb1)),_0xfc603e),_0xcbeef0=Date['now']()-_0x6be6b0,_0x1ba4da=_0x4c154f?.[_0x281d6e(0x9d)]??_0x4c154f,_0x4eb4bb=_0x4c154f?.[_0x281d6e(0x99)]??!![];if(!_0x4eb4bb)return{'ok':![],'data':{'error':_0x4c154f?.[_0x281d6e(0xa4)]||_0x281d6e(0x9a),'elapsed':_0xcbeef0},'message':_0x281d6e(0x9a)};const _0x15cabc=Array[_0x281d6e(0xab)](_0x1ba4da)?_0x1ba4da:[];return{'ok':!![],'data':{'rows':_0x15cabc,'rowCount':_0x15cabc['length'],'elapsed':_0xcbeef0},'message':'Returned\x20'+_0x15cabc['length']+_0x281d6e(0xa1)+_0xcbeef0+'ms'};}};
1
+ const a123_0x24d02c=a123_0x633c;(function(_0x89b455,_0x4c2362){const _0x4deb07=a123_0x633c,_0x24e546=_0x89b455();while(!![]){try{const _0x35c34e=-parseInt(_0x4deb07(0x150))/0x1*(parseInt(_0x4deb07(0x148))/0x2)+parseInt(_0x4deb07(0x15d))/0x3+-parseInt(_0x4deb07(0x154))/0x4+parseInt(_0x4deb07(0x14c))/0x5+-parseInt(_0x4deb07(0x151))/0x6+-parseInt(_0x4deb07(0x157))/0x7*(parseInt(_0x4deb07(0x153))/0x8)+parseInt(_0x4deb07(0x155))/0x9;if(_0x35c34e===_0x4c2362)break;else _0x24e546['push'](_0x24e546['shift']());}catch(_0x1a5109){_0x24e546['push'](_0x24e546['shift']());}}}(a123_0x5348,0xf1179));function a123_0x5348(){const _0x178f04=['string','40131LLptsx','params','Returned\x20','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','sql','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','1523250SXnjyp','62268WCckRb','sqlcode','appCode','length','2282765OpFbsZ','isArray','execSuccess','execResult','48jnNuyC','1370064fShrtm','str','304HCAxuD','6284104WMhSgo','31813794jOyZXs'];a123_0x5348=function(){return _0x178f04;};return a123_0x5348();}import{executeSql}from'../../core/api-client.js';function a123_0x633c(_0x2d9d9a,_0x1c5653){_0x2d9d9a=_0x2d9d9a-0x148;const _0x534887=a123_0x5348();let _0x633c51=_0x534887[_0x2d9d9a];return _0x633c51;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a123_0x24d02c(0x15b),'command':'exec','description':a123_0x24d02c(0x15c),'risk':'read','flags':[SQLCODE_FLAG,{'name':a123_0x24d02c(0x158),'type':a123_0x24d02c(0x156),'description':a123_0x24d02c(0x15a)}],async 'execute'(_0xfea42c){const _0x8a483f=a123_0x24d02c,_0x4392bf=parseJsonParams(_0xfea42c[_0x8a483f(0x152)](_0x8a483f(0x158))),_0x396f5a=Date['now'](),_0xa37311=await executeSql(_0xfea42c[_0x8a483f(0x14a)],_0xfea42c[_0x8a483f(0x152)](_0x8a483f(0x149)),_0x4392bf),_0x58990b=Date['now']()-_0x396f5a,_0x36374d=_0xa37311?.[_0x8a483f(0x14f)]??_0xa37311,_0x5b3891=_0xa37311?.[_0x8a483f(0x14e)]??!![];if(!_0x5b3891)return{'ok':![],'data':{'error':_0xa37311?.['execError']||'SQL\x20execution\x20failed','elapsed':_0x58990b},'message':'SQL\x20execution\x20failed'};const _0x26042d=Array[_0x8a483f(0x14d)](_0x36374d)?_0x36374d:[];return{'ok':!![],'data':{'rows':_0x26042d,'rowCount':_0x26042d['length'],'elapsed':_0x58990b},'message':_0x8a483f(0x159)+_0x26042d[_0x8a483f(0x14b)]+'\x20row(s)\x20in\x20'+_0x58990b+'ms'};}};
@@ -1 +1 @@
1
- function a124_0x4eca(_0x1470ff,_0x319d9a){_0x1470ff=_0x1470ff-0xa2;const _0x493d53=a124_0x493d();let _0x4eca0d=_0x493d53[_0x1470ff];return _0x4eca0d;}(function(_0x4b79f5,_0x1aa697){const _0x4b9b0b=a124_0x4eca,_0x11ff40=_0x4b79f5();while(!![]){try{const _0x54fb5e=-parseInt(_0x4b9b0b(0xa2))/0x1+-parseInt(_0x4b9b0b(0xa9))/0x2*(-parseInt(_0x4b9b0b(0xa7))/0x3)+-parseInt(_0x4b9b0b(0xa3))/0x4+parseInt(_0x4b9b0b(0xa5))/0x5*(-parseInt(_0x4b9b0b(0xa6))/0x6)+-parseInt(_0x4b9b0b(0xaa))/0x7+-parseInt(_0x4b9b0b(0xa4))/0x8+parseInt(_0x4b9b0b(0xa8))/0x9;if(_0x54fb5e===_0x1aa697)break;else _0x11ff40['push'](_0x11ff40['shift']());}catch(_0x4da4bc){_0x11ff40['push'](_0x11ff40['shift']());}}}(a124_0x493d,0x1d3bf));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a124_0x493d(){const _0x22b512=['161720RnFSdw','1139928rotpSh','325BzdrdT','6432risNyo','1080LlmFfM','4556529IZFGWg','740HJpWkO','269087rCcLRX','228696mPzQqL'];a124_0x493d=function(){return _0x22b512;};return a124_0x493d();}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ function a124_0x2ad6(){const _0x3e9972=['3107979MGLvau','1557OceWOF','6aabkCx','5257516llffeq','10vcNLXc','47870UrnCvR','14181ARkSxv','3207503aDIEti','60rxEjyr','116IumoAr','79960ZpBQSx','14888FcTYgH','236sINivO'];a124_0x2ad6=function(){return _0x3e9972;};return a124_0x2ad6();}(function(_0x5cd402,_0x2fdef7){const _0x284470=a124_0x2d61,_0xb5f8e0=_0x5cd402();while(!![]){try{const _0x43ab31=parseInt(_0x284470(0x1e0))/0x1+parseInt(_0x284470(0x1df))/0x2*(parseInt(_0x284470(0x1e9))/0x3)+-parseInt(_0x284470(0x1e2))/0x4*(-parseInt(_0x284470(0x1e8))/0x5)+-parseInt(_0x284470(0x1e5))/0x6*(-parseInt(_0x284470(0x1e3))/0x7)+-parseInt(_0x284470(0x1e1))/0x8*(parseInt(_0x284470(0x1e4))/0x9)+parseInt(_0x284470(0x1e7))/0xa*(parseInt(_0x284470(0x1e6))/0xb)+-parseInt(_0x284470(0x1eb))/0xc*(parseInt(_0x284470(0x1ea))/0xd);if(_0x43ab31===_0x2fdef7)break;else _0xb5f8e0['push'](_0xb5f8e0['shift']());}catch(_0x3dc090){_0xb5f8e0['push'](_0xb5f8e0['shift']());}}}(a124_0x2ad6,0x45a99));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a124_0x2d61(_0x3f956b,_0x37ceaa){_0x3f956b=_0x3f956b-0x1df;const _0x2ad6bf=a124_0x2ad6();let _0x2d61ea=_0x2ad6bf[_0x3f956b];return _0x2d61ea;}import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a125_0x4aa0(_0x11ead3,_0x39b5b4){_0x11ead3=_0x11ead3-0x69;const _0x36d7de=a125_0x36d7();let _0x4aa003=_0x36d7de[_0x11ead3];return _0x4aa003;}const a125_0x267076=a125_0x4aa0;(function(_0x554191,_0x5c7f7f){const _0x119c46=a125_0x4aa0,_0x41a366=_0x554191();while(!![]){try{const _0x1e4218=parseInt(_0x119c46(0x6c))/0x1+-parseInt(_0x119c46(0x84))/0x2*(parseInt(_0x119c46(0x8f))/0x3)+parseInt(_0x119c46(0x82))/0x4*(-parseInt(_0x119c46(0x7d))/0x5)+parseInt(_0x119c46(0x7b))/0x6*(-parseInt(_0x119c46(0x7e))/0x7)+-parseInt(_0x119c46(0x75))/0x8*(-parseInt(_0x119c46(0x74))/0x9)+-parseInt(_0x119c46(0x6d))/0xa+parseInt(_0x119c46(0x8d))/0xb*(parseInt(_0x119c46(0x85))/0xc);if(_0x1e4218===_0x5c7f7f)break;else _0x41a366['push'](_0x41a366['shift']());}catch(_0x4963b8){_0x41a366['push'](_0x41a366['shift']());}}}(a125_0x36d7,0x32e4a));import{listSqlQueries}from'../../core/api-client.js';function a125_0x36d7(){const _0x38f5e4=['83430pyGzUF','155700VJmjYY','string','List\x20custom\x20SQL\x20queries','Page\x20number','sqlName','page','list','2736BQdswi','4184WvFMft','dbId','num','Found\x20','sql','name','9006WoasdM','appCode','15775eDjuUH','903AZJFHI','totalCount','tableData','bool','12eyRRWR','length','40536tPzuRR','96wohdbs','verbose','str','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','description','read','paging','Filter\x20by\x20SQL\x20name','281831IZQNlL','Page\x20size','3coevDd','No\x20custom\x20SQL\x20queries\x20found.','sqlCode','\x20SQL\x20queries\x20(total:\x20','pagesize','sqlcode','number','boolean'];a125_0x36d7=function(){return _0x38f5e4;};return a125_0x36d7();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a125_0x267076(0x79),'command':a125_0x267076(0x73),'description':a125_0x267076(0x6f),'risk':a125_0x267076(0x8a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x267076(0x7a),'type':a125_0x267076(0x6e),'description':a125_0x267076(0x8c)},{'name':a125_0x267076(0x72),'type':a125_0x267076(0x6a),'description':a125_0x267076(0x70),'default':0x1},{'name':'pagesize','type':a125_0x267076(0x6a),'description':a125_0x267076(0x8e)},{'name':a125_0x267076(0x86),'type':a125_0x267076(0x6b),'description':a125_0x267076(0x88)}],async 'execute'(_0x415479){const _0x4fee90=a125_0x267076,_0x5f40d4=await listSqlQueries(_0x415479['appCode'],{'sqlCode':_0x415479[_0x4fee90(0x87)](_0x4fee90(0x69))||undefined,'sqlName':_0x415479[_0x4fee90(0x87)](_0x4fee90(0x7a))||undefined,'currentPage':_0x415479[_0x4fee90(0x77)]('page'),'pageSize':_0x415479[_0x4fee90(0x77)](_0x4fee90(0x93),0x32)}),_0x567916=_0x415479[_0x4fee90(0x81)]('verbose'),_0x6c544a=_0x5f40d4[_0x4fee90(0x80)]??[],_0x3f9824=_0x5f40d4[_0x4fee90(0x8b)]?.[_0x4fee90(0x7f)]??_0x6c544a[_0x4fee90(0x83)];let _0x90dcc6;return _0x567916?_0x90dcc6=_0x6c544a:_0x90dcc6=await Promise['all'](_0x6c544a['map'](async _0x2132f8=>{const _0x461737=_0x4fee90;let _0x594b94;try{_0x594b94=_0x2132f8['dbId']?await getDbName(_0x415479[_0x461737(0x7c)],_0x2132f8[_0x461737(0x76)]):undefined;}catch{}return{'sqlCode':_0x2132f8[_0x461737(0x91)],'sqlName':_0x2132f8[_0x461737(0x71)],'description':_0x2132f8[_0x461737(0x89)]??'','db':_0x594b94?_0x594b94+'\x20('+_0x2132f8[_0x461737(0x76)]+')':_0x2132f8[_0x461737(0x76)]??''};})),{'ok':!![],'data':_0x90dcc6,'message':_0x6c544a[_0x4fee90(0x83)]===0x0?_0x4fee90(0x90):_0x4fee90(0x78)+_0x6c544a[_0x4fee90(0x83)]+_0x4fee90(0x92)+_0x3f9824+').'};}};
1
+ function a125_0x571d(){const _0x238619=['number','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','string','14174622RvXyxX','tableData','num','bool','str','name','dbId','727044dSycht','sql','boolean','6RbzYsv','\x20SQL\x20queries\x20(total:\x20','4GBTeLh','page','1305856ogwHdy','totalCount','150736Niejzg','Filter\x20by\x20SQL\x20name','read','sqlCode','2128064KrDfbU','paging','Page\x20size','sqlcode','No\x20custom\x20SQL\x20queries\x20found.','appCode','List\x20custom\x20SQL\x20queries','pagesize','1355585rFXFIK','description','1285228iidrzp'];a125_0x571d=function(){return _0x238619;};return a125_0x571d();}const a125_0x41f1a5=a125_0x35f8;(function(_0x4ab5b9,_0x5c7e10){const _0x3d2ba3=a125_0x35f8,_0x14f5ac=_0x4ab5b9();while(!![]){try{const _0x30a2aa=parseInt(_0x3d2ba3(0x1c9))/0x1*(parseInt(_0x3d2ba3(0x1c5))/0x2)+parseInt(_0x3d2ba3(0x1c3))/0x3*(-parseInt(_0x3d2ba3(0x1c7))/0x4)+-parseInt(_0x3d2ba3(0x1b3))/0x5+-parseInt(_0x3d2ba3(0x1c0))/0x6+-parseInt(_0x3d2ba3(0x1b5))/0x7+-parseInt(_0x3d2ba3(0x1cd))/0x8+parseInt(_0x3d2ba3(0x1b9))/0x9;if(_0x30a2aa===_0x5c7e10)break;else _0x14f5ac['push'](_0x14f5ac['shift']());}catch(_0x4b5f83){_0x14f5ac['push'](_0x14f5ac['shift']());}}}(a125_0x571d,0x5d29f));import{listSqlQueries}from'../../core/api-client.js';function a125_0x35f8(_0x241327,_0x5b6848){_0x241327=_0x241327-0x1ae;const _0x571d41=a125_0x571d();let _0x35f866=_0x571d41[_0x241327];return _0x35f866;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a125_0x41f1a5(0x1c1),'command':'list','description':a125_0x41f1a5(0x1b1),'risk':a125_0x41f1a5(0x1cb),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x41f1a5(0x1be),'type':a125_0x41f1a5(0x1b8),'description':a125_0x41f1a5(0x1ca)},{'name':a125_0x41f1a5(0x1c6),'type':a125_0x41f1a5(0x1b6),'description':'Page\x20number','default':0x1},{'name':'pagesize','type':a125_0x41f1a5(0x1b6),'description':a125_0x41f1a5(0x1cf)},{'name':'verbose','type':a125_0x41f1a5(0x1c2),'description':a125_0x41f1a5(0x1b7)}],async 'execute'(_0x556baa){const _0x33b068=a125_0x41f1a5,_0x320125=await listSqlQueries(_0x556baa[_0x33b068(0x1b0)],{'sqlCode':_0x556baa['str'](_0x33b068(0x1ae))||undefined,'sqlName':_0x556baa[_0x33b068(0x1bd)](_0x33b068(0x1be))||undefined,'currentPage':_0x556baa[_0x33b068(0x1bb)](_0x33b068(0x1c6)),'pageSize':_0x556baa[_0x33b068(0x1bb)](_0x33b068(0x1b2),0x32)}),_0x5f2ec2=_0x556baa[_0x33b068(0x1bc)]('verbose'),_0x587fc2=_0x320125[_0x33b068(0x1ba)]??[],_0x4710fc=_0x320125[_0x33b068(0x1ce)]?.[_0x33b068(0x1c8)]??_0x587fc2['length'];let _0x3f26a2;return _0x5f2ec2?_0x3f26a2=_0x587fc2:_0x3f26a2=await Promise['all'](_0x587fc2['map'](async _0x3399aa=>{const _0x1499c1=_0x33b068;let _0x1515f7;try{_0x1515f7=_0x3399aa[_0x1499c1(0x1bf)]?await getDbName(_0x556baa[_0x1499c1(0x1b0)],_0x3399aa['dbId']):undefined;}catch{}return{'sqlCode':_0x3399aa[_0x1499c1(0x1cc)],'sqlName':_0x3399aa['sqlName'],'description':_0x3399aa[_0x1499c1(0x1b4)]??'','db':_0x1515f7?_0x1515f7+'\x20('+_0x3399aa[_0x1499c1(0x1bf)]+')':_0x3399aa[_0x1499c1(0x1bf)]??''};})),{'ok':!![],'data':_0x3f26a2,'message':_0x587fc2['length']===0x0?_0x33b068(0x1af):'Found\x20'+_0x587fc2['length']+_0x33b068(0x1c4)+_0x4710fc+').'};}};
@@ -1 +1 @@
1
- const a126_0xab83f6=a126_0x12dc;(function(_0x44eac1,_0x1899f1){const _0x57ece2=a126_0x12dc,_0x474684=_0x44eac1();while(!![]){try{const _0x469da0=-parseInt(_0x57ece2(0x9d))/0x1+-parseInt(_0x57ece2(0x90))/0x2+parseInt(_0x57ece2(0x9c))/0x3*(-parseInt(_0x57ece2(0xa3))/0x4)+parseInt(_0x57ece2(0x89))/0x5+parseInt(_0x57ece2(0xaa))/0x6+-parseInt(_0x57ece2(0x88))/0x7+parseInt(_0x57ece2(0xa4))/0x8*(parseInt(_0x57ece2(0x85))/0x9);if(_0x469da0===_0x1899f1)break;else _0x474684['push'](_0x474684['shift']());}catch(_0x256818){_0x474684['push'](_0x474684['shift']());}}}(a126_0x3f35,0x72f59));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a126_0x12dc(_0x5931a7,_0x2c02c7){_0x5931a7=_0x5931a7-0x7f;const _0x3f35e2=a126_0x3f35();let _0x12dca7=_0x3f35e2[_0x5931a7];return _0x12dca7;}import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a126_0x3f35(){const _0x19dcef=['sqlName','force','catch','tableData','297sOdGwH','toISOString','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','3695972IrLeht','2247195oXQlpY','\x20skipped,\x20','dbId','totalCount','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sqlRootDir','conflict','936362fCzyJZ','boolean','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','write','description','sqls','string','cancelled','mybatisXml','push','str','length','9171Ykpnmc','568010hILPsZ','message','sqlCode','replace','Force\x20pull\x20cancelled.','lockFilePath','772CGRNoZ','432664TDLYmb','local\x20differs\x20from\x20remote','sqlcode','utf8','sqlRoot','appCode','2345298mUOScm','join','sqlContent','test','name','lastSync','Filter\x20by\x20SQL\x20display\x20name','path','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','apps','pull'];a126_0x3f35=function(){return _0x19dcef;};return a126_0x3f35();}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(_0x1d77cc,_0x479362){const _0xf1a373=a126_0x12dc,_0x2d4663=[];let _0xd05a05=0x1;while(!![]){const _0x524e1b=await listSqlQueries(_0x1d77cc,{'currentPage':_0xd05a05,'pageSize':PAGE_SIZE,'sqlCode':_0x479362[_0xf1a373(0x9f)],'sqlName':_0x479362[_0xf1a373(0x81)]}),_0x2bca25=_0x524e1b[_0xf1a373(0x84)]??[];_0x2d4663['push'](..._0x2bca25);if(_0x2bca25[_0xf1a373(0x9b)]===0x0)break;const _0xf0a802=_0x524e1b['paging']?.[_0xf1a373(0x8c)];if(_0xf0a802!=null?_0x2d4663['length']>=_0xf0a802:_0x2bca25[_0xf1a373(0x9b)]<PAGE_SIZE)break;_0xd05a05++;}return _0x2d4663;}async function ensureSqlContent(_0x227073){const _0x2b8131=a126_0x12dc;if(_0x227073['sqlContent']!=null&&String(_0x227073[_0x2b8131(0xac)])['length']>0x0)return _0x227073;return getSqlQueryDetail(_0x227073[_0x2b8131(0x9f)]);}export const sqlPull={'service':'sql','command':a126_0xab83f6(0x80),'description':a126_0xab83f6(0xb2),'risk':a126_0xab83f6(0x93),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0xab83f6(0xae),'type':a126_0xab83f6(0x96),'description':a126_0xab83f6(0xb0)},{'name':a126_0xab83f6(0x82),'type':a126_0xab83f6(0x91),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x3e8575){const _0xb1b01f=a126_0xab83f6,_0x1266d4=loadSqlProjectConfig(_0x3e8575['appCode']),_0x324ffb=await readSqlLockFile(_0x1266d4['lockFilePath']),{appLock:_0x201a8a}=ensureSqlLockScope(_0x324ffb??createEmptySqlLock(),_0x1266d4['appCode'],_0x1266d4[_0xb1b01f(0xa8)],_0xb1b01f(0x80)),_0x43f1fa=await fetchAllSqlQueries(_0x3e8575[_0xb1b01f(0xa9)],{'sqlCode':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xa6))||undefined,'sqlName':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xae))||undefined}),_0x570394=[];for(const _0x3f938d of _0x43f1fa){const _0x300c87=await ensureSqlContent(_0x3f938d),_0x48ffbd=ensureRemoteSqlContent(_0x300c87),_0x5dc6de=detectModeFromSql(_0x300c87),_0x203572=_0x300c87[_0xb1b01f(0x8b)]?await getDbName(_0x3e8575[_0xb1b01f(0xa9)],Number(_0x300c87[_0xb1b01f(0x8b)]))[_0xb1b01f(0x83)](()=>undefined):undefined,_0x5174a0=buildLocalSqlFileContent({'sqlCode':_0x300c87[_0xb1b01f(0x9f)],'sqlName':_0x300c87[_0xb1b01f(0x81)],'dbId':_0x300c87[_0xb1b01f(0x8b)]},_0x48ffbd,{'dbName':_0x203572,'mode':_0x5dc6de,'syncedAt':new Date()[_0xb1b01f(0x86)](),'description':_0x300c87[_0xb1b01f(0x94)]}),_0x592f48=buildSqlLockEntry(_0x300c87,_0x48ffbd,'',{'dbName':_0x203572}),_0x806f29=resolveLocalSqlFilePath(_0x1266d4,_0x300c87[_0xb1b01f(0x9f)],_0x592f48);let _0x5218c6='would_pull',_0x24d955;if(await fileExists(_0x806f29)){const _0x15b93b=await readFile(_0x806f29,_0xb1b01f(0xa7));isEquivalentPulledSqlFile(_0x15b93b,_0x5174a0,_0x5dc6de)?(_0x5218c6='skipped',_0x24d955='unchanged'):(_0x5218c6=_0xb1b01f(0x8f),_0x24d955=_0xb1b01f(0x92));}_0x570394[_0xb1b01f(0x99)]({'sqlCode':_0x300c87[_0xb1b01f(0x9f)],'sqlName':_0x300c87[_0xb1b01f(0x81)],'filePath':_0x806f29,'status':_0x5218c6,'reason':_0x24d955});}return{'method':'POST','url':_0xb1b01f(0x87),'body':{'appCode':_0x3e8575['appCode'],'sqlCode':_0x3e8575['str'](_0xb1b01f(0xa6))||null,'sqlName':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xae))||null,'files':_0x570394},'description':'Would\x20pull\x20'+_0x570394[_0xb1b01f(0x9b)]+'\x20SQL\x20file(s)\x20into\x20'+_0x1266d4['sqlRootDir']};},async 'execute'(_0xd33bbd){const _0x30700e=a126_0xab83f6,_0x5848c8=loadSqlProjectConfig(_0xd33bbd['appCode']),_0x587364=await readSqlLockFile(_0x5848c8[_0x30700e(0xa2)]),{lockData:_0x2a90e7,appLock:_0x54d79b}=ensureSqlLockScope(_0x587364??createEmptySqlLock(),_0x5848c8['appCode'],_0x5848c8['sqlRoot'],_0x30700e(0x80)),_0x458df1=_0xd33bbd['bool'](_0x30700e(0x82)),_0x462e94=await fetchAllSqlQueries(_0xd33bbd[_0x30700e(0xa9)],{'sqlCode':_0xd33bbd[_0x30700e(0x9a)](_0x30700e(0xa6))||undefined,'sqlName':_0xd33bbd['str']('name')||undefined});if(_0x462e94[_0x30700e(0x9b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x3fbd12=[],_0x237ca0=[];for(const _0x549041 of _0x462e94){try{_0x3fbd12['push'](await ensureSqlContent(_0x549041));}catch(_0x3a1d9f){_0x237ca0[_0x30700e(0x99)]({'sqlCode':_0x549041[_0x30700e(0x9f)],'error':_0x3a1d9f instanceof Error?_0x3a1d9f[_0x30700e(0x9e)]:String(_0x3a1d9f)});}}if(_0x458df1&&!_0xd33bbd['nonInteractive']){let _0x279b0b=![];for(const _0x1a00be of _0x3fbd12){const _0x1fefa1=detectModeFromSql(_0x1a00be),_0x5ade2e=_0x1a00be[_0x30700e(0x8b)]?await getDbName(_0xd33bbd[_0x30700e(0xa9)],Number(_0x1a00be[_0x30700e(0x8b)]))[_0x30700e(0x83)](()=>undefined):undefined,_0x3c2f5a=buildLocalSqlFileContent({'sqlCode':_0x1a00be[_0x30700e(0x9f)],'sqlName':_0x1a00be[_0x30700e(0x81)],'dbId':_0x1a00be[_0x30700e(0x8b)]},ensureRemoteSqlContent(_0x1a00be),{'dbName':_0x5ade2e,'mode':_0x1fefa1,'syncedAt':new Date()['toISOString'](),'description':_0x1a00be[_0x30700e(0x94)]}),_0x717bd1=resolveLocalSqlFilePath(_0x5848c8,_0x1a00be['sqlCode'],buildSqlLockEntry(_0x1a00be,ensureRemoteSqlContent(_0x1a00be),'',{'dbName':_0x5ade2e}));if(await fileExists(_0x717bd1)){const _0x3f327c=await readFile(_0x717bd1,'utf8');if(!isEquivalentPulledSqlFile(_0x3f327c,_0x3c2f5a,_0x1fefa1)){_0x279b0b=!![];break;}}}if(_0x279b0b){const _0x3fe4bf=await confirmForceOverwrite(_0x30700e(0x8d));if(!_0x3fe4bf)throw CliErrors[_0x30700e(0x97)](_0x30700e(0xa1));}}const _0x5e060f=cloneSqlLockData(_0x2a90e7),_0x561303=_0x5e060f[_0x30700e(0x7f)][_0x5848c8[_0x30700e(0xa9)]],_0x39607c=[],_0x5798d2=[];for(const _0x263e1f of _0x3fbd12){const _0x1b6d98=_0x561303['sqls'][_0x263e1f[_0x30700e(0x9f)]],_0x4d3979=ensureRemoteSqlContent(_0x263e1f),_0x57576e=detectModeFromSql(_0x263e1f),_0x483934=_0x263e1f[_0x30700e(0x8b)]?await getDbName(_0xd33bbd[_0x30700e(0xa9)],Number(_0x263e1f[_0x30700e(0x8b)]))[_0x30700e(0x83)](()=>undefined):undefined,_0x13f1a3=buildLocalSqlFileContent({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'sqlName':_0x263e1f[_0x30700e(0x81)],'dbId':_0x263e1f[_0x30700e(0x8b)]},_0x4d3979,{'dbName':_0x483934,'mode':_0x57576e,'syncedAt':new Date()[_0x30700e(0x86)](),'description':_0x263e1f[_0x30700e(0x94)]}),_0xabbb35=buildSqlLockEntry(_0x263e1f,_0x4d3979,computeSqlContentHash(_0x13f1a3),{'dbName':_0x483934}),_0x2e933b=_0xabbb35[_0x30700e(0xb1)],_0x4a3aee=join(_0x5848c8[_0x30700e(0x8e)],_0x2e933b);try{if(await fileExists(_0x4a3aee)){const _0x30448a=await readFile(_0x4a3aee,'utf8');if(isEquivalentPulledSqlFile(_0x30448a,_0x13f1a3,_0x57576e)){_0x5798d2[_0x30700e(0x99)]({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'reason':'unchanged'}),_0x561303[_0x30700e(0x95)][_0x263e1f[_0x30700e(0x9f)]]={..._0xabbb35,'hash':computeSqlContentHash(_0x30448a),'path':_0x2e933b};continue;}if(!_0x458df1){_0x5798d2[_0x30700e(0x99)]({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'reason':_0x30700e(0xa5)});continue;}}const _0x3c87a0=_0x1b6d98?.['path']?join(_0x5848c8[_0x30700e(0x8e)],_0x1b6d98[_0x30700e(0xb1)]):undefined;_0x3c87a0&&_0x3c87a0!==_0x4a3aee&&await fileExists(_0x3c87a0)&&await rm(_0x3c87a0,{'force':!![]}),await ensureParentDirectory(_0x4a3aee),await writeFile(_0x4a3aee,_0x13f1a3,_0x30700e(0xa7)),_0x561303['sqls'][_0x263e1f[_0x30700e(0x9f)]]={..._0xabbb35,'path':_0x2e933b},_0x39607c[_0x30700e(0x99)]({'sqlCode':_0x263e1f['sqlCode'],'filePath':_0x4a3aee});}catch(_0x53c781){_0x237ca0[_0x30700e(0x99)]({'sqlCode':_0x263e1f['sqlCode'],'error':_0x53c781 instanceof Error?_0x53c781[_0x30700e(0x9e)]:String(_0x53c781)});}}return _0x561303[_0x30700e(0xaf)]=new Date()[_0x30700e(0x86)](),await writeSqlLockFile(_0x5848c8[_0x30700e(0xa2)],_0x5e060f),{'ok':_0x237ca0[_0x30700e(0x9b)]===0x0,'data':{'pulled':_0x39607c,'skipped':_0x5798d2,'failed':_0x237ca0},'message':'Pull\x20complete:\x20'+_0x39607c['length']+'\x20written,\x20'+_0x5798d2[_0x30700e(0x9b)]+_0x30700e(0x8a)+_0x237ca0[_0x30700e(0x9b)]+'\x20failed'};}};function detectModeFromSql(_0x3452bd){const _0x287dd8=a126_0xab83f6,_0x5d497e=ensureRemoteSqlContent(_0x3452bd),_0x2bcd43=stripLocalSqlMetadata(_0x5d497e,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x287dd8(0xad)](_0x2bcd43))return _0x287dd8(0x98);return'sql';}function isEquivalentPulledSqlFile(_0x1592a2,_0x17ce10,_0x133db2){return normalizePullComparableContent(_0x1592a2,_0x133db2)===normalizePullComparableContent(_0x17ce10,_0x133db2);}function normalizePullComparableContent(_0x38c227,_0x284f6b){const _0x3416e6=a126_0xab83f6,_0x110c4e=_0x38c227[_0x3416e6(0xa0)](/\r\n/g,'\x0a')['split']('\x0a'),_0x55ca16=_0x110c4e['filter'](_0x596285=>!isSyncedAtMetadataLine(_0x596285,_0x284f6b));return _0x55ca16[_0x3416e6(0xab)]('\x0a');}function isSyncedAtMetadataLine(_0x52efdc,_0x2c5982){if(_0x2c5982==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x52efdc);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x52efdc);}
1
+ const a126_0x6b996d=a126_0x428b;(function(_0x2754dc,_0x49324e){const _0x3ec9c0=a126_0x428b,_0x2cfd85=_0x2754dc();while(!![]){try{const _0xd41e1e=-parseInt(_0x3ec9c0(0x121))/0x1+-parseInt(_0x3ec9c0(0xfb))/0x2+-parseInt(_0x3ec9c0(0x122))/0x3*(parseInt(_0x3ec9c0(0x11a))/0x4)+-parseInt(_0x3ec9c0(0x113))/0x5+-parseInt(_0x3ec9c0(0x10d))/0x6*(parseInt(_0x3ec9c0(0x11f))/0x7)+-parseInt(_0x3ec9c0(0xf2))/0x8+parseInt(_0x3ec9c0(0xfe))/0x9;if(_0xd41e1e===_0x49324e)break;else _0x2cfd85['push'](_0x2cfd85['shift']());}catch(_0x2be74b){_0x2cfd85['push'](_0x2cfd85['shift']());}}}(a126_0x1062,0x88f47));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a126_0x428b(_0x543b06,_0x5d44a1){_0x543b06=_0x543b06-0xec;const _0x106211=a126_0x1062();let _0x428b12=_0x106211[_0x543b06];return _0x428b12;}function a126_0x1062(){const _0x3a026c=['sqls','Force\x20pull\x20cancelled.','96KCdLIU','skipped','would_pull','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlRootDir','43036VrnTgw','dbId','628024SFnnSO','25371XQFTSR','description','lockFilePath','paging','\x20failed','local\x20differs\x20from\x20remote','push','length','string','catch','3219360QCGTes','str','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sql','split','unchanged','path','appCode','sqlContent','1933832uWFawy','POST','cancelled','37325943hNyGQB','name','\x20SQL\x20file(s)\x20into\x20','message','\x20skipped,\x20','sqlRoot','pull','trimStart','test','tableData','bool','utf8','conflict','sqlName','sqlCode','816toKpTy','force','toISOString','Pull\x20complete:\x20','filter','join','2749520eBjOBZ','sqlcode','totalCount','Force\x20overwrite\x20local\x20unsynced\x20changes','apps'];a126_0x1062=function(){return _0x3a026c;};return a126_0x1062();}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(_0x383470,_0x1c26c4){const _0x2b635e=a126_0x428b,_0xcc7b87=[];let _0x39c92b=0x1;while(!![]){const _0x22e3f2=await listSqlQueries(_0x383470,{'currentPage':_0x39c92b,'pageSize':PAGE_SIZE,'sqlCode':_0x1c26c4[_0x2b635e(0x10c)],'sqlName':_0x1c26c4[_0x2b635e(0x10b)]}),_0x301b6f=_0x22e3f2[_0x2b635e(0x107)]??[];_0xcc7b87[_0x2b635e(0xee)](..._0x301b6f);if(_0x301b6f['length']===0x0)break;const _0x34011b=_0x22e3f2[_0x2b635e(0x125)]?.[_0x2b635e(0x115)];if(_0x34011b!=null?_0xcc7b87[_0x2b635e(0xef)]>=_0x34011b:_0x301b6f[_0x2b635e(0xef)]<PAGE_SIZE)break;_0x39c92b++;}return _0xcc7b87;}async function ensureSqlContent(_0x19bcbd){const _0x21f43f=a126_0x428b;if(_0x19bcbd[_0x21f43f(0xfa)]!=null&&String(_0x19bcbd['sqlContent'])['length']>0x0)return _0x19bcbd;return getSqlQueryDetail(_0x19bcbd['sqlCode']);}export const sqlPull={'service':'sql','command':'pull','description':a126_0x6b996d(0x11d),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a126_0x6b996d(0xf0),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':'boolean','description':a126_0x6b996d(0x116)}],async 'dryRun'(_0x1edb28){const _0x33fedf=a126_0x6b996d,_0x2537ec=loadSqlProjectConfig(_0x1edb28[_0x33fedf(0xf9)]),_0x3128f2=await readSqlLockFile(_0x2537ec[_0x33fedf(0x124)]),{appLock:_0x4fb4a0}=ensureSqlLockScope(_0x3128f2??createEmptySqlLock(),_0x2537ec['appCode'],_0x2537ec['sqlRoot'],'pull'),_0xaaf370=await fetchAllSqlQueries(_0x1edb28[_0x33fedf(0xf9)],{'sqlCode':_0x1edb28[_0x33fedf(0xf3)](_0x33fedf(0x114))||undefined,'sqlName':_0x1edb28[_0x33fedf(0xf3)]('name')||undefined}),_0x2b7d2f=[];for(const _0x1764be of _0xaaf370){const _0x3a14d6=await ensureSqlContent(_0x1764be),_0x3da70c=ensureRemoteSqlContent(_0x3a14d6),_0x2a8d3a=detectModeFromSql(_0x3a14d6),_0x471821=_0x3a14d6[_0x33fedf(0x120)]?await getDbName(_0x1edb28[_0x33fedf(0xf9)],Number(_0x3a14d6[_0x33fedf(0x120)]))['catch'](()=>undefined):undefined,_0x5865b0=buildLocalSqlFileContent({'sqlCode':_0x3a14d6['sqlCode'],'sqlName':_0x3a14d6['sqlName'],'dbId':_0x3a14d6[_0x33fedf(0x120)]},_0x3da70c,{'dbName':_0x471821,'mode':_0x2a8d3a,'syncedAt':new Date()[_0x33fedf(0x10f)](),'description':_0x3a14d6[_0x33fedf(0x123)]}),_0x418c94=buildSqlLockEntry(_0x3a14d6,_0x3da70c,'',{'dbName':_0x471821}),_0x511e49=resolveLocalSqlFilePath(_0x2537ec,_0x3a14d6[_0x33fedf(0x10c)],_0x418c94);let _0x517265=_0x33fedf(0x11c),_0x54afc7;if(await fileExists(_0x511e49)){const _0x16ceaa=await readFile(_0x511e49,'utf8');isEquivalentPulledSqlFile(_0x16ceaa,_0x5865b0,_0x2a8d3a)?(_0x517265=_0x33fedf(0x11b),_0x54afc7=_0x33fedf(0xf7)):(_0x517265=_0x33fedf(0x10a),_0x54afc7='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x2b7d2f['push']({'sqlCode':_0x3a14d6[_0x33fedf(0x10c)],'sqlName':_0x3a14d6[_0x33fedf(0x10b)],'filePath':_0x511e49,'status':_0x517265,'reason':_0x54afc7});}return{'method':_0x33fedf(0xfc),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x1edb28['appCode'],'sqlCode':_0x1edb28[_0x33fedf(0xf3)]('sqlcode')||null,'sqlName':_0x1edb28[_0x33fedf(0xf3)](_0x33fedf(0xff))||null,'files':_0x2b7d2f},'description':'Would\x20pull\x20'+_0x2b7d2f[_0x33fedf(0xef)]+_0x33fedf(0x100)+_0x2537ec[_0x33fedf(0x11e)]};},async 'execute'(_0x466ece){const _0x45d0bc=a126_0x6b996d,_0x2ef6b2=loadSqlProjectConfig(_0x466ece[_0x45d0bc(0xf9)]),_0xbbd36a=await readSqlLockFile(_0x2ef6b2['lockFilePath']),{lockData:_0x400503,appLock:_0x3ddd34}=ensureSqlLockScope(_0xbbd36a??createEmptySqlLock(),_0x2ef6b2[_0x45d0bc(0xf9)],_0x2ef6b2[_0x45d0bc(0x103)],_0x45d0bc(0x104)),_0x3bd82b=_0x466ece[_0x45d0bc(0x108)](_0x45d0bc(0x10e)),_0x95be5e=await fetchAllSqlQueries(_0x466ece[_0x45d0bc(0xf9)],{'sqlCode':_0x466ece[_0x45d0bc(0xf3)]('sqlcode')||undefined,'sqlName':_0x466ece[_0x45d0bc(0xf3)]('name')||undefined});if(_0x95be5e[_0x45d0bc(0xef)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x2ea07d=[],_0x387aec=[];for(const _0xe7421b of _0x95be5e){try{_0x2ea07d[_0x45d0bc(0xee)](await ensureSqlContent(_0xe7421b));}catch(_0x67e9f4){_0x387aec[_0x45d0bc(0xee)]({'sqlCode':_0xe7421b[_0x45d0bc(0x10c)],'error':_0x67e9f4 instanceof Error?_0x67e9f4[_0x45d0bc(0x101)]:String(_0x67e9f4)});}}if(_0x3bd82b&&!_0x466ece['nonInteractive']){let _0x2308e1=![];for(const _0x3ab5b8 of _0x2ea07d){const _0x2bc9d3=detectModeFromSql(_0x3ab5b8),_0x5de0c2=_0x3ab5b8[_0x45d0bc(0x120)]?await getDbName(_0x466ece[_0x45d0bc(0xf9)],Number(_0x3ab5b8[_0x45d0bc(0x120)]))[_0x45d0bc(0xf1)](()=>undefined):undefined,_0x4da110=buildLocalSqlFileContent({'sqlCode':_0x3ab5b8[_0x45d0bc(0x10c)],'sqlName':_0x3ab5b8[_0x45d0bc(0x10b)],'dbId':_0x3ab5b8['dbId']},ensureRemoteSqlContent(_0x3ab5b8),{'dbName':_0x5de0c2,'mode':_0x2bc9d3,'syncedAt':new Date()['toISOString'](),'description':_0x3ab5b8[_0x45d0bc(0x123)]}),_0x382be2=resolveLocalSqlFilePath(_0x2ef6b2,_0x3ab5b8[_0x45d0bc(0x10c)],buildSqlLockEntry(_0x3ab5b8,ensureRemoteSqlContent(_0x3ab5b8),'',{'dbName':_0x5de0c2}));if(await fileExists(_0x382be2)){const _0xa96e33=await readFile(_0x382be2,_0x45d0bc(0x109));if(!isEquivalentPulledSqlFile(_0xa96e33,_0x4da110,_0x2bc9d3)){_0x2308e1=!![];break;}}}if(_0x2308e1){const _0xf6e049=await confirmForceOverwrite(_0x45d0bc(0xf4));if(!_0xf6e049)throw CliErrors[_0x45d0bc(0xfd)](_0x45d0bc(0x119));}}const _0xe29912=cloneSqlLockData(_0x400503),_0x16e35f=_0xe29912[_0x45d0bc(0x117)][_0x2ef6b2[_0x45d0bc(0xf9)]],_0x1c6912=[],_0x33c818=[];for(const _0x1374f4 of _0x2ea07d){const _0x2cde0c=_0x16e35f['sqls'][_0x1374f4[_0x45d0bc(0x10c)]],_0x511582=ensureRemoteSqlContent(_0x1374f4),_0x431705=detectModeFromSql(_0x1374f4),_0x187910=_0x1374f4['dbId']?await getDbName(_0x466ece[_0x45d0bc(0xf9)],Number(_0x1374f4[_0x45d0bc(0x120)]))['catch'](()=>undefined):undefined,_0x380888=buildLocalSqlFileContent({'sqlCode':_0x1374f4[_0x45d0bc(0x10c)],'sqlName':_0x1374f4[_0x45d0bc(0x10b)],'dbId':_0x1374f4[_0x45d0bc(0x120)]},_0x511582,{'dbName':_0x187910,'mode':_0x431705,'syncedAt':new Date()[_0x45d0bc(0x10f)](),'description':_0x1374f4['description']}),_0x22e2d7=buildSqlLockEntry(_0x1374f4,_0x511582,computeSqlContentHash(_0x380888),{'dbName':_0x187910}),_0x6baa05=_0x22e2d7[_0x45d0bc(0xf8)],_0x4abf9a=join(_0x2ef6b2[_0x45d0bc(0x11e)],_0x6baa05);try{if(await fileExists(_0x4abf9a)){const _0x953d9b=await readFile(_0x4abf9a,_0x45d0bc(0x109));if(isEquivalentPulledSqlFile(_0x953d9b,_0x380888,_0x431705)){_0x33c818[_0x45d0bc(0xee)]({'sqlCode':_0x1374f4[_0x45d0bc(0x10c)],'reason':_0x45d0bc(0xf7)}),_0x16e35f['sqls'][_0x1374f4[_0x45d0bc(0x10c)]]={..._0x22e2d7,'hash':computeSqlContentHash(_0x953d9b),'path':_0x6baa05};continue;}if(!_0x3bd82b){_0x33c818[_0x45d0bc(0xee)]({'sqlCode':_0x1374f4[_0x45d0bc(0x10c)],'reason':_0x45d0bc(0xed)});continue;}}const _0x19a8b0=_0x2cde0c?.[_0x45d0bc(0xf8)]?join(_0x2ef6b2['sqlRootDir'],_0x2cde0c['path']):undefined;_0x19a8b0&&_0x19a8b0!==_0x4abf9a&&await fileExists(_0x19a8b0)&&await rm(_0x19a8b0,{'force':!![]}),await ensureParentDirectory(_0x4abf9a),await writeFile(_0x4abf9a,_0x380888,_0x45d0bc(0x109)),_0x16e35f[_0x45d0bc(0x118)][_0x1374f4[_0x45d0bc(0x10c)]]={..._0x22e2d7,'path':_0x6baa05},_0x1c6912[_0x45d0bc(0xee)]({'sqlCode':_0x1374f4[_0x45d0bc(0x10c)],'filePath':_0x4abf9a});}catch(_0x2612d4){_0x387aec[_0x45d0bc(0xee)]({'sqlCode':_0x1374f4[_0x45d0bc(0x10c)],'error':_0x2612d4 instanceof Error?_0x2612d4[_0x45d0bc(0x101)]:String(_0x2612d4)});}}return _0x16e35f['lastSync']=new Date()[_0x45d0bc(0x10f)](),await writeSqlLockFile(_0x2ef6b2[_0x45d0bc(0x124)],_0xe29912),{'ok':_0x387aec[_0x45d0bc(0xef)]===0x0,'data':{'pulled':_0x1c6912,'skipped':_0x33c818,'failed':_0x387aec},'message':_0x45d0bc(0x110)+_0x1c6912[_0x45d0bc(0xef)]+'\x20written,\x20'+_0x33c818['length']+_0x45d0bc(0x102)+_0x387aec[_0x45d0bc(0xef)]+_0x45d0bc(0xec)};}};function detectModeFromSql(_0x53f7f5){const _0x157b4b=a126_0x6b996d,_0x260da8=ensureRemoteSqlContent(_0x53f7f5),_0x49eea7=stripLocalSqlMetadata(_0x260da8,'mybatisXml')[_0x157b4b(0x105)]();if(/^<(select|insert|update|delete)\b/i[_0x157b4b(0x106)](_0x49eea7))return'mybatisXml';return _0x157b4b(0xf5);}function isEquivalentPulledSqlFile(_0x3b40e5,_0x177a95,_0x13e754){return normalizePullComparableContent(_0x3b40e5,_0x13e754)===normalizePullComparableContent(_0x177a95,_0x13e754);}function normalizePullComparableContent(_0x3e8cf1,_0x3989f2){const _0x211e30=a126_0x6b996d,_0x5780c4=_0x3e8cf1['replace'](/\r\n/g,'\x0a')[_0x211e30(0xf6)]('\x0a'),_0x4da598=_0x5780c4[_0x211e30(0x111)](_0x213641=>!isSyncedAtMetadataLine(_0x213641,_0x3989f2));return _0x4da598[_0x211e30(0x112)]('\x0a');}function isSyncedAtMetadataLine(_0x49ece7,_0x1ea41a){const _0x1ae406=a126_0x6b996d;if(_0x1ea41a==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x1ae406(0x106)](_0x49ece7);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x1ae406(0x106)](_0x49ece7);}