@lovrabet/rabetbase-cli 2.3.2-beta.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.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-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.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/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/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.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/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/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/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/shared/compare-table.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/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/update.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/shared.js +1 -1
- package/lib/commands/page/standard-page-status.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/non-interactive.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/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.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/save.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/workspace/index.js +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.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/risk.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.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-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/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.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/copy-directory.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/rules-cdn.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
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0x204f76=a127_0x1a3d;(function(_0x291472,_0x4f5f7a){const _0x383f21=a127_0x1a3d,_0x4587ca=_0x291472();while(!![]){try{const _0x4e414c=parseInt(_0x383f21(0x109))/0x1*(-parseInt(_0x383f21(0xe1))/0x2)+-parseInt(_0x383f21(0xc9))/0x3+-parseInt(_0x383f21(0xe5))/0x4*(-parseInt(_0x383f21(0x9e))/0x5)+-parseInt(_0x383f21(0xb5))/0x6*(parseInt(_0x383f21(0x107))/0x7)+parseInt(_0x383f21(0xb1))/0x8+parseInt(_0x383f21(0xf4))/0x9*(parseInt(_0x383f21(0x9f))/0xa)+parseInt(_0x383f21(0x9a))/0xb*(-parseInt(_0x383f21(0xf7))/0xc);if(_0x4e414c===_0x4f5f7a)break;else _0x4587ca['push'](_0x4587ca['shift']());}catch(_0x596de1){_0x4587ca['push'](_0x4587ca['shift']());}}}(a127_0x1b54,0x24eec));import a127_0x235d05 from'chalk';import a127_0x553d6a from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a127_0x204f76(0x10f)](_0xc0df31=>_0xc0df31!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x559c02){const _0x56e286=a127_0x204f76,_0xa769b3=[];for(const _0x1d7a1a of Object[_0x56e286(0xd4)](CORE_IDE_CONFIGS)){if(_0x1d7a1a[_0x56e286(0xf0)])for(const _0x39b47c of _0x1d7a1a[_0x56e286(0xf0)]){_0xa769b3[_0x56e286(0x10d)](resolve(_0x559c02,_0x39b47c[_0x56e286(0xc3)]));}}return _0xa769b3;}function analyse(_0x6092a9){const _0x4741ce=a127_0x204f76;let _0x34ba18=null;const _0x30583a=resolve(_0x6092a9,NEW_CONFIG_NAME),_0x35eb8c=existsSync(_0x30583a);for(const _0x5bd00c of LEGACY_CONFIG_NAMES){const _0x4ffd39=resolve(_0x6092a9,_0x5bd00c);if(existsSync(_0x4ffd39)){const _0x390eda=readConfigFile(_0x4ffd39),_0xc821fe=Object[_0x4741ce(0xc7)](_0x390eda)['filter'](_0x1ec3a2=>typeof _0x390eda[_0x1ec3a2]!==_0x4741ce(0xa1));_0x34ba18={'oldPath':_0x4ffd39,'hasNewConfig':_0x35eb8c,'fields':_0xc821fe};break;}}const _0x3b8ce4=[],_0x5ec328=resolve(_0x6092a9,_0x4741ce(0xdc));if(existsSync(_0x5ec328))_0x3b8ce4['push'](_0x5ec328);const _0x45eeca=resolve(_0x6092a9,_0x4741ce(0xd7));if(existsSync(_0x45eeca))_0x3b8ce4[_0x4741ce(0x10d)](_0x45eeca);const _0x112302=resolve(_0x6092a9,'.claude/skills/lovrabet');if(existsSync(_0x112302))_0x3b8ce4[_0x4741ce(0x10d)](_0x112302);for(const _0x3f3fc4 of collectIdeSkillFiles(_0x6092a9)){if(existsSync(_0x3f3fc4))_0x3b8ce4['push'](_0x3f3fc4);}let _0xf97471=null;const _0x332093=resolve(_0x6092a9,_0x4741ce(0xd5));if(existsSync(_0x332093))try{const _0x224a6d=JSON[_0x4741ce(0x106)](readFileSync(_0x332093,_0x4741ce(0xd1)));if(_0x224a6d?.[_0x4741ce(0x95)]&&typeof _0x224a6d[_0x4741ce(0x95)]===_0x4741ce(0x10e)){const _0x2af64e=[];for(const [_0x1b16ab,_0x5d6062]of Object['entries'](_0x224a6d[_0x4741ce(0x95)])){const _0x5cbe65=_0x5d6062;_0x5cbe65?.[_0x4741ce(0x94)]&&Array[_0x4741ce(0xf5)](_0x5cbe65[_0x4741ce(0x94)])&&_0x5cbe65[_0x4741ce(0x94)][_0x4741ce(0xb0)](_0x2798b9=>typeof _0x2798b9===_0x4741ce(0xb9)&&_0x2798b9[_0x4741ce(0x100)](_0x4741ce(0xde)))&&_0x2af64e[_0x4741ce(0x10d)](_0x1b16ab);}_0x2af64e['length']>0x0&&(_0xf97471={'path':_0x332093,'keys':_0x2af64e});}}catch{}const _0x46cfb0=_0x3b8ce4['length']>0x0||_0x34ba18!==null;let _0x58a4eb=null;const _0x268c90=resolve(_0x6092a9,_0x4741ce(0x104));if(existsSync(_0x268c90))try{const _0x385c1d=JSON[_0x4741ce(0x106)](readFileSync(_0x268c90,_0x4741ce(0xd1)));for(const _0x4a1c6f of[_0x4741ce(0x114),'devDependencies']){const _0x3cc362=_0x385c1d?.[_0x4a1c6f]?.['@lovrabet/sdk'];if(typeof _0x3cc362==='string'){_0x3cc362!==_0x4741ce(0x113)&&(_0x58a4eb={'pkgPath':_0x268c90,'currentVersion':_0x3cc362,'field':_0x4a1c6f});break;}}}catch{}return{'configMigration':_0x34ba18,'oldArtifacts':_0x3b8ce4,'oldMcpConfig':_0xf97471,'needsSkillSwap':_0x46cfb0,'sdkUpgrade':_0x58a4eb};}function printReport(_0xeb1510){const _0x15bbb7=a127_0x204f76,{configMigration:_0x477d44,oldArtifacts:_0x4b16cf,oldMcpConfig:_0x26a507,needsSkillSwap:_0x2b7931}=_0xeb1510;console[_0x15bbb7(0xeb)](''),console[_0x15bbb7(0xeb)](a127_0x235d05[_0x15bbb7(0x97)](_0x15bbb7(0xf8))),console[_0x15bbb7(0xeb)]('');_0x477d44?(console[_0x15bbb7(0xeb)](a127_0x235d05['cyan'](_0x15bbb7(0xf6))+('\x20\x20'+a127_0x235d05[_0x15bbb7(0x117)](_0x477d44[_0x15bbb7(0xfd)]))),console['log'](_0x15bbb7(0xbe)+(_0x477d44[_0x15bbb7(0xe3)]?a127_0x235d05[_0x15bbb7(0xd9)]('already\x20exists\x20(will\x20merge)'):a127_0x235d05[_0x15bbb7(0xef)](_0x15bbb7(0xa9)))),console[_0x15bbb7(0xeb)](_0x15bbb7(0xce)+_0x477d44[_0x15bbb7(0xb6)][_0x15bbb7(0xcd)](',\x20')),console[_0x15bbb7(0xeb)](_0x15bbb7(0x108))):console[_0x15bbb7(0xeb)](a127_0x235d05['cyan'](_0x15bbb7(0xf6))+'\x20\x20'+a127_0x235d05['gray'](_0x15bbb7(0x10a)));console[_0x15bbb7(0xeb)]('');if(_0x4b16cf[_0x15bbb7(0xd0)]>0x0){console['log'](a127_0x235d05[_0x15bbb7(0x9d)](_0x15bbb7(0x98)));for(const _0x3988a4 of _0x4b16cf){console[_0x15bbb7(0xeb)]('\x20\x20'+a127_0x235d05[_0x15bbb7(0x112)]('FOUND')+'\x20\x20'+_0x3988a4);}console[_0x15bbb7(0xeb)](_0x15bbb7(0x10b));}else console[_0x15bbb7(0xeb)](a127_0x235d05['cyan'](_0x15bbb7(0x98))+'\x20\x20'+a127_0x235d05[_0x15bbb7(0xef)](_0x15bbb7(0xe7)));console[_0x15bbb7(0xeb)]('');_0x26a507?(console['log'](a127_0x235d05[_0x15bbb7(0x9d)]('MCP\x20config:')+('\x20\x20'+a127_0x235d05[_0x15bbb7(0x117)](_0x26a507['path'])+_0x15bbb7(0xa0)+_0x26a507[_0x15bbb7(0xc7)][_0x15bbb7(0xcd)](',\x20'))),console[_0x15bbb7(0xeb)](_0x15bbb7(0x115))):console[_0x15bbb7(0xeb)](a127_0x235d05[_0x15bbb7(0x9d)](_0x15bbb7(0xa6))+'\x20\x20'+a127_0x235d05[_0x15bbb7(0xef)](_0x15bbb7(0xc6)));console[_0x15bbb7(0xeb)](''),console['log'](a127_0x235d05[_0x15bbb7(0x9d)]('Skill\x20swap:')+('\x20\x20'+(_0x2b7931?a127_0x235d05['yellow'](_0x15bbb7(0x99)):a127_0x235d05[_0x15bbb7(0xd9)](_0x15bbb7(0xba)))));_0x2b7931&&console['log'](_0x15bbb7(0xd6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x15bbb7(0xeb)]('');if(_0xeb1510['sdkUpgrade']){const {currentVersion:_0x127cde,field:_0x11046e,pkgPath:_0x235535}=_0xeb1510[_0x15bbb7(0xfb)];console['log'](a127_0x235d05[_0x15bbb7(0x9d)](_0x15bbb7(0xb4))+('\x20\x20'+a127_0x235d05[_0x15bbb7(0x117)](_0x235535))),console['log'](_0x15bbb7(0xf1)+_0x11046e+':\x20'+a127_0x235d05[_0x15bbb7(0x117)](_0x127cde)+_0x15bbb7(0x96)+a127_0x235d05[_0x15bbb7(0xd9)](_0x15bbb7(0x113))),console[_0x15bbb7(0xeb)](_0x15bbb7(0xb7));}else console['log'](a127_0x235d05['cyan'](_0x15bbb7(0xb4))+'\x20\x20'+a127_0x235d05[_0x15bbb7(0xef)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x15bbb7(0xeb)]('');}function execConfigMigration(_0x24f400,_0x55f24d){const _0xb487dd=a127_0x204f76,{configMigration:_0x1c3912}=_0x24f400;if(!_0x1c3912?.['oldPath'])return{'step':0x1,'label':_0xb487dd(0xe2),'ok':!![],'detail':_0xb487dd(0xd8)};const _0x5b66fd=readConfigFile(_0x1c3912[_0xb487dd(0xfd)]),_0x2555fb=resolve(_0x55f24d,NEW_CONFIG_NAME),_0x1c9912=_0x1c3912[_0xb487dd(0xe3)]?readConfigFile(_0x2555fb):{};for(const [_0x425677,_0x19f08a]of Object[_0xb487dd(0xc0)](_0x5b66fd)){!(_0x425677 in _0x1c9912)&&(_0x1c9912[_0x425677]=_0x19f08a);}writeConfigFile(_0x2555fb,_0x1c9912);const _0x4d4677=_0x1c3912[_0xb487dd(0xfd)]+_0xb487dd(0xb3);return renameSync(_0x1c3912['oldPath'],_0x4d4677),{'step':0x1,'label':_0xb487dd(0xe2),'ok':!![],'detail':_0x1c3912[_0xb487dd(0xfd)]+_0xb487dd(0x96)+_0x2555fb+'\x20(backup:\x20'+_0x4d4677+')'};}function execRemoveOldArtifacts(_0x30cdc4){const _0x26f9be=a127_0x204f76,_0x351d68=[];for(const _0x5d691f of _0x30cdc4){try{if(!existsSync(_0x5d691f))continue;const _0x2594ef=tryStat(_0x5d691f);_0x2594ef?.[_0x26f9be(0x102)]()?rmSync(_0x5d691f,{'recursive':!![],'force':!![]}):unlinkSync(_0x5d691f);}catch(_0x58faea){_0x351d68['push'](_0x5d691f+':\x20'+_0x58faea[_0x26f9be(0x103)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x351d68[_0x26f9be(0xd0)]===0x0,'detail':_0x351d68[_0x26f9be(0xd0)]>0x0?_0x30cdc4['length']-_0x351d68[_0x26f9be(0xd0)]+'/'+_0x30cdc4[_0x26f9be(0xd0)]+_0x26f9be(0x105)+_0x351d68['join'](';\x20')+')':_0x30cdc4['length']+_0x26f9be(0xe9)};}function execCleanMcp(_0x7bac78){const _0x55e6a2=a127_0x204f76;if(!_0x7bac78[_0x55e6a2(0xda)])return{'step':0x4,'label':_0x55e6a2(0xbd),'ok':!![],'detail':_0x55e6a2(0xbc)};try{const _0x2e46b9=readFileSync(_0x7bac78['oldMcpConfig'][_0x55e6a2(0xc3)],'utf8'),_0x5e7de8=JSON[_0x55e6a2(0x106)](_0x2e46b9);if(_0x5e7de8?.['mcpServers']&&typeof _0x5e7de8['mcpServers']===_0x55e6a2(0x10e)){const _0x2d813f=[];for(const [_0x3935a6,_0x5c0e31]of Object[_0x55e6a2(0xc0)](_0x5e7de8[_0x55e6a2(0x95)])){_0x5c0e31?.['args']&&Array['isArray'](_0x5c0e31[_0x55e6a2(0x94)])&&_0x5c0e31[_0x55e6a2(0x94)][_0x55e6a2(0xb0)](_0x3d5a18=>typeof _0x3d5a18==='string'&&_0x3d5a18[_0x55e6a2(0x100)](_0x55e6a2(0xde)))&&_0x2d813f['push'](_0x3935a6);}for(const _0x406c18 of _0x2d813f){delete _0x5e7de8[_0x55e6a2(0x95)][_0x406c18];}return _0x2d813f[_0x55e6a2(0xd0)]>0x0&&writeFileSync(_0x7bac78['oldMcpConfig'][_0x55e6a2(0xc3)],JSON[_0x55e6a2(0xf9)](_0x5e7de8,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x55e6a2(0xbd),'ok':!![],'detail':'removed\x20'+_0x2d813f['join'](',\x20')+'\x20from\x20'+_0x7bac78[_0x55e6a2(0xda)][_0x55e6a2(0xc3)]};}return{'step':0x4,'label':_0x55e6a2(0xbd),'ok':!![],'detail':_0x55e6a2(0xf3)};}catch(_0x255a75){return{'step':0x4,'label':_0x55e6a2(0xbd),'ok':![],'detail':_0x255a75['message']};}}function execSkillsRemove(_0x5bae5d,_0x3e8078){const _0xb3da=a127_0x204f76,_0x5c7e54=runNpxSkillsRemove(_0x5bae5d,{'stdio':_0xb3da(0xa8),'yes':_0x3e8078});return{'step':0x5,'label':_0xb3da(0xca),'ok':_0x5c7e54['ok'],'detail':_0x5c7e54['ok']?_0xb3da(0x101):_0x5c7e54['error']??_0xb3da(0x9b)+_0x5c7e54['status']};}function execSkillsAdd(_0x47e0cb,_0x25f213){const _0x1faefb=a127_0x204f76,_0x28e80f=runNpxSkillsAddGlobal(_0x47e0cb,_0x1faefb(0xa7),{'stdio':'inherit','yes':_0x25f213});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x28e80f['ok'],'detail':_0x28e80f['ok']?_0x1faefb(0xdb):_0x28e80f[_0x1faefb(0xc2)]??_0x1faefb(0x9b)+_0x28e80f[_0x1faefb(0xa2)]};}function execUpgradeSdk(_0x251986){const _0xd2bdbf=a127_0x204f76;if(!_0x251986[_0xd2bdbf(0xfb)])return{'step':0x7,'label':_0xd2bdbf(0xcf),'ok':!![],'detail':_0xd2bdbf(0xa4)};const {pkgPath:_0x1df2b1,currentVersion:_0x56ad46,field:_0x33c9f2}=_0x251986['sdkUpgrade'];try{const _0x2b0c57=readFileSync(_0x1df2b1,_0xd2bdbf(0xd1)),_0x9745c3=JSON[_0xd2bdbf(0x106)](_0x2b0c57);return _0x9745c3[_0x33c9f2][_0xd2bdbf(0xaf)]=_0xd2bdbf(0x113),writeFileSync(_0x1df2b1,JSON[_0xd2bdbf(0xf9)](_0x9745c3,null,0x2)+'\x0a',_0xd2bdbf(0xd1)),{'step':0x7,'label':_0xd2bdbf(0xcf),'ok':!![],'detail':_0x33c9f2+'[\x22@lovrabet/sdk\x22]:\x20'+_0x56ad46+'\x20→\x20latest'};}catch(_0x44a9ff){return{'step':0x7,'label':_0xd2bdbf(0xcf),'ok':![],'detail':_0x44a9ff[_0xd2bdbf(0x103)]};}}function a127_0x1b54(){const _0x2051d5=['needed','1056PEmAxP','exit\x20','Step\x205/7:\x20Removing\x20old\x20skill...','cyan','5MOQhrS','90790QzkeUc','\x20→\x20keys:\x20','undefined','status','\x20\x20Step\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','needsSkillSwap','MCP\x20config:','lovrabet/rabetbase','inherit','not\x20found\x20(will\x20create)','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x201/7:\x20Migrating\x20config...','FAIL','Proceed\x20with\x20upgrade?','\x20\x20bun\x20install','@lovrabet/sdk','some','841384WgXcED','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','.bak','@lovrabet/sdk:','10158lajkoZ','fields','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','info','string','not\x20needed','Step\x206/7:\x20Installing\x20new\x20skill...','skipped','Clean\x20MCP\x20config','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','entries','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','error','path','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','no\x20legacy\x20entry','keys','step','130401YuZnCm','Remove\x20old\x20skill','\x20\x20#\x20or','Upgrade\x20cancelled.','join','\x20\x20Fields\x20to\x20migrate:\x20','Upgrade\x20@lovrabet/sdk','length','utf8','cwd','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','values','.cursor/mcp.json','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','.cursor/rules/lovrabet_rules.mdc','skipped\x20(no\x20legacy\x20config)','green','oldMcpConfig','lovrabet/rabetbase\x20installed\x20globally','.lovrabet','===\x20Upgrade\x20Summary\x20===','@lovrabet/dataset-mcp-server','\x20\x20\x20\x20\x20\x20\x20','failed','6FwUblU','Config\x20migration','hasNewConfig','yes','702196wFvjVd','succeed','none\x20found','fail','\x20removed','Step\x201/7:\x20Config\x20migration\x20—\x20','log','oldArtifacts','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','white','gray','files','\x20\x20Current\x20version\x20in\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','no\x20matching\x20entry\x20found','144lPUDVX','isArray','Config\x20file:','8676ckFHbD','===\x20Upgrade\x20Analysis\x20===','stringify','Remove\x20.lovrabet/','sdkUpgrade','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','oldPath','detail','Step\x204/7:\x20Cleaning\x20MCP\x20config...','includes','lovrabet/lovrabet-skill\x20removed','isDirectory','message','package.json','\x20removed\x20(','parse','399mDHoGM','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','21778aGKruy','no\x20legacy\x20config\x20found','\x20\x20Action:\x20delete','CANCEL','push','object','filter','done','start','red','latest','dependencies','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','label','yellow','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','args','mcpServers','\x20→\x20','bold','Legacy\x20artifacts:'];a127_0x1b54=function(){return _0x2051d5;};return a127_0x1b54();}function tryStat(_0x58ce88){try{return statSync(_0x58ce88);}catch{return undefined;}}function printSummary(_0x2ef0b1){const _0x5d037c=a127_0x204f76;console[_0x5d037c(0xeb)](''),console[_0x5d037c(0xeb)](a127_0x235d05['bold'](_0x5d037c(0xdd))),console[_0x5d037c(0xeb)]('');for(const _0x521f23 of _0x2ef0b1){const _0x28d6d2=_0x521f23['ok']?a127_0x235d05[_0x5d037c(0xd9)]('OK'):a127_0x235d05[_0x5d037c(0x112)](_0x5d037c(0xac));console[_0x5d037c(0xeb)]('\x20\x20'+_0x28d6d2+_0x5d037c(0xa3)+_0x521f23[_0x5d037c(0xc8)]+':\x20'+_0x521f23[_0x5d037c(0x116)]);if(_0x521f23['detail'])console[_0x5d037c(0xeb)](_0x5d037c(0xdf)+a127_0x235d05['gray'](_0x521f23[_0x5d037c(0xfe)]));}console[_0x5d037c(0xeb)]('');}function a127_0x1a3d(_0x10f90c,_0x1c17d8){_0x10f90c=_0x10f90c-0x93;const _0x1b54ef=a127_0x1b54();let _0x1a3dbb=_0x1b54ef[_0x10f90c];return _0x1a3dbb;}export async function upgradeApp(_0x4d0c18,_0x148427){const _0x5912bb=a127_0x204f76,_0x3f73f5=process[_0x5912bb(0xd2)](),_0x3a087f=analyse(_0x3f73f5),_0x109e27=!_0x3a087f['configMigration']&&_0x3a087f[_0x5912bb(0xec)][_0x5912bb(0xd0)]===0x0&&!_0x3a087f[_0x5912bb(0xda)]&&!_0x3a087f[_0x5912bb(0xa5)]&&!_0x3a087f[_0x5912bb(0xfb)];if(_0x109e27){console['log'](a127_0x235d05[_0x5912bb(0xd9)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3a087f);const _0x15c657=!!(_0x148427[_0x5912bb(0xe4)]||_0x148427['Y']||_0x4d0c18);if(!_0x15c657)try{const _0x257431=await askConfirm(_0x5912bb(0xad));if(!_0x257431){console[_0x5912bb(0xeb)](a127_0x235d05['gray'](_0x5912bb(0xcc)));return;}}catch(_0x1afc90){if(_0x1afc90?.[_0x5912bb(0x103)]===_0x5912bb(0x10c)){console[_0x5912bb(0xeb)](a127_0x235d05['gray']('Upgrade\x20cancelled.'));return;}throw _0x1afc90;}const _0x108ba8=[],_0x462dc6=a127_0x553d6a({'text':_0x5912bb(0xab),'color':_0x5912bb(0x9d)})[_0x5912bb(0x111)](),_0x1448b3=execConfigMigration(_0x3a087f,_0x3f73f5);_0x108ba8[_0x5912bb(0x10d)](_0x1448b3),_0x462dc6[_0x1448b3['ok']?'succeed':_0x5912bb(0xe8)](_0x5912bb(0xea)+(_0x1448b3['detail']??(_0x1448b3['ok']?_0x5912bb(0x110):'failed')));const _0x2d51ab=resolve(_0x3f73f5,_0x5912bb(0xdc)),_0x1df016=a127_0x553d6a({'text':_0x5912bb(0xc1),'color':_0x5912bb(0x9d)})[_0x5912bb(0x111)]();if(existsSync(_0x2d51ab))try{rmSync(_0x2d51ab,{'recursive':!![],'force':!![]}),_0x1df016[_0x5912bb(0xe6)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x108ba8[_0x5912bb(0x10d)]({'step':0x2,'label':_0x5912bb(0xfa),'ok':!![]});}catch(_0x903af2){_0x1df016[_0x5912bb(0xe8)](_0x5912bb(0xc4)+_0x903af2[_0x5912bb(0x103)]),_0x108ba8[_0x5912bb(0x10d)]({'step':0x2,'label':_0x5912bb(0xfa),'ok':![],'detail':_0x903af2[_0x5912bb(0x103)]});}else _0x1df016[_0x5912bb(0xb8)](_0x5912bb(0xd3)),_0x108ba8[_0x5912bb(0x10d)]({'step':0x2,'label':_0x5912bb(0xfa),'ok':!![],'detail':_0x5912bb(0xbc)});const _0x2cb401=a127_0x553d6a({'text':_0x5912bb(0x93),'color':_0x5912bb(0x9d)})[_0x5912bb(0x111)](),_0x359322=execRemoveOldArtifacts(_0x3a087f[_0x5912bb(0xec)]);_0x108ba8[_0x5912bb(0x10d)](_0x359322),_0x2cb401[_0x359322['ok']?_0x5912bb(0xe6):_0x5912bb(0xe8)](_0x5912bb(0xbf)+(_0x359322['detail']??(_0x359322['ok']?_0x5912bb(0x110):_0x5912bb(0xe0))));const _0x278dab=a127_0x553d6a({'text':_0x5912bb(0xff),'color':_0x5912bb(0x9d)})['start'](),_0x14ee5e=execCleanMcp(_0x3a087f);_0x108ba8[_0x5912bb(0x10d)](_0x14ee5e),_0x278dab[_0x14ee5e['ok']?_0x5912bb(0xe6):_0x5912bb(0xe8)](_0x5912bb(0xc5)+(_0x14ee5e[_0x5912bb(0xfe)]??(_0x14ee5e['ok']?_0x5912bb(0x110):_0x5912bb(0xe0))));const _0x44d9ce=a127_0x553d6a({'text':_0x5912bb(0x9c),'color':'cyan'})[_0x5912bb(0x111)](),_0x30652f=execSkillsRemove(_0x3f73f5,_0x15c657);_0x108ba8[_0x5912bb(0x10d)](_0x30652f),_0x44d9ce[_0x30652f['ok']?_0x5912bb(0xe6):_0x5912bb(0xe8)](_0x5912bb(0xf2)+(_0x30652f[_0x5912bb(0xfe)]??(_0x30652f['ok']?_0x5912bb(0x110):_0x5912bb(0xe0))));const _0x1b52ee=a127_0x553d6a({'text':_0x5912bb(0xbb),'color':_0x5912bb(0x9d)})[_0x5912bb(0x111)](),_0x33edd1=execSkillsAdd(_0x3f73f5,_0x15c657);_0x108ba8[_0x5912bb(0x10d)](_0x33edd1),_0x1b52ee[_0x33edd1['ok']?'succeed':_0x5912bb(0xe8)](_0x5912bb(0xaa)+(_0x33edd1[_0x5912bb(0xfe)]??(_0x33edd1['ok']?_0x5912bb(0x110):_0x5912bb(0xe0))));const _0xd4fbc3=a127_0x553d6a({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x5912bb(0x9d)})[_0x5912bb(0x111)](),_0x21ed69=execUpgradeSdk(_0x3a087f);_0x108ba8[_0x5912bb(0x10d)](_0x21ed69),_0xd4fbc3[_0x21ed69['ok']?_0x5912bb(0xe6):_0x5912bb(0xe8)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x21ed69[_0x5912bb(0xfe)]??(_0x21ed69['ok']?'done':_0x5912bb(0xe0)))),printSummary(_0x108ba8);const _0x394956=_0x108ba8[_0x5912bb(0xb0)](_0xe10b9e=>!_0xe10b9e['ok']);_0x394956?console['log'](a127_0x235d05[_0x5912bb(0x117)](_0x5912bb(0xfc))):console[_0x5912bb(0xeb)](a127_0x235d05[_0x5912bb(0xd9)]('Upgrade\x20completed\x20successfully!')),_0x21ed69['ok']&&_0x3a087f[_0x5912bb(0xfb)]&&(console[_0x5912bb(0xeb)](''),console[_0x5912bb(0xeb)](a127_0x235d05[_0x5912bb(0x97)][_0x5912bb(0x9d)](_0x5912bb(0xb2))),console['log'](a127_0x235d05['cyan'](_0x5912bb(0xed))),console[_0x5912bb(0xeb)](''),console[_0x5912bb(0xeb)](a127_0x235d05['white']('\x20\x20npm\x20install')),console[_0x5912bb(0xeb)](a127_0x235d05[_0x5912bb(0xee)](_0x5912bb(0xcb))),console[_0x5912bb(0xeb)](a127_0x235d05['white'](_0x5912bb(0xae))),console[_0x5912bb(0xeb)](''));}
|
|
1
|
+
(function(_0x313c66,_0x1fedc2){const _0x18d6ac=a127_0x2442,_0x4b9a86=_0x313c66();while(!![]){try{const _0x7c693f=-parseInt(_0x18d6ac(0x1ac))/0x1*(-parseInt(_0x18d6ac(0x193))/0x2)+-parseInt(_0x18d6ac(0x1c1))/0x3+parseInt(_0x18d6ac(0x20d))/0x4+parseInt(_0x18d6ac(0x196))/0x5*(parseInt(_0x18d6ac(0x1bc))/0x6)+-parseInt(_0x18d6ac(0x201))/0x7*(parseInt(_0x18d6ac(0x1fc))/0x8)+parseInt(_0x18d6ac(0x1ef))/0x9*(-parseInt(_0x18d6ac(0x19e))/0xa)+-parseInt(_0x18d6ac(0x1b5))/0xb*(-parseInt(_0x18d6ac(0x1ab))/0xc);if(_0x7c693f===_0x1fedc2)break;else _0x4b9a86['push'](_0x4b9a86['shift']());}catch(_0x2bbb29){_0x4b9a86['push'](_0x4b9a86['shift']());}}}(a127_0x3126,0xa4c82));function a127_0x2442(_0x8b0039,_0x2370a8){_0x8b0039=_0x8b0039-0x193;const _0x31269e=a127_0x3126();let _0x244275=_0x31269e[_0x8b0039];return _0x244275;}import a127_0x3b63cd from'chalk';import a127_0x4201fb from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x17b7d2=>_0x17b7d2!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x18ba1e){const _0x3d2438=a127_0x2442,_0x488bc8=[];for(const _0x4b3ec5 of Object[_0x3d2438(0x1a1)](CORE_IDE_CONFIGS)){if(_0x4b3ec5['files'])for(const _0x2cc7ff of _0x4b3ec5[_0x3d2438(0x1d1)]){_0x488bc8['push'](resolve(_0x18ba1e,_0x2cc7ff['path']));}}return _0x488bc8;}function analyse(_0x820369){const _0x27968c=a127_0x2442;let _0x38dc1a=null;const _0x57bd79=resolve(_0x820369,NEW_CONFIG_NAME),_0x3bbd37=existsSync(_0x57bd79);for(const _0x2ac0f2 of LEGACY_CONFIG_NAMES){const _0x3ab064=resolve(_0x820369,_0x2ac0f2);if(existsSync(_0x3ab064)){const _0x56f322=readConfigFile(_0x3ab064),_0x52abc9=Object[_0x27968c(0x1e4)](_0x56f322)[_0x27968c(0x204)](_0x5f11c6=>typeof _0x56f322[_0x5f11c6]!==_0x27968c(0x195));_0x38dc1a={'oldPath':_0x3ab064,'hasNewConfig':_0x3bbd37,'fields':_0x52abc9};break;}}const _0x5573be=[],_0x10665f=resolve(_0x820369,_0x27968c(0x1e8));if(existsSync(_0x10665f))_0x5573be[_0x27968c(0x1eb)](_0x10665f);const _0x48a3a6=resolve(_0x820369,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x48a3a6))_0x5573be[_0x27968c(0x1eb)](_0x48a3a6);const _0x55a148=resolve(_0x820369,_0x27968c(0x1f1));if(existsSync(_0x55a148))_0x5573be['push'](_0x55a148);for(const _0x54983f of collectIdeSkillFiles(_0x820369)){if(existsSync(_0x54983f))_0x5573be['push'](_0x54983f);}let _0x280186=null;const _0x1b6c71=resolve(_0x820369,_0x27968c(0x1cd));if(existsSync(_0x1b6c71))try{const _0x4c0401=JSON[_0x27968c(0x1ec)](readFileSync(_0x1b6c71,_0x27968c(0x1df)));if(_0x4c0401?.[_0x27968c(0x1c5)]&&typeof _0x4c0401[_0x27968c(0x1c5)]===_0x27968c(0x1c9)){const _0x10e4c9=[];for(const [_0x79849a,_0x3c1c40]of Object['entries'](_0x4c0401[_0x27968c(0x1c5)])){const _0x564395=_0x3c1c40;_0x564395?.[_0x27968c(0x1c2)]&&Array[_0x27968c(0x1d6)](_0x564395[_0x27968c(0x1c2)])&&_0x564395[_0x27968c(0x1c2)][_0x27968c(0x1e0)](_0x21e27c=>typeof _0x21e27c==='string'&&_0x21e27c['includes'](_0x27968c(0x19b)))&&_0x10e4c9['push'](_0x79849a);}_0x10e4c9[_0x27968c(0x1fe)]>0x0&&(_0x280186={'path':_0x1b6c71,'keys':_0x10e4c9});}}catch{}const _0x3739bf=_0x5573be[_0x27968c(0x1fe)]>0x0||_0x38dc1a!==null;let _0x19f063=null;const _0x1ea5e2=resolve(_0x820369,'package.json');if(existsSync(_0x1ea5e2))try{const _0x3892d0=JSON['parse'](readFileSync(_0x1ea5e2,_0x27968c(0x1df)));for(const _0x3c3d35 of[_0x27968c(0x1da),_0x27968c(0x1b0)]){const _0x1fb572=_0x3892d0?.[_0x3c3d35]?.[_0x27968c(0x1b9)];if(typeof _0x1fb572===_0x27968c(0x1b2)){_0x1fb572!=='latest'&&(_0x19f063={'pkgPath':_0x1ea5e2,'currentVersion':_0x1fb572,'field':_0x3c3d35});break;}}}catch{}return{'configMigration':_0x38dc1a,'oldArtifacts':_0x5573be,'oldMcpConfig':_0x280186,'needsSkillSwap':_0x3739bf,'sdkUpgrade':_0x19f063};}function printReport(_0xa5de9c){const _0x3e2c95=a127_0x2442,{configMigration:_0x1d4ec7,oldArtifacts:_0x5324e9,oldMcpConfig:_0x465551,needsSkillSwap:_0x1b9926}=_0xa5de9c;console[_0x3e2c95(0x1e7)](''),console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1b7)](_0x3e2c95(0x1a8))),console[_0x3e2c95(0x1e7)]('');_0x1d4ec7?(console['log'](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1ee))+('\x20\x20'+a127_0x3b63cd[_0x3e2c95(0x1ca)](_0x1d4ec7[_0x3e2c95(0x1c4)]))),console[_0x3e2c95(0x1e7)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x1d4ec7[_0x3e2c95(0x1b3)]?a127_0x3b63cd['green']('already\x20exists\x20(will\x20merge)'):a127_0x3b63cd[_0x3e2c95(0x1d3)](_0x3e2c95(0x200)))),console['log'](_0x3e2c95(0x198)+_0x1d4ec7[_0x3e2c95(0x1ea)][_0x3e2c95(0x1aa)](',\x20')),console[_0x3e2c95(0x1e7)](_0x3e2c95(0x1af))):console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1ee))+'\x20\x20'+a127_0x3b63cd[_0x3e2c95(0x1d3)]('no\x20legacy\x20config\x20found'));console[_0x3e2c95(0x1e7)]('');if(_0x5324e9['length']>0x0){console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1d8)));for(const _0x1ad67d of _0x5324e9){console['log']('\x20\x20'+a127_0x3b63cd[_0x3e2c95(0x1ed)](_0x3e2c95(0x1ae))+'\x20\x20'+_0x1ad67d);}console[_0x3e2c95(0x1e7)](_0x3e2c95(0x1f2));}else console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1d8))+'\x20\x20'+a127_0x3b63cd['gray'](_0x3e2c95(0x19f)));console[_0x3e2c95(0x1e7)]('');_0x465551?(console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1b1))+('\x20\x20'+a127_0x3b63cd['yellow'](_0x465551['path'])+'\x20→\x20keys:\x20'+_0x465551[_0x3e2c95(0x1e4)]['join'](',\x20'))),console[_0x3e2c95(0x1e7)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1b1))+'\x20\x20'+a127_0x3b63cd[_0x3e2c95(0x1d3)](_0x3e2c95(0x207)));console['log'](''),console['log'](a127_0x3b63cd['cyan'](_0x3e2c95(0x1a3))+('\x20\x20'+(_0x1b9926?a127_0x3b63cd[_0x3e2c95(0x1ca)]('needed'):a127_0x3b63cd[_0x3e2c95(0x1bb)]('not\x20needed'))));_0x1b9926&&console[_0x3e2c95(0x1e7)](_0x3e2c95(0x1f9)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x3e2c95(0x1e7)]('');if(_0xa5de9c[_0x3e2c95(0x1dc)]){const {currentVersion:_0x50a4e4,field:_0x5a895f,pkgPath:_0x3bdeff}=_0xa5de9c['sdkUpgrade'];console[_0x3e2c95(0x1e7)](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1f3))+('\x20\x20'+a127_0x3b63cd['yellow'](_0x3bdeff))),console[_0x3e2c95(0x1e7)]('\x20\x20Current\x20version\x20in\x20'+_0x5a895f+':\x20'+a127_0x3b63cd[_0x3e2c95(0x1ca)](_0x50a4e4)+_0x3e2c95(0x197)+a127_0x3b63cd['green'](_0x3e2c95(0x1ad))),console[_0x3e2c95(0x1e7)](_0x3e2c95(0x1a0));}else console['log'](a127_0x3b63cd[_0x3e2c95(0x1d9)](_0x3e2c95(0x1f3))+'\x20\x20'+a127_0x3b63cd[_0x3e2c95(0x1d3)](_0x3e2c95(0x1b4)));console[_0x3e2c95(0x1e7)]('');}function execConfigMigration(_0x5d6929,_0x26cc79){const _0x1773f2=a127_0x2442,{configMigration:_0x22bfb5}=_0x5d6929;if(!_0x22bfb5?.[_0x1773f2(0x1c4)])return{'step':0x1,'label':_0x1773f2(0x1e2),'ok':!![],'detail':_0x1773f2(0x1bd)};const _0x5165c1=readConfigFile(_0x22bfb5[_0x1773f2(0x1c4)]),_0x450977=resolve(_0x26cc79,NEW_CONFIG_NAME),_0x431ba0=_0x22bfb5[_0x1773f2(0x1b3)]?readConfigFile(_0x450977):{};for(const [_0x1e84a8,_0x2d4d75]of Object[_0x1773f2(0x206)](_0x5165c1)){!(_0x1e84a8 in _0x431ba0)&&(_0x431ba0[_0x1e84a8]=_0x2d4d75);}writeConfigFile(_0x450977,_0x431ba0);const _0x4c82a7=_0x22bfb5[_0x1773f2(0x1c4)]+'.bak';return renameSync(_0x22bfb5[_0x1773f2(0x1c4)],_0x4c82a7),{'step':0x1,'label':_0x1773f2(0x1e2),'ok':!![],'detail':_0x22bfb5[_0x1773f2(0x1c4)]+_0x1773f2(0x197)+_0x450977+_0x1773f2(0x1f6)+_0x4c82a7+')'};}function a127_0x3126(){const _0x4961ca=['Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Upgrade\x20@lovrabet/sdk','10080024qBWqhg','error','length','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','not\x20found\x20(will\x20create)','7wUjJCl','message','succeed','filter','no\x20matching\x20entry\x20found','entries','no\x20legacy\x20entry','Remove\x20old\x20skill','inherit','fail','lovrabet/lovrabet-skill\x20removed','\x20\x20Step\x20','101264NFEyrf','1267964KnljEZ','needsSkillSwap','undefined','26015HkvbYf','\x20→\x20','\x20\x20Fields\x20to\x20migrate:\x20','Install\x20new\x20skill','removed\x20','@lovrabet/dataset-mcp-server','stringify','cwd','70TtVCGr','none\x20found','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','values','path','Skill\x20swap:','oldMcpConfig','\x20\x20bun\x20install','yes','Step\x201/7:\x20Migrating\x20config...','===\x20Upgrade\x20Analysis\x20===','Step\x204/7:\x20MCP\x20config\x20—\x20','join','12pMNLCH','2NbTfTO','latest','FOUND','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','devDependencies','MCP\x20config:','string','hasNewConfig','not\x20found\x20or\x20already\x20at\x20latest','5270683xhbSOf','white','bold','Clean\x20MCP\x20config','@lovrabet/sdk','Step\x204/7:\x20Cleaning\x20MCP\x20config...','green','1386yHqcHL','skipped\x20(no\x20legacy\x20config)','isDirectory','[\x22@lovrabet/sdk\x22]:\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','1981002wnmFHJ','args','start','oldPath','mcpServers','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Step\x205/7:\x20Removing\x20old\x20skill...','===\x20Upgrade\x20Summary\x20===','object','yellow','Remove\x20.lovrabet/','\x20\x20npm\x20install','.cursor/mcp.json','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x201/7:\x20Config\x20migration\x20—\x20','files','detail','gray','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','isArray','CANCEL','Legacy\x20artifacts:','cyan','dependencies','Upgrade\x20cancelled.','sdkUpgrade','done','Upgrade\x20completed\x20successfully!','utf8','some','oldArtifacts','Config\x20migration','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','keys','info','failed','log','.lovrabet','step','fields','push','parse','red','Config\x20file:','487341ZJCoQd','lovrabet/rabetbase\x20installed\x20globally','.claude/skills/lovrabet','\x20\x20Action:\x20delete','@lovrabet/sdk:','status','exit\x20','\x20(backup:\x20'];a127_0x3126=function(){return _0x4961ca;};return a127_0x3126();}function execRemoveOldArtifacts(_0xea2c98){const _0x50d3ae=a127_0x2442,_0x59c8e5=[];for(const _0x506fba of _0xea2c98){try{if(!existsSync(_0x506fba))continue;const _0x68bbb7=tryStat(_0x506fba);_0x68bbb7?.[_0x50d3ae(0x1be)]()?rmSync(_0x506fba,{'recursive':!![],'force':!![]}):unlinkSync(_0x506fba);}catch(_0x5dd553){_0x59c8e5[_0x50d3ae(0x1eb)](_0x506fba+':\x20'+_0x5dd553[_0x50d3ae(0x202)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x59c8e5[_0x50d3ae(0x1fe)]===0x0,'detail':_0x59c8e5['length']>0x0?_0xea2c98['length']-_0x59c8e5[_0x50d3ae(0x1fe)]+'/'+_0xea2c98['length']+'\x20removed\x20('+_0x59c8e5[_0x50d3ae(0x1aa)](';\x20')+')':_0xea2c98[_0x50d3ae(0x1fe)]+'\x20removed'};}function execCleanMcp(_0x29c2e7){const _0x29ef2c=a127_0x2442;if(!_0x29c2e7[_0x29ef2c(0x1a4)])return{'step':0x4,'label':_0x29ef2c(0x1b8),'ok':!![],'detail':'skipped'};try{const _0x3a53a9=readFileSync(_0x29c2e7['oldMcpConfig'][_0x29ef2c(0x1a2)],_0x29ef2c(0x1df)),_0x3c8ce1=JSON[_0x29ef2c(0x1ec)](_0x3a53a9);if(_0x3c8ce1?.['mcpServers']&&typeof _0x3c8ce1[_0x29ef2c(0x1c5)]==='object'){const _0x259da9=[];for(const [_0xb2ac5f,_0x1e5a78]of Object[_0x29ef2c(0x206)](_0x3c8ce1[_0x29ef2c(0x1c5)])){_0x1e5a78?.['args']&&Array[_0x29ef2c(0x1d6)](_0x1e5a78[_0x29ef2c(0x1c2)])&&_0x1e5a78[_0x29ef2c(0x1c2)]['some'](_0x3cf628=>typeof _0x3cf628==='string'&&_0x3cf628['includes']('@lovrabet/dataset-mcp-server'))&&_0x259da9[_0x29ef2c(0x1eb)](_0xb2ac5f);}for(const _0x5bd2dc of _0x259da9){delete _0x3c8ce1[_0x29ef2c(0x1c5)][_0x5bd2dc];}return _0x259da9[_0x29ef2c(0x1fe)]>0x0&&writeFileSync(_0x29c2e7['oldMcpConfig']['path'],JSON[_0x29ef2c(0x19c)](_0x3c8ce1,null,0x2)+'\x0a',_0x29ef2c(0x1df)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x29ef2c(0x19a)+_0x259da9['join'](',\x20')+'\x20from\x20'+_0x29c2e7[_0x29ef2c(0x1a4)][_0x29ef2c(0x1a2)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x29ef2c(0x205)};}catch(_0x1a4121){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x1a4121[_0x29ef2c(0x202)]};}}function execSkillsRemove(_0x3bbbc1,_0x17d16d){const _0x637aaf=a127_0x2442,_0x258b8e=runNpxSkillsRemove(_0x3bbbc1,{'stdio':_0x637aaf(0x209),'yes':_0x17d16d});return{'step':0x5,'label':_0x637aaf(0x208),'ok':_0x258b8e['ok'],'detail':_0x258b8e['ok']?_0x637aaf(0x20b):_0x258b8e[_0x637aaf(0x1fd)]??_0x637aaf(0x1f5)+_0x258b8e[_0x637aaf(0x1f4)]};}function execSkillsAdd(_0x15fd16,_0x45f16f){const _0x2f6804=a127_0x2442,_0x567b78=runNpxSkillsAddGlobal(_0x15fd16,'lovrabet/rabetbase',{'stdio':_0x2f6804(0x209),'yes':_0x45f16f});return{'step':0x6,'label':_0x2f6804(0x199),'ok':_0x567b78['ok'],'detail':_0x567b78['ok']?_0x2f6804(0x1f0):_0x567b78[_0x2f6804(0x1fd)]??_0x2f6804(0x1f5)+_0x567b78[_0x2f6804(0x1f4)]};}function execUpgradeSdk(_0x1309a9){const _0x308a20=a127_0x2442;if(!_0x1309a9['sdkUpgrade'])return{'step':0x7,'label':_0x308a20(0x1fb),'ok':!![],'detail':_0x308a20(0x1c6)};const {pkgPath:_0x279494,currentVersion:_0x3bbe43,field:_0x138595}=_0x1309a9[_0x308a20(0x1dc)];try{const _0x42c5f9=readFileSync(_0x279494,_0x308a20(0x1df)),_0x1bba68=JSON['parse'](_0x42c5f9);return _0x1bba68[_0x138595]['@lovrabet/sdk']=_0x308a20(0x1ad),writeFileSync(_0x279494,JSON[_0x308a20(0x19c)](_0x1bba68,null,0x2)+'\x0a',_0x308a20(0x1df)),{'step':0x7,'label':_0x308a20(0x1fb),'ok':!![],'detail':_0x138595+_0x308a20(0x1bf)+_0x3bbe43+'\x20→\x20latest'};}catch(_0x3cf764){return{'step':0x7,'label':_0x308a20(0x1fb),'ok':![],'detail':_0x3cf764['message']};}}function tryStat(_0x3cc8a9){try{return statSync(_0x3cc8a9);}catch{return undefined;}}function printSummary(_0x511cb3){const _0x23769f=a127_0x2442;console[_0x23769f(0x1e7)](''),console['log'](a127_0x3b63cd['bold'](_0x23769f(0x1c8))),console['log']('');for(const _0x489356 of _0x511cb3){const _0x31e897=_0x489356['ok']?a127_0x3b63cd[_0x23769f(0x1bb)]('OK'):a127_0x3b63cd[_0x23769f(0x1ed)]('FAIL');console[_0x23769f(0x1e7)]('\x20\x20'+_0x31e897+_0x23769f(0x20c)+_0x489356[_0x23769f(0x1e9)]+':\x20'+_0x489356['label']);if(_0x489356['detail'])console['log']('\x20\x20\x20\x20\x20\x20\x20'+a127_0x3b63cd['gray'](_0x489356[_0x23769f(0x1d2)]));}console[_0x23769f(0x1e7)]('');}export async function upgradeApp(_0x428dbe,_0x2e3845){const _0x467d4d=a127_0x2442,_0x464c3b=process[_0x467d4d(0x19d)](),_0x5d2e32=analyse(_0x464c3b),_0x2b58b4=!_0x5d2e32['configMigration']&&_0x5d2e32[_0x467d4d(0x1e1)][_0x467d4d(0x1fe)]===0x0&&!_0x5d2e32['oldMcpConfig']&&!_0x5d2e32[_0x467d4d(0x194)]&&!_0x5d2e32['sdkUpgrade'];if(_0x2b58b4){console['log'](a127_0x3b63cd[_0x467d4d(0x1bb)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x5d2e32);const _0x9155e4=!!(_0x2e3845[_0x467d4d(0x1a6)]||_0x2e3845['Y']||_0x428dbe);if(!_0x9155e4)try{const _0x1bcc01=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x1bcc01){console[_0x467d4d(0x1e7)](a127_0x3b63cd['gray'](_0x467d4d(0x1db)));return;}}catch(_0x2e1fa5){if(_0x2e1fa5?.[_0x467d4d(0x202)]===_0x467d4d(0x1d7)){console['log'](a127_0x3b63cd[_0x467d4d(0x1d3)](_0x467d4d(0x1db)));return;}throw _0x2e1fa5;}const _0x231fa6=[],_0x433f6b=a127_0x4201fb({'text':_0x467d4d(0x1a7),'color':_0x467d4d(0x1d9)})[_0x467d4d(0x1c3)](),_0x33e28a=execConfigMigration(_0x5d2e32,_0x464c3b);_0x231fa6['push'](_0x33e28a),_0x433f6b[_0x33e28a['ok']?_0x467d4d(0x203):_0x467d4d(0x20a)](_0x467d4d(0x1d0)+(_0x33e28a[_0x467d4d(0x1d2)]??(_0x33e28a['ok']?_0x467d4d(0x1dd):_0x467d4d(0x1e6))));const _0x38aa95=resolve(_0x464c3b,_0x467d4d(0x1e8)),_0x108c46=a127_0x4201fb({'text':_0x467d4d(0x1f7),'color':'cyan'})[_0x467d4d(0x1c3)]();if(existsSync(_0x38aa95))try{rmSync(_0x38aa95,{'recursive':!![],'force':!![]}),_0x108c46[_0x467d4d(0x203)](_0x467d4d(0x1c0)),_0x231fa6[_0x467d4d(0x1eb)]({'step':0x2,'label':_0x467d4d(0x1cb),'ok':!![]});}catch(_0x1b05c1){_0x108c46[_0x467d4d(0x20a)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x1b05c1[_0x467d4d(0x202)]),_0x231fa6[_0x467d4d(0x1eb)]({'step':0x2,'label':_0x467d4d(0x1cb),'ok':![],'detail':_0x1b05c1[_0x467d4d(0x202)]});}else _0x108c46[_0x467d4d(0x1e5)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x231fa6[_0x467d4d(0x1eb)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0xd52b95=a127_0x4201fb({'text':_0x467d4d(0x1fa),'color':_0x467d4d(0x1d9)})[_0x467d4d(0x1c3)](),_0x46e957=execRemoveOldArtifacts(_0x5d2e32[_0x467d4d(0x1e1)]);_0x231fa6[_0x467d4d(0x1eb)](_0x46e957),_0xd52b95[_0x46e957['ok']?_0x467d4d(0x203):_0x467d4d(0x20a)](_0x467d4d(0x1ce)+(_0x46e957[_0x467d4d(0x1d2)]??(_0x46e957['ok']?'done':_0x467d4d(0x1e6))));const _0x5ad15a=a127_0x4201fb({'text':_0x467d4d(0x1ba),'color':_0x467d4d(0x1d9)})['start'](),_0x1fccbb=execCleanMcp(_0x5d2e32);_0x231fa6[_0x467d4d(0x1eb)](_0x1fccbb),_0x5ad15a[_0x1fccbb['ok']?_0x467d4d(0x203):'fail'](_0x467d4d(0x1a9)+(_0x1fccbb[_0x467d4d(0x1d2)]??(_0x1fccbb['ok']?_0x467d4d(0x1dd):_0x467d4d(0x1e6))));const _0x4b87fc=a127_0x4201fb({'text':_0x467d4d(0x1c7),'color':_0x467d4d(0x1d9)})['start'](),_0x1a7ecb=execSkillsRemove(_0x464c3b,_0x9155e4);_0x231fa6[_0x467d4d(0x1eb)](_0x1a7ecb),_0x4b87fc[_0x1a7ecb['ok']?_0x467d4d(0x203):_0x467d4d(0x20a)](_0x467d4d(0x1d5)+(_0x1a7ecb[_0x467d4d(0x1d2)]??(_0x1a7ecb['ok']?_0x467d4d(0x1dd):_0x467d4d(0x1e6))));const _0xfe6cdd=a127_0x4201fb({'text':_0x467d4d(0x1d4),'color':_0x467d4d(0x1d9)})['start'](),_0x1f3bef=execSkillsAdd(_0x464c3b,_0x9155e4);_0x231fa6[_0x467d4d(0x1eb)](_0x1f3bef),_0xfe6cdd[_0x1f3bef['ok']?'succeed':_0x467d4d(0x20a)](_0x467d4d(0x1ff)+(_0x1f3bef[_0x467d4d(0x1d2)]??(_0x1f3bef['ok']?_0x467d4d(0x1dd):_0x467d4d(0x1e6))));const _0x3c5be7=a127_0x4201fb({'text':_0x467d4d(0x1cf),'color':_0x467d4d(0x1d9)})[_0x467d4d(0x1c3)](),_0x1f8fd9=execUpgradeSdk(_0x5d2e32);_0x231fa6[_0x467d4d(0x1eb)](_0x1f8fd9),_0x3c5be7[_0x1f8fd9['ok']?_0x467d4d(0x203):_0x467d4d(0x20a)](_0x467d4d(0x1f8)+(_0x1f8fd9[_0x467d4d(0x1d2)]??(_0x1f8fd9['ok']?_0x467d4d(0x1dd):_0x467d4d(0x1e6)))),printSummary(_0x231fa6);const _0x4e7e45=_0x231fa6['some'](_0x510ff9=>!_0x510ff9['ok']);_0x4e7e45?console[_0x467d4d(0x1e7)](a127_0x3b63cd[_0x467d4d(0x1ca)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x467d4d(0x1e7)](a127_0x3b63cd[_0x467d4d(0x1bb)](_0x467d4d(0x1de))),_0x1f8fd9['ok']&&_0x5d2e32[_0x467d4d(0x1dc)]&&(console[_0x467d4d(0x1e7)](''),console[_0x467d4d(0x1e7)](a127_0x3b63cd['bold'][_0x467d4d(0x1d9)](_0x467d4d(0x1e3))),console[_0x467d4d(0x1e7)](a127_0x3b63cd[_0x467d4d(0x1d9)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console['log'](''),console['log'](a127_0x3b63cd[_0x467d4d(0x1b6)](_0x467d4d(0x1cc))),console['log'](a127_0x3b63cd[_0x467d4d(0x1b6)]('\x20\x20#\x20or')),console[_0x467d4d(0x1e7)](a127_0x3b63cd[_0x467d4d(0x1b6)](_0x467d4d(0x1a5))),console[_0x467d4d(0x1e7)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a128_0x18c1ba=a128_0x263c;(function(_0x1370ba,_0x1474ba){const _0x4cc64a=a128_0x263c,_0x428286=_0x1370ba();while(!![]){try{const _0x117c37=parseInt(_0x4cc64a(0x16c))/0x1*(-parseInt(_0x4cc64a(0x13b))/0x2)+-parseInt(_0x4cc64a(0x140))/0x3*(parseInt(_0x4cc64a(0x144))/0x4)+-parseInt(_0x4cc64a(0x167))/0x5*(-parseInt(_0x4cc64a(0x164))/0x6)+-parseInt(_0x4cc64a(0x147))/0x7*(parseInt(_0x4cc64a(0x15b))/0x8)+-parseInt(_0x4cc64a(0x15f))/0x9+-parseInt(_0x4cc64a(0x165))/0xa+parseInt(_0x4cc64a(0x16d))/0xb;if(_0x117c37===_0x1474ba)break;else _0x428286['push'](_0x428286['shift']());}catch(_0x217389){_0x428286['push'](_0x428286['shift']());}}}(a128_0x1fa0,0xc6091));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a128_0x1fa0(){const _0x339108=['isSingleCommand','map','3PiLIwS','defaultCommand','install','start','4653484dKjraM','SQL\x20Queries','command','14ifcPon','Remote\x20App\x20Config','\x20\x20[high-risk-write]','Project','push','Run\x20Scripts','set','Run\x20any\x20package.json\x20script','values','Smart\x20List\x20Pages','Workspace','Menu','commands','skill\x20','App\x20Management','from','has','get','API','skill','3337736UyumxJ','wildcardDef','build','Schema','3009249WLYKDd','logout','run','CLI\x20Built-in\x20Skill','length','12VeNXLB','2384930HjOdmU','write','3211925qZjOtH','auth','skills','`\x20has\x20been\x20removed.','show','27EMIlEB','33027951nPojqn','create','\x20\x20[write]','read','preview','Database\x20Connections','`rabetbase\x20','service','Platform\x20Issue','BFF\x20Scripts','67074QIEtoh','Configuration','Authentication'];a128_0x1fa0=function(){return _0x339108;};return a128_0x1fa0();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';function a128_0x263c(_0x104775,_0xfbb88d){_0x104775=_0x104775-0x13b;const _0x1fa0bb=a128_0x1fa0();let _0x263cdf=_0x1fa0bb[_0x104775];return _0x263cdf;}import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x51df57){const _0xa4fe7d=a128_0x263c;for(const _0x49223c of _0x51df57){definitions['set'](_0x49223c[_0xa4fe7d(0x174)]+':'+_0x49223c[_0xa4fe7d(0x146)],_0x49223c);let _0x1a9de3=serviceGroups['get'](_0x49223c[_0xa4fe7d(0x174)]);!_0x1a9de3&&(_0x1a9de3=[],serviceGroups[_0xa4fe7d(0x14d)](_0x49223c[_0xa4fe7d(0x174)],_0x1a9de3)),_0x1a9de3[_0xa4fe7d(0x14b)](_0x49223c);}}function registerDeclarativeService(_0x3b5e9b,_0x111e06,_0x40a9ef){const _0x407c8a=a128_0x263c;registerDefinitions(_0x111e06);_0x40a9ef?.[_0x407c8a(0x15c)]&®isterDefinitions([_0x40a9ef[_0x407c8a(0x15c)]]);const _0x275fbe=_0x5a4cf5=>_0x5a4cf5===_0x407c8a(0x170)?'':_0x5a4cf5===_0x407c8a(0x166)?_0x407c8a(0x16f):_0x407c8a(0x149),_0x272f6b={'service':_0x111e06[0x0]['service'],'label':_0x3b5e9b,'commands':_0x111e06[_0x407c8a(0x13f)](_0x3bc503=>({'command':_0x3bc503[_0x407c8a(0x146)],'description':_0x3bc503['description'],'tag':_0x275fbe(_0x3bc503['risk'])})),'declarative':!![],'defaultCommand':_0x40a9ef?.[_0x407c8a(0x141)]??(_0x40a9ef?.[_0x407c8a(0x13e)]?_0x111e06[0x0][_0x407c8a(0x146)]:undefined),'wildcardDef':_0x40a9ef?.[_0x407c8a(0x15c)],'isSingleCommand':_0x40a9ef?.[_0x407c8a(0x13e)]};serviceRegistry[_0x407c8a(0x14b)](_0x272f6b),serviceByName['set'](_0x272f6b['service'],_0x272f6b);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a128_0x18c1ba(0x161),'isSingleCommand':!![]}),registerDeclarativeService(a128_0x18c1ba(0x14a),projectDefinitions),registerDeclarativeService(a128_0x18c1ba(0x151),workspaceDefinitions),registerDeclarativeService(a128_0x18c1ba(0x155),appDefinitions),registerDeclarativeService(a128_0x18c1ba(0x14c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x18c1ba(0x163)]-0x1];last[a128_0x18c1ba(0x153)]=[{'command':'<script>','description':a128_0x18c1ba(0x14e),'tag':''}];}registerDeclarativeService(a128_0x18c1ba(0x13d),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x18c1ba(0x15e),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x18c1ba(0x13c),configDefinitions),registerDeclarativeService(a128_0x18c1ba(0x148),appConfigDefinitions),registerDeclarativeService(a128_0x18c1ba(0x175),issueDefinitions),registerDeclarativeService(a128_0x18c1ba(0x159),apiDefinitions),registerDeclarativeService(a128_0x18c1ba(0x152),menuDefinitions),registerDeclarativeService(a128_0x18c1ba(0x172),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a128_0x18c1ba(0x150),pageDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a128_0x18c1ba(0x176),bffDefinitions),registerDeclarativeService(a128_0x18c1ba(0x145),sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a128_0x18c1ba(0x162),cliSkillDefinitions,{'defaultCommand':a128_0x18c1ba(0x142)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a128_0x18c1ba(0x16b)});export const deprecatedAliases={'create':{'service':'project','command':a128_0x18c1ba(0x16e)},'start':{'service':a128_0x18c1ba(0x161),'command':a128_0x18c1ba(0x143)},'build':{'service':a128_0x18c1ba(0x161),'command':a128_0x18c1ba(0x15d)},'preview':{'service':a128_0x18c1ba(0x161),'command':a128_0x18c1ba(0x171)},'logout':{'service':a128_0x18c1ba(0x168),'command':a128_0x18c1ba(0x160)}};const CLI_SKILL_INSTALL_REMOVED_HINT='Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.';export function resolveRemovedCommand(_0x2e0b3e,_0x3f0c6c){const _0x8ca03=a128_0x18c1ba;if(_0x2e0b3e===_0x8ca03(0x15a)){const _0x29cc7c=_0x3f0c6c?_0x8ca03(0x154)+_0x3f0c6c:'skill';return{'command':_0x29cc7c,'message':_0x8ca03(0x173)+_0x29cc7c+_0x8ca03(0x16a),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x2e0b3e===_0x8ca03(0x169))return{'command':_0x8ca03(0x169),'message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x18c1ba(0x16e)},'sql':{'new':a128_0x18c1ba(0x16e)}};export function resolveDeprecatedSubcommand(_0x260740,_0x392a7c){return deprecatedSubcommands[_0x260740]?.[_0x392a7c];}export function findDefinition(_0x5f4e94,_0x805e3a){const _0x1f3881=a128_0x18c1ba;return definitions[_0x1f3881(0x158)](_0x5f4e94+':'+_0x805e3a);}export function isKnownService(_0x4c7bf9){const _0xd56e23=a128_0x18c1ba;return serviceByName[_0xd56e23(0x157)](_0x4c7bf9);}export function isDeclarativeService(_0x2fdc4c){const _0x1828f9=a128_0x18c1ba;return serviceGroups[_0x1828f9(0x157)](_0x2fdc4c)||serviceByName['get'](_0x2fdc4c)?.[_0x1828f9(0x15c)]!==undefined;}export function getServiceEntry(_0x29f7bb){return serviceByName['get'](_0x29f7bb);}export function getLegacyHandler(_0x4cf55b,_0x5b43ef){return undefined;}export function getAllDefinitions(){const _0x5d95cf=a128_0x18c1ba;return Array[_0x5d95cf(0x156)](definitions[_0x5d95cf(0x14f)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a129_0xd82e8a=a129_0x56e4;(function(_0x134ba9,_0x195050){const _0x53f5e2=a129_0x56e4,_0x1a3fe8=_0x134ba9();while(!![]){try{const _0x35caac=parseInt(_0x53f5e2(0xf6))/0x1+-parseInt(_0x53f5e2(0xbb))/0x2+-parseInt(_0x53f5e2(0xde))/0x3*(-parseInt(_0x53f5e2(0xdd))/0x4)+parseInt(_0x53f5e2(0xe6))/0x5*(-parseInt(_0x53f5e2(0xce))/0x6)+parseInt(_0x53f5e2(0xd7))/0x7+-parseInt(_0x53f5e2(0xf8))/0x8*(-parseInt(_0x53f5e2(0xf3))/0x9)+parseInt(_0x53f5e2(0xfc))/0xa*(-parseInt(_0x53f5e2(0xfd))/0xb);if(_0x35caac===_0x195050)break;else _0x1a3fe8['push'](_0x1a3fe8['shift']());}catch(_0x4a3b91){_0x1a3fe8['push'](_0x1a3fe8['shift']());}}}(a129_0x5316,0xf1a20));function a129_0x56e4(_0x2f2c6d,_0x3e4dd6){_0x2f2c6d=_0x2f2c6d-0xbb;const _0x5316f4=a129_0x5316();let _0x56e458=_0x5316f4[_0x2f2c6d];return _0x56e458;}import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a129_0xd82e8a(0xef),a129_0xd82e8a(0xc7)]);function readPackageScripts(_0x50dee2){const _0x34987a=a129_0xd82e8a,_0x1576cd=resolve(_0x50dee2,_0x34987a(0xbc));if(!existsSync(_0x1576cd))return null;try{const _0x32a9ad=JSON[_0x34987a(0xf0)](readFileSync(_0x1576cd,_0x34987a(0xda)));return _0x32a9ad[_0x34987a(0xdc)]??{};}catch{return null;}}function a129_0x5316(){const _0x134713=['8251292WorZzf','run','bun','utf-8','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','scripts','60eFRCsZ','212349zgeZWL','\x20exited\x20with\x20code\x20','yarn','padEnd','\x20run\x20start','length','No\x20package.json\x20found\x20in\x20current\x20directory.','pnpm','2322515JSelQs','all','Script\x20name\x20defined\x20in\x20package.json','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','Script\x20\x22','\x20run\x20','yarn.lock','script','validation','start','parse','slice','build','4753134VHqiwF','push','watch','302615FSAlaN','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','8rlsvJg','\x20run\x20build','close','Enable\x20watch\x20mode\x20for\x20preview','1476830uMukCH','22iZYOIe','\x20run\x20preview','args','cwd','2643290kbTVpp','package.json','entries','\x20\x20EXAMPLES','has','max','bun.lock','.bin','keys','error','No\x20scripts\x20defined\x20in\x20package.json.','\x20\x20\x20\x20','dev','join','vite','\x22\x20not\x20found\x20in\x20package.json.','\x0a\x20\x20Available\x20scripts:\x0a','belowMinimum','vite\x20preview\x20exited\x20with\x20code\x20','6PIBDCr','preview','--watch','log','map','inherit','node_modules','needsUpgrade','pnpm-lock.yaml'];a129_0x5316=function(){return _0x134713;};return a129_0x5316();}function detectPackageManager(_0x16e346){const _0x1cb3f4=a129_0xd82e8a;if(existsSync(resolve(_0x16e346,'bun.lockb'))||existsSync(resolve(_0x16e346,_0x1cb3f4(0xc1))))return _0x1cb3f4(0xd9);if(existsSync(resolve(_0x16e346,_0x1cb3f4(0xd6))))return _0x1cb3f4(0xe5);if(existsSync(resolve(_0x16e346,_0x1cb3f4(0xec))))return _0x1cb3f4(0xe0);return'npm';}async function versionCheck(_0x516f84){const _0x1ef5ea=a129_0xd82e8a,_0x1e764a=await checkCliVersion();(_0x1e764a[_0x1ef5ea(0xd5)]||_0x1e764a[_0x1ef5ea(0xcc)])&&(printCliUpgradeWarning(_0x1e764a),assertCliVersionSupported(_0x1e764a));const _0x4f2e45=await checkSdkVersion(_0x516f84);if(_0x4f2e45[_0x1ef5ea(0xd5)])printSdkUpgradeWarning(_0x4f2e45);}function spawnScript(_0x3d0867,_0x12be53,_0x1df3ef,_0x31f8db){return new Promise((_0x57d9fa,_0x4e5424)=>{const _0x4cfe17=a129_0x56e4,_0xd0db52=['run',_0x12be53,..._0x1df3ef],_0x3554c7=spawn(_0x3d0867,_0xd0db52,{'cwd':_0x31f8db,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x31f8db,'node_modules','.bin')+delimiter+process.env.PATH}});_0x3554c7['on'](_0x4cfe17(0xfa),_0x4b0c83=>{const _0x27a1e9=_0x4cfe17;if(_0x4b0c83===0x0||_0x4b0c83===null)_0x57d9fa();else _0x4e5424(new Error(_0x3d0867+_0x27a1e9(0xeb)+_0x12be53+_0x27a1e9(0xdf)+_0x4b0c83));}),_0x3554c7['on']('error',_0x4e5424);});}function spawnViteBuildWatch(_0x246ea7){return new Promise((_0xd02663,_0x30fa6c)=>{const _0x45938c=a129_0x56e4,_0x5aeb6a=spawn(_0x45938c(0xc9),[_0x45938c(0xf2),_0x45938c(0xd0)],{'cwd':_0x246ea7,'stdio':_0x45938c(0xd3),'shell':!![],'env':{...process.env,'PATH':''+join(_0x246ea7,_0x45938c(0xd4),'.bin')+delimiter+process.env.PATH}});_0x5aeb6a['on'](_0x45938c(0xfa),_0x29a8d6=>{const _0x46d0b2=_0x45938c;if(_0x29a8d6===0x0||_0x29a8d6===null)_0xd02663();else _0x30fa6c(new Error(_0x46d0b2(0xdb)+_0x29a8d6));}),_0x5aeb6a['on'](_0x45938c(0xc4),_0x30fa6c);});}function spawnVitePreview(_0x4f942f){return new Promise((_0x4453f7,_0x130d90)=>{const _0x4354e1=a129_0x56e4,_0x4b6472=spawn(_0x4354e1(0xc9),[_0x4354e1(0xcf)],{'cwd':_0x4f942f,'stdio':_0x4354e1(0xd3),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4f942f,'node_modules',_0x4354e1(0xc2))+delimiter+process.env.PATH}});_0x4b6472['on']('close',_0x3e74ba=>{const _0x55661c=_0x4354e1;if(_0x3e74ba===0x0||_0x3e74ba===null)_0x4453f7();else _0x130d90(new Error(_0x55661c(0xcd)+_0x3e74ba));}),_0x4b6472['on'](_0x4354e1(0xc4),_0x130d90);});}const runFlags=[{'name':a129_0xd82e8a(0xf5),'type':'boolean','description':a129_0xd82e8a(0xfb),'default':![]}];export const runDefinition={'service':a129_0xd82e8a(0xd8),'command':a129_0xd82e8a(0xd8),'description':'Run\x20a\x20package.json\x20script','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0xd82e8a(0xed),'description':a129_0xd82e8a(0xe8),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x12de82=a129_0xd82e8a,_0x3a632f=readPackageScripts(process[_0x12de82(0x100)]()),_0x15a252=[];if(_0x3a632f&&Object['keys'](_0x3a632f)[_0x12de82(0xe3)]>0x0){const _0x448de4=Object[_0x12de82(0xc3)](_0x3a632f),_0x1be666=Math['max'](..._0x448de4['map'](_0x3cff30=>_0x3cff30[_0x12de82(0xe3)]));_0x15a252[_0x12de82(0xf4)](_0x12de82(0xf7));for(const [_0x13b5e2,_0x48b215]of Object[_0x12de82(0xbd)](_0x3a632f)){_0x15a252['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x12de82(0xeb)+_0x13b5e2[_0x12de82(0xe1)](_0x1be666+0x2)+'#\x20'+_0x48b215);}}else _0x15a252['push'](_0x12de82(0xbe)),_0x15a252[_0x12de82(0xf4)](_0x12de82(0xc6)+CLI_BIN_NAME+_0x12de82(0xe2)),_0x15a252[_0x12de82(0xf4)](_0x12de82(0xc6)+CLI_BIN_NAME+_0x12de82(0xf9)),_0x15a252[_0x12de82(0xf4)](_0x12de82(0xc6)+CLI_BIN_NAME+_0x12de82(0xfe)),_0x15a252[_0x12de82(0xf4)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x12de82(0xe9));return _0x15a252[_0x12de82(0xc8)]('\x0a');},async 'execute'(_0x2bdd3d){const _0x2ac990=a129_0xd82e8a,_0x48195a=process['cwd'](),_0x3ad835=_0x2bdd3d[_0x2ac990(0xff)][0x0],_0x527fb0=_0x2bdd3d[_0x2ac990(0xff)][_0x2ac990(0xf1)](0x1),_0x14bca4=readPackageScripts(_0x48195a);if(!_0x14bca4)throw CliErrors[_0x2ac990(0xee)](_0x2ac990(0xe4));if(!_0x3ad835){const _0x2c7d44=Object[_0x2ac990(0xc3)](_0x14bca4);if(_0x2c7d44[_0x2ac990(0xe3)]===0x0)console[_0x2ac990(0xd1)](_0x2ac990(0xc5));else{console['log'](_0x2ac990(0xcb));const _0x518654=Math[_0x2ac990(0xc0)](..._0x2c7d44[_0x2ac990(0xd2)](_0x42b79a=>_0x42b79a[_0x2ac990(0xe3)]));for(const [_0x5b6fff,_0x19f0df]of Object[_0x2ac990(0xbd)](_0x14bca4)){console[_0x2ac990(0xd1)](_0x2ac990(0xc6)+_0x5b6fff[_0x2ac990(0xe1)](_0x518654+0x2)+_0x19f0df);}console[_0x2ac990(0xd1)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x14bca4[_0x3ad835])throw CliErrors[_0x2ac990(0xee)](_0x2ac990(0xea)+_0x3ad835+_0x2ac990(0xca),'Available:\x20'+(Object[_0x2ac990(0xc3)](_0x14bca4)[_0x2ac990(0xc8)](',\x20')||'(none)'));const _0x5ba7e4=detectPackageManager(_0x48195a);VERSION_CHECK_SCRIPTS[_0x2ac990(0xbf)](_0x3ad835)&&await versionCheck(_0x48195a);if(_0x3ad835===_0x2ac990(0xcf)&&_0x2bdd3d['bool'](_0x2ac990(0xf5)))return await Promise[_0x2ac990(0xe7)]([spawnViteBuildWatch(_0x48195a),spawnVitePreview(_0x48195a)]),{'ok':!![]};return await spawnScript(_0x5ba7e4,_0x3ad835,_0x527fb0,_0x48195a),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a130_0x195498=a130_0x211f;(function(_0x774c45,_0x460865){const _0xd7310f=a130_0x211f,_0xaff853=_0x774c45();while(!![]){try{const _0x3c2773=-parseInt(_0xd7310f(0xb2))/0x1+-parseInt(_0xd7310f(0xb9))/0x2*(parseInt(_0xd7310f(0xb5))/0x3)+-parseInt(_0xd7310f(0xb3))/0x4+parseInt(_0xd7310f(0xb1))/0x5*(parseInt(_0xd7310f(0xb4))/0x6)+parseInt(_0xd7310f(0xbb))/0x7+parseInt(_0xd7310f(0xba))/0x8*(parseInt(_0xd7310f(0xb7))/0x9)+parseInt(_0xd7310f(0xaf))/0xa*(parseInt(_0xd7310f(0xae))/0xb);if(_0x3c2773===_0x460865)break;else _0xaff853['push'](_0xaff853['shift']());}catch(_0x51426c){_0xaff853['push'](_0xaff853['shift']());}}}(a130_0x3b20,0xa8cb8));function a130_0x211f(_0x37ee1d,_0x52fa95){_0x37ee1d=_0x37ee1d-0xae;const _0x3b20f4=a130_0x3b20();let _0x211f9e=_0x3b20f4[_0x37ee1d];return _0x211f9e;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x532a89){const _0x3308b3=await buildSchemaPayload();return{'ok':!![],'data':_0x3308b3};}export const schemaDefinition={'service':a130_0x195498(0xb8),'command':'export','description':a130_0x195498(0xb0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a130_0x195498(0xb6),'flags':[],'execute':execute};function a130_0x3b20(){const _0x2157c6=['490rwMoJU','Export\x20machine-readable\x20command\x20schema\x20(JSON)','145kgvsxm','971357RRbAwJ','3412124HyCHDw','106308hFTLPe','113859RaRdLq','json','4244868BgEGpl','schema','70UWXUKh','16DzeMKk','700168wWKCbK','513403NrURlD'];a130_0x3b20=function(){return _0x2157c6;};return a130_0x3b20();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a131_0x4fc094=a131_0x5bd6;(function(_0x4ac013,_0x4e626b){const _0x3af314=a131_0x5bd6,_0x464fed=_0x4ac013();while(!![]){try{const _0x5f470f=parseInt(_0x3af314(0x164))/0x1*(-parseInt(_0x3af314(0x18c))/0x2)+-parseInt(_0x3af314(0x181))/0x3+parseInt(_0x3af314(0x192))/0x4+-parseInt(_0x3af314(0x163))/0x5+-parseInt(_0x3af314(0x18e))/0x6+-parseInt(_0x3af314(0x16f))/0x7*(parseInt(_0x3af314(0x18a))/0x8)+parseInt(_0x3af314(0x18d))/0x9;if(_0x5f470f===_0x4e626b)break;else _0x464fed['push'](_0x464fed['shift']());}catch(_0x5006f9){_0x464fed['push'](_0x464fed['shift']());}}}(a131_0x458d,0x575ba));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';function a131_0x458d(){const _0x277c0e=['请输入目标数据库\x20dbId:','<server-generated-sqlCode>','dbId\x20不能为空','1484785ObcoOA','38653ycGBbm','str','mybatisXml','POST','parse','trim','high-risk-write','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','mode','appCode','utf8','3756571zwPXYW','Created\x20SQL\x20query\x20','dbName','Local\x20SQL\x20file\x20mode','请输入\x20SQL\x20名称:','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','lockFilePath','请选择本地\x20SQL\x20模式:','普通\x20SQL(sql)','number','dbId','</select>','lastSync','flagMissing','isInteger','__manual__','join','db-id','521424NxNMNG','Invalid\x20database\x20selection\x20payload:\x20','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','/smartapi/custom/saveUserCustomSql','flag','length','SQL\x20query\x20display\x20name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRootDir','8ueKLOn','toISOString','16fnEwhx','16703100HoBULt','3293898Kawqqg','nonInteractive','sql','sqlCode','1470172MdWScn','catch','stringify','name','isFinite','string','validation','适合带动态标签的\x20MyBatis\x20XML\x20SQL','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Target\x20database\x20ID','new','File\x20already\x20exists:\x20','sqlName','SELECT\x201\x20AS\x20id;'];a131_0x458d=function(){return _0x277c0e;};return a131_0x458d();}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x57d7d8){const _0x1fd21a=a131_0x5bd6;if(_0x57d7d8===_0x1fd21a(0x166))return[_0x1fd21a(0x16b),'\x20\x20SELECT\x201\x20AS\x20id',_0x1fd21a(0x17a),''][_0x1fd21a(0x17f)]('\x0a');return[_0x1fd21a(0x15f),''][_0x1fd21a(0x17f)]('\x0a');}export const sqlCreate={'service':a131_0x4fc094(0x190),'command':'create','description':a131_0x4fc094(0x15a),'risk':a131_0x4fc094(0x16a),'flags':[{'name':a131_0x4fc094(0x195),'type':a131_0x4fc094(0x197),'description':a131_0x4fc094(0x187)},{'name':a131_0x4fc094(0x180),'type':'number','description':a131_0x4fc094(0x15b)},{'name':a131_0x4fc094(0x16c),'type':a131_0x4fc094(0x197),'enum':[a131_0x4fc094(0x190),a131_0x4fc094(0x166)],'description':a131_0x4fc094(0x172)}],async 'validate'(_0x516172){const _0xe53b1d=a131_0x4fc094;if(!_0x516172[_0xe53b1d(0x18f)])return;if(!_0x516172['str'](_0xe53b1d(0x195))[_0xe53b1d(0x169)]())throw CliErrors[_0xe53b1d(0x17c)](_0xe53b1d(0x195),_0xe53b1d(0x188));const _0x5881de=resolveProvidedDbId(_0x516172);if(typeof _0x5881de!==_0xe53b1d(0x178)||!Number[_0xe53b1d(0x196)](_0x5881de)||_0x5881de<=0x0)throw CliErrors['flagMissing'](_0xe53b1d(0x180),_0xe53b1d(0x183));if(!_0x516172[_0xe53b1d(0x165)](_0xe53b1d(0x16c))[_0xe53b1d(0x169)]())throw CliErrors[_0xe53b1d(0x17c)](_0xe53b1d(0x16c),_0xe53b1d(0x174));},async 'dryRun'(_0x50c20c){const _0x449ae3=a131_0x4fc094,_0x3e617c=loadSqlProjectConfig(_0x50c20c[_0x449ae3(0x16d)]),{sqlName:_0xb8f81a,dbId:_0x3f3beb,dbName:_0x5d784e,mode:_0x3cb711}=await resolveSqlNewInputs(_0x50c20c),_0x2cd8d3=buildSqlRelativePath(_0x449ae3(0x161),_0xb8f81a,_0x5d784e,_0x3cb711,_0x3f3beb),_0x4801de=_0x3e617c[_0x449ae3(0x189)]+'/'+_0x2cd8d3;return{'method':_0x449ae3(0x167),'url':_0x449ae3(0x184),'body':{'appCode':_0x50c20c['appCode'],'sqlName':_0xb8f81a,'dbId':_0x3f3beb,'mode':_0x3cb711,'localPath':_0x4801de},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x3e617c[_0x449ae3(0x189)]};},async 'execute'(_0x1a7ec0){const _0x4d3b82=a131_0x4fc094,_0x58519d=loadSqlProjectConfig(_0x1a7ec0[_0x4d3b82(0x16d)]),{sqlName:_0x4b32c8,dbId:_0x5970f5,dbName:_0x3f53cf,mode:_0x3adbcd}=await resolveSqlNewInputs(_0x1a7ec0),_0xdd420e=generateSqlTemplate(_0x3adbcd),_0x153c6a=await createSqlQuery({'appCode':_0x1a7ec0[_0x4d3b82(0x16d)],'sqlName':_0x4b32c8,'dbId':_0x5970f5,'sqlContent':_0xdd420e}),_0x1dd37e=ensureRemoteSqlContent(_0x153c6a),_0x547159=_0x3f53cf||await getDbName(_0x1a7ec0[_0x4d3b82(0x16d)],_0x5970f5)[_0x4d3b82(0x193)](()=>undefined),_0x3c649c=buildSqlRelativePath(_0x153c6a[_0x4d3b82(0x191)],_0x153c6a['sqlName'],_0x547159,_0x3adbcd,_0x5970f5),_0x3b0816=_0x58519d['sqlRootDir']+'/'+_0x3c649c,_0x473b3e=buildLocalSqlFileContent({'sqlCode':_0x153c6a['sqlCode'],'sqlName':_0x153c6a[_0x4d3b82(0x15e)],'dbId':_0x153c6a[_0x4d3b82(0x179)]},_0x1dd37e,{'dbName':_0x547159,'mode':_0x3adbcd,'syncedAt':new Date()[_0x4d3b82(0x18b)](),'description':_0x153c6a['description']});if(await fileExists(_0x3b0816))throw CliErrors[_0x4d3b82(0x198)](_0x4d3b82(0x15d)+_0x3b0816);await ensureParentDirectory(_0x3b0816),await writeFile(_0x3b0816,_0x473b3e,_0x4d3b82(0x16e));const _0x44af44=await readSqlLockFile(_0x58519d[_0x4d3b82(0x175)]),{lockData:_0x3c2d96,appLock:_0x3821a9}=ensureSqlLockScope(_0x44af44??createEmptySqlLock(),_0x58519d[_0x4d3b82(0x16d)],_0x58519d['sqlRoot'],_0x4d3b82(0x15c));return _0x3821a9['sqls'][_0x153c6a[_0x4d3b82(0x191)]]={...buildSqlLockEntry(_0x153c6a,_0x1dd37e,computeSqlContentHash(_0x473b3e),{'dbName':_0x547159}),'path':_0x3c649c,'mode':_0x3adbcd},_0x3821a9[_0x4d3b82(0x17b)]=new Date()['toISOString'](),await writeSqlLockFile(_0x58519d[_0x4d3b82(0x175)],_0x3c2d96),{'ok':!![],'data':{'id':_0x153c6a['id'],'sqlCode':_0x153c6a['sqlCode'],'sqlName':_0x153c6a[_0x4d3b82(0x15e)],'dbId':_0x153c6a['dbId'],'path':_0x3b0816,'mode':_0x3adbcd},'message':_0x4d3b82(0x170)+_0x153c6a[_0x4d3b82(0x191)]};}};async function resolveSqlNewInputs(_0x2fd76d){const _0x401cd3=await resolveSqlNameInput(_0x2fd76d),{dbId:_0x412987,dbName:_0x308bf5}=await resolveDbSelection(_0x2fd76d),_0x3eb433=await resolveSqlModeInput(_0x2fd76d);return{'sqlName':_0x401cd3,'dbId':_0x412987,'dbName':_0x308bf5,'mode':_0x3eb433};}async function resolveSqlNameInput(_0x522a24){const _0x4e6247=a131_0x4fc094,_0x29acf0=_0x522a24[_0x4e6247(0x165)](_0x4e6247(0x195))['trim']();if(_0x29acf0)return _0x29acf0;if(_0x522a24[_0x4e6247(0x18f)])throw CliErrors[_0x4e6247(0x17c)](_0x4e6247(0x195),_0x4e6247(0x188));return(await input({'message':_0x4e6247(0x173),'validate':_0x4b21df=>_0x4b21df['trim']()?!![]:'SQL\x20名称不能为空'}))[_0x4e6247(0x169)]();}async function resolveDbSelection(_0x383f93){const _0x2edab2=a131_0x4fc094,_0x5be936=resolveProvidedDbId(_0x383f93);if(typeof _0x5be936===_0x2edab2(0x178)&&Number[_0x2edab2(0x196)](_0x5be936)&&_0x5be936>0x0)return{'dbId':_0x5be936,'dbName':await getDbName(_0x383f93[_0x2edab2(0x16d)],_0x5be936)[_0x2edab2(0x193)](()=>undefined)};if(_0x383f93[_0x2edab2(0x18f)])throw CliErrors[_0x2edab2(0x17c)](_0x2edab2(0x180),_0x2edab2(0x183));const _0x15dbf8=await listDatabases(_0x383f93['appCode'])[_0x2edab2(0x193)](()=>[]);if(_0x15dbf8[_0x2edab2(0x186)]===0x1)return{'dbId':_0x15dbf8[0x0][_0x2edab2(0x179)],'dbName':_0x15dbf8[0x0]['dbName']};if(_0x15dbf8[_0x2edab2(0x186)]>0x1){const _0x3e6e93=await select({'message':'请选择目标数据库:','choices':[..._0x15dbf8['map'](_0x539696=>({'name':_0x539696[_0x2edab2(0x171)]+'\x20('+_0x539696[_0x2edab2(0x179)]+')','value':serializeDbSelection(_0x539696)})),{'name':'✎\x20手动输入\x20dbId','value':_0x2edab2(0x17e)}]});if(_0x3e6e93!==_0x2edab2(0x17e))return deserializeDbSelection(_0x3e6e93);}const _0x1cf025=await input({'message':_0x2edab2(0x160),'validate':_0x5f2105=>{const _0x18f883=_0x2edab2,_0x38583c=_0x5f2105[_0x18f883(0x169)]();if(!_0x38583c)return _0x18f883(0x162);const _0x4a942b=Number(_0x38583c);if(!Number[_0x18f883(0x17d)](_0x4a942b)||_0x4a942b<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x1cf025[_0x2edab2(0x169)]())};}function a131_0x5bd6(_0xf89780,_0x2be4ec){_0xf89780=_0xf89780-0x159;const _0x458d25=a131_0x458d();let _0x5bd615=_0x458d25[_0xf89780];return _0x5bd615;}async function resolveSqlModeInput(_0x3134cd){const _0x16320d=a131_0x4fc094,_0x5119c3=_0x3134cd[_0x16320d(0x165)](_0x16320d(0x16c))[_0x16320d(0x169)]();if(_0x5119c3===_0x16320d(0x190)||_0x5119c3===_0x16320d(0x166))return _0x5119c3;if(_0x3134cd[_0x16320d(0x18f)])throw CliErrors[_0x16320d(0x17c)](_0x16320d(0x16c),_0x16320d(0x174));return await select({'message':_0x16320d(0x176),'choices':[{'name':_0x16320d(0x177),'value':_0x16320d(0x190),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x16320d(0x166),'description':_0x16320d(0x159)}]});}function serializeDbSelection(_0x57f316){const _0x5cb4b6=a131_0x4fc094;return JSON[_0x5cb4b6(0x194)]({'dbId':_0x57f316[_0x5cb4b6(0x179)],'dbName':_0x57f316[_0x5cb4b6(0x171)]});}function deserializeDbSelection(_0x324a9f){const _0x3edd6e=a131_0x4fc094;try{const _0x26afdf=JSON[_0x3edd6e(0x168)](_0x324a9f);if(typeof _0x26afdf[_0x3edd6e(0x179)]===_0x3edd6e(0x178)&&Number[_0x3edd6e(0x196)](_0x26afdf['dbId']))return{'dbId':_0x26afdf[_0x3edd6e(0x179)],'dbName':_0x26afdf['dbName']};}catch{}throw CliErrors['validation'](_0x3edd6e(0x182)+_0x324a9f);}function resolveProvidedDbId(_0x2789c2){const _0x3067d6=a131_0x4fc094,_0x578f09=_0x2789c2[_0x3067d6(0x185)](_0x3067d6(0x180));if(typeof _0x578f09===_0x3067d6(0x178)&&Number['isFinite'](_0x578f09))return _0x578f09;return undefined;}
|
|
1
|
+
const a131_0x478666=a131_0xf79d;(function(_0x39201c,_0x6c12e3){const _0x107328=a131_0xf79d,_0x1b60fc=_0x39201c();while(!![]){try{const _0x1c2342=parseInt(_0x107328(0x131))/0x1*(parseInt(_0x107328(0x15d))/0x2)+-parseInt(_0x107328(0x140))/0x3+-parseInt(_0x107328(0x153))/0x4*(-parseInt(_0x107328(0x145))/0x5)+-parseInt(_0x107328(0x126))/0x6*(parseInt(_0x107328(0x13d))/0x7)+-parseInt(_0x107328(0x13b))/0x8*(parseInt(_0x107328(0x13f))/0x9)+parseInt(_0x107328(0x154))/0xa+parseInt(_0x107328(0x124))/0xb;if(_0x1c2342===_0x6c12e3)break;else _0x1b60fc['push'](_0x1b60fc['shift']());}catch(_0x24f50a){_0x1b60fc['push'](_0x1b60fc['shift']());}}}(a131_0x6c0c,0x25d8d));function a131_0x6c0c(){const _0x389ba1=['8qZtRMX','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','602YPZcjg','catch','2248245braKOi','259938mXCgls','Created\x20SQL\x20query\x20','dbName','</select>','Target\x20database\x20ID','97340SXGaCr','mode','isInteger','sqlName','__manual__','请输入\x20SQL\x20名称:','db-id','high-risk-write','new','mybatisXml','sql','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','string','sqlRootDir','16NUjXvy','3053080wAEtAN','isFinite','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','lockFilePath','<server-generated-sqlCode>','length','lastSync','flagMissing','utf8','328582yYUrYP','SQL\x20query\x20display\x20name','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','number','\x20\x20SELECT\x201\x20AS\x20id','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','Local\x20SQL\x20file\x20mode','appCode','stringify','name','dbId\x20必须为正整数','2198361svzavv','flag','17850kAMHdE','MyBatis\x20XML(mybatisXml)','join','validation','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','✎\x20手动输入\x20dbId','请输入目标数据库\x20dbId:','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','str','dbId','description','1VHFvRZ','dbId\x20不能为空','trim','Invalid\x20database\x20selection\x20payload:\x20','sqlCode','请选择本地\x20SQL\x20模式:','nonInteractive','POST','create','File\x20already\x20exists:\x20'];a131_0x6c0c=function(){return _0x389ba1;};return a131_0x6c0c();}import{writeFile}from'node:fs/promises';function a131_0xf79d(_0x4d7f52,_0x9a4104){_0x4d7f52=_0x4d7f52-0x122;const _0x6c0c1b=a131_0x6c0c();let _0xf79dfb=_0x6c0c1b[_0x4d7f52];return _0xf79dfb;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x93dcbd){const _0x3e6698=a131_0xf79d;if(_0x93dcbd==='mybatisXml')return[_0x3e6698(0x162),_0x3e6698(0x161),_0x3e6698(0x143),''][_0x3e6698(0x128)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x3e6698(0x128)]('\x0a');}export const sqlCreate={'service':a131_0x478666(0x14f),'command':a131_0x478666(0x139),'description':a131_0x478666(0x12d),'risk':a131_0x478666(0x14c),'flags':[{'name':a131_0x478666(0x122),'type':a131_0x478666(0x151),'description':a131_0x478666(0x15e)},{'name':a131_0x478666(0x14b),'type':a131_0x478666(0x160),'description':a131_0x478666(0x144)},{'name':'mode','type':a131_0x478666(0x151),'enum':[a131_0x478666(0x14f),a131_0x478666(0x14e)],'description':a131_0x478666(0x163)}],async 'validate'(_0x65ab8d){const _0x407904=a131_0x478666;if(!_0x65ab8d[_0x407904(0x137)])return;if(!_0x65ab8d[_0x407904(0x12e)](_0x407904(0x122))['trim']())throw CliErrors[_0x407904(0x15b)](_0x407904(0x122),_0x407904(0x156));const _0x26a261=resolveProvidedDbId(_0x65ab8d);if(typeof _0x26a261!==_0x407904(0x160)||!Number[_0x407904(0x155)](_0x26a261)||_0x26a261<=0x0)throw CliErrors[_0x407904(0x15b)](_0x407904(0x14b),_0x407904(0x150));if(!_0x65ab8d[_0x407904(0x12e)]('mode')[_0x407904(0x133)]())throw CliErrors['flagMissing']('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x35f57a){const _0x1d33f4=a131_0x478666,_0x27d030=loadSqlProjectConfig(_0x35f57a[_0x1d33f4(0x164)]),{sqlName:_0x4b8d0b,dbId:_0x367347,dbName:_0x45d789,mode:_0x3663c5}=await resolveSqlNewInputs(_0x35f57a),_0x275e6c=buildSqlRelativePath(_0x1d33f4(0x158),_0x4b8d0b,_0x45d789,_0x3663c5,_0x367347),_0x555e52=_0x27d030['sqlRootDir']+'/'+_0x275e6c;return{'method':_0x1d33f4(0x138),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x35f57a[_0x1d33f4(0x164)],'sqlName':_0x4b8d0b,'dbId':_0x367347,'mode':_0x3663c5,'localPath':_0x555e52},'description':_0x1d33f4(0x13c)+_0x27d030[_0x1d33f4(0x152)]};},async 'execute'(_0x164a3e){const _0x177ac2=a131_0x478666,_0x23ebeb=loadSqlProjectConfig(_0x164a3e[_0x177ac2(0x164)]),{sqlName:_0x1daaea,dbId:_0x5eb645,dbName:_0x3c6321,mode:_0x126635}=await resolveSqlNewInputs(_0x164a3e),_0x2b82cd=generateSqlTemplate(_0x126635),_0x190912=await createSqlQuery({'appCode':_0x164a3e[_0x177ac2(0x164)],'sqlName':_0x1daaea,'dbId':_0x5eb645,'sqlContent':_0x2b82cd}),_0x282b25=ensureRemoteSqlContent(_0x190912),_0x12051a=_0x3c6321||await getDbName(_0x164a3e['appCode'],_0x5eb645)[_0x177ac2(0x13e)](()=>undefined),_0x3d12bd=buildSqlRelativePath(_0x190912[_0x177ac2(0x135)],_0x190912['sqlName'],_0x12051a,_0x126635,_0x5eb645),_0x5b4ba5=_0x23ebeb['sqlRootDir']+'/'+_0x3d12bd,_0x24a607=buildLocalSqlFileContent({'sqlCode':_0x190912[_0x177ac2(0x135)],'sqlName':_0x190912[_0x177ac2(0x148)],'dbId':_0x190912[_0x177ac2(0x12f)]},_0x282b25,{'dbName':_0x12051a,'mode':_0x126635,'syncedAt':new Date()['toISOString'](),'description':_0x190912[_0x177ac2(0x130)]});if(await fileExists(_0x5b4ba5))throw CliErrors['validation'](_0x177ac2(0x13a)+_0x5b4ba5);await ensureParentDirectory(_0x5b4ba5),await writeFile(_0x5b4ba5,_0x24a607,_0x177ac2(0x15c));const _0x829a3d=await readSqlLockFile(_0x23ebeb[_0x177ac2(0x157)]),{lockData:_0x3ae96b,appLock:_0x4af248}=ensureSqlLockScope(_0x829a3d??createEmptySqlLock(),_0x23ebeb['appCode'],_0x23ebeb['sqlRoot'],_0x177ac2(0x14d));return _0x4af248['sqls'][_0x190912['sqlCode']]={...buildSqlLockEntry(_0x190912,_0x282b25,computeSqlContentHash(_0x24a607),{'dbName':_0x12051a}),'path':_0x3d12bd,'mode':_0x126635},_0x4af248[_0x177ac2(0x15a)]=new Date()['toISOString'](),await writeSqlLockFile(_0x23ebeb[_0x177ac2(0x157)],_0x3ae96b),{'ok':!![],'data':{'id':_0x190912['id'],'sqlCode':_0x190912['sqlCode'],'sqlName':_0x190912[_0x177ac2(0x148)],'dbId':_0x190912[_0x177ac2(0x12f)],'path':_0x5b4ba5,'mode':_0x126635},'message':_0x177ac2(0x141)+_0x190912[_0x177ac2(0x135)]};}};async function resolveSqlNewInputs(_0x5484d1){const _0x573f86=await resolveSqlNameInput(_0x5484d1),{dbId:_0x4c7454,dbName:_0x22cee2}=await resolveDbSelection(_0x5484d1),_0x459e44=await resolveSqlModeInput(_0x5484d1);return{'sqlName':_0x573f86,'dbId':_0x4c7454,'dbName':_0x22cee2,'mode':_0x459e44};}async function resolveSqlNameInput(_0x5d760c){const _0x5190e1=a131_0x478666,_0x3972b8=_0x5d760c[_0x5190e1(0x12e)](_0x5190e1(0x122))[_0x5190e1(0x133)]();if(_0x3972b8)return _0x3972b8;if(_0x5d760c[_0x5190e1(0x137)])throw CliErrors[_0x5190e1(0x15b)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x5190e1(0x14a),'validate':_0x3acf04=>_0x3acf04[_0x5190e1(0x133)]()?!![]:'SQL\x20名称不能为空'}))[_0x5190e1(0x133)]();}async function resolveDbSelection(_0x261c33){const _0x4f7c89=a131_0x478666,_0x125b2f=resolveProvidedDbId(_0x261c33);if(typeof _0x125b2f==='number'&&Number['isFinite'](_0x125b2f)&&_0x125b2f>0x0)return{'dbId':_0x125b2f,'dbName':await getDbName(_0x261c33[_0x4f7c89(0x164)],_0x125b2f)[_0x4f7c89(0x13e)](()=>undefined)};if(_0x261c33[_0x4f7c89(0x137)])throw CliErrors['flagMissing'](_0x4f7c89(0x14b),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x3651a4=await listDatabases(_0x261c33[_0x4f7c89(0x164)])[_0x4f7c89(0x13e)](()=>[]);if(_0x3651a4['length']===0x1)return{'dbId':_0x3651a4[0x0][_0x4f7c89(0x12f)],'dbName':_0x3651a4[0x0][_0x4f7c89(0x142)]};if(_0x3651a4[_0x4f7c89(0x159)]>0x1){const _0x5113b7=await select({'message':'请选择目标数据库:','choices':[..._0x3651a4['map'](_0x1e2473=>({'name':_0x1e2473[_0x4f7c89(0x142)]+'\x20('+_0x1e2473[_0x4f7c89(0x12f)]+')','value':serializeDbSelection(_0x1e2473)})),{'name':_0x4f7c89(0x12b),'value':_0x4f7c89(0x149)}]});if(_0x5113b7!==_0x4f7c89(0x149))return deserializeDbSelection(_0x5113b7);}const _0x5ef495=await input({'message':_0x4f7c89(0x12c),'validate':_0xc17434=>{const _0x48773e=_0x4f7c89,_0x3f08ab=_0xc17434['trim']();if(!_0x3f08ab)return _0x48773e(0x132);const _0x4462aa=Number(_0x3f08ab);if(!Number[_0x48773e(0x147)](_0x4462aa)||_0x4462aa<=0x0)return _0x48773e(0x123);return!![];}});return{'dbId':Number(_0x5ef495[_0x4f7c89(0x133)]())};}async function resolveSqlModeInput(_0x5187f2){const _0xc11c2e=a131_0x478666,_0xb438b0=_0x5187f2[_0xc11c2e(0x12e)](_0xc11c2e(0x146))['trim']();if(_0xb438b0===_0xc11c2e(0x14f)||_0xb438b0===_0xc11c2e(0x14e))return _0xb438b0;if(_0x5187f2[_0xc11c2e(0x137)])throw CliErrors[_0xc11c2e(0x15b)]('mode',_0xc11c2e(0x12a));return await select({'message':_0xc11c2e(0x136),'choices':[{'name':'普通\x20SQL(sql)','value':_0xc11c2e(0x14f),'description':_0xc11c2e(0x15f)},{'name':_0xc11c2e(0x127),'value':_0xc11c2e(0x14e),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x54a532){const _0x6336da=a131_0x478666;return JSON[_0x6336da(0x165)]({'dbId':_0x54a532[_0x6336da(0x12f)],'dbName':_0x54a532[_0x6336da(0x142)]});}function deserializeDbSelection(_0x4f979c){const _0x40902e=a131_0x478666;try{const _0x544488=JSON['parse'](_0x4f979c);if(typeof _0x544488['dbId']===_0x40902e(0x160)&&Number[_0x40902e(0x155)](_0x544488['dbId']))return{'dbId':_0x544488['dbId'],'dbName':_0x544488[_0x40902e(0x142)]};}catch{}throw CliErrors[_0x40902e(0x129)](_0x40902e(0x134)+_0x4f979c);}function resolveProvidedDbId(_0x30018b){const _0x440d9a=a131_0x478666,_0x35b11c=_0x30018b[_0x440d9a(0x125)](_0x440d9a(0x14b));if(typeof _0x35b11c===_0x440d9a(0x160)&&Number[_0x440d9a(0x155)](_0x35b11c))return _0x35b11c;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a132_0x3276ea=a132_0x45b3;(function(_0x3f9410,_0x1f05ba){const _0x58d7b4=a132_0x45b3,_0x3e62fc=_0x3f9410();while(!![]){try{const _0x3e322b=-parseInt(_0x58d7b4(0x1d2))/0x1*(-parseInt(_0x58d7b4(0x1c4))/0x2)+parseInt(_0x58d7b4(0x1d8))/0x3*(parseInt(_0x58d7b4(0x1c7))/0x4)+parseInt(_0x58d7b4(0x1d7))/0x5+-parseInt(_0x58d7b4(0x1dc))/0x6*(-parseInt(_0x58d7b4(0x1d1))/0x7)+-parseInt(_0x58d7b4(0x1c5))/0x8+-parseInt(_0x58d7b4(0x1bc))/0x9+parseInt(_0x58d7b4(0x1dd))/0xa*(-parseInt(_0x58d7b4(0x1c8))/0xb);if(_0x3e322b===_0x1f05ba)break;else _0x3e62fc['push'](_0x3e62fc['shift']());}catch(_0x4a2fd9){_0x3e62fc['push'](_0x3e62fc['shift']());}}}(a132_0x3036,0x30edc));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';function a132_0x3036(){const _0x4205fe=['7743flDAsX','lockFilePath','trashDir','appCode','6cqluFj','451850lgshXS','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','filter','startsWith','159516TRBnak','validation','sqlRootDir','sqlRoot','toISOString','Would\x20delete\x20SQL\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','replace','636PUDcOt','2390704QoArXJ','length','236cvcGsE','11gneARn','remoteId','sqlcode','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','SQL\x20lock\x20file\x20not\x20found.','entries','sqls','str','1792819QixcIp','227jXnvel','delete','Deleted\x20','POST','/smartapi/custom/deleteUserCustomSql','407885nCLSVZ'];a132_0x3036=function(){return _0x4205fe;};return a132_0x3036();}import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a132_0x45b3(_0x274ac1,_0x527b35){_0x274ac1=_0x274ac1-0x1bc;const _0x303644=a132_0x3036();let _0x45b370=_0x303644[_0x274ac1];return _0x45b370;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a132_0x3276ea(0x1d3),'description':a132_0x3276ea(0x1cb),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x742666){const _0x2a2705=a132_0x3276ea,_0x187b64=loadSqlProjectConfig(_0x742666[_0x2a2705(0x1db)]),_0x5850cc=await readSqlLockFile(_0x187b64['lockFilePath']);if(!_0x5850cc)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x50773a){const _0x4aba11=a132_0x3276ea,_0x3a8f66=loadSqlProjectConfig(_0x50773a[_0x4aba11(0x1db)]),_0x3c6a61=await readSqlLockFile(_0x3a8f66['lockFilePath']);if(!_0x3c6a61)throw CliErrors[_0x4aba11(0x1bd)](_0x4aba11(0x1de));const {appLock:_0x11d4be}=ensureSqlLockScope(_0x3c6a61,_0x50773a[_0x4aba11(0x1db)],_0x3a8f66['sqlRoot'],'delete'),_0x402074=_0x50773a['str'](_0x4aba11(0x1ca)),_0x25fad7=_0x11d4be['sqls'][_0x402074];if(!_0x25fad7)throw CliErrors[_0x4aba11(0x1bd)](_0x4aba11(0x1c2)+_0x402074+'\x22.');return{'method':_0x4aba11(0x1d5),'url':_0x4aba11(0x1d6),'body':{'sqlCode':_0x402074,'id':_0x25fad7[_0x4aba11(0x1c9)],'localPath':resolveLocalSqlFilePath(_0x3a8f66,_0x402074,_0x25fad7)},'description':_0x4aba11(0x1c1)+_0x402074+_0x4aba11(0x1cc)+_0x3a8f66['trashDir']};},async 'execute'(_0x287321){const _0xab4cf3=a132_0x3276ea,_0x53e189=loadSqlProjectConfig(_0x287321['appCode']),_0x5e8405=await readSqlLockFile(_0x53e189[_0xab4cf3(0x1d9)]);if(!_0x5e8405)throw CliErrors[_0xab4cf3(0x1bd)](_0xab4cf3(0x1cd));const {lockData:_0x2b9f1a,appLock:_0x102cc7}=ensureSqlLockScope(_0x5e8405,_0x287321[_0xab4cf3(0x1db)],_0x53e189[_0xab4cf3(0x1bf)],_0xab4cf3(0x1d3)),_0x500ad0=_0x287321[_0xab4cf3(0x1d0)](_0xab4cf3(0x1ca)),_0x21fbfd=_0x102cc7[_0xab4cf3(0x1cf)][_0x500ad0];if(!_0x21fbfd)throw CliErrors[_0xab4cf3(0x1bd)](_0xab4cf3(0x1c2)+_0x500ad0+'\x22.');await deleteSqlQuery({'id':_0x21fbfd[_0xab4cf3(0x1c9)],'sqlCode':_0x500ad0}),_0x102cc7['sqls']=Object['fromEntries'](Object[_0xab4cf3(0x1ce)](_0x102cc7[_0xab4cf3(0x1cf)])[_0xab4cf3(0x1df)](([_0x410b79])=>_0x410b79!==_0x500ad0)),_0x102cc7['lastSync']=new Date()[_0xab4cf3(0x1c0)](),await writeSqlLockFile(_0x53e189[_0xab4cf3(0x1d9)],_0x2b9f1a);const _0x21062f=resolveLocalSqlFilePath(_0x53e189,_0x500ad0,_0x21fbfd);let _0x1747e7;await fileExists(_0x21062f)&&(_0x1747e7=await moveToTrash(_0x53e189['projectRoot'],_0x53e189[_0xab4cf3(0x1da)],_0x21062f),await cleanupEmptyDirectories(dirname(_0x21062f),_0x53e189[_0xab4cf3(0x1be)]));const _0x18ba2d={'deleted':_0x500ad0,'remoteId':_0x21fbfd[_0xab4cf3(0x1c9)]};if(_0x1747e7)_0x18ba2d['trashedTo']=_0x1747e7;return{'ok':!![],'data':_0x18ba2d,'message':_0xab4cf3(0x1d4)+_0x500ad0+(_0x1747e7?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x5108ad,_0x20e1c6,_0x1bc3a3){const _0x575dfa=a132_0x3276ea,_0x4e0855=new Date()[_0x575dfa(0x1c0)]()[_0x575dfa(0x1c3)](/[:.]/g,'-'),_0xd10286=relative(_0x5108ad,_0x1bc3a3),_0x5dde50=join(_0x20e1c6,_0x4e0855,_0xd10286);return await mkdir(dirname(_0x5dde50),{'recursive':!![]}),await rename(_0x1bc3a3,_0x5dde50),_0x5dde50;}async function cleanupEmptyDirectories(_0x12f3a2,_0x55e38b){const _0x171c7e=a132_0x3276ea;let _0x529894=resolve(_0x12f3a2);const _0x41ab37=resolve(_0x55e38b);while(_0x529894[_0x171c7e(0x1e0)](''+_0x41ab37+sep)||_0x529894===_0x41ab37){if(_0x529894===_0x41ab37)return;try{const _0x28cda1=await readdir(_0x529894);if(_0x28cda1[_0x171c7e(0x1c6)]>0x0)return;await rmdir(_0x529894);}catch{return;}_0x529894=dirname(_0x529894);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a133_0x5b94(){const _0x30019a=['525pglbTT','99diZNXS','dbId','1460598pUsdDt','19301590KzHXYO','2904548iZUtFf','bool','description','verbose','1865065JmJqEJ','1114FPEgAK','boolean','sqlContent','sqlCode','794696aIhjtX','Return\x20full\x20raw\x20SQL\x20query\x20object','sql','sqlName','str','read','105054sCMzto','appCode','4527iBrDqK','detail','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode'];a133_0x5b94=function(){return _0x30019a;};return a133_0x5b94();}const a133_0x5ce4be=a133_0xc63f;(function(_0x1c5880,_0x1a0e44){const _0x1e5d64=a133_0xc63f,_0x6a9a96=_0x1c5880();while(!![]){try{const _0x130992=parseInt(_0x1e5d64(0x166))/0x1+parseInt(_0x1e5d64(0x16d))/0x2*(parseInt(_0x1e5d64(0x179))/0x3)+parseInt(_0x1e5d64(0x168))/0x4+-parseInt(_0x1e5d64(0x16c))/0x5+parseInt(_0x1e5d64(0x177))/0x6*(parseInt(_0x1e5d64(0x17c))/0x7)+-parseInt(_0x1e5d64(0x171))/0x8*(parseInt(_0x1e5d64(0x17d))/0x9)+-parseInt(_0x1e5d64(0x167))/0xa;if(_0x130992===_0x1a0e44)break;else _0x6a9a96['push'](_0x6a9a96['shift']());}catch(_0x1506a4){_0x6a9a96['push'](_0x6a9a96['shift']());}}}(a133_0x5b94,0xe69a0));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a133_0xc63f(_0x48bb6e,_0x5abb5b){_0x48bb6e=_0x48bb6e-0x166;const _0x5b945c=a133_0x5b94();let _0xc63f80=_0x5b945c[_0x48bb6e];return _0xc63f80;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a133_0x5ce4be(0x173),'command':a133_0x5ce4be(0x17a),'description':a133_0x5ce4be(0x17b),'risk':a133_0x5ce4be(0x176),'flags':[SQLCODE_FLAG,{'name':a133_0x5ce4be(0x16b),'type':a133_0x5ce4be(0x16e),'description':a133_0x5ce4be(0x172)}],async 'execute'(_0x2bbc5a){const _0x5c9ce7=a133_0x5ce4be,_0x1d1d09=await getSqlQueryInfo(_0x2bbc5a[_0x5c9ce7(0x178)],_0x2bbc5a[_0x5c9ce7(0x175)]('sqlcode')),_0x379c42=_0x2bbc5a[_0x5c9ce7(0x169)](_0x5c9ce7(0x16b));if(_0x379c42)return{'ok':!![],'data':_0x1d1d09};const _0x17daa3=_0x1d1d09[_0x5c9ce7(0x17e)]?await getDbName(_0x2bbc5a['appCode'],_0x1d1d09[_0x5c9ce7(0x17e)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x1d1d09[_0x5c9ce7(0x170)],'sqlName':_0x1d1d09[_0x5c9ce7(0x174)],'db':_0x17daa3?_0x17daa3+'\x20('+_0x1d1d09[_0x5c9ce7(0x17e)]+')':_0x1d1d09[_0x5c9ce7(0x17e)]??'','description':_0x1d1d09[_0x5c9ce7(0x16a)]??'','sqlContent':_0x1d1d09[_0x5c9ce7(0x16f)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a134_0x5d5585=a134_0x4f8a;function a134_0x2692(){const _0x1e1512=['12cWdrVt','sql','11yJDIpn','execSuccess','params','170975PHHwoj','595NhOHAB','517374cSLBCm','Returned\x20','8982270uuNlul','175881QwPyfU','948hCRtIL','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','3190iTRbLw','length','isArray','7241950HzRFMw','appCode','280HJbmJA','5012094ntyWhc','5uGDahq','\x20row(s)\x20in\x20','now','string','SQL\x20execution\x20failed','str'];a134_0x2692=function(){return _0x1e1512;};return a134_0x2692();}(function(_0x1d3fa1,_0x4a3536){const _0x2c5881=a134_0x4f8a,_0x1b1e6f=_0x1d3fa1();while(!![]){try{const _0x2be7c5=parseInt(_0x2c5881(0x15d))/0x1*(parseInt(_0x2c5881(0x14a))/0x2)+parseInt(_0x2c5881(0x161))/0x3*(-parseInt(_0x2c5881(0x157))/0x4)+parseInt(_0x2c5881(0x151))/0x5*(-parseInt(_0x2c5881(0x150))/0x6)+parseInt(_0x2c5881(0x15c))/0x7*(-parseInt(_0x2c5881(0x14f))/0x8)+-parseInt(_0x2c5881(0x160))/0x9+-parseInt(_0x2c5881(0x14d))/0xa*(parseInt(_0x2c5881(0x159))/0xb)+parseInt(_0x2c5881(0x162))/0xc*(parseInt(_0x2c5881(0x15e))/0xd);if(_0x2be7c5===_0x4a3536)break;else _0x1b1e6f['push'](_0x1b1e6f['shift']());}catch(_0x4473df){_0x1b1e6f['push'](_0x1b1e6f['shift']());}}}(a134_0x2692,0x7b3a1));import{executeSql}from'../../core/api-client.js';function a134_0x4f8a(_0x1d2b32,_0x2c65f8){_0x1d2b32=_0x1d2b32-0x149;const _0x2692a3=a134_0x2692();let _0x4f8a8f=_0x2692a3[_0x1d2b32];return _0x4f8a8f;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a134_0x5d5585(0x158),'command':'exec','description':'Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a134_0x5d5585(0x15b),'type':a134_0x5d5585(0x154),'description':a134_0x5d5585(0x149)}],async 'execute'(_0x3c602d){const _0x170b5b=a134_0x5d5585,_0x2999b3=parseJsonParams(_0x3c602d[_0x170b5b(0x156)](_0x170b5b(0x15b))),_0x35f678=Date[_0x170b5b(0x153)](),_0x2a71c2=await executeSql(_0x3c602d[_0x170b5b(0x14e)],_0x3c602d[_0x170b5b(0x156)]('sqlcode'),_0x2999b3),_0x311919=Date[_0x170b5b(0x153)]()-_0x35f678,_0x564bd8=_0x2a71c2?.['execResult']??_0x2a71c2,_0x4d5d3c=_0x2a71c2?.[_0x170b5b(0x15a)]??!![];if(!_0x4d5d3c)return{'ok':![],'data':{'error':_0x2a71c2?.['execError']||_0x170b5b(0x155),'elapsed':_0x311919},'message':_0x170b5b(0x155)};const _0x14da27=Array[_0x170b5b(0x14c)](_0x564bd8)?_0x564bd8:[];return{'ok':!![],'data':{'rows':_0x14da27,'rowCount':_0x14da27[_0x170b5b(0x14b)],'elapsed':_0x311919},'message':_0x170b5b(0x15f)+_0x14da27[_0x170b5b(0x14b)]+_0x170b5b(0x152)+_0x311919+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x42c2c7,_0x3cb72f){const _0x3ecc2d=a135_0x57e4,_0x582fc6=_0x42c2c7();while(!![]){try{const _0x2d1df6=-parseInt(_0x3ecc2d(0x1dd))/0x1+parseInt(_0x3ecc2d(0x1db))/0x2+-parseInt(_0x3ecc2d(0x1d9))/0x3+parseInt(_0x3ecc2d(0x1df))/0x4*(-parseInt(_0x3ecc2d(0x1dc))/0x5)+parseInt(_0x3ecc2d(0x1e0))/0x6*(-parseInt(_0x3ecc2d(0x1e1))/0x7)+-parseInt(_0x3ecc2d(0x1d8))/0x8*(parseInt(_0x3ecc2d(0x1da))/0x9)+parseInt(_0x3ecc2d(0x1de))/0xa;if(_0x2d1df6===_0x3cb72f)break;else _0x582fc6['push'](_0x582fc6['shift']());}catch(_0x17d87f){_0x582fc6['push'](_0x582fc6['shift']());}}}(a135_0x2fb3,0x33b44));import{sqlList}from'../../commands/sql/list.js';function a135_0x2fb3(){const _0x5d1f92=['1725995PahZWw','423532FEVPkJ','15546130rwfRUT','4Vbilny','469974hhZDQY','28aHUTYy','8apJzKP','781218YFydZy','631953MLFWmc','139674jeekmc'];a135_0x2fb3=function(){return _0x5d1f92;};return a135_0x2fb3();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a135_0x57e4(_0x46c035,_0x4b0253){_0x46c035=_0x46c035-0x1d8;const _0x2fb3af=a135_0x2fb3();let _0x57e4ef=_0x2fb3af[_0x46c035];return _0x57e4ef;}import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a136_0x592a69=a136_0x608c;(function(_0x457630,_0x4d1976){const _0xbb679e=a136_0x608c,_0x7df23d=_0x457630();while(!![]){try{const _0x156d21=parseInt(_0xbb679e(0xed))/0x1*(parseInt(_0xbb679e(0xdd))/0x2)+parseInt(_0xbb679e(0xd8))/0x3+parseInt(_0xbb679e(0xde))/0x4*(parseInt(_0xbb679e(0xe1))/0x5)+-parseInt(_0xbb679e(0xf5))/0x6+parseInt(_0xbb679e(0xe6))/0x7*(parseInt(_0xbb679e(0xef))/0x8)+-parseInt(_0xbb679e(0xd6))/0x9*(-parseInt(_0xbb679e(0xda))/0xa)+-parseInt(_0xbb679e(0xe5))/0xb*(parseInt(_0xbb679e(0xf6))/0xc);if(_0x156d21===_0x4d1976)break;else _0x7df23d['push'](_0x7df23d['shift']());}catch(_0x3d945c){_0x7df23d['push'](_0x7df23d['shift']());}}}(a136_0x1a7f,0x1a489));function a136_0x608c(_0xe5ca5,_0x52e1ad){_0xe5ca5=_0xe5ca5-0xd6;const _0x1a7f45=a136_0x1a7f();let _0x608cea=_0x1a7f45[_0xe5ca5];return _0x608cea;}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a136_0x592a69(0xf2),'command':a136_0x592a69(0xe8),'description':a136_0x592a69(0xec),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':'page','type':a136_0x592a69(0xf9),'description':a136_0x592a69(0xdc),'default':0x1},{'name':a136_0x592a69(0xdb),'type':a136_0x592a69(0xf9),'description':a136_0x592a69(0xd9)},{'name':a136_0x592a69(0xe9),'type':a136_0x592a69(0xeb),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x1a08b0){const _0x44d7f3=a136_0x592a69,_0x421935=await listSqlQueries(_0x1a08b0['appCode'],{'sqlCode':_0x1a08b0['str']('sqlcode')||undefined,'sqlName':_0x1a08b0['str'](_0x44d7f3(0xee))||undefined,'currentPage':_0x1a08b0['num']('page'),'pageSize':_0x1a08b0[_0x44d7f3(0xe7)](_0x44d7f3(0xdb),0x32)}),_0x3e0b2d=_0x1a08b0[_0x44d7f3(0xe0)](_0x44d7f3(0xe9)),_0x192bb2=_0x421935[_0x44d7f3(0xf8)]??[],_0x17601e=_0x421935[_0x44d7f3(0xf7)]?.[_0x44d7f3(0xf3)]??_0x192bb2['length'];let _0x1e1363;return _0x3e0b2d?_0x1e1363=_0x192bb2:_0x1e1363=await Promise['all'](_0x192bb2[_0x44d7f3(0xd7)](async _0x510685=>{const _0x560bb1=_0x44d7f3;let _0x1f94b1;try{_0x1f94b1=_0x510685[_0x560bb1(0xf4)]?await getDbName(_0x1a08b0[_0x560bb1(0xe4)],_0x510685[_0x560bb1(0xf4)]):undefined;}catch{}return{'sqlCode':_0x510685[_0x560bb1(0xe2)],'sqlName':_0x510685[_0x560bb1(0xdf)],'description':_0x510685[_0x560bb1(0xe3)]??'','db':_0x1f94b1?_0x1f94b1+'\x20('+_0x510685[_0x560bb1(0xf4)]+')':_0x510685[_0x560bb1(0xf4)]??''};})),{'ok':!![],'data':_0x1e1363,'message':_0x192bb2[_0x44d7f3(0xf1)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x44d7f3(0xea)+_0x192bb2[_0x44d7f3(0xf1)]+_0x44d7f3(0xf0)+_0x17601e+').'};}};function a136_0x1a7f(){const _0x43f6cd=['680QFCrVh','sqlName','bool','460PrZDyP','sqlCode','description','appCode','4840BNSLuU','91FtJzcU','num','list','verbose','Found\x20','boolean','List\x20custom\x20SQL\x20queries','65131eCWdqi','name','124104NIIKQG','\x20SQL\x20queries\x20(total:\x20','length','sql','totalCount','dbId','797250Qaofey','9216hwtamO','paging','tableData','number','18ahWOyQ','map','479052KQsTLl','Page\x20size','681640wCKsdB','pagesize','Page\x20number','2vFfXVR'];a136_0x1a7f=function(){return _0x43f6cd;};return a136_0x1a7f();}
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a137_0x2be09e=a137_0x345b;(function(_0x2cb352,_0x513887){const _0x17e040=a137_0x345b,_0x140708=_0x2cb352();while(!![]){try{const _0x23c5d1=-parseInt(_0x17e040(0x169))/0x1+-parseInt(_0x17e040(0x18f))/0x2*(parseInt(_0x17e040(0x162))/0x3)+parseInt(_0x17e040(0x16a))/0x4+-parseInt(_0x17e040(0x16c))/0x5*(parseInt(_0x17e040(0x17f))/0x6)+parseInt(_0x17e040(0x16b))/0x7*(parseInt(_0x17e040(0x190))/0x8)+parseInt(_0x17e040(0x186))/0x9*(parseInt(_0x17e040(0x170))/0xa)+-parseInt(_0x17e040(0x178))/0xb*(parseInt(_0x17e040(0x173))/0xc);if(_0x23c5d1===_0x513887)break;else _0x140708['push'](_0x140708['shift']());}catch(_0x2af112){_0x140708['push'](_0x140708['shift']());}}}(a137_0x3e05,0xd0779));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';function a137_0x345b(_0x23f26b,_0x58c6e0){_0x23f26b=_0x23f26b-0x153;const _0x3e050a=a137_0x3e05();let _0x345bda=_0x3e050a[_0x23f26b];return _0x345bda;}function a137_0x3e05(){const _0x36a354=['POST','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','lockFilePath','conflict','replace','111sLpuME','cancelled','toISOString','mybatisXml','pull','sqlRootDir','sql','346470XFctke','6135936GCrsSq','49kewtCd','665XSxKZY','sqlRoot','description','sqlcode','930pIcVTR','name','\x20SQL\x20file(s)\x20into\x20','72360ewelOA','sqlCode','\x20failed','Pull\x20complete:\x20','appCode','2981UoecFX','str','unchanged','No\x20remote\x20SQL\x20queries\x20matched.','lastSync','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','7458kigwuI','test','push','bool','nonInteractive','Filter\x20by\x20SQL\x20display\x20name','utf8','147240okpXTQ','tableData','length','catch','write','Would\x20pull\x20','totalCount','sqls','message','24458TUnIBy','453496uwpqSg','local\x20differs\x20from\x20remote','\x20written,\x20','sqlName','boolean','skipped','join','sqlContent','force','path','dbId','would_pull'];a137_0x3e05=function(){return _0x36a354;};return a137_0x3e05();}const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0xc1973f,_0xa622de){const _0x3c7619=a137_0x345b,_0x3846de=[];let _0x306ff8=0x1;while(!![]){const _0x351238=await listSqlQueries(_0xc1973f,{'currentPage':_0x306ff8,'pageSize':PAGE_SIZE,'sqlCode':_0xa622de['sqlCode'],'sqlName':_0xa622de[_0x3c7619(0x154)]}),_0x317ccd=_0x351238[_0x3c7619(0x187)]??[];_0x3846de[_0x3c7619(0x181)](..._0x317ccd);if(_0x317ccd[_0x3c7619(0x188)]===0x0)break;const _0x2e15b1=_0x351238['paging']?.[_0x3c7619(0x18c)];if(_0x2e15b1!=null?_0x3846de[_0x3c7619(0x188)]>=_0x2e15b1:_0x317ccd[_0x3c7619(0x188)]<PAGE_SIZE)break;_0x306ff8++;}return _0x3846de;}async function ensureSqlContent(_0x38381b){const _0x27a297=a137_0x345b;if(_0x38381b[_0x27a297(0x158)]!=null&&String(_0x38381b[_0x27a297(0x158)])[_0x27a297(0x188)]>0x0)return _0x38381b;return getSqlQueryDetail(_0x38381b[_0x27a297(0x174)]);}export const sqlPull={'service':'sql','command':a137_0x2be09e(0x166),'description':a137_0x2be09e(0x17d),'risk':a137_0x2be09e(0x18a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x2be09e(0x171),'type':'string','description':a137_0x2be09e(0x184)},{'name':a137_0x2be09e(0x159),'type':a137_0x2be09e(0x155),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x81d779){const _0x1658bb=a137_0x2be09e,_0x331653=loadSqlProjectConfig(_0x81d779['appCode']),_0x41173f=await readSqlLockFile(_0x331653[_0x1658bb(0x15f)]),{appLock:_0x49cd6b}=ensureSqlLockScope(_0x41173f??createEmptySqlLock(),_0x331653['appCode'],_0x331653[_0x1658bb(0x16d)],_0x1658bb(0x166)),_0x392814=await fetchAllSqlQueries(_0x81d779[_0x1658bb(0x177)],{'sqlCode':_0x81d779['str']('sqlcode')||undefined,'sqlName':_0x81d779[_0x1658bb(0x179)](_0x1658bb(0x171))||undefined}),_0x3f7e8d=[];for(const _0x5998fe of _0x392814){const _0x456e70=await ensureSqlContent(_0x5998fe),_0x5a67b6=ensureRemoteSqlContent(_0x456e70),_0x4f4674=detectModeFromSql(_0x456e70),_0x56265f=_0x456e70[_0x1658bb(0x15b)]?await getDbName(_0x81d779[_0x1658bb(0x177)],Number(_0x456e70[_0x1658bb(0x15b)]))[_0x1658bb(0x189)](()=>undefined):undefined,_0x3baff9=buildLocalSqlFileContent({'sqlCode':_0x456e70['sqlCode'],'sqlName':_0x456e70['sqlName'],'dbId':_0x456e70[_0x1658bb(0x15b)]},_0x5a67b6,{'dbName':_0x56265f,'mode':_0x4f4674,'syncedAt':new Date()[_0x1658bb(0x164)](),'description':_0x456e70['description']}),_0x2d7b45=buildSqlLockEntry(_0x456e70,_0x5a67b6,'',{'dbName':_0x56265f}),_0x1a4032=resolveLocalSqlFilePath(_0x331653,_0x456e70[_0x1658bb(0x174)],_0x2d7b45);let _0x189ccf=_0x1658bb(0x15c),_0x12bfa1;if(await fileExists(_0x1a4032)){const _0x5d2f5d=await readFile(_0x1a4032,_0x1658bb(0x185));isEquivalentPulledSqlFile(_0x5d2f5d,_0x3baff9,_0x4f4674)?(_0x189ccf=_0x1658bb(0x156),_0x12bfa1=_0x1658bb(0x17a)):(_0x189ccf=_0x1658bb(0x160),_0x12bfa1=_0x1658bb(0x17e));}_0x3f7e8d[_0x1658bb(0x181)]({'sqlCode':_0x456e70[_0x1658bb(0x174)],'sqlName':_0x456e70['sqlName'],'filePath':_0x1a4032,'status':_0x189ccf,'reason':_0x12bfa1});}return{'method':_0x1658bb(0x15d),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x81d779['appCode'],'sqlCode':_0x81d779[_0x1658bb(0x179)](_0x1658bb(0x16f))||null,'sqlName':_0x81d779['str'](_0x1658bb(0x171))||null,'files':_0x3f7e8d},'description':_0x1658bb(0x18b)+_0x3f7e8d[_0x1658bb(0x188)]+_0x1658bb(0x172)+_0x331653[_0x1658bb(0x167)]};},async 'execute'(_0x561eaf){const _0x8bcba1=a137_0x2be09e,_0xe36566=loadSqlProjectConfig(_0x561eaf[_0x8bcba1(0x177)]),_0x29d396=await readSqlLockFile(_0xe36566[_0x8bcba1(0x15f)]),{lockData:_0x28acff,appLock:_0x2801bc}=ensureSqlLockScope(_0x29d396??createEmptySqlLock(),_0xe36566[_0x8bcba1(0x177)],_0xe36566[_0x8bcba1(0x16d)],_0x8bcba1(0x166)),_0x24a15f=_0x561eaf[_0x8bcba1(0x182)](_0x8bcba1(0x159)),_0x222815=await fetchAllSqlQueries(_0x561eaf[_0x8bcba1(0x177)],{'sqlCode':_0x561eaf[_0x8bcba1(0x179)](_0x8bcba1(0x16f))||undefined,'sqlName':_0x561eaf[_0x8bcba1(0x179)](_0x8bcba1(0x171))||undefined});if(_0x222815[_0x8bcba1(0x188)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x8bcba1(0x17b)};const _0x2820b1=[],_0x17d007=[];for(const _0x483e61 of _0x222815){try{_0x2820b1[_0x8bcba1(0x181)](await ensureSqlContent(_0x483e61));}catch(_0xe9c406){_0x17d007[_0x8bcba1(0x181)]({'sqlCode':_0x483e61[_0x8bcba1(0x174)],'error':_0xe9c406 instanceof Error?_0xe9c406[_0x8bcba1(0x18e)]:String(_0xe9c406)});}}if(_0x24a15f&&!_0x561eaf[_0x8bcba1(0x183)]){let _0x5423bb=![];for(const _0x1e1554 of _0x2820b1){const _0x1b3095=detectModeFromSql(_0x1e1554),_0x18bf96=_0x1e1554[_0x8bcba1(0x15b)]?await getDbName(_0x561eaf['appCode'],Number(_0x1e1554[_0x8bcba1(0x15b)]))['catch'](()=>undefined):undefined,_0x11db52=buildLocalSqlFileContent({'sqlCode':_0x1e1554[_0x8bcba1(0x174)],'sqlName':_0x1e1554[_0x8bcba1(0x154)],'dbId':_0x1e1554['dbId']},ensureRemoteSqlContent(_0x1e1554),{'dbName':_0x18bf96,'mode':_0x1b3095,'syncedAt':new Date()['toISOString'](),'description':_0x1e1554['description']}),_0x542dfd=resolveLocalSqlFilePath(_0xe36566,_0x1e1554[_0x8bcba1(0x174)],buildSqlLockEntry(_0x1e1554,ensureRemoteSqlContent(_0x1e1554),'',{'dbName':_0x18bf96}));if(await fileExists(_0x542dfd)){const _0x2f3575=await readFile(_0x542dfd,'utf8');if(!isEquivalentPulledSqlFile(_0x2f3575,_0x11db52,_0x1b3095)){_0x5423bb=!![];break;}}}if(_0x5423bb){const _0x3a5d3f=await confirmForceOverwrite(_0x8bcba1(0x15e));if(!_0x3a5d3f)throw CliErrors[_0x8bcba1(0x163)]('Force\x20pull\x20cancelled.');}}const _0x114f52=cloneSqlLockData(_0x28acff),_0x42f700=_0x114f52['apps'][_0xe36566[_0x8bcba1(0x177)]],_0xf4d08=[],_0x49add7=[];for(const _0x1bd92f of _0x2820b1){const _0x116783=_0x42f700[_0x8bcba1(0x18d)][_0x1bd92f[_0x8bcba1(0x174)]],_0x3d800f=ensureRemoteSqlContent(_0x1bd92f),_0x5e5f1e=detectModeFromSql(_0x1bd92f),_0x285961=_0x1bd92f[_0x8bcba1(0x15b)]?await getDbName(_0x561eaf[_0x8bcba1(0x177)],Number(_0x1bd92f[_0x8bcba1(0x15b)]))[_0x8bcba1(0x189)](()=>undefined):undefined,_0x3b1aec=buildLocalSqlFileContent({'sqlCode':_0x1bd92f[_0x8bcba1(0x174)],'sqlName':_0x1bd92f[_0x8bcba1(0x154)],'dbId':_0x1bd92f[_0x8bcba1(0x15b)]},_0x3d800f,{'dbName':_0x285961,'mode':_0x5e5f1e,'syncedAt':new Date()[_0x8bcba1(0x164)](),'description':_0x1bd92f[_0x8bcba1(0x16e)]}),_0x1b79a0=buildSqlLockEntry(_0x1bd92f,_0x3d800f,computeSqlContentHash(_0x3b1aec),{'dbName':_0x285961}),_0x2f274d=_0x1b79a0[_0x8bcba1(0x15a)],_0x2f6ab5=join(_0xe36566['sqlRootDir'],_0x2f274d);try{if(await fileExists(_0x2f6ab5)){const _0x9487ee=await readFile(_0x2f6ab5,_0x8bcba1(0x185));if(isEquivalentPulledSqlFile(_0x9487ee,_0x3b1aec,_0x5e5f1e)){_0x49add7[_0x8bcba1(0x181)]({'sqlCode':_0x1bd92f['sqlCode'],'reason':_0x8bcba1(0x17a)}),_0x42f700['sqls'][_0x1bd92f['sqlCode']]={..._0x1b79a0,'hash':computeSqlContentHash(_0x9487ee),'path':_0x2f274d};continue;}if(!_0x24a15f){_0x49add7[_0x8bcba1(0x181)]({'sqlCode':_0x1bd92f[_0x8bcba1(0x174)],'reason':_0x8bcba1(0x191)});continue;}}const _0x1af162=_0x116783?.[_0x8bcba1(0x15a)]?join(_0xe36566['sqlRootDir'],_0x116783['path']):undefined;_0x1af162&&_0x1af162!==_0x2f6ab5&&await fileExists(_0x1af162)&&await rm(_0x1af162,{'force':!![]}),await ensureParentDirectory(_0x2f6ab5),await writeFile(_0x2f6ab5,_0x3b1aec,_0x8bcba1(0x185)),_0x42f700['sqls'][_0x1bd92f[_0x8bcba1(0x174)]]={..._0x1b79a0,'path':_0x2f274d},_0xf4d08['push']({'sqlCode':_0x1bd92f['sqlCode'],'filePath':_0x2f6ab5});}catch(_0x2ff5e9){_0x17d007['push']({'sqlCode':_0x1bd92f[_0x8bcba1(0x174)],'error':_0x2ff5e9 instanceof Error?_0x2ff5e9['message']:String(_0x2ff5e9)});}}return _0x42f700[_0x8bcba1(0x17c)]=new Date()['toISOString'](),await writeSqlLockFile(_0xe36566['lockFilePath'],_0x114f52),{'ok':_0x17d007[_0x8bcba1(0x188)]===0x0,'data':{'pulled':_0xf4d08,'skipped':_0x49add7,'failed':_0x17d007},'message':_0x8bcba1(0x176)+_0xf4d08[_0x8bcba1(0x188)]+_0x8bcba1(0x153)+_0x49add7['length']+'\x20skipped,\x20'+_0x17d007[_0x8bcba1(0x188)]+_0x8bcba1(0x175)};}};function detectModeFromSql(_0x1c3391){const _0x22c649=a137_0x2be09e,_0x1cfb01=ensureRemoteSqlContent(_0x1c3391),_0x3ba20d=stripLocalSqlMetadata(_0x1cfb01,_0x22c649(0x165))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x22c649(0x180)](_0x3ba20d))return _0x22c649(0x165);return _0x22c649(0x168);}function isEquivalentPulledSqlFile(_0x53a306,_0x39b7bb,_0x4cf746){return normalizePullComparableContent(_0x53a306,_0x4cf746)===normalizePullComparableContent(_0x39b7bb,_0x4cf746);}function normalizePullComparableContent(_0x41f4dd,_0xe1d8fa){const _0xdbe6f3=a137_0x2be09e,_0x70e121=_0x41f4dd[_0xdbe6f3(0x161)](/\r\n/g,'\x0a')['split']('\x0a'),_0x22c48e=_0x70e121['filter'](_0x4788ba=>!isSyncedAtMetadataLine(_0x4788ba,_0xe1d8fa));return _0x22c48e[_0xdbe6f3(0x157)]('\x0a');}function isSyncedAtMetadataLine(_0x126061,_0x33f50f){const _0x27f09a=a137_0x2be09e;if(_0x33f50f===_0x27f09a(0x165))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x27f09a(0x180)](_0x126061);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x126061);}
|
|
1
|
+
const a137_0x52ed0d=a137_0x2ddd;(function(_0x599918,_0x1066b9){const _0x51107e=a137_0x2ddd,_0x55689a=_0x599918();while(!![]){try{const _0x6e2d97=-parseInt(_0x51107e(0xcc))/0x1+-parseInt(_0x51107e(0xff))/0x2+-parseInt(_0x51107e(0xe7))/0x3*(-parseInt(_0x51107e(0xfc))/0x4)+parseInt(_0x51107e(0x103))/0x5+parseInt(_0x51107e(0xf5))/0x6+-parseInt(_0x51107e(0xe0))/0x7*(parseInt(_0x51107e(0xdf))/0x8)+parseInt(_0x51107e(0xf9))/0x9*(parseInt(_0x51107e(0xf6))/0xa);if(_0x6e2d97===_0x1066b9)break;else _0x55689a['push'](_0x55689a['shift']());}catch(_0xccaa2){_0x55689a['push'](_0x55689a['shift']());}}}(a137_0x8a10,0x45253));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;function a137_0x8a10(){const _0x6dcdb9=['Force\x20overwrite\x20local\x20unsynced\x20changes','unchanged','pull','dbId','appCode','Force\x20pull\x20cancelled.','boolean','8dPXSqE','408093qkomqy','sqlRoot','apps','force','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','push','utf8','1692663DVJGcF','POST','sqlRootDir','length','totalCount','test','Pull\x20complete:\x20','replace','lockFilePath','\x20written,\x20','bool','filter','catch','sqlName','294894RIZWwA','71590OmXBqQ','message','sqlContent','36afXZsA','Would\x20pull\x20','split','4SLamaq','string','local\x20differs\x20from\x20remote','402022GSewCw','toISOString','sqlCode','description','1352000wpdfSt','lastSync','Filter\x20by\x20SQL\x20display\x20name','str','sql','skipped','sqls','conflict','369877lnPntI','sqlcode','join','No\x20remote\x20SQL\x20queries\x20matched.','cancelled','nonInteractive','\x20failed','path','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','write','name','mybatisXml'];a137_0x8a10=function(){return _0x6dcdb9;};return a137_0x8a10();}async function fetchAllSqlQueries(_0xd287,_0x3e0a82){const _0x36d7c8=a137_0x2ddd,_0x288aef=[];let _0x5e690d=0x1;while(!![]){const _0x121c01=await listSqlQueries(_0xd287,{'currentPage':_0x5e690d,'pageSize':PAGE_SIZE,'sqlCode':_0x3e0a82['sqlCode'],'sqlName':_0x3e0a82['sqlName']}),_0x220fe5=_0x121c01['tableData']??[];_0x288aef[_0x36d7c8(0xe5)](..._0x220fe5);if(_0x220fe5['length']===0x0)break;const _0x3d2a41=_0x121c01['paging']?.[_0x36d7c8(0xeb)];if(_0x3d2a41!=null?_0x288aef[_0x36d7c8(0xea)]>=_0x3d2a41:_0x220fe5[_0x36d7c8(0xea)]<PAGE_SIZE)break;_0x5e690d++;}return _0x288aef;}async function ensureSqlContent(_0x2305b0){const _0x698b16=a137_0x2ddd;if(_0x2305b0[_0x698b16(0xf8)]!=null&&String(_0x2305b0[_0x698b16(0xf8)])['length']>0x0)return _0x2305b0;return getSqlQueryDetail(_0x2305b0[_0x698b16(0x101)]);}export const sqlPull={'service':a137_0x52ed0d(0xc8),'command':a137_0x52ed0d(0xda),'description':a137_0x52ed0d(0xe4),'risk':a137_0x52ed0d(0xd5),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a137_0x52ed0d(0xd6),'type':a137_0x52ed0d(0xfd),'description':a137_0x52ed0d(0x105)},{'name':'force','type':a137_0x52ed0d(0xde),'description':a137_0x52ed0d(0xd8)}],async 'dryRun'(_0x28d1df){const _0x5d4207=a137_0x52ed0d,_0x120554=loadSqlProjectConfig(_0x28d1df[_0x5d4207(0xdc)]),_0x39bd00=await readSqlLockFile(_0x120554[_0x5d4207(0xef)]),{appLock:_0x1fee3b}=ensureSqlLockScope(_0x39bd00??createEmptySqlLock(),_0x120554[_0x5d4207(0xdc)],_0x120554[_0x5d4207(0xe1)],_0x5d4207(0xda)),_0x3cc443=await fetchAllSqlQueries(_0x28d1df[_0x5d4207(0xdc)],{'sqlCode':_0x28d1df[_0x5d4207(0xc7)](_0x5d4207(0xcd))||undefined,'sqlName':_0x28d1df[_0x5d4207(0xc7)](_0x5d4207(0xd6))||undefined}),_0x393f90=[];for(const _0x4e3e91 of _0x3cc443){const _0x2a4871=await ensureSqlContent(_0x4e3e91),_0x4dad24=ensureRemoteSqlContent(_0x2a4871),_0x50ee0c=detectModeFromSql(_0x2a4871),_0x324993=_0x2a4871[_0x5d4207(0xdb)]?await getDbName(_0x28d1df['appCode'],Number(_0x2a4871[_0x5d4207(0xdb)]))[_0x5d4207(0xf3)](()=>undefined):undefined,_0x3a0be7=buildLocalSqlFileContent({'sqlCode':_0x2a4871[_0x5d4207(0x101)],'sqlName':_0x2a4871[_0x5d4207(0xf4)],'dbId':_0x2a4871['dbId']},_0x4dad24,{'dbName':_0x324993,'mode':_0x50ee0c,'syncedAt':new Date()['toISOString'](),'description':_0x2a4871['description']}),_0x1b9c80=buildSqlLockEntry(_0x2a4871,_0x4dad24,'',{'dbName':_0x324993}),_0x1dac34=resolveLocalSqlFilePath(_0x120554,_0x2a4871[_0x5d4207(0x101)],_0x1b9c80);let _0x273308='would_pull',_0x13e2f1;if(await fileExists(_0x1dac34)){const _0x59cf00=await readFile(_0x1dac34,'utf8');isEquivalentPulledSqlFile(_0x59cf00,_0x3a0be7,_0x50ee0c)?(_0x273308=_0x5d4207(0xc9),_0x13e2f1=_0x5d4207(0xd9)):(_0x273308=_0x5d4207(0xcb),_0x13e2f1='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x393f90['push']({'sqlCode':_0x2a4871[_0x5d4207(0x101)],'sqlName':_0x2a4871[_0x5d4207(0xf4)],'filePath':_0x1dac34,'status':_0x273308,'reason':_0x13e2f1});}return{'method':_0x5d4207(0xe8),'url':_0x5d4207(0xd4),'body':{'appCode':_0x28d1df[_0x5d4207(0xdc)],'sqlCode':_0x28d1df[_0x5d4207(0xc7)](_0x5d4207(0xcd))||null,'sqlName':_0x28d1df['str'](_0x5d4207(0xd6))||null,'files':_0x393f90},'description':_0x5d4207(0xfa)+_0x393f90[_0x5d4207(0xea)]+'\x20SQL\x20file(s)\x20into\x20'+_0x120554[_0x5d4207(0xe9)]};},async 'execute'(_0x1f8f0f){const _0x13108e=a137_0x52ed0d,_0x714696=loadSqlProjectConfig(_0x1f8f0f[_0x13108e(0xdc)]),_0x4d085f=await readSqlLockFile(_0x714696[_0x13108e(0xef)]),{lockData:_0x12c315,appLock:_0x58ebc3}=ensureSqlLockScope(_0x4d085f??createEmptySqlLock(),_0x714696[_0x13108e(0xdc)],_0x714696[_0x13108e(0xe1)],_0x13108e(0xda)),_0x19312e=_0x1f8f0f[_0x13108e(0xf1)](_0x13108e(0xe3)),_0x9eab67=await fetchAllSqlQueries(_0x1f8f0f[_0x13108e(0xdc)],{'sqlCode':_0x1f8f0f['str'](_0x13108e(0xcd))||undefined,'sqlName':_0x1f8f0f[_0x13108e(0xc7)](_0x13108e(0xd6))||undefined});if(_0x9eab67[_0x13108e(0xea)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x13108e(0xcf)};const _0x9c0848=[],_0x584699=[];for(const _0x5a1f94 of _0x9eab67){try{_0x9c0848[_0x13108e(0xe5)](await ensureSqlContent(_0x5a1f94));}catch(_0x4434e1){_0x584699[_0x13108e(0xe5)]({'sqlCode':_0x5a1f94['sqlCode'],'error':_0x4434e1 instanceof Error?_0x4434e1[_0x13108e(0xf7)]:String(_0x4434e1)});}}if(_0x19312e&&!_0x1f8f0f[_0x13108e(0xd1)]){let _0x46d7b3=![];for(const _0x250016 of _0x9c0848){const _0x5d6f79=detectModeFromSql(_0x250016),_0x389a02=_0x250016['dbId']?await getDbName(_0x1f8f0f[_0x13108e(0xdc)],Number(_0x250016[_0x13108e(0xdb)]))[_0x13108e(0xf3)](()=>undefined):undefined,_0x1a3a2b=buildLocalSqlFileContent({'sqlCode':_0x250016[_0x13108e(0x101)],'sqlName':_0x250016[_0x13108e(0xf4)],'dbId':_0x250016['dbId']},ensureRemoteSqlContent(_0x250016),{'dbName':_0x389a02,'mode':_0x5d6f79,'syncedAt':new Date()[_0x13108e(0x100)](),'description':_0x250016['description']}),_0x2794a3=resolveLocalSqlFilePath(_0x714696,_0x250016['sqlCode'],buildSqlLockEntry(_0x250016,ensureRemoteSqlContent(_0x250016),'',{'dbName':_0x389a02}));if(await fileExists(_0x2794a3)){const _0x1c2c8b=await readFile(_0x2794a3,_0x13108e(0xe6));if(!isEquivalentPulledSqlFile(_0x1c2c8b,_0x1a3a2b,_0x5d6f79)){_0x46d7b3=!![];break;}}}if(_0x46d7b3){const _0x2e47ce=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x2e47ce)throw CliErrors[_0x13108e(0xd0)](_0x13108e(0xdd));}}const _0x31bcc5=cloneSqlLockData(_0x12c315),_0x152b41=_0x31bcc5[_0x13108e(0xe2)][_0x714696[_0x13108e(0xdc)]],_0x522af9=[],_0x23de16=[];for(const _0x5db5f6 of _0x9c0848){const _0x4a130a=_0x152b41['sqls'][_0x5db5f6[_0x13108e(0x101)]],_0x220ffa=ensureRemoteSqlContent(_0x5db5f6),_0x170c8b=detectModeFromSql(_0x5db5f6),_0x26f685=_0x5db5f6[_0x13108e(0xdb)]?await getDbName(_0x1f8f0f['appCode'],Number(_0x5db5f6[_0x13108e(0xdb)]))[_0x13108e(0xf3)](()=>undefined):undefined,_0x518cd5=buildLocalSqlFileContent({'sqlCode':_0x5db5f6[_0x13108e(0x101)],'sqlName':_0x5db5f6[_0x13108e(0xf4)],'dbId':_0x5db5f6[_0x13108e(0xdb)]},_0x220ffa,{'dbName':_0x26f685,'mode':_0x170c8b,'syncedAt':new Date()[_0x13108e(0x100)](),'description':_0x5db5f6[_0x13108e(0x102)]}),_0x72c4e3=buildSqlLockEntry(_0x5db5f6,_0x220ffa,computeSqlContentHash(_0x518cd5),{'dbName':_0x26f685}),_0x175d25=_0x72c4e3[_0x13108e(0xd3)],_0x5697cd=join(_0x714696['sqlRootDir'],_0x175d25);try{if(await fileExists(_0x5697cd)){const _0x164c0f=await readFile(_0x5697cd,'utf8');if(isEquivalentPulledSqlFile(_0x164c0f,_0x518cd5,_0x170c8b)){_0x23de16[_0x13108e(0xe5)]({'sqlCode':_0x5db5f6[_0x13108e(0x101)],'reason':'unchanged'}),_0x152b41[_0x13108e(0xca)][_0x5db5f6[_0x13108e(0x101)]]={..._0x72c4e3,'hash':computeSqlContentHash(_0x164c0f),'path':_0x175d25};continue;}if(!_0x19312e){_0x23de16[_0x13108e(0xe5)]({'sqlCode':_0x5db5f6[_0x13108e(0x101)],'reason':_0x13108e(0xfe)});continue;}}const _0x1699cd=_0x4a130a?.[_0x13108e(0xd3)]?join(_0x714696['sqlRootDir'],_0x4a130a[_0x13108e(0xd3)]):undefined;_0x1699cd&&_0x1699cd!==_0x5697cd&&await fileExists(_0x1699cd)&&await rm(_0x1699cd,{'force':!![]}),await ensureParentDirectory(_0x5697cd),await writeFile(_0x5697cd,_0x518cd5,_0x13108e(0xe6)),_0x152b41[_0x13108e(0xca)][_0x5db5f6[_0x13108e(0x101)]]={..._0x72c4e3,'path':_0x175d25},_0x522af9['push']({'sqlCode':_0x5db5f6[_0x13108e(0x101)],'filePath':_0x5697cd});}catch(_0x22ae34){_0x584699['push']({'sqlCode':_0x5db5f6['sqlCode'],'error':_0x22ae34 instanceof Error?_0x22ae34[_0x13108e(0xf7)]:String(_0x22ae34)});}}return _0x152b41[_0x13108e(0x104)]=new Date()[_0x13108e(0x100)](),await writeSqlLockFile(_0x714696['lockFilePath'],_0x31bcc5),{'ok':_0x584699[_0x13108e(0xea)]===0x0,'data':{'pulled':_0x522af9,'skipped':_0x23de16,'failed':_0x584699},'message':_0x13108e(0xed)+_0x522af9['length']+_0x13108e(0xf0)+_0x23de16[_0x13108e(0xea)]+'\x20skipped,\x20'+_0x584699['length']+_0x13108e(0xd2)};}};function detectModeFromSql(_0x43a8e3){const _0x4aac31=a137_0x52ed0d,_0xd2d002=ensureRemoteSqlContent(_0x43a8e3),_0x4acd37=stripLocalSqlMetadata(_0xd2d002,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0x4acd37))return _0x4aac31(0xd7);return _0x4aac31(0xc8);}function isEquivalentPulledSqlFile(_0xca8080,_0x2d06fe,_0x449dcb){return normalizePullComparableContent(_0xca8080,_0x449dcb)===normalizePullComparableContent(_0x2d06fe,_0x449dcb);}function a137_0x2ddd(_0x342f87,_0x5b0320){_0x342f87=_0x342f87-0xc7;const _0x8a108f=a137_0x8a10();let _0x2dddae=_0x8a108f[_0x342f87];return _0x2dddae;}function normalizePullComparableContent(_0x10e7e5,_0xd1870e){const _0x38d3b0=a137_0x52ed0d,_0x2bf58d=_0x10e7e5[_0x38d3b0(0xee)](/\r\n/g,'\x0a')[_0x38d3b0(0xfb)]('\x0a'),_0x14b691=_0x2bf58d[_0x38d3b0(0xf2)](_0xa2e2e9=>!isSyncedAtMetadataLine(_0xa2e2e9,_0xd1870e));return _0x14b691[_0x38d3b0(0xce)]('\x0a');}function isSyncedAtMetadataLine(_0x20f5be,_0x559eb9){const _0x57d3c0=a137_0x52ed0d;if(_0x559eb9===_0x57d3c0(0xd7))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x57d3c0(0xec)](_0x20f5be);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x20f5be);}
|