@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-beta.1
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.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.d.ts +7 -0
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-routing.d.ts +30 -0
- package/lib/config/project-routing.js +1 -0
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +7 -2
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +2 -2
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +115 -0
- package/lib/constant/routing-profile.js +1 -0
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -2
- package/skills/rabetbase/SKILL.md +10 -5
- package/skills/rabetbase/guides/frontend-development.md +2 -0
- package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
- package/skills/rabetbase/guides/typescript-sdk.md +42 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
- package/skills/rabetbase/references/rabetbase-config.md +9 -5
- package/skills/rabetbase/references/rabetbase-init.md +11 -5
- package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
- package/skills/rabetbase.manifest.json +3 -3
- package/templates/README.md +13 -17
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4a99b4,_0x381c16){const _0x5ec280=a233_0x5462,_0x10ef1f=_0x4a99b4();while(!![]){try{const _0x571e56=parseInt(_0x5ec280(0xfe))/0x1*(parseInt(_0x5ec280(0x100))/0x2)+parseInt(_0x5ec280(0x101))/0x3+parseInt(_0x5ec280(0x109))/0x4+-parseInt(_0x5ec280(0x103))/0x5+parseInt(_0x5ec280(0x108))/0x6+parseInt(_0x5ec280(0x102))/0x7+-parseInt(_0x5ec280(0x106))/0x8;if(_0x571e56===_0x381c16)break;else _0x10ef1f['push'](_0x10ef1f['shift']());}catch(_0x24ad1d){_0x10ef1f['push'](_0x10ef1f['shift']());}}}(a233_0x53d7,0xc83ca));import a233_0x5c7c7b from'node:crypto';function a233_0x5462(_0x78cd99,_0x448755){_0x78cd99=_0x78cd99-0xfe;const _0x53d729=a233_0x53d7();let _0x546203=_0x53d729[_0x78cd99];return _0x546203;}import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x5176bd){const _0x1c2232=a233_0x5462;return JSON['stringify'](JSON[_0x1c2232(0x105)](_0x5176bd),null,0x2)+'\x0a';}export function computePageContentHash(_0x4034f7){const _0x1267bb=a233_0x5462;return a233_0x5c7c7b[_0x1267bb(0x104)](_0x1267bb(0x107))['update'](_0x4034f7)[_0x1267bb(0x10a)]('hex');}function a233_0x53d7(){const _0x184ff9=['9721504fIpWxf','md5','6931890kkgsyN','2292492hGydET','digest','1126FFIBHf','utf8','858GEmVlo','382044NbGhqG','3427977SdXcpi','3965965OgGAtH','createHash','parse'];a233_0x53d7=function(){return _0x184ff9;};return a233_0x53d7();}export function computeSerializedSchemaHash(_0x490928){return computePageContentHash(serializePageSchemaForFile(_0x490928));}export async function computePageFileHash(_0x32a3f5){const _0x5c507b=a233_0x5462,_0x315b3c=await readFile(_0x32a3f5,_0x5c507b(0xff));return computePageContentHash(_0x315b3c);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5e5787,_0x5de113){const _0x26585f=a234_0x41da,_0x5e53b9=_0x5e5787();while(!![]){try{const _0x1b2d7f=-parseInt(_0x26585f(0xc7))/0x1+-parseInt(_0x26585f(0xb7))/0x2*(-parseInt(_0x26585f(0xb6))/0x3)+parseInt(_0x26585f(0xc2))/0x4+parseInt(_0x26585f(0xc3))/0x5+-parseInt(_0x26585f(0xc5))/0x6*(-parseInt(_0x26585f(0xbf))/0x7)+parseInt(_0x26585f(0xc4))/0x8*(-parseInt(_0x26585f(0xc0))/0x9)+parseInt(_0x26585f(0xb9))/0xa;if(_0x1b2d7f===_0x5de113)break;else _0x5e53b9['push'](_0x5e53b9['shift']());}catch(_0x36bb4b){_0x5e53b9['push'](_0x5e53b9['shift']());}}}(a234_0x4630,0x5a298));import{mkdir,readFile,writeFile}from'node:fs/promises';function a234_0x4630(){const _0x45e51a=['27BOVlKw','stringify','671864owCDSD','574255SOjhec','1739520owBoJh','6bQGYVc','ENOENT','37819acbger','13899xCWNNh','142wlTIQO','parse','1726000cDiZUE','lastSync','object','pages','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','apps','1925581DziNJL'];a234_0x4630=function(){return _0x45e51a;};return a234_0x4630();}import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x2db201,_0x11852a){const _0x374f13=a234_0x41da,_0x172d7d={'apps':_0x2db201['apps']&&typeof _0x2db201[_0x374f13(0xbe)]===_0x374f13(0xbb)?_0x2db201[_0x374f13(0xbe)]:{}};let _0x29dbcc=_0x172d7d['apps'][_0x11852a];if(!_0x29dbcc)return _0x29dbcc={'lastSync':'','pages':{}},_0x172d7d[_0x374f13(0xbe)][_0x11852a]=_0x29dbcc,{'lockData':_0x172d7d,'appLock':_0x29dbcc};return!_0x29dbcc[_0x374f13(0xba)]&&(_0x29dbcc[_0x374f13(0xba)]=''),(!_0x29dbcc[_0x374f13(0xbc)]||typeof _0x29dbcc['pages']!==_0x374f13(0xbb))&&(_0x29dbcc[_0x374f13(0xbc)]={}),{'lockData':_0x172d7d,'appLock':_0x29dbcc};}export async function readPageLockFile(_0x3f0d91){const _0x1acc1c=a234_0x41da;try{const _0x25bf8f=await readFile(_0x3f0d91,'utf8'),_0x2de9d4=JSON[_0x1acc1c(0xb8)](_0x25bf8f);return{'apps':_0x2de9d4[_0x1acc1c(0xbe)]&&typeof _0x2de9d4[_0x1acc1c(0xbe)]===_0x1acc1c(0xbb)?_0x2de9d4['apps']:{}};}catch(_0x3b3612){if(_0x3b3612['code']===_0x1acc1c(0xc6))return null;throw new Error(_0x1acc1c(0xbd)+String(_0x3b3612));}}function a234_0x41da(_0x139126,_0xbe10a4){_0x139126=_0x139126-0xb6;const _0x46306d=a234_0x4630();let _0x41da32=_0x46306d[_0x139126];return _0x41da32;}export async function writePageLockFile(_0x2076fa,_0x50fdcc){const _0x463e04=a234_0x41da;await mkdir(dirname(_0x2076fa),{'recursive':!![]}),await writeFile(_0x2076fa,JSON[_0x463e04(0xc1)](_0x50fdcc,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x534392,_0x3c417e){const _0x104536=a234_0x3398,_0x53b715=_0x534392();while(!![]){try{const _0x225fb6=parseInt(_0x104536(0x103))/0x1*(parseInt(_0x104536(0xf8))/0x2)+parseInt(_0x104536(0x113))/0x3+-parseInt(_0x104536(0xde))/0x4+parseInt(_0x104536(0xdf))/0x5+parseInt(_0x104536(0xfd))/0x6+-parseInt(_0x104536(0x121))/0x7*(-parseInt(_0x104536(0x118))/0x8)+-parseInt(_0x104536(0xf9))/0x9;if(_0x225fb6===_0x3c417e)break;else _0x53b715['push'](_0x53b715['shift']());}catch(_0x3f4d5){_0x53b715['push'](_0x53b715['shift']());}}}(a234_0x349d,0x2dd86));function a234_0x349d(){const _0x27078b=['Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','trim','tableName','reduce','add','unknown','1344924ljuQyt','1474780qmgzcd','cross','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','has','push','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','replaceAll','\x5cs*\x5c.\x5cs*[\x5cw$]+','matchedPrefix','JOIN_INDEX_NOT_USABLE','alias','where','sql','unsupportedPredicate','right','test','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','warning','slice','INDEX_METADATA_UNAVAILABLE','columns','left','using','index','6414hGHwne','3590793NyPrPf','map','indexes','toLowerCase','842976lqXOGj','replace','INNER','matchAll','inner','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','47RymvlN','length','search','max','(?:^|[^\x5cw$])','indexOf','match','exec','split','join','some','min','toUpperCase','error','full','unsupportedReason','118914LdeLpZ','from','includes','metadataAvailable','table','712cXtJWP','__sq__','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','natural','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','unavailable','JOIN_PREDICATE_UNSUPPORTED','covered','filter','23373nTwxCL'];a234_0x349d=function(){return _0x27078b;};return a234_0x349d();}import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x23779a,_0x3879b0){const _0xd3e532=a234_0x3398,_0x1e5b87=[],_0x2e9f0b=normalizeSqlForStaticAnalysis(_0x23779a),_0x35ed0a=(_0x2e9f0b[_0xd3e532(0x110)]?[]:extractJoinFacts(_0x2e9f0b[_0xd3e532(0xec)]))['map'](_0x5813e8=>{const _0x5e0804=_0xd3e532;if(_0x5813e8[_0x5e0804(0xed)]||_0x5813e8[_0x5e0804(0xf4)]['length']===0x0)return _0x1e5b87[_0x5e0804(0xe4)]({'code':_0x5e0804(0x11e),'table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'reason':_0x5813e8[_0x5e0804(0x112)]??_0x5e0804(0x11c)}),{'table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'status':_0x5e0804(0x11d)};const _0x573681=resolveTableMetadata(_0x3879b0,_0x5813e8['table']),_0x41d430=(_0x573681?.[_0x5e0804(0xfb)]??[])[_0x5e0804(0xfa)](_0x51d000=>({'index':_0x51d000,'matchedPrefix':findEqualityPrefix(_0x51d000[_0x5e0804(0xf4)],_0x5813e8[_0x5e0804(0xf4)])}))['filter'](_0x28c5bd=>_0x28c5bd['matchedPrefix'][_0x5e0804(0x104)]>0x0),_0x106271=_0x41d430[_0x5e0804(0x125)]((_0x7ad683,_0x350eb3)=>!_0x7ad683||_0x350eb3['matchedPrefix'][_0x5e0804(0x104)]>_0x7ad683['matchedPrefix'][_0x5e0804(0x104)]?_0x350eb3:_0x7ad683,_0x41d430[0x0]);if(_0x106271)return{'table':_0x5813e8['table'],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'status':_0x5e0804(0x11f),'matchedIndex':{..._0x106271[_0x5e0804(0xf7)],'matchedPrefix':_0x106271[_0x5e0804(0xe8)]}};const _0x47a55b=_0x573681?.[_0x5e0804(0xfb)][_0x5e0804(0x120)](_0x2c740d=>_0x2c740d[_0x5e0804(0xf4)][_0x5e0804(0x10d)](_0x48dfc4=>_0x5813e8['columns']['some'](_0x1eb833=>columnNamesMatch(_0x48dfc4,_0x1eb833))))??[];if(_0x47a55b[_0x5e0804(0x104)]>0x0)return _0x1e5b87[_0x5e0804(0xe4)]({'code':_0x5e0804(0xe9),'table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'reason':_0x5e0804(0xe2)}),{'table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8['alias'],'columns':_0x5813e8['columns'],'status':_0x5e0804(0xf1),'candidateIndexes':_0x47a55b};if(_0x573681&&_0x573681[_0x5e0804(0x116)]!==![]&&_0x573681[_0x5e0804(0xfb)]['length']>0x0&&_0x5813e8[_0x5e0804(0xf4)][_0x5e0804(0x104)]>0x0)return _0x1e5b87['push']({'code':'JOIN_INDEX_MISSING','table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8['alias'],'columns':_0x5813e8[_0x5e0804(0xf4)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0x5813e8['table'],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'status':_0x5e0804(0xf1)};return _0x1e5b87[_0x5e0804(0xe4)]({'code':_0x5e0804(0xf3),'table':_0x5813e8['table'],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'reason':_0x573681?_0x5e0804(0x11a):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x5813e8[_0x5e0804(0x117)],'alias':_0x5813e8[_0x5e0804(0xea)],'columns':_0x5813e8[_0x5e0804(0xf4)],'status':_0x5e0804(0x11d)};});return{'checked':_0x35ed0a[_0xd3e532(0x104)]>0x0,'joins':_0x35ed0a,'warnings':_0x1e5b87};}function a234_0x3398(_0x44a2dc,_0x33b0ad){_0x44a2dc=_0x44a2dc-0xdc;const _0x349dc2=a234_0x349d();let _0x339809=_0x349dc2[_0x44a2dc];return _0x339809;}function extractJoinFacts(_0x1e77e8){const _0x19747a=a234_0x3398,_0x4c7844=maskNestedQueries(stripSqlNoise(_0x1e77e8)),_0x4c10ca=maskQuotedIdentifiers(_0x4c7844),_0x3ed8da=[],_0x301e4b=new Set(),_0x11ec98=/\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 _0x7d5bdd of _0x4c7844[_0x19747a(0x100)](_0x11ec98)){const _0xf58152=_0x7d5bdd['index']??0x0,_0x1a8c69=_0x7d5bdd[0x0][_0x19747a(0x105)](/\bJOIN\b/i),_0x7e6af3=_0xf58152+Math[_0x19747a(0x106)](0x0,_0x1a8c69);if(!/^JOIN\b/i[_0x19747a(0xef)](_0x4c10ca[_0x19747a(0xf2)](_0x7e6af3)))continue;_0x301e4b[_0x19747a(0xdc)](_0x7e6af3);const _0x128864=normalizeIdentifier(_0x7d5bdd[0x1]||_0x19747a(0xff)),_0x292dce=normalizeIdentifier(_0x7d5bdd[0x2]??''),_0x29040e=normalizeIdentifier(_0x7d5bdd[0x3]||_0x292dce[_0x19747a(0x10b)]('.')['at'](-0x1)||_0x292dce),_0x4db3ba=[],_0x530b52=_0x292dce===_0x19747a(0x119);let _0x3ccfe9=_0x128864===_0x19747a(0xee)||_0x128864===_0x19747a(0x111)||_0x530b52,_0x57eab6=_0x3ccfe9?_0x530b52?_0x19747a(0x122):_0x128864['toUpperCase']()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x12b03a=stripOuterParentheses(_0x7d5bdd[0x4]??''),_0x390ea5=_0x12b03a['includes'](MYBATIS_DYNAMIC_START_MARKER)||_0x12b03a[_0x19747a(0x115)](MYBATIS_DYNAMIC_END_MARKER),_0x48e792=_0x12b03a[_0x19747a(0x115)](MYBATIS_INCLUDE_MARKER);_0x390ea5&&(_0x3ccfe9=!![],_0x57eab6??=_0x19747a(0xe1));_0x48e792&&(_0x3ccfe9=!![],_0x57eab6??=_0x19747a(0xe5));const _0x3db732=_0x12b03a[_0x19747a(0xe6)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x19747a(0xe6)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x3db732,'OR')&&(_0x3ccfe9=!![],_0x57eab6??=_0x19747a(0x102));for(const _0x1d4a8a of splitTopLevelAnd(_0x3db732)){const _0x1f5a72=stripOuterParentheses(_0x1d4a8a);if(hasTopLevelKeyword(_0x1f5a72,'OR')){_0x3ccfe9=!![],_0x57eab6??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.';continue;}const _0x2c8b18=splitEquality(_0x1f5a72);if(!_0x2c8b18){containsColumnReference(_0x1d4a8a,_0x29040e)&&(_0x3ccfe9=!![]);continue;}const _0x1d8d20=parseDirectColumnReference(_0x2c8b18[0x0],_0x29040e),_0x1abcdc=parseDirectColumnReference(_0x2c8b18[0x1],_0x29040e),_0x1f661a=containsColumnReference(_0x2c8b18[0x0],_0x29040e),_0x3fc613=containsColumnReference(_0x2c8b18[0x1],_0x29040e),_0x196a22=_0x1d8d20&&!_0x3fc613?_0x1d8d20:_0x1abcdc&&!_0x1f661a?_0x1abcdc:null;if(_0x196a22&&!_0x4db3ba['includes'](_0x196a22))_0x4db3ba[_0x19747a(0xe4)](_0x196a22);else!_0x196a22&&containsColumnReference(_0x1d4a8a,_0x29040e)&&(_0x3ccfe9=!![]);}_0x3ed8da[_0x19747a(0xe4)]({'table':_0x292dce,'alias':_0x29040e,'columns':_0x4db3ba,'unsupportedPredicate':_0x3ccfe9,'unsupportedReason':_0x57eab6,'containsUnresolvedInclude':_0x48e792,'position':_0x7e6af3});}for(const _0xbf49bd of _0x4c10ca[_0x19747a(0x100)](/\bJOIN\b/gi)){const _0x22d99e=_0xbf49bd[_0x19747a(0xf7)]??0x0;if(_0x301e4b[_0x19747a(0xe3)](_0x22d99e))continue;const _0x4e0d00=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x4c7844[_0x19747a(0xf2)](_0x22d99e+_0xbf49bd[0x0]['length'])),_0x58e344=normalizeIdentifier(_0x4e0d00?.[0x1]||'unknown'),_0x27778d=normalizeIdentifier(_0x4e0d00?.[0x2]||''),_0x8ad45b=isSqlClauseKeyword(_0x27778d)?_0x58e344[_0x19747a(0x10b)]('.')['at'](-0x1)||_0x58e344:_0x27778d||_0x58e344['split']('.')['at'](-0x1)||_0x58e344;_0x3ed8da[_0x19747a(0xe4)]({'table':_0x58e344,'alias':_0x8ad45b,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x22d99e});}const _0x53815c=_0x4c10ca[_0x19747a(0x108)](MYBATIS_INCLUDE_MARKER);return _0x53815c>=0x0&&!_0x3ed8da[_0x19747a(0x10d)](_0x1abdce=>_0x1abdce['containsUnresolvedInclude'])&&_0x3ed8da[_0x19747a(0xe4)]({'table':'unknown','alias':_0x19747a(0xdd),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x19747a(0xf0),'containsUnresolvedInclude':!![],'position':_0x53815c}),_0x3ed8da['sort']((_0xd370de,_0x24237e)=>_0xd370de['position']-_0x24237e['position']);}function stripSqlNoise(_0x557aeb){const _0x3f7516=a234_0x3398,_0x5ec119=Array['from'](_0x557aeb),_0x1c146b=(_0x3eaf14,_0xdff099)=>{for(let _0x4206ca=_0x3eaf14;_0x4206ca<_0xdff099;_0x4206ca+=0x1){_0x5ec119[_0x4206ca]!=='\x0a'&&_0x5ec119[_0x4206ca]!=='\x0d'&&(_0x5ec119[_0x4206ca]='\x20');}};for(let _0x567d4a=0x0;_0x567d4a<_0x5ec119[_0x3f7516(0x104)];_0x567d4a+=0x1){const _0x54efef=_0x5ec119[_0x567d4a],_0x5cc204=_0x5ec119[_0x567d4a+0x1];if(_0x54efef==='\x27'||_0x54efef==='\x22'||_0x54efef==='`'){const _0x5688f7=_0x54efef,_0x111fcd=_0x567d4a;_0x567d4a+=0x1;while(_0x567d4a<_0x5ec119['length']){if(_0x5ec119[_0x567d4a]==='\x5c'&&_0x567d4a+0x1<_0x5ec119[_0x3f7516(0x104)]){_0x567d4a+=0x2;continue;}if(_0x5ec119[_0x567d4a]!==_0x5688f7){_0x567d4a+=0x1;continue;}if(_0x5ec119[_0x567d4a+0x1]===_0x5688f7){_0x567d4a+=0x2;continue;}break;}if(_0x5688f7==='\x27')_0x1c146b(_0x111fcd,Math['min'](_0x567d4a+0x1,_0x5ec119[_0x3f7516(0x104)]));continue;}if(_0x54efef==='-'&&_0x5cc204==='-'){const _0x5ad658=_0x567d4a;while(_0x567d4a<_0x5ec119[_0x3f7516(0x104)]&&_0x5ec119[_0x567d4a]!=='\x0a')_0x567d4a+=0x1;_0x1c146b(_0x5ad658,_0x567d4a);continue;}if(_0x54efef==='/'&&_0x5cc204==='*'){const _0x2cab41=_0x567d4a;_0x567d4a+=0x2;while(_0x567d4a<_0x5ec119['length']&&!(_0x5ec119[_0x567d4a]==='*'&&_0x5ec119[_0x567d4a+0x1]==='/')){_0x567d4a+=0x1;}_0x567d4a=Math[_0x3f7516(0x10e)](_0x567d4a+0x1,_0x5ec119[_0x3f7516(0x104)]-0x1),_0x1c146b(_0x2cab41,_0x567d4a+0x1);continue;}if(_0x54efef==='#'&&_0x5cc204!=='{'){const _0x36380c=_0x567d4a;while(_0x567d4a<_0x5ec119[_0x3f7516(0x104)]&&_0x5ec119[_0x567d4a]!=='\x0a')_0x567d4a+=0x1;_0x1c146b(_0x36380c,_0x567d4a);continue;}if((_0x54efef==='#'||_0x54efef==='$')&&_0x5cc204==='{'){const _0x278e5f=_0x567d4a;_0x567d4a+=0x2;while(_0x567d4a<_0x5ec119[_0x3f7516(0x104)]&&_0x5ec119[_0x567d4a]!=='}')_0x567d4a+=0x1;_0x1c146b(_0x278e5f,Math[_0x3f7516(0x10e)](_0x567d4a+0x1,_0x5ec119['length']));}}return _0x5ec119[_0x3f7516(0x10c)]('');}function maskQuotedIdentifiers(_0x37711b){const _0x4a67c3=a234_0x3398,_0x3b2c52=Array[_0x4a67c3(0x114)](_0x37711b);for(let _0x176413=0x0;_0x176413<_0x3b2c52[_0x4a67c3(0x104)];_0x176413+=0x1){const _0x14ab0b=_0x3b2c52[_0x176413];if(_0x14ab0b!=='\x22'&&_0x14ab0b!=='`')continue;_0x176413+=0x1;while(_0x176413<_0x3b2c52['length']){if(_0x3b2c52[_0x176413]===_0x14ab0b){if(_0x3b2c52[_0x176413+0x1]===_0x14ab0b){_0x3b2c52[_0x176413]='\x20',_0x3b2c52[_0x176413+0x1]='\x20',_0x176413+=0x2;continue;}break;}_0x3b2c52[_0x176413]='\x20',_0x176413+=0x1;}}return _0x3b2c52[_0x4a67c3(0x10c)]('');}function maskNestedQueries(_0x1975c0){const _0x48f7aa=a234_0x3398,_0x21232c=Array[_0x48f7aa(0x114)](_0x1975c0);for(let _0x4a6313=0x0;_0x4a6313<_0x21232c['length'];_0x4a6313+=0x1){if(_0x21232c[_0x4a6313]!=='(')continue;const _0x4d1325=_0x1975c0[_0x48f7aa(0xf2)](_0x4a6313+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x48f7aa(0xef)](_0x4d1325))continue;let _0x26758c=0x1,_0x2958dc=_0x4a6313+0x1;for(;_0x2958dc<_0x21232c['length']&&_0x26758c>0x0;_0x2958dc+=0x1){if(_0x21232c[_0x2958dc]==='(')_0x26758c+=0x1;if(_0x21232c[_0x2958dc]===')')_0x26758c-=0x1;}if(_0x26758c!==0x0)continue;for(let _0x3d72fb=_0x4a6313;_0x3d72fb<_0x2958dc;_0x3d72fb+=0x1){_0x21232c[_0x3d72fb]='\x20';}const _0x235b70=_0x48f7aa(0x119);for(let _0x383a4c=0x0;_0x383a4c<_0x235b70[_0x48f7aa(0x104)]&&_0x4a6313+_0x383a4c<_0x2958dc;_0x383a4c+=0x1){_0x21232c[_0x4a6313+_0x383a4c]=_0x235b70[_0x383a4c];}_0x4a6313=_0x2958dc-0x1;}return _0x21232c[_0x48f7aa(0x10c)]('');}function splitTopLevelAnd(_0x268777){const _0xafda6e=a234_0x3398,_0x5dfc46=[];let _0x4bbcbf=0x0,_0x4aa20d=0x0;for(let _0x4d0087=0x0;_0x4d0087<_0x268777[_0xafda6e(0x104)];_0x4d0087+=0x1){const _0x2f08dd=_0x268777[_0x4d0087];if(_0x2f08dd==='(')_0x4bbcbf+=0x1;if(_0x2f08dd===')')_0x4bbcbf=Math[_0xafda6e(0x106)](0x0,_0x4bbcbf-0x1);_0x4bbcbf===0x0&&_0x268777[_0xafda6e(0xf2)](_0x4d0087)[_0xafda6e(0x109)](/^AND\b/i)&&(_0x4d0087===0x0||/\s/[_0xafda6e(0xef)](_0x268777[_0x4d0087-0x1]??''))&&(_0x5dfc46[_0xafda6e(0xe4)](_0x268777[_0xafda6e(0xf2)](_0x4aa20d,_0x4d0087)[_0xafda6e(0x123)]()),_0x4d0087+=0x2,_0x4aa20d=_0x4d0087+0x1);}const _0x4cc5aa=_0x268777[_0xafda6e(0xf2)](_0x4aa20d)[_0xafda6e(0x123)]();if(_0x4cc5aa)_0x5dfc46[_0xafda6e(0xe4)](_0x4cc5aa);return _0x5dfc46;}function hasTopLevelKeyword(_0x127448,_0xec37e7){const _0x10add4=a234_0x3398;let _0xfce889=0x0;for(let _0x876520=0x0;_0x876520<_0x127448[_0x10add4(0x104)];_0x876520+=0x1){const _0x507497=_0x127448[_0x876520];if(_0x507497==='(')_0xfce889+=0x1;if(_0x507497===')')_0xfce889=Math[_0x10add4(0x106)](0x0,_0xfce889-0x1);if(_0xfce889!==0x0)continue;const _0x234cd0=_0x127448['slice'](_0x876520,_0x876520+_0xec37e7[_0x10add4(0x104)]),_0x52ec19=_0x127448[_0x876520-0x1]??'\x20',_0x508172=_0x127448[_0x876520+_0xec37e7['length']]??'\x20';if(_0x234cd0[_0x10add4(0x10f)]()===_0xec37e7[_0x10add4(0x10f)]()&&!/[\w$]/[_0x10add4(0xef)](_0x52ec19)&&!/[\w$]/[_0x10add4(0xef)](_0x508172))return!![];}return![];}function splitEquality(_0x5c2332){const _0xe17b1a=a234_0x3398,_0x3f554e=stripOuterParentheses(_0x5c2332);let _0x47582a=0x0,_0x9bb9e2;for(let _0x4ff12f=0x0;_0x4ff12f<_0x3f554e[_0xe17b1a(0x104)];_0x4ff12f+=0x1){const _0x2676b1=_0x3f554e[_0x4ff12f];if(_0x2676b1==='(')_0x47582a+=0x1;if(_0x2676b1===')')_0x47582a=Math['max'](0x0,_0x47582a-0x1);const _0x43181d=_0x3f554e[_0x4ff12f-0x1]??'',_0x563ba8=_0x3f554e[_0x4ff12f+0x1]??'';if(_0x2676b1==='='&&_0x47582a===0x0&&!/[!<>=:]/[_0xe17b1a(0xef)](_0x43181d)&&_0x563ba8!=='='){if(_0x9bb9e2!==undefined)return null;_0x9bb9e2=_0x4ff12f;}}return _0x9bb9e2===undefined?null:[_0x3f554e[_0xe17b1a(0xf2)](0x0,_0x9bb9e2)['trim'](),_0x3f554e[_0xe17b1a(0xf2)](_0x9bb9e2+0x1)['trim']()];}function parseDirectColumnReference(_0x4dd28a,_0x3e38c8){const _0x2dfc78=a234_0x3398,_0x26b6f1=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x2dfc78(0x10a)](stripOuterParentheses(_0x4dd28a));if(!_0x26b6f1)return null;if(normalizeIdentifier(_0x26b6f1[0x1]??'')!==normalizeIdentifier(_0x3e38c8))return null;return normalizeIdentifier(_0x26b6f1[0x2]??'');}function containsColumnReference(_0x431319,_0x5206c3){const _0x32d260=a234_0x3398,_0x20b26a=_0x431319[_0x32d260(0xfe)](/[`"]/g,''),_0x4bdfb9=_0x5206c3[_0x32d260(0xfe)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return new RegExp(_0x32d260(0x107)+_0x4bdfb9+_0x32d260(0xe7),'i')['test'](_0x20b26a);}function findEqualityPrefix(_0x46cdc2,_0x23781a){const _0x43cb77=a234_0x3398,_0x574bc8=new Set(_0x23781a[_0x43cb77(0xfa)](normalizeIdentifier)),_0xa3f77d=[];for(const _0x5375ef of _0x46cdc2){if(!_0x574bc8['has'](normalizeIdentifier(_0x5375ef)))break;_0xa3f77d[_0x43cb77(0xe4)](_0x5375ef);}return _0xa3f77d;}function resolveTableMetadata(_0x3d1d64,_0x1376cd){const _0x31ee5f=a234_0x3398,_0x1b6d7c=normalizeIdentifier(_0x1376cd),_0x364c51=_0x3d1d64[_0x31ee5f(0x120)](_0x104b46=>normalizeIdentifier(_0x104b46[_0x31ee5f(0x124)])===_0x1b6d7c);if(_0x364c51[_0x31ee5f(0x104)]===0x1)return _0x364c51[0x0];const _0x1c5347=_0x1b6d7c[_0x31ee5f(0x115)]('.'),_0x4d2315=_0x1b6d7c[_0x31ee5f(0x10b)]('.')['at'](-0x1),_0x3af596=_0x3d1d64[_0x31ee5f(0x120)](_0x571151=>{const _0x378a51=_0x31ee5f,_0x50b496=normalizeIdentifier(_0x571151[_0x378a51(0x124)]);if(_0x1c5347&&_0x50b496['includes']('.'))return![];return _0x50b496[_0x378a51(0x10b)]('.')['at'](-0x1)===_0x4d2315;});return _0x3af596[_0x31ee5f(0x104)]===0x1?_0x3af596[0x0]:undefined;}function columnNamesMatch(_0x1e2be2,_0x194f4f){return normalizeIdentifier(_0x1e2be2)===normalizeIdentifier(_0x194f4f);}function normalizeIdentifier(_0x108aa7){const _0x368cca=a234_0x3398;return _0x108aa7[_0x368cca(0xfe)](/[`"]/g,'')[_0x368cca(0x123)]()[_0x368cca(0xfc)]();}function isSqlClauseKeyword(_0x3069db){const _0x18f5f9=a234_0x3398;return new Set(['on',_0x18f5f9(0xf6),_0x18f5f9(0xeb),_0x18f5f9(0x10c),_0x18f5f9(0x101),_0x18f5f9(0xf5),'right',_0x18f5f9(0x111),_0x18f5f9(0xe0),_0x18f5f9(0x11b)])['has'](_0x3069db);}function stripOuterParentheses(_0x53fa91){const _0x7c62b3=a234_0x3398;let _0x2ad0fe=_0x53fa91['trim']();while(_0x2ad0fe['startsWith']('(')&&_0x2ad0fe['endsWith'](')')){let _0x241629=0x0,_0x4543de=!![];for(let _0x650bee=0x0;_0x650bee<_0x2ad0fe[_0x7c62b3(0x104)];_0x650bee+=0x1){if(_0x2ad0fe[_0x650bee]==='(')_0x241629+=0x1;if(_0x2ad0fe[_0x650bee]===')')_0x241629-=0x1;if(_0x241629===0x0&&_0x650bee<_0x2ad0fe['length']-0x1){_0x4543de=![];break;}}if(!_0x4543de||_0x241629!==0x0)break;_0x2ad0fe=_0x2ad0fe[_0x7c62b3(0xf2)](0x1,-0x1)['trim']();}return _0x2ad0fe;}
|
|
1
|
+
(function(_0x5232b6,_0x114bf0){const _0xc8735f=a236_0xd9d9,_0x460914=_0x5232b6();while(!![]){try{const _0x44d541=-parseInt(_0xc8735f(0x1dd))/0x1*(-parseInt(_0xc8735f(0x20b))/0x2)+parseInt(_0xc8735f(0x200))/0x3+parseInt(_0xc8735f(0x212))/0x4*(parseInt(_0xc8735f(0x21e))/0x5)+-parseInt(_0xc8735f(0x1df))/0x6+parseInt(_0xc8735f(0x1e1))/0x7+parseInt(_0xc8735f(0x21a))/0x8*(parseInt(_0xc8735f(0x1e3))/0x9)+-parseInt(_0xc8735f(0x1fa))/0xa*(parseInt(_0xc8735f(0x1ef))/0xb);if(_0x44d541===_0x114bf0)break;else _0x460914['push'](_0x460914['shift']());}catch(_0x343525){_0x460914['push'](_0x460914['shift']());}}}(a236_0x3c25,0x2cac5));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x583db3,_0x3f9883){const _0x1137cd=a236_0xd9d9,_0x45cf20=[],_0x12e173=normalizeSqlForStaticAnalysis(_0x583db3),_0x309cf2=(_0x12e173[_0x1137cd(0x208)]?[]:extractJoinFacts(_0x12e173[_0x1137cd(0x1f4)]))[_0x1137cd(0x21b)](_0xcfbfe0=>{const _0x4c3d43=_0x1137cd;if(_0xcfbfe0[_0x4c3d43(0x206)]||_0xcfbfe0[_0x4c3d43(0x1e9)][_0x4c3d43(0x1ee)]===0x0)return _0x45cf20[_0x4c3d43(0x1da)]({'code':_0x4c3d43(0x224),'table':_0xcfbfe0['table'],'alias':_0xcfbfe0['alias'],'columns':_0xcfbfe0[_0x4c3d43(0x1e9)],'reason':_0xcfbfe0[_0x4c3d43(0x1ed)]??_0x4c3d43(0x1eb)}),{'table':_0xcfbfe0[_0x4c3d43(0x221)],'alias':_0xcfbfe0['alias'],'columns':_0xcfbfe0['columns'],'status':_0x4c3d43(0x1d9)};const _0x70bb4f=resolveTableMetadata(_0x3f9883,_0xcfbfe0['table']),_0x4b6392=(_0x70bb4f?.['indexes']??[])['map'](_0x22f60d=>({'index':_0x22f60d,'matchedPrefix':findEqualityPrefix(_0x22f60d[_0x4c3d43(0x1e9)],_0xcfbfe0[_0x4c3d43(0x1e9)])}))[_0x4c3d43(0x223)](_0x3eb775=>_0x3eb775[_0x4c3d43(0x21c)][_0x4c3d43(0x1ee)]>0x0),_0x4ccec0=_0x4b6392[_0x4c3d43(0x1f9)]((_0x42ff91,_0x5667fa)=>!_0x42ff91||_0x5667fa[_0x4c3d43(0x21c)][_0x4c3d43(0x1ee)]>_0x42ff91[_0x4c3d43(0x21c)][_0x4c3d43(0x1ee)]?_0x5667fa:_0x42ff91,_0x4b6392[0x0]);if(_0x4ccec0)return{'table':_0xcfbfe0[_0x4c3d43(0x221)],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0[_0x4c3d43(0x1e9)],'status':_0x4c3d43(0x1fe),'matchedIndex':{..._0x4ccec0[_0x4c3d43(0x1fc)],'matchedPrefix':_0x4ccec0[_0x4c3d43(0x21c)]}};const _0x5f7b23=_0x70bb4f?.['indexes'][_0x4c3d43(0x223)](_0x3267ea=>_0x3267ea[_0x4c3d43(0x1e9)][_0x4c3d43(0x1e5)](_0x19cad3=>_0xcfbfe0[_0x4c3d43(0x1e9)][_0x4c3d43(0x1e5)](_0x3bbaae=>columnNamesMatch(_0x19cad3,_0x3bbaae))))??[];if(_0x5f7b23[_0x4c3d43(0x1ee)]>0x0)return _0x45cf20[_0x4c3d43(0x1da)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0xcfbfe0[_0x4c3d43(0x221)],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0[_0x4c3d43(0x1e9)],'reason':'Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.'}),{'table':_0xcfbfe0[_0x4c3d43(0x221)],'alias':_0xcfbfe0['alias'],'columns':_0xcfbfe0['columns'],'status':_0x4c3d43(0x220),'candidateIndexes':_0x5f7b23};if(_0x70bb4f&&_0x70bb4f['metadataAvailable']!==![]&&_0x70bb4f[_0x4c3d43(0x21d)][_0x4c3d43(0x1ee)]>0x0&&_0xcfbfe0[_0x4c3d43(0x1e9)][_0x4c3d43(0x1ee)]>0x0)return _0x45cf20[_0x4c3d43(0x1da)]({'code':_0x4c3d43(0x1db),'table':_0xcfbfe0['table'],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0[_0x4c3d43(0x1e9)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0xcfbfe0[_0x4c3d43(0x221)],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0[_0x4c3d43(0x1e9)],'status':_0x4c3d43(0x220)};return _0x45cf20[_0x4c3d43(0x1da)]({'code':_0x4c3d43(0x215),'table':_0xcfbfe0['table'],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0['columns'],'reason':_0x70bb4f?_0x4c3d43(0x217):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0xcfbfe0['table'],'alias':_0xcfbfe0[_0x4c3d43(0x1fd)],'columns':_0xcfbfe0['columns'],'status':_0x4c3d43(0x1d9)};});return{'checked':_0x309cf2[_0x1137cd(0x1ee)]>0x0,'joins':_0x309cf2,'warnings':_0x45cf20};}function extractJoinFacts(_0x220dd1){const _0x89edd0=a236_0xd9d9,_0x416160=maskNestedQueries(stripSqlNoise(_0x220dd1)),_0x460ccd=maskQuotedIdentifiers(_0x416160),_0x25b7a8=[],_0x5740dc=new Set(),_0x4bac46=/\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 _0x4f4cf2 of _0x416160[_0x89edd0(0x216)](_0x4bac46)){const _0x1d6f96=_0x4f4cf2[_0x89edd0(0x1fc)]??0x0,_0xf60c1c=_0x4f4cf2[0x0][_0x89edd0(0x213)](/\bJOIN\b/i),_0x580a05=_0x1d6f96+Math[_0x89edd0(0x1e4)](0x0,_0xf60c1c);if(!/^JOIN\b/i[_0x89edd0(0x1e0)](_0x460ccd[_0x89edd0(0x211)](_0x580a05)))continue;_0x5740dc[_0x89edd0(0x21f)](_0x580a05);const _0x486715=normalizeIdentifier(_0x4f4cf2[0x1]||'INNER'),_0x439491=normalizeIdentifier(_0x4f4cf2[0x2]??''),_0x1f8bb1=normalizeIdentifier(_0x4f4cf2[0x3]||_0x439491[_0x89edd0(0x207)]('.')['at'](-0x1)||_0x439491),_0x3e55f2=[],_0x5a9da7=_0x439491===_0x89edd0(0x1f1);let _0x10c79f=_0x486715===_0x89edd0(0x1ea)||_0x486715==='full'||_0x5a9da7,_0x475f2d=_0x10c79f?_0x5a9da7?_0x89edd0(0x1de):_0x486715['toUpperCase']()+_0x89edd0(0x219):undefined;const _0x382095=stripOuterParentheses(_0x4f4cf2[0x4]??''),_0x555126=_0x382095[_0x89edd0(0x20d)](MYBATIS_DYNAMIC_START_MARKER)||_0x382095[_0x89edd0(0x20d)](MYBATIS_DYNAMIC_END_MARKER),_0x18b6f0=_0x382095[_0x89edd0(0x20d)](MYBATIS_INCLUDE_MARKER);_0x555126&&(_0x10c79f=!![],_0x475f2d??=_0x89edd0(0x1f0));_0x18b6f0&&(_0x10c79f=!![],_0x475f2d??='MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.');const _0x123a4b=_0x382095[_0x89edd0(0x1f5)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x89edd0(0x1f5)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x123a4b,'OR')&&(_0x10c79f=!![],_0x475f2d??=_0x89edd0(0x20a));for(const _0x44f8df of splitTopLevelAnd(_0x123a4b)){const _0x5b55e9=stripOuterParentheses(_0x44f8df);if(hasTopLevelKeyword(_0x5b55e9,'OR')){_0x10c79f=!![],_0x475f2d??=_0x89edd0(0x20a);continue;}const _0x1c79e3=splitEquality(_0x5b55e9);if(!_0x1c79e3){containsColumnReference(_0x44f8df,_0x1f8bb1)&&(_0x10c79f=!![]);continue;}const _0x532863=parseDirectColumnReference(_0x1c79e3[0x0],_0x1f8bb1),_0x30baec=parseDirectColumnReference(_0x1c79e3[0x1],_0x1f8bb1),_0x5c652b=containsColumnReference(_0x1c79e3[0x0],_0x1f8bb1),_0xb9c64d=containsColumnReference(_0x1c79e3[0x1],_0x1f8bb1),_0x1ad73a=_0x532863&&!_0xb9c64d?_0x532863:_0x30baec&&!_0x5c652b?_0x30baec:null;if(_0x1ad73a&&!_0x3e55f2['includes'](_0x1ad73a))_0x3e55f2['push'](_0x1ad73a);else!_0x1ad73a&&containsColumnReference(_0x44f8df,_0x1f8bb1)&&(_0x10c79f=!![]);}_0x25b7a8[_0x89edd0(0x1da)]({'table':_0x439491,'alias':_0x1f8bb1,'columns':_0x3e55f2,'unsupportedPredicate':_0x10c79f,'unsupportedReason':_0x475f2d,'containsUnresolvedInclude':_0x18b6f0,'position':_0x580a05});}for(const _0x1800a2 of _0x460ccd[_0x89edd0(0x216)](/\bJOIN\b/gi)){const _0x190663=_0x1800a2['index']??0x0;if(_0x5740dc[_0x89edd0(0x1e2)](_0x190663))continue;const _0x14cadb=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x89edd0(0x222)](_0x416160[_0x89edd0(0x211)](_0x190663+_0x1800a2[0x0]['length'])),_0x3bbd2a=normalizeIdentifier(_0x14cadb?.[0x1]||_0x89edd0(0x202)),_0x1a50d4=normalizeIdentifier(_0x14cadb?.[0x2]||''),_0x38ef4f=isSqlClauseKeyword(_0x1a50d4)?_0x3bbd2a['split']('.')['at'](-0x1)||_0x3bbd2a:_0x1a50d4||_0x3bbd2a[_0x89edd0(0x207)]('.')['at'](-0x1)||_0x3bbd2a;_0x25b7a8[_0x89edd0(0x1da)]({'table':_0x3bbd2a,'alias':_0x38ef4f,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x89edd0(0x1ff),'position':_0x190663});}const _0x23c8da=_0x460ccd['indexOf'](MYBATIS_INCLUDE_MARKER);return _0x23c8da>=0x0&&!_0x25b7a8[_0x89edd0(0x1e5)](_0x1e5973=>_0x1e5973[_0x89edd0(0x1e8)])&&_0x25b7a8[_0x89edd0(0x1da)]({'table':_0x89edd0(0x202),'alias':_0x89edd0(0x202),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x89edd0(0x1ec),'containsUnresolvedInclude':!![],'position':_0x23c8da}),_0x25b7a8['sort']((_0x9d5bf3,_0x578624)=>_0x9d5bf3['position']-_0x578624['position']);}function a236_0xd9d9(_0x5e7ac7,_0x7340d7){_0x5e7ac7=_0x5e7ac7-0x1d9;const _0x3c25a8=a236_0x3c25();let _0xd9d95e=_0x3c25a8[_0x5e7ac7];return _0xd9d95e;}function stripSqlNoise(_0x6e704f){const _0x47062e=a236_0xd9d9,_0x395aa8=Array[_0x47062e(0x1e6)](_0x6e704f),_0x2f1e5c=(_0x48f5c6,_0x2e2c67)=>{for(let _0x25433c=_0x48f5c6;_0x25433c<_0x2e2c67;_0x25433c+=0x1){_0x395aa8[_0x25433c]!=='\x0a'&&_0x395aa8[_0x25433c]!=='\x0d'&&(_0x395aa8[_0x25433c]='\x20');}};for(let _0x10c9d7=0x0;_0x10c9d7<_0x395aa8['length'];_0x10c9d7+=0x1){const _0x27b284=_0x395aa8[_0x10c9d7],_0x36e059=_0x395aa8[_0x10c9d7+0x1];if(_0x27b284==='\x27'||_0x27b284==='\x22'||_0x27b284==='`'){const _0x9de15=_0x27b284,_0x151e37=_0x10c9d7;_0x10c9d7+=0x1;while(_0x10c9d7<_0x395aa8[_0x47062e(0x1ee)]){if(_0x395aa8[_0x10c9d7]==='\x5c'&&_0x10c9d7+0x1<_0x395aa8[_0x47062e(0x1ee)]){_0x10c9d7+=0x2;continue;}if(_0x395aa8[_0x10c9d7]!==_0x9de15){_0x10c9d7+=0x1;continue;}if(_0x395aa8[_0x10c9d7+0x1]===_0x9de15){_0x10c9d7+=0x2;continue;}break;}if(_0x9de15==='\x27')_0x2f1e5c(_0x151e37,Math['min'](_0x10c9d7+0x1,_0x395aa8['length']));continue;}if(_0x27b284==='-'&&_0x36e059==='-'){const _0x160a82=_0x10c9d7;while(_0x10c9d7<_0x395aa8[_0x47062e(0x1ee)]&&_0x395aa8[_0x10c9d7]!=='\x0a')_0x10c9d7+=0x1;_0x2f1e5c(_0x160a82,_0x10c9d7);continue;}if(_0x27b284==='/'&&_0x36e059==='*'){const _0x167887=_0x10c9d7;_0x10c9d7+=0x2;while(_0x10c9d7<_0x395aa8[_0x47062e(0x1ee)]&&!(_0x395aa8[_0x10c9d7]==='*'&&_0x395aa8[_0x10c9d7+0x1]==='/')){_0x10c9d7+=0x1;}_0x10c9d7=Math[_0x47062e(0x1f6)](_0x10c9d7+0x1,_0x395aa8[_0x47062e(0x1ee)]-0x1),_0x2f1e5c(_0x167887,_0x10c9d7+0x1);continue;}if(_0x27b284==='#'&&_0x36e059!=='{'){const _0x216ee3=_0x10c9d7;while(_0x10c9d7<_0x395aa8['length']&&_0x395aa8[_0x10c9d7]!=='\x0a')_0x10c9d7+=0x1;_0x2f1e5c(_0x216ee3,_0x10c9d7);continue;}if((_0x27b284==='#'||_0x27b284==='$')&&_0x36e059==='{'){const _0xf3288f=_0x10c9d7;_0x10c9d7+=0x2;while(_0x10c9d7<_0x395aa8['length']&&_0x395aa8[_0x10c9d7]!=='}')_0x10c9d7+=0x1;_0x2f1e5c(_0xf3288f,Math[_0x47062e(0x1f6)](_0x10c9d7+0x1,_0x395aa8[_0x47062e(0x1ee)]));}}return _0x395aa8[_0x47062e(0x1fb)]('');}function maskQuotedIdentifiers(_0x56426f){const _0x3d08c4=a236_0xd9d9,_0x55aeae=Array['from'](_0x56426f);for(let _0x3ff277=0x0;_0x3ff277<_0x55aeae[_0x3d08c4(0x1ee)];_0x3ff277+=0x1){const _0x1ad87d=_0x55aeae[_0x3ff277];if(_0x1ad87d!=='\x22'&&_0x1ad87d!=='`')continue;_0x3ff277+=0x1;while(_0x3ff277<_0x55aeae['length']){if(_0x55aeae[_0x3ff277]===_0x1ad87d){if(_0x55aeae[_0x3ff277+0x1]===_0x1ad87d){_0x55aeae[_0x3ff277]='\x20',_0x55aeae[_0x3ff277+0x1]='\x20',_0x3ff277+=0x2;continue;}break;}_0x55aeae[_0x3ff277]='\x20',_0x3ff277+=0x1;}}return _0x55aeae[_0x3d08c4(0x1fb)]('');}function maskNestedQueries(_0x377845){const _0x5f580d=a236_0xd9d9,_0xab69e7=Array['from'](_0x377845);for(let _0x42ab79=0x0;_0x42ab79<_0xab69e7['length'];_0x42ab79+=0x1){if(_0xab69e7[_0x42ab79]!=='(')continue;const _0xdc69cf=_0x377845[_0x5f580d(0x211)](_0x42ab79+0x1);if(!/^\s*(?:SELECT|WITH)\b/i['test'](_0xdc69cf))continue;let _0x4728d9=0x1,_0x39102e=_0x42ab79+0x1;for(;_0x39102e<_0xab69e7[_0x5f580d(0x1ee)]&&_0x4728d9>0x0;_0x39102e+=0x1){if(_0xab69e7[_0x39102e]==='(')_0x4728d9+=0x1;if(_0xab69e7[_0x39102e]===')')_0x4728d9-=0x1;}if(_0x4728d9!==0x0)continue;for(let _0x501f1e=_0x42ab79;_0x501f1e<_0x39102e;_0x501f1e+=0x1){_0xab69e7[_0x501f1e]='\x20';}const _0x3f3fc1=_0x5f580d(0x1f1);for(let _0x3cb1e8=0x0;_0x3cb1e8<_0x3f3fc1['length']&&_0x42ab79+_0x3cb1e8<_0x39102e;_0x3cb1e8+=0x1){_0xab69e7[_0x42ab79+_0x3cb1e8]=_0x3f3fc1[_0x3cb1e8];}_0x42ab79=_0x39102e-0x1;}return _0xab69e7[_0x5f580d(0x1fb)]('');}function splitTopLevelAnd(_0x15c341){const _0x4666a2=a236_0xd9d9,_0x18e84c=[];let _0x194e83=0x0,_0xce13e=0x0;for(let _0x475e6f=0x0;_0x475e6f<_0x15c341[_0x4666a2(0x1ee)];_0x475e6f+=0x1){const _0x13bb4b=_0x15c341[_0x475e6f];if(_0x13bb4b==='(')_0x194e83+=0x1;if(_0x13bb4b===')')_0x194e83=Math[_0x4666a2(0x1e4)](0x0,_0x194e83-0x1);_0x194e83===0x0&&_0x15c341[_0x4666a2(0x211)](_0x475e6f)[_0x4666a2(0x20e)](/^AND\b/i)&&(_0x475e6f===0x0||/\s/[_0x4666a2(0x1e0)](_0x15c341[_0x475e6f-0x1]??''))&&(_0x18e84c[_0x4666a2(0x1da)](_0x15c341['slice'](_0xce13e,_0x475e6f)[_0x4666a2(0x1f7)]()),_0x475e6f+=0x2,_0xce13e=_0x475e6f+0x1);}const _0x378c24=_0x15c341['slice'](_0xce13e)[_0x4666a2(0x1f7)]();if(_0x378c24)_0x18e84c[_0x4666a2(0x1da)](_0x378c24);return _0x18e84c;}function hasTopLevelKeyword(_0x19937e,_0x25a845){const _0x3fe009=a236_0xd9d9;let _0xb97b24=0x0;for(let _0x4e2d43=0x0;_0x4e2d43<_0x19937e[_0x3fe009(0x1ee)];_0x4e2d43+=0x1){const _0x5512c1=_0x19937e[_0x4e2d43];if(_0x5512c1==='(')_0xb97b24+=0x1;if(_0x5512c1===')')_0xb97b24=Math[_0x3fe009(0x1e4)](0x0,_0xb97b24-0x1);if(_0xb97b24!==0x0)continue;const _0x1e9063=_0x19937e[_0x3fe009(0x211)](_0x4e2d43,_0x4e2d43+_0x25a845[_0x3fe009(0x1ee)]),_0x73d7bb=_0x19937e[_0x4e2d43-0x1]??'\x20',_0x1eaa27=_0x19937e[_0x4e2d43+_0x25a845[_0x3fe009(0x1ee)]]??'\x20';if(_0x1e9063['toUpperCase']()===_0x25a845[_0x3fe009(0x209)]()&&!/[\w$]/[_0x3fe009(0x1e0)](_0x73d7bb)&&!/[\w$]/[_0x3fe009(0x1e0)](_0x1eaa27))return!![];}return![];}function splitEquality(_0x3b3bc2){const _0x276c8=a236_0xd9d9,_0x3acda1=stripOuterParentheses(_0x3b3bc2);let _0x2160b3=0x0,_0x19186a;for(let _0x4b5913=0x0;_0x4b5913<_0x3acda1[_0x276c8(0x1ee)];_0x4b5913+=0x1){const _0x3c1be6=_0x3acda1[_0x4b5913];if(_0x3c1be6==='(')_0x2160b3+=0x1;if(_0x3c1be6===')')_0x2160b3=Math['max'](0x0,_0x2160b3-0x1);const _0x340545=_0x3acda1[_0x4b5913-0x1]??'',_0x441d4c=_0x3acda1[_0x4b5913+0x1]??'';if(_0x3c1be6==='='&&_0x2160b3===0x0&&!/[!<>=:]/[_0x276c8(0x1e0)](_0x340545)&&_0x441d4c!=='='){if(_0x19186a!==undefined)return null;_0x19186a=_0x4b5913;}}return _0x19186a===undefined?null:[_0x3acda1[_0x276c8(0x211)](0x0,_0x19186a)[_0x276c8(0x1f7)](),_0x3acda1[_0x276c8(0x211)](_0x19186a+0x1)[_0x276c8(0x1f7)]()];}function parseDirectColumnReference(_0x8c6cb3,_0x55aaba){const _0x30ac1e=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x8c6cb3));if(!_0x30ac1e)return null;if(normalizeIdentifier(_0x30ac1e[0x1]??'')!==normalizeIdentifier(_0x55aaba))return null;return normalizeIdentifier(_0x30ac1e[0x2]??'');}function a236_0x3c25(){const _0x7f6733=['join','index','alias','covered','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','7839ZRzFKx','\x5cs*\x5c.\x5cs*[\x5cw$]+','unknown','toLowerCase','replace','tableName','unsupportedPredicate','split','error','toUpperCase','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','29482fkBPmX','endsWith','includes','match','\x5c$&','inner','slice','4YNKDpu','search','full','INDEX_METADATA_UNAVAILABLE','matchAll','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','where','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','8PYKvyc','map','matchedPrefix','indexes','1585215WIkYFA','add','warning','table','exec','filter','JOIN_PREDICATE_UNSUPPORTED','unavailable','push','JOIN_INDEX_MISSING','left','21fBwEep','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','2015022RCOECf','test','2076515VTQLsb','has','1337787txslsv','max','some','from','cross','containsUnresolvedInclude','columns','right','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','unsupportedReason','length','3267LMWbup','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','__sq__','natural','(?:^|[^\x5cw$])','sql','replaceAll','min','trim','using','reduce','18710NGlJXR'];a236_0x3c25=function(){return _0x7f6733;};return a236_0x3c25();}function containsColumnReference(_0x274f7f,_0x232e1b){const _0x447739=a236_0xd9d9,_0x468408=_0x274f7f[_0x447739(0x204)](/[`"]/g,''),_0x1e2e41=_0x232e1b[_0x447739(0x204)](/[.*+?^${}()|[\]\\]/g,_0x447739(0x20f));return new RegExp(_0x447739(0x1f3)+_0x1e2e41+_0x447739(0x201),'i')['test'](_0x468408);}function findEqualityPrefix(_0x427429,_0x5c127d){const _0x4ca0ce=a236_0xd9d9,_0x58f425=new Set(_0x5c127d[_0x4ca0ce(0x21b)](normalizeIdentifier)),_0x682910=[];for(const _0x4bf021 of _0x427429){if(!_0x58f425[_0x4ca0ce(0x1e2)](normalizeIdentifier(_0x4bf021)))break;_0x682910[_0x4ca0ce(0x1da)](_0x4bf021);}return _0x682910;}function resolveTableMetadata(_0x7bf1a6,_0x57c6a3){const _0x49517e=a236_0xd9d9,_0x3bf9d7=normalizeIdentifier(_0x57c6a3),_0x5bb772=_0x7bf1a6['filter'](_0x4e5ced=>normalizeIdentifier(_0x4e5ced[_0x49517e(0x205)])===_0x3bf9d7);if(_0x5bb772[_0x49517e(0x1ee)]===0x1)return _0x5bb772[0x0];const _0x4f6d1c=_0x3bf9d7[_0x49517e(0x20d)]('.'),_0x515b62=_0x3bf9d7[_0x49517e(0x207)]('.')['at'](-0x1),_0x1b2940=_0x7bf1a6[_0x49517e(0x223)](_0x5994de=>{const _0x3f7060=_0x49517e,_0x4383f5=normalizeIdentifier(_0x5994de[_0x3f7060(0x205)]);if(_0x4f6d1c&&_0x4383f5[_0x3f7060(0x20d)]('.'))return![];return _0x4383f5[_0x3f7060(0x207)]('.')['at'](-0x1)===_0x515b62;});return _0x1b2940['length']===0x1?_0x1b2940[0x0]:undefined;}function columnNamesMatch(_0x35073b,_0x33d72f){return normalizeIdentifier(_0x35073b)===normalizeIdentifier(_0x33d72f);}function normalizeIdentifier(_0x13965b){const _0x522a3f=a236_0xd9d9;return _0x13965b[_0x522a3f(0x204)](/[`"]/g,'')['trim']()[_0x522a3f(0x203)]();}function isSqlClauseKeyword(_0x461ba5){const _0x529b99=a236_0xd9d9;return new Set(['on',_0x529b99(0x1f8),_0x529b99(0x218),_0x529b99(0x1fb),_0x529b99(0x210),_0x529b99(0x1dc),_0x529b99(0x1ea),_0x529b99(0x214),_0x529b99(0x1e7),_0x529b99(0x1f2)])[_0x529b99(0x1e2)](_0x461ba5);}function stripOuterParentheses(_0x15664b){const _0x185af1=a236_0xd9d9;let _0x39bb9c=_0x15664b[_0x185af1(0x1f7)]();while(_0x39bb9c['startsWith']('(')&&_0x39bb9c[_0x185af1(0x20c)](')')){let _0x59ea1f=0x0,_0x37e179=!![];for(let _0x38a2f1=0x0;_0x38a2f1<_0x39bb9c[_0x185af1(0x1ee)];_0x38a2f1+=0x1){if(_0x39bb9c[_0x38a2f1]==='(')_0x59ea1f+=0x1;if(_0x39bb9c[_0x38a2f1]===')')_0x59ea1f-=0x1;if(_0x59ea1f===0x0&&_0x38a2f1<_0x39bb9c[_0x185af1(0x1ee)]-0x1){_0x37e179=![];break;}}if(!_0x37e179||_0x59ea1f!==0x0)break;_0x39bb9c=_0x39bb9c[_0x185af1(0x211)](0x1,-0x1)[_0x185af1(0x1f7)]();}return _0x39bb9c;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a237_0x35cf(){const _0x3b7117=['2385560SXHfxy','675076vnJqPe','284615DJLJOT','902058oJyyjd','12WfwgyS','sql-trash','92rfsVII','12529jYLQnq','sql','45010VPkdqa','1227821PJzXwv','80PxLBiq','1043505GuPYtW','/sql'];a237_0x35cf=function(){return _0x3b7117;};return a237_0x35cf();}const a237_0x120025=a237_0x1e69;(function(_0x4a7cfe,_0x1d44a8){const _0x46e579=a237_0x1e69,_0x5a75f6=_0x4a7cfe();while(!![]){try{const _0x4770a7=-parseInt(_0x46e579(0xef))/0x1+-parseInt(_0x46e579(0xee))/0x2+-parseInt(_0x46e579(0xf1))/0x3+-parseInt(_0x46e579(0xe6))/0x4*(parseInt(_0x46e579(0xf0))/0x5)+-parseInt(_0x46e579(0xf2))/0x6*(-parseInt(_0x46e579(0xea))/0x7)+parseInt(_0x46e579(0xeb))/0x8*(-parseInt(_0x46e579(0xec))/0x9)+-parseInt(_0x46e579(0xe9))/0xa*(-parseInt(_0x46e579(0xe7))/0xb);if(_0x4770a7===_0x1d44a8)break;else _0x5a75f6['push'](_0x5a75f6['shift']());}catch(_0x467e9b){_0x5a75f6['push'](_0x5a75f6['shift']());}}}(a237_0x35cf,0xcd220));import{resolve}from'node:path';function a237_0x1e69(_0xa95326,_0x4b014a){_0xa95326=_0xa95326-0xe5;const _0x35cff4=a237_0x35cf();let _0x1e6942=_0x35cff4[_0xa95326];return _0x1e6942;}import{findProjectRootDirectory}from'../../context.js';const DOT_DIR='.rabetbase',LOCK_FILE_NAME='sql.lock.json',TRASH_DIR_NAME=a237_0x120025(0xe5);export function loadSqlProjectConfig(_0x2efe3e,_0x20d7e1){const _0xafb52f=a237_0x120025,_0x1d94f9=resolve(_0x20d7e1??findProjectRootDirectory()),_0x523ac8=DOT_DIR+_0xafb52f(0xed),_0x43545d=_0x523ac8+'/'+_0x2efe3e;return{'projectRoot':_0x1d94f9,'appCode':_0x2efe3e,'sqlWorkspaceRoot':_0x523ac8,'sqlRoot':_0x43545d,'sqlRootDir':resolve(_0x1d94f9,DOT_DIR,_0xafb52f(0xe8),_0x2efe3e),'lockFilePath':resolve(_0x1d94f9,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x1d94f9,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14a93f,_0x13ba0b){const _0x284393=a238_0x43dd,_0x34e972=_0x14a93f();while(!![]){try{const _0x34d236=parseInt(_0x284393(0x19a))/0x1+parseInt(_0x284393(0x1a9))/0x2*(-parseInt(_0x284393(0x199))/0x3)+parseInt(_0x284393(0x19d))/0x4+-parseInt(_0x284393(0x1aa))/0x5*(parseInt(_0x284393(0x1ad))/0x6)+parseInt(_0x284393(0x1b0))/0x7+parseInt(_0x284393(0x1a8))/0x8*(-parseInt(_0x284393(0x1b8))/0x9)+-parseInt(_0x284393(0x1b6))/0xa*(-parseInt(_0x284393(0x1b3))/0xb);if(_0x34d236===_0x13ba0b)break;else _0x34e972['push'](_0x34e972['shift']());}catch(_0x3b09f2){_0x34e972['push'](_0x34e972['shift']());}}}(a238_0x2f95,0x22ed2));function a238_0x43dd(_0x196f91,_0xb5578a){_0x196f91=_0x196f91-0x199;const _0x2f95c7=a238_0x2f95();let _0x43dd1f=_0x2f95c7[_0x196f91];return _0x43dd1f;}import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x36465a){const _0x1800a4=a238_0x43dd;if(_0x36465a===_0x1800a4(0x1a0))return'sql';if(_0x36465a===_0x1800a4(0x1b4))return _0x1800a4(0x1b7);return undefined;}function a238_0x2f95(){const _0x3d23fd=['431412RRMFGA','filter','sql','1328026cbrRtA','code','test','121NytBjP','.xml','sqlCode','251110XfWTjY','mybatisXml','94806iVTBsM','1866LkrkLG','12800EjwfTE','isDirectory','replace','750420faMwqb','push','indexOf','.sql','sqlRootDir','split','length','dbName','sqlName','toLowerCase','slice','112HOjcJL','746IxBSNl','10irjIAb','name','mode'];a238_0x2f95=function(){return _0x3d23fd;};return a238_0x2f95();}async function scanSqlFilesRecursively(_0x5d8548,_0x102b2e){const _0xcbf0bc=a238_0x43dd,_0x5062af=[];try{const _0x3f5651=await readdir(_0x5d8548,{'withFileTypes':!![]});for(const _0x48bc3a of _0x3f5651){const _0x44a874=join(_0x5d8548,_0x48bc3a[_0xcbf0bc(0x1ab)]);if(_0x48bc3a['isDirectory']()){_0x5062af[_0xcbf0bc(0x19e)](...await scanSqlFilesRecursively(_0x44a874,_0x102b2e));continue;}if(!_0x48bc3a['isFile']())continue;const _0x26807e=extname(_0x48bc3a['name'])[_0xcbf0bc(0x1a6)](),_0x130e5b=extensionToMode(_0x26807e);if(!_0x130e5b)continue;const _0x35dd8a=relative(_0x102b2e,_0x44a874)[_0xcbf0bc(0x19c)](/\\/g,'/'),_0x4e127a=_0x35dd8a[_0xcbf0bc(0x1a2)]('/')[_0xcbf0bc(0x1ae)](Boolean),_0x8e3b2e=parseSqlPath(_0x4e127a,_0x48bc3a['name'],_0x26807e);if(!_0x8e3b2e)continue;_0x5062af[_0xcbf0bc(0x19e)]({'sqlCode':_0x8e3b2e[_0xcbf0bc(0x1b5)],'sqlName':_0x8e3b2e[_0xcbf0bc(0x1a5)],'dbDirectory':_0x4e127a[0x0],'filePath':_0x44a874,'relativePath':_0x35dd8a,'lockKey':_0x8e3b2e[_0xcbf0bc(0x1b5)],'mode':_0x130e5b});}}catch(_0x1ea804){if(_0x1ea804[_0xcbf0bc(0x1b1)]!=='ENOENT')throw _0x1ea804;}return _0x5062af;}export async function scanLocalSqlQueries(_0x28dfb1){const _0x130ed7=a238_0x43dd;return scanSqlFilesRecursively(_0x28dfb1['sqlRootDir'],_0x28dfb1[_0x130ed7(0x1a1)]);}export function resolveLocalSqlFilePath(_0x24ade5,_0x4fe2f3,_0x2203a7){const _0x1d0470=a238_0x43dd,_0x28a027=_0x2203a7?.['path']||(_0x2203a7?.[_0x1d0470(0x1a5)]||_0x2203a7?.[_0x1d0470(0x1a4)]?buildSqlRelativePath(_0x4fe2f3,_0x2203a7?.[_0x1d0470(0x1a5)],_0x2203a7?.[_0x1d0470(0x1a4)],_0x2203a7?.[_0x1d0470(0x1ac)]||_0x1d0470(0x1af),_0x2203a7?.['dbId']):buildDefaultSqlFileName(_0x4fe2f3,_0x2203a7?.[_0x1d0470(0x1ac)]||_0x1d0470(0x1af)));return join(_0x24ade5[_0x1d0470(0x1a1)],_0x28a027);}export async function directoryExists(_0x2c1cbd){const _0x572ff7=a238_0x43dd;try{const _0x523c3a=await stat(_0x2c1cbd);return _0x523c3a[_0x572ff7(0x19b)]();}catch{return![];}}function parseSqlPath(_0x37e05d,_0x3fa91d,_0x38c8b0){const _0xf67565=a238_0x43dd,_0x4a75fe=_0x3fa91d[_0xf67565(0x1a7)](0x0,-_0x38c8b0[_0xf67565(0x1a3)]);if(_0x37e05d[_0xf67565(0x1a3)]<0x2)return null;const _0x4d7be2=_0x4a75fe[_0xf67565(0x19f)]('_');if(_0x4d7be2<=0x0||_0x4d7be2>=_0x4a75fe[_0xf67565(0x1a3)]-0x1)return null;const _0x31fab1=_0x4a75fe[_0xf67565(0x1a7)](0x0,_0x4d7be2);if(!isLikelySqlCode(_0x31fab1))return null;return{'sqlCode':_0x31fab1,'sqlName':_0x4a75fe['slice'](_0x4d7be2+0x1)};}function isLikelySqlCode(_0x4ba05a){const _0x45c846=a238_0x43dd;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x45c846(0x1b2)](_0x4ba05a);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x131d64,_0x446422){const _0x4fcb84=a239_0x5c4a,_0x165490=_0x131d64();while(!![]){try{const _0x53882f=parseInt(_0x4fcb84(0x1bb))/0x1*(parseInt(_0x4fcb84(0x1b1))/0x2)+-parseInt(_0x4fcb84(0x1b2))/0x3+-parseInt(_0x4fcb84(0x1be))/0x4*(parseInt(_0x4fcb84(0x1b8))/0x5)+-parseInt(_0x4fcb84(0x1b6))/0x6*(parseInt(_0x4fcb84(0x1ba))/0x7)+-parseInt(_0x4fcb84(0x1bd))/0x8*(parseInt(_0x4fcb84(0x1b0))/0x9)+-parseInt(_0x4fcb84(0x1b9))/0xa*(parseInt(_0x4fcb84(0x1b5))/0xb)+parseInt(_0x4fcb84(0x1b7))/0xc;if(_0x53882f===_0x446422)break;else _0x165490['push'](_0x165490['shift']());}catch(_0x59e494){_0x165490['push'](_0x165490['shift']());}}}(a239_0x2dbe,0xdec84));function a239_0x2dbe(){const _0x41de54=['44hEhLZh','752562uwkIDx','52624728MMRTFq','1835sdWmLG','3310850mdZTYH','42RxUqql','235aaMuCv','md5','16QJsdsV','4876lYBRUM','1441116emeJYh','6962lEsGIJ','4339170AcQzQc','createHash','utf8'];a239_0x2dbe=function(){return _0x41de54;};return a239_0x2dbe();}import{readFile}from'node:fs/promises';import a239_0x5b2a4d from'node:crypto';export function computeSqlContentHash(_0x40f2ca){const _0x495439=a239_0x5c4a;return a239_0x5b2a4d[_0x495439(0x1b3)](_0x495439(0x1bc))['update'](_0x40f2ca)['digest']('hex');}function a239_0x5c4a(_0x3faaa0,_0x52804b){_0x3faaa0=_0x3faaa0-0x1b0;const _0x2dbec1=a239_0x2dbe();let _0x5c4a61=_0x2dbec1[_0x3faaa0];return _0x5c4a61;}export async function computeSqlFileHash(_0x3f466c){const _0x1b9cdc=a239_0x5c4a,_0x2cd377=await readFile(_0x3f466c,_0x1b9cdc(0x1b4));return computeSqlContentHash(_0x2cd377);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a240_0x290e(_0x988e54,_0x2d5e0e){_0x988e54=_0x988e54-0x1cb;const _0x181c85=a240_0x181c();let _0x290e44=_0x181c85[_0x988e54];return _0x290e44;}(function(_0x1d8efc,_0x3ddce5){const _0x4f05bb=a240_0x290e,_0x499539=_0x1d8efc();while(!![]){try{const _0x3b34f1=parseInt(_0x4f05bb(0x1d7))/0x1+parseInt(_0x4f05bb(0x1da))/0x2+-parseInt(_0x4f05bb(0x1d5))/0x3*(-parseInt(_0x4f05bb(0x1d8))/0x4)+-parseInt(_0x4f05bb(0x1d6))/0x5+parseInt(_0x4f05bb(0x1d9))/0x6+-parseInt(_0x4f05bb(0x1dc))/0x7+-parseInt(_0x4f05bb(0x1d0))/0x8*(-parseInt(_0x4f05bb(0x1dd))/0x9);if(_0x3b34f1===_0x3ddce5)break;else _0x499539['push'](_0x499539['shift']());}catch(_0x566721){_0x499539['push'](_0x499539['shift']());}}}(a240_0x181c,0x1a062));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}function a240_0x181c(){const _0x4fa6f3=['870678BnzXqx','24286AqocBP','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','1282778rtkpMN','22743kmvvde','sqlRoot','code','utf8','\x22.\x20','sqls',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','parse','lastSync','104MrjVsR','stringify','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','\x22\x20vs\x20lock\x20\x22','apps','6hIFkvM','457460FLbMDV','85255lgYQSE','211956BJSvSW'];a240_0x181c=function(){return _0x4fa6f3;};return a240_0x181c();}export function ensureSqlLockScope(_0x28a045,_0x260cb6,_0x456574,_0xa0ba31){const _0x3e9caf=a240_0x290e,_0x15e8c4=_0x28a045??createEmptySqlLock();let _0x38c07e=_0x15e8c4['apps'][_0x260cb6];if(!_0x38c07e)return _0x38c07e={'sqlRoot':_0x456574,'lastSync':'','sqls':{}},_0x15e8c4[_0x3e9caf(0x1d4)][_0x260cb6]=_0x38c07e,{'lockData':_0x15e8c4,'appLock':_0x38c07e};if(!_0x38c07e['sqlRoot'])_0x38c07e[_0x3e9caf(0x1de)]=_0x456574;else{if(_0x38c07e[_0x3e9caf(0x1de)]!==_0x456574)throw new Error(_0xa0ba31+_0x3e9caf(0x1cd)+_0x456574+_0x3e9caf(0x1d3)+_0x38c07e['sqlRoot']+_0x3e9caf(0x1cb)+_0x3e9caf(0x1d2));}return!_0x38c07e[_0x3e9caf(0x1cc)]&&(_0x38c07e[_0x3e9caf(0x1cc)]={}),!_0x38c07e[_0x3e9caf(0x1cf)]&&(_0x38c07e[_0x3e9caf(0x1cf)]=''),{'lockData':_0x15e8c4,'appLock':_0x38c07e};}export async function readSqlLockFile(_0x428dd0){const _0x360ec4=a240_0x290e;try{const _0x3ce5b0=await readFile(_0x428dd0,_0x360ec4(0x1e0));return JSON[_0x360ec4(0x1ce)](_0x3ce5b0);}catch(_0x7b2f29){if(_0x7b2f29[_0x360ec4(0x1df)]==='ENOENT')return null;throw new Error(_0x360ec4(0x1db)+String(_0x7b2f29));}}export async function writeSqlLockFile(_0x4c56c3,_0x5757f4){const _0x5402fb=a240_0x290e;await mkdir(dirname(_0x4c56c3),{'recursive':!![]}),await writeFile(_0x4c56c3,JSON[_0x5402fb(0x1d1)](_0x5757f4,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x18a9eb,_0xebc4b5){const _0x2b3cea=a242_0x2c47,_0x1f50be=_0x18a9eb();while(!![]){try{const _0x40775f=-parseInt(_0x2b3cea(0x8c))/0x1+-parseInt(_0x2b3cea(0x7e))/0x2*(parseInt(_0x2b3cea(0x85))/0x3)+parseInt(_0x2b3cea(0x8d))/0x4+-parseInt(_0x2b3cea(0x86))/0x5*(-parseInt(_0x2b3cea(0x83))/0x6)+-parseInt(_0x2b3cea(0x8e))/0x7+parseInt(_0x2b3cea(0x7f))/0x8+parseInt(_0x2b3cea(0x7c))/0x9;if(_0x40775f===_0xebc4b5)break;else _0x1f50be['push'](_0x1f50be['shift']());}catch(_0x3f1f67){_0x1f50be['push'](_0x1f50be['shift']());}}}(a242_0x668d,0xe22de));export function detectSqlMode(_0x6c4fac){const _0x366ce3=a242_0x2c47,_0x31241d=_0x6c4fac[_0x366ce3(0x82)]();if(/^<(select|insert|update|delete)\b/i[_0x366ce3(0x89)](_0x31241d))return _0x366ce3(0x7d);return _0x366ce3(0x8a);}export function getSqlFileExtension(_0xbcee1c){const _0x381171=a242_0x2c47;return _0xbcee1c===_0x381171(0x7d)?_0x381171(0x80):_0x381171(0x81);}function a242_0x2c47(_0x2d9ce1,_0x56bcc0){_0x2d9ce1=_0x2d9ce1-0x7c;const _0x668db8=a242_0x668d();let _0x2c4704=_0x668db8[_0x2d9ce1];return _0x2c4704;}export function buildDefaultSqlFileName(_0x53b319,_0x417e73){return''+_0x53b319+getSqlFileExtension(_0x417e73);}function a242_0x668d(){const _0x57334c=['38HCTnFi','11016760gUVvai','.xml','.sql','trimStart','3010818vXRzUG','unknown-db','221514vzIhhP','15PPWBdg','unknown-sql','db-','test','sql','replace','826403mMOEzX','511236CZpXiP','2297533sWvBrQ','4262949rseRdX','mybatisXml'];a242_0x668d=function(){return _0x57334c;};return a242_0x668d();}export function sanitizeSqlPathSegment(_0x3e57bb,_0x3922b4){const _0x3ecd0b=a242_0x2c47,_0x4cdc8a=String(_0x3e57bb??'')['trim'](),_0x3c1477=_0x4cdc8a['replace'](/[<>:"/\\|?*\u0000-\u001F]/g,'-')['replace'](/\s+/g,'-')[_0x3ecd0b(0x8b)](/-+/g,'-')[_0x3ecd0b(0x8b)](/^\.+/,'')[_0x3ecd0b(0x8b)](/\.+$/,'')[_0x3ecd0b(0x8b)](/^-+/,'')[_0x3ecd0b(0x8b)](/-+$/,'');return _0x3c1477||_0x3922b4;}export function buildDbDirectoryName(_0x35a7aa,_0x52f769){const _0x47eb62=a242_0x2c47;return sanitizeSqlPathSegment(_0x35a7aa,_0x52f769!=null?_0x47eb62(0x88)+_0x52f769:_0x47eb62(0x84));}export function buildSqlRelativePath(_0x1e205e,_0x4465ff,_0x48757c,_0x179a1c,_0x2ab072){const _0x1ce82a=a242_0x2c47,_0x1c3624=buildDbDirectoryName(_0x48757c,_0x2ab072),_0x20e858=sanitizeSqlPathSegment(_0x1e205e,_0x1ce82a(0x87)),_0x3570aa=sanitizeSqlPathSegment(_0x4465ff,_0x20e858);return _0x1c3624+'/'+_0x20e858+'_'+_0x3570aa+getSqlFileExtension(_0x179a1c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a241_0x34dcee=a241_0x1406;(function(_0x7f460a,_0x491a68){const _0x28db8a=a241_0x1406,_0x2e1ad9=_0x7f460a();while(!![]){try{const _0x241c5b=-parseInt(_0x28db8a(0x135))/0x1+parseInt(_0x28db8a(0x103))/0x2+parseInt(_0x28db8a(0xe2))/0x3*(-parseInt(_0x28db8a(0xeb))/0x4)+-parseInt(_0x28db8a(0x10f))/0x5*(-parseInt(_0x28db8a(0xff))/0x6)+parseInt(_0x28db8a(0x117))/0x7+parseInt(_0x28db8a(0x112))/0x8+-parseInt(_0x28db8a(0xfc))/0x9;if(_0x241c5b===_0x491a68)break;else _0x2e1ad9['push'](_0x2e1ad9['shift']());}catch(_0x47671b){_0x2e1ad9['push'](_0x2e1ad9['shift']());}}}(a241_0x3052,0x7eceb));const MYBATIS_OUTER_TAGS=new Map([[a241_0x34dcee(0xea),a241_0x34dcee(0x120)],['insert',a241_0x34dcee(0x123)],[a241_0x34dcee(0x132),'UPDATE'],['delete',a241_0x34dcee(0x125)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where','foreach','choose',a241_0x34dcee(0xfb),a241_0x34dcee(0x105),'trim',a241_0x34dcee(0xf3),'bind',a241_0x34dcee(0xe6),'property']),MYBATIS_BRANCH_TAGS=new Set(['if',a241_0x34dcee(0x129),a241_0x34dcee(0xe3),a241_0x34dcee(0xfb),a241_0x34dcee(0x105)]);export const MYBATIS_DYNAMIC_START_MARKER=a241_0x34dcee(0xfe);export const MYBATIS_DYNAMIC_END_MARKER=a241_0x34dcee(0xe1);function a241_0x3052(){const _0x371ee1=['Unterminated\x20XML\x20declaration.','set','>','<![CDATA[','match','property','reason','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','when','12846519CCStev','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','__RABETBASE_MYBATIS_DYNAMIC_START__','265116mtWxbh','exec','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','UNKNOWN','1045370BdReAb','length','otherwise','Invalid\x20XML\x20entity\x20reference.','replace','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','\x20WHERE\x20','mybatisXml','from','indexOf','add','join','115RLTcYh','WITH','-->','7098472kZqowm','type','trim','&','toUpperCase','5253801aNUWnY','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','toLowerCase','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','test','UPDATE','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','Unterminated\x20CDATA\x20section.','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','SELECT','outer','has','INSERT',']]>','DELETE','statementType','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','Unable\x20to\x20detect\x20SQL\x20type.\x20','foreach','rawName','slice','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','error','tagName','Unterminated\x20MyBatis\x20XML\x20tag.',''','update','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','sql','488975VSJNhG','\x20with\x20parameters:\x20','replaceAll','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.',')\x5cb','SQL\x20content\x20is\x20empty','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','parseInt','__RABETBASE_MYBATIS_DYNAMIC_END__','20973THIUyD','choose','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','^<\x5cs*(?:','include','\x20SET\x20','startsWith','matchAll','select','424ZzqDaz','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','keys','\x20query\x20targeting\x20','<!--','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','push'];a241_0x3052=function(){return _0x371ee1;};return a241_0x3052();}export const MYBATIS_INCLUDE_MARKER=a241_0x34dcee(0xe4);const UNRESOLVED_SQL_FRAGMENT='__RABETBASE_UNRESOLVED_SQL_FRAGMENT__',MYBATIS_OUTER_TAG_PATTERN=new RegExp(a241_0x34dcee(0xe5)+[...MYBATIS_OUTER_TAGS[a241_0x34dcee(0xed)]()][a241_0x34dcee(0x10e)]('|')+a241_0x34dcee(0xdd),'i');export function normalizeSqlForStaticAnalysis(_0x134d66){const _0x34b1ee=a241_0x34dcee,_0x37700b=typeof _0x134d66==='string'?_0x134d66:'';if(!startsWithMybatisStatementWrapper(_0x37700b))return{'sql':_0x37700b,'mode':_0x34b1ee(0x134)};let _0x4ffc66=0x0,_0x439f5a='',_0x41c7a8,_0xa85484=![],_0x1eb776=![];const _0x150154=[];while(_0x4ffc66<_0x37700b[_0x34b1ee(0x104)]){if(_0x37700b[_0x34b1ee(0xe8)](_0x34b1ee(0xef),_0x4ffc66)){const _0x350bc2=_0x37700b[_0x34b1ee(0x10c)](_0x34b1ee(0x111),_0x4ffc66+0x4);if(_0x350bc2<0x0)return invalidMybatisSource('Unterminated\x20XML\x20comment.');_0x439f5a+='\x20',_0x4ffc66=_0x350bc2+0x3;continue;}if(_0x37700b['startsWith'](_0x34b1ee(0xf5),_0x4ffc66)){if(!_0xa85484||_0x1eb776)return invalidMybatisSource('CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');const _0xda564e=_0x37700b[_0x34b1ee(0x10c)](_0x34b1ee(0x124),_0x4ffc66+0x9);if(_0xda564e<0x0)return invalidMybatisSource(_0x34b1ee(0x11e));_0x439f5a+=_0x37700b[_0x34b1ee(0x12b)](_0x4ffc66+0x9,_0xda564e),_0x4ffc66=_0xda564e+0x3;continue;}if(_0x37700b['startsWith']('<?',_0x4ffc66)){if(_0xa85484)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x4c7f34=_0x37700b[_0x34b1ee(0x10c)]('?>',_0x4ffc66+0x2);if(_0x4c7f34<0x0)return invalidMybatisSource(_0x34b1ee(0xf2));_0x439f5a+='\x20',_0x4ffc66=_0x4c7f34+0x2;continue;}if(_0x37700b[_0x4ffc66]!=='<'){const _0xc05f3=_0x37700b['indexOf']('<',_0x4ffc66),_0x9b4fef=_0xc05f3<0x0?_0x37700b['length']:_0xc05f3,_0x330331=_0x37700b['slice'](_0x4ffc66,_0x9b4fef);if((!_0xa85484||_0x1eb776)&&_0x330331[_0x34b1ee(0x114)]())return invalidMybatisSource(_0x34b1ee(0x11a));if(_0xa85484&&!_0x1eb776){const _0x2f1b93=decodeXmlEntities(_0x330331);if(_0x2f1b93===null)return invalidMybatisSource(_0x34b1ee(0x106));_0x439f5a+=_0x2f1b93;}else _0x439f5a+='\x20';_0x4ffc66=_0x9b4fef;continue;}const _0x1ba31d=findXmlTagEnd(_0x37700b,_0x4ffc66);if(_0x1ba31d<0x0)return invalidMybatisSource(_0x34b1ee(0x130));const _0x1a1832=_0x37700b['slice'](_0x4ffc66,_0x1ba31d+0x1),_0x2edf71=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x34b1ee(0x100)](_0x1a1832);if(!_0x2edf71)return invalidMybatisSource('Invalid\x20MyBatis\x20XML\x20tag.');const _0x33f4b9=_0x2edf71[0x1]==='/',_0x525012=_0x2edf71[0x2]??'',_0x28e951=_0x525012[_0x34b1ee(0x119)](),_0x2543b0=_0x2edf71[0x3]??'',_0x2c01ae=_0x2edf71[0x4]==='/',_0x4c5051=MYBATIS_OUTER_TAGS['get'](_0x28e951);if(!_0x4c5051&&!MYBATIS_DYNAMIC_TAGS['has'](_0x28e951))return invalidMybatisSource(_0x34b1ee(0xfa)+_0x28e951+'>.');if(!_0x4c5051&&_0x525012!==_0x28e951)return invalidMybatisSource(_0x34b1ee(0x11f)+_0x525012+'>.');if(_0x33f4b9){if(_0x2543b0[_0x34b1ee(0x114)]()||_0x2c01ae)return invalidMybatisSource(_0x34b1ee(0x12c)+_0x525012+'>.');const _0x5e5fb9=_0x150154['at'](-0x1);if(!_0x5e5fb9||(_0x5e5fb9[_0x34b1ee(0x121)]?_0x5e5fb9[_0x34b1ee(0x12f)]!==_0x28e951:_0x5e5fb9[_0x34b1ee(0x12a)]!==_0x525012))return invalidMybatisSource(_0x34b1ee(0xf0)+_0x525012+'>.');_0x150154['pop']();if(_0x5e5fb9[_0x34b1ee(0x121)])_0x1eb776=!![];_0x439f5a+=MYBATIS_BRANCH_TAGS[_0x34b1ee(0x122)](_0x28e951)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x2543b0))return invalidMybatisSource(_0x34b1ee(0xf9)+_0x525012+'>.');if(_0x28e951===_0x34b1ee(0xf7)&&(!_0x2c01ae||_0x150154['at'](-0x1)?.[_0x34b1ee(0x12f)]!==_0x34b1ee(0xe6)))return invalidMybatisSource(_0x34b1ee(0xdf));if(_0x4c5051){if(_0xa85484||_0x150154['length']>0x0)return invalidMybatisSource(_0x34b1ee(0xec));_0xa85484=!![],_0x1eb776=_0x2c01ae,_0x41c7a8=_0x4c5051;}else{if(!_0xa85484||_0x1eb776)return invalidMybatisSource(_0x34b1ee(0x101)+_0x525012+'>.');}_0x439f5a+=_0x28e951==='where'?_0x34b1ee(0x109):_0x28e951===_0x34b1ee(0xf3)?_0x34b1ee(0xe7):_0x28e951==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x28e951)&&!_0x2c01ae?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x2c01ae&&_0x150154[_0x34b1ee(0xf1)]({'rawName':_0x525012,'tagName':_0x28e951,'outer':!!_0x4c5051});}_0x4ffc66=_0x1ba31d+0x1;}if(_0x150154['length']>0x0)return invalidMybatisSource(_0x34b1ee(0x108)+_0x150154['at'](-0x1)?.[_0x34b1ee(0x12a)]+'>.');if(!_0xa85484||!_0x1eb776)return invalidMybatisSource(_0x34b1ee(0x127));return{'sql':_0x439f5a[_0x34b1ee(0x114)](),'mode':'mybatisXml',..._0x41c7a8?{'statementType':_0x41c7a8}:{}};}function hasWellFormedXmlAttributes(_0x541fed){const _0x198460=a241_0x34dcee;let _0xdcceb4=0x0;const _0x2ebbed=new Set();while(_0xdcceb4<_0x541fed['length']){while(_0xdcceb4<_0x541fed[_0x198460(0x104)]&&/\s/[_0x198460(0x11b)](_0x541fed[_0xdcceb4]??''))_0xdcceb4+=0x1;if(_0xdcceb4>=_0x541fed[_0x198460(0x104)])return!![];const _0x5a08b8=/^[A-Za-z_:][\w:.-]*/[_0x198460(0x100)](_0x541fed[_0x198460(0x12b)](_0xdcceb4)),_0x28c3e8=_0x5a08b8?.[0x0];if(!_0x28c3e8||_0x2ebbed['has'](_0x28c3e8))return![];_0x2ebbed[_0x198460(0x10d)](_0x28c3e8),_0xdcceb4+=_0x28c3e8[_0x198460(0x104)];while(_0xdcceb4<_0x541fed[_0x198460(0x104)]&&/\s/[_0x198460(0x11b)](_0x541fed[_0xdcceb4]??''))_0xdcceb4+=0x1;if(_0x541fed[_0xdcceb4]!=='=')return![];_0xdcceb4+=0x1;while(_0xdcceb4<_0x541fed[_0x198460(0x104)]&&/\s/['test'](_0x541fed[_0xdcceb4]??''))_0xdcceb4+=0x1;const _0x3526f9=_0x541fed[_0xdcceb4];if(_0x3526f9!=='\x22'&&_0x3526f9!=='\x27')return![];_0xdcceb4+=0x1;const _0x51107d=_0x541fed[_0x198460(0x10c)](_0x3526f9,_0xdcceb4);if(_0x51107d<0x0)return![];if(decodeXmlEntities(_0x541fed[_0x198460(0x12b)](_0xdcceb4,_0x51107d))===null)return![];_0xdcceb4=_0x51107d+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x70acc5){const _0x3a6ab9=a241_0x34dcee;let _0x571a04=0x0;const _0x244e21=()=>{const _0x2d1920=a241_0x1406;while(_0x571a04<_0x70acc5[_0x2d1920(0x104)]&&/\s/['test'](_0x70acc5[_0x571a04]??''))_0x571a04+=0x1;};_0x244e21();while(_0x571a04<_0x70acc5[_0x3a6ab9(0x104)]){if(_0x70acc5['startsWith'](_0x3a6ab9(0xef),_0x571a04)){const _0x4cf144=_0x70acc5[_0x3a6ab9(0x10c)]('-->',_0x571a04+0x4);if(_0x4cf144<0x0)return!![];_0x571a04=_0x4cf144+0x3,_0x244e21();continue;}if(_0x70acc5[_0x3a6ab9(0xe8)]('<?',_0x571a04)){const _0x592df7=_0x70acc5[_0x3a6ab9(0x10c)]('?>',_0x571a04+0x2);if(_0x592df7<0x0)return!![];_0x571a04=_0x592df7+0x2,_0x244e21();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN['test'](_0x70acc5[_0x3a6ab9(0x12b)](_0x571a04));}function invalidMybatisSource(_0x55b8f9){const _0x8e56e5=a241_0x34dcee;return{'sql':'','mode':_0x8e56e5(0x10a),'error':_0x55b8f9};}function findXmlTagEnd(_0x59db72,_0xc3f794){let _0x3ee8e9;for(let _0x4fc0e2=_0xc3f794+0x1;_0x4fc0e2<_0x59db72['length'];_0x4fc0e2+=0x1){const _0x3b97ee=_0x59db72[_0x4fc0e2];if(_0x3ee8e9){if(_0x3b97ee===_0x3ee8e9)_0x3ee8e9=undefined;continue;}if(_0x3b97ee==='\x22'||_0x3b97ee==='\x27'){_0x3ee8e9=_0x3b97ee;continue;}if(_0x3b97ee==='>')return _0x4fc0e2;}return-0x1;}function decodeXmlEntities(_0x25e59c){const _0x2e9334=a241_0x34dcee;let _0x53051b=![];const _0x536231=_0x25e59c[_0x2e9334(0x107)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x3fa37d=>{const _0x564786=_0x2e9334;if(_0x3fa37d==='<')return'<';if(_0x3fa37d===_0x564786(0xf4))return'>';if(_0x3fa37d==='"')return'\x22';if(_0x3fa37d===_0x564786(0x131))return'\x27';if(_0x3fa37d===_0x564786(0x115))return'&';const _0x54b864=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x564786(0x100)](_0x3fa37d);if(_0x54b864){const _0x1c7589=_0x54b864[0x1],_0x169748=_0x54b864[0x2],_0x34f2c7=Number[_0x564786(0xe0)](_0x1c7589??_0x169748??'',_0x1c7589?0x10:0xa);if(isValidXmlCharacter(_0x34f2c7))return String['fromCodePoint'](_0x34f2c7);}return _0x53051b=!![],'';});return _0x53051b?null:_0x536231;}function isValidXmlCharacter(_0x3cfb10){return _0x3cfb10===0x9||_0x3cfb10===0xa||_0x3cfb10===0xd||_0x3cfb10>=0x20&&_0x3cfb10<=0xd7ff||_0x3cfb10>=0xe000&&_0x3cfb10<=0xfffd||_0x3cfb10>=0x10000&&_0x3cfb10<=0x10ffff;}export function detectSqlType(_0x5b4262){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x5b4262));}function detectNormalizedSqlType(_0x2ea95b){const _0x14de93=a241_0x34dcee;if(_0x2ea95b['error'])return{'type':_0x14de93(0x102),'isSelectOnly':![],'isDangerous':![],'reason':_0x2ea95b[_0x14de93(0x12e)]};if(!_0x2ea95b[_0x14de93(0x134)]['trim']())return{'type':_0x14de93(0x102),'isSelectOnly':![],'isDangerous':![],'reason':_0x14de93(0xde)};const _0x1d5476=stripStaticAnalysisMarkers(_0x2ea95b[_0x14de93(0x134)])[_0x14de93(0x107)](/#\{[^}]*\}/g,'?')[_0x14de93(0x107)](/\$\{[^}]*\}/g,'?')[_0x14de93(0x107)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x14de93(0x107)](/\/\*[\s\S]*?\*\//g,'')[_0x14de93(0x114)](),_0x39ee0f=_0x1d5476['split']('\x0a');let _0x3da6aa='';for(const _0x589124 of _0x39ee0f){const _0x2dfcba=_0x589124[_0x14de93(0x114)]();if(!_0x2dfcba||_0x2dfcba[_0x14de93(0xe8)]('--')||_0x2dfcba[_0x14de93(0xe8)]('/*'))continue;_0x3da6aa=_0x2dfcba;break;}const _0x51fe62=_0x3da6aa[_0x14de93(0x116)](),_0x2b6b8d=_0x2ea95b[_0x14de93(0x126)],_0x56c63e=maskSqlTextForBlockedKeywordScan(_0x1d5476),_0x4a5420=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x14de93(0x11b)](_0x56c63e);if(_0x2b6b8d==='SELECT'||!_0x2b6b8d&&(_0x51fe62[_0x14de93(0xe8)]('SELECT')||_0x51fe62['startsWith'](_0x14de93(0x110)))){const _0x279c7a=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x14de93(0x11b)](_0x1d5476);return{'type':_0x14de93(0x120),'isSelectOnly':!_0x279c7a,'isDangerous':_0x279c7a,'reason':_0x279c7a?_0x14de93(0xfd):undefined};}if(_0x2b6b8d===_0x14de93(0x123)||!_0x2b6b8d&&_0x51fe62[_0x14de93(0xe8)](_0x14de93(0x123)))return{'type':_0x14de93(0x123),'isSelectOnly':![],'isDangerous':_0x4a5420,'reason':_0x4a5420?_0x14de93(0x12d):undefined};if(_0x2b6b8d===_0x14de93(0x11c)||!_0x2b6b8d&&_0x51fe62['startsWith'](_0x14de93(0x11c)))return{'type':_0x14de93(0x11c),'isSelectOnly':![],'isDangerous':_0x4a5420,'reason':_0x4a5420?_0x14de93(0x12d):undefined};if(_0x2b6b8d==='DELETE'||!_0x2b6b8d&&_0x51fe62['startsWith'](_0x14de93(0x125)))return{'type':_0x14de93(0x125),'isSelectOnly':![],'isDangerous':!![],'reason':_0x14de93(0x118)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x14de93(0x11b)](_0x51fe62))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':_0x14de93(0x11d)};return{'type':_0x14de93(0x102),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0xebc666){const _0xa4c117=a241_0x34dcee;return _0xebc666[_0xa4c117(0xdb)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0xa4c117(0xdb)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x5e01ad){const _0x2cc240=a241_0x34dcee;return _0x5e01ad[_0x2cc240(0x107)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x2cc240(0x107)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x2cc240(0x107)](/--.*$/gm,'\x20')[_0x2cc240(0x107)](/#.*$/gm,'\x20')[_0x2cc240(0x107)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0xb8ceac){const _0xe257=a241_0x34dcee,_0x5bda9d=_0xb8ceac[_0xe257(0x107)](/#\{[^}]*\}/g,'?')[_0xe257(0x107)](/\$\{[^}]*\}/g,'?')[_0xe257(0x107)](/'[^']*'/g,'\x27\x27')[_0xe257(0x107)](/--.*$/gm,'')[_0xe257(0x107)](/\/\*[\s\S]*?\*\//g,''),_0x5234fb=[],_0x5a272e=_0x5bda9d[_0xe257(0xf6)](/FROM\s+([^\s,)(]+)/i);addTable(_0x5234fb,_0x5a272e?.[0x1]);for(const _0x7c573b of _0x5bda9d[_0xe257(0xe9)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x5234fb,_0x7c573b[0x1]);}const _0x12f1d1=_0x5bda9d[_0xe257(0xf6)](/INTO\s+([^\s(]+)/i);addTable(_0x5234fb,_0x12f1d1?.[0x1]);const _0x174a9e=_0x5bda9d[_0xe257(0xf6)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x5234fb,_0x174a9e?.[0x1]),_0x5234fb;}function addTable(_0x5507b6,_0x6b8a3d){const _0x28d2ee=a241_0x34dcee,_0x342e6a=_0x6b8a3d?.[_0x28d2ee(0x107)](/[`"]/g,'');_0x342e6a&&_0x342e6a!==UNRESOLVED_SQL_FRAGMENT&&!_0x5507b6['includes'](_0x342e6a)&&_0x5507b6['push'](_0x342e6a);}function extractParameters(_0x22e8a9){const _0xf1e058=a241_0x34dcee,_0x360ee7=new Set();for(const _0x54d02f of _0x22e8a9[_0xf1e058(0xe9)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x54d02f[0x1])_0x360ee7[_0xf1e058(0x10d)](_0x54d02f[0x1]);}return Array[_0xf1e058(0x10b)](_0x360ee7);}function a241_0x1406(_0x212930,_0x43a7d2){_0x212930=_0x212930-0xda;const _0x305208=a241_0x3052();let _0x1406c9=_0x305208[_0x212930];return _0x1406c9;}export function validateSql(_0x25526f){const _0x843a1c=a241_0x34dcee,_0x256a68=normalizeSqlForStaticAnalysis(_0x25526f),_0x54dd25=detectNormalizedSqlType(_0x256a68),_0x47a305=stripStaticAnalysisMarkers(_0x256a68['sql']),_0x547e3c=_0x256a68[_0x843a1c(0x12e)]?[]:extractTables(_0x47a305),_0x2e0004=_0x256a68['error']?[]:extractParameters(_0x47a305);if(_0x54dd25['isDangerous'])return{'valid':![],'sqlType':_0x54dd25,'tables':_0x547e3c,'parameters':_0x2e0004,'message':_0x54dd25[_0x843a1c(0xf8)]||_0x54dd25[_0x843a1c(0x113)]+_0x843a1c(0x133)};if(_0x54dd25[_0x843a1c(0x113)]==='UNKNOWN')return{'valid':![],'sqlType':_0x54dd25,'tables':_0x547e3c,'parameters':_0x2e0004,'message':_0x256a68[_0x843a1c(0x12e)]?_0x843a1c(0x128)+_0x256a68[_0x843a1c(0x12e)]:_0x843a1c(0xdc)};return{'valid':!![],'sqlType':_0x54dd25,'tables':_0x547e3c,'parameters':_0x2e0004,'message':_0x54dd25[_0x843a1c(0x113)]+_0x843a1c(0xee)+(_0x547e3c[_0x843a1c(0x104)]?_0x547e3c[_0x843a1c(0x10e)](',\x20'):'unknown\x20table(s)')+(_0x2e0004['length']?_0x843a1c(0xda)+_0x2e0004[_0x843a1c(0x10e)](',\x20'):'')};}
|
|
1
|
+
const a243_0x4d64fe=a243_0x3628;(function(_0x546171,_0x35c77e){const _0x3ed1a7=a243_0x3628,_0x596242=_0x546171();while(!![]){try{const _0x23da79=-parseInt(_0x3ed1a7(0xd0))/0x1*(-parseInt(_0x3ed1a7(0x82))/0x2)+-parseInt(_0x3ed1a7(0x7c))/0x3+parseInt(_0x3ed1a7(0x81))/0x4+-parseInt(_0x3ed1a7(0xd2))/0x5*(parseInt(_0x3ed1a7(0xb4))/0x6)+parseInt(_0x3ed1a7(0xaa))/0x7+parseInt(_0x3ed1a7(0x79))/0x8*(parseInt(_0x3ed1a7(0x87))/0x9)+-parseInt(_0x3ed1a7(0x7b))/0xa;if(_0x23da79===_0x35c77e)break;else _0x596242['push'](_0x596242['shift']());}catch(_0x3b2260){_0x596242['push'](_0x596242['shift']());}}}(a243_0x2456,0xcd450));const MYBATIS_OUTER_TAGS=new Map([['select','SELECT'],[a243_0x4d64fe(0xc3),a243_0x4d64fe(0x90)],['update','UPDATE'],[a243_0x4d64fe(0xa8),a243_0x4d64fe(0xd5)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a243_0x4d64fe(0x91),a243_0x4d64fe(0xc5),a243_0x4d64fe(0xc2),a243_0x4d64fe(0xa1),a243_0x4d64fe(0xaf),'trim',a243_0x4d64fe(0x93),a243_0x4d64fe(0xd1),'include',a243_0x4d64fe(0x92)]),MYBATIS_BRANCH_TAGS=new Set(['if',a243_0x4d64fe(0xc5),a243_0x4d64fe(0xc2),a243_0x4d64fe(0xa1),a243_0x4d64fe(0xaf)]);export const MYBATIS_DYNAMIC_START_MARKER=a243_0x4d64fe(0x88);export const MYBATIS_DYNAMIC_END_MARKER='__RABETBASE_MYBATIS_DYNAMIC_END__';export const MYBATIS_INCLUDE_MARKER=a243_0x4d64fe(0xcd);const UNRESOLVED_SQL_FRAGMENT=a243_0x4d64fe(0xa7),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a243_0x4d64fe(0xbd)+[...MYBATIS_OUTER_TAGS[a243_0x4d64fe(0x95)]()]['join']('|')+a243_0x4d64fe(0xc8),'i');function a243_0x3628(_0x4ad137,_0x4f7bab){_0x4ad137=_0x4ad137-0x76;const _0x2456a5=a243_0x2456();let _0x3628d6=_0x2456a5[_0x4ad137];return _0x3628d6;}export function normalizeSqlForStaticAnalysis(_0x4a2729){const _0x21089f=a243_0x4d64fe,_0x510afa=typeof _0x4a2729===_0x21089f(0xb8)?_0x4a2729:'';if(!startsWithMybatisStatementWrapper(_0x510afa))return{'sql':_0x510afa,'mode':_0x21089f(0x9a)};let _0x417812=0x0,_0x3790ae='',_0x28a09f,_0x5465ed=![],_0x1815d2=![];const _0x5d189f=[];while(_0x417812<_0x510afa[_0x21089f(0xa4)]){if(_0x510afa['startsWith'](_0x21089f(0xab),_0x417812)){const _0x513f63=_0x510afa[_0x21089f(0xbf)]('-->',_0x417812+0x4);if(_0x513f63<0x0)return invalidMybatisSource('Unterminated\x20XML\x20comment.');_0x3790ae+='\x20',_0x417812=_0x513f63+0x3;continue;}if(_0x510afa[_0x21089f(0xd4)](_0x21089f(0xbb),_0x417812)){if(!_0x5465ed||_0x1815d2)return invalidMybatisSource('CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x4e2490=_0x510afa[_0x21089f(0xbf)](_0x21089f(0xce),_0x417812+0x9);if(_0x4e2490<0x0)return invalidMybatisSource('Unterminated\x20CDATA\x20section.');_0x3790ae+=_0x510afa['slice'](_0x417812+0x9,_0x4e2490),_0x417812=_0x4e2490+0x3;continue;}if(_0x510afa[_0x21089f(0xd4)]('<?',_0x417812)){if(_0x5465ed)return invalidMybatisSource(_0x21089f(0xb6));const _0x4240fb=_0x510afa[_0x21089f(0xbf)]('?>',_0x417812+0x2);if(_0x4240fb<0x0)return invalidMybatisSource(_0x21089f(0xa0));_0x3790ae+='\x20',_0x417812=_0x4240fb+0x2;continue;}if(_0x510afa[_0x417812]!=='<'){const _0x36c9ad=_0x510afa[_0x21089f(0xbf)]('<',_0x417812),_0x35612f=_0x36c9ad<0x0?_0x510afa[_0x21089f(0xa4)]:_0x36c9ad,_0x45af2a=_0x510afa[_0x21089f(0xb2)](_0x417812,_0x35612f);if((!_0x5465ed||_0x1815d2)&&_0x45af2a[_0x21089f(0xc0)]())return invalidMybatisSource(_0x21089f(0xb9));if(_0x5465ed&&!_0x1815d2){const _0x57e581=decodeXmlEntities(_0x45af2a);if(_0x57e581===null)return invalidMybatisSource('Invalid\x20XML\x20entity\x20reference.');_0x3790ae+=_0x57e581;}else _0x3790ae+='\x20';_0x417812=_0x35612f;continue;}const _0x1b31c5=findXmlTagEnd(_0x510afa,_0x417812);if(_0x1b31c5<0x0)return invalidMybatisSource(_0x21089f(0xa9));const _0x11b065=_0x510afa['slice'](_0x417812,_0x1b31c5+0x1),_0x2451c3=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x21089f(0xb0)](_0x11b065);if(!_0x2451c3)return invalidMybatisSource(_0x21089f(0x8e));const _0x5048cf=_0x2451c3[0x1]==='/',_0x4374b8=_0x2451c3[0x2]??'',_0x2871e3=_0x4374b8[_0x21089f(0x7d)](),_0x599884=_0x2451c3[0x3]??'',_0x29b33d=_0x2451c3[0x4]==='/',_0x1a748c=MYBATIS_OUTER_TAGS['get'](_0x2871e3);if(!_0x1a748c&&!MYBATIS_DYNAMIC_TAGS[_0x21089f(0x76)](_0x2871e3))return invalidMybatisSource(_0x21089f(0xc1)+_0x2871e3+'>.');if(!_0x1a748c&&_0x4374b8!==_0x2871e3)return invalidMybatisSource(_0x21089f(0x78)+_0x4374b8+'>.');if(_0x5048cf){if(_0x599884[_0x21089f(0xc0)]()||_0x29b33d)return invalidMybatisSource(_0x21089f(0x96)+_0x4374b8+'>.');const _0x1ee3dd=_0x5d189f['at'](-0x1);if(!_0x1ee3dd||(_0x1ee3dd[_0x21089f(0xc9)]?_0x1ee3dd[_0x21089f(0xae)]!==_0x2871e3:_0x1ee3dd[_0x21089f(0x80)]!==_0x4374b8))return invalidMybatisSource(_0x21089f(0xcb)+_0x4374b8+'>.');_0x5d189f[_0x21089f(0xb5)]();if(_0x1ee3dd[_0x21089f(0xc9)])_0x1815d2=!![];_0x3790ae+=MYBATIS_BRANCH_TAGS[_0x21089f(0x76)](_0x2871e3)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x599884))return invalidMybatisSource(_0x21089f(0xbe)+_0x4374b8+'>.');if(_0x2871e3===_0x21089f(0x92)&&(!_0x29b33d||_0x5d189f['at'](-0x1)?.[_0x21089f(0xae)]!==_0x21089f(0xca)))return invalidMybatisSource('MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.');if(_0x1a748c){if(_0x5465ed||_0x5d189f[_0x21089f(0xa4)]>0x0)return invalidMybatisSource(_0x21089f(0x94));_0x5465ed=!![],_0x1815d2=_0x29b33d,_0x28a09f=_0x1a748c;}else{if(!_0x5465ed||_0x1815d2)return invalidMybatisSource(_0x21089f(0xcf)+_0x4374b8+'>.');}_0x3790ae+=_0x2871e3===_0x21089f(0x91)?_0x21089f(0x83):_0x2871e3===_0x21089f(0x93)?_0x21089f(0xad):_0x2871e3===_0x21089f(0xca)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x2871e3)&&!_0x29b33d?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x29b33d&&_0x5d189f[_0x21089f(0x89)]({'rawName':_0x4374b8,'tagName':_0x2871e3,'outer':!!_0x1a748c});}_0x417812=_0x1b31c5+0x1;}if(_0x5d189f['length']>0x0)return invalidMybatisSource(_0x21089f(0x9b)+_0x5d189f['at'](-0x1)?.['rawName']+'>.');if(!_0x5465ed||!_0x1815d2)return invalidMybatisSource('MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.');return{'sql':_0x3790ae[_0x21089f(0xc0)](),'mode':_0x21089f(0x77),..._0x28a09f?{'statementType':_0x28a09f}:{}};}function hasWellFormedXmlAttributes(_0x54b7c0){const _0x2bcdbf=a243_0x4d64fe;let _0x9c8596=0x0;const _0x6c0bde=new Set();while(_0x9c8596<_0x54b7c0['length']){while(_0x9c8596<_0x54b7c0[_0x2bcdbf(0xa4)]&&/\s/[_0x2bcdbf(0xc7)](_0x54b7c0[_0x9c8596]??''))_0x9c8596+=0x1;if(_0x9c8596>=_0x54b7c0[_0x2bcdbf(0xa4)])return!![];const _0x28f602=/^[A-Za-z_:][\w:.-]*/[_0x2bcdbf(0xb0)](_0x54b7c0[_0x2bcdbf(0xb2)](_0x9c8596)),_0x3ec2fe=_0x28f602?.[0x0];if(!_0x3ec2fe||_0x6c0bde['has'](_0x3ec2fe))return![];_0x6c0bde['add'](_0x3ec2fe),_0x9c8596+=_0x3ec2fe[_0x2bcdbf(0xa4)];while(_0x9c8596<_0x54b7c0[_0x2bcdbf(0xa4)]&&/\s/[_0x2bcdbf(0xc7)](_0x54b7c0[_0x9c8596]??''))_0x9c8596+=0x1;if(_0x54b7c0[_0x9c8596]!=='=')return![];_0x9c8596+=0x1;while(_0x9c8596<_0x54b7c0[_0x2bcdbf(0xa4)]&&/\s/['test'](_0x54b7c0[_0x9c8596]??''))_0x9c8596+=0x1;const _0x502b29=_0x54b7c0[_0x9c8596];if(_0x502b29!=='\x22'&&_0x502b29!=='\x27')return![];_0x9c8596+=0x1;const _0x2e3448=_0x54b7c0[_0x2bcdbf(0xbf)](_0x502b29,_0x9c8596);if(_0x2e3448<0x0)return![];if(decodeXmlEntities(_0x54b7c0['slice'](_0x9c8596,_0x2e3448))===null)return![];_0x9c8596=_0x2e3448+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x276376){const _0x24c7ee=a243_0x4d64fe;let _0x52119d=0x0;const _0x543621=()=>{while(_0x52119d<_0x276376['length']&&/\s/['test'](_0x276376[_0x52119d]??''))_0x52119d+=0x1;};_0x543621();while(_0x52119d<_0x276376['length']){if(_0x276376[_0x24c7ee(0xd4)]('<!--',_0x52119d)){const _0x43a6a9=_0x276376[_0x24c7ee(0xbf)](_0x24c7ee(0x9d),_0x52119d+0x4);if(_0x43a6a9<0x0)return!![];_0x52119d=_0x43a6a9+0x3,_0x543621();continue;}if(_0x276376[_0x24c7ee(0xd4)]('<?',_0x52119d)){const _0x4b6bcf=_0x276376[_0x24c7ee(0xbf)]('?>',_0x52119d+0x2);if(_0x4b6bcf<0x0)return!![];_0x52119d=_0x4b6bcf+0x2,_0x543621();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x24c7ee(0xc7)](_0x276376[_0x24c7ee(0xb2)](_0x52119d));}function invalidMybatisSource(_0x59743a){return{'sql':'','mode':'mybatisXml','error':_0x59743a};}function findXmlTagEnd(_0xad012e,_0x5dac77){const _0x334c58=a243_0x4d64fe;let _0x17a347;for(let _0x2e1d0f=_0x5dac77+0x1;_0x2e1d0f<_0xad012e[_0x334c58(0xa4)];_0x2e1d0f+=0x1){const _0x18cccf=_0xad012e[_0x2e1d0f];if(_0x17a347){if(_0x18cccf===_0x17a347)_0x17a347=undefined;continue;}if(_0x18cccf==='\x22'||_0x18cccf==='\x27'){_0x17a347=_0x18cccf;continue;}if(_0x18cccf==='>')return _0x2e1d0f;}return-0x1;}function a243_0x2456(){const _0x31f907=['SQL\x20content\x20is\x20empty','slice','from','602124qUNHgd','pop','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','SELECT','string','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','<![CDATA[','fromCodePoint','^<\x5cs*(?:','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','indexOf','trim','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','choose','insert','"','foreach','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','test',')\x5cb','outer','include','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','UPDATE','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__',']]>','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','6059VRFnTt','bind','70ikOitP','>','startsWith','DELETE','has','mybatisXml','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','1480OQpWeb','error','12490980ALPkHp','204165XOtFTF','toLowerCase','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','\x20with\x20parameters:\x20','rawName','2755300UhSZir','444qzIqUD','\x20WHERE\x20','<','WITH','\x20query\x20targeting\x20','37944Gliroe','__RABETBASE_MYBATIS_DYNAMIC_START__','push','statementType','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','join','match','Invalid\x20MyBatis\x20XML\x20tag.','replace','INSERT','where','property','set','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','keys','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','toUpperCase','matchAll','&','sql','Unclosed\x20MyBatis\x20XML\x20tag:\x20<',''','-->','type','UNKNOWN','Unterminated\x20XML\x20declaration.','when','DDL','Unable\x20to\x20detect\x20SQL\x20type.\x20','length','split','includes','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','delete','Unterminated\x20MyBatis\x20XML\x20tag.','5243070WyzcuQ','<!--','isDangerous','\x20SET\x20','tagName','otherwise','exec'];a243_0x2456=function(){return _0x31f907;};return a243_0x2456();}function decodeXmlEntities(_0x4deb27){const _0x46a869=a243_0x4d64fe;let _0x1ef705=![];const _0xbbf344=_0x4deb27[_0x46a869(0x8f)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x20d19a=>{const _0x2836f3=_0x46a869;if(_0x20d19a===_0x2836f3(0x84))return'<';if(_0x20d19a===_0x2836f3(0xd3))return'>';if(_0x20d19a===_0x2836f3(0xc4))return'\x22';if(_0x20d19a===_0x2836f3(0x9c))return'\x27';if(_0x20d19a===_0x2836f3(0x99))return'&';const _0x3f6b74=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x20d19a);if(_0x3f6b74){const _0x339271=_0x3f6b74[0x1],_0x134856=_0x3f6b74[0x2],_0x15e97f=Number['parseInt'](_0x339271??_0x134856??'',_0x339271?0x10:0xa);if(isValidXmlCharacter(_0x15e97f))return String[_0x2836f3(0xbc)](_0x15e97f);}return _0x1ef705=!![],'';});return _0x1ef705?null:_0xbbf344;}function isValidXmlCharacter(_0x1d4782){return _0x1d4782===0x9||_0x1d4782===0xa||_0x1d4782===0xd||_0x1d4782>=0x20&&_0x1d4782<=0xd7ff||_0x1d4782>=0xe000&&_0x1d4782<=0xfffd||_0x1d4782>=0x10000&&_0x1d4782<=0x10ffff;}export function detectSqlType(_0x55b29b){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x55b29b));}function detectNormalizedSqlType(_0x35eb41){const _0x232333=a243_0x4d64fe;if(_0x35eb41[_0x232333(0x7a)])return{'type':_0x232333(0x9f),'isSelectOnly':![],'isDangerous':![],'reason':_0x35eb41[_0x232333(0x7a)]};if(!_0x35eb41['sql'][_0x232333(0xc0)]())return{'type':_0x232333(0x9f),'isSelectOnly':![],'isDangerous':![],'reason':_0x232333(0xb1)};const _0x43a2df=stripStaticAnalysisMarkers(_0x35eb41[_0x232333(0x9a)])[_0x232333(0x8f)](/#\{[^}]*\}/g,'?')[_0x232333(0x8f)](/\$\{[^}]*\}/g,'?')['replace'](/@[^(\s]+(\([^)]*\))?/g,'')['replace'](/\/\*[\s\S]*?\*\//g,'')[_0x232333(0xc0)](),_0x5d193f=_0x43a2df[_0x232333(0xa5)]('\x0a');let _0x2530fe='';for(const _0x470743 of _0x5d193f){const _0x1e792c=_0x470743['trim']();if(!_0x1e792c||_0x1e792c[_0x232333(0xd4)]('--')||_0x1e792c['startsWith']('/*'))continue;_0x2530fe=_0x1e792c;break;}const _0x4e681b=_0x2530fe[_0x232333(0x97)](),_0xed2b52=_0x35eb41[_0x232333(0x8a)],_0xf6f03d=maskSqlTextForBlockedKeywordScan(_0x43a2df),_0x3153e4=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x232333(0xc7)](_0xf6f03d);if(_0xed2b52===_0x232333(0xb7)||!_0xed2b52&&(_0x4e681b[_0x232333(0xd4)](_0x232333(0xb7))||_0x4e681b[_0x232333(0xd4)](_0x232333(0x85)))){const _0x3b5d0d=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x232333(0xc7)](_0x43a2df);return{'type':_0x232333(0xb7),'isSelectOnly':!_0x3b5d0d,'isDangerous':_0x3b5d0d,'reason':_0x3b5d0d?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0xed2b52===_0x232333(0x90)||!_0xed2b52&&_0x4e681b[_0x232333(0xd4)](_0x232333(0x90)))return{'type':_0x232333(0x90),'isSelectOnly':![],'isDangerous':_0x3153e4,'reason':_0x3153e4?_0x232333(0xba):undefined};if(_0xed2b52===_0x232333(0xcc)||!_0xed2b52&&_0x4e681b['startsWith'](_0x232333(0xcc)))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x3153e4,'reason':_0x3153e4?_0x232333(0xba):undefined};if(_0xed2b52===_0x232333(0xd5)||!_0xed2b52&&_0x4e681b[_0x232333(0xd4)](_0x232333(0xd5)))return{'type':_0x232333(0xd5),'isSelectOnly':![],'isDangerous':!![],'reason':_0x232333(0x7e)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i['test'](_0x4e681b))return{'type':_0x232333(0xa2),'isSelectOnly':![],'isDangerous':!![],'reason':_0x232333(0x8b)};return{'type':_0x232333(0x9f),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x5c7e31){return _0x5c7e31['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x2398d0){const _0x1832f0=a243_0x4d64fe;return _0x2398d0[_0x1832f0(0x8f)](/'(?:''|\\.|[^'])*'/g,'\x20')['replace'](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x1832f0(0x8f)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x399443){const _0x42a440=a243_0x4d64fe,_0x27ccfd=_0x399443[_0x42a440(0x8f)](/#\{[^}]*\}/g,'?')[_0x42a440(0x8f)](/\$\{[^}]*\}/g,'?')[_0x42a440(0x8f)](/'[^']*'/g,'\x27\x27')['replace'](/--.*$/gm,'')[_0x42a440(0x8f)](/\/\*[\s\S]*?\*\//g,''),_0x199a50=[],_0x4f3929=_0x27ccfd[_0x42a440(0x8d)](/FROM\s+([^\s,)(]+)/i);addTable(_0x199a50,_0x4f3929?.[0x1]);for(const _0x12da23 of _0x27ccfd[_0x42a440(0x98)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x199a50,_0x12da23[0x1]);}const _0x431747=_0x27ccfd[_0x42a440(0x8d)](/INTO\s+([^\s(]+)/i);addTable(_0x199a50,_0x431747?.[0x1]);const _0x1970d6=_0x27ccfd['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x199a50,_0x1970d6?.[0x1]),_0x199a50;}function addTable(_0x2ea67f,_0x19ddef){const _0x3d7181=a243_0x4d64fe,_0x50b9b1=_0x19ddef?.['replace'](/[`"]/g,'');_0x50b9b1&&_0x50b9b1!==UNRESOLVED_SQL_FRAGMENT&&!_0x2ea67f[_0x3d7181(0xa6)](_0x50b9b1)&&_0x2ea67f['push'](_0x50b9b1);}function extractParameters(_0x1c43ad){const _0x2e3151=a243_0x4d64fe,_0x1cc05a=new Set();for(const _0x12c005 of _0x1c43ad[_0x2e3151(0x98)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x12c005[0x1])_0x1cc05a['add'](_0x12c005[0x1]);}return Array[_0x2e3151(0xb3)](_0x1cc05a);}export function validateSql(_0xd8336f){const _0x1d2b27=a243_0x4d64fe,_0xfd080a=normalizeSqlForStaticAnalysis(_0xd8336f),_0x439230=detectNormalizedSqlType(_0xfd080a),_0x108df4=stripStaticAnalysisMarkers(_0xfd080a[_0x1d2b27(0x9a)]),_0x836cdb=_0xfd080a['error']?[]:extractTables(_0x108df4),_0x3ae3cf=_0xfd080a['error']?[]:extractParameters(_0x108df4);if(_0x439230[_0x1d2b27(0xac)])return{'valid':![],'sqlType':_0x439230,'tables':_0x836cdb,'parameters':_0x3ae3cf,'message':_0x439230['reason']||_0x439230[_0x1d2b27(0x9e)]+_0x1d2b27(0xc6)};if(_0x439230['type']===_0x1d2b27(0x9f))return{'valid':![],'sqlType':_0x439230,'tables':_0x836cdb,'parameters':_0x3ae3cf,'message':_0xfd080a[_0x1d2b27(0x7a)]?_0x1d2b27(0xa3)+_0xfd080a['error']:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0x439230,'tables':_0x836cdb,'parameters':_0x3ae3cf,'message':_0x439230[_0x1d2b27(0x9e)]+_0x1d2b27(0x86)+(_0x836cdb[_0x1d2b27(0xa4)]?_0x836cdb[_0x1d2b27(0x8c)](',\x20'):'unknown\x20table(s)')+(_0x3ae3cf[_0x1d2b27(0xa4)]?_0x1d2b27(0x7f)+_0x3ae3cf['join'](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a244_0x5b0069=a244_0x8e99;function a244_0x1dbc(){const _0x3b01d6=['\x20project\x20directory','9UvVFtm','4LQChAN','Network\x20error:\x20','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.\x0a\x20\x20\x20\x20\x20\x20\x20Tip:\x20`','5132485tviUro','11717486UJGnlh','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','Run\x20`','\x20--help`\x20to\x20see\x20available\x20commands.','3013PrHTPf','Missing\x20required\x20flag:\x20--','flag_missing','apiError','3655120okSIgu','Check\x20your\x20internet\x20connection\x20and\x20try\x20again.','1958148njmRWB','7096704KorOrW','unknown_command','6lRBlUv','network_error','\x20auth`\x20to\x20login\x20first.','Configuration\x20file\x20not\x20found','12MLsePN','258yzuHQa','Authentication\x20required','2188921ISSPko'];a244_0x1dbc=function(){return _0x3b01d6;};return a244_0x1dbc();}function a244_0x8e99(_0x3133c1,_0x14555a){_0x3133c1=_0x3133c1-0x1d6;const _0x1dbc29=a244_0x1dbc();let _0x8e995a=_0x1dbc29[_0x3133c1];return _0x8e995a;}(function(_0x3c82e2,_0x3dba14){const _0x1cb05a=a244_0x8e99,_0x17f700=_0x3c82e2();while(!![]){try{const _0x2e7084=-parseInt(_0x1cb05a(0x1e7))/0x1*(-parseInt(_0x1cb05a(0x1da))/0x2)+-parseInt(_0x1cb05a(0x1ed))/0x3+-parseInt(_0x1cb05a(0x1df))/0x4*(parseInt(_0x1cb05a(0x1e2))/0x5)+-parseInt(_0x1cb05a(0x1f0))/0x6*(-parseInt(_0x1cb05a(0x1dc))/0x7)+parseInt(_0x1cb05a(0x1ee))/0x8+-parseInt(_0x1cb05a(0x1de))/0x9*(parseInt(_0x1cb05a(0x1eb))/0xa)+parseInt(_0x1cb05a(0x1e3))/0xb*(parseInt(_0x1cb05a(0x1d9))/0xc);if(_0x2e7084===_0x3dba14)break;else _0x17f700['push'](_0x17f700['shift']());}catch(_0x5d3f18){_0x17f700['push'](_0x17f700['shift']());}}}(a244_0x1dbc,0x94ac9));import{CliError,createCliErrors}from'@lovrabet/cli-framework';import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};const baseCliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':a244_0x5b0069(0x1e5)+CLI_BIN_NAME+a244_0x5b0069(0x1d7),'configMissingHint':'Set\x20appcode\x20via\x20`'+CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.\x0a\x20\x20\x20\x20\x20\x20\x20Tip:\x20`'+CLI_BIN_NAME+'\x20workspace\x20add\x20<name>\x20--appcode\x20<code>\x20--global`\x20registers\x20a\x20reusable\x20global\x20app\x20profile.','notInProjectHint':a244_0x5b0069(0x1e4)});export const CliErrors={'authRequired'(_0x1b657a){const _0x35bbfd=a244_0x5b0069;return new CliError('auth_required',0x1,_0x35bbfd(0x1db),_0x1b657a??'Run\x20`'+CLI_BIN_NAME+'\x20auth`\x20to\x20login\x20first.');},'configMissing'(_0x299885){const _0x55ab9f=a244_0x5b0069;return new CliError('config_missing',0x1,_0x55ab9f(0x1d8),_0x299885??'Set\x20appcode\x20via\x20`'+CLI_BIN_NAME+_0x55ab9f(0x1e1)+CLI_BIN_NAME+'\x20workspace\x20add\x20<name>\x20--appcode\x20<code>\x20--global`\x20registers\x20a\x20reusable\x20global\x20app\x20profile.');},'notInProject'(){const _0x4c8dbb=a244_0x5b0069;return new CliError('not_in_project',0x1,'Not\x20in\x20a\x20'+CLI_BIN_NAME+_0x4c8dbb(0x1dd),_0x4c8dbb(0x1e4));},'apiError'(_0x2491ae,_0x27c84e){const _0x5464ac=a244_0x5b0069;return baseCliErrors[_0x5464ac(0x1ea)](_0x2491ae,_0x27c84e);},'networkError'(_0x3c50b7){const _0x2f2026=a244_0x5b0069;return new CliError(_0x2f2026(0x1d6),0x2,_0x2f2026(0x1e0)+_0x3c50b7,_0x2f2026(0x1ec));},'unknownCommand'(_0x41f04d){const _0x2bdd70=a244_0x5b0069;return new CliError(_0x2bdd70(0x1ef),0x1,'Unknown\x20command:\x20'+_0x41f04d,_0x2bdd70(0x1e5)+CLI_BIN_NAME+_0x2bdd70(0x1e6));},'flagMissing'(_0xef7e2c,_0x5389ac){const _0x5c655d=a244_0x5b0069;return new CliError(_0x5c655d(0x1e9),0x1,_0x5c655d(0x1e8)+_0xef7e2c,_0x5389ac);},'validation'(_0x1b990e,_0x4462ca){return baseCliErrors['validation'](_0x1b990e,_0x4462ca);},'cancelled'(_0x94e8c){return new CliError('cancelled',0x0,_0x94e8c??'Operation\x20cancelled.');}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a245_0x4a5d(){const _0x459c50=['9wonSpy','4057464rOwfnU','10789vwWKIH','map','69515ktDkfc','6515894VvtfIG','238EfIaNK','6675832sPCaSv','10sUvqkE','402PuiGtM','1839309rcVKVL','name','29986kINabe'];a245_0x4a5d=function(){return _0x459c50;};return a245_0x4a5d();}function a245_0x4780(_0x1c1386,_0xd63f33){_0x1c1386=_0x1c1386-0x11e;const _0x4a5d45=a245_0x4a5d();let _0x478015=_0x4a5d45[_0x1c1386];return _0x478015;}(function(_0x2d1f27,_0x246471){const _0x56fea4=a245_0x4780,_0x239196=_0x2d1f27();while(!![]){try{const _0x402611=parseInt(_0x56fea4(0x129))/0x1*(parseInt(_0x56fea4(0x120))/0x2)+-parseInt(_0x56fea4(0x124))/0x3+parseInt(_0x56fea4(0x128))/0x4+parseInt(_0x56fea4(0x11e))/0x5*(parseInt(_0x56fea4(0x123))/0x6)+-parseInt(_0x56fea4(0x11f))/0x7+-parseInt(_0x56fea4(0x121))/0x8*(parseInt(_0x56fea4(0x127))/0x9)+-parseInt(_0x56fea4(0x122))/0xa*(-parseInt(_0x56fea4(0x126))/0xb);if(_0x402611===_0x246471)break;else _0x239196['push'](_0x239196['shift']());}catch(_0x611dd4){_0x239196['push'](_0x239196['shift']());}}}(a245_0x4a5d,0xd082c));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';import{buildAllFlags as a245_0x15ccb7}from'@lovrabet/cli-framework';import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x22fd43){const _0x467f9d=a245_0x4780,_0x2e4d92=a245_0x15ccb7(_0x22fd43,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x22fd43))return _0x2e4d92;return _0x2e4d92[_0x467f9d(0x12a)](_0x2b117d=>_0x2b117d[_0x467f9d(0x125)]==='yes'?{..._0x2b117d,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x2b117d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3a8bd5,_0x1a4e89){var _0x24fb61=a246_0x238b,_0x15e18d=_0x3a8bd5();while(!![]){try{var _0x5603ab=-parseInt(_0x24fb61(0xbf))/0x1*(-parseInt(_0x24fb61(0xc3))/0x2)+-parseInt(_0x24fb61(0xbe))/0x3+parseInt(_0x24fb61(0xc2))/0x4+-parseInt(_0x24fb61(0xc8))/0x5+parseInt(_0x24fb61(0xc5))/0x6*(-parseInt(_0x24fb61(0xc4))/0x7)+-parseInt(_0x24fb61(0xca))/0x8*(parseInt(_0x24fb61(0xc9))/0x9)+parseInt(_0x24fb61(0xbd))/0xa;if(_0x5603ab===_0x1a4e89)break;else _0x15e18d['push'](_0x15e18d['shift']());}catch(_0x316b43){_0x15e18d['push'](_0x15e18d['shift']());}}}(a246_0x310c,0x74a61));import{resolveOutputConfig}from'@lovrabet/cli-framework';export function usesStructuredErrorOutput(_0x2fd435){var _0x15adf7=a246_0x238b;return _0x2fd435?.[_0x15adf7(0xc1)]===!![];}function a246_0x310c(){var _0x294de8=['def','2358435iCevsR','90MxhXUC','244344Mbrxch','defaultFormat','flags','18073780aYNids','1182123GRvKzt','20htlriy','format','structuredErrors','523628QMYKfU','22476SJoTTq','49WPEPzY','440652diHQcH','compress'];a246_0x310c=function(){return _0x294de8;};return a246_0x310c();}function a246_0x238b(_0x18f93a,_0x5a1859){_0x18f93a=_0x18f93a-0xbd;var _0x310c43=a246_0x310c();var _0x238b15=_0x310c43[_0x18f93a];return _0x238b15;}export function resolveErrorOutputFormat(_0x32558c){var _0x10fa0d=a246_0x238b;if(!_0x32558c[_0x10fa0d(0xc7)])return _0x32558c[_0x10fa0d(0xcb)]??_0x10fa0d(0xc6);return resolveOutputConfig({'flags':_0x32558c[_0x10fa0d(0xcc)]??{},'def':_0x32558c[_0x10fa0d(0xc7)],'configDefault':_0x32558c[_0x10fa0d(0xcb)]})[_0x10fa0d(0xc0)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a247_0x5d1115=a247_0x2504;(function(_0x271cb2,_0x570f52){const _0x1569b2=a247_0x2504,_0x5a6369=_0x271cb2();while(!![]){try{const _0x5d0dca=parseInt(_0x1569b2(0x1bb))/0x1*(parseInt(_0x1569b2(0x1b8))/0x2)+parseInt(_0x1569b2(0x1c6))/0x3+-parseInt(_0x1569b2(0x1c8))/0x4*(-parseInt(_0x1569b2(0x1c5))/0x5)+parseInt(_0x1569b2(0x1c1))/0x6+parseInt(_0x1569b2(0x1b6))/0x7+parseInt(_0x1569b2(0x1c4))/0x8*(-parseInt(_0x1569b2(0x1bf))/0x9)+-parseInt(_0x1569b2(0x1c0))/0xa*(parseInt(_0x1569b2(0x1be))/0xb);if(_0x5d0dca===_0x570f52)break;else _0x5a6369['push'](_0x5a6369['shift']());}catch(_0x437000){_0x5a6369['push'](_0x5a6369['shift']());}}}(a247_0x1a49,0x90194));function a247_0x2504(_0x5508ea,_0x4a95a1){_0x5508ea=_0x5508ea-0x1b6;const _0x1a4909=a247_0x1a49();let _0x2504f1=_0x1a4909[_0x5508ea];return _0x2504f1;}const EXPLICIT_YES_COMMANDS=new Set([a247_0x5d1115(0x1b9),a247_0x5d1115(0x1c7),a247_0x5d1115(0x1ba),a247_0x5d1115(0x1bc)]);function a247_0x1a49(){const _0x2bee27=['10Foiokc','3941448IJAxZO','command','has','56GWJmHn','5uVJwVb','1533978ZQMsVs','kb\x20delete','395996uDaqBb','1263836sbXPBb','Required\x20for\x20execution\x20after\x20reviewing\x20the\x20--dry-run\x20plan','116PLZxPs','menu\x20delete','notification\x20config-update','14959vBpmbJ','notification\x20config-delete','service','10847419QHuqvQ','950202XpRISj'];a247_0x1a49=function(){return _0x2bee27;};return a247_0x1a49();}export const EXPLICIT_YES_FLAG_DESCRIPTION=a247_0x5d1115(0x1b7);export function requiresExplicitYes(_0x448547){const _0x5a0103=a247_0x5d1115;return EXPLICIT_YES_COMMANDS[_0x5a0103(0x1c3)](_0x448547[_0x5a0103(0x1bd)]+'\x20'+_0x448547[_0x5a0103(0x1c2)]);}
|
package/lib/framework/flags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a248_0x13b588=a248_0x4ecb;function a248_0x4ecb(_0x1a727c,_0x1d6406){_0x1a727c=_0x1a727c-0x133;const _0x381794=a248_0x3817();let _0x4ecb7e=_0x381794[_0x1a727c];return _0x4ecb7e;}function a248_0x3817(){const _0x130941=['parseFlags','227143RWBbzx','18glRuFl','99CHeKdk','validateFlags','146039yNZxNp','188890UoZHMp','4668QjrMgu','535nAhKaD','351084GXFgjf','56wNZvXE','398652GAAQCC','20fZiBEO','44244jGtXrk'];a248_0x3817=function(){return _0x130941;};return a248_0x3817();}(function(_0x4efc24,_0x3d166c){const _0x32116c=a248_0x4ecb,_0x45cbb1=_0x4efc24();while(!![]){try{const _0x4d4f97=parseInt(_0x32116c(0x13d))/0x1+-parseInt(_0x32116c(0x136))/0x2*(parseInt(_0x32116c(0x137))/0x3)+parseInt(_0x32116c(0x133))/0x4+parseInt(_0x32116c(0x140))/0x5*(parseInt(_0x32116c(0x13f))/0x6)+parseInt(_0x32116c(0x139))/0x7*(-parseInt(_0x32116c(0x134))/0x8)+parseInt(_0x32116c(0x13a))/0x9*(-parseInt(_0x32116c(0x13e))/0xa)+-parseInt(_0x32116c(0x13b))/0xb*(-parseInt(_0x32116c(0x135))/0xc);if(_0x4d4f97===_0x3d166c)break;else _0x45cbb1['push'](_0x45cbb1['shift']());}catch(_0x3f5dbb){_0x45cbb1['push'](_0x45cbb1['shift']());}}}(a248_0x3817,0x31b7c));import{createFlagHelpers}from'@lovrabet/cli-framework';import{CliErrors}from'../errors.js';const helpers=createFlagHelpers(CliErrors);export const parseFlags=helpers[a248_0x13b588(0x138)];export const validateFlags=helpers[a248_0x13b588(0x13c)];
|
package/lib/framework/help.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c5ecf,_0x286979){const _0x2019fb=a249_0x35af,_0x56fdd4=_0x1c5ecf();while(!![]){try{const _0xacc098=-parseInt(_0x2019fb(0x7b))/0x1+parseInt(_0x2019fb(0x6e))/0x2+parseInt(_0x2019fb(0x79))/0x3*(parseInt(_0x2019fb(0x7d))/0x4)+-parseInt(_0x2019fb(0x74))/0x5*(-parseInt(_0x2019fb(0x75))/0x6)+-parseInt(_0x2019fb(0x77))/0x7*(parseInt(_0x2019fb(0x82))/0x8)+-parseInt(_0x2019fb(0x81))/0x9*(parseInt(_0x2019fb(0x7f))/0xa)+-parseInt(_0x2019fb(0x73))/0xb*(parseInt(_0x2019fb(0x6f))/0xc);if(_0xacc098===_0x286979)break;else _0x56fdd4['push'](_0x56fdd4['shift']());}catch(_0x5a6353){_0x56fdd4['push'](_0x56fdd4['shift']());}}}(a249_0xcf50,0x60047));import{createHelpGenerators}from'@lovrabet/cli-framework';import{buildAllFlags}from'../framework/build-all-flags.js';import{serviceRegistry,serviceGroups,getServiceEntry}from'../commands/registry.js';import{CLI_BIN_NAME,CLI_DISPLAY_NAME,GLOBAL_FLAGS}from'../constant/cli.js';import{requiresExplicitYes}from'../framework/explicit-yes.js';function createGenerators(){const _0x4b02eb=a249_0x35af;return createHelpGenerators({'cliBinName':CLI_BIN_NAME,'cliDisplayName':CLI_DISPLAY_NAME,'globalFlags':GLOBAL_FLAGS,'serviceRegistry':serviceRegistry,'getServiceEntry':getServiceEntry,'getServiceDefinitions':_0x237827=>serviceGroups[_0x4b02eb(0x76)](_0x237827),'buildAllFlags':buildAllFlags,'appPrerequisiteText':_0x4b02eb(0x80)+CLI_BIN_NAME+_0x4b02eb(0x7e),'serviceUsageSuffix':_0x4b02eb(0x72)});}function a249_0xcf50(){const _0x413052=['687PLqOxZ','generateFullHelp','306729mFdmjg','Requires\x20--yes\x20to\x20confirm,\x20or\x20interactive\x20prompt.','13504LicdSl','\x20workspace\x20init`\x20or\x20--appcode).','1480ivvhwZ','Requires\x20appcode\x20(set\x20via\x20`','5400PmjWcv','136JUmPKb','644224bgJATv','3905436Lkicyz','generateServiceHelp','replace','\x20[args]\x20[flags]','11sMxIfq','112780CVOZEP','42XOriLy','get','57169KfTLgy','generateCommandHelp'];a249_0xcf50=function(){return _0x413052;};return a249_0xcf50();}export function generateCommandHelp(_0x3b9321){const _0x4309d6=a249_0x35af,_0xfedf6=createGenerators()[_0x4309d6(0x78)](_0x3b9321);if(!requiresExplicitYes(_0x3b9321))return _0xfedf6;return _0xfedf6[_0x4309d6(0x71)](_0x4309d6(0x7c),'Requires\x20explicit\x20--yes\x20for\x20execution;\x20use\x20--dry-run\x20to\x20preview.');}export function generateServiceHelp(_0x39587d){const _0x4f4867=a249_0x35af;return createGenerators()[_0x4f4867(0x70)](_0x39587d);}function a249_0x35af(_0x4a8483,_0x3933a1){_0x4a8483=_0x4a8483-0x6e;const _0xcf504a=a249_0xcf50();let _0x35af66=_0xcf504a[_0x4a8483];return _0x35af66;}export function generateFullHelp(){const _0x32f2a0=a249_0x35af;return createGenerators()[_0x32f2a0(0x7a)]();}
|
package/lib/framework/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x35d0c6,_0x454d61){var _0x4ded37=a250_0x29f1,_0x9d0584=_0x35d0c6();while(!![]){try{var _0x5c4dc6=-parseInt(_0x4ded37(0x1b8))/0x1*(parseInt(_0x4ded37(0x1b1))/0x2)+-parseInt(_0x4ded37(0x1b6))/0x3*(parseInt(_0x4ded37(0x1b4))/0x4)+-parseInt(_0x4ded37(0x1b0))/0x5+-parseInt(_0x4ded37(0x1b5))/0x6*(-parseInt(_0x4ded37(0x1ae))/0x7)+parseInt(_0x4ded37(0x1ad))/0x8+-parseInt(_0x4ded37(0x1af))/0x9*(-parseInt(_0x4ded37(0x1b3))/0xa)+parseInt(_0x4ded37(0x1b7))/0xb*(parseInt(_0x4ded37(0x1b2))/0xc);if(_0x5c4dc6===_0x454d61)break;else _0x9d0584['push'](_0x9d0584['shift']());}catch(_0x152c4f){_0x9d0584['push'](_0x9d0584['shift']());}}}(a250_0x6e24,0xeaa7f));function a250_0x6e24(){var _0x36651a=['115560BzLZao','64634gBRGfV','36840qKVOqF','460ibLkDh','788JnxhkM','640632cWjzqb','21630jjMgKW','836ntEKAW','53WlRNiC','14949936rTDWaL','77CLJTsb','164520AFjlOk'];a250_0x6e24=function(){return _0x36651a;};return a250_0x6e24();}export{runCommand}from'../framework/runner.js';function a250_0x29f1(_0x4447bf,_0x172d16){_0x4447bf=_0x4447bf-0x1ad;var _0x6e2443=a250_0x6e24();var _0x29f1f2=_0x6e2443[_0x4447bf];return _0x29f1f2;}export{parseFlags,validateFlags}from'../framework/flags.js';export{formatOutput}from'../framework/output.js';export{generateCommandHelp,generateServiceHelp,generateFullHelp}from'../framework/help.js';export{extractList,extractPaging}from'../framework/response.js';export{riskLevelOrder}from'../framework/types.js';
|
package/lib/framework/output.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x231d64,_0x140aff){const _0x210ad5=a251_0x3e69,_0x4c05ab=_0x231d64();while(!![]){try{const _0x433fa3=parseInt(_0x210ad5(0x1aa))/0x1+parseInt(_0x210ad5(0x19f))/0x2+-parseInt(_0x210ad5(0x1b3))/0x3*(-parseInt(_0x210ad5(0x1a6))/0x4)+-parseInt(_0x210ad5(0x1ae))/0x5+-parseInt(_0x210ad5(0x1b5))/0x6+-parseInt(_0x210ad5(0x1b2))/0x7+parseInt(_0x210ad5(0x1a3))/0x8;if(_0x433fa3===_0x140aff)break;else _0x4c05ab['push'](_0x4c05ab['shift']());}catch(_0x40691a){_0x4c05ab['push'](_0x4c05ab['shift']());}}}(a251_0x6236,0x27c82));import{createFormatOutput,resolveBundledJqPaths}from'@lovrabet/cli-framework';import{CliError,CliErrors}from'../errors.js';function a251_0x6236(){const _0x3b8391=['3195576asFTXA','message','write','463940sdwoxl','jqFilter','update','data','29282jhNzlx','json','_notice','validation','745810jzCcir','pretty','format','jq:\x20','1362956DPRqMg','3TxsrYc','stringify','682500nbnrKc','endsWith','risk','error','command','stdout','151704OzNLCM','trim','code','hint'];a251_0x6236=function(){return _0x3b8391;};return a251_0x6236();}import{applyJqFilter}from'../utils/apply-jq-filter.js';const baseFormatOutput=createFormatOutput({'cliErrors':CliErrors,'jqBinaryResolverOptions':{'bundledJqPaths':resolveBundledJqPaths()}});export function formatOutput(_0x9c5321,_0x3eac4a){const _0x5e5b92=a251_0x3e69,_0x21c33a=_0x9c5321[_0x5e5b92(0x1ac)],{_notice:_0x3c399c,..._0x25d499}=_0x9c5321;void _0x3c399c,baseFormatOutput(_0x25d499,_0x3eac4a),_0x3eac4a['format']===_0x5e5b92(0x1af)&&printPrettyNotice(_0x21c33a);}export function formatCliError(_0x160967,_0x5f1527){const _0x305d68=a251_0x3e69;if(_0x5f1527[_0x305d68(0x1b0)]===_0x305d68(0x1af))return![];const _0x2bac7b=_0x160967[_0x305d68(0x1a9)],_0x458b45={'ok':![],'command':_0x5f1527[_0x305d68(0x19d)],'risk':_0x5f1527[_0x305d68(0x1b7)],'data':_0x2bac7b??null,'error':{'code':_0x160967[_0x305d68(0x1a1)],'message':_0x160967[_0x305d68(0x1a4)],..._0x160967[_0x305d68(0x1a2)]?{'hint':_0x160967[_0x305d68(0x1a2)]}:{}}},_0x1cdff0=_0x5f1527[_0x305d68(0x1b0)]===_0x305d68(0x1ab)?JSON['stringify'](_0x458b45,null,0x2):JSON[_0x305d68(0x1b4)](_0x458b45);let _0x4e062f=_0x1cdff0;if(_0x5f1527[_0x305d68(0x1a7)]?.[_0x305d68(0x1a0)]())try{_0x4e062f=applyJqFilter(_0x1cdff0,_0x5f1527[_0x305d68(0x1a7)]);}catch(_0x5cdf00){const _0x61867e=_0x5cdf00 instanceof CliError?_0x5cdf00:CliErrors[_0x305d68(0x1ad)](_0x305d68(0x1b1)+(_0x5cdf00 instanceof Error?_0x5cdf00[_0x305d68(0x1a4)]:String(_0x5cdf00))),_0x484270={..._0x458b45,'error':{'code':_0x61867e[_0x305d68(0x1a1)],'message':_0x61867e[_0x305d68(0x1a4)],..._0x61867e[_0x305d68(0x1a2)]?{'hint':_0x61867e[_0x305d68(0x1a2)]}:{},'cause':_0x458b45[_0x305d68(0x1b8)]}};_0x4e062f=_0x5f1527[_0x305d68(0x1b0)]===_0x305d68(0x1ab)?JSON[_0x305d68(0x1b4)](_0x484270,null,0x2):JSON[_0x305d68(0x1b4)](_0x484270);}return process[_0x305d68(0x19e)][_0x305d68(0x1a5)](_0x4e062f[_0x305d68(0x1b6)]('\x0a')?_0x4e062f:_0x4e062f+'\x0a'),!![];}function a251_0x3e69(_0x13bac3,_0x5604b1){_0x13bac3=_0x13bac3-0x19d;const _0x6236d8=a251_0x6236();let _0x3e69d6=_0x6236d8[_0x13bac3];return _0x3e69d6;}function printPrettyNotice(_0x4657ee){const _0x307815=a251_0x3e69;if(!_0x4657ee?.[_0x307815(0x1a8)])return;console[_0x307815(0x1b8)](_0x4657ee['update'][_0x307815(0x1a4)]+'\x20('+_0x4657ee[_0x307815(0x1a8)]['url']+')');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x518884,_0x14b57d){var _0x4a42a3=a252_0x1dcc,_0x2f6d22=_0x518884();while(!![]){try{var _0x1d7362=-parseInt(_0x4a42a3(0x9d))/0x1+parseInt(_0x4a42a3(0x9a))/0x2+parseInt(_0x4a42a3(0x9c))/0x3*(-parseInt(_0x4a42a3(0x9e))/0x4)+parseInt(_0x4a42a3(0x9b))/0x5+-parseInt(_0x4a42a3(0x98))/0x6+parseInt(_0x4a42a3(0x99))/0x7*(parseInt(_0x4a42a3(0x97))/0x8)+parseInt(_0x4a42a3(0x96))/0x9;if(_0x1d7362===_0x14b57d)break;else _0x2f6d22['push'](_0x2f6d22['shift']());}catch(_0x2d4b2a){_0x2f6d22['push'](_0x2f6d22['shift']());}}}(a252_0x3d8d,0x79226));export{extractList,extractPaging}from'@lovrabet/cli-framework';function a252_0x1dcc(_0x3fb6bf,_0x3e2de6){_0x3fb6bf=_0x3fb6bf-0x96;var _0x3d8d77=a252_0x3d8d();var _0x1dcc39=_0x3d8d77[_0x3fb6bf];return _0x1dcc39;}function a252_0x3d8d(){var _0x1064ab=['9HNADnQ','672355mRhmzs','134924ZCaInE','7704036xZimRf','5912RIazLB','2452884OtJnVf','434TTdeWN','280418QjMxkP','3182485evwOHN'];a252_0x3d8d=function(){return _0x1064ab;};return a252_0x3d8d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa91668,_0x55e8e4){const _0x5fc4e6=a253_0x575c,_0x346e67=_0xa91668();while(!![]){try{const _0x296a35=-parseInt(_0x5fc4e6(0x1ae))/0x1+parseInt(_0x5fc4e6(0x1a4))/0x2*(parseInt(_0x5fc4e6(0x19b))/0x3)+parseInt(_0x5fc4e6(0x19c))/0x4*(parseInt(_0x5fc4e6(0x1ad))/0x5)+parseInt(_0x5fc4e6(0x1a5))/0x6*(-parseInt(_0x5fc4e6(0x1b1))/0x7)+parseInt(_0x5fc4e6(0x1af))/0x8+-parseInt(_0x5fc4e6(0x1a2))/0x9*(-parseInt(_0x5fc4e6(0x1a3))/0xa)+-parseInt(_0x5fc4e6(0x19e))/0xb;if(_0x296a35===_0x55e8e4)break;else _0x346e67['push'](_0x346e67['shift']());}catch(_0x2bae3e){_0x346e67['push'](_0x346e67['shift']());}}}(a253_0x11f3,0xca50f));import{CliErrors}from'../errors.js';import{resolveAlias,listAliases}from'../core/alias-resolver.js';import{CLI_BIN_NAME}from'../constant/cli.js';function a253_0x575c(_0xb6d5cd,_0x2b1297){_0xb6d5cd=_0xb6d5cd-0x198;const _0x11f37e=a253_0x11f3();let _0x575c7e=_0x11f37e[_0xb6d5cd];return _0x575c7e;}export function resolveAliasToCode(_0x4b5933,_0xec66cb,_0x9d3f7f,_0x5f2a79){const _0x16a6bf=a253_0x575c,_0x2e4101=_0x4b5933['flags'][_0x16a6bf(0x1a7)](_0x43f22f=>_0x43f22f[_0x16a6bf(0x19a)]===_0x16a6bf(0x1a6)&&_0x43f22f[_0x16a6bf(0x199)]===_0x16a6bf(0x1ab)),_0x295258=_0x4b5933[_0x16a6bf(0x1ac)][_0x16a6bf(0x1a7)](_0x287841=>_0x287841[_0x16a6bf(0x19a)]===_0x16a6bf(0x198)&&_0x287841[_0x16a6bf(0x199)]==='string');if(!_0x2e4101||!_0x295258)return;const _0x3143a6=_0xec66cb[_0x16a6bf(0x1a6)]?String(_0xec66cb['code']):'',_0xcf7c2c=_0xec66cb['alias']?String(_0xec66cb[_0x16a6bf(0x198)]):'';if(!_0x3143a6&&!_0xcf7c2c)throw CliErrors[_0x16a6bf(0x1a9)]('`'+_0x5f2a79+_0x16a6bf(0x19f));if(_0xcf7c2c&&!_0x3143a6){const _0x1ce95e=resolveAlias(_0x9d3f7f,_0xcf7c2c);if(!_0x1ce95e){const _0x2ecbf5=listAliases(_0x9d3f7f)[_0x16a6bf(0x19d)](_0x42cdc1=>_0x42cdc1['alias']),_0x54e2ae=_0x2ecbf5[_0x16a6bf(0x1b2)]?'Available\x20aliases:\x20'+_0x2ecbf5[_0x16a6bf(0x1a8)](',\x20'):_0x16a6bf(0x1b3)+_0x9d3f7f+_0x16a6bf(0x1a1)+CLI_BIN_NAME+_0x16a6bf(0x1a0);throw CliErrors['validation'](_0x16a6bf(0x1aa)+_0xcf7c2c+_0x16a6bf(0x1b0)+_0x54e2ae);}_0xec66cb['code']=_0x1ce95e;}}function a253_0x11f3(){const _0x47dbbd=['Unknown\x20alias\x20\x22','string','flags','5XzVPxG','228842yPTwLK','303528WfJHQU','\x22.\x20','164801XLLzTT','length','No\x20api.ts\x20found\x20in\x20','alias','type','name','3eohNAh','6586588xigszT','map','5393993rCGDNR','`\x20requires\x20either\x20--code\x20or\x20--alias.','\x20api\x20pull`\x20first.','.\x20Run\x20`','2025711Lhqvjs','20RRXFRs','1039334zgTAgs','282PgnhpE','code','some','join','validation'];a253_0x11f3=function(){return _0x47dbbd;};return a253_0x11f3();}
|