@lovrabet/rabetbase-cli 2.1.7-beta.8 → 2.1.8

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
- const a109_0x5dd933=a109_0x14d1;(function(_0x1aa612,_0x53a17e){const _0x13d820=a109_0x14d1,_0x1f9b8b=_0x1aa612();while(!![]){try{const _0x26336e=parseInt(_0x13d820(0x1e8))/0x1*(parseInt(_0x13d820(0x1e9))/0x2)+parseInt(_0x13d820(0x18f))/0x3+parseInt(_0x13d820(0x1ab))/0x4+-parseInt(_0x13d820(0x188))/0x5*(parseInt(_0x13d820(0x1cd))/0x6)+parseInt(_0x13d820(0x189))/0x7*(-parseInt(_0x13d820(0x1f0))/0x8)+parseInt(_0x13d820(0x17d))/0x9+-parseInt(_0x13d820(0x1b6))/0xa*(parseInt(_0x13d820(0x19a))/0xb);if(_0x26336e===_0x53a17e)break;else _0x1f9b8b['push'](_0x1f9b8b['shift']());}catch(_0x567877){_0x1f9b8b['push'](_0x1f9b8b['shift']());}}}(a109_0x3be4,0x1a173));import a109_0x3c314a from'chalk';function a109_0x14d1(_0x538591,_0x51627e){_0x538591=_0x538591-0x177;const _0x3be40d=a109_0x3be4();let _0x14d117=_0x3be40d[_0x538591];return _0x14d117;}import a109_0x407c8c from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';function a109_0x3be4(){const _0x4049fc=['\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Legacy\x20artifacts:','package.json','\x20(backup:\x20','\x20\x20Current\x20version\x20in\x20','utf8','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x206/7:\x20Installing\x20new\x20skill...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','label','Remove\x20old\x20skill','cyan','parse','.cursor/mcp.json','path','green','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','some','Step\x204/7:\x20Cleaning\x20MCP\x20config...','30234frGADx','\x20\x20npm\x20install','no\x20legacy\x20config\x20found','args','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','@lovrabet/dataset-mcp-server','MCP\x20config:','error','\x20→\x20keys:\x20','entries','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','gray','filter','length','not\x20found\x20or\x20already\x20at\x20latest','Config\x20file:','detail','succeed','\x20from\x20','status','fail','Clean\x20MCP\x20config','Upgrade\x20cancelled.','not\x20needed','oldArtifacts','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','start','1YFylib','335236VnqPQQ','.cursor/rules/lovrabet_rules.mdc','oldMcpConfig','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','devDependencies','latest','Upgrade\x20@lovrabet/sdk','24cCoMhp','\x20\x20Fields\x20to\x20migrate:\x20','dependencies','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Proceed\x20with\x20upgrade?','Remove\x20.lovrabet/','\x20removed\x20(','.lovrabet','step','fields','needed','skipped\x20(no\x20legacy\x20config)','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','[\x22@lovrabet/sdk\x22]:\x20','sdkUpgrade','\x20\x20\x20\x20\x20\x20\x20','keys','1006686TYHknd','undefined','CANCEL','skipped','isArray','string','no\x20legacy\x20entry','Install\x20new\x20skill','isDirectory','Skill\x20swap:','mcpServers','75EcbKWB','476441zuSdoW','inherit','FAIL','not\x20found\x20(will\x20create)','no\x20matching\x20entry\x20found','white','430173YPCnUC','bold','object','Config\x20migration','exit\x20','\x20→\x20','oldPath','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','lovrabet/lovrabet-skill\x20removed','@lovrabet/sdk:','158829YxAFqb','message','cwd','.bak','done','yellow','.claude/skills/lovrabet','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','===\x20Upgrade\x20Summary\x20===','removed\x20','push','includes','Step\x201/7:\x20Config\x20migration\x20—\x20','hasNewConfig','===\x20Upgrade\x20Analysis\x20===','log','failed','836964wrqjQW','join','files','@lovrabet/sdk','\x20→\x20latest','stringify','red','Upgrade\x20completed\x20successfully!','needsSkillSwap','Step\x201/7:\x20Migrating\x20config...','yes','170eDVpfx','\x20\x20Step\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'];a109_0x3be4=function(){return _0x4049fc;};return a109_0x3be4();}const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a109_0x5dd933(0x1d9)](_0x2a6495=>_0x2a6495!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5b8813){const _0x25cb51=a109_0x5dd933,_0x8dde23=[];for(const _0x61e20e of Object['values'](CORE_IDE_CONFIGS)){if(_0x61e20e[_0x25cb51(0x1ad)])for(const _0x346d2a of _0x61e20e[_0x25cb51(0x1ad)]){_0x8dde23[_0x25cb51(0x1a4)](resolve(_0x5b8813,_0x346d2a[_0x25cb51(0x1c7)]));}}return _0x8dde23;}function analyse(_0x50916c){const _0x51bc9a=a109_0x5dd933;let _0x4b5e08=null;const _0xdfd953=resolve(_0x50916c,NEW_CONFIG_NAME),_0x17ed18=existsSync(_0xdfd953);for(const _0x2a421e of LEGACY_CONFIG_NAMES){const _0x7f6a62=resolve(_0x50916c,_0x2a421e);if(existsSync(_0x7f6a62)){const _0x32855d=readConfigFile(_0x7f6a62),_0xbee20=Object[_0x51bc9a(0x17c)](_0x32855d)['filter'](_0x123424=>typeof _0x32855d[_0x123424]!==_0x51bc9a(0x17e));_0x4b5e08={'oldPath':_0x7f6a62,'hasNewConfig':_0x17ed18,'fields':_0xbee20};break;}}const _0x1d4a4a=[],_0x4b0b9c=resolve(_0x50916c,'.lovrabet');if(existsSync(_0x4b0b9c))_0x1d4a4a['push'](_0x4b0b9c);const _0x2d6d13=resolve(_0x50916c,_0x51bc9a(0x1ea));if(existsSync(_0x2d6d13))_0x1d4a4a[_0x51bc9a(0x1a4)](_0x2d6d13);const _0x5d7ef0=resolve(_0x50916c,_0x51bc9a(0x1a0));if(existsSync(_0x5d7ef0))_0x1d4a4a[_0x51bc9a(0x1a4)](_0x5d7ef0);for(const _0x1e3dad of collectIdeSkillFiles(_0x50916c)){if(existsSync(_0x1e3dad))_0x1d4a4a[_0x51bc9a(0x1a4)](_0x1e3dad);}let _0x221cc7=null;const _0x4a8a48=resolve(_0x50916c,_0x51bc9a(0x1c6));if(existsSync(_0x4a8a48))try{const _0x5a2022=JSON['parse'](readFileSync(_0x4a8a48,_0x51bc9a(0x1be)));if(_0x5a2022?.[_0x51bc9a(0x187)]&&typeof _0x5a2022[_0x51bc9a(0x187)]===_0x51bc9a(0x191)){const _0x362315=[];for(const [_0x27cb8c,_0x55c54a]of Object[_0x51bc9a(0x1d6)](_0x5a2022[_0x51bc9a(0x187)])){const _0x2003c5=_0x55c54a;_0x2003c5?.['args']&&Array[_0x51bc9a(0x181)](_0x2003c5[_0x51bc9a(0x1d0)])&&_0x2003c5[_0x51bc9a(0x1d0)]['some'](_0x5e4d2d=>typeof _0x5e4d2d===_0x51bc9a(0x182)&&_0x5e4d2d[_0x51bc9a(0x1a5)](_0x51bc9a(0x1d2)))&&_0x362315[_0x51bc9a(0x1a4)](_0x27cb8c);}_0x362315[_0x51bc9a(0x1da)]>0x0&&(_0x221cc7={'path':_0x4a8a48,'keys':_0x362315});}}catch{}const _0x1b84f6=_0x1d4a4a['length']>0x0||_0x4b5e08!==null;let _0x572a50=null;const _0x31e278=resolve(_0x50916c,_0x51bc9a(0x1bb));if(existsSync(_0x31e278))try{const _0x3f247f=JSON['parse'](readFileSync(_0x31e278,_0x51bc9a(0x1be)));for(const _0x484356 of[_0x51bc9a(0x1f2),_0x51bc9a(0x1ed)]){const _0x22a57c=_0x3f247f?.[_0x484356]?.[_0x51bc9a(0x1ae)];if(typeof _0x22a57c===_0x51bc9a(0x182)){_0x22a57c!==_0x51bc9a(0x1ee)&&(_0x572a50={'pkgPath':_0x31e278,'currentVersion':_0x22a57c,'field':_0x484356});break;}}}catch{}return{'configMigration':_0x4b5e08,'oldArtifacts':_0x1d4a4a,'oldMcpConfig':_0x221cc7,'needsSkillSwap':_0x1b84f6,'sdkUpgrade':_0x572a50};}function printReport(_0x23a1f9){const _0x322b38=a109_0x5dd933,{configMigration:_0x58a8e2,oldArtifacts:_0x45a681,oldMcpConfig:_0x1893cb,needsSkillSwap:_0x4fbee3}=_0x23a1f9;console[_0x322b38(0x1a9)](''),console[_0x322b38(0x1a9)](a109_0x3c314a['bold'](_0x322b38(0x1a8))),console[_0x322b38(0x1a9)]('');_0x58a8e2?(console[_0x322b38(0x1a9)](a109_0x3c314a[_0x322b38(0x1c4)]('Config\x20file:')+('\x20\x20'+a109_0x3c314a[_0x322b38(0x19f)](_0x58a8e2[_0x322b38(0x195)]))),console[_0x322b38(0x1a9)](_0x322b38(0x196)+(_0x58a8e2[_0x322b38(0x1a7)]?a109_0x3c314a[_0x322b38(0x1c8)]('already\x20exists\x20(will\x20merge)'):a109_0x3c314a[_0x322b38(0x1d8)](_0x322b38(0x18c)))),console[_0x322b38(0x1a9)](_0x322b38(0x1f1)+_0x58a8e2[_0x322b38(0x1f9)][_0x322b38(0x1ac)](',\x20')),console[_0x322b38(0x1a9)](_0x322b38(0x1b9))):console[_0x322b38(0x1a9)](a109_0x3c314a['cyan'](_0x322b38(0x1dc))+'\x20\x20'+a109_0x3c314a[_0x322b38(0x1d8)](_0x322b38(0x1cf)));console['log']('');if(_0x45a681[_0x322b38(0x1da)]>0x0){console[_0x322b38(0x1a9)](a109_0x3c314a[_0x322b38(0x1c4)](_0x322b38(0x1ba)));for(const _0x793378 of _0x45a681){console[_0x322b38(0x1a9)]('\x20\x20'+a109_0x3c314a['red']('FOUND')+'\x20\x20'+_0x793378);}console[_0x322b38(0x1a9)]('\x20\x20Action:\x20delete');}else console[_0x322b38(0x1a9)](a109_0x3c314a[_0x322b38(0x1c4)](_0x322b38(0x1ba))+'\x20\x20'+a109_0x3c314a[_0x322b38(0x1d8)]('none\x20found'));console[_0x322b38(0x1a9)]('');_0x1893cb?(console[_0x322b38(0x1a9)](a109_0x3c314a['cyan'](_0x322b38(0x1d3))+('\x20\x20'+a109_0x3c314a[_0x322b38(0x19f)](_0x1893cb[_0x322b38(0x1c7)])+_0x322b38(0x1d5)+_0x1893cb[_0x322b38(0x17c)]['join'](',\x20'))),console[_0x322b38(0x1a9)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console['log'](a109_0x3c314a[_0x322b38(0x1c4)]('MCP\x20config:')+'\x20\x20'+a109_0x3c314a['gray'](_0x322b38(0x183)));console[_0x322b38(0x1a9)](''),console['log'](a109_0x3c314a[_0x322b38(0x1c4)](_0x322b38(0x186))+('\x20\x20'+(_0x4fbee3?a109_0x3c314a['yellow'](_0x322b38(0x1fa)):a109_0x3c314a['green'](_0x322b38(0x1e4)))));_0x4fbee3&&console['log'](_0x322b38(0x1f3)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x322b38(0x1a9)]('');if(_0x23a1f9[_0x322b38(0x17a)]){const {currentVersion:_0x2eb009,field:_0x440a5a,pkgPath:_0x321b67}=_0x23a1f9[_0x322b38(0x17a)];console[_0x322b38(0x1a9)](a109_0x3c314a[_0x322b38(0x1c4)](_0x322b38(0x199))+('\x20\x20'+a109_0x3c314a[_0x322b38(0x19f)](_0x321b67))),console[_0x322b38(0x1a9)](_0x322b38(0x1bd)+_0x440a5a+':\x20'+a109_0x3c314a[_0x322b38(0x19f)](_0x2eb009)+'\x20→\x20'+a109_0x3c314a['green'](_0x322b38(0x1ee))),console[_0x322b38(0x1a9)](_0x322b38(0x178));}else console[_0x322b38(0x1a9)](a109_0x3c314a[_0x322b38(0x1c4)](_0x322b38(0x199))+'\x20\x20'+a109_0x3c314a[_0x322b38(0x1d8)](_0x322b38(0x1db)));console[_0x322b38(0x1a9)]('');}function execConfigMigration(_0x2f8c11,_0x3c945c){const _0xb25b2b=a109_0x5dd933,{configMigration:_0x59f631}=_0x2f8c11;if(!_0x59f631?.[_0xb25b2b(0x195)])return{'step':0x1,'label':_0xb25b2b(0x192),'ok':!![],'detail':_0xb25b2b(0x177)};const _0x110207=readConfigFile(_0x59f631[_0xb25b2b(0x195)]),_0x374fca=resolve(_0x3c945c,NEW_CONFIG_NAME),_0x11d9ff=_0x59f631[_0xb25b2b(0x1a7)]?readConfigFile(_0x374fca):{};for(const [_0x2a671d,_0x576d5a]of Object['entries'](_0x110207)){!(_0x2a671d in _0x11d9ff)&&(_0x11d9ff[_0x2a671d]=_0x576d5a);}writeConfigFile(_0x374fca,_0x11d9ff);const _0x54745f=_0x59f631[_0xb25b2b(0x195)]+_0xb25b2b(0x19d);return renameSync(_0x59f631[_0xb25b2b(0x195)],_0x54745f),{'step':0x1,'label':_0xb25b2b(0x192),'ok':!![],'detail':_0x59f631[_0xb25b2b(0x195)]+_0xb25b2b(0x194)+_0x374fca+_0xb25b2b(0x1bc)+_0x54745f+')'};}function execRemoveOldArtifacts(_0x1dd462){const _0x35e094=a109_0x5dd933,_0x42fdb1=[];for(const _0x44fca4 of _0x1dd462){try{if(!existsSync(_0x44fca4))continue;const _0x47573c=tryStat(_0x44fca4);_0x47573c?.[_0x35e094(0x185)]()?rmSync(_0x44fca4,{'recursive':!![],'force':!![]}):unlinkSync(_0x44fca4);}catch(_0x366552){_0x42fdb1['push'](_0x44fca4+':\x20'+_0x366552[_0x35e094(0x19b)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x42fdb1[_0x35e094(0x1da)]===0x0,'detail':_0x42fdb1[_0x35e094(0x1da)]>0x0?_0x1dd462[_0x35e094(0x1da)]-_0x42fdb1[_0x35e094(0x1da)]+'/'+_0x1dd462['length']+_0x35e094(0x1f6)+_0x42fdb1[_0x35e094(0x1ac)](';\x20')+')':_0x1dd462[_0x35e094(0x1da)]+'\x20removed'};}function execCleanMcp(_0x1d17d7){const _0x5dd42f=a109_0x5dd933;if(!_0x1d17d7[_0x5dd42f(0x1eb)])return{'step':0x4,'label':_0x5dd42f(0x1e2),'ok':!![],'detail':_0x5dd42f(0x180)};try{const _0x1999bd=readFileSync(_0x1d17d7[_0x5dd42f(0x1eb)][_0x5dd42f(0x1c7)],'utf8'),_0x23dd55=JSON[_0x5dd42f(0x1c5)](_0x1999bd);if(_0x23dd55?.['mcpServers']&&typeof _0x23dd55['mcpServers']===_0x5dd42f(0x191)){const _0x112431=[];for(const [_0x2c0db6,_0x4e8bb6]of Object['entries'](_0x23dd55[_0x5dd42f(0x187)])){_0x4e8bb6?.[_0x5dd42f(0x1d0)]&&Array[_0x5dd42f(0x181)](_0x4e8bb6['args'])&&_0x4e8bb6[_0x5dd42f(0x1d0)][_0x5dd42f(0x1cb)](_0x59b2f6=>typeof _0x59b2f6==='string'&&_0x59b2f6['includes'](_0x5dd42f(0x1d2)))&&_0x112431[_0x5dd42f(0x1a4)](_0x2c0db6);}for(const _0xb90e86 of _0x112431){delete _0x23dd55[_0x5dd42f(0x187)][_0xb90e86];}return _0x112431[_0x5dd42f(0x1da)]>0x0&&writeFileSync(_0x1d17d7[_0x5dd42f(0x1eb)][_0x5dd42f(0x1c7)],JSON[_0x5dd42f(0x1b0)](_0x23dd55,null,0x2)+'\x0a',_0x5dd42f(0x1be)),{'step':0x4,'label':_0x5dd42f(0x1e2),'ok':!![],'detail':_0x5dd42f(0x1a3)+_0x112431[_0x5dd42f(0x1ac)](',\x20')+_0x5dd42f(0x1df)+_0x1d17d7[_0x5dd42f(0x1eb)][_0x5dd42f(0x1c7)]};}return{'step':0x4,'label':_0x5dd42f(0x1e2),'ok':!![],'detail':_0x5dd42f(0x18d)};}catch(_0x891c79){return{'step':0x4,'label':_0x5dd42f(0x1e2),'ok':![],'detail':_0x891c79[_0x5dd42f(0x19b)]};}}function execSkillsRemove(_0x244188,_0x5552a6){const _0x491cd9=a109_0x5dd933,_0x5d9f1c=runNpxSkillsRemove(_0x244188,{'stdio':_0x491cd9(0x18a),'yes':_0x5552a6});return{'step':0x5,'label':_0x491cd9(0x1c3),'ok':_0x5d9f1c['ok'],'detail':_0x5d9f1c['ok']?_0x491cd9(0x198):_0x5d9f1c[_0x491cd9(0x1d4)]??_0x491cd9(0x193)+_0x5d9f1c[_0x491cd9(0x1e0)]};}function execSkillsAdd(_0x4f6fd0,_0x2b0609){const _0x4e511e=a109_0x5dd933,_0x2ea642=runNpxSkillsAddGlobal(_0x4f6fd0,'lovrabet/rabetbase',{'stdio':_0x4e511e(0x18a),'yes':_0x2b0609});return{'step':0x6,'label':_0x4e511e(0x184),'ok':_0x2ea642['ok'],'detail':_0x2ea642['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x2ea642[_0x4e511e(0x1d4)]??_0x4e511e(0x193)+_0x2ea642[_0x4e511e(0x1e0)]};}function execUpgradeSdk(_0x3b8329){const _0x5ee814=a109_0x5dd933;if(!_0x3b8329[_0x5ee814(0x17a)])return{'step':0x7,'label':_0x5ee814(0x1ef),'ok':!![],'detail':_0x5ee814(0x1a1)};const {pkgPath:_0x22d815,currentVersion:_0x3307b7,field:_0x131d97}=_0x3b8329[_0x5ee814(0x17a)];try{const _0x2db874=readFileSync(_0x22d815,_0x5ee814(0x1be)),_0x41f14c=JSON[_0x5ee814(0x1c5)](_0x2db874);return _0x41f14c[_0x131d97][_0x5ee814(0x1ae)]=_0x5ee814(0x1ee),writeFileSync(_0x22d815,JSON['stringify'](_0x41f14c,null,0x2)+'\x0a',_0x5ee814(0x1be)),{'step':0x7,'label':_0x5ee814(0x1ef),'ok':!![],'detail':_0x131d97+_0x5ee814(0x179)+_0x3307b7+_0x5ee814(0x1af)};}catch(_0x3caca8){return{'step':0x7,'label':_0x5ee814(0x1ef),'ok':![],'detail':_0x3caca8[_0x5ee814(0x19b)]};}}function tryStat(_0x38e9f6){try{return statSync(_0x38e9f6);}catch{return undefined;}}function printSummary(_0x41e5f3){const _0x19b05d=a109_0x5dd933;console[_0x19b05d(0x1a9)](''),console[_0x19b05d(0x1a9)](a109_0x3c314a[_0x19b05d(0x190)](_0x19b05d(0x1a2))),console[_0x19b05d(0x1a9)]('');for(const _0x9160e3 of _0x41e5f3){const _0x2a9ab0=_0x9160e3['ok']?a109_0x3c314a['green']('OK'):a109_0x3c314a[_0x19b05d(0x1b1)](_0x19b05d(0x18b));console[_0x19b05d(0x1a9)]('\x20\x20'+_0x2a9ab0+_0x19b05d(0x1b7)+_0x9160e3[_0x19b05d(0x1f8)]+':\x20'+_0x9160e3[_0x19b05d(0x1c2)]);if(_0x9160e3[_0x19b05d(0x1dd)])console[_0x19b05d(0x1a9)](_0x19b05d(0x17b)+a109_0x3c314a[_0x19b05d(0x1d8)](_0x9160e3[_0x19b05d(0x1dd)]));}console[_0x19b05d(0x1a9)]('');}export async function upgradeApp(_0x3e4429,_0x402221){const _0x51a33=a109_0x5dd933,_0x50e907=process[_0x51a33(0x19c)](),_0x1e324b=analyse(_0x50e907),_0x4a359b=!_0x1e324b['configMigration']&&_0x1e324b[_0x51a33(0x1e5)][_0x51a33(0x1da)]===0x0&&!_0x1e324b[_0x51a33(0x1eb)]&&!_0x1e324b[_0x51a33(0x1b3)]&&!_0x1e324b[_0x51a33(0x17a)];if(_0x4a359b){console[_0x51a33(0x1a9)](a109_0x3c314a[_0x51a33(0x1c8)](_0x51a33(0x1ec)));return;}printReport(_0x1e324b);const _0x27888f=!!(_0x402221[_0x51a33(0x1b5)]||_0x402221['Y']||_0x3e4429);if(!_0x27888f)try{const _0x1ed00b=await askConfirm(_0x51a33(0x1f4));if(!_0x1ed00b){console[_0x51a33(0x1a9)](a109_0x3c314a[_0x51a33(0x1d8)](_0x51a33(0x1e3)));return;}}catch(_0x256de8){if(_0x256de8?.[_0x51a33(0x19b)]===_0x51a33(0x17f)){console['log'](a109_0x3c314a[_0x51a33(0x1d8)](_0x51a33(0x1e3)));return;}throw _0x256de8;}const _0x4ab80c=[],_0x16d1c6=a109_0x407c8c({'text':_0x51a33(0x1b4),'color':'cyan'})[_0x51a33(0x1e7)](),_0x1b4891=execConfigMigration(_0x1e324b,_0x50e907);_0x4ab80c['push'](_0x1b4891),_0x16d1c6[_0x1b4891['ok']?_0x51a33(0x1de):_0x51a33(0x1e1)](_0x51a33(0x1a6)+(_0x1b4891['detail']??(_0x1b4891['ok']?'done':_0x51a33(0x1aa))));const _0x529a44=resolve(_0x50e907,_0x51a33(0x1f7)),_0x3802f2=a109_0x407c8c({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x51a33(0x1c4)})['start']();if(existsSync(_0x529a44))try{rmSync(_0x529a44,{'recursive':!![],'force':!![]}),_0x3802f2[_0x51a33(0x1de)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x4ab80c[_0x51a33(0x1a4)]({'step':0x2,'label':_0x51a33(0x1f5),'ok':!![]});}catch(_0x3e395b){_0x3802f2['fail'](_0x51a33(0x197)+_0x3e395b['message']),_0x4ab80c[_0x51a33(0x1a4)]({'step':0x2,'label':_0x51a33(0x1f5),'ok':![],'detail':_0x3e395b['message']});}else _0x3802f2['info'](_0x51a33(0x1c9)),_0x4ab80c['push']({'step':0x2,'label':_0x51a33(0x1f5),'ok':!![],'detail':_0x51a33(0x180)});const _0x49c58c=a109_0x407c8c({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x51a33(0x1c4)})[_0x51a33(0x1e7)](),_0x27f660=execRemoveOldArtifacts(_0x1e324b['oldArtifacts']);_0x4ab80c[_0x51a33(0x1a4)](_0x27f660),_0x49c58c[_0x27f660['ok']?_0x51a33(0x1de):'fail'](_0x51a33(0x1d1)+(_0x27f660[_0x51a33(0x1dd)]??(_0x27f660['ok']?_0x51a33(0x19e):_0x51a33(0x1aa))));const _0x4ce952=a109_0x407c8c({'text':_0x51a33(0x1cc),'color':_0x51a33(0x1c4)})['start'](),_0x361d23=execCleanMcp(_0x1e324b);_0x4ab80c['push'](_0x361d23),_0x4ce952[_0x361d23['ok']?_0x51a33(0x1de):_0x51a33(0x1e1)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x361d23['detail']??(_0x361d23['ok']?'done':_0x51a33(0x1aa))));const _0x3f3fff=a109_0x407c8c({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})[_0x51a33(0x1e7)](),_0x3b775=execSkillsRemove(_0x50e907,_0x27888f);_0x4ab80c[_0x51a33(0x1a4)](_0x3b775),_0x3f3fff[_0x3b775['ok']?_0x51a33(0x1de):_0x51a33(0x1e1)](_0x51a33(0x1bf)+(_0x3b775['detail']??(_0x3b775['ok']?_0x51a33(0x19e):'failed')));const _0x4b56d0=a109_0x407c8c({'text':_0x51a33(0x1c0),'color':_0x51a33(0x1c4)})['start'](),_0x1bb526=execSkillsAdd(_0x50e907,_0x27888f);_0x4ab80c[_0x51a33(0x1a4)](_0x1bb526),_0x4b56d0[_0x1bb526['ok']?_0x51a33(0x1de):_0x51a33(0x1e1)](_0x51a33(0x1b8)+(_0x1bb526[_0x51a33(0x1dd)]??(_0x1bb526['ok']?_0x51a33(0x19e):_0x51a33(0x1aa))));const _0x3834fa=a109_0x407c8c({'text':_0x51a33(0x1ca),'color':_0x51a33(0x1c4)})[_0x51a33(0x1e7)](),_0x1d4f7e=execUpgradeSdk(_0x1e324b);_0x4ab80c[_0x51a33(0x1a4)](_0x1d4f7e),_0x3834fa[_0x1d4f7e['ok']?_0x51a33(0x1de):_0x51a33(0x1e1)](_0x51a33(0x1e6)+(_0x1d4f7e[_0x51a33(0x1dd)]??(_0x1d4f7e['ok']?_0x51a33(0x19e):'failed'))),printSummary(_0x4ab80c);const _0x30d570=_0x4ab80c[_0x51a33(0x1cb)](_0x2a5dd4=>!_0x2a5dd4['ok']);_0x30d570?console['log'](a109_0x3c314a[_0x51a33(0x19f)](_0x51a33(0x1d7))):console[_0x51a33(0x1a9)](a109_0x3c314a['green'](_0x51a33(0x1b2))),_0x1d4f7e['ok']&&_0x1e324b[_0x51a33(0x17a)]&&(console[_0x51a33(0x1a9)](''),console['log'](a109_0x3c314a['bold']['cyan'](_0x51a33(0x1c1))),console[_0x51a33(0x1a9)](a109_0x3c314a[_0x51a33(0x1c4)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x51a33(0x1a9)](''),console['log'](a109_0x3c314a['white'](_0x51a33(0x1ce))),console[_0x51a33(0x1a9)](a109_0x3c314a[_0x51a33(0x18e)]('\x20\x20#\x20or')),console['log'](a109_0x3c314a[_0x51a33(0x18e)]('\x20\x20bun\x20install')),console[_0x51a33(0x1a9)](''));}
1
+ const a109_0x44a648=a109_0x3bf9;(function(_0x1455d7,_0x451338){const _0x4bb61f=a109_0x3bf9,_0x518c5e=_0x1455d7();while(!![]){try{const _0x46134b=-parseInt(_0x4bb61f(0x1aa))/0x1*(-parseInt(_0x4bb61f(0x1b9))/0x2)+-parseInt(_0x4bb61f(0x1a7))/0x3*(parseInt(_0x4bb61f(0x164))/0x4)+parseInt(_0x4bb61f(0x19b))/0x5*(parseInt(_0x4bb61f(0x196))/0x6)+parseInt(_0x4bb61f(0x1bd))/0x7*(-parseInt(_0x4bb61f(0x1a0))/0x8)+-parseInt(_0x4bb61f(0x167))/0x9+-parseInt(_0x4bb61f(0x177))/0xa*(parseInt(_0x4bb61f(0x1b7))/0xb)+-parseInt(_0x4bb61f(0x1d4))/0xc*(-parseInt(_0x4bb61f(0x19d))/0xd);if(_0x46134b===_0x451338)break;else _0x518c5e['push'](_0x518c5e['shift']());}catch(_0x3d429d){_0x518c5e['push'](_0x518c5e['shift']());}}}(a109_0x53d9,0x59e18));import a109_0x24f616 from'chalk';import a109_0x5dc98f 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_0x44a648(0x17e)](_0x47846d=>_0x47846d!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x1af3f9){const _0x1d5b1b=a109_0x44a648,_0x380936=[];for(const _0x473ccf of Object[_0x1d5b1b(0x17c)](CORE_IDE_CONFIGS)){if(_0x473ccf[_0x1d5b1b(0x186)])for(const _0x3268e7 of _0x473ccf[_0x1d5b1b(0x186)]){_0x380936[_0x1d5b1b(0x17d)](resolve(_0x1af3f9,_0x3268e7[_0x1d5b1b(0x161)]));}}return _0x380936;}function analyse(_0xcea2b1){const _0x348d31=a109_0x44a648;let _0x1f7200=null;const _0x3a6246=resolve(_0xcea2b1,NEW_CONFIG_NAME),_0x4ba90a=existsSync(_0x3a6246);for(const _0x5346d1 of LEGACY_CONFIG_NAMES){const _0x464096=resolve(_0xcea2b1,_0x5346d1);if(existsSync(_0x464096)){const _0x24b47d=readConfigFile(_0x464096),_0x378e06=Object['keys'](_0x24b47d)[_0x348d31(0x17e)](_0x11ed43=>typeof _0x24b47d[_0x11ed43]!=='undefined');_0x1f7200={'oldPath':_0x464096,'hasNewConfig':_0x4ba90a,'fields':_0x378e06};break;}}const _0xc32f9f=[],_0x436ef3=resolve(_0xcea2b1,_0x348d31(0x1cf));if(existsSync(_0x436ef3))_0xc32f9f['push'](_0x436ef3);const _0x1beeb4=resolve(_0xcea2b1,_0x348d31(0x1b5));if(existsSync(_0x1beeb4))_0xc32f9f[_0x348d31(0x17d)](_0x1beeb4);const _0x33ac1b=resolve(_0xcea2b1,_0x348d31(0x1e0));if(existsSync(_0x33ac1b))_0xc32f9f[_0x348d31(0x17d)](_0x33ac1b);for(const _0x55274c of collectIdeSkillFiles(_0xcea2b1)){if(existsSync(_0x55274c))_0xc32f9f[_0x348d31(0x17d)](_0x55274c);}let _0x2017f8=null;const _0x2a98ff=resolve(_0xcea2b1,'.cursor/mcp.json');if(existsSync(_0x2a98ff))try{const _0xff06aa=JSON['parse'](readFileSync(_0x2a98ff,_0x348d31(0x1bf)));if(_0xff06aa?.[_0x348d31(0x15d)]&&typeof _0xff06aa['mcpServers']===_0x348d31(0x1d9)){const _0x465199=[];for(const [_0x32e589,_0x3791f4]of Object['entries'](_0xff06aa[_0x348d31(0x15d)])){const _0x952533=_0x3791f4;_0x952533?.['args']&&Array[_0x348d31(0x1dc)](_0x952533['args'])&&_0x952533['args']['some'](_0x4e08ff=>typeof _0x4e08ff===_0x348d31(0x1b0)&&_0x4e08ff['includes'](_0x348d31(0x171)))&&_0x465199['push'](_0x32e589);}_0x465199[_0x348d31(0x162)]>0x0&&(_0x2017f8={'path':_0x2a98ff,'keys':_0x465199});}}catch{}const _0x53f0eb=_0xc32f9f[_0x348d31(0x162)]>0x0||_0x1f7200!==null;let _0x336f02=null;const _0x16fb47=resolve(_0xcea2b1,'package.json');if(existsSync(_0x16fb47))try{const _0x521e18=JSON[_0x348d31(0x15f)](readFileSync(_0x16fb47,_0x348d31(0x1bf)));for(const _0x542fd9 of[_0x348d31(0x17f),_0x348d31(0x191)]){const _0x3d253d=_0x521e18?.[_0x542fd9]?.[_0x348d31(0x172)];if(typeof _0x3d253d===_0x348d31(0x1b0)){_0x3d253d!==_0x348d31(0x1b8)&&(_0x336f02={'pkgPath':_0x16fb47,'currentVersion':_0x3d253d,'field':_0x542fd9});break;}}}catch{}return{'configMigration':_0x1f7200,'oldArtifacts':_0xc32f9f,'oldMcpConfig':_0x2017f8,'needsSkillSwap':_0x53f0eb,'sdkUpgrade':_0x336f02};}function a109_0x3bf9(_0x4a778e,_0x475852){_0x4a778e=_0x4a778e-0x15c;const _0x53d9ef=a109_0x53d9();let _0x3bf9a5=_0x53d9ef[_0x4a778e];return _0x3bf9a5;}function printReport(_0x2a93c7){const _0x1c0b96=a109_0x44a648,{configMigration:_0x1abf26,oldArtifacts:_0x22de7e,oldMcpConfig:_0x3aaf26,needsSkillSwap:_0x54a4bd}=_0x2a93c7;console['log'](''),console[_0x1c0b96(0x180)](a109_0x24f616[_0x1c0b96(0x17a)](_0x1c0b96(0x1ab))),console['log']('');_0x1abf26?(console[_0x1c0b96(0x180)](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x193))+('\x20\x20'+a109_0x24f616[_0x1c0b96(0x190)](_0x1abf26[_0x1c0b96(0x1c8)]))),console[_0x1c0b96(0x180)](_0x1c0b96(0x1c5)+(_0x1abf26[_0x1c0b96(0x165)]?a109_0x24f616[_0x1c0b96(0x1d6)]('already\x20exists\x20(will\x20merge)'):a109_0x24f616['gray'](_0x1c0b96(0x1b1)))),console['log'](_0x1c0b96(0x1cb)+_0x1abf26[_0x1c0b96(0x1bb)][_0x1c0b96(0x169)](',\x20')),console['log'](_0x1c0b96(0x16c))):console[_0x1c0b96(0x180)](a109_0x24f616['cyan']('Config\x20file:')+'\x20\x20'+a109_0x24f616[_0x1c0b96(0x1c9)](_0x1c0b96(0x197)));console[_0x1c0b96(0x180)]('');if(_0x22de7e[_0x1c0b96(0x162)]>0x0){console[_0x1c0b96(0x180)](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x1b6)));for(const _0x18ee3f of _0x22de7e){console['log']('\x20\x20'+a109_0x24f616[_0x1c0b96(0x1a6)](_0x1c0b96(0x19a))+'\x20\x20'+_0x18ee3f);}console[_0x1c0b96(0x180)]('\x20\x20Action:\x20delete');}else console[_0x1c0b96(0x180)](a109_0x24f616['cyan'](_0x1c0b96(0x1b6))+'\x20\x20'+a109_0x24f616[_0x1c0b96(0x1c9)](_0x1c0b96(0x182)));console[_0x1c0b96(0x180)]('');_0x3aaf26?(console['log'](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x1d1))+('\x20\x20'+a109_0x24f616[_0x1c0b96(0x190)](_0x3aaf26['path'])+_0x1c0b96(0x1d3)+_0x3aaf26[_0x1c0b96(0x185)][_0x1c0b96(0x169)](',\x20'))),console[_0x1c0b96(0x180)](_0x1c0b96(0x1a1))):console['log'](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x1d1))+'\x20\x20'+a109_0x24f616['gray']('no\x20legacy\x20entry'));console['log'](''),console[_0x1c0b96(0x180)](a109_0x24f616['cyan'](_0x1c0b96(0x1ce))+('\x20\x20'+(_0x54a4bd?a109_0x24f616[_0x1c0b96(0x190)](_0x1c0b96(0x183)):a109_0x24f616['green']('not\x20needed'))));_0x54a4bd&&console[_0x1c0b96(0x180)](_0x1c0b96(0x1ae)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1c0b96(0x180)]('');if(_0x2a93c7['sdkUpgrade']){const {currentVersion:_0x5e8836,field:_0x5b497c,pkgPath:_0x44185f}=_0x2a93c7[_0x1c0b96(0x1d8)];console['log'](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x1de))+('\x20\x20'+a109_0x24f616['yellow'](_0x44185f))),console[_0x1c0b96(0x180)](_0x1c0b96(0x179)+_0x5b497c+':\x20'+a109_0x24f616[_0x1c0b96(0x190)](_0x5e8836)+_0x1c0b96(0x18d)+a109_0x24f616[_0x1c0b96(0x1d6)](_0x1c0b96(0x1b8))),console[_0x1c0b96(0x180)](_0x1c0b96(0x176));}else console[_0x1c0b96(0x180)](a109_0x24f616[_0x1c0b96(0x1dd)](_0x1c0b96(0x1de))+'\x20\x20'+a109_0x24f616[_0x1c0b96(0x1c9)](_0x1c0b96(0x195)));console[_0x1c0b96(0x180)]('');}function a109_0x53d9(){const _0x5220dd=['132HsLitS','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','green','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','sdkUpgrade','object','\x20\x20npm\x20install','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','isArray','cyan','@lovrabet/sdk:','===\x20Upgrade\x20Summary\x20===','.claude/skills/lovrabet','stringify','mcpServers','lovrabet/lovrabet-skill\x20removed','parse','[\x22@lovrabet/sdk\x22]:\x20','path','length','\x20\x20bun\x20install','16588omvjty','hasNewConfig','step','5879025KMgiMD','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','join','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Remove\x20.lovrabet/','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','inherit','Step\x204/7:\x20Cleaning\x20MCP\x20config...','succeed','@lovrabet/dataset-mcp-server','@lovrabet/sdk','Step\x201/7:\x20Migrating\x20config...','oldArtifacts','lovrabet/rabetbase','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','1790FjyDEG','args','\x20\x20Current\x20version\x20in\x20','bold','start','values','push','filter','dependencies','log','some','none\x20found','needed','Remove\x20old\x20skill','keys','files','Install\x20new\x20skill','.bak','done','Upgrade\x20completed\x20successfully!','Step\x205/7:\x20Removing\x20old\x20skill...','info','\x20→\x20','Clean\x20MCP\x20config','Step\x204/7:\x20MCP\x20config\x20—\x20','yellow','devDependencies','entries','Config\x20file:','\x20\x20#\x20or','not\x20found\x20or\x20already\x20at\x20latest','7908TyOkRh','no\x20legacy\x20config\x20found','removed\x20','needsSkillSwap','FOUND','35steTGA','\x20removed\x20(','2109094bfAxOZ','Config\x20migration','yes','1804216BfupTI','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20removed','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','configMigration','failed','red','93sYIhEb','cwd','\x20from\x20','189793YYUGHz','===\x20Upgrade\x20Analysis\x20===','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Upgrade\x20@lovrabet/sdk','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','fail','string','not\x20found\x20(will\x20create)','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','exit\x20','includes','.cursor/rules/lovrabet_rules.mdc','Legacy\x20artifacts:','35178CwWczR','latest','4oyswzE','\x20\x20\x20\x20\x20\x20\x20','fields','error','14oLiiWW','isDirectory','utf8','status','label','Upgrade\x20cancelled.','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20→\x20latest','\x20\x20New\x20config\x20(.rabetbase.json):\x20','detail','skipped','oldPath','gray','message','\x20\x20Fields\x20to\x20migrate:\x20','lovrabet/rabetbase\x20installed\x20globally','oldMcpConfig','Skill\x20swap:','.lovrabet','\x20(backup:\x20','MCP\x20config:','white','\x20→\x20keys:\x20'];a109_0x53d9=function(){return _0x5220dd;};return a109_0x53d9();}function execConfigMigration(_0x36cfa3,_0x42871e){const _0x54a13c=a109_0x44a648,{configMigration:_0x320d8b}=_0x36cfa3;if(!_0x320d8b?.['oldPath'])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x67ef4f=readConfigFile(_0x320d8b['oldPath']),_0x5d5853=resolve(_0x42871e,NEW_CONFIG_NAME),_0x892f43=_0x320d8b[_0x54a13c(0x165)]?readConfigFile(_0x5d5853):{};for(const [_0x43a8d7,_0x2ddd01]of Object[_0x54a13c(0x192)](_0x67ef4f)){!(_0x43a8d7 in _0x892f43)&&(_0x892f43[_0x43a8d7]=_0x2ddd01);}writeConfigFile(_0x5d5853,_0x892f43);const _0x2fbc61=_0x320d8b[_0x54a13c(0x1c8)]+_0x54a13c(0x188);return renameSync(_0x320d8b[_0x54a13c(0x1c8)],_0x2fbc61),{'step':0x1,'label':_0x54a13c(0x19e),'ok':!![],'detail':_0x320d8b[_0x54a13c(0x1c8)]+'\x20→\x20'+_0x5d5853+_0x54a13c(0x1d0)+_0x2fbc61+')'};}function execRemoveOldArtifacts(_0xe11b6f){const _0xdcd975=a109_0x44a648,_0x344ee6=[];for(const _0x585f55 of _0xe11b6f){try{if(!existsSync(_0x585f55))continue;const _0x2bd608=tryStat(_0x585f55);_0x2bd608?.[_0xdcd975(0x1be)]()?rmSync(_0x585f55,{'recursive':!![],'force':!![]}):unlinkSync(_0x585f55);}catch(_0x25c559){_0x344ee6[_0xdcd975(0x17d)](_0x585f55+':\x20'+_0x25c559['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x344ee6[_0xdcd975(0x162)]===0x0,'detail':_0x344ee6[_0xdcd975(0x162)]>0x0?_0xe11b6f[_0xdcd975(0x162)]-_0x344ee6[_0xdcd975(0x162)]+'/'+_0xe11b6f[_0xdcd975(0x162)]+_0xdcd975(0x19c)+_0x344ee6['join'](';\x20')+')':_0xe11b6f[_0xdcd975(0x162)]+_0xdcd975(0x1a2)};}function execCleanMcp(_0x2c088b){const _0x1b7872=a109_0x44a648;if(!_0x2c088b[_0x1b7872(0x1cd)])return{'step':0x4,'label':_0x1b7872(0x18e),'ok':!![],'detail':_0x1b7872(0x1c7)};try{const _0x114d41=readFileSync(_0x2c088b[_0x1b7872(0x1cd)][_0x1b7872(0x161)],_0x1b7872(0x1bf)),_0xb31483=JSON[_0x1b7872(0x15f)](_0x114d41);if(_0xb31483?.['mcpServers']&&typeof _0xb31483[_0x1b7872(0x15d)]===_0x1b7872(0x1d9)){const _0x176228=[];for(const [_0x2705f9,_0x4d2692]of Object[_0x1b7872(0x192)](_0xb31483[_0x1b7872(0x15d)])){_0x4d2692?.[_0x1b7872(0x178)]&&Array['isArray'](_0x4d2692['args'])&&_0x4d2692[_0x1b7872(0x178)][_0x1b7872(0x181)](_0x348e60=>typeof _0x348e60==='string'&&_0x348e60[_0x1b7872(0x1b4)](_0x1b7872(0x171)))&&_0x176228[_0x1b7872(0x17d)](_0x2705f9);}for(const _0xf509cd of _0x176228){delete _0xb31483[_0x1b7872(0x15d)][_0xf509cd];}return _0x176228[_0x1b7872(0x162)]>0x0&&writeFileSync(_0x2c088b[_0x1b7872(0x1cd)][_0x1b7872(0x161)],JSON[_0x1b7872(0x15c)](_0xb31483,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x1b7872(0x198)+_0x176228['join'](',\x20')+_0x1b7872(0x1a9)+_0x2c088b[_0x1b7872(0x1cd)][_0x1b7872(0x161)]};}return{'step':0x4,'label':_0x1b7872(0x18e),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x17bd6f){return{'step':0x4,'label':_0x1b7872(0x18e),'ok':![],'detail':_0x17bd6f[_0x1b7872(0x1ca)]};}}function execSkillsRemove(_0x260b05,_0x37ee55){const _0x4dc7ca=a109_0x44a648,_0x48b6ec=runNpxSkillsRemove(_0x260b05,{'stdio':_0x4dc7ca(0x16e),'yes':_0x37ee55});return{'step':0x5,'label':_0x4dc7ca(0x184),'ok':_0x48b6ec['ok'],'detail':_0x48b6ec['ok']?_0x4dc7ca(0x15e):_0x48b6ec[_0x4dc7ca(0x1bc)]??_0x4dc7ca(0x1b3)+_0x48b6ec['status']};}function execSkillsAdd(_0x544c4b,_0x12e8a8){const _0x4b59e0=a109_0x44a648,_0x37db09=runNpxSkillsAddGlobal(_0x544c4b,_0x4b59e0(0x175),{'stdio':_0x4b59e0(0x16e),'yes':_0x12e8a8});return{'step':0x6,'label':_0x4b59e0(0x187),'ok':_0x37db09['ok'],'detail':_0x37db09['ok']?_0x4b59e0(0x1cc):_0x37db09['error']??_0x4b59e0(0x1b3)+_0x37db09[_0x4b59e0(0x1c0)]};}function execUpgradeSdk(_0x5c6898){const _0x4a2619=a109_0x44a648;if(!_0x5c6898['sdkUpgrade'])return{'step':0x7,'label':_0x4a2619(0x1ad),'ok':!![],'detail':_0x4a2619(0x1db)};const {pkgPath:_0x5ce7c4,currentVersion:_0x161570,field:_0x224c75}=_0x5c6898[_0x4a2619(0x1d8)];try{const _0xb78c49=readFileSync(_0x5ce7c4,_0x4a2619(0x1bf)),_0x183345=JSON[_0x4a2619(0x15f)](_0xb78c49);return _0x183345[_0x224c75]['@lovrabet/sdk']='latest',writeFileSync(_0x5ce7c4,JSON[_0x4a2619(0x15c)](_0x183345,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x4a2619(0x1ad),'ok':!![],'detail':_0x224c75+_0x4a2619(0x160)+_0x161570+_0x4a2619(0x1c4)};}catch(_0x46acae){return{'step':0x7,'label':_0x4a2619(0x1ad),'ok':![],'detail':_0x46acae[_0x4a2619(0x1ca)]};}}function tryStat(_0x6e1b10){try{return statSync(_0x6e1b10);}catch{return undefined;}}function printSummary(_0x261388){const _0x287c7e=a109_0x44a648;console[_0x287c7e(0x180)](''),console[_0x287c7e(0x180)](a109_0x24f616['bold'](_0x287c7e(0x1df))),console[_0x287c7e(0x180)]('');for(const _0x22b018 of _0x261388){const _0x28ba99=_0x22b018['ok']?a109_0x24f616[_0x287c7e(0x1d6)]('OK'):a109_0x24f616[_0x287c7e(0x1a6)]('FAIL');console['log']('\x20\x20'+_0x28ba99+'\x20\x20Step\x20'+_0x22b018[_0x287c7e(0x166)]+':\x20'+_0x22b018[_0x287c7e(0x1c1)]);if(_0x22b018[_0x287c7e(0x1c6)])console[_0x287c7e(0x180)](_0x287c7e(0x1ba)+a109_0x24f616['gray'](_0x22b018[_0x287c7e(0x1c6)]));}console[_0x287c7e(0x180)]('');}export async function upgradeApp(_0x149ddc,_0x87386d){const _0x252c7d=a109_0x44a648,_0x27c493=process[_0x252c7d(0x1a8)](),_0x293fc6=analyse(_0x27c493),_0x5da639=!_0x293fc6[_0x252c7d(0x1a4)]&&_0x293fc6['oldArtifacts'][_0x252c7d(0x162)]===0x0&&!_0x293fc6[_0x252c7d(0x1cd)]&&!_0x293fc6[_0x252c7d(0x199)]&&!_0x293fc6[_0x252c7d(0x1d8)];if(_0x5da639){console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1d6)](_0x252c7d(0x168)));return;}printReport(_0x293fc6);const _0xeb6410=!!(_0x87386d[_0x252c7d(0x19f)]||_0x87386d['Y']||_0x149ddc);if(!_0xeb6410)try{const _0x4acd54=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x4acd54){console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1c9)](_0x252c7d(0x1c2)));return;}}catch(_0x527598){if(_0x527598?.[_0x252c7d(0x1ca)]==='CANCEL'){console['log'](a109_0x24f616[_0x252c7d(0x1c9)](_0x252c7d(0x1c2)));return;}throw _0x527598;}const _0x47d2f9=[],_0x9bf950=a109_0x5dc98f({'text':_0x252c7d(0x173),'color':_0x252c7d(0x1dd)})['start'](),_0xd6606=execConfigMigration(_0x293fc6,_0x27c493);_0x47d2f9[_0x252c7d(0x17d)](_0xd6606),_0x9bf950[_0xd6606['ok']?_0x252c7d(0x170):_0x252c7d(0x1af)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0xd6606['detail']??(_0xd6606['ok']?_0x252c7d(0x189):_0x252c7d(0x1a5))));const _0x304732=resolve(_0x27c493,_0x252c7d(0x1cf)),_0x152f3b=a109_0x5dc98f({'text':_0x252c7d(0x1d5),'color':_0x252c7d(0x1dd)})[_0x252c7d(0x17b)]();if(existsSync(_0x304732))try{rmSync(_0x304732,{'recursive':!![],'force':!![]}),_0x152f3b[_0x252c7d(0x170)](_0x252c7d(0x1a3)),_0x47d2f9[_0x252c7d(0x17d)]({'step':0x2,'label':_0x252c7d(0x16b),'ok':!![]});}catch(_0x19ecb5){_0x152f3b[_0x252c7d(0x1af)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x19ecb5[_0x252c7d(0x1ca)]),_0x47d2f9[_0x252c7d(0x17d)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x19ecb5[_0x252c7d(0x1ca)]});}else _0x152f3b[_0x252c7d(0x18c)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x47d2f9[_0x252c7d(0x17d)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x252c7d(0x1c7)});const _0x246d34=a109_0x5dc98f({'text':_0x252c7d(0x1d7),'color':'cyan'})['start'](),_0x37bcc9=execRemoveOldArtifacts(_0x293fc6[_0x252c7d(0x174)]);_0x47d2f9[_0x252c7d(0x17d)](_0x37bcc9),_0x246d34[_0x37bcc9['ok']?_0x252c7d(0x170):_0x252c7d(0x1af)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x37bcc9[_0x252c7d(0x1c6)]??(_0x37bcc9['ok']?_0x252c7d(0x189):_0x252c7d(0x1a5))));const _0x3959ca=a109_0x5dc98f({'text':_0x252c7d(0x16f),'color':_0x252c7d(0x1dd)})[_0x252c7d(0x17b)](),_0x422ca9=execCleanMcp(_0x293fc6);_0x47d2f9[_0x252c7d(0x17d)](_0x422ca9),_0x3959ca[_0x422ca9['ok']?_0x252c7d(0x170):_0x252c7d(0x1af)](_0x252c7d(0x18f)+(_0x422ca9[_0x252c7d(0x1c6)]??(_0x422ca9['ok']?_0x252c7d(0x189):_0x252c7d(0x1a5))));const _0x1cdc0f=a109_0x5dc98f({'text':_0x252c7d(0x18b),'color':_0x252c7d(0x1dd)})[_0x252c7d(0x17b)](),_0x1b5f6d=execSkillsRemove(_0x27c493,_0xeb6410);_0x47d2f9['push'](_0x1b5f6d),_0x1cdc0f[_0x1b5f6d['ok']?'succeed':_0x252c7d(0x1af)](_0x252c7d(0x1ac)+(_0x1b5f6d[_0x252c7d(0x1c6)]??(_0x1b5f6d['ok']?_0x252c7d(0x189):_0x252c7d(0x1a5))));const _0x4b56c4=a109_0x5dc98f({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x252c7d(0x1dd)})[_0x252c7d(0x17b)](),_0xe44441=execSkillsAdd(_0x27c493,_0xeb6410);_0x47d2f9[_0x252c7d(0x17d)](_0xe44441),_0x4b56c4[_0xe44441['ok']?_0x252c7d(0x170):_0x252c7d(0x1af)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0xe44441[_0x252c7d(0x1c6)]??(_0xe44441['ok']?_0x252c7d(0x189):_0x252c7d(0x1a5))));const _0x29d9d1=a109_0x5dc98f({'text':_0x252c7d(0x16a),'color':_0x252c7d(0x1dd)})[_0x252c7d(0x17b)](),_0xf4e923=execUpgradeSdk(_0x293fc6);_0x47d2f9['push'](_0xf4e923),_0x29d9d1[_0xf4e923['ok']?_0x252c7d(0x170):_0x252c7d(0x1af)](_0x252c7d(0x1b2)+(_0xf4e923[_0x252c7d(0x1c6)]??(_0xf4e923['ok']?'done':_0x252c7d(0x1a5)))),printSummary(_0x47d2f9);const _0x4be612=_0x47d2f9['some'](_0x1adb9f=>!_0x1adb9f['ok']);_0x4be612?console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x190)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1d6)](_0x252c7d(0x18a))),_0xf4e923['ok']&&_0x293fc6[_0x252c7d(0x1d8)]&&(console[_0x252c7d(0x180)](''),console['log'](a109_0x24f616[_0x252c7d(0x17a)][_0x252c7d(0x1dd)](_0x252c7d(0x16d))),console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1dd)](_0x252c7d(0x1c3))),console[_0x252c7d(0x180)](''),console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1d2)](_0x252c7d(0x1da))),console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1d2)](_0x252c7d(0x194))),console[_0x252c7d(0x180)](a109_0x24f616[_0x252c7d(0x1d2)](_0x252c7d(0x163))),console[_0x252c7d(0x180)](''));}
@@ -1 +1 @@
1
- const a110_0x461512=a110_0x27ff;(function(_0x1760fe,_0x38d90f){const _0xf6ce9c=a110_0x27ff,_0xfa5d7a=_0x1760fe();while(!![]){try{const _0x489eaf=-parseInt(_0xf6ce9c(0xad))/0x1*(-parseInt(_0xf6ce9c(0x9b))/0x2)+parseInt(_0xf6ce9c(0x93))/0x3*(-parseInt(_0xf6ce9c(0xa6))/0x4)+parseInt(_0xf6ce9c(0xba))/0x5+parseInt(_0xf6ce9c(0xa5))/0x6+-parseInt(_0xf6ce9c(0x8d))/0x7+parseInt(_0xf6ce9c(0xa4))/0x8+-parseInt(_0xf6ce9c(0xbb))/0x9*(parseInt(_0xf6ce9c(0x91))/0xa);if(_0x489eaf===_0x38d90f)break;else _0xfa5d7a['push'](_0xfa5d7a['shift']());}catch(_0x5a3809){_0xfa5d7a['push'](_0xfa5d7a['shift']());}}}(a110_0x58d2,0x55650));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';function a110_0x58d2(){const _0x24f29b=['3302785Fizoeu','18kOefiC','set','logout','has','get','defaultCommand','service','from','45997eUzcOm','create','command','map','5385240RcSKdN','run','138biSpuR','Project','Smart\x20List\x20Pages','Self\x20Update','build','show','API','Database\x20Connections','4BGjqDt','App\x20Management','\x20\x20[write]','wildcardDef','isSingleCommand','Instant\x20API','risk','BFF\x20Scripts','push','4500512wAMmMZ','3199704JNNAuE','35568KLTNuv','Authentication','login','values','preview','Configuration','length','43011CTdawH','Diagnostics','Logs','install','start','<script>','Run\x20Scripts','Run\x20any\x20package.json\x20script','Menu','description','Quick\x20Start','skill','auth'];a110_0x58d2=function(){return _0x24f29b;};return a110_0x58d2();}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(_0xc69641){const _0x355ae1=a110_0x27ff;for(const _0x5be5c9 of _0xc69641){definitions[_0x355ae1(0xbc)](_0x5be5c9['service']+':'+_0x5be5c9[_0x355ae1(0x8f)],_0x5be5c9);let _0x5697df=serviceGroups[_0x355ae1(0xbf)](_0x5be5c9[_0x355ae1(0xc1)]);!_0x5697df&&(_0x5697df=[],serviceGroups[_0x355ae1(0xbc)](_0x5be5c9[_0x355ae1(0xc1)],_0x5697df)),_0x5697df[_0x355ae1(0xa3)](_0x5be5c9);}}function registerDeclarativeService(_0x14f9e3,_0x4dbf16,_0x324e89){const _0x376eaa=a110_0x27ff;registerDefinitions(_0x4dbf16);_0x324e89?.[_0x376eaa(0x9e)]&&registerDefinitions([_0x324e89[_0x376eaa(0x9e)]]);const _0x2c9dc4=_0x2c2dad=>_0x2c2dad==='read'?'':_0x2c2dad==='write'?_0x376eaa(0x9d):'\x20\x20[high-risk-write]',_0x2346e9={'service':_0x4dbf16[0x0][_0x376eaa(0xc1)],'label':_0x14f9e3,'commands':_0x4dbf16[_0x376eaa(0x90)](_0x4b7394=>({'command':_0x4b7394[_0x376eaa(0x8f)],'description':_0x4b7394[_0x376eaa(0xb6)],'tag':_0x2c9dc4(_0x4b7394[_0x376eaa(0xa1)])})),'declarative':!![],'defaultCommand':_0x324e89?.[_0x376eaa(0xc0)]??(_0x324e89?.['isSingleCommand']?_0x4dbf16[0x0][_0x376eaa(0x8f)]:undefined),'wildcardDef':_0x324e89?.['wildcardDef'],'isSingleCommand':_0x324e89?.[_0x376eaa(0x9f)]};serviceRegistry[_0x376eaa(0xa3)](_0x2346e9),serviceByName[_0x376eaa(0xbc)](_0x2346e9[_0x376eaa(0xc1)],_0x2346e9);}registerDeclarativeService(a110_0x461512(0xb7),initDefinitions,{'defaultCommand':a110_0x461512(0x92),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x461512(0x94),projectDefinitions),registerDeclarativeService(a110_0x461512(0x9c),appDefinitions),registerDeclarativeService(a110_0x461512(0xb3),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x461512(0xac)]-0x1];last['commands']=[{'command':a110_0x461512(0xb2),'description':a110_0x461512(0xb4),'tag':''}];}registerDeclarativeService(a110_0x461512(0xa7),authDefinitions,{'defaultCommand':a110_0x461512(0xa8)}),registerDeclarativeService(a110_0x461512(0x96),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x461512(0xae),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x461512(0xab),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a110_0x461512(0x99),apiDefinitions),registerDeclarativeService(a110_0x461512(0xb5),menuDefinitions),registerDeclarativeService(a110_0x461512(0x9a),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a110_0x461512(0x95),pageDefinitions),registerDeclarativeService(a110_0x461512(0xa0),dataDefinitions),registerDeclarativeService(a110_0x461512(0xa2),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x461512(0xaf),logsDefinitions,{'defaultCommand':a110_0x461512(0x98)});export const deprecatedAliases={'create':{'service':'project','command':a110_0x461512(0x8e)},'start':{'service':a110_0x461512(0x92),'command':a110_0x461512(0xb1)},'build':{'service':'run','command':a110_0x461512(0x97)},'preview':{'service':'run','command':a110_0x461512(0xaa)},'logout':{'service':a110_0x461512(0xb9),'command':a110_0x461512(0xbd)},'skills':{'service':a110_0x461512(0xb8),'command':a110_0x461512(0xb0)}};export const deprecatedSubcommands={'bff':{'new':a110_0x461512(0x8e)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x4d52be,_0x46db1d){return deprecatedSubcommands[_0x4d52be]?.[_0x46db1d];}export function findDefinition(_0x421838,_0x2e3ed5){const _0x448c58=a110_0x461512;return definitions[_0x448c58(0xbf)](_0x421838+':'+_0x2e3ed5);}export function isKnownService(_0x88fb5){const _0x298b68=a110_0x461512;return serviceByName[_0x298b68(0xbe)](_0x88fb5);}function a110_0x27ff(_0x3f3a82,_0x49c18b){_0x3f3a82=_0x3f3a82-0x8d;const _0x58d22d=a110_0x58d2();let _0x27ff62=_0x58d22d[_0x3f3a82];return _0x27ff62;}export function isDeclarativeService(_0x178898){const _0x106879=a110_0x461512;return serviceGroups[_0x106879(0xbe)](_0x178898)||serviceByName[_0x106879(0xbf)](_0x178898)?.[_0x106879(0x9e)]!==undefined;}export function getServiceEntry(_0x2ff7fc){const _0x2e135a=a110_0x461512;return serviceByName[_0x2e135a(0xbf)](_0x2ff7fc);}export function getLegacyHandler(_0x766b1f,_0x2eff67){return undefined;}export function getAllDefinitions(){const _0xa74b24=a110_0x461512;return Array[_0xa74b24(0xc2)](definitions[_0xa74b24(0xa9)]());}
1
+ const a110_0x1eec23=a110_0x22e8;(function(_0x8c198e,_0x209cc8){const _0x521a6d=a110_0x22e8,_0x2386de=_0x8c198e();while(!![]){try{const _0x517e07=parseInt(_0x521a6d(0x1f4))/0x1+-parseInt(_0x521a6d(0x20f))/0x2*(parseInt(_0x521a6d(0x20e))/0x3)+parseInt(_0x521a6d(0x1fe))/0x4*(-parseInt(_0x521a6d(0x1fa))/0x5)+-parseInt(_0x521a6d(0x20c))/0x6+-parseInt(_0x521a6d(0x218))/0x7+parseInt(_0x521a6d(0x209))/0x8*(-parseInt(_0x521a6d(0x205))/0x9)+parseInt(_0x521a6d(0x213))/0xa;if(_0x517e07===_0x209cc8)break;else _0x2386de['push'](_0x2386de['shift']());}catch(_0x9baa4a){_0x2386de['push'](_0x2386de['shift']());}}}(a110_0x2752,0x58269));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';function a110_0x22e8(_0x190919,_0x218b91){_0x190919=_0x190919-0x1e8;const _0x2752bf=a110_0x2752();let _0x22e8c5=_0x2752bf[_0x190919];return _0x22e8c5;}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(_0x5c2638){const _0x822e7b=a110_0x22e8;for(const _0x2c905e of _0x5c2638){definitions['set'](_0x2c905e[_0x822e7b(0x1ec)]+':'+_0x2c905e['command'],_0x2c905e);let _0x1637fc=serviceGroups[_0x822e7b(0x1f7)](_0x2c905e[_0x822e7b(0x1ec)]);!_0x1637fc&&(_0x1637fc=[],serviceGroups[_0x822e7b(0x1ee)](_0x2c905e[_0x822e7b(0x1ec)],_0x1637fc)),_0x1637fc['push'](_0x2c905e);}}function registerDeclarativeService(_0x63abf,_0x1e5a4e,_0x1513f8){const _0x358996=a110_0x22e8;registerDefinitions(_0x1e5a4e);_0x1513f8?.[_0x358996(0x201)]&&registerDefinitions([_0x1513f8[_0x358996(0x201)]]);const _0x94bd68=_0x45b34e=>_0x45b34e===_0x358996(0x20a)?'':_0x45b34e===_0x358996(0x203)?_0x358996(0x208):_0x358996(0x210),_0x5c4140={'service':_0x1e5a4e[0x0]['service'],'label':_0x63abf,'commands':_0x1e5a4e[_0x358996(0x21c)](_0x4f39b4=>({'command':_0x4f39b4[_0x358996(0x20b)],'description':_0x4f39b4[_0x358996(0x219)],'tag':_0x94bd68(_0x4f39b4[_0x358996(0x216)])})),'declarative':!![],'defaultCommand':_0x1513f8?.[_0x358996(0x215)]??(_0x1513f8?.[_0x358996(0x1ea)]?_0x1e5a4e[0x0]['command']:undefined),'wildcardDef':_0x1513f8?.[_0x358996(0x201)],'isSingleCommand':_0x1513f8?.[_0x358996(0x1ea)]};serviceRegistry[_0x358996(0x1f5)](_0x5c4140),serviceByName[_0x358996(0x1ee)](_0x5c4140[_0x358996(0x1ec)],_0x5c4140);}function a110_0x2752(){const _0x525c35=['3670352XLLIXQ','description','logout','BFF\x20Scripts','map','<script>','Diagnostics','create','values','isSingleCommand','Platform\x20Issue','service','project','set','Code\x20Generation','Schema','has','show','build','465117RmNrke','push','App\x20Management','get','from','API','55CPwbKE','Configuration','Run\x20any\x20package.json\x20script','Database\x20Connections','62404ASHLIM','Dataset\x20&\x20Operations','Instant\x20API','wildcardDef','auth','write','Project','9KALfLZ','login','Quick\x20Start','\x20\x20[write]','2606008mZENOa','read','command','3442584BZQlaE','length','28320lDDsNx','64CAIHGk','\x20\x20[high-risk-write]','run','skill','17934900XOwkHY','Menu','defaultCommand','risk','commands'];a110_0x2752=function(){return _0x525c35;};return a110_0x2752();}registerDeclarativeService(a110_0x1eec23(0x207),initDefinitions,{'defaultCommand':a110_0x1eec23(0x211),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x1eec23(0x204),projectDefinitions),registerDeclarativeService(a110_0x1eec23(0x1f6),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x1eec23(0x20d)]-0x1];last[a110_0x1eec23(0x217)]=[{'command':a110_0x1eec23(0x21d),'description':a110_0x1eec23(0x1fc),'tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a110_0x1eec23(0x206)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x1eec23(0x21e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x1eec23(0x1f0),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x1eec23(0x1fb),configDefinitions),registerDeclarativeService(a110_0x1eec23(0x1eb),issueDefinitions),registerDeclarativeService(a110_0x1eec23(0x1f9),apiDefinitions),registerDeclarativeService(a110_0x1eec23(0x214),menuDefinitions),registerDeclarativeService(a110_0x1eec23(0x1fd),dbDefinitions),registerDeclarativeService(a110_0x1eec23(0x1ff),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a110_0x1eec23(0x200),dataDefinitions),registerDeclarativeService(a110_0x1eec23(0x21b),bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a110_0x1eec23(0x1ef),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a110_0x1eec23(0x1f2)});export const deprecatedAliases={'create':{'service':a110_0x1eec23(0x1ed),'command':a110_0x1eec23(0x1e8)},'start':{'service':a110_0x1eec23(0x211),'command':'start'},'build':{'service':a110_0x1eec23(0x211),'command':a110_0x1eec23(0x1f3)},'preview':{'service':a110_0x1eec23(0x211),'command':'preview'},'logout':{'service':a110_0x1eec23(0x202),'command':a110_0x1eec23(0x21a)},'skills':{'service':a110_0x1eec23(0x212),'command':'install'}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x272d57,_0x152211){return deprecatedSubcommands[_0x272d57]?.[_0x152211];}export function findDefinition(_0xdb3647,_0x31729d){return definitions['get'](_0xdb3647+':'+_0x31729d);}export function isKnownService(_0x38ffea){const _0x48efd4=a110_0x1eec23;return serviceByName[_0x48efd4(0x1f1)](_0x38ffea);}export function isDeclarativeService(_0x42de30){const _0x20e24f=a110_0x1eec23;return serviceGroups[_0x20e24f(0x1f1)](_0x42de30)||serviceByName[_0x20e24f(0x1f7)](_0x42de30)?.[_0x20e24f(0x201)]!==undefined;}export function getServiceEntry(_0x19cf89){return serviceByName['get'](_0x19cf89);}export function getLegacyHandler(_0x1deab8,_0x1fb67e){return undefined;}export function getAllDefinitions(){const _0x265d37=a110_0x1eec23;return Array[_0x265d37(0x1f8)](definitions[_0x265d37(0x1e9)]());}
@@ -1 +1 @@
1
- function a111_0x6e5a(){const _0x2cd977=['map','max','node_modules','bun.lock','pnpm-lock.yaml','6wvRobu','248LnNkzs','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','No\x20scripts\x20defined\x20in\x20package.json.','cwd','.bin','2ygfRbD','run','boolean','dev','padEnd','\x20run\x20','1129376YGaWpg','Run\x20a\x20package.json\x20script','utf-8','all','\x20\x20\x20\x20','11870mmgbga','\x0a\x20\x20Available\x20scripts:\x0a','\x0a\x20\x20Usage:\x20','package.json','script','read','Script\x20\x22','\x20\x20EXAMPLES','vite','No\x20package.json\x20found\x20in\x20current\x20directory.','Script\x20name\x20defined\x20in\x20package.json','inherit','bun','vite\x20preview\x20exited\x20with\x20code\x20','keys','1531226impkhN','watch','needsUpgrade','join','validation','14yECnSk','scripts','parse','7907170DfplZa','\x20exited\x20with\x20code\x20','Available:\x20','build','19335gwhoPQ','1079532qNkOEd','belowMinimum','\x20run\x20start','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','\x20run\x20build','close','log','Enable\x20watch\x20mode\x20for\x20preview','entries','start','\x20run\x20<script>\x0a','bool','preview','14564AbXpOv','68618916XGsaIJ','\x20run\x20preview','push','error','length','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)'];a111_0x6e5a=function(){return _0x2cd977;};return a111_0x6e5a();}const a111_0x5e6918=a111_0x504a;(function(_0x29d67f,_0x19732f){const _0x345ea8=a111_0x504a,_0x5c4baa=_0x29d67f();while(!![]){try{const _0x3de777=parseInt(_0x345ea8(0xd6))/0x1*(-parseInt(_0x345ea8(0x102))/0x2)+-parseInt(_0x345ea8(0xe2))/0x3*(parseInt(_0x345ea8(0xfd))/0x4)+-parseInt(_0x345ea8(0xde))/0x5*(parseInt(_0x345ea8(0xfc))/0x6)+parseInt(_0x345ea8(0xdb))/0x7*(parseInt(_0x345ea8(0xc2))/0x8)+-parseInt(_0x345ea8(0xe3))/0x9+-parseInt(_0x345ea8(0xc7))/0xa*(parseInt(_0x345ea8(0xf0))/0xb)+parseInt(_0x345ea8(0xf1))/0xc;if(_0x3de777===_0x19732f)break;else _0x5c4baa['push'](_0x5c4baa['shift']());}catch(_0x5996c7){_0x5c4baa['push'](_0x5c4baa['shift']());}}}(a111_0x6e5a,0xc2881));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_0x5e6918(0xec),a111_0x5e6918(0xbf)]);function readPackageScripts(_0x106703){const _0x3eb42f=a111_0x5e6918,_0x579906=resolve(_0x106703,_0x3eb42f(0xca));if(!existsSync(_0x579906))return null;try{const _0x269002=JSON[_0x3eb42f(0xdd)](readFileSync(_0x579906,_0x3eb42f(0xc4)));return _0x269002[_0x3eb42f(0xdc)]??{};}catch{return null;}}function detectPackageManager(_0x5631a8){const _0x523e6a=a111_0x5e6918;if(existsSync(resolve(_0x5631a8,'bun.lockb'))||existsSync(resolve(_0x5631a8,_0x523e6a(0xfa))))return _0x523e6a(0xd3);if(existsSync(resolve(_0x5631a8,_0x523e6a(0xfb))))return'pnpm';if(existsSync(resolve(_0x5631a8,'yarn.lock')))return'yarn';return'npm';}function a111_0x504a(_0x5a59db,_0x435738){_0x5a59db=_0x5a59db-0xbe;const _0x6e5a3f=a111_0x6e5a();let _0x504afc=_0x6e5a3f[_0x5a59db];return _0x504afc;}async function versionCheck(_0x47da4d){const _0x31fdac=a111_0x5e6918,_0x22365f=await checkCliVersion();(_0x22365f['needsUpgrade']||_0x22365f[_0x31fdac(0xe4)])&&(printCliUpgradeWarning(_0x22365f),assertCliVersionSupported(_0x22365f));const _0x41aa25=await checkSdkVersion(_0x47da4d);if(_0x41aa25[_0x31fdac(0xd8)])printSdkUpgradeWarning(_0x41aa25);}function spawnScript(_0x259af8,_0x3b35d0,_0x2cb03a,_0x46583f){return new Promise((_0x5291bf,_0xeed381)=>{const _0x49dfdf=a111_0x504a,_0x2a2e3c=[_0x49dfdf(0x103),_0x3b35d0,..._0x2cb03a],_0x57d802=spawn(_0x259af8,_0x2a2e3c,{'cwd':_0x46583f,'stdio':_0x49dfdf(0xd2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x46583f,'node_modules','.bin')+delimiter+process.env.PATH}});_0x57d802['on'](_0x49dfdf(0xe8),_0x291365=>{const _0x4332fa=_0x49dfdf;if(_0x291365===0x0||_0x291365===null)_0x5291bf();else _0xeed381(new Error(_0x259af8+'\x20run\x20'+_0x3b35d0+_0x4332fa(0xdf)+_0x291365));}),_0x57d802['on'](_0x49dfdf(0xf4),_0xeed381);});}function spawnViteBuildWatch(_0x5a97ca){return new Promise((_0x2ab5ca,_0x43cee5)=>{const _0x1991eb=a111_0x504a,_0xdfc83f=spawn(_0x1991eb(0xcf),[_0x1991eb(0xe1),'--watch'],{'cwd':_0x5a97ca,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x5a97ca,_0x1991eb(0xf9),_0x1991eb(0x101))+delimiter+process.env.PATH}});_0xdfc83f['on'](_0x1991eb(0xe8),_0x58efa6=>{const _0x2f6712=_0x1991eb;if(_0x58efa6===0x0||_0x58efa6===null)_0x2ab5ca();else _0x43cee5(new Error(_0x2f6712(0xfe)+_0x58efa6));}),_0xdfc83f['on']('error',_0x43cee5);});}function spawnVitePreview(_0xbf7285){return new Promise((_0x5974bd,_0x50dd71)=>{const _0xd69463=a111_0x504a,_0x449883=spawn(_0xd69463(0xcf),[_0xd69463(0xef)],{'cwd':_0xbf7285,'stdio':_0xd69463(0xd2),'shell':!![],'env':{...process.env,'PATH':''+join(_0xbf7285,'node_modules',_0xd69463(0x101))+delimiter+process.env.PATH}});_0x449883['on'](_0xd69463(0xe8),_0x5cd870=>{const _0x1d85c3=_0xd69463;if(_0x5cd870===0x0||_0x5cd870===null)_0x5974bd();else _0x50dd71(new Error(_0x1d85c3(0xd4)+_0x5cd870));}),_0x449883['on'](_0xd69463(0xf4),_0x50dd71);});}const runFlags=[{'name':'watch','type':a111_0x5e6918(0xbe),'description':a111_0x5e6918(0xea),'default':![]}];export const runDefinition={'service':a111_0x5e6918(0x103),'command':'run','description':a111_0x5e6918(0xc3),'risk':a111_0x5e6918(0xcc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x5e6918(0xcb),'description':a111_0x5e6918(0xd1),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x3247a3=a111_0x5e6918,_0x269123=readPackageScripts(process['cwd']()),_0x520b6c=[];if(_0x269123&&Object[_0x3247a3(0xd5)](_0x269123)[_0x3247a3(0xf5)]>0x0){const _0x3e3f82=Object[_0x3247a3(0xd5)](_0x269123),_0x8646a7=Math[_0x3247a3(0xf8)](..._0x3e3f82[_0x3247a3(0xf7)](_0x5e35ba=>_0x5e35ba['length']));_0x520b6c['push'](_0x3247a3(0xf6));for(const [_0x4a61a0,_0x28d61f]of Object[_0x3247a3(0xeb)](_0x269123)){_0x520b6c[_0x3247a3(0xf3)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x3247a3(0xc1)+_0x4a61a0[_0x3247a3(0xc0)](_0x8646a7+0x2)+'#\x20'+_0x28d61f);}}else _0x520b6c[_0x3247a3(0xf3)](_0x3247a3(0xce)),_0x520b6c[_0x3247a3(0xf3)](_0x3247a3(0xc6)+CLI_BIN_NAME+_0x3247a3(0xe5)),_0x520b6c[_0x3247a3(0xf3)](_0x3247a3(0xc6)+CLI_BIN_NAME+_0x3247a3(0xe7)),_0x520b6c[_0x3247a3(0xf3)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x3247a3(0xf2)),_0x520b6c[_0x3247a3(0xf3)](_0x3247a3(0xc6)+CLI_BIN_NAME+_0x3247a3(0xe6));return _0x520b6c[_0x3247a3(0xd9)]('\x0a');},async 'execute'(_0x571359){const _0x5e0a86=a111_0x5e6918,_0x184304=process[_0x5e0a86(0x100)](),_0x3c9567=_0x571359['args'][0x0],_0x4ffb32=_0x571359['args']['slice'](0x1),_0x51b9ae=readPackageScripts(_0x184304);if(!_0x51b9ae)throw CliErrors[_0x5e0a86(0xda)](_0x5e0a86(0xd0));if(!_0x3c9567){const _0x542329=Object['keys'](_0x51b9ae);if(_0x542329[_0x5e0a86(0xf5)]===0x0)console[_0x5e0a86(0xe9)](_0x5e0a86(0xff));else{console[_0x5e0a86(0xe9)](_0x5e0a86(0xc8));const _0x27b5d0=Math[_0x5e0a86(0xf8)](..._0x542329['map'](_0x49cfec=>_0x49cfec['length']));for(const [_0x20b911,_0x4e39d9]of Object[_0x5e0a86(0xeb)](_0x51b9ae)){console[_0x5e0a86(0xe9)](_0x5e0a86(0xc6)+_0x20b911[_0x5e0a86(0xc0)](_0x27b5d0+0x2)+_0x4e39d9);}console[_0x5e0a86(0xe9)](_0x5e0a86(0xc9)+CLI_BIN_NAME+_0x5e0a86(0xed));}return{'ok':!![]};}if(!_0x51b9ae[_0x3c9567])throw CliErrors[_0x5e0a86(0xda)](_0x5e0a86(0xcd)+_0x3c9567+'\x22\x20not\x20found\x20in\x20package.json.',_0x5e0a86(0xe0)+(Object['keys'](_0x51b9ae)['join'](',\x20')||'(none)'));const _0x8f0d75=detectPackageManager(_0x184304);VERSION_CHECK_SCRIPTS['has'](_0x3c9567)&&await versionCheck(_0x184304);if(_0x3c9567===_0x5e0a86(0xef)&&_0x571359[_0x5e0a86(0xee)](_0x5e0a86(0xd7)))return await Promise[_0x5e0a86(0xc5)]([spawnViteBuildWatch(_0x184304),spawnVitePreview(_0x184304)]),{'ok':!![]};return await spawnScript(_0x8f0d75,_0x3c9567,_0x4ffb32,_0x184304),{'ok':!![]};}};
1
+ const a111_0x317115=a111_0x3f42;(function(_0x3d64eb,_0x4359d6){const _0xef474a=a111_0x3f42,_0x4e5495=_0x3d64eb();while(!![]){try{const _0x2742f7=parseInt(_0xef474a(0x9c))/0x1+-parseInt(_0xef474a(0x86))/0x2+-parseInt(_0xef474a(0x7d))/0x3*(-parseInt(_0xef474a(0xb9))/0x4)+-parseInt(_0xef474a(0xa3))/0x5*(-parseInt(_0xef474a(0xaf))/0x6)+-parseInt(_0xef474a(0xb5))/0x7+-parseInt(_0xef474a(0x89))/0x8+parseInt(_0xef474a(0x91))/0x9*(-parseInt(_0xef474a(0x7b))/0xa);if(_0x2742f7===_0x4359d6)break;else _0x4e5495['push'](_0x4e5495['shift']());}catch(_0x1c3cb3){_0x4e5495['push'](_0x4e5495['shift']());}}}(a111_0x2afb,0x677d5));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_0x317115(0xb0),'dev']);function readPackageScripts(_0x39152d){const _0x4a384f=a111_0x317115,_0x20454b=resolve(_0x39152d,_0x4a384f(0x85));if(!existsSync(_0x20454b))return null;try{const _0x24ca12=JSON['parse'](readFileSync(_0x20454b,'utf-8'));return _0x24ca12[_0x4a384f(0x9a)]??{};}catch{return null;}}function detectPackageManager(_0x2a5ea0){const _0x2ef3d3=a111_0x317115;if(existsSync(resolve(_0x2a5ea0,_0x2ef3d3(0x8d)))||existsSync(resolve(_0x2a5ea0,_0x2ef3d3(0xb1))))return _0x2ef3d3(0xb8);if(existsSync(resolve(_0x2a5ea0,_0x2ef3d3(0x7c))))return'pnpm';if(existsSync(resolve(_0x2a5ea0,_0x2ef3d3(0x93))))return'yarn';return _0x2ef3d3(0x9b);}function a111_0x3f42(_0x2c0b75,_0x5208c0){_0x2c0b75=_0x2c0b75-0x74;const _0x2afb53=a111_0x2afb();let _0x3f423d=_0x2afb53[_0x2c0b75];return _0x3f423d;}async function versionCheck(_0x509e5f){const _0x3e55b7=a111_0x317115,_0x2da0ba=await checkCliVersion();(_0x2da0ba[_0x3e55b7(0x76)]||_0x2da0ba[_0x3e55b7(0x82)])&&(printCliUpgradeWarning(_0x2da0ba),assertCliVersionSupported(_0x2da0ba));const _0x573e4e=await checkSdkVersion(_0x509e5f);if(_0x573e4e[_0x3e55b7(0x76)])printSdkUpgradeWarning(_0x573e4e);}function spawnScript(_0x47e77e,_0x44890a,_0x5cf1c3,_0x25cb7a){return new Promise((_0x15f106,_0x780ca2)=>{const _0x3758c3=a111_0x3f42,_0x5d7940=[_0x3758c3(0x7e),_0x44890a,..._0x5cf1c3],_0x4e2457=spawn(_0x47e77e,_0x5d7940,{'cwd':_0x25cb7a,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x25cb7a,_0x3758c3(0x80),_0x3758c3(0xad))+delimiter+process.env.PATH}});_0x4e2457['on']('close',_0x252b6a=>{const _0x115d2f=_0x3758c3;if(_0x252b6a===0x0||_0x252b6a===null)_0x15f106();else _0x780ca2(new Error(_0x47e77e+_0x115d2f(0xa2)+_0x44890a+_0x115d2f(0x77)+_0x252b6a));}),_0x4e2457['on'](_0x3758c3(0x75),_0x780ca2);});}function a111_0x2afb(){const _0x50db2f=['\x20run\x20start','node_modules','inherit','belowMinimum','log','max','package.json','76418Ropswj','build','\x0a\x20\x20Available\x20scripts:\x0a','4068552WsKdpp','(none)','read','slice','bun.lockb','cwd','--watch','bool','171018WHUDyg','args','yarn.lock','\x20\x20EXAMPLES','\x20run\x20build','script','\x20\x20\x20\x20','Script\x20\x22','push','scripts','npm','614967sKfyoS','join','\x22\x20not\x20found\x20in\x20package.json.','validation','entries','length','\x20run\x20','35LFbcRG','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x20run\x20<script>\x0a','watch','No\x20scripts\x20defined\x20in\x20package.json.','Enable\x20watch\x20mode\x20for\x20preview','boolean','padEnd','has','\x0a\x20\x20Usage:\x20','.bin','keys','468108NvNKMC','start','bun.lock','\x20run\x20preview','vite','No\x20package.json\x20found\x20in\x20current\x20directory.','4988585XbvZKf','Script\x20name\x20defined\x20in\x20package.json','map','bun','1444JUsMna','vite\x20preview\x20exited\x20with\x20code\x20','error','needsUpgrade','\x20exited\x20with\x20code\x20','close','preview','Run\x20a\x20package.json\x20script','100ypcZnF','pnpm-lock.yaml','5919sxjsRF','run'];a111_0x2afb=function(){return _0x50db2f;};return a111_0x2afb();}function spawnViteBuildWatch(_0x24acb2){return new Promise((_0x46a182,_0x5c314c)=>{const _0x2ae418=a111_0x3f42,_0x388504=spawn('vite',[_0x2ae418(0x87),_0x2ae418(0x8f)],{'cwd':_0x24acb2,'stdio':_0x2ae418(0x81),'shell':!![],'env':{...process.env,'PATH':''+join(_0x24acb2,_0x2ae418(0x80),_0x2ae418(0xad))+delimiter+process.env.PATH}});_0x388504['on'](_0x2ae418(0x78),_0x33abd4=>{const _0x26f477=_0x2ae418;if(_0x33abd4===0x0||_0x33abd4===null)_0x46a182();else _0x5c314c(new Error(_0x26f477(0xa4)+_0x33abd4));}),_0x388504['on'](_0x2ae418(0x75),_0x5c314c);});}function spawnVitePreview(_0x29ae7f){return new Promise((_0x23cbc2,_0x31060f)=>{const _0x325478=a111_0x3f42,_0x50bb34=spawn(_0x325478(0xb3),['preview'],{'cwd':_0x29ae7f,'stdio':_0x325478(0x81),'shell':!![],'env':{...process.env,'PATH':''+join(_0x29ae7f,_0x325478(0x80),_0x325478(0xad))+delimiter+process.env.PATH}});_0x50bb34['on'](_0x325478(0x78),_0x38bd99=>{const _0x362ebf=_0x325478;if(_0x38bd99===0x0||_0x38bd99===null)_0x23cbc2();else _0x31060f(new Error(_0x362ebf(0x74)+_0x38bd99));}),_0x50bb34['on'](_0x325478(0x75),_0x31060f);});}const runFlags=[{'name':a111_0x317115(0xa6),'type':a111_0x317115(0xa9),'description':a111_0x317115(0xa8),'default':![]}];export const runDefinition={'service':a111_0x317115(0x7e),'command':a111_0x317115(0x7e),'description':a111_0x317115(0x7a),'risk':a111_0x317115(0x8b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x317115(0x96),'description':a111_0x317115(0xb6),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5ba99a=a111_0x317115,_0x55107e=readPackageScripts(process['cwd']()),_0x810964=[];if(_0x55107e&&Object[_0x5ba99a(0xae)](_0x55107e)['length']>0x0){const _0x5d7fd1=Object[_0x5ba99a(0xae)](_0x55107e),_0x126f02=Math[_0x5ba99a(0x84)](..._0x5d7fd1[_0x5ba99a(0xb7)](_0xe28eb8=>_0xe28eb8[_0x5ba99a(0xa1)]));_0x810964[_0x5ba99a(0x99)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x2d15c9,_0xa86efd]of Object[_0x5ba99a(0xa0)](_0x55107e)){_0x810964[_0x5ba99a(0x99)](_0x5ba99a(0x97)+CLI_BIN_NAME+_0x5ba99a(0xa2)+_0x2d15c9[_0x5ba99a(0xaa)](_0x126f02+0x2)+'#\x20'+_0xa86efd);}}else _0x810964[_0x5ba99a(0x99)](_0x5ba99a(0x94)),_0x810964[_0x5ba99a(0x99)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x5ba99a(0x7f)),_0x810964[_0x5ba99a(0x99)](_0x5ba99a(0x97)+CLI_BIN_NAME+_0x5ba99a(0x95)),_0x810964[_0x5ba99a(0x99)](_0x5ba99a(0x97)+CLI_BIN_NAME+_0x5ba99a(0xb2)),_0x810964[_0x5ba99a(0x99)](_0x5ba99a(0x97)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x810964[_0x5ba99a(0x9d)]('\x0a');},async 'execute'(_0x40962b){const _0x58ba57=a111_0x317115,_0x5a97ed=process[_0x58ba57(0x8e)](),_0x1e7384=_0x40962b[_0x58ba57(0x92)][0x0],_0x46a54d=_0x40962b[_0x58ba57(0x92)][_0x58ba57(0x8c)](0x1),_0xaea127=readPackageScripts(_0x5a97ed);if(!_0xaea127)throw CliErrors[_0x58ba57(0x9f)](_0x58ba57(0xb4));if(!_0x1e7384){const _0x51a942=Object[_0x58ba57(0xae)](_0xaea127);if(_0x51a942[_0x58ba57(0xa1)]===0x0)console[_0x58ba57(0x83)](_0x58ba57(0xa7));else{console[_0x58ba57(0x83)](_0x58ba57(0x88));const _0x399fca=Math[_0x58ba57(0x84)](..._0x51a942['map'](_0x5203ce=>_0x5203ce[_0x58ba57(0xa1)]));for(const [_0x42eda5,_0x1a64cd]of Object[_0x58ba57(0xa0)](_0xaea127)){console['log'](_0x58ba57(0x97)+_0x42eda5[_0x58ba57(0xaa)](_0x399fca+0x2)+_0x1a64cd);}console['log'](_0x58ba57(0xac)+CLI_BIN_NAME+_0x58ba57(0xa5));}return{'ok':!![]};}if(!_0xaea127[_0x1e7384])throw CliErrors[_0x58ba57(0x9f)](_0x58ba57(0x98)+_0x1e7384+_0x58ba57(0x9e),'Available:\x20'+(Object[_0x58ba57(0xae)](_0xaea127)[_0x58ba57(0x9d)](',\x20')||_0x58ba57(0x8a)));const _0x5320ce=detectPackageManager(_0x5a97ed);VERSION_CHECK_SCRIPTS[_0x58ba57(0xab)](_0x1e7384)&&await versionCheck(_0x5a97ed);if(_0x1e7384===_0x58ba57(0x79)&&_0x40962b[_0x58ba57(0x90)](_0x58ba57(0xa6)))return await Promise['all']([spawnViteBuildWatch(_0x5a97ed),spawnVitePreview(_0x5a97ed)]),{'ok':!![]};return await spawnScript(_0x5320ce,_0x1e7384,_0x46a54d,_0x5a97ed),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a112_0x4ad662=a112_0x47c6;function a112_0x4c60(){const _0x391fb8=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','215920yEoVcl','573676OwQgyz','452938TsoApo','schema','6fswDDW','207OBFNZl','read','export','1063041rTtryP','542864EMkXda','63rOVKHp','441070xGDXFS','json','3997985OynprG'];a112_0x4c60=function(){return _0x391fb8;};return a112_0x4c60();}(function(_0x29c2a8,_0x152ea8){const _0x1904db=a112_0x47c6,_0x2845c4=_0x29c2a8();while(!![]){try{const _0x541c9e=parseInt(_0x1904db(0x1ed))/0x1+parseInt(_0x1904db(0x1ec))/0x2+parseInt(_0x1904db(0x1e4))/0x3+-parseInt(_0x1904db(0x1e5))/0x4+parseInt(_0x1904db(0x1e9))/0x5*(parseInt(_0x1904db(0x1e0))/0x6)+-parseInt(_0x1904db(0x1e6))/0x7*(parseInt(_0x1904db(0x1eb))/0x8)+-parseInt(_0x1904db(0x1e1))/0x9*(parseInt(_0x1904db(0x1e7))/0xa);if(_0x541c9e===_0x152ea8)break;else _0x2845c4['push'](_0x2845c4['shift']());}catch(_0x51fb1b){_0x2845c4['push'](_0x2845c4['shift']());}}}(a112_0x4c60,0x7a399));import{buildSchemaPayload}from'../framework/schema-export.js';function a112_0x47c6(_0x51a80c,_0x520cee){_0x51a80c=_0x51a80c-0x1e0;const _0x4c6009=a112_0x4c60();let _0x47c6d4=_0x4c6009[_0x51a80c];return _0x47c6d4;}async function execute(_0x4118f2){const _0x4c0b84=await buildSchemaPayload();return{'ok':!![],'data':_0x4c0b84};}export const schemaDefinition={'service':a112_0x4ad662(0x1ee),'command':a112_0x4ad662(0x1e3),'description':a112_0x4ad662(0x1ea),'risk':a112_0x4ad662(0x1e2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x4ad662(0x1e8),'flags':[],'execute':execute};
1
+ function a112_0x3960(_0x374baa,_0x53b5ad){_0x374baa=_0x374baa-0x1a4;const _0x48c82e=a112_0x48c8();let _0x3960f2=_0x48c82e[_0x374baa];return _0x3960f2;}const a112_0x4ce65b=a112_0x3960;(function(_0x1a3e18,_0x43f11a){const _0x1e3857=a112_0x3960,_0x4eed94=_0x1a3e18();while(!![]){try{const _0x1deaea=-parseInt(_0x1e3857(0x1a8))/0x1*(-parseInt(_0x1e3857(0x1a4))/0x2)+-parseInt(_0x1e3857(0x1b1))/0x3+-parseInt(_0x1e3857(0x1ab))/0x4+parseInt(_0x1e3857(0x1a9))/0x5+parseInt(_0x1e3857(0x1af))/0x6+parseInt(_0x1e3857(0x1b0))/0x7*(parseInt(_0x1e3857(0x1b2))/0x8)+-parseInt(_0x1e3857(0x1aa))/0x9*(parseInt(_0x1e3857(0x1ae))/0xa);if(_0x1deaea===_0x43f11a)break;else _0x4eed94['push'](_0x4eed94['shift']());}catch(_0x56f7f7){_0x4eed94['push'](_0x4eed94['shift']());}}}(a112_0x48c8,0x88f09));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xb4cee1){const _0x261973=await buildSchemaPayload();return{'ok':!![],'data':_0x261973};}function a112_0x48c8(){const _0x8732c4=['6398172QYpWnM','287ViYdUm','2285724CFUwbt','205328WgLWXw','785596KAWgMj','read','export','schema','1eFlPWN','216640aQGcid','4298823pujvFb','3017336WRGdAl','json','Export\x20machine-readable\x20command\x20schema\x20(JSON)','10FTEXqu'];a112_0x48c8=function(){return _0x8732c4;};return a112_0x48c8();}export const schemaDefinition={'service':a112_0x4ce65b(0x1a7),'command':a112_0x4ce65b(0x1a6),'description':a112_0x4ce65b(0x1ad),'risk':a112_0x4ce65b(0x1a5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x4ce65b(0x1ac),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a113_0x13f52c=a113_0x5a7f;(function(_0x482c49,_0x4f737f){const _0x78b45b=a113_0x5a7f,_0x1fe235=_0x482c49();while(!![]){try{const _0x3f1e2c=parseInt(_0x78b45b(0xf2))/0x1+parseInt(_0x78b45b(0xe3))/0x2+-parseInt(_0x78b45b(0xf0))/0x3*(-parseInt(_0x78b45b(0xf1))/0x4)+parseInt(_0x78b45b(0xf3))/0x5*(-parseInt(_0x78b45b(0xdc))/0x6)+parseInt(_0x78b45b(0xf4))/0x7+-parseInt(_0x78b45b(0xea))/0x8*(-parseInt(_0x78b45b(0xf5))/0x9)+-parseInt(_0x78b45b(0xe1))/0xa*(parseInt(_0x78b45b(0xdf))/0xb);if(_0x3f1e2c===_0x4f737f)break;else _0x1fe235['push'](_0x1fe235['shift']());}catch(_0x5bf44a){_0x1fe235['push'](_0x1fe235['shift']());}}}(a113_0x1835,0xf2b3b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a113_0x5a7f(_0x310bc1,_0x266af1){_0x310bc1=_0x310bc1-0xdb;const _0x183539=a113_0x1835();let _0x5a7feb=_0x183539[_0x310bc1];return _0x5a7feb;}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x13f52c(0xe8),'command':a113_0x13f52c(0xed),'description':a113_0x13f52c(0xde),'risk':a113_0x13f52c(0xe0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1bcabb){const _0x3da9fa=a113_0x13f52c;logger[_0x3da9fa(0xdb)](process[_0x3da9fa(0xe2)]()),logger[_0x3da9fa(0xf7)](_0x3da9fa(0xf6),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x4f448d}=await import('../../skills/npx-skills-add.js'),_0x1b3bfc=_0x1bcabb[_0x3da9fa(0xee)]?_0x3da9fa(0xeb):'inherit';console[_0x3da9fa(0xdd)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x3da9fa(0xe9));const _0x1d3f38=_0x4f448d(process[_0x3da9fa(0xe2)](),_0x3da9fa(0xe4),{'stdio':_0x1b3bfc});if(_0x1d3f38[_0x3da9fa(0xe6)])console['log'](_0x3da9fa(0xe7));else{if(_0x1d3f38['ok'])console['log'](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x3da9fa(0xef)](_0x3da9fa(0xec)+(_0x1d3f38['error']||_0x3da9fa(0xe5)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];function a113_0x1835(){const _0xe2ac85=['1454391auWsBu','skill-install','info','setLogPath','6FwYdbW','log','Install\x20developer\x20skill\x20package','5984ArTmQU','write','55010vhOxsv','cwd','909888sPsSGp','lovrabet/rabetbase','unknown','skipped','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','skill',')...','40YaFXRI','pipe','npx\x20skills\x20add\x20failed:\x20','install','nonInteractive','apiError','138LMbSKs','112432fUsDJg','1858882SxrHwM','9250940nhlmIV','9954350rbLtBB'];a113_0x1835=function(){return _0xe2ac85;};return a113_0x1835();}
1
+ const a113_0x854c35=a113_0x5b94;(function(_0xdd807d,_0x5a7ceb){const _0x1e62ff=a113_0x5b94,_0x4dfe9b=_0xdd807d();while(!![]){try{const _0x3d4485=parseInt(_0x1e62ff(0xda))/0x1+parseInt(_0x1e62ff(0xe6))/0x2*(parseInt(_0x1e62ff(0xde))/0x3)+-parseInt(_0x1e62ff(0xf2))/0x4*(-parseInt(_0x1e62ff(0xd9))/0x5)+-parseInt(_0x1e62ff(0xf1))/0x6+parseInt(_0x1e62ff(0xf4))/0x7+-parseInt(_0x1e62ff(0xe0))/0x8*(parseInt(_0x1e62ff(0xea))/0x9)+parseInt(_0x1e62ff(0xeb))/0xa*(-parseInt(_0x1e62ff(0xe7))/0xb);if(_0x3d4485===_0x5a7ceb)break;else _0x4dfe9b['push'](_0x4dfe9b['shift']());}catch(_0x1bbc4f){_0x4dfe9b['push'](_0x4dfe9b['shift']());}}}(a113_0x2629,0x6b7b9));import{CliErrors}from'../../errors.js';function a113_0x5b94(_0x3276a0,_0x24f2df){_0x3276a0=_0x3276a0-0xd7;const _0x2629cb=a113_0x2629();let _0x5b9400=_0x2629cb[_0x3276a0];return _0x5b9400;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a113_0x2629(){const _0x4de153=['2882bZmxvv','skipped','Install\x20developer\x20skill\x20package','845946ZsKrOz','59770mgOviJ','log','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','skill','error','cwd','995256ZLkyjN','512ELiLjM','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','6097357ZzAVDy','nonInteractive','Check\x20network\x20connectivity\x20and\x20try\x20again.','install','29615zqMXbC','230064dmosEv','../../skills/npx-skills-add.js',')...','unknown','610251SgXYku','inherit','8tpdyhv','pipe','npx\x20skills\x20add\x20failed:\x20','skill-install','write','Installing\x20official\x20skill\x20via\x20npx\x20(','4yeIjyn'];a113_0x2629=function(){return _0x4de153;};return a113_0x2629();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x854c35(0xee),'command':a113_0x854c35(0xd8),'description':a113_0x854c35(0xe9),'risk':a113_0x854c35(0xe4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1bae35){const _0xbf45b=a113_0x854c35;logger['setLogPath'](process[_0xbf45b(0xf0)]()),logger['info'](_0xbf45b(0xe3),_0xbf45b(0xed));const {runNpxSkillsAddGlobal:_0x5bb127}=await import(_0xbf45b(0xdb)),_0x3a6951=_0x1bae35[_0xbf45b(0xf5)]?_0xbf45b(0xe1):_0xbf45b(0xdf);console[_0xbf45b(0xec)](_0xbf45b(0xe5)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xbf45b(0xdc));const _0x45c0c4=_0x5bb127(process[_0xbf45b(0xf0)](),'lovrabet/rabetbase',{'stdio':_0x3a6951});if(_0x45c0c4[_0xbf45b(0xe8)])console[_0xbf45b(0xec)](_0xbf45b(0xf3));else{if(_0x45c0c4['ok'])console[_0xbf45b(0xec)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors['apiError'](_0xbf45b(0xe2)+(_0x45c0c4[_0xbf45b(0xef)]||_0xbf45b(0xdd)),_0xbf45b(0xd7));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a114_0x406c2e=a114_0xfa01;(function(_0x3a4351,_0x4e8fec){const _0x5b671a=a114_0xfa01,_0x5ad949=_0x3a4351();while(!![]){try{const _0x23fd8b=-parseInt(_0x5b671a(0xf6))/0x1+parseInt(_0x5b671a(0xef))/0x2+parseInt(_0x5b671a(0xf7))/0x3*(-parseInt(_0x5b671a(0x118))/0x4)+parseInt(_0x5b671a(0xfe))/0x5+-parseInt(_0x5b671a(0x100))/0x6*(parseInt(_0x5b671a(0x110))/0x7)+-parseInt(_0x5b671a(0x114))/0x8*(parseInt(_0x5b671a(0xfc))/0x9)+parseInt(_0x5b671a(0x115))/0xa*(parseInt(_0x5b671a(0xfd))/0xb);if(_0x23fd8b===_0x4e8fec)break;else _0x5ad949['push'](_0x5ad949['shift']());}catch(_0x15d66f){_0x5ad949['push'](_0x5ad949['shift']());}}}(a114_0x5024,0x41f5c));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a114_0xfa01(_0x1b51b9,_0x2d2393){_0x1b51b9=_0x1b51b9-0xd6;const _0x5024be=a114_0x5024();let _0xfa014e=_0x5024be[_0x1b51b9];return _0xfa014e;}function a114_0x5024(){const _0x331c58=['catch','1141008ZcwHDw','new','mybatisXml','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','toISOString','db-id','SELECT\x201\x20AS\x20id;','name','trim','dbId','sqlRootDir','__manual__','</select>','sqls','Invalid\x20database\x20selection\x20payload:\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL','14BOFxUr','dbId\x20必须为正整数','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','isFinite','11032cHVkPI','20vqpbUk','flagMissing','parse','436yWwtgE','utf8','<server-generated-sqlCode>','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','dbName','description','sqlCode','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqlName','appCode','请选择目标数据库:','请输入目标数据库\x20dbId:','\x20\x20SELECT\x201\x20AS\x20id','请输入\x20SQL\x20名称:','isInteger','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','SQL\x20query\x20display\x20name','nonInteractive','high-risk-write','请选择本地\x20SQL\x20模式:','lockFilePath','str','create','length','join','lastSync','validation','number','216238urouKA','map','/smartapi/custom/saveUserCustomSql','mode','POST','string','Target\x20database\x20ID','459994orNTjw','7017nRrLnu','stringify','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','✎\x20手动输入\x20dbId','sql','684fVUYji','5850493ZPFvIP','1492060ldcsIA'];a114_0x5024=function(){return _0x331c58;};return a114_0x5024();}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(_0x42ff17){const _0x389b15=a114_0xfa01;if(_0x42ff17===_0x389b15(0x102))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x389b15(0xdf),_0x389b15(0x10c),''][_0x389b15(0xeb)]('\x0a');return[_0x389b15(0x106),'']['join']('\x0a');}export const sqlCreate={'service':a114_0x406c2e(0xfb),'command':a114_0x406c2e(0xe9),'description':a114_0x406c2e(0x103),'risk':a114_0x406c2e(0xe5),'flags':[{'name':a114_0x406c2e(0x107),'type':a114_0x406c2e(0xf4),'description':a114_0x406c2e(0xe3)},{'name':a114_0x406c2e(0x105),'type':'number','description':a114_0x406c2e(0xf5)},{'name':a114_0x406c2e(0xf2),'type':a114_0x406c2e(0xf4),'enum':['sql','mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x3ee1ee){const _0x1e38e2=a114_0x406c2e;if(!_0x3ee1ee[_0x1e38e2(0xe4)])return;if(!_0x3ee1ee['str'](_0x1e38e2(0x107))[_0x1e38e2(0x108)]())throw CliErrors['flagMissing'](_0x1e38e2(0x107),_0x1e38e2(0xf9));const _0x499c2d=resolveProvidedDbId(_0x3ee1ee);if(typeof _0x499c2d!==_0x1e38e2(0xee)||!Number[_0x1e38e2(0x113)](_0x499c2d)||_0x499c2d<=0x0)throw CliErrors[_0x1e38e2(0x116)](_0x1e38e2(0x105),_0x1e38e2(0x112));if(!_0x3ee1ee['str'](_0x1e38e2(0xf2))[_0x1e38e2(0x108)]())throw CliErrors[_0x1e38e2(0x116)]('mode',_0x1e38e2(0xd6));},async 'dryRun'(_0x4f0353){const _0x48416d=a114_0x406c2e,_0x2b7732=loadSqlProjectConfig(_0x4f0353['appCode']),{sqlName:_0xeee6f9,dbId:_0x3e9dd7,dbName:_0x645678,mode:_0x1abff3}=await resolveSqlNewInputs(_0x4f0353),_0x5d65a1=buildSqlRelativePath(_0x48416d(0x11a),_0xeee6f9,_0x645678,_0x1abff3,_0x3e9dd7),_0x447521=_0x2b7732[_0x48416d(0x10a)]+'/'+_0x5d65a1;return{'method':_0x48416d(0xf3),'url':_0x48416d(0xf1),'body':{'appCode':_0x4f0353['appCode'],'sqlName':_0xeee6f9,'dbId':_0x3e9dd7,'mode':_0x1abff3,'localPath':_0x447521},'description':_0x48416d(0xe2)+_0x2b7732[_0x48416d(0x10a)]};},async 'execute'(_0x27ceed){const _0x5b7f8f=a114_0x406c2e,_0x56c77d=loadSqlProjectConfig(_0x27ceed['appCode']),{sqlName:_0x285ed2,dbId:_0xbce9e1,dbName:_0x219977,mode:_0x45b1b2}=await resolveSqlNewInputs(_0x27ceed),_0x3ce358=generateSqlTemplate(_0x45b1b2),_0x4b2b7f=await createSqlQuery({'appCode':_0x27ceed[_0x5b7f8f(0xdc)],'sqlName':_0x285ed2,'dbId':_0xbce9e1,'sqlContent':_0x3ce358}),_0x43281e=ensureRemoteSqlContent(_0x4b2b7f),_0x15efcd=_0x219977||await getDbName(_0x27ceed[_0x5b7f8f(0xdc)],_0xbce9e1)[_0x5b7f8f(0xff)](()=>undefined),_0x4427e8=buildSqlRelativePath(_0x4b2b7f['sqlCode'],_0x4b2b7f[_0x5b7f8f(0xdb)],_0x15efcd,_0x45b1b2,_0xbce9e1),_0x3c54d2=_0x56c77d[_0x5b7f8f(0x10a)]+'/'+_0x4427e8,_0x1b2914=buildLocalSqlFileContent({'sqlCode':_0x4b2b7f[_0x5b7f8f(0xd9)],'sqlName':_0x4b2b7f['sqlName'],'dbId':_0x4b2b7f[_0x5b7f8f(0x109)]},_0x43281e,{'dbName':_0x15efcd,'mode':_0x45b1b2,'syncedAt':new Date()[_0x5b7f8f(0x104)](),'description':_0x4b2b7f[_0x5b7f8f(0xd8)]});if(await fileExists(_0x3c54d2))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x3c54d2);await ensureParentDirectory(_0x3c54d2),await writeFile(_0x3c54d2,_0x1b2914,_0x5b7f8f(0x119));const _0x35f00f=await readSqlLockFile(_0x56c77d[_0x5b7f8f(0xe7)]),{lockData:_0x90d92c,appLock:_0x5d4071}=ensureSqlLockScope(_0x35f00f??createEmptySqlLock(),_0x56c77d[_0x5b7f8f(0xdc)],_0x56c77d['sqlRoot'],_0x5b7f8f(0x101));return _0x5d4071[_0x5b7f8f(0x10d)][_0x4b2b7f[_0x5b7f8f(0xd9)]]={...buildSqlLockEntry(_0x4b2b7f,_0x43281e,computeSqlContentHash(_0x1b2914),{'dbName':_0x15efcd}),'path':_0x4427e8,'mode':_0x45b1b2},_0x5d4071[_0x5b7f8f(0xec)]=new Date()['toISOString'](),await writeSqlLockFile(_0x56c77d[_0x5b7f8f(0xe7)],_0x90d92c),{'ok':!![],'data':{'id':_0x4b2b7f['id'],'sqlCode':_0x4b2b7f[_0x5b7f8f(0xd9)],'sqlName':_0x4b2b7f[_0x5b7f8f(0xdb)],'dbId':_0x4b2b7f[_0x5b7f8f(0x109)],'path':_0x3c54d2,'mode':_0x45b1b2},'message':'Created\x20SQL\x20query\x20'+_0x4b2b7f[_0x5b7f8f(0xd9)]};}};async function resolveSqlNewInputs(_0x411461){const _0x5dff52=await resolveSqlNameInput(_0x411461),{dbId:_0x58274c,dbName:_0x473940}=await resolveDbSelection(_0x411461),_0x4d0293=await resolveSqlModeInput(_0x411461);return{'sqlName':_0x5dff52,'dbId':_0x58274c,'dbName':_0x473940,'mode':_0x4d0293};}async function resolveSqlNameInput(_0x3eb74d){const _0x26bdaf=a114_0x406c2e,_0x3ecc6a=_0x3eb74d[_0x26bdaf(0xe8)]('name')[_0x26bdaf(0x108)]();if(_0x3ecc6a)return _0x3ecc6a;if(_0x3eb74d[_0x26bdaf(0xe4)])throw CliErrors[_0x26bdaf(0x116)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x26bdaf(0xe0),'validate':_0x22853b=>_0x22853b[_0x26bdaf(0x108)]()?!![]:'SQL\x20名称不能为空'}))[_0x26bdaf(0x108)]();}async function resolveDbSelection(_0x1550aa){const _0x107de2=a114_0x406c2e,_0x535949=resolveProvidedDbId(_0x1550aa);if(typeof _0x535949===_0x107de2(0xee)&&Number['isFinite'](_0x535949)&&_0x535949>0x0)return{'dbId':_0x535949,'dbName':await getDbName(_0x1550aa['appCode'],_0x535949)[_0x107de2(0xff)](()=>undefined)};if(_0x1550aa['nonInteractive'])throw CliErrors[_0x107de2(0x116)](_0x107de2(0x105),_0x107de2(0x112));const _0x290a0b=await listDatabases(_0x1550aa[_0x107de2(0xdc)])[_0x107de2(0xff)](()=>[]);if(_0x290a0b['length']===0x1)return{'dbId':_0x290a0b[0x0]['dbId'],'dbName':_0x290a0b[0x0][_0x107de2(0xd7)]};if(_0x290a0b[_0x107de2(0xea)]>0x1){const _0x27a207=await select({'message':_0x107de2(0xdd),'choices':[..._0x290a0b[_0x107de2(0xf0)](_0x2801da=>({'name':_0x2801da[_0x107de2(0xd7)]+'\x20('+_0x2801da['dbId']+')','value':serializeDbSelection(_0x2801da)})),{'name':_0x107de2(0xfa),'value':_0x107de2(0x10b)}]});if(_0x27a207!==_0x107de2(0x10b))return deserializeDbSelection(_0x27a207);}const _0x39aedd=await input({'message':_0x107de2(0xde),'validate':_0x4ec695=>{const _0x3e45dc=_0x107de2,_0x4b7f70=_0x4ec695['trim']();if(!_0x4b7f70)return'dbId\x20不能为空';const _0x4446d9=Number(_0x4b7f70);if(!Number[_0x3e45dc(0xe1)](_0x4446d9)||_0x4446d9<=0x0)return _0x3e45dc(0x111);return!![];}});return{'dbId':Number(_0x39aedd[_0x107de2(0x108)]())};}async function resolveSqlModeInput(_0x17d182){const _0x19af57=a114_0x406c2e,_0xf1aacf=_0x17d182[_0x19af57(0xe8)](_0x19af57(0xf2))[_0x19af57(0x108)]();if(_0xf1aacf===_0x19af57(0xfb)||_0xf1aacf===_0x19af57(0x102))return _0xf1aacf;if(_0x17d182['nonInteractive'])throw CliErrors[_0x19af57(0x116)]('mode',_0x19af57(0xd6));return await select({'message':_0x19af57(0xe6),'choices':[{'name':'普通\x20SQL(sql)','value':_0x19af57(0xfb),'description':_0x19af57(0xda)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x19af57(0x102),'description':_0x19af57(0x10f)}]});}function serializeDbSelection(_0xf5536a){const _0x491ea5=a114_0x406c2e;return JSON[_0x491ea5(0xf8)]({'dbId':_0xf5536a[_0x491ea5(0x109)],'dbName':_0xf5536a['dbName']});}function deserializeDbSelection(_0xa62b99){const _0x594d2f=a114_0x406c2e;try{const _0x3d9576=JSON[_0x594d2f(0x117)](_0xa62b99);if(typeof _0x3d9576['dbId']===_0x594d2f(0xee)&&Number[_0x594d2f(0x113)](_0x3d9576['dbId']))return{'dbId':_0x3d9576['dbId'],'dbName':_0x3d9576['dbName']};}catch{}throw CliErrors[_0x594d2f(0xed)](_0x594d2f(0x10e)+_0xa62b99);}function resolveProvidedDbId(_0x2524c9){const _0x2a61dd=a114_0x406c2e,_0x169eb3=_0x2524c9['flag'](_0x2a61dd(0x105));if(typeof _0x169eb3===_0x2a61dd(0xee)&&Number[_0x2a61dd(0x113)](_0x169eb3))return _0x169eb3;return undefined;}
1
+ const a114_0x5731d0=a114_0x4fb5;(function(_0x402598,_0x176709){const _0xe49289=a114_0x4fb5,_0xdbb87=_0x402598();while(!![]){try{const _0x539e86=parseInt(_0xe49289(0x167))/0x1+parseInt(_0xe49289(0x169))/0x2*(parseInt(_0xe49289(0x15c))/0x3)+parseInt(_0xe49289(0x195))/0x4+-parseInt(_0xe49289(0x194))/0x5+parseInt(_0xe49289(0x174))/0x6+parseInt(_0xe49289(0x151))/0x7*(-parseInt(_0xe49289(0x153))/0x8)+-parseInt(_0xe49289(0x158))/0x9*(-parseInt(_0xe49289(0x15f))/0xa);if(_0x539e86===_0x176709)break;else _0xdbb87['push'](_0xdbb87['shift']());}catch(_0x225801){_0xdbb87['push'](_0xdbb87['shift']());}}}(a114_0x4e78,0xa6ed5));import{writeFile}from'node:fs/promises';function a114_0x4e78(){const _0x5607e7=['--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','lastSync','parse','sqlName','new','请选择本地\x20SQL\x20模式:','SQL\x20名称不能为空','1720780iHNnvf','453128AOPxGC','42196eNHsHO','length','1528UHTZXF','string','db-id','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','create','36LTxzdC','isInteger','description','flagMissing','231aZbnBT','number','lockFilePath','1147780jMzzrC','Created\x20SQL\x20query\x20','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','mybatisXml','Invalid\x20database\x20selection\x20payload:\x20','validation','dbName','sqls','961008XSAsDF','join','7572CGcsKC','SQL\x20query\x20display\x20name','trim','catch','/smartapi/custom/saveUserCustomSql','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','high-risk-write','POST','请选择目标数据库:','sqlRootDir','MyBatis\x20XML(mybatisXml)','2125878jRapsP','stringify','sql','utf8','str','File\x20already\x20exists:\x20','dbId\x20不能为空','nonInteractive','请输入\x20SQL\x20名称:','sqlCode','SELECT\x201\x20AS\x20id;','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','dbId','✎\x20手动输入\x20dbId','toISOString','普通\x20SQL(sql)','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Local\x20SQL\x20file\x20mode','name','appCode','isFinite','适合带动态标签的\x20MyBatis\x20XML\x20SQL','mode','__manual__','dbId\x20必须为正整数'];a114_0x4e78=function(){return _0x5607e7;};return a114_0x4e78();}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(_0xafe9e4){const _0x375d27=a114_0x4fb5;if(_0xafe9e4===_0x375d27(0x162))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','</select>',''][_0x375d27(0x168)]('\x0a');return[_0x375d27(0x17e),''][_0x375d27(0x168)]('\x0a');}export const sqlCreate={'service':a114_0x5731d0(0x176),'command':a114_0x5731d0(0x157),'description':a114_0x5731d0(0x156),'risk':a114_0x5731d0(0x16f),'flags':[{'name':a114_0x5731d0(0x186),'type':'string','description':a114_0x5731d0(0x16a)},{'name':'db-id','type':a114_0x5731d0(0x15d),'description':'Target\x20database\x20ID'},{'name':a114_0x5731d0(0x18a),'type':a114_0x5731d0(0x154),'enum':['sql',a114_0x5731d0(0x162)],'description':a114_0x5731d0(0x185)}],async 'validate'(_0x25dd91){const _0x4bceab=a114_0x5731d0;if(!_0x25dd91[_0x4bceab(0x17b)])return;if(!_0x25dd91[_0x4bceab(0x178)](_0x4bceab(0x186))[_0x4bceab(0x16b)]())throw CliErrors[_0x4bceab(0x15b)](_0x4bceab(0x186),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x3d5f0a=resolveProvidedDbId(_0x25dd91);if(typeof _0x3d5f0a!==_0x4bceab(0x15d)||!Number[_0x4bceab(0x188)](_0x3d5f0a)||_0x3d5f0a<=0x0)throw CliErrors[_0x4bceab(0x15b)](_0x4bceab(0x155),_0x4bceab(0x18d));if(!_0x25dd91[_0x4bceab(0x178)](_0x4bceab(0x18a))[_0x4bceab(0x16b)]())throw CliErrors[_0x4bceab(0x15b)](_0x4bceab(0x18a),_0x4bceab(0x184));},async 'dryRun'(_0x37859b){const _0x55fa84=a114_0x5731d0,_0x541840=loadSqlProjectConfig(_0x37859b[_0x55fa84(0x187)]),{sqlName:_0x2eb132,dbId:_0x36c8fa,dbName:_0x5d9f9b,mode:_0x4266dc}=await resolveSqlNewInputs(_0x37859b),_0x168461=buildSqlRelativePath('<server-generated-sqlCode>',_0x2eb132,_0x5d9f9b,_0x4266dc,_0x36c8fa),_0x15f9a1=_0x541840['sqlRootDir']+'/'+_0x168461;return{'method':_0x55fa84(0x170),'url':_0x55fa84(0x16d),'body':{'appCode':_0x37859b[_0x55fa84(0x187)],'sqlName':_0x2eb132,'dbId':_0x36c8fa,'mode':_0x4266dc,'localPath':_0x15f9a1},'description':_0x55fa84(0x161)+_0x541840[_0x55fa84(0x172)]};},async 'execute'(_0x387583){const _0x4e8dea=a114_0x5731d0,_0x17faa7=loadSqlProjectConfig(_0x387583['appCode']),{sqlName:_0x586efa,dbId:_0x3ebd85,dbName:_0x339fde,mode:_0x39897c}=await resolveSqlNewInputs(_0x387583),_0x461942=generateSqlTemplate(_0x39897c),_0x33b29d=await createSqlQuery({'appCode':_0x387583[_0x4e8dea(0x187)],'sqlName':_0x586efa,'dbId':_0x3ebd85,'sqlContent':_0x461942}),_0x5babb9=ensureRemoteSqlContent(_0x33b29d),_0x12ec05=_0x339fde||await getDbName(_0x387583[_0x4e8dea(0x187)],_0x3ebd85)['catch'](()=>undefined),_0x46354b=buildSqlRelativePath(_0x33b29d['sqlCode'],_0x33b29d[_0x4e8dea(0x190)],_0x12ec05,_0x39897c,_0x3ebd85),_0x1dd25e=_0x17faa7[_0x4e8dea(0x172)]+'/'+_0x46354b,_0x16f4f4=buildLocalSqlFileContent({'sqlCode':_0x33b29d['sqlCode'],'sqlName':_0x33b29d['sqlName'],'dbId':_0x33b29d[_0x4e8dea(0x180)]},_0x5babb9,{'dbName':_0x12ec05,'mode':_0x39897c,'syncedAt':new Date()[_0x4e8dea(0x182)](),'description':_0x33b29d[_0x4e8dea(0x15a)]});if(await fileExists(_0x1dd25e))throw CliErrors[_0x4e8dea(0x164)](_0x4e8dea(0x179)+_0x1dd25e);await ensureParentDirectory(_0x1dd25e),await writeFile(_0x1dd25e,_0x16f4f4,_0x4e8dea(0x177));const _0x597956=await readSqlLockFile(_0x17faa7[_0x4e8dea(0x15e)]),{lockData:_0x3d3bac,appLock:_0xd119e}=ensureSqlLockScope(_0x597956??createEmptySqlLock(),_0x17faa7['appCode'],_0x17faa7['sqlRoot'],_0x4e8dea(0x191));return _0xd119e[_0x4e8dea(0x166)][_0x33b29d[_0x4e8dea(0x17d)]]={...buildSqlLockEntry(_0x33b29d,_0x5babb9,computeSqlContentHash(_0x16f4f4),{'dbName':_0x12ec05}),'path':_0x46354b,'mode':_0x39897c},_0xd119e[_0x4e8dea(0x18e)]=new Date()[_0x4e8dea(0x182)](),await writeSqlLockFile(_0x17faa7[_0x4e8dea(0x15e)],_0x3d3bac),{'ok':!![],'data':{'id':_0x33b29d['id'],'sqlCode':_0x33b29d[_0x4e8dea(0x17d)],'sqlName':_0x33b29d[_0x4e8dea(0x190)],'dbId':_0x33b29d[_0x4e8dea(0x180)],'path':_0x1dd25e,'mode':_0x39897c},'message':_0x4e8dea(0x160)+_0x33b29d[_0x4e8dea(0x17d)]};}};async function resolveSqlNewInputs(_0x47c66a){const _0x292755=await resolveSqlNameInput(_0x47c66a),{dbId:_0x595afc,dbName:_0x31b27e}=await resolveDbSelection(_0x47c66a),_0x50c637=await resolveSqlModeInput(_0x47c66a);return{'sqlName':_0x292755,'dbId':_0x595afc,'dbName':_0x31b27e,'mode':_0x50c637};}async function resolveSqlNameInput(_0x172017){const _0x51489f=a114_0x5731d0,_0x281c59=_0x172017[_0x51489f(0x178)](_0x51489f(0x186))['trim']();if(_0x281c59)return _0x281c59;if(_0x172017[_0x51489f(0x17b)])throw CliErrors['flagMissing'](_0x51489f(0x186),_0x51489f(0x16e));return(await input({'message':_0x51489f(0x17c),'validate':_0x173c66=>_0x173c66[_0x51489f(0x16b)]()?!![]:_0x51489f(0x193)}))['trim']();}async function resolveDbSelection(_0xb63789){const _0x2f607e=a114_0x5731d0,_0x45f249=resolveProvidedDbId(_0xb63789);if(typeof _0x45f249==='number'&&Number[_0x2f607e(0x188)](_0x45f249)&&_0x45f249>0x0)return{'dbId':_0x45f249,'dbName':await getDbName(_0xb63789[_0x2f607e(0x187)],_0x45f249)[_0x2f607e(0x16c)](()=>undefined)};if(_0xb63789[_0x2f607e(0x17b)])throw CliErrors[_0x2f607e(0x15b)](_0x2f607e(0x155),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0xf93e95=await listDatabases(_0xb63789[_0x2f607e(0x187)])[_0x2f607e(0x16c)](()=>[]);if(_0xf93e95[_0x2f607e(0x152)]===0x1)return{'dbId':_0xf93e95[0x0][_0x2f607e(0x180)],'dbName':_0xf93e95[0x0]['dbName']};if(_0xf93e95[_0x2f607e(0x152)]>0x1){const _0x36a620=await select({'message':_0x2f607e(0x171),'choices':[..._0xf93e95['map'](_0x35860f=>({'name':_0x35860f[_0x2f607e(0x165)]+'\x20('+_0x35860f[_0x2f607e(0x180)]+')','value':serializeDbSelection(_0x35860f)})),{'name':_0x2f607e(0x181),'value':_0x2f607e(0x18b)}]});if(_0x36a620!=='__manual__')return deserializeDbSelection(_0x36a620);}const _0x503f1e=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x1e17d7=>{const _0x2affa1=_0x2f607e,_0x518141=_0x1e17d7[_0x2affa1(0x16b)]();if(!_0x518141)return _0x2affa1(0x17a);const _0xf6716e=Number(_0x518141);if(!Number[_0x2affa1(0x159)](_0xf6716e)||_0xf6716e<=0x0)return _0x2affa1(0x18c);return!![];}});return{'dbId':Number(_0x503f1e[_0x2f607e(0x16b)]())};}function a114_0x4fb5(_0x28f27f,_0x5d5acc){_0x28f27f=_0x28f27f-0x151;const _0x4e78c0=a114_0x4e78();let _0x4fb501=_0x4e78c0[_0x28f27f];return _0x4fb501;}async function resolveSqlModeInput(_0x8d0a08){const _0x45ca99=a114_0x5731d0,_0x5e284e=_0x8d0a08[_0x45ca99(0x178)](_0x45ca99(0x18a))[_0x45ca99(0x16b)]();if(_0x5e284e===_0x45ca99(0x176)||_0x5e284e==='mybatisXml')return _0x5e284e;if(_0x8d0a08['nonInteractive'])throw CliErrors[_0x45ca99(0x15b)]('mode',_0x45ca99(0x184));return await select({'message':_0x45ca99(0x192),'choices':[{'name':_0x45ca99(0x183),'value':_0x45ca99(0x176),'description':_0x45ca99(0x17f)},{'name':_0x45ca99(0x173),'value':_0x45ca99(0x162),'description':_0x45ca99(0x189)}]});}function serializeDbSelection(_0x3c13fb){const _0x23d547=a114_0x5731d0;return JSON[_0x23d547(0x175)]({'dbId':_0x3c13fb[_0x23d547(0x180)],'dbName':_0x3c13fb[_0x23d547(0x165)]});}function deserializeDbSelection(_0x1b6cdd){const _0xfae2cb=a114_0x5731d0;try{const _0x533fdd=JSON[_0xfae2cb(0x18f)](_0x1b6cdd);if(typeof _0x533fdd[_0xfae2cb(0x180)]===_0xfae2cb(0x15d)&&Number[_0xfae2cb(0x188)](_0x533fdd[_0xfae2cb(0x180)]))return{'dbId':_0x533fdd[_0xfae2cb(0x180)],'dbName':_0x533fdd[_0xfae2cb(0x165)]};}catch{}throw CliErrors[_0xfae2cb(0x164)](_0xfae2cb(0x163)+_0x1b6cdd);}function resolveProvidedDbId(_0x2ed0a1){const _0x4c55a7=a114_0x5731d0,_0x19d8e3=_0x2ed0a1['flag'](_0x4c55a7(0x155));if(typeof _0x19d8e3===_0x4c55a7(0x15d)&&Number[_0x4c55a7(0x188)](_0x19d8e3))return _0x19d8e3;return undefined;}
@@ -1 +1 @@
1
- const a115_0x4d6584=a115_0x159d;(function(_0x3674b7,_0x5e132f){const _0x2278ec=a115_0x159d,_0x3aa11b=_0x3674b7();while(!![]){try{const _0x286fa3=parseInt(_0x2278ec(0xad))/0x1*(parseInt(_0x2278ec(0xb3))/0x2)+-parseInt(_0x2278ec(0x9d))/0x3+parseInt(_0x2278ec(0xb2))/0x4+parseInt(_0x2278ec(0x9c))/0x5+parseInt(_0x2278ec(0xba))/0x6+-parseInt(_0x2278ec(0xa9))/0x7+-parseInt(_0x2278ec(0x9a))/0x8;if(_0x286fa3===_0x5e132f)break;else _0x3aa11b['push'](_0x3aa11b['shift']());}catch(_0x354a41){_0x3aa11b['push'](_0x3aa11b['shift']());}}}(a115_0x4397,0x1dcd6));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';function a115_0x4397(){const _0xadcce1=['738oIyZcB','sql','/smartapi/custom/deleteUserCustomSql','toISOString','SQL\x20lock\x20file\x20not\x20found.','projectRoot','replace','1008054NKpfsn','sqlRoot','sqlcode','trashDir','startsWith','length','appCode','filter','1333056qqYcHO','\x20(local\x20file\x20moved\x20to\x20trash)','570130MTLVfm','627534hsUAxA','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','Deleted\x20','Would\x20delete\x20SQL\x20','high-risk-write','sqls','str','lastSync','remoteId','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','POST','entries','572656SvromT','delete','sqlRootDir','lockFilePath','209TcGbXH','fromEntries','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','trashedTo','validation','882128cubyge'];a115_0x4397=function(){return _0xadcce1;};return a115_0x4397();}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a115_0x159d(_0x589a33,_0x5921c8){_0x589a33=_0x589a33-0x94;const _0x439737=a115_0x4397();let _0x159d28=_0x439737[_0x589a33];return _0x159d28;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a115_0x4d6584(0xb4),'command':a115_0x4d6584(0xaa),'description':a115_0x4d6584(0x9e),'risk':a115_0x4d6584(0xa1),'flags':[SQLCODE_FLAG],async 'validate'(_0x10a387){const _0x580808=a115_0x4d6584,_0x3841b8=loadSqlProjectConfig(_0x10a387[_0x580808(0x98)]),_0x2093ee=await readSqlLockFile(_0x3841b8[_0x580808(0xac)]);if(!_0x2093ee)throw CliErrors[_0x580808(0xb1)](_0x580808(0xaf));},async 'dryRun'(_0x27679f){const _0x2b51f9=a115_0x4d6584,_0x1785d3=loadSqlProjectConfig(_0x27679f[_0x2b51f9(0x98)]),_0x44d9f4=await readSqlLockFile(_0x1785d3[_0x2b51f9(0xac)]);if(!_0x44d9f4)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x3d6f7d}=ensureSqlLockScope(_0x44d9f4,_0x27679f[_0x2b51f9(0x98)],_0x1785d3[_0x2b51f9(0xbb)],_0x2b51f9(0xaa)),_0x559e28=_0x27679f[_0x2b51f9(0xa3)](_0x2b51f9(0x94)),_0x3615f9=_0x3d6f7d[_0x2b51f9(0xa2)][_0x559e28];if(!_0x3615f9)throw CliErrors['validation'](_0x2b51f9(0xa6)+_0x559e28+'\x22.');return{'method':_0x2b51f9(0xa7),'url':_0x2b51f9(0xb5),'body':{'sqlCode':_0x559e28,'id':_0x3615f9[_0x2b51f9(0xa5)],'localPath':resolveLocalSqlFilePath(_0x1785d3,_0x559e28,_0x3615f9)},'description':_0x2b51f9(0xa0)+_0x559e28+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x1785d3[_0x2b51f9(0x95)]};},async 'execute'(_0x1c122b){const _0x2f0d18=a115_0x4d6584,_0x294d14=loadSqlProjectConfig(_0x1c122b['appCode']),_0x359ec8=await readSqlLockFile(_0x294d14['lockFilePath']);if(!_0x359ec8)throw CliErrors[_0x2f0d18(0xb1)](_0x2f0d18(0xb7));const {lockData:_0x3bc637,appLock:_0x206db8}=ensureSqlLockScope(_0x359ec8,_0x1c122b[_0x2f0d18(0x98)],_0x294d14[_0x2f0d18(0xbb)],_0x2f0d18(0xaa)),_0x3c5c90=_0x1c122b[_0x2f0d18(0xa3)](_0x2f0d18(0x94)),_0x546df8=_0x206db8['sqls'][_0x3c5c90];if(!_0x546df8)throw CliErrors['validation'](_0x2f0d18(0xa6)+_0x3c5c90+'\x22.');await deleteSqlQuery({'id':_0x546df8[_0x2f0d18(0xa5)],'sqlCode':_0x3c5c90}),_0x206db8['sqls']=Object[_0x2f0d18(0xae)](Object[_0x2f0d18(0xa8)](_0x206db8[_0x2f0d18(0xa2)])[_0x2f0d18(0x99)](([_0x2d4926])=>_0x2d4926!==_0x3c5c90)),_0x206db8[_0x2f0d18(0xa4)]=new Date()['toISOString'](),await writeSqlLockFile(_0x294d14[_0x2f0d18(0xac)],_0x3bc637);const _0x202d9b=resolveLocalSqlFilePath(_0x294d14,_0x3c5c90,_0x546df8);let _0x3b945b;await fileExists(_0x202d9b)&&(_0x3b945b=await moveToTrash(_0x294d14[_0x2f0d18(0xb8)],_0x294d14[_0x2f0d18(0x95)],_0x202d9b),await cleanupEmptyDirectories(dirname(_0x202d9b),_0x294d14[_0x2f0d18(0xab)]));const _0x2373c5={'deleted':_0x3c5c90,'remoteId':_0x546df8[_0x2f0d18(0xa5)]};if(_0x3b945b)_0x2373c5[_0x2f0d18(0xb0)]=_0x3b945b;return{'ok':!![],'data':_0x2373c5,'message':_0x2f0d18(0x9f)+_0x3c5c90+(_0x3b945b?_0x2f0d18(0x9b):'')};}};async function moveToTrash(_0x48502c,_0x2bfe00,_0x263079){const _0x269f1e=a115_0x4d6584,_0x5ccc99=new Date()[_0x269f1e(0xb6)]()[_0x269f1e(0xb9)](/[:.]/g,'-'),_0x23a244=relative(_0x48502c,_0x263079),_0x1f4741=join(_0x2bfe00,_0x5ccc99,_0x23a244);return await mkdir(dirname(_0x1f4741),{'recursive':!![]}),await rename(_0x263079,_0x1f4741),_0x1f4741;}async function cleanupEmptyDirectories(_0x1b71e9,_0x378f83){const _0x56ccd5=a115_0x4d6584;let _0x168efb=resolve(_0x1b71e9);const _0x5b0462=resolve(_0x378f83);while(_0x168efb[_0x56ccd5(0x96)](''+_0x5b0462+sep)||_0x168efb===_0x5b0462){if(_0x168efb===_0x5b0462)return;try{const _0x3ffbfd=await readdir(_0x168efb);if(_0x3ffbfd[_0x56ccd5(0x97)]>0x0)return;await rmdir(_0x168efb);}catch{return;}_0x168efb=dirname(_0x168efb);}}
1
+ const a115_0x279425=a115_0x2806;(function(_0x3484a4,_0x30229e){const _0x123151=a115_0x2806,_0x3fc405=_0x3484a4();while(!![]){try{const _0x14cc4c=-parseInt(_0x123151(0xa5))/0x1+-parseInt(_0x123151(0xa4))/0x2*(parseInt(_0x123151(0x94))/0x3)+parseInt(_0x123151(0x9e))/0x4+parseInt(_0x123151(0x9c))/0x5*(-parseInt(_0x123151(0x9a))/0x6)+parseInt(_0x123151(0x92))/0x7*(-parseInt(_0x123151(0x9b))/0x8)+parseInt(_0x123151(0x91))/0x9*(-parseInt(_0x123151(0x8b))/0xa)+parseInt(_0x123151(0x8f))/0xb;if(_0x14cc4c===_0x30229e)break;else _0x3fc405['push'](_0x3fc405['shift']());}catch(_0x2501ec){_0x3fc405['push'](_0x3fc405['shift']());}}}(a115_0x1c6e,0xd0d59));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_0x2806(_0x43636c,_0xcef4e2){_0x43636c=_0x43636c-0x82;const _0x1c6e40=a115_0x1c6e();let _0x2806f9=_0x1c6e40[_0x43636c];return _0x2806f9;}export const sqlDelete={'service':'sql','command':a115_0x279425(0x97),'description':a115_0x279425(0x96),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x41f6ee){const _0xbe0f1a=a115_0x279425,_0x21c610=loadSqlProjectConfig(_0x41f6ee[_0xbe0f1a(0x95)]),_0x1bbb0e=await readSqlLockFile(_0x21c610[_0xbe0f1a(0x8a)]);if(!_0x1bbb0e)throw CliErrors['validation'](_0xbe0f1a(0xa2));},async 'dryRun'(_0x3f9eed){const _0x435222=a115_0x279425,_0x496ddb=loadSqlProjectConfig(_0x3f9eed['appCode']),_0x46c26a=await readSqlLockFile(_0x496ddb[_0x435222(0x8a)]);if(!_0x46c26a)throw CliErrors[_0x435222(0xa0)](_0x435222(0xa2));const {appLock:_0x3c9215}=ensureSqlLockScope(_0x46c26a,_0x3f9eed[_0x435222(0x95)],_0x496ddb['sqlRoot'],'delete'),_0x1d384b=_0x3f9eed[_0x435222(0xa3)]('sqlcode'),_0x3fa1c1=_0x3c9215['sqls'][_0x1d384b];if(!_0x3fa1c1)throw CliErrors[_0x435222(0xa0)](_0x435222(0x87)+_0x1d384b+'\x22.');return{'method':_0x435222(0x83),'url':_0x435222(0x99),'body':{'sqlCode':_0x1d384b,'id':_0x3fa1c1[_0x435222(0x82)],'localPath':resolveLocalSqlFilePath(_0x496ddb,_0x1d384b,_0x3fa1c1)},'description':_0x435222(0x98)+_0x1d384b+_0x435222(0x85)+_0x496ddb[_0x435222(0xa1)]};},async 'execute'(_0x4e1357){const _0x32d201=a115_0x279425,_0x2785f6=loadSqlProjectConfig(_0x4e1357[_0x32d201(0x95)]),_0x145fba=await readSqlLockFile(_0x2785f6['lockFilePath']);if(!_0x145fba)throw CliErrors[_0x32d201(0xa0)](_0x32d201(0x9d));const {lockData:_0x74fdfc,appLock:_0x2e37d9}=ensureSqlLockScope(_0x145fba,_0x4e1357[_0x32d201(0x95)],_0x2785f6['sqlRoot'],_0x32d201(0x97)),_0x3e3995=_0x4e1357['str']('sqlcode'),_0x2dc0f9=_0x2e37d9[_0x32d201(0x93)][_0x3e3995];if(!_0x2dc0f9)throw CliErrors[_0x32d201(0xa0)](_0x32d201(0x87)+_0x3e3995+'\x22.');await deleteSqlQuery({'id':_0x2dc0f9[_0x32d201(0x82)],'sqlCode':_0x3e3995}),_0x2e37d9[_0x32d201(0x93)]=Object[_0x32d201(0x8c)](Object[_0x32d201(0x89)](_0x2e37d9[_0x32d201(0x93)])[_0x32d201(0x90)](([_0x582993])=>_0x582993!==_0x3e3995)),_0x2e37d9[_0x32d201(0x86)]=new Date()[_0x32d201(0xa6)](),await writeSqlLockFile(_0x2785f6[_0x32d201(0x8a)],_0x74fdfc);const _0xc835a6=resolveLocalSqlFilePath(_0x2785f6,_0x3e3995,_0x2dc0f9);let _0x3561bd;await fileExists(_0xc835a6)&&(_0x3561bd=await moveToTrash(_0x2785f6[_0x32d201(0x9f)],_0x2785f6[_0x32d201(0xa1)],_0xc835a6),await cleanupEmptyDirectories(dirname(_0xc835a6),_0x2785f6[_0x32d201(0x88)]));const _0x2e5c91={'deleted':_0x3e3995,'remoteId':_0x2dc0f9[_0x32d201(0x82)]};if(_0x3561bd)_0x2e5c91['trashedTo']=_0x3561bd;return{'ok':!![],'data':_0x2e5c91,'message':_0x32d201(0x8d)+_0x3e3995+(_0x3561bd?_0x32d201(0x8e):'')};}};async function moveToTrash(_0x5753ce,_0x4427d1,_0x29b284){const _0x2c3702=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x3ff3e2=relative(_0x5753ce,_0x29b284),_0x5db2fa=join(_0x4427d1,_0x2c3702,_0x3ff3e2);return await mkdir(dirname(_0x5db2fa),{'recursive':!![]}),await rename(_0x29b284,_0x5db2fa),_0x5db2fa;}async function cleanupEmptyDirectories(_0x4ea860,_0x5ad35c){const _0x5fa417=a115_0x279425;let _0x4b9c67=resolve(_0x4ea860);const _0x48ad27=resolve(_0x5ad35c);while(_0x4b9c67['startsWith'](''+_0x48ad27+sep)||_0x4b9c67===_0x48ad27){if(_0x4b9c67===_0x48ad27)return;try{const _0x15a423=await readdir(_0x4b9c67);if(_0x15a423[_0x5fa417(0x84)]>0x0)return;await rmdir(_0x4b9c67);}catch{return;}_0x4b9c67=dirname(_0x4b9c67);}}function a115_0x1c6e(){const _0x16a79b=['No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','sqlRootDir','entries','lockFilePath','70ADbJvj','fromEntries','Deleted\x20','\x20(local\x20file\x20moved\x20to\x20trash)','45648713ODArEV','filter','1831581ffOxwI','7zFKFLN','sqls','5793eRnkZE','appCode','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','delete','Would\x20delete\x20SQL\x20','/smartapi/custom/deleteUserCustomSql','226752cKCytD','8662552iisCac','25hOkqgm','SQL\x20lock\x20file\x20not\x20found.','3823680XKsBfd','projectRoot','validation','trashDir','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','str','1534EphOcq','72999Ppydxy','toISOString','remoteId','POST','length','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','lastSync'];a115_0x1c6e=function(){return _0x16a79b;};return a115_0x1c6e();}
@@ -1 +1 @@
1
- const a116_0x14eb9f=a116_0x56fc;(function(_0x4a0521,_0x115715){const _0x495dc4=a116_0x56fc,_0x3c9324=_0x4a0521();while(!![]){try{const _0x2a6d0c=-parseInt(_0x495dc4(0x1c4))/0x1+parseInt(_0x495dc4(0x1cc))/0x2*(parseInt(_0x495dc4(0x1d1))/0x3)+parseInt(_0x495dc4(0x1cb))/0x4+parseInt(_0x495dc4(0x1c0))/0x5*(-parseInt(_0x495dc4(0x1c3))/0x6)+parseInt(_0x495dc4(0x1d0))/0x7*(-parseInt(_0x495dc4(0x1be))/0x8)+-parseInt(_0x495dc4(0x1d2))/0x9+parseInt(_0x495dc4(0x1c2))/0xa;if(_0x2a6d0c===_0x115715)break;else _0x3c9324['push'](_0x3c9324['shift']());}catch(_0x25b3aa){_0x3c9324['push'](_0x3c9324['shift']());}}}(a116_0x5044,0x9705a));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a116_0x56fc(_0x165ca1,_0x4e040f){_0x165ca1=_0x165ca1-0x1be;const _0x504447=a116_0x5044();let _0x56fce8=_0x504447[_0x165ca1];return _0x56fce8;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x14eb9f(0x1c5),'command':a116_0x14eb9f(0x1ca),'description':a116_0x14eb9f(0x1cf),'risk':a116_0x14eb9f(0x1cd),'flags':[SQLCODE_FLAG,{'name':a116_0x14eb9f(0x1c6),'type':a116_0x14eb9f(0x1d3),'description':a116_0x14eb9f(0x1c9)}],async 'execute'(_0x75edc9){const _0x1ba011=a116_0x14eb9f,_0x5b3890=await getSqlQueryInfo(_0x75edc9['appCode'],_0x75edc9[_0x1ba011(0x1d4)](_0x1ba011(0x1ce))),_0x4009aa=_0x75edc9['bool']('verbose');if(_0x4009aa)return{'ok':!![],'data':_0x5b3890};const _0x14205f=_0x5b3890[_0x1ba011(0x1c8)]?await getDbName(_0x75edc9[_0x1ba011(0x1c7)],_0x5b3890[_0x1ba011(0x1c8)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x5b3890['sqlCode'],'sqlName':_0x5b3890['sqlName'],'db':_0x14205f?_0x14205f+'\x20('+_0x5b3890[_0x1ba011(0x1c8)]+')':_0x5b3890[_0x1ba011(0x1c8)]??'','description':_0x5b3890[_0x1ba011(0x1c1)]??'','sqlContent':_0x5b3890[_0x1ba011(0x1bf)]??''}};}};function a116_0x5044(){const _0x221421=['6xACjRr','1187656ROWaCr','sql','verbose','appCode','dbId','Return\x20full\x20raw\x20SQL\x20query\x20object','detail','3982860rDjHNJ','545862bcVuMX','read','sqlcode','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','273ceWmJn','12NypQEU','128052OsaVDe','boolean','str','26984VsWdTc','sqlContent','1383835MFafRc','description','1413450KLNhNy'];a116_0x5044=function(){return _0x221421;};return a116_0x5044();}
1
+ function a116_0x2a89(){const _0x48bcd4=['sqlContent','detail','bool','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','396030ZHnCLO','sqlName','str','2344632MjEAlP','42HHOVKf','description','sql','203oboeRf','verbose','Return\x20full\x20raw\x20SQL\x20query\x20object','appCode','489796WMjRbQ','48090ZdQVow','43896SABsap','855PDvPYG','dbId','2485044XVpbBC','boolean','sqlcode','27372GpJUoa'];a116_0x2a89=function(){return _0x48bcd4;};return a116_0x2a89();}const a116_0x33793f=a116_0x380f;(function(_0x5ad3b2,_0x2795bd){const _0x3d806f=a116_0x380f,_0x314c3b=_0x5ad3b2();while(!![]){try{const _0x3d028b=parseInt(_0x3d806f(0x1d4))/0x1+parseInt(_0x3d806f(0x1cd))/0x2*(parseInt(_0x3d806f(0x1d6))/0x3)+-parseInt(_0x3d806f(0x1d9))/0x4+-parseInt(_0x3d806f(0x1e1))/0x5+parseInt(_0x3d806f(0x1dc))/0x6*(parseInt(_0x3d806f(0x1d0))/0x7)+-parseInt(_0x3d806f(0x1cc))/0x8+-parseInt(_0x3d806f(0x1d7))/0x9*(-parseInt(_0x3d806f(0x1d5))/0xa);if(_0x3d028b===_0x2795bd)break;else _0x314c3b['push'](_0x314c3b['shift']());}catch(_0x3886d0){_0x314c3b['push'](_0x314c3b['shift']());}}}(a116_0x2a89,0x5fde3));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a116_0x380f(_0xe7ad60,_0x27d260){_0xe7ad60=_0xe7ad60-0x1ca;const _0x2a89ca=a116_0x2a89();let _0x380f4c=_0x2a89ca[_0xe7ad60];return _0x380f4c;}export const sqlDetail={'service':a116_0x33793f(0x1cf),'command':a116_0x33793f(0x1de),'description':a116_0x33793f(0x1e0),'risk':'read','flags':[SQLCODE_FLAG,{'name':a116_0x33793f(0x1d1),'type':a116_0x33793f(0x1da),'description':a116_0x33793f(0x1d2)}],async 'execute'(_0x594b54){const _0x5571b6=a116_0x33793f,_0x44625d=await getSqlQueryInfo(_0x594b54['appCode'],_0x594b54[_0x5571b6(0x1cb)](_0x5571b6(0x1db))),_0x521498=_0x594b54[_0x5571b6(0x1df)](_0x5571b6(0x1d1));if(_0x521498)return{'ok':!![],'data':_0x44625d};const _0x2e700f=_0x44625d[_0x5571b6(0x1d8)]?await getDbName(_0x594b54[_0x5571b6(0x1d3)],_0x44625d['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x44625d['sqlCode'],'sqlName':_0x44625d[_0x5571b6(0x1ca)],'db':_0x2e700f?_0x2e700f+'\x20('+_0x44625d[_0x5571b6(0x1d8)]+')':_0x44625d[_0x5571b6(0x1d8)]??'','description':_0x44625d[_0x5571b6(0x1ce)]??'','sqlContent':_0x44625d[_0x5571b6(0x1dd)]??''}};}};
@@ -1 +1 @@
1
- const a117_0x4ec3c9=a117_0x5778;function a117_0x5778(_0x592a7a,_0x3b2aed){_0x592a7a=_0x592a7a-0xfa;const _0x558160=a117_0x5581();let _0x577825=_0x558160[_0x592a7a];return _0x577825;}(function(_0x3eb8b8,_0x3608c4){const _0x414f6d=a117_0x5778,_0x11af36=_0x3eb8b8();while(!![]){try{const _0x4ddbac=parseInt(_0x414f6d(0xfb))/0x1*(-parseInt(_0x414f6d(0x112))/0x2)+-parseInt(_0x414f6d(0x104))/0x3*(parseInt(_0x414f6d(0x110))/0x4)+parseInt(_0x414f6d(0x10e))/0x5*(parseInt(_0x414f6d(0x109))/0x6)+-parseInt(_0x414f6d(0x10f))/0x7*(parseInt(_0x414f6d(0x107))/0x8)+-parseInt(_0x414f6d(0x100))/0x9*(-parseInt(_0x414f6d(0xfe))/0xa)+-parseInt(_0x414f6d(0x115))/0xb*(parseInt(_0x414f6d(0x106))/0xc)+-parseInt(_0x414f6d(0x108))/0xd*(-parseInt(_0x414f6d(0x10c))/0xe);if(_0x4ddbac===_0x3608c4)break;else _0x11af36['push'](_0x11af36['shift']());}catch(_0x2dd263){_0x11af36['push'](_0x11af36['shift']());}}}(a117_0x5581,0x72253));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a117_0x4ec3c9(0x10d),'command':a117_0x4ec3c9(0x103),'description':a117_0x4ec3c9(0x102),'risk':a117_0x4ec3c9(0x114),'flags':[SQLCODE_FLAG,{'name':'params','type':'string','description':a117_0x4ec3c9(0x101)}],async 'execute'(_0x4a7b9a){const _0x23dfe5=a117_0x4ec3c9,_0x222bdb=parseJsonParams(_0x4a7b9a['str'](_0x23dfe5(0xfc))),_0x350158=Date[_0x23dfe5(0x105)](),_0x47c3cf=await executeSql(_0x4a7b9a['appCode'],_0x4a7b9a[_0x23dfe5(0x10b)](_0x23dfe5(0x111)),_0x222bdb),_0x31ca62=Date[_0x23dfe5(0x105)]()-_0x350158,_0x24e401=_0x47c3cf?.[_0x23dfe5(0xfa)]??_0x47c3cf,_0x36381f=_0x47c3cf?.[_0x23dfe5(0xff)]??!![];if(!_0x36381f)return{'ok':![],'data':{'error':_0x47c3cf?.['execError']||_0x23dfe5(0xfd),'elapsed':_0x31ca62},'message':_0x23dfe5(0xfd)};const _0x2e3488=Array[_0x23dfe5(0x113)](_0x24e401)?_0x24e401:[];return{'ok':!![],'data':{'rows':_0x2e3488,'rowCount':_0x2e3488[_0x23dfe5(0x10a)],'elapsed':_0x31ca62},'message':'Returned\x20'+_0x2e3488[_0x23dfe5(0x10a)]+'\x20row(s)\x20in\x20'+_0x31ca62+'ms'};}};function a117_0x5581(){const _0x13b20b=['21836906YrRJNN','4926yWjeLL','length','str','14ZzrzpI','sql','190NUoXYt','49ymFLYf','4apPTYY','sqlcode','6FfqxZT','isArray','read','11LhDAYD','execResult','58081oMrFTp','params','SQL\x20execution\x20failed','7460LWsZmS','execSuccess','8379czvcfj','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','exec','1297884xhTqFb','now','9545484pnTglA','612136pGkuaW'];a117_0x5581=function(){return _0x13b20b;};return a117_0x5581();}
1
+ const a117_0x155a9d=a117_0xecc4;(function(_0x231baa,_0x3b77cb){const _0x5f6a2=a117_0xecc4,_0xc0ffe0=_0x231baa();while(!![]){try{const _0xd43bf2=-parseInt(_0x5f6a2(0x1f3))/0x1*(-parseInt(_0x5f6a2(0x1e5))/0x2)+-parseInt(_0x5f6a2(0x1ea))/0x3+parseInt(_0x5f6a2(0x1e8))/0x4*(-parseInt(_0x5f6a2(0x1df))/0x5)+parseInt(_0x5f6a2(0x1f0))/0x6*(parseInt(_0x5f6a2(0x1e0))/0x7)+-parseInt(_0x5f6a2(0x1e6))/0x8*(-parseInt(_0x5f6a2(0x1e9))/0x9)+parseInt(_0x5f6a2(0x1e1))/0xa+parseInt(_0x5f6a2(0x1f1))/0xb;if(_0xd43bf2===_0x3b77cb)break;else _0xc0ffe0['push'](_0xc0ffe0['shift']());}catch(_0x508212){_0xc0ffe0['push'](_0xc0ffe0['shift']());}}}(a117_0xae62,0x7dbf1));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a117_0xecc4(_0x294648,_0x2acd87){_0x294648=_0x294648-0x1de;const _0xae6203=a117_0xae62();let _0xecc465=_0xae6203[_0x294648];return _0xecc465;}export const sqlExec={'service':a117_0x155a9d(0x1e7),'command':a117_0x155a9d(0x1ed),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a117_0x155a9d(0x1f4),'flags':[SQLCODE_FLAG,{'name':a117_0x155a9d(0x1eb),'type':'string','description':a117_0x155a9d(0x1de)}],async 'execute'(_0x233e16){const _0x1651fe=a117_0x155a9d,_0xf82d45=parseJsonParams(_0x233e16[_0x1651fe(0x1f2)](_0x1651fe(0x1eb))),_0xd4cf5c=Date[_0x1651fe(0x1ee)](),_0x4cdb33=await executeSql(_0x233e16[_0x1651fe(0x1e4)],_0x233e16[_0x1651fe(0x1f2)]('sqlcode'),_0xf82d45),_0x2f87b9=Date[_0x1651fe(0x1ee)]()-_0xd4cf5c,_0x515bcc=_0x4cdb33?.['execResult']??_0x4cdb33,_0x4a6fc6=_0x4cdb33?.[_0x1651fe(0x1ec)]??!![];if(!_0x4a6fc6)return{'ok':![],'data':{'error':_0x4cdb33?.['execError']||_0x1651fe(0x1f5),'elapsed':_0x2f87b9},'message':_0x1651fe(0x1f5)};const _0x131f5a=Array[_0x1651fe(0x1e2)](_0x515bcc)?_0x515bcc:[];return{'ok':!![],'data':{'rows':_0x131f5a,'rowCount':_0x131f5a[_0x1651fe(0x1ef)],'elapsed':_0x2f87b9},'message':'Returned\x20'+_0x131f5a['length']+_0x1651fe(0x1e3)+_0x2f87b9+'ms'};}};function a117_0xae62(){const _0x54b7a3=['now','length','84PrwKtA','1661374qWZsoK','str','2VRsMvN','read','SQL\x20execution\x20failed','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','4965dKgSfy','143941qSrrgK','2157120ASPSgN','isArray','\x20row(s)\x20in\x20','appCode','76972VFDUHx','21544GBNmOa','sql','292CEfDkB','1584zSUMFt','1854066pZKarn','params','execSuccess','exec'];a117_0xae62=function(){return _0x54b7a3;};return a117_0xae62();}
@@ -1 +1 @@
1
- (function(_0x55ec3f,_0x2ffd26){const _0x215d7e=a118_0x44e9,_0x4f617b=_0x55ec3f();while(!![]){try{const _0x5010f9=-parseInt(_0x215d7e(0xbd))/0x1*(-parseInt(_0x215d7e(0xb7))/0x2)+parseInt(_0x215d7e(0xb6))/0x3*(-parseInt(_0x215d7e(0xbb))/0x4)+parseInt(_0x215d7e(0xb8))/0x5*(-parseInt(_0x215d7e(0xba))/0x6)+parseInt(_0x215d7e(0xb5))/0x7+-parseInt(_0x215d7e(0xb3))/0x8+-parseInt(_0x215d7e(0xb4))/0x9+parseInt(_0x215d7e(0xbc))/0xa*(parseInt(_0x215d7e(0xb9))/0xb);if(_0x5010f9===_0x2ffd26)break;else _0x4f617b['push'](_0x4f617b['shift']());}catch(_0x4a00ee){_0x4f617b['push'](_0x4f617b['shift']());}}}(a118_0x248d,0x1a3a9));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a118_0x44e9(_0x2bfa88,_0x37b204){_0x2bfa88=_0x2bfa88-0xb3;const _0x248d7b=a118_0x248d();let _0x44e948=_0x248d7b[_0x2bfa88];return _0x44e948;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a118_0x248d(){const _0x3e0a3f=['183636MwQsvt','135770ZaKByf','48527SVezUL','1231896KmiLxa','1709937nlakxm','1234492iasgwF','6VkeCAY','2aDlLfg','10bRgoWj','374URmeJt','429810MprgGv'];a118_0x248d=function(){return _0x3e0a3f;};return a118_0x248d();}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(_0x4409ca,_0x56a72d){const _0x24372d=a118_0x1092,_0x31ea09=_0x4409ca();while(!![]){try{const _0x3d19a0=parseInt(_0x24372d(0x141))/0x1+parseInt(_0x24372d(0x13e))/0x2+-parseInt(_0x24372d(0x13f))/0x3+parseInt(_0x24372d(0x140))/0x4+parseInt(_0x24372d(0x13d))/0x5+parseInt(_0x24372d(0x13b))/0x6+parseInt(_0x24372d(0x13a))/0x7*(-parseInt(_0x24372d(0x13c))/0x8);if(_0x3d19a0===_0x56a72d)break;else _0x31ea09['push'](_0x31ea09['shift']());}catch(_0x491f40){_0x31ea09['push'](_0x31ea09['shift']());}}}(a118_0x3d08,0xe9d45));function a118_0x1092(_0x5e3762,_0x5a21ba){_0x5e3762=_0x5e3762-0x13a;const _0x3d08bd=a118_0x3d08();let _0x1092c1=_0x3d08bd[_0x5e3762];return _0x1092c1;}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';function a118_0x3d08(){const _0x290597=['2131940AhfBeT','1901400ONpnav','2463268SPDARM','1813203OcSaCO','25274137flKgwJ','5144142JNWQmb','8JNrxZy','4249045CPHsLI'];a118_0x3d08=function(){return _0x290597;};return a118_0x3d08();}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- const a119_0x215c54=a119_0x5dda;(function(_0xf206bc,_0xa10c8e){const _0x4ac334=a119_0x5dda,_0x1939d4=_0xf206bc();while(!![]){try{const _0x2f76aa=-parseInt(_0x4ac334(0x7f))/0x1+parseInt(_0x4ac334(0xa1))/0x2*(parseInt(_0x4ac334(0x8a))/0x3)+parseInt(_0x4ac334(0x87))/0x4*(-parseInt(_0x4ac334(0x8c))/0x5)+-parseInt(_0x4ac334(0x92))/0x6+parseInt(_0x4ac334(0x7d))/0x7*(-parseInt(_0x4ac334(0x88))/0x8)+parseInt(_0x4ac334(0x91))/0x9*(parseInt(_0x4ac334(0x9d))/0xa)+parseInt(_0x4ac334(0x94))/0xb*(parseInt(_0x4ac334(0x84))/0xc);if(_0x2f76aa===_0xa10c8e)break;else _0x1939d4['push'](_0x1939d4['shift']());}catch(_0x3b6950){_0x1939d4['push'](_0x1939d4['shift']());}}}(a119_0x3ecd,0x190a6));function a119_0x3ecd(){const _0x8411a7=['Page\x20number','13435tAWAtI','paging','sqlcode','sqlName','verbose','1783305hqYLat','777954ROuFzk','name','2108557JUCULm','page','dbId','pagesize','description','string','Found\x20','length','totalCount','10JqxkvD','No\x20custom\x20SQL\x20queries\x20found.','sqlCode','boolean','26oLRVNz','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','65009CmzISE','list','112643GJyZNK','appCode','number','num','read','12oUqZYo','Page\x20size','all','164ysfmMC','112woaFkz','\x20SQL\x20queries\x20(total:\x20','45051RGJNim'];a119_0x3ecd=function(){return _0x8411a7;};return a119_0x3ecd();}function a119_0x5dda(_0x1812a3,_0x169b0e){_0x1812a3=_0x1812a3-0x7d;const _0x3ecd31=a119_0x3ecd();let _0x5dda6d=_0x3ecd31[_0x1812a3];return _0x5dda6d;}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':'sql','command':a119_0x215c54(0x7e),'description':'List\x20custom\x20SQL\x20queries','risk':a119_0x215c54(0x83),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x215c54(0x93),'type':a119_0x215c54(0x99),'description':'Filter\x20by\x20SQL\x20name'},{'name':'page','type':a119_0x215c54(0x81),'description':a119_0x215c54(0x8b),'default':0x1},{'name':a119_0x215c54(0x97),'type':'number','description':a119_0x215c54(0x85)},{'name':a119_0x215c54(0x90),'type':a119_0x215c54(0xa0),'description':a119_0x215c54(0xa2)}],async 'execute'(_0x3ed7e1){const _0x1cc817=a119_0x215c54,_0x13f434=await listSqlQueries(_0x3ed7e1[_0x1cc817(0x80)],{'sqlCode':_0x3ed7e1['str'](_0x1cc817(0x8e))||undefined,'sqlName':_0x3ed7e1['str'](_0x1cc817(0x93))||undefined,'currentPage':_0x3ed7e1[_0x1cc817(0x82)](_0x1cc817(0x95)),'pageSize':_0x3ed7e1[_0x1cc817(0x82)](_0x1cc817(0x97),0x32)}),_0x4366b0=_0x3ed7e1['bool'](_0x1cc817(0x90)),_0x169f14=_0x13f434['tableData']??[],_0x3c0539=_0x13f434[_0x1cc817(0x8d)]?.[_0x1cc817(0x9c)]??_0x169f14['length'];let _0x379d7f;return _0x4366b0?_0x379d7f=_0x169f14:_0x379d7f=await Promise[_0x1cc817(0x86)](_0x169f14['map'](async _0x26ab78=>{const _0x214fe4=_0x1cc817;let _0x2dde09;try{_0x2dde09=_0x26ab78['dbId']?await getDbName(_0x3ed7e1['appCode'],_0x26ab78[_0x214fe4(0x96)]):undefined;}catch{}return{'sqlCode':_0x26ab78[_0x214fe4(0x9f)],'sqlName':_0x26ab78[_0x214fe4(0x8f)],'description':_0x26ab78[_0x214fe4(0x98)]??'','db':_0x2dde09?_0x2dde09+'\x20('+_0x26ab78[_0x214fe4(0x96)]+')':_0x26ab78[_0x214fe4(0x96)]??''};})),{'ok':!![],'data':_0x379d7f,'message':_0x169f14[_0x1cc817(0x9b)]===0x0?_0x1cc817(0x9e):_0x1cc817(0x9a)+_0x169f14[_0x1cc817(0x9b)]+_0x1cc817(0x89)+_0x3c0539+').'};}};
1
+ const a119_0x3cdf3d=a119_0x4594;(function(_0x1b732a,_0x565e85){const _0x2a5a0e=a119_0x4594,_0x7eb687=_0x1b732a();while(!![]){try{const _0x561309=-parseInt(_0x2a5a0e(0x1f9))/0x1+-parseInt(_0x2a5a0e(0x1f5))/0x2+parseInt(_0x2a5a0e(0x202))/0x3*(-parseInt(_0x2a5a0e(0x201))/0x4)+-parseInt(_0x2a5a0e(0x1fd))/0x5*(parseInt(_0x2a5a0e(0x20b))/0x6)+parseInt(_0x2a5a0e(0x205))/0x7+parseInt(_0x2a5a0e(0x1f3))/0x8*(-parseInt(_0x2a5a0e(0x20a))/0x9)+parseInt(_0x2a5a0e(0x203))/0xa;if(_0x561309===_0x565e85)break;else _0x7eb687['push'](_0x7eb687['shift']());}catch(_0x52fa5a){_0x7eb687['push'](_0x7eb687['shift']());}}}(a119_0x4940,0x26103));import{listSqlQueries}from'../../core/api-client.js';function a119_0x4594(_0x39eefd,_0x3d77be){_0x39eefd=_0x39eefd-0x1e9;const _0x494016=a119_0x4940();let _0x459463=_0x494016[_0x39eefd];return _0x459463;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a119_0x3cdf3d(0x1fc),'command':a119_0x3cdf3d(0x1fb),'description':'List\x20custom\x20SQL\x20queries','risk':a119_0x3cdf3d(0x1f8),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x3cdf3d(0x1ea),'type':a119_0x3cdf3d(0x1fa),'description':a119_0x3cdf3d(0x1f6)},{'name':a119_0x3cdf3d(0x1e9),'type':a119_0x3cdf3d(0x1f0),'description':'Page\x20number','default':0x1},{'name':a119_0x3cdf3d(0x204),'type':a119_0x3cdf3d(0x1f0),'description':a119_0x3cdf3d(0x208)},{'name':'verbose','type':a119_0x3cdf3d(0x1eb),'description':a119_0x3cdf3d(0x1f1)}],async 'execute'(_0x4cb451){const _0x3dd95f=a119_0x3cdf3d,_0x227592=await listSqlQueries(_0x4cb451['appCode'],{'sqlCode':_0x4cb451[_0x3dd95f(0x20d)]('sqlcode')||undefined,'sqlName':_0x4cb451['str'](_0x3dd95f(0x1ea))||undefined,'currentPage':_0x4cb451[_0x3dd95f(0x20c)](_0x3dd95f(0x1e9)),'pageSize':_0x4cb451[_0x3dd95f(0x20c)](_0x3dd95f(0x204),0x32)}),_0x2a3c6d=_0x4cb451[_0x3dd95f(0x1ec)]('verbose'),_0x57c6a6=_0x227592['tableData']??[],_0x1243f6=_0x227592[_0x3dd95f(0x1ed)]?.[_0x3dd95f(0x1ef)]??_0x57c6a6['length'];let _0x2ed9a7;return _0x2a3c6d?_0x2ed9a7=_0x57c6a6:_0x2ed9a7=await Promise[_0x3dd95f(0x1ff)](_0x57c6a6['map'](async _0x1d0409=>{const _0x276c84=_0x3dd95f;let _0x5e4fba;try{_0x5e4fba=_0x1d0409['dbId']?await getDbName(_0x4cb451[_0x276c84(0x206)],_0x1d0409[_0x276c84(0x209)]):undefined;}catch{}return{'sqlCode':_0x1d0409[_0x276c84(0x1f4)],'sqlName':_0x1d0409[_0x276c84(0x1fe)],'description':_0x1d0409[_0x276c84(0x200)]??'','db':_0x5e4fba?_0x5e4fba+'\x20('+_0x1d0409[_0x276c84(0x209)]+')':_0x1d0409[_0x276c84(0x209)]??''};})),{'ok':!![],'data':_0x2ed9a7,'message':_0x57c6a6[_0x3dd95f(0x1f2)]===0x0?_0x3dd95f(0x207):_0x3dd95f(0x1f7)+_0x57c6a6[_0x3dd95f(0x1f2)]+_0x3dd95f(0x1ee)+_0x1243f6+').'};}};function a119_0x4940(){const _0x28645b=['number','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','length','1456pMCDYo','sqlCode','212960dDkoFo','Filter\x20by\x20SQL\x20name','Found\x20','read','12923VHNIfP','string','list','sql','37105AJvHao','sqlName','all','description','92keuCtA','15042UrWVjm','5240250VWarFC','pagesize','1396003SmmyFa','appCode','No\x20custom\x20SQL\x20queries\x20found.','Page\x20size','dbId','6183iRdZRh','168AedIHA','num','str','page','name','boolean','bool','paging','\x20SQL\x20queries\x20(total:\x20','totalCount'];a119_0x4940=function(){return _0x28645b;};return a119_0x4940();}
@@ -1 +1 @@
1
- const a120_0x1340b4=a120_0x5c05;(function(_0x52a53c,_0x57bd6d){const _0x3ec304=a120_0x5c05,_0x669d2b=_0x52a53c();while(!![]){try{const _0x11ed07=-parseInt(_0x3ec304(0x19c))/0x1*(-parseInt(_0x3ec304(0x19d))/0x2)+parseInt(_0x3ec304(0x199))/0x3+parseInt(_0x3ec304(0x196))/0x4+-parseInt(_0x3ec304(0x1a9))/0x5+-parseInt(_0x3ec304(0x18e))/0x6+parseInt(_0x3ec304(0x184))/0x7+-parseInt(_0x3ec304(0x18f))/0x8*(parseInt(_0x3ec304(0x187))/0x9);if(_0x11ed07===_0x57bd6d)break;else _0x669d2b['push'](_0x669d2b['shift']());}catch(_0x317d75){_0x669d2b['push'](_0x669d2b['shift']());}}}(a120_0x1479,0x8fd5e));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a120_0x1479(){const _0x2d4f5d=['tableData','split','name','\x20skipped,\x20','utf8','conflict','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','lastSync','unchanged','length','message','mybatisXml','force','dbId','str','2638615gciHzv','nonInteractive','apps','643149xfJwcQ','bool','\x20written,\x20','toISOString','test','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sqlRoot','712548DEelya','40TskvsW','boolean','Force\x20overwrite\x20local\x20unsynced\x20changes','sql','description','No\x20remote\x20SQL\x20queries\x20matched.','pull','1986732mGJuKt','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','write','1321647TiNXLW','sqlRootDir','replace','8JtHKtX','97574gQMgAa','Pull\x20complete:\x20','sqlContent','Filter\x20by\x20SQL\x20display\x20name','sqlCode','string','appCode','filter','path','Force\x20pull\x20cancelled.','skipped','catch','3196300eQXxaf','trimStart','sqls','push','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqlcode','paging','cancelled','join','sqlName','POST','totalCount','lockFilePath'];a120_0x1479=function(){return _0x2d4f5d;};return a120_0x1479();}function a120_0x5c05(_0xbf1fb0,_0xce771c){_0xbf1fb0=_0xbf1fb0-0x16d;const _0x14790e=a120_0x1479();let _0x5c05f3=_0x14790e[_0xbf1fb0];return _0x5c05f3;}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(_0x184f14,_0x1a5b3d){const _0x19d73f=a120_0x5c05,_0x6c084d=[];let _0x4b946a=0x1;while(!![]){const _0x40edf2=await listSqlQueries(_0x184f14,{'currentPage':_0x4b946a,'pageSize':PAGE_SIZE,'sqlCode':_0x1a5b3d['sqlCode'],'sqlName':_0x1a5b3d[_0x19d73f(0x171)]}),_0x4271b8=_0x40edf2[_0x19d73f(0x175)]??[];_0x6c084d['push'](..._0x4271b8);if(_0x4271b8['length']===0x0)break;const _0x4b7c09=_0x40edf2[_0x19d73f(0x16e)]?.[_0x19d73f(0x173)];if(_0x4b7c09!=null?_0x6c084d[_0x19d73f(0x17e)]>=_0x4b7c09:_0x4271b8[_0x19d73f(0x17e)]<PAGE_SIZE)break;_0x4b946a++;}return _0x6c084d;}async function ensureSqlContent(_0xe46893){const _0xc7cf9=a120_0x5c05;if(_0xe46893[_0xc7cf9(0x19f)]!=null&&String(_0xe46893[_0xc7cf9(0x19f)])[_0xc7cf9(0x17e)]>0x0)return _0xe46893;return getSqlQueryDetail(_0xe46893['sqlCode']);}export const sqlPull={'service':a120_0x1340b4(0x192),'command':a120_0x1340b4(0x195),'description':a120_0x1340b4(0x17b),'risk':a120_0x1340b4(0x198),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x1340b4(0x177),'type':a120_0x1340b4(0x1a2),'description':a120_0x1340b4(0x1a0)},{'name':a120_0x1340b4(0x181),'type':a120_0x1340b4(0x190),'description':a120_0x1340b4(0x191)}],async 'dryRun'(_0x214a29){const _0x39004f=a120_0x1340b4,_0x35b3e2=loadSqlProjectConfig(_0x214a29['appCode']),_0x4339c8=await readSqlLockFile(_0x35b3e2[_0x39004f(0x174)]),{appLock:_0x4d7202}=ensureSqlLockScope(_0x4339c8??createEmptySqlLock(),_0x35b3e2['appCode'],_0x35b3e2['sqlRoot'],_0x39004f(0x195)),_0x3511f0=await fetchAllSqlQueries(_0x214a29[_0x39004f(0x1a3)],{'sqlCode':_0x214a29[_0x39004f(0x183)]('sqlcode')||undefined,'sqlName':_0x214a29[_0x39004f(0x183)](_0x39004f(0x177))||undefined}),_0x2e94c7=[];for(const _0x2e43c8 of _0x3511f0){const _0x5d4fe2=await ensureSqlContent(_0x2e43c8),_0x1ab2ad=ensureRemoteSqlContent(_0x5d4fe2),_0x5029a5=detectModeFromSql(_0x5d4fe2),_0x1edd29=_0x5d4fe2[_0x39004f(0x182)]?await getDbName(_0x214a29[_0x39004f(0x1a3)],Number(_0x5d4fe2[_0x39004f(0x182)]))['catch'](()=>undefined):undefined,_0x1407cf=buildLocalSqlFileContent({'sqlCode':_0x5d4fe2[_0x39004f(0x1a1)],'sqlName':_0x5d4fe2[_0x39004f(0x171)],'dbId':_0x5d4fe2[_0x39004f(0x182)]},_0x1ab2ad,{'dbName':_0x1edd29,'mode':_0x5029a5,'syncedAt':new Date()['toISOString'](),'description':_0x5d4fe2[_0x39004f(0x193)]}),_0x432afe=buildSqlLockEntry(_0x5d4fe2,_0x1ab2ad,'',{'dbName':_0x1edd29}),_0x326b36=resolveLocalSqlFilePath(_0x35b3e2,_0x5d4fe2[_0x39004f(0x1a1)],_0x432afe);let _0x23de57='would_pull',_0x403273;if(await fileExists(_0x326b36)){const _0x116ee7=await readFile(_0x326b36,_0x39004f(0x179));isEquivalentPulledSqlFile(_0x116ee7,_0x1407cf,_0x5029a5)?(_0x23de57=_0x39004f(0x1a7),_0x403273=_0x39004f(0x17d)):(_0x23de57=_0x39004f(0x17a),_0x403273=_0x39004f(0x1ad));}_0x2e94c7[_0x39004f(0x1ac)]({'sqlCode':_0x5d4fe2[_0x39004f(0x1a1)],'sqlName':_0x5d4fe2[_0x39004f(0x171)],'filePath':_0x326b36,'status':_0x23de57,'reason':_0x403273});}return{'method':_0x39004f(0x172),'url':_0x39004f(0x197),'body':{'appCode':_0x214a29[_0x39004f(0x1a3)],'sqlCode':_0x214a29[_0x39004f(0x183)]('sqlcode')||null,'sqlName':_0x214a29[_0x39004f(0x183)](_0x39004f(0x177))||null,'files':_0x2e94c7},'description':'Would\x20pull\x20'+_0x2e94c7[_0x39004f(0x17e)]+'\x20SQL\x20file(s)\x20into\x20'+_0x35b3e2[_0x39004f(0x19a)]};},async 'execute'(_0x31e870){const _0x3e75c0=a120_0x1340b4,_0x526c7d=loadSqlProjectConfig(_0x31e870['appCode']),_0x176cdf=await readSqlLockFile(_0x526c7d[_0x3e75c0(0x174)]),{lockData:_0x16aec4,appLock:_0x3a23d9}=ensureSqlLockScope(_0x176cdf??createEmptySqlLock(),_0x526c7d[_0x3e75c0(0x1a3)],_0x526c7d[_0x3e75c0(0x18d)],_0x3e75c0(0x195)),_0x252335=_0x31e870[_0x3e75c0(0x188)]('force'),_0x12e990=await fetchAllSqlQueries(_0x31e870[_0x3e75c0(0x1a3)],{'sqlCode':_0x31e870[_0x3e75c0(0x183)](_0x3e75c0(0x16d))||undefined,'sqlName':_0x31e870[_0x3e75c0(0x183)](_0x3e75c0(0x177))||undefined});if(_0x12e990[_0x3e75c0(0x17e)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3e75c0(0x194)};const _0x5b6b52=[],_0x192c89=[];for(const _0x20409f of _0x12e990){try{_0x5b6b52['push'](await ensureSqlContent(_0x20409f));}catch(_0x41820f){_0x192c89[_0x3e75c0(0x1ac)]({'sqlCode':_0x20409f['sqlCode'],'error':_0x41820f instanceof Error?_0x41820f[_0x3e75c0(0x17f)]:String(_0x41820f)});}}if(_0x252335&&!_0x31e870[_0x3e75c0(0x185)]){let _0x4085b3=![];for(const _0x31f52c of _0x5b6b52){const _0x437e95=detectModeFromSql(_0x31f52c),_0xe39bd=_0x31f52c[_0x3e75c0(0x182)]?await getDbName(_0x31e870['appCode'],Number(_0x31f52c['dbId']))[_0x3e75c0(0x1a8)](()=>undefined):undefined,_0x56c7e8=buildLocalSqlFileContent({'sqlCode':_0x31f52c['sqlCode'],'sqlName':_0x31f52c['sqlName'],'dbId':_0x31f52c[_0x3e75c0(0x182)]},ensureRemoteSqlContent(_0x31f52c),{'dbName':_0xe39bd,'mode':_0x437e95,'syncedAt':new Date()['toISOString'](),'description':_0x31f52c[_0x3e75c0(0x193)]}),_0x5ec9ab=resolveLocalSqlFilePath(_0x526c7d,_0x31f52c[_0x3e75c0(0x1a1)],buildSqlLockEntry(_0x31f52c,ensureRemoteSqlContent(_0x31f52c),'',{'dbName':_0xe39bd}));if(await fileExists(_0x5ec9ab)){const _0x528d16=await readFile(_0x5ec9ab,'utf8');if(!isEquivalentPulledSqlFile(_0x528d16,_0x56c7e8,_0x437e95)){_0x4085b3=!![];break;}}}if(_0x4085b3){const _0x5632dc=await confirmForceOverwrite(_0x3e75c0(0x18c));if(!_0x5632dc)throw CliErrors[_0x3e75c0(0x16f)](_0x3e75c0(0x1a6));}}const _0x2ba8a6=cloneSqlLockData(_0x16aec4),_0x248322=_0x2ba8a6[_0x3e75c0(0x186)][_0x526c7d[_0x3e75c0(0x1a3)]],_0x2bd2ac=[],_0x3651de=[];for(const _0x1d613e of _0x5b6b52){const _0x7700f5=_0x248322[_0x3e75c0(0x1ab)][_0x1d613e['sqlCode']],_0x3817ba=ensureRemoteSqlContent(_0x1d613e),_0x296b5c=detectModeFromSql(_0x1d613e),_0x361530=_0x1d613e[_0x3e75c0(0x182)]?await getDbName(_0x31e870[_0x3e75c0(0x1a3)],Number(_0x1d613e[_0x3e75c0(0x182)]))[_0x3e75c0(0x1a8)](()=>undefined):undefined,_0xaf7fbf=buildLocalSqlFileContent({'sqlCode':_0x1d613e[_0x3e75c0(0x1a1)],'sqlName':_0x1d613e[_0x3e75c0(0x171)],'dbId':_0x1d613e[_0x3e75c0(0x182)]},_0x3817ba,{'dbName':_0x361530,'mode':_0x296b5c,'syncedAt':new Date()[_0x3e75c0(0x18a)](),'description':_0x1d613e[_0x3e75c0(0x193)]}),_0x5266b7=buildSqlLockEntry(_0x1d613e,_0x3817ba,computeSqlContentHash(_0xaf7fbf),{'dbName':_0x361530}),_0x1c986c=_0x5266b7[_0x3e75c0(0x1a5)],_0x3bd044=join(_0x526c7d[_0x3e75c0(0x19a)],_0x1c986c);try{if(await fileExists(_0x3bd044)){const _0xc3f7f6=await readFile(_0x3bd044,_0x3e75c0(0x179));if(isEquivalentPulledSqlFile(_0xc3f7f6,_0xaf7fbf,_0x296b5c)){_0x3651de['push']({'sqlCode':_0x1d613e[_0x3e75c0(0x1a1)],'reason':_0x3e75c0(0x17d)}),_0x248322[_0x3e75c0(0x1ab)][_0x1d613e[_0x3e75c0(0x1a1)]]={..._0x5266b7,'hash':computeSqlContentHash(_0xc3f7f6),'path':_0x1c986c};continue;}if(!_0x252335){_0x3651de[_0x3e75c0(0x1ac)]({'sqlCode':_0x1d613e[_0x3e75c0(0x1a1)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x3c8558=_0x7700f5?.['path']?join(_0x526c7d[_0x3e75c0(0x19a)],_0x7700f5['path']):undefined;_0x3c8558&&_0x3c8558!==_0x3bd044&&await fileExists(_0x3c8558)&&await rm(_0x3c8558,{'force':!![]}),await ensureParentDirectory(_0x3bd044),await writeFile(_0x3bd044,_0xaf7fbf,'utf8'),_0x248322['sqls'][_0x1d613e[_0x3e75c0(0x1a1)]]={..._0x5266b7,'path':_0x1c986c},_0x2bd2ac[_0x3e75c0(0x1ac)]({'sqlCode':_0x1d613e[_0x3e75c0(0x1a1)],'filePath':_0x3bd044});}catch(_0x1dddd5){_0x192c89[_0x3e75c0(0x1ac)]({'sqlCode':_0x1d613e[_0x3e75c0(0x1a1)],'error':_0x1dddd5 instanceof Error?_0x1dddd5[_0x3e75c0(0x17f)]:String(_0x1dddd5)});}}return _0x248322[_0x3e75c0(0x17c)]=new Date()[_0x3e75c0(0x18a)](),await writeSqlLockFile(_0x526c7d[_0x3e75c0(0x174)],_0x2ba8a6),{'ok':_0x192c89[_0x3e75c0(0x17e)]===0x0,'data':{'pulled':_0x2bd2ac,'skipped':_0x3651de,'failed':_0x192c89},'message':_0x3e75c0(0x19e)+_0x2bd2ac[_0x3e75c0(0x17e)]+_0x3e75c0(0x189)+_0x3651de['length']+_0x3e75c0(0x178)+_0x192c89[_0x3e75c0(0x17e)]+'\x20failed'};}};function detectModeFromSql(_0x4bd8b3){const _0x33be7f=a120_0x1340b4,_0x877d11=ensureRemoteSqlContent(_0x4bd8b3),_0x5e3bee=stripLocalSqlMetadata(_0x877d11,_0x33be7f(0x180))[_0x33be7f(0x1aa)]();if(/^<(select|insert|update|delete)\b/i[_0x33be7f(0x18b)](_0x5e3bee))return'mybatisXml';return _0x33be7f(0x192);}function isEquivalentPulledSqlFile(_0x4ac288,_0xc976a5,_0x2e0bb7){return normalizePullComparableContent(_0x4ac288,_0x2e0bb7)===normalizePullComparableContent(_0xc976a5,_0x2e0bb7);}function normalizePullComparableContent(_0x4f9fce,_0x5b9593){const _0xd43c67=a120_0x1340b4,_0x5edb49=_0x4f9fce[_0xd43c67(0x19b)](/\r\n/g,'\x0a')[_0xd43c67(0x176)]('\x0a'),_0x324eb7=_0x5edb49[_0xd43c67(0x1a4)](_0xb9d290=>!isSyncedAtMetadataLine(_0xb9d290,_0x5b9593));return _0x324eb7[_0xd43c67(0x170)]('\x0a');}function isSyncedAtMetadataLine(_0x37ac70,_0x68d99b){const _0x2a4c4c=a120_0x1340b4;if(_0x68d99b===_0x2a4c4c(0x180))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x37ac70);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x2a4c4c(0x18b)](_0x37ac70);}
1
+ const a120_0x4889ed=a120_0x54fb;(function(_0x21013a,_0x1db557){const _0x773419=a120_0x54fb,_0x10028a=_0x21013a();while(!![]){try{const _0x48e00f=parseInt(_0x773419(0x17b))/0x1*(-parseInt(_0x773419(0x1aa))/0x2)+-parseInt(_0x773419(0x18a))/0x3*(-parseInt(_0x773419(0x19f))/0x4)+parseInt(_0x773419(0x1a9))/0x5+parseInt(_0x773419(0x1b6))/0x6*(-parseInt(_0x773419(0x183))/0x7)+parseInt(_0x773419(0x1ac))/0x8+-parseInt(_0x773419(0x181))/0x9+parseInt(_0x773419(0x17a))/0xa*(parseInt(_0x773419(0x182))/0xb);if(_0x48e00f===_0x1db557)break;else _0x10028a['push'](_0x10028a['shift']());}catch(_0x151f98){_0x10028a['push'](_0x10028a['shift']());}}}(a120_0x549c,0xd29c7));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';function a120_0x549c(){const _0x13278b=['mybatisXml','conflict','\x20failed','totalCount','7104663lMKyTI','22AyXFVr','3031mIYNgw','length','str','path','nonInteractive','force','write','2409KtQkEO','catch','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','filter','unchanged','Would\x20pull\x20','description','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','apps','string','bool','sqlRoot','name','test','pull','message','Pull\x20complete:\x20','push','\x20skipped,\x20','sqlContent','tableData','7444SwJZjn','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqls','sqlRootDir','toISOString','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','paging','No\x20remote\x20SQL\x20queries\x20matched.','boolean','cancelled','1458875NIyJOd','838364mjcDDU','sqlName','7981024HnbqvR','sql','lastSync','\x20written,\x20','Force\x20pull\x20cancelled.','Force\x20overwrite\x20local\x20unsynced\x20changes','dbId','appCode','sqlCode','sqlcode','11028LfakGa','skipped','utf8','split','POST','would_pull','4608420TIwyEI','3BuKRBV','lockFilePath'];a120_0x549c=function(){return _0x13278b;};return a120_0x549c();}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;function a120_0x54fb(_0x52ec6e,_0x328825){_0x52ec6e=_0x52ec6e-0x179;const _0x549cbd=a120_0x549c();let _0x54fbc7=_0x549cbd[_0x52ec6e];return _0x54fbc7;}async function fetchAllSqlQueries(_0x18128f,_0x14f909){const _0x4eb69f=a120_0x54fb,_0x565c43=[];let _0xc7cb44=0x1;while(!![]){const _0x33f782=await listSqlQueries(_0x18128f,{'currentPage':_0xc7cb44,'pageSize':PAGE_SIZE,'sqlCode':_0x14f909[_0x4eb69f(0x1b4)],'sqlName':_0x14f909[_0x4eb69f(0x1ab)]}),_0x1c1e52=_0x33f782[_0x4eb69f(0x19e)]??[];_0x565c43['push'](..._0x1c1e52);if(_0x1c1e52[_0x4eb69f(0x184)]===0x0)break;const _0x17179f=_0x33f782[_0x4eb69f(0x1a5)]?.[_0x4eb69f(0x180)];if(_0x17179f!=null?_0x565c43[_0x4eb69f(0x184)]>=_0x17179f:_0x1c1e52[_0x4eb69f(0x184)]<PAGE_SIZE)break;_0xc7cb44++;}return _0x565c43;}async function ensureSqlContent(_0x19f1d4){const _0x3b6b10=a120_0x54fb;if(_0x19f1d4['sqlContent']!=null&&String(_0x19f1d4[_0x3b6b10(0x19d)])['length']>0x0)return _0x19f1d4;return getSqlQueryDetail(_0x19f1d4[_0x3b6b10(0x1b4)]);}export const sqlPull={'service':a120_0x4889ed(0x1ad),'command':a120_0x4889ed(0x198),'description':a120_0x4889ed(0x1a4),'risk':a120_0x4889ed(0x189),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x4889ed(0x196),'type':a120_0x4889ed(0x193),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':a120_0x4889ed(0x1a7),'description':a120_0x4889ed(0x1b1)}],async 'dryRun'(_0x2d8d6b){const _0x503e05=a120_0x4889ed,_0x29d6b2=loadSqlProjectConfig(_0x2d8d6b[_0x503e05(0x1b3)]),_0x47f34b=await readSqlLockFile(_0x29d6b2[_0x503e05(0x17c)]),{appLock:_0x336d5c}=ensureSqlLockScope(_0x47f34b??createEmptySqlLock(),_0x29d6b2[_0x503e05(0x1b3)],_0x29d6b2[_0x503e05(0x195)],_0x503e05(0x198)),_0x29f617=await fetchAllSqlQueries(_0x2d8d6b[_0x503e05(0x1b3)],{'sqlCode':_0x2d8d6b[_0x503e05(0x185)](_0x503e05(0x1b5))||undefined,'sqlName':_0x2d8d6b[_0x503e05(0x185)](_0x503e05(0x196))||undefined}),_0x2dda48=[];for(const _0x318ca7 of _0x29f617){const _0x7e49c0=await ensureSqlContent(_0x318ca7),_0x188a7a=ensureRemoteSqlContent(_0x7e49c0),_0x4eeb71=detectModeFromSql(_0x7e49c0),_0x20718e=_0x7e49c0['dbId']?await getDbName(_0x2d8d6b[_0x503e05(0x1b3)],Number(_0x7e49c0[_0x503e05(0x1b2)]))[_0x503e05(0x18b)](()=>undefined):undefined,_0x4bea53=buildLocalSqlFileContent({'sqlCode':_0x7e49c0[_0x503e05(0x1b4)],'sqlName':_0x7e49c0[_0x503e05(0x1ab)],'dbId':_0x7e49c0[_0x503e05(0x1b2)]},_0x188a7a,{'dbName':_0x20718e,'mode':_0x4eeb71,'syncedAt':new Date()[_0x503e05(0x1a3)](),'description':_0x7e49c0[_0x503e05(0x190)]}),_0x3dfdc7=buildSqlLockEntry(_0x7e49c0,_0x188a7a,'',{'dbName':_0x20718e}),_0x1630d6=resolveLocalSqlFilePath(_0x29d6b2,_0x7e49c0[_0x503e05(0x1b4)],_0x3dfdc7);let _0x6c617d=_0x503e05(0x179),_0x359a93;if(await fileExists(_0x1630d6)){const _0x1c5c71=await readFile(_0x1630d6,_0x503e05(0x1b8));isEquivalentPulledSqlFile(_0x1c5c71,_0x4bea53,_0x4eeb71)?(_0x6c617d=_0x503e05(0x1b7),_0x359a93=_0x503e05(0x18e)):(_0x6c617d=_0x503e05(0x17e),_0x359a93=_0x503e05(0x1a0));}_0x2dda48[_0x503e05(0x19b)]({'sqlCode':_0x7e49c0[_0x503e05(0x1b4)],'sqlName':_0x7e49c0[_0x503e05(0x1ab)],'filePath':_0x1630d6,'status':_0x6c617d,'reason':_0x359a93});}return{'method':_0x503e05(0x1ba),'url':_0x503e05(0x191),'body':{'appCode':_0x2d8d6b['appCode'],'sqlCode':_0x2d8d6b[_0x503e05(0x185)](_0x503e05(0x1b5))||null,'sqlName':_0x2d8d6b[_0x503e05(0x185)]('name')||null,'files':_0x2dda48},'description':_0x503e05(0x18f)+_0x2dda48['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x29d6b2[_0x503e05(0x1a2)]};},async 'execute'(_0x63da69){const _0x1e50fb=a120_0x4889ed,_0x4e4f27=loadSqlProjectConfig(_0x63da69[_0x1e50fb(0x1b3)]),_0x193ef0=await readSqlLockFile(_0x4e4f27[_0x1e50fb(0x17c)]),{lockData:_0xbad6c3,appLock:_0x5d26cf}=ensureSqlLockScope(_0x193ef0??createEmptySqlLock(),_0x4e4f27['appCode'],_0x4e4f27[_0x1e50fb(0x195)],_0x1e50fb(0x198)),_0x59f8e6=_0x63da69[_0x1e50fb(0x194)](_0x1e50fb(0x188)),_0x1396b4=await fetchAllSqlQueries(_0x63da69['appCode'],{'sqlCode':_0x63da69['str'](_0x1e50fb(0x1b5))||undefined,'sqlName':_0x63da69[_0x1e50fb(0x185)]('name')||undefined});if(_0x1396b4[_0x1e50fb(0x184)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1e50fb(0x1a6)};const _0x2c787a=[],_0x5d65f0=[];for(const _0x5f196c of _0x1396b4){try{_0x2c787a[_0x1e50fb(0x19b)](await ensureSqlContent(_0x5f196c));}catch(_0x57dfa6){_0x5d65f0[_0x1e50fb(0x19b)]({'sqlCode':_0x5f196c[_0x1e50fb(0x1b4)],'error':_0x57dfa6 instanceof Error?_0x57dfa6[_0x1e50fb(0x199)]:String(_0x57dfa6)});}}if(_0x59f8e6&&!_0x63da69[_0x1e50fb(0x187)]){let _0x19c305=![];for(const _0x339566 of _0x2c787a){const _0x3ea473=detectModeFromSql(_0x339566),_0x1f35d4=_0x339566[_0x1e50fb(0x1b2)]?await getDbName(_0x63da69['appCode'],Number(_0x339566['dbId']))[_0x1e50fb(0x18b)](()=>undefined):undefined,_0x5a6360=buildLocalSqlFileContent({'sqlCode':_0x339566['sqlCode'],'sqlName':_0x339566['sqlName'],'dbId':_0x339566[_0x1e50fb(0x1b2)]},ensureRemoteSqlContent(_0x339566),{'dbName':_0x1f35d4,'mode':_0x3ea473,'syncedAt':new Date()['toISOString'](),'description':_0x339566[_0x1e50fb(0x190)]}),_0xd424b1=resolveLocalSqlFilePath(_0x4e4f27,_0x339566[_0x1e50fb(0x1b4)],buildSqlLockEntry(_0x339566,ensureRemoteSqlContent(_0x339566),'',{'dbName':_0x1f35d4}));if(await fileExists(_0xd424b1)){const _0x26f695=await readFile(_0xd424b1,'utf8');if(!isEquivalentPulledSqlFile(_0x26f695,_0x5a6360,_0x3ea473)){_0x19c305=!![];break;}}}if(_0x19c305){const _0x531ad4=await confirmForceOverwrite(_0x1e50fb(0x18c));if(!_0x531ad4)throw CliErrors[_0x1e50fb(0x1a8)](_0x1e50fb(0x1b0));}}const _0x84884a=cloneSqlLockData(_0xbad6c3),_0x4a11c7=_0x84884a[_0x1e50fb(0x192)][_0x4e4f27[_0x1e50fb(0x1b3)]],_0xb0d6fe=[],_0x4cc8bd=[];for(const _0x3087ab of _0x2c787a){const _0x53b9f8=_0x4a11c7['sqls'][_0x3087ab['sqlCode']],_0xa64e1f=ensureRemoteSqlContent(_0x3087ab),_0x4e799a=detectModeFromSql(_0x3087ab),_0x5b70b6=_0x3087ab[_0x1e50fb(0x1b2)]?await getDbName(_0x63da69[_0x1e50fb(0x1b3)],Number(_0x3087ab['dbId']))['catch'](()=>undefined):undefined,_0x4539f7=buildLocalSqlFileContent({'sqlCode':_0x3087ab[_0x1e50fb(0x1b4)],'sqlName':_0x3087ab[_0x1e50fb(0x1ab)],'dbId':_0x3087ab[_0x1e50fb(0x1b2)]},_0xa64e1f,{'dbName':_0x5b70b6,'mode':_0x4e799a,'syncedAt':new Date()[_0x1e50fb(0x1a3)](),'description':_0x3087ab[_0x1e50fb(0x190)]}),_0x2199a9=buildSqlLockEntry(_0x3087ab,_0xa64e1f,computeSqlContentHash(_0x4539f7),{'dbName':_0x5b70b6}),_0x272b57=_0x2199a9['path'],_0x3f144b=join(_0x4e4f27['sqlRootDir'],_0x272b57);try{if(await fileExists(_0x3f144b)){const _0x55e838=await readFile(_0x3f144b,_0x1e50fb(0x1b8));if(isEquivalentPulledSqlFile(_0x55e838,_0x4539f7,_0x4e799a)){_0x4cc8bd['push']({'sqlCode':_0x3087ab[_0x1e50fb(0x1b4)],'reason':_0x1e50fb(0x18e)}),_0x4a11c7[_0x1e50fb(0x1a1)][_0x3087ab['sqlCode']]={..._0x2199a9,'hash':computeSqlContentHash(_0x55e838),'path':_0x272b57};continue;}if(!_0x59f8e6){_0x4cc8bd['push']({'sqlCode':_0x3087ab[_0x1e50fb(0x1b4)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0xf549d9=_0x53b9f8?.[_0x1e50fb(0x186)]?join(_0x4e4f27[_0x1e50fb(0x1a2)],_0x53b9f8['path']):undefined;_0xf549d9&&_0xf549d9!==_0x3f144b&&await fileExists(_0xf549d9)&&await rm(_0xf549d9,{'force':!![]}),await ensureParentDirectory(_0x3f144b),await writeFile(_0x3f144b,_0x4539f7,_0x1e50fb(0x1b8)),_0x4a11c7[_0x1e50fb(0x1a1)][_0x3087ab[_0x1e50fb(0x1b4)]]={..._0x2199a9,'path':_0x272b57},_0xb0d6fe[_0x1e50fb(0x19b)]({'sqlCode':_0x3087ab['sqlCode'],'filePath':_0x3f144b});}catch(_0x544c2b){_0x5d65f0['push']({'sqlCode':_0x3087ab[_0x1e50fb(0x1b4)],'error':_0x544c2b instanceof Error?_0x544c2b[_0x1e50fb(0x199)]:String(_0x544c2b)});}}return _0x4a11c7[_0x1e50fb(0x1ae)]=new Date()[_0x1e50fb(0x1a3)](),await writeSqlLockFile(_0x4e4f27[_0x1e50fb(0x17c)],_0x84884a),{'ok':_0x5d65f0[_0x1e50fb(0x184)]===0x0,'data':{'pulled':_0xb0d6fe,'skipped':_0x4cc8bd,'failed':_0x5d65f0},'message':_0x1e50fb(0x19a)+_0xb0d6fe['length']+_0x1e50fb(0x1af)+_0x4cc8bd['length']+_0x1e50fb(0x19c)+_0x5d65f0[_0x1e50fb(0x184)]+_0x1e50fb(0x17f)};}};function detectModeFromSql(_0xde3e6f){const _0x14b0c6=a120_0x4889ed,_0x79c20e=ensureRemoteSqlContent(_0xde3e6f),_0x2ad92c=stripLocalSqlMetadata(_0x79c20e,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x14b0c6(0x197)](_0x2ad92c))return _0x14b0c6(0x17d);return'sql';}function isEquivalentPulledSqlFile(_0xb46ecb,_0x565115,_0x3115ed){return normalizePullComparableContent(_0xb46ecb,_0x3115ed)===normalizePullComparableContent(_0x565115,_0x3115ed);}function normalizePullComparableContent(_0x42b1fd,_0x10da84){const _0x17330c=a120_0x4889ed,_0x416da8=_0x42b1fd['replace'](/\r\n/g,'\x0a')[_0x17330c(0x1b9)]('\x0a'),_0x3635d7=_0x416da8[_0x17330c(0x18d)](_0x4a4236=>!isSyncedAtMetadataLine(_0x4a4236,_0x10da84));return _0x3635d7['join']('\x0a');}function isSyncedAtMetadataLine(_0x15ded,_0x301c54){const _0x410517=a120_0x4889ed;if(_0x301c54===_0x410517(0x17d))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x410517(0x197)](_0x15ded);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x15ded);}