@lovrabet/rabetbase-cli 2.5.2-beta.2 → 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 (354) hide show
  1. package/README.md +2 -2
  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.d.ts +1 -0
  26. package/lib/commands/app/shared.js +1 -1
  27. package/lib/commands/app-config/delete.js +1 -1
  28. package/lib/commands/app-config/get.js +1 -1
  29. package/lib/commands/app-config/index.js +1 -1
  30. package/lib/commands/app-config/list.js +1 -1
  31. package/lib/commands/app-config/set.js +1 -1
  32. package/lib/commands/app-config/shared.js +1 -1
  33. package/lib/commands/auth/index.js +1 -1
  34. package/lib/commands/bff/create.js +1 -1
  35. package/lib/commands/bff/delete.js +1 -1
  36. package/lib/commands/bff/detail.js +1 -1
  37. package/lib/commands/bff/index.js +1 -1
  38. package/lib/commands/bff/list.js +1 -1
  39. package/lib/commands/bff/pull.js +1 -1
  40. package/lib/commands/bff/push.js +1 -1
  41. package/lib/commands/bff/status.js +1 -1
  42. package/lib/commands/cli-skill/index.js +1 -1
  43. package/lib/commands/cli-update.js +1 -1
  44. package/lib/commands/codegen/index.js +1 -1
  45. package/lib/commands/codegen/sdk.js +1 -1
  46. package/lib/commands/codegen/sql.js +1 -1
  47. package/lib/commands/common/app-registry.js +1 -1
  48. package/lib/commands/common/app-selector.js +1 -1
  49. package/lib/commands/common/async-task.js +1 -1
  50. package/lib/commands/common/dry-run.js +1 -1
  51. package/lib/commands/common/flags.js +1 -1
  52. package/lib/commands/common/local-file.js +1 -1
  53. package/lib/commands/common/validate.js +1 -1
  54. package/lib/commands/config/delete.js +1 -1
  55. package/lib/commands/config/get.js +1 -1
  56. package/lib/commands/config/index.js +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.js +1 -1
  68. package/lib/commands/dataset/field-update.js +1 -1
  69. package/lib/commands/dataset/generate.js +1 -1
  70. package/lib/commands/dataset/index.js +1 -1
  71. package/lib/commands/dataset/list.js +1 -1
  72. package/lib/commands/dataset/operations.js +1 -1
  73. package/lib/commands/dataset/relation-audit.js +1 -1
  74. package/lib/commands/dataset/relation-create.js +1 -1
  75. package/lib/commands/dataset/relation-delete.js +1 -1
  76. package/lib/commands/dataset/relation-shared.js +1 -1
  77. package/lib/commands/dataset/relation-update.js +1 -1
  78. package/lib/commands/dataset/relations.js +1 -1
  79. package/lib/commands/dataset/rename.js +1 -1
  80. package/lib/commands/dataset/restore.js +1 -1
  81. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  82. package/lib/commands/db/analysis-batching.js +1 -1
  83. package/lib/commands/db/analyze-batch-plan.js +1 -1
  84. package/lib/commands/db/analyze-cancel.js +1 -1
  85. package/lib/commands/db/analyze-start.js +1 -1
  86. package/lib/commands/db/analyze-status.js +1 -1
  87. package/lib/commands/db/create.js +1 -1
  88. package/lib/commands/db/delete.js +1 -1
  89. package/lib/commands/db/detail.js +1 -1
  90. package/lib/commands/db/diff-refresh-start.js +1 -1
  91. package/lib/commands/db/diff-refresh-status.js +1 -1
  92. package/lib/commands/db/diff.js +1 -1
  93. package/lib/commands/db/index.js +1 -1
  94. package/lib/commands/db/list.js +1 -1
  95. package/lib/commands/db/shared.js +1 -1
  96. package/lib/commands/db/table-diff-shared.js +1 -1
  97. package/lib/commands/db/tables.js +1 -1
  98. package/lib/commands/db/test.js +1 -1
  99. package/lib/commands/db/update.js +1 -1
  100. package/lib/commands/deployment/auto-sync.js +1 -1
  101. package/lib/commands/deployment/index.js +1 -1
  102. package/lib/commands/deployment/sync-all.js +1 -1
  103. package/lib/commands/deployment/sync-jobs.js +1 -1
  104. package/lib/commands/deployment/sync-status.js +1 -1
  105. package/lib/commands/deployment/sync.js +1 -1
  106. package/lib/commands/doctor.js +1 -1
  107. package/lib/commands/file/index.js +1 -1
  108. package/lib/commands/instant-api-policy/current.js +1 -1
  109. package/lib/commands/instant-api-policy/index.js +1 -1
  110. package/lib/commands/instant-api-policy/init.js +1 -1
  111. package/lib/commands/instant-api-policy/publish.js +1 -1
  112. package/lib/commands/instant-api-policy/pull.js +1 -1
  113. package/lib/commands/instant-api-policy/revision.js +1 -1
  114. package/lib/commands/instant-api-policy/revisions.js +1 -1
  115. package/lib/commands/instant-api-policy/rollback.js +1 -1
  116. package/lib/commands/instant-api-policy/shared.js +1 -1
  117. package/lib/commands/instant-api-policy/validate.js +1 -1
  118. package/lib/commands/issue/index.js +1 -1
  119. package/lib/commands/issue/nudge.js +1 -1
  120. package/lib/commands/issue/report.js +1 -1
  121. package/lib/commands/issue/shared.js +1 -1
  122. package/lib/commands/kb/create.js +1 -1
  123. package/lib/commands/kb/delete.js +1 -1
  124. package/lib/commands/kb/detail.js +1 -1
  125. package/lib/commands/kb/index.js +1 -1
  126. package/lib/commands/kb/list.js +1 -1
  127. package/lib/commands/kb/search.js +1 -1
  128. package/lib/commands/kb/shared.js +1 -1
  129. package/lib/commands/kb/update.js +1 -1
  130. package/lib/commands/logs/index.js +1 -1
  131. package/lib/commands/menu/asset-update.js +1 -1
  132. package/lib/commands/menu/delete.js +1 -1
  133. package/lib/commands/menu/external-link-create.js +1 -1
  134. package/lib/commands/menu/external-link-update.js +1 -1
  135. package/lib/commands/menu/group-create.js +1 -1
  136. package/lib/commands/menu/group-update.js +1 -1
  137. package/lib/commands/menu/index.js +1 -1
  138. package/lib/commands/menu/list.js +1 -1
  139. package/lib/commands/menu/move.js +1 -1
  140. package/lib/commands/menu/regroup-start.js +1 -1
  141. package/lib/commands/menu/rename.js +1 -1
  142. package/lib/commands/menu/shared/compare-table.js +1 -1
  143. package/lib/commands/menu/shared/delete-plan.js +1 -1
  144. package/lib/commands/menu/shared/facts.js +1 -1
  145. package/lib/commands/menu/shared/index.js +1 -1
  146. package/lib/commands/menu/shared/inquirer.js +1 -1
  147. package/lib/commands/menu/shared/local-pages.js +1 -1
  148. package/lib/commands/menu/shared/logic.js +1 -1
  149. package/lib/commands/menu/shared/mutations.js +1 -1
  150. package/lib/commands/menu/shared/service.js +1 -1
  151. package/lib/commands/menu/shared/sync-core.js +1 -1
  152. package/lib/commands/menu/shared/update-core.js +1 -1
  153. package/lib/commands/menu/shared/valid-url.js +1 -1
  154. package/lib/commands/menu/sync.js +1 -1
  155. package/lib/commands/menu/visibility-update.js +1 -1
  156. package/lib/commands/notification/config-create.js +1 -1
  157. package/lib/commands/notification/config-delete.js +1 -1
  158. package/lib/commands/notification/config-list.js +1 -1
  159. package/lib/commands/notification/config-update.js +1 -1
  160. package/lib/commands/notification/index.js +1 -1
  161. package/lib/commands/notification/shared.js +1 -1
  162. package/lib/commands/ocr/index.js +1 -1
  163. package/lib/commands/page/create.js +1 -1
  164. package/lib/commands/page/custom/detail.js +1 -1
  165. package/lib/commands/page/custom/list.js +1 -1
  166. package/lib/commands/page/custom/publish.js +1 -1
  167. package/lib/commands/page/custom/shared.d.ts +0 -8
  168. package/lib/commands/page/custom/shared.js +1 -1
  169. package/lib/commands/page/custom/syntax.js +1 -1
  170. package/lib/commands/page/custom/update.js +1 -1
  171. package/lib/commands/page/data-list-status.js +1 -1
  172. package/lib/commands/page/generate-start.js +1 -1
  173. package/lib/commands/page/generate-status.js +1 -1
  174. package/lib/commands/page/index.js +1 -1
  175. package/lib/commands/page/pull.js +1 -1
  176. package/lib/commands/page/push.js +1 -1
  177. package/lib/commands/page/relation-audit.js +1 -1
  178. package/lib/commands/page/restore.js +1 -1
  179. package/lib/commands/page/shared.js +1 -1
  180. package/lib/commands/page/sync.js +1 -1
  181. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  182. package/lib/commands/project/create/format-elapsed.js +1 -1
  183. package/lib/commands/project/create/main.js +1 -1
  184. package/lib/commands/project/create/materialize-project-template.js +1 -1
  185. package/lib/commands/project/create/project-name.js +1 -1
  186. package/lib/commands/project/create/project-template-archive.js +1 -1
  187. package/lib/commands/project/create/project-template-path.js +1 -1
  188. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  189. package/lib/commands/project/create/use-format-code.js +1 -1
  190. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  191. package/lib/commands/project/domain-routing-sync.js +1 -1
  192. package/lib/commands/project/index.js +1 -1
  193. package/lib/commands/project/upgrade.js +1 -1
  194. package/lib/commands/registry.js +1 -1
  195. package/lib/commands/role/delete.js +1 -1
  196. package/lib/commands/role/detail.js +1 -1
  197. package/lib/commands/role/index.js +1 -1
  198. package/lib/commands/role/list.js +1 -1
  199. package/lib/commands/role/shared.js +1 -1
  200. package/lib/commands/role/update.js +1 -1
  201. package/lib/commands/role/user-add.js +1 -1
  202. package/lib/commands/role/user-remove.js +1 -1
  203. package/lib/commands/role/user-resolve.js +1 -1
  204. package/lib/commands/rule/get.js +1 -1
  205. package/lib/commands/rule/index.js +1 -1
  206. package/lib/commands/rule/list.js +1 -1
  207. package/lib/commands/rule/set.js +1 -1
  208. package/lib/commands/rule/shared.js +1 -1
  209. package/lib/commands/run/index.d.ts +4 -0
  210. package/lib/commands/run/index.js +1 -1
  211. package/lib/commands/schema.js +1 -1
  212. package/lib/commands/sql/create.js +1 -1
  213. package/lib/commands/sql/delete.js +1 -1
  214. package/lib/commands/sql/detail.js +1 -1
  215. package/lib/commands/sql/exec.js +1 -1
  216. package/lib/commands/sql/index.js +1 -1
  217. package/lib/commands/sql/list.js +1 -1
  218. package/lib/commands/sql/pull.js +1 -1
  219. package/lib/commands/sql/push.js +1 -1
  220. package/lib/commands/sql/shared.js +1 -1
  221. package/lib/commands/sql/status.js +1 -1
  222. package/lib/commands/sql/validate.js +1 -1
  223. package/lib/commands/task/index.js +1 -1
  224. package/lib/commands/task/status.js +1 -1
  225. package/lib/commands/tenant/index.js +1 -1
  226. package/lib/commands/tenant/members-list.js +1 -1
  227. package/lib/commands/tenant/shared.js +1 -1
  228. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  229. package/lib/commands/user-account/index.js +1 -1
  230. package/lib/commands/workspace/add.js +1 -1
  231. package/lib/commands/workspace/index.js +1 -1
  232. package/lib/commands/workspace/remove.js +1 -1
  233. package/lib/config/domain-config.d.ts +3 -7
  234. package/lib/config/domain-config.js +1 -1
  235. package/lib/config/project-domain-routing.d.ts +5 -1
  236. package/lib/config/project-domain-routing.js +1 -1
  237. package/lib/config/schema.js +1 -1
  238. package/lib/constant/cdn.js +1 -1
  239. package/lib/constant/cli.js +1 -1
  240. package/lib/constant/defaults.js +1 -1
  241. package/lib/constant/domain.js +1 -1
  242. package/lib/constant/env.js +1 -1
  243. package/lib/constant/output.js +1 -1
  244. package/lib/constant/paths.js +1 -1
  245. package/lib/constant/region.js +1 -1
  246. package/lib/constant/risk.js +1 -1
  247. package/lib/constant/routing-profile.js +1 -1
  248. package/lib/context/app-resolver.js +1 -1
  249. package/lib/context/auth-resolver.js +1 -1
  250. package/lib/context/config-loader.js +1 -1
  251. package/lib/context.js +1 -1
  252. package/lib/core/alias-resolver.js +1 -1
  253. package/lib/core/api-client.d.ts +1 -26
  254. package/lib/core/api-client.js +1 -1
  255. package/lib/core/bff/config.js +1 -1
  256. package/lib/core/bff/file-system.js +1 -1
  257. package/lib/core/bff/hash.js +1 -1
  258. package/lib/core/bff/lock.js +1 -1
  259. package/lib/core/bff/utils.js +1 -1
  260. package/lib/core/db-resolver.js +1 -1
  261. package/lib/core/instant-api-policy/config.js +1 -1
  262. package/lib/core/kb-search-client.js +1 -1
  263. package/lib/core/page/file-system.d.ts +43 -0
  264. package/lib/core/page/file-system.js +1 -1
  265. package/lib/core/page/hash.js +1 -1
  266. package/lib/core/page/lock.js +1 -1
  267. package/lib/core/sql-index-auditor.js +1 -1
  268. package/lib/core/sql-sync/config.js +1 -1
  269. package/lib/core/sql-sync/file-system.js +1 -1
  270. package/lib/core/sql-sync/hash.js +1 -1
  271. package/lib/core/sql-sync/lock.js +1 -1
  272. package/lib/core/sql-sync/utils.js +1 -1
  273. package/lib/core/sql-validator.js +1 -1
  274. package/lib/errors.js +1 -1
  275. package/lib/framework/build-all-flags.js +1 -1
  276. package/lib/framework/error-output.js +1 -1
  277. package/lib/framework/explicit-yes.js +1 -1
  278. package/lib/framework/flags.js +1 -1
  279. package/lib/framework/help.js +1 -1
  280. package/lib/framework/index.js +1 -1
  281. package/lib/framework/output.js +1 -1
  282. package/lib/framework/response.js +1 -1
  283. package/lib/framework/runner-alias.js +1 -1
  284. package/lib/framework/runner.js +1 -1
  285. package/lib/framework/schema-export.js +1 -1
  286. package/lib/framework/supported-flags.js +1 -1
  287. package/lib/framework/types.js +1 -1
  288. package/lib/generated/build-info.d.ts +4 -4
  289. package/lib/generated/build-info.js +1 -1
  290. package/lib/generated/official-routing.d.ts +1 -1
  291. package/lib/generated/official-routing.js +1 -1
  292. package/lib/generated/routing-contract.d.ts +1 -3
  293. package/lib/generated/routing-contract.js +1 -1
  294. package/lib/help.js +1 -1
  295. package/lib/postinstall.js +1 -1
  296. package/lib/runtime/confirmation.js +1 -1
  297. package/lib/runtime/event.js +1 -1
  298. package/lib/runtime/index.js +1 -1
  299. package/lib/runtime/queue.js +1 -1
  300. package/lib/runtime/resolve.js +1 -1
  301. package/lib/skills/builtin-skill.js +1 -1
  302. package/lib/skills/main.js +1 -1
  303. package/lib/skills/npx-skills-add.js +1 -1
  304. package/lib/skills/skill-presence.js +1 -1
  305. package/lib/telemetry/cli-command-trace.js +1 -1
  306. package/lib/telemetry/cli-help-trace.js +1 -1
  307. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  308. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  309. package/lib/telemetry/send-cli-trace-log.js +1 -1
  310. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  311. package/lib/utils/ai_config.js +1 -1
  312. package/lib/utils/apply-jq-filter.js +1 -1
  313. package/lib/utils/cdn-config.js +1 -1
  314. package/lib/utils/check-sdk-version.js +1 -1
  315. package/lib/utils/cli-version-check.js +1 -1
  316. package/lib/utils/cli-version-policy.js +1 -1
  317. package/lib/utils/config.js +1 -1
  318. package/lib/utils/entity-with-id.js +1 -1
  319. package/lib/utils/file-utils.js +1 -1
  320. package/lib/utils/guides-cdn.js +1 -1
  321. package/lib/utils/http-client.js +1 -1
  322. package/lib/utils/is-non-interactive.js +1 -1
  323. package/lib/utils/logger.js +1 -1
  324. package/lib/utils/params.js +1 -1
  325. package/lib/utils/platform.js +1 -1
  326. package/lib/utils/sleep.js +1 -1
  327. package/lib/utils/template-replacer.js +1 -1
  328. package/lib/utils/update-notice.js +1 -1
  329. package/lib/utils/version.js +1 -1
  330. package/lib/utils/with-active-cookie.js +1 -1
  331. package/lib/utils/write-cli-side-channel.js +1 -1
  332. package/package.json +2 -1
  333. package/skills/rabetbase/SKILL.md +6 -6
  334. package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
  335. package/skills/rabetbase/guides/page-development-workflow.md +1 -1
  336. package/skills/rabetbase/knowledge/components.md +292 -0
  337. package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
  338. package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
  339. package/skills/rabetbase/references/rabetbase-app-members-list.md +2 -0
  340. package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
  341. package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
  342. package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
  343. package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
  344. package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
  345. package/skills/rabetbase/references/rabetbase-run.md +1 -0
  346. package/skills/rabetbase.manifest.json +5 -4
  347. package/templates/README.md +10 -4
  348. package/templates/custom-pages/blank.json +5 -0
  349. package/templates/custom-pages/dashboard.json +5 -0
  350. package/templates/custom-pages/onepage.json +5 -0
  351. package/templates/generate-api/api.ts.tpl +1 -1
  352. package/lib/commands/page/custom/template.d.ts +0 -8
  353. package/lib/commands/page/custom/template.js +0 -1
  354. package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
@@ -1 +1 @@
1
- function a255_0x3cc7(_0x2d4575,_0x4c2cb3){_0x2d4575=_0x2d4575-0x136;const _0x1c1fbf=a255_0x1c1f();let _0x3cc7e6=_0x1c1fbf[_0x2d4575];return _0x3cc7e6;}(function(_0x3ab389,_0x440960){const _0x268307=a255_0x3cc7,_0x13485d=_0x3ab389();while(!![]){try{const _0x56a1c4=-parseInt(_0x268307(0x144))/0x1+-parseInt(_0x268307(0x154))/0x2*(-parseInt(_0x268307(0x152))/0x3)+parseInt(_0x268307(0x14a))/0x4*(parseInt(_0x268307(0x13c))/0x5)+-parseInt(_0x268307(0x13f))/0x6*(-parseInt(_0x268307(0x150))/0x7)+-parseInt(_0x268307(0x13e))/0x8+-parseInt(_0x268307(0x139))/0x9+-parseInt(_0x268307(0x14e))/0xa*(-parseInt(_0x268307(0x14f))/0xb);if(_0x56a1c4===_0x440960)break;else _0x13485d['push'](_0x13485d['shift']());}catch(_0x371fa7){_0x13485d['push'](_0x13485d['shift']());}}}(a255_0x1c1f,0x513a3));function a255_0x1c1f(){const _0x46470d=['2lROilM','toLowerCase','find','set','includes','5598063RVXeOC','.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.','db-','505NLXXnJ','No\x20database\x20matching\x20\x22','358744UCvFfz','354ZpWQNA','has','\x22\x20matches\x20multiple\x20databases:\x20','dbId','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20','311471VdVcbV','entries','isNaN','length','dbName','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','4072cDJcAm','map','\x22\x20under\x20app\x20\x22','get','333540KPkRPZ','176VwhreM','64729xHPKYy','dbtableConfig','386919qUHCJg','join'];a255_0x1c1f=function(){return _0x46470d;};return a255_0x1c1f();}import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x4b527c){const _0x4e47bf=a255_0x3cc7;if(cache[_0x4e47bf(0x140)](_0x4b527c))return cache[_0x4e47bf(0x14d)](_0x4b527c);const _0x394648=await listDatasets(_0x4b527c),_0x4aaa41=new Map();for(const _0x446f68 of _0x394648){const _0x9184dd=_0x446f68[_0x4e47bf(0x151)];_0x9184dd?.[_0x4e47bf(0x142)]!=null&&_0x4aaa41['set'](_0x9184dd[_0x4e47bf(0x142)],_0x9184dd[_0x4e47bf(0x148)]??_0x4e47bf(0x13b)+_0x9184dd['dbId']);}const _0x3637c7=[..._0x4aaa41[_0x4e47bf(0x145)]()]['map'](([_0xa4e445,_0xd5aeea])=>({'dbId':_0xa4e445,'dbName':_0xd5aeea}));return cache[_0x4e47bf(0x137)](_0x4b527c,_0x3637c7),_0x3637c7;}export async function resolveDb(_0x2780b3,_0x1e3ebe){const _0x6caf76=a255_0x3cc7,_0x2df2a2=await listDatabases(_0x2780b3);if(_0x2df2a2['length']===0x0)return{'resolved':[],'error':_0x6caf76(0x149)+_0x2780b3+'\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.'};if(!_0x1e3ebe)return{'resolved':_0x2df2a2};const _0x325730=Number(_0x1e3ebe);if(!Number[_0x6caf76(0x146)](_0x325730)){const _0x14aeea=_0x2df2a2[_0x6caf76(0x136)](_0x487fb3=>_0x487fb3['dbId']===_0x325730);if(_0x14aeea)return{'resolved':[_0x14aeea]};}const _0x4bc014=_0x1e3ebe[_0x6caf76(0x155)](),_0x4eb115=_0x2df2a2['filter'](_0x2810b2=>_0x2810b2[_0x6caf76(0x148)]['toLowerCase']()[_0x6caf76(0x138)](_0x4bc014));if(_0x4eb115['length']>0x0)return{'resolved':_0x4eb115};const _0x1d07ec=_0x2df2a2[_0x6caf76(0x14b)](_0x4ad74c=>_0x4ad74c[_0x6caf76(0x148)]+'\x20('+_0x4ad74c['dbId']+')')[_0x6caf76(0x153)](',\x20');return{'resolved':[],'error':_0x6caf76(0x13d)+_0x1e3ebe+_0x6caf76(0x14c)+_0x2780b3+'\x22.\x20Available:\x20'+_0x1d07ec+_0x6caf76(0x13a)};}export async function resolveOneDb(_0x2a7e45,_0x1baad8){const _0x59d441=a255_0x3cc7,{resolved:_0x53fb9b,error:_0x1fe5b0}=await resolveDb(_0x2a7e45,_0x1baad8);if(_0x1fe5b0)return{'db':null,'error':_0x1fe5b0};if(_0x53fb9b[_0x59d441(0x147)]===0x1)return{'db':_0x53fb9b[0x0]};if(!_0x1baad8){const _0x1422cd=_0x53fb9b[_0x59d441(0x14b)](_0x3c48d7=>_0x3c48d7['dbName']+'\x20('+_0x3c48d7[_0x59d441(0x142)]+')')[_0x59d441(0x153)](',\x20');return{'db':null,'error':_0x59d441(0x143)+_0x1422cd};}const _0x1188ab=_0x53fb9b[_0x59d441(0x14b)](_0x181756=>_0x181756['dbName']+'\x20('+_0x181756['dbId']+')')['join'](',\x20');return{'db':null,'error':'\x22'+_0x1baad8+_0x59d441(0x141)+_0x1188ab+'.\x20Be\x20more\x20specific.'};}export async function getDbName(_0x8db94a,_0xce1328){const _0x190e04=a255_0x3cc7,_0x419b65=await listDatabases(_0x8db94a);return _0x419b65[_0x190e04(0x136)](_0xb2bf84=>_0xb2bf84[_0x190e04(0x142)]===_0xce1328)?.['dbName'];}
1
+ function a254_0xfbb4(){const _0x32202a=['.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.','includes','db-','set','entries','join','\x22\x20matches\x20multiple\x20databases:\x20','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20','6532672sjvjAc','\x22.\x20Available:\x20','.\x20Be\x20more\x20specific.','filter','toLowerCase','has','No\x20database\x20matching\x20\x22','dbName','get','find','3071670seCyTx','279iRDNnR','28617LomgFP','708TpfWXP','251218iqWwNr','652710EkcygY','map','\x22\x20under\x20app\x20\x22','430235MdyTsm','2RweDhI','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','isNaN','dbId','7543140haPCVU'];a254_0xfbb4=function(){return _0x32202a;};return a254_0xfbb4();}(function(_0x3dc12e,_0x41aa93){const _0xec1677=a254_0x24ad,_0x37674c=_0x3dc12e();while(!![]){try{const _0x4f3295=-parseInt(_0xec1677(0x169))/0x1*(parseInt(_0xec1677(0x16e))/0x2)+parseInt(_0xec1677(0x167))/0x3*(-parseInt(_0xec1677(0x168))/0x4)+-parseInt(_0xec1677(0x16d))/0x5+parseInt(_0xec1677(0x172))/0x6+parseInt(_0xec1677(0x165))/0x7+-parseInt(_0xec1677(0x15b))/0x8+parseInt(_0xec1677(0x166))/0x9*(parseInt(_0xec1677(0x16a))/0xa);if(_0x4f3295===_0x41aa93)break;else _0x37674c['push'](_0x37674c['shift']());}catch(_0x2aab6d){_0x37674c['push'](_0x37674c['shift']());}}}(a254_0xfbb4,0xd625d));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x42f214){const _0x224c01=a254_0x24ad;if(cache[_0x224c01(0x160)](_0x42f214))return cache[_0x224c01(0x163)](_0x42f214);const _0x1ce828=await listDatasets(_0x42f214),_0x537bfd=new Map();for(const _0xa31f6 of _0x1ce828){const _0x545d60=_0xa31f6['dbtableConfig'];_0x545d60?.[_0x224c01(0x171)]!=null&&_0x537bfd[_0x224c01(0x156)](_0x545d60[_0x224c01(0x171)],_0x545d60['dbName']??_0x224c01(0x155)+_0x545d60[_0x224c01(0x171)]);}const _0x38714d=[..._0x537bfd[_0x224c01(0x157)]()]['map'](([_0x4ac501,_0x23c499])=>({'dbId':_0x4ac501,'dbName':_0x23c499}));return cache[_0x224c01(0x156)](_0x42f214,_0x38714d),_0x38714d;}function a254_0x24ad(_0x549cbc,_0x44a223){_0x549cbc=_0x549cbc-0x155;const _0xfbb470=a254_0xfbb4();let _0x24adee=_0xfbb470[_0x549cbc];return _0x24adee;}export async function resolveDb(_0x27aa44,_0x25ea00){const _0x41313d=a254_0x24ad,_0x5c78a4=await listDatabases(_0x27aa44);if(_0x5c78a4['length']===0x0)return{'resolved':[],'error':_0x41313d(0x16f)+_0x27aa44+'\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.'};if(!_0x25ea00)return{'resolved':_0x5c78a4};const _0x518293=Number(_0x25ea00);if(!Number[_0x41313d(0x170)](_0x518293)){const _0x465be1=_0x5c78a4['find'](_0xd7ccae=>_0xd7ccae[_0x41313d(0x171)]===_0x518293);if(_0x465be1)return{'resolved':[_0x465be1]};}const _0x42db50=_0x25ea00[_0x41313d(0x15f)](),_0x2c48b6=_0x5c78a4[_0x41313d(0x15e)](_0x27c894=>_0x27c894['dbName'][_0x41313d(0x15f)]()[_0x41313d(0x174)](_0x42db50));if(_0x2c48b6['length']>0x0)return{'resolved':_0x2c48b6};const _0x372bff=_0x5c78a4[_0x41313d(0x16b)](_0x34801c=>_0x34801c['dbName']+'\x20('+_0x34801c[_0x41313d(0x171)]+')')['join'](',\x20');return{'resolved':[],'error':_0x41313d(0x161)+_0x25ea00+_0x41313d(0x16c)+_0x27aa44+_0x41313d(0x15c)+_0x372bff+_0x41313d(0x173)};}export async function resolveOneDb(_0x2436ea,_0x25ebe8){const _0x2553ba=a254_0x24ad,{resolved:_0x337734,error:_0x268528}=await resolveDb(_0x2436ea,_0x25ebe8);if(_0x268528)return{'db':null,'error':_0x268528};if(_0x337734['length']===0x1)return{'db':_0x337734[0x0]};if(!_0x25ebe8){const _0x12974f=_0x337734['map'](_0x2fa699=>_0x2fa699[_0x2553ba(0x162)]+'\x20('+_0x2fa699['dbId']+')')['join'](',\x20');return{'db':null,'error':_0x2553ba(0x15a)+_0x12974f};}const _0x2c3c2f=_0x337734[_0x2553ba(0x16b)](_0xc20d61=>_0xc20d61['dbName']+'\x20('+_0xc20d61[_0x2553ba(0x171)]+')')[_0x2553ba(0x158)](',\x20');return{'db':null,'error':'\x22'+_0x25ebe8+_0x2553ba(0x159)+_0x2c3c2f+_0x2553ba(0x15d)};}export async function getDbName(_0x2058ed,_0x45ca9e){const _0x101d23=a254_0x24ad,_0x4920c1=await listDatabases(_0x2058ed);return _0x4920c1[_0x101d23(0x164)](_0x1096b3=>_0x1096b3[_0x101d23(0x171)]===_0x45ca9e)?.[_0x101d23(0x162)];}
@@ -1 +1 @@
1
- const a256_0x16db47=a256_0x2b64;(function(_0x54d29e,_0x51c2f4){const _0x81bb80=a256_0x2b64,_0x82699=_0x54d29e();while(!![]){try{const _0x318fd0=-parseInt(_0x81bb80(0x179))/0x1*(-parseInt(_0x81bb80(0x168))/0x2)+parseInt(_0x81bb80(0x194))/0x3*(-parseInt(_0x81bb80(0x195))/0x4)+-parseInt(_0x81bb80(0x199))/0x5+parseInt(_0x81bb80(0x175))/0x6*(parseInt(_0x81bb80(0x173))/0x7)+parseInt(_0x81bb80(0x17f))/0x8*(-parseInt(_0x81bb80(0x177))/0x9)+-parseInt(_0x81bb80(0x17c))/0xa*(-parseInt(_0x81bb80(0x172))/0xb)+-parseInt(_0x81bb80(0x1a0))/0xc*(-parseInt(_0x81bb80(0x164))/0xd);if(_0x318fd0===_0x51c2f4)break;else _0x82699['push'](_0x82699['shift']());}catch(_0x5725c0){_0x82699['push'](_0x82699['shift']());}}}(a256_0x549c,0x56988));import{randomUUID}from'node:crypto';import{mkdir,readFile,rename,stat,unlink,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{TextDecoder}from'node:util';import{findProjectRootDirectory}from'../../context.js';import{CliError}from'../../errors.js';export const INSTANT_API_POLICY_RELATIVE_ROOT='.rabetbase/instant-api-policy';export const INSTANT_API_POLICY_FILE_NAME=a256_0x16db47(0x16f);export const MAX_INSTANT_API_POLICY_BYTES=0x400*0x400;export function instantApiPolicyError(_0x51bc59,_0x39a19b,_0x21cc6d){return new CliError(_0x51bc59,0x1,_0x39a19b,_0x21cc6d);}export function loadInstantApiPolicyLocalConfig(_0x197e75,_0x3f7b4f){assertSafeAppCode(_0x197e75);const _0x5cb58e=resolve(_0x3f7b4f??findProjectRootDirectory()),_0x326bc4=INSTANT_API_POLICY_RELATIVE_ROOT+'/'+_0x197e75+'/'+INSTANT_API_POLICY_FILE_NAME,_0xd2473b=resolve(_0x5cb58e,INSTANT_API_POLICY_RELATIVE_ROOT,_0x197e75),_0x3d1cf8=resolve(_0xd2473b,INSTANT_API_POLICY_FILE_NAME);return{'projectRoot':_0x5cb58e,'appCode':_0x197e75,'policyRoot':_0xd2473b,'policyFilePath':_0x3d1cf8,'policyRelativePath':_0x326bc4};}export function createDefaultInstantApiPolicyConfig(_0x16dfc2,_0x4c0f12=a256_0x16db47(0x190)){return assertSafeAppCode(_0x16dfc2),{'version':'1','appCode':_0x16dfc2,'defaults':{'instantApi':_0x4c0f12},'rules':[]};}export async function readInstantApiPolicyConfigFile(_0x135c58){const _0x2b772a=a256_0x16db47;let _0x1406ae;try{_0x1406ae=await stat(_0x135c58[_0x2b772a(0x15c)]);}catch(_0x3acbd3){throw instantApiPolicyError(_0x2b772a(0x178),_0x2b772a(0x180)+_0x135c58[_0x2b772a(0x15c)],'Run\x20`rabetbase\x20instant-api-policy\x20init`\x20or\x20`rabetbase\x20instant-api-policy\x20pull`\x20first.');}if(!_0x1406ae[_0x2b772a(0x189)]())throw instantApiPolicyError(_0x2b772a(0x18c),_0x2b772a(0x15e)+_0x135c58[_0x2b772a(0x15c)]);if(_0x1406ae[_0x2b772a(0x182)]>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError('instant_api_policy_file_too_large',_0x2b772a(0x17b));let _0x50c5df;try{_0x50c5df=await readFile(_0x135c58[_0x2b772a(0x15c)]);}catch{throw instantApiPolicyError(_0x2b772a(0x17d),_0x2b772a(0x16d)+_0x135c58['policyFilePath']);}if(_0x50c5df[_0x2b772a(0x188)]>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError(_0x2b772a(0x192),_0x2b772a(0x17b));let _0x443298;try{_0x443298=new TextDecoder(_0x2b772a(0x167),{'fatal':!![],'ignoreBOM':!![]})[_0x2b772a(0x19e)](_0x50c5df);}catch{throw instantApiPolicyError(_0x2b772a(0x18c),_0x2b772a(0x161)+_0x135c58['policyFilePath']);}let _0x3d2398;try{_0x3d2398=JSON[_0x2b772a(0x162)](_0x443298);}catch{throw instantApiPolicyError(_0x2b772a(0x1a1),_0x2b772a(0x160)+_0x135c58['policyFilePath']);}return assertLocalPolicyContract(_0x3d2398,_0x135c58[_0x2b772a(0x15f)]);}function a256_0x2b64(_0x534e9b,_0x21ec43){_0x534e9b=_0x534e9b-0x15c;const _0x549c69=a256_0x549c();let _0x2b6463=_0x549c69[_0x534e9b];return _0x2b6463;}export async function writeInstantApiPolicyConfigFile(_0x51f50f,_0x2c7c29,_0x1d7360={}){const _0x1be947=a256_0x16db47,_0x1128cf=assertLocalPolicyContract(_0x2c7c29,_0x51f50f['appCode']),_0x24f3a0=JSON[_0x1be947(0x18b)](_0x1128cf,null,0x2)+'\x0a';if(Buffer[_0x1be947(0x188)](_0x24f3a0,'utf8')>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError(_0x1be947(0x192),'Instant\x20API\x20policy\x20file\x20exceeds\x20the\x201\x20MiB\x20CLI\x20limit.');await mkdir(_0x51f50f[_0x1be947(0x169)],{'recursive':!![]});let _0x4f9235;try{_0x4f9235=await readFile(_0x51f50f[_0x1be947(0x15c)],'utf8');}catch(_0x31a9f9){if(!isMissingFile(_0x31a9f9))throw instantApiPolicyError(_0x1be947(0x17d),_0x1be947(0x16e)+_0x51f50f['policyFilePath']);}if(_0x4f9235===_0x24f3a0)return{'action':_0x1be947(0x185),'filePath':_0x51f50f['policyFilePath']};if(_0x4f9235!==undefined&&!_0x1d7360['force'])throw instantApiPolicyError(_0x1be947(0x171),_0x1be947(0x196)+_0x51f50f[_0x1be947(0x15c)],'Review\x20local\x20changes,\x20then\x20rerun\x20with\x20--force\x20--yes\x20if\x20replacement\x20is\x20intended.');if(_0x4f9235===undefined)try{return await writeFile(_0x51f50f[_0x1be947(0x15c)],_0x24f3a0,{'encoding':'utf8','flag':'wx'}),{'action':_0x1be947(0x18e),'filePath':_0x51f50f['policyFilePath']};}catch(_0x172b62){if(!isAlreadyExists(_0x172b62))throw instantApiPolicyError(_0x1be947(0x176),_0x1be947(0x183)+_0x51f50f[_0x1be947(0x15c)]);if(!_0x1d7360[_0x1be947(0x17a)])throw instantApiPolicyError(_0x1be947(0x171),_0x1be947(0x16a)+_0x51f50f[_0x1be947(0x15c)],_0x1be947(0x18d));}const _0x68ac=resolve(dirname(_0x51f50f[_0x1be947(0x15c)]),'.'+INSTANT_API_POLICY_FILE_NAME+'.'+process[_0x1be947(0x165)]+'.'+randomUUID()+'.tmp');try{await writeFile(_0x68ac,_0x24f3a0,{'encoding':_0x1be947(0x18f),'flag':'wx'}),await rename(_0x68ac,_0x51f50f[_0x1be947(0x15c)]);}catch{await unlink(_0x68ac)['catch'](()=>undefined);throw instantApiPolicyError(_0x1be947(0x176),_0x1be947(0x184)+_0x51f50f['policyFilePath']);}return{'action':_0x1be947(0x193),'filePath':_0x51f50f[_0x1be947(0x15c)]};}function assertSafeAppCode(_0x5998f3){const _0xbe1a20=a256_0x16db47,_0x44b8d4=_0x5998f3[_0xbe1a20(0x163)]();if(!_0x44b8d4||_0x44b8d4!==_0x5998f3||_0x44b8d4[_0xbe1a20(0x198)]>0x64||_0x44b8d4==='.'||_0x44b8d4==='..'||_0x44b8d4[_0xbe1a20(0x16b)]('/')||_0x44b8d4[_0xbe1a20(0x16b)]('\x5c')||_0x44b8d4[_0xbe1a20(0x16b)]('\x00'))throw instantApiPolicyError('instant_api_policy_app_code_invalid',_0xbe1a20(0x19d));}function assertLocalPolicyContract(_0x3637f2,_0x3fefe8){const _0x545c8e=a256_0x16db47;if(!isObject(_0x3637f2))throw instantApiPolicyError(_0x545c8e(0x1a1),'Instant\x20API\x20policy\x20JSON\x20root\x20must\x20be\x20an\x20object.');if(_0x3637f2[_0x545c8e(0x18a)]!=='1')throw instantApiPolicyError(_0x545c8e(0x197),_0x545c8e(0x16c),_0x545c8e(0x17e));if(_0x3637f2['appCode']!==_0x3fefe8)throw instantApiPolicyError(_0x545c8e(0x166),'Policy\x20appCode\x20must\x20match\x20the\x20selected\x20application\x20'+_0x3fefe8+'.');if(!isObject(_0x3637f2[_0x545c8e(0x181)])||typeof _0x3637f2['defaults'][_0x545c8e(0x19a)]!==_0x545c8e(0x174))throw instantApiPolicyError(_0x545c8e(0x186),_0x545c8e(0x187));if(_0x3637f2[_0x545c8e(0x19c)]!==undefined&&_0x3637f2[_0x545c8e(0x19c)]!==null&&!Array[_0x545c8e(0x15d)](_0x3637f2[_0x545c8e(0x19c)]))throw instantApiPolicyError('instant_api_policy_rules_invalid',_0x545c8e(0x19b));return _0x3637f2;}function isObject(_0x2ebb30){const _0x333086=a256_0x16db47;return _0x2ebb30!==null&&typeof _0x2ebb30===_0x333086(0x170)&&!Array['isArray'](_0x2ebb30);}function isMissingFile(_0x31b55d){const _0x23238a=a256_0x16db47;return Boolean(_0x31b55d&&typeof _0x31b55d==='object'&&_0x31b55d[_0x23238a(0x191)]===_0x23238a(0x19f));}function isAlreadyExists(_0x49b2c8){const _0x238b0c=a256_0x16db47;return Boolean(_0x49b2c8&&typeof _0x49b2c8===_0x238b0c(0x170)&&_0x49b2c8[_0x238b0c(0x191)]==='EEXIST');}function a256_0x549c(){const _0x1906c6=['policyRoot','Instant\x20API\x20policy\x20file\x20was\x20created\x20concurrently:\x20','includes','Instant\x20API\x20policy\x20version\x20must\x20be\x20\x221\x22.','Cannot\x20read\x20Instant\x20API\x20policy\x20file:\x20','Cannot\x20inspect\x20Instant\x20API\x20policy\x20file:\x20','policy.json','object','instant_api_policy_file_exists','32153WSeuAF','110054DBseVh','string','18jkOxNi','instant_api_policy_file_unwritable','9iicTHR','instant_api_policy_file_missing','180106rRSXNm','force','Instant\x20API\x20policy\x20file\x20exceeds\x20the\x201\x20MiB\x20CLI\x20limit.','1380PudVti','instant_api_policy_file_unreadable','version\x20is\x20the\x20JSON\x20schema\x20version;\x20published\x20history\x20uses\x20the\x20separate\x20revision\x20field.','5044808KEMiiN','Instant\x20API\x20policy\x20file\x20does\x20not\x20exist:\x20','defaults','size','Cannot\x20write\x20Instant\x20API\x20policy\x20file:\x20','Cannot\x20replace\x20Instant\x20API\x20policy\x20file:\x20','unchanged','instant_api_policy_defaults_invalid','Policy\x20defaults.instantApi\x20is\x20required.','byteLength','isFile','version','stringify','instant_api_policy_file_invalid','Review\x20the\x20file\x20before\x20retrying.','created','utf8','allow','code','instant_api_policy_file_too_large','overwritten','6GCQuPy','236140ulCUBY','Instant\x20API\x20policy\x20file\x20already\x20exists:\x20','instant_api_policy_version_invalid','length','1530980pvcfma','instantApi','Policy\x20rules\x20must\x20be\x20an\x20array\x20or\x20null.','rules','appCode\x20cannot\x20be\x20used\x20as\x20the\x20fixed\x20Instant\x20API\x20policy\x20directory\x20name.','decode','ENOENT','3372LwUjtk','instant_api_policy_json_invalid','policyFilePath','isArray','Instant\x20API\x20policy\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','appCode','Instant\x20API\x20policy\x20file\x20is\x20not\x20valid\x20JSON:\x20','Instant\x20API\x20policy\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','parse','trim','27703BTjbFT','pid','instant_api_policy_app_code_mismatch','utf-8','4XrsUCa'];a256_0x549c=function(){return _0x1906c6;};return a256_0x549c();}
1
+ const a255_0x5de97b=a255_0x2b8e;(function(_0x76209c,_0x3ac5b1){const _0x1a939f=a255_0x2b8e,_0x298c99=_0x76209c();while(!![]){try{const _0x5f24b5=parseInt(_0x1a939f(0x20c))/0x1+-parseInt(_0x1a939f(0x1d5))/0x2+-parseInt(_0x1a939f(0x1db))/0x3*(-parseInt(_0x1a939f(0x211))/0x4)+-parseInt(_0x1a939f(0x207))/0x5*(-parseInt(_0x1a939f(0x1e0))/0x6)+-parseInt(_0x1a939f(0x1e1))/0x7+parseInt(_0x1a939f(0x20f))/0x8+parseInt(_0x1a939f(0x20e))/0x9;if(_0x5f24b5===_0x3ac5b1)break;else _0x298c99['push'](_0x298c99['shift']());}catch(_0x517346){_0x298c99['push'](_0x298c99['shift']());}}}(a255_0x4ba0,0x49965));import{randomUUID}from'node:crypto';function a255_0x4ba0(){const _0x5801f2=['appCode','instant_api_policy_file_unreadable','isFile','264pWuIMn','1280307eCOKtU','overwritten','Policy\x20appCode\x20must\x20match\x20the\x20selected\x20application\x20','version','Policy\x20rules\x20must\x20be\x20an\x20array\x20or\x20null.','trim','policyRoot','code','catch','policyFilePath','Instant\x20API\x20policy\x20file\x20does\x20not\x20exist:\x20','byteLength','instant_api_policy_file_exists','unchanged','Cannot\x20read\x20Instant\x20API\x20policy\x20file:\x20','utf8','instant_api_policy_app_code_mismatch','size','stringify','rules','instant_api_policy_defaults_invalid','Instant\x20API\x20policy\x20file\x20was\x20created\x20concurrently:\x20','Cannot\x20inspect\x20Instant\x20API\x20policy\x20file:\x20','Instant\x20API\x20policy\x20JSON\x20root\x20must\x20be\x20an\x20object.','Run\x20`rabetbase\x20instant-api-policy\x20init`\x20or\x20`rabetbase\x20instant-api-policy\x20pull`\x20first.','Instant\x20API\x20policy\x20version\x20must\x20be\x20\x221\x22.','Review\x20the\x20file\x20before\x20retrying.','Cannot\x20replace\x20Instant\x20API\x20policy\x20file:\x20','Instant\x20API\x20policy\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','created','instant_api_policy_file_invalid','version\x20is\x20the\x20JSON\x20schema\x20version;\x20published\x20history\x20uses\x20the\x20separate\x20revision\x20field.','decode','instant_api_policy_json_invalid','defaults','includes','instant_api_policy_file_too_large','instant_api_policy_file_unwritable','5905xDbBxz','instant_api_policy_version_invalid','.rabetbase/instant-api-policy','Instant\x20API\x20policy\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','isArray','493209ismOnR','parse','1809288YMLJQN','1993896kQfdWi','instantApi','16mboEOh','Instant\x20API\x20policy\x20file\x20exceeds\x20the\x201\x20MiB\x20CLI\x20limit.','policy.json','Instant\x20API\x20policy\x20file\x20is\x20not\x20valid\x20JSON:\x20','1117400xjICyX','EEXIST','object','length','allow','force','35679BoXzRN','Review\x20local\x20changes,\x20then\x20rerun\x20with\x20--force\x20--yes\x20if\x20replacement\x20is\x20intended.'];a255_0x4ba0=function(){return _0x5801f2;};return a255_0x4ba0();}import{mkdir,readFile,rename,stat,unlink,writeFile}from'node:fs/promises';function a255_0x2b8e(_0x300c1a,_0x23f968){_0x300c1a=_0x300c1a-0x1d2;const _0x4ba0de=a255_0x4ba0();let _0x2b8e93=_0x4ba0de[_0x300c1a];return _0x2b8e93;}import{dirname,resolve}from'node:path';import{TextDecoder}from'node:util';import{findProjectRootDirectory}from'../../context.js';import{CliError}from'../../errors.js';export const INSTANT_API_POLICY_RELATIVE_ROOT=a255_0x5de97b(0x209);export const INSTANT_API_POLICY_FILE_NAME=a255_0x5de97b(0x1d3);export const MAX_INSTANT_API_POLICY_BYTES=0x400*0x400;export function instantApiPolicyError(_0x1bc2e4,_0x601ab9,_0x4ffd20){return new CliError(_0x1bc2e4,0x1,_0x601ab9,_0x4ffd20);}export function loadInstantApiPolicyLocalConfig(_0x3f5da1,_0x46f18b){assertSafeAppCode(_0x3f5da1);const _0x4144c7=resolve(_0x46f18b??findProjectRootDirectory()),_0x4d6b9c=INSTANT_API_POLICY_RELATIVE_ROOT+'/'+_0x3f5da1+'/'+INSTANT_API_POLICY_FILE_NAME,_0x5752d1=resolve(_0x4144c7,INSTANT_API_POLICY_RELATIVE_ROOT,_0x3f5da1),_0x865c97=resolve(_0x5752d1,INSTANT_API_POLICY_FILE_NAME);return{'projectRoot':_0x4144c7,'appCode':_0x3f5da1,'policyRoot':_0x5752d1,'policyFilePath':_0x865c97,'policyRelativePath':_0x4d6b9c};}export function createDefaultInstantApiPolicyConfig(_0x531ad2,_0x23d064=a255_0x5de97b(0x1d9)){return assertSafeAppCode(_0x531ad2),{'version':'1','appCode':_0x531ad2,'defaults':{'instantApi':_0x23d064},'rules':[]};}export async function readInstantApiPolicyConfigFile(_0x1ae8b9){const _0x21d8a0=a255_0x5de97b;let _0x51bfe4;try{_0x51bfe4=await stat(_0x1ae8b9[_0x21d8a0(0x1ea)]);}catch(_0x304fe3){throw instantApiPolicyError('instant_api_policy_file_missing',_0x21d8a0(0x1eb)+_0x1ae8b9[_0x21d8a0(0x1ea)],_0x21d8a0(0x1f9));}if(!_0x51bfe4[_0x21d8a0(0x1df)]())throw instantApiPolicyError(_0x21d8a0(0x1ff),_0x21d8a0(0x20a)+_0x1ae8b9[_0x21d8a0(0x1ea)]);if(_0x51bfe4[_0x21d8a0(0x1f2)]>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError(_0x21d8a0(0x205),_0x21d8a0(0x1d2));let _0x55f56a;try{_0x55f56a=await readFile(_0x1ae8b9[_0x21d8a0(0x1ea)]);}catch{throw instantApiPolicyError(_0x21d8a0(0x1de),_0x21d8a0(0x1ef)+_0x1ae8b9[_0x21d8a0(0x1ea)]);}if(_0x55f56a[_0x21d8a0(0x1ec)]>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError(_0x21d8a0(0x205),_0x21d8a0(0x1d2));let _0x149418;try{_0x149418=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})[_0x21d8a0(0x201)](_0x55f56a);}catch{throw instantApiPolicyError(_0x21d8a0(0x1ff),_0x21d8a0(0x1fd)+_0x1ae8b9[_0x21d8a0(0x1ea)]);}let _0x33124d;try{_0x33124d=JSON[_0x21d8a0(0x20d)](_0x149418);}catch{throw instantApiPolicyError(_0x21d8a0(0x202),_0x21d8a0(0x1d4)+_0x1ae8b9[_0x21d8a0(0x1ea)]);}return assertLocalPolicyContract(_0x33124d,_0x1ae8b9['appCode']);}export async function writeInstantApiPolicyConfigFile(_0x428e11,_0x5d509b,_0x4abc78={}){const _0x221578=a255_0x5de97b,_0x1b658f=assertLocalPolicyContract(_0x5d509b,_0x428e11[_0x221578(0x1dd)]),_0x1d250d=JSON[_0x221578(0x1f3)](_0x1b658f,null,0x2)+'\x0a';if(Buffer[_0x221578(0x1ec)](_0x1d250d,_0x221578(0x1f0))>MAX_INSTANT_API_POLICY_BYTES)throw instantApiPolicyError(_0x221578(0x205),_0x221578(0x1d2));await mkdir(_0x428e11[_0x221578(0x1e7)],{'recursive':!![]});let _0x4f417c;try{_0x4f417c=await readFile(_0x428e11['policyFilePath'],_0x221578(0x1f0));}catch(_0x59b7a1){if(!isMissingFile(_0x59b7a1))throw instantApiPolicyError(_0x221578(0x1de),_0x221578(0x1f7)+_0x428e11[_0x221578(0x1ea)]);}if(_0x4f417c===_0x1d250d)return{'action':_0x221578(0x1ee),'filePath':_0x428e11['policyFilePath']};if(_0x4f417c!==undefined&&!_0x4abc78[_0x221578(0x1da)])throw instantApiPolicyError(_0x221578(0x1ed),'Instant\x20API\x20policy\x20file\x20already\x20exists:\x20'+_0x428e11[_0x221578(0x1ea)],_0x221578(0x1dc));if(_0x4f417c===undefined)try{return await writeFile(_0x428e11[_0x221578(0x1ea)],_0x1d250d,{'encoding':_0x221578(0x1f0),'flag':'wx'}),{'action':_0x221578(0x1fe),'filePath':_0x428e11[_0x221578(0x1ea)]};}catch(_0x5a4df6){if(!isAlreadyExists(_0x5a4df6))throw instantApiPolicyError(_0x221578(0x206),'Cannot\x20write\x20Instant\x20API\x20policy\x20file:\x20'+_0x428e11[_0x221578(0x1ea)]);if(!_0x4abc78[_0x221578(0x1da)])throw instantApiPolicyError('instant_api_policy_file_exists',_0x221578(0x1f6)+_0x428e11[_0x221578(0x1ea)],_0x221578(0x1fb));}const _0x319c96=resolve(dirname(_0x428e11[_0x221578(0x1ea)]),'.'+INSTANT_API_POLICY_FILE_NAME+'.'+process['pid']+'.'+randomUUID()+'.tmp');try{await writeFile(_0x319c96,_0x1d250d,{'encoding':_0x221578(0x1f0),'flag':'wx'}),await rename(_0x319c96,_0x428e11[_0x221578(0x1ea)]);}catch{await unlink(_0x319c96)[_0x221578(0x1e9)](()=>undefined);throw instantApiPolicyError(_0x221578(0x206),_0x221578(0x1fc)+_0x428e11[_0x221578(0x1ea)]);}return{'action':_0x221578(0x1e2),'filePath':_0x428e11[_0x221578(0x1ea)]};}function assertSafeAppCode(_0xcf5a13){const _0x59d596=a255_0x5de97b,_0x2a1f11=_0xcf5a13[_0x59d596(0x1e6)]();if(!_0x2a1f11||_0x2a1f11!==_0xcf5a13||_0x2a1f11[_0x59d596(0x1d8)]>0x64||_0x2a1f11==='.'||_0x2a1f11==='..'||_0x2a1f11[_0x59d596(0x204)]('/')||_0x2a1f11[_0x59d596(0x204)]('\x5c')||_0x2a1f11[_0x59d596(0x204)]('\x00'))throw instantApiPolicyError('instant_api_policy_app_code_invalid','appCode\x20cannot\x20be\x20used\x20as\x20the\x20fixed\x20Instant\x20API\x20policy\x20directory\x20name.');}function assertLocalPolicyContract(_0x2cc198,_0x3b8d87){const _0x2f09aa=a255_0x5de97b;if(!isObject(_0x2cc198))throw instantApiPolicyError(_0x2f09aa(0x202),_0x2f09aa(0x1f8));if(_0x2cc198[_0x2f09aa(0x1e4)]!=='1')throw instantApiPolicyError(_0x2f09aa(0x208),_0x2f09aa(0x1fa),_0x2f09aa(0x200));if(_0x2cc198[_0x2f09aa(0x1dd)]!==_0x3b8d87)throw instantApiPolicyError(_0x2f09aa(0x1f1),_0x2f09aa(0x1e3)+_0x3b8d87+'.');if(!isObject(_0x2cc198[_0x2f09aa(0x203)])||typeof _0x2cc198[_0x2f09aa(0x203)][_0x2f09aa(0x210)]!=='string')throw instantApiPolicyError(_0x2f09aa(0x1f5),'Policy\x20defaults.instantApi\x20is\x20required.');if(_0x2cc198['rules']!==undefined&&_0x2cc198[_0x2f09aa(0x1f4)]!==null&&!Array[_0x2f09aa(0x20b)](_0x2cc198[_0x2f09aa(0x1f4)]))throw instantApiPolicyError('instant_api_policy_rules_invalid',_0x2f09aa(0x1e5));return _0x2cc198;}function isObject(_0x1cdc18){const _0x48c436=a255_0x5de97b;return _0x1cdc18!==null&&typeof _0x1cdc18===_0x48c436(0x1d7)&&!Array[_0x48c436(0x20b)](_0x1cdc18);}function isMissingFile(_0x4e238c){const _0x41b508=a255_0x5de97b;return Boolean(_0x4e238c&&typeof _0x4e238c===_0x41b508(0x1d7)&&_0x4e238c[_0x41b508(0x1e8)]==='ENOENT');}function isAlreadyExists(_0x1727d3){const _0x2dc7a5=a255_0x5de97b;return Boolean(_0x1727d3&&typeof _0x1727d3===_0x2dc7a5(0x1d7)&&_0x1727d3[_0x2dc7a5(0x1e8)]===_0x2dc7a5(0x1d6));}
@@ -1 +1 @@
1
- const a257_0x5eeb75=a257_0xad3d;(function(_0x2f7897,_0x2bcdd4){const _0x216267=a257_0xad3d,_0x205e75=_0x2f7897();while(!![]){try{const _0x2fa26c=-parseInt(_0x216267(0x21a))/0x1+-parseInt(_0x216267(0x1ec))/0x2*(-parseInt(_0x216267(0x217))/0x3)+-parseInt(_0x216267(0x207))/0x4+-parseInt(_0x216267(0x218))/0x5*(-parseInt(_0x216267(0x1ee))/0x6)+parseInt(_0x216267(0x1f9))/0x7+parseInt(_0x216267(0x222))/0x8+parseInt(_0x216267(0x20f))/0x9*(-parseInt(_0x216267(0x210))/0xa);if(_0x2fa26c===_0x2bcdd4)break;else _0x205e75['push'](_0x205e75['shift']());}catch(_0x26d7e5){_0x205e75['push'](_0x205e75['shift']());}}}(a257_0x4073,0x8fddf));function a257_0xad3d(_0x27f2bf,_0x57de86){_0x27f2bf=_0x27f2bf-0x1e5;const _0x40735b=a257_0x4073();let _0xad3d5b=_0x40735b[_0x27f2bf];return _0xad3d5b;}import{getKbDomain}from'../constant/domain.js';import{CliError,CliErrors}from'../errors.js';const RESPONSE_KEYS=['schemaVersion','profile',a257_0x5eeb75(0x1fc),a257_0x5eeb75(0x201),a257_0x5eeb75(0x206),a257_0x5eeb75(0x208)],HIT_KEYS=[a257_0x5eeb75(0x20a),a257_0x5eeb75(0x215),a257_0x5eeb75(0x1f1),a257_0x5eeb75(0x202),a257_0x5eeb75(0x20d),'text',a257_0x5eeb75(0x205),a257_0x5eeb75(0x1f4),'rawScore',a257_0x5eeb75(0x216),a257_0x5eeb75(0x1ed)];export async function searchDevelopmentKnowledge(_0x706c42){const _0xb14b81=a257_0x5eeb75,_0x29c3f6=_0x706c42[_0xb14b81(0x1fa)]['trim'](),_0x62285c=_0x706c42[_0xb14b81(0x1ef)][_0xb14b81(0x20b)]();if(!_0x29c3f6)throw CliErrors[_0xb14b81(0x21e)](_0xb14b81(0x230));if(!_0x706c42['cookie'][_0xb14b81(0x20b)]())throw CliErrors[_0xb14b81(0x204)]();if(!_0x62285c)throw CliErrors['validation']('Knowledge\x20search\x20query\x20is\x20required.');validateTopK(_0x706c42[_0xb14b81(0x200)]);const _0x3da50d=getKbDomain()+'/smartapi/knowledge/company-public/search';let _0x2a7a70;try{_0x2a7a70=await fetch(_0x3da50d,{'method':_0xb14b81(0x221),'headers':{'Content-Type':_0xb14b81(0x1fe),'Cookie':_0x706c42[_0xb14b81(0x203)],'X-Invoke-Source':_0xb14b81(0x22e)},'body':JSON['stringify']({'appCode':_0x29c3f6,'query':_0x62285c,..._0x706c42[_0xb14b81(0x200)]!==undefined?{'topK':_0x706c42[_0xb14b81(0x200)]}:{}}),'signal':_0x706c42[_0xb14b81(0x20c)]});}catch(_0x8677fd){if(_0x8677fd instanceof CliError)throw _0x8677fd;if(_0x8677fd instanceof Error&&_0x8677fd['name']==='AbortError')throw _0x8677fd;throw CliErrors[_0xb14b81(0x212)](_0xb14b81(0x21d));}if(!hasNoStore(_0x2a7a70[_0xb14b81(0x228)]))throw CliErrors[_0xb14b81(0x1fd)](_0xb14b81(0x226));if(_0x2a7a70[_0xb14b81(0x225)]===0x191)throw CliErrors[_0xb14b81(0x204)]();if(!_0x2a7a70['ok'])throw CliErrors[_0xb14b81(0x1fd)]('SmartCode\x20knowledge\x20search\x20failed\x20(HTTP\x20'+_0x2a7a70[_0xb14b81(0x225)]+').');if(!(_0x2a7a70['headers'][_0xb14b81(0x227)](_0xb14b81(0x1f6))??'')[_0xb14b81(0x1e7)]()[_0xb14b81(0x224)](_0xb14b81(0x1fe)))throw CliErrors[_0xb14b81(0x1fd)](_0xb14b81(0x1ff));let _0x1222aa;try{_0x1222aa=await _0x2a7a70[_0xb14b81(0x229)]();}catch{throw CliErrors[_0xb14b81(0x1fd)](_0xb14b81(0x1f8));}return parseDevelopmentSearchResponse(readEnvelopeData(_0x1222aa),_0x706c42[_0xb14b81(0x200)]);}function readEnvelopeData(_0x45652e){const _0x38c3dd=a257_0x5eeb75,_0x50e50f=requireRecord(_0x45652e,_0x38c3dd(0x223));if(_0x50e50f['success']===![])throw CliErrors[_0x38c3dd(0x1fd)](_0x38c3dd(0x1f0));if(!(_0x38c3dd(0x20e)in _0x50e50f))throw invalidContract(_0x38c3dd(0x223));return _0x50e50f[_0x38c3dd(0x20e)];}function validateTopK(_0x43adfd){const _0x4f8525=a257_0x5eeb75;if(_0x43adfd!==undefined&&(!Number[_0x4f8525(0x21c)](_0x43adfd)||_0x43adfd<0x1||_0x43adfd>0x32))throw CliErrors[_0x4f8525(0x21e)]('Knowledge\x20search\x20topK\x20must\x20be\x20an\x20integer\x20from\x201\x20through\x2050.');}function hasNoStore(_0x8c91e7){const _0x385aaa=a257_0x5eeb75;return(_0x8c91e7['get'](_0x385aaa(0x1eb))??'')['split'](',')['some'](_0x153594=>_0x153594['trim']()[_0x385aaa(0x1e7)]()===_0x385aaa(0x1ea));}function parseDevelopmentSearchResponse(_0x1d284d,_0xeaba53){const _0x1a5007=a257_0x5eeb75,_0xfc1e91=requireExactRecord(_0x1d284d,RESPONSE_KEYS,_0x1a5007(0x211));if(_0xfc1e91[_0x1a5007(0x209)]!==0x2||_0xfc1e91['profile']!=='development')throw invalidContract(_0x1a5007(0x1f7));if(!Array[_0x1a5007(0x1f2)](_0xfc1e91[_0x1a5007(0x201)])||_0xfc1e91[_0x1a5007(0x201)]['length']>(_0xeaba53??0x32))throw invalidContract('hits');if(typeof _0xfc1e91[_0x1a5007(0x206)]!==_0x1a5007(0x220)||!/^sha256:[0-9a-f]{64}$/[_0x1a5007(0x1fb)](_0xfc1e91[_0x1a5007(0x206)]))throw invalidContract('strategyFingerprint');const _0x1a09ec=requireRecord(_0xfc1e91[_0x1a5007(0x208)],'timingsMs'),_0x67fe02={};for(const [_0x276498,_0x11a615]of Object['entries'](_0x1a09ec)){if(!/^[A-Za-z][A-Za-z0-9]*$/[_0x1a5007(0x1fb)](_0x276498)||typeof _0x11a615!=='number'||!Number[_0x1a5007(0x1e8)](_0x11a615)||_0x11a615<0x0)throw invalidContract('timingsMs');_0x67fe02[_0x276498]=_0x11a615;}const _0x2185b4=_0xfc1e91[_0x1a5007(0x201)][_0x1a5007(0x21b)]((_0x2609d5,_0x998c4b)=>parseHit(_0x2609d5,_0x998c4b));if(!Number[_0x1a5007(0x21c)](_0xfc1e91[_0x1a5007(0x1fc)])||_0xfc1e91['total']!==_0x2185b4[_0x1a5007(0x1e9)])throw invalidContract('total');return{'schemaVersion':_0xfc1e91[_0x1a5007(0x209)],'profile':_0xfc1e91[_0x1a5007(0x1f7)],'total':_0xfc1e91[_0x1a5007(0x1fc)],'strategyFingerprint':_0xfc1e91['strategyFingerprint'],'timingsMs':_0x67fe02,'hits':_0x2185b4};}function parseHit(_0x28d0a6,_0x530faf){const _0x19dff0=a257_0x5eeb75,_0x10a991=requireExactRecord(_0x28d0a6,HIT_KEYS,_0x19dff0(0x22b)+_0x530faf+']'),_0x12a947=_0x579e51=>{const _0x1a20e8=_0x19dff0,_0x152f88=_0x10a991[_0x579e51];if(typeof _0x152f88!==_0x1a20e8(0x220)||!_0x152f88)throw invalidContract(_0x579e51);return _0x152f88;};if(!Number[_0x19dff0(0x21c)](_0x10a991['revision'])||_0x10a991[_0x19dff0(0x215)]<0x1)throw invalidContract(_0x19dff0(0x215));if(_0x10a991[_0x19dff0(0x202)]!==_0x19dff0(0x1e5)&&_0x10a991['scope']!==_0x19dff0(0x1e6))throw invalidContract(_0x19dff0(0x202));if(typeof _0x10a991[_0x19dff0(0x20d)]!=='string'||typeof _0x10a991[_0x19dff0(0x214)]!==_0x19dff0(0x220))throw invalidContract('text');if(!Array[_0x19dff0(0x1f2)](_0x10a991[_0x19dff0(0x205)])||_0x10a991[_0x19dff0(0x205)][_0x19dff0(0x22c)](_0x1fdb31=>typeof _0x1fdb31!==_0x19dff0(0x220)))throw invalidContract(_0x19dff0(0x205));if(!Number[_0x19dff0(0x21c)](_0x10a991['rank'])||_0x10a991[_0x19dff0(0x1f4)]!==_0x530faf+0x1)throw invalidContract('rank');if(!isFiniteNumber(_0x10a991[_0x19dff0(0x22a)])||!isFiniteNumber(_0x10a991[_0x19dff0(0x216)]))throw invalidContract(_0x19dff0(0x22f));return{'documentId':_0x12a947(_0x19dff0(0x20a)),'revision':_0x10a991[_0x19dff0(0x215)],'chunkId':_0x12a947(_0x19dff0(0x1f1)),'scope':_0x10a991['scope'],'title':_0x10a991['title'],'text':_0x10a991[_0x19dff0(0x214)],'tags':[..._0x10a991[_0x19dff0(0x205)]],'rank':_0x10a991[_0x19dff0(0x1f4)],'rawScore':_0x10a991[_0x19dff0(0x22a)],'finalScore':_0x10a991[_0x19dff0(0x216)],'scoreKind':_0x12a947(_0x19dff0(0x1ed))};}function requireExactRecord(_0x4bad42,_0x5159c4,_0x57d2b6){const _0xce926c=a257_0x5eeb75,_0x2b7e6a=requireRecord(_0x4bad42,_0x57d2b6),_0x3eee85=Object[_0xce926c(0x219)](_0x2b7e6a)['sort'](),_0x230bea=[..._0x5159c4][_0xce926c(0x1f3)]();if(_0x3eee85['length']!==_0x230bea['length']||_0x3eee85['some']((_0x506c48,_0x3c0135)=>_0x506c48!==_0x230bea[_0x3c0135]))throw invalidContract(_0x57d2b6);return _0x2b7e6a;}function requireRecord(_0x4dfa58,_0x2adfad){const _0x285a6f=a257_0x5eeb75;if(!_0x4dfa58||typeof _0x4dfa58!==_0x285a6f(0x213)||Array[_0x285a6f(0x1f2)](_0x4dfa58))throw invalidContract(_0x2adfad);return _0x4dfa58;}function a257_0x4073(){const _0x4bfd09=['chunkId','isArray','sort','rank','SmartCode\x20knowledge\x20search\x20returned\x20an\x20invalid\x20','content-type','profile','SmartCode\x20knowledge\x20search\x20returned\x20invalid\x20JSON.','7273014PDWiHO','appCode','test','total','apiError','application/json','SmartCode\x20knowledge\x20search\x20returned\x20a\x20non-JSON\x20content\x20type.','topK','hits','scope','cookie','authRequired','tags','strategyFingerprint','1333304briUHA','timingsMs','schemaVersion','documentId','trim','signal','title','data','9jwxymd','13872380HJnZTM','response','networkError','object','text','revision','finalScore','18ZWWYQr','539605PzbvQD','keys','729655vYGnGp','map','isSafeInteger','SmartCode\x20knowledge\x20search\x20request\x20failed.','validation','number','string','POST','7110776mZdmEx','response\x20envelope','includes','status','SmartCode\x20knowledge\x20search\x20response\x20is\x20missing\x20Cache-Control:\x20no-store.','get','headers','json','rawScore','hits[','some','\x20contract.','cli:rabetbase','score','Knowledge\x20search\x20appCode\x20is\x20required.','public','company','toLowerCase','isFinite','length','no-store','cache-control','334576HVTqEc','scoreKind','6PzjdgW','query','SmartCode\x20knowledge\x20search\x20failed.'];a257_0x4073=function(){return _0x4bfd09;};return a257_0x4073();}function isFiniteNumber(_0x33d45e){const _0x5b68f6=a257_0x5eeb75;return typeof _0x33d45e===_0x5b68f6(0x21f)&&Number[_0x5b68f6(0x1e8)](_0x33d45e);}function invalidContract(_0x23eda4){const _0x3b8b8a=a257_0x5eeb75;return CliErrors['apiError'](_0x3b8b8a(0x1f5)+_0x23eda4+_0x3b8b8a(0x22d));}
1
+ const a256_0x2e85ee=a256_0x18a5;(function(_0x62b185,_0x482b1e){const _0x4f21fe=a256_0x18a5,_0x2aec5a=_0x62b185();while(!![]){try{const _0x6e5ba=parseInt(_0x4f21fe(0x114))/0x1+parseInt(_0x4f21fe(0x113))/0x2+parseInt(_0x4f21fe(0xf8))/0x3*(-parseInt(_0x4f21fe(0x11d))/0x4)+parseInt(_0x4f21fe(0x10d))/0x5*(-parseInt(_0x4f21fe(0x115))/0x6)+-parseInt(_0x4f21fe(0x128))/0x7*(-parseInt(_0x4f21fe(0xef))/0x8)+parseInt(_0x4f21fe(0x12b))/0x9+-parseInt(_0x4f21fe(0x11f))/0xa;if(_0x6e5ba===_0x482b1e)break;else _0x2aec5a['push'](_0x2aec5a['shift']());}catch(_0x1e92ae){_0x2aec5a['push'](_0x2aec5a['shift']());}}}(a256_0x10ec,0x24aaa));import{getKbDomain}from'../constant/domain.js';import{CliError,CliErrors}from'../errors.js';const RESPONSE_KEYS=[a256_0x2e85ee(0x129),a256_0x2e85ee(0xf9),'total',a256_0x2e85ee(0x10a),a256_0x2e85ee(0x122),a256_0x2e85ee(0x10b)],HIT_KEYS=[a256_0x2e85ee(0xfb),a256_0x2e85ee(0x12c),a256_0x2e85ee(0x123),a256_0x2e85ee(0xed),a256_0x2e85ee(0xe5),a256_0x2e85ee(0x101),a256_0x2e85ee(0x135),a256_0x2e85ee(0x12a),a256_0x2e85ee(0x120),a256_0x2e85ee(0xfd),a256_0x2e85ee(0x118)];function a256_0x10ec(){const _0x965425=['networkError','SmartCode\x20knowledge\x20search\x20failed\x20(HTTP\x20','128196dsXaXw','no-store','5345660ugODTu','rawScore','number','strategyFingerprint','chunkId','keys','SmartCode\x20knowledge\x20search\x20returned\x20a\x20non-JSON\x20content\x20type.','topK','test','17423CBEDRA','schemaVersion','rank','2582973bZwAlb','revision','some','query','get','appCode','split','entries','string','name','tags','map','title','public','total','sort','authRequired','object','application/json','SmartCode\x20knowledge\x20search\x20failed.','scope','signal','904RHPLVL','SmartCode\x20knowledge\x20search\x20returned\x20an\x20invalid\x20','validation','status','json','SmartCode\x20knowledge\x20search\x20response\x20is\x20missing\x20Cache-Control:\x20no-store.','Knowledge\x20search\x20appCode\x20is\x20required.','score','hits[','15ilOWTE','profile','trim','documentId','includes','finalScore','/smartapi/knowledge/company-public/search','headers','cli:rabetbase','text','company','apiError','AbortError','stringify','Knowledge\x20search\x20topK\x20must\x20be\x20an\x20integer\x20from\x201\x20through\x2050.','toLowerCase','POST','success','hits','timingsMs','response\x20envelope','115360LOISsu','response','isArray','development','data','content-type','460956ayIxaz','230841EQFFSZ','48dBTLDJ','length','isFinite','scoreKind','cookie','isSafeInteger'];a256_0x10ec=function(){return _0x965425;};return a256_0x10ec();}export async function searchDevelopmentKnowledge(_0x14a3a2){const _0x4f9ead=a256_0x2e85ee,_0x537096=_0x14a3a2[_0x4f9ead(0x130)][_0x4f9ead(0xfa)](),_0x38e452=_0x14a3a2[_0x4f9ead(0x12e)][_0x4f9ead(0xfa)]();if(!_0x537096)throw CliErrors[_0x4f9ead(0xf1)](_0x4f9ead(0xf5));if(!_0x14a3a2[_0x4f9ead(0x119)][_0x4f9ead(0xfa)]())throw CliErrors[_0x4f9ead(0xe9)]();if(!_0x38e452)throw CliErrors[_0x4f9ead(0xf1)]('Knowledge\x20search\x20query\x20is\x20required.');validateTopK(_0x14a3a2[_0x4f9ead(0x126)]);const _0x2028fb=getKbDomain()+_0x4f9ead(0xfe);let _0x299842;try{_0x299842=await fetch(_0x2028fb,{'method':_0x4f9ead(0x108),'headers':{'Content-Type':_0x4f9ead(0xeb),'Cookie':_0x14a3a2['cookie'],'X-Invoke-Source':_0x4f9ead(0x100)},'body':JSON[_0x4f9ead(0x105)]({'appCode':_0x537096,'query':_0x38e452,..._0x14a3a2['topK']!==undefined?{'topK':_0x14a3a2['topK']}:{}}),'signal':_0x14a3a2[_0x4f9ead(0xee)]});}catch(_0x57d7de){if(_0x57d7de instanceof CliError)throw _0x57d7de;if(_0x57d7de instanceof Error&&_0x57d7de[_0x4f9ead(0x134)]===_0x4f9ead(0x104))throw _0x57d7de;throw CliErrors[_0x4f9ead(0x11b)]('SmartCode\x20knowledge\x20search\x20request\x20failed.');}if(!hasNoStore(_0x299842[_0x4f9ead(0xff)]))throw CliErrors[_0x4f9ead(0x103)](_0x4f9ead(0xf4));if(_0x299842[_0x4f9ead(0xf2)]===0x191)throw CliErrors[_0x4f9ead(0xe9)]();if(!_0x299842['ok'])throw CliErrors['apiError'](_0x4f9ead(0x11c)+_0x299842[_0x4f9ead(0xf2)]+').');if(!(_0x299842[_0x4f9ead(0xff)][_0x4f9ead(0x12f)](_0x4f9ead(0x112))??'')[_0x4f9ead(0x107)]()[_0x4f9ead(0xfc)]('application/json'))throw CliErrors[_0x4f9ead(0x103)](_0x4f9ead(0x125));let _0x1b7959;try{_0x1b7959=await _0x299842[_0x4f9ead(0xf3)]();}catch{throw CliErrors[_0x4f9ead(0x103)]('SmartCode\x20knowledge\x20search\x20returned\x20invalid\x20JSON.');}return parseDevelopmentSearchResponse(readEnvelopeData(_0x1b7959),_0x14a3a2[_0x4f9ead(0x126)]);}function readEnvelopeData(_0x496a05){const _0x2d3ea7=a256_0x2e85ee,_0x926b8a=requireRecord(_0x496a05,_0x2d3ea7(0x10c));if(_0x926b8a[_0x2d3ea7(0x109)]===![])throw CliErrors[_0x2d3ea7(0x103)](_0x2d3ea7(0xec));if(!(_0x2d3ea7(0x111)in _0x926b8a))throw invalidContract(_0x2d3ea7(0x10c));return _0x926b8a[_0x2d3ea7(0x111)];}function validateTopK(_0x11b90e){const _0x24ecfc=a256_0x2e85ee;if(_0x11b90e!==undefined&&(!Number[_0x24ecfc(0x11a)](_0x11b90e)||_0x11b90e<0x1||_0x11b90e>0x32))throw CliErrors[_0x24ecfc(0xf1)](_0x24ecfc(0x106));}function hasNoStore(_0x1eaf1d){const _0x370e35=a256_0x2e85ee;return(_0x1eaf1d[_0x370e35(0x12f)]('cache-control')??'')[_0x370e35(0x131)](',')['some'](_0x5e5667=>_0x5e5667[_0x370e35(0xfa)]()[_0x370e35(0x107)]()===_0x370e35(0x11e));}function parseDevelopmentSearchResponse(_0x11f7c3,_0x274c11){const _0x2093f4=a256_0x2e85ee,_0x4ce55c=requireExactRecord(_0x11f7c3,RESPONSE_KEYS,_0x2093f4(0x10e));if(_0x4ce55c[_0x2093f4(0x129)]!==0x2||_0x4ce55c[_0x2093f4(0xf9)]!==_0x2093f4(0x110))throw invalidContract(_0x2093f4(0xf9));if(!Array[_0x2093f4(0x10f)](_0x4ce55c[_0x2093f4(0x10a)])||_0x4ce55c['hits']['length']>(_0x274c11??0x32))throw invalidContract(_0x2093f4(0x10a));if(typeof _0x4ce55c['strategyFingerprint']!==_0x2093f4(0x133)||!/^sha256:[0-9a-f]{64}$/[_0x2093f4(0x127)](_0x4ce55c['strategyFingerprint']))throw invalidContract(_0x2093f4(0x122));const _0x5e47d4=requireRecord(_0x4ce55c[_0x2093f4(0x10b)],_0x2093f4(0x10b)),_0x4fc877={};for(const [_0x1f0a4a,_0x39ad1c]of Object[_0x2093f4(0x132)](_0x5e47d4)){if(!/^[A-Za-z][A-Za-z0-9]*$/[_0x2093f4(0x127)](_0x1f0a4a)||typeof _0x39ad1c!==_0x2093f4(0x121)||!Number['isFinite'](_0x39ad1c)||_0x39ad1c<0x0)throw invalidContract(_0x2093f4(0x10b));_0x4fc877[_0x1f0a4a]=_0x39ad1c;}const _0x11c622=_0x4ce55c[_0x2093f4(0x10a)][_0x2093f4(0x136)]((_0x205cec,_0x829177)=>parseHit(_0x205cec,_0x829177));if(!Number[_0x2093f4(0x11a)](_0x4ce55c['total'])||_0x4ce55c['total']!==_0x11c622['length'])throw invalidContract(_0x2093f4(0xe7));return{'schemaVersion':_0x4ce55c[_0x2093f4(0x129)],'profile':_0x4ce55c[_0x2093f4(0xf9)],'total':_0x4ce55c[_0x2093f4(0xe7)],'strategyFingerprint':_0x4ce55c[_0x2093f4(0x122)],'timingsMs':_0x4fc877,'hits':_0x11c622};}function parseHit(_0x313f54,_0x5c9116){const _0x584ad4=a256_0x2e85ee,_0x2d1477=requireExactRecord(_0x313f54,HIT_KEYS,_0x584ad4(0xf7)+_0x5c9116+']'),_0x45172c=_0x574344=>{const _0x2ab957=_0x584ad4,_0x5ca521=_0x2d1477[_0x574344];if(typeof _0x5ca521!==_0x2ab957(0x133)||!_0x5ca521)throw invalidContract(_0x574344);return _0x5ca521;};if(!Number[_0x584ad4(0x11a)](_0x2d1477[_0x584ad4(0x12c)])||_0x2d1477[_0x584ad4(0x12c)]<0x1)throw invalidContract(_0x584ad4(0x12c));if(_0x2d1477[_0x584ad4(0xed)]!==_0x584ad4(0xe6)&&_0x2d1477[_0x584ad4(0xed)]!==_0x584ad4(0x102))throw invalidContract(_0x584ad4(0xed));if(typeof _0x2d1477['title']!=='string'||typeof _0x2d1477['text']!==_0x584ad4(0x133))throw invalidContract('text');if(!Array['isArray'](_0x2d1477[_0x584ad4(0x135)])||_0x2d1477['tags'][_0x584ad4(0x12d)](_0x4ad9cf=>typeof _0x4ad9cf!=='string'))throw invalidContract(_0x584ad4(0x135));if(!Number[_0x584ad4(0x11a)](_0x2d1477[_0x584ad4(0x12a)])||_0x2d1477[_0x584ad4(0x12a)]!==_0x5c9116+0x1)throw invalidContract(_0x584ad4(0x12a));if(!isFiniteNumber(_0x2d1477[_0x584ad4(0x120)])||!isFiniteNumber(_0x2d1477[_0x584ad4(0xfd)]))throw invalidContract(_0x584ad4(0xf6));return{'documentId':_0x45172c(_0x584ad4(0xfb)),'revision':_0x2d1477[_0x584ad4(0x12c)],'chunkId':_0x45172c(_0x584ad4(0x123)),'scope':_0x2d1477['scope'],'title':_0x2d1477[_0x584ad4(0xe5)],'text':_0x2d1477['text'],'tags':[..._0x2d1477[_0x584ad4(0x135)]],'rank':_0x2d1477[_0x584ad4(0x12a)],'rawScore':_0x2d1477['rawScore'],'finalScore':_0x2d1477['finalScore'],'scoreKind':_0x45172c('scoreKind')};}function requireExactRecord(_0x4af1f9,_0x175c28,_0x104642){const _0x1f837f=a256_0x2e85ee,_0x4e0ce3=requireRecord(_0x4af1f9,_0x104642),_0x37cd92=Object[_0x1f837f(0x124)](_0x4e0ce3)[_0x1f837f(0xe8)](),_0x4fd3f3=[..._0x175c28][_0x1f837f(0xe8)]();if(_0x37cd92[_0x1f837f(0x116)]!==_0x4fd3f3[_0x1f837f(0x116)]||_0x37cd92[_0x1f837f(0x12d)]((_0x4d2720,_0x58b9d5)=>_0x4d2720!==_0x4fd3f3[_0x58b9d5]))throw invalidContract(_0x104642);return _0x4e0ce3;}function requireRecord(_0x5f289b,_0x357847){const _0x21cfa0=a256_0x2e85ee;if(!_0x5f289b||typeof _0x5f289b!==_0x21cfa0(0xea)||Array['isArray'](_0x5f289b))throw invalidContract(_0x357847);return _0x5f289b;}function a256_0x18a5(_0x38b1fd,_0x861d1f){_0x38b1fd=_0x38b1fd-0xe5;const _0x10ec98=a256_0x10ec();let _0x18a5bb=_0x10ec98[_0x38b1fd];return _0x18a5bb;}function isFiniteNumber(_0x48f026){const _0x589cd0=a256_0x2e85ee;return typeof _0x48f026===_0x589cd0(0x121)&&Number[_0x589cd0(0x117)](_0x48f026);}function invalidContract(_0x440218){const _0x192213=a256_0x2e85ee;return CliErrors['apiError'](_0x192213(0xf0)+_0x440218+'\x20contract.');}
@@ -1,6 +1,49 @@
1
1
  import type { PageProjectConfig } from "../../core/page/types.js";
2
+ /**
3
+ * 读取当前工作目录下页面工程的基础配置
4
+ *
5
+ * @param appCode 应用 code
6
+ * @param cwd 命令执行时的工作目录
7
+ * @returns 页面工程目录与文件锁路径等核心路径信息
8
+ */
2
9
  export declare function loadPageProjectConfig(appCode: string, cwd?: string): PageProjectConfig;
10
+ /**
11
+ * 按 pageId 和类型生成页面文件名
12
+ *
13
+ * @param pageId 页面标识
14
+ * @param type 文件类型,如 draft 或 release
15
+ * @returns 约定格式的文件名,如 100-DRAFT.json
16
+ */
3
17
  export declare function buildPageFileName(pageId: number, type: string): string;
18
+ /**
19
+ * 拼接指定页面类型文件的完整路径
20
+ *
21
+ * @param config 页面工程配置
22
+ * @param pageId 页面标识
23
+ * @param type 页面文件类型
24
+ * @returns 页面文件绝对路径
25
+ */
4
26
  export declare function resolvePageFilePath(config: PageProjectConfig, pageId: number, type: string): string;
27
+ /**
28
+ * 确保文件父目录存在
29
+ *
30
+ * @param filePath 文件完整路径
31
+ */
5
32
  export declare function ensureParentDirectory(filePath: string): Promise<void>;
33
+ /**
34
+ * 检查文件是否存在
35
+ *
36
+ * @param filePath 文件路径
37
+ * @returns 文件存在返回 true,不存在返回 false
38
+ */
6
39
  export declare function fileExists(filePath: string): Promise<boolean>;
40
+ /**
41
+ * 读取自定义页面目录中的全部常规文件
42
+ *
43
+ * 返回值使用相对于输入目录的 POSIX 路径,便于直接作为页面完整文件映射提交
44
+ * 符号链接和其他特殊文件会被拒绝,避免目录外内容或非文本资源被静默写入页面
45
+ *
46
+ * @param directory 页面文件根目录
47
+ * @returns 相对文件路径到 UTF-8 内容的映射
48
+ */
49
+ export declare function readCustomPageDirectory(directory: string): Promise<Record<string, string>>;
@@ -1 +1 @@
1
- const a258_0x2e6fbf=a258_0x67b9;(function(_0xd50c2c,_0x152de5){const _0x4e085c=a258_0x67b9,_0x3f7cab=_0xd50c2c();while(!![]){try{const _0x3befec=parseInt(_0x4e085c(0x1b3))/0x1+parseInt(_0x4e085c(0x1b1))/0x2+parseInt(_0x4e085c(0x1b8))/0x3+parseInt(_0x4e085c(0x1b2))/0x4+parseInt(_0x4e085c(0x1af))/0x5+parseInt(_0x4e085c(0x1bc))/0x6*(-parseInt(_0x4e085c(0x1b7))/0x7)+-parseInt(_0x4e085c(0x1b9))/0x8;if(_0x3befec===_0x152de5)break;else _0x3f7cab['push'](_0x3f7cab['shift']());}catch(_0x1d140b){_0x3f7cab['push'](_0x3f7cab['shift']());}}}(a258_0xadfa,0x2b5fe));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x159298,_0x324306=process[a258_0x2e6fbf(0x1b6)]()){const _0x2fb401=a258_0x2e6fbf,_0x2f49f0=resolve(_0x324306),_0x4588c9=join(_0x2f49f0,_0x2fb401(0x1ba),_0x2fb401(0x1b5));return{'projectRoot':_0x2f49f0,'pagesBaseDir':_0x4588c9,'appPagesDir':join(_0x4588c9,_0x159298),'lockFilePath':join(_0x2f49f0,_0x2fb401(0x1ba),'page.lock.json')};}export function buildPageFileName(_0x5efd12,_0x4478ca){const _0x5acdcb=a258_0x2e6fbf;return _0x5efd12+'-'+String(_0x4478ca)[_0x5acdcb(0x1b0)]()+_0x5acdcb(0x1bb);}export function resolvePageFilePath(_0x4ab53f,_0x9dbd9e,_0xed8c){return join(_0x4ab53f['appPagesDir'],buildPageFileName(_0x9dbd9e,_0xed8c));}export async function ensureParentDirectory(_0x47a3e6){await mkdir(dirname(_0x47a3e6),{'recursive':!![]});}function a258_0x67b9(_0x147a2a,_0x41762f){_0x147a2a=_0x147a2a-0x1af;const _0xadfab2=a258_0xadfa();let _0x67b9af=_0xadfab2[_0x147a2a];return _0x67b9af;}export async function fileExists(_0x34476){const _0x2d10b8=a258_0x2e6fbf;try{return await access(_0x34476,constants[_0x2d10b8(0x1b4)]),!![];}catch{return![];}}function a258_0xadfa(){const _0x404ade=['79702DvEfnx','714855cAhWKf','9072608AXsMak','.rabetbase','.json','18xoVHsZ','1226690UWPxWF','toUpperCase','701742etGFUC','1235036rZGmHB','202643qUzSIJ','F_OK','page','cwd'];a258_0xadfa=function(){return _0x404ade;};return a258_0xadfa();}
1
+ (function(_0x2cd9d4,_0x31424f){const _0x2a89b8=a257_0x1da1,_0x5657ca=_0x2cd9d4();while(!![]){try{const _0x3f70e4=parseInt(_0x2a89b8(0x15b))/0x1*(parseInt(_0x2a89b8(0x162))/0x2)+parseInt(_0x2a89b8(0x15c))/0x3*(-parseInt(_0x2a89b8(0x16d))/0x4)+parseInt(_0x2a89b8(0x165))/0x5*(-parseInt(_0x2a89b8(0x16a))/0x6)+parseInt(_0x2a89b8(0x163))/0x7+parseInt(_0x2a89b8(0x164))/0x8*(parseInt(_0x2a89b8(0x16f))/0x9)+-parseInt(_0x2a89b8(0x160))/0xa*(parseInt(_0x2a89b8(0x15a))/0xb)+parseInt(_0x2a89b8(0x16c))/0xc*(parseInt(_0x2a89b8(0x158))/0xd);if(_0x3f70e4===_0x31424f)break;else _0x5657ca['push'](_0x5657ca['shift']());}catch(_0x19a6d3){_0x5657ca['push'](_0x5657ca['shift']());}}}(a257_0xa382,0xf2b31));import{constants}from'node:fs';import{access,lstat,mkdir,readFile,readdir}from'node:fs/promises';function a257_0xa382(){const _0x45767b=['name','1960404HiUsoG','isFile','1020156IWtLuB','4goVlll','trim','9stRSOu','sort','Page\x20directory\x20is\x20not\x20a\x20directory:\x20','page','toUpperCase','validation','split','.json','isDirectory','169vfkKFj','.rabetbase','11oiqYGB','1116439Xkinmk','3607413XkVbjZ','flagMissing','join','appPagesDir','5447750dGIicP','Page\x20directory\x20not\x20found:\x20','2qgddPT','3794420ZCejKg','10276888fLOXku','20WJWTfQ','localeCompare','Unsupported\x20file\x20in\x20page\x20directory:\x20','F_OK'];a257_0xa382=function(){return _0x45767b;};return a257_0xa382();}import{dirname,join,relative,resolve,sep}from'node:path';function a257_0x1da1(_0x2a4c52,_0x592b4e){_0x2a4c52=_0x2a4c52-0x153;const _0xa382ec=a257_0xa382();let _0x1da166=_0xa382ec[_0x2a4c52];return _0x1da166;}import{CliErrors}from'../../errors.js';export function loadPageProjectConfig(_0x2fcce1,_0x5c239a=process['cwd']()){const _0x25c5be=a257_0x1da1,_0x2c3b8b=resolve(_0x5c239a),_0x43f8ab=join(_0x2c3b8b,_0x25c5be(0x159),_0x25c5be(0x172));return{'projectRoot':_0x2c3b8b,'pagesBaseDir':_0x43f8ab,'appPagesDir':join(_0x43f8ab,_0x2fcce1),'lockFilePath':join(_0x2c3b8b,_0x25c5be(0x159),'page.lock.json')};}export function buildPageFileName(_0xf6bdd,_0x24b74c){const _0x53746a=a257_0x1da1;return _0xf6bdd+'-'+_0x24b74c[_0x53746a(0x153)]()+_0x53746a(0x156);}export function resolvePageFilePath(_0x4d16a0,_0x523ded,_0x33fe45){const _0x146cb3=a257_0x1da1;return join(_0x4d16a0[_0x146cb3(0x15f)],buildPageFileName(_0x523ded,_0x33fe45));}export async function ensureParentDirectory(_0x56c61a){await mkdir(dirname(_0x56c61a),{'recursive':!![]});}export async function fileExists(_0x38b5f4){const _0x3631f9=a257_0x1da1;try{return await access(_0x38b5f4,constants[_0x3631f9(0x168)]),!![];}catch{return![];}}export async function readCustomPageDirectory(_0x21d7f9){const _0x318c4d=a257_0x1da1,_0x2a3f56=_0x21d7f9[_0x318c4d(0x16e)]();if(!_0x2a3f56)throw CliErrors[_0x318c4d(0x15d)]('page-dir');const _0x5ce8a8=resolve(_0x2a3f56);let _0x23a180;try{_0x23a180=await lstat(_0x5ce8a8);}catch{throw CliErrors[_0x318c4d(0x154)](_0x318c4d(0x161)+_0x2a3f56);}if(!_0x23a180[_0x318c4d(0x157)]())throw CliErrors[_0x318c4d(0x154)](_0x318c4d(0x171)+_0x2a3f56);const _0x5eee34={};return await readDirectory(_0x5ce8a8,_0x5ce8a8,_0x5eee34),_0x5eee34;}async function readDirectory(_0x504c3f,_0x5bc438,_0x2de48f){const _0x3737ba=a257_0x1da1,_0xb4d679=await readdir(_0x5bc438,{'withFileTypes':!![]});for(const _0x4525a0 of _0xb4d679[_0x3737ba(0x170)]((_0x2ff6ba,_0x3f1a98)=>_0x2ff6ba[_0x3737ba(0x169)][_0x3737ba(0x166)](_0x3f1a98['name']))){const _0x35eb47=join(_0x5bc438,_0x4525a0[_0x3737ba(0x169)]);if(_0x4525a0[_0x3737ba(0x157)]()){await readDirectory(_0x504c3f,_0x35eb47,_0x2de48f);continue;}if(!_0x4525a0[_0x3737ba(0x16b)]())throw CliErrors[_0x3737ba(0x154)](_0x3737ba(0x167)+_0x35eb47);_0x2de48f[relative(_0x504c3f,_0x35eb47)[_0x3737ba(0x155)](sep)[_0x3737ba(0x15e)]('/')]=await readFile(_0x35eb47,'utf8');}}
@@ -1 +1 @@
1
- (function(_0x26ddbb,_0xc1a51d){const _0x7ffde0=a259_0x4084,_0x46ad25=_0x26ddbb();while(!![]){try{const _0x411197=parseInt(_0x7ffde0(0x1d3))/0x1+-parseInt(_0x7ffde0(0x1c8))/0x2*(-parseInt(_0x7ffde0(0x1cf))/0x3)+-parseInt(_0x7ffde0(0x1d2))/0x4*(-parseInt(_0x7ffde0(0x1ce))/0x5)+-parseInt(_0x7ffde0(0x1d0))/0x6+parseInt(_0x7ffde0(0x1d1))/0x7+-parseInt(_0x7ffde0(0x1c9))/0x8*(-parseInt(_0x7ffde0(0x1d6))/0x9)+parseInt(_0x7ffde0(0x1d5))/0xa*(-parseInt(_0x7ffde0(0x1cc))/0xb);if(_0x411197===_0xc1a51d)break;else _0x46ad25['push'](_0x46ad25['shift']());}catch(_0x4e52b9){_0x46ad25['push'](_0x46ad25['shift']());}}}(a259_0x43eb,0x9c470));import a259_0x577c43 from'node:crypto';import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x59dc5b){const _0x49dc65=a259_0x4084;return JSON[_0x49dc65(0x1d4)](JSON['parse'](_0x59dc5b),null,0x2)+'\x0a';}function a259_0x4084(_0x1fc126,_0xb01e2f){_0x1fc126=_0x1fc126-0x1c7;const _0x43eb92=a259_0x43eb();let _0x408445=_0x43eb92[_0x1fc126];return _0x408445;}export function computePageContentHash(_0x3e29f8){const _0x46f036=a259_0x4084;return a259_0x577c43['createHash'](_0x46f036(0x1cd))[_0x46f036(0x1d7)](_0x3e29f8)[_0x46f036(0x1c7)](_0x46f036(0x1ca));}export function computeSerializedSchemaHash(_0x15812b){return computePageContentHash(serializePageSchemaForFile(_0x15812b));}function a259_0x43eb(){const _0x566b75=['hex','utf8','11010857gwQAyX','md5','515jQkWHw','449238OvedhX','2519274kVNECb','4364262WjYown','1168UhZbyX','170543AqlDIj','stringify','20mQJzvV','27207wqpYvk','update','digest','16gknvIa','2752yhEcGm'];a259_0x43eb=function(){return _0x566b75;};return a259_0x43eb();}export async function computePageFileHash(_0x2c20a){const _0x186c48=a259_0x4084,_0x5786e5=await readFile(_0x2c20a,_0x186c48(0x1cb));return computePageContentHash(_0x5786e5);}
1
+ (function(_0x53e121,_0x1e2bb3){const _0x1a8e44=a258_0x259b,_0x2c3044=_0x53e121();while(!![]){try{const _0x47d9a5=parseInt(_0x1a8e44(0x112))/0x1*(parseInt(_0x1a8e44(0x113))/0x2)+-parseInt(_0x1a8e44(0x10f))/0x3+parseInt(_0x1a8e44(0x11d))/0x4*(parseInt(_0x1a8e44(0x11b))/0x5)+-parseInt(_0x1a8e44(0x117))/0x6*(-parseInt(_0x1a8e44(0x110))/0x7)+-parseInt(_0x1a8e44(0x11a))/0x8*(-parseInt(_0x1a8e44(0x119))/0x9)+parseInt(_0x1a8e44(0x11c))/0xa*(parseInt(_0x1a8e44(0x115))/0xb)+-parseInt(_0x1a8e44(0x10e))/0xc;if(_0x47d9a5===_0x1e2bb3)break;else _0x2c3044['push'](_0x2c3044['shift']());}catch(_0x5dbbeb){_0x2c3044['push'](_0x2c3044['shift']());}}}(a258_0x2beb,0x9885a));function a258_0x259b(_0xba5d59,_0x3878a8){_0xba5d59=_0xba5d59-0x10d;const _0x2bebb0=a258_0x2beb();let _0x259b4b=_0x2bebb0[_0xba5d59];return _0x259b4b;}import a258_0x4f8581 from'node:crypto';import{readFile}from'node:fs/promises';function a258_0x2beb(){const _0x34389c=['update','124597VsyDnn','parse','5028IRoPss','createHash','85311txzRtv','232WzTbjf','2452910PzMXMr','960KIyPUs','4LcoOzE','utf8','13088688evNyPT','2859783KVPNMn','2653paRVce','stringify','8OeYXgZ','124562VYMdvB'];a258_0x2beb=function(){return _0x34389c;};return a258_0x2beb();}export function serializePageSchemaForFile(_0x41fd7a){const _0x349ed6=a258_0x259b;return JSON[_0x349ed6(0x111)](JSON[_0x349ed6(0x116)](_0x41fd7a),null,0x2)+'\x0a';}export function computePageContentHash(_0x269a21){const _0x3beccb=a258_0x259b;return a258_0x4f8581[_0x3beccb(0x118)]('md5')[_0x3beccb(0x114)](_0x269a21)['digest']('hex');}export function computeSerializedSchemaHash(_0x290fd9){return computePageContentHash(serializePageSchemaForFile(_0x290fd9));}export async function computePageFileHash(_0x33a954){const _0x5f3582=a258_0x259b,_0x2022aa=await readFile(_0x33a954,_0x5f3582(0x10d));return computePageContentHash(_0x2022aa);}
@@ -1 +1 @@
1
- function a260_0x506a(){const _0x1de193=['4310586eVTGZv','1wgeMrb','5415730wePQNy','stringify','code','32361530JWukUD','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','4731930YCytUx','1881934YOLFVD','236hSBfKW','45102cYncLb','object','ENOENT','6454861myPPey','pages','apps','lastSync','8lXZrPD','utf8'];a260_0x506a=function(){return _0x1de193;};return a260_0x506a();}(function(_0x1fe069,_0x221953){const _0x1e8a87=a260_0x3de0,_0x36ba1a=_0x1fe069();while(!![]){try{const _0x27dd5d=parseInt(_0x1e8a87(0x188))/0x1*(-parseInt(_0x1e8a87(0x18f))/0x2)+-parseInt(_0x1e8a87(0x191))/0x3*(parseInt(_0x1e8a87(0x190))/0x4)+-parseInt(_0x1e8a87(0x189))/0x5+-parseInt(_0x1e8a87(0x18e))/0x6+-parseInt(_0x1e8a87(0x194))/0x7*(-parseInt(_0x1e8a87(0x185))/0x8)+parseInt(_0x1e8a87(0x187))/0x9+parseInt(_0x1e8a87(0x18c))/0xa;if(_0x27dd5d===_0x221953)break;else _0x36ba1a['push'](_0x36ba1a['shift']());}catch(_0x295170){_0x36ba1a['push'](_0x36ba1a['shift']());}}}(a260_0x506a,0xe4df0));function a260_0x3de0(_0x5e16f5,_0x74ac90){_0x5e16f5=_0x5e16f5-0x185;const _0x506ac7=a260_0x506a();let _0x3de04c=_0x506ac7[_0x5e16f5];return _0x3de04c;}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x159c98,_0x350de4){const _0x2eea8c=a260_0x3de0,_0x362cb6={'apps':_0x159c98[_0x2eea8c(0x196)]&&typeof _0x159c98[_0x2eea8c(0x196)]===_0x2eea8c(0x192)?_0x159c98[_0x2eea8c(0x196)]:{}};let _0x24616f=_0x362cb6['apps'][_0x350de4];if(!_0x24616f)return _0x24616f={'lastSync':'','pages':{}},_0x362cb6[_0x2eea8c(0x196)][_0x350de4]=_0x24616f,{'lockData':_0x362cb6,'appLock':_0x24616f};return!_0x24616f['lastSync']&&(_0x24616f[_0x2eea8c(0x197)]=''),(!_0x24616f[_0x2eea8c(0x195)]||typeof _0x24616f[_0x2eea8c(0x195)]!==_0x2eea8c(0x192))&&(_0x24616f['pages']={}),{'lockData':_0x362cb6,'appLock':_0x24616f};}export async function readPageLockFile(_0x5c1775){const _0x7f104e=a260_0x3de0;try{const _0x381d61=await readFile(_0x5c1775,'utf8'),_0x53bad2=JSON['parse'](_0x381d61);return{'apps':_0x53bad2[_0x7f104e(0x196)]&&typeof _0x53bad2['apps']===_0x7f104e(0x192)?_0x53bad2[_0x7f104e(0x196)]:{}};}catch(_0x17b7a8){if(_0x17b7a8[_0x7f104e(0x18b)]===_0x7f104e(0x193))return null;throw new Error(_0x7f104e(0x18d)+String(_0x17b7a8));}}export async function writePageLockFile(_0x56acbc,_0x25b0f6){const _0x397d01=a260_0x3de0;await mkdir(dirname(_0x56acbc),{'recursive':!![]}),await writeFile(_0x56acbc,JSON[_0x397d01(0x18a)](_0x25b0f6,null,0x2),_0x397d01(0x186));}
1
+ (function(_0xc517b9,_0x3fa4a8){const _0x501bbf=a259_0xaf79,_0xb99051=_0xc517b9();while(!![]){try{const _0x1d6dea=parseInt(_0x501bbf(0x185))/0x1*(-parseInt(_0x501bbf(0x18c))/0x2)+parseInt(_0x501bbf(0x188))/0x3+parseInt(_0x501bbf(0x18b))/0x4+-parseInt(_0x501bbf(0x17e))/0x5*(-parseInt(_0x501bbf(0x183))/0x6)+-parseInt(_0x501bbf(0x186))/0x7+parseInt(_0x501bbf(0x184))/0x8+parseInt(_0x501bbf(0x18e))/0x9;if(_0x1d6dea===_0x3fa4a8)break;else _0xb99051['push'](_0xb99051['shift']());}catch(_0x2182e2){_0xb99051['push'](_0xb99051['shift']());}}}(a259_0x4c7b,0x4f872));import{mkdir,readFile,writeFile}from'node:fs/promises';function a259_0x4c7b(){const _0x5a0c5c=['29751OTecTu','2139844PvKDhI','lastSync','128346vbMuqX','code','pages','678300FnorUM','16ONbuPo','object','4251726YoLgjc','apps','110PqpZcz','parse','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','ENOENT','utf8','35922NdOEEP','423688GWcaNY'];a259_0x4c7b=function(){return _0x5a0c5c;};return a259_0x4c7b();}import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x13dafe,_0x18cd03){const _0xa01d90=a259_0xaf79,_0x2e2877={'apps':_0x13dafe[_0xa01d90(0x18f)]&&typeof _0x13dafe['apps']==='object'?_0x13dafe[_0xa01d90(0x18f)]:{}};let _0x5b0bdc=_0x2e2877[_0xa01d90(0x18f)][_0x18cd03];if(!_0x5b0bdc)return _0x5b0bdc={'lastSync':'','pages':{}},_0x2e2877[_0xa01d90(0x18f)][_0x18cd03]=_0x5b0bdc,{'lockData':_0x2e2877,'appLock':_0x5b0bdc};return!_0x5b0bdc[_0xa01d90(0x187)]&&(_0x5b0bdc[_0xa01d90(0x187)]=''),(!_0x5b0bdc[_0xa01d90(0x18a)]||typeof _0x5b0bdc[_0xa01d90(0x18a)]!=='object')&&(_0x5b0bdc[_0xa01d90(0x18a)]={}),{'lockData':_0x2e2877,'appLock':_0x5b0bdc};}function a259_0xaf79(_0x1132de,_0x58cde0){_0x1132de=_0x1132de-0x17e;const _0x4c7bf0=a259_0x4c7b();let _0xaf79d0=_0x4c7bf0[_0x1132de];return _0xaf79d0;}export async function readPageLockFile(_0xc7973){const _0x438225=a259_0xaf79;try{const _0x3afa85=await readFile(_0xc7973,_0x438225(0x182)),_0x3105cd=JSON[_0x438225(0x17f)](_0x3afa85);return{'apps':_0x3105cd['apps']&&typeof _0x3105cd[_0x438225(0x18f)]===_0x438225(0x18d)?_0x3105cd[_0x438225(0x18f)]:{}};}catch(_0x15f65d){if(_0x15f65d[_0x438225(0x189)]===_0x438225(0x181))return null;throw new Error(_0x438225(0x180)+String(_0x15f65d));}}export async function writePageLockFile(_0x4f12ac,_0x4cc0c1){const _0x3a4223=a259_0xaf79;await mkdir(dirname(_0x4f12ac),{'recursive':!![]}),await writeFile(_0x4f12ac,JSON['stringify'](_0x4cc0c1,null,0x2),_0x3a4223(0x182));}
@@ -1 +1 @@
1
- (function(_0x2c9476,_0x15b34c){const _0x19a096=a262_0x4135,_0x5d74fc=_0x2c9476();while(!![]){try{const _0x25923c=parseInt(_0x19a096(0x121))/0x1*(-parseInt(_0x19a096(0x14b))/0x2)+-parseInt(_0x19a096(0x11b))/0x3*(-parseInt(_0x19a096(0x147))/0x4)+-parseInt(_0x19a096(0x149))/0x5+-parseInt(_0x19a096(0x12c))/0x6*(parseInt(_0x19a096(0x137))/0x7)+-parseInt(_0x19a096(0x13d))/0x8*(-parseInt(_0x19a096(0x11f))/0x9)+parseInt(_0x19a096(0x115))/0xa+-parseInt(_0x19a096(0x127))/0xb;if(_0x25923c===_0x15b34c)break;else _0x5d74fc['push'](_0x5d74fc['shift']());}catch(_0x56d51b){_0x5d74fc['push'](_0x5d74fc['shift']());}}}(a262_0x57c1,0xcbd27));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x599de6,_0x16e1ab){const _0x137cc3=a262_0x4135,_0x10bc00=[],_0x4a9f29=normalizeSqlForStaticAnalysis(_0x599de6),_0x47c8d3=(_0x4a9f29[_0x137cc3(0x143)]?[]:extractJoinFacts(_0x4a9f29[_0x137cc3(0x131)]))[_0x137cc3(0x10e)](_0x4a2f2e=>{const _0x4d3717=_0x137cc3;if(_0x4a2f2e[_0x4d3717(0x13f)]||_0x4a2f2e['columns']['length']===0x0)return _0x10bc00[_0x4d3717(0x13b)]({'code':_0x4d3717(0x130),'table':_0x4a2f2e['table'],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'reason':_0x4a2f2e[_0x4d3717(0x123)]??_0x4d3717(0x11c)}),{'table':_0x4a2f2e['table'],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'status':_0x4d3717(0x12a)};const _0x377e69=resolveTableMetadata(_0x16e1ab,_0x4a2f2e[_0x4d3717(0x118)]),_0x530648=(_0x377e69?.[_0x4d3717(0x126)]??[])[_0x4d3717(0x10e)](_0x1ddab3=>({'index':_0x1ddab3,'matchedPrefix':findEqualityPrefix(_0x1ddab3[_0x4d3717(0x12f)],_0x4a2f2e[_0x4d3717(0x12f)])}))[_0x4d3717(0x11a)](_0x3f1b27=>_0x3f1b27['matchedPrefix'][_0x4d3717(0x119)]>0x0),_0x270c0=_0x530648['reduce']((_0x3202ea,_0x5b7e25)=>!_0x3202ea||_0x5b7e25[_0x4d3717(0x138)][_0x4d3717(0x119)]>_0x3202ea[_0x4d3717(0x138)][_0x4d3717(0x119)]?_0x5b7e25:_0x3202ea,_0x530648[0x0]);if(_0x270c0)return{'table':_0x4a2f2e['table'],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'status':'covered','matchedIndex':{..._0x270c0[_0x4d3717(0x136)],'matchedPrefix':_0x270c0['matchedPrefix']}};const _0x1973d9=_0x377e69?.[_0x4d3717(0x126)][_0x4d3717(0x11a)](_0x3f1be6=>_0x3f1be6[_0x4d3717(0x12f)][_0x4d3717(0x120)](_0x34d83b=>_0x4a2f2e[_0x4d3717(0x12f)][_0x4d3717(0x120)](_0x539bcf=>columnNamesMatch(_0x34d83b,_0x539bcf))))??[];if(_0x1973d9[_0x4d3717(0x119)]>0x0)return _0x10bc00['push']({'code':_0x4d3717(0x152),'table':_0x4a2f2e['table'],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e['columns'],'reason':'Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.'}),{'table':_0x4a2f2e[_0x4d3717(0x118)],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'status':_0x4d3717(0x145),'candidateIndexes':_0x1973d9};if(_0x377e69&&_0x377e69['metadataAvailable']!==![]&&_0x377e69[_0x4d3717(0x126)][_0x4d3717(0x119)]>0x0&&_0x4a2f2e[_0x4d3717(0x12f)][_0x4d3717(0x119)]>0x0)return _0x10bc00[_0x4d3717(0x13b)]({'code':_0x4d3717(0x112),'table':_0x4a2f2e[_0x4d3717(0x118)],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'reason':_0x4d3717(0x12d)}),{'table':_0x4a2f2e[_0x4d3717(0x118)],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'status':_0x4d3717(0x145)};return _0x10bc00[_0x4d3717(0x13b)]({'code':'INDEX_METADATA_UNAVAILABLE','table':_0x4a2f2e[_0x4d3717(0x118)],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e[_0x4d3717(0x12f)],'reason':_0x377e69?_0x4d3717(0x135):_0x4d3717(0x157)}),{'table':_0x4a2f2e[_0x4d3717(0x118)],'alias':_0x4a2f2e[_0x4d3717(0x154)],'columns':_0x4a2f2e['columns'],'status':_0x4d3717(0x12a)};});return{'checked':_0x47c8d3[_0x137cc3(0x119)]>0x0,'joins':_0x47c8d3,'warnings':_0x10bc00};}function extractJoinFacts(_0x56ccd4){const _0x47983b=a262_0x4135,_0x50ee37=maskNestedQueries(stripSqlNoise(_0x56ccd4)),_0xc9b745=maskQuotedIdentifiers(_0x50ee37),_0xb73ee5=[],_0x252cb7=new Set(),_0x15756f=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x1188ca of _0x50ee37[_0x47983b(0x10a)](_0x15756f)){const _0x27233b=_0x1188ca[_0x47983b(0x136)]??0x0,_0x5d02fe=_0x1188ca[0x0][_0x47983b(0x125)](/\bJOIN\b/i),_0x28e098=_0x27233b+Math[_0x47983b(0x10d)](0x0,_0x5d02fe);if(!/^JOIN\b/i[_0x47983b(0x13a)](_0xc9b745[_0x47983b(0x156)](_0x28e098)))continue;_0x252cb7[_0x47983b(0x140)](_0x28e098);const _0x1ea0a5=normalizeIdentifier(_0x1188ca[0x1]||_0x47983b(0x158)),_0x50a985=normalizeIdentifier(_0x1188ca[0x2]??''),_0x4344ca=normalizeIdentifier(_0x1188ca[0x3]||_0x50a985[_0x47983b(0x146)]('.')['at'](-0x1)||_0x50a985),_0x5ce050=[],_0x57e0e5=_0x50a985==='__sq__';let _0xc3cc6a=_0x1ea0a5===_0x47983b(0x10c)||_0x1ea0a5===_0x47983b(0x155)||_0x57e0e5,_0x54b56d=_0xc3cc6a?_0x57e0e5?_0x47983b(0x111):_0x1ea0a5[_0x47983b(0x144)]()+_0x47983b(0x11d):undefined;const _0x20c969=stripOuterParentheses(_0x1188ca[0x4]??''),_0x188edf=_0x20c969[_0x47983b(0x142)](MYBATIS_DYNAMIC_START_MARKER)||_0x20c969[_0x47983b(0x142)](MYBATIS_DYNAMIC_END_MARKER),_0x460bbd=_0x20c969[_0x47983b(0x142)](MYBATIS_INCLUDE_MARKER);_0x188edf&&(_0xc3cc6a=!![],_0x54b56d??=_0x47983b(0x114));_0x460bbd&&(_0xc3cc6a=!![],_0x54b56d??=_0x47983b(0x10b));const _0x4e8258=_0x20c969[_0x47983b(0x117)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x47983b(0x117)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x47983b(0x117)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x4e8258,'OR')&&(_0xc3cc6a=!![],_0x54b56d??=_0x47983b(0x148));for(const _0x5e6d17 of splitTopLevelAnd(_0x4e8258)){const _0x3fe3aa=stripOuterParentheses(_0x5e6d17);if(hasTopLevelKeyword(_0x3fe3aa,'OR')){_0xc3cc6a=!![],_0x54b56d??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.';continue;}const _0x30f211=splitEquality(_0x3fe3aa);if(!_0x30f211){containsColumnReference(_0x5e6d17,_0x4344ca)&&(_0xc3cc6a=!![]);continue;}const _0x480e66=parseDirectColumnReference(_0x30f211[0x0],_0x4344ca),_0x552fd0=parseDirectColumnReference(_0x30f211[0x1],_0x4344ca),_0x53a6b9=containsColumnReference(_0x30f211[0x0],_0x4344ca),_0x46ac5a=containsColumnReference(_0x30f211[0x1],_0x4344ca),_0x3a9a6d=_0x480e66&&!_0x46ac5a?_0x480e66:_0x552fd0&&!_0x53a6b9?_0x552fd0:null;if(_0x3a9a6d&&!_0x5ce050[_0x47983b(0x142)](_0x3a9a6d))_0x5ce050['push'](_0x3a9a6d);else!_0x3a9a6d&&containsColumnReference(_0x5e6d17,_0x4344ca)&&(_0xc3cc6a=!![]);}_0xb73ee5[_0x47983b(0x13b)]({'table':_0x50a985,'alias':_0x4344ca,'columns':_0x5ce050,'unsupportedPredicate':_0xc3cc6a,'unsupportedReason':_0x54b56d,'containsUnresolvedInclude':_0x460bbd,'position':_0x28e098});}for(const _0x42b3f0 of _0xc9b745['matchAll'](/\bJOIN\b/gi)){const _0x39c784=_0x42b3f0['index']??0x0;if(_0x252cb7[_0x47983b(0x113)](_0x39c784))continue;const _0x4fc925=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x47983b(0x14d)](_0x50ee37['slice'](_0x39c784+_0x42b3f0[0x0][_0x47983b(0x119)])),_0x91fa61=normalizeIdentifier(_0x4fc925?.[0x1]||_0x47983b(0x116)),_0x3bf05d=normalizeIdentifier(_0x4fc925?.[0x2]||''),_0x42b5e1=isSqlClauseKeyword(_0x3bf05d)?_0x91fa61[_0x47983b(0x146)]('.')['at'](-0x1)||_0x91fa61:_0x3bf05d||_0x91fa61[_0x47983b(0x146)]('.')['at'](-0x1)||_0x91fa61;_0xb73ee5[_0x47983b(0x13b)]({'table':_0x91fa61,'alias':_0x42b5e1,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x47983b(0x12b),'position':_0x39c784});}const _0xcc6697=_0xc9b745['indexOf'](MYBATIS_INCLUDE_MARKER);return _0xcc6697>=0x0&&!_0xb73ee5[_0x47983b(0x120)](_0xd4f8e1=>_0xd4f8e1[_0x47983b(0x124)])&&_0xb73ee5[_0x47983b(0x13b)]({'table':_0x47983b(0x116),'alias':_0x47983b(0x116),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x47983b(0x14e),'containsUnresolvedInclude':!![],'position':_0xcc6697}),_0xb73ee5[_0x47983b(0x141)]((_0x188408,_0x39e04f)=>_0x188408[_0x47983b(0x133)]-_0x39e04f[_0x47983b(0x133)]);}function stripSqlNoise(_0x1bbf34){const _0x23be97=a262_0x4135,_0x102c87=Array[_0x23be97(0x139)](_0x1bbf34),_0x2d5dfa=(_0x22733b,_0x3d8c1c)=>{for(let _0x535679=_0x22733b;_0x535679<_0x3d8c1c;_0x535679+=0x1){_0x102c87[_0x535679]!=='\x0a'&&_0x102c87[_0x535679]!=='\x0d'&&(_0x102c87[_0x535679]='\x20');}};for(let _0x344035=0x0;_0x344035<_0x102c87['length'];_0x344035+=0x1){const _0x250281=_0x102c87[_0x344035],_0x5ae30e=_0x102c87[_0x344035+0x1];if(_0x250281==='\x27'||_0x250281==='\x22'||_0x250281==='`'){const _0x2b425=_0x250281,_0x2bcefc=_0x344035;_0x344035+=0x1;while(_0x344035<_0x102c87['length']){if(_0x102c87[_0x344035]==='\x5c'&&_0x344035+0x1<_0x102c87[_0x23be97(0x119)]){_0x344035+=0x2;continue;}if(_0x102c87[_0x344035]!==_0x2b425){_0x344035+=0x1;continue;}if(_0x102c87[_0x344035+0x1]===_0x2b425){_0x344035+=0x2;continue;}break;}if(_0x2b425==='\x27')_0x2d5dfa(_0x2bcefc,Math['min'](_0x344035+0x1,_0x102c87[_0x23be97(0x119)]));continue;}if(_0x250281==='-'&&_0x5ae30e==='-'){const _0x369f06=_0x344035;while(_0x344035<_0x102c87[_0x23be97(0x119)]&&_0x102c87[_0x344035]!=='\x0a')_0x344035+=0x1;_0x2d5dfa(_0x369f06,_0x344035);continue;}if(_0x250281==='/'&&_0x5ae30e==='*'){const _0x3a77a2=_0x344035;_0x344035+=0x2;while(_0x344035<_0x102c87['length']&&!(_0x102c87[_0x344035]==='*'&&_0x102c87[_0x344035+0x1]==='/')){_0x344035+=0x1;}_0x344035=Math[_0x23be97(0x12e)](_0x344035+0x1,_0x102c87['length']-0x1),_0x2d5dfa(_0x3a77a2,_0x344035+0x1);continue;}if(_0x250281==='#'&&_0x5ae30e!=='{'){const _0x3deca0=_0x344035;while(_0x344035<_0x102c87[_0x23be97(0x119)]&&_0x102c87[_0x344035]!=='\x0a')_0x344035+=0x1;_0x2d5dfa(_0x3deca0,_0x344035);continue;}if((_0x250281==='#'||_0x250281==='$')&&_0x5ae30e==='{'){const _0x401e48=_0x344035;_0x344035+=0x2;while(_0x344035<_0x102c87[_0x23be97(0x119)]&&_0x102c87[_0x344035]!=='}')_0x344035+=0x1;_0x2d5dfa(_0x401e48,Math[_0x23be97(0x12e)](_0x344035+0x1,_0x102c87[_0x23be97(0x119)]));}}return _0x102c87[_0x23be97(0x122)]('');}function maskQuotedIdentifiers(_0x3a9926){const _0x312cc9=a262_0x4135,_0x4cee42=Array[_0x312cc9(0x139)](_0x3a9926);for(let _0x21c8fe=0x0;_0x21c8fe<_0x4cee42[_0x312cc9(0x119)];_0x21c8fe+=0x1){const _0x2588fa=_0x4cee42[_0x21c8fe];if(_0x2588fa!=='\x22'&&_0x2588fa!=='`')continue;_0x21c8fe+=0x1;while(_0x21c8fe<_0x4cee42[_0x312cc9(0x119)]){if(_0x4cee42[_0x21c8fe]===_0x2588fa){if(_0x4cee42[_0x21c8fe+0x1]===_0x2588fa){_0x4cee42[_0x21c8fe]='\x20',_0x4cee42[_0x21c8fe+0x1]='\x20',_0x21c8fe+=0x2;continue;}break;}_0x4cee42[_0x21c8fe]='\x20',_0x21c8fe+=0x1;}}return _0x4cee42[_0x312cc9(0x122)]('');}function maskNestedQueries(_0x2736f3){const _0x2cb6c1=a262_0x4135,_0x35a4e2=Array[_0x2cb6c1(0x139)](_0x2736f3);for(let _0x766ca8=0x0;_0x766ca8<_0x35a4e2[_0x2cb6c1(0x119)];_0x766ca8+=0x1){if(_0x35a4e2[_0x766ca8]!=='(')continue;const _0x9408a7=_0x2736f3['slice'](_0x766ca8+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x2cb6c1(0x13a)](_0x9408a7))continue;let _0x477a73=0x1,_0x485ba5=_0x766ca8+0x1;for(;_0x485ba5<_0x35a4e2['length']&&_0x477a73>0x0;_0x485ba5+=0x1){if(_0x35a4e2[_0x485ba5]==='(')_0x477a73+=0x1;if(_0x35a4e2[_0x485ba5]===')')_0x477a73-=0x1;}if(_0x477a73!==0x0)continue;for(let _0x3feb52=_0x766ca8;_0x3feb52<_0x485ba5;_0x3feb52+=0x1){_0x35a4e2[_0x3feb52]='\x20';}const _0x1527e7=_0x2cb6c1(0x132);for(let _0x4df0e9=0x0;_0x4df0e9<_0x1527e7[_0x2cb6c1(0x119)]&&_0x766ca8+_0x4df0e9<_0x485ba5;_0x4df0e9+=0x1){_0x35a4e2[_0x766ca8+_0x4df0e9]=_0x1527e7[_0x4df0e9];}_0x766ca8=_0x485ba5-0x1;}return _0x35a4e2[_0x2cb6c1(0x122)]('');}function splitTopLevelAnd(_0x283e0e){const _0x5b26ac=a262_0x4135,_0x7c6b3f=[];let _0x4d3bc4=0x0,_0x2eab1c=0x0;for(let _0x37a5f7=0x0;_0x37a5f7<_0x283e0e['length'];_0x37a5f7+=0x1){const _0x17d877=_0x283e0e[_0x37a5f7];if(_0x17d877==='(')_0x4d3bc4+=0x1;if(_0x17d877===')')_0x4d3bc4=Math[_0x5b26ac(0x10d)](0x0,_0x4d3bc4-0x1);_0x4d3bc4===0x0&&_0x283e0e[_0x5b26ac(0x156)](_0x37a5f7)['match'](/^AND\b/i)&&(_0x37a5f7===0x0||/\s/[_0x5b26ac(0x13a)](_0x283e0e[_0x37a5f7-0x1]??''))&&(_0x7c6b3f[_0x5b26ac(0x13b)](_0x283e0e[_0x5b26ac(0x156)](_0x2eab1c,_0x37a5f7)[_0x5b26ac(0x151)]()),_0x37a5f7+=0x2,_0x2eab1c=_0x37a5f7+0x1);}const _0x32ce27=_0x283e0e[_0x5b26ac(0x156)](_0x2eab1c)['trim']();if(_0x32ce27)_0x7c6b3f['push'](_0x32ce27);return _0x7c6b3f;}function hasTopLevelKeyword(_0x35cba7,_0x1fee31){const _0x117b3a=a262_0x4135;let _0x19f060=0x0;for(let _0xd57afc=0x0;_0xd57afc<_0x35cba7[_0x117b3a(0x119)];_0xd57afc+=0x1){const _0x2020d4=_0x35cba7[_0xd57afc];if(_0x2020d4==='(')_0x19f060+=0x1;if(_0x2020d4===')')_0x19f060=Math[_0x117b3a(0x10d)](0x0,_0x19f060-0x1);if(_0x19f060!==0x0)continue;const _0x568d37=_0x35cba7['slice'](_0xd57afc,_0xd57afc+_0x1fee31[_0x117b3a(0x119)]),_0x355a22=_0x35cba7[_0xd57afc-0x1]??'\x20',_0x366e76=_0x35cba7[_0xd57afc+_0x1fee31['length']]??'\x20';if(_0x568d37[_0x117b3a(0x144)]()===_0x1fee31['toUpperCase']()&&!/[\w$]/['test'](_0x355a22)&&!/[\w$]/[_0x117b3a(0x13a)](_0x366e76))return!![];}return![];}function splitEquality(_0x1880cd){const _0x2d0a1a=a262_0x4135,_0x451d27=stripOuterParentheses(_0x1880cd);let _0x30cd16=0x0,_0x1f33e9;for(let _0x20b3c9=0x0;_0x20b3c9<_0x451d27[_0x2d0a1a(0x119)];_0x20b3c9+=0x1){const _0x4fa863=_0x451d27[_0x20b3c9];if(_0x4fa863==='(')_0x30cd16+=0x1;if(_0x4fa863===')')_0x30cd16=Math[_0x2d0a1a(0x10d)](0x0,_0x30cd16-0x1);const _0x830a2=_0x451d27[_0x20b3c9-0x1]??'',_0x444266=_0x451d27[_0x20b3c9+0x1]??'';if(_0x4fa863==='='&&_0x30cd16===0x0&&!/[!<>=:]/[_0x2d0a1a(0x13a)](_0x830a2)&&_0x444266!=='='){if(_0x1f33e9!==undefined)return null;_0x1f33e9=_0x20b3c9;}}return _0x1f33e9===undefined?null:[_0x451d27[_0x2d0a1a(0x156)](0x0,_0x1f33e9)[_0x2d0a1a(0x151)](),_0x451d27[_0x2d0a1a(0x156)](_0x1f33e9+0x1)[_0x2d0a1a(0x151)]()];}function parseDirectColumnReference(_0x1697a2,_0x4c1be1){const _0x309621=a262_0x4135,_0x5f183c=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x309621(0x14d)](stripOuterParentheses(_0x1697a2));if(!_0x5f183c)return null;if(normalizeIdentifier(_0x5f183c[0x1]??'')!==normalizeIdentifier(_0x4c1be1))return null;return normalizeIdentifier(_0x5f183c[0x2]??'');}function containsColumnReference(_0x8cdef8,_0xa26be4){const _0xd21aec=a262_0x4135,_0x1be945=_0x8cdef8[_0xd21aec(0x14a)](/[`"]/g,''),_0x2bc746=_0xa26be4[_0xd21aec(0x14a)](/[.*+?^${}()|[\]\\]/g,_0xd21aec(0x110));return new RegExp(_0xd21aec(0x13e)+_0x2bc746+_0xd21aec(0x128),'i')[_0xd21aec(0x13a)](_0x1be945);}function findEqualityPrefix(_0x5b533a,_0xe2d88f){const _0x299806=a262_0x4135,_0xc90845=new Set(_0xe2d88f[_0x299806(0x10e)](normalizeIdentifier)),_0x39cfda=[];for(const _0x5a5a31 of _0x5b533a){if(!_0xc90845[_0x299806(0x113)](normalizeIdentifier(_0x5a5a31)))break;_0x39cfda[_0x299806(0x13b)](_0x5a5a31);}return _0x39cfda;}function a262_0x57c1(){const _0x4ba5c9=['startsWith','63224CfRvhV','(?:^|[^\x5cw$])','unsupportedPredicate','add','sort','includes','error','toUpperCase','warning','split','5680604lIhPMQ','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','2302845VAGHrh','replace','2981626UEPiqR','left','exec','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','toLowerCase','natural','trim','JOIN_INDEX_NOT_USABLE','cross','alias','full','slice','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','INNER','matchAll','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','right','max','map','inner','\x5c$&','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','JOIN_INDEX_MISSING','has','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','10011440nMUZsZ','unknown','replaceAll','table','length','filter','3CfgsVE','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','where','1575gOuiuh','some','1mcdHZM','join','unsupportedReason','containsUnresolvedInclude','search','indexes','8428376BPMzuo','\x5cs*\x5c.\x5cs*[\x5cw$]+','endsWith','unavailable','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','6hNTyoF','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','min','columns','JOIN_PREDICATE_UNSUPPORTED','sql','__sq__','position','tableName','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','index','1763069gusHkh','matchedPrefix','from','test','push'];a262_0x57c1=function(){return _0x4ba5c9;};return a262_0x57c1();}function resolveTableMetadata(_0x5c6c11,_0xbbf50f){const _0xb3a389=a262_0x4135,_0x281865=normalizeIdentifier(_0xbbf50f),_0x1d3c2b=_0x5c6c11[_0xb3a389(0x11a)](_0x4f4612=>normalizeIdentifier(_0x4f4612[_0xb3a389(0x134)])===_0x281865);if(_0x1d3c2b[_0xb3a389(0x119)]===0x1)return _0x1d3c2b[0x0];const _0x30bda9=_0x281865['includes']('.'),_0x49c2f9=_0x281865[_0xb3a389(0x146)]('.')['at'](-0x1),_0x18c31f=_0x5c6c11['filter'](_0x1591d3=>{const _0x4a9d24=_0xb3a389,_0x25ff4d=normalizeIdentifier(_0x1591d3[_0x4a9d24(0x134)]);if(_0x30bda9&&_0x25ff4d[_0x4a9d24(0x142)]('.'))return![];return _0x25ff4d[_0x4a9d24(0x146)]('.')['at'](-0x1)===_0x49c2f9;});return _0x18c31f[_0xb3a389(0x119)]===0x1?_0x18c31f[0x0]:undefined;}function a262_0x4135(_0x22bd85,_0x2682ca){_0x22bd85=_0x22bd85-0x10a;const _0x57c158=a262_0x57c1();let _0x41351c=_0x57c158[_0x22bd85];return _0x41351c;}function columnNamesMatch(_0x4e3f82,_0x3f1436){return normalizeIdentifier(_0x4e3f82)===normalizeIdentifier(_0x3f1436);}function normalizeIdentifier(_0x1bebe4){const _0x53a040=a262_0x4135;return _0x1bebe4[_0x53a040(0x14a)](/[`"]/g,'')[_0x53a040(0x151)]()[_0x53a040(0x14f)]();}function isSqlClauseKeyword(_0x2eae77){const _0x2fe9e8=a262_0x4135;return new Set(['on','using',_0x2fe9e8(0x11e),_0x2fe9e8(0x122),_0x2fe9e8(0x10f),_0x2fe9e8(0x14c),_0x2fe9e8(0x10c),_0x2fe9e8(0x155),_0x2fe9e8(0x153),_0x2fe9e8(0x150)])[_0x2fe9e8(0x113)](_0x2eae77);}function stripOuterParentheses(_0x144580){const _0x59a453=a262_0x4135;let _0x57b573=_0x144580[_0x59a453(0x151)]();while(_0x57b573[_0x59a453(0x13c)]('(')&&_0x57b573[_0x59a453(0x129)](')')){let _0x1fd1b5=0x0,_0x23f7b6=!![];for(let _0x48af64=0x0;_0x48af64<_0x57b573[_0x59a453(0x119)];_0x48af64+=0x1){if(_0x57b573[_0x48af64]==='(')_0x1fd1b5+=0x1;if(_0x57b573[_0x48af64]===')')_0x1fd1b5-=0x1;if(_0x1fd1b5===0x0&&_0x48af64<_0x57b573[_0x59a453(0x119)]-0x1){_0x23f7b6=![];break;}}if(!_0x23f7b6||_0x1fd1b5!==0x0)break;_0x57b573=_0x57b573[_0x59a453(0x156)](0x1,-0x1)[_0x59a453(0x151)]();}return _0x57b573;}
1
+ (function(_0x548205,_0x3552d6){const _0x10cb9b=a261_0x4a76,_0x20e58f=_0x548205();while(!![]){try{const _0x16b144=-parseInt(_0x10cb9b(0xb1))/0x1*(-parseInt(_0x10cb9b(0xdd))/0x2)+parseInt(_0x10cb9b(0xb2))/0x3*(-parseInt(_0x10cb9b(0xb3))/0x4)+-parseInt(_0x10cb9b(0xbd))/0x5+parseInt(_0x10cb9b(0xd8))/0x6*(-parseInt(_0x10cb9b(0xe9))/0x7)+-parseInt(_0x10cb9b(0xe5))/0x8+parseInt(_0x10cb9b(0xf6))/0x9+parseInt(_0x10cb9b(0xe8))/0xa*(parseInt(_0x10cb9b(0xc0))/0xb);if(_0x16b144===_0x3552d6)break;else _0x20e58f['push'](_0x20e58f['shift']());}catch(_0x1c27d5){_0x20e58f['push'](_0x20e58f['shift']());}}}(a261_0x15ff,0xbf076));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0xd1c550,_0x5472b6){const _0x533680=a261_0x4a76,_0x56b6c0=[],_0x2f0b15=normalizeSqlForStaticAnalysis(_0xd1c550),_0x1cb46f=(_0x2f0b15[_0x533680(0xc8)]?[]:extractJoinFacts(_0x2f0b15[_0x533680(0xd9)]))[_0x533680(0xe6)](_0x22cd11=>{const _0x477aee=_0x533680;if(_0x22cd11[_0x477aee(0xf3)]||_0x22cd11['columns']['length']===0x0)return _0x56b6c0[_0x477aee(0xc6)]({'code':_0x477aee(0xda),'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'reason':_0x22cd11['unsupportedReason']??_0x477aee(0xf2)}),{'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'status':_0x477aee(0xc5)};const _0x20f9cf=resolveTableMetadata(_0x5472b6,_0x22cd11[_0x477aee(0xf0)]),_0xd0f57b=(_0x20f9cf?.[_0x477aee(0xe4)]??[])[_0x477aee(0xe6)](_0x21d0b7=>({'index':_0x21d0b7,'matchedPrefix':findEqualityPrefix(_0x21d0b7[_0x477aee(0xe2)],_0x22cd11[_0x477aee(0xe2)])}))[_0x477aee(0xab)](_0x34b6e6=>_0x34b6e6['matchedPrefix'][_0x477aee(0xb4)]>0x0),_0x1589d0=_0xd0f57b[_0x477aee(0xca)]((_0x4efdd9,_0x3a9e38)=>!_0x4efdd9||_0x3a9e38[_0x477aee(0xed)][_0x477aee(0xb4)]>_0x4efdd9['matchedPrefix'][_0x477aee(0xb4)]?_0x3a9e38:_0x4efdd9,_0xd0f57b[0x0]);if(_0x1589d0)return{'table':_0x22cd11['table'],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'status':_0x477aee(0xbe),'matchedIndex':{..._0x1589d0[_0x477aee(0xba)],'matchedPrefix':_0x1589d0['matchedPrefix']}};const _0x102f5a=_0x20f9cf?.[_0x477aee(0xe4)]['filter'](_0x11758b=>_0x11758b[_0x477aee(0xe2)][_0x477aee(0xd2)](_0x2cc6c4=>_0x22cd11[_0x477aee(0xe2)][_0x477aee(0xd2)](_0x977618=>columnNamesMatch(_0x2cc6c4,_0x977618))))??[];if(_0x102f5a[_0x477aee(0xb4)]>0x0)return _0x56b6c0['push']({'code':_0x477aee(0xb8),'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'reason':_0x477aee(0xeb)}),{'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'status':_0x477aee(0xb6),'candidateIndexes':_0x102f5a};if(_0x20f9cf&&_0x20f9cf['metadataAvailable']!==![]&&_0x20f9cf[_0x477aee(0xe4)][_0x477aee(0xb4)]>0x0&&_0x22cd11['columns'][_0x477aee(0xb4)]>0x0)return _0x56b6c0[_0x477aee(0xc6)]({'code':_0x477aee(0xee),'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'reason':_0x477aee(0xc2)}),{'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11['columns'],'status':_0x477aee(0xb6)};return _0x56b6c0[_0x477aee(0xc6)]({'code':_0x477aee(0xbc),'table':_0x22cd11['table'],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11[_0x477aee(0xe2)],'reason':_0x20f9cf?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':_0x477aee(0xd6)}),{'table':_0x22cd11[_0x477aee(0xf0)],'alias':_0x22cd11[_0x477aee(0xae)],'columns':_0x22cd11['columns'],'status':'unavailable'};});return{'checked':_0x1cb46f[_0x533680(0xb4)]>0x0,'joins':_0x1cb46f,'warnings':_0x56b6c0};}function extractJoinFacts(_0x247fd7){const _0x1fedb8=a261_0x4a76,_0x220ed8=maskNestedQueries(stripSqlNoise(_0x247fd7)),_0x126632=maskQuotedIdentifiers(_0x220ed8),_0x20b332=[],_0xc1b4fd=new Set(),_0x1e3816=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x28ba68 of _0x220ed8[_0x1fedb8(0xb9)](_0x1e3816)){const _0x2e75eb=_0x28ba68[_0x1fedb8(0xba)]??0x0,_0x216083=_0x28ba68[0x0][_0x1fedb8(0xcc)](/\bJOIN\b/i),_0x1b1f00=_0x2e75eb+Math[_0x1fedb8(0xef)](0x0,_0x216083);if(!/^JOIN\b/i[_0x1fedb8(0xaa)](_0x126632[_0x1fedb8(0xce)](_0x1b1f00)))continue;_0xc1b4fd[_0x1fedb8(0xdc)](_0x1b1f00);const _0x440c82=normalizeIdentifier(_0x28ba68[0x1]||_0x1fedb8(0xc1)),_0x262e5f=normalizeIdentifier(_0x28ba68[0x2]??''),_0x31f3f1=normalizeIdentifier(_0x28ba68[0x3]||_0x262e5f['split']('.')['at'](-0x1)||_0x262e5f),_0x36baf9=[],_0x3d8815=_0x262e5f===_0x1fedb8(0xd4);let _0x3b7c07=_0x440c82===_0x1fedb8(0xdb)||_0x440c82===_0x1fedb8(0xd3)||_0x3d8815,_0x34dd8b=_0x3b7c07?_0x3d8815?_0x1fedb8(0xd5):_0x440c82[_0x1fedb8(0xc3)]()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x404dd3=stripOuterParentheses(_0x28ba68[0x4]??''),_0x51de41=_0x404dd3[_0x1fedb8(0xd7)](MYBATIS_DYNAMIC_START_MARKER)||_0x404dd3[_0x1fedb8(0xd7)](MYBATIS_DYNAMIC_END_MARKER),_0x35d0a5=_0x404dd3[_0x1fedb8(0xd7)](MYBATIS_INCLUDE_MARKER);_0x51de41&&(_0x3b7c07=!![],_0x34dd8b??=_0x1fedb8(0xe0));_0x35d0a5&&(_0x3b7c07=!![],_0x34dd8b??=_0x1fedb8(0xe1));const _0x27149f=_0x404dd3[_0x1fedb8(0xb5)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x1fedb8(0xb5)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x27149f,'OR')&&(_0x3b7c07=!![],_0x34dd8b??=_0x1fedb8(0xc9));for(const _0x2af7ff of splitTopLevelAnd(_0x27149f)){const _0x5a67ca=stripOuterParentheses(_0x2af7ff);if(hasTopLevelKeyword(_0x5a67ca,'OR')){_0x3b7c07=!![],_0x34dd8b??=_0x1fedb8(0xc9);continue;}const _0x5bf0b1=splitEquality(_0x5a67ca);if(!_0x5bf0b1){containsColumnReference(_0x2af7ff,_0x31f3f1)&&(_0x3b7c07=!![]);continue;}const _0x36c169=parseDirectColumnReference(_0x5bf0b1[0x0],_0x31f3f1),_0x3960eb=parseDirectColumnReference(_0x5bf0b1[0x1],_0x31f3f1),_0x570526=containsColumnReference(_0x5bf0b1[0x0],_0x31f3f1),_0x282183=containsColumnReference(_0x5bf0b1[0x1],_0x31f3f1),_0x52f458=_0x36c169&&!_0x282183?_0x36c169:_0x3960eb&&!_0x570526?_0x3960eb:null;if(_0x52f458&&!_0x36baf9[_0x1fedb8(0xd7)](_0x52f458))_0x36baf9[_0x1fedb8(0xc6)](_0x52f458);else!_0x52f458&&containsColumnReference(_0x2af7ff,_0x31f3f1)&&(_0x3b7c07=!![]);}_0x20b332[_0x1fedb8(0xc6)]({'table':_0x262e5f,'alias':_0x31f3f1,'columns':_0x36baf9,'unsupportedPredicate':_0x3b7c07,'unsupportedReason':_0x34dd8b,'containsUnresolvedInclude':_0x35d0a5,'position':_0x1b1f00});}for(const _0x1327ad of _0x126632['matchAll'](/\bJOIN\b/gi)){const _0x134826=_0x1327ad[_0x1fedb8(0xba)]??0x0;if(_0xc1b4fd[_0x1fedb8(0xe7)](_0x134826))continue;const _0x1e9862=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x220ed8[_0x1fedb8(0xce)](_0x134826+_0x1327ad[0x0]['length'])),_0x1b2bc9=normalizeIdentifier(_0x1e9862?.[0x1]||_0x1fedb8(0xf4)),_0x25a092=normalizeIdentifier(_0x1e9862?.[0x2]||''),_0xb2703c=isSqlClauseKeyword(_0x25a092)?_0x1b2bc9[_0x1fedb8(0xb7)]('.')['at'](-0x1)||_0x1b2bc9:_0x25a092||_0x1b2bc9[_0x1fedb8(0xb7)]('.')['at'](-0x1)||_0x1b2bc9;_0x20b332[_0x1fedb8(0xc6)]({'table':_0x1b2bc9,'alias':_0xb2703c,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x1fedb8(0xbb),'position':_0x134826});}const _0x31f651=_0x126632[_0x1fedb8(0xd1)](MYBATIS_INCLUDE_MARKER);return _0x31f651>=0x0&&!_0x20b332[_0x1fedb8(0xd2)](_0x138b3c=>_0x138b3c[_0x1fedb8(0xf7)])&&_0x20b332[_0x1fedb8(0xc6)]({'table':'unknown','alias':_0x1fedb8(0xf4),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x1fedb8(0xd0),'containsUnresolvedInclude':!![],'position':_0x31f651}),_0x20b332[_0x1fedb8(0xdf)]((_0x36ba2f,_0x398c55)=>_0x36ba2f[_0x1fedb8(0xe3)]-_0x398c55[_0x1fedb8(0xe3)]);}function stripSqlNoise(_0x338fcf){const _0x19efac=a261_0x4a76,_0x9e12f1=Array[_0x19efac(0xcd)](_0x338fcf),_0x34229d=(_0x5271b4,_0x59d5b0)=>{for(let _0x31f174=_0x5271b4;_0x31f174<_0x59d5b0;_0x31f174+=0x1){_0x9e12f1[_0x31f174]!=='\x0a'&&_0x9e12f1[_0x31f174]!=='\x0d'&&(_0x9e12f1[_0x31f174]='\x20');}};for(let _0x3d0613=0x0;_0x3d0613<_0x9e12f1[_0x19efac(0xb4)];_0x3d0613+=0x1){const _0x1714f5=_0x9e12f1[_0x3d0613],_0x3a05a5=_0x9e12f1[_0x3d0613+0x1];if(_0x1714f5==='\x27'||_0x1714f5==='\x22'||_0x1714f5==='`'){const _0x527c54=_0x1714f5,_0x32a780=_0x3d0613;_0x3d0613+=0x1;while(_0x3d0613<_0x9e12f1[_0x19efac(0xb4)]){if(_0x9e12f1[_0x3d0613]==='\x5c'&&_0x3d0613+0x1<_0x9e12f1['length']){_0x3d0613+=0x2;continue;}if(_0x9e12f1[_0x3d0613]!==_0x527c54){_0x3d0613+=0x1;continue;}if(_0x9e12f1[_0x3d0613+0x1]===_0x527c54){_0x3d0613+=0x2;continue;}break;}if(_0x527c54==='\x27')_0x34229d(_0x32a780,Math[_0x19efac(0xde)](_0x3d0613+0x1,_0x9e12f1[_0x19efac(0xb4)]));continue;}if(_0x1714f5==='-'&&_0x3a05a5==='-'){const _0x474992=_0x3d0613;while(_0x3d0613<_0x9e12f1[_0x19efac(0xb4)]&&_0x9e12f1[_0x3d0613]!=='\x0a')_0x3d0613+=0x1;_0x34229d(_0x474992,_0x3d0613);continue;}if(_0x1714f5==='/'&&_0x3a05a5==='*'){const _0x1cede7=_0x3d0613;_0x3d0613+=0x2;while(_0x3d0613<_0x9e12f1[_0x19efac(0xb4)]&&!(_0x9e12f1[_0x3d0613]==='*'&&_0x9e12f1[_0x3d0613+0x1]==='/')){_0x3d0613+=0x1;}_0x3d0613=Math[_0x19efac(0xde)](_0x3d0613+0x1,_0x9e12f1[_0x19efac(0xb4)]-0x1),_0x34229d(_0x1cede7,_0x3d0613+0x1);continue;}if(_0x1714f5==='#'&&_0x3a05a5!=='{'){const _0x2ec301=_0x3d0613;while(_0x3d0613<_0x9e12f1[_0x19efac(0xb4)]&&_0x9e12f1[_0x3d0613]!=='\x0a')_0x3d0613+=0x1;_0x34229d(_0x2ec301,_0x3d0613);continue;}if((_0x1714f5==='#'||_0x1714f5==='$')&&_0x3a05a5==='{'){const _0x3ebf64=_0x3d0613;_0x3d0613+=0x2;while(_0x3d0613<_0x9e12f1[_0x19efac(0xb4)]&&_0x9e12f1[_0x3d0613]!=='}')_0x3d0613+=0x1;_0x34229d(_0x3ebf64,Math[_0x19efac(0xde)](_0x3d0613+0x1,_0x9e12f1[_0x19efac(0xb4)]));}}return _0x9e12f1[_0x19efac(0xf8)]('');}function maskQuotedIdentifiers(_0x1d8a61){const _0x18dcfb=a261_0x4a76,_0x1bd6eb=Array[_0x18dcfb(0xcd)](_0x1d8a61);for(let _0x1d0456=0x0;_0x1d0456<_0x1bd6eb[_0x18dcfb(0xb4)];_0x1d0456+=0x1){const _0x4e4493=_0x1bd6eb[_0x1d0456];if(_0x4e4493!=='\x22'&&_0x4e4493!=='`')continue;_0x1d0456+=0x1;while(_0x1d0456<_0x1bd6eb[_0x18dcfb(0xb4)]){if(_0x1bd6eb[_0x1d0456]===_0x4e4493){if(_0x1bd6eb[_0x1d0456+0x1]===_0x4e4493){_0x1bd6eb[_0x1d0456]='\x20',_0x1bd6eb[_0x1d0456+0x1]='\x20',_0x1d0456+=0x2;continue;}break;}_0x1bd6eb[_0x1d0456]='\x20',_0x1d0456+=0x1;}}return _0x1bd6eb[_0x18dcfb(0xf8)]('');}function maskNestedQueries(_0x1c5662){const _0x4cc2f7=a261_0x4a76,_0x4f0200=Array[_0x4cc2f7(0xcd)](_0x1c5662);for(let _0x58e614=0x0;_0x58e614<_0x4f0200['length'];_0x58e614+=0x1){if(_0x4f0200[_0x58e614]!=='(')continue;const _0x14f2ac=_0x1c5662[_0x4cc2f7(0xce)](_0x58e614+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x4cc2f7(0xaa)](_0x14f2ac))continue;let _0x36d162=0x1,_0x1186b9=_0x58e614+0x1;for(;_0x1186b9<_0x4f0200[_0x4cc2f7(0xb4)]&&_0x36d162>0x0;_0x1186b9+=0x1){if(_0x4f0200[_0x1186b9]==='(')_0x36d162+=0x1;if(_0x4f0200[_0x1186b9]===')')_0x36d162-=0x1;}if(_0x36d162!==0x0)continue;for(let _0x2bc829=_0x58e614;_0x2bc829<_0x1186b9;_0x2bc829+=0x1){_0x4f0200[_0x2bc829]='\x20';}const _0x1a3f47=_0x4cc2f7(0xd4);for(let _0x104fc8=0x0;_0x104fc8<_0x1a3f47[_0x4cc2f7(0xb4)]&&_0x58e614+_0x104fc8<_0x1186b9;_0x104fc8+=0x1){_0x4f0200[_0x58e614+_0x104fc8]=_0x1a3f47[_0x104fc8];}_0x58e614=_0x1186b9-0x1;}return _0x4f0200[_0x4cc2f7(0xf8)]('');}function splitTopLevelAnd(_0x3ebbc5){const _0x1cc55c=a261_0x4a76,_0x186d5d=[];let _0x4a24fc=0x0,_0x215310=0x0;for(let _0x40388b=0x0;_0x40388b<_0x3ebbc5[_0x1cc55c(0xb4)];_0x40388b+=0x1){const _0x3066f5=_0x3ebbc5[_0x40388b];if(_0x3066f5==='(')_0x4a24fc+=0x1;if(_0x3066f5===')')_0x4a24fc=Math[_0x1cc55c(0xef)](0x0,_0x4a24fc-0x1);_0x4a24fc===0x0&&_0x3ebbc5[_0x1cc55c(0xce)](_0x40388b)[_0x1cc55c(0xea)](/^AND\b/i)&&(_0x40388b===0x0||/\s/['test'](_0x3ebbc5[_0x40388b-0x1]??''))&&(_0x186d5d['push'](_0x3ebbc5[_0x1cc55c(0xce)](_0x215310,_0x40388b)[_0x1cc55c(0xf5)]()),_0x40388b+=0x2,_0x215310=_0x40388b+0x1);}const _0x53e98b=_0x3ebbc5['slice'](_0x215310)[_0x1cc55c(0xf5)]();if(_0x53e98b)_0x186d5d[_0x1cc55c(0xc6)](_0x53e98b);return _0x186d5d;}function hasTopLevelKeyword(_0x2c59d4,_0x16df94){const _0x38b64e=a261_0x4a76;let _0x4e118f=0x0;for(let _0x360460=0x0;_0x360460<_0x2c59d4[_0x38b64e(0xb4)];_0x360460+=0x1){const _0x2a64dc=_0x2c59d4[_0x360460];if(_0x2a64dc==='(')_0x4e118f+=0x1;if(_0x2a64dc===')')_0x4e118f=Math[_0x38b64e(0xef)](0x0,_0x4e118f-0x1);if(_0x4e118f!==0x0)continue;const _0x41c918=_0x2c59d4[_0x38b64e(0xce)](_0x360460,_0x360460+_0x16df94[_0x38b64e(0xb4)]),_0x8cdc16=_0x2c59d4[_0x360460-0x1]??'\x20',_0x13299c=_0x2c59d4[_0x360460+_0x16df94['length']]??'\x20';if(_0x41c918[_0x38b64e(0xc3)]()===_0x16df94['toUpperCase']()&&!/[\w$]/['test'](_0x8cdc16)&&!/[\w$]/['test'](_0x13299c))return!![];}return![];}function splitEquality(_0x545756){const _0x43c2df=a261_0x4a76,_0x3b3845=stripOuterParentheses(_0x545756);let _0x525d81=0x0,_0x1249d6;for(let _0x3f1613=0x0;_0x3f1613<_0x3b3845[_0x43c2df(0xb4)];_0x3f1613+=0x1){const _0x4cb538=_0x3b3845[_0x3f1613];if(_0x4cb538==='(')_0x525d81+=0x1;if(_0x4cb538===')')_0x525d81=Math[_0x43c2df(0xef)](0x0,_0x525d81-0x1);const _0xa12fab=_0x3b3845[_0x3f1613-0x1]??'',_0x4197aa=_0x3b3845[_0x3f1613+0x1]??'';if(_0x4cb538==='='&&_0x525d81===0x0&&!/[!<>=:]/[_0x43c2df(0xaa)](_0xa12fab)&&_0x4197aa!=='='){if(_0x1249d6!==undefined)return null;_0x1249d6=_0x3f1613;}}return _0x1249d6===undefined?null:[_0x3b3845['slice'](0x0,_0x1249d6)[_0x43c2df(0xf5)](),_0x3b3845[_0x43c2df(0xce)](_0x1249d6+0x1)[_0x43c2df(0xf5)]()];}function parseDirectColumnReference(_0x4736f4,_0x4a04aa){const _0x3c87ee=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x4736f4));if(!_0x3c87ee)return null;if(normalizeIdentifier(_0x3c87ee[0x1]??'')!==normalizeIdentifier(_0x4a04aa))return null;return normalizeIdentifier(_0x3c87ee[0x2]??'');}function containsColumnReference(_0x2fb7ec,_0x4a5030){const _0x372b27=a261_0x4a76,_0x1566df=_0x2fb7ec['replace'](/[`"]/g,''),_0x451777=_0x4a5030[_0x372b27(0xc4)](/[.*+?^${}()|[\]\\]/g,_0x372b27(0xf9));return new RegExp(_0x372b27(0xec)+_0x451777+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x372b27(0xaa)](_0x1566df);}function findEqualityPrefix(_0x4bbbfd,_0x5eb55a){const _0x29e386=a261_0x4a76,_0x437d0c=new Set(_0x5eb55a[_0x29e386(0xe6)](normalizeIdentifier)),_0x985c78=[];for(const _0x1a8404 of _0x4bbbfd){if(!_0x437d0c[_0x29e386(0xe7)](normalizeIdentifier(_0x1a8404)))break;_0x985c78[_0x29e386(0xc6)](_0x1a8404);}return _0x985c78;}function resolveTableMetadata(_0x5b37c8,_0xd24e60){const _0x2eb125=a261_0x4a76,_0x2101ff=normalizeIdentifier(_0xd24e60),_0xa895e1=_0x5b37c8[_0x2eb125(0xab)](_0x353875=>normalizeIdentifier(_0x353875[_0x2eb125(0xf1)])===_0x2101ff);if(_0xa895e1['length']===0x1)return _0xa895e1[0x0];const _0x3478f0=_0x2101ff[_0x2eb125(0xd7)]('.'),_0x5d52cc=_0x2101ff[_0x2eb125(0xb7)]('.')['at'](-0x1),_0x4dfab9=_0x5b37c8['filter'](_0x245cf0=>{const _0x27250c=_0x2eb125,_0x2eecc9=normalizeIdentifier(_0x245cf0[_0x27250c(0xf1)]);if(_0x3478f0&&_0x2eecc9[_0x27250c(0xd7)]('.'))return![];return _0x2eecc9[_0x27250c(0xb7)]('.')['at'](-0x1)===_0x5d52cc;});return _0x4dfab9[_0x2eb125(0xb4)]===0x1?_0x4dfab9[0x0]:undefined;}function columnNamesMatch(_0xbf0d45,_0x21c107){return normalizeIdentifier(_0xbf0d45)===normalizeIdentifier(_0x21c107);}function normalizeIdentifier(_0x5b9076){const _0x36e2ba=a261_0x4a76;return _0x5b9076[_0x36e2ba(0xc4)](/[`"]/g,'')['trim']()['toLowerCase']();}function a261_0x4a76(_0x3bf921,_0x1495be){_0x3bf921=_0x3bf921-0xaa;const _0x15ff2a=a261_0x15ff();let _0x4a7606=_0x15ff2a[_0x3bf921];return _0x4a7606;}function a261_0x15ff(){const _0x1f5895=['sql','JOIN_PREDICATE_UNSUPPORTED','right','add','70iagiCY','min','sort','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','columns','position','indexes','643360tCtZdR','map','has','15170VFxxeO','195419MqnzCn','match','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','(?:^|[^\x5cw$])','matchedPrefix','JOIN_INDEX_MISSING','max','table','tableName','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','unsupportedPredicate','unknown','trim','13771476DDBOoX','containsUnresolvedInclude','join','\x5c$&','test','filter','where','natural','alias','startsWith','using','34607XetdUW','15564wgFiGw','1036emzHyK','length','replaceAll','warning','split','JOIN_INDEX_NOT_USABLE','matchAll','index','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','INDEX_METADATA_UNAVAILABLE','2299285cBrAne','covered','endsWith','1683HsMxmn','INNER','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','toUpperCase','replace','unavailable','push','inner','error','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','reduce','cross','search','from','slice','left','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','indexOf','some','full','__sq__','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','includes','66relMad'];a261_0x15ff=function(){return _0x1f5895;};return a261_0x15ff();}function isSqlClauseKeyword(_0x7d0035){const _0x105497=a261_0x4a76;return new Set(['on',_0x105497(0xb0),_0x105497(0xac),_0x105497(0xf8),_0x105497(0xc7),_0x105497(0xcf),_0x105497(0xdb),_0x105497(0xd3),_0x105497(0xcb),_0x105497(0xad)])[_0x105497(0xe7)](_0x7d0035);}function stripOuterParentheses(_0x5d4b1b){const _0x45339e=a261_0x4a76;let _0x29fc72=_0x5d4b1b[_0x45339e(0xf5)]();while(_0x29fc72[_0x45339e(0xaf)]('(')&&_0x29fc72[_0x45339e(0xbf)](')')){let _0x12814c=0x0,_0x3df359=!![];for(let _0x32eb7a=0x0;_0x32eb7a<_0x29fc72['length'];_0x32eb7a+=0x1){if(_0x29fc72[_0x32eb7a]==='(')_0x12814c+=0x1;if(_0x29fc72[_0x32eb7a]===')')_0x12814c-=0x1;if(_0x12814c===0x0&&_0x32eb7a<_0x29fc72[_0x45339e(0xb4)]-0x1){_0x3df359=![];break;}}if(!_0x3df359||_0x12814c!==0x0)break;_0x29fc72=_0x29fc72[_0x45339e(0xce)](0x1,-0x1)[_0x45339e(0xf5)]();}return _0x29fc72;}
@@ -1 +1 @@
1
- function a263_0xbce9(){const _0x5dc20d=['77070DoVDkY','809324fQtGpR','2313qrcsSK','5XthYVt','305706TzkLun','270czJocm','sql.lock.json','sql-trash','10ZqbtSc','sql','576009XjcCds','9592uVmzCA','242033QxHVNI','.rabetbase','361299xipAAs'];a263_0xbce9=function(){return _0x5dc20d;};return a263_0xbce9();}const a263_0x3fab4f=a263_0x3d49;(function(_0x1edbbf,_0x4f6aed){const _0x44b46c=a263_0x3d49,_0x2d9545=_0x1edbbf();while(!![]){try{const _0x3d20d1=-parseInt(_0x44b46c(0x7b))/0x1*(parseInt(_0x44b46c(0x78))/0x2)+-parseInt(_0x44b46c(0x77))/0x3+parseInt(_0x44b46c(0x79))/0x4+parseInt(_0x44b46c(0x80))/0x5*(-parseInt(_0x44b46c(0x7c))/0x6)+parseInt(_0x44b46c(0x73))/0x7+parseInt(_0x44b46c(0x74))/0x8*(-parseInt(_0x44b46c(0x7a))/0x9)+-parseInt(_0x44b46c(0x7d))/0xa*(-parseInt(_0x44b46c(0x75))/0xb);if(_0x3d20d1===_0x4f6aed)break;else _0x2d9545['push'](_0x2d9545['shift']());}catch(_0x1d334b){_0x2d9545['push'](_0x2d9545['shift']());}}}(a263_0xbce9,0x25f9a));import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a263_0x3fab4f(0x76),LOCK_FILE_NAME=a263_0x3fab4f(0x7e),TRASH_DIR_NAME=a263_0x3fab4f(0x7f);function a263_0x3d49(_0x2a9164,_0x831428){_0x2a9164=_0x2a9164-0x73;const _0xbce988=a263_0xbce9();let _0x3d4961=_0xbce988[_0x2a9164];return _0x3d4961;}export function loadSqlProjectConfig(_0x2c7e06,_0x497344){const _0x4b9c20=a263_0x3fab4f,_0x37d09b=resolve(_0x497344??findProjectRootDirectory()),_0x27ad30=DOT_DIR+'/sql',_0x2af170=_0x27ad30+'/'+_0x2c7e06;return{'projectRoot':_0x37d09b,'appCode':_0x2c7e06,'sqlWorkspaceRoot':_0x27ad30,'sqlRoot':_0x2af170,'sqlRootDir':resolve(_0x37d09b,DOT_DIR,_0x4b9c20(0x81),_0x2c7e06),'lockFilePath':resolve(_0x37d09b,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x37d09b,DOT_DIR,TRASH_DIR_NAME)};}
1
+ const a262_0x4f8432=a262_0x5dbe;(function(_0x1c9896,_0x4c567d){const _0xecbea=a262_0x5dbe,_0x3e9f12=_0x1c9896();while(!![]){try{const _0x26617d=-parseInt(_0xecbea(0x168))/0x1*(-parseInt(_0xecbea(0x167))/0x2)+-parseInt(_0xecbea(0x163))/0x3*(parseInt(_0xecbea(0x162))/0x4)+parseInt(_0xecbea(0x16e))/0x5+parseInt(_0xecbea(0x16c))/0x6+parseInt(_0xecbea(0x164))/0x7+parseInt(_0xecbea(0x16a))/0x8+-parseInt(_0xecbea(0x169))/0x9;if(_0x26617d===_0x4c567d)break;else _0x3e9f12['push'](_0x3e9f12['shift']());}catch(_0x5c31ac){_0x3e9f12['push'](_0x3e9f12['shift']());}}}(a262_0x4ccf,0x626bd));function a262_0x5dbe(_0x578ef7,_0x5d533b){_0x578ef7=_0x578ef7-0x162;const _0x4ccfa4=a262_0x4ccf();let _0x5dbe2b=_0x4ccfa4[_0x578ef7];return _0x5dbe2b;}import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a262_0x4f8432(0x16d),LOCK_FILE_NAME=a262_0x4f8432(0x16b),TRASH_DIR_NAME=a262_0x4f8432(0x165);export function loadSqlProjectConfig(_0x5ca7cb,_0x175c2f){const _0x498377=a262_0x4f8432,_0x4d5f05=resolve(_0x175c2f??findProjectRootDirectory()),_0x490405=DOT_DIR+'/sql',_0xf758a8=_0x490405+'/'+_0x5ca7cb;return{'projectRoot':_0x4d5f05,'appCode':_0x5ca7cb,'sqlWorkspaceRoot':_0x490405,'sqlRoot':_0xf758a8,'sqlRootDir':resolve(_0x4d5f05,DOT_DIR,_0x498377(0x166),_0x5ca7cb),'lockFilePath':resolve(_0x4d5f05,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x4d5f05,DOT_DIR,TRASH_DIR_NAME)};}function a262_0x4ccf(){const _0x30ce0e=['596bbrMhu','13992NJYJLO','3636913CqKtNB','sql-trash','sql','2IHxxLS','6826CenXvB','7826571IFoEoo','3488128TlCOej','sql.lock.json','3670440iapWJs','.rabetbase','1967735hMXqIh'];a262_0x4ccf=function(){return _0x30ce0e;};return a262_0x4ccf();}
@@ -1 +1 @@
1
- (function(_0x377e97,_0x52de5d){const _0x2646cf=a264_0xf705,_0xbef8c8=_0x377e97();while(!![]){try{const _0x498af8=-parseInt(_0x2646cf(0xc7))/0x1*(-parseInt(_0x2646cf(0xc9))/0x2)+-parseInt(_0x2646cf(0xe7))/0x3*(parseInt(_0x2646cf(0xe2))/0x4)+parseInt(_0x2646cf(0xca))/0x5+-parseInt(_0x2646cf(0xda))/0x6+-parseInt(_0x2646cf(0xe4))/0x7*(-parseInt(_0x2646cf(0xe6))/0x8)+parseInt(_0x2646cf(0xce))/0x9*(-parseInt(_0x2646cf(0xe1))/0xa)+parseInt(_0x2646cf(0xd5))/0xb;if(_0x498af8===_0x52de5d)break;else _0xbef8c8['push'](_0xbef8c8['shift']());}catch(_0x52c4fb){_0xbef8c8['push'](_0xbef8c8['shift']());}}}(a264_0x1167,0x82b2d));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x566e7b){const _0x126cef=a264_0xf705;if(_0x566e7b===_0x126cef(0xd4))return _0x126cef(0xd9);if(_0x566e7b===_0x126cef(0xd3))return _0x126cef(0xdf);return undefined;}function a264_0x1167(){const _0x781734=['983144zhmCSo','11985tePnaj','5PtrccJ','name','25790FeOghr','1127715lbKDpy','test','isFile','mode','81NApubv','code','replace','dbName','isDirectory','.xml','.sql','13656610HErBjb','toLowerCase','ENOENT','slice','sql','268344xMQWpE','sqlCode','dbId','length','path','mybatisXml','filter','270440wOcCow','832IUMyyb','sqlRootDir','7BKNQuw','push'];a264_0x1167=function(){return _0x781734;};return a264_0x1167();}async function scanSqlFilesRecursively(_0x4c5e5b,_0x17d7e7){const _0x45ddeb=a264_0xf705,_0x3b352f=[];try{const _0x30ef41=await readdir(_0x4c5e5b,{'withFileTypes':!![]});for(const _0xb18492 of _0x30ef41){const _0x16781e=join(_0x4c5e5b,_0xb18492['name']);if(_0xb18492[_0x45ddeb(0xd2)]()){_0x3b352f[_0x45ddeb(0xe5)](...await scanSqlFilesRecursively(_0x16781e,_0x17d7e7));continue;}if(!_0xb18492[_0x45ddeb(0xcc)]())continue;const _0x112c65=extname(_0xb18492[_0x45ddeb(0xc8)])[_0x45ddeb(0xd6)](),_0x4deb87=extensionToMode(_0x112c65);if(!_0x4deb87)continue;const _0x435fbe=relative(_0x17d7e7,_0x16781e)[_0x45ddeb(0xd0)](/\\/g,'/'),_0x2d5b21=_0x435fbe['split']('/')[_0x45ddeb(0xe0)](Boolean),_0xc945d6=parseSqlPath(_0x2d5b21,_0xb18492[_0x45ddeb(0xc8)],_0x112c65);if(!_0xc945d6)continue;_0x3b352f['push']({'sqlCode':_0xc945d6['sqlCode'],'sqlName':_0xc945d6['sqlName'],'dbDirectory':_0x2d5b21[0x0],'filePath':_0x16781e,'relativePath':_0x435fbe,'lockKey':_0xc945d6[_0x45ddeb(0xdb)],'mode':_0x4deb87});}}catch(_0x3fce03){if(_0x3fce03[_0x45ddeb(0xcf)]!==_0x45ddeb(0xd7))throw _0x3fce03;}return _0x3b352f;}export async function scanLocalSqlQueries(_0x5798c8){const _0x6f0e7b=a264_0xf705;return scanSqlFilesRecursively(_0x5798c8[_0x6f0e7b(0xe3)],_0x5798c8[_0x6f0e7b(0xe3)]);}export function resolveLocalSqlFilePath(_0x249950,_0x5945b1,_0x124b4a){const _0x4e6b8c=a264_0xf705,_0x3a9210=_0x124b4a?.[_0x4e6b8c(0xde)]||(_0x124b4a?.['sqlName']||_0x124b4a?.['dbName']?buildSqlRelativePath(_0x5945b1,_0x124b4a?.['sqlName'],_0x124b4a?.[_0x4e6b8c(0xd1)],_0x124b4a?.[_0x4e6b8c(0xcd)]||_0x4e6b8c(0xd9),_0x124b4a?.[_0x4e6b8c(0xdc)]):buildDefaultSqlFileName(_0x5945b1,_0x124b4a?.[_0x4e6b8c(0xcd)]||'sql'));return join(_0x249950['sqlRootDir'],_0x3a9210);}function a264_0xf705(_0x5c321d,_0x321305){_0x5c321d=_0x5c321d-0xc7;const _0x116704=a264_0x1167();let _0xf705d6=_0x116704[_0x5c321d];return _0xf705d6;}export async function directoryExists(_0x2528fc){const _0x20d01a=a264_0xf705;try{const _0x3a317d=await stat(_0x2528fc);return _0x3a317d[_0x20d01a(0xd2)]();}catch{return![];}}function parseSqlPath(_0x43bae8,_0x99b827,_0x478c36){const _0x4be3c5=a264_0xf705,_0x4b57eb=_0x99b827[_0x4be3c5(0xd8)](0x0,-_0x478c36[_0x4be3c5(0xdd)]);if(_0x43bae8[_0x4be3c5(0xdd)]<0x2)return null;const _0x71b3d7=_0x4b57eb['indexOf']('_');if(_0x71b3d7<=0x0||_0x71b3d7>=_0x4b57eb[_0x4be3c5(0xdd)]-0x1)return null;const _0x473efb=_0x4b57eb[_0x4be3c5(0xd8)](0x0,_0x71b3d7);if(!isLikelySqlCode(_0x473efb))return null;return{'sqlCode':_0x473efb,'sqlName':_0x4b57eb[_0x4be3c5(0xd8)](_0x71b3d7+0x1)};}function isLikelySqlCode(_0x358b6d){const _0x2073ee=a264_0xf705;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x2073ee(0xcb)](_0x358b6d);}
1
+ (function(_0x587b41,_0x1e5a19){const _0x22ae03=a263_0x396f,_0x4ebc43=_0x587b41();while(!![]){try{const _0x31c67c=parseInt(_0x22ae03(0x1ff))/0x1*(-parseInt(_0x22ae03(0x208))/0x2)+parseInt(_0x22ae03(0x206))/0x3+-parseInt(_0x22ae03(0x20f))/0x4*(parseInt(_0x22ae03(0x20e))/0x5)+parseInt(_0x22ae03(0x203))/0x6+parseInt(_0x22ae03(0x20d))/0x7+parseInt(_0x22ae03(0x205))/0x8*(-parseInt(_0x22ae03(0x1f6))/0x9)+-parseInt(_0x22ae03(0x1fe))/0xa*(-parseInt(_0x22ae03(0x1f4))/0xb);if(_0x31c67c===_0x1e5a19)break;else _0x4ebc43['push'](_0x4ebc43['shift']());}catch(_0x4b9ba3){_0x4ebc43['push'](_0x4ebc43['shift']());}}}(a263_0xa272,0x7596f));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x3812c3){const _0x1c22ba=a263_0x396f;if(_0x3812c3===_0x1c22ba(0x200))return _0x1c22ba(0x1f8);if(_0x3812c3==='.xml')return _0x1c22ba(0x209);return undefined;}async function scanSqlFilesRecursively(_0x516b7d,_0x1b9973){const _0x2e43f8=a263_0x396f,_0x1f63ab=[];try{const _0x54826a=await readdir(_0x516b7d,{'withFileTypes':!![]});for(const _0x3dbe73 of _0x54826a){const _0x5c8c1e=join(_0x516b7d,_0x3dbe73[_0x2e43f8(0x1fd)]);if(_0x3dbe73[_0x2e43f8(0x210)]()){_0x1f63ab[_0x2e43f8(0x20c)](...await scanSqlFilesRecursively(_0x5c8c1e,_0x1b9973));continue;}if(!_0x3dbe73[_0x2e43f8(0x1f5)]())continue;const _0x563734=extname(_0x3dbe73['name'])['toLowerCase'](),_0xa625fb=extensionToMode(_0x563734);if(!_0xa625fb)continue;const _0x556935=relative(_0x1b9973,_0x5c8c1e)[_0x2e43f8(0x211)](/\\/g,'/'),_0x42292f=_0x556935[_0x2e43f8(0x1fa)]('/')['filter'](Boolean),_0x2e6851=parseSqlPath(_0x42292f,_0x3dbe73[_0x2e43f8(0x1fd)],_0x563734);if(!_0x2e6851)continue;_0x1f63ab[_0x2e43f8(0x20c)]({'sqlCode':_0x2e6851['sqlCode'],'sqlName':_0x2e6851[_0x2e43f8(0x1fb)],'dbDirectory':_0x42292f[0x0],'filePath':_0x5c8c1e,'relativePath':_0x556935,'lockKey':_0x2e6851['sqlCode'],'mode':_0xa625fb});}}catch(_0x2b604c){if(_0x2b604c[_0x2e43f8(0x20a)]!==_0x2e43f8(0x204))throw _0x2b604c;}return _0x1f63ab;}function a263_0xa272(){const _0x4da302=['sql','length','split','sqlName','indexOf','name','1490PhqUSs','827143XBirHG','.sql','sqlRootDir','slice','5020596WXnlkf','ENOENT','9872XnamLV','1311717HLhgmK','mode','2RsuGQv','mybatisXml','code','dbId','push','5103287RpomZE','5Irhqds','3223568JlRHno','isDirectory','replace','path','dbName','24002yExTBF','isFile','1557jTXlIf','test'];a263_0xa272=function(){return _0x4da302;};return a263_0xa272();}export async function scanLocalSqlQueries(_0x3a6edb){const _0x38cc16=a263_0x396f;return scanSqlFilesRecursively(_0x3a6edb[_0x38cc16(0x201)],_0x3a6edb[_0x38cc16(0x201)]);}export function resolveLocalSqlFilePath(_0x4dc600,_0x1d4fcd,_0x321b58){const _0x4dd111=a263_0x396f,_0x2f08a2=_0x321b58?.[_0x4dd111(0x212)]||(_0x321b58?.[_0x4dd111(0x1fb)]||_0x321b58?.[_0x4dd111(0x1f3)]?buildSqlRelativePath(_0x1d4fcd,_0x321b58?.[_0x4dd111(0x1fb)],_0x321b58?.[_0x4dd111(0x1f3)],_0x321b58?.[_0x4dd111(0x207)]||'sql',_0x321b58?.[_0x4dd111(0x20b)]):buildDefaultSqlFileName(_0x1d4fcd,_0x321b58?.[_0x4dd111(0x207)]||_0x4dd111(0x1f8)));return join(_0x4dc600[_0x4dd111(0x201)],_0x2f08a2);}function a263_0x396f(_0x547c36,_0x456ec3){_0x547c36=_0x547c36-0x1f3;const _0xa272cb=a263_0xa272();let _0x396f13=_0xa272cb[_0x547c36];return _0x396f13;}export async function directoryExists(_0x5c8f5a){try{const _0x1479cc=await stat(_0x5c8f5a);return _0x1479cc['isDirectory']();}catch{return![];}}function parseSqlPath(_0x409628,_0x5ea826,_0x4bb5ee){const _0x19eee7=a263_0x396f,_0x4ad2f9=_0x5ea826['slice'](0x0,-_0x4bb5ee[_0x19eee7(0x1f9)]);if(_0x409628[_0x19eee7(0x1f9)]<0x2)return null;const _0x142ee2=_0x4ad2f9[_0x19eee7(0x1fc)]('_');if(_0x142ee2<=0x0||_0x142ee2>=_0x4ad2f9[_0x19eee7(0x1f9)]-0x1)return null;const _0x31835c=_0x4ad2f9['slice'](0x0,_0x142ee2);if(!isLikelySqlCode(_0x31835c))return null;return{'sqlCode':_0x31835c,'sqlName':_0x4ad2f9[_0x19eee7(0x202)](_0x142ee2+0x1)};}function isLikelySqlCode(_0x19a934){const _0x3b41f6=a263_0x396f;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x3b41f6(0x1f7)](_0x19a934);}
@@ -1 +1 @@
1
- function a265_0x13aa(){const _0xb2b0d4=['11rJhFtK','1140cnNYiP','788784OvIPMi','2432604TvuEhl','547674wxjGsS','update','48483enkzzk','42642VBYQKd','md5','54XrZuCm','25164ZIITJl','digest','hex','createHash','utf8','12RgIhlP','445045kxgPTj','329ElmqWD'];a265_0x13aa=function(){return _0xb2b0d4;};return a265_0x13aa();}function a265_0x349c(_0xbd09a,_0x553897){_0xbd09a=_0xbd09a-0xf5;const _0x13aab7=a265_0x13aa();let _0x349cbd=_0x13aab7[_0xbd09a];return _0x349cbd;}(function(_0x3c6acf,_0x35c3b6){const _0x4e2d3b=a265_0x349c,_0xd25437=_0x3c6acf();while(!![]){try{const _0x453292=parseInt(_0x4e2d3b(0xfe))/0x1+-parseInt(_0x4e2d3b(0x101))/0x2*(parseInt(_0x4e2d3b(0x103))/0x3)+parseInt(_0x4e2d3b(0xf7))/0x4*(-parseInt(_0x4e2d3b(0xf8))/0x5)+-parseInt(_0x4e2d3b(0x104))/0x6*(-parseInt(_0x4e2d3b(0xf9))/0x7)+-parseInt(_0x4e2d3b(0xfc))/0x8+parseInt(_0x4e2d3b(0x100))/0x9*(parseInt(_0x4e2d3b(0xfb))/0xa)+parseInt(_0x4e2d3b(0xfa))/0xb*(-parseInt(_0x4e2d3b(0xfd))/0xc);if(_0x453292===_0x35c3b6)break;else _0xd25437['push'](_0xd25437['shift']());}catch(_0xb4a06b){_0xd25437['push'](_0xd25437['shift']());}}}(a265_0x13aa,0x63506));import{readFile}from'node:fs/promises';import a265_0x2380f7 from'node:crypto';export function computeSqlContentHash(_0x4ebc69){const _0x2fc530=a265_0x349c;return a265_0x2380f7[_0x2fc530(0xf5)](_0x2fc530(0x102))[_0x2fc530(0xff)](_0x4ebc69)[_0x2fc530(0x105)](_0x2fc530(0x106));}export async function computeSqlFileHash(_0x253348){const _0x3f704d=a265_0x349c,_0x493b78=await readFile(_0x253348,_0x3f704d(0xf6));return computeSqlContentHash(_0x493b78);}
1
+ (function(_0x2f1bfa,_0x6adc53){const _0x5d4f2d=a264_0x1c12,_0x4ec86d=_0x2f1bfa();while(!![]){try{const _0x25fff4=-parseInt(_0x5d4f2d(0x141))/0x1+parseInt(_0x5d4f2d(0x14d))/0x2+-parseInt(_0x5d4f2d(0x143))/0x3*(-parseInt(_0x5d4f2d(0x14c))/0x4)+-parseInt(_0x5d4f2d(0x149))/0x5+-parseInt(_0x5d4f2d(0x14b))/0x6*(parseInt(_0x5d4f2d(0x144))/0x7)+parseInt(_0x5d4f2d(0x14e))/0x8+parseInt(_0x5d4f2d(0x14a))/0x9;if(_0x25fff4===_0x6adc53)break;else _0x4ec86d['push'](_0x4ec86d['shift']());}catch(_0x2dfddf){_0x4ec86d['push'](_0x4ec86d['shift']());}}}(a264_0x259b,0x225a2));function a264_0x1c12(_0x182359,_0x2859bc){_0x182359=_0x182359-0x141;const _0x259b65=a264_0x259b();let _0x1c12ac=_0x259b65[_0x182359];return _0x1c12ac;}import{readFile}from'node:fs/promises';function a264_0x259b(){const _0x47f6c7=['utf8','1194210udRcOi','2061864HPyRIN','180ScIDqn','88172MibfTD','440464LWtNZW','1781920UBBrgh','132315clmJAc','digest','15FZEZWk','63098aBtefK','createHash','md5','hex'];a264_0x259b=function(){return _0x47f6c7;};return a264_0x259b();}import a264_0x3ea12b from'node:crypto';export function computeSqlContentHash(_0x45a1b1){const _0x3422e3=a264_0x1c12;return a264_0x3ea12b[_0x3422e3(0x145)](_0x3422e3(0x146))['update'](_0x45a1b1)[_0x3422e3(0x142)](_0x3422e3(0x147));}export async function computeSqlFileHash(_0x1970ca){const _0x4265db=a264_0x1c12,_0xd97a6d=await readFile(_0x1970ca,_0x4265db(0x148));return computeSqlContentHash(_0xd97a6d);}
@@ -1 +1 @@
1
- (function(_0x356c39,_0x10ef38){const _0x3dbc72=a266_0x39b0,_0x12deed=_0x356c39();while(!![]){try{const _0x31e99f=-parseInt(_0x3dbc72(0xb3))/0x1*(parseInt(_0x3dbc72(0xaa))/0x2)+-parseInt(_0x3dbc72(0xad))/0x3+parseInt(_0x3dbc72(0xb0))/0x4*(-parseInt(_0x3dbc72(0xae))/0x5)+parseInt(_0x3dbc72(0xb9))/0x6*(-parseInt(_0x3dbc72(0xb2))/0x7)+-parseInt(_0x3dbc72(0xa8))/0x8*(-parseInt(_0x3dbc72(0xa9))/0x9)+-parseInt(_0x3dbc72(0xb6))/0xa*(-parseInt(_0x3dbc72(0xa7))/0xb)+parseInt(_0x3dbc72(0xac))/0xc;if(_0x31e99f===_0x10ef38)break;else _0x12deed['push'](_0x12deed['shift']());}catch(_0xe826cb){_0x12deed['push'](_0x12deed['shift']());}}}(a266_0x3f4b,0xb2025));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x174c35,_0x1404ca,_0x55661b,_0x32fb6b){const _0x38fea0=a266_0x39b0,_0x259025=_0x174c35??createEmptySqlLock();let _0x36f7f1=_0x259025[_0x38fea0(0xbb)][_0x1404ca];if(!_0x36f7f1)return _0x36f7f1={'sqlRoot':_0x55661b,'lastSync':'','sqls':{}},_0x259025['apps'][_0x1404ca]=_0x36f7f1,{'lockData':_0x259025,'appLock':_0x36f7f1};if(!_0x36f7f1[_0x38fea0(0xa5)])_0x36f7f1[_0x38fea0(0xa5)]=_0x55661b;else{if(_0x36f7f1[_0x38fea0(0xa5)]!==_0x55661b)throw new Error(_0x32fb6b+_0x38fea0(0xab)+_0x55661b+'\x22\x20vs\x20lock\x20\x22'+_0x36f7f1[_0x38fea0(0xa5)]+'\x22.\x20'+_0x38fea0(0xb1));}return!_0x36f7f1[_0x38fea0(0xb7)]&&(_0x36f7f1[_0x38fea0(0xb7)]={}),!_0x36f7f1[_0x38fea0(0xaf)]&&(_0x36f7f1[_0x38fea0(0xaf)]=''),{'lockData':_0x259025,'appLock':_0x36f7f1};}function a266_0x39b0(_0x42a7ee,_0x2e54f7){_0x42a7ee=_0x42a7ee-0xa5;const _0x3f4bdd=a266_0x3f4b();let _0x39b0fb=_0x3f4bdd[_0x42a7ee];return _0x39b0fb;}export async function readSqlLockFile(_0x11027c){const _0x55e62a=a266_0x39b0;try{const _0x1ee065=await readFile(_0x11027c,'utf8');return JSON[_0x55e62a(0xb5)](_0x1ee065);}catch(_0xef3393){if(_0xef3393['code']===_0x55e62a(0xa6))return null;throw new Error(_0x55e62a(0xb4)+String(_0xef3393));}}function a266_0x3f4b(){const _0x3968e5=['parse','10YLGfRh','sqls','utf8','3155226xoMTyF','stringify','apps','sqlRoot','ENOENT','1528461uRNYXZ','128CiVIsi','559161ijpDlA','1128812atXrnm',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','31810944BVQKvY','3014796aTQTvd','1084305ZUtYUJ','lastSync','8Nvfmdj','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','14rjEBfK','1SvDXHM','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20'];a266_0x3f4b=function(){return _0x3968e5;};return a266_0x3f4b();}export async function writeSqlLockFile(_0x302139,_0x13b37b){const _0x3757c8=a266_0x39b0;await mkdir(dirname(_0x302139),{'recursive':!![]}),await writeFile(_0x302139,JSON[_0x3757c8(0xba)](_0x13b37b,null,0x2),_0x3757c8(0xb8));}
1
+ (function(_0x185d4b,_0x44a69c){const _0x342af7=a265_0x10a1,_0xc01d2e=_0x185d4b();while(!![]){try{const _0x4e478d=parseInt(_0x342af7(0xe6))/0x1+parseInt(_0x342af7(0xdf))/0x2+-parseInt(_0x342af7(0xe7))/0x3+parseInt(_0x342af7(0xe8))/0x4+-parseInt(_0x342af7(0xe2))/0x5+parseInt(_0x342af7(0xef))/0x6+-parseInt(_0x342af7(0xee))/0x7;if(_0x4e478d===_0x44a69c)break;else _0xc01d2e['push'](_0xc01d2e['shift']());}catch(_0x4eee5e){_0xc01d2e['push'](_0xc01d2e['shift']());}}}(a265_0x5d56,0xaf5b8));import{mkdir,readFile,writeFile}from'node:fs/promises';function a265_0x5d56(){const _0x1c1fde=['5491339JtewIa','1291086jDXybJ','\x22.\x20','703758QyPJSo','sqlRoot','sqls','1539290UwOUsp','parse','apps','utf8','1398464WdSXpX','3883893GNdRBo','4558824HMVUUU','code',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','ENOENT','lastSync','\x22\x20vs\x20lock\x20\x22'];a265_0x5d56=function(){return _0x1c1fde;};return a265_0x5d56();}import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}function a265_0x10a1(_0xdd44d3,_0x46b6f8){_0xdd44d3=_0xdd44d3-0xdf;const _0x5d561e=a265_0x5d56();let _0x10a17d=_0x5d561e[_0xdd44d3];return _0x10a17d;}export function ensureSqlLockScope(_0x3a34a9,_0x91d420,_0x482d40,_0x34b5c3){const _0x2ae897=a265_0x10a1,_0x528288=_0x3a34a9??createEmptySqlLock();let _0x50c4da=_0x528288['apps'][_0x91d420];if(!_0x50c4da)return _0x50c4da={'sqlRoot':_0x482d40,'lastSync':'','sqls':{}},_0x528288[_0x2ae897(0xe4)][_0x91d420]=_0x50c4da,{'lockData':_0x528288,'appLock':_0x50c4da};if(!_0x50c4da[_0x2ae897(0xe0)])_0x50c4da[_0x2ae897(0xe0)]=_0x482d40;else{if(_0x50c4da['sqlRoot']!==_0x482d40)throw new Error(_0x34b5c3+_0x2ae897(0xea)+_0x482d40+_0x2ae897(0xed)+_0x50c4da[_0x2ae897(0xe0)]+_0x2ae897(0xf0)+'Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.');}return!_0x50c4da[_0x2ae897(0xe1)]&&(_0x50c4da[_0x2ae897(0xe1)]={}),!_0x50c4da[_0x2ae897(0xec)]&&(_0x50c4da[_0x2ae897(0xec)]=''),{'lockData':_0x528288,'appLock':_0x50c4da};}export async function readSqlLockFile(_0x2a2c3e){const _0x18339f=a265_0x10a1;try{const _0x4f1440=await readFile(_0x2a2c3e,_0x18339f(0xe5));return JSON[_0x18339f(0xe3)](_0x4f1440);}catch(_0x2b6b2b){if(_0x2b6b2b[_0x18339f(0xe9)]===_0x18339f(0xeb))return null;throw new Error('Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20'+String(_0x2b6b2b));}}export async function writeSqlLockFile(_0x29c9d4,_0x452fd0){const _0x5b48f4=a265_0x10a1;await mkdir(dirname(_0x29c9d4),{'recursive':!![]}),await writeFile(_0x29c9d4,JSON['stringify'](_0x452fd0,null,0x2),_0x5b48f4(0xe5));}
@@ -1 +1 @@
1
- (function(_0x112a5d,_0x573c08){const _0xb86e7=a268_0x4298,_0x878d19=_0x112a5d();while(!![]){try{const _0x1b65ef=-parseInt(_0xb86e7(0xec))/0x1*(parseInt(_0xb86e7(0xee))/0x2)+-parseInt(_0xb86e7(0xea))/0x3+parseInt(_0xb86e7(0xe7))/0x4+-parseInt(_0xb86e7(0xeb))/0x5+parseInt(_0xb86e7(0xf1))/0x6*(parseInt(_0xb86e7(0xf0))/0x7)+-parseInt(_0xb86e7(0xf7))/0x8*(-parseInt(_0xb86e7(0xe6))/0x9)+-parseInt(_0xb86e7(0xed))/0xa*(-parseInt(_0xb86e7(0xf4))/0xb);if(_0x1b65ef===_0x573c08)break;else _0x878d19['push'](_0x878d19['shift']());}catch(_0x2a6296){_0x878d19['push'](_0x878d19['shift']());}}}(a268_0x721e,0xe121c));function a268_0x721e(){const _0x4a0cdd=['replace','217AuaFuQ','85944hVuSVZ','mybatisXml','trim','1532179sjLNLW','test','trimStart','31512MPqZdo','612HbEomS','4308784KnywcP','.xml','unknown-sql','1472157kvcPFG','7940765lxHsrz','1JGAwsX','170bRSlHf','2311986WJvpXJ'];a268_0x721e=function(){return _0x4a0cdd;};return a268_0x721e();}export function detectSqlMode(_0x525286){const _0x523285=a268_0x4298,_0x5d58fb=_0x525286[_0x523285(0xf6)]();if(/^<(select|insert|update|delete)\b/i[_0x523285(0xf5)](_0x5d58fb))return _0x523285(0xf2);return'sql';}export function getSqlFileExtension(_0x514bcd){const _0x4330bd=a268_0x4298;return _0x514bcd==='mybatisXml'?_0x4330bd(0xe8):'.sql';}export function buildDefaultSqlFileName(_0x191a05,_0x5aa766){return''+_0x191a05+getSqlFileExtension(_0x5aa766);}function a268_0x4298(_0x20e710,_0x3f5229){_0x20e710=_0x20e710-0xe6;const _0x721e77=a268_0x721e();let _0x4298ae=_0x721e77[_0x20e710];return _0x4298ae;}export function sanitizeSqlPathSegment(_0x14d30c,_0x3c99c3){const _0x7f986=a268_0x4298,_0x3f8c26=String(_0x14d30c??'')[_0x7f986(0xf3)](),_0x539956=_0x3f8c26[_0x7f986(0xef)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x7f986(0xef)](/\s+/g,'-')[_0x7f986(0xef)](/-+/g,'-')[_0x7f986(0xef)](/^\.+/,'')['replace'](/\.+$/,'')['replace'](/^-+/,'')[_0x7f986(0xef)](/-+$/,'');return _0x539956||_0x3c99c3;}export function buildDbDirectoryName(_0x143bde,_0x60268c){return sanitizeSqlPathSegment(_0x143bde,_0x60268c!=null?'db-'+_0x60268c:'unknown-db');}export function buildSqlRelativePath(_0x16daef,_0x4a476b,_0x411919,_0x59a2db,_0x4d7b97){const _0x5ac143=a268_0x4298,_0x3f5ae0=buildDbDirectoryName(_0x411919,_0x4d7b97),_0x51861f=sanitizeSqlPathSegment(_0x16daef,_0x5ac143(0xe9)),_0x446901=sanitizeSqlPathSegment(_0x4a476b,_0x51861f);return _0x3f5ae0+'/'+_0x51861f+'_'+_0x446901+getSqlFileExtension(_0x59a2db);}
1
+ function a267_0x1384(_0x201bc9,_0x2bfe3a){_0x201bc9=_0x201bc9-0xdc;const _0x5cd634=a267_0x5cd6();let _0x13844e=_0x5cd634[_0x201bc9];return _0x13844e;}(function(_0x374ccd,_0x2bfde2){const _0x5ef7d0=a267_0x1384,_0x138fa1=_0x374ccd();while(!![]){try{const _0x1c1818=parseInt(_0x5ef7d0(0xe4))/0x1+-parseInt(_0x5ef7d0(0xe2))/0x2*(-parseInt(_0x5ef7d0(0xeb))/0x3)+-parseInt(_0x5ef7d0(0xe1))/0x4*(-parseInt(_0x5ef7d0(0xde))/0x5)+parseInt(_0x5ef7d0(0xe0))/0x6*(-parseInt(_0x5ef7d0(0xe3))/0x7)+parseInt(_0x5ef7d0(0xe9))/0x8+parseInt(_0x5ef7d0(0xee))/0x9*(parseInt(_0x5ef7d0(0xdd))/0xa)+-parseInt(_0x5ef7d0(0xed))/0xb;if(_0x1c1818===_0x2bfde2)break;else _0x138fa1['push'](_0x138fa1['shift']());}catch(_0x2f824c){_0x138fa1['push'](_0x138fa1['shift']());}}}(a267_0x5cd6,0xd7bd3));export function detectSqlMode(_0x324142){const _0x3d7b54=a267_0x1384,_0x447d99=_0x324142['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x3d7b54(0xec)](_0x447d99))return _0x3d7b54(0xea);return _0x3d7b54(0xe8);}export function getSqlFileExtension(_0x5457bc){const _0x286753=a267_0x1384;return _0x5457bc==='mybatisXml'?_0x286753(0xe6):_0x286753(0xe5);}export function buildDefaultSqlFileName(_0x3e5beb,_0x587b23){return''+_0x3e5beb+getSqlFileExtension(_0x587b23);}export function sanitizeSqlPathSegment(_0x17726f,_0x53e985){const _0x32e0d6=a267_0x1384,_0x47045f=String(_0x17726f??'')['trim'](),_0x3e0f84=_0x47045f[_0x32e0d6(0xdc)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')['replace'](/\s+/g,'-')[_0x32e0d6(0xdc)](/-+/g,'-')[_0x32e0d6(0xdc)](/^\.+/,'')[_0x32e0d6(0xdc)](/\.+$/,'')[_0x32e0d6(0xdc)](/^-+/,'')[_0x32e0d6(0xdc)](/-+$/,'');return _0x3e0f84||_0x53e985;}export function buildDbDirectoryName(_0x35efb9,_0x5447cc){const _0x856944=a267_0x1384;return sanitizeSqlPathSegment(_0x35efb9,_0x5447cc!=null?_0x856944(0xdf)+_0x5447cc:_0x856944(0xe7));}function a267_0x5cd6(){const _0x355c44=['db-','696oPuYeZ','4SAlDCy','64gVhUHA','14882vExxuF','1333327SNVGlA','.sql','.xml','unknown-db','sql','8664784mDTNZr','mybatisXml','36786SiHDii','test','48400088JAOkWO','15691887dVJdxI','unknown-sql','replace','10ssJmRC','4889695hNiQfX'];a267_0x5cd6=function(){return _0x355c44;};return a267_0x5cd6();}export function buildSqlRelativePath(_0x5eb7e1,_0x23e206,_0x17bb0d,_0x483202,_0x497399){const _0x5b330a=a267_0x1384,_0x2a423f=buildDbDirectoryName(_0x17bb0d,_0x497399),_0x233779=sanitizeSqlPathSegment(_0x5eb7e1,_0x5b330a(0xef)),_0x188c23=sanitizeSqlPathSegment(_0x23e206,_0x233779);return _0x2a423f+'/'+_0x233779+'_'+_0x188c23+getSqlFileExtension(_0x483202);}