@lovrabet/rabetbase-cli 2.5.1-beta.2 → 2.5.1-beta.3
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.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-restore.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/dataset/user-deleted-field-list.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/deployment/auto-sync.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync.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/deployment-sync.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.js +1 -1
- 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 +2 -0
- 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.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- 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.d.ts +0 -16
- 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/kb-search-client.d.ts +30 -0
- package/lib/core/kb-search-client.js +1 -0
- 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.d.ts +1 -0
- 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 -1
- package/skills/rabetbase/SKILL.md +2 -2
- package/skills/rabetbase/references/rabetbase-config.md +4 -1
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
- package/skills/rabetbase/references/rabetbase-init.md +2 -0
- package/skills/rabetbase/references/rabetbase-kb.md +7 -7
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type KnowledgeSearchScope = "public" | "company";
|
|
2
|
+
export interface KnowledgeSearchHit {
|
|
3
|
+
documentId: string;
|
|
4
|
+
revision: number;
|
|
5
|
+
chunkId: string;
|
|
6
|
+
scope: KnowledgeSearchScope;
|
|
7
|
+
title: string;
|
|
8
|
+
text: string;
|
|
9
|
+
tags: string[];
|
|
10
|
+
rank: number;
|
|
11
|
+
rawScore: number;
|
|
12
|
+
finalScore: number;
|
|
13
|
+
scoreKind: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DevelopmentKnowledgeSearchResult {
|
|
16
|
+
schemaVersion: 2;
|
|
17
|
+
profile: "development";
|
|
18
|
+
total: number;
|
|
19
|
+
strategyFingerprint: string;
|
|
20
|
+
timingsMs: Record<string, number>;
|
|
21
|
+
hits: KnowledgeSearchHit[];
|
|
22
|
+
}
|
|
23
|
+
export interface DevelopmentKnowledgeSearchInput {
|
|
24
|
+
appCode: string;
|
|
25
|
+
cookie: string;
|
|
26
|
+
query: string;
|
|
27
|
+
topK?: number;
|
|
28
|
+
signal?: AbortSignal;
|
|
29
|
+
}
|
|
30
|
+
export declare function searchDevelopmentKnowledge(input: DevelopmentKnowledgeSearchInput): Promise<DevelopmentKnowledgeSearchResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a238_0x34be56=a238_0x92f0;(function(_0x57dcae,_0x21f4ce){const _0x1158cf=a238_0x92f0,_0x11a1aa=_0x57dcae();while(!![]){try{const _0x332813=parseInt(_0x1158cf(0xfc))/0x1*(parseInt(_0x1158cf(0xed))/0x2)+parseInt(_0x1158cf(0x108))/0x3*(-parseInt(_0x1158cf(0x10b))/0x4)+parseInt(_0x1158cf(0xea))/0x5+-parseInt(_0x1158cf(0xe1))/0x6+parseInt(_0x1158cf(0x10f))/0x7*(-parseInt(_0x1158cf(0xeb))/0x8)+parseInt(_0x1158cf(0x10c))/0x9+parseInt(_0x1158cf(0x117))/0xa*(parseInt(_0x1158cf(0x115))/0xb);if(_0x332813===_0x21f4ce)break;else _0x11a1aa['push'](_0x11a1aa['shift']());}catch(_0x485a17){_0x11a1aa['push'](_0x11a1aa['shift']());}}}(a238_0x4f43,0x776f1));import{getKbSearchDomain}from'../constant/domain.js';import{CliError,CliErrors}from'../errors.js';const RESPONSE_KEYS=[a238_0x34be56(0x11c),'strategyFingerprint',a238_0x34be56(0xe7)],HIT_KEYS=[a238_0x34be56(0x125),a238_0x34be56(0x111),a238_0x34be56(0xf9),a238_0x34be56(0x10a),'title',a238_0x34be56(0xfe),a238_0x34be56(0x11e),a238_0x34be56(0x119),'rawScore',a238_0x34be56(0x112),a238_0x34be56(0xe2)];export async function searchDevelopmentKnowledge(_0x2a00cc){const _0x73d68c=a238_0x34be56,_0x1be962=_0x2a00cc[_0x73d68c(0x11a)][_0x73d68c(0x110)](),_0x1b0d0c=_0x2a00cc['query']['trim']();if(!_0x1be962)throw CliErrors['validation'](_0x73d68c(0x120));if(!_0x2a00cc[_0x73d68c(0xff)]['trim']())throw CliErrors[_0x73d68c(0x12a)]();if(!_0x1b0d0c)throw CliErrors[_0x73d68c(0xf2)](_0x73d68c(0x113));validateTopK(_0x2a00cc[_0x73d68c(0x123)]);const _0x10f4d9=getKbSearchDomain()+_0x73d68c(0xfa)+encodeURIComponent(_0x1be962)+_0x73d68c(0x11d);let _0x1db161;try{_0x1db161=await fetch(_0x10f4d9,{'method':_0x73d68c(0x121),'headers':{'Content-Type':'application/json','Cookie':_0x2a00cc[_0x73d68c(0xff)],'X-Invoke-Source':_0x73d68c(0x106)},'body':JSON[_0x73d68c(0x129)]({'query':_0x1b0d0c,..._0x2a00cc[_0x73d68c(0x123)]!==undefined?{'topK':_0x2a00cc[_0x73d68c(0x123)]}:{}}),'signal':_0x2a00cc[_0x73d68c(0x11f)]});}catch(_0x571830){if(_0x571830 instanceof CliError)throw _0x571830;if(_0x571830 instanceof Error&&_0x571830[_0x73d68c(0xf1)]===_0x73d68c(0x126))throw _0x571830;throw CliErrors['networkError'](_0x73d68c(0x105));}if(!hasNoStore(_0x1db161[_0x73d68c(0x101)]))throw CliErrors[_0x73d68c(0x109)](_0x73d68c(0x10d));if(_0x1db161['status']===0x191)throw CliErrors[_0x73d68c(0x12a)]();if(!_0x1db161['ok'])throw CliErrors[_0x73d68c(0x109)]('KB\x20Service\x20search\x20failed\x20(HTTP\x20'+_0x1db161[_0x73d68c(0x103)]+').');if(!(_0x1db161[_0x73d68c(0x101)][_0x73d68c(0xf0)](_0x73d68c(0xfb))??'')['toLowerCase']()[_0x73d68c(0xe4)]('application/json'))throw CliErrors[_0x73d68c(0x109)](_0x73d68c(0x118));let _0x39c795;try{_0x39c795=await _0x1db161[_0x73d68c(0x114)]();}catch{throw CliErrors[_0x73d68c(0x109)](_0x73d68c(0xec));}return parseDevelopmentSearchResponse(_0x39c795,_0x2a00cc[_0x73d68c(0x123)]);}function validateTopK(_0x3d958d){const _0x32f20f=a238_0x34be56;if(_0x3d958d!==undefined&&(!Number[_0x32f20f(0x128)](_0x3d958d)||_0x3d958d<0x1||_0x3d958d>0x32))throw CliErrors[_0x32f20f(0xf2)]('Knowledge\x20search\x20topK\x20must\x20be\x20an\x20integer\x20from\x201\x20through\x2050.');}function hasNoStore(_0x32c7d6){const _0x39a764=a238_0x34be56;return(_0x32c7d6['get'](_0x39a764(0xef))??'')[_0x39a764(0x116)](',')['some'](_0x22cf71=>_0x22cf71[_0x39a764(0x110)]()[_0x39a764(0x122)]()===_0x39a764(0x10e));}function parseDevelopmentSearchResponse(_0x3b9c89,_0x87470a){const _0x2b1dc3=a238_0x34be56,_0x5324b1=requireExactRecord(_0x3b9c89,RESPONSE_KEYS,_0x2b1dc3(0xfd));if(!Array[_0x2b1dc3(0xf7)](_0x5324b1[_0x2b1dc3(0x11c)])||_0x5324b1[_0x2b1dc3(0x11c)][_0x2b1dc3(0xf6)]>(_0x87470a??0x32))throw invalidContract('hits');if(typeof _0x5324b1[_0x2b1dc3(0xf8)]!==_0x2b1dc3(0xe3)||!/^sha256:[0-9a-f]{64}$/['test'](_0x5324b1['strategyFingerprint']))throw invalidContract(_0x2b1dc3(0xf8));const _0xf8dee8=requireRecord(_0x5324b1[_0x2b1dc3(0xe7)],_0x2b1dc3(0xe7)),_0xddabcd={};for(const [_0x10de2c,_0x3b0e5c]of Object['entries'](_0xf8dee8)){if(!/^[A-Za-z][A-Za-z0-9]*$/[_0x2b1dc3(0x104)](_0x10de2c)||typeof _0x3b0e5c!==_0x2b1dc3(0x107)||!Number[_0x2b1dc3(0xe9)](_0x3b0e5c)||_0x3b0e5c<0x0)throw invalidContract(_0x2b1dc3(0xe7));_0xddabcd[_0x10de2c]=_0x3b0e5c;}const _0x4ba523=_0x5324b1['hits'][_0x2b1dc3(0xe6)]((_0x417734,_0x12881d)=>parseHit(_0x417734,_0x12881d));return{'schemaVersion':0x2,'profile':_0x2b1dc3(0x127),'total':_0x4ba523[_0x2b1dc3(0xf6)],'strategyFingerprint':_0x5324b1['strategyFingerprint'],'timingsMs':_0xddabcd,'hits':_0x4ba523};}function parseHit(_0x34992b,_0x177ca8){const _0x5a37cd=a238_0x34be56,_0x27b1d9=requireExactRecord(_0x34992b,HIT_KEYS,_0x5a37cd(0x102)+_0x177ca8+']'),_0x32ea3e=_0x6d12e2=>{const _0x25a665=_0x27b1d9[_0x6d12e2];if(typeof _0x25a665!=='string'||!_0x25a665)throw invalidContract(_0x6d12e2);return _0x25a665;};if(!Number['isSafeInteger'](_0x27b1d9['revision'])||_0x27b1d9[_0x5a37cd(0x111)]<0x1)throw invalidContract(_0x5a37cd(0x111));if(_0x27b1d9[_0x5a37cd(0x10a)]!==_0x5a37cd(0xe5)&&_0x27b1d9[_0x5a37cd(0x10a)]!=='company')throw invalidContract(_0x5a37cd(0x10a));if(typeof _0x27b1d9['title']!==_0x5a37cd(0xe3)||typeof _0x27b1d9[_0x5a37cd(0xfe)]!==_0x5a37cd(0xe3))throw invalidContract(_0x5a37cd(0xfe));if(!Array[_0x5a37cd(0xf7)](_0x27b1d9['tags'])||_0x27b1d9[_0x5a37cd(0x11e)][_0x5a37cd(0xf3)](_0x6cd71d=>typeof _0x6cd71d!==_0x5a37cd(0xe3)))throw invalidContract('tags');if(!Number[_0x5a37cd(0x128)](_0x27b1d9['rank'])||_0x27b1d9[_0x5a37cd(0x119)]!==_0x177ca8+0x1)throw invalidContract(_0x5a37cd(0x119));if(!isFiniteNumber(_0x27b1d9['rawScore'])||!isFiniteNumber(_0x27b1d9['finalScore']))throw invalidContract('score');return{'documentId':_0x32ea3e(_0x5a37cd(0x125)),'revision':_0x27b1d9[_0x5a37cd(0x111)],'chunkId':_0x32ea3e(_0x5a37cd(0xf9)),'scope':_0x27b1d9[_0x5a37cd(0x10a)],'title':_0x27b1d9[_0x5a37cd(0xe8)],'text':_0x27b1d9[_0x5a37cd(0xfe)],'tags':[..._0x27b1d9[_0x5a37cd(0x11e)]],'rank':_0x27b1d9[_0x5a37cd(0x119)],'rawScore':_0x27b1d9[_0x5a37cd(0xf4)],'finalScore':_0x27b1d9[_0x5a37cd(0x112)],'scoreKind':_0x32ea3e(_0x5a37cd(0xe2))};}function requireExactRecord(_0x5e52e6,_0x661c69,_0x471cd2){const _0x2afd51=a238_0x34be56,_0x36edcb=requireRecord(_0x5e52e6,_0x471cd2),_0x20bdf4=Object[_0x2afd51(0xee)](_0x36edcb)[_0x2afd51(0x11b)](),_0x3058c4=[..._0x661c69][_0x2afd51(0x11b)]();if(_0x20bdf4['length']!==_0x3058c4['length']||_0x20bdf4[_0x2afd51(0xf3)]((_0x234baf,_0x2dacc1)=>_0x234baf!==_0x3058c4[_0x2dacc1]))throw invalidContract(_0x471cd2);return _0x36edcb;}function a238_0x4f43(){const _0x1a1d9d=['scope','951076gMbqMO','6358833XXKFXW','KB\x20Service\x20search\x20response\x20is\x20missing\x20Cache-Control:\x20no-store.','no-store','14441VpritE','trim','revision','finalScore','Knowledge\x20search\x20query\x20is\x20required.','json','5325848MInHsF','split','20pfXpCK','KB\x20Service\x20search\x20returned\x20a\x20non-JSON\x20content\x20type.','rank','appCode','sort','hits','/knowledge/search','tags','signal','Knowledge\x20search\x20appCode\x20is\x20required.','POST','toLowerCase','topK','KB\x20Service\x20search\x20returned\x20an\x20invalid\x20','documentId','AbortError','development','isSafeInteger','stringify','authRequired','4782318bkCEHz','scoreKind','string','includes','public','map','timingsMs','title','isFinite','638485KZCGEb','1528eWonDI','KB\x20Service\x20search\x20returned\x20invalid\x20JSON.','4euGbaN','keys','cache-control','get','name','validation','some','rawScore','\x20contract.','length','isArray','strategyFingerprint','chunkId','/v1/development/apps/','content-type','57743Frzzfk','response','text','cookie','object','headers','hits[','status','test','KB\x20Service\x20search\x20request\x20failed.','cli:rabetbase','number','3NhpcLc','apiError'];a238_0x4f43=function(){return _0x1a1d9d;};return a238_0x4f43();}function a238_0x92f0(_0x33af1d,_0x396ff9){_0x33af1d=_0x33af1d-0xe1;const _0x4f43dd=a238_0x4f43();let _0x92f03=_0x4f43dd[_0x33af1d];return _0x92f03;}function requireRecord(_0x1a1ee9,_0x366c08){const _0x258488=a238_0x34be56;if(!_0x1a1ee9||typeof _0x1a1ee9!==_0x258488(0x100)||Array['isArray'](_0x1a1ee9))throw invalidContract(_0x366c08);return _0x1a1ee9;}function isFiniteNumber(_0x33ea06){const _0x2d4550=a238_0x34be56;return typeof _0x33ea06===_0x2d4550(0x107)&&Number[_0x2d4550(0xe9)](_0x33ea06);}function invalidContract(_0x5c238f){const _0x43c004=a238_0x34be56;return CliErrors[_0x43c004(0x109)](_0x43c004(0x124)+_0x5c238f+_0x43c004(0xf5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2b66e6,_0x49cc00){const _0x2589e6=a239_0x3c1e,_0x2d918d=_0x2b66e6();while(!![]){try{const _0x484562=-parseInt(_0x2589e6(0x1eb))/0x1+-parseInt(_0x2589e6(0x1ec))/0x2+-parseInt(_0x2589e6(0x1ef))/0x3*(parseInt(_0x2589e6(0x1f0))/0x4)+parseInt(_0x2589e6(0x1e7))/0x5+parseInt(_0x2589e6(0x1e8))/0x6*(parseInt(_0x2589e6(0x1ea))/0x7)+-parseInt(_0x2589e6(0x1f4))/0x8*(parseInt(_0x2589e6(0x1e9))/0x9)+parseInt(_0x2589e6(0x1f1))/0xa*(parseInt(_0x2589e6(0x1ee))/0xb);if(_0x484562===_0x49cc00)break;else _0x2d918d['push'](_0x2d918d['shift']());}catch(_0x459fdb){_0x2d918d['push'](_0x2d918d['shift']());}}}(a239_0x1dd9,0x69bd0));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x14ce57,_0x391e43=process['cwd']()){const _0xd7e959=a239_0x3c1e,_0x146f87=resolve(_0x391e43),_0x4abd6c=join(_0x146f87,_0xd7e959(0x1e5),_0xd7e959(0x1f3));return{'projectRoot':_0x146f87,'pagesBaseDir':_0x4abd6c,'appPagesDir':join(_0x4abd6c,_0x14ce57),'lockFilePath':join(_0x146f87,_0xd7e959(0x1e5),_0xd7e959(0x1e6))};}export function buildPageFileName(_0x3d5d79,_0x13b4bb){const _0x4c6db7=a239_0x3c1e;return _0x3d5d79+'-'+String(_0x13b4bb)[_0x4c6db7(0x1ed)]()+_0x4c6db7(0x1f5);}function a239_0x1dd9(){const _0x1bffd8=['32eTpeBm','.json','.rabetbase','page.lock.json','2787545EVJHar','378rQHJYj','1509237UKyzTc','56973hSHQWV','160187HhdOfP','644284TZVyFv','toUpperCase','1518000AwClSb','108183kRHUpU','4GVlokV','40cVulUi','appPagesDir','page'];a239_0x1dd9=function(){return _0x1bffd8;};return a239_0x1dd9();}export function resolvePageFilePath(_0x1cb208,_0x46d221,_0x1da9ba){const _0x4e95d5=a239_0x3c1e;return join(_0x1cb208[_0x4e95d5(0x1f2)],buildPageFileName(_0x46d221,_0x1da9ba));}function a239_0x3c1e(_0x797d78,_0x13fe60){_0x797d78=_0x797d78-0x1e5;const _0x1dd9e3=a239_0x1dd9();let _0x3c1e62=_0x1dd9e3[_0x797d78];return _0x3c1e62;}export async function ensureParentDirectory(_0x1dd594){await mkdir(dirname(_0x1dd594),{'recursive':!![]});}export async function fileExists(_0x356f4c){try{return await access(_0x356f4c,constants['F_OK']),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x58c21d,_0x35af82){const _0x3d6805=a240_0xa15d,_0x146208=_0x58c21d();while(!![]){try{const _0x48c4f1=parseInt(_0x3d6805(0x1d1))/0x1+parseInt(_0x3d6805(0x1d7))/0x2*(parseInt(_0x3d6805(0x1cb))/0x3)+-parseInt(_0x3d6805(0x1cf))/0x4+parseInt(_0x3d6805(0x1ce))/0x5+parseInt(_0x3d6805(0x1ca))/0x6+parseInt(_0x3d6805(0x1d0))/0x7*(-parseInt(_0x3d6805(0x1cd))/0x8)+-parseInt(_0x3d6805(0x1d2))/0x9;if(_0x48c4f1===_0x35af82)break;else _0x146208['push'](_0x146208['shift']());}catch(_0x384d0f){_0x146208['push'](_0x146208['shift']());}}}(a240_0xbf9a,0x654fd));import a240_0x43d66e from'node:crypto';import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x1d7eff){const _0x874e5f=a240_0xa15d;return JSON['stringify'](JSON[_0x874e5f(0x1d6)](_0x1d7eff),null,0x2)+'\x0a';}function a240_0xbf9a(){const _0x165cc8=['md5','createHash','utf8','parse','503416iGWQrp','734898zMvUoL','3JGWXGB','hex','1856EjWfDA','2183010OLWoOP','888928qjNMxG','13853QuBtiP','326338AzPWbx','367182uEHfyZ'];a240_0xbf9a=function(){return _0x165cc8;};return a240_0xbf9a();}function a240_0xa15d(_0x53afb7,_0xd9ae9){_0x53afb7=_0x53afb7-0x1ca;const _0xbf9ade=a240_0xbf9a();let _0xa15d9b=_0xbf9ade[_0x53afb7];return _0xa15d9b;}export function computePageContentHash(_0x55b098){const _0x28bdbf=a240_0xa15d;return a240_0x43d66e[_0x28bdbf(0x1d4)](_0x28bdbf(0x1d3))['update'](_0x55b098)['digest'](_0x28bdbf(0x1cc));}export function computeSerializedSchemaHash(_0x352c2c){return computePageContentHash(serializePageSchemaForFile(_0x352c2c));}export async function computePageFileHash(_0x49bee7){const _0xdd6148=a240_0xa15d,_0x5294ed=await readFile(_0x49bee7,_0xdd6148(0x1d5));return computePageContentHash(_0x5294ed);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x192844,_0x129792){const _0x4da365=a241_0x3c2d,_0x20762e=_0x192844();while(!![]){try{const _0x248ebb=-parseInt(_0x4da365(0xd6))/0x1+-parseInt(_0x4da365(0xd3))/0x2+parseInt(_0x4da365(0xda))/0x3*(parseInt(_0x4da365(0xd1))/0x4)+-parseInt(_0x4da365(0xd4))/0x5+-parseInt(_0x4da365(0xdf))/0x6+parseInt(_0x4da365(0xd0))/0x7*(-parseInt(_0x4da365(0xdd))/0x8)+-parseInt(_0x4da365(0xdc))/0x9*(-parseInt(_0x4da365(0xd9))/0xa);if(_0x248ebb===_0x129792)break;else _0x20762e['push'](_0x20762e['shift']());}catch(_0x28ea8e){_0x20762e['push'](_0x20762e['shift']());}}}(a241_0xb9d3,0x75bba));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x5c83c2,_0x4af775){const _0x983b5a=a241_0x3c2d,_0x450ef1={'apps':_0x5c83c2[_0x983b5a(0xce)]&&typeof _0x5c83c2[_0x983b5a(0xce)]===_0x983b5a(0xcf)?_0x5c83c2['apps']:{}};let _0xce75bb=_0x450ef1[_0x983b5a(0xce)][_0x4af775];if(!_0xce75bb)return _0xce75bb={'lastSync':'','pages':{}},_0x450ef1[_0x983b5a(0xce)][_0x4af775]=_0xce75bb,{'lockData':_0x450ef1,'appLock':_0xce75bb};return!_0xce75bb['lastSync']&&(_0xce75bb[_0x983b5a(0xe0)]=''),(!_0xce75bb[_0x983b5a(0xcd)]||typeof _0xce75bb['pages']!==_0x983b5a(0xcf))&&(_0xce75bb[_0x983b5a(0xcd)]={}),{'lockData':_0x450ef1,'appLock':_0xce75bb};}export async function readPageLockFile(_0x2732dc){const _0x193782=a241_0x3c2d;try{const _0x2b50bc=await readFile(_0x2732dc,_0x193782(0xde)),_0x36b4b6=JSON[_0x193782(0xd5)](_0x2b50bc);return{'apps':_0x36b4b6[_0x193782(0xce)]&&typeof _0x36b4b6[_0x193782(0xce)]===_0x193782(0xcf)?_0x36b4b6[_0x193782(0xce)]:{}};}catch(_0x1df702){if(_0x1df702[_0x193782(0xd7)]===_0x193782(0xd8))return null;throw new Error(_0x193782(0xdb)+String(_0x1df702));}}function a241_0x3c2d(_0x51011f,_0x91ea3e){_0x51011f=_0x51011f-0xcd;const _0xb9d323=a241_0xb9d3();let _0x3c2da0=_0xb9d323[_0x51011f];return _0x3c2da0;}export async function writePageLockFile(_0x2502ed,_0x144d31){const _0x254051=a241_0x3c2d;await mkdir(dirname(_0x2502ed),{'recursive':!![]}),await writeFile(_0x2502ed,JSON[_0x254051(0xd2)](_0x144d31,null,0x2),_0x254051(0xde));}function a241_0xb9d3(){const _0x5590ea=['697776TRIPJr','4145990byVMlf','parse','429886xoVLuW','code','ENOENT','7163420ljHeNC','3ucHiRl','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','36EWNsbQ','939160lsuGUU','utf8','5592390xhRnZn','lastSync','pages','apps','object','14bdqhIL','1566772rZKseb','stringify'];a241_0xb9d3=function(){return _0x5590ea;};return a241_0xb9d3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x52fe6c,_0x1bc4e2){const _0x44a11b=a242_0x4ac5,_0x545c04=_0x52fe6c();while(!![]){try{const _0x5ea8f2=parseInt(_0x44a11b(0x1e7))/0x1+-parseInt(_0x44a11b(0x1db))/0x2+parseInt(_0x44a11b(0x20d))/0x3*(-parseInt(_0x44a11b(0x1d8))/0x4)+parseInt(_0x44a11b(0x1f3))/0x5+-parseInt(_0x44a11b(0x1e8))/0x6*(parseInt(_0x44a11b(0x1e1))/0x7)+parseInt(_0x44a11b(0x1e9))/0x8*(-parseInt(_0x44a11b(0x210))/0x9)+-parseInt(_0x44a11b(0x20a))/0xa*(-parseInt(_0x44a11b(0x1fc))/0xb);if(_0x5ea8f2===_0x1bc4e2)break;else _0x545c04['push'](_0x545c04['shift']());}catch(_0x21efd6){_0x545c04['push'](_0x545c04['shift']());}}}(a242_0x8568,0x6ef4f));function a242_0x8568(){const _0x527d00=['filter','6861130XJeXte','trim','JOIN_INDEX_MISSING','3rHaFlr','some','JOIN_PREDICATE_UNSUPPORTED','9jPhSpG','max','min','matchedPrefix','INDEX_METADATA_UNAVAILABLE','indexes','slice','split','map','covered','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','add','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','join','unsupportedReason','using','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','search','__sq__','error','from','2805284ubSOeW','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','INNER','1712224rXFxsa','push','metadataAvailable','indexOf','test','natural','14gTVNJb','length','columns','reduce','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','259381oSGead','487206CMDYrX','3262312EJXOhn','tableName','match','\x5cs*\x5c.\x5cs*[\x5cw$]+','startsWith','left','replaceAll','toUpperCase','has','full','1321915xnvVuR','exec','table','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','index','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','alias','unavailable','matchAll','33lPQigy','replace','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','(?:^|[^\x5cw$])','inner','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','unknown','\x5c$&','toLowerCase','includes','containsUnresolvedInclude','position','warning'];a242_0x8568=function(){return _0x527d00;};return a242_0x8568();}import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x1b430f,_0x369d9f){const _0x248553=a242_0x4ac5,_0x2c0630=[],_0x1edfed=normalizeSqlForStaticAnalysis(_0x1b430f),_0x18df5a=(_0x1edfed[_0x248553(0x1d6)]?[]:extractJoinFacts(_0x1edfed['sql']))[_0x248553(0x218)](_0x2c7a58=>{const _0x316a8f=_0x248553;if(_0x2c7a58['unsupportedPredicate']||_0x2c7a58[_0x316a8f(0x1e3)][_0x316a8f(0x1e2)]===0x0)return _0x2c0630[_0x316a8f(0x1dc)]({'code':_0x316a8f(0x20f),'table':_0x2c7a58['table'],'alias':_0x2c7a58['alias'],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'reason':_0x2c7a58[_0x316a8f(0x21e)]??_0x316a8f(0x21c)}),{'table':_0x2c7a58[_0x316a8f(0x1f5)],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58['columns'],'status':_0x316a8f(0x1fa)};const _0x8bfadd=resolveTableMetadata(_0x369d9f,_0x2c7a58['table']),_0x41d365=(_0x8bfadd?.[_0x316a8f(0x215)]??[])['map'](_0x56b539=>({'index':_0x56b539,'matchedPrefix':findEqualityPrefix(_0x56b539['columns'],_0x2c7a58['columns'])}))[_0x316a8f(0x209)](_0x38c91d=>_0x38c91d[_0x316a8f(0x213)]['length']>0x0),_0x5c3669=_0x41d365[_0x316a8f(0x1e4)]((_0x4c1fec,_0x4fb043)=>!_0x4c1fec||_0x4fb043[_0x316a8f(0x213)][_0x316a8f(0x1e2)]>_0x4c1fec[_0x316a8f(0x213)]['length']?_0x4fb043:_0x4c1fec,_0x41d365[0x0]);if(_0x5c3669)return{'table':_0x2c7a58['table'],'alias':_0x2c7a58['alias'],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'status':_0x316a8f(0x219),'matchedIndex':{..._0x5c3669['index'],'matchedPrefix':_0x5c3669[_0x316a8f(0x213)]}};const _0x87dd9b=_0x8bfadd?.['indexes']['filter'](_0x14c0e5=>_0x14c0e5['columns'][_0x316a8f(0x20e)](_0x57e060=>_0x2c7a58['columns'][_0x316a8f(0x20e)](_0x106f73=>columnNamesMatch(_0x57e060,_0x106f73))))??[];if(_0x87dd9b[_0x316a8f(0x1e2)]>0x0)return _0x2c0630[_0x316a8f(0x1dc)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x2c7a58['table'],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58['columns'],'reason':_0x316a8f(0x21a)}),{'table':_0x2c7a58[_0x316a8f(0x1f5)],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'status':'warning','candidateIndexes':_0x87dd9b};if(_0x8bfadd&&_0x8bfadd[_0x316a8f(0x1dd)]!==![]&&_0x8bfadd[_0x316a8f(0x215)][_0x316a8f(0x1e2)]>0x0&&_0x2c7a58[_0x316a8f(0x1e3)]['length']>0x0)return _0x2c0630['push']({'code':_0x316a8f(0x20c),'table':_0x2c7a58['table'],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0x2c7a58[_0x316a8f(0x1f5)],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'status':_0x316a8f(0x208)};return _0x2c0630[_0x316a8f(0x1dc)]({'code':_0x316a8f(0x214),'table':_0x2c7a58[_0x316a8f(0x1f5)],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'reason':_0x8bfadd?_0x316a8f(0x1d9):_0x316a8f(0x201)}),{'table':_0x2c7a58[_0x316a8f(0x1f5)],'alias':_0x2c7a58[_0x316a8f(0x1f9)],'columns':_0x2c7a58[_0x316a8f(0x1e3)],'status':'unavailable'};});return{'checked':_0x18df5a[_0x248553(0x1e2)]>0x0,'joins':_0x18df5a,'warnings':_0x2c0630};}function extractJoinFacts(_0x486cc6){const _0x31eea0=a242_0x4ac5,_0x534740=maskNestedQueries(stripSqlNoise(_0x486cc6)),_0x541c6d=maskQuotedIdentifiers(_0x534740),_0x3fd60f=[],_0x5420d1=new Set(),_0x4d20ae=/\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 _0x401cd4 of _0x534740[_0x31eea0(0x1fb)](_0x4d20ae)){const _0x4b1592=_0x401cd4['index']??0x0,_0x4d5c70=_0x401cd4[0x0][_0x31eea0(0x1d4)](/\bJOIN\b/i),_0x3ff1fd=_0x4b1592+Math[_0x31eea0(0x211)](0x0,_0x4d5c70);if(!/^JOIN\b/i[_0x31eea0(0x1df)](_0x541c6d[_0x31eea0(0x216)](_0x3ff1fd)))continue;_0x5420d1[_0x31eea0(0x21b)](_0x3ff1fd);const _0x145b7e=normalizeIdentifier(_0x401cd4[0x1]||_0x31eea0(0x1da)),_0x177f44=normalizeIdentifier(_0x401cd4[0x2]??''),_0x2a7edd=normalizeIdentifier(_0x401cd4[0x3]||_0x177f44[_0x31eea0(0x217)]('.')['at'](-0x1)||_0x177f44),_0x44f891=[],_0x43f4c6=_0x177f44===_0x31eea0(0x1d5);let _0x415d3c=_0x145b7e==='right'||_0x145b7e===_0x31eea0(0x1f2)||_0x43f4c6,_0x15eeb1=_0x415d3c?_0x43f4c6?_0x31eea0(0x1f8):_0x145b7e['toUpperCase']()+_0x31eea0(0x220):undefined;const _0x20eeda=stripOuterParentheses(_0x401cd4[0x4]??''),_0x64a3a1=_0x20eeda[_0x31eea0(0x205)](MYBATIS_DYNAMIC_START_MARKER)||_0x20eeda[_0x31eea0(0x205)](MYBATIS_DYNAMIC_END_MARKER),_0x53ce67=_0x20eeda['includes'](MYBATIS_INCLUDE_MARKER);_0x64a3a1&&(_0x415d3c=!![],_0x15eeb1??='MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.');_0x53ce67&&(_0x415d3c=!![],_0x15eeb1??=_0x31eea0(0x1e6));const _0x257aed=_0x20eeda[_0x31eea0(0x1ef)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x31eea0(0x1ef)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x257aed,'OR')&&(_0x415d3c=!![],_0x15eeb1??=_0x31eea0(0x1f6));for(const _0x3cf578 of splitTopLevelAnd(_0x257aed)){const _0xb0f552=stripOuterParentheses(_0x3cf578);if(hasTopLevelKeyword(_0xb0f552,'OR')){_0x415d3c=!![],_0x15eeb1??=_0x31eea0(0x1f6);continue;}const _0x10a3f9=splitEquality(_0xb0f552);if(!_0x10a3f9){containsColumnReference(_0x3cf578,_0x2a7edd)&&(_0x415d3c=!![]);continue;}const _0x4d53a9=parseDirectColumnReference(_0x10a3f9[0x0],_0x2a7edd),_0x459e3c=parseDirectColumnReference(_0x10a3f9[0x1],_0x2a7edd),_0x23c351=containsColumnReference(_0x10a3f9[0x0],_0x2a7edd),_0x5e171b=containsColumnReference(_0x10a3f9[0x1],_0x2a7edd),_0x484167=_0x4d53a9&&!_0x5e171b?_0x4d53a9:_0x459e3c&&!_0x23c351?_0x459e3c:null;if(_0x484167&&!_0x44f891[_0x31eea0(0x205)](_0x484167))_0x44f891[_0x31eea0(0x1dc)](_0x484167);else!_0x484167&&containsColumnReference(_0x3cf578,_0x2a7edd)&&(_0x415d3c=!![]);}_0x3fd60f[_0x31eea0(0x1dc)]({'table':_0x177f44,'alias':_0x2a7edd,'columns':_0x44f891,'unsupportedPredicate':_0x415d3c,'unsupportedReason':_0x15eeb1,'containsUnresolvedInclude':_0x53ce67,'position':_0x3ff1fd});}for(const _0x55d4bf of _0x541c6d[_0x31eea0(0x1fb)](/\bJOIN\b/gi)){const _0x8a3258=_0x55d4bf[_0x31eea0(0x1f7)]??0x0;if(_0x5420d1['has'](_0x8a3258))continue;const _0x16ab03=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x534740[_0x31eea0(0x216)](_0x8a3258+_0x55d4bf[0x0][_0x31eea0(0x1e2)])),_0x5c0dd7=normalizeIdentifier(_0x16ab03?.[0x1]||_0x31eea0(0x202)),_0x4924a5=normalizeIdentifier(_0x16ab03?.[0x2]||''),_0x238b12=isSqlClauseKeyword(_0x4924a5)?_0x5c0dd7[_0x31eea0(0x217)]('.')['at'](-0x1)||_0x5c0dd7:_0x4924a5||_0x5c0dd7[_0x31eea0(0x217)]('.')['at'](-0x1)||_0x5c0dd7;_0x3fd60f[_0x31eea0(0x1dc)]({'table':_0x5c0dd7,'alias':_0x238b12,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x31eea0(0x1fe),'position':_0x8a3258});}const _0x550bdd=_0x541c6d[_0x31eea0(0x1de)](MYBATIS_INCLUDE_MARKER);return _0x550bdd>=0x0&&!_0x3fd60f[_0x31eea0(0x20e)](_0x57dd0d=>_0x57dd0d[_0x31eea0(0x206)])&&_0x3fd60f[_0x31eea0(0x1dc)]({'table':'unknown','alias':_0x31eea0(0x202),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x31eea0(0x1e5),'containsUnresolvedInclude':!![],'position':_0x550bdd}),_0x3fd60f['sort']((_0x36993f,_0x5a31ca)=>_0x36993f[_0x31eea0(0x207)]-_0x5a31ca[_0x31eea0(0x207)]);}function stripSqlNoise(_0x3de0fc){const _0x14fe61=a242_0x4ac5,_0x695ad6=Array[_0x14fe61(0x1d7)](_0x3de0fc),_0x350e92=(_0x4f319a,_0x849427)=>{for(let _0x195709=_0x4f319a;_0x195709<_0x849427;_0x195709+=0x1){_0x695ad6[_0x195709]!=='\x0a'&&_0x695ad6[_0x195709]!=='\x0d'&&(_0x695ad6[_0x195709]='\x20');}};for(let _0x4d482b=0x0;_0x4d482b<_0x695ad6[_0x14fe61(0x1e2)];_0x4d482b+=0x1){const _0x447c10=_0x695ad6[_0x4d482b],_0x38134d=_0x695ad6[_0x4d482b+0x1];if(_0x447c10==='\x27'||_0x447c10==='\x22'||_0x447c10==='`'){const _0x329621=_0x447c10,_0x376c75=_0x4d482b;_0x4d482b+=0x1;while(_0x4d482b<_0x695ad6[_0x14fe61(0x1e2)]){if(_0x695ad6[_0x4d482b]==='\x5c'&&_0x4d482b+0x1<_0x695ad6[_0x14fe61(0x1e2)]){_0x4d482b+=0x2;continue;}if(_0x695ad6[_0x4d482b]!==_0x329621){_0x4d482b+=0x1;continue;}if(_0x695ad6[_0x4d482b+0x1]===_0x329621){_0x4d482b+=0x2;continue;}break;}if(_0x329621==='\x27')_0x350e92(_0x376c75,Math[_0x14fe61(0x212)](_0x4d482b+0x1,_0x695ad6[_0x14fe61(0x1e2)]));continue;}if(_0x447c10==='-'&&_0x38134d==='-'){const _0x28a263=_0x4d482b;while(_0x4d482b<_0x695ad6[_0x14fe61(0x1e2)]&&_0x695ad6[_0x4d482b]!=='\x0a')_0x4d482b+=0x1;_0x350e92(_0x28a263,_0x4d482b);continue;}if(_0x447c10==='/'&&_0x38134d==='*'){const _0x569068=_0x4d482b;_0x4d482b+=0x2;while(_0x4d482b<_0x695ad6['length']&&!(_0x695ad6[_0x4d482b]==='*'&&_0x695ad6[_0x4d482b+0x1]==='/')){_0x4d482b+=0x1;}_0x4d482b=Math[_0x14fe61(0x212)](_0x4d482b+0x1,_0x695ad6[_0x14fe61(0x1e2)]-0x1),_0x350e92(_0x569068,_0x4d482b+0x1);continue;}if(_0x447c10==='#'&&_0x38134d!=='{'){const _0x223e05=_0x4d482b;while(_0x4d482b<_0x695ad6[_0x14fe61(0x1e2)]&&_0x695ad6[_0x4d482b]!=='\x0a')_0x4d482b+=0x1;_0x350e92(_0x223e05,_0x4d482b);continue;}if((_0x447c10==='#'||_0x447c10==='$')&&_0x38134d==='{'){const _0x5ab1ab=_0x4d482b;_0x4d482b+=0x2;while(_0x4d482b<_0x695ad6['length']&&_0x695ad6[_0x4d482b]!=='}')_0x4d482b+=0x1;_0x350e92(_0x5ab1ab,Math[_0x14fe61(0x212)](_0x4d482b+0x1,_0x695ad6[_0x14fe61(0x1e2)]));}}return _0x695ad6[_0x14fe61(0x21d)]('');}function maskQuotedIdentifiers(_0x4935e5){const _0x59fb2d=a242_0x4ac5,_0x1b5038=Array[_0x59fb2d(0x1d7)](_0x4935e5);for(let _0x22595f=0x0;_0x22595f<_0x1b5038['length'];_0x22595f+=0x1){const _0x1cd930=_0x1b5038[_0x22595f];if(_0x1cd930!=='\x22'&&_0x1cd930!=='`')continue;_0x22595f+=0x1;while(_0x22595f<_0x1b5038['length']){if(_0x1b5038[_0x22595f]===_0x1cd930){if(_0x1b5038[_0x22595f+0x1]===_0x1cd930){_0x1b5038[_0x22595f]='\x20',_0x1b5038[_0x22595f+0x1]='\x20',_0x22595f+=0x2;continue;}break;}_0x1b5038[_0x22595f]='\x20',_0x22595f+=0x1;}}return _0x1b5038[_0x59fb2d(0x21d)]('');}function maskNestedQueries(_0x596dd3){const _0x23da26=a242_0x4ac5,_0x259731=Array[_0x23da26(0x1d7)](_0x596dd3);for(let _0x144b2d=0x0;_0x144b2d<_0x259731[_0x23da26(0x1e2)];_0x144b2d+=0x1){if(_0x259731[_0x144b2d]!=='(')continue;const _0x4d963a=_0x596dd3[_0x23da26(0x216)](_0x144b2d+0x1);if(!/^\s*(?:SELECT|WITH)\b/i['test'](_0x4d963a))continue;let _0x26139f=0x1,_0x234d11=_0x144b2d+0x1;for(;_0x234d11<_0x259731[_0x23da26(0x1e2)]&&_0x26139f>0x0;_0x234d11+=0x1){if(_0x259731[_0x234d11]==='(')_0x26139f+=0x1;if(_0x259731[_0x234d11]===')')_0x26139f-=0x1;}if(_0x26139f!==0x0)continue;for(let _0x4bf7b3=_0x144b2d;_0x4bf7b3<_0x234d11;_0x4bf7b3+=0x1){_0x259731[_0x4bf7b3]='\x20';}const _0x1ad9de=_0x23da26(0x1d5);for(let _0xb39a32=0x0;_0xb39a32<_0x1ad9de[_0x23da26(0x1e2)]&&_0x144b2d+_0xb39a32<_0x234d11;_0xb39a32+=0x1){_0x259731[_0x144b2d+_0xb39a32]=_0x1ad9de[_0xb39a32];}_0x144b2d=_0x234d11-0x1;}return _0x259731[_0x23da26(0x21d)]('');}function splitTopLevelAnd(_0x5a0e0c){const _0x145905=a242_0x4ac5,_0x24710d=[];let _0x22e37a=0x0,_0x1e638b=0x0;for(let _0xc029ed=0x0;_0xc029ed<_0x5a0e0c['length'];_0xc029ed+=0x1){const _0x202a23=_0x5a0e0c[_0xc029ed];if(_0x202a23==='(')_0x22e37a+=0x1;if(_0x202a23===')')_0x22e37a=Math[_0x145905(0x211)](0x0,_0x22e37a-0x1);_0x22e37a===0x0&&_0x5a0e0c['slice'](_0xc029ed)[_0x145905(0x1eb)](/^AND\b/i)&&(_0xc029ed===0x0||/\s/['test'](_0x5a0e0c[_0xc029ed-0x1]??''))&&(_0x24710d['push'](_0x5a0e0c[_0x145905(0x216)](_0x1e638b,_0xc029ed)[_0x145905(0x20b)]()),_0xc029ed+=0x2,_0x1e638b=_0xc029ed+0x1);}const _0x4e6804=_0x5a0e0c[_0x145905(0x216)](_0x1e638b)[_0x145905(0x20b)]();if(_0x4e6804)_0x24710d[_0x145905(0x1dc)](_0x4e6804);return _0x24710d;}function hasTopLevelKeyword(_0x19e3e6,_0x510d60){const _0x46d77c=a242_0x4ac5;let _0x483012=0x0;for(let _0x766ad4=0x0;_0x766ad4<_0x19e3e6[_0x46d77c(0x1e2)];_0x766ad4+=0x1){const _0x3633a8=_0x19e3e6[_0x766ad4];if(_0x3633a8==='(')_0x483012+=0x1;if(_0x3633a8===')')_0x483012=Math[_0x46d77c(0x211)](0x0,_0x483012-0x1);if(_0x483012!==0x0)continue;const _0x3f91d1=_0x19e3e6[_0x46d77c(0x216)](_0x766ad4,_0x766ad4+_0x510d60[_0x46d77c(0x1e2)]),_0x5ea88f=_0x19e3e6[_0x766ad4-0x1]??'\x20',_0x3884cd=_0x19e3e6[_0x766ad4+_0x510d60[_0x46d77c(0x1e2)]]??'\x20';if(_0x3f91d1[_0x46d77c(0x1f0)]()===_0x510d60[_0x46d77c(0x1f0)]()&&!/[\w$]/['test'](_0x5ea88f)&&!/[\w$]/['test'](_0x3884cd))return!![];}return![];}function splitEquality(_0x22f5b9){const _0xd7d192=a242_0x4ac5,_0x363942=stripOuterParentheses(_0x22f5b9);let _0x434037=0x0,_0x174ae4;for(let _0x263112=0x0;_0x263112<_0x363942[_0xd7d192(0x1e2)];_0x263112+=0x1){const _0x469d58=_0x363942[_0x263112];if(_0x469d58==='(')_0x434037+=0x1;if(_0x469d58===')')_0x434037=Math['max'](0x0,_0x434037-0x1);const _0x374796=_0x363942[_0x263112-0x1]??'',_0x20a94d=_0x363942[_0x263112+0x1]??'';if(_0x469d58==='='&&_0x434037===0x0&&!/[!<>=:]/['test'](_0x374796)&&_0x20a94d!=='='){if(_0x174ae4!==undefined)return null;_0x174ae4=_0x263112;}}return _0x174ae4===undefined?null:[_0x363942[_0xd7d192(0x216)](0x0,_0x174ae4)['trim'](),_0x363942[_0xd7d192(0x216)](_0x174ae4+0x1)[_0xd7d192(0x20b)]()];}function parseDirectColumnReference(_0x4de687,_0x37b8f7){const _0x2ae6b5=a242_0x4ac5,_0x1d33f4=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x2ae6b5(0x1f4)](stripOuterParentheses(_0x4de687));if(!_0x1d33f4)return null;if(normalizeIdentifier(_0x1d33f4[0x1]??'')!==normalizeIdentifier(_0x37b8f7))return null;return normalizeIdentifier(_0x1d33f4[0x2]??'');}function a242_0x4ac5(_0x4c5d7d,_0x3cb6d7){_0x4c5d7d=_0x4c5d7d-0x1d4;const _0x8568b6=a242_0x8568();let _0x4ac545=_0x8568b6[_0x4c5d7d];return _0x4ac545;}function containsColumnReference(_0x36ab0a,_0x453c46){const _0x1bce7e=a242_0x4ac5,_0x3eab82=_0x36ab0a[_0x1bce7e(0x1fd)](/[`"]/g,''),_0x5221a7=_0x453c46[_0x1bce7e(0x1fd)](/[.*+?^${}()|[\]\\]/g,_0x1bce7e(0x203));return new RegExp(_0x1bce7e(0x1ff)+_0x5221a7+_0x1bce7e(0x1ec),'i')['test'](_0x3eab82);}function findEqualityPrefix(_0x563213,_0x5c5478){const _0x3e393c=a242_0x4ac5,_0x3af6b9=new Set(_0x5c5478[_0x3e393c(0x218)](normalizeIdentifier)),_0x346a5b=[];for(const _0x1f28a3 of _0x563213){if(!_0x3af6b9[_0x3e393c(0x1f1)](normalizeIdentifier(_0x1f28a3)))break;_0x346a5b[_0x3e393c(0x1dc)](_0x1f28a3);}return _0x346a5b;}function resolveTableMetadata(_0x258f0e,_0x3ac690){const _0x75df6a=a242_0x4ac5,_0x3b16a0=normalizeIdentifier(_0x3ac690),_0x306e2c=_0x258f0e['filter'](_0x3c8200=>normalizeIdentifier(_0x3c8200['tableName'])===_0x3b16a0);if(_0x306e2c[_0x75df6a(0x1e2)]===0x1)return _0x306e2c[0x0];const _0x2726c2=_0x3b16a0[_0x75df6a(0x205)]('.'),_0x397203=_0x3b16a0['split']('.')['at'](-0x1),_0x1d266b=_0x258f0e[_0x75df6a(0x209)](_0x3ea596=>{const _0x57f50f=_0x75df6a,_0x181701=normalizeIdentifier(_0x3ea596[_0x57f50f(0x1ea)]);if(_0x2726c2&&_0x181701['includes']('.'))return![];return _0x181701[_0x57f50f(0x217)]('.')['at'](-0x1)===_0x397203;});return _0x1d266b[_0x75df6a(0x1e2)]===0x1?_0x1d266b[0x0]:undefined;}function columnNamesMatch(_0x403e59,_0x10bfd3){return normalizeIdentifier(_0x403e59)===normalizeIdentifier(_0x10bfd3);}function normalizeIdentifier(_0x5e01ed){const _0x2ac06b=a242_0x4ac5;return _0x5e01ed[_0x2ac06b(0x1fd)](/[`"]/g,'')[_0x2ac06b(0x20b)]()[_0x2ac06b(0x204)]();}function isSqlClauseKeyword(_0x498992){const _0x58a72d=a242_0x4ac5;return new Set(['on',_0x58a72d(0x21f),'where',_0x58a72d(0x21d),_0x58a72d(0x200),_0x58a72d(0x1ee),'right','full','cross',_0x58a72d(0x1e0)])[_0x58a72d(0x1f1)](_0x498992);}function stripOuterParentheses(_0x5a2a4f){const _0x28bc77=a242_0x4ac5;let _0x53a17f=_0x5a2a4f[_0x28bc77(0x20b)]();while(_0x53a17f[_0x28bc77(0x1ed)]('(')&&_0x53a17f['endsWith'](')')){let _0x474be8=0x0,_0x7443c8=!![];for(let _0x20cfc5=0x0;_0x20cfc5<_0x53a17f[_0x28bc77(0x1e2)];_0x20cfc5+=0x1){if(_0x53a17f[_0x20cfc5]==='(')_0x474be8+=0x1;if(_0x53a17f[_0x20cfc5]===')')_0x474be8-=0x1;if(_0x474be8===0x0&&_0x20cfc5<_0x53a17f[_0x28bc77(0x1e2)]-0x1){_0x7443c8=![];break;}}if(!_0x7443c8||_0x474be8!==0x0)break;_0x53a17f=_0x53a17f['slice'](0x1,-0x1)['trim']();}return _0x53a17f;}
|
|
1
|
+
(function(_0x16ff58,_0x31b65c){const _0xdae029=a243_0xd775,_0x3c3982=_0x16ff58();while(!![]){try{const _0x3bf835=-parseInt(_0xdae029(0xe7))/0x1*(parseInt(_0xdae029(0x128))/0x2)+-parseInt(_0xdae029(0xff))/0x3*(parseInt(_0xdae029(0x11f))/0x4)+parseInt(_0xdae029(0xfe))/0x5+-parseInt(_0xdae029(0x10c))/0x6*(parseInt(_0xdae029(0x11e))/0x7)+parseInt(_0xdae029(0xee))/0x8*(parseInt(_0xdae029(0x119))/0x9)+-parseInt(_0xdae029(0xfc))/0xa*(parseInt(_0xdae029(0x113))/0xb)+parseInt(_0xdae029(0xec))/0xc*(parseInt(_0xdae029(0x109))/0xd);if(_0x3bf835===_0x31b65c)break;else _0x3c3982['push'](_0x3c3982['shift']());}catch(_0xfb34d2){_0x3c3982['push'](_0x3c3982['shift']());}}}(a243_0x18a3,0xe47c4));function a243_0x18a3(){const _0x20a485=['test','error','126ovScyf','split','unsupportedReason','unknown','INDEX_METADATA_UNAVAILABLE','3402567vVxxTp','172204wHNxVe','table','matchedPrefix','slice','startsWith','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','exec','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','1006yCuGYq','position','full','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','matchAll','map','indexes','has','trim','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','push','3595QDvwfY','index','\x5cs*\x5c.\x5cs*[\x5cw$]+','__sq__','from','3288cksqNP','using','571432jGVVHF','replaceAll','toUpperCase','(?:^|[^\x5cw$])','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','warning','alias','replace','filter','min','covered','match','right','30SVjTsT','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','6925310xlFFuF','9FbjhtB','tableName','some','JOIN_PREDICATE_UNSUPPORTED','join','columns','max','unavailable','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','sort','65429ncfJFn','search','length','6JdvcWu','JOIN_INDEX_NOT_USABLE','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','reduce','toLowerCase','indexOf','1483955EpJdYc','includes','cross','JOIN_INDEX_MISSING'];a243_0x18a3=function(){return _0x20a485;};return a243_0x18a3();}import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5180ef,_0x4a3358){const _0x34c592=a243_0xd775,_0x33e7d8=[],_0xd73dfb=normalizeSqlForStaticAnalysis(_0x5180ef),_0x16a05c=(_0xd73dfb[_0x34c592(0x118)]?[]:extractJoinFacts(_0xd73dfb['sql']))[_0x34c592(0x12d)](_0x281126=>{const _0x253a84=_0x34c592;if(_0x281126['unsupportedPredicate']||_0x281126[_0x253a84(0x104)][_0x253a84(0x10b)]===0x0)return _0x33e7d8[_0x253a84(0xe6)]({'code':_0x253a84(0x102),'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126['alias'],'columns':_0x281126[_0x253a84(0x104)],'reason':_0x281126[_0x253a84(0x11b)]??_0x253a84(0x12b)}),{'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126['alias'],'columns':_0x281126[_0x253a84(0x104)],'status':'unavailable'};const _0x1fe25b=resolveTableMetadata(_0x4a3358,_0x281126['table']),_0xefd331=(_0x1fe25b?.['indexes']??[])[_0x253a84(0x12d)](_0x15f227=>({'index':_0x15f227,'matchedPrefix':findEqualityPrefix(_0x15f227[_0x253a84(0x104)],_0x281126[_0x253a84(0x104)])}))[_0x253a84(0xf7)](_0x12b42e=>_0x12b42e[_0x253a84(0x121)][_0x253a84(0x10b)]>0x0),_0x3aab5b=_0xefd331[_0x253a84(0x110)]((_0x5db9f6,_0x3ecdd1)=>!_0x5db9f6||_0x3ecdd1['matchedPrefix'][_0x253a84(0x10b)]>_0x5db9f6[_0x253a84(0x121)][_0x253a84(0x10b)]?_0x3ecdd1:_0x5db9f6,_0xefd331[0x0]);if(_0x3aab5b)return{'table':_0x281126['table'],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'status':_0x253a84(0xf9),'matchedIndex':{..._0x3aab5b['index'],'matchedPrefix':_0x3aab5b[_0x253a84(0x121)]}};const _0x55c5eb=_0x1fe25b?.[_0x253a84(0x12e)][_0x253a84(0xf7)](_0x1912a1=>_0x1912a1[_0x253a84(0x104)]['some'](_0x205760=>_0x281126[_0x253a84(0x104)][_0x253a84(0x101)](_0x18e222=>columnNamesMatch(_0x205760,_0x18e222))))??[];if(_0x55c5eb['length']>0x0)return _0x33e7d8[_0x253a84(0xe6)]({'code':_0x253a84(0x10d),'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'reason':_0x253a84(0x10e)}),{'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'status':_0x253a84(0xf4),'candidateIndexes':_0x55c5eb};if(_0x1fe25b&&_0x1fe25b['metadataAvailable']!==![]&&_0x1fe25b[_0x253a84(0x12e)][_0x253a84(0x10b)]>0x0&&_0x281126[_0x253a84(0x104)][_0x253a84(0x10b)]>0x0)return _0x33e7d8['push']({'code':_0x253a84(0x116),'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126['alias'],'columns':_0x281126['columns'],'reason':_0x253a84(0x124)}),{'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'status':_0x253a84(0xf4)};return _0x33e7d8[_0x253a84(0xe6)]({'code':_0x253a84(0x11d),'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'reason':_0x1fe25b?_0x253a84(0x125):_0x253a84(0xe5)}),{'table':_0x281126[_0x253a84(0x120)],'alias':_0x281126[_0x253a84(0xf5)],'columns':_0x281126[_0x253a84(0x104)],'status':_0x253a84(0x106)};});return{'checked':_0x16a05c['length']>0x0,'joins':_0x16a05c,'warnings':_0x33e7d8};}function extractJoinFacts(_0x2d0dc4){const _0x239393=a243_0xd775,_0x4a0a5e=maskNestedQueries(stripSqlNoise(_0x2d0dc4)),_0x4b518c=maskQuotedIdentifiers(_0x4a0a5e),_0x58d7f9=[],_0x24da69=new Set(),_0x577278=/\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 _0x226cdf of _0x4a0a5e[_0x239393(0x12c)](_0x577278)){const _0x164d07=_0x226cdf[_0x239393(0xe8)]??0x0,_0x2042f1=_0x226cdf[0x0][_0x239393(0x10a)](/\bJOIN\b/i),_0x6d2fe4=_0x164d07+Math[_0x239393(0x105)](0x0,_0x2042f1);if(!/^JOIN\b/i[_0x239393(0x117)](_0x4b518c['slice'](_0x6d2fe4)))continue;_0x24da69['add'](_0x6d2fe4);const _0x252129=normalizeIdentifier(_0x226cdf[0x1]||'INNER'),_0x1770ed=normalizeIdentifier(_0x226cdf[0x2]??''),_0x3b276b=normalizeIdentifier(_0x226cdf[0x3]||_0x1770ed[_0x239393(0x11a)]('.')['at'](-0x1)||_0x1770ed),_0x240e20=[],_0x2095e0=_0x1770ed===_0x239393(0xea);let _0x1af576=_0x252129===_0x239393(0xfb)||_0x252129===_0x239393(0x12a)||_0x2095e0,_0x4f3481=_0x1af576?_0x2095e0?_0x239393(0xf2):_0x252129[_0x239393(0xf0)]()+_0x239393(0xf3):undefined;const _0x2f91de=stripOuterParentheses(_0x226cdf[0x4]??''),_0x125f53=_0x2f91de[_0x239393(0x114)](MYBATIS_DYNAMIC_START_MARKER)||_0x2f91de[_0x239393(0x114)](MYBATIS_DYNAMIC_END_MARKER),_0x1226fc=_0x2f91de[_0x239393(0x114)](MYBATIS_INCLUDE_MARKER);_0x125f53&&(_0x1af576=!![],_0x4f3481??=_0x239393(0x10f));_0x1226fc&&(_0x1af576=!![],_0x4f3481??=_0x239393(0x127));const _0x43e1be=_0x2f91de['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x239393(0xef)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x239393(0xef)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x43e1be,'OR')&&(_0x1af576=!![],_0x4f3481??=_0x239393(0xfd));for(const _0x5016ed of splitTopLevelAnd(_0x43e1be)){const _0x30bb66=stripOuterParentheses(_0x5016ed);if(hasTopLevelKeyword(_0x30bb66,'OR')){_0x1af576=!![],_0x4f3481??=_0x239393(0xfd);continue;}const _0x5c0377=splitEquality(_0x30bb66);if(!_0x5c0377){containsColumnReference(_0x5016ed,_0x3b276b)&&(_0x1af576=!![]);continue;}const _0x3538e3=parseDirectColumnReference(_0x5c0377[0x0],_0x3b276b),_0x279487=parseDirectColumnReference(_0x5c0377[0x1],_0x3b276b),_0x121904=containsColumnReference(_0x5c0377[0x0],_0x3b276b),_0x247dcb=containsColumnReference(_0x5c0377[0x1],_0x3b276b),_0x120d92=_0x3538e3&&!_0x247dcb?_0x3538e3:_0x279487&&!_0x121904?_0x279487:null;if(_0x120d92&&!_0x240e20[_0x239393(0x114)](_0x120d92))_0x240e20[_0x239393(0xe6)](_0x120d92);else!_0x120d92&&containsColumnReference(_0x5016ed,_0x3b276b)&&(_0x1af576=!![]);}_0x58d7f9[_0x239393(0xe6)]({'table':_0x1770ed,'alias':_0x3b276b,'columns':_0x240e20,'unsupportedPredicate':_0x1af576,'unsupportedReason':_0x4f3481,'containsUnresolvedInclude':_0x1226fc,'position':_0x6d2fe4});}for(const _0x669da4 of _0x4b518c['matchAll'](/\bJOIN\b/gi)){const _0x27603a=_0x669da4[_0x239393(0xe8)]??0x0;if(_0x24da69[_0x239393(0x12f)](_0x27603a))continue;const _0x4eea27=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x4a0a5e[_0x239393(0x122)](_0x27603a+_0x669da4[0x0][_0x239393(0x10b)])),_0x3ff825=normalizeIdentifier(_0x4eea27?.[0x1]||_0x239393(0x11c)),_0x18b574=normalizeIdentifier(_0x4eea27?.[0x2]||''),_0x3fc4f7=isSqlClauseKeyword(_0x18b574)?_0x3ff825[_0x239393(0x11a)]('.')['at'](-0x1)||_0x3ff825:_0x18b574||_0x3ff825[_0x239393(0x11a)]('.')['at'](-0x1)||_0x3ff825;_0x58d7f9[_0x239393(0xe6)]({'table':_0x3ff825,'alias':_0x3fc4f7,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x239393(0x107),'position':_0x27603a});}const _0x34b5d0=_0x4b518c[_0x239393(0x112)](MYBATIS_INCLUDE_MARKER);return _0x34b5d0>=0x0&&!_0x58d7f9[_0x239393(0x101)](_0x29b7d6=>_0x29b7d6['containsUnresolvedInclude'])&&_0x58d7f9['push']({'table':_0x239393(0x11c),'alias':_0x239393(0x11c),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x34b5d0}),_0x58d7f9[_0x239393(0x108)]((_0x190b9d,_0x33df2b)=>_0x190b9d[_0x239393(0x129)]-_0x33df2b[_0x239393(0x129)]);}function stripSqlNoise(_0x406c68){const _0x520dad=a243_0xd775,_0x537bc2=Array['from'](_0x406c68),_0x4c14e1=(_0x13ff6a,_0x4f5658)=>{for(let _0x569dce=_0x13ff6a;_0x569dce<_0x4f5658;_0x569dce+=0x1){_0x537bc2[_0x569dce]!=='\x0a'&&_0x537bc2[_0x569dce]!=='\x0d'&&(_0x537bc2[_0x569dce]='\x20');}};for(let _0x406e6b=0x0;_0x406e6b<_0x537bc2[_0x520dad(0x10b)];_0x406e6b+=0x1){const _0x5de797=_0x537bc2[_0x406e6b],_0x314536=_0x537bc2[_0x406e6b+0x1];if(_0x5de797==='\x27'||_0x5de797==='\x22'||_0x5de797==='`'){const _0x93a250=_0x5de797,_0x5733d4=_0x406e6b;_0x406e6b+=0x1;while(_0x406e6b<_0x537bc2['length']){if(_0x537bc2[_0x406e6b]==='\x5c'&&_0x406e6b+0x1<_0x537bc2['length']){_0x406e6b+=0x2;continue;}if(_0x537bc2[_0x406e6b]!==_0x93a250){_0x406e6b+=0x1;continue;}if(_0x537bc2[_0x406e6b+0x1]===_0x93a250){_0x406e6b+=0x2;continue;}break;}if(_0x93a250==='\x27')_0x4c14e1(_0x5733d4,Math['min'](_0x406e6b+0x1,_0x537bc2[_0x520dad(0x10b)]));continue;}if(_0x5de797==='-'&&_0x314536==='-'){const _0x285f45=_0x406e6b;while(_0x406e6b<_0x537bc2[_0x520dad(0x10b)]&&_0x537bc2[_0x406e6b]!=='\x0a')_0x406e6b+=0x1;_0x4c14e1(_0x285f45,_0x406e6b);continue;}if(_0x5de797==='/'&&_0x314536==='*'){const _0x1bdc4d=_0x406e6b;_0x406e6b+=0x2;while(_0x406e6b<_0x537bc2[_0x520dad(0x10b)]&&!(_0x537bc2[_0x406e6b]==='*'&&_0x537bc2[_0x406e6b+0x1]==='/')){_0x406e6b+=0x1;}_0x406e6b=Math[_0x520dad(0xf8)](_0x406e6b+0x1,_0x537bc2[_0x520dad(0x10b)]-0x1),_0x4c14e1(_0x1bdc4d,_0x406e6b+0x1);continue;}if(_0x5de797==='#'&&_0x314536!=='{'){const _0x4fa1bb=_0x406e6b;while(_0x406e6b<_0x537bc2[_0x520dad(0x10b)]&&_0x537bc2[_0x406e6b]!=='\x0a')_0x406e6b+=0x1;_0x4c14e1(_0x4fa1bb,_0x406e6b);continue;}if((_0x5de797==='#'||_0x5de797==='$')&&_0x314536==='{'){const _0x18d208=_0x406e6b;_0x406e6b+=0x2;while(_0x406e6b<_0x537bc2['length']&&_0x537bc2[_0x406e6b]!=='}')_0x406e6b+=0x1;_0x4c14e1(_0x18d208,Math['min'](_0x406e6b+0x1,_0x537bc2[_0x520dad(0x10b)]));}}return _0x537bc2['join']('');}function maskQuotedIdentifiers(_0x61ecf){const _0x5c41d7=a243_0xd775,_0xef904e=Array[_0x5c41d7(0xeb)](_0x61ecf);for(let _0x3e8ad3=0x0;_0x3e8ad3<_0xef904e[_0x5c41d7(0x10b)];_0x3e8ad3+=0x1){const _0x559971=_0xef904e[_0x3e8ad3];if(_0x559971!=='\x22'&&_0x559971!=='`')continue;_0x3e8ad3+=0x1;while(_0x3e8ad3<_0xef904e[_0x5c41d7(0x10b)]){if(_0xef904e[_0x3e8ad3]===_0x559971){if(_0xef904e[_0x3e8ad3+0x1]===_0x559971){_0xef904e[_0x3e8ad3]='\x20',_0xef904e[_0x3e8ad3+0x1]='\x20',_0x3e8ad3+=0x2;continue;}break;}_0xef904e[_0x3e8ad3]='\x20',_0x3e8ad3+=0x1;}}return _0xef904e[_0x5c41d7(0x103)]('');}function maskNestedQueries(_0x56718d){const _0x4dd1b1=a243_0xd775,_0x252621=Array['from'](_0x56718d);for(let _0x19f739=0x0;_0x19f739<_0x252621[_0x4dd1b1(0x10b)];_0x19f739+=0x1){if(_0x252621[_0x19f739]!=='(')continue;const _0x3e3114=_0x56718d['slice'](_0x19f739+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x4dd1b1(0x117)](_0x3e3114))continue;let _0x25090f=0x1,_0x39cb95=_0x19f739+0x1;for(;_0x39cb95<_0x252621[_0x4dd1b1(0x10b)]&&_0x25090f>0x0;_0x39cb95+=0x1){if(_0x252621[_0x39cb95]==='(')_0x25090f+=0x1;if(_0x252621[_0x39cb95]===')')_0x25090f-=0x1;}if(_0x25090f!==0x0)continue;for(let _0x109da7=_0x19f739;_0x109da7<_0x39cb95;_0x109da7+=0x1){_0x252621[_0x109da7]='\x20';}const _0x3ac452=_0x4dd1b1(0xea);for(let _0x306432=0x0;_0x306432<_0x3ac452[_0x4dd1b1(0x10b)]&&_0x19f739+_0x306432<_0x39cb95;_0x306432+=0x1){_0x252621[_0x19f739+_0x306432]=_0x3ac452[_0x306432];}_0x19f739=_0x39cb95-0x1;}return _0x252621[_0x4dd1b1(0x103)]('');}function splitTopLevelAnd(_0xef0eec){const _0x191045=a243_0xd775,_0x28661e=[];let _0xdfe572=0x0,_0x38678e=0x0;for(let _0x18a37a=0x0;_0x18a37a<_0xef0eec[_0x191045(0x10b)];_0x18a37a+=0x1){const _0x5da903=_0xef0eec[_0x18a37a];if(_0x5da903==='(')_0xdfe572+=0x1;if(_0x5da903===')')_0xdfe572=Math['max'](0x0,_0xdfe572-0x1);_0xdfe572===0x0&&_0xef0eec[_0x191045(0x122)](_0x18a37a)[_0x191045(0xfa)](/^AND\b/i)&&(_0x18a37a===0x0||/\s/[_0x191045(0x117)](_0xef0eec[_0x18a37a-0x1]??''))&&(_0x28661e[_0x191045(0xe6)](_0xef0eec[_0x191045(0x122)](_0x38678e,_0x18a37a)[_0x191045(0xe4)]()),_0x18a37a+=0x2,_0x38678e=_0x18a37a+0x1);}const _0x33b83e=_0xef0eec[_0x191045(0x122)](_0x38678e)['trim']();if(_0x33b83e)_0x28661e[_0x191045(0xe6)](_0x33b83e);return _0x28661e;}function hasTopLevelKeyword(_0x32303f,_0x22fc78){const _0x25491d=a243_0xd775;let _0x1b62b9=0x0;for(let _0x489eb6=0x0;_0x489eb6<_0x32303f[_0x25491d(0x10b)];_0x489eb6+=0x1){const _0x2fb571=_0x32303f[_0x489eb6];if(_0x2fb571==='(')_0x1b62b9+=0x1;if(_0x2fb571===')')_0x1b62b9=Math[_0x25491d(0x105)](0x0,_0x1b62b9-0x1);if(_0x1b62b9!==0x0)continue;const _0x50c139=_0x32303f[_0x25491d(0x122)](_0x489eb6,_0x489eb6+_0x22fc78[_0x25491d(0x10b)]),_0x5dd2ad=_0x32303f[_0x489eb6-0x1]??'\x20',_0x310834=_0x32303f[_0x489eb6+_0x22fc78['length']]??'\x20';if(_0x50c139['toUpperCase']()===_0x22fc78[_0x25491d(0xf0)]()&&!/[\w$]/[_0x25491d(0x117)](_0x5dd2ad)&&!/[\w$]/[_0x25491d(0x117)](_0x310834))return!![];}return![];}function splitEquality(_0x2a5238){const _0x4a397e=a243_0xd775,_0x15e3b9=stripOuterParentheses(_0x2a5238);let _0x5cbaa6=0x0,_0x2d85d2;for(let _0x1726ac=0x0;_0x1726ac<_0x15e3b9[_0x4a397e(0x10b)];_0x1726ac+=0x1){const _0x5977cb=_0x15e3b9[_0x1726ac];if(_0x5977cb==='(')_0x5cbaa6+=0x1;if(_0x5977cb===')')_0x5cbaa6=Math[_0x4a397e(0x105)](0x0,_0x5cbaa6-0x1);const _0x3d5385=_0x15e3b9[_0x1726ac-0x1]??'',_0x2c93ec=_0x15e3b9[_0x1726ac+0x1]??'';if(_0x5977cb==='='&&_0x5cbaa6===0x0&&!/[!<>=:]/[_0x4a397e(0x117)](_0x3d5385)&&_0x2c93ec!=='='){if(_0x2d85d2!==undefined)return null;_0x2d85d2=_0x1726ac;}}return _0x2d85d2===undefined?null:[_0x15e3b9[_0x4a397e(0x122)](0x0,_0x2d85d2)['trim'](),_0x15e3b9[_0x4a397e(0x122)](_0x2d85d2+0x1)[_0x4a397e(0xe4)]()];}function parseDirectColumnReference(_0x4768fe,_0x9e74d2){const _0x550f1d=a243_0xd775,_0x5d9d89=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x550f1d(0x126)](stripOuterParentheses(_0x4768fe));if(!_0x5d9d89)return null;if(normalizeIdentifier(_0x5d9d89[0x1]??'')!==normalizeIdentifier(_0x9e74d2))return null;return normalizeIdentifier(_0x5d9d89[0x2]??'');}function containsColumnReference(_0x1a5261,_0xba67b3){const _0x3b1f9d=a243_0xd775,_0x5cd9a1=_0x1a5261[_0x3b1f9d(0xf6)](/[`"]/g,''),_0x4967a0=_0xba67b3[_0x3b1f9d(0xf6)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return new RegExp(_0x3b1f9d(0xf1)+_0x4967a0+_0x3b1f9d(0xe9),'i')['test'](_0x5cd9a1);}function findEqualityPrefix(_0x18cec4,_0x551812){const _0x1073e1=a243_0xd775,_0x203b18=new Set(_0x551812[_0x1073e1(0x12d)](normalizeIdentifier)),_0x18a0bb=[];for(const _0x557a57 of _0x18cec4){if(!_0x203b18[_0x1073e1(0x12f)](normalizeIdentifier(_0x557a57)))break;_0x18a0bb[_0x1073e1(0xe6)](_0x557a57);}return _0x18a0bb;}function resolveTableMetadata(_0x49775b,_0xd7cab0){const _0x1873bb=a243_0xd775,_0x2798af=normalizeIdentifier(_0xd7cab0),_0x24a09b=_0x49775b['filter'](_0x3cdff8=>normalizeIdentifier(_0x3cdff8['tableName'])===_0x2798af);if(_0x24a09b['length']===0x1)return _0x24a09b[0x0];const _0x36ef02=_0x2798af[_0x1873bb(0x114)]('.'),_0x97f7ca=_0x2798af[_0x1873bb(0x11a)]('.')['at'](-0x1),_0x2e5f9c=_0x49775b['filter'](_0x24d0a3=>{const _0x33e145=_0x1873bb,_0x3a3dd5=normalizeIdentifier(_0x24d0a3[_0x33e145(0x100)]);if(_0x36ef02&&_0x3a3dd5[_0x33e145(0x114)]('.'))return![];return _0x3a3dd5['split']('.')['at'](-0x1)===_0x97f7ca;});return _0x2e5f9c[_0x1873bb(0x10b)]===0x1?_0x2e5f9c[0x0]:undefined;}function columnNamesMatch(_0x311d44,_0x2a80d9){return normalizeIdentifier(_0x311d44)===normalizeIdentifier(_0x2a80d9);}function a243_0xd775(_0x139e3b,_0x3eb4ff){_0x139e3b=_0x139e3b-0xe4;const _0x18a358=a243_0x18a3();let _0xd77593=_0x18a358[_0x139e3b];return _0xd77593;}function normalizeIdentifier(_0x3aa1b7){const _0x2bfc30=a243_0xd775;return _0x3aa1b7[_0x2bfc30(0xf6)](/[`"]/g,'')[_0x2bfc30(0xe4)]()[_0x2bfc30(0x111)]();}function isSqlClauseKeyword(_0x21d650){const _0x5f1145=a243_0xd775;return new Set(['on',_0x5f1145(0xed),'where',_0x5f1145(0x103),'inner','left',_0x5f1145(0xfb),_0x5f1145(0x12a),_0x5f1145(0x115),'natural'])[_0x5f1145(0x12f)](_0x21d650);}function stripOuterParentheses(_0x3f8f18){const _0x5a6efa=a243_0xd775;let _0x5dc3ad=_0x3f8f18[_0x5a6efa(0xe4)]();while(_0x5dc3ad[_0x5a6efa(0x123)]('(')&&_0x5dc3ad['endsWith'](')')){let _0x2b49a3=0x0,_0x4d8faf=!![];for(let _0x413fee=0x0;_0x413fee<_0x5dc3ad['length'];_0x413fee+=0x1){if(_0x5dc3ad[_0x413fee]==='(')_0x2b49a3+=0x1;if(_0x5dc3ad[_0x413fee]===')')_0x2b49a3-=0x1;if(_0x2b49a3===0x0&&_0x413fee<_0x5dc3ad[_0x5a6efa(0x10b)]-0x1){_0x4d8faf=![];break;}}if(!_0x4d8faf||_0x2b49a3!==0x0)break;_0x5dc3ad=_0x5dc3ad['slice'](0x1,-0x1)[_0x5a6efa(0xe4)]();}return _0x5dc3ad;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a244_0x51f73c=a244_0x42a2;(function(_0xf791d,_0xa52362){const _0x314fab=a244_0x42a2,_0x395765=_0xf791d();while(!![]){try{const _0x5a5f05=parseInt(_0x314fab(0x16e))/0x1+-parseInt(_0x314fab(0x173))/0x2*(-parseInt(_0x314fab(0x178))/0x3)+-parseInt(_0x314fab(0x174))/0x4*(-parseInt(_0x314fab(0x17b))/0x5)+-parseInt(_0x314fab(0x17d))/0x6+parseInt(_0x314fab(0x177))/0x7*(-parseInt(_0x314fab(0x16f))/0x8)+parseInt(_0x314fab(0x172))/0x9*(parseInt(_0x314fab(0x175))/0xa)+-parseInt(_0x314fab(0x176))/0xb*(-parseInt(_0x314fab(0x171))/0xc);if(_0x5a5f05===_0xa52362)break;else _0x395765['push'](_0x395765['shift']());}catch(_0x51c1a7){_0x395765['push'](_0x395765['shift']());}}}(a244_0xd683,0xeb14b));function a244_0x42a2(_0x5c3ceb,_0x5760e7){_0x5c3ceb=_0x5c3ceb-0x16e;const _0xd68329=a244_0xd683();let _0x42a256=_0xd68329[_0x5c3ceb];return _0x42a256;}import{resolve}from'node:path';function a244_0xd683(){const _0x351b73=['4890lhrlwa','11VcIhBm','3342759gDAQUd','3EDOgVc','.rabetbase','sql-trash','2165215cYOttr','sql.lock.json','8097450ipGqeR','164140xRnlDz','8cMjBjo','sql','8101032eeNWGk','3762wGDPlo','28406nJUkHf','16UYvDhH'];a244_0xd683=function(){return _0x351b73;};return a244_0xd683();}import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a244_0x51f73c(0x179),LOCK_FILE_NAME=a244_0x51f73c(0x17c),TRASH_DIR_NAME=a244_0x51f73c(0x17a);export function loadSqlProjectConfig(_0x54997c,_0x4bfa6b){const _0x4020f1=a244_0x51f73c,_0x4be0bd=resolve(_0x4bfa6b??findProjectRootDirectory()),_0x2b1cd6=DOT_DIR+'/sql',_0x1f004d=_0x2b1cd6+'/'+_0x54997c;return{'projectRoot':_0x4be0bd,'appCode':_0x54997c,'sqlWorkspaceRoot':_0x2b1cd6,'sqlRoot':_0x1f004d,'sqlRootDir':resolve(_0x4be0bd,DOT_DIR,_0x4020f1(0x170),_0x54997c),'lockFilePath':resolve(_0x4be0bd,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x4be0bd,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4f9b85,_0x432302){const _0x4edf1d=a245_0x1200,_0x5a3019=_0x4f9b85();while(!![]){try{const _0x3b9ced=-parseInt(_0x4edf1d(0xae))/0x1+parseInt(_0x4edf1d(0xc2))/0x2+parseInt(_0x4edf1d(0xb1))/0x3+parseInt(_0x4edf1d(0xb5))/0x4+parseInt(_0x4edf1d(0xbd))/0x5*(parseInt(_0x4edf1d(0xab))/0x6)+-parseInt(_0x4edf1d(0xb6))/0x7+-parseInt(_0x4edf1d(0xbf))/0x8*(parseInt(_0x4edf1d(0xc0))/0x9);if(_0x3b9ced===_0x432302)break;else _0x5a3019['push'](_0x5a3019['shift']());}catch(_0x360c21){_0x5a3019['push'](_0x5a3019['shift']());}}}(a245_0x17c7,0x2b106));function a245_0x1200(_0x13bc94,_0x26e769){_0x13bc94=_0x13bc94-0xa8;const _0x17c777=a245_0x17c7();let _0x12007f=_0x17c777[_0x13bc94];return _0x12007f;}import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x23dab8){const _0x361976=a245_0x1200;if(_0x23dab8===_0x361976(0xa8))return _0x361976(0xc4);if(_0x23dab8===_0x361976(0xb9))return _0x361976(0xad);return undefined;}async function scanSqlFilesRecursively(_0x2d69c8,_0x1d478c){const _0x476d33=a245_0x1200,_0x229828=[];try{const _0x2cfd4b=await readdir(_0x2d69c8,{'withFileTypes':!![]});for(const _0x1d2567 of _0x2cfd4b){const _0x5f165b=join(_0x2d69c8,_0x1d2567[_0x476d33(0xac)]);if(_0x1d2567[_0x476d33(0xb0)]()){_0x229828['push'](...await scanSqlFilesRecursively(_0x5f165b,_0x1d478c));continue;}if(!_0x1d2567[_0x476d33(0xb2)]())continue;const _0x24b131=extname(_0x1d2567[_0x476d33(0xac)])['toLowerCase'](),_0x4b7248=extensionToMode(_0x24b131);if(!_0x4b7248)continue;const _0x38178c=relative(_0x1d478c,_0x5f165b)[_0x476d33(0xbb)](/\\/g,'/'),_0x14153b=_0x38178c[_0x476d33(0xaa)]('/')['filter'](Boolean),_0x404eaf=parseSqlPath(_0x14153b,_0x1d2567[_0x476d33(0xac)],_0x24b131);if(!_0x404eaf)continue;_0x229828['push']({'sqlCode':_0x404eaf[_0x476d33(0xaf)],'sqlName':_0x404eaf['sqlName'],'dbDirectory':_0x14153b[0x0],'filePath':_0x5f165b,'relativePath':_0x38178c,'lockKey':_0x404eaf[_0x476d33(0xaf)],'mode':_0x4b7248});}}catch(_0x23161a){if(_0x23161a[_0x476d33(0xb7)]!=='ENOENT')throw _0x23161a;}return _0x229828;}export async function scanLocalSqlQueries(_0x2fb98d){const _0x36edd3=a245_0x1200;return scanSqlFilesRecursively(_0x2fb98d[_0x36edd3(0xbe)],_0x2fb98d['sqlRootDir']);}export function resolveLocalSqlFilePath(_0xc87594,_0x5ec9ad,_0x241b1d){const _0x2980a0=a245_0x1200,_0x165463=_0x241b1d?.[_0x2980a0(0xb4)]||(_0x241b1d?.['sqlName']||_0x241b1d?.[_0x2980a0(0xb8)]?buildSqlRelativePath(_0x5ec9ad,_0x241b1d?.[_0x2980a0(0xb3)],_0x241b1d?.['dbName'],_0x241b1d?.[_0x2980a0(0xbc)]||'sql',_0x241b1d?.[_0x2980a0(0xa9)]):buildDefaultSqlFileName(_0x5ec9ad,_0x241b1d?.[_0x2980a0(0xbc)]||'sql'));return join(_0xc87594['sqlRootDir'],_0x165463);}export async function directoryExists(_0x114198){try{const _0x17476a=await stat(_0x114198);return _0x17476a['isDirectory']();}catch{return![];}}function a245_0x17c7(){const _0x5ca208=['isFile','sqlName','path','533788cUboqr','208411imoiki','code','dbName','.xml','slice','replace','mode','75zVOyHg','sqlRootDir','194872QqzXMw','126rBhNpQ','indexOf','147228ynNPAn','length','sql','.sql','dbId','split','94788LKIkwW','name','mybatisXml','10266NktPWC','sqlCode','isDirectory','340272TfaiMm'];a245_0x17c7=function(){return _0x5ca208;};return a245_0x17c7();}function parseSqlPath(_0x4953ff,_0x14823a,_0x4f619e){const _0x2b62f8=a245_0x1200,_0x1f6177=_0x14823a[_0x2b62f8(0xba)](0x0,-_0x4f619e['length']);if(_0x4953ff[_0x2b62f8(0xc3)]<0x2)return null;const _0x41f59e=_0x1f6177[_0x2b62f8(0xc1)]('_');if(_0x41f59e<=0x0||_0x41f59e>=_0x1f6177[_0x2b62f8(0xc3)]-0x1)return null;const _0x23c5a4=_0x1f6177[_0x2b62f8(0xba)](0x0,_0x41f59e);if(!isLikelySqlCode(_0x23c5a4))return null;return{'sqlCode':_0x23c5a4,'sqlName':_0x1f6177[_0x2b62f8(0xba)](_0x41f59e+0x1)};}function isLikelySqlCode(_0xb9209d){return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/['test'](_0xb9209d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a246_0x33f4(_0xbe6b14,_0x449e9e){_0xbe6b14=_0xbe6b14-0x15c;const _0x291cc8=a246_0x291c();let _0x33f4d5=_0x291cc8[_0xbe6b14];return _0x33f4d5;}(function(_0x563c72,_0x6fbec0){const _0x4daff0=a246_0x33f4,_0x485232=_0x563c72();while(!![]){try{const _0x4964cc=parseInt(_0x4daff0(0x16a))/0x1+-parseInt(_0x4daff0(0x15e))/0x2+parseInt(_0x4daff0(0x163))/0x3+parseInt(_0x4daff0(0x15f))/0x4*(-parseInt(_0x4daff0(0x161))/0x5)+-parseInt(_0x4daff0(0x165))/0x6*(-parseInt(_0x4daff0(0x160))/0x7)+parseInt(_0x4daff0(0x169))/0x8*(-parseInt(_0x4daff0(0x168))/0x9)+-parseInt(_0x4daff0(0x164))/0xa*(-parseInt(_0x4daff0(0x167))/0xb);if(_0x4964cc===_0x6fbec0)break;else _0x485232['push'](_0x485232['shift']());}catch(_0x1fbf6d){_0x485232['push'](_0x485232['shift']());}}}(a246_0x291c,0xcaa56));import{readFile}from'node:fs/promises';import a246_0xfcc007 from'node:crypto';function a246_0x291c(){const _0x481eb2=['2426168exTMMj','1096072ZuFtAR','digest','createHash','349592GWshZp','4hPLEgs','76909pQGxSl','6284705qGoUKY','md5','2049573DZHXLD','993940OhXZJC','6kQTTaZ','utf8','220EfKZzZ','45eAvyBQ'];a246_0x291c=function(){return _0x481eb2;};return a246_0x291c();}export function computeSqlContentHash(_0x3e370c){const _0x342e1d=a246_0x33f4;return a246_0xfcc007[_0x342e1d(0x15d)](_0x342e1d(0x162))['update'](_0x3e370c)[_0x342e1d(0x15c)]('hex');}export async function computeSqlFileHash(_0x23c033){const _0x5613fa=a246_0x33f4,_0x49005a=await readFile(_0x23c033,_0x5613fa(0x166));return computeSqlContentHash(_0x49005a);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56e654,_0x3977f4){const _0x2b3143=a247_0x5e13,_0x2113b6=_0x56e654();while(!![]){try{const _0x4e1530=-parseInt(_0x2b3143(0xa4))/0x1*(parseInt(_0x2b3143(0xac))/0x2)+-parseInt(_0x2b3143(0x99))/0x3*(parseInt(_0x2b3143(0x97))/0x4)+-parseInt(_0x2b3143(0xab))/0x5*(parseInt(_0x2b3143(0xa9))/0x6)+-parseInt(_0x2b3143(0x9e))/0x7*(parseInt(_0x2b3143(0xa0))/0x8)+parseInt(_0x2b3143(0xa1))/0x9*(parseInt(_0x2b3143(0xaa))/0xa)+-parseInt(_0x2b3143(0xa8))/0xb*(parseInt(_0x2b3143(0x9d))/0xc)+parseInt(_0x2b3143(0xa7))/0xd*(parseInt(_0x2b3143(0xad))/0xe);if(_0x4e1530===_0x3977f4)break;else _0x2113b6['push'](_0x2113b6['shift']());}catch(_0x5c9965){_0x2113b6['push'](_0x2113b6['shift']());}}}(a247_0x5871,0x3a737));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x46fa99,_0x451397,_0x4d6b4b,_0x2e6021){const _0x30f2ed=a247_0x5e13,_0x1b71ca=_0x46fa99??createEmptySqlLock();let _0x130911=_0x1b71ca[_0x30f2ed(0x9b)][_0x451397];if(!_0x130911)return _0x130911={'sqlRoot':_0x4d6b4b,'lastSync':'','sqls':{}},_0x1b71ca[_0x30f2ed(0x9b)][_0x451397]=_0x130911,{'lockData':_0x1b71ca,'appLock':_0x130911};if(!_0x130911[_0x30f2ed(0xa2)])_0x130911['sqlRoot']=_0x4d6b4b;else{if(_0x130911[_0x30f2ed(0xa2)]!==_0x4d6b4b)throw new Error(_0x2e6021+_0x30f2ed(0x95)+_0x4d6b4b+'\x22\x20vs\x20lock\x20\x22'+_0x130911[_0x30f2ed(0xa2)]+_0x30f2ed(0xa6)+_0x30f2ed(0x9a));}return!_0x130911[_0x30f2ed(0x9c)]&&(_0x130911[_0x30f2ed(0x9c)]={}),!_0x130911[_0x30f2ed(0x9f)]&&(_0x130911[_0x30f2ed(0x9f)]=''),{'lockData':_0x1b71ca,'appLock':_0x130911};}function a247_0x5e13(_0x4fc517,_0x4c499b){_0x4fc517=_0x4fc517-0x95;const _0x587177=a247_0x5871();let _0x5e1386=_0x587177[_0x4fc517];return _0x5e1386;}function a247_0x5871(){const _0x5d9f43=['13BzNfxL','4334165GcOHgJ','1899696uvzAdi','10BBZqKZ','5ykTDoC','414382EunFxS','13975948FCiuQy','code','ENOENT',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','utf8','1072hodNEZ','stringify','231rYZcir','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','apps','sqls','12GMDMOf','9905ZhWdfh','lastSync','616vPJRyA','2596914hPtCYI','sqlRoot','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','1gTafEX','parse','\x22.\x20'];a247_0x5871=function(){return _0x5d9f43;};return a247_0x5871();}export async function readSqlLockFile(_0x203206){const _0x8b4489=a247_0x5e13;try{const _0x49d640=await readFile(_0x203206,_0x8b4489(0x96));return JSON[_0x8b4489(0xa5)](_0x49d640);}catch(_0x112854){if(_0x112854[_0x8b4489(0xae)]===_0x8b4489(0xaf))return null;throw new Error(_0x8b4489(0xa3)+String(_0x112854));}}export async function writeSqlLockFile(_0x2732a3,_0x335888){const _0x2155ed=a247_0x5e13;await mkdir(dirname(_0x2732a3),{'recursive':!![]}),await writeFile(_0x2732a3,JSON[_0x2155ed(0x98)](_0x335888,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a249_0xe583(){const _0x1feb97=['14918780WmqVvT','140496xtGgQf','5715619DhzPls','replace','trim','385YkomJX','3765675CiZHoV','test','.sql','307824PAiMCf','db-','mybatisXml','unknown-db','5330nbKdux','2074932VPlpYs','3qeKXXD','189xdvwBi','.xml'];a249_0xe583=function(){return _0x1feb97;};return a249_0xe583();}(function(_0x51e8d1,_0x1023ec){const _0x5d9ada=a249_0x33b6,_0x59fe72=_0x51e8d1();while(!![]){try{const _0x252b8b=parseInt(_0x5d9ada(0x104))/0x1*(-parseInt(_0x5d9ada(0x10c))/0x2)+-parseInt(_0x5d9ada(0x10e))/0x3*(-parseInt(_0x5d9ada(0x10d))/0x4)+-parseInt(_0x5d9ada(0x105))/0x5+-parseInt(_0x5d9ada(0x108))/0x6+parseInt(_0x5d9ada(0x101))/0x7+-parseInt(_0x5d9ada(0x100))/0x8*(parseInt(_0x5d9ada(0x10f))/0x9)+parseInt(_0x5d9ada(0xff))/0xa;if(_0x252b8b===_0x1023ec)break;else _0x59fe72['push'](_0x59fe72['shift']());}catch(_0x30a7b9){_0x59fe72['push'](_0x59fe72['shift']());}}}(a249_0xe583,0x99496));export function detectSqlMode(_0x302df8){const _0xfda4c=a249_0x33b6,_0x411cb4=_0x302df8['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0xfda4c(0x106)](_0x411cb4))return _0xfda4c(0x10a);return'sql';}export function getSqlFileExtension(_0x4ae707){const _0x3cc14a=a249_0x33b6;return _0x4ae707===_0x3cc14a(0x10a)?_0x3cc14a(0x110):_0x3cc14a(0x107);}function a249_0x33b6(_0x149ce4,_0x9224b){_0x149ce4=_0x149ce4-0xff;const _0xe58313=a249_0xe583();let _0x33b60d=_0xe58313[_0x149ce4];return _0x33b60d;}export function buildDefaultSqlFileName(_0x444104,_0x505b1c){return''+_0x444104+getSqlFileExtension(_0x505b1c);}export function sanitizeSqlPathSegment(_0x3cba85,_0x2eb35f){const _0x271841=a249_0x33b6,_0x3638c4=String(_0x3cba85??'')[_0x271841(0x103)](),_0x41acb1=_0x3638c4[_0x271841(0x102)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x271841(0x102)](/\s+/g,'-')[_0x271841(0x102)](/-+/g,'-')[_0x271841(0x102)](/^\.+/,'')[_0x271841(0x102)](/\.+$/,'')[_0x271841(0x102)](/^-+/,'')[_0x271841(0x102)](/-+$/,'');return _0x41acb1||_0x2eb35f;}export function buildDbDirectoryName(_0x1cf15e,_0x3196c0){const _0x3a866f=a249_0x33b6;return sanitizeSqlPathSegment(_0x1cf15e,_0x3196c0!=null?_0x3a866f(0x109)+_0x3196c0:_0x3a866f(0x10b));}export function buildSqlRelativePath(_0x571f42,_0x1dd722,_0x8caf6,_0x57c7fe,_0xbd0828){const _0x4133f4=buildDbDirectoryName(_0x8caf6,_0xbd0828),_0x245cb8=sanitizeSqlPathSegment(_0x571f42,'unknown-sql'),_0x81a2f0=sanitizeSqlPathSegment(_0x1dd722,_0x245cb8);return _0x4133f4+'/'+_0x245cb8+'_'+_0x81a2f0+getSqlFileExtension(_0x57c7fe);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a249_0x505d(){const _0x4ad064=['627695AGoMrr','621296nvBSSH','fromCodePoint','rawName','Invalid\x20MyBatis\x20XML\x20tag.','tagName','set','property','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','Unable\x20to\x20detect\x20SQL\x20type.\x20','get','type','723432AsWDPY','6RoLBpt','UNKNOWN','join','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','keys','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__',''','toLowerCase','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','884556JIYiLR','slice','Invalid\x20XML\x20entity\x20reference.','length','test','replaceAll','23684bsxnwu','WITH','^<\x5cs*(?:','Unterminated\x20XML\x20comment.','match','1140980TCzxzW','8wDkvOo','string','&','\x20query\x20targeting\x20','\x20WHERE\x20','includes','Unterminated\x20MyBatis\x20XML\x20tag.','insert','otherwise','push','<','isDangerous','when','27EEauKT','matchAll','select','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','__RABETBASE_MYBATIS_DYNAMIC_START__','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','from','has','\x20with\x20parameters:\x20','UPDATE','include','DELETE','add','3603131zEiFht','where','update','exec','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','foreach','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','__RABETBASE_MYBATIS_DYNAMIC_END__','pop','SELECT','trim','"','sql','SQL\x20content\x20is\x20empty','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','<!--','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.',')\x5cb','choose','split','indexOf','startsWith','outer','mybatisXml','replace','INSERT','\x20SET\x20','toUpperCase','DDL','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','-->','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','error','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','reason','parseInt'];a249_0x505d=function(){return _0x4ad064;};return a249_0x505d();}const a249_0x3c89cd=a249_0x53ac;(function(_0x1092c9,_0x5301a5){const _0x49a823=a249_0x53ac,_0x26f7bf=_0x1092c9();while(!![]){try{const _0x403af0=parseInt(_0x49a823(0x1cc))/0x1+parseInt(_0x49a823(0x1bc))/0x2+-parseInt(_0x49a823(0x1c6))/0x3+-parseInt(_0x49a823(0x1d2))/0x4*(-parseInt(_0x49a823(0x1b0))/0x5)+parseInt(_0x49a823(0x1bd))/0x6*(parseInt(_0x49a823(0x1ec))/0x7)+-parseInt(_0x49a823(0x1b1))/0x8+parseInt(_0x49a823(0x1df))/0x9*(-parseInt(_0x49a823(0x1d1))/0xa);if(_0x403af0===_0x5301a5)break;else _0x26f7bf['push'](_0x26f7bf['shift']());}catch(_0x216613){_0x26f7bf['push'](_0x26f7bf['shift']());}}}(a249_0x505d,0x6a8b3));const MYBATIS_OUTER_TAGS=new Map([[a249_0x3c89cd(0x1e1),a249_0x3c89cd(0x1f5)],[a249_0x3c89cd(0x1d9),a249_0x3c89cd(0x205)],[a249_0x3c89cd(0x1ee),a249_0x3c89cd(0x1e8)],['delete','DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where',a249_0x3c89cd(0x1f1),a249_0x3c89cd(0x1fe),'when',a249_0x3c89cd(0x1da),a249_0x3c89cd(0x1f6),a249_0x3c89cd(0x1b6),'bind',a249_0x3c89cd(0x1e9),a249_0x3c89cd(0x1b7)]),MYBATIS_BRANCH_TAGS=new Set(['if',a249_0x3c89cd(0x1f1),'choose',a249_0x3c89cd(0x1de),'otherwise']);export const MYBATIS_DYNAMIC_START_MARKER=a249_0x3c89cd(0x1e3);export const MYBATIS_DYNAMIC_END_MARKER=a249_0x3c89cd(0x1f3);export const MYBATIS_INCLUDE_MARKER=a249_0x3c89cd(0x1c0);const UNRESOLVED_SQL_FRAGMENT=a249_0x3c89cd(0x1c2),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a249_0x3c89cd(0x1ce)+[...MYBATIS_OUTER_TAGS[a249_0x3c89cd(0x1c1)]()][a249_0x3c89cd(0x1bf)]('|')+a249_0x3c89cd(0x1fd),'i');export function normalizeSqlForStaticAnalysis(_0x3deadf){const _0x2c7aeb=a249_0x3c89cd,_0x3c401b=typeof _0x3deadf===_0x2c7aeb(0x1d3)?_0x3deadf:'';if(!startsWithMybatisStatementWrapper(_0x3c401b))return{'sql':_0x3c401b,'mode':_0x2c7aeb(0x1f8)};let _0x1431ba=0x0,_0x3a475f='',_0xfaf6fa,_0xde1d6d=![],_0x5010ec=![];const _0x529504=[];while(_0x1431ba<_0x3c401b[_0x2c7aeb(0x1c9)]){if(_0x3c401b['startsWith'](_0x2c7aeb(0x1fb),_0x1431ba)){const _0x396d44=_0x3c401b[_0x2c7aeb(0x200)](_0x2c7aeb(0x20a),_0x1431ba+0x4);if(_0x396d44<0x0)return invalidMybatisSource(_0x2c7aeb(0x1cf));_0x3a475f+='\x20',_0x1431ba=_0x396d44+0x3;continue;}if(_0x3c401b[_0x2c7aeb(0x201)]('<;if(_0x497f8e<0x0)return invalidMybatisSource('Unterminated\x20CDATA\x20section.');_0x3a475f+=_0x3c401b['slice'](_0x1431ba+0x9,_0x497f8e),_0x1431ba=_0x497f8e+0x3;continue;}if(_0x3c401b['startsWith']('<?',_0x1431ba)){if(_0xde1d6d)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x12d36f=_0x3c401b[_0x2c7aeb(0x200)]('?>',_0x1431ba+0x2);if(_0x12d36f<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x3a475f+='\x20',_0x1431ba=_0x12d36f+0x2;continue;}if(_0x3c401b[_0x1431ba]!=='<'){const _0xa61cfa=_0x3c401b['indexOf']('<',_0x1431ba),_0x56f304=_0xa61cfa<0x0?_0x3c401b[_0x2c7aeb(0x1c9)]:_0xa61cfa,_0x5eb41d=_0x3c401b['slice'](_0x1431ba,_0x56f304);if((!_0xde1d6d||_0x5010ec)&&_0x5eb41d[_0x2c7aeb(0x1f6)]())return invalidMybatisSource('SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');if(_0xde1d6d&&!_0x5010ec){const _0xf1d880=decodeXmlEntities(_0x5eb41d);if(_0xf1d880===null)return invalidMybatisSource(_0x2c7aeb(0x1c8));_0x3a475f+=_0xf1d880;}else _0x3a475f+='\x20';_0x1431ba=_0x56f304;continue;}const _0x3d86f8=findXmlTagEnd(_0x3c401b,_0x1431ba);if(_0x3d86f8<0x0)return invalidMybatisSource(_0x2c7aeb(0x1d8));const _0x4fdeca=_0x3c401b[_0x2c7aeb(0x1c7)](_0x1431ba,_0x3d86f8+0x1),_0x32e89=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x2c7aeb(0x1ef)](_0x4fdeca);if(!_0x32e89)return invalidMybatisSource(_0x2c7aeb(0x1b4));const _0x4330c8=_0x32e89[0x1]==='/',_0x2f0a49=_0x32e89[0x2]??'',_0x2fc19e=_0x2f0a49[_0x2c7aeb(0x1c4)](),_0x21895a=_0x32e89[0x3]??'',_0x1bd2c5=_0x32e89[0x4]==='/',_0x30c1fa=MYBATIS_OUTER_TAGS[_0x2c7aeb(0x1ba)](_0x2fc19e);if(!_0x30c1fa&&!MYBATIS_DYNAMIC_TAGS[_0x2c7aeb(0x1e6)](_0x2fc19e))return invalidMybatisSource(_0x2c7aeb(0x1f0)+_0x2fc19e+'>.');if(!_0x30c1fa&&_0x2f0a49!==_0x2fc19e)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<'+_0x2f0a49+'>.');if(_0x4330c8){if(_0x21895a['trim']()||_0x1bd2c5)return invalidMybatisSource(_0x2c7aeb(0x209)+_0x2f0a49+'>.');const _0x35ff67=_0x529504['at'](-0x1);if(!_0x35ff67||(_0x35ff67[_0x2c7aeb(0x202)]?_0x35ff67[_0x2c7aeb(0x1b5)]!==_0x2fc19e:_0x35ff67[_0x2c7aeb(0x1b3)]!==_0x2f0a49))return invalidMybatisSource(_0x2c7aeb(0x1e2)+_0x2f0a49+'>.');_0x529504[_0x2c7aeb(0x1f4)]();if(_0x35ff67['outer'])_0x5010ec=!![];_0x3a475f+=MYBATIS_BRANCH_TAGS[_0x2c7aeb(0x1e6)](_0x2fc19e)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x21895a))return invalidMybatisSource(_0x2c7aeb(0x1c5)+_0x2f0a49+'>.');if(_0x2fc19e==='property'&&(!_0x1bd2c5||_0x529504['at'](-0x1)?.[_0x2c7aeb(0x1b5)]!==_0x2c7aeb(0x1e9)))return invalidMybatisSource(_0x2c7aeb(0x1f2));if(_0x30c1fa){if(_0xde1d6d||_0x529504['length']>0x0)return invalidMybatisSource(_0x2c7aeb(0x20d));_0xde1d6d=!![],_0x5010ec=_0x1bd2c5,_0xfaf6fa=_0x30c1fa;}else{if(!_0xde1d6d||_0x5010ec)return invalidMybatisSource(_0x2c7aeb(0x1fa)+_0x2f0a49+'>.');}_0x3a475f+=_0x2fc19e===_0x2c7aeb(0x1ed)?_0x2c7aeb(0x1d6):_0x2fc19e===_0x2c7aeb(0x1b6)?_0x2c7aeb(0x206):_0x2fc19e==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x2c7aeb(0x1e6)](_0x2fc19e)&&!_0x1bd2c5?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x1bd2c5&&_0x529504['push']({'rawName':_0x2f0a49,'tagName':_0x2fc19e,'outer':!!_0x30c1fa});}_0x1431ba=_0x3d86f8+0x1;}if(_0x529504[_0x2c7aeb(0x1c9)]>0x0)return invalidMybatisSource(_0x2c7aeb(0x20b)+_0x529504['at'](-0x1)?.['rawName']+'>.');if(!_0xde1d6d||!_0x5010ec)return invalidMybatisSource(_0x2c7aeb(0x1b8));return{'sql':_0x3a475f[_0x2c7aeb(0x1f6)](),'mode':_0x2c7aeb(0x203),..._0xfaf6fa?{'statementType':_0xfaf6fa}:{}};}function hasWellFormedXmlAttributes(_0x587599){const _0x370259=a249_0x3c89cd;let _0x12db12=0x0;const _0x411d93=new Set();while(_0x12db12<_0x587599[_0x370259(0x1c9)]){while(_0x12db12<_0x587599['length']&&/\s/[_0x370259(0x1ca)](_0x587599[_0x12db12]??''))_0x12db12+=0x1;if(_0x12db12>=_0x587599[_0x370259(0x1c9)])return!![];const _0x1d5b5f=/^[A-Za-z_:][\w:.-]*/['exec'](_0x587599[_0x370259(0x1c7)](_0x12db12)),_0x1b65e0=_0x1d5b5f?.[0x0];if(!_0x1b65e0||_0x411d93[_0x370259(0x1e6)](_0x1b65e0))return![];_0x411d93[_0x370259(0x1eb)](_0x1b65e0),_0x12db12+=_0x1b65e0[_0x370259(0x1c9)];while(_0x12db12<_0x587599[_0x370259(0x1c9)]&&/\s/[_0x370259(0x1ca)](_0x587599[_0x12db12]??''))_0x12db12+=0x1;if(_0x587599[_0x12db12]!=='=')return![];_0x12db12+=0x1;while(_0x12db12<_0x587599[_0x370259(0x1c9)]&&/\s/[_0x370259(0x1ca)](_0x587599[_0x12db12]??''))_0x12db12+=0x1;const _0x1a703d=_0x587599[_0x12db12];if(_0x1a703d!=='\x22'&&_0x1a703d!=='\x27')return![];_0x12db12+=0x1;const _0x5130ba=_0x587599[_0x370259(0x200)](_0x1a703d,_0x12db12);if(_0x5130ba<0x0)return![];if(decodeXmlEntities(_0x587599[_0x370259(0x1c7)](_0x12db12,_0x5130ba))===null)return![];_0x12db12=_0x5130ba+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x13f800){const _0x4624f4=a249_0x3c89cd;let _0x59031b=0x0;const _0xd2eb64=()=>{const _0x621663=a249_0x53ac;while(_0x59031b<_0x13f800[_0x621663(0x1c9)]&&/\s/[_0x621663(0x1ca)](_0x13f800[_0x59031b]??''))_0x59031b+=0x1;};_0xd2eb64();while(_0x59031b<_0x13f800[_0x4624f4(0x1c9)]){if(_0x13f800['startsWith'](_0x4624f4(0x1fb),_0x59031b)){const _0x570fc3=_0x13f800['indexOf'](_0x4624f4(0x20a),_0x59031b+0x4);if(_0x570fc3<0x0)return!![];_0x59031b=_0x570fc3+0x3,_0xd2eb64();continue;}if(_0x13f800[_0x4624f4(0x201)]('<?',_0x59031b)){const _0x58953f=_0x13f800[_0x4624f4(0x200)]('?>',_0x59031b+0x2);if(_0x58953f<0x0)return!![];_0x59031b=_0x58953f+0x2,_0xd2eb64();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x4624f4(0x1ca)](_0x13f800[_0x4624f4(0x1c7)](_0x59031b));}function invalidMybatisSource(_0x7d97f5){const _0x3dd1e7=a249_0x3c89cd;return{'sql':'','mode':_0x3dd1e7(0x203),'error':_0x7d97f5};}function findXmlTagEnd(_0x4312a9,_0x1ca11f){const _0x3f17f2=a249_0x3c89cd;let _0x539646;for(let _0x3451b3=_0x1ca11f+0x1;_0x3451b3<_0x4312a9[_0x3f17f2(0x1c9)];_0x3451b3+=0x1){const _0x2c4a7c=_0x4312a9[_0x3451b3];if(_0x539646){if(_0x2c4a7c===_0x539646)_0x539646=undefined;continue;}if(_0x2c4a7c==='\x22'||_0x2c4a7c==='\x27'){_0x539646=_0x2c4a7c;continue;}if(_0x2c4a7c==='>')return _0x3451b3;}return-0x1;}function decodeXmlEntities(_0x53b10d){const _0x5306fc=a249_0x3c89cd;let _0x2328fd=![];const _0x323920=_0x53b10d[_0x5306fc(0x204)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x11ab95=>{const _0x55505c=_0x5306fc;if(_0x11ab95===_0x55505c(0x1dc))return'<';if(_0x11ab95==='>')return'>';if(_0x11ab95===_0x55505c(0x1f7))return'\x22';if(_0x11ab95===_0x55505c(0x1c3))return'\x27';if(_0x11ab95===_0x55505c(0x1d4))return'&';const _0x6a6f17=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x55505c(0x1ef)](_0x11ab95);if(_0x6a6f17){const _0x28a934=_0x6a6f17[0x1],_0x191d85=_0x6a6f17[0x2],_0x435ccc=Number[_0x55505c(0x1af)](_0x28a934??_0x191d85??'',_0x28a934?0x10:0xa);if(isValidXmlCharacter(_0x435ccc))return String[_0x55505c(0x1b2)](_0x435ccc);}return _0x2328fd=!![],'';});return _0x2328fd?null:_0x323920;}function isValidXmlCharacter(_0x5a3962){return _0x5a3962===0x9||_0x5a3962===0xa||_0x5a3962===0xd||_0x5a3962>=0x20&&_0x5a3962<=0xd7ff||_0x5a3962>=0xe000&&_0x5a3962<=0xfffd||_0x5a3962>=0x10000&&_0x5a3962<=0x10ffff;}export function detectSqlType(_0x805bcf){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x805bcf));}function detectNormalizedSqlType(_0x8280ba){const _0x5a74ad=a249_0x3c89cd;if(_0x8280ba[_0x5a74ad(0x20e)])return{'type':_0x5a74ad(0x1be),'isSelectOnly':![],'isDangerous':![],'reason':_0x8280ba[_0x5a74ad(0x20e)]};if(!_0x8280ba[_0x5a74ad(0x1f8)][_0x5a74ad(0x1f6)]())return{'type':_0x5a74ad(0x1be),'isSelectOnly':![],'isDangerous':![],'reason':_0x5a74ad(0x1f9)};const _0x3b43f0=stripStaticAnalysisMarkers(_0x8280ba[_0x5a74ad(0x1f8)])['replace'](/#\{[^}]*\}/g,'?')[_0x5a74ad(0x204)](/\$\{[^}]*\}/g,'?')[_0x5a74ad(0x204)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x5a74ad(0x204)](/\/\*[\s\S]*?\*\//g,'')['trim'](),_0x56c532=_0x3b43f0[_0x5a74ad(0x1ff)]('\x0a');let _0x213ffc='';for(const _0x3338dc of _0x56c532){const _0x475979=_0x3338dc[_0x5a74ad(0x1f6)]();if(!_0x475979||_0x475979[_0x5a74ad(0x201)]('--')||_0x475979[_0x5a74ad(0x201)]('/*'))continue;_0x213ffc=_0x475979;break;}const _0x1193cd=_0x213ffc[_0x5a74ad(0x207)](),_0x395013=_0x8280ba['statementType'],_0x4ae781=maskSqlTextForBlockedKeywordScan(_0x3b43f0),_0x5e9cc1=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x5a74ad(0x1ca)](_0x4ae781);if(_0x395013===_0x5a74ad(0x1f5)||!_0x395013&&(_0x1193cd[_0x5a74ad(0x201)](_0x5a74ad(0x1f5))||_0x1193cd[_0x5a74ad(0x201)](_0x5a74ad(0x1cd)))){const _0x1a4845=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x5a74ad(0x1ca)](_0x3b43f0);return{'type':_0x5a74ad(0x1f5),'isSelectOnly':!_0x1a4845,'isDangerous':_0x1a4845,'reason':_0x1a4845?_0x5a74ad(0x20c):undefined};}if(_0x395013===_0x5a74ad(0x205)||!_0x395013&&_0x1193cd[_0x5a74ad(0x201)](_0x5a74ad(0x205)))return{'type':_0x5a74ad(0x205),'isSelectOnly':![],'isDangerous':_0x5e9cc1,'reason':_0x5e9cc1?_0x5a74ad(0x1e4):undefined};if(_0x395013===_0x5a74ad(0x1e8)||!_0x395013&&_0x1193cd[_0x5a74ad(0x201)](_0x5a74ad(0x1e8)))return{'type':_0x5a74ad(0x1e8),'isSelectOnly':![],'isDangerous':_0x5e9cc1,'reason':_0x5e9cc1?_0x5a74ad(0x1e4):undefined};if(_0x395013===_0x5a74ad(0x1ea)||!_0x395013&&_0x1193cd['startsWith'](_0x5a74ad(0x1ea)))return{'type':'DELETE','isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x5a74ad(0x1ca)](_0x1193cd))return{'type':_0x5a74ad(0x208),'isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':_0x5a74ad(0x1be),'isSelectOnly':![],'isDangerous':![]};}function a249_0x53ac(_0x9706f4,_0x3f7173){_0x9706f4=_0x9706f4-0x1ae;const _0x505d31=a249_0x505d();let _0x53acdb=_0x505d31[_0x9706f4];return _0x53acdb;}function stripStaticAnalysisMarkers(_0x198e8c){const _0x467ee8=a249_0x3c89cd;return _0x198e8c[_0x467ee8(0x1cb)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x467ee8(0x1cb)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x467ee8(0x1cb)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x528e02){const _0x536235=a249_0x3c89cd;return _0x528e02[_0x536235(0x204)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x536235(0x204)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x536235(0x204)](/`(?:``|\\.|[^`])*`/g,'\x20')['replace'](/--.*$/gm,'\x20')[_0x536235(0x204)](/#.*$/gm,'\x20')[_0x536235(0x204)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x33926e){const _0xf87ef1=a249_0x3c89cd,_0xbdc3a4=_0x33926e['replace'](/#\{[^}]*\}/g,'?')[_0xf87ef1(0x204)](/\$\{[^}]*\}/g,'?')[_0xf87ef1(0x204)](/'[^']*'/g,'\x27\x27')['replace'](/--.*$/gm,'')['replace'](/\/\*[\s\S]*?\*\//g,''),_0x46c3b2=[],_0x519872=_0xbdc3a4[_0xf87ef1(0x1d0)](/FROM\s+([^\s,)(]+)/i);addTable(_0x46c3b2,_0x519872?.[0x1]);for(const _0x1b61c7 of _0xbdc3a4['matchAll'](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x46c3b2,_0x1b61c7[0x1]);}const _0x5d8a38=_0xbdc3a4[_0xf87ef1(0x1d0)](/INTO\s+([^\s(]+)/i);addTable(_0x46c3b2,_0x5d8a38?.[0x1]);const _0xe21cc2=_0xbdc3a4[_0xf87ef1(0x1d0)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x46c3b2,_0xe21cc2?.[0x1]),_0x46c3b2;}function addTable(_0x2112e3,_0x1a8b79){const _0x57850d=a249_0x3c89cd,_0x4cfef8=_0x1a8b79?.[_0x57850d(0x204)](/[`"]/g,'');_0x4cfef8&&_0x4cfef8!==UNRESOLVED_SQL_FRAGMENT&&!_0x2112e3[_0x57850d(0x1d7)](_0x4cfef8)&&_0x2112e3[_0x57850d(0x1db)](_0x4cfef8);}function extractParameters(_0x30e824){const _0x1b8332=a249_0x3c89cd,_0x5e6175=new Set();for(const _0x35343a of _0x30e824[_0x1b8332(0x1e0)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x35343a[0x1])_0x5e6175[_0x1b8332(0x1eb)](_0x35343a[0x1]);}return Array[_0x1b8332(0x1e5)](_0x5e6175);}export function validateSql(_0xec84){const _0xb1b7c0=a249_0x3c89cd,_0x35115d=normalizeSqlForStaticAnalysis(_0xec84),_0x5a183b=detectNormalizedSqlType(_0x35115d),_0x150b37=stripStaticAnalysisMarkers(_0x35115d[_0xb1b7c0(0x1f8)]),_0x2a0875=_0x35115d[_0xb1b7c0(0x20e)]?[]:extractTables(_0x150b37),_0x2cb69e=_0x35115d[_0xb1b7c0(0x20e)]?[]:extractParameters(_0x150b37);if(_0x5a183b[_0xb1b7c0(0x1dd)])return{'valid':![],'sqlType':_0x5a183b,'tables':_0x2a0875,'parameters':_0x2cb69e,'message':_0x5a183b[_0xb1b7c0(0x1ae)]||_0x5a183b[_0xb1b7c0(0x1bb)]+_0xb1b7c0(0x1fc)};if(_0x5a183b[_0xb1b7c0(0x1bb)]===_0xb1b7c0(0x1be))return{'valid':![],'sqlType':_0x5a183b,'tables':_0x2a0875,'parameters':_0x2cb69e,'message':_0x35115d[_0xb1b7c0(0x20e)]?_0xb1b7c0(0x1b9)+_0x35115d[_0xb1b7c0(0x20e)]:_0xb1b7c0(0x20f)};return{'valid':!![],'sqlType':_0x5a183b,'tables':_0x2a0875,'parameters':_0x2cb69e,'message':_0x5a183b['type']+_0xb1b7c0(0x1d5)+(_0x2a0875['length']?_0x2a0875[_0xb1b7c0(0x1bf)](',\x20'):'unknown\x20table(s)')+(_0x2cb69e[_0xb1b7c0(0x1c9)]?_0xb1b7c0(0x1e7)+_0x2cb69e[_0xb1b7c0(0x1bf)](',\x20'):'')};}
|
|
1
|
+
const a250_0x2268fa=a250_0x23bf;(function(_0x4f74fa,_0x36cc80){const _0x56ecd7=a250_0x23bf,_0x1eef8d=_0x4f74fa();while(!![]){try{const _0x4919f=-parseInt(_0x56ecd7(0x1dc))/0x1+parseInt(_0x56ecd7(0x1ea))/0x2*(parseInt(_0x56ecd7(0x1b3))/0x3)+parseInt(_0x56ecd7(0x204))/0x4*(-parseInt(_0x56ecd7(0x1bc))/0x5)+-parseInt(_0x56ecd7(0x207))/0x6*(-parseInt(_0x56ecd7(0x1d2))/0x7)+-parseInt(_0x56ecd7(0x1b4))/0x8+parseInt(_0x56ecd7(0x1d6))/0x9*(-parseInt(_0x56ecd7(0x1f3))/0xa)+-parseInt(_0x56ecd7(0x1d4))/0xb*(-parseInt(_0x56ecd7(0x1cc))/0xc);if(_0x4919f===_0x36cc80)break;else _0x1eef8d['push'](_0x1eef8d['shift']());}catch(_0xd3e5da){_0x1eef8d['push'](_0x1eef8d['shift']());}}}(a250_0xce11,0x4b2fc));const MYBATIS_OUTER_TAGS=new Map([[a250_0x2268fa(0x1df),a250_0x2268fa(0x1f0)],['insert',a250_0x2268fa(0x1c3)],[a250_0x2268fa(0x208),a250_0x2268fa(0x1b6)],['delete','DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a250_0x2268fa(0x1c7),a250_0x2268fa(0x1ec),a250_0x2268fa(0x209),a250_0x2268fa(0x200),a250_0x2268fa(0x1ff),a250_0x2268fa(0x1e1),'set',a250_0x2268fa(0x1d7),a250_0x2268fa(0x1e2),'property']),MYBATIS_BRANCH_TAGS=new Set(['if',a250_0x2268fa(0x1ec),'choose',a250_0x2268fa(0x200),'otherwise']);export const MYBATIS_DYNAMIC_START_MARKER=a250_0x2268fa(0x1d9);export const MYBATIS_DYNAMIC_END_MARKER=a250_0x2268fa(0x1b8);export const MYBATIS_INCLUDE_MARKER=a250_0x2268fa(0x201);function a250_0x23bf(_0x4292b8,_0x5797a9){_0x4292b8=_0x4292b8-0x1ae;const _0xce1180=a250_0xce11();let _0x23bfe9=_0xce1180[_0x4292b8];return _0x23bfe9;}const UNRESOLVED_SQL_FRAGMENT=a250_0x2268fa(0x1c8),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a250_0x2268fa(0x206)+[...MYBATIS_OUTER_TAGS[a250_0x2268fa(0x1ef)]()][a250_0x2268fa(0x1dd)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x79c002){const _0x2c79df=a250_0x2268fa,_0x33cd2c=typeof _0x79c002===_0x2c79df(0x1b0)?_0x79c002:'';if(!startsWithMybatisStatementWrapper(_0x33cd2c))return{'sql':_0x33cd2c,'mode':_0x2c79df(0x202)};let _0x25c2d9=0x0,_0x152193='',_0x4d9ddc,_0x129698=![],_0x25e20c=![];const _0x459e38=[];while(_0x25c2d9<_0x33cd2c[_0x2c79df(0x1f8)]){if(_0x33cd2c[_0x2c79df(0x1af)](_0x2c79df(0x1cb),_0x25c2d9)){const _0x3c74a8=_0x33cd2c['indexOf'](_0x2c79df(0x1e6),_0x25c2d9+0x4);if(_0x3c74a8<0x0)return invalidMybatisSource(_0x2c79df(0x1cf));_0x152193+='\x20',_0x25c2d9=_0x3c74a8+0x3;continue;}if(_0x33cd2c[_0x2c79df(0x1af)](_0x2c79df(0x1ae),_0x25c2d9)){if(!_0x129698||_0x25e20c)return invalidMybatisSource(_0x2c79df(0x1f4));const _0xad9782=_0x33cd2c[_0x2c79df(0x1c1)](']]>',_0x25c2d9+0x9);if(_0xad9782<0x0)return invalidMybatisSource(_0x2c79df(0x1ed));_0x152193+=_0x33cd2c['slice'](_0x25c2d9+0x9,_0xad9782),_0x25c2d9=_0xad9782+0x3;continue;}if(_0x33cd2c[_0x2c79df(0x1af)]('<?',_0x25c2d9)){if(_0x129698)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x4496dd=_0x33cd2c[_0x2c79df(0x1c1)]('?>',_0x25c2d9+0x2);if(_0x4496dd<0x0)return invalidMybatisSource(_0x2c79df(0x1c2));_0x152193+='\x20',_0x25c2d9=_0x4496dd+0x2;continue;}if(_0x33cd2c[_0x25c2d9]!=='<'){const _0x420216=_0x33cd2c[_0x2c79df(0x1c1)]('<',_0x25c2d9),_0x35f6e1=_0x420216<0x0?_0x33cd2c[_0x2c79df(0x1f8)]:_0x420216,_0x5295da=_0x33cd2c[_0x2c79df(0x1bf)](_0x25c2d9,_0x35f6e1);if((!_0x129698||_0x25e20c)&&_0x5295da[_0x2c79df(0x1e1)]())return invalidMybatisSource(_0x2c79df(0x1d8));if(_0x129698&&!_0x25e20c){const _0x31ad2d=decodeXmlEntities(_0x5295da);if(_0x31ad2d===null)return invalidMybatisSource('Invalid\x20XML\x20entity\x20reference.');_0x152193+=_0x31ad2d;}else _0x152193+='\x20';_0x25c2d9=_0x35f6e1;continue;}const _0x52908a=findXmlTagEnd(_0x33cd2c,_0x25c2d9);if(_0x52908a<0x0)return invalidMybatisSource('Unterminated\x20MyBatis\x20XML\x20tag.');const _0x8ab179=_0x33cd2c['slice'](_0x25c2d9,_0x52908a+0x1),_0x1d2f04=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x2c79df(0x1da)](_0x8ab179);if(!_0x1d2f04)return invalidMybatisSource(_0x2c79df(0x1f2));const _0x2895e5=_0x1d2f04[0x1]==='/',_0x5ac4ac=_0x1d2f04[0x2]??'',_0x5110c5=_0x5ac4ac['toLowerCase'](),_0x1304f4=_0x1d2f04[0x3]??'',_0xfd844e=_0x1d2f04[0x4]==='/',_0x2f3c57=MYBATIS_OUTER_TAGS[_0x2c79df(0x1e0)](_0x5110c5);if(!_0x2f3c57&&!MYBATIS_DYNAMIC_TAGS['has'](_0x5110c5))return invalidMybatisSource(_0x2c79df(0x205)+_0x5110c5+'>.');if(!_0x2f3c57&&_0x5ac4ac!==_0x5110c5)return invalidMybatisSource(_0x2c79df(0x1c4)+_0x5ac4ac+'>.');if(_0x2895e5){if(_0x1304f4['trim']()||_0xfd844e)return invalidMybatisSource(_0x2c79df(0x1ee)+_0x5ac4ac+'>.');const _0x3e364f=_0x459e38['at'](-0x1);if(!_0x3e364f||(_0x3e364f[_0x2c79df(0x1c0)]?_0x3e364f[_0x2c79df(0x1d3)]!==_0x5110c5:_0x3e364f[_0x2c79df(0x1d5)]!==_0x5ac4ac))return invalidMybatisSource('Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</'+_0x5ac4ac+'>.');_0x459e38[_0x2c79df(0x1b9)]();if(_0x3e364f[_0x2c79df(0x1c0)])_0x25e20c=!![];_0x152193+=MYBATIS_BRANCH_TAGS[_0x2c79df(0x1e3)](_0x5110c5)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x1304f4))return invalidMybatisSource('Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<'+_0x5ac4ac+'>.');if(_0x5110c5==='property'&&(!_0xfd844e||_0x459e38['at'](-0x1)?.['tagName']!==_0x2c79df(0x1e2)))return invalidMybatisSource('MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.');if(_0x2f3c57){if(_0x129698||_0x459e38[_0x2c79df(0x1f8)]>0x0)return invalidMybatisSource(_0x2c79df(0x1d1));_0x129698=!![],_0x25e20c=_0xfd844e,_0x4d9ddc=_0x2f3c57;}else{if(!_0x129698||_0x25e20c)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<'+_0x5ac4ac+'>.');}_0x152193+=_0x5110c5===_0x2c79df(0x1c7)?_0x2c79df(0x1f7):_0x5110c5===_0x2c79df(0x1fd)?_0x2c79df(0x1bd):_0x5110c5==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x5110c5)&&!_0xfd844e?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0xfd844e&&_0x459e38[_0x2c79df(0x1f1)]({'rawName':_0x5ac4ac,'tagName':_0x5110c5,'outer':!!_0x2f3c57});}_0x25c2d9=_0x52908a+0x1;}if(_0x459e38[_0x2c79df(0x1f8)]>0x0)return invalidMybatisSource(_0x2c79df(0x1e4)+_0x459e38['at'](-0x1)?.['rawName']+'>.');if(!_0x129698||!_0x25e20c)return invalidMybatisSource(_0x2c79df(0x1ca));return{'sql':_0x152193[_0x2c79df(0x1e1)](),'mode':'mybatisXml',..._0x4d9ddc?{'statementType':_0x4d9ddc}:{}};}function a250_0xce11(){const _0x98bb89=['Unclosed\x20MyBatis\x20XML\x20tag:\x20<','reason','-->','match','UNKNOWN','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','22dgQpcM','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','foreach','Unterminated\x20CDATA\x20section.','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','keys','SELECT','push','Invalid\x20MyBatis\x20XML\x20tag.','10spGkrU','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','SQL\x20content\x20is\x20empty','replaceAll','\x20WHERE\x20','length','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','parseInt','<','unknown\x20table(s)','set','statementType','otherwise','when','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','sql','Unable\x20to\x20detect\x20SQL\x20type.\x20','36htErcK','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','^<\x5cs*(?:','156Kdeasv','update','choose','<![CDATA[','startsWith','string','mybatisXml','test','121146vMbUeH','1969768kRYzwk','error','UPDATE','fromCodePoint','__RABETBASE_MYBATIS_DYNAMIC_END__','pop','matchAll','WITH','83285aKkiuA','\x20SET\x20','type','slice','outer','indexOf','Unterminated\x20XML\x20declaration.','INSERT','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','isDangerous','where','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','replace','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','<!--','2339088WNaGYm','DELETE','toUpperCase','Unterminated\x20XML\x20comment.','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','163583pHJhgM','tagName','44ZGBGGn','rawName','4792212MzPFjU','bind','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','__RABETBASE_MYBATIS_DYNAMIC_START__','exec',''','594926VLEYgi','join','add','select','get','trim','include','has'];a250_0xce11=function(){return _0x98bb89;};return a250_0xce11();}function hasWellFormedXmlAttributes(_0x4e76a4){const _0x51453e=a250_0x2268fa;let _0x1f7db8=0x0;const _0x554340=new Set();while(_0x1f7db8<_0x4e76a4[_0x51453e(0x1f8)]){while(_0x1f7db8<_0x4e76a4['length']&&/\s/[_0x51453e(0x1b2)](_0x4e76a4[_0x1f7db8]??''))_0x1f7db8+=0x1;if(_0x1f7db8>=_0x4e76a4[_0x51453e(0x1f8)])return!![];const _0x47cf6f=/^[A-Za-z_:][\w:.-]*/['exec'](_0x4e76a4[_0x51453e(0x1bf)](_0x1f7db8)),_0x1aae24=_0x47cf6f?.[0x0];if(!_0x1aae24||_0x554340[_0x51453e(0x1e3)](_0x1aae24))return![];_0x554340[_0x51453e(0x1de)](_0x1aae24),_0x1f7db8+=_0x1aae24[_0x51453e(0x1f8)];while(_0x1f7db8<_0x4e76a4['length']&&/\s/['test'](_0x4e76a4[_0x1f7db8]??''))_0x1f7db8+=0x1;if(_0x4e76a4[_0x1f7db8]!=='=')return![];_0x1f7db8+=0x1;while(_0x1f7db8<_0x4e76a4['length']&&/\s/[_0x51453e(0x1b2)](_0x4e76a4[_0x1f7db8]??''))_0x1f7db8+=0x1;const _0x80a583=_0x4e76a4[_0x1f7db8];if(_0x80a583!=='\x22'&&_0x80a583!=='\x27')return![];_0x1f7db8+=0x1;const _0x33192f=_0x4e76a4[_0x51453e(0x1c1)](_0x80a583,_0x1f7db8);if(_0x33192f<0x0)return![];if(decodeXmlEntities(_0x4e76a4[_0x51453e(0x1bf)](_0x1f7db8,_0x33192f))===null)return![];_0x1f7db8=_0x33192f+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x2e8aa4){const _0x471b85=a250_0x2268fa;let _0x3fd39c=0x0;const _0x1717b5=()=>{const _0x25c228=a250_0x23bf;while(_0x3fd39c<_0x2e8aa4['length']&&/\s/[_0x25c228(0x1b2)](_0x2e8aa4[_0x3fd39c]??''))_0x3fd39c+=0x1;};_0x1717b5();while(_0x3fd39c<_0x2e8aa4[_0x471b85(0x1f8)]){if(_0x2e8aa4[_0x471b85(0x1af)](_0x471b85(0x1cb),_0x3fd39c)){const _0x411d82=_0x2e8aa4['indexOf'](_0x471b85(0x1e6),_0x3fd39c+0x4);if(_0x411d82<0x0)return!![];_0x3fd39c=_0x411d82+0x3,_0x1717b5();continue;}if(_0x2e8aa4[_0x471b85(0x1af)]('<?',_0x3fd39c)){const _0x384c2f=_0x2e8aa4['indexOf']('?>',_0x3fd39c+0x2);if(_0x384c2f<0x0)return!![];_0x3fd39c=_0x384c2f+0x2,_0x1717b5();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x471b85(0x1b2)](_0x2e8aa4[_0x471b85(0x1bf)](_0x3fd39c));}function invalidMybatisSource(_0x5cf836){const _0x34f484=a250_0x2268fa;return{'sql':'','mode':_0x34f484(0x1b1),'error':_0x5cf836};}function findXmlTagEnd(_0xe2ef,_0x18317f){let _0x4c0a07;for(let _0x957da6=_0x18317f+0x1;_0x957da6<_0xe2ef['length'];_0x957da6+=0x1){const _0x353263=_0xe2ef[_0x957da6];if(_0x4c0a07){if(_0x353263===_0x4c0a07)_0x4c0a07=undefined;continue;}if(_0x353263==='\x22'||_0x353263==='\x27'){_0x4c0a07=_0x353263;continue;}if(_0x353263==='>')return _0x957da6;}return-0x1;}function decodeXmlEntities(_0x4cc066){const _0x329d52=a250_0x2268fa;let _0x5b7cbe=![];const _0x4032e5=_0x4cc066[_0x329d52(0x1c9)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x486ad7=>{const _0x357dbe=_0x329d52;if(_0x486ad7===_0x357dbe(0x1fb))return'<';if(_0x486ad7==='>')return'>';if(_0x486ad7==='"')return'\x22';if(_0x486ad7===_0x357dbe(0x1db))return'\x27';if(_0x486ad7==='&')return'&';const _0x5accd9=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x486ad7);if(_0x5accd9){const _0x26e90c=_0x5accd9[0x1],_0x103c23=_0x5accd9[0x2],_0x158bd2=Number[_0x357dbe(0x1fa)](_0x26e90c??_0x103c23??'',_0x26e90c?0x10:0xa);if(isValidXmlCharacter(_0x158bd2))return String[_0x357dbe(0x1b7)](_0x158bd2);}return _0x5b7cbe=!![],'';});return _0x5b7cbe?null:_0x4032e5;}function isValidXmlCharacter(_0x5a22d7){return _0x5a22d7===0x9||_0x5a22d7===0xa||_0x5a22d7===0xd||_0x5a22d7>=0x20&&_0x5a22d7<=0xd7ff||_0x5a22d7>=0xe000&&_0x5a22d7<=0xfffd||_0x5a22d7>=0x10000&&_0x5a22d7<=0x10ffff;}export function detectSqlType(_0x33b9dc){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x33b9dc));}function detectNormalizedSqlType(_0x397d2b){const _0x5423cd=a250_0x2268fa;if(_0x397d2b[_0x5423cd(0x1b5)])return{'type':_0x5423cd(0x1e8),'isSelectOnly':![],'isDangerous':![],'reason':_0x397d2b['error']};if(!_0x397d2b[_0x5423cd(0x202)][_0x5423cd(0x1e1)]())return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0x5423cd(0x1f5)};const _0x5b4390=stripStaticAnalysisMarkers(_0x397d2b[_0x5423cd(0x202)])[_0x5423cd(0x1c9)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')['replace'](/@[^(\s]+(\([^)]*\))?/g,'')['replace'](/\/\*[\s\S]*?\*\//g,'')[_0x5423cd(0x1e1)](),_0x44c147=_0x5b4390['split']('\x0a');let _0x1e96dd='';for(const _0x56121c of _0x44c147){const _0x69d7f0=_0x56121c[_0x5423cd(0x1e1)]();if(!_0x69d7f0||_0x69d7f0['startsWith']('--')||_0x69d7f0[_0x5423cd(0x1af)]('/*'))continue;_0x1e96dd=_0x69d7f0;break;}const _0x5f1950=_0x1e96dd[_0x5423cd(0x1ce)](),_0x2324ec=_0x397d2b[_0x5423cd(0x1fe)],_0x3653f7=maskSqlTextForBlockedKeywordScan(_0x5b4390),_0x49effe=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x5423cd(0x1b2)](_0x3653f7);if(_0x2324ec===_0x5423cd(0x1f0)||!_0x2324ec&&(_0x5f1950['startsWith'](_0x5423cd(0x1f0))||_0x5f1950[_0x5423cd(0x1af)](_0x5423cd(0x1bb)))){const _0x33398b=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x5b4390);return{'type':_0x5423cd(0x1f0),'isSelectOnly':!_0x33398b,'isDangerous':_0x33398b,'reason':_0x33398b?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x2324ec==='INSERT'||!_0x2324ec&&_0x5f1950[_0x5423cd(0x1af)](_0x5423cd(0x1c3)))return{'type':_0x5423cd(0x1c3),'isSelectOnly':![],'isDangerous':_0x49effe,'reason':_0x49effe?_0x5423cd(0x1e9):undefined};if(_0x2324ec===_0x5423cd(0x1b6)||!_0x2324ec&&_0x5f1950['startsWith'](_0x5423cd(0x1b6)))return{'type':_0x5423cd(0x1b6),'isSelectOnly':![],'isDangerous':_0x49effe,'reason':_0x49effe?_0x5423cd(0x1e9):undefined};if(_0x2324ec===_0x5423cd(0x1cd)||!_0x2324ec&&_0x5f1950[_0x5423cd(0x1af)](_0x5423cd(0x1cd)))return{'type':_0x5423cd(0x1cd),'isSelectOnly':![],'isDangerous':!![],'reason':_0x5423cd(0x1c5)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x5423cd(0x1b2)](_0x5f1950))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':_0x5423cd(0x1eb)};return{'type':_0x5423cd(0x1e8),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x4c9312){const _0x1e0e9f=a250_0x2268fa;return _0x4c9312[_0x1e0e9f(0x1f6)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1e0e9f(0x1f6)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x51862b){const _0x2236ec=a250_0x2268fa;return _0x51862b[_0x2236ec(0x1c9)](/'(?:''|\\.|[^'])*'/g,'\x20')['replace'](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x2236ec(0x1c9)](/--.*$/gm,'\x20')[_0x2236ec(0x1c9)](/#.*$/gm,'\x20')[_0x2236ec(0x1c9)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x30c2ca){const _0x4627e3=a250_0x2268fa,_0x470ba9=_0x30c2ca[_0x4627e3(0x1c9)](/#\{[^}]*\}/g,'?')[_0x4627e3(0x1c9)](/\$\{[^}]*\}/g,'?')[_0x4627e3(0x1c9)](/'[^']*'/g,'\x27\x27')[_0x4627e3(0x1c9)](/--.*$/gm,'')[_0x4627e3(0x1c9)](/\/\*[\s\S]*?\*\//g,''),_0x542304=[],_0x4fcefa=_0x470ba9[_0x4627e3(0x1e7)](/FROM\s+([^\s,)(]+)/i);addTable(_0x542304,_0x4fcefa?.[0x1]);for(const _0x137b33 of _0x470ba9[_0x4627e3(0x1ba)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x542304,_0x137b33[0x1]);}const _0x1f93bf=_0x470ba9[_0x4627e3(0x1e7)](/INTO\s+([^\s(]+)/i);addTable(_0x542304,_0x1f93bf?.[0x1]);const _0x2674dc=_0x470ba9['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x542304,_0x2674dc?.[0x1]),_0x542304;}function addTable(_0x128e51,_0x555452){const _0x240818=a250_0x2268fa,_0x832899=_0x555452?.[_0x240818(0x1c9)](/[`"]/g,'');_0x832899&&_0x832899!==UNRESOLVED_SQL_FRAGMENT&&!_0x128e51['includes'](_0x832899)&&_0x128e51[_0x240818(0x1f1)](_0x832899);}function extractParameters(_0x332625){const _0xd6398a=a250_0x2268fa,_0x448ae7=new Set();for(const _0x1ef28a of _0x332625[_0xd6398a(0x1ba)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x1ef28a[0x1])_0x448ae7[_0xd6398a(0x1de)](_0x1ef28a[0x1]);}return Array['from'](_0x448ae7);}export function validateSql(_0x2f8f22){const _0x2d975e=a250_0x2268fa,_0x39ce99=normalizeSqlForStaticAnalysis(_0x2f8f22),_0x799b2b=detectNormalizedSqlType(_0x39ce99),_0x32e4af=stripStaticAnalysisMarkers(_0x39ce99[_0x2d975e(0x202)]),_0x54f6c6=_0x39ce99['error']?[]:extractTables(_0x32e4af),_0x52dc21=_0x39ce99['error']?[]:extractParameters(_0x32e4af);if(_0x799b2b[_0x2d975e(0x1c6)])return{'valid':![],'sqlType':_0x799b2b,'tables':_0x54f6c6,'parameters':_0x52dc21,'message':_0x799b2b[_0x2d975e(0x1e5)]||_0x799b2b[_0x2d975e(0x1be)]+_0x2d975e(0x1d0)};if(_0x799b2b['type']===_0x2d975e(0x1e8))return{'valid':![],'sqlType':_0x799b2b,'tables':_0x54f6c6,'parameters':_0x52dc21,'message':_0x39ce99['error']?_0x2d975e(0x203)+_0x39ce99[_0x2d975e(0x1b5)]:_0x2d975e(0x1f9)};return{'valid':!![],'sqlType':_0x799b2b,'tables':_0x54f6c6,'parameters':_0x52dc21,'message':_0x799b2b['type']+'\x20query\x20targeting\x20'+(_0x54f6c6['length']?_0x54f6c6[_0x2d975e(0x1dd)](',\x20'):_0x2d975e(0x1fc))+(_0x52dc21[_0x2d975e(0x1f8)]?'\x20with\x20parameters:\x20'+_0x52dc21[_0x2d975e(0x1dd)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a251_0x17b3b9=a251_0x5df6;(function(_0x22a338,_0x47c825){const _0x26145d=a251_0x5df6,_0x404068=_0x22a338();while(!![]){try{const _0x27981f=parseInt(_0x26145d(0x139))/0x1*(parseInt(_0x26145d(0x143))/0x2)+parseInt(_0x26145d(0x133))/0x3*(parseInt(_0x26145d(0x140))/0x4)+-parseInt(_0x26145d(0x137))/0x5+-parseInt(_0x26145d(0x135))/0x6+-parseInt(_0x26145d(0x13b))/0x7+-parseInt(_0x26145d(0x13c))/0x8*(parseInt(_0x26145d(0x13e))/0x9)+-parseInt(_0x26145d(0x132))/0xa*(-parseInt(_0x26145d(0x131))/0xb);if(_0x27981f===_0x47c825)break;else _0x404068['push'](_0x404068['shift']());}catch(_0x2a954b){_0x404068['push'](_0x404068['shift']());}}}(a251_0x16c6,0xd2992));import{CliError,createCliErrors}from'@lovrabet/cli-framework';import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};function a251_0x5df6(_0x386407,_0x1dd2dc){_0x386407=_0x386407-0x131;const _0x16c6ec=a251_0x16c6();let _0x5df6bc=_0x16c6ec[_0x386407];return _0x5df6bc;}const baseCliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':'Run\x20`'+CLI_BIN_NAME+a251_0x17b3b9(0x136),'configMissingHint':a251_0x17b3b9(0x13f)+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+a251_0x17b3b9(0x14a),'notInProjectHint':a251_0x17b3b9(0x146)});function a251_0x16c6(){const _0x59716e=['not_in_project','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.\x0a\x20\x20\x20\x20\x20\x20\x20Tip:\x20`','21401171XHdzbJ','10VhgPge','9emeAGX','unknown_command','419082nueeps','\x20auth`\x20to\x20login\x20first.','3780805yhJgFI','cancelled','2UTgSsl','network_error','4442235hpVYrq','16qQrwVF','Configuration\x20file\x20not\x20found','3753657RaToWC','Set\x20appcode\x20via\x20`','316168oXsWtY','apiError','config_missing','974682XwvyTj','\x20--help`\x20to\x20see\x20available\x20commands.','validation','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','auth_required','flag_missing','Run\x20`','\x20workspace\x20add\x20<name>\x20--appcode\x20<code>\x20--global`\x20registers\x20a\x20reusable\x20global\x20app\x20profile.','Missing\x20required\x20flag:\x20--','Unknown\x20command:\x20','Authentication\x20required'];a251_0x16c6=function(){return _0x59716e;};return a251_0x16c6();}export const CliErrors={'authRequired'(_0x3b93a4){const _0x5e626f=a251_0x17b3b9;return new CliError(_0x5e626f(0x147),0x1,_0x5e626f(0x14d),_0x3b93a4??_0x5e626f(0x149)+CLI_BIN_NAME+'\x20auth`\x20to\x20login\x20first.');},'configMissing'(_0x1a7c45){const _0xe3559d=a251_0x17b3b9;return new CliError(_0xe3559d(0x142),0x1,_0xe3559d(0x13d),_0x1a7c45??_0xe3559d(0x13f)+CLI_BIN_NAME+_0xe3559d(0x14f)+CLI_BIN_NAME+_0xe3559d(0x14a));},'notInProject'(){const _0x302db3=a251_0x17b3b9;return new CliError(_0x302db3(0x14e),0x1,'Not\x20in\x20a\x20'+CLI_BIN_NAME+'\x20project\x20directory',_0x302db3(0x146));},'apiError'(_0x5cfcbc,_0x34ac2e){const _0x20c051=a251_0x17b3b9;return baseCliErrors[_0x20c051(0x141)](_0x5cfcbc,_0x34ac2e);},'networkError'(_0x46b8c5){const _0x5d33e6=a251_0x17b3b9;return new CliError(_0x5d33e6(0x13a),0x2,'Network\x20error:\x20'+_0x46b8c5,'Check\x20your\x20internet\x20connection\x20and\x20try\x20again.');},'unknownCommand'(_0x3b82b8){const _0x1e0141=a251_0x17b3b9;return new CliError(_0x1e0141(0x134),0x1,_0x1e0141(0x14c)+_0x3b82b8,_0x1e0141(0x149)+CLI_BIN_NAME+_0x1e0141(0x144));},'flagMissing'(_0x329b32,_0x4c4c3b){const _0x491d95=a251_0x17b3b9;return new CliError(_0x491d95(0x148),0x1,_0x491d95(0x14b)+_0x329b32,_0x4c4c3b);},'validation'(_0x28b5c1,_0x1a4db2){const _0x1a48b6=a251_0x17b3b9;return baseCliErrors[_0x1a48b6(0x145)](_0x28b5c1,_0x1a4db2);},'cancelled'(_0x21fc40){const _0x540679=a251_0x17b3b9;return new CliError(_0x540679(0x138),0x0,_0x21fc40??'Operation\x20cancelled.');}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x41965d,_0x23230e){const _0x10fcf7=a252_0x14c1,_0x4470bd=_0x41965d();while(!![]){try{const _0x2f6a73=-parseInt(_0x10fcf7(0x89))/0x1*(-parseInt(_0x10fcf7(0x80))/0x2)+parseInt(_0x10fcf7(0x88))/0x3+parseInt(_0x10fcf7(0x7f))/0x4+-parseInt(_0x10fcf7(0x86))/0x5+-parseInt(_0x10fcf7(0x82))/0x6+-parseInt(_0x10fcf7(0x83))/0x7*(-parseInt(_0x10fcf7(0x81))/0x8)+-parseInt(_0x10fcf7(0x85))/0x9;if(_0x2f6a73===_0x23230e)break;else _0x4470bd['push'](_0x4470bd['shift']());}catch(_0x2b8e04){_0x4470bd['push'](_0x4470bd['shift']());}}}(a252_0x1c73,0x63f88));function a252_0x14c1(_0x2bdca0,_0x267fb9){_0x2bdca0=_0x2bdca0-0x7f;const _0x1c737d=a252_0x1c73();let _0x14c16a=_0x1c737d[_0x2bdca0];return _0x14c16a;}import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';import{buildAllFlags as a252_0x39b216}from'@lovrabet/cli-framework';function a252_0x1c73(){const _0x6a3d59=['14wHgeQp','name','3355479ZtUBJP','674270GeFLva','yes','679548ijtlrz','1wFfzNY','1984172eDZzgR','1051696zLFKid','256792gGwyct','2372640WWXxdY'];a252_0x1c73=function(){return _0x6a3d59;};return a252_0x1c73();}import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x1eb00a){const _0x272da6=a252_0x14c1,_0x4afce5=a252_0x39b216(_0x1eb00a,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x1eb00a))return _0x4afce5;return _0x4afce5['map'](_0x8cbf17=>_0x8cbf17[_0x272da6(0x84)]===_0x272da6(0x87)?{..._0x8cbf17,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x8cbf17);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a253_0x12a9(_0x7fbcfc,_0x3db2ad){_0x7fbcfc=_0x7fbcfc-0x1c7;var _0x5adf2c=a253_0x5adf();var _0x12a999=_0x5adf2c[_0x7fbcfc];return _0x12a999;}(function(_0x146fc9,_0x72f471){var _0x42f3fe=a253_0x12a9,_0x20d772=_0x146fc9();while(!![]){try{var _0x9613e4=parseInt(_0x42f3fe(0x1d2))/0x1*(-parseInt(_0x42f3fe(0x1ce))/0x2)+parseInt(_0x42f3fe(0x1ca))/0x3*(-parseInt(_0x42f3fe(0x1c7))/0x4)+-parseInt(_0x42f3fe(0x1cf))/0x5+-parseInt(_0x42f3fe(0x1cc))/0x6+-parseInt(_0x42f3fe(0x1c8))/0x7*(-parseInt(_0x42f3fe(0x1c9))/0x8)+parseInt(_0x42f3fe(0x1cb))/0x9+parseInt(_0x42f3fe(0x1d0))/0xa*(parseInt(_0x42f3fe(0x1d4))/0xb);if(_0x9613e4===_0x72f471)break;else _0x20d772['push'](_0x20d772['shift']());}catch(_0x5cfd66){_0x20d772['push'](_0x20d772['shift']());}}}(a253_0x5adf,0x1cf61));function a253_0x5adf(){var _0x469142=['1358670tlXIKu','compress','61136cgrVJA','356690HOWELr','233090nrbGSX','defaultFormat','3WarzVo','format','209cUJlmd','structuredErrors','def','905436hcuUyx','4249gxZpIC','3056gGXCiM','3EQuhnE','537534lQuZHr'];a253_0x5adf=function(){return _0x469142;};return a253_0x5adf();}import{resolveOutputConfig}from'@lovrabet/cli-framework';export function usesStructuredErrorOutput(_0x4aaf87){var _0x3231de=a253_0x12a9;return _0x4aaf87?.[_0x3231de(0x1d5)]===!![];}export function resolveErrorOutputFormat(_0x214a4e){var _0x1676c7=a253_0x12a9;if(!_0x214a4e[_0x1676c7(0x1d6)])return _0x214a4e[_0x1676c7(0x1d1)]??_0x1676c7(0x1cd);return resolveOutputConfig({'flags':_0x214a4e['flags']??{},'def':_0x214a4e[_0x1676c7(0x1d6)],'configDefault':_0x214a4e[_0x1676c7(0x1d1)]})[_0x1676c7(0x1d3)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a254_0xda98(){const _0x1a1f7d=['378381kYDplx','25ASTjoA','552CGOuvP','5576813AlViii','has','3500586TVqbJy','459804MoQzPJ','service','10YTYuiQ','8OkFcXx','menu\x20delete','5046oJNyaG','1767VxzHYC','notification\x20config-delete','166551LMsFYi'];a254_0xda98=function(){return _0x1a1f7d;};return a254_0xda98();}const a254_0x3a1748=a254_0x4cb9;function a254_0x4cb9(_0x592e05,_0x2fbb0d){_0x592e05=_0x592e05-0x78;const _0xda98e4=a254_0xda98();let _0x4cb937=_0xda98e4[_0x592e05];return _0x4cb937;}(function(_0x5562e7,_0x5a9da5){const _0x398f5c=a254_0x4cb9,_0x55ed94=_0x5562e7();while(!![]){try{const _0x4ae05a=parseInt(_0x398f5c(0x7e))/0x1+parseInt(_0x398f5c(0x80))/0x2*(-parseInt(_0x398f5c(0x7b))/0x3)+-parseInt(_0x398f5c(0x84))/0x4+-parseInt(_0x398f5c(0x7f))/0x5*(-parseInt(_0x398f5c(0x7a))/0x6)+-parseInt(_0x398f5c(0x7d))/0x7+-parseInt(_0x398f5c(0x78))/0x8*(parseInt(_0x398f5c(0x83))/0x9)+-parseInt(_0x398f5c(0x86))/0xa*(-parseInt(_0x398f5c(0x81))/0xb);if(_0x4ae05a===_0x5a9da5)break;else _0x55ed94['push'](_0x55ed94['shift']());}catch(_0xa6ff44){_0x55ed94['push'](_0x55ed94['shift']());}}}(a254_0xda98,0x30a8b));const EXPLICIT_YES_COMMANDS=new Set([a254_0x3a1748(0x79),'kb\x20delete','notification\x20config-update',a254_0x3a1748(0x7c)]);export const EXPLICIT_YES_FLAG_DESCRIPTION='Required\x20for\x20execution\x20after\x20reviewing\x20the\x20--dry-run\x20plan';export function requiresExplicitYes(_0x50099f){const _0x290128=a254_0x3a1748;return EXPLICIT_YES_COMMANDS[_0x290128(0x82)](_0x50099f[_0x290128(0x85)]+'\x20'+_0x50099f['command']);}
|
package/lib/framework/flags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a255_0x398e78=a255_0x2358;(function(_0x50f291,_0x25e0a3){const _0x118976=a255_0x2358,_0x553825=_0x50f291();while(!![]){try{const _0x283de8=-parseInt(_0x118976(0xb3))/0x1*(-parseInt(_0x118976(0xb2))/0x2)+-parseInt(_0x118976(0xb8))/0x3+-parseInt(_0x118976(0xaf))/0x4+-parseInt(_0x118976(0xb5))/0x5+-parseInt(_0x118976(0xae))/0x6*(parseInt(_0x118976(0xb7))/0x7)+-parseInt(_0x118976(0xb0))/0x8+parseInt(_0x118976(0xb4))/0x9;if(_0x283de8===_0x25e0a3)break;else _0x553825['push'](_0x553825['shift']());}catch(_0x3ebf74){_0x553825['push'](_0x553825['shift']());}}}(a255_0xda56,0x7db15));import{createFlagHelpers}from'@lovrabet/cli-framework';import{CliErrors}from'../errors.js';const helpers=createFlagHelpers(CliErrors);function a255_0x2358(_0x1eb898,_0x5589df){_0x1eb898=_0x1eb898-0xae;const _0xda56de=a255_0xda56();let _0x2358ff=_0xda56de[_0x1eb898];return _0x2358ff;}export const parseFlags=helpers[a255_0x398e78(0xb1)];function a255_0xda56(){const _0x1c4aba=['21661CsDZNs','38960019vdwGaP','4377595HKcdLf','validateFlags','21KKtAfD','2543706AyIlZo','1967208uxhwAX','4070108hekNCY','889304JSIFhF','parseFlags','2MHiGxs'];a255_0xda56=function(){return _0x1c4aba;};return a255_0xda56();}export const validateFlags=helpers[a255_0x398e78(0xb6)];
|
package/lib/framework/help.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x336de3,_0x535690){const _0x3d2771=a256_0x4979,_0x462f53=_0x336de3();while(!![]){try{const _0xa11208=-parseInt(_0x3d2771(0x1d6))/0x1+-parseInt(_0x3d2771(0x1db))/0x2+-parseInt(_0x3d2771(0x1d4))/0x3+-parseInt(_0x3d2771(0x1d0))/0x4*(-parseInt(_0x3d2771(0x1dd))/0x5)+parseInt(_0x3d2771(0x1d5))/0x6+parseInt(_0x3d2771(0x1d9))/0x7*(parseInt(_0x3d2771(0x1d7))/0x8)+-parseInt(_0x3d2771(0x1dc))/0x9;if(_0xa11208===_0x535690)break;else _0x462f53['push'](_0x462f53['shift']());}catch(_0x296baf){_0x462f53['push'](_0x462f53['shift']());}}}(a256_0x1c59,0xc8932));import{createHelpGenerators}from'@lovrabet/cli-framework';import{buildAllFlags}from'../framework/build-all-flags.js';import{serviceRegistry,serviceGroups,getServiceEntry}from'../commands/registry.js';function a256_0x1c59(){const _0x336b09=['4455576NDLzLj','192118IBzYQH','3448lpysfz','Requires\x20appcode\x20(set\x20via\x20`','21889aPPuZd','generateServiceHelp','828172bBtzIt','637506KccsQe','10BfXMZf','generateCommandHelp','generateFullHelp','get','177724ecYddX','\x20[args]\x20[flags]','replace','Requires\x20--yes\x20to\x20confirm,\x20or\x20interactive\x20prompt.','2041809IzwRLD'];a256_0x1c59=function(){return _0x336b09;};return a256_0x1c59();}function a256_0x4979(_0x1fee26,_0x3d0108){_0x1fee26=_0x1fee26-0x1ce;const _0x1c5966=a256_0x1c59();let _0x49798b=_0x1c5966[_0x1fee26];return _0x49798b;}import{CLI_BIN_NAME,CLI_DISPLAY_NAME,GLOBAL_FLAGS}from'../constant/cli.js';import{requiresExplicitYes}from'../framework/explicit-yes.js';function createGenerators(){const _0x592a2b=a256_0x4979;return createHelpGenerators({'cliBinName':CLI_BIN_NAME,'cliDisplayName':CLI_DISPLAY_NAME,'globalFlags':GLOBAL_FLAGS,'serviceRegistry':serviceRegistry,'getServiceEntry':getServiceEntry,'getServiceDefinitions':_0x35925c=>serviceGroups[_0x592a2b(0x1cf)](_0x35925c),'buildAllFlags':buildAllFlags,'appPrerequisiteText':_0x592a2b(0x1d8)+CLI_BIN_NAME+'\x20workspace\x20init`\x20or\x20--appcode).','serviceUsageSuffix':_0x592a2b(0x1d1)});}export function generateCommandHelp(_0x340e07){const _0x5e1b66=a256_0x4979,_0x32c388=createGenerators()[_0x5e1b66(0x1de)](_0x340e07);if(!requiresExplicitYes(_0x340e07))return _0x32c388;return _0x32c388[_0x5e1b66(0x1d2)](_0x5e1b66(0x1d3),'Requires\x20explicit\x20--yes\x20for\x20execution;\x20use\x20--dry-run\x20to\x20preview.');}export function generateServiceHelp(_0x34118b){const _0x48453a=a256_0x4979;return createGenerators()[_0x48453a(0x1da)](_0x34118b);}export function generateFullHelp(){const _0x108e7e=a256_0x4979;return createGenerators()[_0x108e7e(0x1ce)]();}
|
package/lib/framework/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x934545,_0xc69aab){var _0xc9ddf6=a257_0x3095,_0x35f0e8=_0x934545();while(!![]){try{var _0x2330ad=parseInt(_0xc9ddf6(0x1de))/0x1+parseInt(_0xc9ddf6(0x1dd))/0x2+-parseInt(_0xc9ddf6(0x1dc))/0x3*(parseInt(_0xc9ddf6(0x1e6))/0x4)+parseInt(_0xc9ddf6(0x1e3))/0x5*(-parseInt(_0xc9ddf6(0x1df))/0x6)+-parseInt(_0xc9ddf6(0x1e2))/0x7+-parseInt(_0xc9ddf6(0x1e5))/0x8*(parseInt(_0xc9ddf6(0x1e1))/0x9)+-parseInt(_0xc9ddf6(0x1e0))/0xa*(-parseInt(_0xc9ddf6(0x1e4))/0xb);if(_0x2330ad===_0xc69aab)break;else _0x35f0e8['push'](_0x35f0e8['shift']());}catch(_0x2ffb9c){_0x35f0e8['push'](_0x35f0e8['shift']());}}}(a257_0x480c,0xf27dd));export{runCommand}from'../framework/runner.js';export{parseFlags,validateFlags}from'../framework/flags.js';export{formatOutput}from'../framework/output.js';export{generateCommandHelp,generateServiceHelp,generateFullHelp}from'../framework/help.js';function a257_0x480c(){var _0x1140d9=['8zDntYs','818037rezFnX','492548XRxLJP','464748skqHLX','6NVQbgB','2584490VABPpa','1975473zTEETS','12818631xfemDp','2991910vXkMXB','176eIunnu','32LuXidr'];a257_0x480c=function(){return _0x1140d9;};return a257_0x480c();}function a257_0x3095(_0x1cf654,_0x1be572){_0x1cf654=_0x1cf654-0x1dc;var _0x480c55=a257_0x480c();var _0x3095e0=_0x480c55[_0x1cf654];return _0x3095e0;}export{extractList,extractPaging}from'../framework/response.js';export{riskLevelOrder}from'../framework/types.js';
|