@lovrabet/rabetbase-cli 2.1.7-beta.9 → 2.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/delete.js +1 -1
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/index.js +1 -1
  54. package/lib/commands/dataset/link-create.js +1 -1
  55. package/lib/commands/dataset/link-delete.js +1 -1
  56. package/lib/commands/dataset/link-shared.js +1 -1
  57. package/lib/commands/dataset/link-update.js +1 -1
  58. package/lib/commands/dataset/links.js +1 -1
  59. package/lib/commands/dataset/list.js +1 -1
  60. package/lib/commands/dataset/operations.js +1 -1
  61. package/lib/commands/db/analyze-cancel.js +1 -1
  62. package/lib/commands/db/analyze-start.js +1 -1
  63. package/lib/commands/db/analyze-status.js +1 -1
  64. package/lib/commands/db/create.js +1 -1
  65. package/lib/commands/db/delete.js +1 -1
  66. package/lib/commands/db/detail.js +1 -1
  67. package/lib/commands/db/diff.js +1 -1
  68. package/lib/commands/db/index.js +1 -1
  69. package/lib/commands/db/list.js +1 -1
  70. package/lib/commands/db/shared.js +1 -1
  71. package/lib/commands/db/tables.js +1 -1
  72. package/lib/commands/db/test.js +1 -1
  73. package/lib/commands/db/update.js +1 -1
  74. package/lib/commands/doctor.js +1 -1
  75. package/lib/commands/init/index.js +1 -1
  76. package/lib/commands/issue/index.js +1 -1
  77. package/lib/commands/issue/report.js +1 -1
  78. package/lib/commands/logs/index.js +1 -1
  79. package/lib/commands/menu/index.js +1 -1
  80. package/lib/commands/menu/shared/compare-table.js +1 -1
  81. package/lib/commands/menu/shared/index.js +1 -1
  82. package/lib/commands/menu/shared/inquirer.js +1 -1
  83. package/lib/commands/menu/shared/local-pages.js +1 -1
  84. package/lib/commands/menu/shared/logic.js +1 -1
  85. package/lib/commands/menu/shared/service.js +1 -1
  86. package/lib/commands/menu/shared/sync-core.js +1 -1
  87. package/lib/commands/menu/shared/update-core.js +1 -1
  88. package/lib/commands/menu/shared/valid-url.js +1 -1
  89. package/lib/commands/menu/sync.js +1 -1
  90. package/lib/commands/menu/update.js +1 -1
  91. package/lib/commands/page/generate-start.js +1 -1
  92. package/lib/commands/page/generate-status.js +1 -1
  93. package/lib/commands/page/index.js +1 -1
  94. package/lib/commands/page/pull.js +1 -1
  95. package/lib/commands/page/push.js +1 -1
  96. package/lib/commands/page/shared.js +1 -1
  97. package/lib/commands/page/standard-page-status.js +1 -1
  98. package/lib/commands/page/sync.js +1 -1
  99. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  100. package/lib/commands/project/create/format-elapsed.js +1 -1
  101. package/lib/commands/project/create/main.js +1 -1
  102. package/lib/commands/project/create/non-interactive.js +1 -1
  103. package/lib/commands/project/create/project-template-path.js +1 -1
  104. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  105. package/lib/commands/project/create/use-format-code.js +1 -1
  106. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  107. package/lib/commands/project/index.js +1 -1
  108. package/lib/commands/project/init.js +1 -1
  109. package/lib/commands/project/upgrade.js +1 -1
  110. package/lib/commands/registry.js +1 -1
  111. package/lib/commands/run/index.js +1 -1
  112. package/lib/commands/schema.js +1 -1
  113. package/lib/commands/skill/index.js +1 -1
  114. package/lib/commands/sql/create.js +1 -1
  115. package/lib/commands/sql/delete.js +1 -1
  116. package/lib/commands/sql/detail.js +1 -1
  117. package/lib/commands/sql/exec.js +1 -1
  118. package/lib/commands/sql/index.js +1 -1
  119. package/lib/commands/sql/list.js +1 -1
  120. package/lib/commands/sql/pull.js +1 -1
  121. package/lib/commands/sql/push.js +1 -1
  122. package/lib/commands/sql/save.js +1 -1
  123. package/lib/commands/sql/shared.js +1 -1
  124. package/lib/commands/sql/status.js +1 -1
  125. package/lib/commands/sql/validate.js +1 -1
  126. package/lib/config/schema.js +1 -1
  127. package/lib/constant/cdn.js +1 -1
  128. package/lib/constant/cli.js +1 -1
  129. package/lib/constant/defaults.js +1 -1
  130. package/lib/constant/domain.js +1 -1
  131. package/lib/constant/env.js +1 -1
  132. package/lib/constant/output.js +1 -1
  133. package/lib/constant/paths.js +1 -1
  134. package/lib/constant/risk.js +1 -1
  135. package/lib/context.js +1 -1
  136. package/lib/core/alias-resolver.js +1 -1
  137. package/lib/core/api-client.js +1 -1
  138. package/lib/core/bff/config.js +1 -1
  139. package/lib/core/bff/file-system.js +1 -1
  140. package/lib/core/bff/hash.js +1 -1
  141. package/lib/core/bff/lock.js +1 -1
  142. package/lib/core/bff/utils.js +1 -1
  143. package/lib/core/db-resolver.js +1 -1
  144. package/lib/core/page/file-system.js +1 -1
  145. package/lib/core/page/hash.js +1 -1
  146. package/lib/core/page/lock.js +1 -1
  147. package/lib/core/sql-sync/config.js +1 -1
  148. package/lib/core/sql-sync/file-system.js +1 -1
  149. package/lib/core/sql-sync/hash.js +1 -1
  150. package/lib/core/sql-sync/lock.js +1 -1
  151. package/lib/core/sql-sync/utils.js +1 -1
  152. package/lib/core/sql-validator.js +1 -1
  153. package/lib/errors.js +1 -1
  154. package/lib/framework/build-all-flags.js +1 -1
  155. package/lib/framework/flags.js +1 -1
  156. package/lib/framework/help.js +1 -1
  157. package/lib/framework/index.js +1 -1
  158. package/lib/framework/output.js +1 -1
  159. package/lib/framework/response.js +1 -1
  160. package/lib/framework/runner-alias.js +1 -1
  161. package/lib/framework/runner.js +1 -1
  162. package/lib/framework/schema-export.js +1 -1
  163. package/lib/framework/types.js +1 -1
  164. package/lib/generated/build-info.js +1 -1
  165. package/lib/help.js +1 -1
  166. package/lib/skills/main.js +1 -1
  167. package/lib/skills/npx-skills-add.js +1 -1
  168. package/lib/telemetry/cli-command-trace.js +1 -1
  169. package/lib/telemetry/cli-help-trace.js +1 -1
  170. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  171. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  172. package/lib/telemetry/send-cli-trace-log.js +1 -1
  173. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  174. package/lib/utils/ai_config.js +1 -1
  175. package/lib/utils/apply-jq-filter.js +1 -1
  176. package/lib/utils/cdn-config.js +1 -1
  177. package/lib/utils/check-sdk-version.js +1 -1
  178. package/lib/utils/cli-version-check.js +1 -1
  179. package/lib/utils/cli-version-policy.js +1 -1
  180. package/lib/utils/config.js +1 -1
  181. package/lib/utils/copy-directory.js +1 -1
  182. package/lib/utils/entity-with-id.js +1 -1
  183. package/lib/utils/file-utils.js +1 -1
  184. package/lib/utils/guides-cdn.js +1 -1
  185. package/lib/utils/http-client.js +1 -1
  186. package/lib/utils/is-non-interactive.js +1 -1
  187. package/lib/utils/logger.js +1 -1
  188. package/lib/utils/params.js +1 -1
  189. package/lib/utils/platform.js +1 -1
  190. package/lib/utils/rules-cdn.js +1 -1
  191. package/lib/utils/sleep.js +1 -1
  192. package/lib/utils/template-replacer.js +1 -1
  193. package/lib/utils/version.js +1 -1
  194. package/lib/utils/with-active-cookie.js +1 -1
  195. package/lib/utils/write-cli-side-channel.js +1 -1
  196. package/package.json +1 -1
@@ -1 +1 @@
1
- function a109_0x3c79(){const _0x281584=['\x20\x20Current\x20version\x20in\x20','dependencies','step','log','some','message','oldMcpConfig','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.claude/skills/lovrabet','8BgMzuz','args','Upgrade\x20@lovrabet/sdk','142846sIeqzG','not\x20needed','utf8','cyan','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','MCP\x20config:','no\x20legacy\x20entry','[\x22@lovrabet/sdk\x22]:\x20','\x20removed','Clean\x20MCP\x20config','error','Step\x205/7:\x20Removing\x20old\x20skill...','1423282FWvCiB','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','mcpServers','object','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','2drTtCn','\x20from\x20','oldPath','length','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Action:\x20delete','Remove\x20old\x20skill','620KqvoZv','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','removed\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','failed','Config\x20migration','Legacy\x20artifacts:','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','already\x20exists\x20(will\x20merge)','\x20\x20Step\x20','string','12510025MqftkE','red','@lovrabet/sdk:','lovrabet/rabetbase\x20installed\x20globally','push','inherit','isArray','label','cwd','Install\x20new\x20skill','white','Remove\x20.lovrabet/','4701264HkdnBV','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','keys','path','latest','succeed','detail','includes','Step\x201/7:\x20Migrating\x20config...','sdkUpgrade','fail','\x20→\x20','files','oldArtifacts','green','needsSkillSwap','\x20\x20#\x20or','\x20\x20npm\x20install','isDirectory','filter','\x20\x20New\x20config\x20(.rabetbase.json):\x20','stringify','2160700VyhFCC','\x20\x20bun\x20install','Upgrade\x20cancelled.','===\x20Upgrade\x20Summary\x20===','no\x20legacy\x20config\x20found','exit\x20','info','\x20→\x20keys:\x20','.bak','Step\x204/7:\x20Cleaning\x20MCP\x20config...','skipped','fields','7830ESZLtr','none\x20found','status','hasNewConfig','===\x20Upgrade\x20Analysis\x20===','4dscxFi','3021102jkqiFh','yellow','@lovrabet/sdk','Upgrade\x20completed\x20successfully!','.lovrabet','Skill\x20swap:','devDependencies','package.json','parse','done','lovrabet/lovrabet-skill\x20removed','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.cursor/rules/lovrabet_rules.mdc','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20(backup:\x20','not\x20found\x20(will\x20create)','entries','start','lovrabet/rabetbase','gray','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','needed','\x20\x20Fields\x20to\x20migrate:\x20','bold','\x20removed\x20(','join','Step\x206/7:\x20Installing\x20new\x20skill...'];a109_0x3c79=function(){return _0x281584;};return a109_0x3c79();}const a109_0x64a872=a109_0x3006;(function(_0x3384fc,_0x19daca){const _0x2c1125=a109_0x3006,_0x250a7b=_0x3384fc();while(!![]){try{const _0x15fd46=parseInt(_0x2c1125(0x1ef))/0x1*(-parseInt(_0x2c1125(0x25d))/0x2)+parseInt(_0x2c1125(0x236))/0x3*(parseInt(_0x2c1125(0x235))/0x4)+parseInt(_0x2c1125(0x224))/0x5+parseInt(_0x2c1125(0x20e))/0x6+-parseInt(_0x2c1125(0x1e7))/0x7*(parseInt(_0x2c1125(0x25a))/0x8)+parseInt(_0x2c1125(0x230))/0x9*(parseInt(_0x2c1125(0x1f7))/0xa)+-parseInt(_0x2c1125(0x202))/0xb;if(_0x15fd46===_0x19daca)break;else _0x250a7b['push'](_0x250a7b['shift']());}catch(_0x2da595){_0x250a7b['push'](_0x250a7b['shift']());}}}(a109_0x3c79,0xc1a7b));import a109_0xcbdea8 from'chalk';import a109_0x24af01 from'ora';function a109_0x3006(_0x2da7de,_0x39af4b){_0x2da7de=_0x2da7de-0x1e0;const _0x3c79f8=a109_0x3c79();let _0x30061e=_0x3c79f8[_0x2da7de];return _0x30061e;}import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x64a872(0x221)](_0x2d531c=>_0x2d531c!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x237396){const _0x3c3195=a109_0x64a872,_0x1b4349=[];for(const _0x2a26df of Object['values'](CORE_IDE_CONFIGS)){if(_0x2a26df[_0x3c3195(0x21a)])for(const _0x56e133 of _0x2a26df[_0x3c3195(0x21a)]){_0x1b4349[_0x3c3195(0x206)](resolve(_0x237396,_0x56e133[_0x3c3195(0x211)]));}}return _0x1b4349;}function analyse(_0x4e6cf3){const _0x32c435=a109_0x64a872;let _0x1ebabe=null;const _0x4982cd=resolve(_0x4e6cf3,NEW_CONFIG_NAME),_0x1097ae=existsSync(_0x4982cd);for(const _0x1a74e6 of LEGACY_CONFIG_NAMES){const _0x389e29=resolve(_0x4e6cf3,_0x1a74e6);if(existsSync(_0x389e29)){const _0x1f0304=readConfigFile(_0x389e29),_0x4c06c7=Object[_0x32c435(0x210)](_0x1f0304)['filter'](_0x1e2649=>typeof _0x1f0304[_0x1e2649]!=='undefined');_0x1ebabe={'oldPath':_0x389e29,'hasNewConfig':_0x1097ae,'fields':_0x4c06c7};break;}}const _0x1fcc38=[],_0x488279=resolve(_0x4e6cf3,_0x32c435(0x23a));if(existsSync(_0x488279))_0x1fcc38[_0x32c435(0x206)](_0x488279);const _0x33006d=resolve(_0x4e6cf3,_0x32c435(0x242));if(existsSync(_0x33006d))_0x1fcc38[_0x32c435(0x206)](_0x33006d);const _0x34193c=resolve(_0x4e6cf3,_0x32c435(0x259));if(existsSync(_0x34193c))_0x1fcc38[_0x32c435(0x206)](_0x34193c);for(const _0xbb42e1 of collectIdeSkillFiles(_0x4e6cf3)){if(existsSync(_0xbb42e1))_0x1fcc38[_0x32c435(0x206)](_0xbb42e1);}let _0x2c371d=null;const _0x1b7acb=resolve(_0x4e6cf3,'.cursor/mcp.json');if(existsSync(_0x1b7acb))try{const _0x41ff29=JSON[_0x32c435(0x23e)](readFileSync(_0x1b7acb,_0x32c435(0x25f)));if(_0x41ff29?.[_0x32c435(0x1ea)]&&typeof _0x41ff29['mcpServers']===_0x32c435(0x1eb)){const _0x7c6cb7=[];for(const [_0x49f183,_0x1e0b3a]of Object[_0x32c435(0x246)](_0x41ff29['mcpServers'])){const _0x5030ac=_0x1e0b3a;_0x5030ac?.['args']&&Array['isArray'](_0x5030ac[_0x32c435(0x25b)])&&_0x5030ac[_0x32c435(0x25b)][_0x32c435(0x255)](_0x3393a1=>typeof _0x3393a1===_0x32c435(0x201)&&_0x3393a1[_0x32c435(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x7c6cb7[_0x32c435(0x206)](_0x49f183);}_0x7c6cb7['length']>0x0&&(_0x2c371d={'path':_0x1b7acb,'keys':_0x7c6cb7});}}catch{}const _0x3fe2d0=_0x1fcc38['length']>0x0||_0x1ebabe!==null;let _0x489584=null;const _0x30d9eb=resolve(_0x4e6cf3,_0x32c435(0x23d));if(existsSync(_0x30d9eb))try{const _0x4a3192=JSON[_0x32c435(0x23e)](readFileSync(_0x30d9eb,_0x32c435(0x25f)));for(const _0xcdb7e4 of[_0x32c435(0x252),_0x32c435(0x23c)]){const _0x45e0aa=_0x4a3192?.[_0xcdb7e4]?.[_0x32c435(0x238)];if(typeof _0x45e0aa===_0x32c435(0x201)){_0x45e0aa!==_0x32c435(0x212)&&(_0x489584={'pkgPath':_0x30d9eb,'currentVersion':_0x45e0aa,'field':_0xcdb7e4});break;}}}catch{}return{'configMigration':_0x1ebabe,'oldArtifacts':_0x1fcc38,'oldMcpConfig':_0x2c371d,'needsSkillSwap':_0x3fe2d0,'sdkUpgrade':_0x489584};}function printReport(_0x591434){const _0x3e219d=a109_0x64a872,{configMigration:_0x590114,oldArtifacts:_0x571cf8,oldMcpConfig:_0x11a10b,needsSkillSwap:_0x13770e}=_0x591434;console[_0x3e219d(0x254)](''),console['log'](a109_0xcbdea8['bold'](_0x3e219d(0x234))),console[_0x3e219d(0x254)]('');_0x590114?(console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('Config\x20file:')+('\x20\x20'+a109_0xcbdea8['yellow'](_0x590114['oldPath']))),console['log'](_0x3e219d(0x222)+(_0x590114[_0x3e219d(0x233)]?a109_0xcbdea8['green'](_0x3e219d(0x1ff)):a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x245)))),console[_0x3e219d(0x254)](_0x3e219d(0x24c)+_0x590114[_0x3e219d(0x22f)][_0x3e219d(0x24f)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x3e219d(0x254)](a109_0xcbdea8['cyan']('Config\x20file:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x228)));console[_0x3e219d(0x254)]('');if(_0x571cf8[_0x3e219d(0x1f2)]>0x0){console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd)));for(const _0x126e94 of _0x571cf8){console[_0x3e219d(0x254)]('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x203)]('FOUND')+'\x20\x20'+_0x126e94);}console[_0x3e219d(0x254)](_0x3e219d(0x1f5));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd))+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x231)));console[_0x3e219d(0x254)]('');_0x11a10b?(console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x11a10b[_0x3e219d(0x211)])+_0x3e219d(0x22b)+_0x11a10b[_0x3e219d(0x210)][_0x3e219d(0x24f)](',\x20'))),console[_0x3e219d(0x254)](_0x3e219d(0x241))):console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+'\x20\x20'+a109_0xcbdea8['gray'](_0x3e219d(0x1e1)));console[_0x3e219d(0x254)](''),console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x23b))+('\x20\x20'+(_0x13770e?a109_0xcbdea8[_0x3e219d(0x237)](_0x3e219d(0x24b)):a109_0xcbdea8[_0x3e219d(0x21c)](_0x3e219d(0x25e)))));_0x13770e&&console[_0x3e219d(0x254)](_0x3e219d(0x1ee)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x591434[_0x3e219d(0x217)]){const {currentVersion:_0x359d39,field:_0x1b49a1,pkgPath:_0x4483b6}=_0x591434['sdkUpgrade'];console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x204))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x4483b6))),console['log'](_0x3e219d(0x251)+_0x1b49a1+':\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x359d39)+_0x3e219d(0x219)+a109_0xcbdea8[_0x3e219d(0x21c)]('latest')),console[_0x3e219d(0x254)](_0x3e219d(0x258));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('@lovrabet/sdk:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x3e219d(0x254)]('');}function execConfigMigration(_0x47732d,_0x31dddb){const _0x56ef0e=a109_0x64a872,{configMigration:_0x1f1cac}=_0x47732d;if(!_0x1f1cac?.[_0x56ef0e(0x1f1)])return{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x34c006=readConfigFile(_0x1f1cac[_0x56ef0e(0x1f1)]),_0x46c7ef=resolve(_0x31dddb,NEW_CONFIG_NAME),_0x2e08fe=_0x1f1cac[_0x56ef0e(0x233)]?readConfigFile(_0x46c7ef):{};for(const [_0x2f1f75,_0x2d3515]of Object[_0x56ef0e(0x246)](_0x34c006)){!(_0x2f1f75 in _0x2e08fe)&&(_0x2e08fe[_0x2f1f75]=_0x2d3515);}writeConfigFile(_0x46c7ef,_0x2e08fe);const _0xc67828=_0x1f1cac[_0x56ef0e(0x1f1)]+_0x56ef0e(0x22c);return renameSync(_0x1f1cac[_0x56ef0e(0x1f1)],_0xc67828),{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':_0x1f1cac[_0x56ef0e(0x1f1)]+'\x20→\x20'+_0x46c7ef+_0x56ef0e(0x244)+_0xc67828+')'};}function execRemoveOldArtifacts(_0x36fe81){const _0x464b04=a109_0x64a872,_0x4f6fc5=[];for(const _0x451909 of _0x36fe81){try{if(!existsSync(_0x451909))continue;const _0x565361=tryStat(_0x451909);_0x565361?.[_0x464b04(0x220)]()?rmSync(_0x451909,{'recursive':!![],'force':!![]}):unlinkSync(_0x451909);}catch(_0x21230c){_0x4f6fc5[_0x464b04(0x206)](_0x451909+':\x20'+_0x21230c['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4f6fc5[_0x464b04(0x1f2)]===0x0,'detail':_0x4f6fc5['length']>0x0?_0x36fe81['length']-_0x4f6fc5[_0x464b04(0x1f2)]+'/'+_0x36fe81['length']+_0x464b04(0x24e)+_0x4f6fc5[_0x464b04(0x24f)](';\x20')+')':_0x36fe81['length']+_0x464b04(0x1e3)};}function execCleanMcp(_0x269714){const _0x27b994=a109_0x64a872;if(!_0x269714[_0x27b994(0x257)])return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x22e)};try{const _0x499a81=readFileSync(_0x269714['oldMcpConfig'][_0x27b994(0x211)],_0x27b994(0x25f)),_0x424e7f=JSON['parse'](_0x499a81);if(_0x424e7f?.[_0x27b994(0x1ea)]&&typeof _0x424e7f[_0x27b994(0x1ea)]==='object'){const _0x15f7dd=[];for(const [_0x849252,_0x311da5]of Object[_0x27b994(0x246)](_0x424e7f['mcpServers'])){_0x311da5?.[_0x27b994(0x25b)]&&Array[_0x27b994(0x208)](_0x311da5[_0x27b994(0x25b)])&&_0x311da5[_0x27b994(0x25b)][_0x27b994(0x255)](_0x37547c=>typeof _0x37547c===_0x27b994(0x201)&&_0x37547c[_0x27b994(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x15f7dd[_0x27b994(0x206)](_0x849252);}for(const _0x31d6f5 of _0x15f7dd){delete _0x424e7f[_0x27b994(0x1ea)][_0x31d6f5];}return _0x15f7dd[_0x27b994(0x1f2)]>0x0&&writeFileSync(_0x269714[_0x27b994(0x257)]['path'],JSON[_0x27b994(0x223)](_0x424e7f,null,0x2)+'\x0a',_0x27b994(0x25f)),{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x1f9)+_0x15f7dd[_0x27b994(0x24f)](',\x20')+_0x27b994(0x1f0)+_0x269714['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2a6f88){return{'step':0x4,'label':_0x27b994(0x1e4),'ok':![],'detail':_0x2a6f88[_0x27b994(0x256)]};}}function execSkillsRemove(_0x1aa80c,_0x4e6943){const _0x476270=a109_0x64a872,_0x40de73=runNpxSkillsRemove(_0x1aa80c,{'stdio':_0x476270(0x207),'yes':_0x4e6943});return{'step':0x5,'label':_0x476270(0x1f6),'ok':_0x40de73['ok'],'detail':_0x40de73['ok']?_0x476270(0x240):_0x40de73[_0x476270(0x1e5)]??'exit\x20'+_0x40de73[_0x476270(0x232)]};}function execSkillsAdd(_0x3f8664,_0x366b5d){const _0x1ce190=a109_0x64a872,_0x20e75d=runNpxSkillsAddGlobal(_0x3f8664,_0x1ce190(0x248),{'stdio':_0x1ce190(0x207),'yes':_0x366b5d});return{'step':0x6,'label':_0x1ce190(0x20b),'ok':_0x20e75d['ok'],'detail':_0x20e75d['ok']?_0x1ce190(0x205):_0x20e75d[_0x1ce190(0x1e5)]??_0x1ce190(0x229)+_0x20e75d[_0x1ce190(0x232)]};}function execUpgradeSdk(_0x1123a6){const _0x5547ff=a109_0x64a872;if(!_0x1123a6['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x5547ff(0x243)};const {pkgPath:_0x61f7ae,currentVersion:_0x567182,field:_0x30e86b}=_0x1123a6[_0x5547ff(0x217)];try{const _0x2118fb=readFileSync(_0x61f7ae,'utf8'),_0x4e7fd2=JSON[_0x5547ff(0x23e)](_0x2118fb);return _0x4e7fd2[_0x30e86b]['@lovrabet/sdk']=_0x5547ff(0x212),writeFileSync(_0x61f7ae,JSON[_0x5547ff(0x223)](_0x4e7fd2,null,0x2)+'\x0a',_0x5547ff(0x25f)),{'step':0x7,'label':_0x5547ff(0x25c),'ok':!![],'detail':_0x30e86b+_0x5547ff(0x1e2)+_0x567182+'\x20→\x20latest'};}catch(_0x4c48d7){return{'step':0x7,'label':_0x5547ff(0x25c),'ok':![],'detail':_0x4c48d7[_0x5547ff(0x256)]};}}function tryStat(_0x47557f){try{return statSync(_0x47557f);}catch{return undefined;}}function printSummary(_0x1ad689){const _0x3b53d3=a109_0x64a872;console[_0x3b53d3(0x254)](''),console[_0x3b53d3(0x254)](a109_0xcbdea8[_0x3b53d3(0x24d)](_0x3b53d3(0x227))),console[_0x3b53d3(0x254)]('');for(const _0x332c71 of _0x1ad689){const _0x58ca4f=_0x332c71['ok']?a109_0xcbdea8['green']('OK'):a109_0xcbdea8[_0x3b53d3(0x203)]('FAIL');console[_0x3b53d3(0x254)]('\x20\x20'+_0x58ca4f+_0x3b53d3(0x200)+_0x332c71[_0x3b53d3(0x253)]+':\x20'+_0x332c71[_0x3b53d3(0x209)]);if(_0x332c71[_0x3b53d3(0x214)])console[_0x3b53d3(0x254)](_0x3b53d3(0x1e9)+a109_0xcbdea8[_0x3b53d3(0x249)](_0x332c71[_0x3b53d3(0x214)]));}console[_0x3b53d3(0x254)]('');}export async function upgradeApp(_0xee582f,_0xdea07e){const _0xc55ed0=a109_0x64a872,_0x2e9b2d=process[_0xc55ed0(0x20a)](),_0x3415f8=analyse(_0x2e9b2d),_0x4c8fae=!_0x3415f8['configMigration']&&_0x3415f8[_0xc55ed0(0x21b)][_0xc55ed0(0x1f2)]===0x0&&!_0x3415f8['oldMcpConfig']&&!_0x3415f8[_0xc55ed0(0x21d)]&&!_0x3415f8[_0xc55ed0(0x217)];if(_0x4c8fae){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x21c)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3415f8);const _0x111678=!!(_0xdea07e['yes']||_0xdea07e['Y']||_0xee582f);if(!_0x111678)try{const _0x513550=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x513550){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}}catch(_0x36cba7){if(_0x36cba7?.[_0xc55ed0(0x256)]==='CANCEL'){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}throw _0x36cba7;}const _0x543d03=[],_0x143263=a109_0x24af01({'text':_0xc55ed0(0x216),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x2a2128=execConfigMigration(_0x3415f8,_0x2e9b2d);_0x543d03['push'](_0x2a2128),_0x143263[_0x2a2128['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x1f4)+(_0x2a2128[_0xc55ed0(0x214)]??(_0x2a2128['ok']?_0xc55ed0(0x23f):'failed')));const _0x231f12=resolve(_0x2e9b2d,_0xc55ed0(0x23a)),_0x153acf=a109_0x24af01({'text':_0xc55ed0(0x1f3),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)]();if(existsSync(_0x231f12))try{rmSync(_0x231f12,{'recursive':!![],'force':!![]}),_0x153acf[_0xc55ed0(0x213)](_0xc55ed0(0x1fe)),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![]});}catch(_0x2aabb0){_0x153acf[_0xc55ed0(0x218)](_0xc55ed0(0x1ec)+_0x2aabb0['message']),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':![],'detail':_0x2aabb0[_0xc55ed0(0x256)]});}else _0x153acf[_0xc55ed0(0x22a)](_0xc55ed0(0x1ed)),_0x543d03['push']({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![],'detail':_0xc55ed0(0x22e)});const _0x19efc7=a109_0x24af01({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x1d9109=execRemoveOldArtifacts(_0x3415f8[_0xc55ed0(0x21b)]);_0x543d03['push'](_0x1d9109),_0x19efc7[_0x1d9109['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1fa)+(_0x1d9109[_0xc55ed0(0x214)]??(_0x1d9109['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0xc68cd=a109_0x24af01({'text':_0xc55ed0(0x22d),'color':_0xc55ed0(0x260)})['start'](),_0x4f6d59=execCleanMcp(_0x3415f8);_0x543d03['push'](_0x4f6d59),_0xc68cd[_0x4f6d59['ok']?'succeed':_0xc55ed0(0x218)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x4f6d59[_0xc55ed0(0x214)]??(_0x4f6d59['ok']?_0xc55ed0(0x23f):'failed')));const _0x7eaba2=a109_0x24af01({'text':_0xc55ed0(0x1e6),'color':_0xc55ed0(0x260)})['start'](),_0x45e249=execSkillsRemove(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x45e249),_0x7eaba2[_0x45e249['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x262)+(_0x45e249[_0xc55ed0(0x214)]??(_0x45e249['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x174f6c=a109_0x24af01({'text':_0xc55ed0(0x250),'color':_0xc55ed0(0x260)})['start'](),_0x278ba3=execSkillsAdd(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x278ba3),_0x174f6c[_0x278ba3['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1e8)+(_0x278ba3[_0xc55ed0(0x214)]??(_0x278ba3['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x30863c=a109_0x24af01({'text':_0xc55ed0(0x1f8),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x4736e0=execUpgradeSdk(_0x3415f8);_0x543d03[_0xc55ed0(0x206)](_0x4736e0),_0x30863c[_0x4736e0['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x261)+(_0x4736e0[_0xc55ed0(0x214)]??(_0x4736e0['ok']?'done':'failed'))),printSummary(_0x543d03);const _0x1bb865=_0x543d03[_0xc55ed0(0x255)](_0x4e01a9=>!_0x4e01a9['ok']);_0x1bb865?console['log'](a109_0xcbdea8['yellow'](_0xc55ed0(0x24a))):console['log'](a109_0xcbdea8[_0xc55ed0(0x21c)](_0xc55ed0(0x239))),_0x4736e0['ok']&&_0x3415f8['sdkUpgrade']&&(console[_0xc55ed0(0x254)](''),console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x24d)][_0xc55ed0(0x260)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a109_0xcbdea8['cyan'](_0xc55ed0(0x20f))),console[_0xc55ed0(0x254)](''),console['log'](a109_0xcbdea8[_0xc55ed0(0x20c)](_0xc55ed0(0x21f))),console['log'](a109_0xcbdea8['white'](_0xc55ed0(0x21e))),console[_0xc55ed0(0x254)](a109_0xcbdea8['white'](_0xc55ed0(0x225))),console[_0xc55ed0(0x254)](''));}
1
+ const a109_0x4933b9=a109_0x1318;(function(_0x3ce0ec,_0x1152c1){const _0x4a9e74=a109_0x1318,_0x135d64=_0x3ce0ec();while(!![]){try{const _0x49d1d4=-parseInt(_0x4a9e74(0x191))/0x1+-parseInt(_0x4a9e74(0x1a3))/0x2+parseInt(_0x4a9e74(0x151))/0x3+parseInt(_0x4a9e74(0x174))/0x4+parseInt(_0x4a9e74(0x163))/0x5+-parseInt(_0x4a9e74(0x189))/0x6*(-parseInt(_0x4a9e74(0x132))/0x7)+parseInt(_0x4a9e74(0x178))/0x8*(-parseInt(_0x4a9e74(0x13d))/0x9);if(_0x49d1d4===_0x1152c1)break;else _0x135d64['push'](_0x135d64['shift']());}catch(_0x57f356){_0x135d64['push'](_0x135d64['shift']());}}}(a109_0x243b,0x3591f));function a109_0x243b(){const _0x448dfa=['some','111534vlfmMd','sdkUpgrade','oldArtifacts','removed\x20','info','red','.lovrabet','===\x20Upgrade\x20Analysis\x20===','utf8','lovrabet/rabetbase\x20installed\x20globally','cyan','\x20removed','Step\x205/7:\x20Removing\x20old\x20skill...','not\x20found\x20or\x20already\x20at\x20latest','Step\x206/7:\x20Installing\x20new\x20skill...','\x20\x20bun\x20install','white','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','undefined','280hWbwBH','oldMcpConfig','\x20\x20Fields\x20to\x20migrate:\x20','string','no\x20matching\x20entry\x20found','.cursor/mcp.json','\x20→\x20','no\x20legacy\x20config\x20found','Proceed\x20with\x20upgrade?','yellow','isArray','2280843hGFPUi','Legacy\x20artifacts:','not\x20found\x20(will\x20create)','dependencies','Upgrade\x20completed\x20successfully!','error','isDirectory','MCP\x20config:','object','Upgrade\x20cancelled.','Skill\x20swap:','devDependencies','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','FAIL','exit\x20','\x20\x20npm\x20install','log','Install\x20new\x20skill','CANCEL','needed','986322XnXJFW','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','green','cwd','Upgrade\x20@lovrabet/sdk','configMigration','parse','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','status','@lovrabet/dataset-mcp-server','fields','already\x20exists\x20(will\x20merge)','values','needsSkillSwap','push','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Step\x204/7:\x20MCP\x20config\x20—\x20','length','1105680vdmcxK','Clean\x20MCP\x20config','oldPath','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','FOUND','[\x22@lovrabet/sdk\x22]:\x20','\x20→\x20keys:\x20','\x20→\x20latest','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','message','Config\x20file:','bold','join','detail','@lovrabet/sdk:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','990368MsYWmG','gray','not\x20needed','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','24Ehjigw','includes','Remove\x20.lovrabet/','package.json','path','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','files','done','hasNewConfig','\x20\x20\x20\x20\x20\x20\x20','args','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Step\x20','mcpServers','start','Step\x201/7:\x20Migrating\x20config...','none\x20found','48558szmDYs','.cursor/rules/lovrabet_rules.mdc','@lovrabet/sdk','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20Current\x20version\x20in\x20','lovrabet/rabetbase','stringify','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','85751KXnYgc','.claude/skills/lovrabet','keys','fail','filter','label','skipped','Remove\x20legacy\x20artifacts','succeed','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x201/7:\x20Config\x20migration\x20—\x20','failed','\x20\x20Action:\x20delete','Config\x20migration','\x20(backup:\x20','inherit','entries'];a109_0x243b=function(){return _0x448dfa;};return a109_0x243b();}import a109_0x2de4fe from'chalk';import a109_0x563880 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x4933b9(0x195)](_0x2ba821=>_0x2ba821!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x47b705){const _0x134333=a109_0x4933b9,_0x125b5b=[];for(const _0x135c83 of Object[_0x134333(0x15d)](CORE_IDE_CONFIGS)){if(_0x135c83[_0x134333(0x17e)])for(const _0x165b4c of _0x135c83[_0x134333(0x17e)]){_0x125b5b['push'](resolve(_0x47b705,_0x165b4c[_0x134333(0x17c)]));}}return _0x125b5b;}function analyse(_0x4f8ea2){const _0x6d2307=a109_0x4933b9;let _0x8523fb=null;const _0x3846e8=resolve(_0x4f8ea2,NEW_CONFIG_NAME),_0x517546=existsSync(_0x3846e8);for(const _0x60d436 of LEGACY_CONFIG_NAMES){const _0x530d20=resolve(_0x4f8ea2,_0x60d436);if(existsSync(_0x530d20)){const _0x12809b=readConfigFile(_0x530d20),_0x549b4e=Object[_0x6d2307(0x193)](_0x12809b)['filter'](_0x108ebc=>typeof _0x12809b[_0x108ebc]!==_0x6d2307(0x131));_0x8523fb={'oldPath':_0x530d20,'hasNewConfig':_0x517546,'fields':_0x549b4e};break;}}const _0x599112=[],_0x22985f=resolve(_0x4f8ea2,_0x6d2307(0x1a9));if(existsSync(_0x22985f))_0x599112['push'](_0x22985f);const _0x2aba89=resolve(_0x4f8ea2,_0x6d2307(0x18a));if(existsSync(_0x2aba89))_0x599112[_0x6d2307(0x15f)](_0x2aba89);const _0x40b145=resolve(_0x4f8ea2,_0x6d2307(0x192));if(existsSync(_0x40b145))_0x599112[_0x6d2307(0x15f)](_0x40b145);for(const _0x1e0df1 of collectIdeSkillFiles(_0x4f8ea2)){if(existsSync(_0x1e0df1))_0x599112[_0x6d2307(0x15f)](_0x1e0df1);}let _0x12683c=null;const _0xd877f3=resolve(_0x4f8ea2,_0x6d2307(0x137));if(existsSync(_0xd877f3))try{const _0x491c65=JSON[_0x6d2307(0x157)](readFileSync(_0xd877f3,_0x6d2307(0x1ab)));if(_0x491c65?.['mcpServers']&&typeof _0x491c65[_0x6d2307(0x185)]===_0x6d2307(0x145)){const _0x125f83=[];for(const [_0x1adea2,_0x3c9ce6]of Object['entries'](_0x491c65[_0x6d2307(0x185)])){const _0x24710c=_0x3c9ce6;_0x24710c?.[_0x6d2307(0x182)]&&Array['isArray'](_0x24710c[_0x6d2307(0x182)])&&_0x24710c[_0x6d2307(0x182)]['some'](_0x5d983c=>typeof _0x5d983c==='string'&&_0x5d983c['includes'](_0x6d2307(0x15a)))&&_0x125f83[_0x6d2307(0x15f)](_0x1adea2);}_0x125f83[_0x6d2307(0x162)]>0x0&&(_0x12683c={'path':_0xd877f3,'keys':_0x125f83});}}catch{}const _0x42273a=_0x599112[_0x6d2307(0x162)]>0x0||_0x8523fb!==null;let _0x3dbc01=null;const _0x25fbcf=resolve(_0x4f8ea2,_0x6d2307(0x17b));if(existsSync(_0x25fbcf))try{const _0x4d9a7f=JSON[_0x6d2307(0x157)](readFileSync(_0x25fbcf,_0x6d2307(0x1ab)));for(const _0x1a3960 of[_0x6d2307(0x140),_0x6d2307(0x148)]){const _0x3844f2=_0x4d9a7f?.[_0x1a3960]?.[_0x6d2307(0x18b)];if(typeof _0x3844f2===_0x6d2307(0x135)){_0x3844f2!=='latest'&&(_0x3dbc01={'pkgPath':_0x25fbcf,'currentVersion':_0x3844f2,'field':_0x1a3960});break;}}}catch{}return{'configMigration':_0x8523fb,'oldArtifacts':_0x599112,'oldMcpConfig':_0x12683c,'needsSkillSwap':_0x42273a,'sdkUpgrade':_0x3dbc01};}function a109_0x1318(_0x5d9255,_0x5e0423){_0x5d9255=_0x5d9255-0x12f;const _0x243bea=a109_0x243b();let _0x131844=_0x243bea[_0x5d9255];return _0x131844;}function printReport(_0x33052c){const _0x4e835e=a109_0x4933b9,{configMigration:_0x2a9028,oldArtifacts:_0x218860,oldMcpConfig:_0x153aac,needsSkillSwap:_0x231dbd}=_0x33052c;console['log'](''),console[_0x4e835e(0x14d)](a109_0x2de4fe['bold'](_0x4e835e(0x1aa))),console[_0x4e835e(0x14d)]('');_0x2a9028?(console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x16e))+('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0x2a9028[_0x4e835e(0x165)]))),console[_0x4e835e(0x14d)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x2a9028[_0x4e835e(0x180)]?a109_0x2de4fe['green'](_0x4e835e(0x15c)):a109_0x2de4fe[_0x4e835e(0x175)](_0x4e835e(0x13f)))),console['log'](_0x4e835e(0x134)+_0x2a9028[_0x4e835e(0x15b)][_0x4e835e(0x170)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x16e))+'\x20\x20'+a109_0x2de4fe['gray'](_0x4e835e(0x139)));console['log']('');if(_0x218860[_0x4e835e(0x162)]>0x0){console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x13e)));for(const _0x119f70 of _0x218860){console['log']('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x1a8)](_0x4e835e(0x168))+'\x20\x20'+_0x119f70);}console['log'](_0x4e835e(0x19d));}else console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x13e))+'\x20\x20'+a109_0x2de4fe['gray'](_0x4e835e(0x188)));console[_0x4e835e(0x14d)]('');_0x153aac?(console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)]('MCP\x20config:')+('\x20\x20'+a109_0x2de4fe['yellow'](_0x153aac[_0x4e835e(0x17c)])+_0x4e835e(0x16a)+_0x153aac[_0x4e835e(0x193)][_0x4e835e(0x170)](',\x20'))),console['log']('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x4e835e(0x14d)](a109_0x2de4fe['cyan'](_0x4e835e(0x144))+'\x20\x20'+a109_0x2de4fe['gray']('no\x20legacy\x20entry'));console['log'](''),console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x147))+('\x20\x20'+(_0x231dbd?a109_0x2de4fe[_0x4e835e(0x13b)](_0x4e835e(0x150)):a109_0x2de4fe['green'](_0x4e835e(0x176)))));_0x231dbd&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x33052c[_0x4e835e(0x1a4)]){const {currentVersion:_0xbeb4ac,field:_0x471d81,pkgPath:_0x4a62ad}=_0x33052c[_0x4e835e(0x1a4)];console['log'](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x172))+('\x20\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0x4a62ad))),console[_0x4e835e(0x14d)](_0x4e835e(0x18d)+_0x471d81+':\x20'+a109_0x2de4fe[_0x4e835e(0x13b)](_0xbeb4ac)+_0x4e835e(0x138)+a109_0x2de4fe[_0x4e835e(0x153)]('latest')),console['log'](_0x4e835e(0x130));}else console[_0x4e835e(0x14d)](a109_0x2de4fe[_0x4e835e(0x1ad)](_0x4e835e(0x172))+'\x20\x20'+a109_0x2de4fe[_0x4e835e(0x175)](_0x4e835e(0x1b0)));console[_0x4e835e(0x14d)]('');}function execConfigMigration(_0x503ac1,_0x4028bb){const _0x4c7e6f=a109_0x4933b9,{configMigration:_0x372f84}=_0x503ac1;if(!_0x372f84?.[_0x4c7e6f(0x165)])return{'step':0x1,'label':_0x4c7e6f(0x19e),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x281aea=readConfigFile(_0x372f84['oldPath']),_0x2b3e76=resolve(_0x4028bb,NEW_CONFIG_NAME),_0x500eab=_0x372f84['hasNewConfig']?readConfigFile(_0x2b3e76):{};for(const [_0x58d3cf,_0x28be04]of Object['entries'](_0x281aea)){!(_0x58d3cf in _0x500eab)&&(_0x500eab[_0x58d3cf]=_0x28be04);}writeConfigFile(_0x2b3e76,_0x500eab);const _0x46873b=_0x372f84['oldPath']+'.bak';return renameSync(_0x372f84['oldPath'],_0x46873b),{'step':0x1,'label':_0x4c7e6f(0x19e),'ok':!![],'detail':_0x372f84[_0x4c7e6f(0x165)]+_0x4c7e6f(0x138)+_0x2b3e76+_0x4c7e6f(0x19f)+_0x46873b+')'};}function execRemoveOldArtifacts(_0x51eb73){const _0x59be21=a109_0x4933b9,_0x40a2c2=[];for(const _0x4e50cc of _0x51eb73){try{if(!existsSync(_0x4e50cc))continue;const _0x41eb86=tryStat(_0x4e50cc);_0x41eb86?.[_0x59be21(0x143)]()?rmSync(_0x4e50cc,{'recursive':!![],'force':!![]}):unlinkSync(_0x4e50cc);}catch(_0x129716){_0x40a2c2[_0x59be21(0x15f)](_0x4e50cc+':\x20'+_0x129716['message']);}}return{'step':0x3,'label':_0x59be21(0x198),'ok':_0x40a2c2[_0x59be21(0x162)]===0x0,'detail':_0x40a2c2[_0x59be21(0x162)]>0x0?_0x51eb73[_0x59be21(0x162)]-_0x40a2c2[_0x59be21(0x162)]+'/'+_0x51eb73[_0x59be21(0x162)]+'\x20removed\x20('+_0x40a2c2['join'](';\x20')+')':_0x51eb73['length']+_0x59be21(0x1ae)};}function execCleanMcp(_0xfec50d){const _0x597f1d=a109_0x4933b9;if(!_0xfec50d['oldMcpConfig'])return{'step':0x4,'label':_0x597f1d(0x164),'ok':!![],'detail':_0x597f1d(0x197)};try{const _0x57e2ca=readFileSync(_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)],'utf8'),_0x12820d=JSON[_0x597f1d(0x157)](_0x57e2ca);if(_0x12820d?.[_0x597f1d(0x185)]&&typeof _0x12820d[_0x597f1d(0x185)]===_0x597f1d(0x145)){const _0x4fd956=[];for(const [_0x518715,_0x34d49d]of Object[_0x597f1d(0x1a1)](_0x12820d['mcpServers'])){_0x34d49d?.[_0x597f1d(0x182)]&&Array[_0x597f1d(0x13c)](_0x34d49d[_0x597f1d(0x182)])&&_0x34d49d['args'][_0x597f1d(0x1a2)](_0x533236=>typeof _0x533236===_0x597f1d(0x135)&&_0x533236[_0x597f1d(0x179)](_0x597f1d(0x15a)))&&_0x4fd956[_0x597f1d(0x15f)](_0x518715);}for(const _0x39d990 of _0x4fd956){delete _0x12820d[_0x597f1d(0x185)][_0x39d990];}return _0x4fd956['length']>0x0&&writeFileSync(_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)],JSON[_0x597f1d(0x18f)](_0x12820d,null,0x2)+'\x0a',_0x597f1d(0x1ab)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x597f1d(0x1a6)+_0x4fd956[_0x597f1d(0x170)](',\x20')+'\x20from\x20'+_0xfec50d[_0x597f1d(0x133)][_0x597f1d(0x17c)]};}return{'step':0x4,'label':_0x597f1d(0x164),'ok':!![],'detail':_0x597f1d(0x136)};}catch(_0x3ae6c4){return{'step':0x4,'label':_0x597f1d(0x164),'ok':![],'detail':_0x3ae6c4[_0x597f1d(0x16d)]};}}function execSkillsRemove(_0x1ef4de,_0x14d37a){const _0x4770f7=a109_0x4933b9,_0x1dd77b=runNpxSkillsRemove(_0x1ef4de,{'stdio':'inherit','yes':_0x14d37a});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x1dd77b['ok'],'detail':_0x1dd77b['ok']?'lovrabet/lovrabet-skill\x20removed':_0x1dd77b[_0x4770f7(0x142)]??_0x4770f7(0x14b)+_0x1dd77b[_0x4770f7(0x159)]};}function execSkillsAdd(_0xec9a0b,_0x1253c6){const _0x30bb8c=a109_0x4933b9,_0x38a81f=runNpxSkillsAddGlobal(_0xec9a0b,_0x30bb8c(0x18e),{'stdio':_0x30bb8c(0x1a0),'yes':_0x1253c6});return{'step':0x6,'label':_0x30bb8c(0x14e),'ok':_0x38a81f['ok'],'detail':_0x38a81f['ok']?_0x30bb8c(0x1ac):_0x38a81f['error']??'exit\x20'+_0x38a81f[_0x30bb8c(0x159)]};}function execUpgradeSdk(_0x5ede43){const _0x35ddc4=a109_0x4933b9;if(!_0x5ede43[_0x35ddc4(0x1a4)])return{'step':0x7,'label':_0x35ddc4(0x155),'ok':!![],'detail':_0x35ddc4(0x158)};const {pkgPath:_0x38e1bc,currentVersion:_0x27021b,field:_0x54cb03}=_0x5ede43[_0x35ddc4(0x1a4)];try{const _0x370dc8=readFileSync(_0x38e1bc,_0x35ddc4(0x1ab)),_0x398555=JSON['parse'](_0x370dc8);return _0x398555[_0x54cb03]['@lovrabet/sdk']='latest',writeFileSync(_0x38e1bc,JSON[_0x35ddc4(0x18f)](_0x398555,null,0x2)+'\x0a',_0x35ddc4(0x1ab)),{'step':0x7,'label':_0x35ddc4(0x155),'ok':!![],'detail':_0x54cb03+_0x35ddc4(0x169)+_0x27021b+_0x35ddc4(0x16b)};}catch(_0x2ec22f){return{'step':0x7,'label':_0x35ddc4(0x155),'ok':![],'detail':_0x2ec22f[_0x35ddc4(0x16d)]};}}function tryStat(_0x51026e){try{return statSync(_0x51026e);}catch{return undefined;}}function printSummary(_0x142737){const _0x547aaa=a109_0x4933b9;console[_0x547aaa(0x14d)](''),console[_0x547aaa(0x14d)](a109_0x2de4fe[_0x547aaa(0x16f)]('===\x20Upgrade\x20Summary\x20===')),console[_0x547aaa(0x14d)]('');for(const _0x381728 of _0x142737){const _0x127504=_0x381728['ok']?a109_0x2de4fe['green']('OK'):a109_0x2de4fe[_0x547aaa(0x1a8)](_0x547aaa(0x14a));console[_0x547aaa(0x14d)]('\x20\x20'+_0x127504+_0x547aaa(0x184)+_0x381728['step']+':\x20'+_0x381728[_0x547aaa(0x196)]);if(_0x381728['detail'])console[_0x547aaa(0x14d)](_0x547aaa(0x181)+a109_0x2de4fe[_0x547aaa(0x175)](_0x381728[_0x547aaa(0x171)]));}console[_0x547aaa(0x14d)]('');}export async function upgradeApp(_0x5fa534,_0x2fbee3){const _0x315ded=a109_0x4933b9,_0x26a00d=process[_0x315ded(0x154)](),_0x5b1f66=analyse(_0x26a00d),_0x4b54c4=!_0x5b1f66[_0x315ded(0x156)]&&_0x5b1f66[_0x315ded(0x1a5)][_0x315ded(0x162)]===0x0&&!_0x5b1f66['oldMcpConfig']&&!_0x5b1f66[_0x315ded(0x15e)]&&!_0x5b1f66[_0x315ded(0x1a4)];if(_0x4b54c4){console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x153)](_0x315ded(0x19a)));return;}printReport(_0x5b1f66);const _0x1b363a=!!(_0x2fbee3['yes']||_0x2fbee3['Y']||_0x5fa534);if(!_0x1b363a)try{const _0x5a8d07=await askConfirm(_0x315ded(0x13a));if(!_0x5a8d07){console[_0x315ded(0x14d)](a109_0x2de4fe['gray'](_0x315ded(0x146)));return;}}catch(_0x1d9d02){if(_0x1d9d02?.[_0x315ded(0x16d)]===_0x315ded(0x14f)){console['log'](a109_0x2de4fe[_0x315ded(0x175)](_0x315ded(0x146)));return;}throw _0x1d9d02;}const _0x54a49e=[],_0x2eec8a=a109_0x563880({'text':_0x315ded(0x187),'color':_0x315ded(0x1ad)})['start'](),_0x1407d7=execConfigMigration(_0x5b1f66,_0x26a00d);_0x54a49e[_0x315ded(0x15f)](_0x1407d7),_0x2eec8a[_0x1407d7['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x19b)+(_0x1407d7[_0x315ded(0x171)]??(_0x1407d7['ok']?_0x315ded(0x17f):'failed')));const _0x30d062=resolve(_0x26a00d,_0x315ded(0x1a9)),_0x53311c=a109_0x563880({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x315ded(0x1ad)})[_0x315ded(0x186)]();if(existsSync(_0x30d062))try{rmSync(_0x30d062,{'recursive':!![],'force':!![]}),_0x53311c[_0x315ded(0x199)](_0x315ded(0x149)),_0x54a49e[_0x315ded(0x15f)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x1f674b){_0x53311c[_0x315ded(0x194)](_0x315ded(0x12f)+_0x1f674b[_0x315ded(0x16d)]),_0x54a49e[_0x315ded(0x15f)]({'step':0x2,'label':_0x315ded(0x17a),'ok':![],'detail':_0x1f674b[_0x315ded(0x16d)]});}else _0x53311c[_0x315ded(0x1a7)](_0x315ded(0x167)),_0x54a49e['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x23a489=a109_0x563880({'text':_0x315ded(0x16c),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x10c1be=execRemoveOldArtifacts(_0x5b1f66['oldArtifacts']);_0x54a49e[_0x315ded(0x15f)](_0x10c1be),_0x23a489[_0x10c1be['ok']?_0x315ded(0x199):_0x315ded(0x194)](_0x315ded(0x166)+(_0x10c1be[_0x315ded(0x171)]??(_0x10c1be['ok']?_0x315ded(0x17f):'failed')));const _0x2b8a88=a109_0x563880({'text':_0x315ded(0x173),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x1c0fae=execCleanMcp(_0x5b1f66);_0x54a49e[_0x315ded(0x15f)](_0x1c0fae),_0x2b8a88[_0x1c0fae['ok']?_0x315ded(0x199):_0x315ded(0x194)](_0x315ded(0x161)+(_0x1c0fae[_0x315ded(0x171)]??(_0x1c0fae['ok']?_0x315ded(0x17f):_0x315ded(0x19c))));const _0xf6f5dc=a109_0x563880({'text':_0x315ded(0x1af),'color':_0x315ded(0x1ad)})[_0x315ded(0x186)](),_0x2eb588=execSkillsRemove(_0x26a00d,_0x1b363a);_0x54a49e['push'](_0x2eb588),_0xf6f5dc[_0x2eb588['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x152)+(_0x2eb588[_0x315ded(0x171)]??(_0x2eb588['ok']?_0x315ded(0x17f):'failed')));const _0x3997cc=a109_0x563880({'text':_0x315ded(0x1b1),'color':_0x315ded(0x1ad)})['start'](),_0x106561=execSkillsAdd(_0x26a00d,_0x1b363a);_0x54a49e['push'](_0x106561),_0x3997cc[_0x106561['ok']?'succeed':_0x315ded(0x194)](_0x315ded(0x18c)+(_0x106561['detail']??(_0x106561['ok']?_0x315ded(0x17f):_0x315ded(0x19c))));const _0x68ce06=a109_0x563880({'text':_0x315ded(0x17d),'color':_0x315ded(0x1ad)})['start'](),_0xd529e3=execUpgradeSdk(_0x5b1f66);_0x54a49e[_0x315ded(0x15f)](_0xd529e3),_0x68ce06[_0xd529e3['ok']?_0x315ded(0x199):'fail'](_0x315ded(0x190)+(_0xd529e3[_0x315ded(0x171)]??(_0xd529e3['ok']?'done':_0x315ded(0x19c)))),printSummary(_0x54a49e);const _0x5492a3=_0x54a49e[_0x315ded(0x1a2)](_0x3fddcb=>!_0x3fddcb['ok']);_0x5492a3?console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x13b)](_0x315ded(0x160))):console['log'](a109_0x2de4fe[_0x315ded(0x153)](_0x315ded(0x141))),_0xd529e3['ok']&&_0x5b1f66[_0x315ded(0x1a4)]&&(console[_0x315ded(0x14d)](''),console['log'](a109_0x2de4fe[_0x315ded(0x16f)]['cyan'](_0x315ded(0x183))),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1ad)](_0x315ded(0x177))),console['log'](''),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)](_0x315ded(0x14c))),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)]('\x20\x20#\x20or')),console[_0x315ded(0x14d)](a109_0x2de4fe[_0x315ded(0x1b3)](_0x315ded(0x1b2))),console[_0x315ded(0x14d)](''));}
@@ -1 +1 @@
1
- const a110_0x23626a=a110_0x526a;(function(_0x38b6de,_0x50cdcc){const _0x2bc1cb=a110_0x526a,_0x36a66b=_0x38b6de();while(!![]){try{const _0x45be11=parseInt(_0x2bc1cb(0x185))/0x1+parseInt(_0x2bc1cb(0x182))/0x2*(parseInt(_0x2bc1cb(0x170))/0x3)+-parseInt(_0x2bc1cb(0x167))/0x4+-parseInt(_0x2bc1cb(0x169))/0x5+parseInt(_0x2bc1cb(0x165))/0x6+parseInt(_0x2bc1cb(0x191))/0x7+-parseInt(_0x2bc1cb(0x17b))/0x8*(parseInt(_0x2bc1cb(0x171))/0x9);if(_0x45be11===_0x50cdcc)break;else _0x36a66b['push'](_0x36a66b['shift']());}catch(_0x2361fb){_0x36a66b['push'](_0x36a66b['shift']());}}}(a110_0x4055,0x70ff3));function a110_0x4055(){const _0x140a77=['Quick\x20Start','install','Dataset\x20&\x20Operations','Database\x20Connections','preview','216BsQvvZ','defaultCommand','login','values','skill','has','write','562owChVn','create','Platform\x20Issue','751185GtltCF','Code\x20Generation','App\x20Management','\x20\x20[write]','map','show','run','get','<script>','risk','start','service','605241LKkbMu','build','2520924hlqcaz','Instant\x20API','548864WciLHG','command','3065235AByZOh','read','project','Logs','auth','Diagnostics','\x20\x20[high-risk-write]','8949zTaexU','294309SRzDda','set','isSingleCommand','logout','Smart\x20List\x20Pages'];a110_0x4055=function(){return _0x140a77;};return a110_0x4055();}import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x176957){const _0x3becc5=a110_0x526a;for(const _0x1f541f of _0x176957){definitions[_0x3becc5(0x172)](_0x1f541f[_0x3becc5(0x190)]+':'+_0x1f541f[_0x3becc5(0x168)],_0x1f541f);let _0x365646=serviceGroups['get'](_0x1f541f[_0x3becc5(0x190)]);!_0x365646&&(_0x365646=[],serviceGroups['set'](_0x1f541f['service'],_0x365646)),_0x365646['push'](_0x1f541f);}}function registerDeclarativeService(_0x2ce3b1,_0x2aeed6,_0x1f95f2){const _0x4eb9fd=a110_0x526a;registerDefinitions(_0x2aeed6);_0x1f95f2?.['wildcardDef']&&registerDefinitions([_0x1f95f2['wildcardDef']]);const _0x3d6a40=_0x5cde1b=>_0x5cde1b===_0x4eb9fd(0x16a)?'':_0x5cde1b===_0x4eb9fd(0x181)?_0x4eb9fd(0x188):_0x4eb9fd(0x16f),_0x1e1e12={'service':_0x2aeed6[0x0]['service'],'label':_0x2ce3b1,'commands':_0x2aeed6[_0x4eb9fd(0x189)](_0x331eb3=>({'command':_0x331eb3[_0x4eb9fd(0x168)],'description':_0x331eb3['description'],'tag':_0x3d6a40(_0x331eb3[_0x4eb9fd(0x18e)])})),'declarative':!![],'defaultCommand':_0x1f95f2?.[_0x4eb9fd(0x17c)]??(_0x1f95f2?.[_0x4eb9fd(0x173)]?_0x2aeed6[0x0][_0x4eb9fd(0x168)]:undefined),'wildcardDef':_0x1f95f2?.['wildcardDef'],'isSingleCommand':_0x1f95f2?.[_0x4eb9fd(0x173)]};serviceRegistry['push'](_0x1e1e12),serviceByName[_0x4eb9fd(0x172)](_0x1e1e12[_0x4eb9fd(0x190)],_0x1e1e12);}registerDeclarativeService(a110_0x23626a(0x176),initDefinitions,{'defaultCommand':a110_0x23626a(0x18b),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a110_0x23626a(0x187),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':a110_0x23626a(0x18d),'description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a110_0x23626a(0x17d)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x23626a(0x16e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a110_0x23626a(0x184),issueDefinitions),registerDeclarativeService('API',apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a110_0x23626a(0x179),dbDefinitions),registerDeclarativeService(a110_0x23626a(0x178),datasetDefinitions),registerDeclarativeService(a110_0x23626a(0x175),pageDefinitions),registerDeclarativeService(a110_0x23626a(0x166),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a110_0x23626a(0x186),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x23626a(0x16c),logsDefinitions,{'defaultCommand':a110_0x23626a(0x18a)});export const deprecatedAliases={'create':{'service':a110_0x23626a(0x16b),'command':a110_0x23626a(0x183)},'start':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x18f)},'build':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x192)},'preview':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x17a)},'logout':{'service':a110_0x23626a(0x16d),'command':a110_0x23626a(0x174)},'skills':{'service':a110_0x23626a(0x17f),'command':a110_0x23626a(0x177)}};export const deprecatedSubcommands={'bff':{'new':a110_0x23626a(0x183)},'sql':{'new':a110_0x23626a(0x183)}};export function resolveDeprecatedSubcommand(_0x1f0d15,_0x17a71b){return deprecatedSubcommands[_0x1f0d15]?.[_0x17a71b];}export function findDefinition(_0x2b80e6,_0x601b25){return definitions['get'](_0x2b80e6+':'+_0x601b25);}export function isKnownService(_0x3c9ffe){const _0x2b0f71=a110_0x23626a;return serviceByName[_0x2b0f71(0x180)](_0x3c9ffe);}function a110_0x526a(_0x5593a7,_0x336dbd){_0x5593a7=_0x5593a7-0x165;const _0x40555d=a110_0x4055();let _0x526a8f=_0x40555d[_0x5593a7];return _0x526a8f;}export function isDeclarativeService(_0x4f9d94){const _0x207e44=a110_0x23626a;return serviceGroups[_0x207e44(0x180)](_0x4f9d94)||serviceByName[_0x207e44(0x18c)](_0x4f9d94)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x2c79ed){return serviceByName['get'](_0x2c79ed);}export function getLegacyHandler(_0x35e249,_0x46abb8){return undefined;}export function getAllDefinitions(){const _0x37fc8e=a110_0x23626a;return Array['from'](definitions[_0x37fc8e(0x17e)]());}
1
+ const a110_0x304720=a110_0x2f24;(function(_0x37db36,_0x37d4cc){const _0x538ca7=a110_0x2f24,_0x26682d=_0x37db36();while(!![]){try{const _0x11ee80=-parseInt(_0x538ca7(0x17c))/0x1*(-parseInt(_0x538ca7(0x16f))/0x2)+parseInt(_0x538ca7(0x15d))/0x3*(-parseInt(_0x538ca7(0x155))/0x4)+parseInt(_0x538ca7(0x14d))/0x5+-parseInt(_0x538ca7(0x152))/0x6*(-parseInt(_0x538ca7(0x150))/0x7)+-parseInt(_0x538ca7(0x15b))/0x8+parseInt(_0x538ca7(0x17a))/0x9*(parseInt(_0x538ca7(0x161))/0xa)+-parseInt(_0x538ca7(0x157))/0xb*(-parseInt(_0x538ca7(0x167))/0xc);if(_0x11ee80===_0x37d4cc)break;else _0x26682d['push'](_0x26682d['shift']());}catch(_0x17fbe9){_0x26682d['push'](_0x26682d['shift']());}}}(a110_0x4c2e,0x83348));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';function a110_0x4c2e(){const _0x14665e=['write','build','install','4110GVsaFe','auth','API','Dataset\x20&\x20Operations','risk','<script>','312324qzajpq','Smart\x20List\x20Pages','logout','\x20\x20[high-risk-write]','set','\x20\x20[write]','from','SQL\x20Queries','389798IZCccU','read','defaultCommand','Menu','Quick\x20Start','Project','command','Configuration','wildcardDef','Self\x20Update','create','6084BUbUPy','service','3VheGVh','project','Platform\x20Issue','BFF\x20Scripts','Code\x20Generation','push','has','get','Skills','2482240ByQziI','isSingleCommand','Run\x20Scripts','421456mqGAyy','Run\x20any\x20package.json\x20script','84hAyVWL','show','App\x20Management','13224nwFcOu','login','55SNvQIt','preview','commands','run','8088720kyPEKb','skill','711VfAIMh'];a110_0x4c2e=function(){return _0x14665e;};return a110_0x4c2e();}function a110_0x2f24(_0x141e37,_0x2d5309){_0x141e37=_0x141e37-0x145;const _0x4c2e52=a110_0x4c2e();let _0x2f2485=_0x4c2e52[_0x141e37];return _0x2f2485;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x259c1c){const _0x38616d=a110_0x2f24;for(const _0x4c7984 of _0x259c1c){definitions[_0x38616d(0x16b)](_0x4c7984['service']+':'+_0x4c7984['command'],_0x4c7984);let _0x2d3b07=serviceGroups['get'](_0x4c7984[_0x38616d(0x17b)]);!_0x2d3b07&&(_0x2d3b07=[],serviceGroups[_0x38616d(0x16b)](_0x4c7984[_0x38616d(0x17b)],_0x2d3b07)),_0x2d3b07[_0x38616d(0x149)](_0x4c7984);}}function registerDeclarativeService(_0x4e37e7,_0x341e52,_0x40fc68){const _0x2d2f61=a110_0x2f24;registerDefinitions(_0x341e52);_0x40fc68?.[_0x2d2f61(0x177)]&&registerDefinitions([_0x40fc68[_0x2d2f61(0x177)]]);const _0x25cd9c=_0x8e3302=>_0x8e3302===_0x2d2f61(0x170)?'':_0x8e3302===_0x2d2f61(0x15e)?_0x2d2f61(0x16c):_0x2d2f61(0x16a),_0x58cc85={'service':_0x341e52[0x0][_0x2d2f61(0x17b)],'label':_0x4e37e7,'commands':_0x341e52['map'](_0x5af7fc=>({'command':_0x5af7fc[_0x2d2f61(0x175)],'description':_0x5af7fc['description'],'tag':_0x25cd9c(_0x5af7fc[_0x2d2f61(0x165)])})),'declarative':!![],'defaultCommand':_0x40fc68?.[_0x2d2f61(0x171)]??(_0x40fc68?.[_0x2d2f61(0x14e)]?_0x341e52[0x0][_0x2d2f61(0x175)]:undefined),'wildcardDef':_0x40fc68?.[_0x2d2f61(0x177)],'isSingleCommand':_0x40fc68?.[_0x2d2f61(0x14e)]};serviceRegistry[_0x2d2f61(0x149)](_0x58cc85),serviceByName[_0x2d2f61(0x16b)](_0x58cc85[_0x2d2f61(0x17b)],_0x58cc85);}registerDeclarativeService(a110_0x304720(0x173),initDefinitions,{'defaultCommand':a110_0x304720(0x15a),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x304720(0x174),projectDefinitions),registerDeclarativeService(a110_0x304720(0x154),appDefinitions),registerDeclarativeService(a110_0x304720(0x14f),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a110_0x304720(0x159)]=[{'command':a110_0x304720(0x166),'description':a110_0x304720(0x151),'tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a110_0x304720(0x156)}),registerDeclarativeService(a110_0x304720(0x178),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x304720(0x176),configDefinitions),registerDeclarativeService(a110_0x304720(0x146),issueDefinitions),registerDeclarativeService(a110_0x304720(0x163),apiDefinitions),registerDeclarativeService(a110_0x304720(0x172),menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a110_0x304720(0x164),datasetDefinitions),registerDeclarativeService(a110_0x304720(0x168),pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a110_0x304720(0x147),bffDefinitions),registerDeclarativeService(a110_0x304720(0x16e),sqlDefinitions),registerDeclarativeService(a110_0x304720(0x148),codegenDefinitions),registerDeclarativeService(a110_0x304720(0x14c),skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a110_0x304720(0x153)});export const deprecatedAliases={'create':{'service':a110_0x304720(0x145),'command':a110_0x304720(0x179)},'start':{'service':a110_0x304720(0x15a),'command':'start'},'build':{'service':'run','command':a110_0x304720(0x15f)},'preview':{'service':a110_0x304720(0x15a),'command':a110_0x304720(0x158)},'logout':{'service':a110_0x304720(0x162),'command':a110_0x304720(0x169)},'skills':{'service':a110_0x304720(0x15c),'command':a110_0x304720(0x160)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x3e04c1,_0x488192){return deprecatedSubcommands[_0x3e04c1]?.[_0x488192];}export function findDefinition(_0x28bfeb,_0xc9e46b){const _0x1da520=a110_0x304720;return definitions[_0x1da520(0x14b)](_0x28bfeb+':'+_0xc9e46b);}export function isKnownService(_0x4fd220){const _0x442f82=a110_0x304720;return serviceByName[_0x442f82(0x14a)](_0x4fd220);}export function isDeclarativeService(_0x4fca2e){const _0x7c27e4=a110_0x304720;return serviceGroups[_0x7c27e4(0x14a)](_0x4fca2e)||serviceByName[_0x7c27e4(0x14b)](_0x4fca2e)?.[_0x7c27e4(0x177)]!==undefined;}export function getServiceEntry(_0x312579){const _0x4b23ff=a110_0x304720;return serviceByName[_0x4b23ff(0x14b)](_0x312579);}export function getLegacyHandler(_0x15c746,_0xa80413){return undefined;}export function getAllDefinitions(){const _0x34cb34=a110_0x304720;return Array[_0x34cb34(0x16d)](definitions['values']());}
@@ -1 +1 @@
1
- const a111_0x128240=a111_0x576f;(function(_0x42373c,_0x4044f3){const _0x2793ad=a111_0x576f,_0x5e3e05=_0x42373c();while(!![]){try{const _0x174aca=parseInt(_0x2793ad(0x1fb))/0x1+parseInt(_0x2793ad(0x1d2))/0x2*(parseInt(_0x2793ad(0x1da))/0x3)+parseInt(_0x2793ad(0x1cf))/0x4+-parseInt(_0x2793ad(0x1e6))/0x5+-parseInt(_0x2793ad(0x1e1))/0x6+parseInt(_0x2793ad(0x1fc))/0x7*(-parseInt(_0x2793ad(0x1dd))/0x8)+-parseInt(_0x2793ad(0x1f0))/0x9*(-parseInt(_0x2793ad(0x204))/0xa);if(_0x174aca===_0x4044f3)break;else _0x5e3e05['push'](_0x5e3e05['shift']());}catch(_0x139877){_0x5e3e05['push'](_0x5e3e05['shift']());}}}(a111_0x20be,0x1bcaa));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';function a111_0x576f(_0x3fefc8,_0x36b3d4){_0x3fefc8=_0x3fefc8-0x1c8;const _0x20be77=a111_0x20be();let _0x576fb3=_0x20be77[_0x3fefc8];return _0x576fb3;}import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x128240(0x1ca),a111_0x128240(0x1db)]);function readPackageScripts(_0x2bb7f6){const _0x355b01=a111_0x128240,_0x25d6e4=resolve(_0x2bb7f6,_0x355b01(0x1e3));if(!existsSync(_0x25d6e4))return null;try{const _0x32b625=JSON['parse'](readFileSync(_0x25d6e4,'utf-8'));return _0x32b625['scripts']??{};}catch{return null;}}function detectPackageManager(_0x3793af){const _0x3e7541=a111_0x128240;if(existsSync(resolve(_0x3793af,'bun.lockb'))||existsSync(resolve(_0x3793af,_0x3e7541(0x1ce))))return _0x3e7541(0x1d7);if(existsSync(resolve(_0x3793af,_0x3e7541(0x1f9))))return _0x3e7541(0x1f3);if(existsSync(resolve(_0x3793af,'yarn.lock')))return _0x3e7541(0x1d1);return _0x3e7541(0x20a);}async function versionCheck(_0x6c9627){const _0x166eca=a111_0x128240,_0x1c8456=await checkCliVersion();(_0x1c8456[_0x166eca(0x1d8)]||_0x1c8456[_0x166eca(0x207)])&&(printCliUpgradeWarning(_0x1c8456),assertCliVersionSupported(_0x1c8456));const _0xf980a4=await checkSdkVersion(_0x6c9627);if(_0xf980a4[_0x166eca(0x1d8)])printSdkUpgradeWarning(_0xf980a4);}function spawnScript(_0x3abb83,_0xaeec5,_0xe47545,_0x27842e){return new Promise((_0x4bf023,_0x4e2559)=>{const _0xbf3835=a111_0x576f,_0x32254a=[_0xbf3835(0x1dc),_0xaeec5,..._0xe47545],_0x4b2c37=spawn(_0x3abb83,_0x32254a,{'cwd':_0x27842e,'stdio':_0xbf3835(0x1f2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x27842e,_0xbf3835(0x1ee),_0xbf3835(0x1f6))+delimiter+process.env.PATH}});_0x4b2c37['on'](_0xbf3835(0x208),_0x13374b=>{const _0x31d289=_0xbf3835;if(_0x13374b===0x0||_0x13374b===null)_0x4bf023();else _0x4e2559(new Error(_0x3abb83+_0x31d289(0x1cd)+_0xaeec5+_0x31d289(0x1fe)+_0x13374b));}),_0x4b2c37['on'](_0xbf3835(0x1cb),_0x4e2559);});}function spawnViteBuildWatch(_0x14e22d){return new Promise((_0x5cda2e,_0x2a4dab)=>{const _0x53feff=a111_0x576f,_0x3256e0=spawn(_0x53feff(0x1fa),[_0x53feff(0x1d4),'--watch'],{'cwd':_0x14e22d,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x14e22d,'node_modules','.bin')+delimiter+process.env.PATH}});_0x3256e0['on']('close',_0x53f85c=>{if(_0x53f85c===0x0||_0x53f85c===null)_0x5cda2e();else _0x2a4dab(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x53f85c));}),_0x3256e0['on'](_0x53feff(0x1cb),_0x2a4dab);});}function a111_0x20be(){const _0xfd7a38=['851460OaDgFS','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','package.json','map','slice','1123405AVEIBv','\x20run\x20build','Available:\x20','boolean','args','max','push','No\x20package.json\x20found\x20in\x20current\x20directory.','node_modules','\x20\x20\x20\x20','9xXxwIl','\x20run\x20preview','inherit','pnpm','No\x20scripts\x20defined\x20in\x20package.json.','Script\x20name\x20defined\x20in\x20package.json','.bin','watch','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','pnpm-lock.yaml','vite','13858JEbKjc','2212fTJCDS','preview','\x20exited\x20with\x20code\x20','\x22\x20not\x20found\x20in\x20package.json.','bool','padEnd','join','length','3865290eALggK','has','read','belowMinimum','close','script','npm','log','validation','start','error','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20','bun.lock','73784fpzUII','\x0a\x20\x20Usage:\x20','yarn','16rXMwoz','entries','build','\x20\x20EXAMPLES','Script\x20\x22','bun','needsUpgrade','Enable\x20watch\x20mode\x20for\x20preview','71208nshdBW','dev','run','3248iVpULu','Run\x20a\x20package.json\x20script','keys','cwd'];a111_0x20be=function(){return _0xfd7a38;};return a111_0x20be();}function spawnVitePreview(_0x3ab72d){return new Promise((_0x4108ab,_0x1389c3)=>{const _0x29e582=a111_0x576f,_0x1a291b=spawn(_0x29e582(0x1fa),[_0x29e582(0x1fd)],{'cwd':_0x3ab72d,'stdio':_0x29e582(0x1f2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3ab72d,_0x29e582(0x1ee),_0x29e582(0x1f6))+delimiter+process.env.PATH}});_0x1a291b['on'](_0x29e582(0x208),_0x506ed5=>{const _0x4be3b1=_0x29e582;if(_0x506ed5===0x0||_0x506ed5===null)_0x4108ab();else _0x1389c3(new Error(_0x4be3b1(0x1cc)+_0x506ed5));}),_0x1a291b['on'](_0x29e582(0x1cb),_0x1389c3);});}const runFlags=[{'name':a111_0x128240(0x1f7),'type':a111_0x128240(0x1e9),'description':a111_0x128240(0x1d9),'default':![]}];export const runDefinition={'service':a111_0x128240(0x1dc),'command':'run','description':a111_0x128240(0x1de),'risk':a111_0x128240(0x206),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x128240(0x209),'description':a111_0x128240(0x1f5),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4045f3=a111_0x128240,_0x196ee2=readPackageScripts(process[_0x4045f3(0x1e0)]()),_0x1bd0d3=[];if(_0x196ee2&&Object[_0x4045f3(0x1df)](_0x196ee2)[_0x4045f3(0x203)]>0x0){const _0x1b06f0=Object['keys'](_0x196ee2),_0x482e65=Math[_0x4045f3(0x1eb)](..._0x1b06f0[_0x4045f3(0x1e4)](_0x446983=>_0x446983[_0x4045f3(0x203)]));_0x1bd0d3['push'](_0x4045f3(0x1f8));for(const [_0x4dffd7,_0x3cc8a5]of Object[_0x4045f3(0x1d3)](_0x196ee2)){_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1cd)+_0x4dffd7[_0x4045f3(0x201)](_0x482e65+0x2)+'#\x20'+_0x3cc8a5);}}else _0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1d5)),_0x1bd0d3[_0x4045f3(0x1ec)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1e7)),_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1f1)),_0x1bd0d3['push'](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1e2));return _0x1bd0d3['join']('\x0a');},async 'execute'(_0xe6d647){const _0x16857f=a111_0x128240,_0x35cf2b=process[_0x16857f(0x1e0)](),_0x923570=_0xe6d647[_0x16857f(0x1ea)][0x0],_0x23eeff=_0xe6d647[_0x16857f(0x1ea)][_0x16857f(0x1e5)](0x1),_0x422891=readPackageScripts(_0x35cf2b);if(!_0x422891)throw CliErrors[_0x16857f(0x1c9)](_0x16857f(0x1ed));if(!_0x923570){const _0x1f7e9f=Object['keys'](_0x422891);if(_0x1f7e9f[_0x16857f(0x203)]===0x0)console[_0x16857f(0x1c8)](_0x16857f(0x1f4));else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');const _0x25cb41=Math[_0x16857f(0x1eb)](..._0x1f7e9f['map'](_0x4e2979=>_0x4e2979[_0x16857f(0x203)]));for(const [_0x57691b,_0x3ad3d9]of Object[_0x16857f(0x1d3)](_0x422891)){console[_0x16857f(0x1c8)](_0x16857f(0x1ef)+_0x57691b[_0x16857f(0x201)](_0x25cb41+0x2)+_0x3ad3d9);}console[_0x16857f(0x1c8)](_0x16857f(0x1d0)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x422891[_0x923570])throw CliErrors[_0x16857f(0x1c9)](_0x16857f(0x1d6)+_0x923570+_0x16857f(0x1ff),_0x16857f(0x1e8)+(Object[_0x16857f(0x1df)](_0x422891)[_0x16857f(0x202)](',\x20')||'(none)'));const _0x526554=detectPackageManager(_0x35cf2b);VERSION_CHECK_SCRIPTS[_0x16857f(0x205)](_0x923570)&&await versionCheck(_0x35cf2b);if(_0x923570===_0x16857f(0x1fd)&&_0xe6d647[_0x16857f(0x200)](_0x16857f(0x1f7)))return await Promise['all']([spawnViteBuildWatch(_0x35cf2b),spawnVitePreview(_0x35cf2b)]),{'ok':!![]};return await spawnScript(_0x526554,_0x923570,_0x23eeff,_0x35cf2b),{'ok':!![]};}};
1
+ const a111_0x34d413=a111_0x16e5;(function(_0x27cda0,_0x8486f2){const _0x18161a=a111_0x16e5,_0x1eafec=_0x27cda0();while(!![]){try{const _0xc4a7c2=parseInt(_0x18161a(0xa6))/0x1*(parseInt(_0x18161a(0x9d))/0x2)+parseInt(_0x18161a(0x73))/0x3+parseInt(_0x18161a(0x68))/0x4*(-parseInt(_0x18161a(0x99))/0x5)+-parseInt(_0x18161a(0x8e))/0x6+-parseInt(_0x18161a(0x72))/0x7+parseInt(_0x18161a(0x7e))/0x8*(parseInt(_0x18161a(0x80))/0x9)+parseInt(_0x18161a(0x67))/0xa;if(_0xc4a7c2===_0x8486f2)break;else _0x1eafec['push'](_0x1eafec['shift']());}catch(_0x2af2d4){_0x1eafec['push'](_0x1eafec['shift']());}}}(a111_0x4c7c,0xc7c77));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x34d413(0xa1),a111_0x34d413(0x85)]);function readPackageScripts(_0x4fa494){const _0x586a75=a111_0x34d413,_0x3de6bf=resolve(_0x4fa494,_0x586a75(0x78));if(!existsSync(_0x3de6bf))return null;try{const _0x4a82c5=JSON['parse'](readFileSync(_0x3de6bf,_0x586a75(0x74)));return _0x4a82c5[_0x586a75(0x96)]??{};}catch{return null;}}function a111_0x4c7c(){const _0x5f2b58=['build','validation','dev','cwd','\x0a\x20\x20Usage:\x20','all','belowMinimum','max','(none)','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','slice','1022514hdMTXf','read','error','keys','node_modules','\x20run\x20','pnpm-lock.yaml','args','scripts','push','bun','100glyrQZ','entries','--watch','\x20\x20\x20\x20','92fiyskw','boolean','length','log','start','bun.lockb','yarn.lock','map','preview','24342TURGyy','No\x20package.json\x20found\x20in\x20current\x20directory.','8549240pyiGGJ','206284XoWygL','bool','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','\x20run\x20<script>\x0a','bun.lock','Script\x20\x22','needsUpgrade','watch','join','npm','6901972rpIoAp','204195YKLAfa','utf-8','.bin','Available:\x20','\x0a\x20\x20Available\x20scripts:\x0a','package.json','inherit','run','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x22\x20not\x20found\x20in\x20package.json.','padEnd','265768ZlseLE','yarn','261xOeVkF','has','\x20run\x20build'];a111_0x4c7c=function(){return _0x5f2b58;};return a111_0x4c7c();}function a111_0x16e5(_0x59ea3d,_0x559ec4){_0x59ea3d=_0x59ea3d-0x67;const _0x4c7cd1=a111_0x4c7c();let _0x16e599=_0x4c7cd1[_0x59ea3d];return _0x16e599;}function detectPackageManager(_0x545973){const _0x21d95a=a111_0x34d413;if(existsSync(resolve(_0x545973,_0x21d95a(0xa2)))||existsSync(resolve(_0x545973,_0x21d95a(0x6c))))return _0x21d95a(0x98);if(existsSync(resolve(_0x545973,_0x21d95a(0x94))))return'pnpm';if(existsSync(resolve(_0x545973,_0x21d95a(0xa3))))return _0x21d95a(0x7f);return _0x21d95a(0x71);}async function versionCheck(_0x444203){const _0xc18546=a111_0x34d413,_0xbf80bf=await checkCliVersion();(_0xbf80bf[_0xc18546(0x6e)]||_0xbf80bf[_0xc18546(0x89)])&&(printCliUpgradeWarning(_0xbf80bf),assertCliVersionSupported(_0xbf80bf));const _0x31084f=await checkSdkVersion(_0x444203);if(_0x31084f[_0xc18546(0x6e)])printSdkUpgradeWarning(_0x31084f);}function spawnScript(_0x4f817d,_0x209f60,_0x2309be,_0x134f28){return new Promise((_0x1a5985,_0x48e64c)=>{const _0x237f5e=a111_0x16e5,_0x21959a=[_0x237f5e(0x7a),_0x209f60,..._0x2309be],_0x4b84e=spawn(_0x4f817d,_0x21959a,{'cwd':_0x134f28,'stdio':_0x237f5e(0x79),'shell':!![],'env':{...process.env,'PATH':''+join(_0x134f28,_0x237f5e(0x92),_0x237f5e(0x75))+delimiter+process.env.PATH}});_0x4b84e['on']('close',_0x283f65=>{const _0x52794d=_0x237f5e;if(_0x283f65===0x0||_0x283f65===null)_0x1a5985();else _0x48e64c(new Error(_0x4f817d+_0x52794d(0x93)+_0x209f60+'\x20exited\x20with\x20code\x20'+_0x283f65));}),_0x4b84e['on'](_0x237f5e(0x90),_0x48e64c);});}function spawnViteBuildWatch(_0x38a05f){return new Promise((_0x5edcd9,_0x262705)=>{const _0x45f1de=a111_0x16e5,_0x4aed93=spawn('vite',[_0x45f1de(0x83),_0x45f1de(0x9b)],{'cwd':_0x38a05f,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x38a05f,_0x45f1de(0x92),_0x45f1de(0x75))+delimiter+process.env.PATH}});_0x4aed93['on']('close',_0x110df1=>{const _0x6920bc=_0x45f1de;if(_0x110df1===0x0||_0x110df1===null)_0x5edcd9();else _0x262705(new Error(_0x6920bc(0x7b)+_0x110df1));}),_0x4aed93['on']('error',_0x262705);});}function spawnVitePreview(_0xb0788c){return new Promise((_0x5700e8,_0x234cba)=>{const _0x1a8a3e=a111_0x16e5,_0x2757e4=spawn('vite',[_0x1a8a3e(0xa5)],{'cwd':_0xb0788c,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xb0788c,_0x1a8a3e(0x92),_0x1a8a3e(0x75))+delimiter+process.env.PATH}});_0x2757e4['on']('close',_0x283022=>{if(_0x283022===0x0||_0x283022===null)_0x5700e8();else _0x234cba(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x283022));}),_0x2757e4['on']('error',_0x234cba);});}const runFlags=[{'name':a111_0x34d413(0x6f),'type':a111_0x34d413(0x9e),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a111_0x34d413(0x7a),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a111_0x34d413(0x8f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2c4d1d=a111_0x34d413,_0x1b65c4=readPackageScripts(process['cwd']()),_0x250d50=[];if(_0x1b65c4&&Object['keys'](_0x1b65c4)[_0x2c4d1d(0x9f)]>0x0){const _0x488bef=Object[_0x2c4d1d(0x91)](_0x1b65c4),_0x1147f5=Math[_0x2c4d1d(0x8a)](..._0x488bef[_0x2c4d1d(0xa4)](_0x486647=>_0x486647[_0x2c4d1d(0x9f)]));_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x8c));for(const [_0xf94a23,_0xf6c0d9]of Object['entries'](_0x1b65c4)){_0x250d50[_0x2c4d1d(0x97)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20'+_0xf94a23[_0x2c4d1d(0x7d)](_0x1147f5+0x2)+'#\x20'+_0xf6c0d9);}}else _0x250d50[_0x2c4d1d(0x97)]('\x20\x20EXAMPLES'),_0x250d50['push'](_0x2c4d1d(0x9c)+CLI_BIN_NAME+'\x20run\x20start'),_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x9c)+CLI_BIN_NAME+_0x2c4d1d(0x82)),_0x250d50[_0x2c4d1d(0x97)](_0x2c4d1d(0x9c)+CLI_BIN_NAME+'\x20run\x20preview'),_0x250d50[_0x2c4d1d(0x97)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2c4d1d(0x6a));return _0x250d50[_0x2c4d1d(0x70)]('\x0a');},async 'execute'(_0x3ee821){const _0x9aa98d=a111_0x34d413,_0x311395=process[_0x9aa98d(0x86)](),_0x4ae7f5=_0x3ee821[_0x9aa98d(0x95)][0x0],_0x448741=_0x3ee821[_0x9aa98d(0x95)][_0x9aa98d(0x8d)](0x1),_0x5a7396=readPackageScripts(_0x311395);if(!_0x5a7396)throw CliErrors[_0x9aa98d(0x84)](_0x9aa98d(0xa7));if(!_0x4ae7f5){const _0xa58de2=Object[_0x9aa98d(0x91)](_0x5a7396);if(_0xa58de2['length']===0x0)console[_0x9aa98d(0xa0)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x9aa98d(0xa0)](_0x9aa98d(0x77));const _0x2b82eb=Math[_0x9aa98d(0x8a)](..._0xa58de2[_0x9aa98d(0xa4)](_0xac2ad2=>_0xac2ad2[_0x9aa98d(0x9f)]));for(const [_0x302621,_0x314ea5]of Object[_0x9aa98d(0x9a)](_0x5a7396)){console['log']('\x20\x20\x20\x20'+_0x302621[_0x9aa98d(0x7d)](_0x2b82eb+0x2)+_0x314ea5);}console['log'](_0x9aa98d(0x87)+CLI_BIN_NAME+_0x9aa98d(0x6b));}return{'ok':!![]};}if(!_0x5a7396[_0x4ae7f5])throw CliErrors[_0x9aa98d(0x84)](_0x9aa98d(0x6d)+_0x4ae7f5+_0x9aa98d(0x7c),_0x9aa98d(0x76)+(Object[_0x9aa98d(0x91)](_0x5a7396)[_0x9aa98d(0x70)](',\x20')||_0x9aa98d(0x8b)));const _0x943779=detectPackageManager(_0x311395);VERSION_CHECK_SCRIPTS[_0x9aa98d(0x81)](_0x4ae7f5)&&await versionCheck(_0x311395);if(_0x4ae7f5===_0x9aa98d(0xa5)&&_0x3ee821[_0x9aa98d(0x69)](_0x9aa98d(0x6f)))return await Promise[_0x9aa98d(0x88)]([spawnViteBuildWatch(_0x311395),spawnVitePreview(_0x311395)]),{'ok':!![]};return await spawnScript(_0x943779,_0x4ae7f5,_0x448741,_0x311395),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a112_0x1e5a(){const _0x4f3a18=['270nGDeNP','229460GGWhbQ','read','schema','8511mSXIXg','161926ygaTLN','236980VHMPvr','15EhylIH','json','142ztBjDX','40872SoIRIm','Export\x20machine-readable\x20command\x20schema\x20(JSON)','3758678kBVPuo','1353940XESoJF','6FCzhgs'];a112_0x1e5a=function(){return _0x4f3a18;};return a112_0x1e5a();}const a112_0x54b193=a112_0x3556;(function(_0xd0c50e,_0x8191d8){const _0x437b12=a112_0x3556,_0x491c75=_0xd0c50e();while(!![]){try{const _0x2fab6a=-parseInt(_0x437b12(0xfa))/0x1+parseInt(_0x437b12(0xfe))/0x2*(-parseInt(_0x437b12(0xf9))/0x3)+parseInt(_0x437b12(0xfb))/0x4*(-parseInt(_0x437b12(0xfc))/0x5)+parseInt(_0x437b12(0x103))/0x6*(parseInt(_0x437b12(0x105))/0x7)+-parseInt(_0x437b12(0xff))/0x8*(-parseInt(_0x437b12(0x104))/0x9)+parseInt(_0x437b12(0x102))/0xa+parseInt(_0x437b12(0x101))/0xb;if(_0x2fab6a===_0x8191d8)break;else _0x491c75['push'](_0x491c75['shift']());}catch(_0x215075){_0x491c75['push'](_0x491c75['shift']());}}}(a112_0x1e5a,0x1dcc6));import{buildSchemaPayload}from'../framework/schema-export.js';function a112_0x3556(_0xf5a478,_0x5b6328){_0xf5a478=_0xf5a478-0xf7;const _0x1e5ae2=a112_0x1e5a();let _0x3556a5=_0x1e5ae2[_0xf5a478];return _0x3556a5;}async function execute(_0x4f5713){const _0x44ce63=await buildSchemaPayload();return{'ok':!![],'data':_0x44ce63};}export const schemaDefinition={'service':a112_0x54b193(0xf8),'command':'export','description':a112_0x54b193(0x100),'risk':a112_0x54b193(0xf7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x54b193(0xfd),'flags':[],'execute':execute};
1
+ const a112_0x96c6dc=a112_0x424e;function a112_0x424e(_0x38ee7d,_0x4696b0){_0x38ee7d=_0x38ee7d-0x10b;const _0x4a5dd2=a112_0x4a5d();let _0x424ec5=_0x4a5dd2[_0x38ee7d];return _0x424ec5;}(function(_0x18a0a7,_0x432a5d){const _0x5d13ab=a112_0x424e,_0x2272c9=_0x18a0a7();while(!![]){try{const _0x2058e6=parseInt(_0x5d13ab(0x111))/0x1*(-parseInt(_0x5d13ab(0x10b))/0x2)+-parseInt(_0x5d13ab(0x10f))/0x3+-parseInt(_0x5d13ab(0x117))/0x4*(-parseInt(_0x5d13ab(0x10d))/0x5)+parseInt(_0x5d13ab(0x10c))/0x6*(parseInt(_0x5d13ab(0x119))/0x7)+-parseInt(_0x5d13ab(0x112))/0x8+-parseInt(_0x5d13ab(0x115))/0x9*(parseInt(_0x5d13ab(0x10e))/0xa)+parseInt(_0x5d13ab(0x114))/0xb;if(_0x2058e6===_0x432a5d)break;else _0x2272c9['push'](_0x2272c9['shift']());}catch(_0x534e36){_0x2272c9['push'](_0x2272c9['shift']());}}}(a112_0x4a5d,0xdbdcd));function a112_0x4a5d(){const _0x2274d6=['45624CNbgoo','207095fLIoCQ','20FRniTN','791217SAZWyc','read','65GoIObK','10491208jHYYRL','json','18905040YYHjwp','2197017gieVVh','export','124cFdWHM','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1582RrVPpD','54068xcmHmZ'];a112_0x4a5d=function(){return _0x2274d6;};return a112_0x4a5d();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x1fd860){const _0x5a463e=await buildSchemaPayload();return{'ok':!![],'data':_0x5a463e};}export const schemaDefinition={'service':'schema','command':a112_0x96c6dc(0x116),'description':a112_0x96c6dc(0x118),'risk':a112_0x96c6dc(0x110),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x96c6dc(0x113),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a113_0x46d016=a113_0x1da9;(function(_0x811c8c,_0x40dada){const _0x5405e9=a113_0x1da9,_0xabd2ae=_0x811c8c();while(!![]){try{const _0x544db3=-parseInt(_0x5405e9(0x174))/0x1*(-parseInt(_0x5405e9(0x16d))/0x2)+parseInt(_0x5405e9(0x173))/0x3*(-parseInt(_0x5405e9(0x187))/0x4)+parseInt(_0x5405e9(0x180))/0x5+parseInt(_0x5405e9(0x177))/0x6+parseInt(_0x5405e9(0x170))/0x7+parseInt(_0x5405e9(0x17a))/0x8+-parseInt(_0x5405e9(0x179))/0x9*(parseInt(_0x5405e9(0x186))/0xa);if(_0x544db3===_0x40dada)break;else _0xabd2ae['push'](_0xabd2ae['shift']());}catch(_0x368bc2){_0xabd2ae['push'](_0xabd2ae['shift']());}}}(a113_0x1d84,0x4323c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a113_0x1da9(_0xdc6b5,_0x2ea09a){_0xdc6b5=_0xdc6b5-0x16c;const _0x1d84de=a113_0x1d84();let _0x1da9f9=_0x1d84de[_0xdc6b5];return _0x1da9f9;}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';function a113_0x1d84(){const _0x3d8cce=['setLogPath','nonInteractive','2823108rcKNYP','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','9YbZBbN','37064vXrgVe','log','inherit','../../skills/npx-skills-add.js','npx\x20skills\x20add\x20failed:\x20','cwd','1712405QsubYl','write','Installing\x20official\x20skill\x20via\x20npx\x20(','unknown','skill-install','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','12085770MMwQoz','20836KZgygk','skill','pipe','lovrabet/rabetbase','apiError','248nWfUnP','error','info','3158330jvzUud','Install\x20developer\x20skill\x20package','install','27vTfcNU','2110GuNNDl'];a113_0x1d84=function(){return _0x3d8cce;};return a113_0x1d84();}export const skillDefinitions=[{'service':a113_0x46d016(0x188),'command':a113_0x46d016(0x172),'description':a113_0x46d016(0x171),'risk':a113_0x46d016(0x181),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x39ccd5){const _0x2c31d5=a113_0x46d016;logger[_0x2c31d5(0x175)](process[_0x2c31d5(0x17f)]()),logger[_0x2c31d5(0x16f)](_0x2c31d5(0x184),_0x2c31d5(0x178));const {runNpxSkillsAddGlobal:_0x2fe8c3}=await import(_0x2c31d5(0x17d)),_0x2f2417=_0x39ccd5[_0x2c31d5(0x176)]?_0x2c31d5(0x189):_0x2c31d5(0x17c);console[_0x2c31d5(0x17b)](_0x2c31d5(0x182)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x166424=_0x2fe8c3(process['cwd'](),_0x2c31d5(0x18a),{'stdio':_0x2f2417});if(_0x166424['skipped'])console[_0x2c31d5(0x17b)](_0x2c31d5(0x185));else{if(_0x166424['ok'])console[_0x2c31d5(0x17b)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x2c31d5(0x16c)](_0x2c31d5(0x17e)+(_0x166424[_0x2c31d5(0x16e)]||_0x2c31d5(0x183)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
1
+ function a113_0x13c3(){const _0x2a8f2d=['执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','7652840gykOyy','9746060stLtmA',')...','36rqQBzc','Check\x20network\x20connectivity\x20and\x20try\x20again.','Install\x20developer\x20skill\x20package','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','lovrabet/rabetbase','2665205KwCDop','cwd','skill','5970016KDUkxP','8567034eWeNWQ','setLogPath','61764VWFGiI','skipped','skill-install','write','inherit','1151749laWNKv','6WugEUb','npx\x20skills\x20add\x20failed:\x20','error','114OsGbdQ','log'];a113_0x13c3=function(){return _0x2a8f2d;};return a113_0x13c3();}const a113_0x4a4f9c=a113_0x5cfc;(function(_0x134e44,_0x10544b){const _0x992936=a113_0x5cfc,_0x24c7b6=_0x134e44();while(!![]){try{const _0x4abd65=-parseInt(_0x992936(0xa2))/0x1+-parseInt(_0x992936(0x9d))/0x2*(parseInt(_0x992936(0xa6))/0x3)+-parseInt(_0x992936(0x9a))/0x4+parseInt(_0x992936(0x97))/0x5+parseInt(_0x992936(0xa3))/0x6*(parseInt(_0x992936(0x9b))/0x7)+-parseInt(_0x992936(0x8f))/0x8+-parseInt(_0x992936(0x92))/0x9*(-parseInt(_0x992936(0x90))/0xa);if(_0x4abd65===_0x10544b)break;else _0x24c7b6['push'](_0x24c7b6['shift']());}catch(_0x575ff9){_0x24c7b6['push'](_0x24c7b6['shift']());}}}(a113_0x13c3,0xd7139));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a113_0x5cfc(_0x1c9955,_0x4a0461){_0x1c9955=_0x1c9955-0x8f;const _0x13c39a=a113_0x13c3();let _0x5cfc88=_0x13c39a[_0x1c9955];return _0x5cfc88;}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x4a4f9c(0x99),'command':'install','description':a113_0x4a4f9c(0x94),'risk':a113_0x4a4f9c(0xa0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xb3f817){const _0x1764d4=a113_0x4a4f9c;logger[_0x1764d4(0x9c)](process[_0x1764d4(0x98)]()),logger['info'](_0x1764d4(0x9f),_0x1764d4(0xa8));const {runNpxSkillsAddGlobal:_0x24af94}=await import('../../skills/npx-skills-add.js'),_0x5bf5cd=_0xb3f817['nonInteractive']?'pipe':_0x1764d4(0xa1);console[_0x1764d4(0xa7)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x1764d4(0x91));const _0x144f6f=_0x24af94(process['cwd'](),_0x1764d4(0x96),{'stdio':_0x5bf5cd});if(_0x144f6f[_0x1764d4(0x9e)])console[_0x1764d4(0xa7)](_0x1764d4(0x95));else{if(_0x144f6f['ok'])console[_0x1764d4(0xa7)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors['apiError'](_0x1764d4(0xa4)+(_0x144f6f[_0x1764d4(0xa5)]||'unknown'),_0x1764d4(0x93));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a114_0x6cb4(_0x18dcf4,_0x26cf66){_0x18dcf4=_0x18dcf4-0x17e;const _0x5b399e=a114_0x5b39();let _0x6cb461=_0x5b399e[_0x18dcf4];return _0x6cb461;}const a114_0x529f91=a114_0x6cb4;function a114_0x5b39(){const _0x4c84e7=['普通\x20SQL(sql)','number','dbId','dbId\x20必须为正整数','<server-generated-sqlCode>','适合带动态标签的\x20MyBatis\x20XML\x20SQL','parse','lastSync','sqlCode','POST','</select>','请选择目标数据库:','1081070tEfckV','name','string','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','appCode','4310872JVvUtb','description','请输入\x20SQL\x20名称:','join','File\x20already\x20exists:\x20','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','isFinite','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','new','dbId\x20不能为空','sql','/smartapi/custom/saveUserCustomSql','sqlName','1322644yzuEfV','nonInteractive','27658jWrBDz','create','Target\x20database\x20ID','7hkGJTh','length','mybatisXml','lockFilePath','map','15958917XHcjpt','3797577RPBgII','trim','catch','flagMissing','mode','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqls','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','3MxXPoJ','toISOString','validation','dbName','high-risk-write','db-id','sqlRootDir','str','1199286GNcABz','\x20\x20SELECT\x201\x20AS\x20id','isInteger'];a114_0x5b39=function(){return _0x4c84e7;};return a114_0x5b39();}(function(_0x24540b,_0x157ca4){const _0x3e2161=a114_0x6cb4,_0x52532e=_0x24540b();while(!![]){try{const _0x60e837=parseInt(_0x3e2161(0x1b0))/0x1*(parseInt(_0x3e2161(0x1ad))/0x2)+parseInt(_0x3e2161(0x181))/0x3*(-parseInt(_0x3e2161(0x1ab))/0x4)+parseInt(_0x3e2161(0x198))/0x5+-parseInt(_0x3e2161(0x189))/0x6+-parseInt(_0x3e2161(0x1b6))/0x7+-parseInt(_0x3e2161(0x19d))/0x8+parseInt(_0x3e2161(0x1b5))/0x9;if(_0x60e837===_0x157ca4)break;else _0x52532e['push'](_0x52532e['shift']());}catch(_0x6120be){_0x52532e['push'](_0x52532e['shift']());}}}(a114_0x5b39,0x73cce));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(_0x2aeecb){const _0x1a0afa=a114_0x6cb4;if(_0x2aeecb===_0x1a0afa(0x1b2))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x1a0afa(0x18a),_0x1a0afa(0x196),''][_0x1a0afa(0x1a0)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x1a0afa(0x1a0)]('\x0a');}export const sqlCreate={'service':a114_0x529f91(0x1a8),'command':a114_0x529f91(0x1ae),'description':a114_0x529f91(0x1bc),'risk':a114_0x529f91(0x185),'flags':[{'name':'name','type':a114_0x529f91(0x19a),'description':'SQL\x20query\x20display\x20name'},{'name':a114_0x529f91(0x186),'type':a114_0x529f91(0x18d),'description':a114_0x529f91(0x1af)},{'name':a114_0x529f91(0x1ba),'type':'string','enum':[a114_0x529f91(0x1a8),a114_0x529f91(0x1b2)],'description':a114_0x529f91(0x180)}],async 'validate'(_0x37ece9){const _0x9f8209=a114_0x529f91;if(!_0x37ece9['nonInteractive'])return;if(!_0x37ece9[_0x9f8209(0x188)]('name')[_0x9f8209(0x1b7)]())throw CliErrors[_0x9f8209(0x1b9)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x4bc47d=resolveProvidedDbId(_0x37ece9);if(typeof _0x4bc47d!=='number'||!Number[_0x9f8209(0x1a4)](_0x4bc47d)||_0x4bc47d<=0x0)throw CliErrors['flagMissing']('db-id',_0x9f8209(0x1a2));if(!_0x37ece9[_0x9f8209(0x188)](_0x9f8209(0x1ba))[_0x9f8209(0x1b7)]())throw CliErrors['flagMissing'](_0x9f8209(0x1ba),_0x9f8209(0x1a5));},async 'dryRun'(_0x2376fd){const _0x36726c=a114_0x529f91,_0x253e95=loadSqlProjectConfig(_0x2376fd[_0x36726c(0x19c)]),{sqlName:_0x3a74c8,dbId:_0x5d0bf2,dbName:_0x51887d,mode:_0x484641}=await resolveSqlNewInputs(_0x2376fd),_0x10a045=buildSqlRelativePath(_0x36726c(0x190),_0x3a74c8,_0x51887d,_0x484641,_0x5d0bf2),_0x1568f2=_0x253e95[_0x36726c(0x187)]+'/'+_0x10a045;return{'method':_0x36726c(0x195),'url':_0x36726c(0x1a9),'body':{'appCode':_0x2376fd[_0x36726c(0x19c)],'sqlName':_0x3a74c8,'dbId':_0x5d0bf2,'mode':_0x484641,'localPath':_0x1568f2},'description':_0x36726c(0x1bb)+_0x253e95[_0x36726c(0x187)]};},async 'execute'(_0x9d9c1c){const _0x1fe4f4=a114_0x529f91,_0x30fc27=loadSqlProjectConfig(_0x9d9c1c[_0x1fe4f4(0x19c)]),{sqlName:_0x5c6ba6,dbId:_0x229814,dbName:_0x57a5b4,mode:_0x2c997c}=await resolveSqlNewInputs(_0x9d9c1c),_0x9727e3=generateSqlTemplate(_0x2c997c),_0x4662fd=await createSqlQuery({'appCode':_0x9d9c1c[_0x1fe4f4(0x19c)],'sqlName':_0x5c6ba6,'dbId':_0x229814,'sqlContent':_0x9727e3}),_0x1fff3a=ensureRemoteSqlContent(_0x4662fd),_0x2834c8=_0x57a5b4||await getDbName(_0x9d9c1c[_0x1fe4f4(0x19c)],_0x229814)[_0x1fe4f4(0x1b8)](()=>undefined),_0x13fbbd=buildSqlRelativePath(_0x4662fd[_0x1fe4f4(0x194)],_0x4662fd[_0x1fe4f4(0x1aa)],_0x2834c8,_0x2c997c,_0x229814),_0x3598fa=_0x30fc27['sqlRootDir']+'/'+_0x13fbbd,_0x2ab26a=buildLocalSqlFileContent({'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)]},_0x1fff3a,{'dbName':_0x2834c8,'mode':_0x2c997c,'syncedAt':new Date()[_0x1fe4f4(0x182)](),'description':_0x4662fd[_0x1fe4f4(0x19e)]});if(await fileExists(_0x3598fa))throw CliErrors[_0x1fe4f4(0x183)](_0x1fe4f4(0x1a1)+_0x3598fa);await ensureParentDirectory(_0x3598fa),await writeFile(_0x3598fa,_0x2ab26a,'utf8');const _0x267bf4=await readSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)]),{lockData:_0x4078c7,appLock:_0x33254e}=ensureSqlLockScope(_0x267bf4??createEmptySqlLock(),_0x30fc27[_0x1fe4f4(0x19c)],_0x30fc27[_0x1fe4f4(0x1a3)],_0x1fe4f4(0x1a6));return _0x33254e[_0x1fe4f4(0x17e)][_0x4662fd[_0x1fe4f4(0x194)]]={...buildSqlLockEntry(_0x4662fd,_0x1fff3a,computeSqlContentHash(_0x2ab26a),{'dbName':_0x2834c8}),'path':_0x13fbbd,'mode':_0x2c997c},_0x33254e[_0x1fe4f4(0x193)]=new Date()['toISOString'](),await writeSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)],_0x4078c7),{'ok':!![],'data':{'id':_0x4662fd['id'],'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)],'path':_0x3598fa,'mode':_0x2c997c},'message':_0x1fe4f4(0x17f)+_0x4662fd[_0x1fe4f4(0x194)]};}};async function resolveSqlNewInputs(_0x25c3dd){const _0x36ca4c=await resolveSqlNameInput(_0x25c3dd),{dbId:_0x502f27,dbName:_0x23bf2e}=await resolveDbSelection(_0x25c3dd),_0x2fdde6=await resolveSqlModeInput(_0x25c3dd);return{'sqlName':_0x36ca4c,'dbId':_0x502f27,'dbName':_0x23bf2e,'mode':_0x2fdde6};}async function resolveSqlNameInput(_0x1a0335){const _0x48a15a=a114_0x529f91,_0x1199ee=_0x1a0335[_0x48a15a(0x188)](_0x48a15a(0x199))[_0x48a15a(0x1b7)]();if(_0x1199ee)return _0x1199ee;if(_0x1a0335[_0x48a15a(0x1ac)])throw CliErrors['flagMissing'](_0x48a15a(0x199),_0x48a15a(0x19b));return(await input({'message':_0x48a15a(0x19f),'validate':_0x245f73=>_0x245f73['trim']()?!![]:'SQL\x20名称不能为空'}))['trim']();}async function resolveDbSelection(_0x4d9373){const _0x244548=a114_0x529f91,_0x289df1=resolveProvidedDbId(_0x4d9373);if(typeof _0x289df1===_0x244548(0x18d)&&Number['isFinite'](_0x289df1)&&_0x289df1>0x0)return{'dbId':_0x289df1,'dbName':await getDbName(_0x4d9373[_0x244548(0x19c)],_0x289df1)[_0x244548(0x1b8)](()=>undefined)};if(_0x4d9373[_0x244548(0x1ac)])throw CliErrors[_0x244548(0x1b9)](_0x244548(0x186),_0x244548(0x1a2));const _0x4e7984=await listDatabases(_0x4d9373[_0x244548(0x19c)])[_0x244548(0x1b8)](()=>[]);if(_0x4e7984[_0x244548(0x1b1)]===0x1)return{'dbId':_0x4e7984[0x0][_0x244548(0x18e)],'dbName':_0x4e7984[0x0]['dbName']};if(_0x4e7984['length']>0x1){const _0x1a6f23=await select({'message':_0x244548(0x197),'choices':[..._0x4e7984[_0x244548(0x1b4)](_0x6cf83b=>({'name':_0x6cf83b[_0x244548(0x184)]+'\x20('+_0x6cf83b['dbId']+')','value':serializeDbSelection(_0x6cf83b)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x1a6f23!=='__manual__')return deserializeDbSelection(_0x1a6f23);}const _0x1c1d03=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x3b2a59=>{const _0xe96d2f=_0x244548,_0x3ed3c5=_0x3b2a59[_0xe96d2f(0x1b7)]();if(!_0x3ed3c5)return _0xe96d2f(0x1a7);const _0x2e4ad0=Number(_0x3ed3c5);if(!Number[_0xe96d2f(0x18b)](_0x2e4ad0)||_0x2e4ad0<=0x0)return _0xe96d2f(0x18f);return!![];}});return{'dbId':Number(_0x1c1d03[_0x244548(0x1b7)]())};}async function resolveSqlModeInput(_0x4cc7a2){const _0x3c2280=a114_0x529f91,_0x1c2646=_0x4cc7a2[_0x3c2280(0x188)]('mode')[_0x3c2280(0x1b7)]();if(_0x1c2646===_0x3c2280(0x1a8)||_0x1c2646===_0x3c2280(0x1b2))return _0x1c2646;if(_0x4cc7a2['nonInteractive'])throw CliErrors['flagMissing'](_0x3c2280(0x1ba),_0x3c2280(0x1a5));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x3c2280(0x18c),'value':'sql','description':_0x3c2280(0x1bd)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x3c2280(0x1b2),'description':_0x3c2280(0x191)}]});}function serializeDbSelection(_0x319834){const _0x2bad84=a114_0x529f91;return JSON['stringify']({'dbId':_0x319834[_0x2bad84(0x18e)],'dbName':_0x319834['dbName']});}function deserializeDbSelection(_0x21059b){const _0x5cc958=a114_0x529f91;try{const _0x35c191=JSON[_0x5cc958(0x192)](_0x21059b);if(typeof _0x35c191['dbId']==='number'&&Number[_0x5cc958(0x1a4)](_0x35c191[_0x5cc958(0x18e)]))return{'dbId':_0x35c191[_0x5cc958(0x18e)],'dbName':_0x35c191[_0x5cc958(0x184)]};}catch{}throw CliErrors['validation']('Invalid\x20database\x20selection\x20payload:\x20'+_0x21059b);}function resolveProvidedDbId(_0x4b9619){const _0x55bc5b=a114_0x529f91,_0x266a3f=_0x4b9619['flag'](_0x55bc5b(0x186));if(typeof _0x266a3f===_0x55bc5b(0x18d)&&Number[_0x55bc5b(0x1a4)](_0x266a3f))return _0x266a3f;return undefined;}
1
+ const a114_0x53adff=a114_0x51a8;(function(_0x3d7574,_0x4d2b21){const _0x48b020=a114_0x51a8,_0xba76da=_0x3d7574();while(!![]){try{const _0x779122=-parseInt(_0x48b020(0x10c))/0x1+-parseInt(_0x48b020(0x11a))/0x2+-parseInt(_0x48b020(0x121))/0x3*(parseInt(_0x48b020(0x142))/0x4)+parseInt(_0x48b020(0x13f))/0x5+parseInt(_0x48b020(0x123))/0x6*(-parseInt(_0x48b020(0x106))/0x7)+parseInt(_0x48b020(0x144))/0x8*(-parseInt(_0x48b020(0x137))/0x9)+parseInt(_0x48b020(0x140))/0xa*(parseInt(_0x48b020(0x133))/0xb);if(_0x779122===_0x4d2b21)break;else _0xba76da['push'](_0xba76da['shift']());}catch(_0x70e84b){_0xba76da['push'](_0xba76da['shift']());}}}(a114_0x5070,0xab510));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';function a114_0x51a8(_0xbe0407,_0x1c461e){_0xbe0407=_0xbe0407-0x105;const _0x507014=a114_0x5070();let _0x51a8c8=_0x507014[_0xbe0407];return _0x51a8c8;}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(_0x41d484){const _0xe332e0=a114_0x51a8;if(_0x41d484===_0xe332e0(0x118))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0xe332e0(0x148),_0xe332e0(0x117),''][_0xe332e0(0x129)]('\x0a');return[_0xe332e0(0x130),''][_0xe332e0(0x129)]('\x0a');}export const sqlCreate={'service':a114_0x53adff(0x13e),'command':a114_0x53adff(0x122),'description':a114_0x53adff(0x11d),'risk':a114_0x53adff(0x13c),'flags':[{'name':'name','type':a114_0x53adff(0x112),'description':'SQL\x20query\x20display\x20name'},{'name':a114_0x53adff(0x11e),'type':a114_0x53adff(0x13d),'description':'Target\x20database\x20ID'},{'name':'mode','type':'string','enum':['sql',a114_0x53adff(0x118)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0xa36ab4){const _0x5abc8e=a114_0x53adff;if(!_0xa36ab4[_0x5abc8e(0x10e)])return;if(!_0xa36ab4[_0x5abc8e(0x12b)](_0x5abc8e(0x147))['trim']())throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x147),_0x5abc8e(0x12a));const _0x5b6ce7=resolveProvidedDbId(_0xa36ab4);if(typeof _0x5b6ce7!==_0x5abc8e(0x13d)||!Number[_0x5abc8e(0x109)](_0x5b6ce7)||_0x5b6ce7<=0x0)throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x11e),_0x5abc8e(0x134));if(!_0xa36ab4[_0x5abc8e(0x12b)](_0x5abc8e(0x13a))['trim']())throw CliErrors[_0x5abc8e(0x114)](_0x5abc8e(0x13a),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x15ae41){const _0x5b4dc4=a114_0x53adff,_0x14fc9a=loadSqlProjectConfig(_0x15ae41[_0x5b4dc4(0x125)]),{sqlName:_0x1dd754,dbId:_0x52ebaf,dbName:_0x1e1c18,mode:_0x5f0681}=await resolveSqlNewInputs(_0x15ae41),_0x90760d=buildSqlRelativePath(_0x5b4dc4(0x10d),_0x1dd754,_0x1e1c18,_0x5f0681,_0x52ebaf),_0x454221=_0x14fc9a[_0x5b4dc4(0x10f)]+'/'+_0x90760d;return{'method':_0x5b4dc4(0x146),'url':_0x5b4dc4(0x116),'body':{'appCode':_0x15ae41[_0x5b4dc4(0x125)],'sqlName':_0x1dd754,'dbId':_0x52ebaf,'mode':_0x5f0681,'localPath':_0x454221},'description':_0x5b4dc4(0x107)+_0x14fc9a['sqlRootDir']};},async 'execute'(_0x18ef6e){const _0x5f5b83=a114_0x53adff,_0x43d522=loadSqlProjectConfig(_0x18ef6e[_0x5f5b83(0x125)]),{sqlName:_0x3a0a65,dbId:_0x69e80c,dbName:_0x32ec05,mode:_0x33935a}=await resolveSqlNewInputs(_0x18ef6e),_0x2a8d54=generateSqlTemplate(_0x33935a),_0x5b2a0e=await createSqlQuery({'appCode':_0x18ef6e['appCode'],'sqlName':_0x3a0a65,'dbId':_0x69e80c,'sqlContent':_0x2a8d54}),_0x5b47a6=ensureRemoteSqlContent(_0x5b2a0e),_0x520963=_0x32ec05||await getDbName(_0x18ef6e[_0x5f5b83(0x125)],_0x69e80c)[_0x5f5b83(0x124)](()=>undefined),_0x1e0ea5=buildSqlRelativePath(_0x5b2a0e[_0x5f5b83(0x143)],_0x5b2a0e[_0x5f5b83(0x128)],_0x520963,_0x33935a,_0x69e80c),_0x178793=_0x43d522['sqlRootDir']+'/'+_0x1e0ea5,_0x284912=buildLocalSqlFileContent({'sqlCode':_0x5b2a0e['sqlCode'],'sqlName':_0x5b2a0e[_0x5f5b83(0x128)],'dbId':_0x5b2a0e[_0x5f5b83(0x126)]},_0x5b47a6,{'dbName':_0x520963,'mode':_0x33935a,'syncedAt':new Date()[_0x5f5b83(0x111)](),'description':_0x5b2a0e[_0x5f5b83(0x113)]});if(await fileExists(_0x178793))throw CliErrors[_0x5f5b83(0x136)](_0x5f5b83(0x115)+_0x178793);await ensureParentDirectory(_0x178793),await writeFile(_0x178793,_0x284912,_0x5f5b83(0x138));const _0x152985=await readSqlLockFile(_0x43d522[_0x5f5b83(0x145)]),{lockData:_0x387ea1,appLock:_0x5768d6}=ensureSqlLockScope(_0x152985??createEmptySqlLock(),_0x43d522[_0x5f5b83(0x125)],_0x43d522['sqlRoot'],_0x5f5b83(0x149));return _0x5768d6['sqls'][_0x5b2a0e[_0x5f5b83(0x143)]]={...buildSqlLockEntry(_0x5b2a0e,_0x5b47a6,computeSqlContentHash(_0x284912),{'dbName':_0x520963}),'path':_0x1e0ea5,'mode':_0x33935a},_0x5768d6[_0x5f5b83(0x12c)]=new Date()[_0x5f5b83(0x111)](),await writeSqlLockFile(_0x43d522[_0x5f5b83(0x145)],_0x387ea1),{'ok':!![],'data':{'id':_0x5b2a0e['id'],'sqlCode':_0x5b2a0e[_0x5f5b83(0x143)],'sqlName':_0x5b2a0e[_0x5f5b83(0x128)],'dbId':_0x5b2a0e[_0x5f5b83(0x126)],'path':_0x178793,'mode':_0x33935a},'message':_0x5f5b83(0x10b)+_0x5b2a0e['sqlCode']};}};async function resolveSqlNewInputs(_0x521700){const _0x2fb052=await resolveSqlNameInput(_0x521700),{dbId:_0x127088,dbName:_0x508f68}=await resolveDbSelection(_0x521700),_0x2cad5b=await resolveSqlModeInput(_0x521700);return{'sqlName':_0x2fb052,'dbId':_0x127088,'dbName':_0x508f68,'mode':_0x2cad5b};}async function resolveSqlNameInput(_0x38187e){const _0xbd708d=a114_0x53adff,_0x4b7a45=_0x38187e[_0xbd708d(0x12b)](_0xbd708d(0x147))[_0xbd708d(0x10a)]();if(_0x4b7a45)return _0x4b7a45;if(_0x38187e[_0xbd708d(0x10e)])throw CliErrors[_0xbd708d(0x114)](_0xbd708d(0x147),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x349666=>_0x349666[_0xbd708d(0x10a)]()?!![]:_0xbd708d(0x12d)}))[_0xbd708d(0x10a)]();}async function resolveDbSelection(_0xef990e){const _0x60c1a1=a114_0x53adff,_0x467ff8=resolveProvidedDbId(_0xef990e);if(typeof _0x467ff8==='number'&&Number['isFinite'](_0x467ff8)&&_0x467ff8>0x0)return{'dbId':_0x467ff8,'dbName':await getDbName(_0xef990e[_0x60c1a1(0x125)],_0x467ff8)['catch'](()=>undefined)};if(_0xef990e[_0x60c1a1(0x10e)])throw CliErrors[_0x60c1a1(0x114)](_0x60c1a1(0x11e),_0x60c1a1(0x134));const _0x108e29=await listDatabases(_0xef990e['appCode'])['catch'](()=>[]);if(_0x108e29[_0x60c1a1(0x13b)]===0x1)return{'dbId':_0x108e29[0x0][_0x60c1a1(0x126)],'dbName':_0x108e29[0x0][_0x60c1a1(0x139)]};if(_0x108e29['length']>0x1){const _0x370f0c=await select({'message':_0x60c1a1(0x132),'choices':[..._0x108e29[_0x60c1a1(0x120)](_0x45578d=>({'name':_0x45578d[_0x60c1a1(0x139)]+'\x20('+_0x45578d[_0x60c1a1(0x126)]+')','value':serializeDbSelection(_0x45578d)})),{'name':_0x60c1a1(0x131),'value':_0x60c1a1(0x141)}]});if(_0x370f0c!==_0x60c1a1(0x141))return deserializeDbSelection(_0x370f0c);}const _0x192d77=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x12d144=>{const _0x344ded=_0x60c1a1,_0x46ed78=_0x12d144[_0x344ded(0x10a)]();if(!_0x46ed78)return'dbId\x20不能为空';const _0x12ba08=Number(_0x46ed78);if(!Number[_0x344ded(0x105)](_0x12ba08)||_0x12ba08<=0x0)return _0x344ded(0x12f);return!![];}});return{'dbId':Number(_0x192d77[_0x60c1a1(0x10a)]())};}async function resolveSqlModeInput(_0x2887c5){const _0x36863a=a114_0x53adff,_0x1f8595=_0x2887c5[_0x36863a(0x12b)](_0x36863a(0x13a))[_0x36863a(0x10a)]();if(_0x1f8595===_0x36863a(0x13e)||_0x1f8595===_0x36863a(0x118))return _0x1f8595;if(_0x2887c5[_0x36863a(0x10e)])throw CliErrors['flagMissing'](_0x36863a(0x13a),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x36863a(0x108),'choices':[{'name':_0x36863a(0x110),'value':_0x36863a(0x13e),'description':_0x36863a(0x127)},{'name':_0x36863a(0x12e),'value':_0x36863a(0x118),'description':_0x36863a(0x11c)}]});}function serializeDbSelection(_0x356374){const _0x54ca8=a114_0x53adff;return JSON[_0x54ca8(0x119)]({'dbId':_0x356374[_0x54ca8(0x126)],'dbName':_0x356374[_0x54ca8(0x139)]});}function a114_0x5070(){const _0x288b62=['sqlCode','448xjhfsi','lockFilePath','POST','name','\x20\x20SELECT\x201\x20AS\x20id','new','isInteger','3227SziChj','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请选择本地\x20SQL\x20模式:','isFinite','trim','Created\x20SQL\x20query\x20','433873XjTrrb','<server-generated-sqlCode>','nonInteractive','sqlRootDir','普通\x20SQL(sql)','toISOString','string','description','flagMissing','File\x20already\x20exists:\x20','/smartapi/custom/saveUserCustomSql','</select>','mybatisXml','stringify','857006wZUfEQ','flag','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','parse','map','156zhXDvf','create','10452OuavIm','catch','appCode','dbId','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqlName','join','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','str','lastSync','SQL\x20名称不能为空','MyBatis\x20XML(mybatisXml)','dbId\x20必须为正整数','SELECT\x201\x20AS\x20id;','✎\x20手动输入\x20dbId','请选择目标数据库:','11EIyPvL','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Invalid\x20database\x20selection\x20payload:\x20','validation','1215UmWZMj','utf8','dbName','mode','length','high-risk-write','number','sql','2349595HxtbzB','23475710sVEJGT','__manual__','34060bpkCLy'];a114_0x5070=function(){return _0x288b62;};return a114_0x5070();}function deserializeDbSelection(_0x4754b7){const _0x379193=a114_0x53adff;try{const _0x258977=JSON[_0x379193(0x11f)](_0x4754b7);if(typeof _0x258977[_0x379193(0x126)]===_0x379193(0x13d)&&Number[_0x379193(0x109)](_0x258977['dbId']))return{'dbId':_0x258977[_0x379193(0x126)],'dbName':_0x258977[_0x379193(0x139)]};}catch{}throw CliErrors[_0x379193(0x136)](_0x379193(0x135)+_0x4754b7);}function resolveProvidedDbId(_0x2d6b74){const _0x5912c9=a114_0x53adff,_0x6f332f=_0x2d6b74[_0x5912c9(0x11b)](_0x5912c9(0x11e));if(typeof _0x6f332f===_0x5912c9(0x13d)&&Number[_0x5912c9(0x109)](_0x6f332f))return _0x6f332f;return undefined;}
@@ -1 +1 @@
1
- const a115_0x3f8b77=a115_0x376d;(function(_0x4bb418,_0xfcfac6){const _0x1ed501=a115_0x376d,_0x510c59=_0x4bb418();while(!![]){try{const _0xa70eea=-parseInt(_0x1ed501(0xa3))/0x1+parseInt(_0x1ed501(0xa5))/0x2*(parseInt(_0x1ed501(0x9f))/0x3)+-parseInt(_0x1ed501(0xa4))/0x4+parseInt(_0x1ed501(0x95))/0x5*(parseInt(_0x1ed501(0x97))/0x6)+parseInt(_0x1ed501(0xad))/0x7*(parseInt(_0x1ed501(0x98))/0x8)+parseInt(_0x1ed501(0x93))/0x9*(-parseInt(_0x1ed501(0x92))/0xa)+parseInt(_0x1ed501(0x90))/0xb*(-parseInt(_0x1ed501(0xa8))/0xc);if(_0xa70eea===_0xfcfac6)break;else _0x510c59['push'](_0x510c59['shift']());}catch(_0x1c15e0){_0x510c59['push'](_0x510c59['shift']());}}}(a115_0x472c,0xa10f7));function a115_0x472c(){const _0x40a5dc=['remoteId','346038fcVeKm','/smartapi/custom/deleteUserCustomSql','10lggXjo','8324847zyerCp','validation','695miVBRs','POST','30738irGvgr','286360CACuxu','entries','fromEntries','filter','trashDir','length','replace','17817Uijech','sqlRootDir','sqlRoot','str','1018053PvcCio','70280LkqXnW','346svQWMQ','Deleted\x20','delete','60oSXUFB','appCode','lockFilePath','projectRoot','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','203JDecMA','high-risk-write','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','SQL\x20lock\x20file\x20not\x20found.','toISOString','sqls','Would\x20delete\x20SQL\x20','\x20(local\x20file\x20moved\x20to\x20trash)'];a115_0x472c=function(){return _0x40a5dc;};return a115_0x472c();}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':'sql','command':a115_0x3f8b77(0xa7),'description':a115_0x3f8b77(0xac),'risk':a115_0x3f8b77(0x87),'flags':[SQLCODE_FLAG],async 'validate'(_0x2e7e37){const _0x3a48f5=a115_0x3f8b77,_0x3566e0=loadSqlProjectConfig(_0x2e7e37[_0x3a48f5(0xa9)]),_0x257369=await readSqlLockFile(_0x3566e0[_0x3a48f5(0xaa)]);if(!_0x257369)throw CliErrors[_0x3a48f5(0x94)](_0x3a48f5(0x88));},async 'dryRun'(_0x5d2bc1){const _0x3ee9d6=a115_0x3f8b77,_0x498981=loadSqlProjectConfig(_0x5d2bc1[_0x3ee9d6(0xa9)]),_0x1fb343=await readSqlLockFile(_0x498981['lockFilePath']);if(!_0x1fb343)throw CliErrors[_0x3ee9d6(0x94)](_0x3ee9d6(0x88));const {appLock:_0x2b766c}=ensureSqlLockScope(_0x1fb343,_0x5d2bc1[_0x3ee9d6(0xa9)],_0x498981[_0x3ee9d6(0xa1)],_0x3ee9d6(0xa7)),_0xae53d9=_0x5d2bc1[_0x3ee9d6(0xa2)]('sqlcode'),_0x400842=_0x2b766c[_0x3ee9d6(0x8c)][_0xae53d9];if(!_0x400842)throw CliErrors[_0x3ee9d6(0x94)](_0x3ee9d6(0x89)+_0xae53d9+'\x22.');return{'method':_0x3ee9d6(0x96),'url':_0x3ee9d6(0x91),'body':{'sqlCode':_0xae53d9,'id':_0x400842[_0x3ee9d6(0x8f)],'localPath':resolveLocalSqlFilePath(_0x498981,_0xae53d9,_0x400842)},'description':_0x3ee9d6(0x8d)+_0xae53d9+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x498981['trashDir']};},async 'execute'(_0x3203f0){const _0x583e83=a115_0x3f8b77,_0x1d0ab5=loadSqlProjectConfig(_0x3203f0[_0x583e83(0xa9)]),_0x4ac2fe=await readSqlLockFile(_0x1d0ab5[_0x583e83(0xaa)]);if(!_0x4ac2fe)throw CliErrors['validation'](_0x583e83(0x8a));const {lockData:_0x32e36d,appLock:_0xc0f3b9}=ensureSqlLockScope(_0x4ac2fe,_0x3203f0[_0x583e83(0xa9)],_0x1d0ab5[_0x583e83(0xa1)],_0x583e83(0xa7)),_0xb7098a=_0x3203f0[_0x583e83(0xa2)]('sqlcode'),_0x4795ac=_0xc0f3b9[_0x583e83(0x8c)][_0xb7098a];if(!_0x4795ac)throw CliErrors[_0x583e83(0x94)](_0x583e83(0x89)+_0xb7098a+'\x22.');await deleteSqlQuery({'id':_0x4795ac[_0x583e83(0x8f)],'sqlCode':_0xb7098a}),_0xc0f3b9[_0x583e83(0x8c)]=Object[_0x583e83(0x9a)](Object[_0x583e83(0x99)](_0xc0f3b9['sqls'])[_0x583e83(0x9b)](([_0x4c372e])=>_0x4c372e!==_0xb7098a)),_0xc0f3b9['lastSync']=new Date()[_0x583e83(0x8b)](),await writeSqlLockFile(_0x1d0ab5['lockFilePath'],_0x32e36d);const _0x3ccfd2=resolveLocalSqlFilePath(_0x1d0ab5,_0xb7098a,_0x4795ac);let _0x3c3059;await fileExists(_0x3ccfd2)&&(_0x3c3059=await moveToTrash(_0x1d0ab5[_0x583e83(0xab)],_0x1d0ab5[_0x583e83(0x9c)],_0x3ccfd2),await cleanupEmptyDirectories(dirname(_0x3ccfd2),_0x1d0ab5[_0x583e83(0xa0)]));const _0x2a4bab={'deleted':_0xb7098a,'remoteId':_0x4795ac[_0x583e83(0x8f)]};if(_0x3c3059)_0x2a4bab['trashedTo']=_0x3c3059;return{'ok':!![],'data':_0x2a4bab,'message':_0x583e83(0xa6)+_0xb7098a+(_0x3c3059?_0x583e83(0x8e):'')};}};async function moveToTrash(_0x29f569,_0x38d418,_0x44c1ef){const _0xbd18da=a115_0x3f8b77,_0x6c9c2f=new Date()[_0xbd18da(0x8b)]()[_0xbd18da(0x9e)](/[:.]/g,'-'),_0x3c5383=relative(_0x29f569,_0x44c1ef),_0x275f65=join(_0x38d418,_0x6c9c2f,_0x3c5383);return await mkdir(dirname(_0x275f65),{'recursive':!![]}),await rename(_0x44c1ef,_0x275f65),_0x275f65;}function a115_0x376d(_0x3d228f,_0x398a47){_0x3d228f=_0x3d228f-0x87;const _0x472c04=a115_0x472c();let _0x376df2=_0x472c04[_0x3d228f];return _0x376df2;}async function cleanupEmptyDirectories(_0x5a9b21,_0x7c5206){const _0x25e71e=a115_0x3f8b77;let _0x334357=resolve(_0x5a9b21);const _0x5127db=resolve(_0x7c5206);while(_0x334357['startsWith'](''+_0x5127db+sep)||_0x334357===_0x5127db){if(_0x334357===_0x5127db)return;try{const _0x6e2702=await readdir(_0x334357);if(_0x6e2702[_0x25e71e(0x9d)]>0x0)return;await rmdir(_0x334357);}catch{return;}_0x334357=dirname(_0x334357);}}
1
+ const a115_0x42a62e=a115_0x37a8;(function(_0x30089a,_0x5f1188){const _0x3b1abb=a115_0x37a8,_0x47d64c=_0x30089a();while(!![]){try{const _0x450873=parseInt(_0x3b1abb(0x17a))/0x1+parseInt(_0x3b1abb(0x174))/0x2+parseInt(_0x3b1abb(0x16d))/0x3+parseInt(_0x3b1abb(0x173))/0x4+-parseInt(_0x3b1abb(0x166))/0x5+-parseInt(_0x3b1abb(0x169))/0x6+-parseInt(_0x3b1abb(0x165))/0x7*(parseInt(_0x3b1abb(0x183))/0x8);if(_0x450873===_0x5f1188)break;else _0x47d64c['push'](_0x47d64c['shift']());}catch(_0x3e2ce6){_0x47d64c['push'](_0x47d64c['shift']());}}}(a115_0xdd5d,0x5dc00));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a115_0x37a8(_0x5a6d3b,_0x49cf64){_0x5a6d3b=_0x5a6d3b-0x163;const _0xdd5d8e=a115_0xdd5d();let _0x37a845=_0xdd5d8e[_0x5a6d3b];return _0x37a845;}function a115_0xdd5d(){const _0x1d0295=['Deleted\x20','toISOString','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','424icXHQN','Would\x20delete\x20SQL\x20','sqls','SQL\x20lock\x20file\x20not\x20found.','35749vtCFuv','678005MIGsZa','sqlcode','sqlRoot','3745764SEgTvj','fromEntries','entries','filter','476376vRoMXS','length','str','appCode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','/smartapi/custom/deleteUserCustomSql','1591088SORyQj','541242jLkiCs','remoteId','delete','lockFilePath','trashedTo','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','587381PSpdSM','\x20(local\x20file\x20moved\x20to\x20trash)','validation','lastSync','trashDir','startsWith'];a115_0xdd5d=function(){return _0x1d0295;};return a115_0xdd5d();}export const sqlDelete={'service':'sql','command':a115_0x42a62e(0x176),'description':a115_0x42a62e(0x179),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x5ce1be){const _0xa2e143=a115_0x42a62e,_0x11380f=loadSqlProjectConfig(_0x5ce1be[_0xa2e143(0x170)]),_0x1bf609=await readSqlLockFile(_0x11380f[_0xa2e143(0x177)]);if(!_0x1bf609)throw CliErrors[_0xa2e143(0x17c)](_0xa2e143(0x171));},async 'dryRun'(_0x463b07){const _0x2139d5=a115_0x42a62e,_0x56084b=loadSqlProjectConfig(_0x463b07[_0x2139d5(0x170)]),_0x278cbc=await readSqlLockFile(_0x56084b[_0x2139d5(0x177)]);if(!_0x278cbc)throw CliErrors[_0x2139d5(0x17c)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x1cd8f1}=ensureSqlLockScope(_0x278cbc,_0x463b07[_0x2139d5(0x170)],_0x56084b[_0x2139d5(0x168)],_0x2139d5(0x176)),_0x2a1dbf=_0x463b07[_0x2139d5(0x16f)](_0x2139d5(0x167)),_0x219e7d=_0x1cd8f1[_0x2139d5(0x163)][_0x2a1dbf];if(!_0x219e7d)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2a1dbf+'\x22.');return{'method':'POST','url':_0x2139d5(0x172),'body':{'sqlCode':_0x2a1dbf,'id':_0x219e7d[_0x2139d5(0x175)],'localPath':resolveLocalSqlFilePath(_0x56084b,_0x2a1dbf,_0x219e7d)},'description':_0x2139d5(0x184)+_0x2a1dbf+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x56084b[_0x2139d5(0x17e)]};},async 'execute'(_0x2810b7){const _0x4a3ddb=a115_0x42a62e,_0x5ba142=loadSqlProjectConfig(_0x2810b7[_0x4a3ddb(0x170)]),_0x3d41e1=await readSqlLockFile(_0x5ba142[_0x4a3ddb(0x177)]);if(!_0x3d41e1)throw CliErrors[_0x4a3ddb(0x17c)](_0x4a3ddb(0x164));const {lockData:_0x1efc01,appLock:_0x23e146}=ensureSqlLockScope(_0x3d41e1,_0x2810b7['appCode'],_0x5ba142[_0x4a3ddb(0x168)],_0x4a3ddb(0x176)),_0x9c6f6f=_0x2810b7[_0x4a3ddb(0x16f)](_0x4a3ddb(0x167)),_0x5397f7=_0x23e146[_0x4a3ddb(0x163)][_0x9c6f6f];if(!_0x5397f7)throw CliErrors['validation'](_0x4a3ddb(0x182)+_0x9c6f6f+'\x22.');await deleteSqlQuery({'id':_0x5397f7[_0x4a3ddb(0x175)],'sqlCode':_0x9c6f6f}),_0x23e146['sqls']=Object[_0x4a3ddb(0x16a)](Object[_0x4a3ddb(0x16b)](_0x23e146[_0x4a3ddb(0x163)])[_0x4a3ddb(0x16c)](([_0x2511ec])=>_0x2511ec!==_0x9c6f6f)),_0x23e146[_0x4a3ddb(0x17d)]=new Date()['toISOString'](),await writeSqlLockFile(_0x5ba142[_0x4a3ddb(0x177)],_0x1efc01);const _0x1a7c28=resolveLocalSqlFilePath(_0x5ba142,_0x9c6f6f,_0x5397f7);let _0x226fe8;await fileExists(_0x1a7c28)&&(_0x226fe8=await moveToTrash(_0x5ba142['projectRoot'],_0x5ba142['trashDir'],_0x1a7c28),await cleanupEmptyDirectories(dirname(_0x1a7c28),_0x5ba142['sqlRootDir']));const _0x2fa6cc={'deleted':_0x9c6f6f,'remoteId':_0x5397f7[_0x4a3ddb(0x175)]};if(_0x226fe8)_0x2fa6cc[_0x4a3ddb(0x178)]=_0x226fe8;return{'ok':!![],'data':_0x2fa6cc,'message':_0x4a3ddb(0x180)+_0x9c6f6f+(_0x226fe8?_0x4a3ddb(0x17b):'')};}};async function moveToTrash(_0x58f0f,_0xeaabd7,_0x230c83){const _0x279eca=a115_0x42a62e,_0x395177=new Date()[_0x279eca(0x181)]()['replace'](/[:.]/g,'-'),_0x3416c5=relative(_0x58f0f,_0x230c83),_0x566141=join(_0xeaabd7,_0x395177,_0x3416c5);return await mkdir(dirname(_0x566141),{'recursive':!![]}),await rename(_0x230c83,_0x566141),_0x566141;}async function cleanupEmptyDirectories(_0x5e0bf7,_0x198f65){const _0x1db6bd=a115_0x42a62e;let _0x3cd24f=resolve(_0x5e0bf7);const _0x5f6f23=resolve(_0x198f65);while(_0x3cd24f[_0x1db6bd(0x17f)](''+_0x5f6f23+sep)||_0x3cd24f===_0x5f6f23){if(_0x3cd24f===_0x5f6f23)return;try{const _0x107c73=await readdir(_0x3cd24f);if(_0x107c73[_0x1db6bd(0x16e)]>0x0)return;await rmdir(_0x3cd24f);}catch{return;}_0x3cd24f=dirname(_0x3cd24f);}}
@@ -1 +1 @@
1
- const a116_0x273e09=a116_0x108b;(function(_0x27c205,_0x251b9b){const _0x2c79fb=a116_0x108b,_0x5904da=_0x27c205();while(!![]){try{const _0x480fbb=-parseInt(_0x2c79fb(0x1d2))/0x1*(-parseInt(_0x2c79fb(0x1c5))/0x2)+-parseInt(_0x2c79fb(0x1d3))/0x3*(parseInt(_0x2c79fb(0x1c2))/0x4)+-parseInt(_0x2c79fb(0x1c7))/0x5+parseInt(_0x2c79fb(0x1ce))/0x6*(-parseInt(_0x2c79fb(0x1ca))/0x7)+-parseInt(_0x2c79fb(0x1c9))/0x8*(-parseInt(_0x2c79fb(0x1c4))/0x9)+-parseInt(_0x2c79fb(0x1c6))/0xa+parseInt(_0x2c79fb(0x1cb))/0xb*(parseInt(_0x2c79fb(0x1c3))/0xc);if(_0x480fbb===_0x251b9b)break;else _0x5904da['push'](_0x5904da['shift']());}catch(_0x1c0367){_0x5904da['push'](_0x5904da['shift']());}}}(a116_0x457b,0x786ec));import{getSqlQueryInfo}from'../../core/api-client.js';function a116_0x457b(){const _0x43f712=['sqlName','1711578NpJQmW','read','str','sqlContent','503450jMqcGT','60CwGzxn','appCode','bool','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','Return\x20full\x20raw\x20SQL\x20query\x20object','detail','description','sqlcode','111256GDIAUK','20553492kHXzCd','423IKnNrZ','2PSzxcD','4269850CUgblI','1087035Kosbut','dbId','56768LDgfir','21SzaclB','11OVroEK','sql'];a116_0x457b=function(){return _0x43f712;};return a116_0x457b();}import{getDbName}from'../../core/db-resolver.js';function a116_0x108b(_0x4b035b,_0x456fd2){_0x4b035b=_0x4b035b-0x1c1;const _0x457b6f=a116_0x457b();let _0x108b88=_0x457b6f[_0x4b035b];return _0x108b88;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x273e09(0x1cc),'command':a116_0x273e09(0x1d8),'description':a116_0x273e09(0x1d6),'risk':a116_0x273e09(0x1cf),'flags':[SQLCODE_FLAG,{'name':'verbose','type':'boolean','description':a116_0x273e09(0x1d7)}],async 'execute'(_0x50d32f){const _0xfc9bb7=a116_0x273e09,_0x25a0f7=await getSqlQueryInfo(_0x50d32f[_0xfc9bb7(0x1d4)],_0x50d32f[_0xfc9bb7(0x1d0)](_0xfc9bb7(0x1c1))),_0x555fe5=_0x50d32f[_0xfc9bb7(0x1d5)]('verbose');if(_0x555fe5)return{'ok':!![],'data':_0x25a0f7};const _0x3d4402=_0x25a0f7[_0xfc9bb7(0x1c8)]?await getDbName(_0x50d32f[_0xfc9bb7(0x1d4)],_0x25a0f7[_0xfc9bb7(0x1c8)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x25a0f7['sqlCode'],'sqlName':_0x25a0f7[_0xfc9bb7(0x1cd)],'db':_0x3d4402?_0x3d4402+'\x20('+_0x25a0f7[_0xfc9bb7(0x1c8)]+')':_0x25a0f7['dbId']??'','description':_0x25a0f7[_0xfc9bb7(0x1d9)]??'','sqlContent':_0x25a0f7[_0xfc9bb7(0x1d1)]??''}};}};
1
+ const a116_0x3e8623=a116_0x460c;(function(_0x1b5650,_0x56c3af){const _0x4a5596=a116_0x460c,_0x491af8=_0x1b5650();while(!![]){try{const _0x12cd5a=-parseInt(_0x4a5596(0x1d8))/0x1+-parseInt(_0x4a5596(0x1d9))/0x2+parseInt(_0x4a5596(0x1cf))/0x3*(parseInt(_0x4a5596(0x1d2))/0x4)+-parseInt(_0x4a5596(0x1d7))/0x5*(parseInt(_0x4a5596(0x1d4))/0x6)+parseInt(_0x4a5596(0x1da))/0x7*(-parseInt(_0x4a5596(0x1d5))/0x8)+-parseInt(_0x4a5596(0x1d1))/0x9+parseInt(_0x4a5596(0x1dc))/0xa;if(_0x12cd5a===_0x56c3af)break;else _0x491af8['push'](_0x491af8['shift']());}catch(_0x26e63f){_0x491af8['push'](_0x491af8['shift']());}}}(a116_0x53eb,0x3913a));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a116_0x53eb(){const _0x95cf3a=['sqlCode','verbose','appCode','description','detail','1138281fcIZrB','str','1437471OhunkM','4TcCQXV','bool','6UcVapa','857512vQhHYg','dbId','1524620HtRpWI','444953NVVrbF','680260aQUXpF','14TZEdmk','sql','13184630vKaJRo','boolean'];a116_0x53eb=function(){return _0x95cf3a;};return a116_0x53eb();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a116_0x460c(_0x38d27d,_0x367436){_0x38d27d=_0x38d27d-0x1cf;const _0x53eb1d=a116_0x53eb();let _0x460c43=_0x53eb1d[_0x38d27d];return _0x460c43;}export const sqlDetail={'service':a116_0x3e8623(0x1db),'command':a116_0x3e8623(0x1e2),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a116_0x3e8623(0x1df),'type':a116_0x3e8623(0x1dd),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x35a2c8){const _0x2565b0=a116_0x3e8623,_0x3d748a=await getSqlQueryInfo(_0x35a2c8[_0x2565b0(0x1e0)],_0x35a2c8[_0x2565b0(0x1d0)]('sqlcode')),_0x34c86c=_0x35a2c8[_0x2565b0(0x1d3)](_0x2565b0(0x1df));if(_0x34c86c)return{'ok':!![],'data':_0x3d748a};const _0x130e0d=_0x3d748a[_0x2565b0(0x1d6)]?await getDbName(_0x35a2c8[_0x2565b0(0x1e0)],_0x3d748a[_0x2565b0(0x1d6)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3d748a[_0x2565b0(0x1de)],'sqlName':_0x3d748a['sqlName'],'db':_0x130e0d?_0x130e0d+'\x20('+_0x3d748a['dbId']+')':_0x3d748a['dbId']??'','description':_0x3d748a[_0x2565b0(0x1e1)]??'','sqlContent':_0x3d748a['sqlContent']??''}};}};
@@ -1 +1 @@
1
- function a117_0xb261(_0x17bc05,_0x367692){_0x17bc05=_0x17bc05-0x119;const _0x5f15e3=a117_0x5f15();let _0xb26192=_0x5f15e3[_0x17bc05];return _0xb26192;}const a117_0x41029b=a117_0xb261;(function(_0x1434e9,_0x5dd956){const _0x4f3bad=a117_0xb261,_0x52e001=_0x1434e9();while(!![]){try{const _0x3995f8=-parseInt(_0x4f3bad(0x125))/0x1+parseInt(_0x4f3bad(0x119))/0x2*(-parseInt(_0x4f3bad(0x129))/0x3)+-parseInt(_0x4f3bad(0x12d))/0x4+parseInt(_0x4f3bad(0x11c))/0x5+parseInt(_0x4f3bad(0x11d))/0x6+-parseInt(_0x4f3bad(0x122))/0x7+parseInt(_0x4f3bad(0x120))/0x8*(parseInt(_0x4f3bad(0x12c))/0x9);if(_0x3995f8===_0x5dd956)break;else _0x52e001['push'](_0x52e001['shift']());}catch(_0x4d5828){_0x52e001['push'](_0x52e001['shift']());}}}(a117_0x5f15,0xb531a));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a117_0x5f15(){const _0x1254fa=['78443BIvriT','appCode','SQL\x20execution\x20failed','string','3TPOBPC','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','\x20row(s)\x20in\x20','292401lZfrPG','5677316BqeJUv','sql','exec','now','params','execSuccess','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','68986weKobt','str','execError','5741185GyIwpA','4267272vlQpcV','length','execResult','264auTOwa','read','4600057HbDflo','sqlcode','isArray'];a117_0x5f15=function(){return _0x1254fa;};return a117_0x5f15();}export const sqlExec={'service':a117_0x41029b(0x12e),'command':a117_0x41029b(0x12f),'description':a117_0x41029b(0x12a),'risk':a117_0x41029b(0x121),'flags':[SQLCODE_FLAG,{'name':a117_0x41029b(0x131),'type':a117_0x41029b(0x128),'description':a117_0x41029b(0x133)}],async 'execute'(_0xbbb0c0){const _0x4b55f2=a117_0x41029b,_0x4d6c23=parseJsonParams(_0xbbb0c0[_0x4b55f2(0x11a)](_0x4b55f2(0x131))),_0x4d3a7c=Date[_0x4b55f2(0x130)](),_0x534105=await executeSql(_0xbbb0c0[_0x4b55f2(0x126)],_0xbbb0c0[_0x4b55f2(0x11a)](_0x4b55f2(0x123)),_0x4d6c23),_0x2b5f84=Date[_0x4b55f2(0x130)]()-_0x4d3a7c,_0x33dcbc=_0x534105?.[_0x4b55f2(0x11f)]??_0x534105,_0x4c1646=_0x534105?.[_0x4b55f2(0x132)]??!![];if(!_0x4c1646)return{'ok':![],'data':{'error':_0x534105?.[_0x4b55f2(0x11b)]||'SQL\x20execution\x20failed','elapsed':_0x2b5f84},'message':_0x4b55f2(0x127)};const _0x5c50e5=Array[_0x4b55f2(0x124)](_0x33dcbc)?_0x33dcbc:[];return{'ok':!![],'data':{'rows':_0x5c50e5,'rowCount':_0x5c50e5[_0x4b55f2(0x11e)],'elapsed':_0x2b5f84},'message':'Returned\x20'+_0x5c50e5[_0x4b55f2(0x11e)]+_0x4b55f2(0x12b)+_0x2b5f84+'ms'};}};
1
+ const a117_0x208b90=a117_0xffce;(function(_0x16eaef,_0x4ff566){const _0x3892b1=a117_0xffce,_0x56214c=_0x16eaef();while(!![]){try{const _0x15ade5=-parseInt(_0x3892b1(0xb8))/0x1+-parseInt(_0x3892b1(0xc8))/0x2+parseInt(_0x3892b1(0xb9))/0x3*(parseInt(_0x3892b1(0xcd))/0x4)+-parseInt(_0x3892b1(0xc0))/0x5+parseInt(_0x3892b1(0xbe))/0x6*(parseInt(_0x3892b1(0xcc))/0x7)+parseInt(_0x3892b1(0xc4))/0x8*(parseInt(_0x3892b1(0xc3))/0x9)+-parseInt(_0x3892b1(0xb5))/0xa*(-parseInt(_0x3892b1(0xc7))/0xb);if(_0x15ade5===_0x4ff566)break;else _0x56214c['push'](_0x56214c['shift']());}catch(_0x4b0be5){_0x56214c['push'](_0x56214c['shift']());}}}(a117_0x37dd,0x6b827));function a117_0xffce(_0x5bb875,_0x1a4073){_0x5bb875=_0x5bb875-0xb5;const _0x37dd2e=a117_0x37dd();let _0xffceb1=_0x37dd2e[_0x5bb875];return _0xffceb1;}import{executeSql}from'../../core/api-client.js';function a117_0x37dd(){const _0x42f5cd=['sqlcode','sql','params','91uubyfq','8940OsOIMr','47870tFlBrc','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','SQL\x20execution\x20failed','258004EvfYRv','222hutzJK','now','length','string','Returned\x20','308874FaeRpl','exec','255515abGhwY','execResult','appCode','81ELPyDl','410776KkLYyB','\x20row(s)\x20in\x20','str','66QtMjMZ','1151992kyeVJh'];a117_0x37dd=function(){return _0x42f5cd;};return a117_0x37dd();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a117_0x208b90(0xca),'command':a117_0x208b90(0xbf),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a117_0x208b90(0xcb),'type':a117_0x208b90(0xbc),'description':a117_0x208b90(0xb6)}],async 'execute'(_0x2af5e8){const _0x51fb0d=a117_0x208b90,_0x14dbe7=parseJsonParams(_0x2af5e8[_0x51fb0d(0xc6)](_0x51fb0d(0xcb))),_0x1c537a=Date['now'](),_0x21ff7a=await executeSql(_0x2af5e8[_0x51fb0d(0xc2)],_0x2af5e8['str'](_0x51fb0d(0xc9)),_0x14dbe7),_0x4d003f=Date[_0x51fb0d(0xba)]()-_0x1c537a,_0x4a0578=_0x21ff7a?.[_0x51fb0d(0xc1)]??_0x21ff7a,_0x3b1fbf=_0x21ff7a?.['execSuccess']??!![];if(!_0x3b1fbf)return{'ok':![],'data':{'error':_0x21ff7a?.['execError']||_0x51fb0d(0xb7),'elapsed':_0x4d003f},'message':'SQL\x20execution\x20failed'};const _0x59b23b=Array['isArray'](_0x4a0578)?_0x4a0578:[];return{'ok':!![],'data':{'rows':_0x59b23b,'rowCount':_0x59b23b[_0x51fb0d(0xbb)],'elapsed':_0x4d003f},'message':_0x51fb0d(0xbd)+_0x59b23b[_0x51fb0d(0xbb)]+_0x51fb0d(0xc5)+_0x4d003f+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x555dab,_0x396a4d){const _0x5e7f80=a118_0x39cb,_0x3b49c8=_0x555dab();while(!![]){try{const _0x53b8d4=-parseInt(_0x5e7f80(0x1b7))/0x1+parseInt(_0x5e7f80(0x1b0))/0x2*(parseInt(_0x5e7f80(0x1af))/0x3)+-parseInt(_0x5e7f80(0x1b6))/0x4*(-parseInt(_0x5e7f80(0x1b2))/0x5)+parseInt(_0x5e7f80(0x1b3))/0x6+parseInt(_0x5e7f80(0x1b9))/0x7*(parseInt(_0x5e7f80(0x1b1))/0x8)+-parseInt(_0x5e7f80(0x1b4))/0x9*(parseInt(_0x5e7f80(0x1b5))/0xa)+-parseInt(_0x5e7f80(0x1b8))/0xb;if(_0x53b8d4===_0x396a4d)break;else _0x3b49c8['push'](_0x3b49c8['shift']());}catch(_0x3a96f5){_0x3b49c8['push'](_0x3b49c8['shift']());}}}(a118_0x4b81,0x923db));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a118_0x39cb(_0x5a2c40,_0x214d74){_0x5a2c40=_0x5a2c40-0x1af;const _0x4b81cc=a118_0x4b81();let _0x39cbe5=_0x4b81cc[_0x5a2c40];return _0x39cbe5;}function a118_0x4b81(){const _0x1bfb69=['750642jORGJz','7573346AuCTnp','763lgYPFp','2505ALKKib','972YTAIdd','85648gdMLzp','1289995KjODKN','3483180QaTSbx','4001220dMvPOB','20ZQRcwd','12pOMZRs'];a118_0x4b81=function(){return _0x1bfb69;};return a118_0x4b81();}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(_0x3c3e5a,_0x2664d3){const _0x378b51=a118_0x58ef,_0x588c54=_0x3c3e5a();while(!![]){try{const _0x5a0af7=parseInt(_0x378b51(0x171))/0x1*(-parseInt(_0x378b51(0x175))/0x2)+parseInt(_0x378b51(0x172))/0x3*(parseInt(_0x378b51(0x178))/0x4)+parseInt(_0x378b51(0x174))/0x5+parseInt(_0x378b51(0x177))/0x6*(parseInt(_0x378b51(0x176))/0x7)+-parseInt(_0x378b51(0x170))/0x8+-parseInt(_0x378b51(0x16f))/0x9*(parseInt(_0x378b51(0x173))/0xa)+-parseInt(_0x378b51(0x179))/0xb;if(_0x5a0af7===_0x2664d3)break;else _0x588c54['push'](_0x588c54['shift']());}catch(_0x4d1a6c){_0x588c54['push'](_0x588c54['shift']());}}}(a118_0x2314,0x890e5));import{sqlList}from'../../commands/sql/list.js';function a118_0x58ef(_0x7eae71,_0x35b51a){_0x7eae71=_0x7eae71-0x16f;const _0x2314c0=a118_0x2314();let _0x58ef7a=_0x2314c0[_0x7eae71];return _0x58ef7a;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a118_0x2314(){const _0x1ee9c6=['26643ysDvCV','1110WJyKZR','2837625IzwlTw','852386FSlOQk','7eFdQUu','4402446dlTPZV','396bFpmGO','6461048sSBPzR','38520WuwbiQ','1043704LFZqtm','1DkYLUG'];a118_0x2314=function(){return _0x1ee9c6;};return a118_0x2314();}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a119_0x1fef(){const _0x5bd7e3=['all','number','sqlName','pagesize','407253DnjIuc','5089904TwMOAI','Page\x20number','5574738iFQhvr','sqlCode','length','map','read','\x20SQL\x20queries\x20(total:\x20','name','num','boolean','dbId','appCode','sql','string','tableData','page','793129ZvcwQR','Filter\x20by\x20SQL\x20name','Page\x20size','52659LSoaTP','2064356OfsjSs','bool','No\x20custom\x20SQL\x20queries\x20found.','1835bvuMVh','verbose','1632eRXImH','Found\x20','description','sqlcode','str','list'];a119_0x1fef=function(){return _0x5bd7e3;};return a119_0x1fef();}function a119_0x53d8(_0x3ff5aa,_0xd6ae8d){_0x3ff5aa=_0x3ff5aa-0x191;const _0x1fef05=a119_0x1fef();let _0x53d86f=_0x1fef05[_0x3ff5aa];return _0x53d86f;}const a119_0x272ab4=a119_0x53d8;(function(_0x1f0631,_0x11402a){const _0x6a5922=a119_0x53d8,_0x3e918d=_0x1f0631();while(!![]){try{const _0x1b35df=-parseInt(_0x6a5922(0x1ab))/0x1+parseInt(_0x6a5922(0x1af))/0x2+-parseInt(_0x6a5922(0x1ae))/0x3+parseInt(_0x6a5922(0x1b4))/0x4*(parseInt(_0x6a5922(0x1b2))/0x5)+parseInt(_0x6a5922(0x19c))/0x6+-parseInt(_0x6a5922(0x199))/0x7+-parseInt(_0x6a5922(0x19a))/0x8;if(_0x1b35df===_0x11402a)break;else _0x3e918d['push'](_0x3e918d['shift']());}catch(_0x52f2a0){_0x3e918d['push'](_0x3e918d['shift']());}}}(a119_0x1fef,0x93ef2));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a119_0x272ab4(0x1a7),'command':a119_0x272ab4(0x194),'description':'List\x20custom\x20SQL\x20queries','risk':a119_0x272ab4(0x1a0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x272ab4(0x1a2),'type':a119_0x272ab4(0x1a8),'description':a119_0x272ab4(0x1ac)},{'name':a119_0x272ab4(0x1aa),'type':'number','description':a119_0x272ab4(0x19b),'default':0x1},{'name':a119_0x272ab4(0x198),'type':a119_0x272ab4(0x196),'description':a119_0x272ab4(0x1ad)},{'name':a119_0x272ab4(0x1b3),'type':a119_0x272ab4(0x1a4),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x25cb54){const _0x4d8f4a=a119_0x272ab4,_0x5852ad=await listSqlQueries(_0x25cb54[_0x4d8f4a(0x1a6)],{'sqlCode':_0x25cb54[_0x4d8f4a(0x193)](_0x4d8f4a(0x192))||undefined,'sqlName':_0x25cb54['str'](_0x4d8f4a(0x1a2))||undefined,'currentPage':_0x25cb54[_0x4d8f4a(0x1a3)](_0x4d8f4a(0x1aa)),'pageSize':_0x25cb54[_0x4d8f4a(0x1a3)]('pagesize',0x32)}),_0x2020ce=_0x25cb54[_0x4d8f4a(0x1b0)](_0x4d8f4a(0x1b3)),_0x5f268c=_0x5852ad[_0x4d8f4a(0x1a9)]??[],_0x49dd47=_0x5852ad['paging']?.['totalCount']??_0x5f268c[_0x4d8f4a(0x19e)];let _0x1c139e;return _0x2020ce?_0x1c139e=_0x5f268c:_0x1c139e=await Promise[_0x4d8f4a(0x195)](_0x5f268c[_0x4d8f4a(0x19f)](async _0xd3a6a4=>{const _0x121349=_0x4d8f4a;let _0x40b404;try{_0x40b404=_0xd3a6a4['dbId']?await getDbName(_0x25cb54['appCode'],_0xd3a6a4[_0x121349(0x1a5)]):undefined;}catch{}return{'sqlCode':_0xd3a6a4[_0x121349(0x19d)],'sqlName':_0xd3a6a4[_0x121349(0x197)],'description':_0xd3a6a4[_0x121349(0x191)]??'','db':_0x40b404?_0x40b404+'\x20('+_0xd3a6a4[_0x121349(0x1a5)]+')':_0xd3a6a4[_0x121349(0x1a5)]??''};})),{'ok':!![],'data':_0x1c139e,'message':_0x5f268c[_0x4d8f4a(0x19e)]===0x0?_0x4d8f4a(0x1b1):_0x4d8f4a(0x1b5)+_0x5f268c['length']+_0x4d8f4a(0x1a1)+_0x49dd47+').'};}};
1
+ const a119_0x4f2f13=a119_0x429e;(function(_0x4d109d,_0x5eccbc){const _0x2ae993=a119_0x429e,_0x48a3e3=_0x4d109d();while(!![]){try{const _0x505b07=-parseInt(_0x2ae993(0xee))/0x1+parseInt(_0x2ae993(0xe6))/0x2*(parseInt(_0x2ae993(0xf6))/0x3)+-parseInt(_0x2ae993(0xf1))/0x4*(-parseInt(_0x2ae993(0xfe))/0x5)+parseInt(_0x2ae993(0xfa))/0x6+-parseInt(_0x2ae993(0x107))/0x7+-parseInt(_0x2ae993(0xfd))/0x8+-parseInt(_0x2ae993(0xf5))/0x9*(-parseInt(_0x2ae993(0xeb))/0xa);if(_0x505b07===_0x5eccbc)break;else _0x48a3e3['push'](_0x48a3e3['shift']());}catch(_0x429201){_0x48a3e3['push'](_0x48a3e3['shift']());}}}(a119_0x2231,0x3e6e3));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a119_0x2231(){const _0x5779f3=['name','3094511KEFmQU','pagesize','list','map','sql','192130aoxBMr','num','List\x20custom\x20SQL\x20queries','string','page','5576280ifKtxe','Filter\x20by\x20SQL\x20name','totalCount','174747vNEcan','dbId','bool','4qGJKWE','Page\x20size','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','verbose','9veMJFY','12LsxgZI','sqlCode','No\x20custom\x20SQL\x20queries\x20found.','length','1534656GcKXMR','boolean','read','3197944veBiPP','373070qlxetb','number','sqlcode','\x20SQL\x20queries\x20(total:\x20','tableData','all','Page\x20number','appCode'];a119_0x2231=function(){return _0x5779f3;};return a119_0x2231();}function a119_0x429e(_0x20caec,_0x39d477){_0x20caec=_0x20caec-0xe2;const _0x22317b=a119_0x2231();let _0x429ec7=_0x22317b[_0x20caec];return _0x429ec7;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a119_0x4f2f13(0xe5),'command':a119_0x4f2f13(0xe3),'description':a119_0x4f2f13(0xe8),'risk':a119_0x4f2f13(0xfc),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x4f2f13(0x106),'type':a119_0x4f2f13(0xe9),'description':a119_0x4f2f13(0xec)},{'name':a119_0x4f2f13(0xea),'type':a119_0x4f2f13(0xff),'description':a119_0x4f2f13(0x104),'default':0x1},{'name':'pagesize','type':a119_0x4f2f13(0xff),'description':a119_0x4f2f13(0xf2)},{'name':a119_0x4f2f13(0xf4),'type':a119_0x4f2f13(0xfb),'description':a119_0x4f2f13(0xf3)}],async 'execute'(_0x564a4d){const _0x404ba=a119_0x4f2f13,_0x107890=await listSqlQueries(_0x564a4d[_0x404ba(0x105)],{'sqlCode':_0x564a4d['str'](_0x404ba(0x100))||undefined,'sqlName':_0x564a4d['str'](_0x404ba(0x106))||undefined,'currentPage':_0x564a4d[_0x404ba(0xe7)](_0x404ba(0xea)),'pageSize':_0x564a4d[_0x404ba(0xe7)](_0x404ba(0xe2),0x32)}),_0x37d278=_0x564a4d[_0x404ba(0xf0)](_0x404ba(0xf4)),_0x3280af=_0x107890[_0x404ba(0x102)]??[],_0x438797=_0x107890['paging']?.[_0x404ba(0xed)]??_0x3280af[_0x404ba(0xf9)];let _0x1c3836;return _0x37d278?_0x1c3836=_0x3280af:_0x1c3836=await Promise[_0x404ba(0x103)](_0x3280af[_0x404ba(0xe4)](async _0x5182b1=>{const _0xd23202=_0x404ba;let _0x1955c0;try{_0x1955c0=_0x5182b1['dbId']?await getDbName(_0x564a4d['appCode'],_0x5182b1[_0xd23202(0xef)]):undefined;}catch{}return{'sqlCode':_0x5182b1[_0xd23202(0xf7)],'sqlName':_0x5182b1['sqlName'],'description':_0x5182b1['description']??'','db':_0x1955c0?_0x1955c0+'\x20('+_0x5182b1['dbId']+')':_0x5182b1[_0xd23202(0xef)]??''};})),{'ok':!![],'data':_0x1c3836,'message':_0x3280af[_0x404ba(0xf9)]===0x0?_0x404ba(0xf8):'Found\x20'+_0x3280af[_0x404ba(0xf9)]+_0x404ba(0x101)+_0x438797+').'};}};
@@ -1 +1 @@
1
- function a120_0x28ec(){const _0x219bde=['279232jpVobP','19449QCmaPu','Force\x20overwrite\x20local\x20unsynced\x20changes','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','boolean','description','join','498rYqRiD','POST','appCode','toISOString','bool','Filter\x20by\x20SQL\x20display\x20name','lockFilePath','lastSync','skipped','apps','1554800cnOOyR','sql','No\x20remote\x20SQL\x20queries\x20matched.','sqlName','replace','sqlRootDir','sqlCode','11963rPFTxK','74082VrTLPt','push','Pull\x20complete:\x20','length','unchanged','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','Would\x20pull\x20','test','trimStart','Force\x20pull\x20cancelled.','local\x20differs\x20from\x20remote','\x20skipped,\x20','nonInteractive','name','catch','mybatisXml','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','filter','130PxVNZj','4wXVMEi','sqlcode','sqls','paging','str','would_pull','35876pnRtUT','85lrODQy','write','sqlRoot','path','utf8','\x20failed','4113395SFDsfq','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlContent','dbId','\x20written,\x20','conflict','string','pull'];a120_0x28ec=function(){return _0x219bde;};return a120_0x28ec();}const a120_0x5b5265=a120_0x47fb;(function(_0x34ad0f,_0x18df49){const _0x20af07=a120_0x47fb,_0x498bb8=_0x34ad0f();while(!![]){try{const _0x51ff04=parseInt(_0x20af07(0x17d))/0x1+-parseInt(_0x20af07(0x1a9))/0x2*(parseInt(_0x20af07(0x196))/0x3)+-parseInt(_0x20af07(0x1af))/0x4*(parseInt(_0x20af07(0x1b0))/0x5)+-parseInt(_0x20af07(0x184))/0x6*(parseInt(_0x20af07(0x195))/0x7)+-parseInt(_0x20af07(0x18e))/0x8+-parseInt(_0x20af07(0x17e))/0x9*(-parseInt(_0x20af07(0x1a8))/0xa)+parseInt(_0x20af07(0x175))/0xb;if(_0x51ff04===_0x18df49)break;else _0x498bb8['push'](_0x498bb8['shift']());}catch(_0x373da1){_0x498bb8['push'](_0x498bb8['shift']());}}}(a120_0x28ec,0x22f6c));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a120_0x47fb(_0x5d2be6,_0x8e40ff){_0x5d2be6=_0x5d2be6-0x175;const _0x28ec8e=a120_0x28ec();let _0x47fb3f=_0x28ec8e[_0x5d2be6];return _0x47fb3f;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x5586ee,_0x11a94f){const _0x493b2c=a120_0x47fb,_0x44aecb=[];let _0x212155=0x1;while(!![]){const _0x1b9fba=await listSqlQueries(_0x5586ee,{'currentPage':_0x212155,'pageSize':PAGE_SIZE,'sqlCode':_0x11a94f[_0x493b2c(0x194)],'sqlName':_0x11a94f[_0x493b2c(0x191)]}),_0x540565=_0x1b9fba['tableData']??[];_0x44aecb[_0x493b2c(0x197)](..._0x540565);if(_0x540565[_0x493b2c(0x199)]===0x0)break;const _0x25924e=_0x1b9fba[_0x493b2c(0x1ac)]?.['totalCount'];if(_0x25924e!=null?_0x44aecb[_0x493b2c(0x199)]>=_0x25924e:_0x540565[_0x493b2c(0x199)]<PAGE_SIZE)break;_0x212155++;}return _0x44aecb;}async function ensureSqlContent(_0x2f5957){const _0x4e7696=a120_0x47fb;if(_0x2f5957[_0x4e7696(0x177)]!=null&&String(_0x2f5957[_0x4e7696(0x177)])[_0x4e7696(0x199)]>0x0)return _0x2f5957;return getSqlQueryDetail(_0x2f5957[_0x4e7696(0x194)]);}export const sqlPull={'service':'sql','command':a120_0x5b5265(0x17c),'description':a120_0x5b5265(0x176),'risk':a120_0x5b5265(0x1b1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5b5265(0x1a3),'type':a120_0x5b5265(0x17b),'description':a120_0x5b5265(0x189)},{'name':'force','type':a120_0x5b5265(0x181),'description':a120_0x5b5265(0x17f)}],async 'dryRun'(_0x1163e6){const _0x21e039=a120_0x5b5265,_0x291abc=loadSqlProjectConfig(_0x1163e6[_0x21e039(0x186)]),_0x42c3b2=await readSqlLockFile(_0x291abc[_0x21e039(0x18a)]),{appLock:_0x1f37e6}=ensureSqlLockScope(_0x42c3b2??createEmptySqlLock(),_0x291abc[_0x21e039(0x186)],_0x291abc['sqlRoot'],_0x21e039(0x17c)),_0xecb83a=await fetchAllSqlQueries(_0x1163e6[_0x21e039(0x186)],{'sqlCode':_0x1163e6['str']('sqlcode')||undefined,'sqlName':_0x1163e6[_0x21e039(0x1ad)]('name')||undefined}),_0x1f0165=[];for(const _0x3cb94a of _0xecb83a){const _0x477dc7=await ensureSqlContent(_0x3cb94a),_0x37a7e2=ensureRemoteSqlContent(_0x477dc7),_0x3d92b4=detectModeFromSql(_0x477dc7),_0x5898ef=_0x477dc7['dbId']?await getDbName(_0x1163e6[_0x21e039(0x186)],Number(_0x477dc7['dbId']))[_0x21e039(0x1a4)](()=>undefined):undefined,_0x442692=buildLocalSqlFileContent({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7[_0x21e039(0x191)],'dbId':_0x477dc7[_0x21e039(0x178)]},_0x37a7e2,{'dbName':_0x5898ef,'mode':_0x3d92b4,'syncedAt':new Date()[_0x21e039(0x187)](),'description':_0x477dc7[_0x21e039(0x182)]}),_0x472c27=buildSqlLockEntry(_0x477dc7,_0x37a7e2,'',{'dbName':_0x5898ef}),_0x14e9cc=resolveLocalSqlFilePath(_0x291abc,_0x477dc7[_0x21e039(0x194)],_0x472c27);let _0x17db02=_0x21e039(0x1ae),_0x189cc8;if(await fileExists(_0x14e9cc)){const _0x491491=await readFile(_0x14e9cc,_0x21e039(0x1b4));isEquivalentPulledSqlFile(_0x491491,_0x442692,_0x3d92b4)?(_0x17db02=_0x21e039(0x18c),_0x189cc8='unchanged'):(_0x17db02=_0x21e039(0x17a),_0x189cc8=_0x21e039(0x1a6));}_0x1f0165[_0x21e039(0x197)]({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7['sqlName'],'filePath':_0x14e9cc,'status':_0x17db02,'reason':_0x189cc8});}return{'method':_0x21e039(0x185),'url':_0x21e039(0x19b),'body':{'appCode':_0x1163e6[_0x21e039(0x186)],'sqlCode':_0x1163e6[_0x21e039(0x1ad)]('sqlcode')||null,'sqlName':_0x1163e6[_0x21e039(0x1ad)](_0x21e039(0x1a3))||null,'files':_0x1f0165},'description':_0x21e039(0x19c)+_0x1f0165['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x291abc['sqlRootDir']};},async 'execute'(_0x5ca377){const _0x2b04c5=a120_0x5b5265,_0x4f5355=loadSqlProjectConfig(_0x5ca377[_0x2b04c5(0x186)]),_0x47384b=await readSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)]),{lockData:_0x2bb963,appLock:_0x3c1f91}=ensureSqlLockScope(_0x47384b??createEmptySqlLock(),_0x4f5355[_0x2b04c5(0x186)],_0x4f5355[_0x2b04c5(0x1b2)],_0x2b04c5(0x17c)),_0x3299d8=_0x5ca377[_0x2b04c5(0x188)]('force'),_0x26cc00=await fetchAllSqlQueries(_0x5ca377['appCode'],{'sqlCode':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1aa))||undefined,'sqlName':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1a3))||undefined});if(_0x26cc00['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2b04c5(0x190)};const _0x46cf1d=[],_0x43e4c1=[];for(const _0x5b2b22 of _0x26cc00){try{_0x46cf1d['push'](await ensureSqlContent(_0x5b2b22));}catch(_0x9ad96){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x5b2b22[_0x2b04c5(0x194)],'error':_0x9ad96 instanceof Error?_0x9ad96['message']:String(_0x9ad96)});}}if(_0x3299d8&&!_0x5ca377[_0x2b04c5(0x1a2)]){let _0xa2b9ef=![];for(const _0x5ea3d8 of _0x46cf1d){const _0x1e5f9e=detectModeFromSql(_0x5ea3d8),_0x5ce561=_0x5ea3d8[_0x2b04c5(0x178)]?await getDbName(_0x5ca377[_0x2b04c5(0x186)],Number(_0x5ea3d8[_0x2b04c5(0x178)]))[_0x2b04c5(0x1a4)](()=>undefined):undefined,_0x1a71b0=buildLocalSqlFileContent({'sqlCode':_0x5ea3d8[_0x2b04c5(0x194)],'sqlName':_0x5ea3d8[_0x2b04c5(0x191)],'dbId':_0x5ea3d8[_0x2b04c5(0x178)]},ensureRemoteSqlContent(_0x5ea3d8),{'dbName':_0x5ce561,'mode':_0x1e5f9e,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x5ea3d8[_0x2b04c5(0x182)]}),_0x5c402b=resolveLocalSqlFilePath(_0x4f5355,_0x5ea3d8['sqlCode'],buildSqlLockEntry(_0x5ea3d8,ensureRemoteSqlContent(_0x5ea3d8),'',{'dbName':_0x5ce561}));if(await fileExists(_0x5c402b)){const _0x4057b3=await readFile(_0x5c402b,'utf8');if(!isEquivalentPulledSqlFile(_0x4057b3,_0x1a71b0,_0x1e5f9e)){_0xa2b9ef=!![];break;}}}if(_0xa2b9ef){const _0x3f6a45=await confirmForceOverwrite(_0x2b04c5(0x180));if(!_0x3f6a45)throw CliErrors['cancelled'](_0x2b04c5(0x19f));}}const _0x53de49=cloneSqlLockData(_0x2bb963),_0x3e2214=_0x53de49[_0x2b04c5(0x18d)][_0x4f5355[_0x2b04c5(0x186)]],_0x47d5e0=[],_0x2acf69=[];for(const _0x109307 of _0x46cf1d){const _0x450cc7=_0x3e2214[_0x2b04c5(0x1ab)][_0x109307[_0x2b04c5(0x194)]],_0x432f5b=ensureRemoteSqlContent(_0x109307),_0x502413=detectModeFromSql(_0x109307),_0x358ac7=_0x109307['dbId']?await getDbName(_0x5ca377['appCode'],Number(_0x109307['dbId']))['catch'](()=>undefined):undefined,_0x51f15a=buildLocalSqlFileContent({'sqlCode':_0x109307[_0x2b04c5(0x194)],'sqlName':_0x109307['sqlName'],'dbId':_0x109307[_0x2b04c5(0x178)]},_0x432f5b,{'dbName':_0x358ac7,'mode':_0x502413,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x109307[_0x2b04c5(0x182)]}),_0x3d0f0a=buildSqlLockEntry(_0x109307,_0x432f5b,computeSqlContentHash(_0x51f15a),{'dbName':_0x358ac7}),_0x3b1d48=_0x3d0f0a[_0x2b04c5(0x1b3)],_0x322547=join(_0x4f5355[_0x2b04c5(0x193)],_0x3b1d48);try{if(await fileExists(_0x322547)){const _0x3ae9f8=await readFile(_0x322547,'utf8');if(isEquivalentPulledSqlFile(_0x3ae9f8,_0x51f15a,_0x502413)){_0x2acf69['push']({'sqlCode':_0x109307['sqlCode'],'reason':_0x2b04c5(0x19a)}),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'hash':computeSqlContentHash(_0x3ae9f8),'path':_0x3b1d48};continue;}if(!_0x3299d8){_0x2acf69[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'reason':_0x2b04c5(0x1a0)});continue;}}const _0x15c469=_0x450cc7?.[_0x2b04c5(0x1b3)]?join(_0x4f5355[_0x2b04c5(0x193)],_0x450cc7[_0x2b04c5(0x1b3)]):undefined;_0x15c469&&_0x15c469!==_0x322547&&await fileExists(_0x15c469)&&await rm(_0x15c469,{'force':!![]}),await ensureParentDirectory(_0x322547),await writeFile(_0x322547,_0x51f15a,_0x2b04c5(0x1b4)),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'path':_0x3b1d48},_0x47d5e0[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'filePath':_0x322547});}catch(_0x2f542b){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'error':_0x2f542b instanceof Error?_0x2f542b['message']:String(_0x2f542b)});}}return _0x3e2214[_0x2b04c5(0x18b)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)],_0x53de49),{'ok':_0x43e4c1[_0x2b04c5(0x199)]===0x0,'data':{'pulled':_0x47d5e0,'skipped':_0x2acf69,'failed':_0x43e4c1},'message':_0x2b04c5(0x198)+_0x47d5e0[_0x2b04c5(0x199)]+_0x2b04c5(0x179)+_0x2acf69['length']+_0x2b04c5(0x1a1)+_0x43e4c1[_0x2b04c5(0x199)]+_0x2b04c5(0x1b5)};}};function detectModeFromSql(_0x5e2a25){const _0x5108dd=a120_0x5b5265,_0x5abcbc=ensureRemoteSqlContent(_0x5e2a25),_0x1b53e6=stripLocalSqlMetadata(_0x5abcbc,_0x5108dd(0x1a5))[_0x5108dd(0x19e)]();if(/^<(select|insert|update|delete)\b/i[_0x5108dd(0x19d)](_0x1b53e6))return _0x5108dd(0x1a5);return _0x5108dd(0x18f);}function isEquivalentPulledSqlFile(_0xab58fe,_0x38a4da,_0x3c1e2e){return normalizePullComparableContent(_0xab58fe,_0x3c1e2e)===normalizePullComparableContent(_0x38a4da,_0x3c1e2e);}function normalizePullComparableContent(_0x1e507b,_0x489231){const _0x42cdc2=a120_0x5b5265,_0x4b8e8c=_0x1e507b[_0x42cdc2(0x192)](/\r\n/g,'\x0a')['split']('\x0a'),_0x42da1a=_0x4b8e8c[_0x42cdc2(0x1a7)](_0xd17786=>!isSyncedAtMetadataLine(_0xd17786,_0x489231));return _0x42da1a[_0x42cdc2(0x183)]('\x0a');}function isSyncedAtMetadataLine(_0x4a194c,_0x5eee3f){const _0x496a3a=a120_0x5b5265;if(_0x5eee3f==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x496a3a(0x19d)](_0x4a194c);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x4a194c);}
1
+ const a120_0x5bda34=a120_0x3f66;(function(_0x2a9746,_0xc5633c){const _0x240a83=a120_0x3f66,_0x5115c4=_0x2a9746();while(!![]){try{const _0x46d33b=parseInt(_0x240a83(0x20d))/0x1*(-parseInt(_0x240a83(0x1e7))/0x2)+-parseInt(_0x240a83(0x1e6))/0x3+parseInt(_0x240a83(0x201))/0x4+-parseInt(_0x240a83(0x1e5))/0x5+-parseInt(_0x240a83(0x225))/0x6*(parseInt(_0x240a83(0x204))/0x7)+parseInt(_0x240a83(0x1eb))/0x8*(-parseInt(_0x240a83(0x1fb))/0x9)+parseInt(_0x240a83(0x223))/0xa;if(_0x46d33b===_0xc5633c)break;else _0x5115c4['push'](_0x5115c4['shift']());}catch(_0x48d81f){_0x5115c4['push'](_0x5115c4['shift']());}}}(a120_0x3794,0xc9a34));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a120_0x3f66(_0x224227,_0x4a62ba){_0x224227=_0x224227-0x1e3;const _0x3794dd=a120_0x3794();let _0x3f6607=_0x3794dd[_0x224227];return _0x3f6607;}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x453d42,_0x11f6b3){const _0x38d57c=a120_0x3f66,_0x330d38=[];let _0xa6680a=0x1;while(!![]){const _0x82a2ba=await listSqlQueries(_0x453d42,{'currentPage':_0xa6680a,'pageSize':PAGE_SIZE,'sqlCode':_0x11f6b3[_0x38d57c(0x1f8)],'sqlName':_0x11f6b3[_0x38d57c(0x1f4)]}),_0xc1f96c=_0x82a2ba['tableData']??[];_0x330d38[_0x38d57c(0x210)](..._0xc1f96c);if(_0xc1f96c[_0x38d57c(0x208)]===0x0)break;const _0xfbadd3=_0x82a2ba[_0x38d57c(0x220)]?.[_0x38d57c(0x1f0)];if(_0xfbadd3!=null?_0x330d38[_0x38d57c(0x208)]>=_0xfbadd3:_0xc1f96c[_0x38d57c(0x208)]<PAGE_SIZE)break;_0xa6680a++;}return _0x330d38;}async function ensureSqlContent(_0x57439c){const _0x23bfac=a120_0x3f66;if(_0x57439c[_0x23bfac(0x218)]!=null&&String(_0x57439c[_0x23bfac(0x218)])[_0x23bfac(0x208)]>0x0)return _0x57439c;return getSqlQueryDetail(_0x57439c[_0x23bfac(0x1f8)]);}export const sqlPull={'service':'sql','command':'pull','description':a120_0x5bda34(0x1ee),'risk':a120_0x5bda34(0x214),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5bda34(0x216),'type':a120_0x5bda34(0x21d),'description':a120_0x5bda34(0x1fd)},{'name':a120_0x5bda34(0x1f2),'type':a120_0x5bda34(0x1f9),'description':a120_0x5bda34(0x222)}],async 'dryRun'(_0x382cbf){const _0x330a03=a120_0x5bda34,_0x46a784=loadSqlProjectConfig(_0x382cbf[_0x330a03(0x1f5)]),_0x42a900=await readSqlLockFile(_0x46a784['lockFilePath']),{appLock:_0x189f7c}=ensureSqlLockScope(_0x42a900??createEmptySqlLock(),_0x46a784[_0x330a03(0x1f5)],_0x46a784[_0x330a03(0x21a)],_0x330a03(0x1ff)),_0x406fb5=await fetchAllSqlQueries(_0x382cbf[_0x330a03(0x1f5)],{'sqlCode':_0x382cbf['str'](_0x330a03(0x219))||undefined,'sqlName':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x216))||undefined}),_0x532913=[];for(const _0x19d590 of _0x406fb5){const _0x18255f=await ensureSqlContent(_0x19d590),_0x5bcfe6=ensureRemoteSqlContent(_0x18255f),_0x43ebb5=detectModeFromSql(_0x18255f),_0x3a122d=_0x18255f[_0x330a03(0x1e4)]?await getDbName(_0x382cbf['appCode'],Number(_0x18255f[_0x330a03(0x1e4)]))[_0x330a03(0x215)](()=>undefined):undefined,_0xe05460=buildLocalSqlFileContent({'sqlCode':_0x18255f[_0x330a03(0x1f8)],'sqlName':_0x18255f[_0x330a03(0x1f4)],'dbId':_0x18255f[_0x330a03(0x1e4)]},_0x5bcfe6,{'dbName':_0x3a122d,'mode':_0x43ebb5,'syncedAt':new Date()[_0x330a03(0x209)](),'description':_0x18255f[_0x330a03(0x20b)]}),_0x344e04=buildSqlLockEntry(_0x18255f,_0x5bcfe6,'',{'dbName':_0x3a122d}),_0x5e105b=resolveLocalSqlFilePath(_0x46a784,_0x18255f['sqlCode'],_0x344e04);let _0x5dfb3e=_0x330a03(0x202),_0x4b506a;if(await fileExists(_0x5e105b)){const _0x4974d3=await readFile(_0x5e105b,_0x330a03(0x1f7));isEquivalentPulledSqlFile(_0x4974d3,_0xe05460,_0x43ebb5)?(_0x5dfb3e=_0x330a03(0x217),_0x4b506a=_0x330a03(0x1fe)):(_0x5dfb3e=_0x330a03(0x207),_0x4b506a=_0x330a03(0x205));}_0x532913['push']({'sqlCode':_0x18255f[_0x330a03(0x1f8)],'sqlName':_0x18255f[_0x330a03(0x1f4)],'filePath':_0x5e105b,'status':_0x5dfb3e,'reason':_0x4b506a});}return{'method':_0x330a03(0x1fa),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x382cbf[_0x330a03(0x1f5)],'sqlCode':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x219))||null,'sqlName':_0x382cbf[_0x330a03(0x1ef)](_0x330a03(0x216))||null,'files':_0x532913},'description':'Would\x20pull\x20'+_0x532913[_0x330a03(0x208)]+_0x330a03(0x1e9)+_0x46a784[_0x330a03(0x1f1)]};},async 'execute'(_0x4b749d){const _0x31579c=a120_0x5bda34,_0x289249=loadSqlProjectConfig(_0x4b749d[_0x31579c(0x1f5)]),_0x41b30a=await readSqlLockFile(_0x289249[_0x31579c(0x1f3)]),{lockData:_0x3a116d,appLock:_0x300120}=ensureSqlLockScope(_0x41b30a??createEmptySqlLock(),_0x289249[_0x31579c(0x1f5)],_0x289249[_0x31579c(0x21a)],_0x31579c(0x1ff)),_0x422c2d=_0x4b749d[_0x31579c(0x221)](_0x31579c(0x1f2)),_0x4d7bcc=await fetchAllSqlQueries(_0x4b749d[_0x31579c(0x1f5)],{'sqlCode':_0x4b749d[_0x31579c(0x1ef)](_0x31579c(0x219))||undefined,'sqlName':_0x4b749d[_0x31579c(0x1ef)](_0x31579c(0x216))||undefined});if(_0x4d7bcc[_0x31579c(0x208)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x31579c(0x21c)};const _0x5133d1=[],_0x2ea1b1=[];for(const _0x578c53 of _0x4d7bcc){try{_0x5133d1['push'](await ensureSqlContent(_0x578c53));}catch(_0x579d20){_0x2ea1b1[_0x31579c(0x210)]({'sqlCode':_0x578c53['sqlCode'],'error':_0x579d20 instanceof Error?_0x579d20[_0x31579c(0x1fc)]:String(_0x579d20)});}}if(_0x422c2d&&!_0x4b749d[_0x31579c(0x20c)]){let _0x183522=![];for(const _0x171793 of _0x5133d1){const _0x5ea632=detectModeFromSql(_0x171793),_0x1a0018=_0x171793[_0x31579c(0x1e4)]?await getDbName(_0x4b749d['appCode'],Number(_0x171793[_0x31579c(0x1e4)]))[_0x31579c(0x215)](()=>undefined):undefined,_0x2f8771=buildLocalSqlFileContent({'sqlCode':_0x171793[_0x31579c(0x1f8)],'sqlName':_0x171793[_0x31579c(0x1f4)],'dbId':_0x171793['dbId']},ensureRemoteSqlContent(_0x171793),{'dbName':_0x1a0018,'mode':_0x5ea632,'syncedAt':new Date()[_0x31579c(0x209)](),'description':_0x171793[_0x31579c(0x20b)]}),_0x40b6a1=resolveLocalSqlFilePath(_0x289249,_0x171793['sqlCode'],buildSqlLockEntry(_0x171793,ensureRemoteSqlContent(_0x171793),'',{'dbName':_0x1a0018}));if(await fileExists(_0x40b6a1)){const _0x4cff03=await readFile(_0x40b6a1,_0x31579c(0x1f7));if(!isEquivalentPulledSqlFile(_0x4cff03,_0x2f8771,_0x5ea632)){_0x183522=!![];break;}}}if(_0x183522){const _0xad85f2=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0xad85f2)throw CliErrors[_0x31579c(0x1ec)](_0x31579c(0x1f6));}}const _0x226754=cloneSqlLockData(_0x3a116d),_0xcd2919=_0x226754[_0x31579c(0x200)][_0x289249[_0x31579c(0x1f5)]],_0x4275d0=[],_0x3ad743=[];for(const _0x4110cb of _0x5133d1){const _0x5c80d6=_0xcd2919['sqls'][_0x4110cb[_0x31579c(0x1f8)]],_0x53e275=ensureRemoteSqlContent(_0x4110cb),_0x42fa6a=detectModeFromSql(_0x4110cb),_0x57f5cf=_0x4110cb['dbId']?await getDbName(_0x4b749d[_0x31579c(0x1f5)],Number(_0x4110cb[_0x31579c(0x1e4)]))[_0x31579c(0x215)](()=>undefined):undefined,_0x4a2c32=buildLocalSqlFileContent({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'sqlName':_0x4110cb[_0x31579c(0x1f4)],'dbId':_0x4110cb[_0x31579c(0x1e4)]},_0x53e275,{'dbName':_0x57f5cf,'mode':_0x42fa6a,'syncedAt':new Date()[_0x31579c(0x209)](),'description':_0x4110cb[_0x31579c(0x20b)]}),_0xde1cb=buildSqlLockEntry(_0x4110cb,_0x53e275,computeSqlContentHash(_0x4a2c32),{'dbName':_0x57f5cf}),_0x30606f=_0xde1cb[_0x31579c(0x1e3)],_0x553850=join(_0x289249[_0x31579c(0x1f1)],_0x30606f);try{if(await fileExists(_0x553850)){const _0x5e23b4=await readFile(_0x553850,'utf8');if(isEquivalentPulledSqlFile(_0x5e23b4,_0x4a2c32,_0x42fa6a)){_0x3ad743[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'reason':_0x31579c(0x1fe)}),_0xcd2919['sqls'][_0x4110cb[_0x31579c(0x1f8)]]={..._0xde1cb,'hash':computeSqlContentHash(_0x5e23b4),'path':_0x30606f};continue;}if(!_0x422c2d){_0x3ad743[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'reason':_0x31579c(0x211)});continue;}}const _0x1eb960=_0x5c80d6?.[_0x31579c(0x1e3)]?join(_0x289249[_0x31579c(0x1f1)],_0x5c80d6['path']):undefined;_0x1eb960&&_0x1eb960!==_0x553850&&await fileExists(_0x1eb960)&&await rm(_0x1eb960,{'force':!![]}),await ensureParentDirectory(_0x553850),await writeFile(_0x553850,_0x4a2c32,_0x31579c(0x1f7)),_0xcd2919[_0x31579c(0x20e)][_0x4110cb[_0x31579c(0x1f8)]]={..._0xde1cb,'path':_0x30606f},_0x4275d0[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'filePath':_0x553850});}catch(_0x934e7){_0x2ea1b1[_0x31579c(0x210)]({'sqlCode':_0x4110cb[_0x31579c(0x1f8)],'error':_0x934e7 instanceof Error?_0x934e7[_0x31579c(0x1fc)]:String(_0x934e7)});}}return _0xcd2919[_0x31579c(0x20a)]=new Date()[_0x31579c(0x209)](),await writeSqlLockFile(_0x289249[_0x31579c(0x1f3)],_0x226754),{'ok':_0x2ea1b1[_0x31579c(0x208)]===0x0,'data':{'pulled':_0x4275d0,'skipped':_0x3ad743,'failed':_0x2ea1b1},'message':_0x31579c(0x224)+_0x4275d0['length']+_0x31579c(0x21b)+_0x3ad743[_0x31579c(0x208)]+_0x31579c(0x1e8)+_0x2ea1b1[_0x31579c(0x208)]+_0x31579c(0x1ea)};}};function detectModeFromSql(_0x28a0ba){const _0x3174ac=a120_0x5bda34,_0x58fd97=ensureRemoteSqlContent(_0x28a0ba),_0x237e43=stripLocalSqlMetadata(_0x58fd97,'mybatisXml')[_0x3174ac(0x212)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x237e43))return _0x3174ac(0x203);return _0x3174ac(0x213);}function a120_0x3794(){const _0x31d3b6=['72432VLlkSD','6NcQxTO','\x20skipped,\x20','\x20SQL\x20file(s)\x20into\x20','\x20failed','1432PZJIDD','cancelled','split','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','str','totalCount','sqlRootDir','force','lockFilePath','sqlName','appCode','Force\x20pull\x20cancelled.','utf8','sqlCode','boolean','POST','55899IHcLrB','message','Filter\x20by\x20SQL\x20display\x20name','unchanged','pull','apps','4248396iCBnJN','would_pull','mybatisXml','416948DibGsa','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','filter','conflict','length','toISOString','lastSync','description','nonInteractive','42597pBLRDg','sqls','join','push','local\x20differs\x20from\x20remote','trimStart','sql','write','catch','name','skipped','sqlContent','sqlcode','sqlRoot','\x20written,\x20','No\x20remote\x20SQL\x20queries\x20matched.','string','replace','test','paging','bool','Force\x20overwrite\x20local\x20unsynced\x20changes','21130050VEjPQs','Pull\x20complete:\x20','36kGWSRK','path','dbId','3640540LYyjqn'];a120_0x3794=function(){return _0x31d3b6;};return a120_0x3794();}function isEquivalentPulledSqlFile(_0x1b0750,_0x299575,_0x3e099e){return normalizePullComparableContent(_0x1b0750,_0x3e099e)===normalizePullComparableContent(_0x299575,_0x3e099e);}function normalizePullComparableContent(_0x17e1a8,_0x414db3){const _0x11928d=a120_0x5bda34,_0xbc1a82=_0x17e1a8[_0x11928d(0x21e)](/\r\n/g,'\x0a')[_0x11928d(0x1ed)]('\x0a'),_0x3359aa=_0xbc1a82[_0x11928d(0x206)](_0x20a07b=>!isSyncedAtMetadataLine(_0x20a07b,_0x414db3));return _0x3359aa[_0x11928d(0x20f)]('\x0a');}function isSyncedAtMetadataLine(_0x41bebf,_0x307136){const _0x1d409a=a120_0x5bda34;if(_0x307136===_0x1d409a(0x203))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x1d409a(0x21f)](_0x41bebf);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x41bebf);}