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

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 (203) hide show
  1. package/README.md +18 -0
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/add.js +1 -1
  21. package/lib/commands/app/discover.js +1 -1
  22. package/lib/commands/app/index.js +1 -1
  23. package/lib/commands/app/list.js +1 -1
  24. package/lib/commands/app/remove.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app/use.js +1 -1
  27. package/lib/commands/auth/index.js +1 -1
  28. package/lib/commands/bff/create.js +1 -1
  29. package/lib/commands/bff/delete.js +1 -1
  30. package/lib/commands/bff/detail.js +1 -1
  31. package/lib/commands/bff/index.js +1 -1
  32. package/lib/commands/bff/list.js +1 -1
  33. package/lib/commands/bff/pull.js +1 -1
  34. package/lib/commands/bff/push.js +1 -1
  35. package/lib/commands/bff/status.js +1 -1
  36. package/lib/commands/cli-update.js +1 -1
  37. package/lib/commands/codegen/index.js +1 -1
  38. package/lib/commands/codegen/sdk.js +1 -1
  39. package/lib/commands/codegen/sql.js +1 -1
  40. package/lib/commands/common/app-selector.js +1 -1
  41. package/lib/commands/common/flags.js +1 -1
  42. package/lib/commands/common/validate.js +1 -1
  43. package/lib/commands/config/get.js +1 -1
  44. package/lib/commands/config/index.js +1 -1
  45. package/lib/commands/config/list.js +1 -1
  46. package/lib/commands/config/set.js +1 -1
  47. package/lib/commands/config/shared.js +1 -1
  48. package/lib/commands/data/filter.js +1 -1
  49. package/lib/commands/data/getOne.js +1 -1
  50. package/lib/commands/data/index.js +1 -1
  51. package/lib/commands/data/shared.js +1 -1
  52. package/lib/commands/dataset/capability.js +1 -1
  53. package/lib/commands/dataset/delete.js +1 -1
  54. package/lib/commands/dataset/detail.js +1 -1
  55. package/lib/commands/dataset/extend-update.js +1 -1
  56. package/lib/commands/dataset/field-update.js +1 -1
  57. package/lib/commands/dataset/index.js +1 -1
  58. package/lib/commands/dataset/link-create.js +1 -1
  59. package/lib/commands/dataset/link-delete.js +1 -1
  60. package/lib/commands/dataset/link-shared.js +1 -1
  61. package/lib/commands/dataset/link-update.js +1 -1
  62. package/lib/commands/dataset/links.js +1 -1
  63. package/lib/commands/dataset/list.js +1 -1
  64. package/lib/commands/dataset/operations.js +1 -1
  65. package/lib/commands/dataset/rename.js +1 -1
  66. package/lib/commands/db/analyze-cancel.js +1 -1
  67. package/lib/commands/db/analyze-start.js +1 -1
  68. package/lib/commands/db/analyze-status.js +1 -1
  69. package/lib/commands/db/create.js +1 -1
  70. package/lib/commands/db/delete.js +1 -1
  71. package/lib/commands/db/detail.js +1 -1
  72. package/lib/commands/db/diff.js +1 -1
  73. package/lib/commands/db/index.js +1 -1
  74. package/lib/commands/db/list.js +1 -1
  75. package/lib/commands/db/shared.js +1 -1
  76. package/lib/commands/db/tables.js +1 -1
  77. package/lib/commands/db/test.js +1 -1
  78. package/lib/commands/db/update.js +1 -1
  79. package/lib/commands/doctor.js +1 -1
  80. package/lib/commands/init/index.js +1 -1
  81. package/lib/commands/issue/index.js +1 -1
  82. package/lib/commands/issue/nudge.js +1 -1
  83. package/lib/commands/issue/report.js +1 -1
  84. package/lib/commands/issue/shared.js +1 -1
  85. package/lib/commands/logs/index.js +1 -1
  86. package/lib/commands/menu/index.js +1 -1
  87. package/lib/commands/menu/shared/compare-table.js +1 -1
  88. package/lib/commands/menu/shared/index.js +1 -1
  89. package/lib/commands/menu/shared/inquirer.js +1 -1
  90. package/lib/commands/menu/shared/local-pages.js +1 -1
  91. package/lib/commands/menu/shared/logic.js +1 -1
  92. package/lib/commands/menu/shared/service.js +1 -1
  93. package/lib/commands/menu/shared/sync-core.js +1 -1
  94. package/lib/commands/menu/shared/update-core.js +1 -1
  95. package/lib/commands/menu/shared/valid-url.js +1 -1
  96. package/lib/commands/menu/sync.js +1 -1
  97. package/lib/commands/menu/update.js +1 -1
  98. package/lib/commands/page/generate-start.js +1 -1
  99. package/lib/commands/page/generate-status.js +1 -1
  100. package/lib/commands/page/index.js +1 -1
  101. package/lib/commands/page/pull.js +1 -1
  102. package/lib/commands/page/push.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/version.js +1 -1
  201. package/lib/utils/with-active-cookie.js +1 -1
  202. package/lib/utils/write-cli-side-channel.js +1 -1
  203. package/package.json +3 -3
@@ -1 +1 @@
1
- const a117_0x49bd40=a117_0x292c;(function(_0x17dc6a,_0x10d397){const _0x3ab29f=a117_0x292c,_0x532db6=_0x17dc6a();while(!![]){try{const _0x1b74c4=parseInt(_0x3ab29f(0x8e))/0x1*(-parseInt(_0x3ab29f(0xa8))/0x2)+-parseInt(_0x3ab29f(0x86))/0x3*(parseInt(_0x3ab29f(0x96))/0x4)+parseInt(_0x3ab29f(0x78))/0x5*(parseInt(_0x3ab29f(0x80))/0x6)+parseInt(_0x3ab29f(0x74))/0x7*(parseInt(_0x3ab29f(0x85))/0x8)+-parseInt(_0x3ab29f(0x9f))/0x9*(parseInt(_0x3ab29f(0x67))/0xa)+-parseInt(_0x3ab29f(0x7f))/0xb+-parseInt(_0x3ab29f(0x66))/0xc*(-parseInt(_0x3ab29f(0x94))/0xd);if(_0x1b74c4===_0x10d397)break;else _0x532db6['push'](_0x532db6['shift']());}catch(_0x4951df){_0x532db6['push'](_0x532db6['shift']());}}}(a117_0x27d7,0xc901b));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';function a117_0x27d7(){const _0xe77a60=['3840396sCrWmO','Script\x20name\x20defined\x20in\x20package.json','args','join','\x22\x20not\x20found\x20in\x20package.json.','\x20run\x20preview','\x0a\x20\x20Available\x20scripts:\x0a','run','5djutax','max','\x20\x20EXAMPLES','bun','all','push','65uronno','\x0a\x20\x20Usage:\x20','4VZNdFq','dev','keys','script','bun.lockb','\x20run\x20','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','yarn.lock','validation','18yEkhyr','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','length','cwd','Run\x20a\x20package.json\x20script','\x20run\x20<script>\x0a','boolean','vite\x20preview\x20exited\x20with\x20code\x20','.bin','320074slDXrW','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','Available:\x20','belowMinimum','needsUpgrade','3707064UxpDoO','4889440XZMmQT','read','entries','vite','package.json','build','scripts','inherit','\x20run\x20build','watch','\x20\x20\x20\x20','map','close','1232jUQwws','padEnd','has','bun.lock','5lRmDhh','No\x20scripts\x20defined\x20in\x20package.json.','No\x20package.json\x20found\x20in\x20current\x20directory.','\x20exited\x20with\x20code\x20','--watch','error','node_modules','3761032KeaIWu','9189972tOdsVL','log','slice','yarn','parse','52144NikgbD'];a117_0x27d7=function(){return _0xe77a60;};return a117_0x27d7();}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(['start',a117_0x49bd40(0x97)]);function readPackageScripts(_0x441a9d){const _0x10726c=a117_0x49bd40,_0x3f83e5=resolve(_0x441a9d,_0x10726c(0x6b));if(!existsSync(_0x3f83e5))return null;try{const _0x4e721c=JSON[_0x10726c(0x84)](readFileSync(_0x3f83e5,'utf-8'));return _0x4e721c[_0x10726c(0x6d)]??{};}catch{return null;}}function detectPackageManager(_0x22b2a5){const _0x2a06fb=a117_0x49bd40;if(existsSync(resolve(_0x22b2a5,_0x2a06fb(0x9a)))||existsSync(resolve(_0x22b2a5,_0x2a06fb(0x77))))return _0x2a06fb(0x91);if(existsSync(resolve(_0x22b2a5,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x22b2a5,_0x2a06fb(0x9d))))return _0x2a06fb(0x83);return'npm';}async function versionCheck(_0x132361){const _0x2312de=a117_0x49bd40,_0x5d7cb8=await checkCliVersion();(_0x5d7cb8[_0x2312de(0x65)]||_0x5d7cb8[_0x2312de(0xab)])&&(printCliUpgradeWarning(_0x5d7cb8),assertCliVersionSupported(_0x5d7cb8));const _0x4fe94c=await checkSdkVersion(_0x132361);if(_0x4fe94c[_0x2312de(0x65)])printSdkUpgradeWarning(_0x4fe94c);}function spawnScript(_0x33346a,_0x384f01,_0x568f8b,_0x56a885){return new Promise((_0x4aebef,_0xace55e)=>{const _0xd2280c=a117_0x292c,_0x538896=['run',_0x384f01,..._0x568f8b],_0x4a9f44=spawn(_0x33346a,_0x538896,{'cwd':_0x56a885,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x56a885,_0xd2280c(0x7e),_0xd2280c(0xa7))+delimiter+process.env.PATH}});_0x4a9f44['on'](_0xd2280c(0x73),_0x4b5e5b=>{const _0x99bfb6=_0xd2280c;if(_0x4b5e5b===0x0||_0x4b5e5b===null)_0x4aebef();else _0xace55e(new Error(_0x33346a+_0x99bfb6(0x9b)+_0x384f01+_0x99bfb6(0x7b)+_0x4b5e5b));}),_0x4a9f44['on'](_0xd2280c(0x7d),_0xace55e);});}function spawnViteBuildWatch(_0xf21111){return new Promise((_0x975ff3,_0x403fee)=>{const _0x21e3ed=a117_0x292c,_0x665974=spawn(_0x21e3ed(0x6a),[_0x21e3ed(0x6c),_0x21e3ed(0x7c)],{'cwd':_0xf21111,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xf21111,'node_modules',_0x21e3ed(0xa7))+delimiter+process.env.PATH}});_0x665974['on'](_0x21e3ed(0x73),_0x18f0f8=>{const _0x9c0dab=_0x21e3ed;if(_0x18f0f8===0x0||_0x18f0f8===null)_0x975ff3();else _0x403fee(new Error(_0x9c0dab(0xa0)+_0x18f0f8));}),_0x665974['on'](_0x21e3ed(0x7d),_0x403fee);});}function spawnVitePreview(_0x2a6109){return new Promise((_0x12a721,_0x28f5aa)=>{const _0xb8f0e7=a117_0x292c,_0x20a913=spawn('vite',['preview'],{'cwd':_0x2a6109,'stdio':_0xb8f0e7(0x6e),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2a6109,_0xb8f0e7(0x7e),_0xb8f0e7(0xa7))+delimiter+process.env.PATH}});_0x20a913['on'](_0xb8f0e7(0x73),_0x129b1b=>{const _0x159cfe=_0xb8f0e7;if(_0x129b1b===0x0||_0x129b1b===null)_0x12a721();else _0x28f5aa(new Error(_0x159cfe(0xa6)+_0x129b1b));}),_0x20a913['on'](_0xb8f0e7(0x7d),_0x28f5aa);});}const runFlags=[{'name':a117_0x49bd40(0x70),'type':a117_0x49bd40(0xa5),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];function a117_0x292c(_0x54ea30,_0x56667b){_0x54ea30=_0x54ea30-0x65;const _0x27d7fe=a117_0x27d7();let _0x292c09=_0x27d7fe[_0x54ea30];return _0x292c09;}export const runDefinition={'service':a117_0x49bd40(0x8d),'command':'run','description':a117_0x49bd40(0xa3),'risk':a117_0x49bd40(0x68),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a117_0x49bd40(0x99),'description':a117_0x49bd40(0x87),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x529b31=a117_0x49bd40,_0x5bef6e=readPackageScripts(process[_0x529b31(0xa2)]()),_0x5d710e=[];if(_0x5bef6e&&Object[_0x529b31(0x98)](_0x5bef6e)[_0x529b31(0xa1)]>0x0){const _0x52f2a9=Object[_0x529b31(0x98)](_0x5bef6e),_0x46d064=Math[_0x529b31(0x8f)](..._0x52f2a9[_0x529b31(0x72)](_0x19b854=>_0x19b854['length']));_0x5d710e[_0x529b31(0x93)](_0x529b31(0xa9));for(const [_0x216161,_0x325b4d]of Object[_0x529b31(0x69)](_0x5bef6e)){_0x5d710e[_0x529b31(0x93)](_0x529b31(0x71)+CLI_BIN_NAME+_0x529b31(0x9b)+_0x216161[_0x529b31(0x75)](_0x46d064+0x2)+'#\x20'+_0x325b4d);}}else _0x5d710e[_0x529b31(0x93)](_0x529b31(0x90)),_0x5d710e[_0x529b31(0x93)](_0x529b31(0x71)+CLI_BIN_NAME+'\x20run\x20start'),_0x5d710e['push'](_0x529b31(0x71)+CLI_BIN_NAME+_0x529b31(0x6f)),_0x5d710e[_0x529b31(0x93)](_0x529b31(0x71)+CLI_BIN_NAME+_0x529b31(0x8b)),_0x5d710e['push'](_0x529b31(0x71)+CLI_BIN_NAME+_0x529b31(0x9c));return _0x5d710e[_0x529b31(0x89)]('\x0a');},async 'execute'(_0x1358d4){const _0x3ba222=a117_0x49bd40,_0x369680=process[_0x3ba222(0xa2)](),_0x2f462b=_0x1358d4['args'][0x0],_0x792f4b=_0x1358d4[_0x3ba222(0x88)][_0x3ba222(0x82)](0x1),_0x4e69f4=readPackageScripts(_0x369680);if(!_0x4e69f4)throw CliErrors['validation'](_0x3ba222(0x7a));if(!_0x2f462b){const _0x28252f=Object[_0x3ba222(0x98)](_0x4e69f4);if(_0x28252f[_0x3ba222(0xa1)]===0x0)console['log'](_0x3ba222(0x79));else{console[_0x3ba222(0x81)](_0x3ba222(0x8c));const _0x43ef33=Math[_0x3ba222(0x8f)](..._0x28252f[_0x3ba222(0x72)](_0x480f92=>_0x480f92[_0x3ba222(0xa1)]));for(const [_0x31e846,_0x23d337]of Object[_0x3ba222(0x69)](_0x4e69f4)){console[_0x3ba222(0x81)](_0x3ba222(0x71)+_0x31e846['padEnd'](_0x43ef33+0x2)+_0x23d337);}console[_0x3ba222(0x81)](_0x3ba222(0x95)+CLI_BIN_NAME+_0x3ba222(0xa4));}return{'ok':!![]};}if(!_0x4e69f4[_0x2f462b])throw CliErrors[_0x3ba222(0x9e)]('Script\x20\x22'+_0x2f462b+_0x3ba222(0x8a),_0x3ba222(0xaa)+(Object['keys'](_0x4e69f4)['join'](',\x20')||'(none)'));const _0x526803=detectPackageManager(_0x369680);VERSION_CHECK_SCRIPTS[_0x3ba222(0x76)](_0x2f462b)&&await versionCheck(_0x369680);if(_0x2f462b==='preview'&&_0x1358d4['bool'](_0x3ba222(0x70)))return await Promise[_0x3ba222(0x92)]([spawnViteBuildWatch(_0x369680),spawnVitePreview(_0x369680)]),{'ok':!![]};return await spawnScript(_0x526803,_0x2f462b,_0x792f4b,_0x369680),{'ok':!![]};}};
1
+ const a117_0x22ca2d=a117_0x3c84;(function(_0x3a772d,_0x18c2bb){const _0x1f666e=a117_0x3c84,_0xbadd83=_0x3a772d();while(!![]){try{const _0x3dd68e=-parseInt(_0x1f666e(0x120))/0x1+-parseInt(_0x1f666e(0x106))/0x2*(parseInt(_0x1f666e(0x105))/0x3)+parseInt(_0x1f666e(0xf7))/0x4+parseInt(_0x1f666e(0x10f))/0x5+-parseInt(_0x1f666e(0x125))/0x6*(parseInt(_0x1f666e(0x111))/0x7)+-parseInt(_0x1f666e(0xfa))/0x8+parseInt(_0x1f666e(0x12a))/0x9;if(_0x3dd68e===_0x18c2bb)break;else _0xbadd83['push'](_0xbadd83['shift']());}catch(_0x4d4690){_0xbadd83['push'](_0xbadd83['shift']());}}}(a117_0x1dd9,0xeb33b));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';function a117_0x3c84(_0x10bc90,_0x29d742){_0x10bc90=_0x10bc90-0xf0;const _0x1dd9a6=a117_0x1dd9();let _0x3c84a5=_0x1dd9a6[_0x10bc90];return _0x3c84a5;}import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a117_0x22ca2d(0xf4),'dev']);function a117_0x1dd9(){const _0x20f7a7=['script','1315190jmRUpP','vite\x20preview\x20exited\x20with\x20code\x20','run','package.json','cwd','8393922XrnQZu','padEnd','\x20run\x20<script>\x0a','map','(none)','43690014SiGkNJ','.bin','args','close','build','start','has','preview','1157120KBjWrC','\x20run\x20','No\x20scripts\x20defined\x20in\x20package.json.','12159264IJXcSc','inherit','pnpm','\x20\x20\x20\x20','entries','bun.lock','error','parse','node_modules','\x20run\x20start','boolean','958359bnHmet','2gPQkGx','\x20exited\x20with\x20code\x20','Run\x20a\x20package.json\x20script','read','push','yarn.lock','vite','Script\x20\x22','log','1865995oXFQMn','join','7CybAqm','npm','scripts','\x0a\x20\x20Usage:\x20','validation','\x20run\x20preview','length','max','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','watch','--watch','keys','bun.lockb','Script\x20name\x20defined\x20in\x20package.json'];a117_0x1dd9=function(){return _0x20f7a7;};return a117_0x1dd9();}function readPackageScripts(_0x8cb959){const _0x191ae1=a117_0x22ca2d,_0x2ec98b=resolve(_0x8cb959,_0x191ae1(0x123));if(!existsSync(_0x2ec98b))return null;try{const _0x2a0120=JSON[_0x191ae1(0x101)](readFileSync(_0x2ec98b,'utf-8'));return _0x2a0120[_0x191ae1(0x113)]??{};}catch{return null;}}function detectPackageManager(_0x5ca449){const _0x575fc8=a117_0x22ca2d;if(existsSync(resolve(_0x5ca449,_0x575fc8(0x11d)))||existsSync(resolve(_0x5ca449,_0x575fc8(0xff))))return'bun';if(existsSync(resolve(_0x5ca449,'pnpm-lock.yaml')))return _0x575fc8(0xfc);if(existsSync(resolve(_0x5ca449,_0x575fc8(0x10b))))return'yarn';return _0x575fc8(0x112);}async function versionCheck(_0x16a124){const _0x18a715=await checkCliVersion();(_0x18a715['needsUpgrade']||_0x18a715['belowMinimum'])&&(printCliUpgradeWarning(_0x18a715),assertCliVersionSupported(_0x18a715));const _0x3ba6fc=await checkSdkVersion(_0x16a124);if(_0x3ba6fc['needsUpgrade'])printSdkUpgradeWarning(_0x3ba6fc);}function spawnScript(_0x3ac326,_0x4dd812,_0x358d87,_0x21dd78){return new Promise((_0xa85eb,_0xdadebd)=>{const _0x11c744=a117_0x3c84,_0x38cb9d=[_0x11c744(0x122),_0x4dd812,..._0x358d87],_0x23d823=spawn(_0x3ac326,_0x38cb9d,{'cwd':_0x21dd78,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x21dd78,_0x11c744(0x102),_0x11c744(0xf0))+delimiter+process.env.PATH}});_0x23d823['on'](_0x11c744(0xf2),_0x35f695=>{const _0x4ad09d=_0x11c744;if(_0x35f695===0x0||_0x35f695===null)_0xa85eb();else _0xdadebd(new Error(_0x3ac326+_0x4ad09d(0xf8)+_0x4dd812+_0x4ad09d(0x107)+_0x35f695));}),_0x23d823['on']('error',_0xdadebd);});}function spawnViteBuildWatch(_0x51ba74){return new Promise((_0x5e23b1,_0x510b7b)=>{const _0x4f995d=a117_0x3c84,_0x3a9128=spawn('vite',[_0x4f995d(0xf3),_0x4f995d(0x11b)],{'cwd':_0x51ba74,'stdio':_0x4f995d(0xfb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x51ba74,'node_modules',_0x4f995d(0xf0))+delimiter+process.env.PATH}});_0x3a9128['on'](_0x4f995d(0xf2),_0x95370a=>{const _0x1b3806=_0x4f995d;if(_0x95370a===0x0||_0x95370a===null)_0x5e23b1();else _0x510b7b(new Error(_0x1b3806(0x119)+_0x95370a));}),_0x3a9128['on'](_0x4f995d(0x100),_0x510b7b);});}function spawnVitePreview(_0x141ab5){return new Promise((_0x5c9f5f,_0x324381)=>{const _0x32c64a=a117_0x3c84,_0x1f8fe1=spawn(_0x32c64a(0x10c),[_0x32c64a(0xf6)],{'cwd':_0x141ab5,'stdio':_0x32c64a(0xfb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x141ab5,_0x32c64a(0x102),'.bin')+delimiter+process.env.PATH}});_0x1f8fe1['on']('close',_0x537c13=>{const _0x5d022f=_0x32c64a;if(_0x537c13===0x0||_0x537c13===null)_0x5c9f5f();else _0x324381(new Error(_0x5d022f(0x121)+_0x537c13));}),_0x1f8fe1['on']('error',_0x324381);});}const runFlags=[{'name':'watch','type':a117_0x22ca2d(0x104),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a117_0x22ca2d(0x122),'command':a117_0x22ca2d(0x122),'description':a117_0x22ca2d(0x108),'risk':a117_0x22ca2d(0x109),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a117_0x22ca2d(0x11f),'description':a117_0x22ca2d(0x11e),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x1fec8e=a117_0x22ca2d,_0x301ffb=readPackageScripts(process[_0x1fec8e(0x124)]()),_0x10e7ec=[];if(_0x301ffb&&Object['keys'](_0x301ffb)['length']>0x0){const _0x5d9381=Object[_0x1fec8e(0x11c)](_0x301ffb),_0x1521be=Math[_0x1fec8e(0x118)](..._0x5d9381[_0x1fec8e(0x128)](_0x532289=>_0x532289['length']));_0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x32af22,_0x595c30]of Object['entries'](_0x301ffb)){_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+_0x1fec8e(0xf8)+_0x32af22[_0x1fec8e(0x126)](_0x1521be+0x2)+'#\x20'+_0x595c30);}}else _0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20EXAMPLES'),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+_0x1fec8e(0x103)),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+'\x20run\x20build'),_0x10e7ec[_0x1fec8e(0x10a)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x1fec8e(0x116)),_0x10e7ec[_0x1fec8e(0x10a)](_0x1fec8e(0xfd)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x10e7ec['join']('\x0a');},async 'execute'(_0x8e6a19){const _0x59a539=a117_0x22ca2d,_0x59f475=process[_0x59a539(0x124)](),_0xf1d3eb=_0x8e6a19[_0x59a539(0xf1)][0x0],_0x5a97d7=_0x8e6a19[_0x59a539(0xf1)]['slice'](0x1),_0x53598d=readPackageScripts(_0x59f475);if(!_0x53598d)throw CliErrors[_0x59a539(0x115)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0xf1d3eb){const _0x2e08b2=Object['keys'](_0x53598d);if(_0x2e08b2[_0x59a539(0x117)]===0x0)console[_0x59a539(0x10e)](_0x59a539(0xf9));else{console[_0x59a539(0x10e)]('\x0a\x20\x20Available\x20scripts:\x0a');const _0x4fc238=Math[_0x59a539(0x118)](..._0x2e08b2['map'](_0x160e8d=>_0x160e8d[_0x59a539(0x117)]));for(const [_0x59a344,_0x585366]of Object[_0x59a539(0xfe)](_0x53598d)){console['log']('\x20\x20\x20\x20'+_0x59a344[_0x59a539(0x126)](_0x4fc238+0x2)+_0x585366);}console[_0x59a539(0x10e)](_0x59a539(0x114)+CLI_BIN_NAME+_0x59a539(0x127));}return{'ok':!![]};}if(!_0x53598d[_0xf1d3eb])throw CliErrors[_0x59a539(0x115)](_0x59a539(0x10d)+_0xf1d3eb+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x53598d)[_0x59a539(0x110)](',\x20')||_0x59a539(0x129)));const _0x5f2850=detectPackageManager(_0x59f475);VERSION_CHECK_SCRIPTS[_0x59a539(0xf5)](_0xf1d3eb)&&await versionCheck(_0x59f475);if(_0xf1d3eb===_0x59a539(0xf6)&&_0x8e6a19['bool'](_0x59a539(0x11a)))return await Promise['all']([spawnViteBuildWatch(_0x59f475),spawnVitePreview(_0x59f475)]),{'ok':!![]};return await spawnScript(_0x5f2850,_0xf1d3eb,_0x5a97d7,_0x59f475),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a118_0x3679(){const _0x141ace=['schema','370wEEXEs','3087QLbTYW','10826jtvDbW','26UmgUGf','1121076Cuufyz','5DcbuQR','Export\x20machine-readable\x20command\x20schema\x20(JSON)','243388XFbSCc','1880106TdtMJf','json','123dNPmuA','export','84381nzdDdm','142404xVJyyE','7mLbGXr','3856VVrTun'];a118_0x3679=function(){return _0x141ace;};return a118_0x3679();}const a118_0x25e687=a118_0x3891;(function(_0x2a6871,_0x53b622){const _0x3646a0=a118_0x3891,_0x31482b=_0x2a6871();while(!![]){try{const _0x2ba30f=parseInt(_0x3646a0(0x7c))/0x1+parseInt(_0x3646a0(0x88))/0x2*(-parseInt(_0x3646a0(0x7f))/0x3)+-parseInt(_0x3646a0(0x79))/0x4*(parseInt(_0x3646a0(0x7a))/0x5)+-parseInt(_0x3646a0(0x7d))/0x6*(-parseInt(_0x3646a0(0x83))/0x7)+-parseInt(_0x3646a0(0x84))/0x8*(parseInt(_0x3646a0(0x87))/0x9)+parseInt(_0x3646a0(0x86))/0xa*(parseInt(_0x3646a0(0x81))/0xb)+parseInt(_0x3646a0(0x82))/0xc*(parseInt(_0x3646a0(0x89))/0xd);if(_0x2ba30f===_0x53b622)break;else _0x31482b['push'](_0x31482b['shift']());}catch(_0x4cf83e){_0x31482b['push'](_0x31482b['shift']());}}}(a118_0x3679,0x300a4));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xeff2e6){const _0x15125d=await buildSchemaPayload();return{'ok':!![],'data':_0x15125d};}function a118_0x3891(_0x2e3e36,_0x114b3c){_0x2e3e36=_0x2e3e36-0x79;const _0x36799c=a118_0x3679();let _0x389173=_0x36799c[_0x2e3e36];return _0x389173;}export const schemaDefinition={'service':a118_0x25e687(0x85),'command':a118_0x25e687(0x80),'description':a118_0x25e687(0x7b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a118_0x25e687(0x7e),'flags':[],'execute':execute};
1
+ const a118_0x4ce732=a118_0x1d6b;function a118_0x1d6b(_0x3cee8f,_0x41acc4){_0x3cee8f=_0x3cee8f-0xd2;const _0x4fcae1=a118_0x4fca();let _0x1d6b4e=_0x4fcae1[_0x3cee8f];return _0x1d6b4e;}(function(_0xfe743e,_0x5b16fa){const _0x2c6ccb=a118_0x1d6b,_0x29dd71=_0xfe743e();while(!![]){try{const _0x110939=parseInt(_0x2c6ccb(0xde))/0x1+-parseInt(_0x2c6ccb(0xd6))/0x2*(-parseInt(_0x2c6ccb(0xd5))/0x3)+-parseInt(_0x2c6ccb(0xd9))/0x4*(parseInt(_0x2c6ccb(0xd8))/0x5)+-parseInt(_0x2c6ccb(0xdb))/0x6+parseInt(_0x2c6ccb(0xdd))/0x7+-parseInt(_0x2c6ccb(0xd7))/0x8+parseInt(_0x2c6ccb(0xd2))/0x9;if(_0x110939===_0x5b16fa)break;else _0x29dd71['push'](_0x29dd71['shift']());}catch(_0x2e7c35){_0x29dd71['push'](_0x29dd71['shift']());}}}(a118_0x4fca,0x88c03));import{buildSchemaPayload}from'../framework/schema-export.js';function a118_0x4fca(){const _0x4f47e1=['600eGVpHb','32756vOWCcL','schema','4888818xEUelM','read','986447NwIvpH','868777bLWCHn','15739065HUscOH','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','183WFkxlr','11282jebPHF','5959760eHxKXe'];a118_0x4fca=function(){return _0x4f47e1;};return a118_0x4fca();}async function execute(_0x4970d9){const _0x538d75=await buildSchemaPayload();return{'ok':!![],'data':_0x538d75};}export const schemaDefinition={'service':a118_0x4ce732(0xda),'command':a118_0x4ce732(0xd4),'description':a118_0x4ce732(0xd3),'risk':a118_0x4ce732(0xdc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a119_0x3901b2=a119_0x4c15;(function(_0x187806,_0x5dc827){const _0x1fd763=a119_0x4c15,_0x5bf1e9=_0x187806();while(!![]){try{const _0xa36cc4=-parseInt(_0x1fd763(0x106))/0x1+-parseInt(_0x1fd763(0x10f))/0x2*(-parseInt(_0x1fd763(0xff))/0x3)+-parseInt(_0x1fd763(0x116))/0x4+parseInt(_0x1fd763(0xfc))/0x5*(-parseInt(_0x1fd763(0x112))/0x6)+-parseInt(_0x1fd763(0x10d))/0x7*(parseInt(_0x1fd763(0xfe))/0x8)+parseInt(_0x1fd763(0x108))/0x9*(-parseInt(_0x1fd763(0x10c))/0xa)+-parseInt(_0x1fd763(0x109))/0xb*(-parseInt(_0x1fd763(0xf9))/0xc);if(_0xa36cc4===_0x5dc827)break;else _0x5bf1e9['push'](_0x5bf1e9['shift']());}catch(_0x211853){_0x5bf1e9['push'](_0x5bf1e9['shift']());}}}(a119_0x3347,0xd2d4f));import{CliErrors}from'../../errors.js';function a119_0x4c15(_0x44cff4,_0x48424e){_0x44cff4=_0x44cff4-0xf9;const _0x334720=a119_0x3347();let _0x4c15d1=_0x334720[_0x44cff4];return _0x4c15d1;}function a119_0x3347(){const _0xe92c4=['\x20skill\x20installed','cwd','install','../../skills/npx-skills-add.js','597842jAdtoS','lovrabet/rabetbase','8176797eqrDQX','3806chKBFl','inherit','pipe','10AuSObE','5207881ceWBbd','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','5228pGEskg','log','error','2746278rWNayf','skipped','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','skill','4710544EDnMyM','unknown','Install\x20developer\x20skill\x20package','info','175884GuDThI','nonInteractive','Installing\x20official\x20skill\x20via\x20npx\x20(','15mGqnjY','Check\x20network\x20connectivity\x20and\x20try\x20again.','8nkDQKs','681lzZkZj','npx\x20skills\x20add\x20failed:\x20',')...'];a119_0x3347=function(){return _0xe92c4;};return a119_0x3347();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a119_0x3901b2(0x115),'command':a119_0x3901b2(0x104),'description':a119_0x3901b2(0x118),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3fd7a9){const _0x2cc95d=a119_0x3901b2;logger['setLogPath'](process[_0x2cc95d(0x103)]()),logger[_0x2cc95d(0x119)]('skill-install',_0x2cc95d(0x114));const {runNpxSkillsAddGlobal:_0x27339a}=await import(_0x2cc95d(0x105)),_0x25e581=_0x3fd7a9[_0x2cc95d(0xfa)]?_0x2cc95d(0x10b):_0x2cc95d(0x10a);console['log'](_0x2cc95d(0xfb)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x2cc95d(0x101));const _0x26c480=_0x27339a(process[_0x2cc95d(0x103)](),_0x2cc95d(0x107),{'stdio':_0x25e581});if(_0x26c480[_0x2cc95d(0x113)])console[_0x2cc95d(0x110)](_0x2cc95d(0x10e));else{if(_0x26c480['ok'])console[_0x2cc95d(0x110)](CLI_BIN_NAME+_0x2cc95d(0x102));else throw CliErrors['apiError'](_0x2cc95d(0x100)+(_0x26c480[_0x2cc95d(0x111)]||_0x2cc95d(0x117)),_0x2cc95d(0xfd));}return{'ok':!![]};}}];
1
+ const a119_0x43367d=a119_0x7565;(function(_0x51dbf2,_0x87626f){const _0x3344ab=a119_0x7565,_0x101230=_0x51dbf2();while(!![]){try{const _0x46ccf0=-parseInt(_0x3344ab(0x1ec))/0x1*(-parseInt(_0x3344ab(0x1eb))/0x2)+-parseInt(_0x3344ab(0x204))/0x3*(parseInt(_0x3344ab(0x1f7))/0x4)+-parseInt(_0x3344ab(0x201))/0x5*(parseInt(_0x3344ab(0x1e7))/0x6)+parseInt(_0x3344ab(0x1e9))/0x7*(parseInt(_0x3344ab(0x1ff))/0x8)+parseInt(_0x3344ab(0x1f8))/0x9+parseInt(_0x3344ab(0x1f3))/0xa*(parseInt(_0x3344ab(0x1f2))/0xb)+parseInt(_0x3344ab(0x1fa))/0xc;if(_0x46ccf0===_0x87626f)break;else _0x101230['push'](_0x101230['shift']());}catch(_0x35e28f){_0x101230['push'](_0x101230['shift']());}}}(a119_0x2790,0x9ef40));function a119_0x2790(){const _0x1c2f4e=['nonInteractive','setLogPath','skill-install','inherit','21670uqMQrm','5230nTkZaN','unknown','cwd','log','4JAglOz','307800whPEkd','../../skills/npx-skills-add.js','1125876FVXSzV','error','Install\x20developer\x20skill\x20package','\x20skill\x20installed','lovrabet/rabetbase','8HLSdoD','Check\x20network\x20connectivity\x20and\x20try\x20again.','2556585VuvxPy',')...','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','1307919utQyts','6SsPHpb','write','755237dCCarc','install','4678RpHsUD','142WGbrzM','info'];a119_0x2790=function(){return _0x1c2f4e;};return a119_0x2790();}function a119_0x7565(_0x2fad4a,_0x41f0cc){_0x2fad4a=_0x2fad4a-0x1e7;const _0x279092=a119_0x2790();let _0x75650f=_0x279092[_0x2fad4a];return _0x75650f;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a119_0x43367d(0x1ea),'description':a119_0x43367d(0x1fc),'risk':a119_0x43367d(0x1e8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1f2fcd){const _0x8160cb=a119_0x43367d;logger[_0x8160cb(0x1ef)](process['cwd']()),logger[_0x8160cb(0x1ed)](_0x8160cb(0x1f0),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x18f3e4}=await import(_0x8160cb(0x1f9)),_0x4b342a=_0x1f2fcd[_0x8160cb(0x1ee)]?'pipe':_0x8160cb(0x1f1);console['log']('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x8160cb(0x202));const _0x20ea21=_0x18f3e4(process[_0x8160cb(0x1f5)](),_0x8160cb(0x1fe),{'stdio':_0x4b342a});if(_0x20ea21['skipped'])console['log'](_0x8160cb(0x203));else{if(_0x20ea21['ok'])console[_0x8160cb(0x1f6)](CLI_BIN_NAME+_0x8160cb(0x1fd));else throw CliErrors['apiError']('npx\x20skills\x20add\x20failed:\x20'+(_0x20ea21[_0x8160cb(0x1fb)]||_0x8160cb(0x1f4)),_0x8160cb(0x200));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a120_0x5941e9=a120_0x53c6;(function(_0x4fc577,_0x6a1731){const _0xfffb41=a120_0x53c6,_0x40116d=_0x4fc577();while(!![]){try{const _0x1889c0=parseInt(_0xfffb41(0xbf))/0x1+-parseInt(_0xfffb41(0xbb))/0x2*(-parseInt(_0xfffb41(0xa3))/0x3)+parseInt(_0xfffb41(0xad))/0x4+-parseInt(_0xfffb41(0xd1))/0x5+-parseInt(_0xfffb41(0xd4))/0x6*(parseInt(_0xfffb41(0xc0))/0x7)+-parseInt(_0xfffb41(0xa1))/0x8+-parseInt(_0xfffb41(0xb2))/0x9*(-parseInt(_0xfffb41(0xb0))/0xa);if(_0x1889c0===_0x6a1731)break;else _0x40116d['push'](_0x40116d['shift']());}catch(_0x418b39){_0x40116d['push'](_0x40116d['shift']());}}}(a120_0x47ef,0x90698));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a120_0x47ef(){const _0x32e695=['--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','dbId\x20不能为空','catch','sql','sqlCode','2188452NuyjsA','✎\x20手动输入\x20dbId','mybatisXml','21438310ZCLynT','Local\x20SQL\x20file\x20mode','9njHjdP','isInteger','SQL\x20query\x20display\x20name','validation','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','请输入\x20SQL\x20名称:','mode','sqlRootDir','create','808870UQHmKt','sqls','sqlName','File\x20already\x20exists:\x20','664373sTDYhN','42vetaCW','flagMissing','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','length','parse','请选择本地\x20SQL\x20模式:','number','/smartapi/custom/saveUserCustomSql','请输入目标数据库\x20dbId:','string','isFinite','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','trim','MyBatis\x20XML(mybatisXml)','请选择目标数据库:','Target\x20database\x20ID','5195750YoVwUg','\x20\x20SELECT\x201\x20AS\x20id','appCode','1103406gqPfyZ','sqlRoot','db-id','SELECT\x201\x20AS\x20id;','nonInteractive','dbName','high-risk-write','join','flag','__manual__','name','dbId\x20必须为正整数','stringify','普通\x20SQL(sql)','lockFilePath','utf8','8205472bShEXu','POST','3BonglU','description','dbId','str'];a120_0x47ef=function(){return _0x32e695;};return a120_0x47ef();}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(_0x37ce73){const _0x5e1b85=a120_0x53c6;if(_0x37ce73==='mybatisXml')return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x5e1b85(0xd2),'</select>',''][_0x5e1b85(0x98)]('\x0a');return[_0x5e1b85(0x94),''][_0x5e1b85(0x98)]('\x0a');}export const sqlCreate={'service':a120_0x5941e9(0xab),'command':a120_0x5941e9(0xba),'description':a120_0x5941e9(0xb6),'risk':a120_0x5941e9(0x97),'flags':[{'name':a120_0x5941e9(0x9b),'type':a120_0x5941e9(0xca),'description':a120_0x5941e9(0xb4)},{'name':a120_0x5941e9(0x93),'type':a120_0x5941e9(0xc7),'description':a120_0x5941e9(0xd0)},{'name':'mode','type':'string','enum':[a120_0x5941e9(0xab),a120_0x5941e9(0xaf)],'description':a120_0x5941e9(0xb1)}],async 'validate'(_0x3fdd98){const _0x5eadba=a120_0x5941e9;if(!_0x3fdd98[_0x5eadba(0x95)])return;if(!_0x3fdd98['str']('name')[_0x5eadba(0xcd)]())throw CliErrors['flagMissing'](_0x5eadba(0x9b),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x295283=resolveProvidedDbId(_0x3fdd98);if(typeof _0x295283!=='number'||!Number[_0x5eadba(0xcb)](_0x295283)||_0x295283<=0x0)throw CliErrors['flagMissing'](_0x5eadba(0x93),_0x5eadba(0xcc));if(!_0x3fdd98[_0x5eadba(0xa6)](_0x5eadba(0xb8))['trim']())throw CliErrors[_0x5eadba(0xc1)](_0x5eadba(0xb8),_0x5eadba(0xa7));},async 'dryRun'(_0x1f2fc9){const _0x5f47cd=a120_0x5941e9,_0x41d4f7=loadSqlProjectConfig(_0x1f2fc9['appCode']),{sqlName:_0x4ad47d,dbId:_0x556115,dbName:_0x1dceef,mode:_0x29708a}=await resolveSqlNewInputs(_0x1f2fc9),_0x45166a=buildSqlRelativePath('<server-generated-sqlCode>',_0x4ad47d,_0x1dceef,_0x29708a,_0x556115),_0xad94bb=_0x41d4f7['sqlRootDir']+'/'+_0x45166a;return{'method':_0x5f47cd(0xa2),'url':_0x5f47cd(0xc8),'body':{'appCode':_0x1f2fc9[_0x5f47cd(0xd3)],'sqlName':_0x4ad47d,'dbId':_0x556115,'mode':_0x29708a,'localPath':_0xad94bb},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x41d4f7[_0x5f47cd(0xb9)]};},async 'execute'(_0x22424d){const _0x5d86e7=a120_0x5941e9,_0x2d1a9d=loadSqlProjectConfig(_0x22424d[_0x5d86e7(0xd3)]),{sqlName:_0x3eb05b,dbId:_0x44bf81,dbName:_0x21b883,mode:_0x4b161e}=await resolveSqlNewInputs(_0x22424d),_0x42fee9=generateSqlTemplate(_0x4b161e),_0x4936ab=await createSqlQuery({'appCode':_0x22424d[_0x5d86e7(0xd3)],'sqlName':_0x3eb05b,'dbId':_0x44bf81,'sqlContent':_0x42fee9}),_0x3bb99f=ensureRemoteSqlContent(_0x4936ab),_0x55001e=_0x21b883||await getDbName(_0x22424d[_0x5d86e7(0xd3)],_0x44bf81)['catch'](()=>undefined),_0x559ecc=buildSqlRelativePath(_0x4936ab[_0x5d86e7(0xac)],_0x4936ab[_0x5d86e7(0xbd)],_0x55001e,_0x4b161e,_0x44bf81),_0x46f54f=_0x2d1a9d['sqlRootDir']+'/'+_0x559ecc,_0x310f71=buildLocalSqlFileContent({'sqlCode':_0x4936ab[_0x5d86e7(0xac)],'sqlName':_0x4936ab[_0x5d86e7(0xbd)],'dbId':_0x4936ab[_0x5d86e7(0xa5)]},_0x3bb99f,{'dbName':_0x55001e,'mode':_0x4b161e,'syncedAt':new Date()['toISOString'](),'description':_0x4936ab[_0x5d86e7(0xa4)]});if(await fileExists(_0x46f54f))throw CliErrors['validation'](_0x5d86e7(0xbe)+_0x46f54f);await ensureParentDirectory(_0x46f54f),await writeFile(_0x46f54f,_0x310f71,_0x5d86e7(0xa0));const _0x1a7e23=await readSqlLockFile(_0x2d1a9d[_0x5d86e7(0x9f)]),{lockData:_0x2dd929,appLock:_0xc60a45}=ensureSqlLockScope(_0x1a7e23??createEmptySqlLock(),_0x2d1a9d['appCode'],_0x2d1a9d[_0x5d86e7(0x92)],'new');return _0xc60a45[_0x5d86e7(0xbc)][_0x4936ab[_0x5d86e7(0xac)]]={...buildSqlLockEntry(_0x4936ab,_0x3bb99f,computeSqlContentHash(_0x310f71),{'dbName':_0x55001e}),'path':_0x559ecc,'mode':_0x4b161e},_0xc60a45['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x2d1a9d['lockFilePath'],_0x2dd929),{'ok':!![],'data':{'id':_0x4936ab['id'],'sqlCode':_0x4936ab[_0x5d86e7(0xac)],'sqlName':_0x4936ab['sqlName'],'dbId':_0x4936ab[_0x5d86e7(0xa5)],'path':_0x46f54f,'mode':_0x4b161e},'message':_0x5d86e7(0xa8)+_0x4936ab[_0x5d86e7(0xac)]};}};async function resolveSqlNewInputs(_0x28a35a){const _0x2a378c=await resolveSqlNameInput(_0x28a35a),{dbId:_0x982571,dbName:_0x25b4a4}=await resolveDbSelection(_0x28a35a),_0x2ea825=await resolveSqlModeInput(_0x28a35a);return{'sqlName':_0x2a378c,'dbId':_0x982571,'dbName':_0x25b4a4,'mode':_0x2ea825};}async function resolveSqlNameInput(_0x36b86f){const _0x19dda1=a120_0x5941e9,_0x4b2a8e=_0x36b86f[_0x19dda1(0xa6)](_0x19dda1(0x9b))[_0x19dda1(0xcd)]();if(_0x4b2a8e)return _0x4b2a8e;if(_0x36b86f['nonInteractive'])throw CliErrors[_0x19dda1(0xc1)](_0x19dda1(0x9b),_0x19dda1(0xc3));return(await input({'message':_0x19dda1(0xb7),'validate':_0x219cbb=>_0x219cbb[_0x19dda1(0xcd)]()?!![]:'SQL\x20名称不能为空'}))['trim']();}function a120_0x53c6(_0x2f0bd3,_0x5d69a6){_0x2f0bd3=_0x2f0bd3-0x92;const _0x47ef44=a120_0x47ef();let _0x53c68c=_0x47ef44[_0x2f0bd3];return _0x53c68c;}async function resolveDbSelection(_0x3858ee){const _0x3186cb=a120_0x5941e9,_0x24fd58=resolveProvidedDbId(_0x3858ee);if(typeof _0x24fd58==='number'&&Number[_0x3186cb(0xcb)](_0x24fd58)&&_0x24fd58>0x0)return{'dbId':_0x24fd58,'dbName':await getDbName(_0x3858ee['appCode'],_0x24fd58)[_0x3186cb(0xaa)](()=>undefined)};if(_0x3858ee[_0x3186cb(0x95)])throw CliErrors[_0x3186cb(0xc1)](_0x3186cb(0x93),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x40c4b3=await listDatabases(_0x3858ee[_0x3186cb(0xd3)])[_0x3186cb(0xaa)](()=>[]);if(_0x40c4b3[_0x3186cb(0xc4)]===0x1)return{'dbId':_0x40c4b3[0x0][_0x3186cb(0xa5)],'dbName':_0x40c4b3[0x0][_0x3186cb(0x96)]};if(_0x40c4b3[_0x3186cb(0xc4)]>0x1){const _0x41754c=await select({'message':_0x3186cb(0xcf),'choices':[..._0x40c4b3['map'](_0x51ee2a=>({'name':_0x51ee2a['dbName']+'\x20('+_0x51ee2a[_0x3186cb(0xa5)]+')','value':serializeDbSelection(_0x51ee2a)})),{'name':_0x3186cb(0xae),'value':_0x3186cb(0x9a)}]});if(_0x41754c!==_0x3186cb(0x9a))return deserializeDbSelection(_0x41754c);}const _0x1061c5=await input({'message':_0x3186cb(0xc9),'validate':_0x32a303=>{const _0x4a5cc6=_0x3186cb,_0x32dd70=_0x32a303['trim']();if(!_0x32dd70)return _0x4a5cc6(0xa9);const _0x298ad6=Number(_0x32dd70);if(!Number[_0x4a5cc6(0xb3)](_0x298ad6)||_0x298ad6<=0x0)return _0x4a5cc6(0x9c);return!![];}});return{'dbId':Number(_0x1061c5['trim']())};}async function resolveSqlModeInput(_0x16966b){const _0xdd431a=a120_0x5941e9,_0x4fbd41=_0x16966b[_0xdd431a(0xa6)]('mode')[_0xdd431a(0xcd)]();if(_0x4fbd41===_0xdd431a(0xab)||_0x4fbd41===_0xdd431a(0xaf))return _0x4fbd41;if(_0x16966b[_0xdd431a(0x95)])throw CliErrors[_0xdd431a(0xc1)](_0xdd431a(0xb8),_0xdd431a(0xa7));return await select({'message':_0xdd431a(0xc6),'choices':[{'name':_0xdd431a(0x9e),'value':_0xdd431a(0xab),'description':_0xdd431a(0xc2)},{'name':_0xdd431a(0xce),'value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x1d3c4d){const _0x32fdaf=a120_0x5941e9;return JSON[_0x32fdaf(0x9d)]({'dbId':_0x1d3c4d[_0x32fdaf(0xa5)],'dbName':_0x1d3c4d[_0x32fdaf(0x96)]});}function deserializeDbSelection(_0x5d34ae){const _0x31b0ee=a120_0x5941e9;try{const _0x425aa8=JSON[_0x31b0ee(0xc5)](_0x5d34ae);if(typeof _0x425aa8[_0x31b0ee(0xa5)]===_0x31b0ee(0xc7)&&Number[_0x31b0ee(0xcb)](_0x425aa8['dbId']))return{'dbId':_0x425aa8[_0x31b0ee(0xa5)],'dbName':_0x425aa8[_0x31b0ee(0x96)]};}catch{}throw CliErrors[_0x31b0ee(0xb5)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x5d34ae);}function resolveProvidedDbId(_0x17e418){const _0x54dcb8=a120_0x5941e9,_0x1d22c9=_0x17e418[_0x54dcb8(0x99)](_0x54dcb8(0x93));if(typeof _0x1d22c9==='number'&&Number[_0x54dcb8(0xcb)](_0x1d22c9))return _0x1d22c9;return undefined;}
1
+ const a120_0x5d801a=a120_0x45bb;function a120_0x45bb(_0x1544fe,_0x238ff3){_0x1544fe=_0x1544fe-0xfe;const _0x3e3f3f=a120_0x3e3f();let _0x45bbc8=_0x3e3f3f[_0x1544fe];return _0x45bbc8;}(function(_0x52eb76,_0x1c9289){const _0x34d308=a120_0x45bb,_0x5b5b0d=_0x52eb76();while(!![]){try{const _0x1875a4=-parseInt(_0x34d308(0x138))/0x1*(-parseInt(_0x34d308(0x129))/0x2)+-parseInt(_0x34d308(0x105))/0x3*(parseInt(_0x34d308(0x130))/0x4)+parseInt(_0x34d308(0x104))/0x5*(-parseInt(_0x34d308(0x146))/0x6)+-parseInt(_0x34d308(0x134))/0x7*(-parseInt(_0x34d308(0x10e))/0x8)+-parseInt(_0x34d308(0x11a))/0x9*(parseInt(_0x34d308(0x121))/0xa)+parseInt(_0x34d308(0x128))/0xb*(parseInt(_0x34d308(0x10c))/0xc)+parseInt(_0x34d308(0x102))/0xd*(-parseInt(_0x34d308(0xfe))/0xe);if(_0x1875a4===_0x1c9289)break;else _0x5b5b0d['push'](_0x5b5b0d['shift']());}catch(_0x43e3b7){_0x5b5b0d['push'](_0x5b5b0d['shift']());}}}(a120_0x3e3f,0xd40e9));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x1a560c){const _0x3f3f0f=a120_0x45bb;if(_0x1a560c===_0x3f3f0f(0x103))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x3f3f0f(0x127),_0x3f3f0f(0x122),''][_0x3f3f0f(0x13e)]('\x0a');return[_0x3f3f0f(0x10b),''][_0x3f3f0f(0x13e)]('\x0a');}export const sqlCreate={'service':a120_0x5d801a(0x12a),'command':a120_0x5d801a(0x13d),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':'high-risk-write','flags':[{'name':'name','type':a120_0x5d801a(0x135),'description':'SQL\x20query\x20display\x20name'},{'name':a120_0x5d801a(0x12e),'type':'number','description':a120_0x5d801a(0x12d)},{'name':a120_0x5d801a(0xff),'type':a120_0x5d801a(0x135),'enum':[a120_0x5d801a(0x12a),a120_0x5d801a(0x103)],'description':a120_0x5d801a(0x109)}],async 'validate'(_0x1eeb69){const _0x78bbdc=a120_0x5d801a;if(!_0x1eeb69[_0x78bbdc(0x124)])return;if(!_0x1eeb69[_0x78bbdc(0x113)]('name')[_0x78bbdc(0x111)]())throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0x118),_0x78bbdc(0x123));const _0x496cfb=resolveProvidedDbId(_0x1eeb69);if(typeof _0x496cfb!==_0x78bbdc(0x13b)||!Number['isFinite'](_0x496cfb)||_0x496cfb<=0x0)throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0x12e),_0x78bbdc(0x137));if(!_0x1eeb69[_0x78bbdc(0x113)](_0x78bbdc(0xff))[_0x78bbdc(0x111)]())throw CliErrors[_0x78bbdc(0x116)](_0x78bbdc(0xff),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x4f07ac){const _0x53b334=a120_0x5d801a,_0xb8fb9d=loadSqlProjectConfig(_0x4f07ac[_0x53b334(0x140)]),{sqlName:_0x4f90ac,dbId:_0x5b9315,dbName:_0x576530,mode:_0x2b6840}=await resolveSqlNewInputs(_0x4f07ac),_0x2f9663=buildSqlRelativePath(_0x53b334(0x100),_0x4f90ac,_0x576530,_0x2b6840,_0x5b9315),_0x323412=_0xb8fb9d[_0x53b334(0x106)]+'/'+_0x2f9663;return{'method':'POST','url':_0x53b334(0x13c),'body':{'appCode':_0x4f07ac[_0x53b334(0x140)],'sqlName':_0x4f90ac,'dbId':_0x5b9315,'mode':_0x2b6840,'localPath':_0x323412},'description':_0x53b334(0x117)+_0xb8fb9d[_0x53b334(0x106)]};},async 'execute'(_0x596f6e){const _0x47a565=a120_0x5d801a,_0x4807fe=loadSqlProjectConfig(_0x596f6e[_0x47a565(0x140)]),{sqlName:_0x4b4c79,dbId:_0x2ae7a1,dbName:_0x6eb39,mode:_0x3ec77d}=await resolveSqlNewInputs(_0x596f6e),_0x2129bd=generateSqlTemplate(_0x3ec77d),_0x22d77e=await createSqlQuery({'appCode':_0x596f6e[_0x47a565(0x140)],'sqlName':_0x4b4c79,'dbId':_0x2ae7a1,'sqlContent':_0x2129bd}),_0x18c09d=ensureRemoteSqlContent(_0x22d77e),_0xf61889=_0x6eb39||await getDbName(_0x596f6e[_0x47a565(0x140)],_0x2ae7a1)[_0x47a565(0x10f)](()=>undefined),_0x1d2d84=buildSqlRelativePath(_0x22d77e[_0x47a565(0x110)],_0x22d77e[_0x47a565(0x115)],_0xf61889,_0x3ec77d,_0x2ae7a1),_0x11e250=_0x4807fe[_0x47a565(0x106)]+'/'+_0x1d2d84,_0x42f781=buildLocalSqlFileContent({'sqlCode':_0x22d77e[_0x47a565(0x110)],'sqlName':_0x22d77e[_0x47a565(0x115)],'dbId':_0x22d77e[_0x47a565(0x114)]},_0x18c09d,{'dbName':_0xf61889,'mode':_0x3ec77d,'syncedAt':new Date()[_0x47a565(0x133)](),'description':_0x22d77e[_0x47a565(0x131)]});if(await fileExists(_0x11e250))throw CliErrors[_0x47a565(0x136)](_0x47a565(0x11b)+_0x11e250);await ensureParentDirectory(_0x11e250),await writeFile(_0x11e250,_0x42f781,_0x47a565(0x11f));const _0x515f7e=await readSqlLockFile(_0x4807fe[_0x47a565(0x142)]),{lockData:_0x2fc8fe,appLock:_0x7e7735}=ensureSqlLockScope(_0x515f7e??createEmptySqlLock(),_0x4807fe[_0x47a565(0x140)],_0x4807fe['sqlRoot'],_0x47a565(0x12f));return _0x7e7735[_0x47a565(0x10a)][_0x22d77e[_0x47a565(0x110)]]={...buildSqlLockEntry(_0x22d77e,_0x18c09d,computeSqlContentHash(_0x42f781),{'dbName':_0xf61889}),'path':_0x1d2d84,'mode':_0x3ec77d},_0x7e7735[_0x47a565(0x101)]=new Date()[_0x47a565(0x133)](),await writeSqlLockFile(_0x4807fe[_0x47a565(0x142)],_0x2fc8fe),{'ok':!![],'data':{'id':_0x22d77e['id'],'sqlCode':_0x22d77e[_0x47a565(0x110)],'sqlName':_0x22d77e[_0x47a565(0x115)],'dbId':_0x22d77e[_0x47a565(0x114)],'path':_0x11e250,'mode':_0x3ec77d},'message':_0x47a565(0x143)+_0x22d77e[_0x47a565(0x110)]};}};async function resolveSqlNewInputs(_0x3573f1){const _0x5cbfbc=await resolveSqlNameInput(_0x3573f1),{dbId:_0x535eb5,dbName:_0x122305}=await resolveDbSelection(_0x3573f1),_0x26997b=await resolveSqlModeInput(_0x3573f1);return{'sqlName':_0x5cbfbc,'dbId':_0x535eb5,'dbName':_0x122305,'mode':_0x26997b};}function a120_0x3e3f(){const _0x305411=['请输入目标数据库\x20dbId:','普通\x20SQL(sql)','utf8','__manual__','90zEojQo','</select>','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','请输入\x20SQL\x20名称:','SQL\x20名称不能为空','\x20\x20SELECT\x201\x20AS\x20id','1012ZNqkGd','38xyisPk','sql','dbId\x20必须为正整数','dbId\x20不能为空','Target\x20database\x20ID','db-id','new','8784uoxhvk','description','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','toISOString','1799LTvWcq','string','validation','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','39049VNNDna','Invalid\x20database\x20selection\x20payload:\x20','请选择本地\x20SQL\x20模式:','number','/smartapi/custom/saveUserCustomSql','create','join','isInteger','appCode','length','lockFilePath','Created\x20SQL\x20query\x20','dbName','请选择目标数据库:','3552gnNvMe','16040794BiDCKD','mode','<server-generated-sqlCode>','lastSync','13ENzLwq','mybatisXml','4895uRmTMX','1104AVPvKD','sqlRootDir','✎\x20手动输入\x20dbId','parse','Local\x20SQL\x20file\x20mode','sqls','SELECT\x201\x20AS\x20id;','222024LNkqJI','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','36856qtnRFn','catch','sqlCode','trim','isFinite','str','dbId','sqlName','flagMissing','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','name','MyBatis\x20XML(mybatisXml)','226062buTWsI','File\x20already\x20exists:\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL'];a120_0x3e3f=function(){return _0x305411;};return a120_0x3e3f();}async function resolveSqlNameInput(_0x22e8fe){const _0x5d4378=a120_0x5d801a,_0x333e3b=_0x22e8fe[_0x5d4378(0x113)](_0x5d4378(0x118))[_0x5d4378(0x111)]();if(_0x333e3b)return _0x333e3b;if(_0x22e8fe[_0x5d4378(0x124)])throw CliErrors['flagMissing'](_0x5d4378(0x118),_0x5d4378(0x123));return(await input({'message':_0x5d4378(0x125),'validate':_0x22ad2f=>_0x22ad2f[_0x5d4378(0x111)]()?!![]:_0x5d4378(0x126)}))[_0x5d4378(0x111)]();}async function resolveDbSelection(_0x10424d){const _0x11b3e4=a120_0x5d801a,_0x41b60b=resolveProvidedDbId(_0x10424d);if(typeof _0x41b60b===_0x11b3e4(0x13b)&&Number[_0x11b3e4(0x112)](_0x41b60b)&&_0x41b60b>0x0)return{'dbId':_0x41b60b,'dbName':await getDbName(_0x10424d[_0x11b3e4(0x140)],_0x41b60b)['catch'](()=>undefined)};if(_0x10424d['nonInteractive'])throw CliErrors[_0x11b3e4(0x116)](_0x11b3e4(0x12e),_0x11b3e4(0x137));const _0xc7a57e=await listDatabases(_0x10424d['appCode'])[_0x11b3e4(0x10f)](()=>[]);if(_0xc7a57e['length']===0x1)return{'dbId':_0xc7a57e[0x0][_0x11b3e4(0x114)],'dbName':_0xc7a57e[0x0][_0x11b3e4(0x144)]};if(_0xc7a57e[_0x11b3e4(0x141)]>0x1){const _0x509b56=await select({'message':_0x11b3e4(0x145),'choices':[..._0xc7a57e['map'](_0x4f0b17=>({'name':_0x4f0b17[_0x11b3e4(0x144)]+'\x20('+_0x4f0b17[_0x11b3e4(0x114)]+')','value':serializeDbSelection(_0x4f0b17)})),{'name':_0x11b3e4(0x107),'value':_0x11b3e4(0x120)}]});if(_0x509b56!==_0x11b3e4(0x120))return deserializeDbSelection(_0x509b56);}const _0x4ff771=await input({'message':_0x11b3e4(0x11d),'validate':_0x3e5437=>{const _0x1de4ed=_0x11b3e4,_0xab486e=_0x3e5437[_0x1de4ed(0x111)]();if(!_0xab486e)return _0x1de4ed(0x12c);const _0x54f7a0=Number(_0xab486e);if(!Number[_0x1de4ed(0x13f)](_0x54f7a0)||_0x54f7a0<=0x0)return _0x1de4ed(0x12b);return!![];}});return{'dbId':Number(_0x4ff771['trim']())};}async function resolveSqlModeInput(_0x5644ca){const _0x4c55e3=a120_0x5d801a,_0x14c262=_0x5644ca['str'](_0x4c55e3(0xff))['trim']();if(_0x14c262===_0x4c55e3(0x12a)||_0x14c262===_0x4c55e3(0x103))return _0x14c262;if(_0x5644ca[_0x4c55e3(0x124)])throw CliErrors[_0x4c55e3(0x116)](_0x4c55e3(0xff),_0x4c55e3(0x132));return await select({'message':_0x4c55e3(0x13a),'choices':[{'name':_0x4c55e3(0x11e),'value':'sql','description':_0x4c55e3(0x10d)},{'name':_0x4c55e3(0x119),'value':_0x4c55e3(0x103),'description':_0x4c55e3(0x11c)}]});}function serializeDbSelection(_0xbdf4d6){const _0x542909=a120_0x5d801a;return JSON['stringify']({'dbId':_0xbdf4d6[_0x542909(0x114)],'dbName':_0xbdf4d6[_0x542909(0x144)]});}function deserializeDbSelection(_0x18eb18){const _0x3cd24a=a120_0x5d801a;try{const _0x28181f=JSON[_0x3cd24a(0x108)](_0x18eb18);if(typeof _0x28181f[_0x3cd24a(0x114)]===_0x3cd24a(0x13b)&&Number[_0x3cd24a(0x112)](_0x28181f[_0x3cd24a(0x114)]))return{'dbId':_0x28181f[_0x3cd24a(0x114)],'dbName':_0x28181f[_0x3cd24a(0x144)]};}catch{}throw CliErrors[_0x3cd24a(0x136)](_0x3cd24a(0x139)+_0x18eb18);}function resolveProvidedDbId(_0x12f12e){const _0x3a159a=a120_0x5d801a,_0x300c32=_0x12f12e['flag']('db-id');if(typeof _0x300c32===_0x3a159a(0x13b)&&Number['isFinite'](_0x300c32))return _0x300c32;return undefined;}
@@ -1 +1 @@
1
- const a121_0x1ba7ac=a121_0x31de;(function(_0x233e16,_0x24594a){const _0x477aa2=a121_0x31de,_0x26b8e5=_0x233e16();while(!![]){try{const _0x1eddc7=-parseInt(_0x477aa2(0x1e3))/0x1+parseInt(_0x477aa2(0x1e0))/0x2*(parseInt(_0x477aa2(0x1df))/0x3)+parseInt(_0x477aa2(0x1d5))/0x4+-parseInt(_0x477aa2(0x1e4))/0x5*(parseInt(_0x477aa2(0x1eb))/0x6)+parseInt(_0x477aa2(0x1ed))/0x7*(parseInt(_0x477aa2(0x1dd))/0x8)+parseInt(_0x477aa2(0x1de))/0x9+-parseInt(_0x477aa2(0x1e1))/0xa;if(_0x1eddc7===_0x24594a)break;else _0x26b8e5['push'](_0x26b8e5['shift']());}catch(_0x2af1c9){_0x26b8e5['push'](_0x26b8e5['shift']());}}}(a121_0x465b,0x6944e));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a121_0x31de(_0x24319c,_0x32ed09){_0x24319c=_0x24319c-0x1d5;const _0x465b14=a121_0x465b();let _0x31de00=_0x465b14[_0x24319c];return _0x31de00;}import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a121_0x465b(){const _0x18c7b5=['4225134QIvLGN','delete','26782gllQxi','trashDir','lockFilePath','sqlcode','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','remoteId','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','startsWith','trashedTo','entries','str','/smartapi/custom/deleteUserCustomSql','2515836oBOufr','validation','\x20(local\x20file\x20moved\x20to\x20trash)','sql','projectRoot','length','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','sqls','1688SAGhkf','1059741ixTRGc','336057HVsxdg','2iVoRAX','3043770IyGzpo','high-risk-write','226265MKNlyG','5scYpgi','appCode','Deleted\x20','sqlRoot','sqlRootDir','fromEntries','lastSync'];a121_0x465b=function(){return _0x18c7b5;};return a121_0x465b();}export const sqlDelete={'service':a121_0x1ba7ac(0x1d8),'command':a121_0x1ba7ac(0x1ec),'description':a121_0x1ba7ac(0x1f4),'risk':a121_0x1ba7ac(0x1e2),'flags':[SQLCODE_FLAG],async 'validate'(_0x3b3dfe){const _0x4ed29c=a121_0x1ba7ac,_0x2412ae=loadSqlProjectConfig(_0x3b3dfe[_0x4ed29c(0x1e5)]),_0x13f530=await readSqlLockFile(_0x2412ae[_0x4ed29c(0x1ef)]);if(!_0x13f530)throw CliErrors[_0x4ed29c(0x1d6)](_0x4ed29c(0x1f2));},async 'dryRun'(_0x33a4ab){const _0x57f761=a121_0x1ba7ac,_0x5c6621=loadSqlProjectConfig(_0x33a4ab[_0x57f761(0x1e5)]),_0x4dfa1e=await readSqlLockFile(_0x5c6621[_0x57f761(0x1ef)]);if(!_0x4dfa1e)throw CliErrors[_0x57f761(0x1d6)](_0x57f761(0x1f2));const {appLock:_0xf128ba}=ensureSqlLockScope(_0x4dfa1e,_0x33a4ab[_0x57f761(0x1e5)],_0x5c6621[_0x57f761(0x1e7)],_0x57f761(0x1ec)),_0x4419cd=_0x33a4ab[_0x57f761(0x1f8)](_0x57f761(0x1f0)),_0x2a8e42=_0xf128ba[_0x57f761(0x1dc)][_0x4419cd];if(!_0x2a8e42)throw CliErrors[_0x57f761(0x1d6)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x4419cd+'\x22.');return{'method':'POST','url':_0x57f761(0x1f9),'body':{'sqlCode':_0x4419cd,'id':_0x2a8e42[_0x57f761(0x1f3)],'localPath':resolveLocalSqlFilePath(_0x5c6621,_0x4419cd,_0x2a8e42)},'description':'Would\x20delete\x20SQL\x20'+_0x4419cd+_0x57f761(0x1f1)+_0x5c6621[_0x57f761(0x1ee)]};},async 'execute'(_0x528c44){const _0x4e8708=a121_0x1ba7ac,_0xc6dd68=loadSqlProjectConfig(_0x528c44[_0x4e8708(0x1e5)]),_0x4b6160=await readSqlLockFile(_0xc6dd68[_0x4e8708(0x1ef)]);if(!_0x4b6160)throw CliErrors[_0x4e8708(0x1d6)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x5d1ef8,appLock:_0x1d26b0}=ensureSqlLockScope(_0x4b6160,_0x528c44[_0x4e8708(0x1e5)],_0xc6dd68[_0x4e8708(0x1e7)],_0x4e8708(0x1ec)),_0x374c64=_0x528c44[_0x4e8708(0x1f8)](_0x4e8708(0x1f0)),_0x7758e8=_0x1d26b0[_0x4e8708(0x1dc)][_0x374c64];if(!_0x7758e8)throw CliErrors['validation'](_0x4e8708(0x1db)+_0x374c64+'\x22.');await deleteSqlQuery({'id':_0x7758e8[_0x4e8708(0x1f3)],'sqlCode':_0x374c64}),_0x1d26b0[_0x4e8708(0x1dc)]=Object[_0x4e8708(0x1e9)](Object[_0x4e8708(0x1f7)](_0x1d26b0['sqls'])['filter'](([_0x5901a8])=>_0x5901a8!==_0x374c64)),_0x1d26b0[_0x4e8708(0x1ea)]=new Date()['toISOString'](),await writeSqlLockFile(_0xc6dd68[_0x4e8708(0x1ef)],_0x5d1ef8);const _0x790ec=resolveLocalSqlFilePath(_0xc6dd68,_0x374c64,_0x7758e8);let _0x3914e2;await fileExists(_0x790ec)&&(_0x3914e2=await moveToTrash(_0xc6dd68[_0x4e8708(0x1d9)],_0xc6dd68['trashDir'],_0x790ec),await cleanupEmptyDirectories(dirname(_0x790ec),_0xc6dd68[_0x4e8708(0x1e8)]));const _0x5a38e4={'deleted':_0x374c64,'remoteId':_0x7758e8[_0x4e8708(0x1f3)]};if(_0x3914e2)_0x5a38e4[_0x4e8708(0x1f6)]=_0x3914e2;return{'ok':!![],'data':_0x5a38e4,'message':_0x4e8708(0x1e6)+_0x374c64+(_0x3914e2?_0x4e8708(0x1d7):'')};}};async function moveToTrash(_0xe7037,_0x3c2f86,_0x5aa1cb){const _0x4d1b4c=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x3f2048=relative(_0xe7037,_0x5aa1cb),_0x5e20c3=join(_0x3c2f86,_0x4d1b4c,_0x3f2048);return await mkdir(dirname(_0x5e20c3),{'recursive':!![]}),await rename(_0x5aa1cb,_0x5e20c3),_0x5e20c3;}async function cleanupEmptyDirectories(_0x25a726,_0x24d471){const _0x5fcdba=a121_0x1ba7ac;let _0x249a22=resolve(_0x25a726);const _0x5991a0=resolve(_0x24d471);while(_0x249a22[_0x5fcdba(0x1f5)](''+_0x5991a0+sep)||_0x249a22===_0x5991a0){if(_0x249a22===_0x5991a0)return;try{const _0x40abcc=await readdir(_0x249a22);if(_0x40abcc[_0x5fcdba(0x1da)]>0x0)return;await rmdir(_0x249a22);}catch{return;}_0x249a22=dirname(_0x249a22);}}
1
+ const a121_0x3fe64a=a121_0x3ffc;(function(_0x68f9bc,_0x5bf3dc){const _0x571e37=a121_0x3ffc,_0xdd19ab=_0x68f9bc();while(!![]){try{const _0x3cad1a=-parseInt(_0x571e37(0xac))/0x1+parseInt(_0x571e37(0xa9))/0x2*(-parseInt(_0x571e37(0xb1))/0x3)+parseInt(_0x571e37(0xb7))/0x4+-parseInt(_0x571e37(0xc4))/0x5+-parseInt(_0x571e37(0xa0))/0x6+-parseInt(_0x571e37(0xc2))/0x7*(parseInt(_0x571e37(0xbc))/0x8)+parseInt(_0x571e37(0xbb))/0x9*(parseInt(_0x571e37(0xbe))/0xa);if(_0x3cad1a===_0x5bf3dc)break;else _0xdd19ab['push'](_0xdd19ab['shift']());}catch(_0x273ea7){_0xdd19ab['push'](_0xdd19ab['shift']());}}}(a121_0x19f2,0x37358));function a121_0x19f2(){const _0x36692d=['360792uiVwyE','remoteId','SQL\x20lock\x20file\x20not\x20found.','Deleted\x20','sqlRoot','projectRoot','delete','startsWith','sqlRootDir','60646cWfmKw','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','Would\x20delete\x20SQL\x20','134438chXnHo','sql','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','filter','POST','15lTSbsG','validation','trashedTo','entries','fromEntries','toISOString','1803872Feixmn','sqls','lastSync','replace','23445pmOubw','136sAYZfP','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','2690uFLoLs','str','trashDir','appCode','115731cOelyG','sqlcode','1491655rYoXzK','lockFilePath'];a121_0x19f2=function(){return _0x36692d;};return a121_0x19f2();}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a121_0x3ffc(_0x37d1c7,_0x4131fd){_0x37d1c7=_0x37d1c7-0xa0;const _0x19f25f=a121_0x19f2();let _0x3ffc0f=_0x19f25f[_0x37d1c7];return _0x3ffc0f;}export const sqlDelete={'service':a121_0x3fe64a(0xad),'command':'delete','description':a121_0x3fe64a(0xaa),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x237009){const _0x20e335=a121_0x3fe64a,_0x2927c8=loadSqlProjectConfig(_0x237009[_0x20e335(0xc1)]),_0x236962=await readSqlLockFile(_0x2927c8[_0x20e335(0xc5)]);if(!_0x236962)throw CliErrors[_0x20e335(0xb2)](_0x20e335(0xae));},async 'dryRun'(_0x36c72b){const _0x456204=a121_0x3fe64a,_0x1eca76=loadSqlProjectConfig(_0x36c72b['appCode']),_0x54f76b=await readSqlLockFile(_0x1eca76[_0x456204(0xc5)]);if(!_0x54f76b)throw CliErrors[_0x456204(0xb2)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x2ed61f}=ensureSqlLockScope(_0x54f76b,_0x36c72b[_0x456204(0xc1)],_0x1eca76[_0x456204(0xa4)],_0x456204(0xa6)),_0x3932fa=_0x36c72b[_0x456204(0xbf)]('sqlcode'),_0x3da15e=_0x2ed61f[_0x456204(0xb8)][_0x3932fa];if(!_0x3da15e)throw CliErrors[_0x456204(0xb2)](_0x456204(0xbd)+_0x3932fa+'\x22.');return{'method':_0x456204(0xb0),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x3932fa,'id':_0x3da15e[_0x456204(0xa1)],'localPath':resolveLocalSqlFilePath(_0x1eca76,_0x3932fa,_0x3da15e)},'description':_0x456204(0xab)+_0x3932fa+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x1eca76['trashDir']};},async 'execute'(_0x2afb8e){const _0x30858e=a121_0x3fe64a,_0x2eead3=loadSqlProjectConfig(_0x2afb8e[_0x30858e(0xc1)]),_0x6febda=await readSqlLockFile(_0x2eead3[_0x30858e(0xc5)]);if(!_0x6febda)throw CliErrors[_0x30858e(0xb2)](_0x30858e(0xa2));const {lockData:_0x45634c,appLock:_0x3e7f79}=ensureSqlLockScope(_0x6febda,_0x2afb8e[_0x30858e(0xc1)],_0x2eead3[_0x30858e(0xa4)],_0x30858e(0xa6)),_0x409c90=_0x2afb8e[_0x30858e(0xbf)](_0x30858e(0xc3)),_0x1ffed6=_0x3e7f79[_0x30858e(0xb8)][_0x409c90];if(!_0x1ffed6)throw CliErrors[_0x30858e(0xb2)](_0x30858e(0xbd)+_0x409c90+'\x22.');await deleteSqlQuery({'id':_0x1ffed6[_0x30858e(0xa1)],'sqlCode':_0x409c90}),_0x3e7f79[_0x30858e(0xb8)]=Object[_0x30858e(0xb5)](Object[_0x30858e(0xb4)](_0x3e7f79[_0x30858e(0xb8)])[_0x30858e(0xaf)](([_0x4a7172])=>_0x4a7172!==_0x409c90)),_0x3e7f79[_0x30858e(0xb9)]=new Date()[_0x30858e(0xb6)](),await writeSqlLockFile(_0x2eead3[_0x30858e(0xc5)],_0x45634c);const _0x4e770a=resolveLocalSqlFilePath(_0x2eead3,_0x409c90,_0x1ffed6);let _0xacf1f3;await fileExists(_0x4e770a)&&(_0xacf1f3=await moveToTrash(_0x2eead3[_0x30858e(0xa5)],_0x2eead3[_0x30858e(0xc0)],_0x4e770a),await cleanupEmptyDirectories(dirname(_0x4e770a),_0x2eead3[_0x30858e(0xa8)]));const _0x3a96dc={'deleted':_0x409c90,'remoteId':_0x1ffed6[_0x30858e(0xa1)]};if(_0xacf1f3)_0x3a96dc[_0x30858e(0xb3)]=_0xacf1f3;return{'ok':!![],'data':_0x3a96dc,'message':_0x30858e(0xa3)+_0x409c90+(_0xacf1f3?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x125b38,_0x17207a,_0x2d740b){const _0x6979d5=a121_0x3fe64a,_0x229676=new Date()[_0x6979d5(0xb6)]()[_0x6979d5(0xba)](/[:.]/g,'-'),_0xf5e6b8=relative(_0x125b38,_0x2d740b),_0x300bc5=join(_0x17207a,_0x229676,_0xf5e6b8);return await mkdir(dirname(_0x300bc5),{'recursive':!![]}),await rename(_0x2d740b,_0x300bc5),_0x300bc5;}async function cleanupEmptyDirectories(_0x15723f,_0x4ffb04){const _0x324ac6=a121_0x3fe64a;let _0x210762=resolve(_0x15723f);const _0x44c23b=resolve(_0x4ffb04);while(_0x210762[_0x324ac6(0xa7)](''+_0x44c23b+sep)||_0x210762===_0x44c23b){if(_0x210762===_0x44c23b)return;try{const _0x38a182=await readdir(_0x210762);if(_0x38a182['length']>0x0)return;await rmdir(_0x210762);}catch{return;}_0x210762=dirname(_0x210762);}}
@@ -1 +1 @@
1
- function a122_0x42d2(_0x2348e8,_0x1df608){_0x2348e8=_0x2348e8-0x111;const _0x251693=a122_0x2516();let _0x42d2f1=_0x251693[_0x2348e8];return _0x42d2f1;}const a122_0x1107e4=a122_0x42d2;(function(_0x5ec352,_0x5bfbdc){const _0x2a268a=a122_0x42d2,_0xfc9b82=_0x5ec352();while(!![]){try{const _0x2ecff1=-parseInt(_0x2a268a(0x11b))/0x1+-parseInt(_0x2a268a(0x11d))/0x2+parseInt(_0x2a268a(0x114))/0x3+parseInt(_0x2a268a(0x123))/0x4+parseInt(_0x2a268a(0x124))/0x5*(parseInt(_0x2a268a(0x122))/0x6)+parseInt(_0x2a268a(0x116))/0x7*(-parseInt(_0x2a268a(0x125))/0x8)+parseInt(_0x2a268a(0x111))/0x9;if(_0x2ecff1===_0x5bfbdc)break;else _0xfc9b82['push'](_0xfc9b82['shift']());}catch(_0x45d469){_0xfc9b82['push'](_0xfc9b82['shift']());}}}(a122_0x2516,0x85803));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a122_0x2516(){const _0x102557=['sqlCode','read','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','395820AABVif','sql','2179168RIzaYG','dbId','sqlContent','description','boolean','4818672WYHUTP','216688PXXpQq','5qZcLnd','241496ZOfXVD','verbose','appCode','10817658bBWPzR','sqlName','detail','1096224wopVCs','Return\x20full\x20raw\x20SQL\x20query\x20object','91EdiHjc','bool'];a122_0x2516=function(){return _0x102557;};return a122_0x2516();}export const sqlDetail={'service':a122_0x1107e4(0x11c),'command':a122_0x1107e4(0x113),'description':a122_0x1107e4(0x11a),'risk':a122_0x1107e4(0x119),'flags':[SQLCODE_FLAG,{'name':a122_0x1107e4(0x126),'type':a122_0x1107e4(0x121),'description':a122_0x1107e4(0x115)}],async 'execute'(_0x41d344){const _0x9d66ba=a122_0x1107e4,_0x432c7e=await getSqlQueryInfo(_0x41d344[_0x9d66ba(0x127)],_0x41d344['str']('sqlcode')),_0x8bf0e0=_0x41d344[_0x9d66ba(0x117)](_0x9d66ba(0x126));if(_0x8bf0e0)return{'ok':!![],'data':_0x432c7e};const _0x4ba19b=_0x432c7e[_0x9d66ba(0x11e)]?await getDbName(_0x41d344['appCode'],_0x432c7e[_0x9d66ba(0x11e)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x432c7e[_0x9d66ba(0x118)],'sqlName':_0x432c7e[_0x9d66ba(0x112)],'db':_0x4ba19b?_0x4ba19b+'\x20('+_0x432c7e[_0x9d66ba(0x11e)]+')':_0x432c7e[_0x9d66ba(0x11e)]??'','description':_0x432c7e[_0x9d66ba(0x120)]??'','sqlContent':_0x432c7e[_0x9d66ba(0x11f)]??''}};}};
1
+ const a122_0x279415=a122_0x304e;(function(_0x324ecf,_0x4f47b5){const _0x190d1f=a122_0x304e,_0x2c63f0=_0x324ecf();while(!![]){try{const _0x1c4073=-parseInt(_0x190d1f(0x8a))/0x1*(-parseInt(_0x190d1f(0x9c))/0x2)+parseInt(_0x190d1f(0x96))/0x3+parseInt(_0x190d1f(0x9e))/0x4+-parseInt(_0x190d1f(0x94))/0x5+parseInt(_0x190d1f(0x99))/0x6*(parseInt(_0x190d1f(0x9b))/0x7)+-parseInt(_0x190d1f(0x9f))/0x8+-parseInt(_0x190d1f(0x97))/0x9;if(_0x1c4073===_0x4f47b5)break;else _0x2c63f0['push'](_0x2c63f0['shift']());}catch(_0x59f5d5){_0x2c63f0['push'](_0x2c63f0['shift']());}}}(a122_0x1364,0x8d75d));import{getSqlQueryInfo}from'../../core/api-client.js';function a122_0x1364(){const _0x1faa62=['737184KzymkO','sqlcode','sqlContent','1PDEmXv','sqlName','detail','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','verbose','sqlCode','sql','boolean','read','bool','5172670Njngdt','description','2594784kDKJuI','8952939kDljBA','dbId','10794SkVdzt','Return\x20full\x20raw\x20SQL\x20query\x20object','1141Bdtunn','1327276mDaTrj','appCode','3516284XhoRjc'];a122_0x1364=function(){return _0x1faa62;};return a122_0x1364();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a122_0x304e(_0x2b60cf,_0x80dbe8){_0x2b60cf=_0x2b60cf-0x89;const _0x136467=a122_0x1364();let _0x304e55=_0x136467[_0x2b60cf];return _0x304e55;}export const sqlDetail={'service':a122_0x279415(0x90),'command':a122_0x279415(0x8c),'description':a122_0x279415(0x8d),'risk':a122_0x279415(0x92),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a122_0x279415(0x91),'description':a122_0x279415(0x9a)}],async 'execute'(_0x134f7a){const _0x53cfc1=a122_0x279415,_0x70783e=await getSqlQueryInfo(_0x134f7a[_0x53cfc1(0x9d)],_0x134f7a['str'](_0x53cfc1(0xa0))),_0x26a55e=_0x134f7a[_0x53cfc1(0x93)](_0x53cfc1(0x8e));if(_0x26a55e)return{'ok':!![],'data':_0x70783e};const _0x16e2de=_0x70783e[_0x53cfc1(0x98)]?await getDbName(_0x134f7a[_0x53cfc1(0x9d)],_0x70783e[_0x53cfc1(0x98)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x70783e[_0x53cfc1(0x8f)],'sqlName':_0x70783e[_0x53cfc1(0x8b)],'db':_0x16e2de?_0x16e2de+'\x20('+_0x70783e[_0x53cfc1(0x98)]+')':_0x70783e[_0x53cfc1(0x98)]??'','description':_0x70783e[_0x53cfc1(0x95)]??'','sqlContent':_0x70783e[_0x53cfc1(0x89)]??''}};}};
@@ -1 +1 @@
1
- const a123_0x2675b2=a123_0x322b;function a123_0x322b(_0x9aa940,_0xa248fd){_0x9aa940=_0x9aa940-0xae;const _0x4924f0=a123_0x4924();let _0x322b24=_0x4924f0[_0x9aa940];return _0x322b24;}(function(_0x2dfe85,_0xf8c5a2){const _0x229694=a123_0x322b,_0x4bf63b=_0x2dfe85();while(!![]){try{const _0x31c4dc=-parseInt(_0x229694(0xbf))/0x1+parseInt(_0x229694(0xc5))/0x2*(-parseInt(_0x229694(0xc0))/0x3)+parseInt(_0x229694(0xb1))/0x4+-parseInt(_0x229694(0xb3))/0x5*(-parseInt(_0x229694(0xb6))/0x6)+-parseInt(_0x229694(0xc6))/0x7*(parseInt(_0x229694(0xb5))/0x8)+parseInt(_0x229694(0xbc))/0x9*(parseInt(_0x229694(0xc1))/0xa)+parseInt(_0x229694(0xbe))/0xb;if(_0x31c4dc===_0xf8c5a2)break;else _0x4bf63b['push'](_0x4bf63b['shift']());}catch(_0x401353){_0x4bf63b['push'](_0x4bf63b['shift']());}}}(a123_0x4924,0x7598b));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a123_0x2675b2(0xc2),'command':a123_0x2675b2(0xbd),'description':a123_0x2675b2(0xc4),'risk':a123_0x2675b2(0xc7),'flags':[SQLCODE_FLAG,{'name':a123_0x2675b2(0xae),'type':a123_0x2675b2(0xb4),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x380500){const _0x57ed4b=a123_0x2675b2,_0x28b350=parseJsonParams(_0x380500['str']('params')),_0x3c0f9b=Date['now'](),_0x488aac=await executeSql(_0x380500[_0x57ed4b(0xb7)],_0x380500[_0x57ed4b(0xba)](_0x57ed4b(0xb0)),_0x28b350),_0x78bed9=Date['now']()-_0x3c0f9b,_0x4845c2=_0x488aac?.['execResult']??_0x488aac,_0x44ad54=_0x488aac?.[_0x57ed4b(0xc3)]??!![];if(!_0x44ad54)return{'ok':![],'data':{'error':_0x488aac?.[_0x57ed4b(0xb2)]||'SQL\x20execution\x20failed','elapsed':_0x78bed9},'message':_0x57ed4b(0xaf)};const _0x45701b=Array[_0x57ed4b(0xbb)](_0x4845c2)?_0x4845c2:[];return{'ok':!![],'data':{'rows':_0x45701b,'rowCount':_0x45701b['length'],'elapsed':_0x78bed9},'message':'Returned\x20'+_0x45701b[_0x57ed4b(0xb9)]+_0x57ed4b(0xb8)+_0x78bed9+'ms'};}};function a123_0x4924(){const _0x2997da=['9562keGPrD','37534TbuYNW','read','params','SQL\x20execution\x20failed','sqlcode','830752cJpeuw','execError','7025oCAtDq','string','904YVTbCn','2376FKcSEm','appCode','\x20row(s)\x20in\x20','length','str','isArray','6725259YpsQen','exec','6645628Iuxaie','143401OonBLB','555gdmEWz','10LUVOBG','sql','execSuccess','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode'];a123_0x4924=function(){return _0x2997da;};return a123_0x4924();}
1
+ const a123_0x2b836d=a123_0x4fd9;(function(_0x5af709,_0x1fe541){const _0x523133=a123_0x4fd9,_0x14656b=_0x5af709();while(!![]){try{const _0x726ce7=-parseInt(_0x523133(0xaf))/0x1*(parseInt(_0x523133(0xa6))/0x2)+-parseInt(_0x523133(0xa0))/0x3*(-parseInt(_0x523133(0xaa))/0x4)+parseInt(_0x523133(0xa8))/0x5+-parseInt(_0x523133(0xad))/0x6+-parseInt(_0x523133(0xa3))/0x7+parseInt(_0x523133(0xb2))/0x8*(parseInt(_0x523133(0x9b))/0x9)+parseInt(_0x523133(0xa2))/0xa*(-parseInt(_0x523133(0x9e))/0xb);if(_0x726ce7===_0x1fe541)break;else _0x14656b['push'](_0x14656b['shift']());}catch(_0x4bd8fb){_0x14656b['push'](_0x14656b['shift']());}}}(a123_0x424e,0x748eb));import{executeSql}from'../../core/api-client.js';function a123_0x424e(){const _0x2f8c3f=['now','1206wTAOWp','exec','2530060GiwdLp','str','1424344TpUEXx','isArray','string','282210OVOdIe','appCode','417pgFwhH','params','sqlcode','6646480yeKLYp','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','read','execSuccess','SQL\x20execution\x20failed','9SaJnqM','sql','execResult','491524uhJMDw','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','3saBtxK','\x20row(s)\x20in\x20','70uSHHmj','4229505BLAgSh','execError'];a123_0x424e=function(){return _0x2f8c3f;};return a123_0x424e();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a123_0x4fd9(_0x3f3a57,_0x4d42ac){_0x3f3a57=_0x3f3a57-0x99;const _0x424e58=a123_0x424e();let _0x4fd987=_0x424e58[_0x3f3a57];return _0x4fd987;}export const sqlExec={'service':a123_0x2b836d(0x9c),'command':a123_0x2b836d(0xa7),'description':a123_0x2b836d(0x9f),'risk':a123_0x2b836d(0xb4),'flags':[SQLCODE_FLAG,{'name':a123_0x2b836d(0xb0),'type':a123_0x2b836d(0xac),'description':a123_0x2b836d(0xb3)}],async 'execute'(_0xd6bb1b){const _0x281d6e=a123_0x2b836d,_0xfc603e=parseJsonParams(_0xd6bb1b['str'](_0x281d6e(0xb0))),_0x6be6b0=Date[_0x281d6e(0xa5)](),_0x4c154f=await executeSql(_0xd6bb1b[_0x281d6e(0xae)],_0xd6bb1b[_0x281d6e(0xa9)](_0x281d6e(0xb1)),_0xfc603e),_0xcbeef0=Date['now']()-_0x6be6b0,_0x1ba4da=_0x4c154f?.[_0x281d6e(0x9d)]??_0x4c154f,_0x4eb4bb=_0x4c154f?.[_0x281d6e(0x99)]??!![];if(!_0x4eb4bb)return{'ok':![],'data':{'error':_0x4c154f?.[_0x281d6e(0xa4)]||_0x281d6e(0x9a),'elapsed':_0xcbeef0},'message':_0x281d6e(0x9a)};const _0x15cabc=Array[_0x281d6e(0xab)](_0x1ba4da)?_0x1ba4da:[];return{'ok':!![],'data':{'rows':_0x15cabc,'rowCount':_0x15cabc['length'],'elapsed':_0xcbeef0},'message':'Returned\x20'+_0x15cabc['length']+_0x281d6e(0xa1)+_0xcbeef0+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x45dc26,_0x4eba6c){const _0x4484b2=a124_0x1bb7,_0x351eb5=_0x45dc26();while(!![]){try{const _0x4e6249=-parseInt(_0x4484b2(0x1d7))/0x1+parseInt(_0x4484b2(0x1da))/0x2+-parseInt(_0x4484b2(0x1d0))/0x3*(-parseInt(_0x4484b2(0x1d8))/0x4)+parseInt(_0x4484b2(0x1d4))/0x5*(-parseInt(_0x4484b2(0x1d5))/0x6)+parseInt(_0x4484b2(0x1d1))/0x7*(parseInt(_0x4484b2(0x1d3))/0x8)+parseInt(_0x4484b2(0x1d6))/0x9+-parseInt(_0x4484b2(0x1d2))/0xa*(parseInt(_0x4484b2(0x1d9))/0xb);if(_0x4e6249===_0x4eba6c)break;else _0x351eb5['push'](_0x351eb5['shift']());}catch(_0xf4dc13){_0x351eb5['push'](_0x351eb5['shift']());}}}(a124_0x3b16,0xb663a));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a124_0x3b16(){const _0x168ec1=['2517986UHphaG','12jbymxF','1180039YHyryN','140wguUqX','24UInZdL','25veOIBu','1662954qXVQbv','7274934lyirSR','733943fEwPLl','422680jCPBGl','101299jLYMjv'];a124_0x3b16=function(){return _0x168ec1;};return a124_0x3b16();}import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a124_0x1bb7(_0x196529,_0xaa33e5){_0x196529=_0x196529-0x1d0;const _0x3b167b=a124_0x3b16();let _0x1bb707=_0x3b167b[_0x196529];return _0x1bb707;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ function a124_0x4eca(_0x1470ff,_0x319d9a){_0x1470ff=_0x1470ff-0xa2;const _0x493d53=a124_0x493d();let _0x4eca0d=_0x493d53[_0x1470ff];return _0x4eca0d;}(function(_0x4b79f5,_0x1aa697){const _0x4b9b0b=a124_0x4eca,_0x11ff40=_0x4b79f5();while(!![]){try{const _0x54fb5e=-parseInt(_0x4b9b0b(0xa2))/0x1+-parseInt(_0x4b9b0b(0xa9))/0x2*(-parseInt(_0x4b9b0b(0xa7))/0x3)+-parseInt(_0x4b9b0b(0xa3))/0x4+parseInt(_0x4b9b0b(0xa5))/0x5*(-parseInt(_0x4b9b0b(0xa6))/0x6)+-parseInt(_0x4b9b0b(0xaa))/0x7+-parseInt(_0x4b9b0b(0xa4))/0x8+parseInt(_0x4b9b0b(0xa8))/0x9;if(_0x54fb5e===_0x1aa697)break;else _0x11ff40['push'](_0x11ff40['shift']());}catch(_0x4da4bc){_0x11ff40['push'](_0x11ff40['shift']());}}}(a124_0x493d,0x1d3bf));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a124_0x493d(){const _0x22b512=['161720RnFSdw','1139928rotpSh','325BzdrdT','6432risNyo','1080LlmFfM','4556529IZFGWg','740HJpWkO','269087rCcLRX','228696mPzQqL'];a124_0x493d=function(){return _0x22b512;};return a124_0x493d();}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a125_0x5bb0(_0x5eb071,_0x5bae2a){_0x5eb071=_0x5eb071-0x86;const _0x3631fe=a125_0x3631();let _0x5bb078=_0x3631fe[_0x5eb071];return _0x5bb078;}const a125_0x577702=a125_0x5bb0;(function(_0x2f5689,_0x1423ba){const _0x364fc2=a125_0x5bb0,_0x10fdd1=_0x2f5689();while(!![]){try{const _0x302054=-parseInt(_0x364fc2(0x95))/0x1*(parseInt(_0x364fc2(0xa7))/0x2)+parseInt(_0x364fc2(0xa5))/0x3+parseInt(_0x364fc2(0x91))/0x4+-parseInt(_0x364fc2(0xa8))/0x5*(-parseInt(_0x364fc2(0x9d))/0x6)+parseInt(_0x364fc2(0x87))/0x7+parseInt(_0x364fc2(0x8b))/0x8+parseInt(_0x364fc2(0x97))/0x9*(-parseInt(_0x364fc2(0xa0))/0xa);if(_0x302054===_0x1423ba)break;else _0x10fdd1['push'](_0x10fdd1['shift']());}catch(_0x5d8eeb){_0x10fdd1['push'](_0x10fdd1['shift']());}}}(a125_0x3631,0xa5391));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a125_0x3631(){const _0x5793fb=['List\x20custom\x20SQL\x20queries','read','9006zujofN','string','num','9930FeRrPn','appCode','sqlName','sqlcode','str','917433OvgiSg','pagesize','759846iNPsLz','2965JqxwTK','paging','5339950cVBvEN','verbose','list','number','8575592WxDebD','Page\x20number','totalCount','bool','page','length','4641912XGPjhf','Filter\x20by\x20SQL\x20name','description','tableData','2sDXEXV','Page\x20size','24966lWNCBd','dbId','sql','map'];a125_0x3631=function(){return _0x5793fb;};return a125_0x3631();}export const sqlList={'service':a125_0x577702(0x99),'command':a125_0x577702(0x89),'description':a125_0x577702(0x9b),'risk':a125_0x577702(0x9c),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a125_0x577702(0x9e),'description':a125_0x577702(0x92)},{'name':'page','type':a125_0x577702(0x8a),'description':a125_0x577702(0x8c),'default':0x1},{'name':'pagesize','type':a125_0x577702(0x8a),'description':a125_0x577702(0x96)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x47a5b5){const _0x81c073=a125_0x577702,_0x4626ba=await listSqlQueries(_0x47a5b5[_0x81c073(0xa1)],{'sqlCode':_0x47a5b5[_0x81c073(0xa4)](_0x81c073(0xa3))||undefined,'sqlName':_0x47a5b5[_0x81c073(0xa4)]('name')||undefined,'currentPage':_0x47a5b5[_0x81c073(0x9f)](_0x81c073(0x8f)),'pageSize':_0x47a5b5[_0x81c073(0x9f)](_0x81c073(0xa6),0x32)}),_0x2e40d6=_0x47a5b5[_0x81c073(0x8e)](_0x81c073(0x88)),_0x153aea=_0x4626ba[_0x81c073(0x94)]??[],_0x163c4d=_0x4626ba[_0x81c073(0x86)]?.[_0x81c073(0x8d)]??_0x153aea['length'];let _0x1a86e7;return _0x2e40d6?_0x1a86e7=_0x153aea:_0x1a86e7=await Promise['all'](_0x153aea[_0x81c073(0x9a)](async _0x342588=>{const _0x13effd=_0x81c073;let _0x21df0a;try{_0x21df0a=_0x342588[_0x13effd(0x98)]?await getDbName(_0x47a5b5[_0x13effd(0xa1)],_0x342588[_0x13effd(0x98)]):undefined;}catch{}return{'sqlCode':_0x342588['sqlCode'],'sqlName':_0x342588[_0x13effd(0xa2)],'description':_0x342588[_0x13effd(0x93)]??'','db':_0x21df0a?_0x21df0a+'\x20('+_0x342588['dbId']+')':_0x342588['dbId']??''};})),{'ok':!![],'data':_0x1a86e7,'message':_0x153aea['length']===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0x153aea[_0x81c073(0x90)]+'\x20SQL\x20queries\x20(total:\x20'+_0x163c4d+').'};}};
1
+ function a125_0x4aa0(_0x11ead3,_0x39b5b4){_0x11ead3=_0x11ead3-0x69;const _0x36d7de=a125_0x36d7();let _0x4aa003=_0x36d7de[_0x11ead3];return _0x4aa003;}const a125_0x267076=a125_0x4aa0;(function(_0x554191,_0x5c7f7f){const _0x119c46=a125_0x4aa0,_0x41a366=_0x554191();while(!![]){try{const _0x1e4218=parseInt(_0x119c46(0x6c))/0x1+-parseInt(_0x119c46(0x84))/0x2*(parseInt(_0x119c46(0x8f))/0x3)+parseInt(_0x119c46(0x82))/0x4*(-parseInt(_0x119c46(0x7d))/0x5)+parseInt(_0x119c46(0x7b))/0x6*(-parseInt(_0x119c46(0x7e))/0x7)+-parseInt(_0x119c46(0x75))/0x8*(-parseInt(_0x119c46(0x74))/0x9)+-parseInt(_0x119c46(0x6d))/0xa+parseInt(_0x119c46(0x8d))/0xb*(parseInt(_0x119c46(0x85))/0xc);if(_0x1e4218===_0x5c7f7f)break;else _0x41a366['push'](_0x41a366['shift']());}catch(_0x4963b8){_0x41a366['push'](_0x41a366['shift']());}}}(a125_0x36d7,0x32e4a));import{listSqlQueries}from'../../core/api-client.js';function a125_0x36d7(){const _0x38f5e4=['83430pyGzUF','155700VJmjYY','string','List\x20custom\x20SQL\x20queries','Page\x20number','sqlName','page','list','2736BQdswi','4184WvFMft','dbId','num','Found\x20','sql','name','9006WoasdM','appCode','15775eDjuUH','903AZJFHI','totalCount','tableData','bool','12eyRRWR','length','40536tPzuRR','96wohdbs','verbose','str','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','description','read','paging','Filter\x20by\x20SQL\x20name','281831IZQNlL','Page\x20size','3coevDd','No\x20custom\x20SQL\x20queries\x20found.','sqlCode','\x20SQL\x20queries\x20(total:\x20','pagesize','sqlcode','number','boolean'];a125_0x36d7=function(){return _0x38f5e4;};return a125_0x36d7();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a125_0x267076(0x79),'command':a125_0x267076(0x73),'description':a125_0x267076(0x6f),'risk':a125_0x267076(0x8a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x267076(0x7a),'type':a125_0x267076(0x6e),'description':a125_0x267076(0x8c)},{'name':a125_0x267076(0x72),'type':a125_0x267076(0x6a),'description':a125_0x267076(0x70),'default':0x1},{'name':'pagesize','type':a125_0x267076(0x6a),'description':a125_0x267076(0x8e)},{'name':a125_0x267076(0x86),'type':a125_0x267076(0x6b),'description':a125_0x267076(0x88)}],async 'execute'(_0x415479){const _0x4fee90=a125_0x267076,_0x5f40d4=await listSqlQueries(_0x415479['appCode'],{'sqlCode':_0x415479[_0x4fee90(0x87)](_0x4fee90(0x69))||undefined,'sqlName':_0x415479[_0x4fee90(0x87)](_0x4fee90(0x7a))||undefined,'currentPage':_0x415479[_0x4fee90(0x77)]('page'),'pageSize':_0x415479[_0x4fee90(0x77)](_0x4fee90(0x93),0x32)}),_0x567916=_0x415479[_0x4fee90(0x81)]('verbose'),_0x6c544a=_0x5f40d4[_0x4fee90(0x80)]??[],_0x3f9824=_0x5f40d4[_0x4fee90(0x8b)]?.[_0x4fee90(0x7f)]??_0x6c544a[_0x4fee90(0x83)];let _0x90dcc6;return _0x567916?_0x90dcc6=_0x6c544a:_0x90dcc6=await Promise['all'](_0x6c544a['map'](async _0x2132f8=>{const _0x461737=_0x4fee90;let _0x594b94;try{_0x594b94=_0x2132f8['dbId']?await getDbName(_0x415479[_0x461737(0x7c)],_0x2132f8[_0x461737(0x76)]):undefined;}catch{}return{'sqlCode':_0x2132f8[_0x461737(0x91)],'sqlName':_0x2132f8[_0x461737(0x71)],'description':_0x2132f8[_0x461737(0x89)]??'','db':_0x594b94?_0x594b94+'\x20('+_0x2132f8[_0x461737(0x76)]+')':_0x2132f8[_0x461737(0x76)]??''};})),{'ok':!![],'data':_0x90dcc6,'message':_0x6c544a[_0x4fee90(0x83)]===0x0?_0x4fee90(0x90):_0x4fee90(0x78)+_0x6c544a[_0x4fee90(0x83)]+_0x4fee90(0x92)+_0x3f9824+').'};}};
@@ -1 +1 @@
1
- const a126_0x22ab64=a126_0x3a35;(function(_0xb2fbd6,_0x206baf){const _0x1d986f=a126_0x3a35,_0x54de8c=_0xb2fbd6();while(!![]){try{const _0x59a0b2=-parseInt(_0x1d986f(0x107))/0x1+-parseInt(_0x1d986f(0x114))/0x2+parseInt(_0x1d986f(0xf3))/0x3+-parseInt(_0x1d986f(0x10d))/0x4*(-parseInt(_0x1d986f(0x105))/0x5)+-parseInt(_0x1d986f(0xf0))/0x6+parseInt(_0x1d986f(0x10b))/0x7+-parseInt(_0x1d986f(0xec))/0x8;if(_0x59a0b2===_0x206baf)break;else _0x54de8c['push'](_0x54de8c['shift']());}catch(_0x81dbc7){_0x54de8c['push'](_0x54de8c['shift']());}}}(a126_0x3b86,0x8f1eb));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a126_0x3a35(_0x1487d8,_0x71ceb2){_0x1487d8=_0x1487d8-0xd9;const _0x3b86e5=a126_0x3b86();let _0x3a35e1=_0x3b86e5[_0x1487d8];return _0x3a35e1;}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a126_0x3b86(){const _0x4989f7=['length','345842BHjqug','name','catch','sqlContent','7261464MyjOdc','push','64keKzYX','unchanged','split','tableData','bool','boolean','conflict','750786IRbEcA','local\x20differs\x20from\x20remote','POST','\x20skipped,\x20','sqlName','replace','Force\x20pull\x20cancelled.','sqlCode','sqlcode','str','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqlRootDir','path','skipped','Pull\x20complete:\x20','description','message','toISOString','pull','423632fBYdJI','filter','would_pull','appCode','5340780IpLAQK','apps','sqlRoot','1218534fkEZAg','dbId','lastSync','utf8','sql','sqls','test','Would\x20pull\x20','lockFilePath','nonInteractive','force','totalCount','cancelled','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','mybatisXml','No\x20remote\x20SQL\x20queries\x20matched.','\x20failed','trimStart','252190nInRxk'];a126_0x3b86=function(){return _0x4989f7;};return a126_0x3b86();}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(_0x2d7cfa,_0x6b812b){const _0x11a87f=a126_0x3a35,_0x3104ff=[];let _0x505baf=0x1;while(!![]){const _0x2e1f15=await listSqlQueries(_0x2d7cfa,{'currentPage':_0x505baf,'pageSize':PAGE_SIZE,'sqlCode':_0x6b812b[_0x11a87f(0xdf)],'sqlName':_0x6b812b['sqlName']}),_0x1fcb48=_0x2e1f15[_0x11a87f(0x110)]??[];_0x3104ff[_0x11a87f(0x10c)](..._0x1fcb48);if(_0x1fcb48[_0x11a87f(0x106)]===0x0)break;const _0xe4e0a4=_0x2e1f15['paging']?.[_0x11a87f(0xfe)];if(_0xe4e0a4!=null?_0x3104ff[_0x11a87f(0x106)]>=_0xe4e0a4:_0x1fcb48['length']<PAGE_SIZE)break;_0x505baf++;}return _0x3104ff;}async function ensureSqlContent(_0x28821d){const _0x223318=a126_0x3a35;if(_0x28821d[_0x223318(0x10a)]!=null&&String(_0x28821d['sqlContent'])['length']>0x0)return _0x28821d;return getSqlQueryDetail(_0x28821d[_0x223318(0xdf)]);}export const sqlPull={'service':a126_0x22ab64(0xf7),'command':a126_0x22ab64(0xeb),'description':a126_0x22ab64(0xe2),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a126_0x22ab64(0xfd),'type':a126_0x22ab64(0x112),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x2ab4d8){const _0x5ca178=a126_0x22ab64,_0x211b07=loadSqlProjectConfig(_0x2ab4d8[_0x5ca178(0xef)]),_0xb66b6f=await readSqlLockFile(_0x211b07[_0x5ca178(0xfb)]),{appLock:_0x21ee7c}=ensureSqlLockScope(_0xb66b6f??createEmptySqlLock(),_0x211b07['appCode'],_0x211b07[_0x5ca178(0xf2)],_0x5ca178(0xeb)),_0x479af2=await fetchAllSqlQueries(_0x2ab4d8['appCode'],{'sqlCode':_0x2ab4d8[_0x5ca178(0xe1)]('sqlcode')||undefined,'sqlName':_0x2ab4d8[_0x5ca178(0xe1)](_0x5ca178(0x108))||undefined}),_0x2ae20f=[];for(const _0x2801a0 of _0x479af2){const _0x404d41=await ensureSqlContent(_0x2801a0),_0x4c34c6=ensureRemoteSqlContent(_0x404d41),_0x5d91c6=detectModeFromSql(_0x404d41),_0x25b78e=_0x404d41[_0x5ca178(0xf4)]?await getDbName(_0x2ab4d8[_0x5ca178(0xef)],Number(_0x404d41[_0x5ca178(0xf4)]))[_0x5ca178(0x109)](()=>undefined):undefined,_0x538353=buildLocalSqlFileContent({'sqlCode':_0x404d41[_0x5ca178(0xdf)],'sqlName':_0x404d41[_0x5ca178(0xdc)],'dbId':_0x404d41[_0x5ca178(0xf4)]},_0x4c34c6,{'dbName':_0x25b78e,'mode':_0x5d91c6,'syncedAt':new Date()[_0x5ca178(0xea)](),'description':_0x404d41[_0x5ca178(0xe8)]}),_0x40f4ce=buildSqlLockEntry(_0x404d41,_0x4c34c6,'',{'dbName':_0x25b78e}),_0x573cf4=resolveLocalSqlFilePath(_0x211b07,_0x404d41['sqlCode'],_0x40f4ce);let _0x5bb78c=_0x5ca178(0xee),_0x18c23c;if(await fileExists(_0x573cf4)){const _0x4556e2=await readFile(_0x573cf4,_0x5ca178(0xf6));isEquivalentPulledSqlFile(_0x4556e2,_0x538353,_0x5d91c6)?(_0x5bb78c=_0x5ca178(0xe6),_0x18c23c=_0x5ca178(0x10e)):(_0x5bb78c=_0x5ca178(0x113),_0x18c23c=_0x5ca178(0xe3));}_0x2ae20f['push']({'sqlCode':_0x404d41[_0x5ca178(0xdf)],'sqlName':_0x404d41[_0x5ca178(0xdc)],'filePath':_0x573cf4,'status':_0x5bb78c,'reason':_0x18c23c});}return{'method':_0x5ca178(0xda),'url':_0x5ca178(0x100),'body':{'appCode':_0x2ab4d8[_0x5ca178(0xef)],'sqlCode':_0x2ab4d8['str']('sqlcode')||null,'sqlName':_0x2ab4d8[_0x5ca178(0xe1)](_0x5ca178(0x108))||null,'files':_0x2ae20f},'description':_0x5ca178(0xfa)+_0x2ae20f[_0x5ca178(0x106)]+'\x20SQL\x20file(s)\x20into\x20'+_0x211b07['sqlRootDir']};},async 'execute'(_0x169b45){const _0x1e6b41=a126_0x22ab64,_0x26d2fc=loadSqlProjectConfig(_0x169b45[_0x1e6b41(0xef)]),_0x4ca358=await readSqlLockFile(_0x26d2fc[_0x1e6b41(0xfb)]),{lockData:_0x14dcc3,appLock:_0x1e7ba8}=ensureSqlLockScope(_0x4ca358??createEmptySqlLock(),_0x26d2fc['appCode'],_0x26d2fc[_0x1e6b41(0xf2)],_0x1e6b41(0xeb)),_0xaf1434=_0x169b45[_0x1e6b41(0x111)](_0x1e6b41(0xfd)),_0xe5fa61=await fetchAllSqlQueries(_0x169b45[_0x1e6b41(0xef)],{'sqlCode':_0x169b45[_0x1e6b41(0xe1)](_0x1e6b41(0xe0))||undefined,'sqlName':_0x169b45[_0x1e6b41(0xe1)](_0x1e6b41(0x108))||undefined});if(_0xe5fa61[_0x1e6b41(0x106)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1e6b41(0x102)};const _0x5d95e0=[],_0x63b3c9=[];for(const _0x398368 of _0xe5fa61){try{_0x5d95e0[_0x1e6b41(0x10c)](await ensureSqlContent(_0x398368));}catch(_0x3d36b9){_0x63b3c9[_0x1e6b41(0x10c)]({'sqlCode':_0x398368['sqlCode'],'error':_0x3d36b9 instanceof Error?_0x3d36b9[_0x1e6b41(0xe9)]:String(_0x3d36b9)});}}if(_0xaf1434&&!_0x169b45[_0x1e6b41(0xfc)]){let _0x396b39=![];for(const _0x2cfcd9 of _0x5d95e0){const _0x1343e0=detectModeFromSql(_0x2cfcd9),_0x4f7884=_0x2cfcd9['dbId']?await getDbName(_0x169b45['appCode'],Number(_0x2cfcd9[_0x1e6b41(0xf4)]))[_0x1e6b41(0x109)](()=>undefined):undefined,_0x1eec6d=buildLocalSqlFileContent({'sqlCode':_0x2cfcd9[_0x1e6b41(0xdf)],'sqlName':_0x2cfcd9['sqlName'],'dbId':_0x2cfcd9['dbId']},ensureRemoteSqlContent(_0x2cfcd9),{'dbName':_0x4f7884,'mode':_0x1343e0,'syncedAt':new Date()[_0x1e6b41(0xea)](),'description':_0x2cfcd9['description']}),_0x37788a=resolveLocalSqlFilePath(_0x26d2fc,_0x2cfcd9[_0x1e6b41(0xdf)],buildSqlLockEntry(_0x2cfcd9,ensureRemoteSqlContent(_0x2cfcd9),'',{'dbName':_0x4f7884}));if(await fileExists(_0x37788a)){const _0x161730=await readFile(_0x37788a,_0x1e6b41(0xf6));if(!isEquivalentPulledSqlFile(_0x161730,_0x1eec6d,_0x1343e0)){_0x396b39=!![];break;}}}if(_0x396b39){const _0x388c3c=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x388c3c)throw CliErrors[_0x1e6b41(0xff)](_0x1e6b41(0xde));}}const _0x49eca2=cloneSqlLockData(_0x14dcc3),_0x4ae388=_0x49eca2[_0x1e6b41(0xf1)][_0x26d2fc[_0x1e6b41(0xef)]],_0x41802a=[],_0x39524c=[];for(const _0x1e9170 of _0x5d95e0){const _0x3566ee=_0x4ae388['sqls'][_0x1e9170[_0x1e6b41(0xdf)]],_0x1f14d2=ensureRemoteSqlContent(_0x1e9170),_0x5f5c3b=detectModeFromSql(_0x1e9170),_0x1a0fc8=_0x1e9170[_0x1e6b41(0xf4)]?await getDbName(_0x169b45[_0x1e6b41(0xef)],Number(_0x1e9170[_0x1e6b41(0xf4)]))['catch'](()=>undefined):undefined,_0x57928a=buildLocalSqlFileContent({'sqlCode':_0x1e9170[_0x1e6b41(0xdf)],'sqlName':_0x1e9170[_0x1e6b41(0xdc)],'dbId':_0x1e9170[_0x1e6b41(0xf4)]},_0x1f14d2,{'dbName':_0x1a0fc8,'mode':_0x5f5c3b,'syncedAt':new Date()['toISOString'](),'description':_0x1e9170[_0x1e6b41(0xe8)]}),_0x5be70a=buildSqlLockEntry(_0x1e9170,_0x1f14d2,computeSqlContentHash(_0x57928a),{'dbName':_0x1a0fc8}),_0x440477=_0x5be70a[_0x1e6b41(0xe5)],_0x5c9a93=join(_0x26d2fc[_0x1e6b41(0xe4)],_0x440477);try{if(await fileExists(_0x5c9a93)){const _0x3e0d33=await readFile(_0x5c9a93,_0x1e6b41(0xf6));if(isEquivalentPulledSqlFile(_0x3e0d33,_0x57928a,_0x5f5c3b)){_0x39524c[_0x1e6b41(0x10c)]({'sqlCode':_0x1e9170[_0x1e6b41(0xdf)],'reason':_0x1e6b41(0x10e)}),_0x4ae388[_0x1e6b41(0xf8)][_0x1e9170[_0x1e6b41(0xdf)]]={..._0x5be70a,'hash':computeSqlContentHash(_0x3e0d33),'path':_0x440477};continue;}if(!_0xaf1434){_0x39524c[_0x1e6b41(0x10c)]({'sqlCode':_0x1e9170[_0x1e6b41(0xdf)],'reason':_0x1e6b41(0xd9)});continue;}}const _0x18bf18=_0x3566ee?.[_0x1e6b41(0xe5)]?join(_0x26d2fc[_0x1e6b41(0xe4)],_0x3566ee[_0x1e6b41(0xe5)]):undefined;_0x18bf18&&_0x18bf18!==_0x5c9a93&&await fileExists(_0x18bf18)&&await rm(_0x18bf18,{'force':!![]}),await ensureParentDirectory(_0x5c9a93),await writeFile(_0x5c9a93,_0x57928a,_0x1e6b41(0xf6)),_0x4ae388['sqls'][_0x1e9170[_0x1e6b41(0xdf)]]={..._0x5be70a,'path':_0x440477},_0x41802a['push']({'sqlCode':_0x1e9170[_0x1e6b41(0xdf)],'filePath':_0x5c9a93});}catch(_0x385e3b){_0x63b3c9[_0x1e6b41(0x10c)]({'sqlCode':_0x1e9170[_0x1e6b41(0xdf)],'error':_0x385e3b instanceof Error?_0x385e3b[_0x1e6b41(0xe9)]:String(_0x385e3b)});}}return _0x4ae388[_0x1e6b41(0xf5)]=new Date()[_0x1e6b41(0xea)](),await writeSqlLockFile(_0x26d2fc[_0x1e6b41(0xfb)],_0x49eca2),{'ok':_0x63b3c9[_0x1e6b41(0x106)]===0x0,'data':{'pulled':_0x41802a,'skipped':_0x39524c,'failed':_0x63b3c9},'message':_0x1e6b41(0xe7)+_0x41802a[_0x1e6b41(0x106)]+'\x20written,\x20'+_0x39524c['length']+_0x1e6b41(0xdb)+_0x63b3c9['length']+_0x1e6b41(0x103)};}};function detectModeFromSql(_0x2915c4){const _0x928140=a126_0x22ab64,_0x5b4077=ensureRemoteSqlContent(_0x2915c4),_0x4dd321=stripLocalSqlMetadata(_0x5b4077,'mybatisXml')[_0x928140(0x104)]();if(/^<(select|insert|update|delete)\b/i[_0x928140(0xf9)](_0x4dd321))return'mybatisXml';return _0x928140(0xf7);}function isEquivalentPulledSqlFile(_0x285647,_0x61e668,_0x583a31){return normalizePullComparableContent(_0x285647,_0x583a31)===normalizePullComparableContent(_0x61e668,_0x583a31);}function normalizePullComparableContent(_0x324a7e,_0x13d517){const _0x2561a4=a126_0x22ab64,_0x16cf1b=_0x324a7e[_0x2561a4(0xdd)](/\r\n/g,'\x0a')[_0x2561a4(0x10f)]('\x0a'),_0x4fbc50=_0x16cf1b[_0x2561a4(0xed)](_0x10e15a=>!isSyncedAtMetadataLine(_0x10e15a,_0x13d517));return _0x4fbc50['join']('\x0a');}function isSyncedAtMetadataLine(_0x32171b,_0x2e425c){const _0x380ea4=a126_0x22ab64;if(_0x2e425c===_0x380ea4(0x101))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x380ea4(0xf9)](_0x32171b);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x380ea4(0xf9)](_0x32171b);}
1
+ const a126_0xab83f6=a126_0x12dc;(function(_0x44eac1,_0x1899f1){const _0x57ece2=a126_0x12dc,_0x474684=_0x44eac1();while(!![]){try{const _0x469da0=-parseInt(_0x57ece2(0x9d))/0x1+-parseInt(_0x57ece2(0x90))/0x2+parseInt(_0x57ece2(0x9c))/0x3*(-parseInt(_0x57ece2(0xa3))/0x4)+parseInt(_0x57ece2(0x89))/0x5+parseInt(_0x57ece2(0xaa))/0x6+-parseInt(_0x57ece2(0x88))/0x7+parseInt(_0x57ece2(0xa4))/0x8*(parseInt(_0x57ece2(0x85))/0x9);if(_0x469da0===_0x1899f1)break;else _0x474684['push'](_0x474684['shift']());}catch(_0x256818){_0x474684['push'](_0x474684['shift']());}}}(a126_0x3f35,0x72f59));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a126_0x12dc(_0x5931a7,_0x2c02c7){_0x5931a7=_0x5931a7-0x7f;const _0x3f35e2=a126_0x3f35();let _0x12dca7=_0x3f35e2[_0x5931a7];return _0x12dca7;}import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a126_0x3f35(){const _0x19dcef=['sqlName','force','catch','tableData','297sOdGwH','toISOString','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','3695972IrLeht','2247195oXQlpY','\x20skipped,\x20','dbId','totalCount','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','sqlRootDir','conflict','936362fCzyJZ','boolean','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','write','description','sqls','string','cancelled','mybatisXml','push','str','length','9171Ykpnmc','568010hILPsZ','message','sqlCode','replace','Force\x20pull\x20cancelled.','lockFilePath','772CGRNoZ','432664TDLYmb','local\x20differs\x20from\x20remote','sqlcode','utf8','sqlRoot','appCode','2345298mUOScm','join','sqlContent','test','name','lastSync','Filter\x20by\x20SQL\x20display\x20name','path','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','apps','pull'];a126_0x3f35=function(){return _0x19dcef;};return a126_0x3f35();}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x1d77cc,_0x479362){const _0xf1a373=a126_0x12dc,_0x2d4663=[];let _0xd05a05=0x1;while(!![]){const _0x524e1b=await listSqlQueries(_0x1d77cc,{'currentPage':_0xd05a05,'pageSize':PAGE_SIZE,'sqlCode':_0x479362[_0xf1a373(0x9f)],'sqlName':_0x479362[_0xf1a373(0x81)]}),_0x2bca25=_0x524e1b[_0xf1a373(0x84)]??[];_0x2d4663['push'](..._0x2bca25);if(_0x2bca25[_0xf1a373(0x9b)]===0x0)break;const _0xf0a802=_0x524e1b['paging']?.[_0xf1a373(0x8c)];if(_0xf0a802!=null?_0x2d4663['length']>=_0xf0a802:_0x2bca25[_0xf1a373(0x9b)]<PAGE_SIZE)break;_0xd05a05++;}return _0x2d4663;}async function ensureSqlContent(_0x227073){const _0x2b8131=a126_0x12dc;if(_0x227073['sqlContent']!=null&&String(_0x227073[_0x2b8131(0xac)])['length']>0x0)return _0x227073;return getSqlQueryDetail(_0x227073[_0x2b8131(0x9f)]);}export const sqlPull={'service':'sql','command':a126_0xab83f6(0x80),'description':a126_0xab83f6(0xb2),'risk':a126_0xab83f6(0x93),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0xab83f6(0xae),'type':a126_0xab83f6(0x96),'description':a126_0xab83f6(0xb0)},{'name':a126_0xab83f6(0x82),'type':a126_0xab83f6(0x91),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x3e8575){const _0xb1b01f=a126_0xab83f6,_0x1266d4=loadSqlProjectConfig(_0x3e8575['appCode']),_0x324ffb=await readSqlLockFile(_0x1266d4['lockFilePath']),{appLock:_0x201a8a}=ensureSqlLockScope(_0x324ffb??createEmptySqlLock(),_0x1266d4['appCode'],_0x1266d4[_0xb1b01f(0xa8)],_0xb1b01f(0x80)),_0x43f1fa=await fetchAllSqlQueries(_0x3e8575[_0xb1b01f(0xa9)],{'sqlCode':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xa6))||undefined,'sqlName':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xae))||undefined}),_0x570394=[];for(const _0x3f938d of _0x43f1fa){const _0x300c87=await ensureSqlContent(_0x3f938d),_0x48ffbd=ensureRemoteSqlContent(_0x300c87),_0x5dc6de=detectModeFromSql(_0x300c87),_0x203572=_0x300c87[_0xb1b01f(0x8b)]?await getDbName(_0x3e8575[_0xb1b01f(0xa9)],Number(_0x300c87[_0xb1b01f(0x8b)]))[_0xb1b01f(0x83)](()=>undefined):undefined,_0x5174a0=buildLocalSqlFileContent({'sqlCode':_0x300c87[_0xb1b01f(0x9f)],'sqlName':_0x300c87[_0xb1b01f(0x81)],'dbId':_0x300c87[_0xb1b01f(0x8b)]},_0x48ffbd,{'dbName':_0x203572,'mode':_0x5dc6de,'syncedAt':new Date()[_0xb1b01f(0x86)](),'description':_0x300c87[_0xb1b01f(0x94)]}),_0x592f48=buildSqlLockEntry(_0x300c87,_0x48ffbd,'',{'dbName':_0x203572}),_0x806f29=resolveLocalSqlFilePath(_0x1266d4,_0x300c87[_0xb1b01f(0x9f)],_0x592f48);let _0x5218c6='would_pull',_0x24d955;if(await fileExists(_0x806f29)){const _0x15b93b=await readFile(_0x806f29,_0xb1b01f(0xa7));isEquivalentPulledSqlFile(_0x15b93b,_0x5174a0,_0x5dc6de)?(_0x5218c6='skipped',_0x24d955='unchanged'):(_0x5218c6=_0xb1b01f(0x8f),_0x24d955=_0xb1b01f(0x92));}_0x570394[_0xb1b01f(0x99)]({'sqlCode':_0x300c87[_0xb1b01f(0x9f)],'sqlName':_0x300c87[_0xb1b01f(0x81)],'filePath':_0x806f29,'status':_0x5218c6,'reason':_0x24d955});}return{'method':'POST','url':_0xb1b01f(0x87),'body':{'appCode':_0x3e8575['appCode'],'sqlCode':_0x3e8575['str'](_0xb1b01f(0xa6))||null,'sqlName':_0x3e8575[_0xb1b01f(0x9a)](_0xb1b01f(0xae))||null,'files':_0x570394},'description':'Would\x20pull\x20'+_0x570394[_0xb1b01f(0x9b)]+'\x20SQL\x20file(s)\x20into\x20'+_0x1266d4['sqlRootDir']};},async 'execute'(_0xd33bbd){const _0x30700e=a126_0xab83f6,_0x5848c8=loadSqlProjectConfig(_0xd33bbd['appCode']),_0x587364=await readSqlLockFile(_0x5848c8[_0x30700e(0xa2)]),{lockData:_0x2a90e7,appLock:_0x54d79b}=ensureSqlLockScope(_0x587364??createEmptySqlLock(),_0x5848c8['appCode'],_0x5848c8['sqlRoot'],_0x30700e(0x80)),_0x458df1=_0xd33bbd['bool'](_0x30700e(0x82)),_0x462e94=await fetchAllSqlQueries(_0xd33bbd[_0x30700e(0xa9)],{'sqlCode':_0xd33bbd[_0x30700e(0x9a)](_0x30700e(0xa6))||undefined,'sqlName':_0xd33bbd['str']('name')||undefined});if(_0x462e94[_0x30700e(0x9b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x3fbd12=[],_0x237ca0=[];for(const _0x549041 of _0x462e94){try{_0x3fbd12['push'](await ensureSqlContent(_0x549041));}catch(_0x3a1d9f){_0x237ca0[_0x30700e(0x99)]({'sqlCode':_0x549041[_0x30700e(0x9f)],'error':_0x3a1d9f instanceof Error?_0x3a1d9f[_0x30700e(0x9e)]:String(_0x3a1d9f)});}}if(_0x458df1&&!_0xd33bbd['nonInteractive']){let _0x279b0b=![];for(const _0x1a00be of _0x3fbd12){const _0x1fefa1=detectModeFromSql(_0x1a00be),_0x5ade2e=_0x1a00be[_0x30700e(0x8b)]?await getDbName(_0xd33bbd[_0x30700e(0xa9)],Number(_0x1a00be[_0x30700e(0x8b)]))[_0x30700e(0x83)](()=>undefined):undefined,_0x3c2f5a=buildLocalSqlFileContent({'sqlCode':_0x1a00be[_0x30700e(0x9f)],'sqlName':_0x1a00be[_0x30700e(0x81)],'dbId':_0x1a00be[_0x30700e(0x8b)]},ensureRemoteSqlContent(_0x1a00be),{'dbName':_0x5ade2e,'mode':_0x1fefa1,'syncedAt':new Date()['toISOString'](),'description':_0x1a00be[_0x30700e(0x94)]}),_0x717bd1=resolveLocalSqlFilePath(_0x5848c8,_0x1a00be['sqlCode'],buildSqlLockEntry(_0x1a00be,ensureRemoteSqlContent(_0x1a00be),'',{'dbName':_0x5ade2e}));if(await fileExists(_0x717bd1)){const _0x3f327c=await readFile(_0x717bd1,'utf8');if(!isEquivalentPulledSqlFile(_0x3f327c,_0x3c2f5a,_0x1fefa1)){_0x279b0b=!![];break;}}}if(_0x279b0b){const _0x3fe4bf=await confirmForceOverwrite(_0x30700e(0x8d));if(!_0x3fe4bf)throw CliErrors[_0x30700e(0x97)](_0x30700e(0xa1));}}const _0x5e060f=cloneSqlLockData(_0x2a90e7),_0x561303=_0x5e060f[_0x30700e(0x7f)][_0x5848c8[_0x30700e(0xa9)]],_0x39607c=[],_0x5798d2=[];for(const _0x263e1f of _0x3fbd12){const _0x1b6d98=_0x561303['sqls'][_0x263e1f[_0x30700e(0x9f)]],_0x4d3979=ensureRemoteSqlContent(_0x263e1f),_0x57576e=detectModeFromSql(_0x263e1f),_0x483934=_0x263e1f[_0x30700e(0x8b)]?await getDbName(_0xd33bbd[_0x30700e(0xa9)],Number(_0x263e1f[_0x30700e(0x8b)]))[_0x30700e(0x83)](()=>undefined):undefined,_0x13f1a3=buildLocalSqlFileContent({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'sqlName':_0x263e1f[_0x30700e(0x81)],'dbId':_0x263e1f[_0x30700e(0x8b)]},_0x4d3979,{'dbName':_0x483934,'mode':_0x57576e,'syncedAt':new Date()[_0x30700e(0x86)](),'description':_0x263e1f[_0x30700e(0x94)]}),_0xabbb35=buildSqlLockEntry(_0x263e1f,_0x4d3979,computeSqlContentHash(_0x13f1a3),{'dbName':_0x483934}),_0x2e933b=_0xabbb35[_0x30700e(0xb1)],_0x4a3aee=join(_0x5848c8[_0x30700e(0x8e)],_0x2e933b);try{if(await fileExists(_0x4a3aee)){const _0x30448a=await readFile(_0x4a3aee,'utf8');if(isEquivalentPulledSqlFile(_0x30448a,_0x13f1a3,_0x57576e)){_0x5798d2[_0x30700e(0x99)]({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'reason':'unchanged'}),_0x561303[_0x30700e(0x95)][_0x263e1f[_0x30700e(0x9f)]]={..._0xabbb35,'hash':computeSqlContentHash(_0x30448a),'path':_0x2e933b};continue;}if(!_0x458df1){_0x5798d2[_0x30700e(0x99)]({'sqlCode':_0x263e1f[_0x30700e(0x9f)],'reason':_0x30700e(0xa5)});continue;}}const _0x3c87a0=_0x1b6d98?.['path']?join(_0x5848c8[_0x30700e(0x8e)],_0x1b6d98[_0x30700e(0xb1)]):undefined;_0x3c87a0&&_0x3c87a0!==_0x4a3aee&&await fileExists(_0x3c87a0)&&await rm(_0x3c87a0,{'force':!![]}),await ensureParentDirectory(_0x4a3aee),await writeFile(_0x4a3aee,_0x13f1a3,_0x30700e(0xa7)),_0x561303['sqls'][_0x263e1f[_0x30700e(0x9f)]]={..._0xabbb35,'path':_0x2e933b},_0x39607c[_0x30700e(0x99)]({'sqlCode':_0x263e1f['sqlCode'],'filePath':_0x4a3aee});}catch(_0x53c781){_0x237ca0[_0x30700e(0x99)]({'sqlCode':_0x263e1f['sqlCode'],'error':_0x53c781 instanceof Error?_0x53c781[_0x30700e(0x9e)]:String(_0x53c781)});}}return _0x561303[_0x30700e(0xaf)]=new Date()[_0x30700e(0x86)](),await writeSqlLockFile(_0x5848c8[_0x30700e(0xa2)],_0x5e060f),{'ok':_0x237ca0[_0x30700e(0x9b)]===0x0,'data':{'pulled':_0x39607c,'skipped':_0x5798d2,'failed':_0x237ca0},'message':'Pull\x20complete:\x20'+_0x39607c['length']+'\x20written,\x20'+_0x5798d2[_0x30700e(0x9b)]+_0x30700e(0x8a)+_0x237ca0[_0x30700e(0x9b)]+'\x20failed'};}};function detectModeFromSql(_0x3452bd){const _0x287dd8=a126_0xab83f6,_0x5d497e=ensureRemoteSqlContent(_0x3452bd),_0x2bcd43=stripLocalSqlMetadata(_0x5d497e,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x287dd8(0xad)](_0x2bcd43))return _0x287dd8(0x98);return'sql';}function isEquivalentPulledSqlFile(_0x1592a2,_0x17ce10,_0x133db2){return normalizePullComparableContent(_0x1592a2,_0x133db2)===normalizePullComparableContent(_0x17ce10,_0x133db2);}function normalizePullComparableContent(_0x38c227,_0x284f6b){const _0x3416e6=a126_0xab83f6,_0x110c4e=_0x38c227[_0x3416e6(0xa0)](/\r\n/g,'\x0a')['split']('\x0a'),_0x55ca16=_0x110c4e['filter'](_0x596285=>!isSyncedAtMetadataLine(_0x596285,_0x284f6b));return _0x55ca16[_0x3416e6(0xab)]('\x0a');}function isSyncedAtMetadataLine(_0x52efdc,_0x2c5982){if(_0x2c5982==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x52efdc);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x52efdc);}
@@ -1 +1 @@
1
- const a127_0x28efd6=a127_0x4cf5;(function(_0x2dc14e,_0x32dbf9){const _0x266f20=a127_0x4cf5,_0x962c00=_0x2dc14e();while(!![]){try{const _0xc2cc88=parseInt(_0x266f20(0xe9))/0x1*(-parseInt(_0x266f20(0xd3))/0x2)+-parseInt(_0x266f20(0xc0))/0x3*(-parseInt(_0x266f20(0xcd))/0x4)+-parseInt(_0x266f20(0xd0))/0x5*(-parseInt(_0x266f20(0xb9))/0x6)+parseInt(_0x266f20(0xd7))/0x7*(-parseInt(_0x266f20(0xd8))/0x8)+-parseInt(_0x266f20(0xe7))/0x9+-parseInt(_0x266f20(0xe2))/0xa+parseInt(_0x266f20(0xe5))/0xb*(parseInt(_0x266f20(0xbe))/0xc);if(_0xc2cc88===_0x32dbf9)break;else _0x962c00['push'](_0x962c00['shift']());}catch(_0x45d80e){_0x962c00['push'](_0x962c00['shift']());}}}(a127_0x4648,0xae7bb));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a127_0x4cf5(_0x183968,_0x3962bc){_0x183968=_0x183968-0xae;const _0x46486b=a127_0x4648();let _0x4cf592=_0x46486b[_0x183968];return _0x4cf592;}import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x32d71,_0x17cc8c,_0x3fad41){const _0xdcd152=a127_0x4cf5,_0x4a7e55=await scanLocalSqlQueries(_0x32d71),_0x254c9c=new Map();for(const _0x39b125 of _0x4a7e55){if(_0x3fad41&&_0x39b125[_0xdcd152(0xf1)]!==_0x3fad41)continue;const _0x489df4=_0x254c9c[_0xdcd152(0xb8)](_0x39b125['sqlCode'])??[];_0x489df4[_0xdcd152(0xae)](_0x39b125),_0x254c9c[_0xdcd152(0xc4)](_0x39b125['sqlCode'],_0x489df4);}if(_0x3fad41&&!_0x254c9c[_0xdcd152(0xd2)](_0x3fad41))throw CliErrors[_0xdcd152(0xaf)](_0xdcd152(0xf2)+_0x3fad41);const _0xd1339=[];for(const [_0xe5ac41,_0x4e985f]of _0x254c9c['entries']()){if(_0x4e985f['length']===0x1){_0xd1339[_0xdcd152(0xae)](_0x4e985f[0x0]);continue;}const _0x26c1b8=_0x17cc8c[_0xdcd152(0xee)][_0xe5ac41],_0x423e0b=_0x26c1b8?.[_0xdcd152(0xd5)],_0x4d7155=_0x423e0b?_0x4e985f[_0xdcd152(0xd4)](_0x21f3e5=>_0x21f3e5[_0xdcd152(0xc7)]!==_0x423e0b):_0x4e985f;if(_0x26c1b8&&_0x4d7155['length']===0x1){_0xd1339[_0xdcd152(0xae)](_0x4d7155[0x0]);continue;}throw CliErrors[_0xdcd152(0xaf)](_0xdcd152(0xec)+_0xe5ac41+_0xdcd152(0xdf));}return _0xd1339;}export const sqlPush={'service':'sql','command':'push','description':a127_0x28efd6(0xed),'risk':a127_0x28efd6(0xd1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x28efd6(0xf0),'type':a127_0x28efd6(0xd6),'description':a127_0x28efd6(0xb4)}],async 'dryRun'(_0x150387){const _0x5d702e=a127_0x28efd6,_0x598e4c=loadSqlProjectConfig(_0x150387['appCode']),_0x3fc157=await readSqlLockFile(_0x598e4c[_0x5d702e(0xea)]),{appLock:_0x208b5f}=ensureSqlLockScope(_0x3fc157??createEmptySqlLock(),_0x150387[_0x5d702e(0xe1)],_0x598e4c[_0x5d702e(0xc8)],_0x5d702e(0xae)),_0x3e68fa=await getTargetSqlQueries(_0x598e4c,_0x208b5f,_0x150387[_0x5d702e(0xc2)](_0x5d702e(0xce))||undefined),_0x6a3fc=[];for(const _0x4fe455 of _0x3e68fa){const _0x362aa2=await computeSqlFileHash(_0x4fe455['filePath']),_0x4459f8=_0x208b5f['sqls'][_0x4fe455['sqlCode']],_0x5270a8=!!_0x4459f8&&(_0x4459f8[_0x5d702e(0xd5)]!==_0x4fe455[_0x5d702e(0xc7)]||!!_0x4fe455[_0x5d702e(0xc1)]&&_0x4459f8[_0x5d702e(0xc1)]!==_0x4fe455[_0x5d702e(0xc1)]);if(!_0x150387['bool'](_0x5d702e(0xf0))&&_0x4459f8&&_0x4459f8[_0x5d702e(0xe6)]===_0x362aa2&&!_0x5270a8)continue;_0x6a3fc[_0x5d702e(0xae)](_0x4fe455['sqlCode']);}return{'method':_0x5d702e(0xc5),'url':_0x5d702e(0xef),'body':{'sqlCodes':_0x6a3fc,'appCode':_0x150387['appCode']},'description':_0x5d702e(0xe3)+_0x6a3fc[_0x5d702e(0xbb)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x346d53){const _0x1919c6=a127_0x28efd6,_0x177a79=loadSqlProjectConfig(_0x346d53[_0x1919c6(0xe1)]),_0x445c84=await readSqlLockFile(_0x177a79[_0x1919c6(0xea)]),{lockData:_0x2a797b,appLock:_0x9df3ed}=ensureSqlLockScope(_0x445c84??createEmptySqlLock(),_0x346d53[_0x1919c6(0xe1)],_0x177a79[_0x1919c6(0xc8)],_0x1919c6(0xae)),_0xb1d96f=await getTargetSqlQueries(_0x177a79,_0x9df3ed,_0x346d53['str'](_0x1919c6(0xce))||undefined);if(_0xb1d96f[_0x1919c6(0xbb)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x1919c6(0xb3)};const _0xa2f18=[],_0xc1d2b9=[],_0x11cfa2=[];for(const _0x2d24c1 of _0xb1d96f){const _0x41b142=_0x9df3ed[_0x1919c6(0xee)][_0x2d24c1['sqlCode']];if(!_0x41b142){_0x11cfa2[_0x1919c6(0xae)]({'sqlCode':_0x2d24c1['sqlCode'],'error':_0x1919c6(0xda)});continue;}try{const _0x9f78c5=await computeSqlFileHash(_0x2d24c1[_0x1919c6(0xcf)]),_0x3f904d=_0x41b142[_0x1919c6(0xd5)]!==_0x2d24c1[_0x1919c6(0xc7)]||!!_0x2d24c1[_0x1919c6(0xc1)]&&_0x41b142[_0x1919c6(0xc1)]!==_0x2d24c1[_0x1919c6(0xc1)];if(!_0x346d53[_0x1919c6(0xc6)](_0x1919c6(0xf0))&&_0x41b142['hash']===_0x9f78c5&&!_0x3f904d){_0xc1d2b9[_0x1919c6(0xae)]({'sqlCode':_0x2d24c1[_0x1919c6(0xf1)],'reason':_0x1919c6(0xba)});continue;}if(_0x41b142[_0x1919c6(0xd9)]==null){_0x11cfa2[_0x1919c6(0xae)]({'sqlCode':_0x2d24c1[_0x1919c6(0xf1)],'error':_0x1919c6(0xbd)});continue;}const _0xb80164=await readFile(_0x2d24c1['filePath'],'utf8'),_0x3bbb8f=stripLocalSqlMetadata(_0xb80164,_0x2d24c1[_0x1919c6(0xbc)]),_0xf596d6=_0x2d24c1[_0x1919c6(0xc1)]||_0x41b142[_0x1919c6(0xc1)],_0x378177=await resolveTargetDbBinding(_0x346d53[_0x1919c6(0xe1)],_0x2d24c1,_0x41b142),_0x5400d0=await updateSqlQuery({'id':_0x41b142['remoteId'],'appCode':_0x346d53[_0x1919c6(0xe1)],'sqlCode':_0x2d24c1[_0x1919c6(0xf1)],'sqlName':_0xf596d6,'dbId':_0x378177['dbId'],'version':_0x41b142[_0x1919c6(0xd9)],'sqlContent':_0x3bbb8f,'sqlConfig':_0x41b142[_0x1919c6(0xb7)]??undefined}),_0x51818f=_0x5400d0[_0x1919c6(0xcc)]?await getDbName(_0x346d53[_0x1919c6(0xe1)],Number(_0x5400d0[_0x1919c6(0xcc)]))[_0x1919c6(0xb1)](()=>_0x378177[_0x1919c6(0xbf)]):_0x378177[_0x1919c6(0xbf)];_0x9df3ed[_0x1919c6(0xee)][_0x2d24c1['sqlCode']]={...buildSqlLockEntry(_0x5400d0,_0x3bbb8f,_0x9f78c5,{'dbName':_0x51818f}),'path':_0x2d24c1[_0x1919c6(0xc7)],'mode':_0x41b142[_0x1919c6(0xbc)]},await archivePreviousSqlFileIfNeeded(_0x177a79,_0x41b142['path'],_0x2d24c1[_0x1919c6(0xc7)]),_0xa2f18[_0x1919c6(0xae)]({'sqlCode':_0x2d24c1[_0x1919c6(0xf1)],'remoteId':_0x41b142['remoteId']});}catch(_0x4dcf12){_0x11cfa2[_0x1919c6(0xae)]({'sqlCode':_0x2d24c1[_0x1919c6(0xf1)],'error':_0x4dcf12 instanceof Error?_0x4dcf12[_0x1919c6(0xcb)]:String(_0x4dcf12)});}}return _0x9df3ed[_0x1919c6(0xca)]=new Date()[_0x1919c6(0xb6)](),await writeSqlLockFile(_0x177a79[_0x1919c6(0xea)],_0x2a797b),{'ok':_0x11cfa2[_0x1919c6(0xbb)]===0x0,'data':{'pushed':_0xa2f18,'skipped':_0xc1d2b9,'failed':_0x11cfa2},'message':'Push\x20complete:\x20'+_0xa2f18[_0x1919c6(0xbb)]+_0x1919c6(0xc9)+_0xc1d2b9['length']+_0x1919c6(0xe0)+_0x11cfa2[_0x1919c6(0xbb)]+'\x20failed'};}};async function archivePreviousSqlFileIfNeeded(_0x42a68d,_0x19a868,_0x2f8d84){const _0x3b4cbe=a127_0x28efd6;if(!_0x19a868||_0x19a868===_0x2f8d84)return;const _0x52c1f8=join(_0x42a68d[_0x3b4cbe(0xeb)],_0x19a868);if(!await fileExists(_0x52c1f8))return;const _0x73af69=await moveToTrash(_0x42a68d[_0x3b4cbe(0xdb)],_0x42a68d[_0x3b4cbe(0xb2)],_0x52c1f8);await cleanupEmptyDirectories(dirname(_0x52c1f8),_0x42a68d[_0x3b4cbe(0xeb)]),void _0x73af69;}async function moveToTrash(_0x2dcd47,_0x5548c0,_0x435915){const _0x44a3a4=a127_0x28efd6,_0x2ad825=new Date()[_0x44a3a4(0xb6)]()['replace'](/[:.]/g,'-'),_0x112f0f=relative(_0x2dcd47,_0x435915),_0x260afa=join(_0x5548c0,_0x2ad825,_0x112f0f);return await mkdir(dirname(_0x260afa),{'recursive':!![]}),await rename(_0x435915,_0x260afa),_0x260afa;}async function cleanupEmptyDirectories(_0x58d20d,_0x17bbb9){const _0x5d59b2=a127_0x28efd6;let _0x5b6823=resolve(_0x58d20d);const _0x1404d3=resolve(_0x17bbb9);while(_0x5b6823[_0x5d59b2(0xc3)](''+_0x1404d3+sep)||_0x5b6823===_0x1404d3){if(_0x5b6823===_0x1404d3)return;try{const _0x5dc65d=await readdir(_0x5b6823);if(_0x5dc65d[_0x5d59b2(0xbb)]>0x0)return;await rmdir(_0x5b6823);}catch{return;}_0x5b6823=dirname(_0x5b6823);}}async function resolveTargetDbBinding(_0x44e4f2,_0x4fca0d,_0x4dc2f9){const _0x2701f6=a127_0x28efd6,_0x3f5dea=_0x4fca0d['dbDirectory'];if(!_0x3f5dea)return{'dbId':_0x4dc2f9[_0x2701f6(0xcc)],'dbName':_0x4dc2f9['dbName']};const _0x4cdd92=buildDbDirectoryName(_0x4dc2f9['dbName'],_0x4dc2f9[_0x2701f6(0xcc)]);if(_0x3f5dea===_0x4cdd92)return{'dbId':_0x4dc2f9[_0x2701f6(0xcc)],'dbName':_0x4dc2f9[_0x2701f6(0xbf)]};const _0x483326=parseExplicitDbDirectory(_0x3f5dea);if(_0x483326!=null)return{'dbId':_0x483326,'dbName':await getDbName(_0x44e4f2,_0x483326)['catch'](()=>undefined)};const _0x55119c=await listDatabases(_0x44e4f2),_0x5d5881=_0x55119c[_0x2701f6(0xd4)](_0x393f7f=>buildDbDirectoryName(_0x393f7f['dbName'],_0x393f7f[_0x2701f6(0xcc)])===_0x3f5dea);if(_0x5d5881['length']===0x1)return{'dbId':_0x5d5881[0x0][_0x2701f6(0xcc)],'dbName':_0x5d5881[0x0][_0x2701f6(0xbf)]};if(_0x5d5881[_0x2701f6(0xbb)]===0x0)throw CliErrors[_0x2701f6(0xaf)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x3f5dea+_0x2701f6(0xdd)+_0x4fca0d[_0x2701f6(0xf1)]+'.');const _0x276324=_0x5d5881[_0x2701f6(0xde)](_0x19fbc2=>_0x19fbc2[_0x2701f6(0xbf)]+'\x20('+_0x19fbc2[_0x2701f6(0xcc)]+')')[_0x2701f6(0xb0)](',\x20');throw CliErrors[_0x2701f6(0xaf)](_0x2701f6(0xe8)+_0x3f5dea+_0x2701f6(0xdc)+_0x4fca0d[_0x2701f6(0xf1)]+':\x20'+_0x276324);}function a127_0x4648(){const _0x1c1176=['1768140ENCkoh','Would\x20push\x20','exec','33viYXSm','hash','4881546aMIZqA','Local\x20directory\x20\x22','206968Qchfyd','lockFilePath','sqlRootDir','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','Push\x20local\x20SQL\x20files\x20to\x20remote','sqls','/smartapi/custom/updateUserCustomSql','force','sqlCode','Local\x20SQL\x20not\x20found:\x20','push','validation','join','catch','trashDir','No\x20local\x20SQL\x20files\x20found.','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','isFinite','toISOString','sqlConfig','get','2190UZRdpd','unchanged','length','mode','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','2422140uuQgNk','dbName','140433cPeHbY','sqlName','str','startsWith','set','POST','bool','relativePath','sqlRoot','\x20pushed,\x20','lastSync','message','dbId','116jOIUWl','sqlcode','filePath','6685DimWEn','high-risk-write','has','2GPlsrZ','filter','path','boolean','1400HYcnie','32408lwVkxT','version','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','projectRoot','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','\x22\x20for\x20sqlCode\x20','map','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x20skipped,\x20','appCode'];a127_0x4648=function(){return _0x1c1176;};return a127_0x4648();}function parseExplicitDbDirectory(_0x558ded){const _0x11fec4=a127_0x28efd6,_0x3508e5=/^db-(\d+)$/[_0x11fec4(0xe4)](_0x558ded);if(!_0x3508e5)return null;const _0x35fccc=Number(_0x3508e5[0x1]);return Number[_0x11fec4(0xb5)](_0x35fccc)&&_0x35fccc>0x0?_0x35fccc:null;}
1
+ const a127_0x4d9fa9=a127_0x1956;(function(_0x2a2886,_0x1b0f65){const _0x1c32ed=a127_0x1956,_0xdd75d=_0x2a2886();while(!![]){try{const _0x263d86=-parseInt(_0x1c32ed(0x144))/0x1*(parseInt(_0x1c32ed(0x14f))/0x2)+-parseInt(_0x1c32ed(0x169))/0x3*(parseInt(_0x1c32ed(0x171))/0x4)+parseInt(_0x1c32ed(0x13b))/0x5*(parseInt(_0x1c32ed(0x161))/0x6)+-parseInt(_0x1c32ed(0x15c))/0x7*(-parseInt(_0x1c32ed(0x142))/0x8)+-parseInt(_0x1c32ed(0x133))/0x9*(parseInt(_0x1c32ed(0x14e))/0xa)+parseInt(_0x1c32ed(0x151))/0xb*(-parseInt(_0x1c32ed(0x14c))/0xc)+parseInt(_0x1c32ed(0x163))/0xd;if(_0x263d86===_0x1b0f65)break;else _0xdd75d['push'](_0xdd75d['shift']());}catch(_0x2b1ad4){_0xdd75d['push'](_0xdd75d['shift']());}}}(a127_0x83ea,0x53b85));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';function a127_0x83ea(){const _0x205b61=['remoteId','sqlCode','push','length','dbName','993XAyjUF','trashDir','replace','projectRoot','filter','sqlRoot','Push\x20complete:\x20','Would\x20push\x20','3868hrKTaF','exec','sqlName','\x20SQL\x20file(s)','508779zUnwTT','isFinite','\x20skipped,\x20','path','bool','has','join','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','35cqttvS','hash','/smartapi/custom/updateUserCustomSql','map','\x20failed','No\x20database\x20matches\x20local\x20directory\x20\x22','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','1092008TaaDBR','lockFilePath','431kvoYSU','utf8','sqlRootDir','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','sqls','sqlConfig','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','str','84tIJCbn','appCode','80BpFdoW','2282TIPQoI','POST','492877iVJOBU','sqlcode','get','\x20pushed,\x20','startsWith','force','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','relativePath','version','set','filePath','7PxVDeX','validation','toISOString','sql','dbId','434874HNCPam','mode','16598504aWeBZJ'];a127_0x83ea=function(){return _0x205b61;};return a127_0x83ea();}import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a127_0x1956(_0x3d5225,_0x3bf40f){_0x3d5225=_0x3d5225-0x131;const _0x83ea6=a127_0x83ea();let _0x195688=_0x83ea6[_0x3d5225];return _0x195688;}import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x1e5e44,_0x3bc290,_0x24b38a){const _0x1a8aa2=a127_0x1956,_0x4cc198=await scanLocalSqlQueries(_0x1e5e44),_0x59eea7=new Map();for(const _0x517bab of _0x4cc198){if(_0x24b38a&&_0x517bab[_0x1a8aa2(0x165)]!==_0x24b38a)continue;const _0x4d6ef6=_0x59eea7[_0x1a8aa2(0x153)](_0x517bab[_0x1a8aa2(0x165)])??[];_0x4d6ef6['push'](_0x517bab),_0x59eea7[_0x1a8aa2(0x15a)](_0x517bab[_0x1a8aa2(0x165)],_0x4d6ef6);}if(_0x24b38a&&!_0x59eea7[_0x1a8aa2(0x138)](_0x24b38a))throw CliErrors[_0x1a8aa2(0x15d)]('Local\x20SQL\x20not\x20found:\x20'+_0x24b38a);const _0x20d65b=[];for(const [_0x39223a,_0x1cfb24]of _0x59eea7['entries']()){if(_0x1cfb24[_0x1a8aa2(0x167)]===0x1){_0x20d65b[_0x1a8aa2(0x166)](_0x1cfb24[0x0]);continue;}const _0xfe6d35=_0x3bc290[_0x1a8aa2(0x148)][_0x39223a],_0x1b4dd3=_0xfe6d35?.['path'],_0x3d181e=_0x1b4dd3?_0x1cfb24[_0x1a8aa2(0x16d)](_0x1130fb=>_0x1130fb[_0x1a8aa2(0x158)]!==_0x1b4dd3):_0x1cfb24;if(_0xfe6d35&&_0x3d181e[_0x1a8aa2(0x167)]===0x1){_0x20d65b[_0x1a8aa2(0x166)](_0x3d181e[0x0]);continue;}throw CliErrors[_0x1a8aa2(0x15d)](_0x1a8aa2(0x13a)+_0x39223a+_0x1a8aa2(0x157));}return _0x20d65b;}export const sqlPush={'service':a127_0x4d9fa9(0x15f),'command':a127_0x4d9fa9(0x166),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':'boolean','description':a127_0x4d9fa9(0x147)}],async 'dryRun'(_0x4bc7e7){const _0x9228e=a127_0x4d9fa9,_0x4871c0=loadSqlProjectConfig(_0x4bc7e7[_0x9228e(0x14d)]),_0x3aea27=await readSqlLockFile(_0x4871c0['lockFilePath']),{appLock:_0x45f756}=ensureSqlLockScope(_0x3aea27??createEmptySqlLock(),_0x4bc7e7[_0x9228e(0x14d)],_0x4871c0['sqlRoot'],_0x9228e(0x166)),_0x51b2dc=await getTargetSqlQueries(_0x4871c0,_0x45f756,_0x4bc7e7[_0x9228e(0x14b)](_0x9228e(0x152))||undefined),_0x208764=[];for(const _0x54aade of _0x51b2dc){const _0x1a935c=await computeSqlFileHash(_0x54aade[_0x9228e(0x15b)]),_0x4af8da=_0x45f756[_0x9228e(0x148)][_0x54aade[_0x9228e(0x165)]],_0x3c46bc=!!_0x4af8da&&(_0x4af8da[_0x9228e(0x136)]!==_0x54aade['relativePath']||!!_0x54aade[_0x9228e(0x131)]&&_0x4af8da['sqlName']!==_0x54aade[_0x9228e(0x131)]);if(!_0x4bc7e7[_0x9228e(0x137)](_0x9228e(0x156))&&_0x4af8da&&_0x4af8da[_0x9228e(0x13c)]===_0x1a935c&&!_0x3c46bc)continue;_0x208764[_0x9228e(0x166)](_0x54aade[_0x9228e(0x165)]);}return{'method':_0x9228e(0x150),'url':_0x9228e(0x13d),'body':{'sqlCodes':_0x208764,'appCode':_0x4bc7e7[_0x9228e(0x14d)]},'description':_0x9228e(0x170)+_0x208764[_0x9228e(0x167)]+_0x9228e(0x132)};},async 'execute'(_0x438320){const _0x37f7bb=a127_0x4d9fa9,_0x32c2af=loadSqlProjectConfig(_0x438320[_0x37f7bb(0x14d)]),_0x452a1e=await readSqlLockFile(_0x32c2af[_0x37f7bb(0x143)]),{lockData:_0x43faaf,appLock:_0x10886a}=ensureSqlLockScope(_0x452a1e??createEmptySqlLock(),_0x438320[_0x37f7bb(0x14d)],_0x32c2af[_0x37f7bb(0x16e)],_0x37f7bb(0x166)),_0x20fe39=await getTargetSqlQueries(_0x32c2af,_0x10886a,_0x438320[_0x37f7bb(0x14b)]('sqlcode')||undefined);if(_0x20fe39[_0x37f7bb(0x167)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x1371d5=[],_0x2cd18a=[],_0x261130=[];for(const _0x247a7a of _0x20fe39){const _0x21726b=_0x10886a[_0x37f7bb(0x148)][_0x247a7a[_0x37f7bb(0x165)]];if(!_0x21726b){_0x261130[_0x37f7bb(0x166)]({'sqlCode':_0x247a7a['sqlCode'],'error':_0x37f7bb(0x14a)});continue;}try{const _0x1c1583=await computeSqlFileHash(_0x247a7a[_0x37f7bb(0x15b)]),_0x165815=_0x21726b[_0x37f7bb(0x136)]!==_0x247a7a['relativePath']||!!_0x247a7a[_0x37f7bb(0x131)]&&_0x21726b[_0x37f7bb(0x131)]!==_0x247a7a[_0x37f7bb(0x131)];if(!_0x438320['bool']('force')&&_0x21726b[_0x37f7bb(0x13c)]===_0x1c1583&&!_0x165815){_0x2cd18a[_0x37f7bb(0x166)]({'sqlCode':_0x247a7a[_0x37f7bb(0x165)],'reason':'unchanged'});continue;}if(_0x21726b[_0x37f7bb(0x159)]==null){_0x261130['push']({'sqlCode':_0x247a7a[_0x37f7bb(0x165)],'error':_0x37f7bb(0x141)});continue;}const _0x367337=await readFile(_0x247a7a['filePath'],_0x37f7bb(0x145)),_0x294843=stripLocalSqlMetadata(_0x367337,_0x247a7a[_0x37f7bb(0x162)]),_0x930af7=_0x247a7a[_0x37f7bb(0x131)]||_0x21726b[_0x37f7bb(0x131)],_0x10823f=await resolveTargetDbBinding(_0x438320[_0x37f7bb(0x14d)],_0x247a7a,_0x21726b),_0x483428=await updateSqlQuery({'id':_0x21726b[_0x37f7bb(0x164)],'appCode':_0x438320[_0x37f7bb(0x14d)],'sqlCode':_0x247a7a[_0x37f7bb(0x165)],'sqlName':_0x930af7,'dbId':_0x10823f['dbId'],'version':_0x21726b['version'],'sqlContent':_0x294843,'sqlConfig':_0x21726b[_0x37f7bb(0x149)]??undefined}),_0x25c35c=_0x483428[_0x37f7bb(0x160)]?await getDbName(_0x438320[_0x37f7bb(0x14d)],Number(_0x483428['dbId']))['catch'](()=>_0x10823f[_0x37f7bb(0x168)]):_0x10823f[_0x37f7bb(0x168)];_0x10886a[_0x37f7bb(0x148)][_0x247a7a[_0x37f7bb(0x165)]]={...buildSqlLockEntry(_0x483428,_0x294843,_0x1c1583,{'dbName':_0x25c35c}),'path':_0x247a7a[_0x37f7bb(0x158)],'mode':_0x21726b[_0x37f7bb(0x162)]},await archivePreviousSqlFileIfNeeded(_0x32c2af,_0x21726b[_0x37f7bb(0x136)],_0x247a7a[_0x37f7bb(0x158)]),_0x1371d5[_0x37f7bb(0x166)]({'sqlCode':_0x247a7a[_0x37f7bb(0x165)],'remoteId':_0x21726b[_0x37f7bb(0x164)]});}catch(_0x7b2eff){_0x261130['push']({'sqlCode':_0x247a7a['sqlCode'],'error':_0x7b2eff instanceof Error?_0x7b2eff['message']:String(_0x7b2eff)});}}return _0x10886a['lastSync']=new Date()[_0x37f7bb(0x15e)](),await writeSqlLockFile(_0x32c2af[_0x37f7bb(0x143)],_0x43faaf),{'ok':_0x261130['length']===0x0,'data':{'pushed':_0x1371d5,'skipped':_0x2cd18a,'failed':_0x261130},'message':_0x37f7bb(0x16f)+_0x1371d5[_0x37f7bb(0x167)]+_0x37f7bb(0x154)+_0x2cd18a[_0x37f7bb(0x167)]+_0x37f7bb(0x135)+_0x261130[_0x37f7bb(0x167)]+_0x37f7bb(0x13f)};}};async function archivePreviousSqlFileIfNeeded(_0x5d7f83,_0x1b05d7,_0x4e748a){const _0x515d7f=a127_0x4d9fa9;if(!_0x1b05d7||_0x1b05d7===_0x4e748a)return;const _0x3b49c1=join(_0x5d7f83[_0x515d7f(0x146)],_0x1b05d7);if(!await fileExists(_0x3b49c1))return;const _0x78c716=await moveToTrash(_0x5d7f83[_0x515d7f(0x16c)],_0x5d7f83[_0x515d7f(0x16a)],_0x3b49c1);await cleanupEmptyDirectories(dirname(_0x3b49c1),_0x5d7f83['sqlRootDir']),void _0x78c716;}async function moveToTrash(_0x4c8fd4,_0x40746e,_0x1394a5){const _0x5082ac=a127_0x4d9fa9,_0x301bbb=new Date()[_0x5082ac(0x15e)]()[_0x5082ac(0x16b)](/[:.]/g,'-'),_0x278883=relative(_0x4c8fd4,_0x1394a5),_0x2b8113=join(_0x40746e,_0x301bbb,_0x278883);return await mkdir(dirname(_0x2b8113),{'recursive':!![]}),await rename(_0x1394a5,_0x2b8113),_0x2b8113;}async function cleanupEmptyDirectories(_0x4a73b7,_0x5dbb9a){const _0x29b4f7=a127_0x4d9fa9;let _0x121c20=resolve(_0x4a73b7);const _0x524bac=resolve(_0x5dbb9a);while(_0x121c20[_0x29b4f7(0x155)](''+_0x524bac+sep)||_0x121c20===_0x524bac){if(_0x121c20===_0x524bac)return;try{const _0x421bad=await readdir(_0x121c20);if(_0x421bad[_0x29b4f7(0x167)]>0x0)return;await rmdir(_0x121c20);}catch{return;}_0x121c20=dirname(_0x121c20);}}async function resolveTargetDbBinding(_0x2a0c43,_0x35df56,_0x4012d1){const _0xfd9830=a127_0x4d9fa9,_0x25529f=_0x35df56['dbDirectory'];if(!_0x25529f)return{'dbId':_0x4012d1[_0xfd9830(0x160)],'dbName':_0x4012d1['dbName']};const _0x49a850=buildDbDirectoryName(_0x4012d1[_0xfd9830(0x168)],_0x4012d1['dbId']);if(_0x25529f===_0x49a850)return{'dbId':_0x4012d1[_0xfd9830(0x160)],'dbName':_0x4012d1[_0xfd9830(0x168)]};const _0x34e4ba=parseExplicitDbDirectory(_0x25529f);if(_0x34e4ba!=null)return{'dbId':_0x34e4ba,'dbName':await getDbName(_0x2a0c43,_0x34e4ba)['catch'](()=>undefined)};const _0x33b8ff=await listDatabases(_0x2a0c43),_0x512e9b=_0x33b8ff[_0xfd9830(0x16d)](_0x4b2556=>buildDbDirectoryName(_0x4b2556[_0xfd9830(0x168)],_0x4b2556[_0xfd9830(0x160)])===_0x25529f);if(_0x512e9b[_0xfd9830(0x167)]===0x1)return{'dbId':_0x512e9b[0x0]['dbId'],'dbName':_0x512e9b[0x0][_0xfd9830(0x168)]};if(_0x512e9b[_0xfd9830(0x167)]===0x0)throw CliErrors[_0xfd9830(0x15d)](_0xfd9830(0x140)+_0x25529f+'\x22\x20for\x20sqlCode\x20'+_0x35df56['sqlCode']+'.');const _0x1c36ec=_0x512e9b[_0xfd9830(0x13e)](_0xdc1b19=>_0xdc1b19[_0xfd9830(0x168)]+'\x20('+_0xdc1b19[_0xfd9830(0x160)]+')')[_0xfd9830(0x139)](',\x20');throw CliErrors['validation']('Local\x20directory\x20\x22'+_0x25529f+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x35df56['sqlCode']+':\x20'+_0x1c36ec);}function parseExplicitDbDirectory(_0x14fb4d){const _0xc853be=a127_0x4d9fa9,_0x2da4da=/^db-(\d+)$/[_0xc853be(0x172)](_0x14fb4d);if(!_0x2da4da)return null;const _0x22714b=Number(_0x2da4da[0x1]);return Number[_0xc853be(0x134)](_0x22714b)&&_0x22714b>0x0?_0x22714b:null;}
@@ -1 +1 @@
1
- const a128_0x43c724=a128_0x1290;function a128_0x2d26(){const _0x48f7cc=['1069885NXrLBI','189258rdHPvJ','write','string','3036744hVgLPR','save','18388170YKcKvu','validation','2719404ILSFKr','file','10562yHnNyY','1741252THnCxn','Query\x20description','16LVkNLb','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','Update\x20existing\x20SQL\x20by\x20editing\x20the\x20synced\x20file\x20under\x20`.rabetbase/sql/<appCode>/<dbName|db-<id>>/`\x20and\x20then\x20running\x20`rabetbase\x20sql\x20push\x20--sqlcode\x20<code>\x20--yes`.','177fYGolv','Path\x20to\x20the\x20SQL\x20file','join','sqlname','245gHHeRw'];a128_0x2d26=function(){return _0x48f7cc;};return a128_0x2d26();}(function(_0x490b2f,_0x512566){const _0x1ae847=a128_0x1290,_0x4ee52c=_0x490b2f();while(!![]){try{const _0x5a33cb=parseInt(_0x1ae847(0x79))/0x1*(-parseInt(_0x1ae847(0x73))/0x2)+-parseInt(_0x1ae847(0x82))/0x3+-parseInt(_0x1ae847(0x74))/0x4+-parseInt(_0x1ae847(0x7e))/0x5+parseInt(_0x1ae847(0x7f))/0x6*(parseInt(_0x1ae847(0x7d))/0x7)+-parseInt(_0x1ae847(0x76))/0x8*(-parseInt(_0x1ae847(0x71))/0x9)+parseInt(_0x1ae847(0x6f))/0xa;if(_0x5a33cb===_0x512566)break;else _0x4ee52c['push'](_0x4ee52c['shift']());}catch(_0x169720){_0x4ee52c['push'](_0x4ee52c['shift']());}}}(a128_0x2d26,0xe824b));function a128_0x1290(_0x42ecdb,_0xfb3132){_0x42ecdb=_0x42ecdb-0x6f;const _0x2d26b7=a128_0x2d26();let _0x129082=_0x2d26b7[_0x42ecdb];return _0x129082;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=['`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.',a128_0x43c724(0x77),a128_0x43c724(0x78)][a128_0x43c724(0x7b)]('\x0a');export const sqlSave={'service':'sql','command':a128_0x43c724(0x83),'description':'Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','risk':a128_0x43c724(0x80),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a128_0x43c724(0x72),'type':a128_0x43c724(0x81),'required':!![],'description':a128_0x43c724(0x7a)},SQLCODE_FLAG_OPTIONAL,{'name':a128_0x43c724(0x7c),'type':'string','description':'SQL\x20query\x20display\x20name'},{'name':'db','type':a128_0x43c724(0x81),'description':'Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)'},{'name':'description','type':a128_0x43c724(0x81),'description':a128_0x43c724(0x75)}],async 'validate'(){const _0x41ce96=a128_0x43c724;throw CliErrors[_0x41ce96(0x70)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x167da0=a128_0x43c724;throw CliErrors[_0x167da0(0x70)](SQL_SAVE_DEPRECATED_HINT);}};
1
+ const a128_0x320e14=a128_0x33eb;function a128_0x3835(){const _0x885683=['Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','352647OHZfaV','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','2259pPNurU','134DanBcX','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','sqlname','join','2658220JyLIdP','write','Update\x20existing\x20SQL\x20by\x20editing\x20the\x20synced\x20file\x20under\x20`.rabetbase/sql/<appCode>/<dbName|db-<id>>/`\x20and\x20then\x20running\x20`rabetbase\x20sql\x20push\x20--sqlcode\x20<code>\x20--yes`.','file','string','2730904OoiPKi','1454680PRBhZq','Path\x20to\x20the\x20SQL\x20file','validation','112QdKRYo','144eUhTHT','445464vCdlnp','134406tkYUHW'];a128_0x3835=function(){return _0x885683;};return a128_0x3835();}(function(_0xe0655f,_0x2c8ed6){const _0xc2a593=a128_0x33eb,_0x526366=_0xe0655f();while(!![]){try{const _0x178589=parseInt(_0xc2a593(0x1ac))/0x1*(-parseInt(_0xc2a593(0x1ad))/0x2)+parseInt(_0xc2a593(0x1a7))/0x3+-parseInt(_0xc2a593(0x1a1))/0x4+parseInt(_0xc2a593(0x1a2))/0x5+parseInt(_0xc2a593(0x1a8))/0x6*(parseInt(_0xc2a593(0x1a5))/0x7)+-parseInt(_0xc2a593(0x1a6))/0x8*(-parseInt(_0xc2a593(0x1aa))/0x9)+-parseInt(_0xc2a593(0x19c))/0xa;if(_0x178589===_0x2c8ed6)break;else _0x526366['push'](_0x526366['shift']());}catch(_0xddeeea){_0x526366['push'](_0x526366['shift']());}}}(a128_0x3835,0x62721));import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a128_0x320e14(0x199),a128_0x320e14(0x1ab),a128_0x320e14(0x19e)][a128_0x320e14(0x19b)]('\x0a');function a128_0x33eb(_0x19090c,_0xdb909f){_0x19090c=_0x19090c-0x199;const _0x383546=a128_0x3835();let _0x33eb0d=_0x383546[_0x19090c];return _0x33eb0d;}export const sqlSave={'service':'sql','command':'save','description':a128_0x320e14(0x1a9),'risk':a128_0x320e14(0x19d),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a128_0x320e14(0x19f),'type':a128_0x320e14(0x1a0),'required':!![],'description':a128_0x320e14(0x1a3)},SQLCODE_FLAG_OPTIONAL,{'name':a128_0x320e14(0x19a),'type':'string','description':'SQL\x20query\x20display\x20name'},{'name':'db','type':a128_0x320e14(0x1a0),'description':'Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)'},{'name':'description','type':a128_0x320e14(0x1a0),'description':'Query\x20description'}],async 'validate'(){const _0x4e5c72=a128_0x320e14;throw CliErrors[_0x4e5c72(0x1a4)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x7aed72=a128_0x320e14;throw CliErrors[_0x7aed72(0x1a4)](SQL_SAVE_DEPRECATED_HINT);}};
@@ -1 +1 @@
1
- const a129_0x20635b=a129_0x4aed;(function(_0xe68bb,_0x10dd09){const _0x16a7bd=a129_0x4aed,_0x46328b=_0xe68bb();while(!![]){try{const _0x10c945=parseInt(_0x16a7bd(0x11e))/0x1*(parseInt(_0x16a7bd(0x10e))/0x2)+parseInt(_0x16a7bd(0x12d))/0x3*(parseInt(_0x16a7bd(0x123))/0x4)+parseInt(_0x16a7bd(0x12b))/0x5*(-parseInt(_0x16a7bd(0x11d))/0x6)+parseInt(_0x16a7bd(0x125))/0x7*(-parseInt(_0x16a7bd(0x119))/0x8)+-parseInt(_0x16a7bd(0x134))/0x9*(-parseInt(_0x16a7bd(0x129))/0xa)+-parseInt(_0x16a7bd(0x132))/0xb*(parseInt(_0x16a7bd(0x121))/0xc)+parseInt(_0x16a7bd(0x137))/0xd;if(_0x10c945===_0x10dd09)break;else _0x46328b['push'](_0x46328b['shift']());}catch(_0xf15e20){_0x46328b['push'](_0x46328b['shift']());}}}(a129_0xb059,0x400e6));function a129_0xb059(){const _0x3d85bd=['path','59822sdsCmY','push','<!--\x20@lovrabet.','fromEntries','description','dbName','filter','split','stderr','.rabetbase/sql','length','600exeOaL','mybatisXml','join','sqlName','126vqkKOV','3qDZcXy','test','\x20-->','12eceyVp','version','8zONmJf','sqlCode','15197XGVRZD','sqlConfig','trim','apps','4376830ZbYpkn','trimStart','94970aolvwp','syncedAt','259902vZvuPs','lastSync','yes','sqlRoot','question','5543967OzOJJw','dbId','9lrjRCB','sqlContent','replace','8156018LEBSxG','sqls','map','mode','\x20[y/N]\x20','toLowerCase'];a129_0xb059=function(){return _0x3d85bd;};return a129_0xb059();}import{createInterface}from'node:readline';import{join}from'node:path';function a129_0x4aed(_0x45280c,_0x3abcb4){_0x45280c=_0x45280c-0x10c;const _0xb05952=a129_0xb059();let _0x4aed1a=_0xb05952[_0x45280c];return _0x4aed1a;}import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a129_0x20635b(0x117);export function buildSqlLockEntry(_0x16a7c8,_0x5a926d,_0x5001cf,_0x2be902){const _0x1397a0=a129_0x20635b,_0x41974e=detectSqlMode(_0x5a926d);return{'path':buildSqlRelativePath(_0x16a7c8[_0x1397a0(0x124)],_0x16a7c8[_0x1397a0(0x11c)],_0x2be902?.[_0x1397a0(0x113)],_0x41974e,_0x16a7c8[_0x1397a0(0x133)]),'hash':_0x5001cf,'remoteId':_0x16a7c8['id'],'version':_0x16a7c8[_0x1397a0(0x122)],'dbId':Number(_0x16a7c8[_0x1397a0(0x133)]),'dbName':_0x2be902?.['dbName'],'sqlName':_0x16a7c8[_0x1397a0(0x11c)],'sqlConfig':_0x16a7c8[_0x1397a0(0x126)]??undefined,'mode':_0x41974e};}export function cloneSqlLockData(_0x41cfc1){const _0x28cc39=a129_0x20635b;return{'apps':Object[_0x28cc39(0x111)](Object['entries'](_0x41cfc1['apps'])[_0x28cc39(0x139)](([_0x2c9911,_0x400a93])=>[_0x2c9911,{'sqlRoot':_0x400a93[_0x28cc39(0x130)],'lastSync':_0x400a93[_0x28cc39(0x12e)],'sqls':{..._0x400a93[_0x28cc39(0x138)]}}]))};}export function ensureRemoteSqlContent(_0x1577b2){const _0xe49c2f=a129_0x20635b;return _0x1577b2[_0xe49c2f(0x135)]??'';}export function buildLocalSqlFileContent(_0x54415c,_0x18878b,_0x45abbe){const _0x53fc52=a129_0x20635b,_0x14a412=_0x45abbe?.[_0x53fc52(0x13a)]??detectSqlMode(_0x18878b),_0x5e28c7=stripLocalSqlMetadata(_0x18878b,_0x14a412)[_0x53fc52(0x127)](),_0x4a483f=[...buildMetadataHeaderLines({'sqlCode':_0x54415c[_0x53fc52(0x124)],'sqlName':_0x54415c[_0x53fc52(0x11c)],'dbId':_0x54415c[_0x53fc52(0x133)],'dbName':_0x45abbe?.['dbName'],'mode':_0x14a412,'syncedAt':_0x45abbe?.[_0x53fc52(0x12c)],'description':_0x45abbe?.[_0x53fc52(0x112)]},_0x14a412),'',_0x5e28c7],_0x21d5c1=_0x4a483f[_0x53fc52(0x11b)]('\x0a');return _0x21d5c1['endsWith']('\x0a')?_0x21d5c1:_0x21d5c1+'\x0a';}export function stripLocalSqlMetadata(_0x216018,_0x493dba){const _0x1742c8=a129_0x20635b,_0x16e108=_0x216018[_0x1742c8(0x136)](/\r\n/g,'\x0a')[_0x1742c8(0x115)]('\x0a'),_0x2da134=[];let _0x16cbbc=0x0;if(_0x493dba===_0x1742c8(0x11a))while(_0x16cbbc<_0x16e108['length']){const _0x2c6b46=_0x16e108[_0x16cbbc]??'';if(/^\s*<!--\s*@lovrabet\./[_0x1742c8(0x11f)](_0x2c6b46)){_0x16cbbc++;continue;}if(_0x2c6b46['trim']()===''&&_0x16cbbc>0x0){_0x16cbbc++;continue;}break;}else while(_0x16cbbc<_0x16e108[_0x1742c8(0x118)]){const _0x22c732=_0x16e108[_0x16cbbc]??'';if(/^\s*--\s*@lovrabet\./[_0x1742c8(0x11f)](_0x22c732)){_0x16cbbc++;continue;}if(_0x22c732['trim']()===''&&_0x16cbbc>0x0){_0x16cbbc++;continue;}break;}for(;_0x16cbbc<_0x16e108[_0x1742c8(0x118)];_0x16cbbc++){_0x2da134[_0x1742c8(0x10f)](_0x16e108[_0x16cbbc]);}return _0x2da134[_0x1742c8(0x11b)]('\x0a')[_0x1742c8(0x12a)]();}export function resolveSqlMode(_0x5ccdaf,_0x5380de){const _0x21d6f8=a129_0x20635b;if(_0x5380de?.[_0x21d6f8(0x13a)])return _0x5380de[_0x21d6f8(0x13a)];return detectSqlMode(_0x5ccdaf);}export function resolveSqlFileName(_0x4ab83d,_0xf32ad3,_0xe2de5c){const _0x219e59=a129_0x20635b;if(_0xe2de5c?.[_0x219e59(0x10d)])return _0xe2de5c['path'];if(_0xe2de5c?.[_0x219e59(0x11c)]||_0xe2de5c?.['dbName'])return buildSqlRelativePath(_0x4ab83d,_0xe2de5c?.['sqlName'],_0xe2de5c?.[_0x219e59(0x113)],resolveSqlMode(_0xf32ad3,_0xe2de5c),_0xe2de5c?.[_0x219e59(0x133)]);return buildDefaultSqlFileName(_0x4ab83d,resolveSqlMode(_0xf32ad3,_0xe2de5c));}export function resolveSqlLocalDir(_0x499b44,_0x358353){return join(_0x499b44,SQL_LOCAL_REL_DIR,_0x358353);}export async function confirmForceOverwrite(_0x469427){const _0x53a6e8=a129_0x20635b,_0x183ae7=createInterface({'input':process['stdin'],'output':process[_0x53a6e8(0x116)]}),_0x6d8ba6=await new Promise(_0x3eeec0=>{const _0x4209cd=_0x53a6e8;_0x183ae7[_0x4209cd(0x131)](_0x469427+_0x4209cd(0x13b),_0x3eeec0);});return _0x183ae7['close'](),['y',_0x53a6e8(0x12f)]['includes'](_0x6d8ba6[_0x53a6e8(0x127)]()[_0x53a6e8(0x10c)]());}export function findSqlLockScope(_0x3358b7,_0x177cd7){const _0x5a7cac=a129_0x20635b;return _0x3358b7[_0x5a7cac(0x128)][_0x177cd7];}function buildMetadataHeaderLines(_0x34f456,_0x5afd59){const _0x40548e=a129_0x20635b,_0x1430e1=[[_0x40548e(0x124),_0x34f456['sqlCode']],[_0x40548e(0x11c),_0x34f456['sqlName']],['dbId',_0x34f456[_0x40548e(0x133)]],[_0x40548e(0x113),_0x34f456[_0x40548e(0x113)]],[_0x40548e(0x13a),_0x34f456['mode']],[_0x40548e(0x12c),_0x34f456[_0x40548e(0x12c)]],['description',_0x34f456[_0x40548e(0x112)]]];if(_0x5afd59===_0x40548e(0x11a))return _0x1430e1[_0x40548e(0x114)](([,_0x399dd5])=>_0x399dd5!==undefined&&_0x399dd5!==null&&String(_0x399dd5)[_0x40548e(0x127)]()!=='')[_0x40548e(0x139)](([_0x57fb83,_0x55ad9e])=>_0x40548e(0x110)+_0x57fb83+':\x20'+String(_0x55ad9e)+_0x40548e(0x120));return _0x1430e1[_0x40548e(0x114)](([,_0x48c5f6])=>_0x48c5f6!==undefined&&_0x48c5f6!==null&&String(_0x48c5f6)[_0x40548e(0x127)]()!=='')[_0x40548e(0x139)](([_0x21a256,_0x463153])=>'--\x20@lovrabet.'+_0x21a256+':\x20'+String(_0x463153));}
1
+ const a129_0x552975=a129_0x4462;(function(_0x4fa858,_0x48e89b){const _0x2631c2=a129_0x4462,_0x284bf7=_0x4fa858();while(!![]){try{const _0x37df23=parseInt(_0x2631c2(0x1c7))/0x1+parseInt(_0x2631c2(0x1e1))/0x2*(parseInt(_0x2631c2(0x1be))/0x3)+parseInt(_0x2631c2(0x1c9))/0x4+-parseInt(_0x2631c2(0x1c6))/0x5*(parseInt(_0x2631c2(0x1e5))/0x6)+-parseInt(_0x2631c2(0x1d3))/0x7*(-parseInt(_0x2631c2(0x1e7))/0x8)+parseInt(_0x2631c2(0x1e9))/0x9*(-parseInt(_0x2631c2(0x1d9))/0xa)+-parseInt(_0x2631c2(0x1da))/0xb;if(_0x37df23===_0x48e89b)break;else _0x284bf7['push'](_0x284bf7['shift']());}catch(_0x50dbdc){_0x284bf7['push'](_0x284bf7['shift']());}}}(a129_0x1afc,0x82396));import{createInterface}from'node:readline';function a129_0x4462(_0x8e6148,_0x116577){_0x8e6148=_0x8e6148-0x1be;const _0x1afc6e=a129_0x1afc();let _0x4462f5=_0x1afc6e[_0x8e6148];return _0x4462f5;}import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a129_0x552975(0x1d4);export function buildSqlLockEntry(_0xd0aebf,_0xa90d93,_0x1a77c9,_0x114155){const _0x284c5e=a129_0x552975,_0x2b7579=detectSqlMode(_0xa90d93);return{'path':buildSqlRelativePath(_0xd0aebf[_0x284c5e(0x1cf)],_0xd0aebf[_0x284c5e(0x1eb)],_0x114155?.['dbName'],_0x2b7579,_0xd0aebf[_0x284c5e(0x1d2)]),'hash':_0x1a77c9,'remoteId':_0xd0aebf['id'],'version':_0xd0aebf[_0x284c5e(0x1dd)],'dbId':Number(_0xd0aebf[_0x284c5e(0x1d2)]),'dbName':_0x114155?.[_0x284c5e(0x1e0)],'sqlName':_0xd0aebf[_0x284c5e(0x1eb)],'sqlConfig':_0xd0aebf[_0x284c5e(0x1cd)]??undefined,'mode':_0x2b7579};}export function cloneSqlLockData(_0x43c696){const _0x163989=a129_0x552975;return{'apps':Object['fromEntries'](Object[_0x163989(0x1c0)](_0x43c696[_0x163989(0x1ca)])[_0x163989(0x1e8)](([_0xadd1a0,_0x13d67e])=>[_0xadd1a0,{'sqlRoot':_0x13d67e[_0x163989(0x1c1)],'lastSync':_0x13d67e['lastSync'],'sqls':{..._0x13d67e[_0x163989(0x1d5)]}}]))};}export function ensureRemoteSqlContent(_0x2c51ae){const _0x390f9d=a129_0x552975;return _0x2c51ae[_0x390f9d(0x1c5)]??'';}export function buildLocalSqlFileContent(_0x415828,_0x3613fa,_0x39fdf0){const _0x5c9356=a129_0x552975,_0x557e74=_0x39fdf0?.[_0x5c9356(0x1ec)]??detectSqlMode(_0x3613fa),_0x46c105=stripLocalSqlMetadata(_0x3613fa,_0x557e74)[_0x5c9356(0x1e6)](),_0x5c0950=[...buildMetadataHeaderLines({'sqlCode':_0x415828[_0x5c9356(0x1cf)],'sqlName':_0x415828['sqlName'],'dbId':_0x415828[_0x5c9356(0x1d2)],'dbName':_0x39fdf0?.['dbName'],'mode':_0x557e74,'syncedAt':_0x39fdf0?.['syncedAt'],'description':_0x39fdf0?.[_0x5c9356(0x1c8)]},_0x557e74),'',_0x46c105],_0x2fa5ef=_0x5c0950[_0x5c9356(0x1c3)]('\x0a');return _0x2fa5ef[_0x5c9356(0x1e2)]('\x0a')?_0x2fa5ef:_0x2fa5ef+'\x0a';}export function stripLocalSqlMetadata(_0x5eb41e,_0x253d26){const _0x738206=a129_0x552975,_0x1d9576=_0x5eb41e[_0x738206(0x1cc)](/\r\n/g,'\x0a')[_0x738206(0x1d8)]('\x0a'),_0xa2a392=[];let _0x38bcd6=0x0;if(_0x253d26===_0x738206(0x1df))while(_0x38bcd6<_0x1d9576[_0x738206(0x1d0)]){const _0x214267=_0x1d9576[_0x38bcd6]??'';if(/^\s*<!--\s*@lovrabet\./[_0x738206(0x1d7)](_0x214267)){_0x38bcd6++;continue;}if(_0x214267[_0x738206(0x1e6)]()===''&&_0x38bcd6>0x0){_0x38bcd6++;continue;}break;}else while(_0x38bcd6<_0x1d9576[_0x738206(0x1d0)]){const _0x6730a4=_0x1d9576[_0x38bcd6]??'';if(/^\s*--\s*@lovrabet\./[_0x738206(0x1d7)](_0x6730a4)){_0x38bcd6++;continue;}if(_0x6730a4['trim']()===''&&_0x38bcd6>0x0){_0x38bcd6++;continue;}break;}for(;_0x38bcd6<_0x1d9576['length'];_0x38bcd6++){_0xa2a392[_0x738206(0x1cb)](_0x1d9576[_0x38bcd6]);}return _0xa2a392[_0x738206(0x1c3)]('\x0a')['trimStart']();}export function resolveSqlMode(_0x1827a5,_0x2ae7f2){const _0x33fdb5=a129_0x552975;if(_0x2ae7f2?.['mode'])return _0x2ae7f2[_0x33fdb5(0x1ec)];return detectSqlMode(_0x1827a5);}export function resolveSqlFileName(_0x6f27d7,_0x3d5980,_0x13e091){const _0x46644c=a129_0x552975;if(_0x13e091?.[_0x46644c(0x1c2)])return _0x13e091[_0x46644c(0x1c2)];if(_0x13e091?.[_0x46644c(0x1eb)]||_0x13e091?.[_0x46644c(0x1e0)])return buildSqlRelativePath(_0x6f27d7,_0x13e091?.[_0x46644c(0x1eb)],_0x13e091?.[_0x46644c(0x1e0)],resolveSqlMode(_0x3d5980,_0x13e091),_0x13e091?.[_0x46644c(0x1d2)]);return buildDefaultSqlFileName(_0x6f27d7,resolveSqlMode(_0x3d5980,_0x13e091));}export function resolveSqlLocalDir(_0x5cd915,_0x228244){return join(_0x5cd915,SQL_LOCAL_REL_DIR,_0x228244);}export async function confirmForceOverwrite(_0x12632a){const _0x3824fd=a129_0x552975,_0x581c89=createInterface({'input':process[_0x3824fd(0x1c4)],'output':process['stderr']}),_0x1b2640=await new Promise(_0x49bd2d=>{const _0xb1df38=_0x3824fd;_0x581c89[_0xb1df38(0x1e4)](_0x12632a+_0xb1df38(0x1db),_0x49bd2d);});return _0x581c89['close'](),['y',_0x3824fd(0x1bf)][_0x3824fd(0x1d1)](_0x1b2640[_0x3824fd(0x1e6)]()[_0x3824fd(0x1ea)]());}export function findSqlLockScope(_0x3c6575,_0x473abe){const _0x36894=a129_0x552975;return _0x3c6575[_0x36894(0x1ca)][_0x473abe];}function buildMetadataHeaderLines(_0xe4d640,_0xed0a0c){const _0x1a1ecd=a129_0x552975,_0x504a79=[['sqlCode',_0xe4d640[_0x1a1ecd(0x1cf)]],[_0x1a1ecd(0x1eb),_0xe4d640[_0x1a1ecd(0x1eb)]],[_0x1a1ecd(0x1d2),_0xe4d640['dbId']],['dbName',_0xe4d640[_0x1a1ecd(0x1e0)]],[_0x1a1ecd(0x1ec),_0xe4d640[_0x1a1ecd(0x1ec)]],[_0x1a1ecd(0x1de),_0xe4d640['syncedAt']],[_0x1a1ecd(0x1c8),_0xe4d640[_0x1a1ecd(0x1c8)]]];if(_0xed0a0c==='mybatisXml')return _0x504a79['filter'](([,_0x13b90c])=>_0x13b90c!==undefined&&_0x13b90c!==null&&String(_0x13b90c)[_0x1a1ecd(0x1e6)]()!=='')[_0x1a1ecd(0x1e8)](([_0x3fbb8a,_0x35720a])=>_0x1a1ecd(0x1ce)+_0x3fbb8a+':\x20'+String(_0x35720a)+_0x1a1ecd(0x1e3));return _0x504a79[_0x1a1ecd(0x1d6)](([,_0x2cc44a])=>_0x2cc44a!==undefined&&_0x2cc44a!==null&&String(_0x2cc44a)['trim']()!=='')[_0x1a1ecd(0x1e8)](([_0x1ab379,_0x5ed412])=>_0x1a1ecd(0x1dc)+_0x1ab379+':\x20'+String(_0x5ed412));}function a129_0x1afc(){const _0xa09146=['mode','7677HTbrbU','yes','entries','sqlRoot','path','join','stdin','sqlContent','70sSpBvj','334942LIYONk','description','1361936BkvGSe','apps','push','replace','sqlConfig','<!--\x20@lovrabet.','sqlCode','length','includes','dbId','147zgmajJ','.rabetbase/sql','sqls','filter','test','split','32570fubnIQ','1372833UjrmKP','\x20[y/N]\x20','--\x20@lovrabet.','version','syncedAt','mybatisXml','dbName','724rozcIA','endsWith','\x20-->','question','278130RDbNCo','trim','20528kLodrK','map','963irrwyt','toLowerCase','sqlName'];a129_0x1afc=function(){return _0xa09146;};return a129_0x1afc();}
@@ -1 +1 @@
1
- function a130_0x1add(_0x4dae54,_0x47286e){_0x4dae54=_0x4dae54-0x14e;const _0x2c6a8e=a130_0x2c6a();let _0x1addfd=_0x2c6a8e[_0x4dae54];return _0x1addfd;}function a130_0x2c6a(){const _0x5c278f=['\x20added,\x20','push','sqlRoot','2685906BXURbM','lockFilePath','relativePath','has','tableData','remote','totalCount','sqlName','3718844SINGca','paging','path','filePath','381440ecQyOi','\x20missing,\x20','keys','All\x20SQL\x20queries\x20are\x20in\x20sync.','394916aSFeun','status','\x20modified,\x20','appCode','77JNmdVA','read','10830924YniMDe','sql','\x20unchanged','1759122tQICmA','296110bTKJdE','5XlpgQk','length','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','map','lockKey'];a130_0x2c6a=function(){return _0x5c278f;};return a130_0x2c6a();}const a130_0x43b2d5=a130_0x1add;(function(_0x59ca8c,_0x34ef27){const _0x1d5308=a130_0x1add,_0x44bccb=_0x59ca8c();while(!![]){try{const _0x11467e=parseInt(_0x1d5308(0x150))/0x1+-parseInt(_0x1d5308(0x169))/0x2+parseInt(_0x1d5308(0x14f))/0x3+parseInt(_0x1d5308(0x161))/0x4*(parseInt(_0x1d5308(0x151))/0x5)+-parseInt(_0x1d5308(0x159))/0x6+parseInt(_0x1d5308(0x16d))/0x7*(parseInt(_0x1d5308(0x165))/0x8)+-parseInt(_0x1d5308(0x16f))/0x9;if(_0x11467e===_0x34ef27)break;else _0x44bccb['push'](_0x44bccb['shift']());}catch(_0x1ec16c){_0x44bccb['push'](_0x44bccb['shift']());}}}(a130_0x2c6a,0x772c2));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x521679){const _0x2c0cb4=a130_0x1add,_0x489b8d=[];let _0xeae31=0x1;while(!![]){const _0x35569b=await listSqlQueries(_0x521679,{'currentPage':_0xeae31,'pageSize':PAGE_SIZE}),_0x276f56=_0x35569b[_0x2c0cb4(0x15d)]??[];_0x489b8d[_0x2c0cb4(0x157)](..._0x276f56['map'](_0x160e57=>_0x160e57['sqlCode']));if(_0x276f56[_0x2c0cb4(0x152)]===0x0)break;const _0x1990f4=_0x35569b[_0x2c0cb4(0x162)]?.[_0x2c0cb4(0x15f)];if(_0x1990f4!=null?_0x489b8d[_0x2c0cb4(0x152)]>=_0x1990f4:_0x276f56['length']<PAGE_SIZE)break;_0xeae31++;}return _0x489b8d;}export const sqlStatus={'service':a130_0x43b2d5(0x170),'command':a130_0x43b2d5(0x16a),'description':a130_0x43b2d5(0x153),'risk':a130_0x43b2d5(0x16e),'flags':[{'name':'remote','type':'boolean','description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x41b658){const _0x5b437b=a130_0x43b2d5,_0x7df3b0=loadSqlProjectConfig(_0x41b658['appCode']),_0x3ddb43=await readSqlLockFile(_0x7df3b0[_0x5b437b(0x15a)]),{appLock:_0x133138}=ensureSqlLockScope(_0x3ddb43??createEmptySqlLock(),_0x7df3b0[_0x5b437b(0x16c)],_0x7df3b0[_0x5b437b(0x158)],_0x5b437b(0x16a)),_0x35b25f=await scanLocalSqlQueries(_0x7df3b0),_0x14ce13=[],_0x3ef952=[],_0x4c29c2=[],_0x63764f=[],_0xb8ca58=new Set(_0x35b25f[_0x5b437b(0x154)](_0x5ec5a4=>_0x5ec5a4[_0x5b437b(0x155)]));for(const _0x1df636 of _0x35b25f){const _0x42a07=await computeSqlFileHash(_0x1df636[_0x5b437b(0x164)]),_0x54e86b=_0x133138['sqls'][_0x1df636[_0x5b437b(0x155)]],_0x2f5616=!!_0x54e86b&&_0x54e86b[_0x5b437b(0x163)]!==_0x1df636[_0x5b437b(0x15b)],_0x39af2f=!!_0x54e86b&&!!_0x1df636[_0x5b437b(0x160)]&&_0x54e86b[_0x5b437b(0x160)]!==_0x1df636['sqlName'];if(!_0x54e86b)_0x14ce13[_0x5b437b(0x157)](_0x1df636['lockKey']);else _0x54e86b['hash']!==_0x42a07||_0x2f5616||_0x39af2f?_0x3ef952[_0x5b437b(0x157)](_0x1df636[_0x5b437b(0x155)]):_0x4c29c2[_0x5b437b(0x157)](_0x1df636[_0x5b437b(0x155)]);}for(const _0x4a7ab2 of Object[_0x5b437b(0x167)](_0x133138['sqls'])){!_0xb8ca58[_0x5b437b(0x15c)](_0x4a7ab2)&&_0x63764f[_0x5b437b(0x157)](_0x4a7ab2);}const _0x2ffd30=[];if(_0x41b658['bool'](_0x5b437b(0x15e))){const _0x27e3ce=await fetchAllSqlCodes(_0x41b658['appCode']);for(const _0xf034f3 of _0x27e3ce){!_0xb8ca58[_0x5b437b(0x15c)](_0xf034f3)&&!_0x133138['sqls'][_0xf034f3]&&_0x2ffd30[_0x5b437b(0x157)](_0xf034f3);}}const _0x568e51=_0x14ce13['length']===0x0&&_0x3ef952[_0x5b437b(0x152)]===0x0&&_0x63764f[_0x5b437b(0x152)]===0x0&&_0x2ffd30[_0x5b437b(0x152)]===0x0;return{'ok':!![],'data':{'added':_0x14ce13,'modified':_0x3ef952,'missing':_0x63764f,'unchanged':_0x4c29c2,'remoteOnly':_0x2ffd30},'message':_0x568e51?_0x5b437b(0x168):_0x14ce13[_0x5b437b(0x152)]+_0x5b437b(0x156)+_0x3ef952[_0x5b437b(0x152)]+_0x5b437b(0x16b)+_0x63764f[_0x5b437b(0x152)]+_0x5b437b(0x166)+_0x4c29c2[_0x5b437b(0x152)]+_0x5b437b(0x14e)+(_0x2ffd30[_0x5b437b(0x152)]>0x0?',\x20'+_0x2ffd30[_0x5b437b(0x152)]+'\x20remote-only':'')};}};
1
+ function a130_0x2f1b(){const _0x39a6a8=['relativePath','lockFilePath','lockKey','bool','\x20missing,\x20','tableData','remote','map','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','paging','5HVGceC','sql','1611lvtojF','\x20added,\x20','\x20unchanged','sqlName','sqls','All\x20SQL\x20queries\x20are\x20in\x20sync.','919264MioGtQ','1036752nFWtzn','push','totalCount','39290xcsAuK','sqlRoot','\x20remote-only','41864SLUcqy','\x20modified,\x20','140100kdWWUE','sqlCode','keys','length','has','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','path','filePath','status','appCode','1559142tbrmVb','boolean','hash','read','107020wmDnOa','91bFEdql'];a130_0x2f1b=function(){return _0x39a6a8;};return a130_0x2f1b();}const a130_0x559432=a130_0x5327;(function(_0x565fc3,_0x155790){const _0x5df3a0=a130_0x5327,_0x4f38d3=_0x565fc3();while(!![]){try{const _0x400336=parseInt(_0x5df3a0(0x19c))/0x1+parseInt(_0x5df3a0(0x17f))/0x2+-parseInt(_0x5df3a0(0x1a6))/0x3+-parseInt(_0x5df3a0(0x193))/0x4*(-parseInt(_0x5df3a0(0x18b))/0x5)+-parseInt(_0x5df3a0(0x194))/0x6+-parseInt(_0x5df3a0(0x180))/0x7*(parseInt(_0x5df3a0(0x19a))/0x8)+-parseInt(_0x5df3a0(0x18d))/0x9*(-parseInt(_0x5df3a0(0x197))/0xa);if(_0x400336===_0x155790)break;else _0x4f38d3['push'](_0x4f38d3['shift']());}catch(_0x3930c5){_0x4f38d3['push'](_0x4f38d3['shift']());}}}(a130_0x2f1b,0x59666));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x1dd08e){const _0x255d38=a130_0x5327,_0x8751c0=[];let _0x5b1adc=0x1;while(!![]){const _0x1eddd4=await listSqlQueries(_0x1dd08e,{'currentPage':_0x5b1adc,'pageSize':PAGE_SIZE}),_0x3c04f5=_0x1eddd4[_0x255d38(0x186)]??[];_0x8751c0[_0x255d38(0x195)](..._0x3c04f5[_0x255d38(0x188)](_0x5ac0b7=>_0x5ac0b7[_0x255d38(0x19d)]));if(_0x3c04f5[_0x255d38(0x19f)]===0x0)break;const _0x488db4=_0x1eddd4[_0x255d38(0x18a)]?.[_0x255d38(0x196)];if(_0x488db4!=null?_0x8751c0[_0x255d38(0x19f)]>=_0x488db4:_0x3c04f5[_0x255d38(0x19f)]<PAGE_SIZE)break;_0x5b1adc++;}return _0x8751c0;}function a130_0x5327(_0x49db7d,_0x3864f0){_0x49db7d=_0x49db7d-0x17f;const _0x2f1bc0=a130_0x2f1b();let _0x53277e=_0x2f1bc0[_0x49db7d];return _0x53277e;}export const sqlStatus={'service':a130_0x559432(0x18c),'command':a130_0x559432(0x1a4),'description':a130_0x559432(0x1a1),'risk':a130_0x559432(0x1a9),'flags':[{'name':a130_0x559432(0x187),'type':a130_0x559432(0x1a7),'description':a130_0x559432(0x189)}],async 'execute'(_0x44ee96){const _0x43c91e=a130_0x559432,_0x2f33d3=loadSqlProjectConfig(_0x44ee96[_0x43c91e(0x1a5)]),_0x2d3d09=await readSqlLockFile(_0x2f33d3[_0x43c91e(0x182)]),{appLock:_0x42d991}=ensureSqlLockScope(_0x2d3d09??createEmptySqlLock(),_0x2f33d3[_0x43c91e(0x1a5)],_0x2f33d3[_0x43c91e(0x198)],_0x43c91e(0x1a4)),_0x349599=await scanLocalSqlQueries(_0x2f33d3),_0x5c8055=[],_0x211b14=[],_0x5a294e=[],_0x2d3beb=[],_0x3bb91=new Set(_0x349599[_0x43c91e(0x188)](_0x19699a=>_0x19699a['lockKey']));for(const _0x444df6 of _0x349599){const _0x3b30d1=await computeSqlFileHash(_0x444df6[_0x43c91e(0x1a3)]),_0x59b521=_0x42d991[_0x43c91e(0x191)][_0x444df6[_0x43c91e(0x183)]],_0x43e2e8=!!_0x59b521&&_0x59b521[_0x43c91e(0x1a2)]!==_0x444df6[_0x43c91e(0x181)],_0x34371b=!!_0x59b521&&!!_0x444df6['sqlName']&&_0x59b521['sqlName']!==_0x444df6[_0x43c91e(0x190)];if(!_0x59b521)_0x5c8055['push'](_0x444df6[_0x43c91e(0x183)]);else _0x59b521[_0x43c91e(0x1a8)]!==_0x3b30d1||_0x43e2e8||_0x34371b?_0x211b14['push'](_0x444df6[_0x43c91e(0x183)]):_0x5a294e[_0x43c91e(0x195)](_0x444df6[_0x43c91e(0x183)]);}for(const _0x1828db of Object[_0x43c91e(0x19e)](_0x42d991[_0x43c91e(0x191)])){!_0x3bb91[_0x43c91e(0x1a0)](_0x1828db)&&_0x2d3beb[_0x43c91e(0x195)](_0x1828db);}const _0x3ccfb7=[];if(_0x44ee96[_0x43c91e(0x184)](_0x43c91e(0x187))){const _0xeb9297=await fetchAllSqlCodes(_0x44ee96[_0x43c91e(0x1a5)]);for(const _0x47f98f of _0xeb9297){!_0x3bb91[_0x43c91e(0x1a0)](_0x47f98f)&&!_0x42d991[_0x43c91e(0x191)][_0x47f98f]&&_0x3ccfb7['push'](_0x47f98f);}}const _0x129272=_0x5c8055[_0x43c91e(0x19f)]===0x0&&_0x211b14[_0x43c91e(0x19f)]===0x0&&_0x2d3beb[_0x43c91e(0x19f)]===0x0&&_0x3ccfb7[_0x43c91e(0x19f)]===0x0;return{'ok':!![],'data':{'added':_0x5c8055,'modified':_0x211b14,'missing':_0x2d3beb,'unchanged':_0x5a294e,'remoteOnly':_0x3ccfb7},'message':_0x129272?_0x43c91e(0x192):_0x5c8055['length']+_0x43c91e(0x18e)+_0x211b14['length']+_0x43c91e(0x19b)+_0x2d3beb[_0x43c91e(0x19f)]+_0x43c91e(0x185)+_0x5a294e[_0x43c91e(0x19f)]+_0x43c91e(0x18f)+(_0x3ccfb7['length']>0x0?',\x20'+_0x3ccfb7[_0x43c91e(0x19f)]+_0x43c91e(0x199):'')};}};