@lovrabet/rabetbase-cli 2.5.2-beta.3 → 2.5.2-beta.4

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 (349) 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/api/generate-sdk-config-file.js +1 -1
  6. package/lib/auth/auth-server-ui.js +1 -1
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.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-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-restore.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.js +1 -1
  95. package/lib/commands/db/table-diff-shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/deployment/auto-sync.js +1 -1
  100. package/lib/commands/deployment/index.js +1 -1
  101. package/lib/commands/deployment/sync-all.js +1 -1
  102. package/lib/commands/deployment/sync-jobs.js +1 -1
  103. package/lib/commands/deployment/sync-status.js +1 -1
  104. package/lib/commands/deployment/sync.js +1 -1
  105. package/lib/commands/doctor.js +1 -1
  106. package/lib/commands/file/index.js +1 -1
  107. package/lib/commands/instant-api-policy/current.js +1 -1
  108. package/lib/commands/instant-api-policy/index.js +1 -1
  109. package/lib/commands/instant-api-policy/init.js +1 -1
  110. package/lib/commands/instant-api-policy/publish.js +1 -1
  111. package/lib/commands/instant-api-policy/pull.js +1 -1
  112. package/lib/commands/instant-api-policy/revision.js +1 -1
  113. package/lib/commands/instant-api-policy/revisions.js +1 -1
  114. package/lib/commands/instant-api-policy/rollback.js +1 -1
  115. package/lib/commands/instant-api-policy/shared.js +1 -1
  116. package/lib/commands/instant-api-policy/validate.js +1 -1
  117. package/lib/commands/issue/index.js +1 -1
  118. package/lib/commands/issue/nudge.js +1 -1
  119. package/lib/commands/issue/report.js +1 -1
  120. package/lib/commands/issue/shared.js +1 -1
  121. package/lib/commands/kb/create.js +1 -1
  122. package/lib/commands/kb/delete.js +1 -1
  123. package/lib/commands/kb/detail.js +1 -1
  124. package/lib/commands/kb/index.js +1 -1
  125. package/lib/commands/kb/list.js +1 -1
  126. package/lib/commands/kb/search.js +1 -1
  127. package/lib/commands/kb/shared.js +1 -1
  128. package/lib/commands/kb/update.js +1 -1
  129. package/lib/commands/logs/index.js +1 -1
  130. package/lib/commands/menu/asset-update.js +1 -1
  131. package/lib/commands/menu/delete.js +1 -1
  132. package/lib/commands/menu/external-link-create.js +1 -1
  133. package/lib/commands/menu/external-link-update.js +1 -1
  134. package/lib/commands/menu/group-create.js +1 -1
  135. package/lib/commands/menu/group-update.js +1 -1
  136. package/lib/commands/menu/index.js +1 -1
  137. package/lib/commands/menu/list.js +1 -1
  138. package/lib/commands/menu/move.js +1 -1
  139. package/lib/commands/menu/regroup-start.js +1 -1
  140. package/lib/commands/menu/rename.js +1 -1
  141. package/lib/commands/menu/shared/compare-table.js +1 -1
  142. package/lib/commands/menu/shared/delete-plan.js +1 -1
  143. package/lib/commands/menu/shared/facts.js +1 -1
  144. package/lib/commands/menu/shared/index.js +1 -1
  145. package/lib/commands/menu/shared/inquirer.js +1 -1
  146. package/lib/commands/menu/shared/local-pages.js +1 -1
  147. package/lib/commands/menu/shared/logic.js +1 -1
  148. package/lib/commands/menu/shared/mutations.js +1 -1
  149. package/lib/commands/menu/shared/service.js +1 -1
  150. package/lib/commands/menu/shared/sync-core.js +1 -1
  151. package/lib/commands/menu/shared/update-core.js +1 -1
  152. package/lib/commands/menu/shared/valid-url.js +1 -1
  153. package/lib/commands/menu/sync.js +1 -1
  154. package/lib/commands/menu/visibility-update.js +1 -1
  155. package/lib/commands/notification/config-create.js +1 -1
  156. package/lib/commands/notification/config-delete.js +1 -1
  157. package/lib/commands/notification/config-list.js +1 -1
  158. package/lib/commands/notification/config-update.js +1 -1
  159. package/lib/commands/notification/index.js +1 -1
  160. package/lib/commands/notification/shared.js +1 -1
  161. package/lib/commands/ocr/index.js +1 -1
  162. package/lib/commands/page/create.js +1 -1
  163. package/lib/commands/page/custom/detail.js +1 -1
  164. package/lib/commands/page/custom/list.js +1 -1
  165. package/lib/commands/page/custom/publish.js +1 -1
  166. package/lib/commands/page/custom/shared.d.ts +0 -8
  167. package/lib/commands/page/custom/shared.js +1 -1
  168. package/lib/commands/page/custom/syntax.js +1 -1
  169. package/lib/commands/page/custom/update.js +1 -1
  170. package/lib/commands/page/data-list-status.js +1 -1
  171. package/lib/commands/page/generate-start.js +1 -1
  172. package/lib/commands/page/generate-status.js +1 -1
  173. package/lib/commands/page/index.js +1 -1
  174. package/lib/commands/page/pull.js +1 -1
  175. package/lib/commands/page/push.js +1 -1
  176. package/lib/commands/page/relation-audit.js +1 -1
  177. package/lib/commands/page/restore.js +1 -1
  178. package/lib/commands/page/shared.js +1 -1
  179. package/lib/commands/page/sync.js +1 -1
  180. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  181. package/lib/commands/project/create/format-elapsed.js +1 -1
  182. package/lib/commands/project/create/main.js +1 -1
  183. package/lib/commands/project/create/materialize-project-template.js +1 -1
  184. package/lib/commands/project/create/project-name.js +1 -1
  185. package/lib/commands/project/create/project-template-archive.js +1 -1
  186. package/lib/commands/project/create/project-template-path.js +1 -1
  187. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  188. package/lib/commands/project/create/use-format-code.js +1 -1
  189. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  190. package/lib/commands/project/domain-routing-sync.js +1 -1
  191. package/lib/commands/project/index.js +1 -1
  192. package/lib/commands/project/upgrade.js +1 -1
  193. package/lib/commands/registry.js +1 -1
  194. package/lib/commands/role/delete.js +1 -1
  195. package/lib/commands/role/detail.js +1 -1
  196. package/lib/commands/role/index.js +1 -1
  197. package/lib/commands/role/list.js +1 -1
  198. package/lib/commands/role/shared.js +1 -1
  199. package/lib/commands/role/update.js +1 -1
  200. package/lib/commands/role/user-add.js +1 -1
  201. package/lib/commands/role/user-remove.js +1 -1
  202. package/lib/commands/role/user-resolve.js +1 -1
  203. package/lib/commands/rule/get.js +1 -1
  204. package/lib/commands/rule/index.js +1 -1
  205. package/lib/commands/rule/list.js +1 -1
  206. package/lib/commands/rule/set.js +1 -1
  207. package/lib/commands/rule/shared.js +1 -1
  208. package/lib/commands/run/index.d.ts +4 -0
  209. package/lib/commands/run/index.js +1 -1
  210. package/lib/commands/schema.js +1 -1
  211. package/lib/commands/sql/create.js +1 -1
  212. package/lib/commands/sql/delete.js +1 -1
  213. package/lib/commands/sql/detail.js +1 -1
  214. package/lib/commands/sql/exec.js +1 -1
  215. package/lib/commands/sql/index.js +1 -1
  216. package/lib/commands/sql/list.js +1 -1
  217. package/lib/commands/sql/pull.js +1 -1
  218. package/lib/commands/sql/push.js +1 -1
  219. package/lib/commands/sql/shared.js +1 -1
  220. package/lib/commands/sql/status.js +1 -1
  221. package/lib/commands/sql/validate.js +1 -1
  222. package/lib/commands/task/index.js +1 -1
  223. package/lib/commands/task/status.js +1 -1
  224. package/lib/commands/tenant/index.js +1 -1
  225. package/lib/commands/tenant/members-list.js +1 -1
  226. package/lib/commands/tenant/shared.js +1 -1
  227. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  228. package/lib/commands/user-account/index.js +1 -1
  229. package/lib/commands/workspace/add.js +1 -1
  230. package/lib/commands/workspace/index.js +1 -1
  231. package/lib/commands/workspace/remove.js +1 -1
  232. package/lib/config/domain-config.js +1 -1
  233. package/lib/config/project-domain-routing.d.ts +5 -1
  234. package/lib/config/project-domain-routing.js +1 -1
  235. package/lib/config/schema.js +1 -1
  236. package/lib/constant/cdn.js +1 -1
  237. package/lib/constant/cli.js +1 -1
  238. package/lib/constant/defaults.js +1 -1
  239. package/lib/constant/domain.js +1 -1
  240. package/lib/constant/env.js +1 -1
  241. package/lib/constant/output.js +1 -1
  242. package/lib/constant/paths.js +1 -1
  243. package/lib/constant/region.js +1 -1
  244. package/lib/constant/risk.js +1 -1
  245. package/lib/constant/routing-profile.js +1 -1
  246. package/lib/context/app-resolver.js +1 -1
  247. package/lib/context/auth-resolver.js +1 -1
  248. package/lib/context/config-loader.js +1 -1
  249. package/lib/context.js +1 -1
  250. package/lib/core/alias-resolver.js +1 -1
  251. package/lib/core/api-client.d.ts +0 -26
  252. package/lib/core/api-client.js +1 -1
  253. package/lib/core/bff/config.js +1 -1
  254. package/lib/core/bff/file-system.js +1 -1
  255. package/lib/core/bff/hash.js +1 -1
  256. package/lib/core/bff/lock.js +1 -1
  257. package/lib/core/bff/utils.js +1 -1
  258. package/lib/core/db-resolver.js +1 -1
  259. package/lib/core/instant-api-policy/config.js +1 -1
  260. package/lib/core/kb-search-client.js +1 -1
  261. package/lib/core/page/file-system.d.ts +43 -0
  262. package/lib/core/page/file-system.js +1 -1
  263. package/lib/core/page/hash.js +1 -1
  264. package/lib/core/page/lock.js +1 -1
  265. package/lib/core/sql-index-auditor.js +1 -1
  266. package/lib/core/sql-sync/config.js +1 -1
  267. package/lib/core/sql-sync/file-system.js +1 -1
  268. package/lib/core/sql-sync/hash.js +1 -1
  269. package/lib/core/sql-sync/lock.js +1 -1
  270. package/lib/core/sql-sync/utils.js +1 -1
  271. package/lib/core/sql-validator.js +1 -1
  272. package/lib/errors.js +1 -1
  273. package/lib/framework/build-all-flags.js +1 -1
  274. package/lib/framework/error-output.js +1 -1
  275. package/lib/framework/explicit-yes.js +1 -1
  276. package/lib/framework/flags.js +1 -1
  277. package/lib/framework/help.js +1 -1
  278. package/lib/framework/index.js +1 -1
  279. package/lib/framework/output.js +1 -1
  280. package/lib/framework/response.js +1 -1
  281. package/lib/framework/runner-alias.js +1 -1
  282. package/lib/framework/runner.js +1 -1
  283. package/lib/framework/schema-export.js +1 -1
  284. package/lib/framework/supported-flags.js +1 -1
  285. package/lib/framework/types.js +1 -1
  286. package/lib/generated/build-info.d.ts +4 -4
  287. package/lib/generated/build-info.js +1 -1
  288. package/lib/generated/official-routing.js +1 -1
  289. package/lib/generated/routing-contract.js +1 -1
  290. package/lib/help.js +1 -1
  291. package/lib/postinstall.js +1 -1
  292. package/lib/runtime/confirmation.js +1 -1
  293. package/lib/runtime/event.js +1 -1
  294. package/lib/runtime/index.js +1 -1
  295. package/lib/runtime/queue.js +1 -1
  296. package/lib/runtime/resolve.js +1 -1
  297. package/lib/skills/builtin-skill.js +1 -1
  298. package/lib/skills/main.js +1 -1
  299. package/lib/skills/npx-skills-add.js +1 -1
  300. package/lib/skills/skill-presence.js +1 -1
  301. package/lib/telemetry/cli-command-trace.js +1 -1
  302. package/lib/telemetry/cli-help-trace.js +1 -1
  303. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  304. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  305. package/lib/telemetry/send-cli-trace-log.js +1 -1
  306. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  307. package/lib/utils/ai_config.js +1 -1
  308. package/lib/utils/apply-jq-filter.js +1 -1
  309. package/lib/utils/cdn-config.js +1 -1
  310. package/lib/utils/check-sdk-version.js +1 -1
  311. package/lib/utils/cli-version-check.js +1 -1
  312. package/lib/utils/cli-version-policy.js +1 -1
  313. package/lib/utils/config.js +1 -1
  314. package/lib/utils/entity-with-id.js +1 -1
  315. package/lib/utils/file-utils.js +1 -1
  316. package/lib/utils/guides-cdn.js +1 -1
  317. package/lib/utils/http-client.js +1 -1
  318. package/lib/utils/is-non-interactive.js +1 -1
  319. package/lib/utils/logger.js +1 -1
  320. package/lib/utils/params.js +1 -1
  321. package/lib/utils/platform.js +1 -1
  322. package/lib/utils/sleep.js +1 -1
  323. package/lib/utils/template-replacer.js +1 -1
  324. package/lib/utils/update-notice.js +1 -1
  325. package/lib/utils/version.js +1 -1
  326. package/lib/utils/with-active-cookie.js +1 -1
  327. package/lib/utils/write-cli-side-channel.js +1 -1
  328. package/package.json +2 -1
  329. package/skills/rabetbase/SKILL.md +5 -5
  330. package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
  331. package/skills/rabetbase/guides/page-development-workflow.md +1 -1
  332. package/skills/rabetbase/knowledge/components.md +292 -0
  333. package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
  334. package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
  335. package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
  336. package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
  337. package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
  338. package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
  339. package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
  340. package/skills/rabetbase/references/rabetbase-run.md +1 -0
  341. package/skills/rabetbase.manifest.json +5 -4
  342. package/templates/README.md +10 -4
  343. package/templates/custom-pages/blank.json +5 -0
  344. package/templates/custom-pages/dashboard.json +5 -0
  345. package/templates/custom-pages/onepage.json +5 -0
  346. package/templates/generate-api/api.ts.tpl +1 -1
  347. package/lib/commands/page/custom/template.d.ts +0 -8
  348. package/lib/commands/page/custom/template.js +0 -1
  349. package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
@@ -1 +1 @@
1
- const a207_0xfa70a2=a207_0x4b55;(function(_0x29588c,_0x465cb5){const _0x4a517a=a207_0x4b55,_0x55bc00=_0x29588c();while(!![]){try{const _0x385995=parseInt(_0x4a517a(0xd6))/0x1*(parseInt(_0x4a517a(0xba))/0x2)+-parseInt(_0x4a517a(0xbb))/0x3*(-parseInt(_0x4a517a(0xe5))/0x4)+-parseInt(_0x4a517a(0xc8))/0x5*(-parseInt(_0x4a517a(0xc4))/0x6)+parseInt(_0x4a517a(0xd2))/0x7+parseInt(_0x4a517a(0xe0))/0x8+parseInt(_0x4a517a(0xd3))/0x9*(-parseInt(_0x4a517a(0xd1))/0xa)+parseInt(_0x4a517a(0xc6))/0xb*(-parseInt(_0x4a517a(0xc3))/0xc);if(_0x385995===_0x465cb5)break;else _0x55bc00['push'](_0x55bc00['shift']());}catch(_0x2b4923){_0x55bc00['push'](_0x55bc00['shift']());}}}(a207_0x13bc,0x3f665));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set(['start',a207_0xfa70a2(0xd7)]);function readPackageScripts(_0x5b6e1a){const _0x5ed603=a207_0xfa70a2,_0x215918=resolve(_0x5b6e1a,_0x5ed603(0xcb));if(!existsSync(_0x215918))return null;try{const _0x567818=JSON[_0x5ed603(0xc9)](readFileSync(_0x215918,_0x5ed603(0xda)));return _0x567818[_0x5ed603(0xce)]??{};}catch{return null;}}function detectPackageManager(_0x488539){const _0x2031de=a207_0xfa70a2;if(existsSync(resolve(_0x488539,_0x2031de(0xbc)))||existsSync(resolve(_0x488539,_0x2031de(0xc7))))return _0x2031de(0xdf);if(existsSync(resolve(_0x488539,_0x2031de(0xb9))))return _0x2031de(0xbf);if(existsSync(resolve(_0x488539,_0x2031de(0xb4))))return'yarn';return _0x2031de(0xc0);}async function versionCheck(_0x219c4a){const _0x4ac8c7=a207_0xfa70a2,_0x28c0a4=await checkCliVersion();(_0x28c0a4[_0x4ac8c7(0xd0)]||_0x28c0a4['belowMinimum'])&&(printCliUpgradeWarning(_0x28c0a4),assertCliVersionSupported(_0x28c0a4));const _0x23400e=await checkSdkVersion(_0x219c4a);if(_0x23400e[_0x4ac8c7(0xd0)])printSdkUpgradeWarning(_0x23400e);}function a207_0x4b55(_0x51b486,_0x1e97b8){_0x51b486=_0x51b486-0xb3;const _0x13bcbb=a207_0x13bc();let _0x4b555b=_0x13bcbb[_0x51b486];return _0x4b555b;}function a207_0x13bc(){const _0x422af4=['push','package.json','all','Run\x20a\x20package.json\x20script','scripts','validation','needsUpgrade','50ibFLix','2852766kBWtlY','39429jJSANZ','keys','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','3718WxYzsg','dev','vite\x20preview\x20exited\x20with\x20code\x20','log','utf-8','args','\x0a\x20\x20Usage:\x20','cwd','\x20run\x20start','bun','2632856njPnvd','Available:\x20','join','\x20exited\x20with\x20code\x20','boolean','2284FatsJt','--watch','watch','slice','.bin','length','bool','script','Enable\x20watch\x20mode\x20for\x20preview','\x20run\x20<script>\x0a','Script\x20\x22','yarn.lock','\x20\x20\x20\x20','(none)','preview','inherit','pnpm-lock.yaml','6IUBjcO','2643NVtxky','bun.lockb','run','node_modules','pnpm','npm','close','error','14892ZFyPTB','66AsmLdc','Script\x20name\x20defined\x20in\x20package.json','12067YnCfgv','bun.lock','178235uIYdbb','parse'];a207_0x13bc=function(){return _0x422af4;};return a207_0x13bc();}function spawnScript(_0x30c2db,_0x163579,_0x5a80b1,_0x5ec22d){return new Promise((_0x565629,_0x344cb3)=>{const _0x59d47e=a207_0x4b55,_0x17146f=[_0x59d47e(0xbd),_0x163579,..._0x5a80b1],_0x2fcfb0=spawn(_0x30c2db,_0x17146f,{'cwd':_0x5ec22d,'stdio':_0x59d47e(0xb8),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5ec22d,'node_modules',_0x59d47e(0xe9))+delimiter+process.env.PATH}});_0x2fcfb0['on'](_0x59d47e(0xc1),_0x3646eb=>{const _0x3da486=_0x59d47e;if(_0x3646eb===0x0||_0x3646eb===null)_0x565629();else _0x344cb3(new Error(_0x30c2db+'\x20run\x20'+_0x163579+_0x3da486(0xe3)+_0x3646eb));}),_0x2fcfb0['on'](_0x59d47e(0xc2),_0x344cb3);});}function spawnViteBuildWatch(_0x441761){return new Promise((_0x2083a7,_0x3e280c)=>{const _0x1a5fa9=a207_0x4b55,_0x1f1a35=spawn('vite',['build',_0x1a5fa9(0xe6)],{'cwd':_0x441761,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x441761,_0x1a5fa9(0xbe),_0x1a5fa9(0xe9))+delimiter+process.env.PATH}});_0x1f1a35['on']('close',_0x51b582=>{const _0x42eaf2=_0x1a5fa9;if(_0x51b582===0x0||_0x51b582===null)_0x2083a7();else _0x3e280c(new Error(_0x42eaf2(0xd5)+_0x51b582));}),_0x1f1a35['on'](_0x1a5fa9(0xc2),_0x3e280c);});}function spawnVitePreview(_0x2089a4){return new Promise((_0x3b2156,_0x1c1ed9)=>{const _0x3bd980=a207_0x4b55,_0x4c9094=spawn('vite',[_0x3bd980(0xb7)],{'cwd':_0x2089a4,'stdio':_0x3bd980(0xb8),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2089a4,_0x3bd980(0xbe),'.bin')+delimiter+process.env.PATH}});_0x4c9094['on'](_0x3bd980(0xc1),_0x5b4616=>{const _0x432518=_0x3bd980;if(_0x5b4616===0x0||_0x5b4616===null)_0x3b2156();else _0x1c1ed9(new Error(_0x432518(0xd8)+_0x5b4616));}),_0x4c9094['on'](_0x3bd980(0xc2),_0x1c1ed9);});}const runFlags=[{'name':a207_0xfa70a2(0xe7),'type':a207_0xfa70a2(0xe4),'description':a207_0xfa70a2(0xed),'default':![]}];export const runDefinition={'service':a207_0xfa70a2(0xbd),'command':'run','description':a207_0xfa70a2(0xcd),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a207_0xfa70a2(0xec),'description':a207_0xfa70a2(0xc5),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x42ad89=a207_0xfa70a2,_0x3f9568=[];return _0x3f9568['push']('\x20\x20EXAMPLES'),_0x3f9568[_0x42ad89(0xca)](_0x42ad89(0xb5)+CLI_BIN_NAME+_0x42ad89(0xde)),_0x3f9568[_0x42ad89(0xca)](_0x42ad89(0xb5)+CLI_BIN_NAME+'\x20run\x20build'),_0x3f9568['push'](_0x42ad89(0xb5)+CLI_BIN_NAME+'\x20run\x20preview'),_0x3f9568[_0x42ad89(0xca)](_0x42ad89(0xb5)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x3f9568[_0x42ad89(0xe2)]('\x0a');},async 'execute'(_0x563ede){const _0x42af62=a207_0xfa70a2,_0x506b21=process[_0x42af62(0xdd)](),_0x539b4d=_0x563ede[_0x42af62(0xdb)][0x0],_0x8b13da=_0x563ede[_0x42af62(0xdb)][_0x42af62(0xe8)](0x1),_0x2543d2=readPackageScripts(_0x506b21);if(!_0x2543d2)throw CliErrors[_0x42af62(0xcf)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x539b4d){const _0x3f47fa=Object[_0x42af62(0xd4)](_0x2543d2);if(_0x3f47fa[_0x42af62(0xea)]===0x0)console[_0x42af62(0xd9)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x42af62(0xd9)]('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x56e849 of _0x3f47fa){console[_0x42af62(0xd9)]('\x20\x20\x20\x20'+_0x56e849);}console[_0x42af62(0xd9)](_0x42af62(0xdc)+CLI_BIN_NAME+_0x42af62(0xee));}return{'ok':!![]};}if(!_0x2543d2[_0x539b4d])throw CliErrors[_0x42af62(0xcf)](_0x42af62(0xb3)+_0x539b4d+'\x22\x20not\x20found\x20in\x20package.json.',_0x42af62(0xe1)+(Object[_0x42af62(0xd4)](_0x2543d2)[_0x42af62(0xe2)](',\x20')||_0x42af62(0xb6)));const _0x516bb5=detectPackageManager(_0x506b21);VERSION_CHECK_SCRIPTS['has'](_0x539b4d)&&await versionCheck(_0x506b21);if(_0x539b4d===_0x42af62(0xb7)&&_0x563ede[_0x42af62(0xeb)](_0x42af62(0xe7)))return await Promise[_0x42af62(0xcc)]([spawnViteBuildWatch(_0x506b21),spawnVitePreview(_0x506b21)]),{'ok':!![]};return await spawnScript(_0x516bb5,_0x539b4d,_0x8b13da,_0x506b21),{'ok':!![]};}};
1
+ const a206_0x10f0ad=a206_0x5e53;(function(_0x1c89c3,_0xdcbcce){const _0x2dfb0d=a206_0x5e53,_0x5c6146=_0x1c89c3();while(!![]){try{const _0x2fe736=parseInt(_0x2dfb0d(0x1bc))/0x1*(parseInt(_0x2dfb0d(0x1a2))/0x2)+parseInt(_0x2dfb0d(0x1b2))/0x3+-parseInt(_0x2dfb0d(0x1be))/0x4+parseInt(_0x2dfb0d(0x1a7))/0x5*(parseInt(_0x2dfb0d(0x19f))/0x6)+-parseInt(_0x2dfb0d(0x182))/0x7*(parseInt(_0x2dfb0d(0x198))/0x8)+parseInt(_0x2dfb0d(0x18a))/0x9+-parseInt(_0x2dfb0d(0x1ab))/0xa*(-parseInt(_0x2dfb0d(0x1a5))/0xb);if(_0x2fe736===_0xdcbcce)break;else _0x5c6146['push'](_0x5c6146['shift']());}catch(_0x39d104){_0x5c6146['push'](_0x5c6146['shift']());}}}(a206_0x10e6,0x99fca));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';function a206_0x5e53(_0x88da9c,_0x1d9847){_0x88da9c=_0x88da9c-0x17f;const _0x10e679=a206_0x10e6();let _0x5e530c=_0x10e679[_0x88da9c];return _0x5e530c;}import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.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([a206_0x10f0ad(0x1b7),'dev']),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set(['start','dev',a206_0x10f0ad(0x1b9),a206_0x10f0ad(0x184)]);export function syncProjectDomainRoutingBeforeScript(_0x21b70c,_0x49812d){const _0x4eb45b=a206_0x10f0ad;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x4eb45b(0x1a8)](_0x49812d))return null;const _0x4c6edb=findProjectRootDirectory(_0x21b70c);if(!resolveConfigPath(_0x4c6edb))return null;const _0x26d94c=writeProjectDomainRoutingManifest(_0x4c6edb);return{'path':_0x26d94c[_0x4eb45b(0x19e)],'changed':_0x26d94c[_0x4eb45b(0x1bd)]};}function readPackageScripts(_0x5f06b7){const _0x3ba7ad=a206_0x10f0ad,_0x331505=resolve(_0x5f06b7,'package.json');if(!existsSync(_0x331505))return null;try{const _0x4537a3=JSON[_0x3ba7ad(0x1a4)](readFileSync(_0x331505,_0x3ba7ad(0x1a3)));return _0x4537a3[_0x3ba7ad(0x1a6)]??{};}catch{return null;}}function detectPackageManager(_0x424dae){const _0x2672fa=a206_0x10f0ad;if(existsSync(resolve(_0x424dae,_0x2672fa(0x1c0)))||existsSync(resolve(_0x424dae,'bun.lock')))return _0x2672fa(0x1a0);if(existsSync(resolve(_0x424dae,_0x2672fa(0x1bb))))return'pnpm';if(existsSync(resolve(_0x424dae,_0x2672fa(0x1a9))))return'yarn';return _0x2672fa(0x180);}async function versionCheck(_0x226bcd){const _0x4dd0f9=a206_0x10f0ad,_0x1f8683=await checkCliVersion();(_0x1f8683[_0x4dd0f9(0x1aa)]||_0x1f8683[_0x4dd0f9(0x1ba)])&&(printCliUpgradeWarning(_0x1f8683),assertCliVersionSupported(_0x1f8683));const _0x49dd8e=await checkSdkVersion(_0x226bcd);if(_0x49dd8e['needsUpgrade'])printSdkUpgradeWarning(_0x49dd8e);}function a206_0x10e6(){const _0x4ed02d=['validation','bun.lockb','\x20run\x20start','join','npm','script','7300258smzggp','\x0a\x20\x20Usage:\x20','preview','push','inherit','\x20\x20EXAMPLES','\x20run\x20','\x20run\x20preview','4216176Qaptpo','\x20run\x20<script>\x0a','watch','\x0a\x20\x20Available\x20scripts:\x0a','.bin','No\x20package.json\x20found\x20in\x20current\x20directory.','Available:\x20','close','run','\x20\x20\x20\x20','length','Enable\x20watch\x20mode\x20for\x20preview','boolean','Run\x20a\x20package.json\x20script','8xWjlkG','slice','(none)','No\x20scripts\x20defined\x20in\x20package.json.','error','args','path','6vbcSuG','bun','Script\x20name\x20defined\x20in\x20package.json','94uGTbSV','utf-8','parse','44lqjddl','scripts','2787755APhKJD','has','yarn.lock','needsUpgrade','698520DaCzXo','\x22\x20not\x20found\x20in\x20package.json.','vite\x20preview\x20exited\x20with\x20code\x20','all','\x20run\x20build','write','vite','1884759wxgQVo','log','\x20exited\x20with\x20code\x20','node_modules','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','start','Script\x20\x22','build','belowMinimum','pnpm-lock.yaml','4243JEPhVa','changed','1837892oOxARa'];a206_0x10e6=function(){return _0x4ed02d;};return a206_0x10e6();}function spawnScript(_0x4c060f,_0x381c83,_0x1c1735,_0x4f0831){return new Promise((_0x28777a,_0x58633b)=>{const _0x984bd1=a206_0x5e53,_0x11c6a2=[_0x984bd1(0x192),_0x381c83,..._0x1c1735],_0x12045f=spawn(_0x4c060f,_0x11c6a2,{'cwd':_0x4f0831,'stdio':_0x984bd1(0x186),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4f0831,_0x984bd1(0x1b5),_0x984bd1(0x18e))+delimiter+process.env.PATH}});_0x12045f['on']('close',_0xbf5bd3=>{const _0x3591b8=_0x984bd1;if(_0xbf5bd3===0x0||_0xbf5bd3===null)_0x28777a();else _0x58633b(new Error(_0x4c060f+_0x3591b8(0x188)+_0x381c83+_0x3591b8(0x1b4)+_0xbf5bd3));}),_0x12045f['on'](_0x984bd1(0x19c),_0x58633b);});}function spawnViteBuildWatch(_0x39b1c4){return new Promise((_0x2c650c,_0x537b48)=>{const _0x46d51c=a206_0x5e53,_0x47c920=spawn(_0x46d51c(0x1b1),[_0x46d51c(0x1b9),'--watch'],{'cwd':_0x39b1c4,'stdio':_0x46d51c(0x186),'shell':!![],'env':{...process.env,'PATH':''+join(_0x39b1c4,'node_modules',_0x46d51c(0x18e))+delimiter+process.env.PATH}});_0x47c920['on']('close',_0x19fb4c=>{const _0x4c92f1=_0x46d51c;if(_0x19fb4c===0x0||_0x19fb4c===null)_0x2c650c();else _0x537b48(new Error(_0x4c92f1(0x1b6)+_0x19fb4c));}),_0x47c920['on'](_0x46d51c(0x19c),_0x537b48);});}function spawnVitePreview(_0x460fc8){return new Promise((_0x317240,_0x18c828)=>{const _0x245e04=a206_0x5e53,_0x44c55b=spawn(_0x245e04(0x1b1),['preview'],{'cwd':_0x460fc8,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x460fc8,_0x245e04(0x1b5),_0x245e04(0x18e))+delimiter+process.env.PATH}});_0x44c55b['on'](_0x245e04(0x191),_0x1665da=>{const _0x21ddfe=_0x245e04;if(_0x1665da===0x0||_0x1665da===null)_0x317240();else _0x18c828(new Error(_0x21ddfe(0x1ad)+_0x1665da));}),_0x44c55b['on'](_0x245e04(0x19c),_0x18c828);});}const runFlags=[{'name':'watch','type':a206_0x10f0ad(0x196),'description':a206_0x10f0ad(0x195),'default':![]}];export const runDefinition={'service':a206_0x10f0ad(0x192),'command':'run','description':a206_0x10f0ad(0x197),'risk':a206_0x10f0ad(0x1b0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a206_0x10f0ad(0x181),'description':a206_0x10f0ad(0x1a1),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x3a5075=a206_0x10f0ad,_0x37b4fb=[];return _0x37b4fb[_0x3a5075(0x185)](_0x3a5075(0x187)),_0x37b4fb[_0x3a5075(0x185)](_0x3a5075(0x193)+CLI_BIN_NAME+_0x3a5075(0x1c1)),_0x37b4fb[_0x3a5075(0x185)](_0x3a5075(0x193)+CLI_BIN_NAME+_0x3a5075(0x1af)),_0x37b4fb[_0x3a5075(0x185)](_0x3a5075(0x193)+CLI_BIN_NAME+_0x3a5075(0x189)),_0x37b4fb[_0x3a5075(0x185)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x37b4fb[_0x3a5075(0x17f)]('\x0a');},async 'execute'(_0x240ea8){const _0x283e64=a206_0x10f0ad,_0x2a7900=process['cwd'](),_0x2258bc=_0x240ea8[_0x283e64(0x19d)][0x0],_0x3fab47=_0x240ea8['args'][_0x283e64(0x199)](0x1),_0x4631e5=readPackageScripts(_0x2a7900);if(!_0x4631e5)throw CliErrors[_0x283e64(0x1bf)](_0x283e64(0x18f));if(!_0x2258bc){const _0x1bd90b=Object['keys'](_0x4631e5);if(_0x1bd90b[_0x283e64(0x194)]===0x0)console[_0x283e64(0x1b3)](_0x283e64(0x19b));else{console[_0x283e64(0x1b3)](_0x283e64(0x18d));for(const _0x463a87 of _0x1bd90b){console[_0x283e64(0x1b3)]('\x20\x20\x20\x20'+_0x463a87);}console[_0x283e64(0x1b3)](_0x283e64(0x183)+CLI_BIN_NAME+_0x283e64(0x18b));}return{'ok':!![]};}if(!_0x4631e5[_0x2258bc])throw CliErrors['validation'](_0x283e64(0x1b8)+_0x2258bc+_0x283e64(0x1ac),_0x283e64(0x190)+(Object['keys'](_0x4631e5)[_0x283e64(0x17f)](',\x20')||_0x283e64(0x19a)));const _0x3d5f10=detectPackageManager(_0x2a7900),_0x499879=syncProjectDomainRoutingBeforeScript(_0x2a7900,_0x2258bc);_0x499879?.[_0x283e64(0x1bd)]&&console[_0x283e64(0x19c)]('Domain\x20routing\x20synchronized:\x20'+_0x499879['path']);VERSION_CHECK_SCRIPTS[_0x283e64(0x1a8)](_0x2258bc)&&await versionCheck(_0x2a7900);if(_0x2258bc===_0x283e64(0x184)&&_0x240ea8['bool'](_0x283e64(0x18c)))return await Promise[_0x283e64(0x1ae)]([spawnViteBuildWatch(_0x2a7900),spawnVitePreview(_0x2a7900)]),{'ok':!![]};return await spawnScript(_0x3d5f10,_0x2258bc,_0x3fab47,_0x2a7900),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a208_0xed31(_0x8be045,_0x523f42){_0x8be045=_0x8be045-0xaa;const _0x26198a=a208_0x2619();let _0xed31=_0x26198a[_0x8be045];return _0xed31;}const a208_0x4ed39b=a208_0xed31;(function(_0x469165,_0x770c2e){const _0x502b26=a208_0xed31,_0x15d443=_0x469165();while(!![]){try{const _0x239916=-parseInt(_0x502b26(0xb5))/0x1+-parseInt(_0x502b26(0xb6))/0x2*(parseInt(_0x502b26(0xaa))/0x3)+-parseInt(_0x502b26(0xb1))/0x4+parseInt(_0x502b26(0xb2))/0x5*(parseInt(_0x502b26(0xad))/0x6)+-parseInt(_0x502b26(0xb7))/0x7+parseInt(_0x502b26(0xb3))/0x8*(parseInt(_0x502b26(0xac))/0x9)+-parseInt(_0x502b26(0xab))/0xa*(-parseInt(_0x502b26(0xb0))/0xb);if(_0x239916===_0x770c2e)break;else _0x15d443['push'](_0x15d443['shift']());}catch(_0x49705f){_0x15d443['push'](_0x15d443['shift']());}}}(a208_0x2619,0xa203f));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x24a2c6){const _0x46f324=await buildSchemaPayload();return{'ok':!![],'data':_0x46f324};}function a208_0x2619(){const _0x56f9e4=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','json','1441HIENej','2844004oRZlKK','54110nzRWiX','184JHkJNQ','read','1150742jIMWVb','46ITyPOv','3916892fjhcqh','59937mUaZbB','164420CdrDwg','391671HMxwyP','216apHVxq'];a208_0x2619=function(){return _0x56f9e4;};return a208_0x2619();}export const schemaDefinition={'service':'schema','command':'export','description':a208_0x4ed39b(0xae),'risk':a208_0x4ed39b(0xb4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a208_0x4ed39b(0xaf),'flags':[],'execute':execute};
1
+ function a207_0x4643(_0xca5135,_0x1473b1){_0xca5135=_0xca5135-0x12c;const _0x447928=a207_0x4479();let _0x464300=_0x447928[_0xca5135];return _0x464300;}function a207_0x4479(){const _0x375a05=['2zkXPrQ','5497681IefNUJ','1087257cdJLYk','Export\x20machine-readable\x20command\x20schema\x20(JSON)','7467vUhHgl','3037472NgVMnX','8LomCeV','5290425FezLYX','export','2888160ZVWJyr','635275ilcOMr','read','schema'];a207_0x4479=function(){return _0x375a05;};return a207_0x4479();}const a207_0x60f0a1=a207_0x4643;(function(_0x360008,_0x5e4ba1){const _0x4f5422=a207_0x4643,_0x4046a4=_0x360008();while(!![]){try{const _0x258b51=parseInt(_0x4f5422(0x12e))/0x1+-parseInt(_0x4f5422(0x137))/0x2*(-parseInt(_0x4f5422(0x12c))/0x3)+-parseInt(_0x4f5422(0x12f))/0x4+parseInt(_0x4f5422(0x134))/0x5+parseInt(_0x4f5422(0x133))/0x6+parseInt(_0x4f5422(0x138))/0x7+-parseInt(_0x4f5422(0x130))/0x8*(parseInt(_0x4f5422(0x131))/0x9);if(_0x258b51===_0x5e4ba1)break;else _0x4046a4['push'](_0x4046a4['shift']());}catch(_0x1aeda9){_0x4046a4['push'](_0x4046a4['shift']());}}}(a207_0x4479,0x65aeb));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xde6bc2){const _0x13aa95=await buildSchemaPayload();return{'ok':!![],'data':_0x13aa95};}export const schemaDefinition={'service':a207_0x60f0a1(0x136),'command':a207_0x60f0a1(0x132),'description':a207_0x60f0a1(0x12d),'risk':a207_0x60f0a1(0x135),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a209_0x1968a7=a209_0x442f;(function(_0x229539,_0xf8cf67){const _0x1372a1=a209_0x442f,_0x4eaee3=_0x229539();while(!![]){try{const _0x1ec23f=-parseInt(_0x1372a1(0x96))/0x1*(-parseInt(_0x1372a1(0xa7))/0x2)+-parseInt(_0x1372a1(0x91))/0x3*(-parseInt(_0x1372a1(0x8b))/0x4)+-parseInt(_0x1372a1(0xbf))/0x5*(-parseInt(_0x1372a1(0xb4))/0x6)+parseInt(_0x1372a1(0xb7))/0x7*(-parseInt(_0x1372a1(0x8f))/0x8)+parseInt(_0x1372a1(0x9c))/0x9+-parseInt(_0x1372a1(0xc0))/0xa+-parseInt(_0x1372a1(0x98))/0xb*(-parseInt(_0x1372a1(0x9d))/0xc);if(_0x1ec23f===_0xf8cf67)break;else _0x4eaee3['push'](_0x4eaee3['shift']());}catch(_0x30b9a6){_0x4eaee3['push'](_0x4eaee3['shift']());}}}(a209_0x4c95,0xe4be3));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';function a209_0x442f(_0x43a253,_0x7614d1){_0x43a253=_0x43a253-0x89;const _0x4c9559=a209_0x4c95();let _0x442f67=_0x4c9559[_0x43a253];return _0x442f67;}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 a209_0x4c95(){const _0x28c071=['flag','12WOVDQv','length','Created\x20SQL\x20query\x20','42JxrxKO','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','appCode','db-id','sqlCode','trim','sql','mybatisXml','2864630juuevs','14060920qxhpZc','str','Target\x20database\x20dbId:','name','<server-generated-sqlCode>','lockFilePath','map','8xvMdpe','toISOString','lastSync','flagMissing','1621024wakpBL','isFinite','63663XfxCsW','description','nonInteractive','isInteger','SQL\x20query\x20display\x20name','1LkUdsD','Target\x20database\x20ID','151789zYPuvs','SELECT\x201\x20AS\x20id;','SQL\x20name:','__manual__','6499080ZFHRva','1188nIcDMa','Invalid\x20database\x20selection\x20payload:\x20','sqlRootDir','Plain\x20SQL\x20(sql)','new','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','sqlName','write','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','564552TjgWPt','string','dbId','dbName','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','validation','Local\x20SQL\x20file\x20mode','catch','number','sqls','MyBatis\x20XML\x20(mybatisXml)','SQL\x20name\x20cannot\x20be\x20empty'];a209_0x4c95=function(){return _0x28c071;};return a209_0x4c95();}function generateSqlTemplate(_0x489cf7){const _0x22185c=a209_0x442f;if(_0x489cf7===_0x22185c(0xbe))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','</select>','']['join']('\x0a');return[_0x22185c(0x99),'']['join']('\x0a');}export const sqlCreate={'service':'sql','command':'create','description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a209_0x1968a7(0xa5),'flags':[{'name':a209_0x1968a7(0xc3),'type':a209_0x1968a7(0xa8),'description':a209_0x1968a7(0x95)},{'name':a209_0x1968a7(0xba),'type':a209_0x1968a7(0xaf),'description':a209_0x1968a7(0x97)},{'name':a209_0x1968a7(0xa3),'type':a209_0x1968a7(0xa8),'enum':[a209_0x1968a7(0xbd),a209_0x1968a7(0xbe)],'description':a209_0x1968a7(0xad)}],async 'validate'(_0x48375e){const _0x477375=a209_0x1968a7;if(!_0x48375e['nonInteractive'])return;if(!_0x48375e[_0x477375(0xc1)]('name')[_0x477375(0xbc)]())throw CliErrors[_0x477375(0x8e)]('name',_0x477375(0xa6));const _0xf86bbc=resolveProvidedDbId(_0x48375e);if(typeof _0xf86bbc!=='number'||!Number[_0x477375(0x90)](_0xf86bbc)||_0xf86bbc<=0x0)throw CliErrors[_0x477375(0x8e)](_0x477375(0xba),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x48375e[_0x477375(0xc1)]('mode')[_0x477375(0xbc)]())throw CliErrors[_0x477375(0x8e)](_0x477375(0xa3),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x4e6388){const _0x4d1fcf=a209_0x1968a7,_0x3e3549=loadSqlProjectConfig(_0x4e6388['appCode']),{sqlName:_0x554891,dbId:_0x2490e5,dbName:_0x42f7e3,mode:_0xe88bc}=await resolveSqlNewInputs(_0x4e6388),_0x4e0f17=buildSqlRelativePath(_0x4d1fcf(0xc4),_0x554891,_0x42f7e3,_0xe88bc,_0x2490e5),_0x1625f4=_0x3e3549[_0x4d1fcf(0x9f)]+'/'+_0x4e0f17;return{'method':'POST','url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x4e6388[_0x4d1fcf(0xb9)],'sqlName':_0x554891,'dbId':_0x2490e5,'mode':_0xe88bc,'localPath':_0x1625f4},'description':_0x4d1fcf(0xab)+_0x3e3549[_0x4d1fcf(0x9f)]};},async 'execute'(_0x516e1){const _0x291ac7=a209_0x1968a7,_0x3c831=loadSqlProjectConfig(_0x516e1[_0x291ac7(0xb9)]),{sqlName:_0x419304,dbId:_0x37b047,dbName:_0x2727e5,mode:_0xb23646}=await resolveSqlNewInputs(_0x516e1),_0x6ef36e=generateSqlTemplate(_0xb23646),_0x8a52a8=await createSqlQuery({'appCode':_0x516e1[_0x291ac7(0xb9)],'sqlName':_0x419304,'dbId':_0x37b047,'sqlContent':_0x6ef36e}),_0x2802b6=ensureRemoteSqlContent(_0x8a52a8),_0x2a9ca0=_0x2727e5||await getDbName(_0x516e1[_0x291ac7(0xb9)],_0x37b047)[_0x291ac7(0xae)](()=>undefined),_0x3f5b2e=buildSqlRelativePath(_0x8a52a8['sqlCode'],_0x8a52a8['sqlName'],_0x2a9ca0,_0xb23646,_0x37b047),_0x13d618=_0x3c831['sqlRootDir']+'/'+_0x3f5b2e,_0x99ebe7=buildLocalSqlFileContent({'sqlCode':_0x8a52a8['sqlCode'],'sqlName':_0x8a52a8[_0x291ac7(0xa4)],'dbId':_0x8a52a8[_0x291ac7(0xa9)]},_0x2802b6,{'dbName':_0x2a9ca0,'mode':_0xb23646,'syncedAt':new Date()[_0x291ac7(0x8c)](),'description':_0x8a52a8[_0x291ac7(0x92)]});if(await fileExists(_0x13d618))throw CliErrors[_0x291ac7(0xac)]('File\x20already\x20exists:\x20'+_0x13d618);await ensureParentDirectory(_0x13d618),await writeFile(_0x13d618,_0x99ebe7,'utf8');const _0x337abe=await readSqlLockFile(_0x3c831['lockFilePath']),{lockData:_0x2b1854,appLock:_0x2d66ba}=ensureSqlLockScope(_0x337abe??createEmptySqlLock(),_0x3c831[_0x291ac7(0xb9)],_0x3c831['sqlRoot'],_0x291ac7(0xa1));return _0x2d66ba[_0x291ac7(0xb0)][_0x8a52a8['sqlCode']]={...buildSqlLockEntry(_0x8a52a8,_0x2802b6,computeSqlContentHash(_0x99ebe7),{'dbName':_0x2a9ca0}),'path':_0x3f5b2e,'mode':_0xb23646},_0x2d66ba[_0x291ac7(0x8d)]=new Date()[_0x291ac7(0x8c)](),await writeSqlLockFile(_0x3c831[_0x291ac7(0x89)],_0x2b1854),{'ok':!![],'data':{'id':_0x8a52a8['id'],'sqlCode':_0x8a52a8['sqlCode'],'sqlName':_0x8a52a8[_0x291ac7(0xa4)],'dbId':_0x8a52a8['dbId'],'path':_0x13d618,'mode':_0xb23646},'message':_0x291ac7(0xb6)+_0x8a52a8[_0x291ac7(0xbb)]};}};async function resolveSqlNewInputs(_0x27a370){const _0x426756=await resolveSqlNameInput(_0x27a370),{dbId:_0x1de100,dbName:_0x3f7120}=await resolveDbSelection(_0x27a370),_0x56b6e5=await resolveSqlModeInput(_0x27a370);return{'sqlName':_0x426756,'dbId':_0x1de100,'dbName':_0x3f7120,'mode':_0x56b6e5};}async function resolveSqlNameInput(_0x2f12e9){const _0x89412d=a209_0x1968a7,_0x11c60a=_0x2f12e9[_0x89412d(0xc1)](_0x89412d(0xc3))[_0x89412d(0xbc)]();if(_0x11c60a)return _0x11c60a;if(_0x2f12e9[_0x89412d(0x93)])throw CliErrors[_0x89412d(0x8e)](_0x89412d(0xc3),_0x89412d(0xa6));return(await input({'message':_0x89412d(0x9a),'validate':_0x1d7bb6=>_0x1d7bb6[_0x89412d(0xbc)]()?!![]:_0x89412d(0xb2)}))[_0x89412d(0xbc)]();}async function resolveDbSelection(_0xc4e2d){const _0x489e3c=a209_0x1968a7,_0x56513c=resolveProvidedDbId(_0xc4e2d);if(typeof _0x56513c===_0x489e3c(0xaf)&&Number['isFinite'](_0x56513c)&&_0x56513c>0x0)return{'dbId':_0x56513c,'dbName':await getDbName(_0xc4e2d[_0x489e3c(0xb9)],_0x56513c)[_0x489e3c(0xae)](()=>undefined)};if(_0xc4e2d[_0x489e3c(0x93)])throw CliErrors['flagMissing'](_0x489e3c(0xba),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x32f1a4=await listDatabases(_0xc4e2d[_0x489e3c(0xb9)])[_0x489e3c(0xae)](()=>[]);if(_0x32f1a4['length']===0x1)return{'dbId':_0x32f1a4[0x0]['dbId'],'dbName':_0x32f1a4[0x0][_0x489e3c(0xaa)]};if(_0x32f1a4[_0x489e3c(0xb5)]>0x1){const _0x40ff95=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0x32f1a4[_0x489e3c(0x8a)](_0x5b3bb9=>({'name':_0x5b3bb9['dbName']+'\x20('+_0x5b3bb9[_0x489e3c(0xa9)]+')','value':serializeDbSelection(_0x5b3bb9)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':'__manual__'}]});if(_0x40ff95!==_0x489e3c(0x9b))return deserializeDbSelection(_0x40ff95);}const _0x10ad09=await input({'message':_0x489e3c(0xc2),'validate':_0x180000=>{const _0x4404a5=_0x489e3c,_0x548309=_0x180000[_0x4404a5(0xbc)]();if(!_0x548309)return'dbId\x20cannot\x20be\x20empty';const _0xf6cdfd=Number(_0x548309);if(!Number[_0x4404a5(0x94)](_0xf6cdfd)||_0xf6cdfd<=0x0)return'dbId\x20must\x20be\x20a\x20positive\x20integer';return!![];}});return{'dbId':Number(_0x10ad09[_0x489e3c(0xbc)]())};}async function resolveSqlModeInput(_0x54413c){const _0x55560b=a209_0x1968a7,_0xe84dc3=_0x54413c[_0x55560b(0xc1)](_0x55560b(0xa3))['trim']();if(_0xe84dc3===_0x55560b(0xbd)||_0xe84dc3==='mybatisXml')return _0xe84dc3;if(_0x54413c['nonInteractive'])throw CliErrors[_0x55560b(0x8e)]('mode',_0x55560b(0xa2));return await select({'message':'Select\x20the\x20local\x20SQL\x20mode:','choices':[{'name':_0x55560b(0xa0),'value':_0x55560b(0xbd),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x55560b(0xb1),'value':_0x55560b(0xbe),'description':_0x55560b(0xb8)}]});}function serializeDbSelection(_0x210e09){const _0x10d249=a209_0x1968a7;return JSON['stringify']({'dbId':_0x210e09[_0x10d249(0xa9)],'dbName':_0x210e09[_0x10d249(0xaa)]});}function deserializeDbSelection(_0x5e37b0){const _0xd4d90f=a209_0x1968a7;try{const _0x3c67b4=JSON['parse'](_0x5e37b0);if(typeof _0x3c67b4[_0xd4d90f(0xa9)]===_0xd4d90f(0xaf)&&Number[_0xd4d90f(0x90)](_0x3c67b4['dbId']))return{'dbId':_0x3c67b4[_0xd4d90f(0xa9)],'dbName':_0x3c67b4['dbName']};}catch{}throw CliErrors[_0xd4d90f(0xac)](_0xd4d90f(0x9e)+_0x5e37b0);}function resolveProvidedDbId(_0x3d10e3){const _0x49238f=a209_0x1968a7,_0xa0460b=_0x3d10e3[_0x49238f(0xb3)](_0x49238f(0xba));if(typeof _0xa0460b===_0x49238f(0xaf)&&Number['isFinite'](_0xa0460b))return _0xa0460b;return undefined;}
1
+ const a208_0x49ade1=a208_0x568d;(function(_0x348238,_0x430c11){const _0x470e1b=a208_0x568d,_0x3ff933=_0x348238();while(!![]){try{const _0x48f38e=-parseInt(_0x470e1b(0x14e))/0x1*(parseInt(_0x470e1b(0x168))/0x2)+-parseInt(_0x470e1b(0x152))/0x3+parseInt(_0x470e1b(0x13b))/0x4*(parseInt(_0x470e1b(0x15b))/0x5)+parseInt(_0x470e1b(0x149))/0x6+-parseInt(_0x470e1b(0x147))/0x7*(parseInt(_0x470e1b(0x150))/0x8)+parseInt(_0x470e1b(0x15e))/0x9+parseInt(_0x470e1b(0x165))/0xa*(parseInt(_0x470e1b(0x153))/0xb);if(_0x48f38e===_0x430c11)break;else _0x3ff933['push'](_0x3ff933['shift']());}catch(_0x33ee70){_0x3ff933['push'](_0x3ff933['shift']());}}}(a208_0x2123,0xe385d));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a208_0x2123(){const _0x38e45d=['map','SQL\x20name\x20cannot\x20be\x20empty','mybatisXml','21430mlDCbO','Plain\x20SQL\x20(sql)','sqlRoot','8386jkGwbD','<server-generated-sqlCode>','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','parse','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','join','sqlRootDir','Select\x20the\x20local\x20SQL\x20mode:','str','length','flag','sql','sqlName','db-id','create','POST','isInteger','nonInteractive','flagMissing','Invalid\x20database\x20selection\x20payload:\x20','278004wemjgW','catch','trim','Target\x20database\x20ID','__manual__','dbName','appCode','isFinite','dbId','validation','Select\x20the\x20target\x20database:','new','212884IRQJdy','lastSync','942582qZGFeK','description','lockFilePath','sqlCode','utf8','334DSTyne','MyBatis\x20XML\x20(mybatisXml)','248bXPjcP','stringify','4872636ywzGoU','13442aXEMgk','dbId\x20must\x20be\x20a\x20positive\x20integer','SQL\x20query\x20display\x20name','✎\x20Enter\x20dbId\x20manually','Target\x20database\x20dbId:','</select>','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','name','110VOvWVW','toISOString','string','5350626SVkhWa','dbId\x20cannot\x20be\x20empty','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','number'];a208_0x2123=function(){return _0x38e45d;};return a208_0x2123();}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(_0x3a29a9){const _0x272913=a208_0x568d;if(_0x3a29a9===_0x272913(0x164))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id',_0x272913(0x158),''][_0x272913(0x16e)]('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':a208_0x49ade1(0x132),'command':a208_0x49ade1(0x135),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':'write','flags':[{'name':a208_0x49ade1(0x15a),'type':'string','description':a208_0x49ade1(0x155)},{'name':a208_0x49ade1(0x134),'type':a208_0x49ade1(0x161),'description':a208_0x49ade1(0x13e)},{'name':a208_0x49ade1(0x16b),'type':a208_0x49ade1(0x15d),'enum':[a208_0x49ade1(0x132),a208_0x49ade1(0x164)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x3b8737){const _0xc63564=a208_0x49ade1;if(!_0x3b8737[_0xc63564(0x138)])return;if(!_0x3b8737[_0xc63564(0x171)](_0xc63564(0x15a))[_0xc63564(0x13d)]())throw CliErrors['flagMissing']('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x59a3fe=resolveProvidedDbId(_0x3b8737);if(typeof _0x59a3fe!==_0xc63564(0x161)||!Number['isFinite'](_0x59a3fe)||_0x59a3fe<=0x0)throw CliErrors[_0xc63564(0x139)](_0xc63564(0x134),_0xc63564(0x16a));if(!_0x3b8737['str']('mode')[_0xc63564(0x13d)]())throw CliErrors[_0xc63564(0x139)](_0xc63564(0x16b),_0xc63564(0x160));},async 'dryRun'(_0x48f737){const _0x1dd38f=a208_0x49ade1,_0x4faf89=loadSqlProjectConfig(_0x48f737[_0x1dd38f(0x141)]),{sqlName:_0x5f4767,dbId:_0x5c0e4f,dbName:_0x4a0a92,mode:_0x56aa1e}=await resolveSqlNewInputs(_0x48f737),_0x3f2a5b=buildSqlRelativePath(_0x1dd38f(0x169),_0x5f4767,_0x4a0a92,_0x56aa1e,_0x5c0e4f),_0x3ff2e2=_0x4faf89[_0x1dd38f(0x16f)]+'/'+_0x3f2a5b;return{'method':_0x1dd38f(0x136),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x48f737['appCode'],'sqlName':_0x5f4767,'dbId':_0x5c0e4f,'mode':_0x56aa1e,'localPath':_0x3ff2e2},'description':_0x1dd38f(0x16d)+_0x4faf89[_0x1dd38f(0x16f)]};},async 'execute'(_0x8748a6){const _0x371b1b=a208_0x49ade1,_0x161836=loadSqlProjectConfig(_0x8748a6[_0x371b1b(0x141)]),{sqlName:_0x74f28c,dbId:_0x35d6b9,dbName:_0x26aaa2,mode:_0x1f965a}=await resolveSqlNewInputs(_0x8748a6),_0x5022cf=generateSqlTemplate(_0x1f965a),_0x4180c0=await createSqlQuery({'appCode':_0x8748a6[_0x371b1b(0x141)],'sqlName':_0x74f28c,'dbId':_0x35d6b9,'sqlContent':_0x5022cf}),_0xee7cb=ensureRemoteSqlContent(_0x4180c0),_0x4d10ff=_0x26aaa2||await getDbName(_0x8748a6[_0x371b1b(0x141)],_0x35d6b9)[_0x371b1b(0x13c)](()=>undefined),_0x249b59=buildSqlRelativePath(_0x4180c0[_0x371b1b(0x14c)],_0x4180c0[_0x371b1b(0x133)],_0x4d10ff,_0x1f965a,_0x35d6b9),_0xb01006=_0x161836[_0x371b1b(0x16f)]+'/'+_0x249b59,_0x5bd19f=buildLocalSqlFileContent({'sqlCode':_0x4180c0[_0x371b1b(0x14c)],'sqlName':_0x4180c0[_0x371b1b(0x133)],'dbId':_0x4180c0[_0x371b1b(0x143)]},_0xee7cb,{'dbName':_0x4d10ff,'mode':_0x1f965a,'syncedAt':new Date()[_0x371b1b(0x15c)](),'description':_0x4180c0[_0x371b1b(0x14a)]});if(await fileExists(_0xb01006))throw CliErrors[_0x371b1b(0x144)]('File\x20already\x20exists:\x20'+_0xb01006);await ensureParentDirectory(_0xb01006),await writeFile(_0xb01006,_0x5bd19f,_0x371b1b(0x14d));const _0x1a627e=await readSqlLockFile(_0x161836[_0x371b1b(0x14b)]),{lockData:_0x251dc2,appLock:_0x2171fa}=ensureSqlLockScope(_0x1a627e??createEmptySqlLock(),_0x161836['appCode'],_0x161836[_0x371b1b(0x167)],_0x371b1b(0x146));return _0x2171fa['sqls'][_0x4180c0[_0x371b1b(0x14c)]]={...buildSqlLockEntry(_0x4180c0,_0xee7cb,computeSqlContentHash(_0x5bd19f),{'dbName':_0x4d10ff}),'path':_0x249b59,'mode':_0x1f965a},_0x2171fa[_0x371b1b(0x148)]=new Date()[_0x371b1b(0x15c)](),await writeSqlLockFile(_0x161836[_0x371b1b(0x14b)],_0x251dc2),{'ok':!![],'data':{'id':_0x4180c0['id'],'sqlCode':_0x4180c0['sqlCode'],'sqlName':_0x4180c0[_0x371b1b(0x133)],'dbId':_0x4180c0[_0x371b1b(0x143)],'path':_0xb01006,'mode':_0x1f965a},'message':'Created\x20SQL\x20query\x20'+_0x4180c0[_0x371b1b(0x14c)]};}};async function resolveSqlNewInputs(_0x47c8a6){const _0xdb7a63=await resolveSqlNameInput(_0x47c8a6),{dbId:_0xac57d6,dbName:_0x431f00}=await resolveDbSelection(_0x47c8a6),_0x4d2b60=await resolveSqlModeInput(_0x47c8a6);return{'sqlName':_0xdb7a63,'dbId':_0xac57d6,'dbName':_0x431f00,'mode':_0x4d2b60};}async function resolveSqlNameInput(_0x3662cd){const _0x4ac785=a208_0x49ade1,_0x376d43=_0x3662cd[_0x4ac785(0x171)](_0x4ac785(0x15a))[_0x4ac785(0x13d)]();if(_0x376d43)return _0x376d43;if(_0x3662cd[_0x4ac785(0x138)])throw CliErrors[_0x4ac785(0x139)](_0x4ac785(0x15a),_0x4ac785(0x159));return(await input({'message':'SQL\x20name:','validate':_0x1f28bd=>_0x1f28bd[_0x4ac785(0x13d)]()?!![]:_0x4ac785(0x163)}))[_0x4ac785(0x13d)]();}async function resolveDbSelection(_0x43b932){const _0x35e095=a208_0x49ade1,_0x350b22=resolveProvidedDbId(_0x43b932);if(typeof _0x350b22===_0x35e095(0x161)&&Number['isFinite'](_0x350b22)&&_0x350b22>0x0)return{'dbId':_0x350b22,'dbName':await getDbName(_0x43b932['appCode'],_0x350b22)['catch'](()=>undefined)};if(_0x43b932[_0x35e095(0x138)])throw CliErrors['flagMissing'](_0x35e095(0x134),_0x35e095(0x16a));const _0xabceee=await listDatabases(_0x43b932['appCode'])[_0x35e095(0x13c)](()=>[]);if(_0xabceee[_0x35e095(0x172)]===0x1)return{'dbId':_0xabceee[0x0][_0x35e095(0x143)],'dbName':_0xabceee[0x0][_0x35e095(0x140)]};if(_0xabceee[_0x35e095(0x172)]>0x1){const _0x19ab2a=await select({'message':_0x35e095(0x145),'choices':[..._0xabceee[_0x35e095(0x162)](_0xd33931=>({'name':_0xd33931[_0x35e095(0x140)]+'\x20('+_0xd33931[_0x35e095(0x143)]+')','value':serializeDbSelection(_0xd33931)})),{'name':_0x35e095(0x156),'value':_0x35e095(0x13f)}]});if(_0x19ab2a!=='__manual__')return deserializeDbSelection(_0x19ab2a);}const _0x161e4b=await input({'message':_0x35e095(0x157),'validate':_0xbd6d73=>{const _0x159f1c=_0x35e095,_0x4cda22=_0xbd6d73[_0x159f1c(0x13d)]();if(!_0x4cda22)return _0x159f1c(0x15f);const _0x2aaff9=Number(_0x4cda22);if(!Number[_0x159f1c(0x137)](_0x2aaff9)||_0x2aaff9<=0x0)return _0x159f1c(0x154);return!![];}});return{'dbId':Number(_0x161e4b['trim']())};}async function resolveSqlModeInput(_0x320968){const _0x212c05=a208_0x49ade1,_0x345806=_0x320968[_0x212c05(0x171)](_0x212c05(0x16b))[_0x212c05(0x13d)]();if(_0x345806===_0x212c05(0x132)||_0x345806===_0x212c05(0x164))return _0x345806;if(_0x320968[_0x212c05(0x138)])throw CliErrors[_0x212c05(0x139)](_0x212c05(0x16b),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x212c05(0x170),'choices':[{'name':_0x212c05(0x166),'value':_0x212c05(0x132),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x212c05(0x14f),'value':_0x212c05(0x164),'description':'For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags'}]});}function a208_0x568d(_0x455469,_0x140661){_0x455469=_0x455469-0x132;const _0x2123d4=a208_0x2123();let _0x568d3f=_0x2123d4[_0x455469];return _0x568d3f;}function serializeDbSelection(_0x43d6d1){const _0x1d8ce2=a208_0x49ade1;return JSON[_0x1d8ce2(0x151)]({'dbId':_0x43d6d1['dbId'],'dbName':_0x43d6d1[_0x1d8ce2(0x140)]});}function deserializeDbSelection(_0xbb199a){const _0x10d172=a208_0x49ade1;try{const _0x3ab68b=JSON[_0x10d172(0x16c)](_0xbb199a);if(typeof _0x3ab68b[_0x10d172(0x143)]===_0x10d172(0x161)&&Number['isFinite'](_0x3ab68b['dbId']))return{'dbId':_0x3ab68b[_0x10d172(0x143)],'dbName':_0x3ab68b[_0x10d172(0x140)]};}catch{}throw CliErrors['validation'](_0x10d172(0x13a)+_0xbb199a);}function resolveProvidedDbId(_0x58a8e9){const _0x4e0489=a208_0x49ade1,_0x530216=_0x58a8e9[_0x4e0489(0x173)](_0x4e0489(0x134));if(typeof _0x530216===_0x4e0489(0x161)&&Number[_0x4e0489(0x142)](_0x530216))return _0x530216;return undefined;}
@@ -1 +1 @@
1
- const a210_0x10fa0a=a210_0x116b;(function(_0x203677,_0x87c4ab){const _0xe6890a=a210_0x116b,_0x3a8334=_0x203677();while(!![]){try{const _0xf1d2eb=parseInt(_0xe6890a(0x76))/0x1*(parseInt(_0xe6890a(0x7e))/0x2)+parseInt(_0xe6890a(0x65))/0x3+-parseInt(_0xe6890a(0x69))/0x4*(-parseInt(_0xe6890a(0x84))/0x5)+-parseInt(_0xe6890a(0x81))/0x6+parseInt(_0xe6890a(0x74))/0x7+parseInt(_0xe6890a(0x78))/0x8*(parseInt(_0xe6890a(0x75))/0x9)+-parseInt(_0xe6890a(0x7f))/0xa;if(_0xf1d2eb===_0x87c4ab)break;else _0x3a8334['push'](_0x3a8334['shift']());}catch(_0x2c2ba9){_0x3a8334['push'](_0x3a8334['shift']());}}}(a210_0x410d,0xb28a7));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a210_0x116b(_0x7ab967,_0x55278d){_0x7ab967=_0x7ab967-0x65;const _0x410d09=a210_0x410d();let _0x116be9=_0x410d09[_0x7ab967];return _0x116be9;}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a210_0x10fa0a(0x6c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a210_0x10fa0a(0x7a),'flags':[SQLCODE_FLAG],async 'validate'(_0x3f4416){const _0x3465dc=a210_0x10fa0a,_0x4ed6d9=loadSqlProjectConfig(_0x3f4416[_0x3465dc(0x83)]),_0x49ed09=await readSqlLockFile(_0x4ed6d9[_0x3465dc(0x66)]);if(!_0x49ed09)throw CliErrors[_0x3465dc(0x6f)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x20b283){const _0x459eae=a210_0x10fa0a,_0x4ed901=loadSqlProjectConfig(_0x20b283[_0x459eae(0x83)]),_0x549886=await readSqlLockFile(_0x4ed901[_0x459eae(0x66)]);if(!_0x549886)throw CliErrors[_0x459eae(0x6f)](_0x459eae(0x79));const {appLock:_0x492f23}=ensureSqlLockScope(_0x549886,_0x20b283[_0x459eae(0x83)],_0x4ed901[_0x459eae(0x80)],_0x459eae(0x6c)),_0x4594bf=_0x20b283[_0x459eae(0x82)](_0x459eae(0x73)),_0x5cb391=_0x492f23[_0x459eae(0x7b)][_0x4594bf];if(!_0x5cb391)throw CliErrors[_0x459eae(0x6f)](_0x459eae(0x71)+_0x4594bf+'\x22.');return{'method':_0x459eae(0x6b),'url':_0x459eae(0x77),'body':{'sqlCode':_0x4594bf,'id':_0x5cb391['remoteId'],'localPath':resolveLocalSqlFilePath(_0x4ed901,_0x4594bf,_0x5cb391)},'description':_0x459eae(0x6e)+_0x4594bf+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x4ed901[_0x459eae(0x87)]};},async 'execute'(_0x380427){const _0x249c5b=a210_0x10fa0a,_0x872ca4=loadSqlProjectConfig(_0x380427['appCode']),_0x49c91e=await readSqlLockFile(_0x872ca4[_0x249c5b(0x66)]);if(!_0x49c91e)throw CliErrors[_0x249c5b(0x6f)](_0x249c5b(0x67));const {lockData:_0xc74cde,appLock:_0x172a3b}=ensureSqlLockScope(_0x49c91e,_0x380427['appCode'],_0x872ca4[_0x249c5b(0x80)],_0x249c5b(0x6c)),_0x11ca7c=_0x380427[_0x249c5b(0x82)](_0x249c5b(0x73)),_0x1002e3=_0x172a3b['sqls'][_0x11ca7c];if(!_0x1002e3)throw CliErrors[_0x249c5b(0x6f)](_0x249c5b(0x71)+_0x11ca7c+'\x22.');await deleteSqlQuery({'id':_0x1002e3['remoteId'],'sqlCode':_0x11ca7c}),_0x172a3b['sqls']=Object['fromEntries'](Object[_0x249c5b(0x72)](_0x172a3b[_0x249c5b(0x7b)])['filter'](([_0x2f6302])=>_0x2f6302!==_0x11ca7c)),_0x172a3b[_0x249c5b(0x7d)]=new Date()['toISOString'](),await writeSqlLockFile(_0x872ca4[_0x249c5b(0x66)],_0xc74cde);const _0x755b5f=resolveLocalSqlFilePath(_0x872ca4,_0x11ca7c,_0x1002e3);let _0x3c8de9;await fileExists(_0x755b5f)&&(_0x3c8de9=await moveToTrash(_0x872ca4[_0x249c5b(0x86)],_0x872ca4[_0x249c5b(0x87)],_0x755b5f),await cleanupEmptyDirectories(dirname(_0x755b5f),_0x872ca4[_0x249c5b(0x6d)]));const _0x40288e={'deleted':_0x11ca7c,'remoteId':_0x1002e3[_0x249c5b(0x88)]};if(_0x3c8de9)_0x40288e[_0x249c5b(0x68)]=_0x3c8de9;return{'ok':!![],'data':_0x40288e,'message':'Deleted\x20'+_0x11ca7c+(_0x3c8de9?_0x249c5b(0x6a):'')};}};async function moveToTrash(_0xd4ef3f,_0x3b7d05,_0x1d9940){const _0x1ac1a3=a210_0x10fa0a,_0x10bcbc=new Date()['toISOString']()[_0x1ac1a3(0x7c)](/[:.]/g,'-'),_0x16caf8=relative(_0xd4ef3f,_0x1d9940),_0x45c9ed=join(_0x3b7d05,_0x10bcbc,_0x16caf8);return await mkdir(dirname(_0x45c9ed),{'recursive':!![]}),await rename(_0x1d9940,_0x45c9ed),_0x45c9ed;}function a210_0x410d(){const _0x3bd257=['32nclYbz','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','high-risk-write','sqls','replace','lastSync','190598vhPHhv','5797880DGPtgm','sqlRoot','6359736SCrbFI','str','appCode','70hqrJdW','length','projectRoot','trashDir','remoteId','666684EekNra','lockFilePath','SQL\x20lock\x20file\x20not\x20found.','trashedTo','86568AlVeUu','\x20(local\x20file\x20moved\x20to\x20trash)','POST','delete','sqlRootDir','Would\x20delete\x20SQL\x20','validation','startsWith','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','entries','sqlcode','1686538hSTzWs','2110059HinIJI','7oVuVth','/smartapi/custom/deleteUserCustomSql'];a210_0x410d=function(){return _0x3bd257;};return a210_0x410d();}async function cleanupEmptyDirectories(_0x5e2538,_0xce9c7b){const _0x3c1c2f=a210_0x10fa0a;let _0x299b76=resolve(_0x5e2538);const _0x244de8=resolve(_0xce9c7b);while(_0x299b76[_0x3c1c2f(0x70)](''+_0x244de8+sep)||_0x299b76===_0x244de8){if(_0x299b76===_0x244de8)return;try{const _0x275c01=await readdir(_0x299b76);if(_0x275c01[_0x3c1c2f(0x85)]>0x0)return;await rmdir(_0x299b76);}catch{return;}_0x299b76=dirname(_0x299b76);}}
1
+ const a209_0x1e769a=a209_0x3e83;(function(_0xe44360,_0x18740e){const _0x408758=a209_0x3e83,_0x5ae1f1=_0xe44360();while(!![]){try{const _0x32bb5c=-parseInt(_0x408758(0xfa))/0x1*(parseInt(_0x408758(0x10a))/0x2)+-parseInt(_0x408758(0x10b))/0x3+parseInt(_0x408758(0x10c))/0x4+parseInt(_0x408758(0x111))/0x5*(-parseInt(_0x408758(0x10f))/0x6)+-parseInt(_0x408758(0x101))/0x7*(-parseInt(_0x408758(0x104))/0x8)+-parseInt(_0x408758(0x116))/0x9+parseInt(_0x408758(0x102))/0xa;if(_0x32bb5c===_0x18740e)break;else _0x5ae1f1['push'](_0x5ae1f1['shift']());}catch(_0x1c90a2){_0x5ae1f1['push'](_0x5ae1f1['shift']());}}}(a209_0xba5e,0xb2ff2));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';function a209_0x3e83(_0x8b5ac9,_0x35066d){_0x8b5ac9=_0x8b5ac9-0xf9;const _0xba5ebf=a209_0xba5e();let _0x3e83ff=_0xba5ebf[_0x8b5ac9];return _0x3e83ff;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a209_0xba5e(){const _0x403da3=['8tcziMZ','high-risk-write','trashDir','projectRoot','/smartapi/custom/deleteUserCustomSql','SQL\x20lock\x20file\x20not\x20found.','93706WLJqWv','4321647kdAvOd','2424044JnZLuV','validation','sql','6VhnBIu','replace','3263705WphRwn','sqls','sqlRoot','str','Deleted\x20','1568034RAfCRF','filter','lastSync','remoteId','sqlRootDir','startsWith','delete','sqlcode','31tHxlrL','toISOString','length','appCode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','Would\x20delete\x20SQL\x20','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','934283XBjrHL','37136490gUFpwg','lockFilePath'];a209_0xba5e=function(){return _0x403da3;};return a209_0xba5e();}export const sqlDelete={'service':a209_0x1e769a(0x10e),'command':a209_0x1e769a(0x11c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a209_0x1e769a(0x105),'flags':[SQLCODE_FLAG],async 'validate'(_0x42171f){const _0x399271=a209_0x1e769a,_0x313136=loadSqlProjectConfig(_0x42171f[_0x399271(0xfd)]),_0x5743a4=await readSqlLockFile(_0x313136['lockFilePath']);if(!_0x5743a4)throw CliErrors[_0x399271(0x10d)](_0x399271(0xfe));},async 'dryRun'(_0x2c1b91){const _0x1548cc=a209_0x1e769a,_0x369e43=loadSqlProjectConfig(_0x2c1b91[_0x1548cc(0xfd)]),_0x413d65=await readSqlLockFile(_0x369e43[_0x1548cc(0x103)]);if(!_0x413d65)throw CliErrors[_0x1548cc(0x10d)](_0x1548cc(0xfe));const {appLock:_0x4341a5}=ensureSqlLockScope(_0x413d65,_0x2c1b91[_0x1548cc(0xfd)],_0x369e43[_0x1548cc(0x113)],'delete'),_0x4a5cdf=_0x2c1b91[_0x1548cc(0x114)](_0x1548cc(0xf9)),_0x3f432d=_0x4341a5['sqls'][_0x4a5cdf];if(!_0x3f432d)throw CliErrors[_0x1548cc(0x10d)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x4a5cdf+'\x22.');return{'method':'POST','url':_0x1548cc(0x108),'body':{'sqlCode':_0x4a5cdf,'id':_0x3f432d['remoteId'],'localPath':resolveLocalSqlFilePath(_0x369e43,_0x4a5cdf,_0x3f432d)},'description':_0x1548cc(0xff)+_0x4a5cdf+_0x1548cc(0x100)+_0x369e43[_0x1548cc(0x106)]};},async 'execute'(_0x1af15f){const _0x174c7d=a209_0x1e769a,_0x5aaecb=loadSqlProjectConfig(_0x1af15f[_0x174c7d(0xfd)]),_0x10a96e=await readSqlLockFile(_0x5aaecb['lockFilePath']);if(!_0x10a96e)throw CliErrors[_0x174c7d(0x10d)](_0x174c7d(0x109));const {lockData:_0x53b985,appLock:_0x3eb085}=ensureSqlLockScope(_0x10a96e,_0x1af15f[_0x174c7d(0xfd)],_0x5aaecb[_0x174c7d(0x113)],_0x174c7d(0x11c)),_0x1cc385=_0x1af15f[_0x174c7d(0x114)](_0x174c7d(0xf9)),_0x2d110b=_0x3eb085[_0x174c7d(0x112)][_0x1cc385];if(!_0x2d110b)throw CliErrors[_0x174c7d(0x10d)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x1cc385+'\x22.');await deleteSqlQuery({'id':_0x2d110b[_0x174c7d(0x119)],'sqlCode':_0x1cc385}),_0x3eb085[_0x174c7d(0x112)]=Object['fromEntries'](Object['entries'](_0x3eb085[_0x174c7d(0x112)])[_0x174c7d(0x117)](([_0x3ae4af])=>_0x3ae4af!==_0x1cc385)),_0x3eb085[_0x174c7d(0x118)]=new Date()[_0x174c7d(0xfb)](),await writeSqlLockFile(_0x5aaecb[_0x174c7d(0x103)],_0x53b985);const _0x5c79ce=resolveLocalSqlFilePath(_0x5aaecb,_0x1cc385,_0x2d110b);let _0x479976;await fileExists(_0x5c79ce)&&(_0x479976=await moveToTrash(_0x5aaecb[_0x174c7d(0x107)],_0x5aaecb['trashDir'],_0x5c79ce),await cleanupEmptyDirectories(dirname(_0x5c79ce),_0x5aaecb[_0x174c7d(0x11a)]));const _0xaef9bb={'deleted':_0x1cc385,'remoteId':_0x2d110b['remoteId']};if(_0x479976)_0xaef9bb['trashedTo']=_0x479976;return{'ok':!![],'data':_0xaef9bb,'message':_0x174c7d(0x115)+_0x1cc385+(_0x479976?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x41edd1,_0x25212e,_0x3d3824){const _0x42dde2=a209_0x1e769a,_0x15f36b=new Date()[_0x42dde2(0xfb)]()[_0x42dde2(0x110)](/[:.]/g,'-'),_0x12766a=relative(_0x41edd1,_0x3d3824),_0x51381d=join(_0x25212e,_0x15f36b,_0x12766a);return await mkdir(dirname(_0x51381d),{'recursive':!![]}),await rename(_0x3d3824,_0x51381d),_0x51381d;}async function cleanupEmptyDirectories(_0x401cf9,_0x5b8bb6){const _0x4f8c64=a209_0x1e769a;let _0x46167f=resolve(_0x401cf9);const _0x47c927=resolve(_0x5b8bb6);while(_0x46167f[_0x4f8c64(0x11b)](''+_0x47c927+sep)||_0x46167f===_0x47c927){if(_0x46167f===_0x47c927)return;try{const _0x57c38e=await readdir(_0x46167f);if(_0x57c38e[_0x4f8c64(0xfc)]>0x0)return;await rmdir(_0x46167f);}catch{return;}_0x46167f=dirname(_0x46167f);}}
@@ -1 +1 @@
1
- const a211_0x1af3e3=a211_0x1367;(function(_0x2a7020,_0x439c37){const _0x47d2da=a211_0x1367,_0x2cbfe3=_0x2a7020();while(!![]){try{const _0x397c2a=-parseInt(_0x47d2da(0x9c))/0x1+-parseInt(_0x47d2da(0x9d))/0x2+parseInt(_0x47d2da(0xaa))/0x3*(-parseInt(_0x47d2da(0xa1))/0x4)+parseInt(_0x47d2da(0xa6))/0x5*(-parseInt(_0x47d2da(0x96))/0x6)+parseInt(_0x47d2da(0x9f))/0x7+parseInt(_0x47d2da(0x9a))/0x8+-parseInt(_0x47d2da(0x97))/0x9*(-parseInt(_0x47d2da(0xa2))/0xa);if(_0x397c2a===_0x439c37)break;else _0x2cbfe3['push'](_0x2cbfe3['shift']());}catch(_0xb85fa3){_0x2cbfe3['push'](_0x2cbfe3['shift']());}}}(a211_0x29e1,0x38b23));function a211_0x29e1(){const _0x30f881=['dbId','detail','1605gMTlRB','sqlcode','appCode','sql','8550oJXvmJ','11715687vAKTbb','str','verbose','675056MtEzmM','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','399438SZHaWc','856022nxaOcy','bool','1853432TPXEsS','boolean','1320iXzPtM','10jbazhc','description','Return\x20full\x20raw\x20SQL\x20query\x20object','sqlContent','1455JgpQHR','read'];a211_0x29e1=function(){return _0x30f881;};return a211_0x29e1();}function a211_0x1367(_0x5aa805,_0x124ab0){_0x5aa805=_0x5aa805-0x94;const _0x29e1d7=a211_0x29e1();let _0x1367c9=_0x29e1d7[_0x5aa805];return _0x1367c9;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a211_0x1af3e3(0x95),'command':a211_0x1af3e3(0xa9),'description':a211_0x1af3e3(0x9b),'risk':a211_0x1af3e3(0xa7),'flags':[SQLCODE_FLAG,{'name':a211_0x1af3e3(0x99),'type':a211_0x1af3e3(0xa0),'description':a211_0x1af3e3(0xa4)}],async 'execute'(_0x529f09){const _0x2358f5=a211_0x1af3e3,_0x288443=await getSqlQueryInfo(_0x529f09[_0x2358f5(0x94)],_0x529f09[_0x2358f5(0x98)](_0x2358f5(0xab))),_0x277c38=_0x529f09[_0x2358f5(0x9e)](_0x2358f5(0x99));if(_0x277c38)return{'ok':!![],'data':_0x288443};const _0x4b3c3a=_0x288443[_0x2358f5(0xa8)]?await getDbName(_0x529f09[_0x2358f5(0x94)],_0x288443['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x288443['sqlCode'],'sqlName':_0x288443['sqlName'],'db':_0x4b3c3a?_0x4b3c3a+'\x20('+_0x288443[_0x2358f5(0xa8)]+')':_0x288443['dbId']??'','description':_0x288443[_0x2358f5(0xa3)]??'','sqlContent':_0x288443[_0x2358f5(0xa5)]??''}};}};
1
+ function a210_0x1235(){const _0x3033f6=['32TCPkwk','2787966YqUXpR','sql','495003YJrMWs','sqlName','verbose','275kKxAjR','sqlCode','936168NjbjJD','appCode','dbId','str','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','description','37612OocnNK','5794370SbfNCN','523817mMEEGF','read','sqlcode','boolean','281366pmqGkt','2nfsGvF'];a210_0x1235=function(){return _0x3033f6;};return a210_0x1235();}const a210_0x53f0bb=a210_0x6347;(function(_0x3f728b,_0x1561a8){const _0x157eb7=a210_0x6347,_0x1b2734=_0x3f728b();while(!![]){try{const _0x3f6516=parseInt(_0x157eb7(0x136))/0x1+-parseInt(_0x157eb7(0x137))/0x2*(-parseInt(_0x157eb7(0x13b))/0x3)+-parseInt(_0x157eb7(0x130))/0x4*(parseInt(_0x157eb7(0x13e))/0x5)+-parseInt(_0x157eb7(0x12a))/0x6+parseInt(_0x157eb7(0x132))/0x7*(-parseInt(_0x157eb7(0x138))/0x8)+parseInt(_0x157eb7(0x139))/0x9+parseInt(_0x157eb7(0x131))/0xa;if(_0x3f6516===_0x1561a8)break;else _0x1b2734['push'](_0x1b2734['shift']());}catch(_0x436424){_0x1b2734['push'](_0x1b2734['shift']());}}}(a210_0x1235,0x58a35));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a210_0x6347(_0x3809b1,_0x56d93e){_0x3809b1=_0x3809b1-0x129;const _0x123580=a210_0x1235();let _0x6347ba=_0x123580[_0x3809b1];return _0x6347ba;}export const sqlDetail={'service':a210_0x53f0bb(0x13a),'command':'detail','description':a210_0x53f0bb(0x12e),'risk':a210_0x53f0bb(0x133),'flags':[SQLCODE_FLAG,{'name':a210_0x53f0bb(0x13d),'type':a210_0x53f0bb(0x135),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x45d4cd){const _0x1e5e08=a210_0x53f0bb,_0x2637fc=await getSqlQueryInfo(_0x45d4cd[_0x1e5e08(0x12b)],_0x45d4cd[_0x1e5e08(0x12d)](_0x1e5e08(0x134))),_0xaf33c9=_0x45d4cd['bool']('verbose');if(_0xaf33c9)return{'ok':!![],'data':_0x2637fc};const _0x1cfa45=_0x2637fc[_0x1e5e08(0x12c)]?await getDbName(_0x45d4cd[_0x1e5e08(0x12b)],_0x2637fc[_0x1e5e08(0x12c)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x2637fc[_0x1e5e08(0x129)],'sqlName':_0x2637fc[_0x1e5e08(0x13c)],'db':_0x1cfa45?_0x1cfa45+'\x20('+_0x2637fc[_0x1e5e08(0x12c)]+')':_0x2637fc[_0x1e5e08(0x12c)]??'','description':_0x2637fc[_0x1e5e08(0x12f)]??'','sqlContent':_0x2637fc['sqlContent']??''}};}};
@@ -1 +1 @@
1
- const a212_0xf49c73=a212_0x13bd;(function(_0x47ef4b,_0x3afd47){const _0x5ee59b=a212_0x13bd,_0x2864f2=_0x47ef4b();while(!![]){try{const _0x149e9a=parseInt(_0x5ee59b(0x7f))/0x1+parseInt(_0x5ee59b(0x78))/0x2*(parseInt(_0x5ee59b(0x76))/0x3)+parseInt(_0x5ee59b(0x81))/0x4*(parseInt(_0x5ee59b(0x6e))/0x5)+parseInt(_0x5ee59b(0x74))/0x6+parseInt(_0x5ee59b(0x83))/0x7*(parseInt(_0x5ee59b(0x70))/0x8)+parseInt(_0x5ee59b(0x75))/0x9*(-parseInt(_0x5ee59b(0x6d))/0xa)+-parseInt(_0x5ee59b(0x7e))/0xb*(parseInt(_0x5ee59b(0x77))/0xc);if(_0x149e9a===_0x3afd47)break;else _0x2864f2['push'](_0x2864f2['shift']());}catch(_0xf481f9){_0x2864f2['push'](_0x2864f2['shift']());}}}(a212_0x35e4,0xf062c));import{executeSql}from'../../core/api-client.js';function a212_0x13bd(_0x298947,_0xe7f916){_0x298947=_0x298947-0x6b;const _0x35e4b3=a212_0x35e4();let _0x13bdc1=_0x35e4b3[_0x298947];return _0x13bdc1;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a212_0xf49c73(0x6b),'command':a212_0xf49c73(0x79),'description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':a212_0xf49c73(0x7b),'flags':[SQLCODE_FLAG,{'name':a212_0xf49c73(0x73),'type':'string','description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x1d2068){const _0x58b7f2=a212_0xf49c73,_0x2aac26=parseJsonParams(_0x1d2068[_0x58b7f2(0x71)]('params')),_0x2221ff=Date['now'](),_0x1de757=await executeSql(_0x1d2068[_0x58b7f2(0x7a)],_0x1d2068[_0x58b7f2(0x71)]('sqlcode'),_0x2aac26),_0x42c291=Date[_0x58b7f2(0x80)]()-_0x2221ff,_0x54f597=_0x1de757?.['execResult']??_0x1de757,_0x6ddcd5=_0x1de757?.['execSuccess']??!![];if(!_0x6ddcd5)return{'ok':![],'data':{'error':_0x1de757?.[_0x58b7f2(0x6f)]||_0x58b7f2(0x7c),'elapsed':_0x42c291},'message':_0x58b7f2(0x7c)};const _0x281b68=Array[_0x58b7f2(0x72)](_0x54f597)?_0x54f597:[];return{'ok':!![],'data':{'rows':_0x281b68,'rowCount':_0x281b68[_0x58b7f2(0x7d)],'elapsed':_0x42c291},'message':_0x58b7f2(0x6c)+_0x281b68[_0x58b7f2(0x7d)]+_0x58b7f2(0x82)+_0x42c291+'ms'};}};function a212_0x35e4(){const _0xdff159=['str','isArray','params','11740188GgnEOE','12519sicKtg','111Gijhtk','588ZrBfRt','6090fiOnfc','exec','appCode','read','SQL\x20execution\x20failed','length','629651ZDqnuU','31650MgkYXN','now','202736fOZuZw','\x20row(s)\x20in\x20','10150917ovWGGN','sql','Returned\x20','5210Xdcymh','95jOdiQe','execError','8yYCGas'];a212_0x35e4=function(){return _0xdff159;};return a212_0x35e4();}
1
+ const a211_0x1a20b7=a211_0x58d4;function a211_0x58d4(_0x4a4ea2,_0x69cc79){_0x4a4ea2=_0x4a4ea2-0x19e;const _0x49137a=a211_0x4913();let _0x58d4f8=_0x49137a[_0x4a4ea2];return _0x58d4f8;}(function(_0xe14953,_0x3bad3c){const _0x1f9919=a211_0x58d4,_0x110c59=_0xe14953();while(!![]){try{const _0x2cf350=parseInt(_0x1f9919(0x1a1))/0x1+parseInt(_0x1f9919(0x1ab))/0x2+-parseInt(_0x1f9919(0x1a6))/0x3+-parseInt(_0x1f9919(0x19f))/0x4*(-parseInt(_0x1f9919(0x1a3))/0x5)+parseInt(_0x1f9919(0x1a7))/0x6*(-parseInt(_0x1f9919(0x1a0))/0x7)+parseInt(_0x1f9919(0x1a5))/0x8*(parseInt(_0x1f9919(0x1b3))/0x9)+-parseInt(_0x1f9919(0x1ae))/0xa*(-parseInt(_0x1f9919(0x1af))/0xb);if(_0x2cf350===_0x3bad3c)break;else _0x110c59['push'](_0x110c59['shift']());}catch(_0x290311){_0x110c59['push'](_0x110c59['shift']());}}}(a211_0x4913,0x876e7));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':'sql','command':'exec','description':a211_0x1a20b7(0x1b6),'risk':'read','flags':[SQLCODE_FLAG,{'name':a211_0x1a20b7(0x1a9),'type':a211_0x1a20b7(0x19e),'description':a211_0x1a20b7(0x1b4)}],async 'execute'(_0x147c95){const _0x3aa0e5=a211_0x1a20b7,_0x4d9371=parseJsonParams(_0x147c95['str'](_0x3aa0e5(0x1a9))),_0x13889a=Date[_0x3aa0e5(0x1a8)](),_0x253e91=await executeSql(_0x147c95['appCode'],_0x147c95[_0x3aa0e5(0x1a4)](_0x3aa0e5(0x1b5)),_0x4d9371),_0x3146c1=Date[_0x3aa0e5(0x1a8)]()-_0x13889a,_0x48b79c=_0x253e91?.[_0x3aa0e5(0x1b7)]??_0x253e91,_0x52186d=_0x253e91?.[_0x3aa0e5(0x1ad)]??!![];if(!_0x52186d)return{'ok':![],'data':{'error':_0x253e91?.[_0x3aa0e5(0x1aa)]||_0x3aa0e5(0x1a2),'elapsed':_0x3146c1},'message':_0x3aa0e5(0x1a2)};const _0x492bc2=Array[_0x3aa0e5(0x1b2)](_0x48b79c)?_0x48b79c:[];return{'ok':!![],'data':{'rows':_0x492bc2,'rowCount':_0x492bc2[_0x3aa0e5(0x1b1)],'elapsed':_0x3146c1},'message':_0x3aa0e5(0x1ac)+_0x492bc2[_0x3aa0e5(0x1b1)]+_0x3aa0e5(0x1b0)+_0x3146c1+'ms'};}};function a211_0x4913(){const _0x5ec9c9=['11GmXsRw','\x20row(s)\x20in\x20','length','isArray','369OTwzwp','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','sqlcode','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execResult','string','35524FTxsmq','525462URlvdA','210825gfjpJW','SQL\x20execution\x20failed','35axSMEw','str','129640VUOzdM','1913508tqDQZB','84tXtCOK','now','params','execError','1963942SaadQV','Returned\x20','execSuccess','3241190iHahnE'];a211_0x4913=function(){return _0x5ec9c9;};return a211_0x4913();}
@@ -1 +1 @@
1
- (function(_0x369c00,_0x4d5890){const _0x4e7622=a213_0x4d5a,_0x22073f=_0x369c00();while(!![]){try{const _0x8fbe71=parseInt(_0x4e7622(0x101))/0x1+-parseInt(_0x4e7622(0xfd))/0x2*(-parseInt(_0x4e7622(0x102))/0x3)+-parseInt(_0x4e7622(0x103))/0x4*(parseInt(_0x4e7622(0x100))/0x5)+-parseInt(_0x4e7622(0x104))/0x6+-parseInt(_0x4e7622(0xfe))/0x7+-parseInt(_0x4e7622(0x105))/0x8*(parseInt(_0x4e7622(0xfb))/0x9)+-parseInt(_0x4e7622(0xfc))/0xa*(-parseInt(_0x4e7622(0xff))/0xb);if(_0x8fbe71===_0x4d5890)break;else _0x22073f['push'](_0x22073f['shift']());}catch(_0x359a49){_0x22073f['push'](_0x22073f['shift']());}}}(a213_0x265f,0xc1942));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a213_0x4d5a(_0x2cea1f,_0x5ba414){_0x2cea1f=_0x2cea1f-0xfb;const _0x265ff1=a213_0x265f();let _0x4d5a87=_0x265ff1[_0x2cea1f];return _0x4d5a87;}import{sqlValidate}from'../../commands/sql/validate.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a213_0x265f(){const _0x19fee1=['2556402tfYRxr','10028963zRkzsC','11ppQneM','15bdZQfN','1462699cZBNrg','3gejjWz','1803576PkKbgT','941712cGrOUs','10784nIsjUp','2988segiqh','14418770PJqYAw'];a213_0x265f=function(){return _0x19fee1;};return a213_0x265f();}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,sqlExec,sqlPull,sqlDelete];
1
+ function a212_0x5c85(_0x578c62,_0x4e1e57){_0x578c62=_0x578c62-0xe5;const _0x30a83c=a212_0x30a8();let _0x5c8572=_0x30a83c[_0x578c62];return _0x5c8572;}(function(_0x4555ee,_0x421720){const _0xf06536=a212_0x5c85,_0x52c251=_0x4555ee();while(!![]){try{const _0x1f594f=parseInt(_0xf06536(0xee))/0x1*(parseInt(_0xf06536(0xea))/0x2)+parseInt(_0xf06536(0xe9))/0x3*(parseInt(_0xf06536(0xed))/0x4)+-parseInt(_0xf06536(0xe7))/0x5*(-parseInt(_0xf06536(0xf0))/0x6)+parseInt(_0xf06536(0xeb))/0x7+parseInt(_0xf06536(0xe8))/0x8*(-parseInt(_0xf06536(0xec))/0x9)+parseInt(_0xf06536(0xe6))/0xa*(parseInt(_0xf06536(0xe5))/0xb)+-parseInt(_0xf06536(0xef))/0xc;if(_0x1f594f===_0x421720)break;else _0x52c251['push'](_0x52c251['shift']());}catch(_0x1e457e){_0x52c251['push'](_0x52c251['shift']());}}}(a212_0x30a8,0xc2931));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.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';function a212_0x30a8(){const _0x55c049=['2976qYMPzF','11604241dygOuZ','10qYYsdN','2720PVxQcB','8ajtXaJ','6iVEgKy','309002JqapSc','9002952LnJztI','10040841TFlWsE','256796tGMHNj','8ahiGrF','24752052jTCATa'];a212_0x30a8=function(){return _0x55c049;};return a212_0x30a8();}import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
@@ -1 +1 @@
1
- function a214_0x3d70(_0x319603,_0x3c79f5){_0x319603=_0x319603-0x1a5;const _0x6a4087=a214_0x6a40();let _0x3d702e=_0x6a4087[_0x319603];return _0x3d702e;}const a214_0x23bfd5=a214_0x3d70;(function(_0x5342f6,_0x30e32e){const _0x498c4b=a214_0x3d70,_0x30aab7=_0x5342f6();while(!![]){try{const _0x449406=parseInt(_0x498c4b(0x1af))/0x1*(-parseInt(_0x498c4b(0x1b4))/0x2)+parseInt(_0x498c4b(0x1c1))/0x3*(parseInt(_0x498c4b(0x1ab))/0x4)+parseInt(_0x498c4b(0x1ba))/0x5*(-parseInt(_0x498c4b(0x1bf))/0x6)+-parseInt(_0x498c4b(0x1b7))/0x7+-parseInt(_0x498c4b(0x1bc))/0x8+-parseInt(_0x498c4b(0x1a6))/0x9+parseInt(_0x498c4b(0x1ac))/0xa*(parseInt(_0x498c4b(0x1b1))/0xb);if(_0x449406===_0x30e32e)break;else _0x30aab7['push'](_0x30aab7['shift']());}catch(_0x12dcf6){_0x30aab7['push'](_0x30aab7['shift']());}}}(a214_0x6a40,0x6df87));import{listSqlQueries}from'../../core/api-client.js';function a214_0x6a40(){const _0x511907=['6264432aVsFLY','page','list','3594knsCxm','all','111udFsxe','description','number','str','7326585HJXlpv','name','length','map','num','8780cqTZXp','218070jhwGbM','appCode','sqlCode','2bWgGYS','dbId','1738VMTCcW','Page\x20size','List\x20custom\x20SQL\x20queries','540006gJfxox','sqlName','pagesize','1735377nbAHPE','No\x20custom\x20SQL\x20queries\x20found.','read','5770rchpbN','verbose'];a214_0x6a40=function(){return _0x511907;};return a214_0x6a40();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':a214_0x23bfd5(0x1be),'description':a214_0x23bfd5(0x1b3),'risk':a214_0x23bfd5(0x1b9),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a214_0x23bfd5(0x1a7),'type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':a214_0x23bfd5(0x1bd),'type':a214_0x23bfd5(0x1c3),'description':'Page\x20number','default':0x1},{'name':a214_0x23bfd5(0x1b6),'type':a214_0x23bfd5(0x1c3),'description':a214_0x23bfd5(0x1b2)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x5917cf){const _0x2f87be=a214_0x23bfd5,_0x493555=await listSqlQueries(_0x5917cf[_0x2f87be(0x1ad)],{'sqlCode':_0x5917cf['str']('sqlcode')||undefined,'sqlName':_0x5917cf[_0x2f87be(0x1a5)](_0x2f87be(0x1a7))||undefined,'currentPage':_0x5917cf[_0x2f87be(0x1aa)](_0x2f87be(0x1bd)),'pageSize':_0x5917cf[_0x2f87be(0x1aa)](_0x2f87be(0x1b6),0x32)}),_0x2f2818=_0x5917cf['bool'](_0x2f87be(0x1bb)),_0x21225b=_0x493555['tableData']??[],_0x6eb23c=_0x493555['paging']?.['totalCount']??_0x21225b[_0x2f87be(0x1a8)];let _0x213c0b;return _0x2f2818?_0x213c0b=_0x21225b:_0x213c0b=await Promise[_0x2f87be(0x1c0)](_0x21225b[_0x2f87be(0x1a9)](async _0xcd271c=>{const _0xf3a011=_0x2f87be;let _0x1cffab;try{_0x1cffab=_0xcd271c[_0xf3a011(0x1b0)]?await getDbName(_0x5917cf[_0xf3a011(0x1ad)],_0xcd271c[_0xf3a011(0x1b0)]):undefined;}catch{}return{'sqlCode':_0xcd271c[_0xf3a011(0x1ae)],'sqlName':_0xcd271c[_0xf3a011(0x1b5)],'description':_0xcd271c[_0xf3a011(0x1c2)]??'','db':_0x1cffab?_0x1cffab+'\x20('+_0xcd271c[_0xf3a011(0x1b0)]+')':_0xcd271c[_0xf3a011(0x1b0)]??''};})),{'ok':!![],'data':_0x213c0b,'message':_0x21225b[_0x2f87be(0x1a8)]===0x0?_0x2f87be(0x1b8):'Found\x20'+_0x21225b['length']+'\x20SQL\x20queries\x20(total:\x20'+_0x6eb23c+').'};}};
1
+ const a213_0x1e4a7a=a213_0x1d44;(function(_0xbaaef3,_0x582fc1){const _0x5e9feb=a213_0x1d44,_0x2afa5f=_0xbaaef3();while(!![]){try{const _0x17df73=parseInt(_0x5e9feb(0xb5))/0x1+-parseInt(_0x5e9feb(0xac))/0x2*(-parseInt(_0x5e9feb(0xc4))/0x3)+-parseInt(_0x5e9feb(0xc0))/0x4+parseInt(_0x5e9feb(0xcc))/0x5*(-parseInt(_0x5e9feb(0xbb))/0x6)+-parseInt(_0x5e9feb(0xc1))/0x7*(parseInt(_0x5e9feb(0xaa))/0x8)+-parseInt(_0x5e9feb(0xc3))/0x9+parseInt(_0x5e9feb(0xc7))/0xa*(parseInt(_0x5e9feb(0xb9))/0xb);if(_0x17df73===_0x582fc1)break;else _0x2afa5f['push'](_0x2afa5f['shift']());}catch(_0x53cc33){_0x2afa5f['push'](_0x2afa5f['shift']());}}}(a213_0x5300,0x5becf));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a213_0x1d44(_0x2a8c6,_0x4c161a){_0x2a8c6=_0x2a8c6-0xa7;const _0x53009e=a213_0x5300();let _0x1d4478=_0x53009e[_0x2a8c6];return _0x1d4478;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a213_0x5300(){const _0x33a7f6=['string','43698YDxykX','sql','bool','read','tableData','1897820wewfGC','3172127GcFLFw','paging','1185246dMplJR','153WOYIYh','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','number','5767390VNZpAI','description','map','pagesize','sqlCode','335pCAZZR','Page\x20size','name','dbId','page','appCode','8YokcyL','Found\x20','5682wzTFyC','length','\x20SQL\x20queries\x20(total:\x20','List\x20custom\x20SQL\x20queries','str','Filter\x20by\x20SQL\x20name','totalCount','boolean','num','625429RWhMjm','verbose','all','Page\x20number','22raUvIz'];a213_0x5300=function(){return _0x33a7f6;};return a213_0x5300();}export const sqlList={'service':a213_0x1e4a7a(0xbc),'command':'list','description':a213_0x1e4a7a(0xaf),'risk':a213_0x1e4a7a(0xbe),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a213_0x1e4a7a(0xce),'type':a213_0x1e4a7a(0xba),'description':a213_0x1e4a7a(0xb1)},{'name':a213_0x1e4a7a(0xa8),'type':a213_0x1e4a7a(0xc6),'description':a213_0x1e4a7a(0xb8),'default':0x1},{'name':a213_0x1e4a7a(0xca),'type':a213_0x1e4a7a(0xc6),'description':a213_0x1e4a7a(0xcd)},{'name':a213_0x1e4a7a(0xb6),'type':a213_0x1e4a7a(0xb3),'description':a213_0x1e4a7a(0xc5)}],async 'execute'(_0xc8b980){const _0xeaedce=a213_0x1e4a7a,_0x3eecee=await listSqlQueries(_0xc8b980[_0xeaedce(0xa9)],{'sqlCode':_0xc8b980['str']('sqlcode')||undefined,'sqlName':_0xc8b980[_0xeaedce(0xb0)](_0xeaedce(0xce))||undefined,'currentPage':_0xc8b980['num'](_0xeaedce(0xa8)),'pageSize':_0xc8b980[_0xeaedce(0xb4)]('pagesize',0x32)}),_0x2aa2dc=_0xc8b980[_0xeaedce(0xbd)](_0xeaedce(0xb6)),_0x1f5218=_0x3eecee[_0xeaedce(0xbf)]??[],_0x3e7ff8=_0x3eecee[_0xeaedce(0xc2)]?.[_0xeaedce(0xb2)]??_0x1f5218['length'];let _0x2871d7;return _0x2aa2dc?_0x2871d7=_0x1f5218:_0x2871d7=await Promise[_0xeaedce(0xb7)](_0x1f5218[_0xeaedce(0xc9)](async _0x1b17e7=>{const _0x3a3d34=_0xeaedce;let _0x40e331;try{_0x40e331=_0x1b17e7[_0x3a3d34(0xa7)]?await getDbName(_0xc8b980[_0x3a3d34(0xa9)],_0x1b17e7[_0x3a3d34(0xa7)]):undefined;}catch{}return{'sqlCode':_0x1b17e7[_0x3a3d34(0xcb)],'sqlName':_0x1b17e7['sqlName'],'description':_0x1b17e7[_0x3a3d34(0xc8)]??'','db':_0x40e331?_0x40e331+'\x20('+_0x1b17e7[_0x3a3d34(0xa7)]+')':_0x1b17e7[_0x3a3d34(0xa7)]??''};})),{'ok':!![],'data':_0x2871d7,'message':_0x1f5218[_0xeaedce(0xad)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0xeaedce(0xab)+_0x1f5218[_0xeaedce(0xad)]+_0xeaedce(0xae)+_0x3e7ff8+').'};}};
@@ -1 +1 @@
1
- const a215_0xaf4aeb=a215_0x33d7;(function(_0x864590,_0x40fe56){const _0x4be554=a215_0x33d7,_0x19bdc2=_0x864590();while(!![]){try{const _0x39e822=-parseInt(_0x4be554(0x87))/0x1*(-parseInt(_0x4be554(0x9b))/0x2)+parseInt(_0x4be554(0xa0))/0x3+-parseInt(_0x4be554(0x89))/0x4*(-parseInt(_0x4be554(0xb8))/0x5)+parseInt(_0x4be554(0xb7))/0x6*(-parseInt(_0x4be554(0x97))/0x7)+parseInt(_0x4be554(0xaa))/0x8*(parseInt(_0x4be554(0xb2))/0x9)+parseInt(_0x4be554(0xac))/0xa+-parseInt(_0x4be554(0x7d))/0xb;if(_0x39e822===_0x40fe56)break;else _0x19bdc2['push'](_0x19bdc2['shift']());}catch(_0x50375d){_0x19bdc2['push'](_0x19bdc2['shift']());}}}(a215_0x1e87,0x4c162));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a215_0x33d7(_0xe8a2d0,_0x4c9b51){_0xe8a2d0=_0xe8a2d0-0x7d;const _0x1e87f1=a215_0x1e87();let _0x33d7e7=_0x1e87f1[_0xe8a2d0];return _0x33d7e7;}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';function a215_0x1e87(){const _0x3c7881=['description','push','sqlRootDir','force','read','mybatisXml','523803vMzlZx','lockFilePath','apps','Force\x20pull\x20cancelled.','26UNcuyw','paging','totalCount','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlName','831168hshFuq','str','message','sqls','cancelled','boolean','\x20skipped,\x20','join','\x20written,\x20','sqlRoot','31832lEKukJ','string','6101970IDBrIG','test','pull','\x20failed','sqlContent','name','18xOJzod','Filter\x20by\x20SQL\x20display\x20name','bool','Pull\x20complete:\x20','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','18QSXrLl','32605muPIVt','trimStart','7405948Ubvadc','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqlCode','appCode','local\x20differs\x20from\x20remote','toISOString','Would\x20pull\x20','Force\x20overwrite\x20local\x20unsynced\x20changes','length','utf8','18651FcXhHK','sqlcode','44ageuIt','path','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','replace','dbId','filter','unchanged','sql'];a215_0x1e87=function(){return _0x3c7881;};return a215_0x1e87();}import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x452d85,_0x3d6d5b){const _0x2b8c52=a215_0x33d7,_0x3f31d5=[];let _0x4f3fd7=0x1;while(!![]){const _0x572e90=await listSqlQueries(_0x452d85,{'currentPage':_0x4f3fd7,'pageSize':PAGE_SIZE,'sqlCode':_0x3d6d5b[_0x2b8c52(0x7f)],'sqlName':_0x3d6d5b[_0x2b8c52(0x9f)]}),_0x3d8284=_0x572e90['tableData']??[];_0x3f31d5[_0x2b8c52(0x92)](..._0x3d8284);if(_0x3d8284[_0x2b8c52(0x85)]===0x0)break;const _0x4ec874=_0x572e90[_0x2b8c52(0x9c)]?.[_0x2b8c52(0x9d)];if(_0x4ec874!=null?_0x3f31d5[_0x2b8c52(0x85)]>=_0x4ec874:_0x3d8284[_0x2b8c52(0x85)]<PAGE_SIZE)break;_0x4f3fd7++;}return _0x3f31d5;}async function ensureSqlContent(_0x490f98){const _0x5bd36e=a215_0x33d7;if(_0x490f98[_0x5bd36e(0xb0)]!=null&&String(_0x490f98[_0x5bd36e(0xb0)])['length']>0x0)return _0x490f98;return getSqlQueryDetail(_0x490f98[_0x5bd36e(0x7f)]);}export const sqlPull={'service':a215_0xaf4aeb(0x90),'command':a215_0xaf4aeb(0xae),'description':a215_0xaf4aeb(0x9e),'risk':a215_0xaf4aeb(0x95),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a215_0xaf4aeb(0xb1),'type':a215_0xaf4aeb(0xab),'description':a215_0xaf4aeb(0xb3)},{'name':a215_0xaf4aeb(0x94),'type':a215_0xaf4aeb(0xa5),'description':a215_0xaf4aeb(0x84)}],async 'dryRun'(_0x5bbeb5){const _0x230196=a215_0xaf4aeb,_0x50ad87=loadSqlProjectConfig(_0x5bbeb5[_0x230196(0x80)]),_0x3f266a=await readSqlLockFile(_0x50ad87[_0x230196(0x98)]),{appLock:_0x5715a4}=ensureSqlLockScope(_0x3f266a??createEmptySqlLock(),_0x50ad87[_0x230196(0x80)],_0x50ad87[_0x230196(0xa9)],'pull'),_0xd604ee=await fetchAllSqlQueries(_0x5bbeb5[_0x230196(0x80)],{'sqlCode':_0x5bbeb5['str'](_0x230196(0x88))||undefined,'sqlName':_0x5bbeb5[_0x230196(0xa1)](_0x230196(0xb1))||undefined}),_0x364a0e=[];for(const _0x298306 of _0xd604ee){const _0x15aeb1=await ensureSqlContent(_0x298306),_0x1a459f=ensureRemoteSqlContent(_0x15aeb1),_0x3b90b8=detectModeFromSql(_0x15aeb1),_0x4467d9=_0x15aeb1[_0x230196(0x8d)]?await getDbName(_0x5bbeb5['appCode'],Number(_0x15aeb1[_0x230196(0x8d)]))['catch'](()=>undefined):undefined,_0x3748e9=buildLocalSqlFileContent({'sqlCode':_0x15aeb1[_0x230196(0x7f)],'sqlName':_0x15aeb1[_0x230196(0x9f)],'dbId':_0x15aeb1['dbId']},_0x1a459f,{'dbName':_0x4467d9,'mode':_0x3b90b8,'syncedAt':new Date()['toISOString'](),'description':_0x15aeb1[_0x230196(0x91)]}),_0x27c653=buildSqlLockEntry(_0x15aeb1,_0x1a459f,'',{'dbName':_0x4467d9}),_0x2fa69a=resolveLocalSqlFilePath(_0x50ad87,_0x15aeb1['sqlCode'],_0x27c653);let _0x4b5455='would_pull',_0x11bad6;if(await fileExists(_0x2fa69a)){const _0x814063=await readFile(_0x2fa69a,'utf8');isEquivalentPulledSqlFile(_0x814063,_0x3748e9,_0x3b90b8)?(_0x4b5455='skipped',_0x11bad6=_0x230196(0x8f)):(_0x4b5455='conflict',_0x11bad6=_0x230196(0x7e));}_0x364a0e[_0x230196(0x92)]({'sqlCode':_0x15aeb1[_0x230196(0x7f)],'sqlName':_0x15aeb1[_0x230196(0x9f)],'filePath':_0x2fa69a,'status':_0x4b5455,'reason':_0x11bad6});}return{'method':'POST','url':_0x230196(0x8b),'body':{'appCode':_0x5bbeb5[_0x230196(0x80)],'sqlCode':_0x5bbeb5[_0x230196(0xa1)](_0x230196(0x88))||null,'sqlName':_0x5bbeb5[_0x230196(0xa1)]('name')||null,'files':_0x364a0e},'description':_0x230196(0x83)+_0x364a0e[_0x230196(0x85)]+'\x20SQL\x20file(s)\x20into\x20'+_0x50ad87['sqlRootDir']};},async 'execute'(_0x1a149a){const _0x58b685=a215_0xaf4aeb,_0x1d26ae=loadSqlProjectConfig(_0x1a149a[_0x58b685(0x80)]),_0x3eac21=await readSqlLockFile(_0x1d26ae['lockFilePath']),{lockData:_0x46ec37,appLock:_0x139d6d}=ensureSqlLockScope(_0x3eac21??createEmptySqlLock(),_0x1d26ae['appCode'],_0x1d26ae['sqlRoot'],'pull'),_0x1643fd=_0x1a149a[_0x58b685(0xb4)]('force'),_0x223e10=await fetchAllSqlQueries(_0x1a149a[_0x58b685(0x80)],{'sqlCode':_0x1a149a[_0x58b685(0xa1)](_0x58b685(0x88))||undefined,'sqlName':_0x1a149a[_0x58b685(0xa1)]('name')||undefined});if(_0x223e10['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x367f25=[],_0x332401=[];for(const _0x22974c of _0x223e10){try{_0x367f25[_0x58b685(0x92)](await ensureSqlContent(_0x22974c));}catch(_0x3da8d4){_0x332401[_0x58b685(0x92)]({'sqlCode':_0x22974c[_0x58b685(0x7f)],'error':_0x3da8d4 instanceof Error?_0x3da8d4[_0x58b685(0xa2)]:String(_0x3da8d4)});}}if(_0x1643fd&&!_0x1a149a['nonInteractive']){let _0x484305=![];for(const _0xf1b1f4 of _0x367f25){const _0x41152d=detectModeFromSql(_0xf1b1f4),_0x5e68a3=_0xf1b1f4[_0x58b685(0x8d)]?await getDbName(_0x1a149a[_0x58b685(0x80)],Number(_0xf1b1f4[_0x58b685(0x8d)]))['catch'](()=>undefined):undefined,_0x249f19=buildLocalSqlFileContent({'sqlCode':_0xf1b1f4[_0x58b685(0x7f)],'sqlName':_0xf1b1f4[_0x58b685(0x9f)],'dbId':_0xf1b1f4[_0x58b685(0x8d)]},ensureRemoteSqlContent(_0xf1b1f4),{'dbName':_0x5e68a3,'mode':_0x41152d,'syncedAt':new Date()[_0x58b685(0x82)](),'description':_0xf1b1f4[_0x58b685(0x91)]}),_0xf21bee=resolveLocalSqlFilePath(_0x1d26ae,_0xf1b1f4['sqlCode'],buildSqlLockEntry(_0xf1b1f4,ensureRemoteSqlContent(_0xf1b1f4),'',{'dbName':_0x5e68a3}));if(await fileExists(_0xf21bee)){const _0x1ccb7a=await readFile(_0xf21bee,_0x58b685(0x86));if(!isEquivalentPulledSqlFile(_0x1ccb7a,_0x249f19,_0x41152d)){_0x484305=!![];break;}}}if(_0x484305){const _0x1ebea8=await confirmForceOverwrite(_0x58b685(0xb6));if(!_0x1ebea8)throw CliErrors[_0x58b685(0xa4)](_0x58b685(0x9a));}}const _0x1da991=cloneSqlLockData(_0x46ec37),_0x431ca5=_0x1da991[_0x58b685(0x99)][_0x1d26ae[_0x58b685(0x80)]],_0x33858f=[],_0x127999=[];for(const _0x6693fc of _0x367f25){const _0x3c1c54=_0x431ca5[_0x58b685(0xa3)][_0x6693fc['sqlCode']],_0x289133=ensureRemoteSqlContent(_0x6693fc),_0x377b37=detectModeFromSql(_0x6693fc),_0x5b68dd=_0x6693fc['dbId']?await getDbName(_0x1a149a[_0x58b685(0x80)],Number(_0x6693fc[_0x58b685(0x8d)]))['catch'](()=>undefined):undefined,_0x447daa=buildLocalSqlFileContent({'sqlCode':_0x6693fc[_0x58b685(0x7f)],'sqlName':_0x6693fc[_0x58b685(0x9f)],'dbId':_0x6693fc['dbId']},_0x289133,{'dbName':_0x5b68dd,'mode':_0x377b37,'syncedAt':new Date()[_0x58b685(0x82)](),'description':_0x6693fc[_0x58b685(0x91)]}),_0x4a5fdf=buildSqlLockEntry(_0x6693fc,_0x289133,computeSqlContentHash(_0x447daa),{'dbName':_0x5b68dd}),_0x790d65=_0x4a5fdf[_0x58b685(0x8a)],_0xf36219=join(_0x1d26ae['sqlRootDir'],_0x790d65);try{if(await fileExists(_0xf36219)){const _0x4c2611=await readFile(_0xf36219,_0x58b685(0x86));if(isEquivalentPulledSqlFile(_0x4c2611,_0x447daa,_0x377b37)){_0x127999[_0x58b685(0x92)]({'sqlCode':_0x6693fc[_0x58b685(0x7f)],'reason':_0x58b685(0x8f)}),_0x431ca5['sqls'][_0x6693fc[_0x58b685(0x7f)]]={..._0x4a5fdf,'hash':computeSqlContentHash(_0x4c2611),'path':_0x790d65};continue;}if(!_0x1643fd){_0x127999[_0x58b685(0x92)]({'sqlCode':_0x6693fc[_0x58b685(0x7f)],'reason':_0x58b685(0x81)});continue;}}const _0x232248=_0x3c1c54?.[_0x58b685(0x8a)]?join(_0x1d26ae[_0x58b685(0x93)],_0x3c1c54[_0x58b685(0x8a)]):undefined;_0x232248&&_0x232248!==_0xf36219&&await fileExists(_0x232248)&&await rm(_0x232248,{'force':!![]}),await ensureParentDirectory(_0xf36219),await writeFile(_0xf36219,_0x447daa,_0x58b685(0x86)),_0x431ca5[_0x58b685(0xa3)][_0x6693fc['sqlCode']]={..._0x4a5fdf,'path':_0x790d65},_0x33858f[_0x58b685(0x92)]({'sqlCode':_0x6693fc[_0x58b685(0x7f)],'filePath':_0xf36219});}catch(_0x110c30){_0x332401[_0x58b685(0x92)]({'sqlCode':_0x6693fc[_0x58b685(0x7f)],'error':_0x110c30 instanceof Error?_0x110c30[_0x58b685(0xa2)]:String(_0x110c30)});}}return _0x431ca5['lastSync']=new Date()[_0x58b685(0x82)](),await writeSqlLockFile(_0x1d26ae[_0x58b685(0x98)],_0x1da991),{'ok':_0x332401[_0x58b685(0x85)]===0x0,'data':{'pulled':_0x33858f,'skipped':_0x127999,'failed':_0x332401},'message':_0x58b685(0xb5)+_0x33858f[_0x58b685(0x85)]+_0x58b685(0xa8)+_0x127999[_0x58b685(0x85)]+_0x58b685(0xa6)+_0x332401['length']+_0x58b685(0xaf)};}};function detectModeFromSql(_0xcd602a){const _0xc0bf69=a215_0xaf4aeb,_0x597397=ensureRemoteSqlContent(_0xcd602a),_0x32c208=stripLocalSqlMetadata(_0x597397,_0xc0bf69(0x96))[_0xc0bf69(0xb9)]();if(/^<(select|insert|update|delete)\b/i[_0xc0bf69(0xad)](_0x32c208))return'mybatisXml';return'sql';}function isEquivalentPulledSqlFile(_0x2160c1,_0x26cd08,_0x90be56){return normalizePullComparableContent(_0x2160c1,_0x90be56)===normalizePullComparableContent(_0x26cd08,_0x90be56);}function normalizePullComparableContent(_0x438dff,_0x5802ed){const _0x559edf=a215_0xaf4aeb,_0x567ed9=_0x438dff[_0x559edf(0x8c)](/\r\n/g,'\x0a')['split']('\x0a'),_0x18712b=_0x567ed9[_0x559edf(0x8e)](_0x4a3dd5=>!isSyncedAtMetadataLine(_0x4a3dd5,_0x5802ed));return _0x18712b[_0x559edf(0xa7)]('\x0a');}function isSyncedAtMetadataLine(_0x1d8ef3,_0x22f004){const _0x5b63ba=a215_0xaf4aeb;if(_0x22f004===_0x5b63ba(0x96))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x5b63ba(0xad)](_0x1d8ef3);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x5b63ba(0xad)](_0x1d8ef3);}
1
+ const a214_0x3c3d70=a214_0x17ae;(function(_0x5a46f5,_0x880215){const _0x3e43de=a214_0x17ae,_0x2fba7d=_0x5a46f5();while(!![]){try{const _0x36be53=-parseInt(_0x3e43de(0x12c))/0x1+parseInt(_0x3e43de(0x117))/0x2*(parseInt(_0x3e43de(0x134))/0x3)+parseInt(_0x3e43de(0x122))/0x4*(parseInt(_0x3e43de(0x13a))/0x5)+-parseInt(_0x3e43de(0x116))/0x6*(parseInt(_0x3e43de(0x149))/0x7)+-parseInt(_0x3e43de(0x14f))/0x8*(-parseInt(_0x3e43de(0x11d))/0x9)+-parseInt(_0x3e43de(0x144))/0xa+parseInt(_0x3e43de(0x11a))/0xb;if(_0x36be53===_0x880215)break;else _0x2fba7d['push'](_0x2fba7d['shift']());}catch(_0x4585ec){_0x2fba7d['push'](_0x2fba7d['shift']());}}}(a214_0xa5a4,0x351d3));function a214_0xa5a4(){const _0x165f18=['test','1831455nNABFS','lastSync','pull','path','Pull\x20complete:\x20','132RIewQv','mybatisXml','sqlContent','push','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','skipped','sqlName','nonInteractive','paging','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','291221JCEpon','local\x20differs\x20from\x20remote','sqlRoot','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','message','length','\x20skipped,\x20','str','10893CEqirb','split','appCode','replace','name','description','17365MVfLXW','toISOString','read','filter','Force\x20pull\x20cancelled.','trimStart','force','catch','sql','POST','4071840IMRhvb','join','\x20failed','sqlRootDir','\x20written,\x20','21UzvpjZ','Filter\x20by\x20SQL\x20display\x20name','dbId','totalCount','sqlcode','lockFilePath','8JMUMLU','tableData','sqls','unchanged','conflict','100062NoTXiK','190woiDjr','utf8','sqlCode','3332362xePQWh','apps'];a214_0xa5a4=function(){return _0x165f18;};return a214_0xa5a4();}import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';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(_0x529dd6,_0x40bfcd){const _0x44b3b3=a214_0x17ae,_0x3d7950=[];let _0x4d506b=0x1;while(!![]){const _0x51d867=await listSqlQueries(_0x529dd6,{'currentPage':_0x4d506b,'pageSize':PAGE_SIZE,'sqlCode':_0x40bfcd[_0x44b3b3(0x119)],'sqlName':_0x40bfcd[_0x44b3b3(0x128)]}),_0x45011a=_0x51d867[_0x44b3b3(0x112)]??[];_0x3d7950[_0x44b3b3(0x125)](..._0x45011a);if(_0x45011a[_0x44b3b3(0x131)]===0x0)break;const _0x3bcc47=_0x51d867[_0x44b3b3(0x12a)]?.[_0x44b3b3(0x14c)];if(_0x3bcc47!=null?_0x3d7950[_0x44b3b3(0x131)]>=_0x3bcc47:_0x45011a['length']<PAGE_SIZE)break;_0x4d506b++;}return _0x3d7950;}async function ensureSqlContent(_0x2d0722){const _0x52efb3=a214_0x17ae;if(_0x2d0722[_0x52efb3(0x124)]!=null&&String(_0x2d0722[_0x52efb3(0x124)])[_0x52efb3(0x131)]>0x0)return _0x2d0722;return getSqlQueryDetail(_0x2d0722['sqlCode']);}export const sqlPull={'service':a214_0x3c3d70(0x142),'command':a214_0x3c3d70(0x11f),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a214_0x3c3d70(0x13c),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a214_0x3c3d70(0x138),'type':'string','description':a214_0x3c3d70(0x14a)},{'name':'force','type':'boolean','description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x5a516e){const _0x6b3151=a214_0x3c3d70,_0x5b3fec=loadSqlProjectConfig(_0x5a516e[_0x6b3151(0x136)]),_0x395948=await readSqlLockFile(_0x5b3fec[_0x6b3151(0x14e)]),{appLock:_0x5ceca9}=ensureSqlLockScope(_0x395948??createEmptySqlLock(),_0x5b3fec['appCode'],_0x5b3fec[_0x6b3151(0x12e)],_0x6b3151(0x11f)),_0x1e69e6=await fetchAllSqlQueries(_0x5a516e[_0x6b3151(0x136)],{'sqlCode':_0x5a516e['str'](_0x6b3151(0x14d))||undefined,'sqlName':_0x5a516e[_0x6b3151(0x133)](_0x6b3151(0x138))||undefined}),_0xbca407=[];for(const _0x4ad4ea of _0x1e69e6){const _0x48b069=await ensureSqlContent(_0x4ad4ea),_0x586122=ensureRemoteSqlContent(_0x48b069),_0x82d1b7=detectModeFromSql(_0x48b069),_0x45157a=_0x48b069[_0x6b3151(0x14b)]?await getDbName(_0x5a516e[_0x6b3151(0x136)],Number(_0x48b069['dbId']))[_0x6b3151(0x141)](()=>undefined):undefined,_0x2979b8=buildLocalSqlFileContent({'sqlCode':_0x48b069[_0x6b3151(0x119)],'sqlName':_0x48b069[_0x6b3151(0x128)],'dbId':_0x48b069[_0x6b3151(0x14b)]},_0x586122,{'dbName':_0x45157a,'mode':_0x82d1b7,'syncedAt':new Date()[_0x6b3151(0x13b)](),'description':_0x48b069[_0x6b3151(0x139)]}),_0x31acfe=buildSqlLockEntry(_0x48b069,_0x586122,'',{'dbName':_0x45157a}),_0x1bf0f9=resolveLocalSqlFilePath(_0x5b3fec,_0x48b069['sqlCode'],_0x31acfe);let _0x42ed54='would_pull',_0x3670cb;if(await fileExists(_0x1bf0f9)){const _0x339f05=await readFile(_0x1bf0f9,'utf8');isEquivalentPulledSqlFile(_0x339f05,_0x2979b8,_0x82d1b7)?(_0x42ed54=_0x6b3151(0x127),_0x3670cb=_0x6b3151(0x114)):(_0x42ed54=_0x6b3151(0x115),_0x3670cb=_0x6b3151(0x126));}_0xbca407[_0x6b3151(0x125)]({'sqlCode':_0x48b069[_0x6b3151(0x119)],'sqlName':_0x48b069['sqlName'],'filePath':_0x1bf0f9,'status':_0x42ed54,'reason':_0x3670cb});}return{'method':_0x6b3151(0x143),'url':_0x6b3151(0x12f),'body':{'appCode':_0x5a516e[_0x6b3151(0x136)],'sqlCode':_0x5a516e[_0x6b3151(0x133)](_0x6b3151(0x14d))||null,'sqlName':_0x5a516e[_0x6b3151(0x133)](_0x6b3151(0x138))||null,'files':_0xbca407},'description':'Would\x20pull\x20'+_0xbca407[_0x6b3151(0x131)]+'\x20SQL\x20file(s)\x20into\x20'+_0x5b3fec[_0x6b3151(0x147)]};},async 'execute'(_0x366482){const _0xb58714=a214_0x3c3d70,_0x19428d=loadSqlProjectConfig(_0x366482[_0xb58714(0x136)]),_0x1f43e0=await readSqlLockFile(_0x19428d[_0xb58714(0x14e)]),{lockData:_0x338b3c,appLock:_0x1d40b2}=ensureSqlLockScope(_0x1f43e0??createEmptySqlLock(),_0x19428d[_0xb58714(0x136)],_0x19428d[_0xb58714(0x12e)],_0xb58714(0x11f)),_0x5ad1b3=_0x366482['bool'](_0xb58714(0x140)),_0x3c2716=await fetchAllSqlQueries(_0x366482['appCode'],{'sqlCode':_0x366482[_0xb58714(0x133)](_0xb58714(0x14d))||undefined,'sqlName':_0x366482['str'](_0xb58714(0x138))||undefined});if(_0x3c2716[_0xb58714(0x131)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x1f35ef=[],_0x20dc65=[];for(const _0xc86de1 of _0x3c2716){try{_0x1f35ef[_0xb58714(0x125)](await ensureSqlContent(_0xc86de1));}catch(_0x4f4e22){_0x20dc65['push']({'sqlCode':_0xc86de1[_0xb58714(0x119)],'error':_0x4f4e22 instanceof Error?_0x4f4e22[_0xb58714(0x130)]:String(_0x4f4e22)});}}if(_0x5ad1b3&&!_0x366482[_0xb58714(0x129)]){let _0x22d262=![];for(const _0x7a7a6b of _0x1f35ef){const _0x27707a=detectModeFromSql(_0x7a7a6b),_0x36ba57=_0x7a7a6b[_0xb58714(0x14b)]?await getDbName(_0x366482[_0xb58714(0x136)],Number(_0x7a7a6b[_0xb58714(0x14b)]))[_0xb58714(0x141)](()=>undefined):undefined,_0x55f0b8=buildLocalSqlFileContent({'sqlCode':_0x7a7a6b[_0xb58714(0x119)],'sqlName':_0x7a7a6b['sqlName'],'dbId':_0x7a7a6b[_0xb58714(0x14b)]},ensureRemoteSqlContent(_0x7a7a6b),{'dbName':_0x36ba57,'mode':_0x27707a,'syncedAt':new Date()['toISOString'](),'description':_0x7a7a6b[_0xb58714(0x139)]}),_0x4db2fb=resolveLocalSqlFilePath(_0x19428d,_0x7a7a6b['sqlCode'],buildSqlLockEntry(_0x7a7a6b,ensureRemoteSqlContent(_0x7a7a6b),'',{'dbName':_0x36ba57}));if(await fileExists(_0x4db2fb)){const _0x35667a=await readFile(_0x4db2fb,_0xb58714(0x118));if(!isEquivalentPulledSqlFile(_0x35667a,_0x55f0b8,_0x27707a)){_0x22d262=!![];break;}}}if(_0x22d262){const _0x15519b=await confirmForceOverwrite(_0xb58714(0x12b));if(!_0x15519b)throw CliErrors['cancelled'](_0xb58714(0x13e));}}const _0x516b29=cloneSqlLockData(_0x338b3c),_0x26b728=_0x516b29[_0xb58714(0x11b)][_0x19428d[_0xb58714(0x136)]],_0x295f7b=[],_0x15e004=[];for(const _0xae9f79 of _0x1f35ef){const _0x1639b5=_0x26b728[_0xb58714(0x113)][_0xae9f79[_0xb58714(0x119)]],_0xd60383=ensureRemoteSqlContent(_0xae9f79),_0x4e5157=detectModeFromSql(_0xae9f79),_0x1123af=_0xae9f79[_0xb58714(0x14b)]?await getDbName(_0x366482[_0xb58714(0x136)],Number(_0xae9f79[_0xb58714(0x14b)]))[_0xb58714(0x141)](()=>undefined):undefined,_0x87ff8d=buildLocalSqlFileContent({'sqlCode':_0xae9f79[_0xb58714(0x119)],'sqlName':_0xae9f79['sqlName'],'dbId':_0xae9f79['dbId']},_0xd60383,{'dbName':_0x1123af,'mode':_0x4e5157,'syncedAt':new Date()[_0xb58714(0x13b)](),'description':_0xae9f79['description']}),_0x46d758=buildSqlLockEntry(_0xae9f79,_0xd60383,computeSqlContentHash(_0x87ff8d),{'dbName':_0x1123af}),_0x3b970b=_0x46d758[_0xb58714(0x120)],_0x1ff41e=join(_0x19428d[_0xb58714(0x147)],_0x3b970b);try{if(await fileExists(_0x1ff41e)){const _0xf232b9=await readFile(_0x1ff41e,_0xb58714(0x118));if(isEquivalentPulledSqlFile(_0xf232b9,_0x87ff8d,_0x4e5157)){_0x15e004[_0xb58714(0x125)]({'sqlCode':_0xae9f79[_0xb58714(0x119)],'reason':'unchanged'}),_0x26b728[_0xb58714(0x113)][_0xae9f79[_0xb58714(0x119)]]={..._0x46d758,'hash':computeSqlContentHash(_0xf232b9),'path':_0x3b970b};continue;}if(!_0x5ad1b3){_0x15e004[_0xb58714(0x125)]({'sqlCode':_0xae9f79[_0xb58714(0x119)],'reason':_0xb58714(0x12d)});continue;}}const _0x1c0bba=_0x1639b5?.[_0xb58714(0x120)]?join(_0x19428d['sqlRootDir'],_0x1639b5[_0xb58714(0x120)]):undefined;_0x1c0bba&&_0x1c0bba!==_0x1ff41e&&await fileExists(_0x1c0bba)&&await rm(_0x1c0bba,{'force':!![]}),await ensureParentDirectory(_0x1ff41e),await writeFile(_0x1ff41e,_0x87ff8d,_0xb58714(0x118)),_0x26b728[_0xb58714(0x113)][_0xae9f79[_0xb58714(0x119)]]={..._0x46d758,'path':_0x3b970b},_0x295f7b['push']({'sqlCode':_0xae9f79['sqlCode'],'filePath':_0x1ff41e});}catch(_0x22db42){_0x20dc65[_0xb58714(0x125)]({'sqlCode':_0xae9f79[_0xb58714(0x119)],'error':_0x22db42 instanceof Error?_0x22db42[_0xb58714(0x130)]:String(_0x22db42)});}}return _0x26b728[_0xb58714(0x11e)]=new Date()[_0xb58714(0x13b)](),await writeSqlLockFile(_0x19428d[_0xb58714(0x14e)],_0x516b29),{'ok':_0x20dc65[_0xb58714(0x131)]===0x0,'data':{'pulled':_0x295f7b,'skipped':_0x15e004,'failed':_0x20dc65},'message':_0xb58714(0x121)+_0x295f7b[_0xb58714(0x131)]+_0xb58714(0x148)+_0x15e004[_0xb58714(0x131)]+_0xb58714(0x132)+_0x20dc65[_0xb58714(0x131)]+_0xb58714(0x146)};}};function a214_0x17ae(_0x2bc71e,_0x420e56){_0x2bc71e=_0x2bc71e-0x112;const _0xa5a462=a214_0xa5a4();let _0x17ae9=_0xa5a462[_0x2bc71e];return _0x17ae9;}function detectModeFromSql(_0x5925aa){const _0x3e420f=a214_0x3c3d70,_0x5a15af=ensureRemoteSqlContent(_0x5925aa),_0x32c539=stripLocalSqlMetadata(_0x5a15af,_0x3e420f(0x123))[_0x3e420f(0x13f)]();if(/^<(select|insert|update|delete)\b/i[_0x3e420f(0x11c)](_0x32c539))return _0x3e420f(0x123);return _0x3e420f(0x142);}function isEquivalentPulledSqlFile(_0x499766,_0x9d39dc,_0x2eeb3e){return normalizePullComparableContent(_0x499766,_0x2eeb3e)===normalizePullComparableContent(_0x9d39dc,_0x2eeb3e);}function normalizePullComparableContent(_0x3e0ebb,_0x1d6c65){const _0x357ee0=a214_0x3c3d70,_0x53122f=_0x3e0ebb[_0x357ee0(0x137)](/\r\n/g,'\x0a')[_0x357ee0(0x135)]('\x0a'),_0x31db20=_0x53122f[_0x357ee0(0x13d)](_0xce9b4c=>!isSyncedAtMetadataLine(_0xce9b4c,_0x1d6c65));return _0x31db20[_0x357ee0(0x145)]('\x0a');}function isSyncedAtMetadataLine(_0x4176c0,_0x27fed4){const _0x67e211=a214_0x3c3d70;if(_0x27fed4===_0x67e211(0x123))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x67e211(0x11c)](_0x4176c0);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x67e211(0x11c)](_0x4176c0);}
@@ -1 +1 @@
1
- const a216_0x4c4e8b=a216_0x31e7;(function(_0x390536,_0x47f946){const _0x673e0a=a216_0x31e7,_0xe8bd4c=_0x390536();while(!![]){try{const _0x980f7a=parseInt(_0x673e0a(0xea))/0x1*(-parseInt(_0x673e0a(0x10d))/0x2)+parseInt(_0x673e0a(0xdf))/0x3+-parseInt(_0x673e0a(0xfd))/0x4+parseInt(_0x673e0a(0xef))/0x5+parseInt(_0x673e0a(0xd5))/0x6+parseInt(_0x673e0a(0x100))/0x7+-parseInt(_0x673e0a(0xe7))/0x8*(-parseInt(_0x673e0a(0xe0))/0x9);if(_0x980f7a===_0x47f946)break;else _0xe8bd4c['push'](_0xe8bd4c['shift']());}catch(_0x5e1b4f){_0xe8bd4c['push'](_0xe8bd4c['shift']());}}}(a216_0xba97,0x7c761));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';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';import{automaticDeploymentSyncSucceeded,buildAutomaticDeploymentSyncPreview,runAutomaticDeploymentSync}from'../../commands/deployment/auto-sync.js';async function getTargetSqlQueries(_0x3e13f5,_0x928fdf,_0x2db6c0){const _0x85edbb=a216_0x31e7,_0x8f0691=await scanLocalSqlQueries(_0x3e13f5),_0x3a83a6=new Map();for(const _0x282941 of _0x8f0691){if(_0x2db6c0&&_0x282941['sqlCode']!==_0x2db6c0)continue;const _0xb11b18=_0x3a83a6[_0x85edbb(0xe6)](_0x282941['sqlCode'])??[];_0xb11b18[_0x85edbb(0x107)](_0x282941),_0x3a83a6[_0x85edbb(0xde)](_0x282941[_0x85edbb(0xd2)],_0xb11b18);}if(_0x2db6c0&&!_0x3a83a6[_0x85edbb(0x105)](_0x2db6c0))throw CliErrors[_0x85edbb(0xec)](_0x85edbb(0xeb)+_0x2db6c0);const _0x455d9d=[];for(const [_0x5154f5,_0x1d444e]of _0x3a83a6['entries']()){if(_0x1d444e[_0x85edbb(0x106)]===0x1){_0x455d9d[_0x85edbb(0x107)](_0x1d444e[0x0]);continue;}const _0x2430e3=_0x928fdf[_0x85edbb(0x108)][_0x5154f5],_0x57da56=_0x2430e3?.[_0x85edbb(0x110)],_0x411e3a=_0x57da56?_0x1d444e['filter'](_0xac613=>_0xac613['relativePath']!==_0x57da56):_0x1d444e;if(_0x2430e3&&_0x411e3a[_0x85edbb(0x106)]===0x1){_0x455d9d['push'](_0x411e3a[0x0]);continue;}throw CliErrors[_0x85edbb(0xec)](_0x85edbb(0xe8)+_0x5154f5+_0x85edbb(0xd7));}return _0x455d9d;}export const sqlPush={'service':a216_0x4c4e8b(0xd9),'command':'push','description':a216_0x4c4e8b(0xf4),'risk':a216_0x4c4e8b(0xed),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a216_0x4c4e8b(0xfa),'type':a216_0x4c4e8b(0xd4),'description':a216_0x4c4e8b(0xf1)}],async 'dryRun'(_0x5d9ab6){const _0x18b99f=a216_0x4c4e8b,_0x5862cb=loadSqlProjectConfig(_0x5d9ab6['appCode']),_0xed83c9=await readSqlLockFile(_0x5862cb['lockFilePath']),{appLock:_0x4f86c4}=ensureSqlLockScope(_0xed83c9??createEmptySqlLock(),_0x5d9ab6[_0x18b99f(0x10b)],_0x5862cb[_0x18b99f(0x10e)],_0x18b99f(0x107)),_0x1265be=await getTargetSqlQueries(_0x5862cb,_0x4f86c4,_0x5d9ab6[_0x18b99f(0xe1)](_0x18b99f(0xf3))||undefined),_0x2e6d43=[];for(const _0x32af12 of _0x1265be){const _0x1ad66a=await computeSqlFileHash(_0x32af12['filePath']),_0x4ad80d=_0x4f86c4[_0x18b99f(0x108)][_0x32af12[_0x18b99f(0xd2)]],_0x19dd89=!!_0x4ad80d&&(_0x4ad80d[_0x18b99f(0x110)]!==_0x32af12['relativePath']||!!_0x32af12['sqlName']&&_0x4ad80d['sqlName']!==_0x32af12[_0x18b99f(0x10c)]);if(!_0x5d9ab6[_0x18b99f(0xe5)](_0x18b99f(0xfa))&&_0x4ad80d&&_0x4ad80d[_0x18b99f(0x111)]===_0x1ad66a&&!_0x19dd89)continue;_0x2e6d43[_0x18b99f(0x107)](_0x32af12[_0x18b99f(0xd2)]);}return{'method':'POST','url':_0x18b99f(0xf5),'deploymentSync':buildAutomaticDeploymentSyncPreview(_0x18b99f(0xd9),_0x2e6d43),'body':{'sqlCodes':_0x2e6d43,'appCode':_0x5d9ab6[_0x18b99f(0x10b)]},'description':_0x18b99f(0x112)+_0x2e6d43[_0x18b99f(0x106)]+_0x18b99f(0xdb)};},async 'execute'(_0x2b9d91){const _0x4680dc=a216_0x4c4e8b,_0x3ac2a0=loadSqlProjectConfig(_0x2b9d91[_0x4680dc(0x10b)]),_0x11ec10=await readSqlLockFile(_0x3ac2a0[_0x4680dc(0xd8)]),{lockData:_0x24eee5,appLock:_0x434d9c}=ensureSqlLockScope(_0x11ec10??createEmptySqlLock(),_0x2b9d91['appCode'],_0x3ac2a0[_0x4680dc(0x10e)],_0x4680dc(0x107)),_0x2d5996=await getTargetSqlQueries(_0x3ac2a0,_0x434d9c,_0x2b9d91[_0x4680dc(0xe1)](_0x4680dc(0xf3))||undefined);if(_0x2d5996['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x4680dc(0xd3)};const _0x347bed=[],_0x2eabfd=[],_0xa145d6=[];for(const _0x5e13a0 of _0x2d5996){const _0x39469b=_0x434d9c[_0x4680dc(0x108)][_0x5e13a0[_0x4680dc(0xd2)]];if(!_0x39469b){_0xa145d6[_0x4680dc(0x107)]({'sqlCode':_0x5e13a0['sqlCode'],'error':_0x4680dc(0x113)});continue;}try{const _0x59c3fd=await computeSqlFileHash(_0x5e13a0['filePath']),_0x141985=_0x39469b['path']!==_0x5e13a0['relativePath']||!!_0x5e13a0['sqlName']&&_0x39469b[_0x4680dc(0x10c)]!==_0x5e13a0[_0x4680dc(0x10c)];if(!_0x2b9d91['bool']('force')&&_0x39469b[_0x4680dc(0x111)]===_0x59c3fd&&!_0x141985){_0x2eabfd[_0x4680dc(0x107)]({'sqlCode':_0x5e13a0[_0x4680dc(0xd2)],'reason':_0x4680dc(0xf9)});continue;}if(_0x39469b[_0x4680dc(0xf6)]==null){_0xa145d6['push']({'sqlCode':_0x5e13a0['sqlCode'],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x43ae5b=await readFile(_0x5e13a0[_0x4680dc(0xfb)],'utf8'),_0x30a289=stripLocalSqlMetadata(_0x43ae5b,_0x5e13a0[_0x4680dc(0xfc)]),_0x1c4c46=_0x5e13a0[_0x4680dc(0x10c)]||_0x39469b[_0x4680dc(0x10c)],_0x413bac=await resolveTargetDbBinding(_0x2b9d91['appCode'],_0x5e13a0,_0x39469b),_0x1a12ad=await updateSqlQuery({'id':_0x39469b[_0x4680dc(0xe3)],'appCode':_0x2b9d91['appCode'],'sqlCode':_0x5e13a0['sqlCode'],'sqlName':_0x1c4c46,'dbId':_0x413bac[_0x4680dc(0x10a)],'version':_0x39469b[_0x4680dc(0xf6)],'sqlContent':_0x30a289,'sqlConfig':_0x39469b[_0x4680dc(0x109)]??undefined}),_0x5cdaa8=_0x1a12ad[_0x4680dc(0x10a)]?await getDbName(_0x2b9d91[_0x4680dc(0x10b)],Number(_0x1a12ad[_0x4680dc(0x10a)]))[_0x4680dc(0x10f)](()=>_0x413bac[_0x4680dc(0xf8)]):_0x413bac[_0x4680dc(0xf8)];_0x434d9c['sqls'][_0x5e13a0[_0x4680dc(0xd2)]]={...buildSqlLockEntry(_0x1a12ad,_0x30a289,_0x59c3fd,{'dbName':_0x5cdaa8}),'path':_0x5e13a0[_0x4680dc(0xdc)],'mode':_0x39469b['mode']},await archivePreviousSqlFileIfNeeded(_0x3ac2a0,_0x39469b['path'],_0x5e13a0['relativePath']),_0x347bed[_0x4680dc(0x107)]({'sqlCode':_0x5e13a0[_0x4680dc(0xd2)],'remoteId':_0x39469b[_0x4680dc(0xe3)]});}catch(_0x2ed1df){_0xa145d6['push']({'sqlCode':_0x5e13a0[_0x4680dc(0xd2)],'error':_0x2ed1df instanceof Error?_0x2ed1df[_0x4680dc(0x102)]:String(_0x2ed1df)});}}_0x434d9c[_0x4680dc(0xe9)]=new Date()[_0x4680dc(0xe4)](),await writeSqlLockFile(_0x3ac2a0[_0x4680dc(0xd8)],_0x24eee5);const _0x4520bb=_0xa145d6[_0x4680dc(0x106)]===0x0,_0x4223de=await runAutomaticDeploymentSync(_0x2b9d91,_0x4680dc(0xd9),_0x347bed['map'](_0x3b56cf=>_0x3b56cf[_0x4680dc(0xd2)]),_0x4520bb),_0x390037=_0x4520bb&&automaticDeploymentSyncSucceeded(_0x4223de),_0x4844e3=_0x4680dc(0x101)+_0x4223de[_0x4680dc(0xf2)];return{'ok':_0x390037,'data':{'pushed':_0x347bed,'skipped':_0x2eabfd,'failed':_0xa145d6,'deploymentSync':_0x4223de},'message':_0x4680dc(0x103)+_0x347bed[_0x4680dc(0x106)]+_0x4680dc(0xee)+_0x2eabfd[_0x4680dc(0x106)]+'\x20skipped,\x20'+_0xa145d6[_0x4680dc(0x106)]+_0x4680dc(0xff)+_0x4844e3};}};async function archivePreviousSqlFileIfNeeded(_0x372625,_0x40e515,_0x3ca9e4){const _0x746ada=a216_0x4c4e8b;if(!_0x40e515||_0x40e515===_0x3ca9e4)return;const _0x4a1389=join(_0x372625[_0x746ada(0xda)],_0x40e515);if(!await fileExists(_0x4a1389))return;const _0x5f33b1=await moveToTrash(_0x372625['projectRoot'],_0x372625[_0x746ada(0xd6)],_0x4a1389);await cleanupEmptyDirectories(dirname(_0x4a1389),_0x372625[_0x746ada(0xda)]),void _0x5f33b1;}async function moveToTrash(_0x57dfb8,_0x2bb420,_0x443439){const _0x3c70f3=a216_0x4c4e8b,_0x1162bf=new Date()[_0x3c70f3(0xe4)]()[_0x3c70f3(0x114)](/[:.]/g,'-'),_0x333edf=relative(_0x57dfb8,_0x443439),_0x2fcc16=join(_0x2bb420,_0x1162bf,_0x333edf);return await mkdir(dirname(_0x2fcc16),{'recursive':!![]}),await rename(_0x443439,_0x2fcc16),_0x2fcc16;}async function cleanupEmptyDirectories(_0x47e1b8,_0x320d1a){const _0x26f976=a216_0x4c4e8b;let _0x2c17c3=resolve(_0x47e1b8);const _0x5e78db=resolve(_0x320d1a);while(_0x2c17c3[_0x26f976(0xf0)](''+_0x5e78db+sep)||_0x2c17c3===_0x5e78db){if(_0x2c17c3===_0x5e78db)return;try{const _0xc3b50e=await readdir(_0x2c17c3);if(_0xc3b50e[_0x26f976(0x106)]>0x0)return;await rmdir(_0x2c17c3);}catch{return;}_0x2c17c3=dirname(_0x2c17c3);}}function a216_0xba97(){const _0x2e980a=['sqlConfig','dbId','appCode','sqlName','1891886djPPZZ','sqlRoot','catch','path','hash','Would\x20push\x20','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','replace','Local\x20directory\x20\x22','sqlCode','No\x20local\x20SQL\x20files\x20found.','boolean','468882RhMocr','trashDir','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','lockFilePath','sql','sqlRootDir','\x20SQL\x20file(s)','relativePath','join','set','118959CqqkCJ','189VXSjGY','str','filter','remoteId','toISOString','bool','get','689224rZFkOj','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','lastSync','1eLZgsG','Local\x20SQL\x20not\x20found:\x20','validation','write','\x20pushed,\x20','976705gRNwWX','startsWith','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','status','sqlcode','Push\x20local\x20SQL\x20files\x20to\x20remote','/smartapi/custom/updateUserCustomSql','version','dbDirectory','dbName','unchanged','force','filePath','mode','2681512StabWC','map','\x20failed','26320YnUCCL',',\x20deployment\x20sync\x20','message','Push\x20complete:\x20','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','has','length','push','sqls'];a216_0xba97=function(){return _0x2e980a;};return a216_0xba97();}async function resolveTargetDbBinding(_0xd0d035,_0x6c1a36,_0x12ff62){const _0x2b524b=a216_0x4c4e8b,_0x271313=_0x6c1a36[_0x2b524b(0xf7)];if(!_0x271313)return{'dbId':_0x12ff62[_0x2b524b(0x10a)],'dbName':_0x12ff62['dbName']};const _0x3921c8=buildDbDirectoryName(_0x12ff62[_0x2b524b(0xf8)],_0x12ff62['dbId']);if(_0x271313===_0x3921c8)return{'dbId':_0x12ff62[_0x2b524b(0x10a)],'dbName':_0x12ff62[_0x2b524b(0xf8)]};const _0x34b843=parseExplicitDbDirectory(_0x271313);if(_0x34b843!=null)return{'dbId':_0x34b843,'dbName':await getDbName(_0xd0d035,_0x34b843)[_0x2b524b(0x10f)](()=>undefined)};const _0x381d84=await listDatabases(_0xd0d035),_0x92785d=_0x381d84[_0x2b524b(0xe2)](_0x6d0097=>buildDbDirectoryName(_0x6d0097[_0x2b524b(0xf8)],_0x6d0097[_0x2b524b(0x10a)])===_0x271313);if(_0x92785d['length']===0x1)return{'dbId':_0x92785d[0x0][_0x2b524b(0x10a)],'dbName':_0x92785d[0x0][_0x2b524b(0xf8)]};if(_0x92785d['length']===0x0)throw CliErrors['validation']('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x271313+'\x22\x20for\x20sqlCode\x20'+_0x6c1a36[_0x2b524b(0xd2)]+'.');const _0x43e6a6=_0x92785d[_0x2b524b(0xfe)](_0x1c6f7b=>_0x1c6f7b[_0x2b524b(0xf8)]+'\x20('+_0x1c6f7b[_0x2b524b(0x10a)]+')')[_0x2b524b(0xdd)](',\x20');throw CliErrors[_0x2b524b(0xec)](_0x2b524b(0x115)+_0x271313+_0x2b524b(0x104)+_0x6c1a36[_0x2b524b(0xd2)]+':\x20'+_0x43e6a6);}function a216_0x31e7(_0x240517,_0x5a6803){_0x240517=_0x240517-0xd2;const _0xba978=a216_0xba97();let _0x31e7b5=_0xba978[_0x240517];return _0x31e7b5;}function parseExplicitDbDirectory(_0x37a034){const _0x29c839=/^db-(\d+)$/['exec'](_0x37a034);if(!_0x29c839)return null;const _0x532bc2=Number(_0x29c839[0x1]);return Number['isFinite'](_0x532bc2)&&_0x532bc2>0x0?_0x532bc2:null;}
1
+ function a215_0x12f0(_0xbdd56e,_0x4725c4){_0xbdd56e=_0xbdd56e-0x168;const _0x5f4b65=a215_0x5f4b();let _0x12f004=_0x5f4b65[_0xbdd56e];return _0x12f004;}const a215_0xcbefa9=a215_0x12f0;(function(_0x3ac303,_0x17ea0c){const _0xde30b5=a215_0x12f0,_0x14911d=_0x3ac303();while(!![]){try{const _0x37d46a=parseInt(_0xde30b5(0x1a4))/0x1*(parseInt(_0xde30b5(0x172))/0x2)+parseInt(_0xde30b5(0x1a6))/0x3*(-parseInt(_0xde30b5(0x1a5))/0x4)+-parseInt(_0xde30b5(0x1a1))/0x5+parseInt(_0xde30b5(0x19d))/0x6*(parseInt(_0xde30b5(0x173))/0x7)+-parseInt(_0xde30b5(0x170))/0x8*(-parseInt(_0xde30b5(0x18e))/0x9)+parseInt(_0xde30b5(0x19b))/0xa+-parseInt(_0xde30b5(0x191))/0xb;if(_0x37d46a===_0x17ea0c)break;else _0x14911d['push'](_0x14911d['shift']());}catch(_0x5a4f60){_0x14911d['push'](_0x14911d['shift']());}}}(a215_0x5f4b,0x72a64));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';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';import{automaticDeploymentSyncSucceeded,buildAutomaticDeploymentSyncPreview,runAutomaticDeploymentSync}from'../../commands/deployment/auto-sync.js';async function getTargetSqlQueries(_0x257f8f,_0x5c9720,_0x3d3ce6){const _0x5b4537=a215_0x12f0,_0xdf2b60=await scanLocalSqlQueries(_0x257f8f),_0xb1fdf9=new Map();for(const _0x5e606d of _0xdf2b60){if(_0x3d3ce6&&_0x5e606d[_0x5b4537(0x16a)]!==_0x3d3ce6)continue;const _0x1a4fef=_0xb1fdf9[_0x5b4537(0x176)](_0x5e606d[_0x5b4537(0x16a)])??[];_0x1a4fef[_0x5b4537(0x1ac)](_0x5e606d),_0xb1fdf9['set'](_0x5e606d['sqlCode'],_0x1a4fef);}if(_0x3d3ce6&&!_0xb1fdf9[_0x5b4537(0x180)](_0x3d3ce6))throw CliErrors[_0x5b4537(0x175)](_0x5b4537(0x18c)+_0x3d3ce6);const _0x50a687=[];for(const [_0x50f372,_0x5c23e4]of _0xb1fdf9['entries']()){if(_0x5c23e4[_0x5b4537(0x188)]===0x1){_0x50a687[_0x5b4537(0x1ac)](_0x5c23e4[0x0]);continue;}const _0x1dc143=_0x5c9720[_0x5b4537(0x1a7)][_0x50f372],_0x15647a=_0x1dc143?.[_0x5b4537(0x189)],_0x1a772b=_0x15647a?_0x5c23e4[_0x5b4537(0x169)](_0x535b38=>_0x535b38[_0x5b4537(0x171)]!==_0x15647a):_0x5c23e4;if(_0x1dc143&&_0x1a772b['length']===0x1){_0x50a687[_0x5b4537(0x1ac)](_0x1a772b[0x0]);continue;}throw CliErrors['validation']('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x50f372+'.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.');}return _0x50a687;}export const sqlPush={'service':a215_0xcbefa9(0x17f),'command':a215_0xcbefa9(0x1ac),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':a215_0xcbefa9(0x18d),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a215_0xcbefa9(0x193),'description':a215_0xcbefa9(0x17b)}],async 'dryRun'(_0x52307a){const _0x1943e4=a215_0xcbefa9,_0x8b20d5=loadSqlProjectConfig(_0x52307a['appCode']),_0x51287=await readSqlLockFile(_0x8b20d5[_0x1943e4(0x18f)]),{appLock:_0x5d6794}=ensureSqlLockScope(_0x51287??createEmptySqlLock(),_0x52307a[_0x1943e4(0x192)],_0x8b20d5[_0x1943e4(0x1a9)],'push'),_0x5ceb51=await getTargetSqlQueries(_0x8b20d5,_0x5d6794,_0x52307a[_0x1943e4(0x197)]('sqlcode')||undefined),_0x205b00=[];for(const _0x2b115f of _0x5ceb51){const _0x3b8807=await computeSqlFileHash(_0x2b115f[_0x1943e4(0x18a)]),_0x476958=_0x5d6794[_0x1943e4(0x1a7)][_0x2b115f[_0x1943e4(0x16a)]],_0x5db518=!!_0x476958&&(_0x476958[_0x1943e4(0x189)]!==_0x2b115f['relativePath']||!!_0x2b115f[_0x1943e4(0x199)]&&_0x476958['sqlName']!==_0x2b115f[_0x1943e4(0x199)]);if(!_0x52307a[_0x1943e4(0x174)](_0x1943e4(0x183))&&_0x476958&&_0x476958[_0x1943e4(0x185)]===_0x3b8807&&!_0x5db518)continue;_0x205b00[_0x1943e4(0x1ac)](_0x2b115f['sqlCode']);}return{'method':_0x1943e4(0x187),'url':_0x1943e4(0x195),'deploymentSync':buildAutomaticDeploymentSyncPreview('sql',_0x205b00),'body':{'sqlCodes':_0x205b00,'appCode':_0x52307a['appCode']},'description':_0x1943e4(0x198)+_0x205b00[_0x1943e4(0x188)]+_0x1943e4(0x19e)};},async 'execute'(_0x5aa444){const _0x16f73c=a215_0xcbefa9,_0x1e9e16=loadSqlProjectConfig(_0x5aa444[_0x16f73c(0x192)]),_0x5a4554=await readSqlLockFile(_0x1e9e16[_0x16f73c(0x18f)]),{lockData:_0x54342f,appLock:_0x5a3e40}=ensureSqlLockScope(_0x5a4554??createEmptySqlLock(),_0x5aa444[_0x16f73c(0x192)],_0x1e9e16[_0x16f73c(0x1a9)],_0x16f73c(0x1ac)),_0xfeef18=await getTargetSqlQueries(_0x1e9e16,_0x5a3e40,_0x5aa444[_0x16f73c(0x197)](_0x16f73c(0x1a8))||undefined);if(_0xfeef18[_0x16f73c(0x188)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x16f73c(0x194)};const _0x1cb20c=[],_0x32a695=[],_0x58863b=[];for(const _0x41859e of _0xfeef18){const _0x48a77a=_0x5a3e40['sqls'][_0x41859e[_0x16f73c(0x16a)]];if(!_0x48a77a){_0x58863b[_0x16f73c(0x1ac)]({'sqlCode':_0x41859e[_0x16f73c(0x16a)],'error':_0x16f73c(0x17c)});continue;}try{const _0x1759e4=await computeSqlFileHash(_0x41859e['filePath']),_0x4b7ea2=_0x48a77a[_0x16f73c(0x189)]!==_0x41859e[_0x16f73c(0x171)]||!!_0x41859e['sqlName']&&_0x48a77a[_0x16f73c(0x199)]!==_0x41859e[_0x16f73c(0x199)];if(!_0x5aa444[_0x16f73c(0x174)](_0x16f73c(0x183))&&_0x48a77a['hash']===_0x1759e4&&!_0x4b7ea2){_0x32a695['push']({'sqlCode':_0x41859e['sqlCode'],'reason':_0x16f73c(0x16f)});continue;}if(_0x48a77a[_0x16f73c(0x16c)]==null){_0x58863b[_0x16f73c(0x1ac)]({'sqlCode':_0x41859e[_0x16f73c(0x16a)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x30be43=await readFile(_0x41859e[_0x16f73c(0x18a)],_0x16f73c(0x17d)),_0x49a919=stripLocalSqlMetadata(_0x30be43,_0x41859e[_0x16f73c(0x17a)]),_0x409ab7=_0x41859e[_0x16f73c(0x199)]||_0x48a77a['sqlName'],_0x16edb5=await resolveTargetDbBinding(_0x5aa444[_0x16f73c(0x192)],_0x41859e,_0x48a77a),_0x323e94=await updateSqlQuery({'id':_0x48a77a[_0x16f73c(0x181)],'appCode':_0x5aa444['appCode'],'sqlCode':_0x41859e[_0x16f73c(0x16a)],'sqlName':_0x409ab7,'dbId':_0x16edb5[_0x16f73c(0x168)],'version':_0x48a77a['version'],'sqlContent':_0x49a919,'sqlConfig':_0x48a77a['sqlConfig']??undefined}),_0x1a992b=_0x323e94['dbId']?await getDbName(_0x5aa444[_0x16f73c(0x192)],Number(_0x323e94[_0x16f73c(0x168)]))[_0x16f73c(0x19f)](()=>_0x16edb5['dbName']):_0x16edb5[_0x16f73c(0x190)];_0x5a3e40[_0x16f73c(0x1a7)][_0x41859e[_0x16f73c(0x16a)]]={...buildSqlLockEntry(_0x323e94,_0x49a919,_0x1759e4,{'dbName':_0x1a992b}),'path':_0x41859e['relativePath'],'mode':_0x48a77a[_0x16f73c(0x17a)]},await archivePreviousSqlFileIfNeeded(_0x1e9e16,_0x48a77a[_0x16f73c(0x189)],_0x41859e['relativePath']),_0x1cb20c['push']({'sqlCode':_0x41859e['sqlCode'],'remoteId':_0x48a77a[_0x16f73c(0x181)]});}catch(_0xfc8ec3){_0x58863b[_0x16f73c(0x1ac)]({'sqlCode':_0x41859e[_0x16f73c(0x16a)],'error':_0xfc8ec3 instanceof Error?_0xfc8ec3['message']:String(_0xfc8ec3)});}}_0x5a3e40['lastSync']=new Date()[_0x16f73c(0x19c)](),await writeSqlLockFile(_0x1e9e16[_0x16f73c(0x18f)],_0x54342f);const _0x52994a=_0x58863b[_0x16f73c(0x188)]===0x0,_0x54f089=await runAutomaticDeploymentSync(_0x5aa444,_0x16f73c(0x17f),_0x1cb20c[_0x16f73c(0x177)](_0x4fde4d=>_0x4fde4d[_0x16f73c(0x16a)]),_0x52994a),_0x322287=_0x52994a&&automaticDeploymentSyncSucceeded(_0x54f089),_0xa6cf82=_0x16f73c(0x16e)+_0x54f089[_0x16f73c(0x186)];return{'ok':_0x322287,'data':{'pushed':_0x1cb20c,'skipped':_0x32a695,'failed':_0x58863b,'deploymentSync':_0x54f089},'message':_0x16f73c(0x1a3)+_0x1cb20c[_0x16f73c(0x188)]+_0x16f73c(0x182)+_0x32a695[_0x16f73c(0x188)]+_0x16f73c(0x184)+_0x58863b[_0x16f73c(0x188)]+_0x16f73c(0x196)+_0xa6cf82};}};async function archivePreviousSqlFileIfNeeded(_0x55d7d7,_0xda71d9,_0x2a3842){const _0x44c188=a215_0xcbefa9;if(!_0xda71d9||_0xda71d9===_0x2a3842)return;const _0x52f0ac=join(_0x55d7d7[_0x44c188(0x179)],_0xda71d9);if(!await fileExists(_0x52f0ac))return;const _0x4cadf2=await moveToTrash(_0x55d7d7[_0x44c188(0x1a0)],_0x55d7d7[_0x44c188(0x18b)],_0x52f0ac);await cleanupEmptyDirectories(dirname(_0x52f0ac),_0x55d7d7[_0x44c188(0x179)]),void _0x4cadf2;}function a215_0x5f4b(){const _0xd4e21c=['map','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','sqlRootDir','mode','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','utf8','dbDirectory','sql','has','remoteId','\x20pushed,\x20','force','\x20skipped,\x20','hash','status','POST','length','path','filePath','trashDir','Local\x20SQL\x20not\x20found:\x20','write','7135632tMjPyi','lockFilePath','dbName','14010843MQgyde','appCode','boolean','No\x20local\x20SQL\x20files\x20found.','/smartapi/custom/updateUserCustomSql','\x20failed','str','Would\x20push\x20','sqlName','isFinite','4720530OcYdjE','toISOString','799518ujXskK','\x20SQL\x20file(s)','catch','projectRoot','1166375RXaQRO','Local\x20directory\x20\x22','Push\x20complete:\x20','11QNnkIb','512188MSVCUZ','6iSmFGW','sqls','sqlcode','sqlRoot','\x22\x20for\x20sqlCode\x20','startsWith','push','dbId','filter','sqlCode','No\x20database\x20matches\x20local\x20directory\x20\x22','version','join',',\x20deployment\x20sync\x20','unchanged','8XSaaJu','relativePath','30594gHVYkc','42TJjKVR','bool','validation','get'];a215_0x5f4b=function(){return _0xd4e21c;};return a215_0x5f4b();}async function moveToTrash(_0x34713b,_0x27d575,_0x6aa3e7){const _0x3919e3=a215_0xcbefa9,_0x31bbe3=new Date()[_0x3919e3(0x19c)]()['replace'](/[:.]/g,'-'),_0x1b5783=relative(_0x34713b,_0x6aa3e7),_0x4dfdcb=join(_0x27d575,_0x31bbe3,_0x1b5783);return await mkdir(dirname(_0x4dfdcb),{'recursive':!![]}),await rename(_0x6aa3e7,_0x4dfdcb),_0x4dfdcb;}async function cleanupEmptyDirectories(_0x29395b,_0x225830){const _0x55dfe8=a215_0xcbefa9;let _0x3cf030=resolve(_0x29395b);const _0x53f8c3=resolve(_0x225830);while(_0x3cf030[_0x55dfe8(0x1ab)](''+_0x53f8c3+sep)||_0x3cf030===_0x53f8c3){if(_0x3cf030===_0x53f8c3)return;try{const _0x5b9135=await readdir(_0x3cf030);if(_0x5b9135[_0x55dfe8(0x188)]>0x0)return;await rmdir(_0x3cf030);}catch{return;}_0x3cf030=dirname(_0x3cf030);}}async function resolveTargetDbBinding(_0x401fe1,_0x208cd9,_0x1df611){const _0x34142e=a215_0xcbefa9,_0x2dd49c=_0x208cd9[_0x34142e(0x17e)];if(!_0x2dd49c)return{'dbId':_0x1df611['dbId'],'dbName':_0x1df611[_0x34142e(0x190)]};const _0x1e72c2=buildDbDirectoryName(_0x1df611[_0x34142e(0x190)],_0x1df611[_0x34142e(0x168)]);if(_0x2dd49c===_0x1e72c2)return{'dbId':_0x1df611[_0x34142e(0x168)],'dbName':_0x1df611['dbName']};const _0xb34f99=parseExplicitDbDirectory(_0x2dd49c);if(_0xb34f99!=null)return{'dbId':_0xb34f99,'dbName':await getDbName(_0x401fe1,_0xb34f99)[_0x34142e(0x19f)](()=>undefined)};const _0x4cd210=await listDatabases(_0x401fe1),_0x5b8c2d=_0x4cd210[_0x34142e(0x169)](_0x30d18b=>buildDbDirectoryName(_0x30d18b[_0x34142e(0x190)],_0x30d18b[_0x34142e(0x168)])===_0x2dd49c);if(_0x5b8c2d[_0x34142e(0x188)]===0x1)return{'dbId':_0x5b8c2d[0x0][_0x34142e(0x168)],'dbName':_0x5b8c2d[0x0][_0x34142e(0x190)]};if(_0x5b8c2d[_0x34142e(0x188)]===0x0)throw CliErrors['validation'](_0x34142e(0x16b)+_0x2dd49c+_0x34142e(0x1aa)+_0x208cd9[_0x34142e(0x16a)]+'.');const _0x3bc769=_0x5b8c2d[_0x34142e(0x177)](_0x48c044=>_0x48c044[_0x34142e(0x190)]+'\x20('+_0x48c044['dbId']+')')[_0x34142e(0x16d)](',\x20');throw CliErrors[_0x34142e(0x175)](_0x34142e(0x1a2)+_0x2dd49c+_0x34142e(0x178)+_0x208cd9[_0x34142e(0x16a)]+':\x20'+_0x3bc769);}function parseExplicitDbDirectory(_0x251d06){const _0x483fdd=a215_0xcbefa9,_0x3f607e=/^db-(\d+)$/['exec'](_0x251d06);if(!_0x3f607e)return null;const _0x37a595=Number(_0x3f607e[0x1]);return Number[_0x483fdd(0x19a)](_0x37a595)&&_0x37a595>0x0?_0x37a595:null;}
@@ -1 +1 @@
1
- const a217_0x3d43c9=a217_0xec6c;(function(_0x3b3320,_0x53d1e4){const _0x555faf=a217_0xec6c,_0x57ca6b=_0x3b3320();while(!![]){try{const _0x16729b=-parseInt(_0x555faf(0xf0))/0x1+parseInt(_0x555faf(0xff))/0x2*(-parseInt(_0x555faf(0xf5))/0x3)+-parseInt(_0x555faf(0xf2))/0x4*(-parseInt(_0x555faf(0xe3))/0x5)+-parseInt(_0x555faf(0xef))/0x6*(parseInt(_0x555faf(0x104))/0x7)+-parseInt(_0x555faf(0xe0))/0x8*(parseInt(_0x555faf(0xdb))/0x9)+-parseInt(_0x555faf(0xf3))/0xa*(parseInt(_0x555faf(0xe8))/0xb)+parseInt(_0x555faf(0xf1))/0xc*(parseInt(_0x555faf(0xf6))/0xd);if(_0x16729b===_0x53d1e4)break;else _0x57ca6b['push'](_0x57ca6b['shift']());}catch(_0x4abe92){_0x57ca6b['push'](_0x57ca6b['shift']());}}}(a217_0x1f39,0x809ad));function a217_0xec6c(_0x51e9e8,_0x518065){_0x51e9e8=_0x51e9e8-0xd5;const _0x1f39e1=a217_0x1f39();let _0xec6c2c=_0x1f39e1[_0x51e9e8];return _0xec6c2c;}import{createInterface}from'node:readline';import{join}from'node:path';function a217_0x1f39(){const _0x368ea9=['toLowerCase','filter','question','dbId','1426779RsICNZ','endsWith','lastSync','<!--\x20@lovrabet.','sqlCode','32WVwIUE','split','sqlConfig','3729245IJYjoD','fromEntries','apps','mybatisXml','entries','33pwQKzf','join','description','mode','dbName','\x20[y/N]\x20','push','2916138uuSiOC','787133RoBrEg','2208528qhvxqi','4oBPPla','589690UZtXIu','includes','711513dhrDpY','182THriMv','stderr','trim','sqls','syncedAt','path','.rabetbase/sql','close','map','6Sswafg','sqlName','version','sqlContent','length','7GVNqaM','replace','trimStart'];a217_0x1f39=function(){return _0x368ea9;};return a217_0x1f39();}import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a217_0x3d43c9(0xfc);export function buildSqlLockEntry(_0x2fd118,_0xf52ea4,_0x4942cb,_0x1dcc1f){const _0x20b3bf=a217_0x3d43c9,_0x1d8e9e=detectSqlMode(_0xf52ea4);return{'path':buildSqlRelativePath(_0x2fd118[_0x20b3bf(0xdf)],_0x2fd118[_0x20b3bf(0x100)],_0x1dcc1f?.[_0x20b3bf(0xec)],_0x1d8e9e,_0x2fd118[_0x20b3bf(0xda)]),'hash':_0x4942cb,'remoteId':_0x2fd118['id'],'version':_0x2fd118[_0x20b3bf(0x101)],'dbId':Number(_0x2fd118['dbId']),'dbName':_0x1dcc1f?.[_0x20b3bf(0xec)],'sqlName':_0x2fd118[_0x20b3bf(0x100)],'sqlConfig':_0x2fd118[_0x20b3bf(0xe2)]??undefined,'mode':_0x1d8e9e};}export function cloneSqlLockData(_0x138ef6){const _0x5bf0c2=a217_0x3d43c9;return{'apps':Object[_0x5bf0c2(0xe4)](Object[_0x5bf0c2(0xe7)](_0x138ef6[_0x5bf0c2(0xe5)])[_0x5bf0c2(0xfe)](([_0xec8331,_0x5b4136])=>[_0xec8331,{'sqlRoot':_0x5b4136['sqlRoot'],'lastSync':_0x5b4136[_0x5bf0c2(0xdd)],'sqls':{..._0x5b4136[_0x5bf0c2(0xf9)]}}]))};}export function ensureRemoteSqlContent(_0xa0ae55){const _0x3b79e0=a217_0x3d43c9;return _0xa0ae55[_0x3b79e0(0x102)]??'';}export function buildLocalSqlFileContent(_0xa3fea8,_0x423599,_0x4c746c){const _0x550289=a217_0x3d43c9,_0x8b8fe0=_0x4c746c?.[_0x550289(0xeb)]??detectSqlMode(_0x423599),_0x54e6cf=stripLocalSqlMetadata(_0x423599,_0x8b8fe0)['trim'](),_0x4c97bb=[...buildMetadataHeaderLines({'sqlCode':_0xa3fea8[_0x550289(0xdf)],'sqlName':_0xa3fea8[_0x550289(0x100)],'dbId':_0xa3fea8[_0x550289(0xda)],'dbName':_0x4c746c?.['dbName'],'mode':_0x8b8fe0,'syncedAt':_0x4c746c?.['syncedAt'],'description':_0x4c746c?.['description']},_0x8b8fe0),'',_0x54e6cf],_0x160c98=_0x4c97bb[_0x550289(0xe9)]('\x0a');return _0x160c98[_0x550289(0xdc)]('\x0a')?_0x160c98:_0x160c98+'\x0a';}export function stripLocalSqlMetadata(_0x113761,_0x76e74c){const _0x347b82=a217_0x3d43c9,_0x49618f=_0x113761[_0x347b82(0xd5)](/\r\n/g,'\x0a')[_0x347b82(0xe1)]('\x0a'),_0xf08384=[];let _0x347cfa=0x0;if(_0x76e74c===_0x347b82(0xe6))while(_0x347cfa<_0x49618f['length']){const _0x4e3634=_0x49618f[_0x347cfa]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x4e3634)){_0x347cfa++;continue;}if(_0x4e3634[_0x347b82(0xf8)]()===''&&_0x347cfa>0x0){_0x347cfa++;continue;}break;}else while(_0x347cfa<_0x49618f[_0x347b82(0x103)]){const _0x3bf3c3=_0x49618f[_0x347cfa]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x3bf3c3)){_0x347cfa++;continue;}if(_0x3bf3c3['trim']()===''&&_0x347cfa>0x0){_0x347cfa++;continue;}break;}for(;_0x347cfa<_0x49618f['length'];_0x347cfa++){_0xf08384[_0x347b82(0xee)](_0x49618f[_0x347cfa]);}return _0xf08384[_0x347b82(0xe9)]('\x0a')[_0x347b82(0xd6)]();}export function resolveSqlMode(_0x300ea0,_0x40cb9a){const _0x3bbf07=a217_0x3d43c9;if(_0x40cb9a?.[_0x3bbf07(0xeb)])return _0x40cb9a[_0x3bbf07(0xeb)];return detectSqlMode(_0x300ea0);}export function resolveSqlFileName(_0x39fb16,_0xa8c65e,_0x32c036){const _0x568bf2=a217_0x3d43c9;if(_0x32c036?.[_0x568bf2(0xfb)])return _0x32c036['path'];if(_0x32c036?.['sqlName']||_0x32c036?.[_0x568bf2(0xec)])return buildSqlRelativePath(_0x39fb16,_0x32c036?.[_0x568bf2(0x100)],_0x32c036?.['dbName'],resolveSqlMode(_0xa8c65e,_0x32c036),_0x32c036?.[_0x568bf2(0xda)]);return buildDefaultSqlFileName(_0x39fb16,resolveSqlMode(_0xa8c65e,_0x32c036));}export function resolveSqlLocalDir(_0x344877,_0x347c4b){return join(_0x344877,SQL_LOCAL_REL_DIR,_0x347c4b);}export async function confirmForceOverwrite(_0x383d4a){const _0x5e0364=a217_0x3d43c9,_0x1038a4=createInterface({'input':process['stdin'],'output':process[_0x5e0364(0xf7)]}),_0x51220d=await new Promise(_0x2b8e83=>{const _0x304d3e=_0x5e0364;_0x1038a4[_0x304d3e(0xd9)](_0x383d4a+_0x304d3e(0xed),_0x2b8e83);});return _0x1038a4[_0x5e0364(0xfd)](),['y','yes'][_0x5e0364(0xf4)](_0x51220d[_0x5e0364(0xf8)]()[_0x5e0364(0xd7)]());}export function findSqlLockScope(_0x9f87a7,_0x1512cd){const _0x1b93e0=a217_0x3d43c9;return _0x9f87a7[_0x1b93e0(0xe5)][_0x1512cd];}function buildMetadataHeaderLines(_0x557346,_0x31ab28){const _0x458163=a217_0x3d43c9,_0x4306df=[['sqlCode',_0x557346[_0x458163(0xdf)]],['sqlName',_0x557346['sqlName']],[_0x458163(0xda),_0x557346[_0x458163(0xda)]],[_0x458163(0xec),_0x557346['dbName']],[_0x458163(0xeb),_0x557346[_0x458163(0xeb)]],[_0x458163(0xfa),_0x557346[_0x458163(0xfa)]],[_0x458163(0xea),_0x557346[_0x458163(0xea)]]];if(_0x31ab28==='mybatisXml')return _0x4306df[_0x458163(0xd8)](([,_0x1fcc93])=>_0x1fcc93!==undefined&&_0x1fcc93!==null&&String(_0x1fcc93)[_0x458163(0xf8)]()!=='')[_0x458163(0xfe)](([_0x5a2544,_0x21ca2a])=>_0x458163(0xde)+_0x5a2544+':\x20'+String(_0x21ca2a)+'\x20-->');return _0x4306df[_0x458163(0xd8)](([,_0x599f8b])=>_0x599f8b!==undefined&&_0x599f8b!==null&&String(_0x599f8b)['trim']()!=='')[_0x458163(0xfe)](([_0x2d5d45,_0x4b60bc])=>'--\x20@lovrabet.'+_0x2d5d45+':\x20'+String(_0x4b60bc));}
1
+ const a216_0xb05d47=a216_0x2518;(function(_0x34a91d,_0x924569){const _0x4697f0=a216_0x2518,_0x5d3128=_0x34a91d();while(!![]){try{const _0x30e837=parseInt(_0x4697f0(0xd6))/0x1+-parseInt(_0x4697f0(0xc8))/0x2+parseInt(_0x4697f0(0xc4))/0x3+parseInt(_0x4697f0(0xcc))/0x4+-parseInt(_0x4697f0(0xcf))/0x5+-parseInt(_0x4697f0(0xcb))/0x6+parseInt(_0x4697f0(0xd1))/0x7*(-parseInt(_0x4697f0(0xbb))/0x8);if(_0x30e837===_0x924569)break;else _0x5d3128['push'](_0x5d3128['shift']());}catch(_0x59a063){_0x5d3128['push'](_0x5d3128['shift']());}}}(a216_0x4fd1,0xca17e));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=a216_0xb05d47(0xc9);export function buildSqlLockEntry(_0x37ef6d,_0x13d375,_0x2ad621,_0xa02209){const _0x2275a3=a216_0xb05d47,_0x3688ce=detectSqlMode(_0x13d375);return{'path':buildSqlRelativePath(_0x37ef6d[_0x2275a3(0xd5)],_0x37ef6d['sqlName'],_0xa02209?.[_0x2275a3(0xae)],_0x3688ce,_0x37ef6d[_0x2275a3(0xc6)]),'hash':_0x2ad621,'remoteId':_0x37ef6d['id'],'version':_0x37ef6d[_0x2275a3(0xba)],'dbId':Number(_0x37ef6d[_0x2275a3(0xc6)]),'dbName':_0xa02209?.[_0x2275a3(0xae)],'sqlName':_0x37ef6d[_0x2275a3(0xc7)],'sqlConfig':_0x37ef6d[_0x2275a3(0xd4)]??undefined,'mode':_0x3688ce};}export function cloneSqlLockData(_0x5869cd){const _0xc12760=a216_0xb05d47;return{'apps':Object[_0xc12760(0xc3)](Object[_0xc12760(0xb3)](_0x5869cd[_0xc12760(0xbf)])[_0xc12760(0xb5)](([_0x4f58ea,_0x3c5263])=>[_0x4f58ea,{'sqlRoot':_0x3c5263[_0xc12760(0xd2)],'lastSync':_0x3c5263[_0xc12760(0xb1)],'sqls':{..._0x3c5263['sqls']}}]))};}export function ensureRemoteSqlContent(_0x38b326){const _0x4017aa=a216_0xb05d47;return _0x38b326[_0x4017aa(0xc5)]??'';}export function buildLocalSqlFileContent(_0x334d52,_0x277f6d,_0x210de7){const _0x1266dd=a216_0xb05d47,_0x597e3b=_0x210de7?.[_0x1266dd(0xd3)]??detectSqlMode(_0x277f6d),_0x1f19d1=stripLocalSqlMetadata(_0x277f6d,_0x597e3b)['trim'](),_0x3b9dc8=[...buildMetadataHeaderLines({'sqlCode':_0x334d52[_0x1266dd(0xd5)],'sqlName':_0x334d52[_0x1266dd(0xc7)],'dbId':_0x334d52[_0x1266dd(0xc6)],'dbName':_0x210de7?.[_0x1266dd(0xae)],'mode':_0x597e3b,'syncedAt':_0x210de7?.['syncedAt'],'description':_0x210de7?.[_0x1266dd(0xc0)]},_0x597e3b),'',_0x1f19d1],_0x944eea=_0x3b9dc8[_0x1266dd(0xb4)]('\x0a');return _0x944eea['endsWith']('\x0a')?_0x944eea:_0x944eea+'\x0a';}export function stripLocalSqlMetadata(_0x4b41ba,_0x6926f1){const _0x2f30e9=a216_0xb05d47,_0x639630=_0x4b41ba[_0x2f30e9(0xcd)](/\r\n/g,'\x0a')[_0x2f30e9(0xb8)]('\x0a'),_0x239f20=[];let _0x58a343=0x0;if(_0x6926f1===_0x2f30e9(0xbd))while(_0x58a343<_0x639630[_0x2f30e9(0xc2)]){const _0x2c6626=_0x639630[_0x58a343]??'';if(/^\s*<!--\s*@lovrabet\./[_0x2f30e9(0xca)](_0x2c6626)){_0x58a343++;continue;}if(_0x2c6626[_0x2f30e9(0xaf)]()===''&&_0x58a343>0x0){_0x58a343++;continue;}break;}else while(_0x58a343<_0x639630[_0x2f30e9(0xc2)]){const _0x3fd4b5=_0x639630[_0x58a343]??'';if(/^\s*--\s*@lovrabet\./[_0x2f30e9(0xca)](_0x3fd4b5)){_0x58a343++;continue;}if(_0x3fd4b5['trim']()===''&&_0x58a343>0x0){_0x58a343++;continue;}break;}for(;_0x58a343<_0x639630[_0x2f30e9(0xc2)];_0x58a343++){_0x239f20[_0x2f30e9(0xd0)](_0x639630[_0x58a343]);}return _0x239f20['join']('\x0a')['trimStart']();}export function resolveSqlMode(_0xc3dfff,_0x385942){const _0x315875=a216_0xb05d47;if(_0x385942?.[_0x315875(0xd3)])return _0x385942[_0x315875(0xd3)];return detectSqlMode(_0xc3dfff);}export function resolveSqlFileName(_0x268909,_0x23c2b9,_0x19f7b5){const _0x1d5c92=a216_0xb05d47;if(_0x19f7b5?.[_0x1d5c92(0xb2)])return _0x19f7b5[_0x1d5c92(0xb2)];if(_0x19f7b5?.[_0x1d5c92(0xc7)]||_0x19f7b5?.[_0x1d5c92(0xae)])return buildSqlRelativePath(_0x268909,_0x19f7b5?.[_0x1d5c92(0xc7)],_0x19f7b5?.[_0x1d5c92(0xae)],resolveSqlMode(_0x23c2b9,_0x19f7b5),_0x19f7b5?.[_0x1d5c92(0xc6)]);return buildDefaultSqlFileName(_0x268909,resolveSqlMode(_0x23c2b9,_0x19f7b5));}export function resolveSqlLocalDir(_0x5ed3d4,_0x1c11d1){return join(_0x5ed3d4,SQL_LOCAL_REL_DIR,_0x1c11d1);}function a216_0x4fd1(){const _0x4fd225=['close','1997435aKdUBK','push','112OUfNCJ','sqlRoot','mode','sqlConfig','sqlCode','1404278VwXUCx','--\x20@lovrabet.','dbName','trim','includes','lastSync','path','entries','join','map','toLowerCase','question','split','stderr','version','904768RChhbk','\x20[y/N]\x20','mybatisXml','syncedAt','apps','description','<!--\x20@lovrabet.','length','fromEntries','3165933LJwGjS','sqlContent','dbId','sqlName','2054098oiqgkm','.rabetbase/sql','test','145944AladeB','6514324wZKswz','replace'];a216_0x4fd1=function(){return _0x4fd225;};return a216_0x4fd1();}export async function confirmForceOverwrite(_0x270a2f){const _0x390e49=a216_0xb05d47,_0x3de24a=createInterface({'input':process['stdin'],'output':process[_0x390e49(0xb9)]}),_0x138e51=await new Promise(_0x1757f7=>{const _0x250280=_0x390e49;_0x3de24a[_0x250280(0xb7)](_0x270a2f+_0x250280(0xbc),_0x1757f7);});return _0x3de24a[_0x390e49(0xce)](),['y','yes'][_0x390e49(0xb0)](_0x138e51[_0x390e49(0xaf)]()[_0x390e49(0xb6)]());}export function findSqlLockScope(_0x22535c,_0x1b03e0){return _0x22535c['apps'][_0x1b03e0];}function a216_0x2518(_0x8bfc9b,_0x5eb598){_0x8bfc9b=_0x8bfc9b-0xae;const _0x4fd1c2=a216_0x4fd1();let _0x2518f7=_0x4fd1c2[_0x8bfc9b];return _0x2518f7;}function buildMetadataHeaderLines(_0x5dfe3e,_0x368063){const _0x3d4da4=a216_0xb05d47,_0x3d1991=[[_0x3d4da4(0xd5),_0x5dfe3e['sqlCode']],[_0x3d4da4(0xc7),_0x5dfe3e[_0x3d4da4(0xc7)]],[_0x3d4da4(0xc6),_0x5dfe3e['dbId']],[_0x3d4da4(0xae),_0x5dfe3e['dbName']],['mode',_0x5dfe3e['mode']],[_0x3d4da4(0xbe),_0x5dfe3e[_0x3d4da4(0xbe)]],[_0x3d4da4(0xc0),_0x5dfe3e[_0x3d4da4(0xc0)]]];if(_0x368063==='mybatisXml')return _0x3d1991['filter'](([,_0x36cb30])=>_0x36cb30!==undefined&&_0x36cb30!==null&&String(_0x36cb30)[_0x3d4da4(0xaf)]()!=='')[_0x3d4da4(0xb5)](([_0x25b298,_0x1b6672])=>_0x3d4da4(0xc1)+_0x25b298+':\x20'+String(_0x1b6672)+'\x20-->');return _0x3d1991['filter'](([,_0x4dc0f6])=>_0x4dc0f6!==undefined&&_0x4dc0f6!==null&&String(_0x4dc0f6)[_0x3d4da4(0xaf)]()!=='')[_0x3d4da4(0xb5)](([_0x46518b,_0x535a7b])=>_0x3d4da4(0xd7)+_0x46518b+':\x20'+String(_0x535a7b));}
@@ -1 +1 @@
1
- const a218_0x3a7907=a218_0x2f4f;function a218_0x2f4f(_0x5c9ade,_0x34dcf2){_0x5c9ade=_0x5c9ade-0x8b;const _0x421f8a=a218_0x421f();let _0x2f4f5b=_0x421f8a[_0x5c9ade];return _0x2f4f5b;}(function(_0x380a60,_0x2c6ff4){const _0xf152b3=a218_0x2f4f,_0x6855a6=_0x380a60();while(!![]){try{const _0x28e15f=-parseInt(_0xf152b3(0xa2))/0x1*(parseInt(_0xf152b3(0x9e))/0x2)+parseInt(_0xf152b3(0x9c))/0x3*(-parseInt(_0xf152b3(0x8d))/0x4)+-parseInt(_0xf152b3(0x92))/0x5*(-parseInt(_0xf152b3(0x8c))/0x6)+parseInt(_0xf152b3(0xb2))/0x7+-parseInt(_0xf152b3(0xa5))/0x8+parseInt(_0xf152b3(0x90))/0x9+-parseInt(_0xf152b3(0x9a))/0xa*(parseInt(_0xf152b3(0x9f))/0xb);if(_0x28e15f===_0x2c6ff4)break;else _0x6855a6['push'](_0x6855a6['shift']());}catch(_0x49c01d){_0x6855a6['push'](_0x6855a6['shift']());}}}(a218_0x421f,0xb3c10));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(_0x327149){const _0x328fdf=a218_0x2f4f,_0x6467f6=[];let _0x1c6864=0x1;while(!![]){const _0x5c83be=await listSqlQueries(_0x327149,{'currentPage':_0x1c6864,'pageSize':PAGE_SIZE}),_0x5d1ffe=_0x5c83be[_0x328fdf(0x8f)]??[];_0x6467f6['push'](..._0x5d1ffe[_0x328fdf(0x8b)](_0x2e0a73=>_0x2e0a73[_0x328fdf(0xac)]));if(_0x5d1ffe['length']===0x0)break;const _0x481cad=_0x5c83be[_0x328fdf(0xa0)]?.[_0x328fdf(0xa4)];if(_0x481cad!=null?_0x6467f6['length']>=_0x481cad:_0x5d1ffe['length']<PAGE_SIZE)break;_0x1c6864++;}return _0x6467f6;}function a218_0x421f(){const _0x4121c6=['paging','lockKey','1652aSAqVe','\x20unchanged','totalCount','2094984NryPvl','relativePath','push','sqlName','status','length','has','sqlCode','appCode','lockFilePath','filePath','All\x20SQL\x20queries\x20are\x20in\x20sync.','\x20remote-only','4088441nvJBkz','map','7202694vcNhXr','14908RvONzy','\x20modified,\x20','tableData','9757089usXTgN','path','5mUxagQ','remote','keys','sqls','hash','sqlRoot','\x20added,\x20','\x20missing,\x20','94450ZhMjBm','bool','801pGcIYE','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','934ADYcpN','121rDuRXc'];a218_0x421f=function(){return _0x4121c6;};return a218_0x421f();}export const sqlStatus={'service':'sql','command':a218_0x3a7907(0xa9),'description':a218_0x3a7907(0x9d),'risk':'read','flags':[{'name':'remote','type':'boolean','description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0xe60182){const _0x419471=a218_0x3a7907,_0xd21796=loadSqlProjectConfig(_0xe60182[_0x419471(0xad)]),_0x25547c=await readSqlLockFile(_0xd21796[_0x419471(0xae)]),{appLock:_0xb40734}=ensureSqlLockScope(_0x25547c??createEmptySqlLock(),_0xd21796[_0x419471(0xad)],_0xd21796[_0x419471(0x97)],_0x419471(0xa9)),_0x1c74a9=await scanLocalSqlQueries(_0xd21796),_0xb733d5=[],_0x584de5=[],_0x2c89af=[],_0x421bf0=[],_0x392999=new Set(_0x1c74a9[_0x419471(0x8b)](_0x238ce9=>_0x238ce9[_0x419471(0xa1)]));for(const _0xe8e75b of _0x1c74a9){const _0x3e5990=await computeSqlFileHash(_0xe8e75b[_0x419471(0xaf)]),_0x26cf77=_0xb40734[_0x419471(0x95)][_0xe8e75b[_0x419471(0xa1)]],_0x255789=!!_0x26cf77&&_0x26cf77[_0x419471(0x91)]!==_0xe8e75b[_0x419471(0xa6)],_0x50bdd3=!!_0x26cf77&&!!_0xe8e75b['sqlName']&&_0x26cf77[_0x419471(0xa8)]!==_0xe8e75b['sqlName'];if(!_0x26cf77)_0xb733d5[_0x419471(0xa7)](_0xe8e75b[_0x419471(0xa1)]);else _0x26cf77[_0x419471(0x96)]!==_0x3e5990||_0x255789||_0x50bdd3?_0x584de5[_0x419471(0xa7)](_0xe8e75b[_0x419471(0xa1)]):_0x2c89af[_0x419471(0xa7)](_0xe8e75b[_0x419471(0xa1)]);}for(const _0x2154b3 of Object[_0x419471(0x94)](_0xb40734[_0x419471(0x95)])){!_0x392999[_0x419471(0xab)](_0x2154b3)&&_0x421bf0[_0x419471(0xa7)](_0x2154b3);}const _0x5bb0de=[];if(_0xe60182[_0x419471(0x9b)](_0x419471(0x93))){const _0x43f323=await fetchAllSqlCodes(_0xe60182[_0x419471(0xad)]);for(const _0x4870c5 of _0x43f323){!_0x392999[_0x419471(0xab)](_0x4870c5)&&!_0xb40734['sqls'][_0x4870c5]&&_0x5bb0de[_0x419471(0xa7)](_0x4870c5);}}const _0x219acd=_0xb733d5[_0x419471(0xaa)]===0x0&&_0x584de5[_0x419471(0xaa)]===0x0&&_0x421bf0['length']===0x0&&_0x5bb0de[_0x419471(0xaa)]===0x0;return{'ok':!![],'data':{'added':_0xb733d5,'modified':_0x584de5,'missing':_0x421bf0,'unchanged':_0x2c89af,'remoteOnly':_0x5bb0de},'message':_0x219acd?_0x419471(0xb0):_0xb733d5[_0x419471(0xaa)]+_0x419471(0x98)+_0x584de5['length']+_0x419471(0x8e)+_0x421bf0[_0x419471(0xaa)]+_0x419471(0x99)+_0x2c89af[_0x419471(0xaa)]+_0x419471(0xa3)+(_0x5bb0de[_0x419471(0xaa)]>0x0?',\x20'+_0x5bb0de[_0x419471(0xaa)]+_0x419471(0xb1):'')};}};
1
+ const a217_0x43b07e=a217_0x1732;(function(_0x4f6533,_0x3b1241){const _0x3a4bf4=a217_0x1732,_0xaee51f=_0x4f6533();while(!![]){try{const _0x7314df=parseInt(_0x3a4bf4(0x1a5))/0x1*(parseInt(_0x3a4bf4(0x1b3))/0x2)+-parseInt(_0x3a4bf4(0x1b6))/0x3*(parseInt(_0x3a4bf4(0x1c3))/0x4)+-parseInt(_0x3a4bf4(0x1bb))/0x5+-parseInt(_0x3a4bf4(0x1b5))/0x6*(parseInt(_0x3a4bf4(0x1bd))/0x7)+-parseInt(_0x3a4bf4(0x1b8))/0x8+-parseInt(_0x3a4bf4(0x1a8))/0x9*(-parseInt(_0x3a4bf4(0x1b4))/0xa)+parseInt(_0x3a4bf4(0x1c8))/0xb;if(_0x7314df===_0x3b1241)break;else _0xaee51f['push'](_0xaee51f['shift']());}catch(_0x3b49c0){_0xaee51f['push'](_0xaee51f['shift']());}}}(a217_0x4208,0xe73ba));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';function a217_0x1732(_0x3886c0,_0x3b10d6){_0x3886c0=_0x3886c0-0x1a3;const _0x4208dd=a217_0x4208();let _0x17326f=_0x4208dd[_0x3886c0];return _0x17326f;}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x245ea2){const _0x36584e=a217_0x1732,_0x3c8ce6=[];let _0x4f3fcf=0x1;while(!![]){const _0x2a7324=await listSqlQueries(_0x245ea2,{'currentPage':_0x4f3fcf,'pageSize':PAGE_SIZE}),_0x3c7be8=_0x2a7324[_0x36584e(0x1a7)]??[];_0x3c8ce6[_0x36584e(0x1c2)](..._0x3c7be8['map'](_0x53a38e=>_0x53a38e[_0x36584e(0x1b2)]));if(_0x3c7be8[_0x36584e(0x1b1)]===0x0)break;const _0xd4fed6=_0x2a7324[_0x36584e(0x1c6)]?.[_0x36584e(0x1a4)];if(_0xd4fed6!=null?_0x3c8ce6[_0x36584e(0x1b1)]>=_0xd4fed6:_0x3c7be8[_0x36584e(0x1b1)]<PAGE_SIZE)break;_0x4f3fcf++;}return _0x3c8ce6;}export const sqlStatus={'service':'sql','command':a217_0x43b07e(0x1b0),'description':a217_0x43b07e(0x1c1),'risk':a217_0x43b07e(0x1a9),'flags':[{'name':a217_0x43b07e(0x1ac),'type':a217_0x43b07e(0x1ad),'description':a217_0x43b07e(0x1a6)}],async 'execute'(_0x395276){const _0x1b2da8=a217_0x43b07e,_0x4a7cf6=loadSqlProjectConfig(_0x395276[_0x1b2da8(0x1af)]),_0x403cab=await readSqlLockFile(_0x4a7cf6[_0x1b2da8(0x1be)]),{appLock:_0x470ea9}=ensureSqlLockScope(_0x403cab??createEmptySqlLock(),_0x4a7cf6[_0x1b2da8(0x1af)],_0x4a7cf6[_0x1b2da8(0x1c7)],_0x1b2da8(0x1b0)),_0x313bee=await scanLocalSqlQueries(_0x4a7cf6),_0x6f4b43=[],_0x2cded0=[],_0x2ecf15=[],_0x4c3607=[],_0x38180f=new Set(_0x313bee['map'](_0x537d79=>_0x537d79[_0x1b2da8(0x1ba)]));for(const _0x59064e of _0x313bee){const _0x25950e=await computeSqlFileHash(_0x59064e[_0x1b2da8(0x1c5)]),_0x2304b5=_0x470ea9['sqls'][_0x59064e[_0x1b2da8(0x1ba)]],_0x3d27b6=!!_0x2304b5&&_0x2304b5[_0x1b2da8(0x1ae)]!==_0x59064e[_0x1b2da8(0x1b7)],_0x5844b3=!!_0x2304b5&&!!_0x59064e['sqlName']&&_0x2304b5[_0x1b2da8(0x1aa)]!==_0x59064e['sqlName'];if(!_0x2304b5)_0x6f4b43[_0x1b2da8(0x1c2)](_0x59064e[_0x1b2da8(0x1ba)]);else _0x2304b5[_0x1b2da8(0x1ab)]!==_0x25950e||_0x3d27b6||_0x5844b3?_0x2cded0['push'](_0x59064e[_0x1b2da8(0x1ba)]):_0x2ecf15[_0x1b2da8(0x1c2)](_0x59064e['lockKey']);}for(const _0xa121ba of Object[_0x1b2da8(0x1c4)](_0x470ea9[_0x1b2da8(0x1c0)])){!_0x38180f[_0x1b2da8(0x1bf)](_0xa121ba)&&_0x4c3607[_0x1b2da8(0x1c2)](_0xa121ba);}const _0x5104c7=[];if(_0x395276['bool'](_0x1b2da8(0x1ac))){const _0x103885=await fetchAllSqlCodes(_0x395276[_0x1b2da8(0x1af)]);for(const _0x5ba14d of _0x103885){!_0x38180f[_0x1b2da8(0x1bf)](_0x5ba14d)&&!_0x470ea9[_0x1b2da8(0x1c0)][_0x5ba14d]&&_0x5104c7[_0x1b2da8(0x1c2)](_0x5ba14d);}}const _0x10af0f=_0x6f4b43[_0x1b2da8(0x1b1)]===0x0&&_0x2cded0[_0x1b2da8(0x1b1)]===0x0&&_0x4c3607[_0x1b2da8(0x1b1)]===0x0&&_0x5104c7['length']===0x0;return{'ok':!![],'data':{'added':_0x6f4b43,'modified':_0x2cded0,'missing':_0x4c3607,'unchanged':_0x2ecf15,'remoteOnly':_0x5104c7},'message':_0x10af0f?_0x1b2da8(0x1b9):_0x6f4b43['length']+'\x20added,\x20'+_0x2cded0[_0x1b2da8(0x1b1)]+'\x20modified,\x20'+_0x4c3607[_0x1b2da8(0x1b1)]+_0x1b2da8(0x1a3)+_0x2ecf15['length']+_0x1b2da8(0x1bc)+(_0x5104c7['length']>0x0?',\x20'+_0x5104c7[_0x1b2da8(0x1b1)]+'\x20remote-only':'')};}};function a217_0x4208(){const _0x3a9036=['1384092UFOkZK','read','sqlName','hash','remote','boolean','path','appCode','status','length','sqlCode','663854hmQRyL','70fbNnQj','54wmPSQg','4759143oNarpk','relativePath','7767464NlnBbC','All\x20SQL\x20queries\x20are\x20in\x20sync.','lockKey','3118420jLXLYN','\x20unchanged','1136611OdNWzJ','lockFilePath','has','sqls','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','push','4mdFVcq','keys','filePath','paging','sqlRoot','38689068FKwMfi','\x20missing,\x20','totalCount','3txtGwP','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','tableData'];a217_0x4208=function(){return _0x3a9036;};return a217_0x4208();}