@lovrabet/rabetbase-cli 2.2.5-beta.1 → 2.2.5-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 (240) hide show
  1. package/README.md +1 -1
  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/app-config/delete.js +1 -1
  28. package/lib/commands/app-config/get.js +1 -1
  29. package/lib/commands/app-config/index.js +1 -1
  30. package/lib/commands/app-config/list.js +1 -1
  31. package/lib/commands/app-config/set.js +1 -1
  32. package/lib/commands/app-config/shared.js +1 -1
  33. package/lib/commands/auth/index.js +1 -1
  34. package/lib/commands/bff/create.js +1 -1
  35. package/lib/commands/bff/delete.js +1 -1
  36. package/lib/commands/bff/detail.js +1 -1
  37. package/lib/commands/bff/index.js +1 -1
  38. package/lib/commands/bff/list.js +1 -1
  39. package/lib/commands/bff/pull.js +1 -1
  40. package/lib/commands/bff/push.js +1 -1
  41. package/lib/commands/bff/status.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/flags.js +1 -1
  48. package/lib/commands/common/validate.js +1 -1
  49. package/lib/commands/config/get.js +1 -1
  50. package/lib/commands/config/index.js +1 -1
  51. package/lib/commands/config/list.js +1 -1
  52. package/lib/commands/config/set.js +1 -1
  53. package/lib/commands/config/shared.js +1 -1
  54. package/lib/commands/data/filter.js +1 -1
  55. package/lib/commands/data/getOne.js +1 -1
  56. package/lib/commands/data/index.js +1 -1
  57. package/lib/commands/data/shared.js +1 -1
  58. package/lib/commands/dataset/business-group-update.js +1 -1
  59. package/lib/commands/dataset/capability.js +1 -1
  60. package/lib/commands/dataset/delete.js +1 -1
  61. package/lib/commands/dataset/detail.js +1 -1
  62. package/lib/commands/dataset/extend-update.js +1 -1
  63. package/lib/commands/dataset/field-update.js +1 -1
  64. package/lib/commands/dataset/index.js +1 -1
  65. package/lib/commands/dataset/list.js +1 -1
  66. package/lib/commands/dataset/operations.js +1 -1
  67. package/lib/commands/dataset/relation-create.js +1 -1
  68. package/lib/commands/dataset/relation-delete.js +1 -1
  69. package/lib/commands/dataset/relation-shared.js +1 -1
  70. package/lib/commands/dataset/relation-update.js +1 -1
  71. package/lib/commands/dataset/relations.js +1 -1
  72. package/lib/commands/dataset/rename.js +1 -1
  73. package/lib/commands/dataset/restore.js +1 -0
  74. package/lib/commands/db/analyze-cancel.js +1 -1
  75. package/lib/commands/db/analyze-start.js +1 -1
  76. package/lib/commands/db/analyze-status.js +1 -1
  77. package/lib/commands/db/create.js +1 -1
  78. package/lib/commands/db/delete.js +1 -1
  79. package/lib/commands/db/detail.js +1 -1
  80. package/lib/commands/db/diff.js +1 -1
  81. package/lib/commands/db/index.js +1 -1
  82. package/lib/commands/db/list.js +1 -1
  83. package/lib/commands/db/shared.js +1 -1
  84. package/lib/commands/db/tables.js +1 -1
  85. package/lib/commands/db/test.js +1 -1
  86. package/lib/commands/db/update.js +1 -1
  87. package/lib/commands/doctor.js +1 -1
  88. package/lib/commands/init/index.js +1 -1
  89. package/lib/commands/issue/index.js +1 -1
  90. package/lib/commands/issue/nudge.js +1 -1
  91. package/lib/commands/issue/report.js +1 -1
  92. package/lib/commands/issue/shared.js +1 -1
  93. package/lib/commands/logs/index.js +1 -1
  94. package/lib/commands/menu/index.js +1 -1
  95. package/lib/commands/menu/list.js +1 -1
  96. package/lib/commands/menu/shared/compare-table.js +1 -1
  97. package/lib/commands/menu/shared/index.js +1 -1
  98. package/lib/commands/menu/shared/inquirer.js +1 -1
  99. package/lib/commands/menu/shared/local-pages.js +1 -1
  100. package/lib/commands/menu/shared/logic.js +1 -1
  101. package/lib/commands/menu/shared/service.js +1 -1
  102. package/lib/commands/menu/shared/sync-core.js +1 -1
  103. package/lib/commands/menu/shared/update-core.js +1 -1
  104. package/lib/commands/menu/shared/valid-url.js +1 -1
  105. package/lib/commands/menu/sync.js +1 -1
  106. package/lib/commands/menu/update.js +1 -1
  107. package/lib/commands/page/generate-start.js +1 -1
  108. package/lib/commands/page/generate-status.js +1 -1
  109. package/lib/commands/page/index.js +1 -1
  110. package/lib/commands/page/pull.js +1 -1
  111. package/lib/commands/page/push.js +1 -1
  112. package/lib/commands/page/relation-audit.js +1 -1
  113. package/lib/commands/page/shared.js +1 -1
  114. package/lib/commands/page/standard-page-status.js +1 -1
  115. package/lib/commands/page/sync.js +1 -1
  116. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  117. package/lib/commands/project/create/format-elapsed.js +1 -1
  118. package/lib/commands/project/create/main.js +1 -1
  119. package/lib/commands/project/create/non-interactive.js +1 -1
  120. package/lib/commands/project/create/project-template-path.js +1 -1
  121. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  122. package/lib/commands/project/create/use-format-code.js +1 -1
  123. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  124. package/lib/commands/project/index.js +1 -1
  125. package/lib/commands/project/init.js +1 -1
  126. package/lib/commands/project/upgrade.js +1 -1
  127. package/lib/commands/registry.js +1 -1
  128. package/lib/commands/run/index.js +1 -1
  129. package/lib/commands/schema.js +1 -1
  130. package/lib/commands/skill/index.js +1 -1
  131. package/lib/commands/sql/create.js +1 -1
  132. package/lib/commands/sql/delete.js +1 -1
  133. package/lib/commands/sql/detail.js +1 -1
  134. package/lib/commands/sql/exec.js +1 -1
  135. package/lib/commands/sql/index.js +1 -1
  136. package/lib/commands/sql/list.js +1 -1
  137. package/lib/commands/sql/pull.js +1 -1
  138. package/lib/commands/sql/push.js +1 -1
  139. package/lib/commands/sql/save.js +1 -1
  140. package/lib/commands/sql/shared.js +1 -1
  141. package/lib/commands/sql/status.js +1 -1
  142. package/lib/commands/sql/validate.js +1 -1
  143. package/lib/commands/workspace/index.js +1 -1
  144. package/lib/config/schema.js +1 -1
  145. package/lib/constant/cdn.js +1 -1
  146. package/lib/constant/cli.js +1 -1
  147. package/lib/constant/defaults.js +1 -1
  148. package/lib/constant/domain.js +1 -1
  149. package/lib/constant/env.js +1 -1
  150. package/lib/constant/output.js +1 -1
  151. package/lib/constant/paths.js +1 -1
  152. package/lib/constant/risk.js +1 -1
  153. package/lib/context/app-resolver.js +1 -1
  154. package/lib/context/auth-resolver.js +1 -1
  155. package/lib/context/config-loader.js +1 -1
  156. package/lib/context.js +1 -1
  157. package/lib/core/alias-resolver.js +1 -1
  158. package/lib/core/api-client.js +1 -1
  159. package/lib/core/bff/config.js +1 -1
  160. package/lib/core/bff/file-system.js +1 -1
  161. package/lib/core/bff/hash.js +1 -1
  162. package/lib/core/bff/lock.js +1 -1
  163. package/lib/core/bff/utils.js +1 -1
  164. package/lib/core/db-resolver.js +1 -1
  165. package/lib/core/page/file-system.js +1 -1
  166. package/lib/core/page/hash.js +1 -1
  167. package/lib/core/page/lock.js +1 -1
  168. package/lib/core/sql-sync/config.js +1 -1
  169. package/lib/core/sql-sync/file-system.js +1 -1
  170. package/lib/core/sql-sync/hash.js +1 -1
  171. package/lib/core/sql-sync/lock.js +1 -1
  172. package/lib/core/sql-sync/utils.js +1 -1
  173. package/lib/core/sql-validator.js +1 -1
  174. package/lib/errors.js +1 -1
  175. package/lib/framework/build-all-flags.js +1 -1
  176. package/lib/framework/flags.js +1 -1
  177. package/lib/framework/help.js +1 -1
  178. package/lib/framework/index.js +1 -1
  179. package/lib/framework/output.js +1 -1
  180. package/lib/framework/response.js +1 -1
  181. package/lib/framework/runner-alias.js +1 -1
  182. package/lib/framework/runner.js +1 -1
  183. package/lib/framework/schema-export.js +1 -1
  184. package/lib/framework/types.js +1 -1
  185. package/lib/generated/build-info.js +1 -1
  186. package/lib/help.js +1 -1
  187. package/lib/skills/main.js +1 -1
  188. package/lib/skills/npx-skills-add.js +1 -1
  189. package/lib/telemetry/cli-command-trace.js +1 -1
  190. package/lib/telemetry/cli-help-trace.js +1 -1
  191. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  192. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  193. package/lib/telemetry/send-cli-trace-log.js +1 -1
  194. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  195. package/lib/utils/ai_config.js +1 -1
  196. package/lib/utils/apply-jq-filter.js +1 -1
  197. package/lib/utils/cdn-config.js +1 -1
  198. package/lib/utils/check-sdk-version.js +1 -1
  199. package/lib/utils/cli-version-check.js +1 -1
  200. package/lib/utils/cli-version-policy.js +1 -1
  201. package/lib/utils/config.js +1 -1
  202. package/lib/utils/copy-directory.js +1 -1
  203. package/lib/utils/entity-with-id.js +1 -1
  204. package/lib/utils/file-utils.js +1 -1
  205. package/lib/utils/guides-cdn.js +1 -1
  206. package/lib/utils/http-client.js +1 -1
  207. package/lib/utils/is-non-interactive.js +1 -1
  208. package/lib/utils/logger.js +1 -1
  209. package/lib/utils/params.js +1 -1
  210. package/lib/utils/platform.js +1 -1
  211. package/lib/utils/rules-cdn.js +1 -1
  212. package/lib/utils/sleep.js +1 -1
  213. package/lib/utils/template-replacer.js +1 -1
  214. package/lib/utils/update-notice.js +1 -1
  215. package/lib/utils/version.js +1 -1
  216. package/lib/utils/with-active-cookie.js +1 -1
  217. package/lib/utils/write-cli-side-channel.js +1 -1
  218. package/package.json +1 -1
  219. package/templates/README.md +15 -25
  220. package/templates/generate-api/api.ts.tpl +2 -2
  221. package/templates/generate-api/client.ts.tpl +2 -2
  222. package/templates/projects/sub-app-react-demo/CHANGELOG.md +15 -1
  223. package/templates/projects/sub-app-react-demo/README.md +159 -231
  224. package/templates/projects/sub-app-react-demo/docs/quick-start.md +145 -426
  225. package/templates/projects/sub-app-react-demo/src/api/api.ts +8 -65
  226. package/templates/projects/sub-app-react-demo/src/api/client.ts +10 -42
  227. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +28 -0
  228. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +55 -0
  229. package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +6 -9
  230. package/templates/projects/sub-app-react-demo/src/main.tsx +10 -6
  231. package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +3 -5
  232. package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +153 -148
  233. package/templates/projects/sub-app-react-demo/src/pages/index.module.css +500 -0
  234. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +517 -343
  235. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +325 -242
  236. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +8 -6
  237. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +174 -87
  238. package/templates/projects/sub-app-react-demo/src/style.css +19 -3
  239. package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +1 -1
  240. package/templates/projects/sub-app-react-demo/docs/API_RULE_CHANGE.md +0 -212
@@ -1 +1 @@
1
- const a126_0x123563=a126_0x101a;(function(_0x23e21e,_0x111224){const _0x3742c5=a126_0x101a,_0x486e4c=_0x23e21e();while(!![]){try{const _0x78f067=parseInt(_0x3742c5(0xf0))/0x1*(-parseInt(_0x3742c5(0xd6))/0x2)+parseInt(_0x3742c5(0xec))/0x3*(-parseInt(_0x3742c5(0xd8))/0x4)+parseInt(_0x3742c5(0xea))/0x5+parseInt(_0x3742c5(0x104))/0x6*(parseInt(_0x3742c5(0xf3))/0x7)+-parseInt(_0x3742c5(0xe7))/0x8+-parseInt(_0x3742c5(0xff))/0x9+-parseInt(_0x3742c5(0xce))/0xa*(-parseInt(_0x3742c5(0xd3))/0xb);if(_0x78f067===_0x111224)break;else _0x486e4c['push'](_0x486e4c['shift']());}catch(_0x478b22){_0x486e4c['push'](_0x486e4c['shift']());}}}(a126_0x4cbe,0xce7d5));import{readFileSync,existsSync}from'node:fs';function a126_0x101a(_0x59c7c6,_0x4ae350){_0x59c7c6=_0x59c7c6-0xce;const _0x4cbecb=a126_0x4cbe();let _0x101a2a=_0x4cbecb[_0x59c7c6];return _0x101a2a;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';function a126_0x4cbe(){const _0x179b96=['map','No\x20scripts\x20defined\x20in\x20package.json.','validation','\x20run\x20preview','593190AFzcUY','belowMinimum','boolean','build','Enable\x20watch\x20mode\x20for\x20preview','555012sGdfWe','bun.lockb','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','bun.lock','30GiNCaV','\x22\x20not\x20found\x20in\x20package.json.','\x20run\x20<script>\x0a','slice','bool','6167337zwrdOP','log','\x20exited\x20with\x20code\x20','3145386zDGMKa','Script\x20\x22','561128squgeQ','length','join','padEnd','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','yarn','parse','args','push','start','inherit','preview','\x0a\x20\x20Available\x20scripts:\x0a','Script\x20name\x20defined\x20in\x20package.json','needsUpgrade','673352SJmVEQ','No\x20package.json\x20found\x20in\x20current\x20directory.','node_modules','986870NJUVRE','read','9NJKrGI','\x20run\x20','bun','keys','1rZREHp','vite','cwd','84GIIbst','error','\x20\x20\x20\x20','max','.bin','pnpm-lock.yaml','close','utf-8'];a126_0x4cbe=function(){return _0x179b96;};return a126_0x4cbe();}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([a126_0x123563(0xe1),'dev']);function readPackageScripts(_0x3d1618){const _0x118058=a126_0x123563,_0x3c7a7d=resolve(_0x3d1618,'package.json');if(!existsSync(_0x3c7a7d))return null;try{const _0x113105=JSON[_0x118058(0xde)](readFileSync(_0x3c7a7d,_0x118058(0xfa)));return _0x113105['scripts']??{};}catch{return null;}}function detectPackageManager(_0x50a0ae){const _0x37259e=a126_0x123563;if(existsSync(resolve(_0x50a0ae,_0x37259e(0x105)))||existsSync(resolve(_0x50a0ae,_0x37259e(0x107))))return _0x37259e(0xee);if(existsSync(resolve(_0x50a0ae,_0x37259e(0xf8))))return'pnpm';if(existsSync(resolve(_0x50a0ae,'yarn.lock')))return _0x37259e(0xdd);return'npm';}async function versionCheck(_0x1f2dc1){const _0x46430b=a126_0x123563,_0x2a39e4=await checkCliVersion();(_0x2a39e4[_0x46430b(0xe6)]||_0x2a39e4[_0x46430b(0x100)])&&(printCliUpgradeWarning(_0x2a39e4),assertCliVersionSupported(_0x2a39e4));const _0x667bb3=await checkSdkVersion(_0x1f2dc1);if(_0x667bb3[_0x46430b(0xe6)])printSdkUpgradeWarning(_0x667bb3);}function spawnScript(_0x40d875,_0x12db76,_0x35dc6e,_0x27e875){return new Promise((_0x306990,_0x4d72f4)=>{const _0x47752b=a126_0x101a,_0x24c6cc=['run',_0x12db76,..._0x35dc6e],_0x391d26=spawn(_0x40d875,_0x24c6cc,{'cwd':_0x27e875,'stdio':_0x47752b(0xe2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x27e875,'node_modules',_0x47752b(0xf7))+delimiter+process.env.PATH}});_0x391d26['on']('close',_0x77e10a=>{const _0x3150cf=_0x47752b;if(_0x77e10a===0x0||_0x77e10a===null)_0x306990();else _0x4d72f4(new Error(_0x40d875+_0x3150cf(0xed)+_0x12db76+_0x3150cf(0xd5)+_0x77e10a));}),_0x391d26['on']('error',_0x4d72f4);});}function spawnViteBuildWatch(_0x2240e0){return new Promise((_0x2c16a4,_0x3128c5)=>{const _0x179ef6=a126_0x101a,_0x534032=spawn(_0x179ef6(0xf1),[_0x179ef6(0x102),'--watch'],{'cwd':_0x2240e0,'stdio':_0x179ef6(0xe2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2240e0,_0x179ef6(0xe9),_0x179ef6(0xf7))+delimiter+process.env.PATH}});_0x534032['on']('close',_0x4251e3=>{const _0x5786e7=_0x179ef6;if(_0x4251e3===0x0||_0x4251e3===null)_0x2c16a4();else _0x3128c5(new Error(_0x5786e7(0xdc)+_0x4251e3));}),_0x534032['on'](_0x179ef6(0xf4),_0x3128c5);});}function spawnVitePreview(_0x53f00d){return new Promise((_0xe60c,_0x370954)=>{const _0xfea353=a126_0x101a,_0x1ed85f=spawn(_0xfea353(0xf1),[_0xfea353(0xe3)],{'cwd':_0x53f00d,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x53f00d,_0xfea353(0xe9),'.bin')+delimiter+process.env.PATH}});_0x1ed85f['on'](_0xfea353(0xf9),_0x93e5e5=>{if(_0x93e5e5===0x0||_0x93e5e5===null)_0xe60c();else _0x370954(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x93e5e5));}),_0x1ed85f['on']('error',_0x370954);});}const runFlags=[{'name':'watch','type':a126_0x123563(0x101),'description':a126_0x123563(0x103),'default':![]}];export const runDefinition={'service':'run','command':'run','description':'Run\x20a\x20package.json\x20script','risk':a126_0x123563(0xeb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a126_0x123563(0xe5),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x164248=a126_0x123563,_0x25a923=readPackageScripts(process[_0x164248(0xf2)]()),_0x274437=[];if(_0x25a923&&Object[_0x164248(0xef)](_0x25a923)['length']>0x0){const _0x23fb42=Object[_0x164248(0xef)](_0x25a923),_0x2d4620=Math[_0x164248(0xf6)](..._0x23fb42['map'](_0x15a9c1=>_0x15a9c1[_0x164248(0xd9)]));_0x274437[_0x164248(0xe0)](_0x164248(0x106));for(const [_0x4cd25d,_0x25863e]of Object['entries'](_0x25a923)){_0x274437[_0x164248(0xe0)](_0x164248(0xf5)+CLI_BIN_NAME+_0x164248(0xed)+_0x4cd25d[_0x164248(0xdb)](_0x2d4620+0x2)+'#\x20'+_0x25863e);}}else _0x274437['push']('\x20\x20EXAMPLES'),_0x274437[_0x164248(0xe0)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x274437[_0x164248(0xe0)](_0x164248(0xf5)+CLI_BIN_NAME+'\x20run\x20build'),_0x274437[_0x164248(0xe0)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x164248(0xfe)),_0x274437['push'](_0x164248(0xf5)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview');return _0x274437[_0x164248(0xda)]('\x0a');},async 'execute'(_0x3bd89a){const _0x3ca840=a126_0x123563,_0x3bfba1=process[_0x3ca840(0xf2)](),_0x6572e9=_0x3bd89a[_0x3ca840(0xdf)][0x0],_0x5192b3=_0x3bd89a['args'][_0x3ca840(0xd1)](0x1),_0x367401=readPackageScripts(_0x3bfba1);if(!_0x367401)throw CliErrors[_0x3ca840(0xfd)](_0x3ca840(0xe8));if(!_0x6572e9){const _0x498384=Object['keys'](_0x367401);if(_0x498384[_0x3ca840(0xd9)]===0x0)console[_0x3ca840(0xd4)](_0x3ca840(0xfc));else{console[_0x3ca840(0xd4)](_0x3ca840(0xe4));const _0xf327f3=Math['max'](..._0x498384[_0x3ca840(0xfb)](_0x278a82=>_0x278a82['length']));for(const [_0x2bfb14,_0x52c301]of Object['entries'](_0x367401)){console[_0x3ca840(0xd4)](_0x3ca840(0xf5)+_0x2bfb14[_0x3ca840(0xdb)](_0xf327f3+0x2)+_0x52c301);}console[_0x3ca840(0xd4)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x3ca840(0xd0));}return{'ok':!![]};}if(!_0x367401[_0x6572e9])throw CliErrors['validation'](_0x3ca840(0xd7)+_0x6572e9+_0x3ca840(0xcf),'Available:\x20'+(Object[_0x3ca840(0xef)](_0x367401)[_0x3ca840(0xda)](',\x20')||'(none)'));const _0x434286=detectPackageManager(_0x3bfba1);VERSION_CHECK_SCRIPTS['has'](_0x6572e9)&&await versionCheck(_0x3bfba1);if(_0x6572e9==='preview'&&_0x3bd89a[_0x3ca840(0xd2)]('watch'))return await Promise['all']([spawnViteBuildWatch(_0x3bfba1),spawnVitePreview(_0x3bfba1)]),{'ok':!![]};return await spawnScript(_0x434286,_0x6572e9,_0x5192b3,_0x3bfba1),{'ok':!![]};}};
1
+ const a127_0x4571b7=a127_0x4cf8;(function(_0x48fb67,_0x21a2ae){const _0x2f154f=a127_0x4cf8,_0xd6b154=_0x48fb67();while(!![]){try{const _0x4ee1f1=parseInt(_0x2f154f(0x138))/0x1+parseInt(_0x2f154f(0x115))/0x2+parseInt(_0x2f154f(0x126))/0x3+-parseInt(_0x2f154f(0x136))/0x4+parseInt(_0x2f154f(0x10b))/0x5*(parseInt(_0x2f154f(0x11e))/0x6)+-parseInt(_0x2f154f(0x127))/0x7+parseInt(_0x2f154f(0x13d))/0x8*(parseInt(_0x2f154f(0x12f))/0x9);if(_0x4ee1f1===_0x21a2ae)break;else _0xd6b154['push'](_0xd6b154['shift']());}catch(_0x1226e5){_0xd6b154['push'](_0xd6b154['shift']());}}}(a127_0x3eac,0xeca8f));import{readFileSync,existsSync}from'node:fs';function a127_0x4cf8(_0x4bc2fe,_0x4e85e3){_0x4bc2fe=_0x4bc2fe-0xfc;const _0x3eac22=a127_0x3eac();let _0x4cf8f0=_0x3eac22[_0x4bc2fe];return _0x4cf8f0;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a127_0x4571b7(0x107),a127_0x4571b7(0x10d)]);function readPackageScripts(_0x3f4896){const _0x4c98d4=a127_0x4571b7,_0x4d46be=resolve(_0x3f4896,_0x4c98d4(0xff));if(!existsSync(_0x4d46be))return null;try{const _0x7dbf05=JSON[_0x4c98d4(0x116)](readFileSync(_0x4d46be,_0x4c98d4(0x139)));return _0x7dbf05[_0x4c98d4(0x101)]??{};}catch{return null;}}function detectPackageManager(_0x5568fd){const _0x28aca9=a127_0x4571b7;if(existsSync(resolve(_0x5568fd,_0x28aca9(0x11a)))||existsSync(resolve(_0x5568fd,_0x28aca9(0x10c))))return _0x28aca9(0x113);if(existsSync(resolve(_0x5568fd,'pnpm-lock.yaml')))return _0x28aca9(0x131);if(existsSync(resolve(_0x5568fd,'yarn.lock')))return'yarn';return _0x28aca9(0x120);}async function versionCheck(_0x2551c4){const _0x27d248=a127_0x4571b7,_0x2dfc55=await checkCliVersion();(_0x2dfc55['needsUpgrade']||_0x2dfc55['belowMinimum'])&&(printCliUpgradeWarning(_0x2dfc55),assertCliVersionSupported(_0x2dfc55));const _0x47f2e5=await checkSdkVersion(_0x2551c4);if(_0x47f2e5[_0x27d248(0x12a)])printSdkUpgradeWarning(_0x47f2e5);}function spawnScript(_0x1e5063,_0x13935e,_0x329629,_0x596aeb){return new Promise((_0x5a8547,_0x43e690)=>{const _0x1c2ea2=a127_0x4cf8,_0x549a61=['run',_0x13935e,..._0x329629],_0x223d9a=spawn(_0x1e5063,_0x549a61,{'cwd':_0x596aeb,'stdio':_0x1c2ea2(0x10e),'shell':!![],'env':{...process.env,'PATH':''+join(_0x596aeb,_0x1c2ea2(0x12c),'.bin')+delimiter+process.env.PATH}});_0x223d9a['on'](_0x1c2ea2(0x103),_0xc713bc=>{const _0x578f53=_0x1c2ea2;if(_0xc713bc===0x0||_0xc713bc===null)_0x5a8547();else _0x43e690(new Error(_0x1e5063+_0x578f53(0x117)+_0x13935e+_0x578f53(0x128)+_0xc713bc));}),_0x223d9a['on'](_0x1c2ea2(0x104),_0x43e690);});}function spawnViteBuildWatch(_0x228517){return new Promise((_0x15bafa,_0x2527d8)=>{const _0x62c891=a127_0x4cf8,_0x159bbf=spawn(_0x62c891(0x106),[_0x62c891(0x114),_0x62c891(0x11c)],{'cwd':_0x228517,'stdio':_0x62c891(0x10e),'shell':!![],'env':{...process.env,'PATH':''+join(_0x228517,_0x62c891(0x12c),_0x62c891(0x133))+delimiter+process.env.PATH}});_0x159bbf['on'](_0x62c891(0x103),_0xd52206=>{const _0x211544=_0x62c891;if(_0xd52206===0x0||_0xd52206===null)_0x15bafa();else _0x2527d8(new Error(_0x211544(0x108)+_0xd52206));}),_0x159bbf['on'](_0x62c891(0x104),_0x2527d8);});}function a127_0x3eac(){const _0x3c9e72=['\x20run\x20<script>\x0a','bun.lockb','keys','--watch','join','654ubAAUf','log','npm','vite\x20preview\x20exited\x20with\x20code\x20','(none)','map','No\x20scripts\x20defined\x20in\x20package.json.','Script\x20\x22','622761KkRygZ','13334251pNoixs','\x20exited\x20with\x20code\x20','Available:\x20','needsUpgrade','watch','node_modules','length','\x20run\x20build','1783449yBMSfX','preview','pnpm','push','.bin','\x20run\x20start','cwd','7688608csGkQS','slice','980905KXTYJW','utf-8','max','entries','\x20run\x20preview','56mWbCSX','\x20\x20\x20\x20','validation','bool','package.json','Enable\x20watch\x20mode\x20for\x20preview','scripts','No\x20package.json\x20found\x20in\x20current\x20directory.','close','error','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','vite','start','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','all','args','37685OUBPNT','bun.lock','dev','inherit','\x22\x20not\x20found\x20in\x20package.json.','Run\x20a\x20package.json\x20script','padEnd','script','bun','build','2798504qlLulR','parse','\x20run\x20','\x0a\x20\x20Usage:\x20'];a127_0x3eac=function(){return _0x3c9e72;};return a127_0x3eac();}function spawnVitePreview(_0x1a885c){return new Promise((_0x4ac6f9,_0x462e97)=>{const _0x475d38=a127_0x4cf8,_0x328665=spawn(_0x475d38(0x106),[_0x475d38(0x130)],{'cwd':_0x1a885c,'stdio':_0x475d38(0x10e),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1a885c,_0x475d38(0x12c),'.bin')+delimiter+process.env.PATH}});_0x328665['on'](_0x475d38(0x103),_0x5597e1=>{const _0xeb554b=_0x475d38;if(_0x5597e1===0x0||_0x5597e1===null)_0x4ac6f9();else _0x462e97(new Error(_0xeb554b(0x121)+_0x5597e1));}),_0x328665['on']('error',_0x462e97);});}const runFlags=[{'name':'watch','type':'boolean','description':a127_0x4571b7(0x100),'default':![]}];export const runDefinition={'service':'run','command':'run','description':a127_0x4571b7(0x110),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a127_0x4571b7(0x112),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0xb9ab1c=a127_0x4571b7,_0x54c1ee=readPackageScripts(process[_0xb9ab1c(0x135)]()),_0x1a1e4d=[];if(_0x54c1ee&&Object[_0xb9ab1c(0x11b)](_0x54c1ee)[_0xb9ab1c(0x12d)]>0x0){const _0x206e80=Object[_0xb9ab1c(0x11b)](_0x54c1ee),_0x18dfe3=Math[_0xb9ab1c(0x13a)](..._0x206e80[_0xb9ab1c(0x123)](_0x931e50=>_0x931e50[_0xb9ab1c(0x12d)]));_0x1a1e4d[_0xb9ab1c(0x132)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x41651d,_0x5847c7]of Object[_0xb9ab1c(0x13b)](_0x54c1ee)){_0x1a1e4d[_0xb9ab1c(0x132)](_0xb9ab1c(0xfc)+CLI_BIN_NAME+_0xb9ab1c(0x117)+_0x41651d[_0xb9ab1c(0x111)](_0x18dfe3+0x2)+'#\x20'+_0x5847c7);}}else _0x1a1e4d[_0xb9ab1c(0x132)]('\x20\x20EXAMPLES'),_0x1a1e4d[_0xb9ab1c(0x132)](_0xb9ab1c(0xfc)+CLI_BIN_NAME+_0xb9ab1c(0x134)),_0x1a1e4d['push'](_0xb9ab1c(0xfc)+CLI_BIN_NAME+_0xb9ab1c(0x12e)),_0x1a1e4d[_0xb9ab1c(0x132)](_0xb9ab1c(0xfc)+CLI_BIN_NAME+_0xb9ab1c(0x13c)),_0x1a1e4d[_0xb9ab1c(0x132)](_0xb9ab1c(0xfc)+CLI_BIN_NAME+_0xb9ab1c(0x105));return _0x1a1e4d[_0xb9ab1c(0x11d)]('\x0a');},async 'execute'(_0x47b168){const _0x263a57=a127_0x4571b7,_0x289603=process[_0x263a57(0x135)](),_0x478e93=_0x47b168[_0x263a57(0x10a)][0x0],_0x46be13=_0x47b168[_0x263a57(0x10a)][_0x263a57(0x137)](0x1),_0x59690a=readPackageScripts(_0x289603);if(!_0x59690a)throw CliErrors[_0x263a57(0xfd)](_0x263a57(0x102));if(!_0x478e93){const _0xde3ab8=Object[_0x263a57(0x11b)](_0x59690a);if(_0xde3ab8[_0x263a57(0x12d)]===0x0)console[_0x263a57(0x11f)](_0x263a57(0x124));else{console[_0x263a57(0x11f)]('\x0a\x20\x20Available\x20scripts:\x0a');const _0x58993b=Math['max'](..._0xde3ab8['map'](_0x26a58d=>_0x26a58d[_0x263a57(0x12d)]));for(const [_0x585eb7,_0x5699dc]of Object[_0x263a57(0x13b)](_0x59690a)){console[_0x263a57(0x11f)](_0x263a57(0xfc)+_0x585eb7['padEnd'](_0x58993b+0x2)+_0x5699dc);}console[_0x263a57(0x11f)](_0x263a57(0x118)+CLI_BIN_NAME+_0x263a57(0x119));}return{'ok':!![]};}if(!_0x59690a[_0x478e93])throw CliErrors[_0x263a57(0xfd)](_0x263a57(0x125)+_0x478e93+_0x263a57(0x10f),_0x263a57(0x129)+(Object[_0x263a57(0x11b)](_0x59690a)['join'](',\x20')||_0x263a57(0x122)));const _0x41f15a=detectPackageManager(_0x289603);VERSION_CHECK_SCRIPTS['has'](_0x478e93)&&await versionCheck(_0x289603);if(_0x478e93===_0x263a57(0x130)&&_0x47b168[_0x263a57(0xfe)](_0x263a57(0x12b)))return await Promise[_0x263a57(0x109)]([spawnViteBuildWatch(_0x289603),spawnVitePreview(_0x289603)]),{'ok':!![]};return await spawnScript(_0x41f15a,_0x478e93,_0x46be13,_0x289603),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a127_0x67b262=a127_0x137d;(function(_0x15410d,_0x48680c){const _0x41e76c=a127_0x137d,_0x2d6f11=_0x15410d();while(!![]){try{const _0x5ac40c=-parseInt(_0x41e76c(0x159))/0x1+-parseInt(_0x41e76c(0x15c))/0x2*(parseInt(_0x41e76c(0x15b))/0x3)+parseInt(_0x41e76c(0x160))/0x4+parseInt(_0x41e76c(0x15e))/0x5+parseInt(_0x41e76c(0x165))/0x6+-parseInt(_0x41e76c(0x15f))/0x7+parseInt(_0x41e76c(0x161))/0x8*(parseInt(_0x41e76c(0x15a))/0x9);if(_0x5ac40c===_0x48680c)break;else _0x2d6f11['push'](_0x2d6f11['shift']());}catch(_0x33249f){_0x2d6f11['push'](_0x2d6f11['shift']());}}}(a127_0x1563,0x29f31));function a127_0x137d(_0x3a1c0f,_0x2caefe){_0x3a1c0f=_0x3a1c0f-0x159;const _0x156312=a127_0x1563();let _0x137da7=_0x156312[_0x3a1c0f];return _0x137da7;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x7d2fa7){const _0xd6b96b=await buildSchemaPayload();return{'ok':!![],'data':_0xd6b96b};}function a127_0x1563(){const _0x2e6570=['679632GgbSkH','338952dhlmBV','json','Export\x20machine-readable\x20command\x20schema\x20(JSON)','read','1912758xuPthQ','152918cRNLeA','9pIBDqc','301641bZFhsU','6DGIyOz','schema','564575hpogPM','123207cNKaKv'];a127_0x1563=function(){return _0x2e6570;};return a127_0x1563();}export const schemaDefinition={'service':a127_0x67b262(0x15d),'command':'export','description':a127_0x67b262(0x163),'risk':a127_0x67b262(0x164),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a127_0x67b262(0x162),'flags':[],'execute':execute};
1
+ const a128_0x2cefdf=a128_0x1f82;(function(_0x13a180,_0x3d5eb7){const _0x3bca2b=a128_0x1f82,_0x2ef44f=_0x13a180();while(!![]){try{const _0x2b2eab=-parseInt(_0x3bca2b(0x128))/0x1+-parseInt(_0x3bca2b(0x129))/0x2*(parseInt(_0x3bca2b(0x11e))/0x3)+parseInt(_0x3bca2b(0x127))/0x4+-parseInt(_0x3bca2b(0x124))/0x5+-parseInt(_0x3bca2b(0x12b))/0x6*(parseInt(_0x3bca2b(0x122))/0x7)+-parseInt(_0x3bca2b(0x125))/0x8+-parseInt(_0x3bca2b(0x11f))/0x9*(-parseInt(_0x3bca2b(0x123))/0xa);if(_0x2b2eab===_0x3d5eb7)break;else _0x2ef44f['push'](_0x2ef44f['shift']());}catch(_0x258d40){_0x2ef44f['push'](_0x2ef44f['shift']());}}}(a128_0x4d5f,0x7945c));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4cb50d){const _0x49bb43=await buildSchemaPayload();return{'ok':!![],'data':_0x49bb43};}function a128_0x1f82(_0x4ac9da,_0x3e2e57){_0x4ac9da=_0x4ac9da-0x11e;const _0x4d5fad=a128_0x4d5f();let _0x1f82ff=_0x4d5fad[_0x4ac9da];return _0x1f82ff;}export const schemaDefinition={'service':a128_0x2cefdf(0x120),'command':'export','description':a128_0x2cefdf(0x12a),'risk':a128_0x2cefdf(0x126),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a128_0x2cefdf(0x121),'flags':[],'execute':execute};function a128_0x4d5f(){const _0x4cc594=['821778pohwaQ','1159467ZodqTU','22346514avdkXU','schema','json','21wyhSas','10CctuKY','3566785crSUNa','3075952khnMSn','read','3583968WcGeRL','600488CqsmyO','4GJoarl','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a128_0x4d5f=function(){return _0x4cc594;};return a128_0x4d5f();}
@@ -1 +1 @@
1
- const a128_0x378022=a128_0x3893;(function(_0x4ed5fd,_0x259eb9){const _0x47e304=a128_0x3893,_0x33da79=_0x4ed5fd();while(!![]){try{const _0x1be15d=-parseInt(_0x47e304(0x122))/0x1+parseInt(_0x47e304(0x114))/0x2*(-parseInt(_0x47e304(0x10c))/0x3)+parseInt(_0x47e304(0x118))/0x4+-parseInt(_0x47e304(0x124))/0x5*(-parseInt(_0x47e304(0x125))/0x6)+-parseInt(_0x47e304(0x11b))/0x7*(-parseInt(_0x47e304(0x115))/0x8)+parseInt(_0x47e304(0x11e))/0x9+-parseInt(_0x47e304(0x10b))/0xa;if(_0x1be15d===_0x259eb9)break;else _0x33da79['push'](_0x33da79['shift']());}catch(_0x510fac){_0x33da79['push'](_0x33da79['shift']());}}}(a128_0x4cd7,0x85bc5));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a128_0x3893(_0x5c6e8a,_0x1c811a){_0x5c6e8a=_0x5c6e8a-0x108;const _0x4cd762=a128_0x4cd7();let _0x38939c=_0x4cd762[_0x5c6e8a];return _0x38939c;}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a128_0x378022(0x109),'command':a128_0x378022(0x108),'description':'Install\x20developer\x20skill\x20package','risk':a128_0x378022(0x112),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x34505){const _0x1716af=a128_0x378022;logger[_0x1716af(0x121)](process[_0x1716af(0x11c)]()),logger[_0x1716af(0x113)](_0x1716af(0x119),_0x1716af(0x10a));const {runNpxSkillsAddGlobal:_0x31330e}=await import(_0x1716af(0x10f)),_0x3508e8=_0x34505[_0x1716af(0x11a)]?_0x1716af(0x110):_0x1716af(0x10e);console['log'](_0x1716af(0x111)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x19bca6=_0x31330e(process[_0x1716af(0x11c)](),_0x1716af(0x117),{'stdio':_0x3508e8});if(_0x19bca6[_0x1716af(0x120)])console['log']('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x19bca6['ok'])console['log'](CLI_BIN_NAME+_0x1716af(0x11f));else throw CliErrors[_0x1716af(0x123)](_0x1716af(0x11d)+(_0x19bca6[_0x1716af(0x10d)]||'unknown'),_0x1716af(0x116));}return{'ok':!![]};}}];function a128_0x4cd7(){const _0x456c76=['error','inherit','../../skills/npx-skills-add.js','pipe','Installing\x20official\x20skill\x20via\x20npx\x20(','write','info','3732PMWLAS','48oJfXED','Check\x20network\x20connectivity\x20and\x20try\x20again.','lovrabet/rabetbase','2693432kEBHHj','skill-install','nonInteractive','63182tFWPXo','cwd','npx\x20skills\x20add\x20failed:\x20','4023153LYJBPb','\x20skill\x20installed','skipped','setLogPath','386243WMeFDX','apiError','5WoFcHP','2513208MfPvyn','install','skill','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','1443590pfQYcU','828AiqtxO'];a128_0x4cd7=function(){return _0x456c76;};return a128_0x4cd7();}
1
+ const a129_0xeb1050=a129_0x1d4e;(function(_0x4d1c7e,_0x2639b5){const _0x5e9aee=a129_0x1d4e,_0x2ea99f=_0x4d1c7e();while(!![]){try{const _0x31ff59=-parseInt(_0x5e9aee(0xa8))/0x1+-parseInt(_0x5e9aee(0x93))/0x2+-parseInt(_0x5e9aee(0x97))/0x3+parseInt(_0x5e9aee(0x98))/0x4*(parseInt(_0x5e9aee(0x96))/0x5)+-parseInt(_0x5e9aee(0xa1))/0x6*(parseInt(_0x5e9aee(0x9d))/0x7)+parseInt(_0x5e9aee(0x9a))/0x8*(parseInt(_0x5e9aee(0x94))/0x9)+parseInt(_0x5e9aee(0xa3))/0xa;if(_0x31ff59===_0x2639b5)break;else _0x2ea99f['push'](_0x2ea99f['shift']());}catch(_0x3fecc3){_0x2ea99f['push'](_0x2ea99f['shift']());}}}(a129_0x4725,0xde50d));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';function a129_0x4725(){const _0x589c8d=['执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','skill','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','Install\x20developer\x20skill\x20package','log','3591946XjEOCf','366579TSfwlf','Installing\x20official\x20skill\x20via\x20npx\x20(','4545SnYCHm','1678158NkwFWD','2616GnjWTM','cwd','104JHddZR','inherit','Check\x20network\x20connectivity\x20and\x20try\x20again.','26089JgfqVp','lovrabet/rabetbase','info',')...','2106Bkaqgb','unknown','43826310Knnubk','../../skills/npx-skills-add.js','apiError','setLogPath','error','932479Vfxcep','write'];a129_0x4725=function(){return _0x589c8d;};return a129_0x4725();}function a129_0x1d4e(_0xb64d68,_0x3796f0){_0xb64d68=_0xb64d68-0x92;const _0x472518=a129_0x4725();let _0x1d4e18=_0x472518[_0xb64d68];return _0x1d4e18;}export const skillDefinitions=[{'service':a129_0xeb1050(0xab),'command':'install','description':a129_0xeb1050(0xad),'risk':a129_0xeb1050(0xa9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x36c86d){const _0xbe57c8=a129_0xeb1050;logger[_0xbe57c8(0xa6)](process[_0xbe57c8(0x99)]()),logger[_0xbe57c8(0x9f)]('skill-install',_0xbe57c8(0xaa));const {runNpxSkillsAddGlobal:_0x1fd61b}=await import(_0xbe57c8(0xa4)),_0x53cd81=_0x36c86d['nonInteractive']?'pipe':_0xbe57c8(0x9b);console['log'](_0xbe57c8(0x95)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xbe57c8(0xa0));const _0x1d0c3f=_0x1fd61b(process[_0xbe57c8(0x99)](),_0xbe57c8(0x9e),{'stdio':_0x53cd81});if(_0x1d0c3f['skipped'])console['log'](_0xbe57c8(0xac));else{if(_0x1d0c3f['ok'])console[_0xbe57c8(0x92)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0xbe57c8(0xa5)]('npx\x20skills\x20add\x20failed:\x20'+(_0x1d0c3f[_0xbe57c8(0xa7)]||_0xbe57c8(0xa2)),_0xbe57c8(0x9c));}return{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a129_0x3ad5(_0x4ef833,_0x43cbf9){_0x4ef833=_0x4ef833-0xbc;const _0x12c21a=a129_0x12c2();let _0x3ad5d8=_0x12c21a[_0x4ef833];return _0x3ad5d8;}const a129_0x363d0e=a129_0x3ad5;(function(_0xf2598c,_0x2dcc0b){const _0xda292f=a129_0x3ad5,_0x57ba63=_0xf2598c();while(!![]){try{const _0x42e054=parseInt(_0xda292f(0xfa))/0x1+-parseInt(_0xda292f(0xd7))/0x2*(parseInt(_0xda292f(0xd3))/0x3)+parseInt(_0xda292f(0xcc))/0x4+parseInt(_0xda292f(0xf2))/0x5*(-parseInt(_0xda292f(0xf5))/0x6)+-parseInt(_0xda292f(0xd6))/0x7*(-parseInt(_0xda292f(0xdf))/0x8)+-parseInt(_0xda292f(0xe7))/0x9*(parseInt(_0xda292f(0xda))/0xa)+parseInt(_0xda292f(0xc2))/0xb;if(_0x42e054===_0x2dcc0b)break;else _0x57ba63['push'](_0x57ba63['shift']());}catch(_0x643ab9){_0x57ba63['push'](_0x57ba63['shift']());}}}(a129_0x12c2,0xd9fa7));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(_0xefcc2e){const _0x485922=a129_0x3ad5;if(_0xefcc2e==='mybatisXml')return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x485922(0xe9),_0x485922(0xef),''][_0x485922(0xf8)]('\x0a');return[_0x485922(0xee),''][_0x485922(0xf8)]('\x0a');}export const sqlCreate={'service':'sql','command':a129_0x363d0e(0xd5),'description':a129_0x363d0e(0xf1),'risk':'high-risk-write','flags':[{'name':a129_0x363d0e(0xe2),'type':a129_0x363d0e(0xf7),'description':a129_0x363d0e(0xe3)},{'name':a129_0x363d0e(0xde),'type':a129_0x363d0e(0xc7),'description':a129_0x363d0e(0xc4)},{'name':a129_0x363d0e(0xcf),'type':a129_0x363d0e(0xf7),'enum':[a129_0x363d0e(0xd1),a129_0x363d0e(0xe8)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x1630d3){const _0x5263d=a129_0x363d0e;if(!_0x1630d3[_0x5263d(0xbd)])return;if(!_0x1630d3['str'](_0x5263d(0xe2))[_0x5263d(0xf4)]())throw CliErrors[_0x5263d(0xec)](_0x5263d(0xe2),_0x5263d(0xfe));const _0x34244a=resolveProvidedDbId(_0x1630d3);if(typeof _0x34244a!=='number'||!Number[_0x5263d(0xe0)](_0x34244a)||_0x34244a<=0x0)throw CliErrors[_0x5263d(0xec)]('db-id',_0x5263d(0xdd));if(!_0x1630d3[_0x5263d(0xd0)](_0x5263d(0xcf))[_0x5263d(0xf4)]())throw CliErrors['flagMissing'](_0x5263d(0xcf),_0x5263d(0xed));},async 'dryRun'(_0x2bd782){const _0x3d224a=a129_0x363d0e,_0x4c581b=loadSqlProjectConfig(_0x2bd782[_0x3d224a(0xd4)]),{sqlName:_0x225034,dbId:_0x30daaf,dbName:_0x1adf52,mode:_0x134d3a}=await resolveSqlNewInputs(_0x2bd782),_0x555be1=buildSqlRelativePath('<server-generated-sqlCode>',_0x225034,_0x1adf52,_0x134d3a,_0x30daaf),_0x5f4d8a=_0x4c581b[_0x3d224a(0xdc)]+'/'+_0x555be1;return{'method':_0x3d224a(0xfb),'url':_0x3d224a(0xc1),'body':{'appCode':_0x2bd782[_0x3d224a(0xd4)],'sqlName':_0x225034,'dbId':_0x30daaf,'mode':_0x134d3a,'localPath':_0x5f4d8a},'description':_0x3d224a(0xbf)+_0x4c581b['sqlRootDir']};},async 'execute'(_0x41df02){const _0x131d78=a129_0x363d0e,_0x50f0b1=loadSqlProjectConfig(_0x41df02[_0x131d78(0xd4)]),{sqlName:_0x41db5b,dbId:_0x489e21,dbName:_0x293576,mode:_0x574616}=await resolveSqlNewInputs(_0x41df02),_0x2ddc21=generateSqlTemplate(_0x574616),_0x3e1b5d=await createSqlQuery({'appCode':_0x41df02[_0x131d78(0xd4)],'sqlName':_0x41db5b,'dbId':_0x489e21,'sqlContent':_0x2ddc21}),_0xbb7d78=ensureRemoteSqlContent(_0x3e1b5d),_0x4ab17c=_0x293576||await getDbName(_0x41df02['appCode'],_0x489e21)[_0x131d78(0xd9)](()=>undefined),_0x167d5f=buildSqlRelativePath(_0x3e1b5d['sqlCode'],_0x3e1b5d[_0x131d78(0xc0)],_0x4ab17c,_0x574616,_0x489e21),_0x5c3ee7=_0x50f0b1[_0x131d78(0xdc)]+'/'+_0x167d5f,_0x5ec468=buildLocalSqlFileContent({'sqlCode':_0x3e1b5d['sqlCode'],'sqlName':_0x3e1b5d[_0x131d78(0xc0)],'dbId':_0x3e1b5d[_0x131d78(0xf0)]},_0xbb7d78,{'dbName':_0x4ab17c,'mode':_0x574616,'syncedAt':new Date()[_0x131d78(0xc5)](),'description':_0x3e1b5d[_0x131d78(0xf3)]});if(await fileExists(_0x5c3ee7))throw CliErrors[_0x131d78(0xea)]('File\x20already\x20exists:\x20'+_0x5c3ee7);await ensureParentDirectory(_0x5c3ee7),await writeFile(_0x5c3ee7,_0x5ec468,_0x131d78(0xcd));const _0x101ff8=await readSqlLockFile(_0x50f0b1[_0x131d78(0xf6)]),{lockData:_0x2808ed,appLock:_0xcfa655}=ensureSqlLockScope(_0x101ff8??createEmptySqlLock(),_0x50f0b1[_0x131d78(0xd4)],_0x50f0b1[_0x131d78(0xc3)],'new');return _0xcfa655['sqls'][_0x3e1b5d[_0x131d78(0xbc)]]={...buildSqlLockEntry(_0x3e1b5d,_0xbb7d78,computeSqlContentHash(_0x5ec468),{'dbName':_0x4ab17c}),'path':_0x167d5f,'mode':_0x574616},_0xcfa655[_0x131d78(0xe6)]=new Date()[_0x131d78(0xc5)](),await writeSqlLockFile(_0x50f0b1['lockFilePath'],_0x2808ed),{'ok':!![],'data':{'id':_0x3e1b5d['id'],'sqlCode':_0x3e1b5d[_0x131d78(0xbc)],'sqlName':_0x3e1b5d[_0x131d78(0xc0)],'dbId':_0x3e1b5d[_0x131d78(0xf0)],'path':_0x5c3ee7,'mode':_0x574616},'message':_0x131d78(0xdb)+_0x3e1b5d[_0x131d78(0xbc)]};}};async function resolveSqlNewInputs(_0x41c74a){const _0x3432fa=await resolveSqlNameInput(_0x41c74a),{dbId:_0xa1b59e,dbName:_0x33ff44}=await resolveDbSelection(_0x41c74a),_0x361af2=await resolveSqlModeInput(_0x41c74a);return{'sqlName':_0x3432fa,'dbId':_0xa1b59e,'dbName':_0x33ff44,'mode':_0x361af2};}async function resolveSqlNameInput(_0x1ed448){const _0x3f4a91=a129_0x363d0e,_0xe5800e=_0x1ed448[_0x3f4a91(0xd0)]('name')['trim']();if(_0xe5800e)return _0xe5800e;if(_0x1ed448[_0x3f4a91(0xbd)])throw CliErrors['flagMissing'](_0x3f4a91(0xe2),_0x3f4a91(0xfe));return(await input({'message':_0x3f4a91(0xe4),'validate':_0x17dcee=>_0x17dcee[_0x3f4a91(0xf4)]()?!![]:_0x3f4a91(0xff)}))['trim']();}async function resolveDbSelection(_0x1ecaf9){const _0x9d5a6=a129_0x363d0e,_0x33ecb4=resolveProvidedDbId(_0x1ecaf9);if(typeof _0x33ecb4==='number'&&Number[_0x9d5a6(0xe0)](_0x33ecb4)&&_0x33ecb4>0x0)return{'dbId':_0x33ecb4,'dbName':await getDbName(_0x1ecaf9['appCode'],_0x33ecb4)['catch'](()=>undefined)};if(_0x1ecaf9[_0x9d5a6(0xbd)])throw CliErrors[_0x9d5a6(0xec)](_0x9d5a6(0xde),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x4d7e92=await listDatabases(_0x1ecaf9[_0x9d5a6(0xd4)])[_0x9d5a6(0xd9)](()=>[]);if(_0x4d7e92[_0x9d5a6(0xfd)]===0x1)return{'dbId':_0x4d7e92[0x0][_0x9d5a6(0xf0)],'dbName':_0x4d7e92[0x0][_0x9d5a6(0xe1)]};if(_0x4d7e92[_0x9d5a6(0xfd)]>0x1){const _0x50306b=await select({'message':_0x9d5a6(0xce),'choices':[..._0x4d7e92[_0x9d5a6(0xc9)](_0x15eb0c=>({'name':_0x15eb0c['dbName']+'\x20('+_0x15eb0c[_0x9d5a6(0xf0)]+')','value':serializeDbSelection(_0x15eb0c)})),{'name':'✎\x20手动输入\x20dbId','value':_0x9d5a6(0xc6)}]});if(_0x50306b!==_0x9d5a6(0xc6))return deserializeDbSelection(_0x50306b);}const _0x4aea49=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x53bfff=>{const _0x597ea5=_0x9d5a6,_0x556c5d=_0x53bfff[_0x597ea5(0xf4)]();if(!_0x556c5d)return _0x597ea5(0xcb);const _0x4c8574=Number(_0x556c5d);if(!Number[_0x597ea5(0xd2)](_0x4c8574)||_0x4c8574<=0x0)return _0x597ea5(0xbe);return!![];}});return{'dbId':Number(_0x4aea49[_0x9d5a6(0xf4)]())};}async function resolveSqlModeInput(_0x2366ed){const _0x3901c1=a129_0x363d0e,_0x54a873=_0x2366ed['str'](_0x3901c1(0xcf))['trim']();if(_0x54a873===_0x3901c1(0xd1)||_0x54a873===_0x3901c1(0xe8))return _0x54a873;if(_0x2366ed['nonInteractive'])throw CliErrors[_0x3901c1(0xec)](_0x3901c1(0xcf),_0x3901c1(0xed));return await select({'message':_0x3901c1(0xd8),'choices':[{'name':_0x3901c1(0xca),'value':'sql','description':_0x3901c1(0xfc)},{'name':_0x3901c1(0xc8),'value':_0x3901c1(0xe8),'description':_0x3901c1(0xeb)}]});}function a129_0x12c2(){const _0xe826f0=['string','join','Invalid\x20database\x20selection\x20payload:\x20','1098385WCOdvB','POST','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','length','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20名称不能为空','sqlCode','nonInteractive','dbId\x20必须为正整数','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','sqlName','/smartapi/custom/saveUserCustomSql','19204768FzTizD','sqlRoot','Target\x20database\x20ID','toISOString','__manual__','number','MyBatis\x20XML(mybatisXml)','map','普通\x20SQL(sql)','dbId\x20不能为空','6567236mLLbZq','utf8','请选择目标数据库:','mode','str','sql','isInteger','65613SIcQKC','appCode','create','2583jHzHNa','148aXhlIB','请选择本地\x20SQL\x20模式:','catch','420130vPXbuf','Created\x20SQL\x20query\x20','sqlRootDir','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','632PAbwqo','isFinite','dbName','name','SQL\x20query\x20display\x20name','请输入\x20SQL\x20名称:','parse','lastSync','153ebUmaR','mybatisXml','\x20\x20SELECT\x201\x20AS\x20id','validation','适合带动态标签的\x20MyBatis\x20XML\x20SQL','flagMissing','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','SELECT\x201\x20AS\x20id;','</select>','dbId','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','6448595lmoVnE','description','trim','6MBVkUS','lockFilePath'];a129_0x12c2=function(){return _0xe826f0;};return a129_0x12c2();}function serializeDbSelection(_0x4c564c){const _0x3b0ab4=a129_0x363d0e;return JSON['stringify']({'dbId':_0x4c564c[_0x3b0ab4(0xf0)],'dbName':_0x4c564c[_0x3b0ab4(0xe1)]});}function deserializeDbSelection(_0x33f9c8){const _0x345255=a129_0x363d0e;try{const _0x378a82=JSON[_0x345255(0xe5)](_0x33f9c8);if(typeof _0x378a82[_0x345255(0xf0)]===_0x345255(0xc7)&&Number[_0x345255(0xe0)](_0x378a82['dbId']))return{'dbId':_0x378a82[_0x345255(0xf0)],'dbName':_0x378a82[_0x345255(0xe1)]};}catch{}throw CliErrors['validation'](_0x345255(0xf9)+_0x33f9c8);}function resolveProvidedDbId(_0x323d4d){const _0x474c6b=a129_0x363d0e,_0x3843d4=_0x323d4d['flag'](_0x474c6b(0xde));if(typeof _0x3843d4===_0x474c6b(0xc7)&&Number[_0x474c6b(0xe0)](_0x3843d4))return _0x3843d4;return undefined;}
1
+ const a130_0x73739=a130_0x290c;(function(_0x56903f,_0x224ac1){const _0x4be092=a130_0x290c,_0x2523b1=_0x56903f();while(!![]){try{const _0x2a7b40=-parseInt(_0x4be092(0xb6))/0x1+parseInt(_0x4be092(0x93))/0x2*(parseInt(_0x4be092(0xd0))/0x3)+-parseInt(_0x4be092(0xb4))/0x4+parseInt(_0x4be092(0xae))/0x5*(parseInt(_0x4be092(0xcc))/0x6)+parseInt(_0x4be092(0xb7))/0x7*(parseInt(_0x4be092(0xce))/0x8)+-parseInt(_0x4be092(0x94))/0x9*(parseInt(_0x4be092(0xc7))/0xa)+parseInt(_0x4be092(0xa6))/0xb*(parseInt(_0x4be092(0xa7))/0xc);if(_0x2a7b40===_0x224ac1)break;else _0x2523b1['push'](_0x2523b1['shift']());}catch(_0x1b718f){_0x2523b1['push'](_0x2523b1['shift']());}}}(a130_0x2e8a,0x46994));import{writeFile}from'node:fs/promises';function a130_0x290c(_0x33a630,_0x2c398e){_0x33a630=_0x33a630-0x8e;const _0x2e8a9=a130_0x2e8a();let _0x290c45=_0x2e8a9[_0x33a630];return _0x290c45;}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';function a130_0x2e8a(){const _0x497ab8=['<server-generated-sqlCode>','Created\x20SQL\x20query\x20','isInteger','534uoPpuY','dbName','16WvOXpm','nonInteractive','451155IPCpqM','string','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合带动态标签的\x20MyBatis\x20XML\x20SQL','name','number','2TLyQtV','225MSqrhT','mode','sqls','请选择目标数据库:','appCode','validation','请选择本地\x20SQL\x20模式:','sqlRootDir','Target\x20database\x20ID','db-id','请输入\x20SQL\x20名称:','MyBatis\x20XML(mybatisXml)','sqlName','sql','</select>','flagMissing','请输入目标数据库\x20dbId:','dbId','77pzLTzq','879864OCWAoP','__manual__','high-risk-write','toISOString','SQL\x20query\x20display\x20name','catch','str','8660SjZvIT','utf8','new','isFinite','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','普通\x20SQL(sql)','1295820eKitkH','mybatisXml','172146JLVcze','856226bBhVxI','parse','lockFilePath','trim','create','Local\x20SQL\x20file\x20mode','Invalid\x20database\x20selection\x20payload:\x20','length','stringify','POST','/smartapi/custom/saveUserCustomSql','\x20\x20SELECT\x201\x20AS\x20id','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','File\x20already\x20exists:\x20','110860RgxqSa','sqlCode'];a130_0x2e8a=function(){return _0x497ab8;};return a130_0x2e8a();}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(_0x51fdc8){const _0x30d644=a130_0x290c;if(_0x51fdc8===_0x30d644(0xb5))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x30d644(0xc2),_0x30d644(0xa2),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':a130_0x73739(0xa1),'command':a130_0x73739(0xbb),'description':a130_0x73739(0x8f),'risk':a130_0x73739(0xa9),'flags':[{'name':'name','type':a130_0x73739(0x8e),'description':a130_0x73739(0xab)},{'name':a130_0x73739(0x9d),'type':'number','description':a130_0x73739(0x9c)},{'name':'mode','type':a130_0x73739(0x8e),'enum':['sql','mybatisXml'],'description':a130_0x73739(0xbc)}],async 'validate'(_0x5d398c){const _0x1ceb08=a130_0x73739;if(!_0x5d398c[_0x1ceb08(0xcf)])return;if(!_0x5d398c[_0x1ceb08(0xad)](_0x1ceb08(0x91))['trim']())throw CliErrors[_0x1ceb08(0xa3)](_0x1ceb08(0x91),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x540a8d=resolveProvidedDbId(_0x5d398c);if(typeof _0x540a8d!==_0x1ceb08(0x92)||!Number[_0x1ceb08(0xb1)](_0x540a8d)||_0x540a8d<=0x0)throw CliErrors['flagMissing'](_0x1ceb08(0x9d),_0x1ceb08(0xb2));if(!_0x5d398c[_0x1ceb08(0xad)](_0x1ceb08(0x95))[_0x1ceb08(0xba)]())throw CliErrors[_0x1ceb08(0xa3)](_0x1ceb08(0x95),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x11a83a){const _0x58c34d=a130_0x73739,_0x48eac8=loadSqlProjectConfig(_0x11a83a[_0x58c34d(0x98)]),{sqlName:_0x47b3a9,dbId:_0x375807,dbName:_0x36a42b,mode:_0x4d42a5}=await resolveSqlNewInputs(_0x11a83a),_0x4f7422=buildSqlRelativePath(_0x58c34d(0xc9),_0x47b3a9,_0x36a42b,_0x4d42a5,_0x375807),_0x5836bb=_0x48eac8[_0x58c34d(0x9b)]+'/'+_0x4f7422;return{'method':_0x58c34d(0xc0),'url':_0x58c34d(0xc1),'body':{'appCode':_0x11a83a[_0x58c34d(0x98)],'sqlName':_0x47b3a9,'dbId':_0x375807,'mode':_0x4d42a5,'localPath':_0x5836bb},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x48eac8['sqlRootDir']};},async 'execute'(_0x3bdb35){const _0x43a04c=a130_0x73739,_0x42d5cd=loadSqlProjectConfig(_0x3bdb35['appCode']),{sqlName:_0x2f6414,dbId:_0x563be7,dbName:_0xca2da3,mode:_0x510c27}=await resolveSqlNewInputs(_0x3bdb35),_0x5a1ace=generateSqlTemplate(_0x510c27),_0x1d505b=await createSqlQuery({'appCode':_0x3bdb35[_0x43a04c(0x98)],'sqlName':_0x2f6414,'dbId':_0x563be7,'sqlContent':_0x5a1ace}),_0x321968=ensureRemoteSqlContent(_0x1d505b),_0x539f67=_0xca2da3||await getDbName(_0x3bdb35[_0x43a04c(0x98)],_0x563be7)[_0x43a04c(0xac)](()=>undefined),_0x4731e7=buildSqlRelativePath(_0x1d505b['sqlCode'],_0x1d505b[_0x43a04c(0xa0)],_0x539f67,_0x510c27,_0x563be7),_0x3bc737=_0x42d5cd[_0x43a04c(0x9b)]+'/'+_0x4731e7,_0x1a1855=buildLocalSqlFileContent({'sqlCode':_0x1d505b['sqlCode'],'sqlName':_0x1d505b['sqlName'],'dbId':_0x1d505b[_0x43a04c(0xa5)]},_0x321968,{'dbName':_0x539f67,'mode':_0x510c27,'syncedAt':new Date()[_0x43a04c(0xaa)](),'description':_0x1d505b['description']});if(await fileExists(_0x3bc737))throw CliErrors[_0x43a04c(0x99)](_0x43a04c(0xc6)+_0x3bc737);await ensureParentDirectory(_0x3bc737),await writeFile(_0x3bc737,_0x1a1855,_0x43a04c(0xaf));const _0x570063=await readSqlLockFile(_0x42d5cd[_0x43a04c(0xb9)]),{lockData:_0x119d96,appLock:_0xe83796}=ensureSqlLockScope(_0x570063??createEmptySqlLock(),_0x42d5cd[_0x43a04c(0x98)],_0x42d5cd['sqlRoot'],_0x43a04c(0xb0));return _0xe83796[_0x43a04c(0x96)][_0x1d505b['sqlCode']]={...buildSqlLockEntry(_0x1d505b,_0x321968,computeSqlContentHash(_0x1a1855),{'dbName':_0x539f67}),'path':_0x4731e7,'mode':_0x510c27},_0xe83796['lastSync']=new Date()[_0x43a04c(0xaa)](),await writeSqlLockFile(_0x42d5cd[_0x43a04c(0xb9)],_0x119d96),{'ok':!![],'data':{'id':_0x1d505b['id'],'sqlCode':_0x1d505b[_0x43a04c(0xc8)],'sqlName':_0x1d505b['sqlName'],'dbId':_0x1d505b[_0x43a04c(0xa5)],'path':_0x3bc737,'mode':_0x510c27},'message':_0x43a04c(0xca)+_0x1d505b[_0x43a04c(0xc8)]};}};async function resolveSqlNewInputs(_0x4a9a95){const _0x4318f3=await resolveSqlNameInput(_0x4a9a95),{dbId:_0xa63dbe,dbName:_0x4d04e8}=await resolveDbSelection(_0x4a9a95),_0x476307=await resolveSqlModeInput(_0x4a9a95);return{'sqlName':_0x4318f3,'dbId':_0xa63dbe,'dbName':_0x4d04e8,'mode':_0x476307};}async function resolveSqlNameInput(_0x1229cc){const _0x2f2693=a130_0x73739,_0x5fd8b=_0x1229cc['str'](_0x2f2693(0x91))[_0x2f2693(0xba)]();if(_0x5fd8b)return _0x5fd8b;if(_0x1229cc[_0x2f2693(0xcf)])throw CliErrors[_0x2f2693(0xa3)]('name',_0x2f2693(0xc5));return(await input({'message':_0x2f2693(0x9e),'validate':_0x3560f4=>_0x3560f4[_0x2f2693(0xba)]()?!![]:'SQL\x20名称不能为空'}))[_0x2f2693(0xba)]();}async function resolveDbSelection(_0x8af65b){const _0x46ec53=a130_0x73739,_0x5b570e=resolveProvidedDbId(_0x8af65b);if(typeof _0x5b570e===_0x46ec53(0x92)&&Number[_0x46ec53(0xb1)](_0x5b570e)&&_0x5b570e>0x0)return{'dbId':_0x5b570e,'dbName':await getDbName(_0x8af65b['appCode'],_0x5b570e)[_0x46ec53(0xac)](()=>undefined)};if(_0x8af65b[_0x46ec53(0xcf)])throw CliErrors['flagMissing'](_0x46ec53(0x9d),_0x46ec53(0xb2));const _0x28fe98=await listDatabases(_0x8af65b['appCode'])[_0x46ec53(0xac)](()=>[]);if(_0x28fe98[_0x46ec53(0xbe)]===0x1)return{'dbId':_0x28fe98[0x0][_0x46ec53(0xa5)],'dbName':_0x28fe98[0x0][_0x46ec53(0xcd)]};if(_0x28fe98[_0x46ec53(0xbe)]>0x1){const _0xe83c1b=await select({'message':_0x46ec53(0x97),'choices':[..._0x28fe98['map'](_0x37e563=>({'name':_0x37e563[_0x46ec53(0xcd)]+'\x20('+_0x37e563[_0x46ec53(0xa5)]+')','value':serializeDbSelection(_0x37e563)})),{'name':'✎\x20手动输入\x20dbId','value':_0x46ec53(0xa8)}]});if(_0xe83c1b!=='__manual__')return deserializeDbSelection(_0xe83c1b);}const _0x34fce4=await input({'message':_0x46ec53(0xa4),'validate':_0x153d42=>{const _0x4c1161=_0x46ec53,_0x3c4169=_0x153d42['trim']();if(!_0x3c4169)return'dbId\x20不能为空';const _0x32d537=Number(_0x3c4169);if(!Number[_0x4c1161(0xcb)](_0x32d537)||_0x32d537<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x34fce4[_0x46ec53(0xba)]())};}async function resolveSqlModeInput(_0x33beac){const _0x249fe7=a130_0x73739,_0x11dac2=_0x33beac['str']('mode')[_0x249fe7(0xba)]();if(_0x11dac2==='sql'||_0x11dac2==='mybatisXml')return _0x11dac2;if(_0x33beac[_0x249fe7(0xcf)])throw CliErrors[_0x249fe7(0xa3)](_0x249fe7(0x95),_0x249fe7(0xc3));return await select({'message':_0x249fe7(0x9a),'choices':[{'name':_0x249fe7(0xb3),'value':_0x249fe7(0xa1),'description':_0x249fe7(0xc4)},{'name':_0x249fe7(0x9f),'value':_0x249fe7(0xb5),'description':_0x249fe7(0x90)}]});}function serializeDbSelection(_0x171d6f){const _0x210f03=a130_0x73739;return JSON[_0x210f03(0xbf)]({'dbId':_0x171d6f[_0x210f03(0xa5)],'dbName':_0x171d6f['dbName']});}function deserializeDbSelection(_0x3cb83a){const _0x129068=a130_0x73739;try{const _0x5e7cfa=JSON[_0x129068(0xb8)](_0x3cb83a);if(typeof _0x5e7cfa['dbId']===_0x129068(0x92)&&Number['isFinite'](_0x5e7cfa[_0x129068(0xa5)]))return{'dbId':_0x5e7cfa[_0x129068(0xa5)],'dbName':_0x5e7cfa['dbName']};}catch{}throw CliErrors['validation'](_0x129068(0xbd)+_0x3cb83a);}function resolveProvidedDbId(_0x4bfe02){const _0x39a6c5=a130_0x73739,_0xb846e2=_0x4bfe02['flag'](_0x39a6c5(0x9d));if(typeof _0xb846e2==='number'&&Number[_0x39a6c5(0xb1)](_0xb846e2))return _0xb846e2;return undefined;}
@@ -1 +1 @@
1
- const a130_0x11004a=a130_0x366d;(function(_0x3a1708,_0x10c859){const _0x515009=a130_0x366d,_0x5a5ec4=_0x3a1708();while(!![]){try{const _0x1307f7=parseInt(_0x515009(0x1f6))/0x1*(-parseInt(_0x515009(0x1ed))/0x2)+parseInt(_0x515009(0x1ea))/0x3+-parseInt(_0x515009(0x207))/0x4*(-parseInt(_0x515009(0x206))/0x5)+-parseInt(_0x515009(0x1ee))/0x6*(-parseInt(_0x515009(0x1fe))/0x7)+-parseInt(_0x515009(0x1fb))/0x8*(parseInt(_0x515009(0x1fc))/0x9)+-parseInt(_0x515009(0x200))/0xa*(-parseInt(_0x515009(0x205))/0xb)+-parseInt(_0x515009(0x1f3))/0xc;if(_0x1307f7===_0x10c859)break;else _0x5a5ec4['push'](_0x5a5ec4['shift']());}catch(_0x41ed33){_0x5a5ec4['push'](_0x5a5ec4['shift']());}}}(a130_0x4e09,0x2b3c8));function a130_0x4e09(){const _0x59bb74=['str','startsWith','24ffnUvR','342585TumYcL','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','906073eNKoDX','SQL\x20lock\x20file\x20not\x20found.','1270HnxAyO','trashDir','sqlRoot','entries','replace','3949WzdfTj','77485ryffzg','84tlTGuA','POST','Deleted\x20','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','appCode','length','Would\x20delete\x20SQL\x20','validation','delete','118926SPazqT','sqlcode','projectRoot','1118nxHldw','12yfkmDP','remoteId','sqls','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','1795536cuSJUg','sql','lockFilePath','409COzJsx','toISOString','lastSync'];a130_0x4e09=function(){return _0x59bb74;};return a130_0x4e09();}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a130_0x11004a(0x1f4),'command':a130_0x11004a(0x20f),'description':a130_0x11004a(0x20a),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x5d0687){const _0x271bf8=a130_0x11004a,_0x14eb86=loadSqlProjectConfig(_0x5d0687['appCode']),_0x250c68=await readSqlLockFile(_0x14eb86[_0x271bf8(0x1f5)]);if(!_0x250c68)throw CliErrors['validation'](_0x271bf8(0x1f1));},async 'dryRun'(_0x22422a){const _0x24fecf=a130_0x11004a,_0x4f8167=loadSqlProjectConfig(_0x22422a[_0x24fecf(0x20b)]),_0x5ebdd4=await readSqlLockFile(_0x4f8167[_0x24fecf(0x1f5)]);if(!_0x5ebdd4)throw CliErrors[_0x24fecf(0x20e)](_0x24fecf(0x1f1));const {appLock:_0x1cf30c}=ensureSqlLockScope(_0x5ebdd4,_0x22422a[_0x24fecf(0x20b)],_0x4f8167[_0x24fecf(0x202)],_0x24fecf(0x20f)),_0x32a4e6=_0x22422a['str'](_0x24fecf(0x1eb)),_0x56f174=_0x1cf30c[_0x24fecf(0x1f0)][_0x32a4e6];if(!_0x56f174)throw CliErrors[_0x24fecf(0x20e)](_0x24fecf(0x1fd)+_0x32a4e6+'\x22.');return{'method':_0x24fecf(0x208),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x32a4e6,'id':_0x56f174[_0x24fecf(0x1ef)],'localPath':resolveLocalSqlFilePath(_0x4f8167,_0x32a4e6,_0x56f174)},'description':_0x24fecf(0x20d)+_0x32a4e6+_0x24fecf(0x1f2)+_0x4f8167['trashDir']};},async 'execute'(_0xb10b9f){const _0x351d0f=a130_0x11004a,_0x360743=loadSqlProjectConfig(_0xb10b9f[_0x351d0f(0x20b)]),_0x1ab206=await readSqlLockFile(_0x360743[_0x351d0f(0x1f5)]);if(!_0x1ab206)throw CliErrors[_0x351d0f(0x20e)](_0x351d0f(0x1ff));const {lockData:_0x307ffb,appLock:_0x4ae0e6}=ensureSqlLockScope(_0x1ab206,_0xb10b9f[_0x351d0f(0x20b)],_0x360743['sqlRoot'],_0x351d0f(0x20f)),_0x2a3d2a=_0xb10b9f[_0x351d0f(0x1f9)]('sqlcode'),_0x4e6a0f=_0x4ae0e6[_0x351d0f(0x1f0)][_0x2a3d2a];if(!_0x4e6a0f)throw CliErrors[_0x351d0f(0x20e)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2a3d2a+'\x22.');await deleteSqlQuery({'id':_0x4e6a0f['remoteId'],'sqlCode':_0x2a3d2a}),_0x4ae0e6[_0x351d0f(0x1f0)]=Object['fromEntries'](Object[_0x351d0f(0x203)](_0x4ae0e6[_0x351d0f(0x1f0)])['filter'](([_0x5cd2af])=>_0x5cd2af!==_0x2a3d2a)),_0x4ae0e6[_0x351d0f(0x1f8)]=new Date()['toISOString'](),await writeSqlLockFile(_0x360743['lockFilePath'],_0x307ffb);const _0x86c101=resolveLocalSqlFilePath(_0x360743,_0x2a3d2a,_0x4e6a0f);let _0x3a24c0;await fileExists(_0x86c101)&&(_0x3a24c0=await moveToTrash(_0x360743[_0x351d0f(0x1ec)],_0x360743[_0x351d0f(0x201)],_0x86c101),await cleanupEmptyDirectories(dirname(_0x86c101),_0x360743['sqlRootDir']));const _0x565fb7={'deleted':_0x2a3d2a,'remoteId':_0x4e6a0f['remoteId']};if(_0x3a24c0)_0x565fb7['trashedTo']=_0x3a24c0;return{'ok':!![],'data':_0x565fb7,'message':_0x351d0f(0x209)+_0x2a3d2a+(_0x3a24c0?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function a130_0x366d(_0x25df24,_0x281688){_0x25df24=_0x25df24-0x1ea;const _0x4e09aa=a130_0x4e09();let _0x366d81=_0x4e09aa[_0x25df24];return _0x366d81;}async function moveToTrash(_0x46165a,_0x7fbdfe,_0x18a8dc){const _0x2956d8=a130_0x11004a,_0xc99e44=new Date()[_0x2956d8(0x1f7)]()[_0x2956d8(0x204)](/[:.]/g,'-'),_0xbf309=relative(_0x46165a,_0x18a8dc),_0x53f2b1=join(_0x7fbdfe,_0xc99e44,_0xbf309);return await mkdir(dirname(_0x53f2b1),{'recursive':!![]}),await rename(_0x18a8dc,_0x53f2b1),_0x53f2b1;}async function cleanupEmptyDirectories(_0x5a2a4e,_0x5a8277){const _0x397ffd=a130_0x11004a;let _0x3ae2fa=resolve(_0x5a2a4e);const _0x58b4b7=resolve(_0x5a8277);while(_0x3ae2fa[_0x397ffd(0x1fa)](''+_0x58b4b7+sep)||_0x3ae2fa===_0x58b4b7){if(_0x3ae2fa===_0x58b4b7)return;try{const _0x46c390=await readdir(_0x3ae2fa);if(_0x46c390[_0x397ffd(0x20c)]>0x0)return;await rmdir(_0x3ae2fa);}catch{return;}_0x3ae2fa=dirname(_0x3ae2fa);}}
1
+ const a131_0x13bc97=a131_0x2fb9;(function(_0x9909a2,_0x3b70e5){const _0x1e0f66=a131_0x2fb9,_0x4b457d=_0x9909a2();while(!![]){try{const _0x4be0f5=parseInt(_0x1e0f66(0xdd))/0x1*(-parseInt(_0x1e0f66(0xe3))/0x2)+-parseInt(_0x1e0f66(0xcc))/0x3*(parseInt(_0x1e0f66(0xec))/0x4)+-parseInt(_0x1e0f66(0xcf))/0x5*(-parseInt(_0x1e0f66(0xd2))/0x6)+-parseInt(_0x1e0f66(0xc9))/0x7*(-parseInt(_0x1e0f66(0xde))/0x8)+-parseInt(_0x1e0f66(0xe4))/0x9*(-parseInt(_0x1e0f66(0xda))/0xa)+parseInt(_0x1e0f66(0xcb))/0xb*(parseInt(_0x1e0f66(0xca))/0xc)+parseInt(_0x1e0f66(0xe5))/0xd*(-parseInt(_0x1e0f66(0xe7))/0xe);if(_0x4be0f5===_0x3b70e5)break;else _0x4b457d['push'](_0x4b457d['shift']());}catch(_0x253731){_0x4b457d['push'](_0x4b457d['shift']());}}}(a131_0x273e,0xcc2f6));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';function a131_0x273e(){const _0x4ea78d=['1160685nJIcTu','91rHjdDo','trashedTo','3482962BERGKe','lockFilePath','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','toISOString','remoteId','76qoWUTj','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','4417gKuIwe','804SVxIzq','159511TywlJv','147084ZqvrCj','sql','length','480ZKfsNJ','sqlRootDir','high-risk-write','89100KKTrru','projectRoot','validation','sqlcode','filter','/smartapi/custom/deleteUserCustomSql','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','trashDir','110FfiYiN','sqls','fromEntries','269jCXbbz','8952mJszrF','entries','delete','appCode','Deleted\x20','7528budecN'];a131_0x273e=function(){return _0x4ea78d;};return a131_0x273e();}function a131_0x2fb9(_0xd2ad94,_0xceb012){_0xd2ad94=_0xd2ad94-0xc8;const _0x273e54=a131_0x273e();let _0x2fb95b=_0x273e54[_0xd2ad94];return _0x2fb95b;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a131_0x13bc97(0xcd),'command':a131_0x13bc97(0xe0),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a131_0x13bc97(0xd1),'flags':[SQLCODE_FLAG],async 'validate'(_0x48b82c){const _0x5d9ce5=a131_0x13bc97,_0x8acce8=loadSqlProjectConfig(_0x48b82c['appCode']),_0x546aad=await readSqlLockFile(_0x8acce8[_0x5d9ce5(0xe8)]);if(!_0x546aad)throw CliErrors[_0x5d9ce5(0xd4)](_0x5d9ce5(0xc8));},async 'dryRun'(_0x1f0e42){const _0x3df9f3=a131_0x13bc97,_0x44b4b8=loadSqlProjectConfig(_0x1f0e42[_0x3df9f3(0xe1)]),_0x4e9c1c=await readSqlLockFile(_0x44b4b8[_0x3df9f3(0xe8)]);if(!_0x4e9c1c)throw CliErrors[_0x3df9f3(0xd4)](_0x3df9f3(0xc8));const {appLock:_0x2bd8d9}=ensureSqlLockScope(_0x4e9c1c,_0x1f0e42[_0x3df9f3(0xe1)],_0x44b4b8['sqlRoot'],_0x3df9f3(0xe0)),_0x1cde0d=_0x1f0e42['str'](_0x3df9f3(0xd5)),_0x27796b=_0x2bd8d9[_0x3df9f3(0xdb)][_0x1cde0d];if(!_0x27796b)throw CliErrors['validation'](_0x3df9f3(0xd8)+_0x1cde0d+'\x22.');return{'method':'POST','url':_0x3df9f3(0xd7),'body':{'sqlCode':_0x1cde0d,'id':_0x27796b['remoteId'],'localPath':resolveLocalSqlFilePath(_0x44b4b8,_0x1cde0d,_0x27796b)},'description':'Would\x20delete\x20SQL\x20'+_0x1cde0d+_0x3df9f3(0xe9)+_0x44b4b8[_0x3df9f3(0xd9)]};},async 'execute'(_0x178855){const _0x391561=a131_0x13bc97,_0x245c61=loadSqlProjectConfig(_0x178855[_0x391561(0xe1)]),_0x438ca5=await readSqlLockFile(_0x245c61[_0x391561(0xe8)]);if(!_0x438ca5)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2b8515,appLock:_0x18b7a6}=ensureSqlLockScope(_0x438ca5,_0x178855[_0x391561(0xe1)],_0x245c61['sqlRoot'],_0x391561(0xe0)),_0x535faf=_0x178855['str'](_0x391561(0xd5)),_0x45ba7b=_0x18b7a6['sqls'][_0x535faf];if(!_0x45ba7b)throw CliErrors[_0x391561(0xd4)](_0x391561(0xd8)+_0x535faf+'\x22.');await deleteSqlQuery({'id':_0x45ba7b['remoteId'],'sqlCode':_0x535faf}),_0x18b7a6[_0x391561(0xdb)]=Object[_0x391561(0xdc)](Object[_0x391561(0xdf)](_0x18b7a6[_0x391561(0xdb)])[_0x391561(0xd6)](([_0x35b28c])=>_0x35b28c!==_0x535faf)),_0x18b7a6['lastSync']=new Date()[_0x391561(0xea)](),await writeSqlLockFile(_0x245c61[_0x391561(0xe8)],_0x2b8515);const _0xe23551=resolveLocalSqlFilePath(_0x245c61,_0x535faf,_0x45ba7b);let _0xbbf735;await fileExists(_0xe23551)&&(_0xbbf735=await moveToTrash(_0x245c61[_0x391561(0xd3)],_0x245c61[_0x391561(0xd9)],_0xe23551),await cleanupEmptyDirectories(dirname(_0xe23551),_0x245c61[_0x391561(0xd0)]));const _0x4c631f={'deleted':_0x535faf,'remoteId':_0x45ba7b[_0x391561(0xeb)]};if(_0xbbf735)_0x4c631f[_0x391561(0xe6)]=_0xbbf735;return{'ok':!![],'data':_0x4c631f,'message':_0x391561(0xe2)+_0x535faf+(_0xbbf735?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x52024f,_0x24bd4c,_0xdec060){const _0x1b9062=a131_0x13bc97,_0x348382=new Date()[_0x1b9062(0xea)]()['replace'](/[:.]/g,'-'),_0x285357=relative(_0x52024f,_0xdec060),_0x3be802=join(_0x24bd4c,_0x348382,_0x285357);return await mkdir(dirname(_0x3be802),{'recursive':!![]}),await rename(_0xdec060,_0x3be802),_0x3be802;}async function cleanupEmptyDirectories(_0xc9fcbc,_0x2e4c3e){const _0x3c7d88=a131_0x13bc97;let _0x4e9641=resolve(_0xc9fcbc);const _0x5e52c7=resolve(_0x2e4c3e);while(_0x4e9641['startsWith'](''+_0x5e52c7+sep)||_0x4e9641===_0x5e52c7){if(_0x4e9641===_0x5e52c7)return;try{const _0x4a8d89=await readdir(_0x4e9641);if(_0x4a8d89[_0x3c7d88(0xce)]>0x0)return;await rmdir(_0x4e9641);}catch{return;}_0x4e9641=dirname(_0x4e9641);}}
@@ -1 +1 @@
1
- const a131_0x3e64ce=a131_0x336d;(function(_0x4d0fc5,_0x194fb3){const _0x3e5543=a131_0x336d,_0x2e373f=_0x4d0fc5();while(!![]){try{const _0x3343c1=parseInt(_0x3e5543(0x1ab))/0x1+parseInt(_0x3e5543(0x1b5))/0x2+parseInt(_0x3e5543(0x1a9))/0x3*(-parseInt(_0x3e5543(0x1b3))/0x4)+-parseInt(_0x3e5543(0x1a1))/0x5*(parseInt(_0x3e5543(0x1b1))/0x6)+parseInt(_0x3e5543(0x1a6))/0x7+parseInt(_0x3e5543(0x1b4))/0x8*(parseInt(_0x3e5543(0x1a2))/0x9)+-parseInt(_0x3e5543(0x1ad))/0xa;if(_0x3343c1===_0x194fb3)break;else _0x2e373f['push'](_0x2e373f['shift']());}catch(_0x139a51){_0x2e373f['push'](_0x2e373f['shift']());}}}(a131_0x31cb,0x9bf15));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a131_0x336d(_0x2a6af6,_0x8a7537){_0x2a6af6=_0x2a6af6-0x1a1;const _0x31cb7a=a131_0x31cb();let _0x336d92=_0x31cb7a[_0x2a6af6];return _0x336d92;}function a131_0x31cb(){const _0x1aa554=['1671654eUjFKy','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','1253733tFspGC','appCode','3146540zGpLNH','detail','read','sqlName','2630538TwEhkZ','boolean','4nRCxxs','40yZIwnH','1427192ojxAFK','10dJBBjz','515484NlDhVl','description','dbId','verbose','936250mBkfTB','sql','sqlcode'];a131_0x31cb=function(){return _0x1aa554;};return a131_0x31cb();}export const sqlDetail={'service':a131_0x3e64ce(0x1a7),'command':a131_0x3e64ce(0x1ae),'description':a131_0x3e64ce(0x1aa),'risk':a131_0x3e64ce(0x1af),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a131_0x3e64ce(0x1b2),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x190082){const _0x3efde5=a131_0x3e64ce,_0x84477=await getSqlQueryInfo(_0x190082[_0x3efde5(0x1ac)],_0x190082['str'](_0x3efde5(0x1a8))),_0x8c92c5=_0x190082['bool'](_0x3efde5(0x1a5));if(_0x8c92c5)return{'ok':!![],'data':_0x84477};const _0xf4c919=_0x84477[_0x3efde5(0x1a4)]?await getDbName(_0x190082[_0x3efde5(0x1ac)],_0x84477[_0x3efde5(0x1a4)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x84477['sqlCode'],'sqlName':_0x84477[_0x3efde5(0x1b0)],'db':_0xf4c919?_0xf4c919+'\x20('+_0x84477[_0x3efde5(0x1a4)]+')':_0x84477[_0x3efde5(0x1a4)]??'','description':_0x84477[_0x3efde5(0x1a3)]??'','sqlContent':_0x84477['sqlContent']??''}};}};
1
+ const a132_0x56406e=a132_0x2c3d;(function(_0x383a59,_0x2a3047){const _0x426a82=a132_0x2c3d,_0x19c6b6=_0x383a59();while(!![]){try{const _0xd7867e=-parseInt(_0x426a82(0x111))/0x1*(parseInt(_0x426a82(0x103))/0x2)+-parseInt(_0x426a82(0x108))/0x3*(-parseInt(_0x426a82(0x11a))/0x4)+parseInt(_0x426a82(0x11b))/0x5+-parseInt(_0x426a82(0x10f))/0x6+parseInt(_0x426a82(0x107))/0x7+parseInt(_0x426a82(0x118))/0x8*(-parseInt(_0x426a82(0x117))/0x9)+parseInt(_0x426a82(0x114))/0xa*(parseInt(_0x426a82(0x110))/0xb);if(_0xd7867e===_0x2a3047)break;else _0x19c6b6['push'](_0x19c6b6['shift']());}catch(_0x32b3ee){_0x19c6b6['push'](_0x19c6b6['shift']());}}}(a132_0xf7d3,0xe0b5e));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a132_0x2c3d(_0x1384a1,_0x37f60d){_0x1384a1=_0x1384a1-0x103;const _0xf7d3b9=a132_0xf7d3();let _0x2c3d27=_0xf7d3b9[_0x1384a1];return _0x2c3d27;}function a132_0xf7d3(){const _0x92503d=['1918132zMKnCR','sqlContent','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','bool','10047282QlxXaM','498ADtfeP','dbId','verbose','sqlCode','sqlName','detail','boolean','3709506WOZOnh','11hjFnEu','1TtjzOU','description','appCode','6952350qQUvvX','sqlcode','read','5190228VbYNaL','8pINrmi','str','6316zIIfGW','3408740VeTCXm'];a132_0xf7d3=function(){return _0x92503d;};return a132_0xf7d3();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':'sql','command':a132_0x56406e(0x10d),'description':a132_0x56406e(0x105),'risk':a132_0x56406e(0x116),'flags':[SQLCODE_FLAG,{'name':a132_0x56406e(0x10a),'type':a132_0x56406e(0x10e),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x4fb00d){const _0x509e4e=a132_0x56406e,_0xbf432c=await getSqlQueryInfo(_0x4fb00d[_0x509e4e(0x113)],_0x4fb00d[_0x509e4e(0x119)](_0x509e4e(0x115))),_0x2dc1d5=_0x4fb00d[_0x509e4e(0x106)](_0x509e4e(0x10a));if(_0x2dc1d5)return{'ok':!![],'data':_0xbf432c};const _0x17d65f=_0xbf432c[_0x509e4e(0x109)]?await getDbName(_0x4fb00d[_0x509e4e(0x113)],_0xbf432c['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0xbf432c[_0x509e4e(0x10b)],'sqlName':_0xbf432c[_0x509e4e(0x10c)],'db':_0x17d65f?_0x17d65f+'\x20('+_0xbf432c[_0x509e4e(0x109)]+')':_0xbf432c[_0x509e4e(0x109)]??'','description':_0xbf432c[_0x509e4e(0x112)]??'','sqlContent':_0xbf432c[_0x509e4e(0x104)]??''}};}};
@@ -1 +1 @@
1
- const a132_0x7020f=a132_0x1d2f;(function(_0x25030c,_0x63faa2){const _0x4030f7=a132_0x1d2f,_0x5689ab=_0x25030c();while(!![]){try{const _0x158654=parseInt(_0x4030f7(0x1ab))/0x1*(-parseInt(_0x4030f7(0x1b0))/0x2)+-parseInt(_0x4030f7(0x1b7))/0x3+parseInt(_0x4030f7(0x1b3))/0x4+-parseInt(_0x4030f7(0x1ac))/0x5+-parseInt(_0x4030f7(0x1b4))/0x6+parseInt(_0x4030f7(0x1bc))/0x7+parseInt(_0x4030f7(0x1b5))/0x8;if(_0x158654===_0x63faa2)break;else _0x5689ab['push'](_0x5689ab['shift']());}catch(_0x1999ad){_0x5689ab['push'](_0x5689ab['shift']());}}}(a132_0x5e45,0x8a33d));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':a132_0x7020f(0x1b8),'command':a132_0x7020f(0x1b9),'description':a132_0x7020f(0x1bb),'risk':'read','flags':[SQLCODE_FLAG,{'name':'params','type':'string','description':a132_0x7020f(0x1b1)}],async 'execute'(_0x5da5c8){const _0x145754=a132_0x7020f,_0x508982=parseJsonParams(_0x5da5c8[_0x145754(0x1b6)]('params')),_0x2ba698=Date[_0x145754(0x1bd)](),_0x5b0c0e=await executeSql(_0x5da5c8[_0x145754(0x1be)],_0x5da5c8[_0x145754(0x1b6)](_0x145754(0x1ae)),_0x508982),_0x569516=Date[_0x145754(0x1bd)]()-_0x2ba698,_0x34c648=_0x5b0c0e?.[_0x145754(0x1af)]??_0x5b0c0e,_0x30d5b6=_0x5b0c0e?.[_0x145754(0x1ad)]??!![];if(!_0x30d5b6)return{'ok':![],'data':{'error':_0x5b0c0e?.['execError']||_0x145754(0x1ba),'elapsed':_0x569516},'message':'SQL\x20execution\x20failed'};const _0x69dd07=Array['isArray'](_0x34c648)?_0x34c648:[];return{'ok':!![],'data':{'rows':_0x69dd07,'rowCount':_0x69dd07[_0x145754(0x1b2)],'elapsed':_0x569516},'message':'Returned\x20'+_0x69dd07[_0x145754(0x1b2)]+'\x20row(s)\x20in\x20'+_0x569516+'ms'};}};function a132_0x1d2f(_0x22a31d,_0x1d8b85){_0x22a31d=_0x22a31d-0x1ab;const _0x5e4517=a132_0x5e45();let _0x1d2fa1=_0x5e4517[_0x22a31d];return _0x1d2fa1;}function a132_0x5e45(){const _0x26864a=['execResult','2fRKrJy','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','length','1809620iXADmn','3984006LoaTqY','10272448hRUFXA','str','1704477RVTZBP','sql','exec','SQL\x20execution\x20failed','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','5336037gusOfw','now','appCode','404737NVhdYO','1478890gfzrdd','execSuccess','sqlcode'];a132_0x5e45=function(){return _0x26864a;};return a132_0x5e45();}
1
+ const a133_0x257a50=a133_0x5050;(function(_0x3035e5,_0x221ed3){const _0x3944ad=a133_0x5050,_0x58bc80=_0x3035e5();while(!![]){try{const _0x142fdb=parseInt(_0x3944ad(0x107))/0x1*(parseInt(_0x3944ad(0x111))/0x2)+parseInt(_0x3944ad(0x113))/0x3+parseInt(_0x3944ad(0x115))/0x4*(-parseInt(_0x3944ad(0x103))/0x5)+-parseInt(_0x3944ad(0x10b))/0x6+-parseInt(_0x3944ad(0x112))/0x7+-parseInt(_0x3944ad(0x109))/0x8+parseInt(_0x3944ad(0x10f))/0x9;if(_0x142fdb===_0x221ed3)break;else _0x58bc80['push'](_0x58bc80['shift']());}catch(_0x18bfa8){_0x58bc80['push'](_0x58bc80['shift']());}}}(a133_0x47a8,0x959d0));function a133_0x5050(_0x5ac7ff,_0x2d5b91){_0x5ac7ff=_0x5ac7ff-0xfe;const _0x47a80d=a133_0x47a8();let _0x50506f=_0x47a80d[_0x5ac7ff];return _0x50506f;}function a133_0x47a8(){const _0x3e7dc5=['read','Returned\x20','sql','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','isArray','9155YbTsBH','str','execError','execSuccess','6436LBvWea','params','8478352PAToxB','exec','4119246DpnSYq','now','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','length','20261718WFnqkz','sqlcode','362axadOg','731094PyFVgx','284121IOXNmD','SQL\x20execution\x20failed','2288duSqwr'];a133_0x47a8=function(){return _0x3e7dc5;};return a133_0x47a8();}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':a133_0x257a50(0x100),'command':a133_0x257a50(0x10a),'description':a133_0x257a50(0x10d),'risk':a133_0x257a50(0xfe),'flags':[SQLCODE_FLAG,{'name':'params','type':'string','description':a133_0x257a50(0x101)}],async 'execute'(_0x3a2e88){const _0x29331b=a133_0x257a50,_0x11efab=parseJsonParams(_0x3a2e88[_0x29331b(0x104)](_0x29331b(0x108))),_0x2f004b=Date['now'](),_0x492c5f=await executeSql(_0x3a2e88['appCode'],_0x3a2e88[_0x29331b(0x104)](_0x29331b(0x110)),_0x11efab),_0x26a394=Date[_0x29331b(0x10c)]()-_0x2f004b,_0x39d9ea=_0x492c5f?.['execResult']??_0x492c5f,_0x5b3004=_0x492c5f?.[_0x29331b(0x106)]??!![];if(!_0x5b3004)return{'ok':![],'data':{'error':_0x492c5f?.[_0x29331b(0x105)]||_0x29331b(0x114),'elapsed':_0x26a394},'message':_0x29331b(0x114)};const _0x4ec871=Array[_0x29331b(0x102)](_0x39d9ea)?_0x39d9ea:[];return{'ok':!![],'data':{'rows':_0x4ec871,'rowCount':_0x4ec871['length'],'elapsed':_0x26a394},'message':_0x29331b(0xff)+_0x4ec871[_0x29331b(0x10e)]+'\x20row(s)\x20in\x20'+_0x26a394+'ms'};}};
@@ -1 +1 @@
1
- (function(_0x1954bf,_0x4f3b51){const _0x14b73e=a133_0x547b,_0x366c86=_0x1954bf();while(!![]){try{const _0x123bfe=parseInt(_0x14b73e(0x1ba))/0x1*(parseInt(_0x14b73e(0x1c0))/0x2)+-parseInt(_0x14b73e(0x1bd))/0x3+-parseInt(_0x14b73e(0x1be))/0x4+-parseInt(_0x14b73e(0x1bf))/0x5*(-parseInt(_0x14b73e(0x1bb))/0x6)+parseInt(_0x14b73e(0x1b9))/0x7*(parseInt(_0x14b73e(0x1c2))/0x8)+-parseInt(_0x14b73e(0x1b8))/0x9*(parseInt(_0x14b73e(0x1c1))/0xa)+-parseInt(_0x14b73e(0x1bc))/0xb;if(_0x123bfe===_0x4f3b51)break;else _0x366c86['push'](_0x366c86['shift']());}catch(_0x1144f){_0x366c86['push'](_0x366c86['shift']());}}}(a133_0x4be0,0xad0eb));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';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a133_0x4be0(){const _0xb2f5a5=['9360113GEeUGy','22583RmqRaX','7362iiXYbe','14887862asxFff','667773ywJHGX','4524992fovadc','4585sHmvTw','98qqXuuM','9730ecioGb','8JEJOVD','1413WDshuB'];a133_0x4be0=function(){return _0xb2f5a5;};return a133_0x4be0();}function a133_0x547b(_0x28d442,_0x2f56f2){_0x28d442=_0x28d442-0x1b8;const _0x4be088=a133_0x4be0();let _0x547b25=_0x4be088[_0x28d442];return _0x547b25;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
1
+ (function(_0xdf1e0b,_0x32ba21){const _0x2066c4=a134_0x3237,_0x570364=_0xdf1e0b();while(!![]){try{const _0x164129=-parseInt(_0x2066c4(0x10d))/0x1*(parseInt(_0x2066c4(0x108))/0x2)+-parseInt(_0x2066c4(0x106))/0x3*(parseInt(_0x2066c4(0x107))/0x4)+parseInt(_0x2066c4(0x10c))/0x5*(-parseInt(_0x2066c4(0x105))/0x6)+-parseInt(_0x2066c4(0x104))/0x7+parseInt(_0x2066c4(0x10a))/0x8*(parseInt(_0x2066c4(0x10b))/0x9)+parseInt(_0x2066c4(0x109))/0xa+parseInt(_0x2066c4(0x10e))/0xb;if(_0x164129===_0x32ba21)break;else _0x570364['push'](_0x570364['shift']());}catch(_0x4a9242){_0x570364['push'](_0x570364['shift']());}}}(a134_0x4ac0,0x4c758));import{sqlList}from'../../commands/sql/list.js';function a134_0x3237(_0x15cea6,_0x58af31){_0x15cea6=_0x15cea6-0x104;const _0x4ac0d9=a134_0x4ac0();let _0x32373d=_0x4ac0d9[_0x15cea6];return _0x32373d;}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a134_0x4ac0(){const _0x2f8ab3=['1395624oswNiI','41361rdxwax','104ptvTGb','298rRhjjC','1933730fCkUAL','6520NymymO','4005uIdEEZ','5UCYfUS','739lAuNnD','5086026JCqAtS','28427xQBuSk'];a134_0x4ac0=function(){return _0x2f8ab3;};return a134_0x4ac0();}import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a134_0x5391(){const _0x1bcc69=['Page\x20size','appCode','\x20SQL\x20queries\x20(total:\x20','sqlCode','description','boolean','9CLkfDR','name','Page\x20number','45508CWOyRc','read','36BxMgAV','number','verbose','No\x20custom\x20SQL\x20queries\x20found.','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','string','10pHlAwe','Found\x20','bool','2009208FtvFrb','dbId','116474OCmvny','list','sqlName','str','tableData','Filter\x20by\x20SQL\x20name','page','num','1994088AbJZkL','length','1284703LtNijl','397100zZmSOw','List\x20custom\x20SQL\x20queries','11318805ASpcbb'];a134_0x5391=function(){return _0x1bcc69;};return a134_0x5391();}function a134_0x330c(_0x25d11b,_0x1e3e1d){_0x25d11b=_0x25d11b-0x9d;const _0x539183=a134_0x5391();let _0x330c90=_0x539183[_0x25d11b];return _0x330c90;}const a134_0x4b778b=a134_0x330c;(function(_0x5a4de7,_0x3a79bc){const _0x2b7e80=a134_0x330c,_0x270abc=_0x5a4de7();while(!![]){try{const _0xa4fa84=-parseInt(_0x2b7e80(0xa8))/0x1+-parseInt(_0x2b7e80(0xbf))/0x2*(-parseInt(_0x2b7e80(0xbc))/0x3)+-parseInt(_0x2b7e80(0xb0))/0x4+parseInt(_0x2b7e80(0xb3))/0x5*(-parseInt(_0x2b7e80(0x9d))/0x6)+-parseInt(_0x2b7e80(0xb2))/0x7+parseInt(_0x2b7e80(0xa6))/0x8+parseInt(_0x2b7e80(0xb5))/0x9*(parseInt(_0x2b7e80(0xa3))/0xa);if(_0xa4fa84===_0x3a79bc)break;else _0x270abc['push'](_0x270abc['shift']());}catch(_0x23626d){_0x270abc['push'](_0x270abc['shift']());}}}(a134_0x5391,0x49bbd));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':a134_0x4b778b(0xa9),'description':a134_0x4b778b(0xb4),'risk':a134_0x4b778b(0xc0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a134_0x4b778b(0xa2),'description':a134_0x4b778b(0xad)},{'name':a134_0x4b778b(0xae),'type':'number','description':a134_0x4b778b(0xbe),'default':0x1},{'name':'pagesize','type':a134_0x4b778b(0x9e),'description':a134_0x4b778b(0xb6)},{'name':a134_0x4b778b(0x9f),'type':a134_0x4b778b(0xbb),'description':a134_0x4b778b(0xa1)}],async 'execute'(_0xb9cefe){const _0x24fb12=a134_0x4b778b,_0x15a283=await listSqlQueries(_0xb9cefe['appCode'],{'sqlCode':_0xb9cefe[_0x24fb12(0xab)]('sqlcode')||undefined,'sqlName':_0xb9cefe[_0x24fb12(0xab)](_0x24fb12(0xbd))||undefined,'currentPage':_0xb9cefe[_0x24fb12(0xaf)](_0x24fb12(0xae)),'pageSize':_0xb9cefe[_0x24fb12(0xaf)]('pagesize',0x32)}),_0x47a876=_0xb9cefe[_0x24fb12(0xa5)]('verbose'),_0x33c85a=_0x15a283[_0x24fb12(0xac)]??[],_0x47b56b=_0x15a283['paging']?.['totalCount']??_0x33c85a[_0x24fb12(0xb1)];let _0x32cc6b;return _0x47a876?_0x32cc6b=_0x33c85a:_0x32cc6b=await Promise['all'](_0x33c85a['map'](async _0x52bd75=>{const _0x37a14f=_0x24fb12;let _0x64b2f1;try{_0x64b2f1=_0x52bd75[_0x37a14f(0xa7)]?await getDbName(_0xb9cefe[_0x37a14f(0xb7)],_0x52bd75[_0x37a14f(0xa7)]):undefined;}catch{}return{'sqlCode':_0x52bd75[_0x37a14f(0xb9)],'sqlName':_0x52bd75[_0x37a14f(0xaa)],'description':_0x52bd75[_0x37a14f(0xba)]??'','db':_0x64b2f1?_0x64b2f1+'\x20('+_0x52bd75[_0x37a14f(0xa7)]+')':_0x52bd75[_0x37a14f(0xa7)]??''};})),{'ok':!![],'data':_0x32cc6b,'message':_0x33c85a[_0x24fb12(0xb1)]===0x0?_0x24fb12(0xa0):_0x24fb12(0xa4)+_0x33c85a['length']+_0x24fb12(0xb8)+_0x47b56b+').'};}};
1
+ const a135_0x22e7b1=a135_0xd60f;function a135_0x27e9(){const _0x261820=['length','Found\x20','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','all','List\x20custom\x20SQL\x20queries','name','pagesize','1196888ynRZiB','1012370mkKvuZ','paging','4829032EANsQE','\x20SQL\x20queries\x20(total:\x20','dbId','string','num','appCode','map','Filter\x20by\x20SQL\x20name','105632qgWTky','2752692xBaEWZ','27OipEIa','195727aQgDCp','Page\x20size','verbose','39gKNgnB','bool','number','No\x20custom\x20SQL\x20queries\x20found.','boolean','page','sql','tableData','94458chrAaS','sqlCode','Page\x20number','str','list'];a135_0x27e9=function(){return _0x261820;};return a135_0x27e9();}(function(_0x68c5c5,_0x1a9dd8){const _0x4fb87e=a135_0xd60f,_0xe8898=_0x68c5c5();while(!![]){try{const _0x4392ae=parseInt(_0x4fb87e(0x15c))/0x1+parseInt(_0x4fb87e(0x16a))/0x2*(-parseInt(_0x4fb87e(0x162))/0x3)+-parseInt(_0x4fb87e(0x176))/0x4+-parseInt(_0x4fb87e(0x177))/0x5+-parseInt(_0x4fb87e(0x15d))/0x6+-parseInt(_0x4fb87e(0x15f))/0x7+parseInt(_0x4fb87e(0x179))/0x8*(parseInt(_0x4fb87e(0x15e))/0x9);if(_0x4392ae===_0x1a9dd8)break;else _0xe8898['push'](_0xe8898['shift']());}catch(_0x2292d9){_0xe8898['push'](_0xe8898['shift']());}}}(a135_0x27e9,0x4caf7));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a135_0xd60f(_0x4c2ee3,_0x34326d){_0x4c2ee3=_0x4c2ee3-0x15a;const _0x27e9d=a135_0x27e9();let _0xd60fdb=_0x27e9d[_0x4c2ee3];return _0xd60fdb;}export const sqlList={'service':a135_0x22e7b1(0x168),'command':a135_0x22e7b1(0x16e),'description':a135_0x22e7b1(0x173),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a135_0x22e7b1(0x17c),'description':a135_0x22e7b1(0x15b)},{'name':a135_0x22e7b1(0x167),'type':a135_0x22e7b1(0x164),'description':a135_0x22e7b1(0x16c),'default':0x1},{'name':a135_0x22e7b1(0x175),'type':a135_0x22e7b1(0x164),'description':a135_0x22e7b1(0x160)},{'name':a135_0x22e7b1(0x161),'type':a135_0x22e7b1(0x166),'description':a135_0x22e7b1(0x171)}],async 'execute'(_0x6918e8){const _0x4dac52=a135_0x22e7b1,_0x53e533=await listSqlQueries(_0x6918e8['appCode'],{'sqlCode':_0x6918e8[_0x4dac52(0x16d)]('sqlcode')||undefined,'sqlName':_0x6918e8[_0x4dac52(0x16d)](_0x4dac52(0x174))||undefined,'currentPage':_0x6918e8[_0x4dac52(0x17d)]('page'),'pageSize':_0x6918e8[_0x4dac52(0x17d)](_0x4dac52(0x175),0x32)}),_0x75dc03=_0x6918e8[_0x4dac52(0x163)](_0x4dac52(0x161)),_0x2ade09=_0x53e533[_0x4dac52(0x169)]??[],_0x4d7acf=_0x53e533[_0x4dac52(0x178)]?.['totalCount']??_0x2ade09[_0x4dac52(0x16f)];let _0xc714bf;return _0x75dc03?_0xc714bf=_0x2ade09:_0xc714bf=await Promise[_0x4dac52(0x172)](_0x2ade09[_0x4dac52(0x15a)](async _0x5c8a50=>{const _0x2fd531=_0x4dac52;let _0x385cb4;try{_0x385cb4=_0x5c8a50[_0x2fd531(0x17b)]?await getDbName(_0x6918e8[_0x2fd531(0x17e)],_0x5c8a50[_0x2fd531(0x17b)]):undefined;}catch{}return{'sqlCode':_0x5c8a50[_0x2fd531(0x16b)],'sqlName':_0x5c8a50['sqlName'],'description':_0x5c8a50['description']??'','db':_0x385cb4?_0x385cb4+'\x20('+_0x5c8a50[_0x2fd531(0x17b)]+')':_0x5c8a50['dbId']??''};})),{'ok':!![],'data':_0xc714bf,'message':_0x2ade09[_0x4dac52(0x16f)]===0x0?_0x4dac52(0x165):_0x4dac52(0x170)+_0x2ade09[_0x4dac52(0x16f)]+_0x4dac52(0x17a)+_0x4d7acf+').'};}};
@@ -1 +1 @@
1
- const a135_0x48a07c=a135_0x13cc;(function(_0x533646,_0x3cf815){const _0x5b76bf=a135_0x13cc,_0x32b966=_0x533646();while(!![]){try{const _0x17d49c=parseInt(_0x5b76bf(0x147))/0x1+parseInt(_0x5b76bf(0x159))/0x2*(parseInt(_0x5b76bf(0x14b))/0x3)+-parseInt(_0x5b76bf(0x151))/0x4+-parseInt(_0x5b76bf(0x127))/0x5*(-parseInt(_0x5b76bf(0x13f))/0x6)+-parseInt(_0x5b76bf(0x132))/0x7+parseInt(_0x5b76bf(0x134))/0x8*(-parseInt(_0x5b76bf(0x149))/0x9)+parseInt(_0x5b76bf(0x128))/0xa;if(_0x17d49c===_0x3cf815)break;else _0x32b966['push'](_0x32b966['shift']());}catch(_0x515585){_0x32b966['push'](_0x32b966['shift']());}}}(a135_0x1ad7,0x5e556));import{readFile,rm,writeFile}from'node:fs/promises';function a135_0x13cc(_0x3c104a,_0x425099){_0x3c104a=_0x3c104a-0x11d;const _0x1ad743=a135_0x1ad7();let _0x13ccb0=_0x1ad743[_0x3c104a];return _0x13ccb0;}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';function a135_0x1ad7(){const _0x20ebf5=['local\x20differs\x20from\x20remote','pull','push','4261542MUsGLV','boolean','conflict','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','str','sqls','appCode','description','415908pYoMzJ','\x20written,\x20','1424349hALmvA','write','225qnHtly','join','\x20SQL\x20file(s)\x20into\x20','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','bool','nonInteractive','2277388UeTsoC','\x20skipped,\x20','message','sqlName','No\x20remote\x20SQL\x20queries\x20matched.','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','unchanged','sqlRoot','5784YemGpX','Force\x20pull\x20cancelled.','path','lastSync','sqlcode','skipped','Force\x20overwrite\x20local\x20unsynced\x20changes','utf8','sqlCode','lockFilePath','toISOString','POST','force','5MCWOow','7825580YWxmLv','sqlContent','replace','totalCount','sql','cancelled','split','\x20failed','Would\x20pull\x20','sqlRootDir','3757894zoeCDP','name','32bBBvDk','length','Filter\x20by\x20SQL\x20display\x20name','dbId','mybatisXml','test','catch','apps'];a135_0x1ad7=function(){return _0x20ebf5;};return a135_0x1ad7();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x1a7bd7,_0x5a9539){const _0x20eae4=a135_0x13cc,_0x549b54=[];let _0x3c86b1=0x1;while(!![]){const _0x3d6807=await listSqlQueries(_0x1a7bd7,{'currentPage':_0x3c86b1,'pageSize':PAGE_SIZE,'sqlCode':_0x5a9539[_0x20eae4(0x122)],'sqlName':_0x5a9539[_0x20eae4(0x154)]}),_0x43f7e1=_0x3d6807['tableData']??[];_0x549b54[_0x20eae4(0x13e)](..._0x43f7e1);if(_0x43f7e1[_0x20eae4(0x135)]===0x0)break;const _0x475d99=_0x3d6807['paging']?.[_0x20eae4(0x12b)];if(_0x475d99!=null?_0x549b54['length']>=_0x475d99:_0x43f7e1[_0x20eae4(0x135)]<PAGE_SIZE)break;_0x3c86b1++;}return _0x549b54;}async function ensureSqlContent(_0x467284){const _0x1def1f=a135_0x13cc;if(_0x467284[_0x1def1f(0x129)]!=null&&String(_0x467284['sqlContent'])['length']>0x0)return _0x467284;return getSqlQueryDetail(_0x467284[_0x1def1f(0x122)]);}export const sqlPull={'service':a135_0x48a07c(0x12c),'command':a135_0x48a07c(0x13d),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a135_0x48a07c(0x14a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a135_0x48a07c(0x133),'type':'string','description':a135_0x48a07c(0x136)},{'name':'force','type':a135_0x48a07c(0x140),'description':a135_0x48a07c(0x120)}],async 'dryRun'(_0x2f89e3){const _0x2e7945=a135_0x48a07c,_0xd45c02=loadSqlProjectConfig(_0x2f89e3[_0x2e7945(0x145)]),_0x7755a7=await readSqlLockFile(_0xd45c02[_0x2e7945(0x123)]),{appLock:_0x171058}=ensureSqlLockScope(_0x7755a7??createEmptySqlLock(),_0xd45c02[_0x2e7945(0x145)],_0xd45c02[_0x2e7945(0x158)],'pull'),_0x3a005e=await fetchAllSqlQueries(_0x2f89e3['appCode'],{'sqlCode':_0x2f89e3[_0x2e7945(0x143)](_0x2e7945(0x11e))||undefined,'sqlName':_0x2f89e3[_0x2e7945(0x143)]('name')||undefined}),_0x23e3e6=[];for(const _0x36c311 of _0x3a005e){const _0x24397d=await ensureSqlContent(_0x36c311),_0x30fcb7=ensureRemoteSqlContent(_0x24397d),_0x2640f2=detectModeFromSql(_0x24397d),_0xaeeb8f=_0x24397d[_0x2e7945(0x137)]?await getDbName(_0x2f89e3[_0x2e7945(0x145)],Number(_0x24397d['dbId']))[_0x2e7945(0x13a)](()=>undefined):undefined,_0x5a7e75=buildLocalSqlFileContent({'sqlCode':_0x24397d[_0x2e7945(0x122)],'sqlName':_0x24397d[_0x2e7945(0x154)],'dbId':_0x24397d['dbId']},_0x30fcb7,{'dbName':_0xaeeb8f,'mode':_0x2640f2,'syncedAt':new Date()['toISOString'](),'description':_0x24397d[_0x2e7945(0x146)]}),_0x146119=buildSqlLockEntry(_0x24397d,_0x30fcb7,'',{'dbName':_0xaeeb8f}),_0x1dd780=resolveLocalSqlFilePath(_0xd45c02,_0x24397d[_0x2e7945(0x122)],_0x146119);let _0xa37bdd='would_pull',_0xe22b0b;if(await fileExists(_0x1dd780)){const _0x38c951=await readFile(_0x1dd780,_0x2e7945(0x121));isEquivalentPulledSqlFile(_0x38c951,_0x5a7e75,_0x2640f2)?(_0xa37bdd=_0x2e7945(0x11f),_0xe22b0b=_0x2e7945(0x157)):(_0xa37bdd=_0x2e7945(0x141),_0xe22b0b=_0x2e7945(0x14e));}_0x23e3e6[_0x2e7945(0x13e)]({'sqlCode':_0x24397d[_0x2e7945(0x122)],'sqlName':_0x24397d[_0x2e7945(0x154)],'filePath':_0x1dd780,'status':_0xa37bdd,'reason':_0xe22b0b});}return{'method':_0x2e7945(0x125),'url':_0x2e7945(0x142),'body':{'appCode':_0x2f89e3[_0x2e7945(0x145)],'sqlCode':_0x2f89e3[_0x2e7945(0x143)](_0x2e7945(0x11e))||null,'sqlName':_0x2f89e3[_0x2e7945(0x143)]('name')||null,'files':_0x23e3e6},'description':_0x2e7945(0x130)+_0x23e3e6[_0x2e7945(0x135)]+_0x2e7945(0x14d)+_0xd45c02[_0x2e7945(0x131)]};},async 'execute'(_0x1b3d68){const _0x12e869=a135_0x48a07c,_0x2770ab=loadSqlProjectConfig(_0x1b3d68['appCode']),_0x4f468b=await readSqlLockFile(_0x2770ab[_0x12e869(0x123)]),{lockData:_0x398e6c,appLock:_0x14ae27}=ensureSqlLockScope(_0x4f468b??createEmptySqlLock(),_0x2770ab[_0x12e869(0x145)],_0x2770ab['sqlRoot'],'pull'),_0x3f6898=_0x1b3d68[_0x12e869(0x14f)](_0x12e869(0x126)),_0x2a2b53=await fetchAllSqlQueries(_0x1b3d68['appCode'],{'sqlCode':_0x1b3d68[_0x12e869(0x143)](_0x12e869(0x11e))||undefined,'sqlName':_0x1b3d68[_0x12e869(0x143)]('name')||undefined});if(_0x2a2b53[_0x12e869(0x135)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x12e869(0x155)};const _0x250bda=[],_0x57b17=[];for(const _0x3604ba of _0x2a2b53){try{_0x250bda['push'](await ensureSqlContent(_0x3604ba));}catch(_0x2b16c4){_0x57b17[_0x12e869(0x13e)]({'sqlCode':_0x3604ba[_0x12e869(0x122)],'error':_0x2b16c4 instanceof Error?_0x2b16c4[_0x12e869(0x153)]:String(_0x2b16c4)});}}if(_0x3f6898&&!_0x1b3d68[_0x12e869(0x150)]){let _0x39d5cd=![];for(const _0x4e710a of _0x250bda){const _0x3a7cf9=detectModeFromSql(_0x4e710a),_0x2456da=_0x4e710a[_0x12e869(0x137)]?await getDbName(_0x1b3d68[_0x12e869(0x145)],Number(_0x4e710a[_0x12e869(0x137)]))[_0x12e869(0x13a)](()=>undefined):undefined,_0x2bd90c=buildLocalSqlFileContent({'sqlCode':_0x4e710a[_0x12e869(0x122)],'sqlName':_0x4e710a['sqlName'],'dbId':_0x4e710a[_0x12e869(0x137)]},ensureRemoteSqlContent(_0x4e710a),{'dbName':_0x2456da,'mode':_0x3a7cf9,'syncedAt':new Date()[_0x12e869(0x124)](),'description':_0x4e710a[_0x12e869(0x146)]}),_0x5afc49=resolveLocalSqlFilePath(_0x2770ab,_0x4e710a['sqlCode'],buildSqlLockEntry(_0x4e710a,ensureRemoteSqlContent(_0x4e710a),'',{'dbName':_0x2456da}));if(await fileExists(_0x5afc49)){const _0x2dd7bc=await readFile(_0x5afc49,_0x12e869(0x121));if(!isEquivalentPulledSqlFile(_0x2dd7bc,_0x2bd90c,_0x3a7cf9)){_0x39d5cd=!![];break;}}}if(_0x39d5cd){const _0x395fe0=await confirmForceOverwrite(_0x12e869(0x156));if(!_0x395fe0)throw CliErrors[_0x12e869(0x12d)](_0x12e869(0x15a));}}const _0xad69af=cloneSqlLockData(_0x398e6c),_0x2c7716=_0xad69af[_0x12e869(0x13b)][_0x2770ab[_0x12e869(0x145)]],_0x52b597=[],_0x268b40=[];for(const _0x54a4c4 of _0x250bda){const _0x185c32=_0x2c7716[_0x12e869(0x144)][_0x54a4c4['sqlCode']],_0x4d2de5=ensureRemoteSqlContent(_0x54a4c4),_0x4bae8a=detectModeFromSql(_0x54a4c4),_0x167b05=_0x54a4c4[_0x12e869(0x137)]?await getDbName(_0x1b3d68[_0x12e869(0x145)],Number(_0x54a4c4[_0x12e869(0x137)]))[_0x12e869(0x13a)](()=>undefined):undefined,_0x51025d=buildLocalSqlFileContent({'sqlCode':_0x54a4c4['sqlCode'],'sqlName':_0x54a4c4[_0x12e869(0x154)],'dbId':_0x54a4c4[_0x12e869(0x137)]},_0x4d2de5,{'dbName':_0x167b05,'mode':_0x4bae8a,'syncedAt':new Date()[_0x12e869(0x124)](),'description':_0x54a4c4[_0x12e869(0x146)]}),_0x144bb0=buildSqlLockEntry(_0x54a4c4,_0x4d2de5,computeSqlContentHash(_0x51025d),{'dbName':_0x167b05}),_0x56960f=_0x144bb0['path'],_0x181ee4=join(_0x2770ab['sqlRootDir'],_0x56960f);try{if(await fileExists(_0x181ee4)){const _0x3ba8ae=await readFile(_0x181ee4,_0x12e869(0x121));if(isEquivalentPulledSqlFile(_0x3ba8ae,_0x51025d,_0x4bae8a)){_0x268b40[_0x12e869(0x13e)]({'sqlCode':_0x54a4c4[_0x12e869(0x122)],'reason':_0x12e869(0x157)}),_0x2c7716[_0x12e869(0x144)][_0x54a4c4[_0x12e869(0x122)]]={..._0x144bb0,'hash':computeSqlContentHash(_0x3ba8ae),'path':_0x56960f};continue;}if(!_0x3f6898){_0x268b40[_0x12e869(0x13e)]({'sqlCode':_0x54a4c4[_0x12e869(0x122)],'reason':_0x12e869(0x13c)});continue;}}const _0x5b0076=_0x185c32?.['path']?join(_0x2770ab[_0x12e869(0x131)],_0x185c32[_0x12e869(0x15b)]):undefined;_0x5b0076&&_0x5b0076!==_0x181ee4&&await fileExists(_0x5b0076)&&await rm(_0x5b0076,{'force':!![]}),await ensureParentDirectory(_0x181ee4),await writeFile(_0x181ee4,_0x51025d,_0x12e869(0x121)),_0x2c7716[_0x12e869(0x144)][_0x54a4c4['sqlCode']]={..._0x144bb0,'path':_0x56960f},_0x52b597[_0x12e869(0x13e)]({'sqlCode':_0x54a4c4[_0x12e869(0x122)],'filePath':_0x181ee4});}catch(_0x1f16a8){_0x57b17[_0x12e869(0x13e)]({'sqlCode':_0x54a4c4[_0x12e869(0x122)],'error':_0x1f16a8 instanceof Error?_0x1f16a8[_0x12e869(0x153)]:String(_0x1f16a8)});}}return _0x2c7716[_0x12e869(0x11d)]=new Date()[_0x12e869(0x124)](),await writeSqlLockFile(_0x2770ab[_0x12e869(0x123)],_0xad69af),{'ok':_0x57b17[_0x12e869(0x135)]===0x0,'data':{'pulled':_0x52b597,'skipped':_0x268b40,'failed':_0x57b17},'message':'Pull\x20complete:\x20'+_0x52b597[_0x12e869(0x135)]+_0x12e869(0x148)+_0x268b40[_0x12e869(0x135)]+_0x12e869(0x152)+_0x57b17[_0x12e869(0x135)]+_0x12e869(0x12f)};}};function detectModeFromSql(_0x30107a){const _0x54c2ad=a135_0x48a07c,_0x2fd84f=ensureRemoteSqlContent(_0x30107a),_0x4c2ae0=stripLocalSqlMetadata(_0x2fd84f,_0x54c2ad(0x138))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x54c2ad(0x139)](_0x4c2ae0))return _0x54c2ad(0x138);return _0x54c2ad(0x12c);}function isEquivalentPulledSqlFile(_0x316e05,_0x4d19b7,_0xa58a9){return normalizePullComparableContent(_0x316e05,_0xa58a9)===normalizePullComparableContent(_0x4d19b7,_0xa58a9);}function normalizePullComparableContent(_0x13ab7d,_0x2e182a){const _0x3a99c1=a135_0x48a07c,_0x404a5c=_0x13ab7d[_0x3a99c1(0x12a)](/\r\n/g,'\x0a')[_0x3a99c1(0x12e)]('\x0a'),_0x1e11ee=_0x404a5c['filter'](_0x576e78=>!isSyncedAtMetadataLine(_0x576e78,_0x2e182a));return _0x1e11ee[_0x3a99c1(0x14c)]('\x0a');}function isSyncedAtMetadataLine(_0x2668df,_0x58ab4c){const _0x133cbd=a135_0x48a07c;if(_0x58ab4c===_0x133cbd(0x138))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x2668df);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x133cbd(0x139)](_0x2668df);}
1
+ const a136_0x5d1988=a136_0x3b1a;(function(_0x3d9300,_0x1460e4){const _0x399001=a136_0x3b1a,_0x3962ed=_0x3d9300();while(!![]){try{const _0x115aa5=-parseInt(_0x399001(0x1e6))/0x1+-parseInt(_0x399001(0x1f4))/0x2*(parseInt(_0x399001(0x1ff))/0x3)+parseInt(_0x399001(0x1db))/0x4+-parseInt(_0x399001(0x1e0))/0x5+parseInt(_0x399001(0x201))/0x6*(-parseInt(_0x399001(0x202))/0x7)+parseInt(_0x399001(0x1de))/0x8*(parseInt(_0x399001(0x1d6))/0x9)+-parseInt(_0x399001(0x1df))/0xa*(-parseInt(_0x399001(0x1fb))/0xb);if(_0x115aa5===_0x1460e4)break;else _0x3962ed['push'](_0x3962ed['shift']());}catch(_0x148d28){_0x3962ed['push'](_0x3962ed['shift']());}}}(a136_0x2079,0x3503f));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a136_0x2079(){const _0x87e51=['171KLEWbc','sqlcode','\x20SQL\x20file(s)\x20into\x20','sqlCode','sql','382732WHEKmf','POST','\x20failed','75128LvDydQ','10XNcSbJ','1818930yZgkco','Filter\x20by\x20SQL\x20display\x20name','sqls','write','Force\x20pull\x20cancelled.','force','250535uNfpqM','appCode','Force\x20overwrite\x20local\x20unsynced\x20changes','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','str','sqlRoot','skipped','length','cancelled','bool','\x20written,\x20','message','join','push','54bOhOFx','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','filter','paging','pull','apps','description','7635881Urvsrd','totalCount','mybatisXml','catch','13251VEfzlv','string','6TIZvkt','122864dBoHBr','Would\x20pull\x20','No\x20remote\x20SQL\x20queries\x20matched.','sqlRootDir','toISOString','dbId','sqlContent','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','test','unchanged','lockFilePath','trimStart','utf8','sqlName','conflict','name'];a136_0x2079=function(){return _0x87e51;};return a136_0x2079();}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';function a136_0x3b1a(_0x5a8ce4,_0x1f2793){_0x5a8ce4=_0x5a8ce4-0x1d3;const _0x2079be=a136_0x2079();let _0x3b1a63=_0x2079be[_0x5a8ce4];return _0x3b1a63;}const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x2834f7,_0x32bd00){const _0x2630f9=a136_0x3b1a,_0x23ce9c=[];let _0x1fbe6f=0x1;while(!![]){const _0x90c549=await listSqlQueries(_0x2834f7,{'currentPage':_0x1fbe6f,'pageSize':PAGE_SIZE,'sqlCode':_0x32bd00['sqlCode'],'sqlName':_0x32bd00[_0x2630f9(0x1d3)]}),_0x28bc7b=_0x90c549['tableData']??[];_0x23ce9c[_0x2630f9(0x1f3)](..._0x28bc7b);if(_0x28bc7b['length']===0x0)break;const _0x5053d1=_0x90c549[_0x2630f9(0x1f7)]?.[_0x2630f9(0x1fc)];if(_0x5053d1!=null?_0x23ce9c[_0x2630f9(0x1ed)]>=_0x5053d1:_0x28bc7b[_0x2630f9(0x1ed)]<PAGE_SIZE)break;_0x1fbe6f++;}return _0x23ce9c;}async function ensureSqlContent(_0x16fcf9){const _0x4977c6=a136_0x3b1a;if(_0x16fcf9[_0x4977c6(0x208)]!=null&&String(_0x16fcf9[_0x4977c6(0x208)])['length']>0x0)return _0x16fcf9;return getSqlQueryDetail(_0x16fcf9['sqlCode']);}export const sqlPull={'service':'sql','command':a136_0x5d1988(0x1f8),'description':a136_0x5d1988(0x1f5),'risk':a136_0x5d1988(0x1e3),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x5d1988(0x1d5),'type':a136_0x5d1988(0x200),'description':a136_0x5d1988(0x1e1)},{'name':a136_0x5d1988(0x1e5),'type':'boolean','description':a136_0x5d1988(0x1e8)}],async 'dryRun'(_0x236426){const _0x5c43e8=a136_0x5d1988,_0x167f6e=loadSqlProjectConfig(_0x236426[_0x5c43e8(0x1e7)]),_0x2215d6=await readSqlLockFile(_0x167f6e['lockFilePath']),{appLock:_0x5516bb}=ensureSqlLockScope(_0x2215d6??createEmptySqlLock(),_0x167f6e[_0x5c43e8(0x1e7)],_0x167f6e[_0x5c43e8(0x1eb)],_0x5c43e8(0x1f8)),_0x1eb484=await fetchAllSqlQueries(_0x236426['appCode'],{'sqlCode':_0x236426[_0x5c43e8(0x1ea)](_0x5c43e8(0x1d7))||undefined,'sqlName':_0x236426[_0x5c43e8(0x1ea)](_0x5c43e8(0x1d5))||undefined}),_0x3c6af3=[];for(const _0x549077 of _0x1eb484){const _0xbb9d27=await ensureSqlContent(_0x549077),_0x262839=ensureRemoteSqlContent(_0xbb9d27),_0x423b31=detectModeFromSql(_0xbb9d27),_0x575396=_0xbb9d27[_0x5c43e8(0x207)]?await getDbName(_0x236426['appCode'],Number(_0xbb9d27[_0x5c43e8(0x207)]))[_0x5c43e8(0x1fe)](()=>undefined):undefined,_0x4f1e3b=buildLocalSqlFileContent({'sqlCode':_0xbb9d27[_0x5c43e8(0x1d9)],'sqlName':_0xbb9d27[_0x5c43e8(0x1d3)],'dbId':_0xbb9d27[_0x5c43e8(0x207)]},_0x262839,{'dbName':_0x575396,'mode':_0x423b31,'syncedAt':new Date()[_0x5c43e8(0x206)](),'description':_0xbb9d27[_0x5c43e8(0x1fa)]}),_0x10842c=buildSqlLockEntry(_0xbb9d27,_0x262839,'',{'dbName':_0x575396}),_0x50e3cf=resolveLocalSqlFilePath(_0x167f6e,_0xbb9d27['sqlCode'],_0x10842c);let _0x4f4884='would_pull',_0x4dfa28;if(await fileExists(_0x50e3cf)){const _0x29e864=await readFile(_0x50e3cf,_0x5c43e8(0x20e));isEquivalentPulledSqlFile(_0x29e864,_0x4f1e3b,_0x423b31)?(_0x4f4884=_0x5c43e8(0x1ec),_0x4dfa28=_0x5c43e8(0x20b)):(_0x4f4884=_0x5c43e8(0x1d4),_0x4dfa28=_0x5c43e8(0x209));}_0x3c6af3[_0x5c43e8(0x1f3)]({'sqlCode':_0xbb9d27[_0x5c43e8(0x1d9)],'sqlName':_0xbb9d27['sqlName'],'filePath':_0x50e3cf,'status':_0x4f4884,'reason':_0x4dfa28});}return{'method':_0x5c43e8(0x1dc),'url':_0x5c43e8(0x1e9),'body':{'appCode':_0x236426[_0x5c43e8(0x1e7)],'sqlCode':_0x236426['str'](_0x5c43e8(0x1d7))||null,'sqlName':_0x236426[_0x5c43e8(0x1ea)](_0x5c43e8(0x1d5))||null,'files':_0x3c6af3},'description':_0x5c43e8(0x203)+_0x3c6af3[_0x5c43e8(0x1ed)]+_0x5c43e8(0x1d8)+_0x167f6e[_0x5c43e8(0x205)]};},async 'execute'(_0x1df416){const _0x237ca5=a136_0x5d1988,_0x520176=loadSqlProjectConfig(_0x1df416['appCode']),_0xe1433f=await readSqlLockFile(_0x520176[_0x237ca5(0x20c)]),{lockData:_0x31d62d,appLock:_0x1de536}=ensureSqlLockScope(_0xe1433f??createEmptySqlLock(),_0x520176['appCode'],_0x520176[_0x237ca5(0x1eb)],_0x237ca5(0x1f8)),_0x34070d=_0x1df416[_0x237ca5(0x1ef)]('force'),_0x5c6cfc=await fetchAllSqlQueries(_0x1df416[_0x237ca5(0x1e7)],{'sqlCode':_0x1df416['str'](_0x237ca5(0x1d7))||undefined,'sqlName':_0x1df416[_0x237ca5(0x1ea)](_0x237ca5(0x1d5))||undefined});if(_0x5c6cfc[_0x237ca5(0x1ed)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x237ca5(0x204)};const _0x36965d=[],_0x390e10=[];for(const _0x40a68a of _0x5c6cfc){try{_0x36965d[_0x237ca5(0x1f3)](await ensureSqlContent(_0x40a68a));}catch(_0x13a4ed){_0x390e10[_0x237ca5(0x1f3)]({'sqlCode':_0x40a68a[_0x237ca5(0x1d9)],'error':_0x13a4ed instanceof Error?_0x13a4ed[_0x237ca5(0x1f1)]:String(_0x13a4ed)});}}if(_0x34070d&&!_0x1df416['nonInteractive']){let _0x1189f6=![];for(const _0x4ddbb0 of _0x36965d){const _0x50844b=detectModeFromSql(_0x4ddbb0),_0x5df2f0=_0x4ddbb0[_0x237ca5(0x207)]?await getDbName(_0x1df416[_0x237ca5(0x1e7)],Number(_0x4ddbb0[_0x237ca5(0x207)]))['catch'](()=>undefined):undefined,_0x5bd6c8=buildLocalSqlFileContent({'sqlCode':_0x4ddbb0[_0x237ca5(0x1d9)],'sqlName':_0x4ddbb0[_0x237ca5(0x1d3)],'dbId':_0x4ddbb0['dbId']},ensureRemoteSqlContent(_0x4ddbb0),{'dbName':_0x5df2f0,'mode':_0x50844b,'syncedAt':new Date()[_0x237ca5(0x206)](),'description':_0x4ddbb0[_0x237ca5(0x1fa)]}),_0x1fbe9d=resolveLocalSqlFilePath(_0x520176,_0x4ddbb0[_0x237ca5(0x1d9)],buildSqlLockEntry(_0x4ddbb0,ensureRemoteSqlContent(_0x4ddbb0),'',{'dbName':_0x5df2f0}));if(await fileExists(_0x1fbe9d)){const _0x1f7158=await readFile(_0x1fbe9d,'utf8');if(!isEquivalentPulledSqlFile(_0x1f7158,_0x5bd6c8,_0x50844b)){_0x1189f6=!![];break;}}}if(_0x1189f6){const _0x2eb0ae=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x2eb0ae)throw CliErrors[_0x237ca5(0x1ee)](_0x237ca5(0x1e4));}}const _0x5964cc=cloneSqlLockData(_0x31d62d),_0x58bb0c=_0x5964cc[_0x237ca5(0x1f9)][_0x520176[_0x237ca5(0x1e7)]],_0x1f0c5a=[],_0x1ab6e5=[];for(const _0x1b92a9 of _0x36965d){const _0x5eb431=_0x58bb0c[_0x237ca5(0x1e2)][_0x1b92a9[_0x237ca5(0x1d9)]],_0x4ad6b1=ensureRemoteSqlContent(_0x1b92a9),_0x39fc46=detectModeFromSql(_0x1b92a9),_0x329ecf=_0x1b92a9[_0x237ca5(0x207)]?await getDbName(_0x1df416['appCode'],Number(_0x1b92a9[_0x237ca5(0x207)]))[_0x237ca5(0x1fe)](()=>undefined):undefined,_0x67fb2e=buildLocalSqlFileContent({'sqlCode':_0x1b92a9['sqlCode'],'sqlName':_0x1b92a9[_0x237ca5(0x1d3)],'dbId':_0x1b92a9['dbId']},_0x4ad6b1,{'dbName':_0x329ecf,'mode':_0x39fc46,'syncedAt':new Date()[_0x237ca5(0x206)](),'description':_0x1b92a9['description']}),_0x96ac62=buildSqlLockEntry(_0x1b92a9,_0x4ad6b1,computeSqlContentHash(_0x67fb2e),{'dbName':_0x329ecf}),_0x5e3768=_0x96ac62['path'],_0x5f86db=join(_0x520176[_0x237ca5(0x205)],_0x5e3768);try{if(await fileExists(_0x5f86db)){const _0x44967b=await readFile(_0x5f86db,_0x237ca5(0x20e));if(isEquivalentPulledSqlFile(_0x44967b,_0x67fb2e,_0x39fc46)){_0x1ab6e5[_0x237ca5(0x1f3)]({'sqlCode':_0x1b92a9['sqlCode'],'reason':'unchanged'}),_0x58bb0c[_0x237ca5(0x1e2)][_0x1b92a9[_0x237ca5(0x1d9)]]={..._0x96ac62,'hash':computeSqlContentHash(_0x44967b),'path':_0x5e3768};continue;}if(!_0x34070d){_0x1ab6e5[_0x237ca5(0x1f3)]({'sqlCode':_0x1b92a9[_0x237ca5(0x1d9)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x56a34b=_0x5eb431?.['path']?join(_0x520176[_0x237ca5(0x205)],_0x5eb431['path']):undefined;_0x56a34b&&_0x56a34b!==_0x5f86db&&await fileExists(_0x56a34b)&&await rm(_0x56a34b,{'force':!![]}),await ensureParentDirectory(_0x5f86db),await writeFile(_0x5f86db,_0x67fb2e,'utf8'),_0x58bb0c[_0x237ca5(0x1e2)][_0x1b92a9[_0x237ca5(0x1d9)]]={..._0x96ac62,'path':_0x5e3768},_0x1f0c5a[_0x237ca5(0x1f3)]({'sqlCode':_0x1b92a9[_0x237ca5(0x1d9)],'filePath':_0x5f86db});}catch(_0x1b0cba){_0x390e10[_0x237ca5(0x1f3)]({'sqlCode':_0x1b92a9['sqlCode'],'error':_0x1b0cba instanceof Error?_0x1b0cba[_0x237ca5(0x1f1)]:String(_0x1b0cba)});}}return _0x58bb0c['lastSync']=new Date()[_0x237ca5(0x206)](),await writeSqlLockFile(_0x520176[_0x237ca5(0x20c)],_0x5964cc),{'ok':_0x390e10[_0x237ca5(0x1ed)]===0x0,'data':{'pulled':_0x1f0c5a,'skipped':_0x1ab6e5,'failed':_0x390e10},'message':'Pull\x20complete:\x20'+_0x1f0c5a[_0x237ca5(0x1ed)]+_0x237ca5(0x1f0)+_0x1ab6e5[_0x237ca5(0x1ed)]+'\x20skipped,\x20'+_0x390e10[_0x237ca5(0x1ed)]+_0x237ca5(0x1dd)};}};function detectModeFromSql(_0x17cb49){const _0x20a7be=a136_0x5d1988,_0x44f16e=ensureRemoteSqlContent(_0x17cb49),_0x3b2320=stripLocalSqlMetadata(_0x44f16e,_0x20a7be(0x1fd))[_0x20a7be(0x20d)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x3b2320))return _0x20a7be(0x1fd);return _0x20a7be(0x1da);}function isEquivalentPulledSqlFile(_0x59870c,_0x264b66,_0x33d78f){return normalizePullComparableContent(_0x59870c,_0x33d78f)===normalizePullComparableContent(_0x264b66,_0x33d78f);}function normalizePullComparableContent(_0x5c9be2,_0x448d23){const _0x53619b=a136_0x5d1988,_0x41c641=_0x5c9be2['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0x4d216b=_0x41c641[_0x53619b(0x1f6)](_0x1091ec=>!isSyncedAtMetadataLine(_0x1091ec,_0x448d23));return _0x4d216b[_0x53619b(0x1f2)]('\x0a');}function isSyncedAtMetadataLine(_0x1fa0ed,_0x5b234d){const _0xdb7eb1=a136_0x5d1988;if(_0x5b234d==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x1fa0ed);return/^\s*--\s*@lovrabet\.syncedAt:/[_0xdb7eb1(0x20a)](_0x1fa0ed);}
@@ -1 +1 @@
1
- const a136_0x5b3234=a136_0x40b3;(function(_0x60e61b,_0x1f6cc0){const _0x5374db=a136_0x40b3,_0x216e9e=_0x60e61b();while(!![]){try{const _0x175d46=parseInt(_0x5374db(0x190))/0x1*(-parseInt(_0x5374db(0x1a6))/0x2)+-parseInt(_0x5374db(0x1b0))/0x3*(parseInt(_0x5374db(0x197))/0x4)+-parseInt(_0x5374db(0x175))/0x5+-parseInt(_0x5374db(0x181))/0x6+-parseInt(_0x5374db(0x17f))/0x7+-parseInt(_0x5374db(0x1ab))/0x8+parseInt(_0x5374db(0x18f))/0x9*(parseInt(_0x5374db(0x1af))/0xa);if(_0x175d46===_0x1f6cc0)break;else _0x216e9e['push'](_0x216e9e['shift']());}catch(_0x31d3e2){_0x216e9e['push'](_0x216e9e['shift']());}}}(a136_0xdd0d,0xd1ea0));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';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';function a136_0x40b3(_0x3d6375,_0x325b7c){_0x3d6375=_0x3d6375-0x174;const _0xdd0ddc=a136_0xdd0d();let _0x40b3b1=_0xdd0ddc[_0x3d6375];return _0x40b3b1;}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(_0x4eff92,_0x5aa722,_0x15bee2){const _0x255887=a136_0x40b3,_0x23bdb2=await scanLocalSqlQueries(_0x4eff92),_0x41d37d=new Map();for(const _0x486b50 of _0x23bdb2){if(_0x15bee2&&_0x486b50[_0x255887(0x19c)]!==_0x15bee2)continue;const _0x5a4dfb=_0x41d37d['get'](_0x486b50[_0x255887(0x19c)])??[];_0x5a4dfb[_0x255887(0x178)](_0x486b50),_0x41d37d[_0x255887(0x194)](_0x486b50[_0x255887(0x19c)],_0x5a4dfb);}if(_0x15bee2&&!_0x41d37d[_0x255887(0x17a)](_0x15bee2))throw CliErrors['validation'](_0x255887(0x1b2)+_0x15bee2);const _0x567283=[];for(const [_0x3d9f7c,_0x230d69]of _0x41d37d[_0x255887(0x17d)]()){if(_0x230d69[_0x255887(0x19b)]===0x1){_0x567283[_0x255887(0x178)](_0x230d69[0x0]);continue;}const _0x295936=_0x5aa722['sqls'][_0x3d9f7c],_0x564c7a=_0x295936?.[_0x255887(0x183)],_0x793b5f=_0x564c7a?_0x230d69[_0x255887(0x192)](_0x19bbf8=>_0x19bbf8[_0x255887(0x191)]!==_0x564c7a):_0x230d69;if(_0x295936&&_0x793b5f[_0x255887(0x19b)]===0x1){_0x567283[_0x255887(0x178)](_0x793b5f[0x0]);continue;}throw CliErrors[_0x255887(0x19f)]('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x3d9f7c+'.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.');}return _0x567283;}export const sqlPush={'service':a136_0x5b3234(0x187),'command':a136_0x5b3234(0x178),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a136_0x5b3234(0x182),'type':a136_0x5b3234(0x193),'description':a136_0x5b3234(0x19a)}],async 'dryRun'(_0x2d4aa6){const _0x103ae5=a136_0x5b3234,_0x1fd738=loadSqlProjectConfig(_0x2d4aa6[_0x103ae5(0x18e)]),_0x1b5bb3=await readSqlLockFile(_0x1fd738[_0x103ae5(0x196)]),{appLock:_0x89998f}=ensureSqlLockScope(_0x1b5bb3??createEmptySqlLock(),_0x2d4aa6[_0x103ae5(0x18e)],_0x1fd738[_0x103ae5(0x179)],_0x103ae5(0x178)),_0xfed81f=await getTargetSqlQueries(_0x1fd738,_0x89998f,_0x2d4aa6[_0x103ae5(0x180)]('sqlcode')||undefined),_0x3ed43a=[];for(const _0x44cc25 of _0xfed81f){const _0x3da2be=await computeSqlFileHash(_0x44cc25['filePath']),_0x405b31=_0x89998f[_0x103ae5(0x18b)][_0x44cc25[_0x103ae5(0x19c)]],_0x297c1e=!!_0x405b31&&(_0x405b31[_0x103ae5(0x183)]!==_0x44cc25['relativePath']||!!_0x44cc25[_0x103ae5(0x188)]&&_0x405b31[_0x103ae5(0x188)]!==_0x44cc25[_0x103ae5(0x188)]);if(!_0x2d4aa6[_0x103ae5(0x195)]('force')&&_0x405b31&&_0x405b31['hash']===_0x3da2be&&!_0x297c1e)continue;_0x3ed43a[_0x103ae5(0x178)](_0x44cc25[_0x103ae5(0x19c)]);}return{'method':_0x103ae5(0x1b3),'url':_0x103ae5(0x17b),'body':{'sqlCodes':_0x3ed43a,'appCode':_0x2d4aa6[_0x103ae5(0x18e)]},'description':_0x103ae5(0x1a8)+_0x3ed43a[_0x103ae5(0x19b)]+_0x103ae5(0x1a3)};},async 'execute'(_0x23442e){const _0x2d68b7=a136_0x5b3234,_0x26bd63=loadSqlProjectConfig(_0x23442e['appCode']),_0x1d9c33=await readSqlLockFile(_0x26bd63['lockFilePath']),{lockData:_0x41434b,appLock:_0xc82e3}=ensureSqlLockScope(_0x1d9c33??createEmptySqlLock(),_0x23442e[_0x2d68b7(0x18e)],_0x26bd63[_0x2d68b7(0x179)],_0x2d68b7(0x178)),_0x4a0872=await getTargetSqlQueries(_0x26bd63,_0xc82e3,_0x23442e[_0x2d68b7(0x180)]('sqlcode')||undefined);if(_0x4a0872['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x2d68b7(0x1b1)};const _0x4c6876=[],_0x37f237=[],_0x3573ed=[];for(const _0x51d6d2 of _0x4a0872){const _0x4485f3=_0xc82e3['sqls'][_0x51d6d2[_0x2d68b7(0x19c)]];if(!_0x4485f3){_0x3573ed[_0x2d68b7(0x178)]({'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'error':_0x2d68b7(0x1ae)});continue;}try{const _0x203e46=await computeSqlFileHash(_0x51d6d2[_0x2d68b7(0x19e)]),_0x41a31b=_0x4485f3['path']!==_0x51d6d2[_0x2d68b7(0x191)]||!!_0x51d6d2['sqlName']&&_0x4485f3['sqlName']!==_0x51d6d2[_0x2d68b7(0x188)];if(!_0x23442e[_0x2d68b7(0x195)](_0x2d68b7(0x182))&&_0x4485f3['hash']===_0x203e46&&!_0x41a31b){_0x37f237[_0x2d68b7(0x178)]({'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'reason':_0x2d68b7(0x1a9)});continue;}if(_0x4485f3[_0x2d68b7(0x1a1)]==null){_0x3573ed[_0x2d68b7(0x178)]({'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x43399a=await readFile(_0x51d6d2['filePath'],_0x2d68b7(0x1ac)),_0x37a259=stripLocalSqlMetadata(_0x43399a,_0x51d6d2[_0x2d68b7(0x1a7)]),_0xb968c7=_0x51d6d2[_0x2d68b7(0x188)]||_0x4485f3[_0x2d68b7(0x188)],_0x447463=await resolveTargetDbBinding(_0x23442e[_0x2d68b7(0x18e)],_0x51d6d2,_0x4485f3),_0xd7b180=await updateSqlQuery({'id':_0x4485f3[_0x2d68b7(0x174)],'appCode':_0x23442e[_0x2d68b7(0x18e)],'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'sqlName':_0xb968c7,'dbId':_0x447463[_0x2d68b7(0x177)],'version':_0x4485f3['version'],'sqlContent':_0x37a259,'sqlConfig':_0x4485f3['sqlConfig']??undefined}),_0x58b2d0=_0xd7b180['dbId']?await getDbName(_0x23442e[_0x2d68b7(0x18e)],Number(_0xd7b180[_0x2d68b7(0x177)]))[_0x2d68b7(0x17e)](()=>_0x447463[_0x2d68b7(0x19d)]):_0x447463['dbName'];_0xc82e3['sqls'][_0x51d6d2[_0x2d68b7(0x19c)]]={...buildSqlLockEntry(_0xd7b180,_0x37a259,_0x203e46,{'dbName':_0x58b2d0}),'path':_0x51d6d2[_0x2d68b7(0x191)],'mode':_0x4485f3['mode']},await archivePreviousSqlFileIfNeeded(_0x26bd63,_0x4485f3[_0x2d68b7(0x183)],_0x51d6d2[_0x2d68b7(0x191)]),_0x4c6876[_0x2d68b7(0x178)]({'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'remoteId':_0x4485f3[_0x2d68b7(0x174)]});}catch(_0x40a170){_0x3573ed[_0x2d68b7(0x178)]({'sqlCode':_0x51d6d2[_0x2d68b7(0x19c)],'error':_0x40a170 instanceof Error?_0x40a170[_0x2d68b7(0x176)]:String(_0x40a170)});}}return _0xc82e3['lastSync']=new Date()[_0x2d68b7(0x1ad)](),await writeSqlLockFile(_0x26bd63['lockFilePath'],_0x41434b),{'ok':_0x3573ed['length']===0x0,'data':{'pushed':_0x4c6876,'skipped':_0x37f237,'failed':_0x3573ed},'message':'Push\x20complete:\x20'+_0x4c6876['length']+_0x2d68b7(0x186)+_0x37f237[_0x2d68b7(0x19b)]+'\x20skipped,\x20'+_0x3573ed[_0x2d68b7(0x19b)]+_0x2d68b7(0x17c)};}};async function archivePreviousSqlFileIfNeeded(_0xdefbb4,_0x5d330d,_0xe7c2cc){const _0x2d10c0=a136_0x5b3234;if(!_0x5d330d||_0x5d330d===_0xe7c2cc)return;const _0x479943=join(_0xdefbb4[_0x2d10c0(0x1a4)],_0x5d330d);if(!await fileExists(_0x479943))return;const _0x51709e=await moveToTrash(_0xdefbb4[_0x2d10c0(0x199)],_0xdefbb4[_0x2d10c0(0x18d)],_0x479943);await cleanupEmptyDirectories(dirname(_0x479943),_0xdefbb4[_0x2d10c0(0x1a4)]),void _0x51709e;}async function moveToTrash(_0x395b73,_0x5256bb,_0x27c5be){const _0xee440c=a136_0x5b3234,_0x4da2d4=new Date()[_0xee440c(0x1ad)]()['replace'](/[:.]/g,'-'),_0x4ea4cc=relative(_0x395b73,_0x27c5be),_0x30e4cc=join(_0x5256bb,_0x4da2d4,_0x4ea4cc);return await mkdir(dirname(_0x30e4cc),{'recursive':!![]}),await rename(_0x27c5be,_0x30e4cc),_0x30e4cc;}function a136_0xdd0d(){const _0x24b367=['3959070wlMEXR','force','path','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','Local\x20directory\x20\x22','\x20pushed,\x20','sql','sqlName','isFinite','No\x20database\x20matches\x20local\x20directory\x20\x22','sqls','dbDirectory','trashDir','appCode','13533354YjYhkF','1229NjOZCG','relativePath','filter','boolean','set','bool','lockFilePath','272240PLxRQx','join','projectRoot','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','length','sqlCode','dbName','filePath','validation','map','version','startsWith','\x20SQL\x20file(s)','sqlRootDir','\x22\x20for\x20sqlCode\x20','2462EGHOYJ','mode','Would\x20push\x20','unchanged','exec','8722952hKgRhs','utf8','toISOString','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','40XsdlBo','69umFPzX','No\x20local\x20SQL\x20files\x20found.','Local\x20SQL\x20not\x20found:\x20','POST','remoteId','1620040mBHkGM','message','dbId','push','sqlRoot','has','/smartapi/custom/updateUserCustomSql','\x20failed','entries','catch','17605KRNoIQ','str'];a136_0xdd0d=function(){return _0x24b367;};return a136_0xdd0d();}async function cleanupEmptyDirectories(_0x13ad00,_0x5f30d5){const _0x246ff3=a136_0x5b3234;let _0x1fb9dd=resolve(_0x13ad00);const _0x2efa42=resolve(_0x5f30d5);while(_0x1fb9dd[_0x246ff3(0x1a2)](''+_0x2efa42+sep)||_0x1fb9dd===_0x2efa42){if(_0x1fb9dd===_0x2efa42)return;try{const _0x7a87ef=await readdir(_0x1fb9dd);if(_0x7a87ef[_0x246ff3(0x19b)]>0x0)return;await rmdir(_0x1fb9dd);}catch{return;}_0x1fb9dd=dirname(_0x1fb9dd);}}async function resolveTargetDbBinding(_0x264381,_0x4a7186,_0x201c98){const _0xe549cc=a136_0x5b3234,_0x251758=_0x4a7186[_0xe549cc(0x18c)];if(!_0x251758)return{'dbId':_0x201c98[_0xe549cc(0x177)],'dbName':_0x201c98[_0xe549cc(0x19d)]};const _0x34a91d=buildDbDirectoryName(_0x201c98[_0xe549cc(0x19d)],_0x201c98[_0xe549cc(0x177)]);if(_0x251758===_0x34a91d)return{'dbId':_0x201c98['dbId'],'dbName':_0x201c98[_0xe549cc(0x19d)]};const _0x5a4837=parseExplicitDbDirectory(_0x251758);if(_0x5a4837!=null)return{'dbId':_0x5a4837,'dbName':await getDbName(_0x264381,_0x5a4837)[_0xe549cc(0x17e)](()=>undefined)};const _0x3238d4=await listDatabases(_0x264381),_0x4b6816=_0x3238d4['filter'](_0x14da0d=>buildDbDirectoryName(_0x14da0d[_0xe549cc(0x19d)],_0x14da0d[_0xe549cc(0x177)])===_0x251758);if(_0x4b6816[_0xe549cc(0x19b)]===0x1)return{'dbId':_0x4b6816[0x0][_0xe549cc(0x177)],'dbName':_0x4b6816[0x0][_0xe549cc(0x19d)]};if(_0x4b6816[_0xe549cc(0x19b)]===0x0)throw CliErrors[_0xe549cc(0x19f)](_0xe549cc(0x18a)+_0x251758+_0xe549cc(0x1a5)+_0x4a7186[_0xe549cc(0x19c)]+'.');const _0x357532=_0x4b6816[_0xe549cc(0x1a0)](_0x25e324=>_0x25e324[_0xe549cc(0x19d)]+'\x20('+_0x25e324[_0xe549cc(0x177)]+')')[_0xe549cc(0x198)](',\x20');throw CliErrors[_0xe549cc(0x19f)](_0xe549cc(0x185)+_0x251758+_0xe549cc(0x184)+_0x4a7186[_0xe549cc(0x19c)]+':\x20'+_0x357532);}function parseExplicitDbDirectory(_0x4fe074){const _0x9816e3=a136_0x5b3234,_0x20de92=/^db-(\d+)$/[_0x9816e3(0x1aa)](_0x4fe074);if(!_0x20de92)return null;const _0x41442b=Number(_0x20de92[0x1]);return Number[_0x9816e3(0x189)](_0x41442b)&&_0x41442b>0x0?_0x41442b:null;}
1
+ const a137_0x1e275d=a137_0x18f6;(function(_0x446b28,_0x346a35){const _0x146790=a137_0x18f6,_0x502d40=_0x446b28();while(!![]){try{const _0x11c982=parseInt(_0x146790(0x145))/0x1*(parseInt(_0x146790(0x11f))/0x2)+parseInt(_0x146790(0x12c))/0x3+parseInt(_0x146790(0x12f))/0x4+-parseInt(_0x146790(0x130))/0x5*(parseInt(_0x146790(0x151))/0x6)+parseInt(_0x146790(0x154))/0x7*(-parseInt(_0x146790(0x125))/0x8)+parseInt(_0x146790(0x11c))/0x9*(-parseInt(_0x146790(0x15a))/0xa)+parseInt(_0x146790(0x136))/0xb;if(_0x11c982===_0x346a35)break;else _0x502d40['push'](_0x502d40['shift']());}catch(_0x4b94c1){_0x502d40['push'](_0x502d40['shift']());}}}(a137_0x1afd,0xdc675));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';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';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';function a137_0x18f6(_0xc9869a,_0x4508da){_0xc9869a=_0xc9869a-0x11a;const _0x1afd4b=a137_0x1afd();let _0x18f6a3=_0x1afd4b[_0xc9869a];return _0x18f6a3;}import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x311a28,_0x581f12,_0x36c0a3){const _0x3c897b=a137_0x18f6,_0x19dc63=await scanLocalSqlQueries(_0x311a28),_0x351910=new Map();for(const _0x185b94 of _0x19dc63){if(_0x36c0a3&&_0x185b94[_0x3c897b(0x146)]!==_0x36c0a3)continue;const _0x308c15=_0x351910[_0x3c897b(0x12e)](_0x185b94[_0x3c897b(0x146)])??[];_0x308c15[_0x3c897b(0x123)](_0x185b94),_0x351910[_0x3c897b(0x140)](_0x185b94[_0x3c897b(0x146)],_0x308c15);}if(_0x36c0a3&&!_0x351910[_0x3c897b(0x13d)](_0x36c0a3))throw CliErrors[_0x3c897b(0x12d)](_0x3c897b(0x11a)+_0x36c0a3);const _0x35b6ac=[];for(const [_0x4c6eb6,_0x5f5c6f]of _0x351910['entries']()){if(_0x5f5c6f[_0x3c897b(0x12a)]===0x1){_0x35b6ac[_0x3c897b(0x123)](_0x5f5c6f[0x0]);continue;}const _0x2dbbe8=_0x581f12['sqls'][_0x4c6eb6],_0x2087e9=_0x2dbbe8?.[_0x3c897b(0x135)],_0xda9667=_0x2087e9?_0x5f5c6f[_0x3c897b(0x132)](_0x3f5fa3=>_0x3f5fa3[_0x3c897b(0x155)]!==_0x2087e9):_0x5f5c6f;if(_0x2dbbe8&&_0xda9667[_0x3c897b(0x12a)]===0x1){_0x35b6ac[_0x3c897b(0x123)](_0xda9667[0x0]);continue;}throw CliErrors[_0x3c897b(0x12d)](_0x3c897b(0x137)+_0x4c6eb6+_0x3c897b(0x14c));}return _0x35b6ac;}export const sqlPush={'service':'sql','command':'push','description':a137_0x1e275d(0x14a),'risk':a137_0x1e275d(0x11e),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x1e275d(0x152),'type':a137_0x1e275d(0x11b),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'dryRun'(_0x131abf){const _0x4e986b=a137_0x1e275d,_0x4c6bc3=loadSqlProjectConfig(_0x131abf['appCode']),_0x13be78=await readSqlLockFile(_0x4c6bc3[_0x4e986b(0x120)]),{appLock:_0x51a054}=ensureSqlLockScope(_0x13be78??createEmptySqlLock(),_0x131abf[_0x4e986b(0x126)],_0x4c6bc3['sqlRoot'],_0x4e986b(0x123)),_0x55c13c=await getTargetSqlQueries(_0x4c6bc3,_0x51a054,_0x131abf[_0x4e986b(0x13a)](_0x4e986b(0x134))||undefined),_0x4d4b86=[];for(const _0x37b992 of _0x55c13c){const _0x3a3874=await computeSqlFileHash(_0x37b992['filePath']),_0x3e4c5f=_0x51a054[_0x4e986b(0x14b)][_0x37b992[_0x4e986b(0x146)]],_0x55c944=!!_0x3e4c5f&&(_0x3e4c5f['path']!==_0x37b992['relativePath']||!!_0x37b992[_0x4e986b(0x129)]&&_0x3e4c5f[_0x4e986b(0x129)]!==_0x37b992['sqlName']);if(!_0x131abf[_0x4e986b(0x131)]('force')&&_0x3e4c5f&&_0x3e4c5f[_0x4e986b(0x15b)]===_0x3a3874&&!_0x55c944)continue;_0x4d4b86[_0x4e986b(0x123)](_0x37b992[_0x4e986b(0x146)]);}return{'method':_0x4e986b(0x138),'url':_0x4e986b(0x150),'body':{'sqlCodes':_0x4d4b86,'appCode':_0x131abf[_0x4e986b(0x126)]},'description':'Would\x20push\x20'+_0x4d4b86[_0x4e986b(0x12a)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x377cf4){const _0x289db9=a137_0x1e275d,_0x17f0ac=loadSqlProjectConfig(_0x377cf4[_0x289db9(0x126)]),_0x386f04=await readSqlLockFile(_0x17f0ac['lockFilePath']),{lockData:_0x5b8be4,appLock:_0x508e68}=ensureSqlLockScope(_0x386f04??createEmptySqlLock(),_0x377cf4[_0x289db9(0x126)],_0x17f0ac[_0x289db9(0x13c)],_0x289db9(0x123)),_0x56426c=await getTargetSqlQueries(_0x17f0ac,_0x508e68,_0x377cf4[_0x289db9(0x13a)](_0x289db9(0x134))||undefined);if(_0x56426c[_0x289db9(0x12a)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x289db9(0x159)};const _0x55ca82=[],_0x4c9e5a=[],_0x5a14ae=[];for(const _0x487952 of _0x56426c){const _0x250c1d=_0x508e68[_0x289db9(0x14b)][_0x487952[_0x289db9(0x146)]];if(!_0x250c1d){_0x5a14ae['push']({'sqlCode':_0x487952[_0x289db9(0x146)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x2fb946=await computeSqlFileHash(_0x487952['filePath']),_0x158705=_0x250c1d['path']!==_0x487952[_0x289db9(0x155)]||!!_0x487952['sqlName']&&_0x250c1d['sqlName']!==_0x487952[_0x289db9(0x129)];if(!_0x377cf4[_0x289db9(0x131)](_0x289db9(0x152))&&_0x250c1d[_0x289db9(0x15b)]===_0x2fb946&&!_0x158705){_0x4c9e5a[_0x289db9(0x123)]({'sqlCode':_0x487952['sqlCode'],'reason':_0x289db9(0x121)});continue;}if(_0x250c1d['version']==null){_0x5a14ae[_0x289db9(0x123)]({'sqlCode':_0x487952[_0x289db9(0x146)],'error':_0x289db9(0x156)});continue;}const _0x514e26=await readFile(_0x487952[_0x289db9(0x139)],'utf8'),_0x5abeb7=stripLocalSqlMetadata(_0x514e26,_0x487952[_0x289db9(0x148)]),_0x3284d0=_0x487952[_0x289db9(0x129)]||_0x250c1d['sqlName'],_0x109363=await resolveTargetDbBinding(_0x377cf4[_0x289db9(0x126)],_0x487952,_0x250c1d),_0x401c5d=await updateSqlQuery({'id':_0x250c1d[_0x289db9(0x13e)],'appCode':_0x377cf4[_0x289db9(0x126)],'sqlCode':_0x487952['sqlCode'],'sqlName':_0x3284d0,'dbId':_0x109363[_0x289db9(0x127)],'version':_0x250c1d[_0x289db9(0x124)],'sqlContent':_0x5abeb7,'sqlConfig':_0x250c1d[_0x289db9(0x11d)]??undefined}),_0xea510b=_0x401c5d[_0x289db9(0x127)]?await getDbName(_0x377cf4[_0x289db9(0x126)],Number(_0x401c5d['dbId']))['catch'](()=>_0x109363['dbName']):_0x109363[_0x289db9(0x14e)];_0x508e68['sqls'][_0x487952[_0x289db9(0x146)]]={...buildSqlLockEntry(_0x401c5d,_0x5abeb7,_0x2fb946,{'dbName':_0xea510b}),'path':_0x487952[_0x289db9(0x155)],'mode':_0x250c1d[_0x289db9(0x148)]},await archivePreviousSqlFileIfNeeded(_0x17f0ac,_0x250c1d['path'],_0x487952['relativePath']),_0x55ca82[_0x289db9(0x123)]({'sqlCode':_0x487952[_0x289db9(0x146)],'remoteId':_0x250c1d['remoteId']});}catch(_0x3f6e18){_0x5a14ae[_0x289db9(0x123)]({'sqlCode':_0x487952[_0x289db9(0x146)],'error':_0x3f6e18 instanceof Error?_0x3f6e18[_0x289db9(0x142)]:String(_0x3f6e18)});}}return _0x508e68[_0x289db9(0x143)]=new Date()[_0x289db9(0x12b)](),await writeSqlLockFile(_0x17f0ac[_0x289db9(0x120)],_0x5b8be4),{'ok':_0x5a14ae['length']===0x0,'data':{'pushed':_0x55ca82,'skipped':_0x4c9e5a,'failed':_0x5a14ae},'message':_0x289db9(0x144)+_0x55ca82[_0x289db9(0x12a)]+_0x289db9(0x14d)+_0x4c9e5a[_0x289db9(0x12a)]+_0x289db9(0x14f)+_0x5a14ae['length']+_0x289db9(0x133)};}};async function archivePreviousSqlFileIfNeeded(_0x165cb5,_0x28bc5e,_0x1a881a){const _0x564450=a137_0x1e275d;if(!_0x28bc5e||_0x28bc5e===_0x1a881a)return;const _0x42bd81=join(_0x165cb5['sqlRootDir'],_0x28bc5e);if(!await fileExists(_0x42bd81))return;const _0x1704c3=await moveToTrash(_0x165cb5[_0x564450(0x158)],_0x165cb5[_0x564450(0x122)],_0x42bd81);await cleanupEmptyDirectories(dirname(_0x42bd81),_0x165cb5[_0x564450(0x147)]),void _0x1704c3;}async function moveToTrash(_0x2184ea,_0xae2a0e,_0x3fd33d){const _0x3b5ae2=a137_0x1e275d,_0x5b9197=new Date()[_0x3b5ae2(0x12b)]()['replace'](/[:.]/g,'-'),_0x4128e3=relative(_0x2184ea,_0x3fd33d),_0x2418ea=join(_0xae2a0e,_0x5b9197,_0x4128e3);return await mkdir(dirname(_0x2418ea),{'recursive':!![]}),await rename(_0x3fd33d,_0x2418ea),_0x2418ea;}async function cleanupEmptyDirectories(_0x34c4ed,_0x9072d3){const _0x386e76=a137_0x1e275d;let _0xbd766f=resolve(_0x34c4ed);const _0x4a7d12=resolve(_0x9072d3);while(_0xbd766f['startsWith'](''+_0x4a7d12+sep)||_0xbd766f===_0x4a7d12){if(_0xbd766f===_0x4a7d12)return;try{const _0x45e45e=await readdir(_0xbd766f);if(_0x45e45e[_0x386e76(0x12a)]>0x0)return;await rmdir(_0xbd766f);}catch{return;}_0xbd766f=dirname(_0xbd766f);}}async function resolveTargetDbBinding(_0x10418c,_0x2a7aa0,_0x21a9a9){const _0x381697=a137_0x1e275d,_0xab7d26=_0x2a7aa0[_0x381697(0x149)];if(!_0xab7d26)return{'dbId':_0x21a9a9[_0x381697(0x127)],'dbName':_0x21a9a9['dbName']};const _0xb89573=buildDbDirectoryName(_0x21a9a9[_0x381697(0x14e)],_0x21a9a9[_0x381697(0x127)]);if(_0xab7d26===_0xb89573)return{'dbId':_0x21a9a9[_0x381697(0x127)],'dbName':_0x21a9a9[_0x381697(0x14e)]};const _0x4c7aee=parseExplicitDbDirectory(_0xab7d26);if(_0x4c7aee!=null)return{'dbId':_0x4c7aee,'dbName':await getDbName(_0x10418c,_0x4c7aee)['catch'](()=>undefined)};const _0x3da0e8=await listDatabases(_0x10418c),_0x3de22f=_0x3da0e8['filter'](_0x36e049=>buildDbDirectoryName(_0x36e049[_0x381697(0x14e)],_0x36e049[_0x381697(0x127)])===_0xab7d26);if(_0x3de22f[_0x381697(0x12a)]===0x1)return{'dbId':_0x3de22f[0x0][_0x381697(0x127)],'dbName':_0x3de22f[0x0][_0x381697(0x14e)]};if(_0x3de22f[_0x381697(0x12a)]===0x0)throw CliErrors[_0x381697(0x12d)](_0x381697(0x13b)+_0xab7d26+_0x381697(0x141)+_0x2a7aa0[_0x381697(0x146)]+'.');const _0x53d06a=_0x3de22f[_0x381697(0x128)](_0x89e2bc=>_0x89e2bc[_0x381697(0x14e)]+'\x20('+_0x89e2bc['dbId']+')')[_0x381697(0x157)](',\x20');throw CliErrors[_0x381697(0x12d)]('Local\x20directory\x20\x22'+_0xab7d26+_0x381697(0x13f)+_0x2a7aa0[_0x381697(0x146)]+':\x20'+_0x53d06a);}function parseExplicitDbDirectory(_0x579613){const _0x451650=a137_0x1e275d,_0x375bd1=/^db-(\d+)$/[_0x451650(0x153)](_0x579613);if(!_0x375bd1)return null;const _0x4331d7=Number(_0x375bd1[0x1]);return Number['isFinite'](_0x4331d7)&&_0x4331d7>0x0?_0x4331d7:null;}function a137_0x1afd(){const _0x57ff4f=['Local\x20SQL\x20not\x20found:\x20','boolean','91431DJrTUs','sqlConfig','high-risk-write','12156YujucD','lockFilePath','unchanged','trashDir','push','version','56ZKHQic','appCode','dbId','map','sqlName','length','toISOString','267051mKNeNK','validation','get','3131324yLdlUK','406040IqbfHD','bool','filter','\x20failed','sqlcode','path','29736806OOYYEK','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','POST','filePath','str','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlRoot','has','remoteId','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','set','\x22\x20for\x20sqlCode\x20','message','lastSync','Push\x20complete:\x20','23kTPjsZ','sqlCode','sqlRootDir','mode','dbDirectory','Push\x20local\x20SQL\x20files\x20to\x20remote','sqls','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x20pushed,\x20','dbName','\x20skipped,\x20','/smartapi/custom/updateUserCustomSql','6KbFvOW','force','exec','1562722mMOTZY','relativePath','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','join','projectRoot','No\x20local\x20SQL\x20files\x20found.','1150JNoXmL','hash'];a137_0x1afd=function(){return _0x57ff4f;};return a137_0x1afd();}
@@ -1 +1 @@
1
- const a137_0x551dc6=a137_0x3371;(function(_0x143235,_0x339cc1){const _0x16fd18=a137_0x3371,_0x443723=_0x143235();while(!![]){try{const _0x87b437=-parseInt(_0x16fd18(0x165))/0x1+parseInt(_0x16fd18(0x16b))/0x2*(-parseInt(_0x16fd18(0x167))/0x3)+parseInt(_0x16fd18(0x16a))/0x4+parseInt(_0x16fd18(0x169))/0x5*(parseInt(_0x16fd18(0x16f))/0x6)+-parseInt(_0x16fd18(0x164))/0x7+-parseInt(_0x16fd18(0x16c))/0x8*(parseInt(_0x16fd18(0x162))/0x9)+parseInt(_0x16fd18(0x16d))/0xa;if(_0x87b437===_0x339cc1)break;else _0x443723['push'](_0x443723['shift']());}catch(_0x59b38a){_0x443723['push'](_0x443723['shift']());}}}(a137_0x3cc4,0xac9e3));import{CliErrors}from'../../errors.js';function a137_0x3371(_0x156268,_0x538cd1){_0x156268=_0x156268-0x161;const _0x3cc483=a137_0x3cc4();let _0x3371db=_0x3cc483[_0x156268];return _0x3371db;}function a137_0x3cc4(){const _0x55521b=['save','3391974mZhKPh','validation','7205107MebukC','604950XUsHjN','Path\x20to\x20the\x20SQL\x20file','6yjvkhk','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','40kvVeec','2635440fpsKVT','1120954fLDAad','8VGdaCS','23371620kCUJRC','sqlname','632334ulFCbD','Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','description','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','string','sql','write','join','SQL\x20query\x20display\x20name'];a137_0x3cc4=function(){return _0x55521b;};return a137_0x3cc4();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a137_0x551dc6(0x172),a137_0x551dc6(0x168),'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`.'][a137_0x551dc6(0x176)]('\x0a');export const sqlSave={'service':a137_0x551dc6(0x174),'command':a137_0x551dc6(0x161),'description':'Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','risk':a137_0x551dc6(0x175),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'file','type':'string','required':!![],'description':a137_0x551dc6(0x166)},SQLCODE_FLAG_OPTIONAL,{'name':a137_0x551dc6(0x16e),'type':a137_0x551dc6(0x173),'description':a137_0x551dc6(0x177)},{'name':'db','type':'string','description':a137_0x551dc6(0x170)},{'name':a137_0x551dc6(0x171),'type':'string','description':'Query\x20description'}],async 'validate'(){const _0x4b4f95=a137_0x551dc6;throw CliErrors[_0x4b4f95(0x163)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x52d220=a137_0x551dc6;throw CliErrors[_0x52d220(0x163)](SQL_SAVE_DEPRECATED_HINT);}};
1
+ function a138_0x4ebb(_0x29e9ff,_0x2a141f){_0x29e9ff=_0x29e9ff-0xc3;const _0x27ad29=a138_0x27ad();let _0x4ebbb4=_0x27ad29[_0x29e9ff];return _0x4ebbb4;}function a138_0x27ad(){const _0x155022=['1691862hdAFLp','10mzQNsh','save','validation','18187763knwJLd','65070sVfPps','Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','804YwAckk','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','86927lnOtDp','write','26ZwqkZH','909448oTRxou','join','8785944wtDmyd','Path\x20to\x20the\x20SQL\x20file','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','18780HAhAHY','sql','file','Query\x20description','string','7poTVib','SQL\x20query\x20display\x20name','sqlname'];a138_0x27ad=function(){return _0x155022;};return a138_0x27ad();}const a138_0x24e003=a138_0x4ebb;(function(_0x1c8a7b,_0x3bcb5a){const _0x2ac3b0=a138_0x4ebb,_0x2e233d=_0x1c8a7b();while(!![]){try{const _0x2a9356=-parseInt(_0x2ac3b0(0xca))/0x1*(-parseInt(_0x2ac3b0(0xcc))/0x2)+-parseInt(_0x2ac3b0(0xda))/0x3+-parseInt(_0x2ac3b0(0xc8))/0x4*(parseInt(_0x2ac3b0(0xd2))/0x5)+parseInt(_0x2ac3b0(0xc6))/0x6+-parseInt(_0x2ac3b0(0xd7))/0x7*(-parseInt(_0x2ac3b0(0xcd))/0x8)+-parseInt(_0x2ac3b0(0xcf))/0x9+parseInt(_0x2ac3b0(0xdb))/0xa*(parseInt(_0x2ac3b0(0xc5))/0xb);if(_0x2a9356===_0x3bcb5a)break;else _0x2e233d['push'](_0x2e233d['shift']());}catch(_0x471d78){_0x2e233d['push'](_0x2e233d['shift']());}}}(a138_0x27ad,0x95a14));import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a138_0x24e003(0xd1),'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`.'][a138_0x24e003(0xce)]('\x0a');export const sqlSave={'service':a138_0x24e003(0xd3),'command':a138_0x24e003(0xc3),'description':a138_0x24e003(0xc9),'risk':a138_0x24e003(0xcb),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a138_0x24e003(0xd4),'type':'string','required':!![],'description':a138_0x24e003(0xd0)},SQLCODE_FLAG_OPTIONAL,{'name':a138_0x24e003(0xd9),'type':a138_0x24e003(0xd6),'description':a138_0x24e003(0xd8)},{'name':'db','type':a138_0x24e003(0xd6),'description':a138_0x24e003(0xc7)},{'name':'description','type':a138_0x24e003(0xd6),'description':a138_0x24e003(0xd5)}],async 'validate'(){const _0x1d9608=a138_0x24e003;throw CliErrors[_0x1d9608(0xc4)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x150847=a138_0x24e003;throw CliErrors[_0x150847(0xc4)](SQL_SAVE_DEPRECATED_HINT);}};
@@ -1 +1 @@
1
- (function(_0x49796d,_0xd79f5d){const _0x1bf590=a138_0x2b01,_0x3463f5=_0x49796d();while(!![]){try{const _0xdd8d58=-parseInt(_0x1bf590(0x13f))/0x1+parseInt(_0x1bf590(0x144))/0x2*(parseInt(_0x1bf590(0x12d))/0x3)+parseInt(_0x1bf590(0x12a))/0x4*(-parseInt(_0x1bf590(0x140))/0x5)+-parseInt(_0x1bf590(0x126))/0x6*(-parseInt(_0x1bf590(0x133))/0x7)+-parseInt(_0x1bf590(0x139))/0x8+-parseInt(_0x1bf590(0x11f))/0x9*(-parseInt(_0x1bf590(0x122))/0xa)+-parseInt(_0x1bf590(0x141))/0xb;if(_0xdd8d58===_0xd79f5d)break;else _0x3463f5['push'](_0x3463f5['shift']());}catch(_0x4abaa2){_0x3463f5['push'](_0x3463f5['shift']());}}}(a138_0x324e,0xd9079));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR='.rabetbase/sql';export function buildSqlLockEntry(_0x4604be,_0x50adf4,_0x44eed1,_0x5add13){const _0x560463=a138_0x2b01,_0x2ea074=detectSqlMode(_0x50adf4);return{'path':buildSqlRelativePath(_0x4604be[_0x560463(0x13b)],_0x4604be['sqlName'],_0x5add13?.[_0x560463(0x149)],_0x2ea074,_0x4604be[_0x560463(0x128)]),'hash':_0x44eed1,'remoteId':_0x4604be['id'],'version':_0x4604be[_0x560463(0x138)],'dbId':Number(_0x4604be[_0x560463(0x128)]),'dbName':_0x5add13?.[_0x560463(0x149)],'sqlName':_0x4604be[_0x560463(0x13c)],'sqlConfig':_0x4604be[_0x560463(0x132)]??undefined,'mode':_0x2ea074};}function a138_0x2b01(_0x1d0040,_0x231de0){_0x1d0040=_0x1d0040-0x11f;const _0x324ebb=a138_0x324e();let _0x2b013e=_0x324ebb[_0x1d0040];return _0x2b013e;}export function cloneSqlLockData(_0x33c5c8){const _0x557bbc=a138_0x2b01;return{'apps':Object[_0x557bbc(0x145)](Object[_0x557bbc(0x134)](_0x33c5c8[_0x557bbc(0x13a)])[_0x557bbc(0x13d)](([_0x1e8bde,_0x1b61ac])=>[_0x1e8bde,{'sqlRoot':_0x1b61ac[_0x557bbc(0x14c)],'lastSync':_0x1b61ac[_0x557bbc(0x137)],'sqls':{..._0x1b61ac[_0x557bbc(0x14b)]}}]))};}export function ensureRemoteSqlContent(_0x2a4e68){const _0x110be7=a138_0x2b01;return _0x2a4e68[_0x110be7(0x146)]??'';}export function buildLocalSqlFileContent(_0x18bab0,_0x47d29b,_0x435733){const _0x2fd662=a138_0x2b01,_0x27769d=_0x435733?.[_0x2fd662(0x12e)]??detectSqlMode(_0x47d29b),_0x102736=stripLocalSqlMetadata(_0x47d29b,_0x27769d)[_0x2fd662(0x14a)](),_0x2c5dbd=[...buildMetadataHeaderLines({'sqlCode':_0x18bab0['sqlCode'],'sqlName':_0x18bab0[_0x2fd662(0x13c)],'dbId':_0x18bab0[_0x2fd662(0x128)],'dbName':_0x435733?.[_0x2fd662(0x149)],'mode':_0x27769d,'syncedAt':_0x435733?.[_0x2fd662(0x124)],'description':_0x435733?.[_0x2fd662(0x131)]},_0x27769d),'',_0x102736],_0x21eb56=_0x2c5dbd[_0x2fd662(0x130)]('\x0a');return _0x21eb56[_0x2fd662(0x12b)]('\x0a')?_0x21eb56:_0x21eb56+'\x0a';}function a138_0x324e(){const _0x49d23b=['syncedAt','includes','168CDyfth','toLowerCase','dbId','trimStart','8VXZVcu','endsWith','\x20[y/N]\x20','1009251tfxdDH','mode','test','join','description','sqlConfig','224882MJBnRO','entries','filter','close','lastSync','version','1510792HbYxKt','apps','sqlCode','sqlName','map','stderr','7243PFfDgu','3970700jlsAwn','7825917oOQsxg','<!--\x20@lovrabet.','mybatisXml','8HrGNdn','fromEntries','sqlContent','stdin','path','dbName','trim','sqls','sqlRoot','10256184UFmnyo','replace','split','10znXmOW','yes'];a138_0x324e=function(){return _0x49d23b;};return a138_0x324e();}export function stripLocalSqlMetadata(_0x2cc6de,_0x1c55ac){const _0x228eec=a138_0x2b01,_0x6c73a2=_0x2cc6de[_0x228eec(0x120)](/\r\n/g,'\x0a')[_0x228eec(0x121)]('\x0a'),_0x41826a=[];let _0x236d1a=0x0;if(_0x1c55ac===_0x228eec(0x143))while(_0x236d1a<_0x6c73a2['length']){const _0x4195b0=_0x6c73a2[_0x236d1a]??'';if(/^\s*<!--\s*@lovrabet\./[_0x228eec(0x12f)](_0x4195b0)){_0x236d1a++;continue;}if(_0x4195b0[_0x228eec(0x14a)]()===''&&_0x236d1a>0x0){_0x236d1a++;continue;}break;}else while(_0x236d1a<_0x6c73a2['length']){const _0x5e1084=_0x6c73a2[_0x236d1a]??'';if(/^\s*--\s*@lovrabet\./[_0x228eec(0x12f)](_0x5e1084)){_0x236d1a++;continue;}if(_0x5e1084[_0x228eec(0x14a)]()===''&&_0x236d1a>0x0){_0x236d1a++;continue;}break;}for(;_0x236d1a<_0x6c73a2['length'];_0x236d1a++){_0x41826a['push'](_0x6c73a2[_0x236d1a]);}return _0x41826a['join']('\x0a')[_0x228eec(0x129)]();}export function resolveSqlMode(_0x4fba7d,_0x5df749){const _0x291dd5=a138_0x2b01;if(_0x5df749?.[_0x291dd5(0x12e)])return _0x5df749[_0x291dd5(0x12e)];return detectSqlMode(_0x4fba7d);}export function resolveSqlFileName(_0x32cf2e,_0x490d73,_0x235aa4){const _0x1add1b=a138_0x2b01;if(_0x235aa4?.['path'])return _0x235aa4[_0x1add1b(0x148)];if(_0x235aa4?.[_0x1add1b(0x13c)]||_0x235aa4?.[_0x1add1b(0x149)])return buildSqlRelativePath(_0x32cf2e,_0x235aa4?.[_0x1add1b(0x13c)],_0x235aa4?.[_0x1add1b(0x149)],resolveSqlMode(_0x490d73,_0x235aa4),_0x235aa4?.[_0x1add1b(0x128)]);return buildDefaultSqlFileName(_0x32cf2e,resolveSqlMode(_0x490d73,_0x235aa4));}export function resolveSqlLocalDir(_0x488c72,_0x2c8f14){return join(_0x488c72,SQL_LOCAL_REL_DIR,_0x2c8f14);}export async function confirmForceOverwrite(_0x1fc7b6){const _0x16e7e7=a138_0x2b01,_0xee8863=createInterface({'input':process[_0x16e7e7(0x147)],'output':process[_0x16e7e7(0x13e)]}),_0x18c4f0=await new Promise(_0x4953bb=>{const _0x23f1f4=_0x16e7e7;_0xee8863['question'](_0x1fc7b6+_0x23f1f4(0x12c),_0x4953bb);});return _0xee8863[_0x16e7e7(0x136)](),['y',_0x16e7e7(0x123)][_0x16e7e7(0x125)](_0x18c4f0[_0x16e7e7(0x14a)]()[_0x16e7e7(0x127)]());}export function findSqlLockScope(_0x31de77,_0x33cb95){const _0x3b177c=a138_0x2b01;return _0x31de77[_0x3b177c(0x13a)][_0x33cb95];}function buildMetadataHeaderLines(_0x10b503,_0x58534b){const _0x3d4d1=a138_0x2b01,_0xc290de=[['sqlCode',_0x10b503['sqlCode']],[_0x3d4d1(0x13c),_0x10b503['sqlName']],[_0x3d4d1(0x128),_0x10b503[_0x3d4d1(0x128)]],[_0x3d4d1(0x149),_0x10b503[_0x3d4d1(0x149)]],[_0x3d4d1(0x12e),_0x10b503[_0x3d4d1(0x12e)]],[_0x3d4d1(0x124),_0x10b503[_0x3d4d1(0x124)]],[_0x3d4d1(0x131),_0x10b503[_0x3d4d1(0x131)]]];if(_0x58534b===_0x3d4d1(0x143))return _0xc290de[_0x3d4d1(0x135)](([,_0x1af986])=>_0x1af986!==undefined&&_0x1af986!==null&&String(_0x1af986)[_0x3d4d1(0x14a)]()!=='')[_0x3d4d1(0x13d)](([_0x248c28,_0x715d75])=>_0x3d4d1(0x142)+_0x248c28+':\x20'+String(_0x715d75)+'\x20-->');return _0xc290de[_0x3d4d1(0x135)](([,_0xf943fc])=>_0xf943fc!==undefined&&_0xf943fc!==null&&String(_0xf943fc)[_0x3d4d1(0x14a)]()!=='')['map'](([_0x126aed,_0x4a0286])=>'--\x20@lovrabet.'+_0x126aed+':\x20'+String(_0x4a0286));}
1
+ const a139_0x7762f=a139_0x1fcb;(function(_0x4a41ee,_0x5307d6){const _0x567134=a139_0x1fcb,_0x2fdd9b=_0x4a41ee();while(!![]){try{const _0x587d6a=-parseInt(_0x567134(0xce))/0x1+parseInt(_0x567134(0xdc))/0x2+-parseInt(_0x567134(0xe5))/0x3+parseInt(_0x567134(0xd7))/0x4+parseInt(_0x567134(0xc6))/0x5+-parseInt(_0x567134(0xd4))/0x6*(parseInt(_0x567134(0xd8))/0x7)+parseInt(_0x567134(0xda))/0x8;if(_0x587d6a===_0x5307d6)break;else _0x2fdd9b['push'](_0x2fdd9b['shift']());}catch(_0x2db4f6){_0x2fdd9b['push'](_0x2fdd9b['shift']());}}}(a139_0x1d88,0x8d54a));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a139_0x7762f(0xe7);export function buildSqlLockEntry(_0x2398fe,_0x5a1ac9,_0x22e2f7,_0x1a0956){const _0x2e9964=a139_0x7762f,_0x5bf685=detectSqlMode(_0x5a1ac9);return{'path':buildSqlRelativePath(_0x2398fe[_0x2e9964(0xdb)],_0x2398fe[_0x2e9964(0xc8)],_0x1a0956?.[_0x2e9964(0xe1)],_0x5bf685,_0x2398fe['dbId']),'hash':_0x22e2f7,'remoteId':_0x2398fe['id'],'version':_0x2398fe[_0x2e9964(0xe0)],'dbId':Number(_0x2398fe['dbId']),'dbName':_0x1a0956?.[_0x2e9964(0xe1)],'sqlName':_0x2398fe[_0x2e9964(0xc8)],'sqlConfig':_0x2398fe[_0x2e9964(0xe4)]??undefined,'mode':_0x5bf685};}export function cloneSqlLockData(_0x45d6ea){const _0x4e9f5b=a139_0x7762f;return{'apps':Object['fromEntries'](Object['entries'](_0x45d6ea['apps'])[_0x4e9f5b(0xe3)](([_0x302247,_0x5f1166])=>[_0x302247,{'sqlRoot':_0x5f1166[_0x4e9f5b(0xea)],'lastSync':_0x5f1166[_0x4e9f5b(0xed)],'sqls':{..._0x5f1166[_0x4e9f5b(0xec)]}}]))};}export function ensureRemoteSqlContent(_0x5b5c30){const _0x28f896=a139_0x7762f;return _0x5b5c30[_0x28f896(0xd3)]??'';}export function buildLocalSqlFileContent(_0x486a70,_0x5b1644,_0x161c51){const _0x2637ae=a139_0x7762f,_0x44a5ac=_0x161c51?.[_0x2637ae(0xd0)]??detectSqlMode(_0x5b1644),_0xf86499=stripLocalSqlMetadata(_0x5b1644,_0x44a5ac)[_0x2637ae(0xd1)](),_0x416865=[...buildMetadataHeaderLines({'sqlCode':_0x486a70[_0x2637ae(0xdb)],'sqlName':_0x486a70[_0x2637ae(0xc8)],'dbId':_0x486a70[_0x2637ae(0xdd)],'dbName':_0x161c51?.[_0x2637ae(0xe1)],'mode':_0x44a5ac,'syncedAt':_0x161c51?.['syncedAt'],'description':_0x161c51?.[_0x2637ae(0xcb)]},_0x44a5ac),'',_0xf86499],_0x47c217=_0x416865[_0x2637ae(0xc9)]('\x0a');return _0x47c217[_0x2637ae(0xd6)]('\x0a')?_0x47c217:_0x47c217+'\x0a';}export function stripLocalSqlMetadata(_0x50332a,_0x251ce1){const _0x34d747=a139_0x7762f,_0xe7e123=_0x50332a[_0x34d747(0xc7)](/\r\n/g,'\x0a')['split']('\x0a'),_0x27e4a7=[];let _0x27443d=0x0;if(_0x251ce1===_0x34d747(0xe9))while(_0x27443d<_0xe7e123[_0x34d747(0xca)]){const _0x484825=_0xe7e123[_0x27443d]??'';if(/^\s*<!--\s*@lovrabet\./[_0x34d747(0xe8)](_0x484825)){_0x27443d++;continue;}if(_0x484825['trim']()===''&&_0x27443d>0x0){_0x27443d++;continue;}break;}else while(_0x27443d<_0xe7e123[_0x34d747(0xca)]){const _0x330767=_0xe7e123[_0x27443d]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x330767)){_0x27443d++;continue;}if(_0x330767[_0x34d747(0xd1)]()===''&&_0x27443d>0x0){_0x27443d++;continue;}break;}for(;_0x27443d<_0xe7e123[_0x34d747(0xca)];_0x27443d++){_0x27e4a7[_0x34d747(0xd2)](_0xe7e123[_0x27443d]);}return _0x27e4a7[_0x34d747(0xc9)]('\x0a')[_0x34d747(0xdf)]();}export function resolveSqlMode(_0x374ff,_0xddd471){const _0x4fad28=a139_0x7762f;if(_0xddd471?.['mode'])return _0xddd471[_0x4fad28(0xd0)];return detectSqlMode(_0x374ff);}export function resolveSqlFileName(_0x1ca3f4,_0x4b4152,_0xfc56fa){const _0x5be2e1=a139_0x7762f;if(_0xfc56fa?.['path'])return _0xfc56fa[_0x5be2e1(0xe6)];if(_0xfc56fa?.[_0x5be2e1(0xc8)]||_0xfc56fa?.[_0x5be2e1(0xe1)])return buildSqlRelativePath(_0x1ca3f4,_0xfc56fa?.[_0x5be2e1(0xc8)],_0xfc56fa?.[_0x5be2e1(0xe1)],resolveSqlMode(_0x4b4152,_0xfc56fa),_0xfc56fa?.[_0x5be2e1(0xdd)]);return buildDefaultSqlFileName(_0x1ca3f4,resolveSqlMode(_0x4b4152,_0xfc56fa));}export function resolveSqlLocalDir(_0x7043ce,_0x2036f3){return join(_0x7043ce,SQL_LOCAL_REL_DIR,_0x2036f3);}export async function confirmForceOverwrite(_0x447e0a){const _0x52a985=a139_0x7762f,_0x55ce6b=createInterface({'input':process[_0x52a985(0xee)],'output':process['stderr']}),_0x21497a=await new Promise(_0x2115f7=>{const _0x4d3c21=_0x52a985;_0x55ce6b['question'](_0x447e0a+_0x4d3c21(0xeb),_0x2115f7);});return _0x55ce6b['close'](),['y',_0x52a985(0xcc)][_0x52a985(0xcf)](_0x21497a[_0x52a985(0xd1)]()['toLowerCase']());}export function findSqlLockScope(_0xe54859,_0x33d245){const _0x51c808=a139_0x7762f;return _0xe54859[_0x51c808(0xcd)][_0x33d245];}function a139_0x1d88(){const _0x4201b8=['filter','endsWith','2866140Fpvqrp','329PWfycc','syncedAt','5230072izORmR','sqlCode','521796wdHdld','dbId','--\x20@lovrabet.','trimStart','version','dbName','<!--\x20@lovrabet.','map','sqlConfig','620361LWjbxC','path','.rabetbase/sql','test','mybatisXml','sqlRoot','\x20[y/N]\x20','sqls','lastSync','stdin','1271215JiRmam','replace','sqlName','join','length','description','yes','apps','251643RtfKVh','includes','mode','trim','push','sqlContent','108270eXpopa'];a139_0x1d88=function(){return _0x4201b8;};return a139_0x1d88();}function a139_0x1fcb(_0xb2ebf0,_0x7fdb4b){_0xb2ebf0=_0xb2ebf0-0xc6;const _0x1d887d=a139_0x1d88();let _0x1fcb96=_0x1d887d[_0xb2ebf0];return _0x1fcb96;}function buildMetadataHeaderLines(_0x1cf35b,_0x1302a8){const _0x153cf3=a139_0x7762f,_0x539256=[['sqlCode',_0x1cf35b[_0x153cf3(0xdb)]],[_0x153cf3(0xc8),_0x1cf35b['sqlName']],[_0x153cf3(0xdd),_0x1cf35b['dbId']],[_0x153cf3(0xe1),_0x1cf35b[_0x153cf3(0xe1)]],[_0x153cf3(0xd0),_0x1cf35b['mode']],[_0x153cf3(0xd9),_0x1cf35b[_0x153cf3(0xd9)]],[_0x153cf3(0xcb),_0x1cf35b[_0x153cf3(0xcb)]]];if(_0x1302a8===_0x153cf3(0xe9))return _0x539256[_0x153cf3(0xd5)](([,_0x4326e8])=>_0x4326e8!==undefined&&_0x4326e8!==null&&String(_0x4326e8)[_0x153cf3(0xd1)]()!=='')[_0x153cf3(0xe3)](([_0x4634ba,_0x2b8788])=>_0x153cf3(0xe2)+_0x4634ba+':\x20'+String(_0x2b8788)+'\x20-->');return _0x539256[_0x153cf3(0xd5)](([,_0x3d0309])=>_0x3d0309!==undefined&&_0x3d0309!==null&&String(_0x3d0309)[_0x153cf3(0xd1)]()!=='')[_0x153cf3(0xe3)](([_0x42864e,_0x549683])=>_0x153cf3(0xde)+_0x42864e+':\x20'+String(_0x549683));}
@@ -1 +1 @@
1
- const a139_0x270e34=a139_0x5cbf;(function(_0x2f3e91,_0xb389b1){const _0x384148=a139_0x5cbf,_0x201c24=_0x2f3e91();while(!![]){try{const _0x3ca1fa=-parseInt(_0x384148(0x19d))/0x1*(parseInt(_0x384148(0x196))/0x2)+-parseInt(_0x384148(0x197))/0x3*(parseInt(_0x384148(0x19f))/0x4)+-parseInt(_0x384148(0x1a2))/0x5+-parseInt(_0x384148(0x195))/0x6*(parseInt(_0x384148(0x1a8))/0x7)+parseInt(_0x384148(0x19e))/0x8+-parseInt(_0x384148(0x194))/0x9*(-parseInt(_0x384148(0x1a9))/0xa)+-parseInt(_0x384148(0x192))/0xb*(-parseInt(_0x384148(0x193))/0xc);if(_0x3ca1fa===_0xb389b1)break;else _0x201c24['push'](_0x201c24['shift']());}catch(_0x404e63){_0x201c24['push'](_0x201c24['shift']());}}}(a139_0x4bea,0x86228));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(_0x14df52){const _0x1badea=a139_0x5cbf,_0x35669d=[];let _0x297d97=0x1;while(!![]){const _0x3f518a=await listSqlQueries(_0x14df52,{'currentPage':_0x297d97,'pageSize':PAGE_SIZE}),_0x2dca78=_0x3f518a[_0x1badea(0x1a4)]??[];_0x35669d[_0x1badea(0x1a0)](..._0x2dca78[_0x1badea(0x18d)](_0x2cb836=>_0x2cb836['sqlCode']));if(_0x2dca78[_0x1badea(0x199)]===0x0)break;const _0x358fae=_0x3f518a[_0x1badea(0x19c)]?.[_0x1badea(0x1a1)];if(_0x358fae!=null?_0x35669d['length']>=_0x358fae:_0x2dca78['length']<PAGE_SIZE)break;_0x297d97++;}return _0x35669d;}export const sqlStatus={'service':a139_0x270e34(0x18e),'command':a139_0x270e34(0x18f),'description':a139_0x270e34(0x19a),'risk':a139_0x270e34(0x1ab),'flags':[{'name':a139_0x270e34(0x1a5),'type':a139_0x270e34(0x1a6),'description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x3b3e75){const _0x2a2254=a139_0x270e34,_0x4b952b=loadSqlProjectConfig(_0x3b3e75[_0x2a2254(0x191)]),_0x290181=await readSqlLockFile(_0x4b952b['lockFilePath']),{appLock:_0x42dcf8}=ensureSqlLockScope(_0x290181??createEmptySqlLock(),_0x4b952b['appCode'],_0x4b952b['sqlRoot'],'status'),_0x5816b7=await scanLocalSqlQueries(_0x4b952b),_0x38b890=[],_0x275a44=[],_0x44646e=[],_0x525515=[],_0x36d440=new Set(_0x5816b7[_0x2a2254(0x18d)](_0x17e9f0=>_0x17e9f0[_0x2a2254(0x19b)]));for(const _0x39d64b of _0x5816b7){const _0x11fe1a=await computeSqlFileHash(_0x39d64b[_0x2a2254(0x1a7)]),_0x521328=_0x42dcf8[_0x2a2254(0x198)][_0x39d64b['lockKey']],_0x463a63=!!_0x521328&&_0x521328['path']!==_0x39d64b['relativePath'],_0x350f34=!!_0x521328&&!!_0x39d64b[_0x2a2254(0x18b)]&&_0x521328[_0x2a2254(0x18b)]!==_0x39d64b['sqlName'];if(!_0x521328)_0x38b890[_0x2a2254(0x1a0)](_0x39d64b[_0x2a2254(0x19b)]);else _0x521328['hash']!==_0x11fe1a||_0x463a63||_0x350f34?_0x275a44[_0x2a2254(0x1a0)](_0x39d64b[_0x2a2254(0x19b)]):_0x44646e[_0x2a2254(0x1a0)](_0x39d64b[_0x2a2254(0x19b)]);}for(const _0x1f4aef of Object[_0x2a2254(0x190)](_0x42dcf8[_0x2a2254(0x198)])){!_0x36d440[_0x2a2254(0x1a3)](_0x1f4aef)&&_0x525515[_0x2a2254(0x1a0)](_0x1f4aef);}const _0x3613e6=[];if(_0x3b3e75['bool'](_0x2a2254(0x1a5))){const _0x1168b7=await fetchAllSqlCodes(_0x3b3e75['appCode']);for(const _0x288575 of _0x1168b7){!_0x36d440['has'](_0x288575)&&!_0x42dcf8[_0x2a2254(0x198)][_0x288575]&&_0x3613e6[_0x2a2254(0x1a0)](_0x288575);}}const _0x384a81=_0x38b890[_0x2a2254(0x199)]===0x0&&_0x275a44[_0x2a2254(0x199)]===0x0&&_0x525515[_0x2a2254(0x199)]===0x0&&_0x3613e6['length']===0x0;return{'ok':!![],'data':{'added':_0x38b890,'modified':_0x275a44,'missing':_0x525515,'unchanged':_0x44646e,'remoteOnly':_0x3613e6},'message':_0x384a81?'All\x20SQL\x20queries\x20are\x20in\x20sync.':_0x38b890[_0x2a2254(0x199)]+'\x20added,\x20'+_0x275a44[_0x2a2254(0x199)]+'\x20modified,\x20'+_0x525515['length']+'\x20missing,\x20'+_0x44646e[_0x2a2254(0x199)]+_0x2a2254(0x18c)+(_0x3613e6[_0x2a2254(0x199)]>0x0?',\x20'+_0x3613e6[_0x2a2254(0x199)]+_0x2a2254(0x1aa):'')};}};function a139_0x5cbf(_0x40caa6,_0x3c13bb){_0x40caa6=_0x40caa6-0x18b;const _0x4bea7e=a139_0x4bea();let _0x5cbfee=_0x4bea7e[_0x40caa6];return _0x5cbfee;}function a139_0x4bea(){const _0x3092db=['appCode','5089997cwRurV','72JekeRs','36lWhBzb','114RILMdb','1146pcSyMp','66UolNOx','sqls','length','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','lockKey','paging','1431nfJqoD','3636160ofoTQY','37460bURJMo','push','totalCount','4601930vJoHnK','has','tableData','remote','boolean','filePath','292327feQGck','145930EgaOre','\x20remote-only','read','sqlName','\x20unchanged','map','sql','status','keys'];a139_0x4bea=function(){return _0x3092db;};return a139_0x4bea();}
1
+ const a140_0x559aef=a140_0x378b;(function(_0x197116,_0x22409a){const _0x195584=a140_0x378b,_0x58c299=_0x197116();while(!![]){try{const _0x57cdd4=-parseInt(_0x195584(0x148))/0x1+-parseInt(_0x195584(0x135))/0x2*(-parseInt(_0x195584(0x145))/0x3)+parseInt(_0x195584(0x139))/0x4+parseInt(_0x195584(0x133))/0x5+-parseInt(_0x195584(0x138))/0x6+-parseInt(_0x195584(0x13b))/0x7+parseInt(_0x195584(0x132))/0x8;if(_0x57cdd4===_0x22409a)break;else _0x58c299['push'](_0x58c299['shift']());}catch(_0x542f76){_0x58c299['push'](_0x58c299['shift']());}}}(a140_0x50af,0x3698d));import{listSqlQueries}from'../../core/api-client.js';function a140_0x378b(_0x4de4a0,_0x4f4512){_0x4de4a0=_0x4de4a0-0x127;const _0x50af45=a140_0x50af();let _0x378bc8=_0x50af45[_0x4de4a0];return _0x378bc8;}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;function a140_0x50af(){const _0x3ad850=['length','\x20remote-only','sqlCode','lockKey','bool','push','totalCount','\x20modified,\x20','relativePath','372942hcznmu','remote','paging','207357BOcHGE','keys','hash','filePath','appCode','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','read','status','\x20added,\x20','has','sqls','path','tableData','4061360pbJogU','286435lHRFkO','\x20unchanged','4HKQeFS','map','All\x20SQL\x20queries\x20are\x20in\x20sync.','805104IKDBNB','655340itWMLO','sqlName','2885750BAWNVD'];a140_0x50af=function(){return _0x3ad850;};return a140_0x50af();}async function fetchAllSqlCodes(_0x34e136){const _0x2dd561=a140_0x378b,_0x34e6f0=[];let _0x33b6c6=0x1;while(!![]){const _0x298cf1=await listSqlQueries(_0x34e136,{'currentPage':_0x33b6c6,'pageSize':PAGE_SIZE}),_0x16318f=_0x298cf1[_0x2dd561(0x131)]??[];_0x34e6f0[_0x2dd561(0x141)](..._0x16318f['map'](_0x2222d4=>_0x2222d4[_0x2dd561(0x13e)]));if(_0x16318f['length']===0x0)break;const _0x289a8f=_0x298cf1[_0x2dd561(0x147)]?.[_0x2dd561(0x142)];if(_0x289a8f!=null?_0x34e6f0[_0x2dd561(0x13c)]>=_0x289a8f:_0x16318f[_0x2dd561(0x13c)]<PAGE_SIZE)break;_0x33b6c6++;}return _0x34e6f0;}export const sqlStatus={'service':'sql','command':a140_0x559aef(0x12c),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a140_0x559aef(0x12b),'flags':[{'name':a140_0x559aef(0x146),'type':'boolean','description':a140_0x559aef(0x12a)}],async 'execute'(_0x1eee68){const _0x766ac1=a140_0x559aef,_0x26fdf5=loadSqlProjectConfig(_0x1eee68[_0x766ac1(0x129)]),_0x5adb30=await readSqlLockFile(_0x26fdf5['lockFilePath']),{appLock:_0xcd6b32}=ensureSqlLockScope(_0x5adb30??createEmptySqlLock(),_0x26fdf5[_0x766ac1(0x129)],_0x26fdf5['sqlRoot'],_0x766ac1(0x12c)),_0x26893d=await scanLocalSqlQueries(_0x26fdf5),_0x8aa4ba=[],_0x4f1572=[],_0x3321e4=[],_0x525cfc=[],_0x3b9292=new Set(_0x26893d[_0x766ac1(0x136)](_0x3d5907=>_0x3d5907[_0x766ac1(0x13f)]));for(const _0x4370ea of _0x26893d){const _0x37f437=await computeSqlFileHash(_0x4370ea[_0x766ac1(0x128)]),_0x16238a=_0xcd6b32[_0x766ac1(0x12f)][_0x4370ea[_0x766ac1(0x13f)]],_0x4cf02d=!!_0x16238a&&_0x16238a[_0x766ac1(0x130)]!==_0x4370ea[_0x766ac1(0x144)],_0x8ba31d=!!_0x16238a&&!!_0x4370ea[_0x766ac1(0x13a)]&&_0x16238a['sqlName']!==_0x4370ea['sqlName'];if(!_0x16238a)_0x8aa4ba[_0x766ac1(0x141)](_0x4370ea['lockKey']);else _0x16238a[_0x766ac1(0x127)]!==_0x37f437||_0x4cf02d||_0x8ba31d?_0x4f1572['push'](_0x4370ea[_0x766ac1(0x13f)]):_0x3321e4[_0x766ac1(0x141)](_0x4370ea[_0x766ac1(0x13f)]);}for(const _0x407193 of Object[_0x766ac1(0x149)](_0xcd6b32[_0x766ac1(0x12f)])){!_0x3b9292[_0x766ac1(0x12e)](_0x407193)&&_0x525cfc[_0x766ac1(0x141)](_0x407193);}const _0x5d25a5=[];if(_0x1eee68[_0x766ac1(0x140)]('remote')){const _0x3ba5c4=await fetchAllSqlCodes(_0x1eee68['appCode']);for(const _0x28596f of _0x3ba5c4){!_0x3b9292['has'](_0x28596f)&&!_0xcd6b32[_0x766ac1(0x12f)][_0x28596f]&&_0x5d25a5[_0x766ac1(0x141)](_0x28596f);}}const _0x5012fa=_0x8aa4ba['length']===0x0&&_0x4f1572[_0x766ac1(0x13c)]===0x0&&_0x525cfc[_0x766ac1(0x13c)]===0x0&&_0x5d25a5['length']===0x0;return{'ok':!![],'data':{'added':_0x8aa4ba,'modified':_0x4f1572,'missing':_0x525cfc,'unchanged':_0x3321e4,'remoteOnly':_0x5d25a5},'message':_0x5012fa?_0x766ac1(0x137):_0x8aa4ba[_0x766ac1(0x13c)]+_0x766ac1(0x12d)+_0x4f1572['length']+_0x766ac1(0x143)+_0x525cfc[_0x766ac1(0x13c)]+'\x20missing,\x20'+_0x3321e4[_0x766ac1(0x13c)]+_0x766ac1(0x134)+(_0x5d25a5[_0x766ac1(0x13c)]>0x0?',\x20'+_0x5d25a5[_0x766ac1(0x13c)]+_0x766ac1(0x13d):'')};}};