@lovrabet/rabetbase-cli 2.2.0-beta.1 → 2.2.0

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 (204) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/relation-audit.js +1 -1
  103. package/lib/commands/page/shared.js +1 -1
  104. package/lib/commands/page/standard-page-status.js +1 -1
  105. package/lib/commands/page/sync.js +1 -1
  106. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  107. package/lib/commands/project/create/format-elapsed.js +1 -1
  108. package/lib/commands/project/create/main.js +1 -1
  109. package/lib/commands/project/create/non-interactive.js +1 -1
  110. package/lib/commands/project/create/project-template-path.js +1 -1
  111. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  112. package/lib/commands/project/create/use-format-code.js +1 -1
  113. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  114. package/lib/commands/project/index.js +1 -1
  115. package/lib/commands/project/init.js +1 -1
  116. package/lib/commands/project/upgrade.js +1 -1
  117. package/lib/commands/registry.js +1 -1
  118. package/lib/commands/run/index.js +1 -1
  119. package/lib/commands/schema.js +1 -1
  120. package/lib/commands/skill/index.js +1 -1
  121. package/lib/commands/sql/create.js +1 -1
  122. package/lib/commands/sql/delete.js +1 -1
  123. package/lib/commands/sql/detail.js +1 -1
  124. package/lib/commands/sql/exec.js +1 -1
  125. package/lib/commands/sql/index.js +1 -1
  126. package/lib/commands/sql/list.js +1 -1
  127. package/lib/commands/sql/pull.js +1 -1
  128. package/lib/commands/sql/push.js +1 -1
  129. package/lib/commands/sql/save.js +1 -1
  130. package/lib/commands/sql/shared.js +1 -1
  131. package/lib/commands/sql/status.js +1 -1
  132. package/lib/commands/sql/validate.js +1 -1
  133. package/lib/config/schema.js +1 -1
  134. package/lib/constant/cdn.js +1 -1
  135. package/lib/constant/cli.js +1 -1
  136. package/lib/constant/defaults.js +1 -1
  137. package/lib/constant/domain.js +1 -1
  138. package/lib/constant/env.js +1 -1
  139. package/lib/constant/output.js +1 -1
  140. package/lib/constant/paths.js +1 -1
  141. package/lib/constant/risk.js +1 -1
  142. package/lib/context.js +1 -1
  143. package/lib/core/alias-resolver.js +1 -1
  144. package/lib/core/api-client.js +1 -1
  145. package/lib/core/bff/config.js +1 -1
  146. package/lib/core/bff/file-system.js +1 -1
  147. package/lib/core/bff/hash.js +1 -1
  148. package/lib/core/bff/lock.js +1 -1
  149. package/lib/core/bff/utils.js +1 -1
  150. package/lib/core/db-resolver.js +1 -1
  151. package/lib/core/page/file-system.js +1 -1
  152. package/lib/core/page/hash.js +1 -1
  153. package/lib/core/page/lock.js +1 -1
  154. package/lib/core/sql-sync/config.js +1 -1
  155. package/lib/core/sql-sync/file-system.js +1 -1
  156. package/lib/core/sql-sync/hash.js +1 -1
  157. package/lib/core/sql-sync/lock.js +1 -1
  158. package/lib/core/sql-sync/utils.js +1 -1
  159. package/lib/core/sql-validator.js +1 -1
  160. package/lib/errors.js +1 -1
  161. package/lib/framework/build-all-flags.js +1 -1
  162. package/lib/framework/flags.js +1 -1
  163. package/lib/framework/help.js +1 -1
  164. package/lib/framework/index.js +1 -1
  165. package/lib/framework/output.js +1 -1
  166. package/lib/framework/response.js +1 -1
  167. package/lib/framework/runner-alias.js +1 -1
  168. package/lib/framework/runner.js +1 -1
  169. package/lib/framework/schema-export.js +1 -1
  170. package/lib/framework/types.js +1 -1
  171. package/lib/generated/build-info.js +1 -1
  172. package/lib/help.js +1 -1
  173. package/lib/skills/main.js +1 -1
  174. package/lib/skills/npx-skills-add.js +1 -1
  175. package/lib/telemetry/cli-command-trace.js +1 -1
  176. package/lib/telemetry/cli-help-trace.js +1 -1
  177. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  178. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  179. package/lib/telemetry/send-cli-trace-log.js +1 -1
  180. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  181. package/lib/utils/ai_config.js +1 -1
  182. package/lib/utils/apply-jq-filter.js +1 -1
  183. package/lib/utils/cdn-config.js +1 -1
  184. package/lib/utils/check-sdk-version.js +1 -1
  185. package/lib/utils/cli-version-check.js +1 -1
  186. package/lib/utils/cli-version-policy.js +1 -1
  187. package/lib/utils/config.js +1 -1
  188. package/lib/utils/copy-directory.js +1 -1
  189. package/lib/utils/entity-with-id.js +1 -1
  190. package/lib/utils/file-utils.js +1 -1
  191. package/lib/utils/guides-cdn.js +1 -1
  192. package/lib/utils/http-client.js +1 -1
  193. package/lib/utils/is-non-interactive.js +1 -1
  194. package/lib/utils/logger.js +1 -1
  195. package/lib/utils/params.js +1 -1
  196. package/lib/utils/platform.js +1 -1
  197. package/lib/utils/rules-cdn.js +1 -1
  198. package/lib/utils/sleep.js +1 -1
  199. package/lib/utils/template-replacer.js +1 -1
  200. package/lib/utils/update-notice.js +1 -1
  201. package/lib/utils/version.js +1 -1
  202. package/lib/utils/with-active-cookie.js +1 -1
  203. package/lib/utils/write-cli-side-channel.js +1 -1
  204. package/package.json +1 -1
@@ -1 +1 @@
1
- const a116_0x4b40f6=a116_0x4799;(function(_0x4197e8,_0x552440){const _0x4769b3=a116_0x4799,_0x4a43f0=_0x4197e8();while(!![]){try{const _0x11b658=parseInt(_0x4769b3(0x1c4))/0x1+parseInt(_0x4769b3(0x1b1))/0x2+-parseInt(_0x4769b3(0x1c8))/0x3+parseInt(_0x4769b3(0x209))/0x4+parseInt(_0x4769b3(0x1af))/0x5+parseInt(_0x4769b3(0x21e))/0x6*(-parseInt(_0x4769b3(0x224))/0x7)+-parseInt(_0x4769b3(0x22a))/0x8*(-parseInt(_0x4769b3(0x1bb))/0x9);if(_0x11b658===_0x552440)break;else _0x4a43f0['push'](_0x4a43f0['shift']());}catch(_0x336541){_0x4a43f0['push'](_0x4a43f0['shift']());}}}(a116_0x244d,0x536e3));import a116_0x49b081 from'chalk';import a116_0x529828 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a116_0x244d(){const _0xdb8fb5=['undefined','Step\x201/7:\x20Migrating\x20config...','white','yes','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','\x20removed','.bak','string','@lovrabet/sdk','gray','skipped','CANCEL','no\x20legacy\x20entry','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','files','Upgrade\x20completed\x20successfully!','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','utf8','Step\x206/7:\x20Installing\x20new\x20skill...','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Remove\x20old\x20skill','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20#\x20or','\x20\x20Step\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','error','includes','cyan','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','label','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','fail','Step\x204/7:\x20Cleaning\x20MCP\x20config...','@lovrabet/sdk:','\x20→\x20latest','push','Clean\x20MCP\x20config','join','none\x20found','FAIL','sdkUpgrade','path','.cursor/mcp.json','\x20from\x20','Remove\x20.lovrabet/','detail','parse','exit\x20','step','.lovrabet','Upgrade\x20@lovrabet/sdk','some','mcpServers','failed','start','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','no\x20matching\x20entry\x20found','inherit','535584sSjpPg','Step\x204/7:\x20MCP\x20config\x20—\x20','Config\x20migration','\x20\x20Action:\x20delete','keys','lovrabet/rabetbase\x20installed\x20globally','\x20\x20npm\x20install','already\x20exists\x20(will\x20merge)','FOUND','succeed','values','lovrabet/rabetbase','.claude/skills/lovrabet','Config\x20file:','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','lovrabet/lovrabet-skill\x20removed','dependencies','args','status','devDependencies','info','24GbPvBq','\x20(backup:\x20','Upgrade\x20cancelled.','@lovrabet/dataset-mcp-server','skipped\x20(no\x20legacy\x20config)','not\x20found\x20or\x20already\x20at\x20latest','1148609MdXBJr','MCP\x20config:','green','red','object','oldMcpConfig','40tGMXqY','package.json','\x20→\x20','needed','143150jSRtYm','entries','562598UjKlzO','no\x20legacy\x20config\x20found','bold','oldPath','filter','stringify','message','[\x22@lovrabet/sdk\x22]:\x20','latest','oldArtifacts','510795xDvQpr','.cursor/rules/lovrabet_rules.mdc','Install\x20new\x20skill','done','length','\x20\x20\x20\x20\x20\x20\x20','hasNewConfig','Skill\x20swap:','yellow','462971JFmyeZ','configMigration','fields','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','577476sbJMRP','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','log'];a116_0x244d=function(){return _0xdb8fb5;};return a116_0x244d();}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[a116_0x4b40f6(0x1b5)](_0x1bc44f=>_0x1bc44f!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x1c0c76){const _0x3f0abd=a116_0x4b40f6,_0x3cbed8=[];for(const _0xd71aa1 of Object[_0x3f0abd(0x213)](CORE_IDE_CONFIGS)){if(_0xd71aa1['files'])for(const _0xa07b12 of _0xd71aa1[_0x3f0abd(0x1db)]){_0x3cbed8[_0x3f0abd(0x1f2)](resolve(_0x1c0c76,_0xa07b12[_0x3f0abd(0x1f8)]));}}return _0x3cbed8;}function analyse(_0x3ab195){const _0x26f449=a116_0x4b40f6;let _0x274fa1=null;const _0x91bdd1=resolve(_0x3ab195,NEW_CONFIG_NAME),_0x2bcc63=existsSync(_0x91bdd1);for(const _0x22189d of LEGACY_CONFIG_NAMES){const _0x4476e9=resolve(_0x3ab195,_0x22189d);if(existsSync(_0x4476e9)){const _0x3c696c=readConfigFile(_0x4476e9),_0x31cf04=Object[_0x26f449(0x20d)](_0x3c696c)['filter'](_0x2d7c90=>typeof _0x3c696c[_0x2d7c90]!==_0x26f449(0x1cb));_0x274fa1={'oldPath':_0x4476e9,'hasNewConfig':_0x2bcc63,'fields':_0x31cf04};break;}}const _0x48c173=[],_0x32d023=resolve(_0x3ab195,_0x26f449(0x200));if(existsSync(_0x32d023))_0x48c173[_0x26f449(0x1f2)](_0x32d023);const _0x2714fe=resolve(_0x3ab195,_0x26f449(0x1bc));if(existsSync(_0x2714fe))_0x48c173['push'](_0x2714fe);const _0x415487=resolve(_0x3ab195,_0x26f449(0x215));if(existsSync(_0x415487))_0x48c173[_0x26f449(0x1f2)](_0x415487);for(const _0x46ffad of collectIdeSkillFiles(_0x3ab195)){if(existsSync(_0x46ffad))_0x48c173['push'](_0x46ffad);}let _0x584780=null;const _0x325316=resolve(_0x3ab195,_0x26f449(0x1f9));if(existsSync(_0x325316))try{const _0xdaeb76=JSON[_0x26f449(0x1fd)](readFileSync(_0x325316,'utf8'));if(_0xdaeb76?.[_0x26f449(0x203)]&&typeof _0xdaeb76[_0x26f449(0x203)]===_0x26f449(0x228)){const _0x780cda=[];for(const [_0x1d5989,_0x21884c]of Object[_0x26f449(0x1b0)](_0xdaeb76[_0x26f449(0x203)])){const _0x4b19b1=_0x21884c;_0x4b19b1?.['args']&&Array['isArray'](_0x4b19b1[_0x26f449(0x21a)])&&_0x4b19b1[_0x26f449(0x21a)]['some'](_0x5a817a=>typeof _0x5a817a===_0x26f449(0x1d3)&&_0x5a817a[_0x26f449(0x1e8)](_0x26f449(0x221)))&&_0x780cda[_0x26f449(0x1f2)](_0x1d5989);}_0x780cda[_0x26f449(0x1bf)]>0x0&&(_0x584780={'path':_0x325316,'keys':_0x780cda});}}catch{}const _0x4f53bc=_0x48c173[_0x26f449(0x1bf)]>0x0||_0x274fa1!==null;let _0x3ef77e=null;const _0x2e2712=resolve(_0x3ab195,_0x26f449(0x22b));if(existsSync(_0x2e2712))try{const _0x8e5865=JSON[_0x26f449(0x1fd)](readFileSync(_0x2e2712,_0x26f449(0x1de)));for(const _0x2c3bfb of[_0x26f449(0x219),_0x26f449(0x21c)]){const _0x3b1d26=_0x8e5865?.[_0x2c3bfb]?.[_0x26f449(0x1d4)];if(typeof _0x3b1d26===_0x26f449(0x1d3)){_0x3b1d26!==_0x26f449(0x1b9)&&(_0x3ef77e={'pkgPath':_0x2e2712,'currentVersion':_0x3b1d26,'field':_0x2c3bfb});break;}}}catch{}return{'configMigration':_0x274fa1,'oldArtifacts':_0x48c173,'oldMcpConfig':_0x584780,'needsSkillSwap':_0x4f53bc,'sdkUpgrade':_0x3ef77e};}function printReport(_0x3bbca8){const _0xf01661=a116_0x4b40f6,{configMigration:_0x5bb3c6,oldArtifacts:_0x546514,oldMcpConfig:_0x4f964c,needsSkillSwap:_0x38dc97}=_0x3bbca8;console[_0xf01661(0x1ca)](''),console['log'](a116_0x49b081[_0xf01661(0x1b3)]('===\x20Upgrade\x20Analysis\x20===')),console[_0xf01661(0x1ca)]('');_0x5bb3c6?(console[_0xf01661(0x1ca)](a116_0x49b081[_0xf01661(0x1e9)](_0xf01661(0x216))+('\x20\x20'+a116_0x49b081[_0xf01661(0x1c3)](_0x5bb3c6[_0xf01661(0x1b4)]))),console['log']('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x5bb3c6[_0xf01661(0x1c1)]?a116_0x49b081['green'](_0xf01661(0x210)):a116_0x49b081[_0xf01661(0x1d5)]('not\x20found\x20(will\x20create)'))),console[_0xf01661(0x1ca)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x5bb3c6[_0xf01661(0x1c6)][_0xf01661(0x1f4)](',\x20')),console['log'](_0xf01661(0x1e0))):console[_0xf01661(0x1ca)](a116_0x49b081['cyan'](_0xf01661(0x216))+'\x20\x20'+a116_0x49b081[_0xf01661(0x1d5)](_0xf01661(0x1b2)));console['log']('');if(_0x546514[_0xf01661(0x1bf)]>0x0){console['log'](a116_0x49b081['cyan']('Legacy\x20artifacts:'));for(const _0x12ba2e of _0x546514){console[_0xf01661(0x1ca)]('\x20\x20'+a116_0x49b081[_0xf01661(0x227)](_0xf01661(0x211))+'\x20\x20'+_0x12ba2e);}console['log'](_0xf01661(0x20c));}else console[_0xf01661(0x1ca)](a116_0x49b081[_0xf01661(0x1e9)]('Legacy\x20artifacts:')+'\x20\x20'+a116_0x49b081['gray'](_0xf01661(0x1f5)));console[_0xf01661(0x1ca)]('');_0x4f964c?(console[_0xf01661(0x1ca)](a116_0x49b081[_0xf01661(0x1e9)](_0xf01661(0x225))+('\x20\x20'+a116_0x49b081[_0xf01661(0x1c3)](_0x4f964c['path'])+'\x20→\x20keys:\x20'+_0x4f964c[_0xf01661(0x20d)][_0xf01661(0x1f4)](',\x20'))),console[_0xf01661(0x1ca)](_0xf01661(0x1d9))):console[_0xf01661(0x1ca)](a116_0x49b081[_0xf01661(0x1e9)](_0xf01661(0x225))+'\x20\x20'+a116_0x49b081[_0xf01661(0x1d5)](_0xf01661(0x1d8)));console[_0xf01661(0x1ca)](''),console[_0xf01661(0x1ca)](a116_0x49b081['cyan'](_0xf01661(0x1c2))+('\x20\x20'+(_0x38dc97?a116_0x49b081[_0xf01661(0x1c3)](_0xf01661(0x1ae)):a116_0x49b081[_0xf01661(0x226)]('not\x20needed'))));_0x38dc97&&console[_0xf01661(0x1ca)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x3bbca8[_0xf01661(0x1f7)]){const {currentVersion:_0x5c81e2,field:_0x3bc700,pkgPath:_0x362042}=_0x3bbca8[_0xf01661(0x1f7)];console[_0xf01661(0x1ca)](a116_0x49b081['cyan']('@lovrabet/sdk:')+('\x20\x20'+a116_0x49b081[_0xf01661(0x1c3)](_0x362042))),console[_0xf01661(0x1ca)]('\x20\x20Current\x20version\x20in\x20'+_0x3bc700+':\x20'+a116_0x49b081[_0xf01661(0x1c3)](_0x5c81e2)+_0xf01661(0x1ad)+a116_0x49b081[_0xf01661(0x226)](_0xf01661(0x1b9))),console['log'](_0xf01661(0x1cf));}else console[_0xf01661(0x1ca)](a116_0x49b081[_0xf01661(0x1e9)](_0xf01661(0x1f0))+'\x20\x20'+a116_0x49b081[_0xf01661(0x1d5)](_0xf01661(0x223)));console[_0xf01661(0x1ca)]('');}function execConfigMigration(_0x1a1e97,_0x553dbf){const _0x30a7d8=a116_0x4b40f6,{configMigration:_0x507dbc}=_0x1a1e97;if(!_0x507dbc?.['oldPath'])return{'step':0x1,'label':_0x30a7d8(0x20b),'ok':!![],'detail':_0x30a7d8(0x222)};const _0x475ae1=readConfigFile(_0x507dbc[_0x30a7d8(0x1b4)]),_0x44a3d2=resolve(_0x553dbf,NEW_CONFIG_NAME),_0x3cd07b=_0x507dbc[_0x30a7d8(0x1c1)]?readConfigFile(_0x44a3d2):{};for(const [_0x5a924b,_0x2c90c2]of Object['entries'](_0x475ae1)){!(_0x5a924b in _0x3cd07b)&&(_0x3cd07b[_0x5a924b]=_0x2c90c2);}writeConfigFile(_0x44a3d2,_0x3cd07b);const _0x15f805=_0x507dbc[_0x30a7d8(0x1b4)]+_0x30a7d8(0x1d2);return renameSync(_0x507dbc[_0x30a7d8(0x1b4)],_0x15f805),{'step':0x1,'label':_0x30a7d8(0x20b),'ok':!![],'detail':_0x507dbc[_0x30a7d8(0x1b4)]+_0x30a7d8(0x1ad)+_0x44a3d2+_0x30a7d8(0x21f)+_0x15f805+')'};}function a116_0x4799(_0x2e05f9,_0x5241d7){_0x2e05f9=_0x2e05f9-0x1ad;const _0x244d13=a116_0x244d();let _0x4799fb=_0x244d13[_0x2e05f9];return _0x4799fb;}function execRemoveOldArtifacts(_0x211db6){const _0x53fc8c=a116_0x4b40f6,_0x2de9b8=[];for(const _0x46400d of _0x211db6){try{if(!existsSync(_0x46400d))continue;const _0x591362=tryStat(_0x46400d);_0x591362?.['isDirectory']()?rmSync(_0x46400d,{'recursive':!![],'force':!![]}):unlinkSync(_0x46400d);}catch(_0x2df995){_0x2de9b8[_0x53fc8c(0x1f2)](_0x46400d+':\x20'+_0x2df995['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x2de9b8[_0x53fc8c(0x1bf)]===0x0,'detail':_0x2de9b8['length']>0x0?_0x211db6[_0x53fc8c(0x1bf)]-_0x2de9b8['length']+'/'+_0x211db6['length']+'\x20removed\x20('+_0x2de9b8[_0x53fc8c(0x1f4)](';\x20')+')':_0x211db6[_0x53fc8c(0x1bf)]+_0x53fc8c(0x1d1)};}function execCleanMcp(_0x5fbf51){const _0xc99bc5=a116_0x4b40f6;if(!_0x5fbf51[_0xc99bc5(0x229)])return{'step':0x4,'label':_0xc99bc5(0x1f3),'ok':!![],'detail':_0xc99bc5(0x1d6)};try{const _0x102933=readFileSync(_0x5fbf51[_0xc99bc5(0x229)][_0xc99bc5(0x1f8)],_0xc99bc5(0x1de)),_0x522f6b=JSON[_0xc99bc5(0x1fd)](_0x102933);if(_0x522f6b?.['mcpServers']&&typeof _0x522f6b[_0xc99bc5(0x203)]===_0xc99bc5(0x228)){const _0x3676de=[];for(const [_0x392487,_0x8839c7]of Object[_0xc99bc5(0x1b0)](_0x522f6b[_0xc99bc5(0x203)])){_0x8839c7?.[_0xc99bc5(0x21a)]&&Array['isArray'](_0x8839c7['args'])&&_0x8839c7[_0xc99bc5(0x21a)][_0xc99bc5(0x202)](_0xb6d8c0=>typeof _0xb6d8c0==='string'&&_0xb6d8c0['includes']('@lovrabet/dataset-mcp-server'))&&_0x3676de[_0xc99bc5(0x1f2)](_0x392487);}for(const _0x612dc7 of _0x3676de){delete _0x522f6b[_0xc99bc5(0x203)][_0x612dc7];}return _0x3676de['length']>0x0&&writeFileSync(_0x5fbf51[_0xc99bc5(0x229)][_0xc99bc5(0x1f8)],JSON[_0xc99bc5(0x1b6)](_0x522f6b,null,0x2)+'\x0a',_0xc99bc5(0x1de)),{'step':0x4,'label':_0xc99bc5(0x1f3),'ok':!![],'detail':'removed\x20'+_0x3676de[_0xc99bc5(0x1f4)](',\x20')+_0xc99bc5(0x1fa)+_0x5fbf51[_0xc99bc5(0x229)]['path']};}return{'step':0x4,'label':_0xc99bc5(0x1f3),'ok':!![],'detail':_0xc99bc5(0x207)};}catch(_0x3fd399){return{'step':0x4,'label':_0xc99bc5(0x1f3),'ok':![],'detail':_0x3fd399[_0xc99bc5(0x1b7)]};}}function execSkillsRemove(_0x4a99cd,_0x5f0cc8){const _0x4d3221=a116_0x4b40f6,_0x4c7d79=runNpxSkillsRemove(_0x4a99cd,{'stdio':'inherit','yes':_0x5f0cc8});return{'step':0x5,'label':_0x4d3221(0x1e1),'ok':_0x4c7d79['ok'],'detail':_0x4c7d79['ok']?_0x4d3221(0x218):_0x4c7d79[_0x4d3221(0x1e7)]??'exit\x20'+_0x4c7d79[_0x4d3221(0x21b)]};}function execSkillsAdd(_0x2e64ff,_0x5144b1){const _0xd1b6b4=a116_0x4b40f6,_0x59c0de=runNpxSkillsAddGlobal(_0x2e64ff,_0xd1b6b4(0x214),{'stdio':_0xd1b6b4(0x208),'yes':_0x5144b1});return{'step':0x6,'label':_0xd1b6b4(0x1bd),'ok':_0x59c0de['ok'],'detail':_0x59c0de['ok']?_0xd1b6b4(0x20e):_0x59c0de[_0xd1b6b4(0x1e7)]??_0xd1b6b4(0x1fe)+_0x59c0de[_0xd1b6b4(0x21b)]};}function execUpgradeSdk(_0x7730c4){const _0xbce458=a116_0x4b40f6;if(!_0x7730c4[_0xbce458(0x1f7)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0xd08cc8,currentVersion:_0x5070c8,field:_0x4775d6}=_0x7730c4['sdkUpgrade'];try{const _0x2c1066=readFileSync(_0xd08cc8,_0xbce458(0x1de)),_0x191595=JSON[_0xbce458(0x1fd)](_0x2c1066);return _0x191595[_0x4775d6][_0xbce458(0x1d4)]=_0xbce458(0x1b9),writeFileSync(_0xd08cc8,JSON['stringify'](_0x191595,null,0x2)+'\x0a',_0xbce458(0x1de)),{'step':0x7,'label':_0xbce458(0x201),'ok':!![],'detail':_0x4775d6+_0xbce458(0x1b8)+_0x5070c8+_0xbce458(0x1f1)};}catch(_0xb6a239){return{'step':0x7,'label':_0xbce458(0x201),'ok':![],'detail':_0xb6a239['message']};}}function tryStat(_0x532ed0){try{return statSync(_0x532ed0);}catch{return undefined;}}function printSummary(_0x3d6bb3){const _0x8eb76c=a116_0x4b40f6;console['log'](''),console['log'](a116_0x49b081[_0x8eb76c(0x1b3)]('===\x20Upgrade\x20Summary\x20===')),console[_0x8eb76c(0x1ca)]('');for(const _0x3c1b25 of _0x3d6bb3){const _0x5214cb=_0x3c1b25['ok']?a116_0x49b081[_0x8eb76c(0x226)]('OK'):a116_0x49b081[_0x8eb76c(0x227)](_0x8eb76c(0x1f6));console['log']('\x20\x20'+_0x5214cb+_0x8eb76c(0x1e4)+_0x3c1b25[_0x8eb76c(0x1ff)]+':\x20'+_0x3c1b25[_0x8eb76c(0x1eb)]);if(_0x3c1b25[_0x8eb76c(0x1fc)])console[_0x8eb76c(0x1ca)](_0x8eb76c(0x1c0)+a116_0x49b081['gray'](_0x3c1b25[_0x8eb76c(0x1fc)]));}console[_0x8eb76c(0x1ca)]('');}export async function upgradeApp(_0x1a388d,_0x3e3412){const _0x26ab7e=a116_0x4b40f6,_0x15d2b2=process['cwd'](),_0x2bf743=analyse(_0x15d2b2),_0x4a7d3f=!_0x2bf743[_0x26ab7e(0x1c5)]&&_0x2bf743[_0x26ab7e(0x1ba)]['length']===0x0&&!_0x2bf743['oldMcpConfig']&&!_0x2bf743['needsSkillSwap']&&!_0x2bf743[_0x26ab7e(0x1f7)];if(_0x4a7d3f){console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x226)](_0x26ab7e(0x206)));return;}printReport(_0x2bf743);const _0x2aeae8=!!(_0x3e3412[_0x26ab7e(0x1ce)]||_0x3e3412['Y']||_0x1a388d);if(!_0x2aeae8)try{const _0x351c01=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x351c01){console['log'](a116_0x49b081[_0x26ab7e(0x1d5)](_0x26ab7e(0x220)));return;}}catch(_0x4e17e2){if(_0x4e17e2?.[_0x26ab7e(0x1b7)]===_0x26ab7e(0x1d7)){console['log'](a116_0x49b081[_0x26ab7e(0x1d5)](_0x26ab7e(0x220)));return;}throw _0x4e17e2;}const _0x3a61e1=[],_0x422c7c=a116_0x529828({'text':_0x26ab7e(0x1cc),'color':_0x26ab7e(0x1e9)})['start'](),_0x3b1be9=execConfigMigration(_0x2bf743,_0x15d2b2);_0x3a61e1[_0x26ab7e(0x1f2)](_0x3b1be9),_0x422c7c[_0x3b1be9['ok']?_0x26ab7e(0x212):_0x26ab7e(0x1ee)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x3b1be9[_0x26ab7e(0x1fc)]??(_0x3b1be9['ok']?'done':_0x26ab7e(0x204))));const _0x5abf78=resolve(_0x15d2b2,_0x26ab7e(0x200)),_0x3598ef=a116_0x529828({'text':_0x26ab7e(0x1ea),'color':_0x26ab7e(0x1e9)})[_0x26ab7e(0x205)]();if(existsSync(_0x5abf78))try{rmSync(_0x5abf78,{'recursive':!![],'force':!![]}),_0x3598ef[_0x26ab7e(0x212)](_0x26ab7e(0x1e6)),_0x3a61e1[_0x26ab7e(0x1f2)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0xcb455c){_0x3598ef[_0x26ab7e(0x1ee)](_0x26ab7e(0x1c7)+_0xcb455c['message']),_0x3a61e1[_0x26ab7e(0x1f2)]({'step':0x2,'label':_0x26ab7e(0x1fb),'ok':![],'detail':_0xcb455c[_0x26ab7e(0x1b7)]});}else _0x3598ef[_0x26ab7e(0x21d)](_0x26ab7e(0x1c9)),_0x3a61e1['push']({'step':0x2,'label':_0x26ab7e(0x1fb),'ok':!![],'detail':'skipped'});const _0x5d4dfe=a116_0x529828({'text':_0x26ab7e(0x1e2),'color':_0x26ab7e(0x1e9)})[_0x26ab7e(0x205)](),_0x2659d9=execRemoveOldArtifacts(_0x2bf743[_0x26ab7e(0x1ba)]);_0x3a61e1[_0x26ab7e(0x1f2)](_0x2659d9),_0x5d4dfe[_0x2659d9['ok']?_0x26ab7e(0x212):_0x26ab7e(0x1ee)](_0x26ab7e(0x1dd)+(_0x2659d9[_0x26ab7e(0x1fc)]??(_0x2659d9['ok']?_0x26ab7e(0x1be):_0x26ab7e(0x204))));const _0x16c3f6=a116_0x529828({'text':_0x26ab7e(0x1ef),'color':_0x26ab7e(0x1e9)})[_0x26ab7e(0x205)](),_0x15ed1e=execCleanMcp(_0x2bf743);_0x3a61e1[_0x26ab7e(0x1f2)](_0x15ed1e),_0x16c3f6[_0x15ed1e['ok']?_0x26ab7e(0x212):_0x26ab7e(0x1ee)](_0x26ab7e(0x20a)+(_0x15ed1e[_0x26ab7e(0x1fc)]??(_0x15ed1e['ok']?_0x26ab7e(0x1be):_0x26ab7e(0x204))));const _0xcfb1c=a116_0x529828({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x26ab7e(0x1e9)})[_0x26ab7e(0x205)](),_0x4c72b5=execSkillsRemove(_0x15d2b2,_0x2aeae8);_0x3a61e1[_0x26ab7e(0x1f2)](_0x4c72b5),_0xcfb1c[_0x4c72b5['ok']?'succeed':_0x26ab7e(0x1ee)](_0x26ab7e(0x1d0)+(_0x4c72b5[_0x26ab7e(0x1fc)]??(_0x4c72b5['ok']?_0x26ab7e(0x1be):_0x26ab7e(0x204))));const _0x374d9b=a116_0x529828({'text':_0x26ab7e(0x1df),'color':_0x26ab7e(0x1e9)})[_0x26ab7e(0x205)](),_0x52f02d=execSkillsAdd(_0x15d2b2,_0x2aeae8);_0x3a61e1['push'](_0x52f02d),_0x374d9b[_0x52f02d['ok']?_0x26ab7e(0x212):_0x26ab7e(0x1ee)](_0x26ab7e(0x1ed)+(_0x52f02d[_0x26ab7e(0x1fc)]??(_0x52f02d['ok']?_0x26ab7e(0x1be):_0x26ab7e(0x204))));const _0x549061=a116_0x529828({'text':_0x26ab7e(0x217),'color':'cyan'})[_0x26ab7e(0x205)](),_0x2a5dbf=execUpgradeSdk(_0x2bf743);_0x3a61e1[_0x26ab7e(0x1f2)](_0x2a5dbf),_0x549061[_0x2a5dbf['ok']?_0x26ab7e(0x212):_0x26ab7e(0x1ee)](_0x26ab7e(0x1da)+(_0x2a5dbf[_0x26ab7e(0x1fc)]??(_0x2a5dbf['ok']?_0x26ab7e(0x1be):_0x26ab7e(0x204)))),printSummary(_0x3a61e1);const _0x17cb5c=_0x3a61e1[_0x26ab7e(0x202)](_0x1a45a7=>!_0x1a45a7['ok']);_0x17cb5c?console['log'](a116_0x49b081['yellow'](_0x26ab7e(0x1ec))):console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x226)](_0x26ab7e(0x1dc))),_0x2a5dbf['ok']&&_0x2bf743['sdkUpgrade']&&(console[_0x26ab7e(0x1ca)](''),console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x1b3)]['cyan']('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x1e9)](_0x26ab7e(0x1e5))),console[_0x26ab7e(0x1ca)](''),console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x1cd)](_0x26ab7e(0x20f))),console[_0x26ab7e(0x1ca)](a116_0x49b081[_0x26ab7e(0x1cd)](_0x26ab7e(0x1e3))),console['log'](a116_0x49b081[_0x26ab7e(0x1cd)]('\x20\x20bun\x20install')),console['log'](''));}
1
+ const a116_0x2b2739=a116_0x4426;(function(_0x6c75ad,_0x3b9eec){const _0x1dbe8b=a116_0x4426,_0x1b23e0=_0x6c75ad();while(!![]){try{const _0x40963b=parseInt(_0x1dbe8b(0x1ea))/0x1*(parseInt(_0x1dbe8b(0x23b))/0x2)+-parseInt(_0x1dbe8b(0x1e8))/0x3+-parseInt(_0x1dbe8b(0x223))/0x4*(parseInt(_0x1dbe8b(0x1dc))/0x5)+parseInt(_0x1dbe8b(0x221))/0x6*(-parseInt(_0x1dbe8b(0x1f8))/0x7)+parseInt(_0x1dbe8b(0x22e))/0x8*(-parseInt(_0x1dbe8b(0x1ed))/0x9)+-parseInt(_0x1dbe8b(0x201))/0xa*(-parseInt(_0x1dbe8b(0x1e6))/0xb)+parseInt(_0x1dbe8b(0x219))/0xc;if(_0x40963b===_0x3b9eec)break;else _0x1b23e0['push'](_0x1b23e0['shift']());}catch(_0x4eb14f){_0x1b23e0['push'](_0x1b23e0['shift']());}}}(a116_0x5a56,0xcae59));function a116_0x4426(_0x55da79,_0x533c83){_0x55da79=_0x55da79-0x1c1;const _0x5a5690=a116_0x5a56();let _0x442609=_0x5a5690[_0x55da79];return _0x442609;}import a116_0x1378c6 from'chalk';import a116_0x46d5ca 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';function a116_0x5a56(){const _0x1c4b13=['files','\x20→\x20latest','\x20\x20Action:\x20delete','139230sYjYVY','Remove\x20.lovrabet/','not\x20found\x20or\x20already\x20at\x20latest','Remove\x20old\x20skill','needed','dependencies','failed','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','fields','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','11owOEST','Config\x20file:','3664527tXdiHK','isArray','1008913bIeHUu','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','needsSkillSwap','81gYmVOT','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Upgrade\x20@lovrabet/sdk','done','\x20\x20Step\x20','isDirectory','not\x20found\x20(will\x20create)','mcpServers','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','red','7EUqRzb','\x20\x20New\x20config\x20(.rabetbase.json):\x20','lovrabet/rabetbase\x20installed\x20globally','object','keys','Upgrade\x20cancelled.','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20legacy\x20artifacts','[\x22@lovrabet/sdk\x22]:\x20','3651780mBVbxC','\x20(backup:\x20','\x20\x20\x20\x20\x20\x20\x20','no\x20legacy\x20config\x20found','length','package.json','message','===\x20Upgrade\x20Analysis\x20===','inherit','skipped\x20(no\x20legacy\x20config)','detail','push','\x20\x20#\x20or','log','no\x20legacy\x20entry','\x20→\x20','oldPath','info','hasNewConfig','filter','Config\x20migration','Legacy\x20artifacts:','join','.claude/skills/lovrabet','30553968wnnPCG','utf8','Install\x20new\x20skill','latest','@lovrabet/dataset-mcp-server','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','parse','white','3554556WhrLRB','status','156gZvhEx','succeed','sdkUpgrade','MCP\x20config:','string','green','yellow','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','entries','Step\x204/7:\x20MCP\x20config\x20—\x20','values','168232uLokRz','\x20from\x20','oldMcpConfig','.lovrabet','cwd','oldArtifacts','not\x20needed','removed\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','lovrabet/rabetbase','@lovrabet/sdk','includes','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','2VcGqtF','exit\x20','\x20\x20Current\x20version\x20in\x20','\x20\x20Fields\x20to\x20migrate:\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','undefined','devDependencies','stringify','gray','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','configMigration','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20removed\x20(','yes','cyan','\x20removed','lovrabet/lovrabet-skill\x20removed','\x20\x20npm\x20install','===\x20Upgrade\x20Summary\x20===','fail','start','bold','args','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','label','Step\x205/7:\x20Removing\x20old\x20skill...','.cursor/rules/lovrabet_rules.mdc','Clean\x20MCP\x20config','.bak','Skill\x20swap:','@lovrabet/sdk:','path','error'];a116_0x5a56=function(){return _0x1c4b13;};return a116_0x5a56();}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a116_0x2b2739(0x214)](_0x473cff=>_0x473cff!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5c9510){const _0x573096=a116_0x2b2739,_0x2f3ca2=[];for(const _0x2e44f2 of Object[_0x573096(0x22d)](CORE_IDE_CONFIGS)){if(_0x2e44f2[_0x573096(0x1d9)])for(const _0xb258f7 of _0x2e44f2[_0x573096(0x1d9)]){_0x2f3ca2[_0x573096(0x20c)](resolve(_0x5c9510,_0xb258f7[_0x573096(0x1d7)]));}}return _0x2f3ca2;}function analyse(_0x3c9649){const _0x538493=a116_0x2b2739;let _0x43783f=null;const _0x3a42ad=resolve(_0x3c9649,NEW_CONFIG_NAME),_0x4ea20b=existsSync(_0x3a42ad);for(const _0x50148e of LEGACY_CONFIG_NAMES){const _0x1aa9ed=resolve(_0x3c9649,_0x50148e);if(existsSync(_0x1aa9ed)){const _0x1b0ae9=readConfigFile(_0x1aa9ed),_0x4f4f19=Object[_0x538493(0x1fc)](_0x1b0ae9)['filter'](_0x5c1bee=>typeof _0x1b0ae9[_0x5c1bee]!==_0x538493(0x240));_0x43783f={'oldPath':_0x1aa9ed,'hasNewConfig':_0x4ea20b,'fields':_0x4f4f19};break;}}const _0x33833c=[],_0x5923af=resolve(_0x3c9649,_0x538493(0x231));if(existsSync(_0x5923af))_0x33833c[_0x538493(0x20c)](_0x5923af);const _0x253ff2=resolve(_0x3c9649,_0x538493(0x1d2));if(existsSync(_0x253ff2))_0x33833c[_0x538493(0x20c)](_0x253ff2);const _0x2ba5f6=resolve(_0x3c9649,_0x538493(0x218));if(existsSync(_0x2ba5f6))_0x33833c[_0x538493(0x20c)](_0x2ba5f6);for(const _0x522f59 of collectIdeSkillFiles(_0x3c9649)){if(existsSync(_0x522f59))_0x33833c['push'](_0x522f59);}let _0x446d1f=null;const _0x593c4c=resolve(_0x3c9649,'.cursor/mcp.json');if(existsSync(_0x593c4c))try{const _0x25ed90=JSON['parse'](readFileSync(_0x593c4c,_0x538493(0x21a)));if(_0x25ed90?.[_0x538493(0x1f4)]&&typeof _0x25ed90[_0x538493(0x1f4)]===_0x538493(0x1fb)){const _0xa6e63=[];for(const [_0x1a88da,_0xc91e6]of Object[_0x538493(0x22b)](_0x25ed90[_0x538493(0x1f4)])){const _0x5373e1=_0xc91e6;_0x5373e1?.[_0x538493(0x1ce)]&&Array[_0x538493(0x1e9)](_0x5373e1['args'])&&_0x5373e1[_0x538493(0x1ce)]['some'](_0xaf51c6=>typeof _0xaf51c6===_0x538493(0x227)&&_0xaf51c6[_0x538493(0x239)](_0x538493(0x21d)))&&_0xa6e63[_0x538493(0x20c)](_0x1a88da);}_0xa6e63[_0x538493(0x205)]>0x0&&(_0x446d1f={'path':_0x593c4c,'keys':_0xa6e63});}}catch{}const _0x334f39=_0x33833c[_0x538493(0x205)]>0x0||_0x43783f!==null;let _0x2d6448=null;const _0x5716cf=resolve(_0x3c9649,_0x538493(0x206));if(existsSync(_0x5716cf))try{const _0x4d775c=JSON[_0x538493(0x21f)](readFileSync(_0x5716cf,_0x538493(0x21a)));for(const _0x487d52 of[_0x538493(0x1e1),_0x538493(0x241)]){const _0x9755c8=_0x4d775c?.[_0x487d52]?.[_0x538493(0x238)];if(typeof _0x9755c8===_0x538493(0x227)){_0x9755c8!==_0x538493(0x21c)&&(_0x2d6448={'pkgPath':_0x5716cf,'currentVersion':_0x9755c8,'field':_0x487d52});break;}}}catch{}return{'configMigration':_0x43783f,'oldArtifacts':_0x33833c,'oldMcpConfig':_0x446d1f,'needsSkillSwap':_0x334f39,'sdkUpgrade':_0x2d6448};}function printReport(_0x1727b5){const _0x45628f=a116_0x2b2739,{configMigration:_0xfa016,oldArtifacts:_0x1b985f,oldMcpConfig:_0x1b73ea,needsSkillSwap:_0x1365b2}=_0x1727b5;console['log'](''),console['log'](a116_0x1378c6[_0x45628f(0x1cd)](_0x45628f(0x208))),console[_0x45628f(0x20e)]('');_0xfa016?(console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)]('Config\x20file:')+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0xfa016['oldPath']))),console['log'](_0x45628f(0x1f9)+(_0xfa016[_0x45628f(0x213)]?a116_0x1378c6[_0x45628f(0x228)]('already\x20exists\x20(will\x20merge)'):a116_0x1378c6['gray'](_0x45628f(0x1f3)))),console[_0x45628f(0x20e)](_0x45628f(0x23e)+_0xfa016[_0x45628f(0x1e4)][_0x45628f(0x217)](',\x20')),console[_0x45628f(0x20e)](_0x45628f(0x1ee))):console[_0x45628f(0x20e)](a116_0x1378c6['cyan'](_0x45628f(0x1e7))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x204)));console[_0x45628f(0x20e)]('');if(_0x1b985f[_0x45628f(0x205)]>0x0){console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x216)));for(const _0x493fbf of _0x1b985f){console[_0x45628f(0x20e)]('\x20\x20'+a116_0x1378c6[_0x45628f(0x1f7)]('FOUND')+'\x20\x20'+_0x493fbf);}console[_0x45628f(0x20e)](_0x45628f(0x1db));}else console[_0x45628f(0x20e)](a116_0x1378c6['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a116_0x1378c6['gray']('none\x20found'));console['log']('');_0x1b73ea?(console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x226))+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x1b73ea[_0x45628f(0x1d7)])+'\x20→\x20keys:\x20'+_0x1b73ea[_0x45628f(0x1fc)][_0x45628f(0x217)](',\x20'))),console[_0x45628f(0x20e)](_0x45628f(0x1e5))):console[_0x45628f(0x20e)](a116_0x1378c6['cyan'](_0x45628f(0x226))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x20f)));console[_0x45628f(0x20e)](''),console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d5))+('\x20\x20'+(_0x1365b2?a116_0x1378c6[_0x45628f(0x229)](_0x45628f(0x1e0)):a116_0x1378c6[_0x45628f(0x228)](_0x45628f(0x234)))));_0x1365b2&&console[_0x45628f(0x20e)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x45628f(0x20e)]('');if(_0x1727b5[_0x45628f(0x225)]){const {currentVersion:_0x2639ee,field:_0x570ff1,pkgPath:_0x184bf3}=_0x1727b5['sdkUpgrade'];console[_0x45628f(0x20e)](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d6))+('\x20\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x184bf3))),console[_0x45628f(0x20e)](_0x45628f(0x23d)+_0x570ff1+':\x20'+a116_0x1378c6[_0x45628f(0x229)](_0x2639ee)+_0x45628f(0x210)+a116_0x1378c6[_0x45628f(0x228)]('latest')),console[_0x45628f(0x20e)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console['log'](a116_0x1378c6[_0x45628f(0x1c6)](_0x45628f(0x1d6))+'\x20\x20'+a116_0x1378c6[_0x45628f(0x243)](_0x45628f(0x1de)));console['log']('');}function execConfigMigration(_0x1b9966,_0x317d4a){const _0x580913=a116_0x2b2739,{configMigration:_0x31ab21}=_0x1b9966;if(!_0x31ab21?.['oldPath'])return{'step':0x1,'label':_0x580913(0x215),'ok':!![],'detail':_0x580913(0x20a)};const _0x5808d9=readConfigFile(_0x31ab21[_0x580913(0x211)]),_0x5f23c1=resolve(_0x317d4a,NEW_CONFIG_NAME),_0x2f62df=_0x31ab21[_0x580913(0x213)]?readConfigFile(_0x5f23c1):{};for(const [_0x393277,_0x33aeb5]of Object[_0x580913(0x22b)](_0x5808d9)){!(_0x393277 in _0x2f62df)&&(_0x2f62df[_0x393277]=_0x33aeb5);}writeConfigFile(_0x5f23c1,_0x2f62df);const _0x717ced=_0x31ab21[_0x580913(0x211)]+_0x580913(0x1d4);return renameSync(_0x31ab21[_0x580913(0x211)],_0x717ced),{'step':0x1,'label':_0x580913(0x215),'ok':!![],'detail':_0x31ab21[_0x580913(0x211)]+_0x580913(0x210)+_0x5f23c1+_0x580913(0x202)+_0x717ced+')'};}function execRemoveOldArtifacts(_0x5c98ee){const _0x27b37e=a116_0x2b2739,_0x1981a5=[];for(const _0xf1fd8e of _0x5c98ee){try{if(!existsSync(_0xf1fd8e))continue;const _0x112356=tryStat(_0xf1fd8e);_0x112356?.[_0x27b37e(0x1f2)]()?rmSync(_0xf1fd8e,{'recursive':!![],'force':!![]}):unlinkSync(_0xf1fd8e);}catch(_0x3857d4){_0x1981a5[_0x27b37e(0x20c)](_0xf1fd8e+':\x20'+_0x3857d4[_0x27b37e(0x207)]);}}return{'step':0x3,'label':_0x27b37e(0x1ff),'ok':_0x1981a5['length']===0x0,'detail':_0x1981a5[_0x27b37e(0x205)]>0x0?_0x5c98ee[_0x27b37e(0x205)]-_0x1981a5[_0x27b37e(0x205)]+'/'+_0x5c98ee[_0x27b37e(0x205)]+_0x27b37e(0x1c4)+_0x1981a5['join'](';\x20')+')':_0x5c98ee[_0x27b37e(0x205)]+_0x27b37e(0x1c7)};}function execCleanMcp(_0x45467b){const _0x24dc5d=a116_0x2b2739;if(!_0x45467b['oldMcpConfig'])return{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':'skipped'};try{const _0x59c98e=readFileSync(_0x45467b[_0x24dc5d(0x230)][_0x24dc5d(0x1d7)],'utf8'),_0x25b91d=JSON[_0x24dc5d(0x21f)](_0x59c98e);if(_0x25b91d?.['mcpServers']&&typeof _0x25b91d[_0x24dc5d(0x1f4)]==='object'){const _0x328e04=[];for(const [_0x374a19,_0xc561b9]of Object[_0x24dc5d(0x22b)](_0x25b91d[_0x24dc5d(0x1f4)])){_0xc561b9?.[_0x24dc5d(0x1ce)]&&Array[_0x24dc5d(0x1e9)](_0xc561b9[_0x24dc5d(0x1ce)])&&_0xc561b9['args']['some'](_0x7349f1=>typeof _0x7349f1==='string'&&_0x7349f1[_0x24dc5d(0x239)](_0x24dc5d(0x21d)))&&_0x328e04[_0x24dc5d(0x20c)](_0x374a19);}for(const _0x23fed3 of _0x328e04){delete _0x25b91d['mcpServers'][_0x23fed3];}return _0x328e04[_0x24dc5d(0x205)]>0x0&&writeFileSync(_0x45467b['oldMcpConfig'][_0x24dc5d(0x1d7)],JSON[_0x24dc5d(0x242)](_0x25b91d,null,0x2)+'\x0a',_0x24dc5d(0x21a)),{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':_0x24dc5d(0x235)+_0x328e04[_0x24dc5d(0x217)](',\x20')+_0x24dc5d(0x22f)+_0x45467b[_0x24dc5d(0x230)][_0x24dc5d(0x1d7)]};}return{'step':0x4,'label':_0x24dc5d(0x1d3),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2dbf17){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x2dbf17['message']};}}function execSkillsRemove(_0x375c9f,_0x41fdf3){const _0x1fc16f=a116_0x2b2739,_0x1c3ee6=runNpxSkillsRemove(_0x375c9f,{'stdio':_0x1fc16f(0x209),'yes':_0x41fdf3});return{'step':0x5,'label':_0x1fc16f(0x1df),'ok':_0x1c3ee6['ok'],'detail':_0x1c3ee6['ok']?_0x1fc16f(0x1c8):_0x1c3ee6[_0x1fc16f(0x1d8)]??'exit\x20'+_0x1c3ee6[_0x1fc16f(0x222)]};}function execSkillsAdd(_0x3b7ddb,_0x342264){const _0x1237cd=a116_0x2b2739,_0x2638e6=runNpxSkillsAddGlobal(_0x3b7ddb,_0x1237cd(0x237),{'stdio':_0x1237cd(0x209),'yes':_0x342264});return{'step':0x6,'label':_0x1237cd(0x21b),'ok':_0x2638e6['ok'],'detail':_0x2638e6['ok']?_0x1237cd(0x1fa):_0x2638e6[_0x1237cd(0x1d8)]??_0x1237cd(0x23c)+_0x2638e6[_0x1237cd(0x222)]};}function execUpgradeSdk(_0x2d6a86){const _0x2cb48d=a116_0x2b2739;if(!_0x2d6a86[_0x2cb48d(0x225)])return{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':!![],'detail':_0x2cb48d(0x23a)};const {pkgPath:_0x93ba12,currentVersion:_0x2e51f6,field:_0x55077a}=_0x2d6a86['sdkUpgrade'];try{const _0x22788e=readFileSync(_0x93ba12,_0x2cb48d(0x21a)),_0x5f0eba=JSON[_0x2cb48d(0x21f)](_0x22788e);return _0x5f0eba[_0x55077a][_0x2cb48d(0x238)]=_0x2cb48d(0x21c),writeFileSync(_0x93ba12,JSON[_0x2cb48d(0x242)](_0x5f0eba,null,0x2)+'\x0a',_0x2cb48d(0x21a)),{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':!![],'detail':_0x55077a+_0x2cb48d(0x200)+_0x2e51f6+_0x2cb48d(0x1da)};}catch(_0x50dff5){return{'step':0x7,'label':_0x2cb48d(0x1ef),'ok':![],'detail':_0x50dff5[_0x2cb48d(0x207)]};}}function tryStat(_0x4be0ba){try{return statSync(_0x4be0ba);}catch{return undefined;}}function printSummary(_0x43c19d){const _0x5eaf5d=a116_0x2b2739;console[_0x5eaf5d(0x20e)](''),console[_0x5eaf5d(0x20e)](a116_0x1378c6['bold'](_0x5eaf5d(0x1ca))),console['log']('');for(const _0x2e0905 of _0x43c19d){const _0x3f0b95=_0x2e0905['ok']?a116_0x1378c6[_0x5eaf5d(0x228)]('OK'):a116_0x1378c6[_0x5eaf5d(0x1f7)]('FAIL');console[_0x5eaf5d(0x20e)]('\x20\x20'+_0x3f0b95+_0x5eaf5d(0x1f1)+_0x2e0905['step']+':\x20'+_0x2e0905[_0x5eaf5d(0x1d0)]);if(_0x2e0905['detail'])console[_0x5eaf5d(0x20e)](_0x5eaf5d(0x203)+a116_0x1378c6['gray'](_0x2e0905['detail']));}console[_0x5eaf5d(0x20e)]('');}export async function upgradeApp(_0x3580bc,_0xd8b066){const _0x14279c=a116_0x2b2739,_0xd9ce71=process[_0x14279c(0x232)](),_0x3da033=analyse(_0xd9ce71),_0x562baf=!_0x3da033[_0x14279c(0x1c2)]&&_0x3da033[_0x14279c(0x233)][_0x14279c(0x205)]===0x0&&!_0x3da033['oldMcpConfig']&&!_0x3da033[_0x14279c(0x1ec)]&&!_0x3da033[_0x14279c(0x225)];if(_0x562baf){console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x228)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3da033);const _0x5df0a1=!!(_0xd8b066[_0x14279c(0x1c5)]||_0xd8b066['Y']||_0x3580bc);if(!_0x5df0a1)try{const _0x39bc44=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x39bc44){console['log'](a116_0x1378c6[_0x14279c(0x243)](_0x14279c(0x1fd)));return;}}catch(_0x366bbf){if(_0x366bbf?.['message']==='CANCEL'){console['log'](a116_0x1378c6[_0x14279c(0x243)](_0x14279c(0x1fd)));return;}throw _0x366bbf;}const _0x5f05df=[],_0x2a85ff=a116_0x46d5ca({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0xf36b8d=execConfigMigration(_0x3da033,_0xd9ce71);_0x5f05df['push'](_0xf36b8d),_0x2a85ff[_0xf36b8d['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x23f)+(_0xf36b8d[_0x14279c(0x20b)]??(_0xf36b8d['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x2663c8=resolve(_0xd9ce71,_0x14279c(0x231)),_0x459732=a116_0x46d5ca({'text':_0x14279c(0x1eb),'color':'cyan'})[_0x14279c(0x1cc)]();if(existsSync(_0x2663c8))try{rmSync(_0x2663c8,{'recursive':!![],'force':!![]}),_0x459732['succeed'](_0x14279c(0x1fe)),_0x5f05df['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x6b1e80){_0x459732[_0x14279c(0x1cb)](_0x14279c(0x1e3)+_0x6b1e80[_0x14279c(0x207)]),_0x5f05df[_0x14279c(0x20c)]({'step':0x2,'label':_0x14279c(0x1dd),'ok':![],'detail':_0x6b1e80[_0x14279c(0x207)]});}else _0x459732[_0x14279c(0x212)](_0x14279c(0x1f6)),_0x5f05df['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x58a1a6=a116_0x46d5ca({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x2bcd21=execRemoveOldArtifacts(_0x3da033['oldArtifacts']);_0x5f05df[_0x14279c(0x20c)](_0x2bcd21),_0x58a1a6[_0x2bcd21['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x236)+(_0x2bcd21[_0x14279c(0x20b)]??(_0x2bcd21['ok']?_0x14279c(0x1f0):'failed')));const _0x379b7f=a116_0x46d5ca({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x4a0f78=execCleanMcp(_0x3da033);_0x5f05df[_0x14279c(0x20c)](_0x4a0f78),_0x379b7f[_0x4a0f78['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x22c)+(_0x4a0f78[_0x14279c(0x20b)]??(_0x4a0f78['ok']?'done':'failed')));const _0x29d03e=a116_0x46d5ca({'text':_0x14279c(0x1d1),'color':'cyan'})[_0x14279c(0x1cc)](),_0x4d0805=execSkillsRemove(_0xd9ce71,_0x5df0a1);_0x5f05df['push'](_0x4d0805),_0x29d03e[_0x4d0805['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x1f5)+(_0x4d0805[_0x14279c(0x20b)]??(_0x4d0805['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x49da20=a116_0x46d5ca({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x22015e=execSkillsAdd(_0xd9ce71,_0x5df0a1);_0x5f05df['push'](_0x22015e),_0x49da20[_0x22015e['ok']?_0x14279c(0x224):_0x14279c(0x1cb)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x22015e['detail']??(_0x22015e['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2))));const _0x4cfef7=a116_0x46d5ca({'text':_0x14279c(0x1c3),'color':_0x14279c(0x1c6)})[_0x14279c(0x1cc)](),_0x16fdfc=execUpgradeSdk(_0x3da033);_0x5f05df[_0x14279c(0x20c)](_0x16fdfc),_0x4cfef7[_0x16fdfc['ok']?_0x14279c(0x224):_0x14279c(0x1cb)](_0x14279c(0x1cf)+(_0x16fdfc[_0x14279c(0x20b)]??(_0x16fdfc['ok']?_0x14279c(0x1f0):_0x14279c(0x1e2)))),printSummary(_0x5f05df);const _0x37ad0e=_0x5f05df['some'](_0x5422fd=>!_0x5422fd['ok']);_0x37ad0e?console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x229)](_0x14279c(0x22a))):console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x228)]('Upgrade\x20completed\x20successfully!')),_0x16fdfc['ok']&&_0x3da033['sdkUpgrade']&&(console[_0x14279c(0x20e)](''),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x1cd)]['cyan'](_0x14279c(0x21e))),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x1c6)](_0x14279c(0x1c1))),console[_0x14279c(0x20e)](''),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x220)](_0x14279c(0x1c9))),console[_0x14279c(0x20e)](a116_0x1378c6[_0x14279c(0x220)](_0x14279c(0x20d))),console[_0x14279c(0x20e)](a116_0x1378c6['white']('\x20\x20bun\x20install')),console[_0x14279c(0x20e)](''));}
@@ -1 +1 @@
1
- const a117_0x303d17=a117_0x21c0;(function(_0x2d3fb4,_0x15510c){const _0x406d1f=a117_0x21c0,_0x194865=_0x2d3fb4();while(!![]){try{const _0x1994d6=parseInt(_0x406d1f(0xc7))/0x1*(-parseInt(_0x406d1f(0xd6))/0x2)+-parseInt(_0x406d1f(0xd2))/0x3*(parseInt(_0x406d1f(0xbd))/0x4)+parseInt(_0x406d1f(0xbf))/0x5+parseInt(_0x406d1f(0xb0))/0x6*(-parseInt(_0x406d1f(0xcc))/0x7)+-parseInt(_0x406d1f(0xa8))/0x8+parseInt(_0x406d1f(0xba))/0x9+-parseInt(_0x406d1f(0xaf))/0xa*(parseInt(_0x406d1f(0xb6))/0xb);if(_0x1994d6===_0x15510c)break;else _0x194865['push'](_0x194865['shift']());}catch(_0x42ba74){_0x194865['push'](_0x194865['shift']());}}}(a117_0x5699,0x73471));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x12ffab){const _0x23eb28=a117_0x21c0;for(const _0x4b1669 of _0x12ffab){definitions[_0x23eb28(0xc1)](_0x4b1669[_0x23eb28(0xd7)]+':'+_0x4b1669[_0x23eb28(0xab)],_0x4b1669);let _0x1f2201=serviceGroups[_0x23eb28(0xd1)](_0x4b1669[_0x23eb28(0xd7)]);!_0x1f2201&&(_0x1f2201=[],serviceGroups[_0x23eb28(0xc1)](_0x4b1669[_0x23eb28(0xd7)],_0x1f2201)),_0x1f2201[_0x23eb28(0xbc)](_0x4b1669);}}function registerDeclarativeService(_0x2f9f74,_0x578bcf,_0x1800ca){const _0x5c2020=a117_0x21c0;registerDefinitions(_0x578bcf);_0x1800ca?.[_0x5c2020(0xcd)]&&registerDefinitions([_0x1800ca[_0x5c2020(0xcd)]]);const _0x5eff22=_0x4eb366=>_0x4eb366===_0x5c2020(0xaa)?'':_0x4eb366===_0x5c2020(0xc9)?_0x5c2020(0xb2):_0x5c2020(0xd0),_0x59ac3a={'service':_0x578bcf[0x0][_0x5c2020(0xd7)],'label':_0x2f9f74,'commands':_0x578bcf[_0x5c2020(0xb4)](_0x522bfd=>({'command':_0x522bfd[_0x5c2020(0xab)],'description':_0x522bfd[_0x5c2020(0xda)],'tag':_0x5eff22(_0x522bfd[_0x5c2020(0xd4)])})),'declarative':!![],'defaultCommand':_0x1800ca?.[_0x5c2020(0xb9)]??(_0x1800ca?.[_0x5c2020(0xd5)]?_0x578bcf[0x0][_0x5c2020(0xab)]:undefined),'wildcardDef':_0x1800ca?.['wildcardDef'],'isSingleCommand':_0x1800ca?.['isSingleCommand']};serviceRegistry[_0x5c2020(0xbc)](_0x59ac3a),serviceByName[_0x5c2020(0xc1)](_0x59ac3a[_0x5c2020(0xd7)],_0x59ac3a);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a117_0x303d17(0xd3),'isSingleCommand':!![]}),registerDeclarativeService(a117_0x303d17(0xbe),projectDefinitions),registerDeclarativeService(a117_0x303d17(0xad),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});function a117_0x5699(){const _0x9cf5e0=['255GjolqX','run','risk','isSingleCommand','2Kvtwkm','service','Authentication','<script>','description','2020368EeZePv','skill','read','command','Instant\x20API','App\x20Management','API','10YMdhOb','42VvzefG','login','\x20\x20[write]','Dataset\x20&\x20Operations','map','preview','2723732QtIXxF','length','Database\x20Connections','defaultCommand','7755120FoDnxY','Run\x20any\x20package.json\x20script','push','6788EvYltA','Project','4222040uUAQyl','has','set','commands','Logs','from','Schema','auth','8137aZsDgd','build','write','Diagnostics','Configuration','581371jJlmih','wildcardDef','Smart\x20List\x20Pages','Skills','\x20\x20[high-risk-write]','get'];a117_0x5699=function(){return _0x9cf5e0;};return a117_0x5699();}{const last=serviceRegistry[serviceRegistry[a117_0x303d17(0xb7)]-0x1];last[a117_0x303d17(0xc2)]=[{'command':a117_0x303d17(0xd9),'description':a117_0x303d17(0xbb),'tag':''}];}registerDeclarativeService(a117_0x303d17(0xd8),authDefinitions,{'defaultCommand':a117_0x303d17(0xb1)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x303d17(0xca),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x303d17(0xc5),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x303d17(0xcb),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a117_0x303d17(0xae),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a117_0x303d17(0xb8),dbDefinitions),registerDeclarativeService(a117_0x303d17(0xb3),datasetDefinitions),registerDeclarativeService(a117_0x303d17(0xce),pageDefinitions),registerDeclarativeService(a117_0x303d17(0xac),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a117_0x303d17(0xcf),skillDefinitions),registerDeclarativeService(a117_0x303d17(0xc3),logsDefinitions,{'defaultCommand':'show'});export const deprecatedAliases={'create':{'service':'project','command':'create'},'start':{'service':a117_0x303d17(0xd3),'command':'start'},'build':{'service':a117_0x303d17(0xd3),'command':a117_0x303d17(0xc8)},'preview':{'service':'run','command':a117_0x303d17(0xb5)},'logout':{'service':a117_0x303d17(0xc6),'command':'logout'},'skills':{'service':a117_0x303d17(0xa9),'command':'install'}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x5323b1,_0x3585f0){return deprecatedSubcommands[_0x5323b1]?.[_0x3585f0];}export function findDefinition(_0x9df39b,_0x2c2878){const _0x5ebcf1=a117_0x303d17;return definitions[_0x5ebcf1(0xd1)](_0x9df39b+':'+_0x2c2878);}export function isKnownService(_0x597562){const _0x1b1000=a117_0x303d17;return serviceByName[_0x1b1000(0xc0)](_0x597562);}export function isDeclarativeService(_0x3a6dee){const _0x4350ba=a117_0x303d17;return serviceGroups[_0x4350ba(0xc0)](_0x3a6dee)||serviceByName['get'](_0x3a6dee)?.[_0x4350ba(0xcd)]!==undefined;}function a117_0x21c0(_0xb4101f,_0x54b61a){_0xb4101f=_0xb4101f-0xa8;const _0x56997c=a117_0x5699();let _0x21c0b4=_0x56997c[_0xb4101f];return _0x21c0b4;}export function getServiceEntry(_0x37fd0f){const _0x2a0138=a117_0x303d17;return serviceByName[_0x2a0138(0xd1)](_0x37fd0f);}export function getLegacyHandler(_0x80a53,_0x393114){return undefined;}export function getAllDefinitions(){const _0x400d9d=a117_0x303d17;return Array[_0x400d9d(0xc4)](definitions['values']());}
1
+ const a117_0x32a02e=a117_0x82c4;(function(_0x297c1f,_0x368c39){const _0x140905=a117_0x82c4,_0x2083ed=_0x297c1f();while(!![]){try{const _0x34fe37=-parseInt(_0x140905(0x193))/0x1*(-parseInt(_0x140905(0x1b7))/0x2)+-parseInt(_0x140905(0x183))/0x3*(parseInt(_0x140905(0x1a7))/0x4)+-parseInt(_0x140905(0x199))/0x5+parseInt(_0x140905(0x184))/0x6*(-parseInt(_0x140905(0x1b5))/0x7)+-parseInt(_0x140905(0x192))/0x8+-parseInt(_0x140905(0x1a3))/0x9*(-parseInt(_0x140905(0x18c))/0xa)+parseInt(_0x140905(0x1a1))/0xb*(parseInt(_0x140905(0x1b4))/0xc);if(_0x34fe37===_0x368c39)break;else _0x2083ed['push'](_0x2083ed['shift']());}catch(_0x2bc446){_0x2083ed['push'](_0x2083ed['shift']());}}}(a117_0x1bb1,0xb849f));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a117_0x1bb1(){const _0x56a757=['API','172812WRdnRz','148309DoAdmd','risk','2RxwTfB','Skills','auth','630771LnxZvq','126yViAel','Run\x20any\x20package.json\x20script','Configuration','service','values','map','wildcardDef','set','378410pzJDdc','start','<script>','login','has','commands','2842624GZXQaw','1495679duhGlJ','Platform\x20Issue','from','install','Project','build','379215PMbWMZ','run','\x20\x20[write]','App\x20Management','logout','Diagnostics','create','SQL\x20Queries','704UyFmOg','Self\x20Update','63MBqVkO','get','description','Database\x20Connections','20tpzOax','push','length','BFF\x20Scripts','command','preview','Quick\x20Start','Code\x20Generation','project','Schema','\x20\x20[high-risk-write]','Authentication'];a117_0x1bb1=function(){return _0x56a757;};return a117_0x1bb1();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x2a97a7){const _0x45959e=a117_0x82c4;for(const _0x293c8c of _0x2a97a7){definitions[_0x45959e(0x18b)](_0x293c8c[_0x45959e(0x187)]+':'+_0x293c8c[_0x45959e(0x1ab)],_0x293c8c);let _0x5a7192=serviceGroups['get'](_0x293c8c[_0x45959e(0x187)]);!_0x5a7192&&(_0x5a7192=[],serviceGroups['set'](_0x293c8c['service'],_0x5a7192)),_0x5a7192[_0x45959e(0x1a8)](_0x293c8c);}}function registerDeclarativeService(_0x39fef4,_0x1e1fb5,_0x530ddc){const _0x1c0e83=a117_0x82c4;registerDefinitions(_0x1e1fb5);_0x530ddc?.[_0x1c0e83(0x18a)]&&registerDefinitions([_0x530ddc[_0x1c0e83(0x18a)]]);const _0x304e7b=_0xed83ae=>_0xed83ae==='read'?'':_0xed83ae==='write'?_0x1c0e83(0x19b):_0x1c0e83(0x1b1),_0x3d7e8b={'service':_0x1e1fb5[0x0][_0x1c0e83(0x187)],'label':_0x39fef4,'commands':_0x1e1fb5[_0x1c0e83(0x189)](_0x1bdfb5=>({'command':_0x1bdfb5[_0x1c0e83(0x1ab)],'description':_0x1bdfb5[_0x1c0e83(0x1a5)],'tag':_0x304e7b(_0x1bdfb5[_0x1c0e83(0x1b6)])})),'declarative':!![],'defaultCommand':_0x530ddc?.['defaultCommand']??(_0x530ddc?.['isSingleCommand']?_0x1e1fb5[0x0][_0x1c0e83(0x1ab)]:undefined),'wildcardDef':_0x530ddc?.['wildcardDef'],'isSingleCommand':_0x530ddc?.['isSingleCommand']};serviceRegistry[_0x1c0e83(0x1a8)](_0x3d7e8b),serviceByName[_0x1c0e83(0x18b)](_0x3d7e8b[_0x1c0e83(0x187)],_0x3d7e8b);}registerDeclarativeService(a117_0x32a02e(0x1ad),initDefinitions,{'defaultCommand':a117_0x32a02e(0x19a),'isSingleCommand':!![]}),registerDeclarativeService(a117_0x32a02e(0x197),projectDefinitions),registerDeclarativeService(a117_0x32a02e(0x19c),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a117_0x32a02e(0x1a9)]-0x1];last[a117_0x32a02e(0x191)]=[{'command':a117_0x32a02e(0x18e),'description':a117_0x32a02e(0x185),'tag':''}];}registerDeclarativeService(a117_0x32a02e(0x1b2),authDefinitions,{'defaultCommand':a117_0x32a02e(0x18f)}),registerDeclarativeService(a117_0x32a02e(0x1a2),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x32a02e(0x19e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x32a02e(0x1b0),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x32a02e(0x186),configDefinitions),registerDeclarativeService(a117_0x32a02e(0x194),issueDefinitions),registerDeclarativeService(a117_0x32a02e(0x1b3),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a117_0x32a02e(0x1a6),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a117_0x32a02e(0x1aa),bffDefinitions),registerDeclarativeService(a117_0x32a02e(0x1a0),sqlDefinitions),registerDeclarativeService(a117_0x32a02e(0x1ae),codegenDefinitions),registerDeclarativeService(a117_0x32a02e(0x1b8),skillDefinitions),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':'show'});export const deprecatedAliases={'create':{'service':a117_0x32a02e(0x1af),'command':a117_0x32a02e(0x19f)},'start':{'service':a117_0x32a02e(0x19a),'command':a117_0x32a02e(0x18d)},'build':{'service':'run','command':a117_0x32a02e(0x198)},'preview':{'service':'run','command':a117_0x32a02e(0x1ac)},'logout':{'service':a117_0x32a02e(0x182),'command':a117_0x32a02e(0x19d)},'skills':{'service':'skill','command':a117_0x32a02e(0x196)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a117_0x32a02e(0x19f)}};function a117_0x82c4(_0x21a67d,_0x2204dd){_0x21a67d=_0x21a67d-0x182;const _0x1bb1b3=a117_0x1bb1();let _0x82c4c2=_0x1bb1b3[_0x21a67d];return _0x82c4c2;}export function resolveDeprecatedSubcommand(_0x3e2dd5,_0x382af4){return deprecatedSubcommands[_0x3e2dd5]?.[_0x382af4];}export function findDefinition(_0x5c0410,_0x164b07){const _0x37f4b3=a117_0x32a02e;return definitions[_0x37f4b3(0x1a4)](_0x5c0410+':'+_0x164b07);}export function isKnownService(_0x570bf1){const _0x3d91b5=a117_0x32a02e;return serviceByName[_0x3d91b5(0x190)](_0x570bf1);}export function isDeclarativeService(_0x1b5033){const _0x3c4e2d=a117_0x32a02e;return serviceGroups[_0x3c4e2d(0x190)](_0x1b5033)||serviceByName['get'](_0x1b5033)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x4ab560){const _0x13c4da=a117_0x32a02e;return serviceByName[_0x13c4da(0x1a4)](_0x4ab560);}export function getLegacyHandler(_0x6297d7,_0x5a9f83){return undefined;}export function getAllDefinitions(){const _0x4d4e1a=a117_0x32a02e;return Array[_0x4d4e1a(0x195)](definitions[_0x4d4e1a(0x188)]());}
@@ -1 +1 @@
1
- const a118_0x528673=a118_0x5e84;function a118_0x9c44(){const _0x3b69ad=['watch','bun','push','npm','Run\x20a\x20package.json\x20script','inherit','16OfIAly','entries','log','script','\x20run\x20start','bun.lock','\x22\x20not\x20found\x20in\x20package.json.','2662450XRXSrt','\x20run\x20preview','utf-8','boolean','\x20\x20EXAMPLES','Script\x20name\x20defined\x20in\x20package.json','validation','\x0a\x20\x20Available\x20scripts:\x0a','padEnd','node_modules','close','length','all','2PujoaS','slice','--watch','\x20\x20\x20\x20','5tGSbZw','659502uMQuIA','join','map','No\x20package.json\x20found\x20in\x20current\x20directory.','1054287DaPTXQ','start','\x20run\x20','(none)','vite\x20preview\x20exited\x20with\x20code\x20','\x20exited\x20with\x20code\x20','error','\x0a\x20\x20Usage:\x20','preview','.bin','872272lCwqMJ','Enable\x20watch\x20mode\x20for\x20preview','2996166napUTP','295074ynpXSg','read','build','needsUpgrade','yarn.lock','cwd','args','run','keys','has','Script\x20\x22','scripts','1800869Nsrjki','vite'];a118_0x9c44=function(){return _0x3b69ad;};return a118_0x9c44();}(function(_0x396f70,_0x5a3fb5){const _0x1fa9df=a118_0x5e84,_0x202812=_0x396f70();while(!![]){try{const _0x3c9779=-parseInt(_0x1fa9df(0xd4))/0x1+-parseInt(_0x1fa9df(0xbe))/0x2*(-parseInt(_0x1fa9df(0xc3))/0x3)+parseInt(_0x1fa9df(0xd1))/0x4+parseInt(_0x1fa9df(0xc2))/0x5*(parseInt(_0x1fa9df(0xd3))/0x6)+parseInt(_0x1fa9df(0xe0))/0x7*(-parseInt(_0x1fa9df(0xe8))/0x8)+parseInt(_0x1fa9df(0xc7))/0x9+parseInt(_0x1fa9df(0xef))/0xa;if(_0x3c9779===_0x5a3fb5)break;else _0x202812['push'](_0x202812['shift']());}catch(_0x37e65f){_0x202812['push'](_0x202812['shift']());}}}(a118_0x9c44,0x7cc43));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([a118_0x528673(0xc8),'dev']);function a118_0x5e84(_0x447850,_0x5495c9){_0x447850=_0x447850-0xbd;const _0x9c44c5=a118_0x9c44();let _0x5e849d=_0x9c44c5[_0x447850];return _0x5e849d;}function readPackageScripts(_0x47213b){const _0x4eb7e1=a118_0x528673,_0x345817=resolve(_0x47213b,'package.json');if(!existsSync(_0x345817))return null;try{const _0x28dc4c=JSON['parse'](readFileSync(_0x345817,_0x4eb7e1(0xf1)));return _0x28dc4c[_0x4eb7e1(0xdf)]??{};}catch{return null;}}function detectPackageManager(_0x45ac58){const _0x2b3e44=a118_0x528673;if(existsSync(resolve(_0x45ac58,'bun.lockb'))||existsSync(resolve(_0x45ac58,_0x2b3e44(0xed))))return _0x2b3e44(0xe3);if(existsSync(resolve(_0x45ac58,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x45ac58,_0x2b3e44(0xd8))))return'yarn';return _0x2b3e44(0xe5);}async function versionCheck(_0x265d0c){const _0x3728b1=a118_0x528673,_0x55aac5=await checkCliVersion();(_0x55aac5['needsUpgrade']||_0x55aac5['belowMinimum'])&&(printCliUpgradeWarning(_0x55aac5),assertCliVersionSupported(_0x55aac5));const _0x5cb601=await checkSdkVersion(_0x265d0c);if(_0x5cb601[_0x3728b1(0xd7)])printSdkUpgradeWarning(_0x5cb601);}function spawnScript(_0x1452da,_0x4afe32,_0x10e258,_0x1ff835){return new Promise((_0xc084fa,_0xe2028a)=>{const _0x457ada=a118_0x5e84,_0x5d06e0=[_0x457ada(0xdb),_0x4afe32,..._0x10e258],_0x1ba82b=spawn(_0x1452da,_0x5d06e0,{'cwd':_0x1ff835,'stdio':_0x457ada(0xe7),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1ff835,_0x457ada(0xf8),'.bin')+delimiter+process.env.PATH}});_0x1ba82b['on'](_0x457ada(0xf9),_0x56695a=>{const _0x4b7765=_0x457ada;if(_0x56695a===0x0||_0x56695a===null)_0xc084fa();else _0xe2028a(new Error(_0x1452da+_0x4b7765(0xc9)+_0x4afe32+_0x4b7765(0xcc)+_0x56695a));}),_0x1ba82b['on'](_0x457ada(0xcd),_0xe2028a);});}function spawnViteBuildWatch(_0x5544ee){return new Promise((_0x588e14,_0x4bdc38)=>{const _0x33c63f=a118_0x5e84,_0x259af2=spawn(_0x33c63f(0xe1),[_0x33c63f(0xd6),_0x33c63f(0xc0)],{'cwd':_0x5544ee,'stdio':_0x33c63f(0xe7),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5544ee,_0x33c63f(0xf8),_0x33c63f(0xd0))+delimiter+process.env.PATH}});_0x259af2['on'](_0x33c63f(0xf9),_0x97654e=>{if(_0x97654e===0x0||_0x97654e===null)_0x588e14();else _0x4bdc38(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x97654e));}),_0x259af2['on'](_0x33c63f(0xcd),_0x4bdc38);});}function spawnVitePreview(_0x31eb77){return new Promise((_0x26d1fe,_0x5b13ea)=>{const _0xc49e72=a118_0x5e84,_0x588e1d=spawn('vite',[_0xc49e72(0xcf)],{'cwd':_0x31eb77,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x31eb77,_0xc49e72(0xf8),_0xc49e72(0xd0))+delimiter+process.env.PATH}});_0x588e1d['on'](_0xc49e72(0xf9),_0x79043b=>{const _0x507f0d=_0xc49e72;if(_0x79043b===0x0||_0x79043b===null)_0x26d1fe();else _0x5b13ea(new Error(_0x507f0d(0xcb)+_0x79043b));}),_0x588e1d['on'](_0xc49e72(0xcd),_0x5b13ea);});}const runFlags=[{'name':a118_0x528673(0xe2),'type':a118_0x528673(0xf2),'description':a118_0x528673(0xd2),'default':![]}];export const runDefinition={'service':a118_0x528673(0xdb),'command':a118_0x528673(0xdb),'description':a118_0x528673(0xe6),'risk':a118_0x528673(0xd5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a118_0x528673(0xeb),'description':a118_0x528673(0xf4),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4a7a83=a118_0x528673,_0x132aa2=readPackageScripts(process[_0x4a7a83(0xd9)]()),_0x2d8cca=[];if(_0x132aa2&&Object['keys'](_0x132aa2)[_0x4a7a83(0xfa)]>0x0){const _0x36d34a=Object[_0x4a7a83(0xdc)](_0x132aa2),_0x1d8a63=Math['max'](..._0x36d34a[_0x4a7a83(0xc5)](_0x4b70d1=>_0x4b70d1[_0x4a7a83(0xfa)]));_0x2d8cca['push']('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x5b2981,_0xa05ec7]of Object[_0x4a7a83(0xe9)](_0x132aa2)){_0x2d8cca[_0x4a7a83(0xe4)](_0x4a7a83(0xc1)+CLI_BIN_NAME+'\x20run\x20'+_0x5b2981[_0x4a7a83(0xf7)](_0x1d8a63+0x2)+'#\x20'+_0xa05ec7);}}else _0x2d8cca['push'](_0x4a7a83(0xf3)),_0x2d8cca['push'](_0x4a7a83(0xc1)+CLI_BIN_NAME+_0x4a7a83(0xec)),_0x2d8cca[_0x4a7a83(0xe4)](_0x4a7a83(0xc1)+CLI_BIN_NAME+'\x20run\x20build'),_0x2d8cca[_0x4a7a83(0xe4)](_0x4a7a83(0xc1)+CLI_BIN_NAME+_0x4a7a83(0xf0)),_0x2d8cca[_0x4a7a83(0xe4)](_0x4a7a83(0xc1)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x2d8cca[_0x4a7a83(0xc4)]('\x0a');},async 'execute'(_0x2ee2cf){const _0x51a13b=a118_0x528673,_0x29e8cc=process[_0x51a13b(0xd9)](),_0x4a6f6d=_0x2ee2cf[_0x51a13b(0xda)][0x0],_0x7c5f1e=_0x2ee2cf[_0x51a13b(0xda)][_0x51a13b(0xbf)](0x1),_0x520985=readPackageScripts(_0x29e8cc);if(!_0x520985)throw CliErrors['validation'](_0x51a13b(0xc6));if(!_0x4a6f6d){const _0x3652ec=Object[_0x51a13b(0xdc)](_0x520985);if(_0x3652ec[_0x51a13b(0xfa)]===0x0)console['log']('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x51a13b(0xea)](_0x51a13b(0xf6));const _0x274eda=Math['max'](..._0x3652ec['map'](_0x2aa6d6=>_0x2aa6d6[_0x51a13b(0xfa)]));for(const [_0x4a7d7b,_0x1b948a]of Object[_0x51a13b(0xe9)](_0x520985)){console[_0x51a13b(0xea)](_0x51a13b(0xc1)+_0x4a7d7b[_0x51a13b(0xf7)](_0x274eda+0x2)+_0x1b948a);}console['log'](_0x51a13b(0xce)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x520985[_0x4a6f6d])throw CliErrors[_0x51a13b(0xf5)](_0x51a13b(0xde)+_0x4a6f6d+_0x51a13b(0xee),'Available:\x20'+(Object['keys'](_0x520985)[_0x51a13b(0xc4)](',\x20')||_0x51a13b(0xca)));const _0x156664=detectPackageManager(_0x29e8cc);VERSION_CHECK_SCRIPTS[_0x51a13b(0xdd)](_0x4a6f6d)&&await versionCheck(_0x29e8cc);if(_0x4a6f6d===_0x51a13b(0xcf)&&_0x2ee2cf['bool'](_0x51a13b(0xe2)))return await Promise[_0x51a13b(0xbd)]([spawnViteBuildWatch(_0x29e8cc),spawnVitePreview(_0x29e8cc)]),{'ok':!![]};return await spawnScript(_0x156664,_0x4a6f6d,_0x7c5f1e,_0x29e8cc),{'ok':!![]};}};
1
+ const a118_0x548c9b=a118_0x54c0;(function(_0x43aa35,_0x5647f5){const _0x5156f8=a118_0x54c0,_0x4efaf0=_0x43aa35();while(!![]){try{const _0x5443e7=parseInt(_0x5156f8(0x1a1))/0x1+parseInt(_0x5156f8(0x1bb))/0x2+parseInt(_0x5156f8(0x19a))/0x3*(-parseInt(_0x5156f8(0x1af))/0x4)+-parseInt(_0x5156f8(0x1b3))/0x5+-parseInt(_0x5156f8(0x18b))/0x6+parseInt(_0x5156f8(0x1a2))/0x7+parseInt(_0x5156f8(0x1aa))/0x8;if(_0x5443e7===_0x5647f5)break;else _0x4efaf0['push'](_0x4efaf0['shift']());}catch(_0x23ff61){_0x4efaf0['push'](_0x4efaf0['shift']());}}}(a118_0x36cc,0xaad15));function a118_0x36cc(){const _0x87d8b8=['start','pnpm','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','Script\x20\x22','parse','log','\x20\x20\x20\x20','package.json','read','map','join','5714868NXoUQj','node_modules','keys','error','\x20run\x20build','close','No\x20package.json\x20found\x20in\x20current\x20directory.','--watch','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','utf-8','\x20exited\x20with\x20code\x20','needsUpgrade','belowMinimum','Run\x20a\x20package.json\x20script','.bin','393tRrpLB','dev','inherit','watch','all','validation','has','148460NMmXdp','4376134mAaqpA','push','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','padEnd','vite','\x20\x20EXAMPLES','Enable\x20watch\x20mode\x20for\x20preview','scripts','9138400HZuAPG','max','\x20run\x20<script>\x0a','Script\x20name\x20defined\x20in\x20package.json','(none)','8516SbBeWC','bun.lockb','preview','yarn.lock','1113420CpqUbN','bool','cwd','run','entries','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20','args','475616iFoWOY'];a118_0x36cc=function(){return _0x87d8b8;};return a118_0x36cc();}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';function a118_0x54c0(_0x5547da,_0x431206){_0x5547da=_0x5547da-0x180;const _0x36cc29=a118_0x36cc();let _0x54c026=_0x36cc29[_0x5547da];return _0x54c026;}const VERSION_CHECK_SCRIPTS=new Set([a118_0x548c9b(0x180),a118_0x548c9b(0x19b)]);function readPackageScripts(_0xb23a76){const _0x5f2b0c=a118_0x548c9b,_0x2c4cff=resolve(_0xb23a76,_0x5f2b0c(0x187));if(!existsSync(_0x2c4cff))return null;try{const _0x21d24=JSON[_0x5f2b0c(0x184)](readFileSync(_0x2c4cff,_0x5f2b0c(0x194)));return _0x21d24[_0x5f2b0c(0x1a9)]??{};}catch{return null;}}function detectPackageManager(_0x5e1b3a){const _0x25bb2e=a118_0x548c9b;if(existsSync(resolve(_0x5e1b3a,_0x25bb2e(0x1b0)))||existsSync(resolve(_0x5e1b3a,'bun.lock')))return'bun';if(existsSync(resolve(_0x5e1b3a,'pnpm-lock.yaml')))return _0x25bb2e(0x181);if(existsSync(resolve(_0x5e1b3a,_0x25bb2e(0x1b2))))return'yarn';return'npm';}async function versionCheck(_0x1e39c4){const _0x2fd94f=a118_0x548c9b,_0xaeb203=await checkCliVersion();(_0xaeb203[_0x2fd94f(0x196)]||_0xaeb203[_0x2fd94f(0x197)])&&(printCliUpgradeWarning(_0xaeb203),assertCliVersionSupported(_0xaeb203));const _0x24084a=await checkSdkVersion(_0x1e39c4);if(_0x24084a['needsUpgrade'])printSdkUpgradeWarning(_0x24084a);}function spawnScript(_0x4c9636,_0x1a86e8,_0x140da4,_0x3b0b62){return new Promise((_0x449619,_0x2a85ab)=>{const _0x4baa1f=a118_0x54c0,_0x458fc0=[_0x4baa1f(0x1b6),_0x1a86e8,..._0x140da4],_0x42eadb=spawn(_0x4c9636,_0x458fc0,{'cwd':_0x3b0b62,'stdio':_0x4baa1f(0x19c),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3b0b62,_0x4baa1f(0x18c),_0x4baa1f(0x199))+delimiter+process.env.PATH}});_0x42eadb['on'](_0x4baa1f(0x190),_0x535443=>{const _0x5d5e4c=_0x4baa1f;if(_0x535443===0x0||_0x535443===null)_0x449619();else _0x2a85ab(new Error(_0x4c9636+_0x5d5e4c(0x1b9)+_0x1a86e8+_0x5d5e4c(0x195)+_0x535443));}),_0x42eadb['on']('error',_0x2a85ab);});}function spawnViteBuildWatch(_0x2b5589){return new Promise((_0x4998ae,_0x4d26e5)=>{const _0x354dd8=a118_0x54c0,_0x114858=spawn(_0x354dd8(0x1a6),['build',_0x354dd8(0x192)],{'cwd':_0x2b5589,'stdio':_0x354dd8(0x19c),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2b5589,_0x354dd8(0x18c),'.bin')+delimiter+process.env.PATH}});_0x114858['on'](_0x354dd8(0x190),_0xf0508b=>{const _0x18f65f=_0x354dd8;if(_0xf0508b===0x0||_0xf0508b===null)_0x4998ae();else _0x4d26e5(new Error(_0x18f65f(0x1a4)+_0xf0508b));}),_0x114858['on']('error',_0x4d26e5);});}function spawnVitePreview(_0x2b8a73){return new Promise((_0x80bcf8,_0x1a0fa8)=>{const _0xfd171=a118_0x54c0,_0x4103dc=spawn('vite',[_0xfd171(0x1b1)],{'cwd':_0x2b8a73,'stdio':_0xfd171(0x19c),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2b8a73,'node_modules',_0xfd171(0x199))+delimiter+process.env.PATH}});_0x4103dc['on'](_0xfd171(0x190),_0x429730=>{const _0x2af688=_0xfd171;if(_0x429730===0x0||_0x429730===null)_0x80bcf8();else _0x1a0fa8(new Error(_0x2af688(0x1b8)+_0x429730));}),_0x4103dc['on'](_0xfd171(0x18e),_0x1a0fa8);});}const runFlags=[{'name':a118_0x548c9b(0x19d),'type':'boolean','description':a118_0x548c9b(0x1a8),'default':![]}];export const runDefinition={'service':'run','command':a118_0x548c9b(0x1b6),'description':a118_0x548c9b(0x198),'risk':a118_0x548c9b(0x188),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a118_0x548c9b(0x1ad),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x23e122=a118_0x548c9b,_0x2f5d13=readPackageScripts(process[_0x23e122(0x1b5)]()),_0x4470a4=[];if(_0x2f5d13&&Object[_0x23e122(0x18d)](_0x2f5d13)['length']>0x0){const _0x22ceff=Object['keys'](_0x2f5d13),_0x151f26=Math[_0x23e122(0x1ab)](..._0x22ceff[_0x23e122(0x189)](_0x5c3823=>_0x5c3823['length']));_0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x193));for(const [_0x516d14,_0x3f5805]of Object[_0x23e122(0x1b7)](_0x2f5d13)){_0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x186)+CLI_BIN_NAME+_0x23e122(0x1b9)+_0x516d14[_0x23e122(0x1a5)](_0x151f26+0x2)+'#\x20'+_0x3f5805);}}else _0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x1a7)),_0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x186)+CLI_BIN_NAME+'\x20run\x20start'),_0x4470a4['push'](_0x23e122(0x186)+CLI_BIN_NAME+_0x23e122(0x18f)),_0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x186)+CLI_BIN_NAME+'\x20run\x20preview'),_0x4470a4[_0x23e122(0x1a3)](_0x23e122(0x186)+CLI_BIN_NAME+_0x23e122(0x182));return _0x4470a4['join']('\x0a');},async 'execute'(_0x42c3f6){const _0x29cbd4=a118_0x548c9b,_0x187cbc=process[_0x29cbd4(0x1b5)](),_0x4af6b0=_0x42c3f6['args'][0x0],_0x186833=_0x42c3f6[_0x29cbd4(0x1ba)]['slice'](0x1),_0x1256b0=readPackageScripts(_0x187cbc);if(!_0x1256b0)throw CliErrors[_0x29cbd4(0x19f)](_0x29cbd4(0x191));if(!_0x4af6b0){const _0x33253b=Object['keys'](_0x1256b0);if(_0x33253b['length']===0x0)console[_0x29cbd4(0x185)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');const _0x479e8c=Math[_0x29cbd4(0x1ab)](..._0x33253b[_0x29cbd4(0x189)](_0x49d167=>_0x49d167['length']));for(const [_0x1f4704,_0x5ecc1d]of Object[_0x29cbd4(0x1b7)](_0x1256b0)){console['log'](_0x29cbd4(0x186)+_0x1f4704[_0x29cbd4(0x1a5)](_0x479e8c+0x2)+_0x5ecc1d);}console[_0x29cbd4(0x185)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x29cbd4(0x1ac));}return{'ok':!![]};}if(!_0x1256b0[_0x4af6b0])throw CliErrors[_0x29cbd4(0x19f)](_0x29cbd4(0x183)+_0x4af6b0+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object[_0x29cbd4(0x18d)](_0x1256b0)[_0x29cbd4(0x18a)](',\x20')||_0x29cbd4(0x1ae)));const _0x374101=detectPackageManager(_0x187cbc);VERSION_CHECK_SCRIPTS[_0x29cbd4(0x1a0)](_0x4af6b0)&&await versionCheck(_0x187cbc);if(_0x4af6b0===_0x29cbd4(0x1b1)&&_0x42c3f6[_0x29cbd4(0x1b4)](_0x29cbd4(0x19d)))return await Promise[_0x29cbd4(0x19e)]([spawnViteBuildWatch(_0x187cbc),spawnVitePreview(_0x187cbc)]),{'ok':!![]};return await spawnScript(_0x374101,_0x4af6b0,_0x186833,_0x187cbc),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a119_0x5875(_0x109b75,_0x28b673){_0x109b75=_0x109b75-0x67;const _0x2069ae=a119_0x2069();let _0x5875ea=_0x2069ae[_0x109b75];return _0x5875ea;}const a119_0x38e417=a119_0x5875;(function(_0x3383ac,_0x4e562a){const _0x5f572d=a119_0x5875,_0x128922=_0x3383ac();while(!![]){try{const _0x3c8de5=parseInt(_0x5f572d(0x72))/0x1*(-parseInt(_0x5f572d(0x6d))/0x2)+parseInt(_0x5f572d(0x70))/0x3*(-parseInt(_0x5f572d(0x6f))/0x4)+-parseInt(_0x5f572d(0x6b))/0x5*(parseInt(_0x5f572d(0x69))/0x6)+parseInt(_0x5f572d(0x6c))/0x7+-parseInt(_0x5f572d(0x6a))/0x8+parseInt(_0x5f572d(0x75))/0x9*(parseInt(_0x5f572d(0x67))/0xa)+-parseInt(_0x5f572d(0x6e))/0xb*(-parseInt(_0x5f572d(0x76))/0xc);if(_0x3c8de5===_0x4e562a)break;else _0x128922['push'](_0x128922['shift']());}catch(_0x953ca1){_0x128922['push'](_0x128922['shift']());}}}(a119_0x2069,0xe29fb));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x13f3d9){const _0x1cfdfa=await buildSchemaPayload();return{'ok':!![],'data':_0x1cfdfa};}export const schemaDefinition={'service':a119_0x38e417(0x68),'command':a119_0x38e417(0x73),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a119_0x38e417(0x71),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a119_0x38e417(0x74),'flags':[],'execute':execute};function a119_0x2069(){const _0x2f6a6c=['56661SEHNct','read','2956ROYHJv','export','json','27PRcmYc','178524cFUofU','794430TmGdrG','schema','246nCLFTe','9493016eMKOZt','3470JhowNt','8878394TgLcnT','296ICzPqx','2079ojJOPL','368zxpBHN'];a119_0x2069=function(){return _0x2f6a6c;};return a119_0x2069();}
1
+ function a119_0x4caf(){const _0x28a4aa=['327168NovklL','3017080FLrzWU','21ImrUJo','659005cMffJy','2134104ZtYzpC','schema','2089848GzWudt','10CjmijI','445772YYkFgG','read','1ybWUhA','516680mCiPLj'];a119_0x4caf=function(){return _0x28a4aa;};return a119_0x4caf();}const a119_0x2de915=a119_0x4bfe;function a119_0x4bfe(_0x4aaacd,_0x268190){_0x4aaacd=_0x4aaacd-0x16f;const _0x4caf94=a119_0x4caf();let _0x4bfeba=_0x4caf94[_0x4aaacd];return _0x4bfeba;}(function(_0x4b938f,_0x3f7cbd){const _0x490674=a119_0x4bfe,_0x38270a=_0x4b938f();while(!![]){try{const _0x586947=-parseInt(_0x490674(0x172))/0x1*(parseInt(_0x490674(0x170))/0x2)+parseInt(_0x490674(0x17a))/0x3+-parseInt(_0x490674(0x175))/0x4+parseInt(_0x490674(0x177))/0x5+parseInt(_0x490674(0x178))/0x6+parseInt(_0x490674(0x176))/0x7*(parseInt(_0x490674(0x173))/0x8)+parseInt(_0x490674(0x174))/0x9*(parseInt(_0x490674(0x16f))/0xa);if(_0x586947===_0x3f7cbd)break;else _0x38270a['push'](_0x38270a['shift']());}catch(_0x1932ba){_0x38270a['push'](_0x38270a['shift']());}}}(a119_0x4caf,0x6ab3c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xff9032){const _0x59921f=await buildSchemaPayload();return{'ok':!![],'data':_0x59921f};}export const schemaDefinition={'service':a119_0x2de915(0x179),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a119_0x2de915(0x171),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- function a120_0x3bbb(_0x1c22d9,_0x1ad292){_0x1c22d9=_0x1c22d9-0xd2;const _0x3b7db1=a120_0x3b7d();let _0x3bbb34=_0x3b7db1[_0x1c22d9];return _0x3bbb34;}const a120_0x57cd38=a120_0x3bbb;(function(_0x507f10,_0x5d6b5c){const _0x21af1f=a120_0x3bbb,_0x13b712=_0x507f10();while(!![]){try{const _0x42e91f=parseInt(_0x21af1f(0xec))/0x1*(parseInt(_0x21af1f(0xd6))/0x2)+-parseInt(_0x21af1f(0xde))/0x3+parseInt(_0x21af1f(0xd7))/0x4+-parseInt(_0x21af1f(0xdb))/0x5*(parseInt(_0x21af1f(0xdc))/0x6)+-parseInt(_0x21af1f(0xdd))/0x7+parseInt(_0x21af1f(0xd5))/0x8+-parseInt(_0x21af1f(0xea))/0x9;if(_0x42e91f===_0x5d6b5c)break;else _0x13b712['push'](_0x13b712['shift']());}catch(_0x4ec205){_0x13b712['push'](_0x13b712['shift']());}}}(a120_0x3b7d,0xa3298));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a120_0x3b7d(){const _0x4e296c=['skipped','log','10970397MRolQZ','apiError','186265VZGJGe','info','write','Installing\x20official\x20skill\x20via\x20npx\x20(','nonInteractive','install','10188360TVyjjz','2ipRMow','4511080Pojdke','cwd','skill','Install\x20developer\x20skill\x20package','15QrXUqK','311214sirmoh','1648556wARovY','927660TznjMT','lovrabet/rabetbase','npx\x20skills\x20add\x20failed:\x20','setLogPath','Check\x20network\x20connectivity\x20and\x20try\x20again.','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','unknown','skill-install','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','\x20skill\x20installed'];a120_0x3b7d=function(){return _0x4e296c;};return a120_0x3b7d();}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a120_0x57cd38(0xd9),'command':a120_0x57cd38(0xd4),'description':a120_0x57cd38(0xda),'risk':a120_0x57cd38(0xee),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4d24ef){const _0x2638e4=a120_0x57cd38;logger[_0x2638e4(0xe1)](process[_0x2638e4(0xd8)]()),logger[_0x2638e4(0xed)](_0x2638e4(0xe5),_0x2638e4(0xe6));const {runNpxSkillsAddGlobal:_0x5e1aea}=await import('../../skills/npx-skills-add.js'),_0x238765=_0x4d24ef[_0x2638e4(0xd3)]?'pipe':'inherit';console[_0x2638e4(0xe9)](_0x2638e4(0xd2)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x454687=_0x5e1aea(process[_0x2638e4(0xd8)](),_0x2638e4(0xdf),{'stdio':_0x238765});if(_0x454687[_0x2638e4(0xe8)])console[_0x2638e4(0xe9)](_0x2638e4(0xe3));else{if(_0x454687['ok'])console[_0x2638e4(0xe9)](CLI_BIN_NAME+_0x2638e4(0xe7));else throw CliErrors[_0x2638e4(0xeb)](_0x2638e4(0xe0)+(_0x454687['error']||_0x2638e4(0xe4)),_0x2638e4(0xe2));}return{'ok':!![]};}}];
1
+ const a120_0x4413c6=a120_0x3f3c;(function(_0x7d0033,_0x36bb54){const _0x31ea0b=a120_0x3f3c,_0x3600a7=_0x7d0033();while(!![]){try{const _0x2183f4=-parseInt(_0x31ea0b(0x114))/0x1+parseInt(_0x31ea0b(0x104))/0x2*(-parseInt(_0x31ea0b(0x107))/0x3)+parseInt(_0x31ea0b(0x105))/0x4*(parseInt(_0x31ea0b(0x10a))/0x5)+-parseInt(_0x31ea0b(0x119))/0x6*(-parseInt(_0x31ea0b(0x118))/0x7)+-parseInt(_0x31ea0b(0x10e))/0x8+parseInt(_0x31ea0b(0x100))/0x9*(-parseInt(_0x31ea0b(0x101))/0xa)+-parseInt(_0x31ea0b(0x117))/0xb*(-parseInt(_0x31ea0b(0x10d))/0xc);if(_0x2183f4===_0x36bb54)break;else _0x3600a7['push'](_0x3600a7['shift']());}catch(_0x5f25e4){_0x3600a7['push'](_0x3600a7['shift']());}}}(a120_0x4a4c,0x68223));import{CliErrors}from'../../errors.js';function a120_0x4a4c(){const _0x3c8302=['Check\x20network\x20connectivity\x20and\x20try\x20again.','cwd','522CoPuKc','590764ypjUIo','write','609ZWEzNZ','skill-install','error','10OHAowD',')...','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','12dDZSvy','6362168LQOxwB','npx\x20skills\x20add\x20failed:\x20','apiError','log','setLogPath','install','578333gaItEv','inherit','unknown','21004379ifXlGh','2586829hIKJvp','6cWCXAn','lovrabet/rabetbase','nonInteractive','Install\x20developer\x20skill\x20package','6491700lHrfyE','10xtPxuD'];a120_0x4a4c=function(){return _0x3c8302;};return a120_0x4a4c();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';function a120_0x3f3c(_0xbddf3f,_0x40376f){_0xbddf3f=_0xbddf3f-0x100;const _0x4a4ccc=a120_0x4a4c();let _0x3f3c86=_0x4a4ccc[_0xbddf3f];return _0x3f3c86;}export const skillDefinitions=[{'service':'skill','command':a120_0x4413c6(0x113),'description':a120_0x4413c6(0x11c),'risk':a120_0x4413c6(0x106),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x382b2a){const _0x270e28=a120_0x4413c6;logger[_0x270e28(0x112)](process[_0x270e28(0x103)]()),logger['info'](_0x270e28(0x108),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x3a6429}=await import('../../skills/npx-skills-add.js'),_0x568c2a=_0x382b2a[_0x270e28(0x11b)]?'pipe':_0x270e28(0x115);console[_0x270e28(0x111)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x270e28(0x10b));const _0x48503d=_0x3a6429(process[_0x270e28(0x103)](),_0x270e28(0x11a),{'stdio':_0x568c2a});if(_0x48503d['skipped'])console[_0x270e28(0x111)](_0x270e28(0x10c));else{if(_0x48503d['ok'])console[_0x270e28(0x111)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x270e28(0x110)](_0x270e28(0x10f)+(_0x48503d[_0x270e28(0x109)]||_0x270e28(0x116)),_0x270e28(0x102));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a121_0x574df9=a121_0x4c4d;(function(_0x44f5f2,_0x5e3712){const _0x74f01f=a121_0x4c4d,_0x875ad=_0x44f5f2();while(!![]){try{const _0x2a91ae=parseInt(_0x74f01f(0x203))/0x1*(-parseInt(_0x74f01f(0x1f1))/0x2)+parseInt(_0x74f01f(0x1fa))/0x3+-parseInt(_0x74f01f(0x206))/0x4*(-parseInt(_0x74f01f(0x22b))/0x5)+parseInt(_0x74f01f(0x1f0))/0x6+-parseInt(_0x74f01f(0x20e))/0x7*(-parseInt(_0x74f01f(0x216))/0x8)+-parseInt(_0x74f01f(0x228))/0x9+-parseInt(_0x74f01f(0x1ec))/0xa;if(_0x2a91ae===_0x5e3712)break;else _0x875ad['push'](_0x875ad['shift']());}catch(_0x66cc40){_0x875ad['push'](_0x875ad['shift']());}}}(a121_0xd4f3,0x7ca88));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2bb077){const _0x583cc2=a121_0x4c4d;if(_0x2bb077==='mybatisXml')return[_0x583cc2(0x1ee),_0x583cc2(0x210),_0x583cc2(0x220),''][_0x583cc2(0x226)]('\x0a');return[_0x583cc2(0x1f4),''][_0x583cc2(0x226)]('\x0a');}export const sqlCreate={'service':'sql','command':a121_0x574df9(0x214),'description':a121_0x574df9(0x1f5),'risk':a121_0x574df9(0x1f3),'flags':[{'name':a121_0x574df9(0x200),'type':'string','description':a121_0x574df9(0x217)},{'name':a121_0x574df9(0x1ea),'type':a121_0x574df9(0x211),'description':a121_0x574df9(0x21b)},{'name':a121_0x574df9(0x1fc),'type':a121_0x574df9(0x218),'enum':['sql',a121_0x574df9(0x1f9)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x260bb3){const _0x396cd1=a121_0x574df9;if(!_0x260bb3[_0x396cd1(0x1eb)])return;if(!_0x260bb3[_0x396cd1(0x224)]('name')[_0x396cd1(0x1e8)]())throw CliErrors[_0x396cd1(0x21c)](_0x396cd1(0x200),_0x396cd1(0x20f));const _0x450fc5=resolveProvidedDbId(_0x260bb3);if(typeof _0x450fc5!==_0x396cd1(0x211)||!Number[_0x396cd1(0x20a)](_0x450fc5)||_0x450fc5<=0x0)throw CliErrors[_0x396cd1(0x21c)](_0x396cd1(0x1ea),_0x396cd1(0x21d));if(!_0x260bb3[_0x396cd1(0x224)](_0x396cd1(0x1fc))['trim']())throw CliErrors[_0x396cd1(0x21c)](_0x396cd1(0x1fc),_0x396cd1(0x21a));},async 'dryRun'(_0x453b3d){const _0x28c94f=a121_0x574df9,_0x131553=loadSqlProjectConfig(_0x453b3d['appCode']),{sqlName:_0x1db35e,dbId:_0x5096f8,dbName:_0x47e01a,mode:_0x1de5b0}=await resolveSqlNewInputs(_0x453b3d),_0x596fc3=buildSqlRelativePath(_0x28c94f(0x1fb),_0x1db35e,_0x47e01a,_0x1de5b0,_0x5096f8),_0x61ebc2=_0x131553[_0x28c94f(0x20c)]+'/'+_0x596fc3;return{'method':'POST','url':_0x28c94f(0x204),'body':{'appCode':_0x453b3d['appCode'],'sqlName':_0x1db35e,'dbId':_0x5096f8,'mode':_0x1de5b0,'localPath':_0x61ebc2},'description':_0x28c94f(0x1f8)+_0x131553['sqlRootDir']};},async 'execute'(_0x3df61e){const _0x230fa9=a121_0x574df9,_0x5dc875=loadSqlProjectConfig(_0x3df61e['appCode']),{sqlName:_0x142008,dbId:_0x5b45fc,dbName:_0x55b2ec,mode:_0x28eb0b}=await resolveSqlNewInputs(_0x3df61e),_0x412d18=generateSqlTemplate(_0x28eb0b),_0x344c76=await createSqlQuery({'appCode':_0x3df61e[_0x230fa9(0x1f2)],'sqlName':_0x142008,'dbId':_0x5b45fc,'sqlContent':_0x412d18}),_0x4b93da=ensureRemoteSqlContent(_0x344c76),_0x4cb8c4=_0x55b2ec||await getDbName(_0x3df61e[_0x230fa9(0x1f2)],_0x5b45fc)[_0x230fa9(0x20d)](()=>undefined),_0x1d4e8c=buildSqlRelativePath(_0x344c76[_0x230fa9(0x219)],_0x344c76[_0x230fa9(0x213)],_0x4cb8c4,_0x28eb0b,_0x5b45fc),_0x38a3a5=_0x5dc875['sqlRootDir']+'/'+_0x1d4e8c,_0x17a8fe=buildLocalSqlFileContent({'sqlCode':_0x344c76[_0x230fa9(0x219)],'sqlName':_0x344c76[_0x230fa9(0x213)],'dbId':_0x344c76[_0x230fa9(0x1e7)]},_0x4b93da,{'dbName':_0x4cb8c4,'mode':_0x28eb0b,'syncedAt':new Date()[_0x230fa9(0x205)](),'description':_0x344c76['description']});if(await fileExists(_0x38a3a5))throw CliErrors[_0x230fa9(0x222)](_0x230fa9(0x21e)+_0x38a3a5);await ensureParentDirectory(_0x38a3a5),await writeFile(_0x38a3a5,_0x17a8fe,_0x230fa9(0x1f7));const _0x247a8d=await readSqlLockFile(_0x5dc875[_0x230fa9(0x225)]),{lockData:_0x850e58,appLock:_0x516535}=ensureSqlLockScope(_0x247a8d??createEmptySqlLock(),_0x5dc875[_0x230fa9(0x1f2)],_0x5dc875[_0x230fa9(0x1ef)],_0x230fa9(0x229));return _0x516535['sqls'][_0x344c76[_0x230fa9(0x219)]]={...buildSqlLockEntry(_0x344c76,_0x4b93da,computeSqlContentHash(_0x17a8fe),{'dbName':_0x4cb8c4}),'path':_0x1d4e8c,'mode':_0x28eb0b},_0x516535[_0x230fa9(0x202)]=new Date()[_0x230fa9(0x205)](),await writeSqlLockFile(_0x5dc875[_0x230fa9(0x225)],_0x850e58),{'ok':!![],'data':{'id':_0x344c76['id'],'sqlCode':_0x344c76[_0x230fa9(0x219)],'sqlName':_0x344c76['sqlName'],'dbId':_0x344c76[_0x230fa9(0x1e7)],'path':_0x38a3a5,'mode':_0x28eb0b},'message':_0x230fa9(0x1ff)+_0x344c76[_0x230fa9(0x219)]};}};function a121_0xd4f3(){const _0x505060=['sql','str','lockFilePath','join','map','8059959awDiol','new','dbName','15rtTxXQ','dbId','trim','isInteger','db-id','nonInteractive','14757650xNVdKI','dbId\x20必须为正整数','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','sqlRoot','4555032jiZitM','482PxQRCt','appCode','high-risk-write','SELECT\x201\x20AS\x20id;','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Invalid\x20database\x20selection\x20payload:\x20','utf8','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','mybatisXml','2477925fHSkRe','<server-generated-sqlCode>','mode','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','普通\x20SQL(sql)','Created\x20SQL\x20query\x20','name','length','lastSync','625xWbSoE','/smartapi/custom/saveUserCustomSql','toISOString','800692UyREgg','flag','stringify','请选择目标数据库:','isFinite','请选择本地\x20SQL\x20模式:','sqlRootDir','catch','4375ekFAFe','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','\x20\x20SELECT\x201\x20AS\x20id','number','parse','sqlName','create','MyBatis\x20XML(mybatisXml)','10840RpMhKS','SQL\x20query\x20display\x20name','string','sqlCode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Target\x20database\x20ID','flagMissing','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','File\x20already\x20exists:\x20','请输入\x20SQL\x20名称:','</select>','__manual__','validation'];a121_0xd4f3=function(){return _0x505060;};return a121_0xd4f3();}async function resolveSqlNewInputs(_0x1998c7){const _0x3900d2=await resolveSqlNameInput(_0x1998c7),{dbId:_0xf7553a,dbName:_0x3a3747}=await resolveDbSelection(_0x1998c7),_0x24eec7=await resolveSqlModeInput(_0x1998c7);return{'sqlName':_0x3900d2,'dbId':_0xf7553a,'dbName':_0x3a3747,'mode':_0x24eec7};}async function resolveSqlNameInput(_0x4fbbdf){const _0x1b78fe=a121_0x574df9,_0x2b2120=_0x4fbbdf['str'](_0x1b78fe(0x200))['trim']();if(_0x2b2120)return _0x2b2120;if(_0x4fbbdf[_0x1b78fe(0x1eb)])throw CliErrors[_0x1b78fe(0x21c)](_0x1b78fe(0x200),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x1b78fe(0x21f),'validate':_0x3e1f78=>_0x3e1f78[_0x1b78fe(0x1e8)]()?!![]:'SQL\x20名称不能为空'}))[_0x1b78fe(0x1e8)]();}async function resolveDbSelection(_0x35e0c7){const _0x32fff1=a121_0x574df9,_0x388151=resolveProvidedDbId(_0x35e0c7);if(typeof _0x388151===_0x32fff1(0x211)&&Number['isFinite'](_0x388151)&&_0x388151>0x0)return{'dbId':_0x388151,'dbName':await getDbName(_0x35e0c7[_0x32fff1(0x1f2)],_0x388151)[_0x32fff1(0x20d)](()=>undefined)};if(_0x35e0c7['nonInteractive'])throw CliErrors['flagMissing'](_0x32fff1(0x1ea),_0x32fff1(0x21d));const _0x4423cc=await listDatabases(_0x35e0c7[_0x32fff1(0x1f2)])[_0x32fff1(0x20d)](()=>[]);if(_0x4423cc[_0x32fff1(0x201)]===0x1)return{'dbId':_0x4423cc[0x0][_0x32fff1(0x1e7)],'dbName':_0x4423cc[0x0]['dbName']};if(_0x4423cc['length']>0x1){const _0x5f050e=await select({'message':_0x32fff1(0x209),'choices':[..._0x4423cc[_0x32fff1(0x227)](_0x7c665f=>({'name':_0x7c665f[_0x32fff1(0x22a)]+'\x20('+_0x7c665f[_0x32fff1(0x1e7)]+')','value':serializeDbSelection(_0x7c665f)})),{'name':'✎\x20手动输入\x20dbId','value':_0x32fff1(0x221)}]});if(_0x5f050e!=='__manual__')return deserializeDbSelection(_0x5f050e);}const _0x1d3a23=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x5473e1=>{const _0x43db67=_0x32fff1,_0x338a44=_0x5473e1['trim']();if(!_0x338a44)return'dbId\x20不能为空';const _0x32863c=Number(_0x338a44);if(!Number[_0x43db67(0x1e9)](_0x32863c)||_0x32863c<=0x0)return _0x43db67(0x1ed);return!![];}});return{'dbId':Number(_0x1d3a23[_0x32fff1(0x1e8)]())};}async function resolveSqlModeInput(_0x15e949){const _0x350b3f=a121_0x574df9,_0x2f5a4f=_0x15e949[_0x350b3f(0x224)](_0x350b3f(0x1fc))['trim']();if(_0x2f5a4f===_0x350b3f(0x223)||_0x2f5a4f===_0x350b3f(0x1f9))return _0x2f5a4f;if(_0x15e949[_0x350b3f(0x1eb)])throw CliErrors[_0x350b3f(0x21c)](_0x350b3f(0x1fc),_0x350b3f(0x21a));return await select({'message':_0x350b3f(0x20b),'choices':[{'name':_0x350b3f(0x1fe),'value':_0x350b3f(0x223),'description':_0x350b3f(0x1fd)},{'name':_0x350b3f(0x215),'value':_0x350b3f(0x1f9),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function a121_0x4c4d(_0x32da65,_0x5bf592){_0x32da65=_0x32da65-0x1e7;const _0xd4f3f2=a121_0xd4f3();let _0x4c4deb=_0xd4f3f2[_0x32da65];return _0x4c4deb;}function serializeDbSelection(_0x53d0be){const _0x3e3bbe=a121_0x574df9;return JSON[_0x3e3bbe(0x208)]({'dbId':_0x53d0be[_0x3e3bbe(0x1e7)],'dbName':_0x53d0be[_0x3e3bbe(0x22a)]});}function deserializeDbSelection(_0xcb6955){const _0x2ce8ca=a121_0x574df9;try{const _0x1f4984=JSON[_0x2ce8ca(0x212)](_0xcb6955);if(typeof _0x1f4984[_0x2ce8ca(0x1e7)]===_0x2ce8ca(0x211)&&Number['isFinite'](_0x1f4984['dbId']))return{'dbId':_0x1f4984[_0x2ce8ca(0x1e7)],'dbName':_0x1f4984[_0x2ce8ca(0x22a)]};}catch{}throw CliErrors[_0x2ce8ca(0x222)](_0x2ce8ca(0x1f6)+_0xcb6955);}function resolveProvidedDbId(_0x46bd93){const _0xaa2654=a121_0x574df9,_0x5b2016=_0x46bd93[_0xaa2654(0x207)](_0xaa2654(0x1ea));if(typeof _0x5b2016===_0xaa2654(0x211)&&Number[_0xaa2654(0x20a)](_0x5b2016))return _0x5b2016;return undefined;}
1
+ const a121_0x2aa050=a121_0x1aec;(function(_0x3dc826,_0x1b5e85){const _0x64c523=a121_0x1aec,_0x1e60cd=_0x3dc826();while(!![]){try{const _0x5a4d34=parseInt(_0x64c523(0xd7))/0x1+-parseInt(_0x64c523(0xdc))/0x2*(parseInt(_0x64c523(0xdb))/0x3)+-parseInt(_0x64c523(0xe4))/0x4*(-parseInt(_0x64c523(0xec))/0x5)+-parseInt(_0x64c523(0xb6))/0x6*(parseInt(_0x64c523(0xbf))/0x7)+parseInt(_0x64c523(0xbb))/0x8*(parseInt(_0x64c523(0xc6))/0x9)+parseInt(_0x64c523(0xd3))/0xa+-parseInt(_0x64c523(0xd0))/0xb;if(_0x5a4d34===_0x1b5e85)break;else _0x1e60cd['push'](_0x1e60cd['shift']());}catch(_0x24200c){_0x1e60cd['push'](_0x1e60cd['shift']());}}}(a121_0x95c0,0x63b8a));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';function a121_0x95c0(){const _0x2f41ea=['flag','isFinite','1099773phkYuT','2JEnzYr','Target\x20database\x20ID','普通\x20SQL(sql)','dbName','string','</select>','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','4WDUlHi','请输入目标数据库\x20dbId:','File\x20already\x20exists:\x20','mode','<server-generated-sqlCode>','sqlCode','sqlRootDir','db-id','1946485uqBeek','sqls','toISOString','Invalid\x20database\x20selection\x20payload:\x20','name','✎\x20手动输入\x20dbId','validation','SQL\x20名称不能为空','flagMissing','join','dbId\x20必须为正整数','Local\x20SQL\x20file\x20mode','sqlRoot','dbId\x20不能为空','12bNcuDN','__manual__','stringify','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','description','4488600AEFhMv','Created\x20SQL\x20query\x20','create','length','58891LrScNp','mybatisXml','str','sqlName','appCode','catch','new','9YyiYkN','number','dbId','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','map','/smartapi/custom/saveUserCustomSql','nonInteractive','utf8','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','high-risk-write','8257733IBEEWj','\x20\x20SELECT\x201\x20AS\x20id','lockFilePath','5877710aUzlmc','trim','SELECT\x201\x20AS\x20id;','sql','4435oJQJrW','SQL\x20query\x20display\x20name'];a121_0x95c0=function(){return _0x2f41ea;};return a121_0x95c0();}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(_0x9223b){const _0x48f5fc=a121_0x1aec;if(_0x9223b===_0x48f5fc(0xc0))return[_0x48f5fc(0xce),_0x48f5fc(0xd1),_0x48f5fc(0xe1),'']['join']('\x0a');return[_0x48f5fc(0xd5),''][_0x48f5fc(0xb1)]('\x0a');}export const sqlCreate={'service':'sql','command':a121_0x2aa050(0xbd),'description':a121_0x2aa050(0xb9),'risk':a121_0x2aa050(0xcf),'flags':[{'name':'name','type':a121_0x2aa050(0xe0),'description':a121_0x2aa050(0xd8)},{'name':'db-id','type':a121_0x2aa050(0xc7),'description':a121_0x2aa050(0xdd)},{'name':a121_0x2aa050(0xe7),'type':a121_0x2aa050(0xe0),'enum':['sql',a121_0x2aa050(0xc0)],'description':a121_0x2aa050(0xb3)}],async 'validate'(_0x28c19f){const _0x3a7dfa=a121_0x2aa050;if(!_0x28c19f[_0x3a7dfa(0xcc)])return;if(!_0x28c19f[_0x3a7dfa(0xc1)](_0x3a7dfa(0xf0))['trim']())throw CliErrors['flagMissing'](_0x3a7dfa(0xf0),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x1f503c=resolveProvidedDbId(_0x28c19f);if(typeof _0x1f503c!==_0x3a7dfa(0xc7)||!Number[_0x3a7dfa(0xda)](_0x1f503c)||_0x1f503c<=0x0)throw CliErrors['flagMissing'](_0x3a7dfa(0xeb),_0x3a7dfa(0xe2));if(!_0x28c19f[_0x3a7dfa(0xc1)](_0x3a7dfa(0xe7))[_0x3a7dfa(0xd4)]())throw CliErrors[_0x3a7dfa(0xb0)]('mode',_0x3a7dfa(0xc9));},async 'dryRun'(_0x2372c4){const _0x4cdcaa=a121_0x2aa050,_0x5da64f=loadSqlProjectConfig(_0x2372c4[_0x4cdcaa(0xc3)]),{sqlName:_0x528fb3,dbId:_0x517ea6,dbName:_0x555920,mode:_0x348454}=await resolveSqlNewInputs(_0x2372c4),_0x5ad341=buildSqlRelativePath(_0x4cdcaa(0xe8),_0x528fb3,_0x555920,_0x348454,_0x517ea6),_0x1148fe=_0x5da64f[_0x4cdcaa(0xea)]+'/'+_0x5ad341;return{'method':'POST','url':_0x4cdcaa(0xcb),'body':{'appCode':_0x2372c4[_0x4cdcaa(0xc3)],'sqlName':_0x528fb3,'dbId':_0x517ea6,'mode':_0x348454,'localPath':_0x1148fe},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x5da64f['sqlRootDir']};},async 'execute'(_0x593d46){const _0x392fb6=a121_0x2aa050,_0x3bbdae=loadSqlProjectConfig(_0x593d46[_0x392fb6(0xc3)]),{sqlName:_0xf2161c,dbId:_0x10abe5,dbName:_0x7b78c3,mode:_0x87e89d}=await resolveSqlNewInputs(_0x593d46),_0x550851=generateSqlTemplate(_0x87e89d),_0x104a1c=await createSqlQuery({'appCode':_0x593d46['appCode'],'sqlName':_0xf2161c,'dbId':_0x10abe5,'sqlContent':_0x550851}),_0xcd5959=ensureRemoteSqlContent(_0x104a1c),_0x3c5582=_0x7b78c3||await getDbName(_0x593d46['appCode'],_0x10abe5)[_0x392fb6(0xc4)](()=>undefined),_0x443cef=buildSqlRelativePath(_0x104a1c[_0x392fb6(0xe9)],_0x104a1c['sqlName'],_0x3c5582,_0x87e89d,_0x10abe5),_0x1450a1=_0x3bbdae[_0x392fb6(0xea)]+'/'+_0x443cef,_0x54acef=buildLocalSqlFileContent({'sqlCode':_0x104a1c[_0x392fb6(0xe9)],'sqlName':_0x104a1c[_0x392fb6(0xc2)],'dbId':_0x104a1c[_0x392fb6(0xc8)]},_0xcd5959,{'dbName':_0x3c5582,'mode':_0x87e89d,'syncedAt':new Date()[_0x392fb6(0xee)](),'description':_0x104a1c[_0x392fb6(0xba)]});if(await fileExists(_0x1450a1))throw CliErrors['validation'](_0x392fb6(0xe6)+_0x1450a1);await ensureParentDirectory(_0x1450a1),await writeFile(_0x1450a1,_0x54acef,_0x392fb6(0xcd));const _0x3d8985=await readSqlLockFile(_0x3bbdae[_0x392fb6(0xd2)]),{lockData:_0x1e3525,appLock:_0xaa74dd}=ensureSqlLockScope(_0x3d8985??createEmptySqlLock(),_0x3bbdae[_0x392fb6(0xc3)],_0x3bbdae[_0x392fb6(0xb4)],_0x392fb6(0xc5));return _0xaa74dd[_0x392fb6(0xed)][_0x104a1c[_0x392fb6(0xe9)]]={...buildSqlLockEntry(_0x104a1c,_0xcd5959,computeSqlContentHash(_0x54acef),{'dbName':_0x3c5582}),'path':_0x443cef,'mode':_0x87e89d},_0xaa74dd['lastSync']=new Date()[_0x392fb6(0xee)](),await writeSqlLockFile(_0x3bbdae[_0x392fb6(0xd2)],_0x1e3525),{'ok':!![],'data':{'id':_0x104a1c['id'],'sqlCode':_0x104a1c[_0x392fb6(0xe9)],'sqlName':_0x104a1c[_0x392fb6(0xc2)],'dbId':_0x104a1c[_0x392fb6(0xc8)],'path':_0x1450a1,'mode':_0x87e89d},'message':_0x392fb6(0xbc)+_0x104a1c[_0x392fb6(0xe9)]};}};async function resolveSqlNewInputs(_0x1fd0ae){const _0x4d92cc=await resolveSqlNameInput(_0x1fd0ae),{dbId:_0x532b2b,dbName:_0x4cdf31}=await resolveDbSelection(_0x1fd0ae),_0xbb689e=await resolveSqlModeInput(_0x1fd0ae);return{'sqlName':_0x4d92cc,'dbId':_0x532b2b,'dbName':_0x4cdf31,'mode':_0xbb689e};}async function resolveSqlNameInput(_0x26f49e){const _0x4d4ec6=a121_0x2aa050,_0x45ae38=_0x26f49e['str']('name')[_0x4d4ec6(0xd4)]();if(_0x45ae38)return _0x45ae38;if(_0x26f49e[_0x4d4ec6(0xcc)])throw CliErrors[_0x4d4ec6(0xb0)](_0x4d4ec6(0xf0),_0x4d4ec6(0xe3));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x27006e=>_0x27006e[_0x4d4ec6(0xd4)]()?!![]:_0x4d4ec6(0xaf)}))[_0x4d4ec6(0xd4)]();}async function resolveDbSelection(_0x38ca3b){const _0x3332f8=a121_0x2aa050,_0x27b98b=resolveProvidedDbId(_0x38ca3b);if(typeof _0x27b98b===_0x3332f8(0xc7)&&Number[_0x3332f8(0xda)](_0x27b98b)&&_0x27b98b>0x0)return{'dbId':_0x27b98b,'dbName':await getDbName(_0x38ca3b[_0x3332f8(0xc3)],_0x27b98b)[_0x3332f8(0xc4)](()=>undefined)};if(_0x38ca3b[_0x3332f8(0xcc)])throw CliErrors[_0x3332f8(0xb0)]('db-id',_0x3332f8(0xe2));const _0xb938e6=await listDatabases(_0x38ca3b[_0x3332f8(0xc3)])[_0x3332f8(0xc4)](()=>[]);if(_0xb938e6['length']===0x1)return{'dbId':_0xb938e6[0x0][_0x3332f8(0xc8)],'dbName':_0xb938e6[0x0][_0x3332f8(0xdf)]};if(_0xb938e6[_0x3332f8(0xbe)]>0x1){const _0x309ae8=await select({'message':'请选择目标数据库:','choices':[..._0xb938e6[_0x3332f8(0xca)](_0x16823a=>({'name':_0x16823a['dbName']+'\x20('+_0x16823a[_0x3332f8(0xc8)]+')','value':serializeDbSelection(_0x16823a)})),{'name':_0x3332f8(0xad),'value':_0x3332f8(0xb7)}]});if(_0x309ae8!==_0x3332f8(0xb7))return deserializeDbSelection(_0x309ae8);}const _0x47a7d6=await input({'message':_0x3332f8(0xe5),'validate':_0x563fa1=>{const _0xfedd06=_0x3332f8,_0xcf398a=_0x563fa1[_0xfedd06(0xd4)]();if(!_0xcf398a)return _0xfedd06(0xb5);const _0x52e9e5=Number(_0xcf398a);if(!Number['isInteger'](_0x52e9e5)||_0x52e9e5<=0x0)return _0xfedd06(0xb2);return!![];}});return{'dbId':Number(_0x47a7d6['trim']())};}async function resolveSqlModeInput(_0x2442a1){const _0x256b1d=a121_0x2aa050,_0x3efa78=_0x2442a1[_0x256b1d(0xc1)](_0x256b1d(0xe7))[_0x256b1d(0xd4)]();if(_0x3efa78===_0x256b1d(0xd6)||_0x3efa78===_0x256b1d(0xc0))return _0x3efa78;if(_0x2442a1['nonInteractive'])throw CliErrors[_0x256b1d(0xb0)](_0x256b1d(0xe7),_0x256b1d(0xc9));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x256b1d(0xde),'value':_0x256b1d(0xd6),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x3c5cbb){const _0x5df819=a121_0x2aa050;return JSON[_0x5df819(0xb8)]({'dbId':_0x3c5cbb[_0x5df819(0xc8)],'dbName':_0x3c5cbb[_0x5df819(0xdf)]});}function a121_0x1aec(_0x8e210,_0x1a0780){_0x8e210=_0x8e210-0xad;const _0x95c0ca=a121_0x95c0();let _0x1aec47=_0x95c0ca[_0x8e210];return _0x1aec47;}function deserializeDbSelection(_0x40a952){const _0x46eb6c=a121_0x2aa050;try{const _0xedda84=JSON['parse'](_0x40a952);if(typeof _0xedda84[_0x46eb6c(0xc8)]===_0x46eb6c(0xc7)&&Number[_0x46eb6c(0xda)](_0xedda84[_0x46eb6c(0xc8)]))return{'dbId':_0xedda84['dbId'],'dbName':_0xedda84[_0x46eb6c(0xdf)]};}catch{}throw CliErrors[_0x46eb6c(0xae)](_0x46eb6c(0xef)+_0x40a952);}function resolveProvidedDbId(_0x3155c0){const _0x2dbdfc=a121_0x2aa050,_0x476765=_0x3155c0[_0x2dbdfc(0xd9)](_0x2dbdfc(0xeb));if(typeof _0x476765===_0x2dbdfc(0xc7)&&Number[_0x2dbdfc(0xda)](_0x476765))return _0x476765;return undefined;}
@@ -1 +1 @@
1
- const a122_0x3c2e99=a122_0x3709;(function(_0x25de21,_0x11f3a7){const _0x1515d7=a122_0x3709,_0x38508b=_0x25de21();while(!![]){try{const _0x128eb8=parseInt(_0x1515d7(0x1c6))/0x1*(-parseInt(_0x1515d7(0x1de))/0x2)+-parseInt(_0x1515d7(0x1e1))/0x3*(parseInt(_0x1515d7(0x1d9))/0x4)+-parseInt(_0x1515d7(0x1cc))/0x5*(parseInt(_0x1515d7(0x1d7))/0x6)+-parseInt(_0x1515d7(0x1cd))/0x7+-parseInt(_0x1515d7(0x1d2))/0x8*(-parseInt(_0x1515d7(0x1ce))/0x9)+parseInt(_0x1515d7(0x1d1))/0xa*(-parseInt(_0x1515d7(0x1da))/0xb)+parseInt(_0x1515d7(0x1bf))/0xc*(parseInt(_0x1515d7(0x1dd))/0xd);if(_0x128eb8===_0x11f3a7)break;else _0x38508b['push'](_0x38508b['shift']());}catch(_0x1d3269){_0x38508b['push'](_0x38508b['shift']());}}}(a122_0x409a,0xb68c6));function a122_0x409a(){const _0xd06144=['638zuNEtZ','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','high-risk-write','13RJMcQB','1660XBcLGd','Deleted\x20','lastSync','868431CpxMMd','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','projectRoot','filter','\x20(local\x20file\x20moved\x20to\x20trash)','/smartapi/custom/deleteUserCustomSql','40186860IJusur','trashDir','startsWith','sql','appCode','sqlcode','sqlRootDir','521Mlddgs','fromEntries','SQL\x20lock\x20file\x20not\x20found.','replace','validation','remoteId','2855Nzwryb','3649331WtHivZ','936DWKVjb','sqlRoot','sqls','84020hxPYpm','8trlIBX','delete','toISOString','lockFilePath','str','3066LKNifp','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','12pRFirn'];a122_0x409a=function(){return _0xd06144;};return a122_0x409a();}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 a122_0x3709(_0xd59bab,_0x5b7ec1){_0xd59bab=_0xd59bab-0x1be;const _0x409ad8=a122_0x409a();let _0x3709e8=_0x409ad8[_0xd59bab];return _0x3709e8;}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a122_0x3c2e99(0x1c2),'command':a122_0x3c2e99(0x1d3),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a122_0x3c2e99(0x1dc),'flags':[SQLCODE_FLAG],async 'validate'(_0x40a74b){const _0x3ec3f0=a122_0x3c2e99,_0x78afeb=loadSqlProjectConfig(_0x40a74b[_0x3ec3f0(0x1c3)]),_0x46a8de=await readSqlLockFile(_0x78afeb[_0x3ec3f0(0x1d5)]);if(!_0x46a8de)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x4ac4ba){const _0x565beb=a122_0x3c2e99,_0x589c89=loadSqlProjectConfig(_0x4ac4ba[_0x565beb(0x1c3)]),_0x356c9f=await readSqlLockFile(_0x589c89[_0x565beb(0x1d5)]);if(!_0x356c9f)throw CliErrors[_0x565beb(0x1ca)](_0x565beb(0x1db));const {appLock:_0x670fc9}=ensureSqlLockScope(_0x356c9f,_0x4ac4ba['appCode'],_0x589c89['sqlRoot'],_0x565beb(0x1d3)),_0x4a99e7=_0x4ac4ba[_0x565beb(0x1d6)]('sqlcode'),_0x37c54d=_0x670fc9['sqls'][_0x4a99e7];if(!_0x37c54d)throw CliErrors[_0x565beb(0x1ca)](_0x565beb(0x1d8)+_0x4a99e7+'\x22.');return{'method':'POST','url':_0x565beb(0x1be),'body':{'sqlCode':_0x4a99e7,'id':_0x37c54d[_0x565beb(0x1cb)],'localPath':resolveLocalSqlFilePath(_0x589c89,_0x4a99e7,_0x37c54d)},'description':'Would\x20delete\x20SQL\x20'+_0x4a99e7+_0x565beb(0x1e2)+_0x589c89[_0x565beb(0x1c0)]};},async 'execute'(_0x489431){const _0x4a58fd=a122_0x3c2e99,_0x490cd8=loadSqlProjectConfig(_0x489431[_0x4a58fd(0x1c3)]),_0x47466f=await readSqlLockFile(_0x490cd8[_0x4a58fd(0x1d5)]);if(!_0x47466f)throw CliErrors['validation'](_0x4a58fd(0x1c8));const {lockData:_0x482971,appLock:_0x192fc9}=ensureSqlLockScope(_0x47466f,_0x489431[_0x4a58fd(0x1c3)],_0x490cd8[_0x4a58fd(0x1cf)],_0x4a58fd(0x1d3)),_0x57e474=_0x489431[_0x4a58fd(0x1d6)](_0x4a58fd(0x1c4)),_0x231be5=_0x192fc9[_0x4a58fd(0x1d0)][_0x57e474];if(!_0x231be5)throw CliErrors[_0x4a58fd(0x1ca)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x57e474+'\x22.');await deleteSqlQuery({'id':_0x231be5[_0x4a58fd(0x1cb)],'sqlCode':_0x57e474}),_0x192fc9[_0x4a58fd(0x1d0)]=Object[_0x4a58fd(0x1c7)](Object['entries'](_0x192fc9[_0x4a58fd(0x1d0)])[_0x4a58fd(0x1e4)](([_0x5a7118])=>_0x5a7118!==_0x57e474)),_0x192fc9[_0x4a58fd(0x1e0)]=new Date()[_0x4a58fd(0x1d4)](),await writeSqlLockFile(_0x490cd8['lockFilePath'],_0x482971);const _0x586a04=resolveLocalSqlFilePath(_0x490cd8,_0x57e474,_0x231be5);let _0x443715;await fileExists(_0x586a04)&&(_0x443715=await moveToTrash(_0x490cd8[_0x4a58fd(0x1e3)],_0x490cd8['trashDir'],_0x586a04),await cleanupEmptyDirectories(dirname(_0x586a04),_0x490cd8[_0x4a58fd(0x1c5)]));const _0x4a1a1f={'deleted':_0x57e474,'remoteId':_0x231be5[_0x4a58fd(0x1cb)]};if(_0x443715)_0x4a1a1f['trashedTo']=_0x443715;return{'ok':!![],'data':_0x4a1a1f,'message':_0x4a58fd(0x1df)+_0x57e474+(_0x443715?_0x4a58fd(0x1e5):'')};}};async function moveToTrash(_0x213407,_0x3e948a,_0x2601a6){const _0x59993a=a122_0x3c2e99,_0x5eefc4=new Date()[_0x59993a(0x1d4)]()[_0x59993a(0x1c9)](/[:.]/g,'-'),_0x14866c=relative(_0x213407,_0x2601a6),_0x4cf9e4=join(_0x3e948a,_0x5eefc4,_0x14866c);return await mkdir(dirname(_0x4cf9e4),{'recursive':!![]}),await rename(_0x2601a6,_0x4cf9e4),_0x4cf9e4;}async function cleanupEmptyDirectories(_0x243ef1,_0x3e2db5){const _0x20c08b=a122_0x3c2e99;let _0x284e5a=resolve(_0x243ef1);const _0x101200=resolve(_0x3e2db5);while(_0x284e5a[_0x20c08b(0x1c1)](''+_0x101200+sep)||_0x284e5a===_0x101200){if(_0x284e5a===_0x101200)return;try{const _0x4b75fc=await readdir(_0x284e5a);if(_0x4b75fc['length']>0x0)return;await rmdir(_0x284e5a);}catch{return;}_0x284e5a=dirname(_0x284e5a);}}
1
+ const a122_0x163f15=a122_0x1af2;(function(_0x5f3da3,_0x56728f){const _0x2a2565=a122_0x1af2,_0x4d8af3=_0x5f3da3();while(!![]){try{const _0x389b24=parseInt(_0x2a2565(0x1a4))/0x1*(parseInt(_0x2a2565(0x1be))/0x2)+parseInt(_0x2a2565(0x1b8))/0x3+parseInt(_0x2a2565(0x1b6))/0x4*(parseInt(_0x2a2565(0x1a9))/0x5)+-parseInt(_0x2a2565(0x1c5))/0x6*(parseInt(_0x2a2565(0x1b3))/0x7)+parseInt(_0x2a2565(0x1ab))/0x8+parseInt(_0x2a2565(0x1b9))/0x9*(-parseInt(_0x2a2565(0x1a5))/0xa)+-parseInt(_0x2a2565(0x1c4))/0xb;if(_0x389b24===_0x56728f)break;else _0x4d8af3['push'](_0x4d8af3['shift']());}catch(_0x2b09fa){_0x4d8af3['push'](_0x4d8af3['shift']());}}}(a122_0x1f8c,0x268ce));function a122_0x1af2(_0x48deaa,_0x6f7d62){_0x48deaa=_0x48deaa-0x19e;const _0x1f8c49=a122_0x1f8c();let _0x1af2bb=_0x1f8c49[_0x48deaa];return _0x1af2bb;}function a122_0x1f8c(){const _0x1c16c8=['1654059cFgkKM','546yyUlvf','entries','trashedTo','appCode','validation','lastSync','/smartapi/custom/deleteUserCustomSql','toISOString','1fVoYxV','40vfslgO','Deleted\x20','sqls','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','144295QZEDzi','startsWith','853088uJkgTK','SQL\x20lock\x20file\x20not\x20found.','trashDir','\x20(local\x20file\x20moved\x20to\x20trash)','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','POST','replace','sqlRoot','4767YtkpND','fromEntries','str','8WcWgpO','remoteId','820002fRlIRn','370953ZTWgCr','Would\x20delete\x20SQL\x20','filter','length','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','194844gHlnpC','high-risk-write','lockFilePath','sqlcode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','delete'];a122_0x1f8c=function(){return _0x1c16c8;};return a122_0x1f8c();}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a122_0x163f15(0x1c3),'description':a122_0x163f15(0x1bd),'risk':a122_0x163f15(0x1bf),'flags':[SQLCODE_FLAG],async 'validate'(_0x10a90d){const _0xccc75f=a122_0x163f15,_0x310c6b=loadSqlProjectConfig(_0x10a90d['appCode']),_0x2f369a=await readSqlLockFile(_0x310c6b[_0xccc75f(0x1c0)]);if(!_0x2f369a)throw CliErrors[_0xccc75f(0x1a0)](_0xccc75f(0x1c2));},async 'dryRun'(_0x462930){const _0x3868a5=a122_0x163f15,_0x4a05e5=loadSqlProjectConfig(_0x462930[_0x3868a5(0x19f)]),_0x2e95d5=await readSqlLockFile(_0x4a05e5['lockFilePath']);if(!_0x2e95d5)throw CliErrors[_0x3868a5(0x1a0)](_0x3868a5(0x1c2));const {appLock:_0x3312c3}=ensureSqlLockScope(_0x2e95d5,_0x462930[_0x3868a5(0x19f)],_0x4a05e5['sqlRoot'],_0x3868a5(0x1c3)),_0x4c1583=_0x462930[_0x3868a5(0x1b5)]('sqlcode'),_0x3d07e9=_0x3312c3[_0x3868a5(0x1a7)][_0x4c1583];if(!_0x3d07e9)throw CliErrors[_0x3868a5(0x1a0)](_0x3868a5(0x1af)+_0x4c1583+'\x22.');return{'method':_0x3868a5(0x1b0),'url':_0x3868a5(0x1a2),'body':{'sqlCode':_0x4c1583,'id':_0x3d07e9[_0x3868a5(0x1b7)],'localPath':resolveLocalSqlFilePath(_0x4a05e5,_0x4c1583,_0x3d07e9)},'description':_0x3868a5(0x1ba)+_0x4c1583+_0x3868a5(0x1a8)+_0x4a05e5[_0x3868a5(0x1ad)]};},async 'execute'(_0x29586b){const _0x28ef57=a122_0x163f15,_0x331460=loadSqlProjectConfig(_0x29586b[_0x28ef57(0x19f)]),_0x23ed95=await readSqlLockFile(_0x331460['lockFilePath']);if(!_0x23ed95)throw CliErrors[_0x28ef57(0x1a0)](_0x28ef57(0x1ac));const {lockData:_0x3573fc,appLock:_0x337d57}=ensureSqlLockScope(_0x23ed95,_0x29586b[_0x28ef57(0x19f)],_0x331460[_0x28ef57(0x1b2)],_0x28ef57(0x1c3)),_0x4d7136=_0x29586b[_0x28ef57(0x1b5)](_0x28ef57(0x1c1)),_0x4cc516=_0x337d57[_0x28ef57(0x1a7)][_0x4d7136];if(!_0x4cc516)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x4d7136+'\x22.');await deleteSqlQuery({'id':_0x4cc516[_0x28ef57(0x1b7)],'sqlCode':_0x4d7136}),_0x337d57[_0x28ef57(0x1a7)]=Object[_0x28ef57(0x1b4)](Object[_0x28ef57(0x1c6)](_0x337d57[_0x28ef57(0x1a7)])[_0x28ef57(0x1bb)](([_0x5d691f])=>_0x5d691f!==_0x4d7136)),_0x337d57[_0x28ef57(0x1a1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x331460[_0x28ef57(0x1c0)],_0x3573fc);const _0x44ed1f=resolveLocalSqlFilePath(_0x331460,_0x4d7136,_0x4cc516);let _0x5595b7;await fileExists(_0x44ed1f)&&(_0x5595b7=await moveToTrash(_0x331460['projectRoot'],_0x331460['trashDir'],_0x44ed1f),await cleanupEmptyDirectories(dirname(_0x44ed1f),_0x331460['sqlRootDir']));const _0x30c32b={'deleted':_0x4d7136,'remoteId':_0x4cc516[_0x28ef57(0x1b7)]};if(_0x5595b7)_0x30c32b[_0x28ef57(0x19e)]=_0x5595b7;return{'ok':!![],'data':_0x30c32b,'message':_0x28ef57(0x1a6)+_0x4d7136+(_0x5595b7?_0x28ef57(0x1ae):'')};}};async function moveToTrash(_0x10fc71,_0x79307f,_0x2a731e){const _0x6c5da9=a122_0x163f15,_0x248391=new Date()[_0x6c5da9(0x1a3)]()[_0x6c5da9(0x1b1)](/[:.]/g,'-'),_0x4995d6=relative(_0x10fc71,_0x2a731e),_0x5b1e1d=join(_0x79307f,_0x248391,_0x4995d6);return await mkdir(dirname(_0x5b1e1d),{'recursive':!![]}),await rename(_0x2a731e,_0x5b1e1d),_0x5b1e1d;}async function cleanupEmptyDirectories(_0x46f0b2,_0x229c21){const _0x1c34db=a122_0x163f15;let _0x569d24=resolve(_0x46f0b2);const _0x40239c=resolve(_0x229c21);while(_0x569d24[_0x1c34db(0x1aa)](''+_0x40239c+sep)||_0x569d24===_0x40239c){if(_0x569d24===_0x40239c)return;try{const _0x17f6d8=await readdir(_0x569d24);if(_0x17f6d8[_0x1c34db(0x1bc)]>0x0)return;await rmdir(_0x569d24);}catch{return;}_0x569d24=dirname(_0x569d24);}}
@@ -1 +1 @@
1
- function a123_0x4a7d(_0x3d5ee8,_0x14b619){_0x3d5ee8=_0x3d5ee8-0xb9;const _0x2aff4b=a123_0x2aff();let _0x4a7d12=_0x2aff4b[_0x3d5ee8];return _0x4a7d12;}const a123_0x26a27d=a123_0x4a7d;function a123_0x2aff(){const _0x1e0dc9=['sql','396CsKxJu','7351190cWdHdd','218142EOVNcU','str','168jHplkz','verbose','description','sqlCode','102573apYvmz','read','sqlContent','Return\x20full\x20raw\x20SQL\x20query\x20object','appCode','sqlcode','2218664JlJxIV','bool','58IbZDjh','dbId','boolean','sqlName','11495rxHJEt','30156iOPgdA','detail','11012qIGmyk'];a123_0x2aff=function(){return _0x1e0dc9;};return a123_0x2aff();}(function(_0x4a7c19,_0x38f382){const _0x56832b=a123_0x4a7d,_0x147372=_0x4a7c19();while(!![]){try{const _0x2a90ac=-parseInt(_0x56832b(0xc3))/0x1*(-parseInt(_0x56832b(0xbc))/0x2)+-parseInt(_0x56832b(0xc7))/0x3+-parseInt(_0x56832b(0xc5))/0x4*(parseInt(_0x56832b(0xc0))/0x5)+-parseInt(_0x56832b(0xc1))/0x6*(parseInt(_0x56832b(0xc9))/0x7)+-parseInt(_0x56832b(0xba))/0x8+-parseInt(_0x56832b(0xcd))/0x9+parseInt(_0x56832b(0xc6))/0xa;if(_0x2a90ac===_0x38f382)break;else _0x147372['push'](_0x147372['shift']());}catch(_0x5234ba){_0x147372['push'](_0x147372['shift']());}}}(a123_0x2aff,0x542de));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a123_0x26a27d(0xc4),'command':a123_0x26a27d(0xc2),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a123_0x26a27d(0xce),'flags':[SQLCODE_FLAG,{'name':a123_0x26a27d(0xca),'type':a123_0x26a27d(0xbe),'description':a123_0x26a27d(0xd0)}],async 'execute'(_0x1d80ff){const _0xf141f6=a123_0x26a27d,_0x2205f1=await getSqlQueryInfo(_0x1d80ff[_0xf141f6(0xd1)],_0x1d80ff[_0xf141f6(0xc8)](_0xf141f6(0xb9))),_0x362f3e=_0x1d80ff[_0xf141f6(0xbb)](_0xf141f6(0xca));if(_0x362f3e)return{'ok':!![],'data':_0x2205f1};const _0x4f2848=_0x2205f1['dbId']?await getDbName(_0x1d80ff[_0xf141f6(0xd1)],_0x2205f1[_0xf141f6(0xbd)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x2205f1[_0xf141f6(0xcc)],'sqlName':_0x2205f1[_0xf141f6(0xbf)],'db':_0x4f2848?_0x4f2848+'\x20('+_0x2205f1[_0xf141f6(0xbd)]+')':_0x2205f1[_0xf141f6(0xbd)]??'','description':_0x2205f1[_0xf141f6(0xcb)]??'','sqlContent':_0x2205f1[_0xf141f6(0xcf)]??''}};}};
1
+ const a123_0x54e4ae=a123_0x1f88;function a123_0x4a3a(){const _0x4d5960=['Return\x20full\x20raw\x20SQL\x20query\x20object','796195OIOTRx','dbId','660663yZmVBH','618dQlYJh','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','250jeeuNy','sqlName','680440LCfyDA','bool','1082664GShOYY','sqlContent','sqlcode','verbose','detail','27zHzGEo','1171056NIZuUN','description','7eKYBbL','boolean','appCode','25479CDCzzb'];a123_0x4a3a=function(){return _0x4d5960;};return a123_0x4a3a();}(function(_0x349c25,_0x3421bd){const _0x3f323a=a123_0x1f88,_0x68c6c6=_0x349c25();while(!![]){try{const _0x45f59c=-parseInt(_0x3f323a(0x93))/0x1*(-parseInt(_0x3f323a(0x88))/0x2)+parseInt(_0x3f323a(0x87))/0x3+-parseInt(_0x3f323a(0x8c))/0x4+parseInt(_0x3f323a(0x85))/0x5+-parseInt(_0x3f323a(0x8e))/0x6+parseInt(_0x3f323a(0x96))/0x7*(parseInt(_0x3f323a(0x94))/0x8)+parseInt(_0x3f323a(0x83))/0x9*(-parseInt(_0x3f323a(0x8a))/0xa);if(_0x45f59c===_0x3421bd)break;else _0x68c6c6['push'](_0x68c6c6['shift']());}catch(_0x243984){_0x68c6c6['push'](_0x68c6c6['shift']());}}}(a123_0x4a3a,0x1b8d8));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a123_0x1f88(_0x54feae,_0x2435c8){_0x54feae=_0x54feae-0x83;const _0x4a3ab2=a123_0x4a3a();let _0x1f882e=_0x4a3ab2[_0x54feae];return _0x1f882e;}export const sqlDetail={'service':'sql','command':a123_0x54e4ae(0x92),'description':a123_0x54e4ae(0x89),'risk':'read','flags':[SQLCODE_FLAG,{'name':a123_0x54e4ae(0x91),'type':a123_0x54e4ae(0x97),'description':a123_0x54e4ae(0x84)}],async 'execute'(_0x1001dc){const _0x439f28=a123_0x54e4ae,_0x1243bb=await getSqlQueryInfo(_0x1001dc[_0x439f28(0x98)],_0x1001dc['str'](_0x439f28(0x90))),_0xa49735=_0x1001dc[_0x439f28(0x8d)](_0x439f28(0x91));if(_0xa49735)return{'ok':!![],'data':_0x1243bb};const _0x6e9778=_0x1243bb[_0x439f28(0x86)]?await getDbName(_0x1001dc['appCode'],_0x1243bb[_0x439f28(0x86)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1243bb['sqlCode'],'sqlName':_0x1243bb[_0x439f28(0x8b)],'db':_0x6e9778?_0x6e9778+'\x20('+_0x1243bb['dbId']+')':_0x1243bb['dbId']??'','description':_0x1243bb[_0x439f28(0x95)]??'','sqlContent':_0x1243bb[_0x439f28(0x8f)]??''}};}};
@@ -1 +1 @@
1
- const a124_0x1a5227=a124_0x2b25;(function(_0x2d8090,_0x450611){const _0x1d6134=a124_0x2b25,_0x5ba377=_0x2d8090();while(!![]){try{const _0x2a0cef=parseInt(_0x1d6134(0x80))/0x1*(-parseInt(_0x1d6134(0x7f))/0x2)+-parseInt(_0x1d6134(0x6d))/0x3*(-parseInt(_0x1d6134(0x79))/0x4)+-parseInt(_0x1d6134(0x74))/0x5*(-parseInt(_0x1d6134(0x81))/0x6)+-parseInt(_0x1d6134(0x78))/0x7*(-parseInt(_0x1d6134(0x7b))/0x8)+parseInt(_0x1d6134(0x70))/0x9*(parseInt(_0x1d6134(0x73))/0xa)+parseInt(_0x1d6134(0x7d))/0xb*(parseInt(_0x1d6134(0x72))/0xc)+-parseInt(_0x1d6134(0x6e))/0xd*(parseInt(_0x1d6134(0x68))/0xe);if(_0x2a0cef===_0x450611)break;else _0x5ba377['push'](_0x5ba377['shift']());}catch(_0x1d2b8e){_0x5ba377['push'](_0x5ba377['shift']());}}}(a124_0x9540,0x7066f));function a124_0x9540(){const _0x210a29=['params','3041857wECeIZ','12cGxbLY','length','16AeLZWE','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','11XKulJJ','SQL\x20execution\x20failed','6VAHjza','28851QOovYN','2532xyzmFS','1661744qkvMIB','execResult','execSuccess','now','isArray','130077wfAZJg','234WyAYoX','str','620388fZomRH','appCode','5718060fxCpJF','60pudUog','9410fgHZGY','\x20row(s)\x20in\x20','sqlcode'];a124_0x9540=function(){return _0x210a29;};return a124_0x9540();}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a124_0x2b25(_0x6adb5e,_0xc8cdaa){_0x6adb5e=_0x6adb5e-0x68;const _0x9540ec=a124_0x9540();let _0x2b2566=_0x9540ec[_0x6adb5e];return _0x2b2566;}export const sqlExec={'service':'sql','command':'exec','description':a124_0x1a5227(0x7c),'risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x1a5227(0x77),'type':'string','description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x1622e1){const _0x43561b=a124_0x1a5227,_0x975fd1=parseJsonParams(_0x1622e1[_0x43561b(0x6f)](_0x43561b(0x77))),_0x293149=Date[_0x43561b(0x6b)](),_0x13cf23=await executeSql(_0x1622e1[_0x43561b(0x71)],_0x1622e1[_0x43561b(0x6f)](_0x43561b(0x76)),_0x975fd1),_0x378d2e=Date['now']()-_0x293149,_0x287c84=_0x13cf23?.[_0x43561b(0x69)]??_0x13cf23,_0x2824f3=_0x13cf23?.[_0x43561b(0x6a)]??!![];if(!_0x2824f3)return{'ok':![],'data':{'error':_0x13cf23?.['execError']||_0x43561b(0x7e),'elapsed':_0x378d2e},'message':'SQL\x20execution\x20failed'};const _0xebfe61=Array[_0x43561b(0x6c)](_0x287c84)?_0x287c84:[];return{'ok':!![],'data':{'rows':_0xebfe61,'rowCount':_0xebfe61[_0x43561b(0x7a)],'elapsed':_0x378d2e},'message':'Returned\x20'+_0xebfe61[_0x43561b(0x7a)]+_0x43561b(0x75)+_0x378d2e+'ms'};}};
1
+ const a124_0x460cd4=a124_0x5190;function a124_0x5798(){const _0xc2f500=['read','33MMLVMb','185190hxeKhS','119LgRwvS','str','29170380RRBNIC','string','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','SQL\x20execution\x20failed','execError','isArray','11876fJNzOK','now','74678RDcwjy','execResult','sql','36ecDFHL','params','1111fDWvuH','length','42650soWcXB','8509150jkivUW','sqlcode','1873952TYzieV','\x20row(s)\x20in\x20','1416sRGlEM','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode'];a124_0x5798=function(){return _0xc2f500;};return a124_0x5798();}(function(_0x4f2581,_0x26b908){const _0x222b9d=a124_0x5190,_0x24a186=_0x4f2581();while(!![]){try{const _0x4b2ae3=-parseInt(_0x222b9d(0x132))/0x1*(-parseInt(_0x222b9d(0x123))/0x2)+parseInt(_0x222b9d(0x12f))/0x3*(parseInt(_0x222b9d(0x121))/0x4)+parseInt(_0x222b9d(0x12b))/0x5+-parseInt(_0x222b9d(0x133))/0x6*(parseInt(_0x222b9d(0x134))/0x7)+parseInt(_0x222b9d(0x12d))/0x8*(-parseInt(_0x222b9d(0x126))/0x9)+parseInt(_0x222b9d(0x12a))/0xa*(parseInt(_0x222b9d(0x128))/0xb)+-parseInt(_0x222b9d(0x11b))/0xc;if(_0x4b2ae3===_0x26b908)break;else _0x24a186['push'](_0x24a186['shift']());}catch(_0x32d210){_0x24a186['push'](_0x24a186['shift']());}}}(a124_0x5798,0xd5484));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a124_0x5190(_0x20ce5d,_0x26e882){_0x20ce5d=_0x20ce5d-0x11b;const _0x57982e=a124_0x5798();let _0x519088=_0x57982e[_0x20ce5d];return _0x519088;}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a124_0x460cd4(0x125),'command':'exec','description':a124_0x460cd4(0x130),'risk':a124_0x460cd4(0x131),'flags':[SQLCODE_FLAG,{'name':'params','type':a124_0x460cd4(0x11c),'description':a124_0x460cd4(0x11d)}],async 'execute'(_0x34633){const _0x508105=a124_0x460cd4,_0x4eb961=parseJsonParams(_0x34633[_0x508105(0x135)](_0x508105(0x127))),_0x4ab395=Date[_0x508105(0x122)](),_0x16ae87=await executeSql(_0x34633['appCode'],_0x34633[_0x508105(0x135)](_0x508105(0x12c)),_0x4eb961),_0x5c9a65=Date['now']()-_0x4ab395,_0x5d1b60=_0x16ae87?.[_0x508105(0x124)]??_0x16ae87,_0x50f766=_0x16ae87?.['execSuccess']??!![];if(!_0x50f766)return{'ok':![],'data':{'error':_0x16ae87?.[_0x508105(0x11f)]||_0x508105(0x11e),'elapsed':_0x5c9a65},'message':_0x508105(0x11e)};const _0x5456ee=Array[_0x508105(0x120)](_0x5d1b60)?_0x5d1b60:[];return{'ok':!![],'data':{'rows':_0x5456ee,'rowCount':_0x5456ee[_0x508105(0x129)],'elapsed':_0x5c9a65},'message':'Returned\x20'+_0x5456ee['length']+_0x508105(0x12e)+_0x5c9a65+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x20eb4c,_0x2158ef){const _0x15c357=a125_0x5545,_0x4c5084=_0x20eb4c();while(!![]){try{const _0x2111de=-parseInt(_0x15c357(0x12d))/0x1*(parseInt(_0x15c357(0x12a))/0x2)+parseInt(_0x15c357(0x12c))/0x3*(-parseInt(_0x15c357(0x12e))/0x4)+parseInt(_0x15c357(0x12b))/0x5+-parseInt(_0x15c357(0x132))/0x6+parseInt(_0x15c357(0x12f))/0x7*(parseInt(_0x15c357(0x127))/0x8)+parseInt(_0x15c357(0x128))/0x9*(-parseInt(_0x15c357(0x131))/0xa)+-parseInt(_0x15c357(0x130))/0xb*(-parseInt(_0x15c357(0x129))/0xc);if(_0x2111de===_0x2158ef)break;else _0x4c5084['push'](_0x4c5084['shift']());}catch(_0x52551a){_0x4c5084['push'](_0x4c5084['shift']());}}}(a125_0xc04d,0x95544));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 a125_0xc04d(){const _0x30c0c2=['4yVoObD','224IniQiq','27168757ImtWCc','90pSQhbc','6136506KoEHIm','49304RkEZaX','1205064kYhHzs','12rmpAii','452782mbeArD','4025580lWdHeU','1219083IbDONF','1mHzxrq'];a125_0xc04d=function(){return _0x30c0c2;};return a125_0xc04d();}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a125_0x5545(_0x2e9557,_0x167232){_0x2e9557=_0x2e9557-0x127;const _0xc04dea=a125_0xc04d();let _0x5545a6=_0xc04dea[_0x2e9557];return _0x5545a6;}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0x15f424,_0x57c4d0){const _0x38e2fe=a125_0x472b,_0x527bfd=_0x15f424();while(!![]){try{const _0x424bbb=parseInt(_0x38e2fe(0x90))/0x1+-parseInt(_0x38e2fe(0x93))/0x2+parseInt(_0x38e2fe(0x98))/0x3+-parseInt(_0x38e2fe(0x95))/0x4+parseInt(_0x38e2fe(0x97))/0x5*(-parseInt(_0x38e2fe(0x96))/0x6)+parseInt(_0x38e2fe(0x94))/0x7+parseInt(_0x38e2fe(0x91))/0x8*(-parseInt(_0x38e2fe(0x92))/0x9);if(_0x424bbb===_0x57c4d0)break;else _0x527bfd['push'](_0x527bfd['shift']());}catch(_0x525067){_0x527bfd['push'](_0x527bfd['shift']());}}}(a125_0x4231,0x62129));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a125_0x4231(){const _0x56ec23=['5165251CXajNy','226504EJjzFv','2407926NEvOSR','5RDLHaZ','2005785mIBBqx','681979ddFzfz','9224IcBQsG','4266kKZDPe','1364586sJzgoa'];a125_0x4231=function(){return _0x56ec23;};return a125_0x4231();}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 a125_0x472b(_0x52b7a1,_0x11c40b){_0x52b7a1=_0x52b7a1-0x90;const _0x423103=a125_0x4231();let _0x472b68=_0x423103[_0x52b7a1];return _0x472b68;}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 a126_0x179432=a126_0x5b18;(function(_0x83bea4,_0x1fa725){const _0x191205=a126_0x5b18,_0x3e6562=_0x83bea4();while(!![]){try{const _0x2d888a=-parseInt(_0x191205(0x1bb))/0x1*(-parseInt(_0x191205(0x1a7))/0x2)+parseInt(_0x191205(0x1ac))/0x3+parseInt(_0x191205(0x1b8))/0x4+parseInt(_0x191205(0x1bc))/0x5+-parseInt(_0x191205(0x1c4))/0x6+-parseInt(_0x191205(0x1ad))/0x7+parseInt(_0x191205(0x1b2))/0x8;if(_0x2d888a===_0x1fa725)break;else _0x3e6562['push'](_0x3e6562['shift']());}catch(_0x1f98f3){_0x3e6562['push'](_0x3e6562['shift']());}}}(a126_0x1004,0xec573));function a126_0x5b18(_0x224ffe,_0xae8792){_0x224ffe=_0x224ffe-0x1a2;const _0x1004af=a126_0x1004();let _0x5b18dd=_0x1004af[_0x224ffe];return _0x5b18dd;}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':'list','description':a126_0x179432(0x1be),'risk':a126_0x179432(0x1c1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a126_0x179432(0x1a5),'description':a126_0x179432(0x1c2)},{'name':a126_0x179432(0x1b6),'type':'number','description':a126_0x179432(0x1a9),'default':0x1},{'name':'pagesize','type':a126_0x179432(0x1b9),'description':a126_0x179432(0x1c0)},{'name':a126_0x179432(0x1b4),'type':a126_0x179432(0x1a6),'description':a126_0x179432(0x1a8)}],async 'execute'(_0x1c69e3){const _0x414a0a=a126_0x179432,_0x4f914b=await listSqlQueries(_0x1c69e3[_0x414a0a(0x1b7)],{'sqlCode':_0x1c69e3[_0x414a0a(0x1b5)](_0x414a0a(0x1ba))||undefined,'sqlName':_0x1c69e3[_0x414a0a(0x1b5)]('name')||undefined,'currentPage':_0x1c69e3[_0x414a0a(0x1b3)](_0x414a0a(0x1b6)),'pageSize':_0x1c69e3[_0x414a0a(0x1b3)](_0x414a0a(0x1af),0x32)}),_0x2359f0=_0x1c69e3['bool'](_0x414a0a(0x1b4)),_0x399ddc=_0x4f914b[_0x414a0a(0x1a2)]??[],_0x2cff5f=_0x4f914b[_0x414a0a(0x1aa)]?.[_0x414a0a(0x1ab)]??_0x399ddc[_0x414a0a(0x1a3)];let _0x25a12b;return _0x2359f0?_0x25a12b=_0x399ddc:_0x25a12b=await Promise[_0x414a0a(0x1b0)](_0x399ddc[_0x414a0a(0x1c3)](async _0xa9c61c=>{const _0x1c1252=_0x414a0a;let _0x57f3f8;try{_0x57f3f8=_0xa9c61c[_0x1c1252(0x1bd)]?await getDbName(_0x1c69e3['appCode'],_0xa9c61c[_0x1c1252(0x1bd)]):undefined;}catch{}return{'sqlCode':_0xa9c61c[_0x1c1252(0x1bf)],'sqlName':_0xa9c61c[_0x1c1252(0x1c5)],'description':_0xa9c61c[_0x1c1252(0x1a4)]??'','db':_0x57f3f8?_0x57f3f8+'\x20('+_0xa9c61c[_0x1c1252(0x1bd)]+')':_0xa9c61c[_0x1c1252(0x1bd)]??''};})),{'ok':!![],'data':_0x25a12b,'message':_0x399ddc['length']===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x414a0a(0x1ae)+_0x399ddc[_0x414a0a(0x1a3)]+_0x414a0a(0x1b1)+_0x2cff5f+').'};}};function a126_0x1004(){const _0x47aa6b=['paging','totalCount','5817qjPNCg','11846919XIYnLa','Found\x20','pagesize','all','\x20SQL\x20queries\x20(total:\x20','20203264AjbqPx','num','verbose','str','page','appCode','2227056zJmECF','number','sqlcode','3utkExf','2073445HjicrG','dbId','List\x20custom\x20SQL\x20queries','sqlCode','Page\x20size','read','Filter\x20by\x20SQL\x20name','map','10722600kBOJTc','sqlName','tableData','length','description','string','boolean','632512otcOuk','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','Page\x20number'];a126_0x1004=function(){return _0x47aa6b;};return a126_0x1004();}
1
+ const a126_0x1c20ff=a126_0x4058;(function(_0x20d458,_0x5b62fb){const _0x5872bf=a126_0x4058,_0x540fb6=_0x20d458();while(!![]){try{const _0x224125=parseInt(_0x5872bf(0xc2))/0x1*(parseInt(_0x5872bf(0xc5))/0x2)+parseInt(_0x5872bf(0xc7))/0x3+-parseInt(_0x5872bf(0xae))/0x4+parseInt(_0x5872bf(0xc1))/0x5*(parseInt(_0x5872bf(0xad))/0x6)+-parseInt(_0x5872bf(0xc6))/0x7*(parseInt(_0x5872bf(0xaa))/0x8)+-parseInt(_0x5872bf(0xbc))/0x9*(-parseInt(_0x5872bf(0xbe))/0xa)+-parseInt(_0x5872bf(0xa8))/0xb;if(_0x224125===_0x5b62fb)break;else _0x540fb6['push'](_0x540fb6['shift']());}catch(_0x3cb37a){_0x540fb6['push'](_0x540fb6['shift']());}}}(a126_0x2c92,0x1ec03));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':a126_0x1c20ff(0xbf),'command':a126_0x1c20ff(0xc4),'description':a126_0x1c20ff(0xba),'risk':a126_0x1c20ff(0xb0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0x1c20ff(0xac),'type':a126_0x1c20ff(0xc9),'description':a126_0x1c20ff(0xb8)},{'name':'page','type':a126_0x1c20ff(0xaf),'description':'Page\x20number','default':0x1},{'name':a126_0x1c20ff(0xc0),'type':'number','description':a126_0x1c20ff(0xb5)},{'name':a126_0x1c20ff(0xcb),'type':a126_0x1c20ff(0xb9),'description':a126_0x1c20ff(0xb6)}],async 'execute'(_0x58c9cf){const _0x34b13d=a126_0x1c20ff,_0x191131=await listSqlQueries(_0x58c9cf['appCode'],{'sqlCode':_0x58c9cf['str'](_0x34b13d(0xbb))||undefined,'sqlName':_0x58c9cf[_0x34b13d(0xca)]('name')||undefined,'currentPage':_0x58c9cf[_0x34b13d(0xb1)]('page'),'pageSize':_0x58c9cf[_0x34b13d(0xb1)](_0x34b13d(0xc0),0x32)}),_0x3e8876=_0x58c9cf['bool'](_0x34b13d(0xcb)),_0x1bf02c=_0x191131['tableData']??[],_0x88ed23=_0x191131[_0x34b13d(0xab)]?.[_0x34b13d(0xa9)]??_0x1bf02c['length'];let _0x463951;return _0x3e8876?_0x463951=_0x1bf02c:_0x463951=await Promise['all'](_0x1bf02c[_0x34b13d(0xb3)](async _0x113f2f=>{const _0x48215e=_0x34b13d;let _0x5bdc38;try{_0x5bdc38=_0x113f2f[_0x48215e(0xc8)]?await getDbName(_0x58c9cf['appCode'],_0x113f2f[_0x48215e(0xc8)]):undefined;}catch{}return{'sqlCode':_0x113f2f[_0x48215e(0xb2)],'sqlName':_0x113f2f['sqlName'],'description':_0x113f2f[_0x48215e(0xb7)]??'','db':_0x5bdc38?_0x5bdc38+'\x20('+_0x113f2f[_0x48215e(0xc8)]+')':_0x113f2f[_0x48215e(0xc8)]??''};})),{'ok':!![],'data':_0x463951,'message':_0x1bf02c[_0x34b13d(0xb4)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x34b13d(0xc3)+_0x1bf02c['length']+_0x34b13d(0xbd)+_0x88ed23+').'};}};function a126_0x4058(_0x3fbf9c,_0x11aa4c){_0x3fbf9c=_0x3fbf9c-0xa8;const _0x2c9262=a126_0x2c92();let _0x4058d5=_0x2c9262[_0x3fbf9c];return _0x4058d5;}function a126_0x2c92(){const _0x1c0d80=['name','318qVzpvE','979076zLgSob','number','read','num','sqlCode','map','length','Page\x20size','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','description','Filter\x20by\x20SQL\x20name','boolean','List\x20custom\x20SQL\x20queries','sqlcode','198myTgtN','\x20SQL\x20queries\x20(total:\x20','112940SVosmM','sql','pagesize','12135iaoDal','11cwKlPL','Found\x20','list','31810JRSpwv','721mwuhyu','563079tAJKdG','dbId','string','str','verbose','3915362NiUnAY','totalCount','1016fgSFFL','paging'];a126_0x2c92=function(){return _0x1c0d80;};return a126_0x2c92();}
@@ -1 +1 @@
1
- const a127_0x59095a=a127_0x59ea;(function(_0x43e946,_0x24e600){const _0x4667f2=a127_0x59ea,_0x23b888=_0x43e946();while(!![]){try{const _0x5ebe7b=parseInt(_0x4667f2(0xb7))/0x1*(parseInt(_0x4667f2(0xc1))/0x2)+-parseInt(_0x4667f2(0x99))/0x3*(-parseInt(_0x4667f2(0xa0))/0x4)+-parseInt(_0x4667f2(0x98))/0x5+-parseInt(_0x4667f2(0x95))/0x6+-parseInt(_0x4667f2(0xa4))/0x7+parseInt(_0x4667f2(0xc4))/0x8+parseInt(_0x4667f2(0xbb))/0x9;if(_0x5ebe7b===_0x24e600)break;else _0x23b888['push'](_0x23b888['shift']());}catch(_0x5a71b5){_0x23b888['push'](_0x23b888['shift']());}}}(a127_0x315b,0xdabd3));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a127_0x59ea(_0x569cee,_0x4476be){_0x569cee=_0x569cee-0x94;const _0x315b0b=a127_0x315b();let _0x59eae1=_0x315b0b[_0x569cee];return _0x59eae1;}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(_0x1e042e,_0x5bb34c){const _0x2b17fe=a127_0x59ea,_0x95eaef=[];let _0x50e6a3=0x1;while(!![]){const _0x32da6f=await listSqlQueries(_0x1e042e,{'currentPage':_0x50e6a3,'pageSize':PAGE_SIZE,'sqlCode':_0x5bb34c[_0x2b17fe(0x96)],'sqlName':_0x5bb34c['sqlName']}),_0x4e5850=_0x32da6f['tableData']??[];_0x95eaef[_0x2b17fe(0xc8)](..._0x4e5850);if(_0x4e5850[_0x2b17fe(0x9e)]===0x0)break;const _0x5254f9=_0x32da6f[_0x2b17fe(0xae)]?.[_0x2b17fe(0xa1)];if(_0x5254f9!=null?_0x95eaef[_0x2b17fe(0x9e)]>=_0x5254f9:_0x4e5850[_0x2b17fe(0x9e)]<PAGE_SIZE)break;_0x50e6a3++;}return _0x95eaef;}async function ensureSqlContent(_0x5b3bc8){const _0x3c8156=a127_0x59ea;if(_0x5b3bc8[_0x3c8156(0xc3)]!=null&&String(_0x5b3bc8[_0x3c8156(0xc3)])[_0x3c8156(0x9e)]>0x0)return _0x5b3bc8;return getSqlQueryDetail(_0x5b3bc8[_0x3c8156(0x96)]);}export const sqlPull={'service':a127_0x59095a(0xa5),'command':a127_0x59095a(0xac),'description':a127_0x59095a(0xc7),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x59095a(0xa6),'type':a127_0x59095a(0xab),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a127_0x59095a(0x94),'type':a127_0x59095a(0xca),'description':a127_0x59095a(0xa3)}],async 'dryRun'(_0x162c72){const _0xbb0a8=a127_0x59095a,_0x1974cc=loadSqlProjectConfig(_0x162c72[_0xbb0a8(0xcb)]),_0x1ec4cc=await readSqlLockFile(_0x1974cc[_0xbb0a8(0x9a)]),{appLock:_0x3ed5c1}=ensureSqlLockScope(_0x1ec4cc??createEmptySqlLock(),_0x1974cc[_0xbb0a8(0xcb)],_0x1974cc['sqlRoot'],_0xbb0a8(0xac)),_0x2856ea=await fetchAllSqlQueries(_0x162c72['appCode'],{'sqlCode':_0x162c72[_0xbb0a8(0xad)](_0xbb0a8(0xb5))||undefined,'sqlName':_0x162c72['str'](_0xbb0a8(0xa6))||undefined}),_0x26116a=[];for(const _0x3454a7 of _0x2856ea){const _0x5cf991=await ensureSqlContent(_0x3454a7),_0x2dca5e=ensureRemoteSqlContent(_0x5cf991),_0x3eef35=detectModeFromSql(_0x5cf991),_0x71980=_0x5cf991[_0xbb0a8(0x97)]?await getDbName(_0x162c72[_0xbb0a8(0xcb)],Number(_0x5cf991[_0xbb0a8(0x97)]))[_0xbb0a8(0xc2)](()=>undefined):undefined,_0x2a3f1b=buildLocalSqlFileContent({'sqlCode':_0x5cf991[_0xbb0a8(0x96)],'sqlName':_0x5cf991[_0xbb0a8(0xb6)],'dbId':_0x5cf991[_0xbb0a8(0x97)]},_0x2dca5e,{'dbName':_0x71980,'mode':_0x3eef35,'syncedAt':new Date()[_0xbb0a8(0x9f)](),'description':_0x5cf991['description']}),_0x1f22c8=buildSqlLockEntry(_0x5cf991,_0x2dca5e,'',{'dbName':_0x71980}),_0x46d0e5=resolveLocalSqlFilePath(_0x1974cc,_0x5cf991[_0xbb0a8(0x96)],_0x1f22c8);let _0x455b56='would_pull',_0x560bbf;if(await fileExists(_0x46d0e5)){const _0x4c0bd6=await readFile(_0x46d0e5,_0xbb0a8(0xba));isEquivalentPulledSqlFile(_0x4c0bd6,_0x2a3f1b,_0x3eef35)?(_0x455b56=_0xbb0a8(0xaa),_0x560bbf=_0xbb0a8(0xcd)):(_0x455b56=_0xbb0a8(0xb0),_0x560bbf='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x26116a[_0xbb0a8(0xc8)]({'sqlCode':_0x5cf991[_0xbb0a8(0x96)],'sqlName':_0x5cf991[_0xbb0a8(0xb6)],'filePath':_0x46d0e5,'status':_0x455b56,'reason':_0x560bbf});}return{'method':_0xbb0a8(0xa2),'url':_0xbb0a8(0xb2),'body':{'appCode':_0x162c72[_0xbb0a8(0xcb)],'sqlCode':_0x162c72[_0xbb0a8(0xad)](_0xbb0a8(0xb5))||null,'sqlName':_0x162c72['str'](_0xbb0a8(0xa6))||null,'files':_0x26116a},'description':_0xbb0a8(0xb9)+_0x26116a[_0xbb0a8(0x9e)]+_0xbb0a8(0xa9)+_0x1974cc['sqlRootDir']};},async 'execute'(_0x2f192e){const _0x5b82d5=a127_0x59095a,_0x29abbc=loadSqlProjectConfig(_0x2f192e[_0x5b82d5(0xcb)]),_0x4208d6=await readSqlLockFile(_0x29abbc['lockFilePath']),{lockData:_0x3408a8,appLock:_0x302939}=ensureSqlLockScope(_0x4208d6??createEmptySqlLock(),_0x29abbc['appCode'],_0x29abbc[_0x5b82d5(0x9c)],_0x5b82d5(0xac)),_0x20903a=_0x2f192e['bool']('force'),_0x5e0c03=await fetchAllSqlQueries(_0x2f192e[_0x5b82d5(0xcb)],{'sqlCode':_0x2f192e['str']('sqlcode')||undefined,'sqlName':_0x2f192e[_0x5b82d5(0xad)](_0x5b82d5(0xa6))||undefined});if(_0x5e0c03[_0x5b82d5(0x9e)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x5b82d5(0xb8)};const _0x4bcc54=[],_0x1742e4=[];for(const _0x38b5c1 of _0x5e0c03){try{_0x4bcc54[_0x5b82d5(0xc8)](await ensureSqlContent(_0x38b5c1));}catch(_0x1d1e91){_0x1742e4['push']({'sqlCode':_0x38b5c1[_0x5b82d5(0x96)],'error':_0x1d1e91 instanceof Error?_0x1d1e91[_0x5b82d5(0x9b)]:String(_0x1d1e91)});}}if(_0x20903a&&!_0x2f192e[_0x5b82d5(0xc6)]){let _0x4ac106=![];for(const _0x2818aa of _0x4bcc54){const _0x15c4bd=detectModeFromSql(_0x2818aa),_0x3f7de4=_0x2818aa[_0x5b82d5(0x97)]?await getDbName(_0x2f192e[_0x5b82d5(0xcb)],Number(_0x2818aa[_0x5b82d5(0x97)]))[_0x5b82d5(0xc2)](()=>undefined):undefined,_0x4d9794=buildLocalSqlFileContent({'sqlCode':_0x2818aa[_0x5b82d5(0x96)],'sqlName':_0x2818aa['sqlName'],'dbId':_0x2818aa['dbId']},ensureRemoteSqlContent(_0x2818aa),{'dbName':_0x3f7de4,'mode':_0x15c4bd,'syncedAt':new Date()[_0x5b82d5(0x9f)](),'description':_0x2818aa['description']}),_0x73deef=resolveLocalSqlFilePath(_0x29abbc,_0x2818aa[_0x5b82d5(0x96)],buildSqlLockEntry(_0x2818aa,ensureRemoteSqlContent(_0x2818aa),'',{'dbName':_0x3f7de4}));if(await fileExists(_0x73deef)){const _0x579935=await readFile(_0x73deef,'utf8');if(!isEquivalentPulledSqlFile(_0x579935,_0x4d9794,_0x15c4bd)){_0x4ac106=!![];break;}}}if(_0x4ac106){const _0x401e6f=await confirmForceOverwrite(_0x5b82d5(0xaf));if(!_0x401e6f)throw CliErrors['cancelled'](_0x5b82d5(0xa7));}}const _0x44ae6b=cloneSqlLockData(_0x3408a8),_0xe0b35d=_0x44ae6b[_0x5b82d5(0xc5)][_0x29abbc[_0x5b82d5(0xcb)]],_0x201ab2=[],_0x5ae448=[];for(const _0x1b256c of _0x4bcc54){const _0x12c570=_0xe0b35d[_0x5b82d5(0x9d)][_0x1b256c[_0x5b82d5(0x96)]],_0x1ba3fb=ensureRemoteSqlContent(_0x1b256c),_0x4a5b78=detectModeFromSql(_0x1b256c),_0x24e44c=_0x1b256c[_0x5b82d5(0x97)]?await getDbName(_0x2f192e[_0x5b82d5(0xcb)],Number(_0x1b256c['dbId']))[_0x5b82d5(0xc2)](()=>undefined):undefined,_0x1781ce=buildLocalSqlFileContent({'sqlCode':_0x1b256c['sqlCode'],'sqlName':_0x1b256c['sqlName'],'dbId':_0x1b256c[_0x5b82d5(0x97)]},_0x1ba3fb,{'dbName':_0x24e44c,'mode':_0x4a5b78,'syncedAt':new Date()['toISOString'](),'description':_0x1b256c[_0x5b82d5(0xc9)]}),_0x57e7d3=buildSqlLockEntry(_0x1b256c,_0x1ba3fb,computeSqlContentHash(_0x1781ce),{'dbName':_0x24e44c}),_0x3b3ccd=_0x57e7d3[_0x5b82d5(0xb1)],_0x191aac=join(_0x29abbc['sqlRootDir'],_0x3b3ccd);try{if(await fileExists(_0x191aac)){const _0x375900=await readFile(_0x191aac,_0x5b82d5(0xba));if(isEquivalentPulledSqlFile(_0x375900,_0x1781ce,_0x4a5b78)){_0x5ae448[_0x5b82d5(0xc8)]({'sqlCode':_0x1b256c[_0x5b82d5(0x96)],'reason':_0x5b82d5(0xcd)}),_0xe0b35d[_0x5b82d5(0x9d)][_0x1b256c['sqlCode']]={..._0x57e7d3,'hash':computeSqlContentHash(_0x375900),'path':_0x3b3ccd};continue;}if(!_0x20903a){_0x5ae448[_0x5b82d5(0xc8)]({'sqlCode':_0x1b256c['sqlCode'],'reason':_0x5b82d5(0xb3)});continue;}}const _0x23d3a9=_0x12c570?.[_0x5b82d5(0xb1)]?join(_0x29abbc['sqlRootDir'],_0x12c570[_0x5b82d5(0xb1)]):undefined;_0x23d3a9&&_0x23d3a9!==_0x191aac&&await fileExists(_0x23d3a9)&&await rm(_0x23d3a9,{'force':!![]}),await ensureParentDirectory(_0x191aac),await writeFile(_0x191aac,_0x1781ce,_0x5b82d5(0xba)),_0xe0b35d[_0x5b82d5(0x9d)][_0x1b256c[_0x5b82d5(0x96)]]={..._0x57e7d3,'path':_0x3b3ccd},_0x201ab2[_0x5b82d5(0xc8)]({'sqlCode':_0x1b256c['sqlCode'],'filePath':_0x191aac});}catch(_0x19bd20){_0x1742e4[_0x5b82d5(0xc8)]({'sqlCode':_0x1b256c[_0x5b82d5(0x96)],'error':_0x19bd20 instanceof Error?_0x19bd20['message']:String(_0x19bd20)});}}return _0xe0b35d['lastSync']=new Date()[_0x5b82d5(0x9f)](),await writeSqlLockFile(_0x29abbc[_0x5b82d5(0x9a)],_0x44ae6b),{'ok':_0x1742e4['length']===0x0,'data':{'pulled':_0x201ab2,'skipped':_0x5ae448,'failed':_0x1742e4},'message':'Pull\x20complete:\x20'+_0x201ab2[_0x5b82d5(0x9e)]+_0x5b82d5(0xbe)+_0x5ae448[_0x5b82d5(0x9e)]+'\x20skipped,\x20'+_0x1742e4[_0x5b82d5(0x9e)]+_0x5b82d5(0xcc)};}};function detectModeFromSql(_0x5f0ce4){const _0x3d091c=a127_0x59095a,_0x301969=ensureRemoteSqlContent(_0x5f0ce4),_0x513726=stripLocalSqlMetadata(_0x301969,_0x3d091c(0xb4))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x3d091c(0xbc)](_0x513726))return _0x3d091c(0xb4);return _0x3d091c(0xa5);}function a127_0x315b(){const _0x3c16f8=['test','split','\x20written,\x20','filter','join','52504fpxGYh','catch','sqlContent','3269872ftRwIC','apps','nonInteractive','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','push','description','boolean','appCode','\x20failed','unchanged','force','2075574WjpeuG','sqlCode','dbId','6624770paYFFi','794001CYGTFF','lockFilePath','message','sqlRoot','sqls','length','toISOString','20OeuePm','totalCount','POST','Force\x20overwrite\x20local\x20unsynced\x20changes','5673857lKxbNS','sql','name','Force\x20pull\x20cancelled.','replace','\x20SQL\x20file(s)\x20into\x20','skipped','string','pull','str','paging','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','conflict','path','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','local\x20differs\x20from\x20remote','mybatisXml','sqlcode','sqlName','41uZpKhS','No\x20remote\x20SQL\x20queries\x20matched.','Would\x20pull\x20','utf8','5120892KKbDcB'];a127_0x315b=function(){return _0x3c16f8;};return a127_0x315b();}function isEquivalentPulledSqlFile(_0x142ba1,_0x17546c,_0x2d51c7){return normalizePullComparableContent(_0x142ba1,_0x2d51c7)===normalizePullComparableContent(_0x17546c,_0x2d51c7);}function normalizePullComparableContent(_0x2ad8e3,_0x124a2e){const _0x259878=a127_0x59095a,_0x191c2b=_0x2ad8e3[_0x259878(0xa8)](/\r\n/g,'\x0a')[_0x259878(0xbd)]('\x0a'),_0x43b221=_0x191c2b[_0x259878(0xbf)](_0x400610=>!isSyncedAtMetadataLine(_0x400610,_0x124a2e));return _0x43b221[_0x259878(0xc0)]('\x0a');}function isSyncedAtMetadataLine(_0x233739,_0x4e3149){const _0x4add92=a127_0x59095a;if(_0x4e3149===_0x4add92(0xb4))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x4add92(0xbc)](_0x233739);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x4add92(0xbc)](_0x233739);}
1
+ const a127_0x3e9caa=a127_0x53a8;(function(_0x55f4bc,_0x112f41){const _0x1e76f4=a127_0x53a8,_0x2741a5=_0x55f4bc();while(!![]){try{const _0x2809b6=parseInt(_0x1e76f4(0x1cc))/0x1*(parseInt(_0x1e76f4(0x1c7))/0x2)+-parseInt(_0x1e76f4(0x1c2))/0x3*(parseInt(_0x1e76f4(0x1c0))/0x4)+-parseInt(_0x1e76f4(0x1db))/0x5+-parseInt(_0x1e76f4(0x1f6))/0x6*(-parseInt(_0x1e76f4(0x1f1))/0x7)+-parseInt(_0x1e76f4(0x1cb))/0x8+-parseInt(_0x1e76f4(0x1ce))/0x9*(-parseInt(_0x1e76f4(0x1f8))/0xa)+-parseInt(_0x1e76f4(0x1e4))/0xb;if(_0x2809b6===_0x112f41)break;else _0x2741a5['push'](_0x2741a5['shift']());}catch(_0x596586){_0x2741a5['push'](_0x2741a5['shift']());}}}(a127_0x2b4f,0xb68c7));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a127_0x2b4f(){const _0x3b827e=['replace','No\x20remote\x20SQL\x20queries\x20matched.','lockFilePath','write','6800025VDvoTX','conflict','\x20written,\x20','utf8','sqlName','description','sqlContent','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','Force\x20pull\x20cancelled.','8335184RGKfsv','filter','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','Would\x20pull\x20','sqlRoot','sqlcode','name','\x20skipped,\x20','catch','local\x20differs\x20from\x20remote','string','Filter\x20by\x20SQL\x20display\x20name','sqls','278803MVdJzz','boolean','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','Pull\x20complete:\x20','toISOString','156cxgDVg','dbId','14500820QUCmsl','pull','str','push','sqlCode','sql','apps','test','47180BbHUzp','lastSync','66dgdeos','unchanged','length','\x20SQL\x20file(s)\x20into\x20','POST','81188lLybTQ','would_pull','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','5277488gSTSgC','32HrlmdF','sqlRootDir','9HmvtyG','path','mybatisXml','split','force','cancelled','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','tableData','appCode'];a127_0x2b4f=function(){return _0x3b827e;};return a127_0x2b4f();}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a127_0x53a8(_0x2839d9,_0x429833){_0x2839d9=_0x2839d9-0x1bb;const _0x2b4fb9=a127_0x2b4f();let _0x53a8ca=_0x2b4fb9[_0x2839d9];return _0x53a8ca;}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(_0x266ffd,_0x7eae3){const _0x700e43=a127_0x53a8,_0x5388d9=[];let _0x3358cd=0x1;while(!![]){const _0x244dde=await listSqlQueries(_0x266ffd,{'currentPage':_0x3358cd,'pageSize':PAGE_SIZE,'sqlCode':_0x7eae3['sqlCode'],'sqlName':_0x7eae3[_0x700e43(0x1df)]}),_0x494768=_0x244dde[_0x700e43(0x1d5)]??[];_0x5388d9[_0x700e43(0x1bb)](..._0x494768);if(_0x494768[_0x700e43(0x1c4)]===0x0)break;const _0x12a95b=_0x244dde['paging']?.['totalCount'];if(_0x12a95b!=null?_0x5388d9[_0x700e43(0x1c4)]>=_0x12a95b:_0x494768[_0x700e43(0x1c4)]<PAGE_SIZE)break;_0x3358cd++;}return _0x5388d9;}async function ensureSqlContent(_0x174791){const _0x508cd6=a127_0x53a8;if(_0x174791['sqlContent']!=null&&String(_0x174791[_0x508cd6(0x1e1)])['length']>0x0)return _0x174791;return getSqlQueryDetail(_0x174791[_0x508cd6(0x1bc)]);}export const sqlPull={'service':a127_0x3e9caa(0x1bd),'command':a127_0x3e9caa(0x1f9),'description':a127_0x3e9caa(0x1e2),'risk':a127_0x3e9caa(0x1da),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x3e9caa(0x1ea),'type':a127_0x3e9caa(0x1ee),'description':a127_0x3e9caa(0x1ef)},{'name':a127_0x3e9caa(0x1d2),'type':a127_0x3e9caa(0x1f2),'description':a127_0x3e9caa(0x1ca)}],async 'dryRun'(_0x3153cc){const _0x33ed81=a127_0x3e9caa,_0x15ef9b=loadSqlProjectConfig(_0x3153cc[_0x33ed81(0x1d6)]),_0x2ad256=await readSqlLockFile(_0x15ef9b[_0x33ed81(0x1d9)]),{appLock:_0x55974d}=ensureSqlLockScope(_0x2ad256??createEmptySqlLock(),_0x15ef9b[_0x33ed81(0x1d6)],_0x15ef9b[_0x33ed81(0x1e8)],_0x33ed81(0x1f9)),_0x2ef500=await fetchAllSqlQueries(_0x3153cc[_0x33ed81(0x1d6)],{'sqlCode':_0x3153cc['str']('sqlcode')||undefined,'sqlName':_0x3153cc[_0x33ed81(0x1fa)](_0x33ed81(0x1ea))||undefined}),_0x1a83f8=[];for(const _0x5966fc of _0x2ef500){const _0x517394=await ensureSqlContent(_0x5966fc),_0x599a9e=ensureRemoteSqlContent(_0x517394),_0x52a589=detectModeFromSql(_0x517394),_0x188f53=_0x517394[_0x33ed81(0x1f7)]?await getDbName(_0x3153cc['appCode'],Number(_0x517394[_0x33ed81(0x1f7)]))[_0x33ed81(0x1ec)](()=>undefined):undefined,_0x547ad3=buildLocalSqlFileContent({'sqlCode':_0x517394[_0x33ed81(0x1bc)],'sqlName':_0x517394[_0x33ed81(0x1df)],'dbId':_0x517394[_0x33ed81(0x1f7)]},_0x599a9e,{'dbName':_0x188f53,'mode':_0x52a589,'syncedAt':new Date()[_0x33ed81(0x1f5)](),'description':_0x517394['description']}),_0x51d9dc=buildSqlLockEntry(_0x517394,_0x599a9e,'',{'dbName':_0x188f53}),_0x15fcf4=resolveLocalSqlFilePath(_0x15ef9b,_0x517394['sqlCode'],_0x51d9dc);let _0x26e3c0=_0x33ed81(0x1c8),_0x475af8;if(await fileExists(_0x15fcf4)){const _0x45eb57=await readFile(_0x15fcf4,_0x33ed81(0x1de));isEquivalentPulledSqlFile(_0x45eb57,_0x547ad3,_0x52a589)?(_0x26e3c0='skipped',_0x475af8=_0x33ed81(0x1c3)):(_0x26e3c0=_0x33ed81(0x1dc),_0x475af8=_0x33ed81(0x1f3));}_0x1a83f8[_0x33ed81(0x1bb)]({'sqlCode':_0x517394['sqlCode'],'sqlName':_0x517394[_0x33ed81(0x1df)],'filePath':_0x15fcf4,'status':_0x26e3c0,'reason':_0x475af8});}return{'method':_0x33ed81(0x1c6),'url':_0x33ed81(0x1d4),'body':{'appCode':_0x3153cc['appCode'],'sqlCode':_0x3153cc[_0x33ed81(0x1fa)](_0x33ed81(0x1e9))||null,'sqlName':_0x3153cc[_0x33ed81(0x1fa)]('name')||null,'files':_0x1a83f8},'description':_0x33ed81(0x1e7)+_0x1a83f8['length']+_0x33ed81(0x1c5)+_0x15ef9b[_0x33ed81(0x1cd)]};},async 'execute'(_0x5c8dcb){const _0x6f6ec2=a127_0x3e9caa,_0x48ada9=loadSqlProjectConfig(_0x5c8dcb[_0x6f6ec2(0x1d6)]),_0x56418e=await readSqlLockFile(_0x48ada9[_0x6f6ec2(0x1d9)]),{lockData:_0x18ffa3,appLock:_0x28db20}=ensureSqlLockScope(_0x56418e??createEmptySqlLock(),_0x48ada9[_0x6f6ec2(0x1d6)],_0x48ada9[_0x6f6ec2(0x1e8)],_0x6f6ec2(0x1f9)),_0x5c0da4=_0x5c8dcb['bool'](_0x6f6ec2(0x1d2)),_0x262cd2=await fetchAllSqlQueries(_0x5c8dcb[_0x6f6ec2(0x1d6)],{'sqlCode':_0x5c8dcb[_0x6f6ec2(0x1fa)](_0x6f6ec2(0x1e9))||undefined,'sqlName':_0x5c8dcb['str'](_0x6f6ec2(0x1ea))||undefined});if(_0x262cd2[_0x6f6ec2(0x1c4)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x6f6ec2(0x1d8)};const _0x4e8e9e=[],_0x31d374=[];for(const _0x245f33 of _0x262cd2){try{_0x4e8e9e[_0x6f6ec2(0x1bb)](await ensureSqlContent(_0x245f33));}catch(_0x437dad){_0x31d374[_0x6f6ec2(0x1bb)]({'sqlCode':_0x245f33[_0x6f6ec2(0x1bc)],'error':_0x437dad instanceof Error?_0x437dad['message']:String(_0x437dad)});}}if(_0x5c0da4&&!_0x5c8dcb['nonInteractive']){let _0x33ccad=![];for(const _0x2c3130 of _0x4e8e9e){const _0x4d37ea=detectModeFromSql(_0x2c3130),_0x477190=_0x2c3130[_0x6f6ec2(0x1f7)]?await getDbName(_0x5c8dcb['appCode'],Number(_0x2c3130[_0x6f6ec2(0x1f7)]))['catch'](()=>undefined):undefined,_0x2e25f1=buildLocalSqlFileContent({'sqlCode':_0x2c3130['sqlCode'],'sqlName':_0x2c3130[_0x6f6ec2(0x1df)],'dbId':_0x2c3130['dbId']},ensureRemoteSqlContent(_0x2c3130),{'dbName':_0x477190,'mode':_0x4d37ea,'syncedAt':new Date()[_0x6f6ec2(0x1f5)](),'description':_0x2c3130['description']}),_0x48a823=resolveLocalSqlFilePath(_0x48ada9,_0x2c3130[_0x6f6ec2(0x1bc)],buildSqlLockEntry(_0x2c3130,ensureRemoteSqlContent(_0x2c3130),'',{'dbName':_0x477190}));if(await fileExists(_0x48a823)){const _0x16e0ef=await readFile(_0x48a823,'utf8');if(!isEquivalentPulledSqlFile(_0x16e0ef,_0x2e25f1,_0x4d37ea)){_0x33ccad=!![];break;}}}if(_0x33ccad){const _0x456115=await confirmForceOverwrite(_0x6f6ec2(0x1e6));if(!_0x456115)throw CliErrors[_0x6f6ec2(0x1d3)](_0x6f6ec2(0x1e3));}}const _0x259c91=cloneSqlLockData(_0x18ffa3),_0x3f37ae=_0x259c91[_0x6f6ec2(0x1be)][_0x48ada9[_0x6f6ec2(0x1d6)]],_0x551c0d=[],_0x24eafc=[];for(const _0x3ab526 of _0x4e8e9e){const _0x3a920e=_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526['sqlCode']],_0x171916=ensureRemoteSqlContent(_0x3ab526),_0x325ac4=detectModeFromSql(_0x3ab526),_0x56855b=_0x3ab526[_0x6f6ec2(0x1f7)]?await getDbName(_0x5c8dcb[_0x6f6ec2(0x1d6)],Number(_0x3ab526[_0x6f6ec2(0x1f7)]))[_0x6f6ec2(0x1ec)](()=>undefined):undefined,_0x2ac301=buildLocalSqlFileContent({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'sqlName':_0x3ab526[_0x6f6ec2(0x1df)],'dbId':_0x3ab526['dbId']},_0x171916,{'dbName':_0x56855b,'mode':_0x325ac4,'syncedAt':new Date()[_0x6f6ec2(0x1f5)](),'description':_0x3ab526[_0x6f6ec2(0x1e0)]}),_0x16e6ed=buildSqlLockEntry(_0x3ab526,_0x171916,computeSqlContentHash(_0x2ac301),{'dbName':_0x56855b}),_0x84b0b7=_0x16e6ed['path'],_0x11cef7=join(_0x48ada9[_0x6f6ec2(0x1cd)],_0x84b0b7);try{if(await fileExists(_0x11cef7)){const _0x59c329=await readFile(_0x11cef7,_0x6f6ec2(0x1de));if(isEquivalentPulledSqlFile(_0x59c329,_0x2ac301,_0x325ac4)){_0x24eafc[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526['sqlCode'],'reason':'unchanged'}),_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526['sqlCode']]={..._0x16e6ed,'hash':computeSqlContentHash(_0x59c329),'path':_0x84b0b7};continue;}if(!_0x5c0da4){_0x24eafc[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'reason':_0x6f6ec2(0x1ed)});continue;}}const _0x5863b3=_0x3a920e?.[_0x6f6ec2(0x1cf)]?join(_0x48ada9['sqlRootDir'],_0x3a920e[_0x6f6ec2(0x1cf)]):undefined;_0x5863b3&&_0x5863b3!==_0x11cef7&&await fileExists(_0x5863b3)&&await rm(_0x5863b3,{'force':!![]}),await ensureParentDirectory(_0x11cef7),await writeFile(_0x11cef7,_0x2ac301,_0x6f6ec2(0x1de)),_0x3f37ae[_0x6f6ec2(0x1f0)][_0x3ab526[_0x6f6ec2(0x1bc)]]={..._0x16e6ed,'path':_0x84b0b7},_0x551c0d[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'filePath':_0x11cef7});}catch(_0x4bee49){_0x31d374[_0x6f6ec2(0x1bb)]({'sqlCode':_0x3ab526[_0x6f6ec2(0x1bc)],'error':_0x4bee49 instanceof Error?_0x4bee49['message']:String(_0x4bee49)});}}return _0x3f37ae[_0x6f6ec2(0x1c1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x48ada9['lockFilePath'],_0x259c91),{'ok':_0x31d374[_0x6f6ec2(0x1c4)]===0x0,'data':{'pulled':_0x551c0d,'skipped':_0x24eafc,'failed':_0x31d374},'message':_0x6f6ec2(0x1f4)+_0x551c0d['length']+_0x6f6ec2(0x1dd)+_0x24eafc[_0x6f6ec2(0x1c4)]+_0x6f6ec2(0x1eb)+_0x31d374['length']+_0x6f6ec2(0x1c9)};}};function detectModeFromSql(_0x2dd021){const _0x36bd7c=a127_0x3e9caa,_0x4212d7=ensureRemoteSqlContent(_0x2dd021),_0x258af5=stripLocalSqlMetadata(_0x4212d7,_0x36bd7c(0x1d0))['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0x258af5))return _0x36bd7c(0x1d0);return _0x36bd7c(0x1bd);}function isEquivalentPulledSqlFile(_0xb64ea8,_0x419671,_0x77316c){return normalizePullComparableContent(_0xb64ea8,_0x77316c)===normalizePullComparableContent(_0x419671,_0x77316c);}function normalizePullComparableContent(_0xdfcfc1,_0x4fce48){const _0x6122fb=a127_0x3e9caa,_0x3db615=_0xdfcfc1[_0x6122fb(0x1d7)](/\r\n/g,'\x0a')[_0x6122fb(0x1d1)]('\x0a'),_0x411886=_0x3db615[_0x6122fb(0x1e5)](_0x4e4600=>!isSyncedAtMetadataLine(_0x4e4600,_0x4fce48));return _0x411886['join']('\x0a');}function isSyncedAtMetadataLine(_0x4e749b,_0x16baa1){const _0x19c144=a127_0x3e9caa;if(_0x16baa1===_0x19c144(0x1d0))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x19c144(0x1bf)](_0x4e749b);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x19c144(0x1bf)](_0x4e749b);}