@lovrabet/rabetbase-cli 2.2.2 → 2.2.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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/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-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/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-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/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 -0
- 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/skill/index.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/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.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
|
-
(function(_0x56bd3a,_0x4c640d){const _0x2ae36a=a116_0x2581,_0x2633bf=_0x56bd3a();while(!![]){try{const _0x4a9405=-parseInt(_0x2ae36a(0xea))/0x1+parseInt(_0x2ae36a(0x155))/0x2*(parseInt(_0x2ae36a(0x13d))/0x3)+parseInt(_0x2ae36a(0x10e))/0x4+-parseInt(_0x2ae36a(0x159))/0x5*(parseInt(_0x2ae36a(0x12c))/0x6)+-parseInt(_0x2ae36a(0xf9))/0x7+parseInt(_0x2ae36a(0xf3))/0x8+parseInt(_0x2ae36a(0x137))/0x9*(-parseInt(_0x2ae36a(0x142))/0xa);if(_0x4a9405===_0x4c640d)break;else _0x2633bf['push'](_0x2633bf['shift']());}catch(_0xcdec27){_0x2633bf['push'](_0x2633bf['shift']());}}}(a116_0x4be7,0x57929));import a116_0x3a9594 from'chalk';import a116_0x2b38bb 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'](_0x4fdc9b=>_0x4fdc9b!==NEW_CONFIG_NAME);function a116_0x2581(_0x17605a,_0x815c46){_0x17605a=_0x17605a-0xde;const _0x4be7a5=a116_0x4be7();let _0x258178=_0x4be7a5[_0x17605a];return _0x258178;}function collectIdeSkillFiles(_0x174bc5){const _0x1eb669=a116_0x2581,_0x31f93a=[];for(const _0x5d0c75 of Object[_0x1eb669(0xe2)](CORE_IDE_CONFIGS)){if(_0x5d0c75[_0x1eb669(0x143)])for(const _0x1347f1 of _0x5d0c75[_0x1eb669(0x143)]){_0x31f93a[_0x1eb669(0x153)](resolve(_0x174bc5,_0x1347f1[_0x1eb669(0x11d)]));}}return _0x31f93a;}function analyse(_0x316008){const _0x439552=a116_0x2581;let _0x1b9841=null;const _0x3adff9=resolve(_0x316008,NEW_CONFIG_NAME),_0x1abff3=existsSync(_0x3adff9);for(const _0x4fb439 of LEGACY_CONFIG_NAMES){const _0x44eddb=resolve(_0x316008,_0x4fb439);if(existsSync(_0x44eddb)){const _0x5614d9=readConfigFile(_0x44eddb),_0x57d813=Object['keys'](_0x5614d9)[_0x439552(0xe5)](_0x1ecdea=>typeof _0x5614d9[_0x1ecdea]!=='undefined');_0x1b9841={'oldPath':_0x44eddb,'hasNewConfig':_0x1abff3,'fields':_0x57d813};break;}}const _0x32c2f0=[],_0x5c6703=resolve(_0x316008,'.lovrabet');if(existsSync(_0x5c6703))_0x32c2f0[_0x439552(0x153)](_0x5c6703);const _0x6f2cf3=resolve(_0x316008,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x6f2cf3))_0x32c2f0['push'](_0x6f2cf3);const _0x55ab99=resolve(_0x316008,_0x439552(0x157));if(existsSync(_0x55ab99))_0x32c2f0[_0x439552(0x153)](_0x55ab99);for(const _0xa88ea7 of collectIdeSkillFiles(_0x316008)){if(existsSync(_0xa88ea7))_0x32c2f0['push'](_0xa88ea7);}let _0x32645a=null;const _0x53b897=resolve(_0x316008,_0x439552(0xfb));if(existsSync(_0x53b897))try{const _0x2febc5=JSON['parse'](readFileSync(_0x53b897,_0x439552(0x107)));if(_0x2febc5?.[_0x439552(0x102)]&&typeof _0x2febc5[_0x439552(0x102)]===_0x439552(0x117)){const _0x1fdd8a=[];for(const [_0x54cd10,_0x4774c3]of Object[_0x439552(0x139)](_0x2febc5[_0x439552(0x102)])){const _0x5cafdb=_0x4774c3;_0x5cafdb?.[_0x439552(0x148)]&&Array['isArray'](_0x5cafdb[_0x439552(0x148)])&&_0x5cafdb['args'][_0x439552(0x116)](_0x54effa=>typeof _0x54effa==='string'&&_0x54effa['includes']('@lovrabet/dataset-mcp-server'))&&_0x1fdd8a[_0x439552(0x153)](_0x54cd10);}_0x1fdd8a[_0x439552(0xfc)]>0x0&&(_0x32645a={'path':_0x53b897,'keys':_0x1fdd8a});}}catch{}const _0x5242c9=_0x32c2f0[_0x439552(0xfc)]>0x0||_0x1b9841!==null;let _0x5f5c92=null;const _0x1317ee=resolve(_0x316008,'package.json');if(existsSync(_0x1317ee))try{const _0x5c5bc5=JSON[_0x439552(0x132)](readFileSync(_0x1317ee,_0x439552(0x107)));for(const _0x20cce2 of['dependencies',_0x439552(0x104)]){const _0x2d3747=_0x5c5bc5?.[_0x20cce2]?.['@lovrabet/sdk'];if(typeof _0x2d3747==='string'){_0x2d3747!=='latest'&&(_0x5f5c92={'pkgPath':_0x1317ee,'currentVersion':_0x2d3747,'field':_0x20cce2});break;}}}catch{}return{'configMigration':_0x1b9841,'oldArtifacts':_0x32c2f0,'oldMcpConfig':_0x32645a,'needsSkillSwap':_0x5242c9,'sdkUpgrade':_0x5f5c92};}function printReport(_0x2f858a){const _0x36ed9e=a116_0x2581,{configMigration:_0x4568bd,oldArtifacts:_0x3739d1,oldMcpConfig:_0x4bdd57,needsSkillSwap:_0x5b8d58}=_0x2f858a;console[_0x36ed9e(0xe4)](''),console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0x152)](_0x36ed9e(0x115))),console[_0x36ed9e(0xe4)]('');_0x4568bd?(console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)](_0x36ed9e(0x105))+('\x20\x20'+a116_0x3a9594['yellow'](_0x4568bd[_0x36ed9e(0x121)]))),console[_0x36ed9e(0xe4)](_0x36ed9e(0xec)+(_0x4568bd['hasNewConfig']?a116_0x3a9594['green'](_0x36ed9e(0x114)):a116_0x3a9594['gray'](_0x36ed9e(0x14c)))),console[_0x36ed9e(0xe4)](_0x36ed9e(0x12b)+_0x4568bd[_0x36ed9e(0x149)][_0x36ed9e(0xfa)](',\x20')),console[_0x36ed9e(0xe4)](_0x36ed9e(0xf6))):console[_0x36ed9e(0xe4)](a116_0x3a9594['cyan'](_0x36ed9e(0x105))+'\x20\x20'+a116_0x3a9594['gray'](_0x36ed9e(0xe6)));console['log']('');if(_0x3739d1['length']>0x0){console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)](_0x36ed9e(0x112)));for(const _0x1ec84c of _0x3739d1){console[_0x36ed9e(0xe4)]('\x20\x20'+a116_0x3a9594[_0x36ed9e(0x100)](_0x36ed9e(0x150))+'\x20\x20'+_0x1ec84c);}console[_0x36ed9e(0xe4)](_0x36ed9e(0x120));}else console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)]('Legacy\x20artifacts:')+'\x20\x20'+a116_0x3a9594[_0x36ed9e(0x130)](_0x36ed9e(0x141)));console[_0x36ed9e(0xe4)]('');_0x4bdd57?(console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)](_0x36ed9e(0x12d))+('\x20\x20'+a116_0x3a9594[_0x36ed9e(0x110)](_0x4bdd57[_0x36ed9e(0x11d)])+_0x36ed9e(0x10a)+_0x4bdd57['keys'][_0x36ed9e(0xfa)](',\x20'))),console['log'](_0x36ed9e(0x14a))):console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)]('MCP\x20config:')+'\x20\x20'+a116_0x3a9594[_0x36ed9e(0x130)]('no\x20legacy\x20entry'));console[_0x36ed9e(0xe4)](''),console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)]('Skill\x20swap:')+('\x20\x20'+(_0x5b8d58?a116_0x3a9594[_0x36ed9e(0x110)]('needed'):a116_0x3a9594[_0x36ed9e(0x134)]('not\x20needed'))));_0x5b8d58&&console['log'](_0x36ed9e(0x14d)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x36ed9e(0xe4)]('');if(_0x2f858a[_0x36ed9e(0x103)]){const {currentVersion:_0x58b089,field:_0x381337,pkgPath:_0x5e4b5b}=_0x2f858a[_0x36ed9e(0x103)];console['log'](a116_0x3a9594[_0x36ed9e(0xf2)](_0x36ed9e(0xee))+('\x20\x20'+a116_0x3a9594[_0x36ed9e(0x110)](_0x5e4b5b))),console['log'](_0x36ed9e(0x13f)+_0x381337+':\x20'+a116_0x3a9594[_0x36ed9e(0x110)](_0x58b089)+_0x36ed9e(0xed)+a116_0x3a9594[_0x36ed9e(0x134)](_0x36ed9e(0xf1))),console[_0x36ed9e(0xe4)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x36ed9e(0xe4)](a116_0x3a9594[_0x36ed9e(0xf2)]('@lovrabet/sdk:')+'\x20\x20'+a116_0x3a9594['gray']('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x36ed9e(0xe4)]('');}function execConfigMigration(_0x13e8c4,_0x2ca2d9){const _0x3c06c0=a116_0x2581,{configMigration:_0x2fbb29}=_0x13e8c4;if(!_0x2fbb29?.[_0x3c06c0(0x121)])return{'step':0x1,'label':_0x3c06c0(0x131),'ok':!![],'detail':_0x3c06c0(0x101)};const _0x2771c1=readConfigFile(_0x2fbb29[_0x3c06c0(0x121)]),_0x1f9751=resolve(_0x2ca2d9,NEW_CONFIG_NAME),_0x291347=_0x2fbb29['hasNewConfig']?readConfigFile(_0x1f9751):{};for(const [_0x289e82,_0x4b9648]of Object['entries'](_0x2771c1)){!(_0x289e82 in _0x291347)&&(_0x291347[_0x289e82]=_0x4b9648);}writeConfigFile(_0x1f9751,_0x291347);const _0x39255d=_0x2fbb29['oldPath']+_0x3c06c0(0xde);return renameSync(_0x2fbb29['oldPath'],_0x39255d),{'step':0x1,'label':_0x3c06c0(0x131),'ok':!![],'detail':_0x2fbb29[_0x3c06c0(0x121)]+_0x3c06c0(0xed)+_0x1f9751+'\x20(backup:\x20'+_0x39255d+')'};}function execRemoveOldArtifacts(_0x416953){const _0x794e93=a116_0x2581,_0x67b151=[];for(const _0x5d7af2 of _0x416953){try{if(!existsSync(_0x5d7af2))continue;const _0x360d85=tryStat(_0x5d7af2);_0x360d85?.['isDirectory']()?rmSync(_0x5d7af2,{'recursive':!![],'force':!![]}):unlinkSync(_0x5d7af2);}catch(_0x416107){_0x67b151[_0x794e93(0x153)](_0x5d7af2+':\x20'+_0x416107[_0x794e93(0x140)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x67b151[_0x794e93(0xfc)]===0x0,'detail':_0x67b151[_0x794e93(0xfc)]>0x0?_0x416953[_0x794e93(0xfc)]-_0x67b151[_0x794e93(0xfc)]+'/'+_0x416953[_0x794e93(0xfc)]+'\x20removed\x20('+_0x67b151[_0x794e93(0xfa)](';\x20')+')':_0x416953[_0x794e93(0xfc)]+_0x794e93(0x13b)};}function execCleanMcp(_0x293661){const _0x379db6=a116_0x2581;if(!_0x293661['oldMcpConfig'])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x379db6(0x108)};try{const _0x4119dc=readFileSync(_0x293661['oldMcpConfig']['path'],_0x379db6(0x107)),_0x52f9de=JSON[_0x379db6(0x132)](_0x4119dc);if(_0x52f9de?.[_0x379db6(0x102)]&&typeof _0x52f9de[_0x379db6(0x102)]===_0x379db6(0x117)){const _0x37e26a=[];for(const [_0x1d3f92,_0x1b35dc]of Object['entries'](_0x52f9de[_0x379db6(0x102)])){_0x1b35dc?.[_0x379db6(0x148)]&&Array[_0x379db6(0x145)](_0x1b35dc[_0x379db6(0x148)])&&_0x1b35dc['args'][_0x379db6(0x116)](_0x35a213=>typeof _0x35a213===_0x379db6(0xf4)&&_0x35a213[_0x379db6(0xeb)](_0x379db6(0x11e)))&&_0x37e26a[_0x379db6(0x153)](_0x1d3f92);}for(const _0x3bf282 of _0x37e26a){delete _0x52f9de[_0x379db6(0x102)][_0x3bf282];}return _0x37e26a['length']>0x0&&writeFileSync(_0x293661[_0x379db6(0x13c)][_0x379db6(0x11d)],JSON[_0x379db6(0x10d)](_0x52f9de,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x379db6(0xfe),'ok':!![],'detail':'removed\x20'+_0x37e26a[_0x379db6(0xfa)](',\x20')+_0x379db6(0xe0)+_0x293661['oldMcpConfig'][_0x379db6(0x11d)]};}return{'step':0x4,'label':_0x379db6(0xfe),'ok':!![],'detail':_0x379db6(0xf0)};}catch(_0x2ceb47){return{'step':0x4,'label':_0x379db6(0xfe),'ok':![],'detail':_0x2ceb47[_0x379db6(0x140)]};}}function execSkillsRemove(_0x24d7be,_0x11c4fc){const _0x41c9a7=a116_0x2581,_0x5c5557=runNpxSkillsRemove(_0x24d7be,{'stdio':'inherit','yes':_0x11c4fc});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x5c5557['ok'],'detail':_0x5c5557['ok']?'lovrabet/lovrabet-skill\x20removed':_0x5c5557[_0x41c9a7(0x123)]??_0x41c9a7(0xe7)+_0x5c5557[_0x41c9a7(0xe8)]};}function execSkillsAdd(_0x53d58c,_0x558f9d){const _0xdaabde=a116_0x2581,_0x3a00fa=runNpxSkillsAddGlobal(_0x53d58c,_0xdaabde(0x109),{'stdio':'inherit','yes':_0x558f9d});return{'step':0x6,'label':_0xdaabde(0x106),'ok':_0x3a00fa['ok'],'detail':_0x3a00fa['ok']?_0xdaabde(0x125):_0x3a00fa[_0xdaabde(0x123)]??_0xdaabde(0xe7)+_0x3a00fa[_0xdaabde(0xe8)]};}function execUpgradeSdk(_0x1ffda5){const _0x476866=a116_0x2581;if(!_0x1ffda5[_0x476866(0x103)])return{'step':0x7,'label':_0x476866(0xf8),'ok':!![],'detail':_0x476866(0xdf)};const {pkgPath:_0x4cdcec,currentVersion:_0xcc89c4,field:_0x2762bb}=_0x1ffda5[_0x476866(0x103)];try{const _0x5e7285=readFileSync(_0x4cdcec,'utf8'),_0x1e29f8=JSON[_0x476866(0x132)](_0x5e7285);return _0x1e29f8[_0x2762bb][_0x476866(0x14e)]=_0x476866(0xf1),writeFileSync(_0x4cdcec,JSON[_0x476866(0x10d)](_0x1e29f8,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x476866(0xf8),'ok':!![],'detail':_0x2762bb+_0x476866(0xe9)+_0xcc89c4+_0x476866(0x154)};}catch(_0x5bd9db){return{'step':0x7,'label':_0x476866(0xf8),'ok':![],'detail':_0x5bd9db[_0x476866(0x140)]};}}function tryStat(_0x1a679d){try{return statSync(_0x1a679d);}catch{return undefined;}}function printSummary(_0x1a4da2){const _0x1d5563=a116_0x2581;console[_0x1d5563(0xe4)](''),console[_0x1d5563(0xe4)](a116_0x3a9594[_0x1d5563(0x152)](_0x1d5563(0xef))),console['log']('');for(const _0x589122 of _0x1a4da2){const _0x3df5d7=_0x589122['ok']?a116_0x3a9594['green']('OK'):a116_0x3a9594[_0x1d5563(0x100)](_0x1d5563(0x11f));console[_0x1d5563(0xe4)]('\x20\x20'+_0x3df5d7+_0x1d5563(0x118)+_0x589122['step']+':\x20'+_0x589122['label']);if(_0x589122[_0x1d5563(0x126)])console[_0x1d5563(0xe4)](_0x1d5563(0x13a)+a116_0x3a9594[_0x1d5563(0x130)](_0x589122[_0x1d5563(0x126)]));}console[_0x1d5563(0xe4)]('');}function a116_0x4be7(){const _0x48a1a9=['Install\x20new\x20skill','utf8','skipped','lovrabet/rabetbase','\x20→\x20keys:\x20','Step\x201/7:\x20Migrating\x20config...','yes','stringify','1176464FkkCwg','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','yellow','needsSkillSwap','Legacy\x20artifacts:','done','already\x20exists\x20(will\x20merge)','===\x20Upgrade\x20Analysis\x20===','some','object','\x20\x20Step\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','oldArtifacts','Upgrade\x20cancelled.','Step\x205/7:\x20Removing\x20old\x20skill...','path','@lovrabet/dataset-mcp-server','FAIL','\x20\x20Action:\x20delete','oldPath','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','error','Step\x206/7:\x20Installing\x20new\x20skill...','lovrabet/rabetbase\x20installed\x20globally','detail','Step\x204/7:\x20Cleaning\x20MCP\x20config...','failed','succeed','.lovrabet','\x20\x20Fields\x20to\x20migrate:\x20','6lAAJWh','MCP\x20config:','start','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','gray','Config\x20migration','parse','Step\x201/7:\x20Config\x20migration\x20—\x20','green','fail','Remove\x20.lovrabet/','27AKbsLy','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','entries','\x20\x20\x20\x20\x20\x20\x20','\x20removed','oldMcpConfig','6dnlNYl','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Current\x20version\x20in\x20','message','none\x20found','1910060OtmUBE','files','cwd','isArray','configMigration','Upgrade\x20completed\x20successfully!','args','fields','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','not\x20found\x20(will\x20create)','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','@lovrabet/sdk','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','FOUND','white','bold','push','\x20→\x20latest','650402OrpToB','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','.claude/skills/lovrabet','\x20\x20npm\x20install','384145XamYhM','.bak','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20from\x20','Proceed\x20with\x20upgrade?','values','\x20\x20#\x20or','log','filter','no\x20legacy\x20config\x20found','exit\x20','status','[\x22@lovrabet/sdk\x22]:\x20','268726GcVDPe','includes','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20→\x20','@lovrabet/sdk:','===\x20Upgrade\x20Summary\x20===','no\x20matching\x20entry\x20found','latest','cyan','3969856UOpIhE','string','info','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x204/7:\x20MCP\x20config\x20—\x20','Upgrade\x20@lovrabet/sdk','1144360JWJfgj','join','.cursor/mcp.json','length','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Clean\x20MCP\x20config','\x20\x20bun\x20install','red','skipped\x20(no\x20legacy\x20config)','mcpServers','sdkUpgrade','devDependencies','Config\x20file:'];a116_0x4be7=function(){return _0x48a1a9;};return a116_0x4be7();}export async function upgradeApp(_0x33cf9c,_0x549c5f){const _0x406500=a116_0x2581,_0x62c2cc=process[_0x406500(0x144)](),_0x2c47f3=analyse(_0x62c2cc),_0x4868b9=!_0x2c47f3[_0x406500(0x146)]&&_0x2c47f3[_0x406500(0x11a)][_0x406500(0xfc)]===0x0&&!_0x2c47f3[_0x406500(0x13c)]&&!_0x2c47f3[_0x406500(0x111)]&&!_0x2c47f3[_0x406500(0x103)];if(_0x4868b9){console['log'](a116_0x3a9594[_0x406500(0x134)](_0x406500(0x122)));return;}printReport(_0x2c47f3);const _0x533b3e=!!(_0x549c5f[_0x406500(0x10c)]||_0x549c5f['Y']||_0x33cf9c);if(!_0x533b3e)try{const _0x3bff7e=await askConfirm(_0x406500(0xe1));if(!_0x3bff7e){console[_0x406500(0xe4)](a116_0x3a9594[_0x406500(0x130)](_0x406500(0x11b)));return;}}catch(_0x5aed0a){if(_0x5aed0a?.[_0x406500(0x140)]==='CANCEL'){console['log'](a116_0x3a9594[_0x406500(0x130)](_0x406500(0x11b)));return;}throw _0x5aed0a;}const _0x14397e=[],_0x2d73af=a116_0x2b38bb({'text':_0x406500(0x10b),'color':'cyan'})[_0x406500(0x12e)](),_0x13c822=execConfigMigration(_0x2c47f3,_0x62c2cc);_0x14397e['push'](_0x13c822),_0x2d73af[_0x13c822['ok']?'succeed':'fail'](_0x406500(0x133)+(_0x13c822[_0x406500(0x126)]??(_0x13c822['ok']?_0x406500(0x113):_0x406500(0x128))));const _0x34d98e=resolve(_0x62c2cc,_0x406500(0x12a)),_0x32cbef=a116_0x2b38bb({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x406500(0xf2)})[_0x406500(0x12e)]();if(existsSync(_0x34d98e))try{rmSync(_0x34d98e,{'recursive':!![],'force':!![]}),_0x32cbef[_0x406500(0x129)](_0x406500(0x156)),_0x14397e['push']({'step':0x2,'label':_0x406500(0x136),'ok':!![]});}catch(_0x1f6c0d){_0x32cbef[_0x406500(0x135)](_0x406500(0x119)+_0x1f6c0d[_0x406500(0x140)]),_0x14397e['push']({'step':0x2,'label':_0x406500(0x136),'ok':![],'detail':_0x1f6c0d[_0x406500(0x140)]});}else _0x32cbef[_0x406500(0xf5)](_0x406500(0x12f)),_0x14397e[_0x406500(0x153)]({'step':0x2,'label':_0x406500(0x136),'ok':!![],'detail':_0x406500(0x108)});const _0x4cf310=a116_0x2b38bb({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x406500(0xf2)})[_0x406500(0x12e)](),_0x4caeaa=execRemoveOldArtifacts(_0x2c47f3[_0x406500(0x11a)]);_0x14397e['push'](_0x4caeaa),_0x4cf310[_0x4caeaa['ok']?'succeed':'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x4caeaa[_0x406500(0x126)]??(_0x4caeaa['ok']?_0x406500(0x113):_0x406500(0x128))));const _0x2b6f45=a116_0x2b38bb({'text':_0x406500(0x127),'color':_0x406500(0xf2)})[_0x406500(0x12e)](),_0x48ac0a=execCleanMcp(_0x2c47f3);_0x14397e[_0x406500(0x153)](_0x48ac0a),_0x2b6f45[_0x48ac0a['ok']?_0x406500(0x129):_0x406500(0x135)](_0x406500(0xf7)+(_0x48ac0a[_0x406500(0x126)]??(_0x48ac0a['ok']?'done':_0x406500(0x128))));const _0x56a72b=a116_0x2b38bb({'text':_0x406500(0x11c),'color':_0x406500(0xf2)})[_0x406500(0x12e)](),_0x197a18=execSkillsRemove(_0x62c2cc,_0x533b3e);_0x14397e[_0x406500(0x153)](_0x197a18),_0x56a72b[_0x197a18['ok']?'succeed':'fail'](_0x406500(0x14f)+(_0x197a18[_0x406500(0x126)]??(_0x197a18['ok']?_0x406500(0x113):_0x406500(0x128))));const _0x290064=a116_0x2b38bb({'text':_0x406500(0x124),'color':'cyan'})[_0x406500(0x12e)](),_0x551f59=execSkillsAdd(_0x62c2cc,_0x533b3e);_0x14397e[_0x406500(0x153)](_0x551f59),_0x290064[_0x551f59['ok']?'succeed':'fail'](_0x406500(0x14b)+(_0x551f59[_0x406500(0x126)]??(_0x551f59['ok']?_0x406500(0x113):_0x406500(0x128))));const _0x587731=a116_0x2b38bb({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x406500(0xf2)})[_0x406500(0x12e)](),_0x3c773a=execUpgradeSdk(_0x2c47f3);_0x14397e[_0x406500(0x153)](_0x3c773a),_0x587731[_0x3c773a['ok']?_0x406500(0x129):_0x406500(0x135)](_0x406500(0xfd)+(_0x3c773a[_0x406500(0x126)]??(_0x3c773a['ok']?_0x406500(0x113):_0x406500(0x128)))),printSummary(_0x14397e);const _0x5dc7ad=_0x14397e[_0x406500(0x116)](_0x2eade8=>!_0x2eade8['ok']);_0x5dc7ad?console[_0x406500(0xe4)](a116_0x3a9594['yellow'](_0x406500(0x13e))):console[_0x406500(0xe4)](a116_0x3a9594[_0x406500(0x134)](_0x406500(0x147))),_0x3c773a['ok']&&_0x2c47f3[_0x406500(0x103)]&&(console[_0x406500(0xe4)](''),console[_0x406500(0xe4)](a116_0x3a9594[_0x406500(0x152)][_0x406500(0xf2)](_0x406500(0x10f))),console[_0x406500(0xe4)](a116_0x3a9594[_0x406500(0xf2)](_0x406500(0x138))),console[_0x406500(0xe4)](''),console[_0x406500(0xe4)](a116_0x3a9594['white'](_0x406500(0x158))),console[_0x406500(0xe4)](a116_0x3a9594[_0x406500(0x151)](_0x406500(0xe3))),console['log'](a116_0x3a9594[_0x406500(0x151)](_0x406500(0xff))),console[_0x406500(0xe4)](''));}
|
|
1
|
+
const a117_0x1cc928=a117_0x3160;(function(_0x54fb9,_0x3dcd79){const _0x1e3805=a117_0x3160,_0x52d15b=_0x54fb9();while(!![]){try{const _0xd9fe08=-parseInt(_0x1e3805(0x108))/0x1+parseInt(_0x1e3805(0xba))/0x2*(-parseInt(_0x1e3805(0xe6))/0x3)+-parseInt(_0x1e3805(0xaf))/0x4*(-parseInt(_0x1e3805(0xe3))/0x5)+-parseInt(_0x1e3805(0xb3))/0x6*(parseInt(_0x1e3805(0xab))/0x7)+parseInt(_0x1e3805(0x102))/0x8*(parseInt(_0x1e3805(0xa5))/0x9)+-parseInt(_0x1e3805(0xa1))/0xa+parseInt(_0x1e3805(0xb0))/0xb;if(_0xd9fe08===_0x3dcd79)break;else _0x52d15b['push'](_0x52d15b['shift']());}catch(_0x21f1ae){_0x52d15b['push'](_0x52d15b['shift']());}}}(a117_0x2654,0xbdb16));import a117_0x32b75f from'chalk';import a117_0xeb17f3 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';function a117_0x2654(){const _0x5bd241=['done','label','entries','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Step\x20','configMigration','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','not\x20found\x20or\x20already\x20at\x20latest','no\x20legacy\x20config\x20found','@lovrabet/sdk','failed','Step\x201/7:\x20Config\x20migration\x20—\x20','FAIL','path','\x20→\x20keys:\x20','status','Remove\x20legacy\x20artifacts','package.json','includes','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','mcpServers','parse','sdkUpgrade','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','stringify','oldArtifacts','filter','Config\x20file:','\x20\x20Current\x20version\x20in\x20','skipped','Step\x201/7:\x20Migrating\x20config...','args','red','skipped\x20(no\x20legacy\x20config)','Upgrade\x20@lovrabet/sdk','info','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x205/7:\x20Removing\x20old\x20skill...','\x20\x20npm\x20install','626705laUyXv','no\x20matching\x20entry\x20found','\x20→\x20','3119943aXNNfo','bold','detail','@lovrabet/sdk:','gray','cyan','Remove\x20old\x20skill','object','\x20\x20Action:\x20delete','keys','start','latest','Upgrade\x20completed\x20successfully!','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','lovrabet/lovrabet-skill\x20removed','needsSkillSwap','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','utf8','Remove\x20.lovrabet/','\x20→\x20latest','dependencies','some','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20\x20Fields\x20to\x20migrate:\x20','===\x20Upgrade\x20Summary\x20===','Step\x206/7:\x20Installing\x20new\x20skill...','green','Step\x204/7:\x20MCP\x20config\x20—\x20','432PBrvIa','\x20\x20New\x20config\x20(.rabetbase.json):\x20','MCP\x20config:','fail','fields','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','141910ZgWBlT','oldMcpConfig','===\x20Upgrade\x20Analysis\x20===','no\x20legacy\x20entry','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Config\x20migration','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','lovrabet/rabetbase','Legacy\x20artifacts:','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','undefined','string','message','log','push','step','needed','.lovrabet','\x20removed\x20(','exit\x20','files','\x20\x20bun\x20install','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','FOUND','not\x20found\x20(will\x20create)','Step\x204/7:\x20Cleaning\x20MCP\x20config...','@lovrabet/dataset-mcp-server','\x20\x20\x20\x20\x20\x20\x20','8648200lleHla','white','yellow','yes','144459Rshrqs','error','Clean\x20MCP\x20config','.cursor/mcp.json','Install\x20new\x20skill','hasNewConfig','623Zagjfj','oldPath','length','isDirectory','12nzxfpv','32908205Wegitf','join','isArray','95106sIFloO','Upgrade\x20cancelled.','succeed','none\x20found','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','lovrabet/rabetbase\x20installed\x20globally','not\x20needed','2GMsUDY'];a117_0x2654=function(){return _0x5bd241;};return a117_0x2654();}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a117_0x1cc928(0xd6)](_0xdaf19c=>_0xdaf19c!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4c1999){const _0x2b3d38=a117_0x1cc928,_0x1adc50=[];for(const _0x2671b1 of Object['values'](CORE_IDE_CONFIGS)){if(_0x2671b1[_0x2b3d38(0x11c)])for(const _0x22c0b2 of _0x2671b1[_0x2b3d38(0x11c)]){_0x1adc50[_0x2b3d38(0x116)](resolve(_0x4c1999,_0x22c0b2[_0x2b3d38(0xc9)]));}}return _0x1adc50;}function analyse(_0x89b3a6){const _0x4c3ee7=a117_0x1cc928;let _0x4ca268=null;const _0x15ac15=resolve(_0x89b3a6,NEW_CONFIG_NAME),_0x47a4aa=existsSync(_0x15ac15);for(const _0x5b28c9 of LEGACY_CONFIG_NAMES){const _0x5b7e5a=resolve(_0x89b3a6,_0x5b28c9);if(existsSync(_0x5b7e5a)){const _0x1aa85a=readConfigFile(_0x5b7e5a),_0x31dfb0=Object[_0x4c3ee7(0xef)](_0x1aa85a)[_0x4c3ee7(0xd6)](_0x36b790=>typeof _0x1aa85a[_0x36b790]!==_0x4c3ee7(0x112));_0x4ca268={'oldPath':_0x5b7e5a,'hasNewConfig':_0x47a4aa,'fields':_0x31dfb0};break;}}const _0x37aa8d=[],_0x5be079=resolve(_0x89b3a6,_0x4c3ee7(0x119));if(existsSync(_0x5be079))_0x37aa8d[_0x4c3ee7(0x116)](_0x5be079);const _0xa86b09=resolve(_0x89b3a6,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0xa86b09))_0x37aa8d[_0x4c3ee7(0x116)](_0xa86b09);const _0x42bf35=resolve(_0x89b3a6,'.claude/skills/lovrabet');if(existsSync(_0x42bf35))_0x37aa8d[_0x4c3ee7(0x116)](_0x42bf35);for(const _0x3f25b0 of collectIdeSkillFiles(_0x89b3a6)){if(existsSync(_0x3f25b0))_0x37aa8d[_0x4c3ee7(0x116)](_0x3f25b0);}let _0x5a29ec=null;const _0x513668=resolve(_0x89b3a6,_0x4c3ee7(0xa8));if(existsSync(_0x513668))try{const _0x323954=JSON[_0x4c3ee7(0xd1)](readFileSync(_0x513668,_0x4c3ee7(0xf7)));if(_0x323954?.[_0x4c3ee7(0xd0)]&&typeof _0x323954[_0x4c3ee7(0xd0)]===_0x4c3ee7(0xed)){const _0x56cebb=[];for(const [_0x42ce5f,_0x5a2eea]of Object[_0x4c3ee7(0xbd)](_0x323954[_0x4c3ee7(0xd0)])){const _0x15f2b5=_0x5a2eea;_0x15f2b5?.[_0x4c3ee7(0xdb)]&&Array[_0x4c3ee7(0xb2)](_0x15f2b5[_0x4c3ee7(0xdb)])&&_0x15f2b5[_0x4c3ee7(0xdb)][_0x4c3ee7(0xfb)](_0x241a51=>typeof _0x241a51===_0x4c3ee7(0x113)&&_0x241a51[_0x4c3ee7(0xce)](_0x4c3ee7(0x122)))&&_0x56cebb[_0x4c3ee7(0x116)](_0x42ce5f);}_0x56cebb[_0x4c3ee7(0xad)]>0x0&&(_0x5a29ec={'path':_0x513668,'keys':_0x56cebb});}}catch{}const _0x18c89f=_0x37aa8d['length']>0x0||_0x4ca268!==null;let _0x5220ca=null;const _0x19d2b8=resolve(_0x89b3a6,_0x4c3ee7(0xcd));if(existsSync(_0x19d2b8))try{const _0x5a674e=JSON['parse'](readFileSync(_0x19d2b8,_0x4c3ee7(0xf7)));for(const _0x498e85 of[_0x4c3ee7(0xfa),'devDependencies']){const _0x53183a=_0x5a674e?.[_0x498e85]?.[_0x4c3ee7(0xc5)];if(typeof _0x53183a===_0x4c3ee7(0x113)){_0x53183a!==_0x4c3ee7(0xf1)&&(_0x5220ca={'pkgPath':_0x19d2b8,'currentVersion':_0x53183a,'field':_0x498e85});break;}}}catch{}return{'configMigration':_0x4ca268,'oldArtifacts':_0x37aa8d,'oldMcpConfig':_0x5a29ec,'needsSkillSwap':_0x18c89f,'sdkUpgrade':_0x5220ca};}function printReport(_0x1ceb91){const _0x160703=a117_0x1cc928,{configMigration:_0x15fc65,oldArtifacts:_0x13d069,oldMcpConfig:_0x521c94,needsSkillSwap:_0x3a7309}=_0x1ceb91;console['log'](''),console[_0x160703(0x115)](a117_0x32b75f[_0x160703(0xe7)](_0x160703(0x10a))),console[_0x160703(0x115)]('');_0x15fc65?(console[_0x160703(0x115)](a117_0x32b75f['cyan'](_0x160703(0xd7))+('\x20\x20'+a117_0x32b75f[_0x160703(0xa3)](_0x15fc65[_0x160703(0xac)]))),console[_0x160703(0x115)](_0x160703(0x103)+(_0x15fc65[_0x160703(0xaa)]?a117_0x32b75f[_0x160703(0x100)]('already\x20exists\x20(will\x20merge)'):a117_0x32b75f[_0x160703(0xea)](_0x160703(0x120)))),console[_0x160703(0x115)](_0x160703(0xfd)+_0x15fc65[_0x160703(0x106)][_0x160703(0xb1)](',\x20')),console[_0x160703(0x115)](_0x160703(0xc1))):console[_0x160703(0x115)](a117_0x32b75f[_0x160703(0xeb)](_0x160703(0xd7))+'\x20\x20'+a117_0x32b75f[_0x160703(0xea)](_0x160703(0xc4)));console[_0x160703(0x115)]('');if(_0x13d069[_0x160703(0xad)]>0x0){console[_0x160703(0x115)](a117_0x32b75f[_0x160703(0xeb)](_0x160703(0x110)));for(const _0x388137 of _0x13d069){console[_0x160703(0x115)]('\x20\x20'+a117_0x32b75f[_0x160703(0xdc)](_0x160703(0x11f))+'\x20\x20'+_0x388137);}console[_0x160703(0x115)](_0x160703(0xee));}else console[_0x160703(0x115)](a117_0x32b75f['cyan'](_0x160703(0x110))+'\x20\x20'+a117_0x32b75f[_0x160703(0xea)](_0x160703(0xb6)));console[_0x160703(0x115)]('');_0x521c94?(console['log'](a117_0x32b75f[_0x160703(0xeb)](_0x160703(0x104))+('\x20\x20'+a117_0x32b75f[_0x160703(0xa3)](_0x521c94[_0x160703(0xc9)])+_0x160703(0xca)+_0x521c94[_0x160703(0xef)]['join'](',\x20'))),console[_0x160703(0x115)](_0x160703(0x10e))):console['log'](a117_0x32b75f['cyan'](_0x160703(0x104))+'\x20\x20'+a117_0x32b75f['gray'](_0x160703(0x10b)));console[_0x160703(0x115)](''),console[_0x160703(0x115)](a117_0x32b75f['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x3a7309?a117_0x32b75f[_0x160703(0xa3)](_0x160703(0x118)):a117_0x32b75f[_0x160703(0x100)](_0x160703(0xb9)))));_0x3a7309&&console[_0x160703(0x115)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x1ceb91[_0x160703(0xd2)]){const {currentVersion:_0x52a1f6,field:_0x16ebcd,pkgPath:_0x298070}=_0x1ceb91['sdkUpgrade'];console['log'](a117_0x32b75f[_0x160703(0xeb)](_0x160703(0xe9))+('\x20\x20'+a117_0x32b75f[_0x160703(0xa3)](_0x298070))),console[_0x160703(0x115)](_0x160703(0xd8)+_0x16ebcd+':\x20'+a117_0x32b75f[_0x160703(0xa3)](_0x52a1f6)+_0x160703(0xe5)+a117_0x32b75f[_0x160703(0x100)](_0x160703(0xf1))),console[_0x160703(0x115)](_0x160703(0x107));}else console[_0x160703(0x115)](a117_0x32b75f['cyan'](_0x160703(0xe9))+'\x20\x20'+a117_0x32b75f['gray'](_0x160703(0xc3)));console[_0x160703(0x115)]('');}function execConfigMigration(_0x9a7bc3,_0x1266f2){const _0x21a99e=a117_0x1cc928,{configMigration:_0x4797b4}=_0x9a7bc3;if(!_0x4797b4?.['oldPath'])return{'step':0x1,'label':_0x21a99e(0x10d),'ok':!![],'detail':_0x21a99e(0xdd)};const _0x32cf55=readConfigFile(_0x4797b4[_0x21a99e(0xac)]),_0x572c42=resolve(_0x1266f2,NEW_CONFIG_NAME),_0x3ae700=_0x4797b4['hasNewConfig']?readConfigFile(_0x572c42):{};for(const [_0x692cfc,_0x5068f9]of Object['entries'](_0x32cf55)){!(_0x692cfc in _0x3ae700)&&(_0x3ae700[_0x692cfc]=_0x5068f9);}writeConfigFile(_0x572c42,_0x3ae700);const _0x32172e=_0x4797b4['oldPath']+'.bak';return renameSync(_0x4797b4[_0x21a99e(0xac)],_0x32172e),{'step':0x1,'label':_0x21a99e(0x10d),'ok':!![],'detail':_0x4797b4[_0x21a99e(0xac)]+_0x21a99e(0xe5)+_0x572c42+'\x20(backup:\x20'+_0x32172e+')'};}function a117_0x3160(_0x1ca5c8,_0x26e855){_0x1ca5c8=_0x1ca5c8-0xa0;const _0x265421=a117_0x2654();let _0x316069=_0x265421[_0x1ca5c8];return _0x316069;}function execRemoveOldArtifacts(_0x17c815){const _0x2ce07b=a117_0x1cc928,_0x5110b9=[];for(const _0xcf2e59 of _0x17c815){try{if(!existsSync(_0xcf2e59))continue;const _0x27033f=tryStat(_0xcf2e59);_0x27033f?.[_0x2ce07b(0xae)]()?rmSync(_0xcf2e59,{'recursive':!![],'force':!![]}):unlinkSync(_0xcf2e59);}catch(_0x447b34){_0x5110b9[_0x2ce07b(0x116)](_0xcf2e59+':\x20'+_0x447b34[_0x2ce07b(0x114)]);}}return{'step':0x3,'label':_0x2ce07b(0xcc),'ok':_0x5110b9[_0x2ce07b(0xad)]===0x0,'detail':_0x5110b9[_0x2ce07b(0xad)]>0x0?_0x17c815['length']-_0x5110b9['length']+'/'+_0x17c815[_0x2ce07b(0xad)]+_0x2ce07b(0x11a)+_0x5110b9[_0x2ce07b(0xb1)](';\x20')+')':_0x17c815[_0x2ce07b(0xad)]+'\x20removed'};}function execCleanMcp(_0x1f93ce){const _0x2f17b5=a117_0x1cc928;if(!_0x1f93ce[_0x2f17b5(0x109)])return{'step':0x4,'label':_0x2f17b5(0xa7),'ok':!![],'detail':'skipped'};try{const _0x4938b1=readFileSync(_0x1f93ce[_0x2f17b5(0x109)][_0x2f17b5(0xc9)],_0x2f17b5(0xf7)),_0x89d4e1=JSON[_0x2f17b5(0xd1)](_0x4938b1);if(_0x89d4e1?.['mcpServers']&&typeof _0x89d4e1['mcpServers']===_0x2f17b5(0xed)){const _0x59f9c3=[];for(const [_0x16c6d4,_0x5a0376]of Object['entries'](_0x89d4e1[_0x2f17b5(0xd0)])){_0x5a0376?.['args']&&Array[_0x2f17b5(0xb2)](_0x5a0376[_0x2f17b5(0xdb)])&&_0x5a0376[_0x2f17b5(0xdb)]['some'](_0x156233=>typeof _0x156233==='string'&&_0x156233[_0x2f17b5(0xce)](_0x2f17b5(0x122)))&&_0x59f9c3[_0x2f17b5(0x116)](_0x16c6d4);}for(const _0x147b4a of _0x59f9c3){delete _0x89d4e1[_0x2f17b5(0xd0)][_0x147b4a];}return _0x59f9c3[_0x2f17b5(0xad)]>0x0&&writeFileSync(_0x1f93ce[_0x2f17b5(0x109)][_0x2f17b5(0xc9)],JSON['stringify'](_0x89d4e1,null,0x2)+'\x0a',_0x2f17b5(0xf7)),{'step':0x4,'label':_0x2f17b5(0xa7),'ok':!![],'detail':'removed\x20'+_0x59f9c3['join'](',\x20')+'\x20from\x20'+_0x1f93ce['oldMcpConfig'][_0x2f17b5(0xc9)]};}return{'step':0x4,'label':_0x2f17b5(0xa7),'ok':!![],'detail':_0x2f17b5(0xe4)};}catch(_0x26ccd3){return{'step':0x4,'label':_0x2f17b5(0xa7),'ok':![],'detail':_0x26ccd3[_0x2f17b5(0x114)]};}}function execSkillsRemove(_0x5df726,_0x4642e7){const _0x78e69b=a117_0x1cc928,_0x586096=runNpxSkillsRemove(_0x5df726,{'stdio':'inherit','yes':_0x4642e7});return{'step':0x5,'label':_0x78e69b(0xec),'ok':_0x586096['ok'],'detail':_0x586096['ok']?_0x78e69b(0xf4):_0x586096[_0x78e69b(0xa6)]??_0x78e69b(0x11b)+_0x586096[_0x78e69b(0xcb)]};}function execSkillsAdd(_0x5a702a,_0x805494){const _0x384375=a117_0x1cc928,_0x2d96c0=runNpxSkillsAddGlobal(_0x5a702a,_0x384375(0x10f),{'stdio':'inherit','yes':_0x805494});return{'step':0x6,'label':_0x384375(0xa9),'ok':_0x2d96c0['ok'],'detail':_0x2d96c0['ok']?_0x384375(0xb8):_0x2d96c0[_0x384375(0xa6)]??_0x384375(0x11b)+_0x2d96c0[_0x384375(0xcb)]};}function execUpgradeSdk(_0x155c25){const _0x5710f5=a117_0x1cc928;if(!_0x155c25[_0x5710f5(0xd2)])return{'step':0x7,'label':_0x5710f5(0xde),'ok':!![],'detail':_0x5710f5(0xfc)};const {pkgPath:_0x13b415,currentVersion:_0x3df345,field:_0x25993a}=_0x155c25[_0x5710f5(0xd2)];try{const _0x118dc5=readFileSync(_0x13b415,'utf8'),_0x3d984d=JSON[_0x5710f5(0xd1)](_0x118dc5);return _0x3d984d[_0x25993a][_0x5710f5(0xc5)]=_0x5710f5(0xf1),writeFileSync(_0x13b415,JSON[_0x5710f5(0xd4)](_0x3d984d,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x5710f5(0xde),'ok':!![],'detail':_0x25993a+'[\x22@lovrabet/sdk\x22]:\x20'+_0x3df345+_0x5710f5(0xf9)};}catch(_0x57db8a){return{'step':0x7,'label':_0x5710f5(0xde),'ok':![],'detail':_0x57db8a[_0x5710f5(0x114)]};}}function tryStat(_0x3156a4){try{return statSync(_0x3156a4);}catch{return undefined;}}function printSummary(_0x3350d3){const _0x4bf979=a117_0x1cc928;console[_0x4bf979(0x115)](''),console[_0x4bf979(0x115)](a117_0x32b75f[_0x4bf979(0xe7)](_0x4bf979(0xfe))),console[_0x4bf979(0x115)]('');for(const _0xf11062 of _0x3350d3){const _0x4ee0a3=_0xf11062['ok']?a117_0x32b75f[_0x4bf979(0x100)]('OK'):a117_0x32b75f[_0x4bf979(0xdc)](_0x4bf979(0xc8));console['log']('\x20\x20'+_0x4ee0a3+_0x4bf979(0xbf)+_0xf11062[_0x4bf979(0x117)]+':\x20'+_0xf11062[_0x4bf979(0xbc)]);if(_0xf11062['detail'])console[_0x4bf979(0x115)](_0x4bf979(0xa0)+a117_0x32b75f[_0x4bf979(0xea)](_0xf11062[_0x4bf979(0xe8)]));}console['log']('');}export async function upgradeApp(_0x4cc047,_0x42676f){const _0xe9b24a=a117_0x1cc928,_0x4585e1=process['cwd'](),_0x1eba55=analyse(_0x4585e1),_0x5659b6=!_0x1eba55[_0xe9b24a(0xc0)]&&_0x1eba55[_0xe9b24a(0xd5)][_0xe9b24a(0xad)]===0x0&&!_0x1eba55[_0xe9b24a(0x109)]&&!_0x1eba55[_0xe9b24a(0xf5)]&&!_0x1eba55[_0xe9b24a(0xd2)];if(_0x5659b6){console['log'](a117_0x32b75f['green'](_0xe9b24a(0xe0)));return;}printReport(_0x1eba55);const _0x38fcda=!!(_0x42676f[_0xe9b24a(0xa4)]||_0x42676f['Y']||_0x4cc047);if(!_0x38fcda)try{const _0x2faeda=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x2faeda){console['log'](a117_0x32b75f[_0xe9b24a(0xea)](_0xe9b24a(0xb4)));return;}}catch(_0x360d51){if(_0x360d51?.[_0xe9b24a(0x114)]==='CANCEL'){console[_0xe9b24a(0x115)](a117_0x32b75f['gray'](_0xe9b24a(0xb4)));return;}throw _0x360d51;}const _0x12176b=[],_0x657fa6=a117_0xeb17f3({'text':_0xe9b24a(0xda),'color':_0xe9b24a(0xeb)})[_0xe9b24a(0xf0)](),_0x130753=execConfigMigration(_0x1eba55,_0x4585e1);_0x12176b[_0xe9b24a(0x116)](_0x130753),_0x657fa6[_0x130753['ok']?_0xe9b24a(0xb5):_0xe9b24a(0x105)](_0xe9b24a(0xc7)+(_0x130753['detail']??(_0x130753['ok']?'done':'failed')));const _0x394727=resolve(_0x4585e1,'.lovrabet'),_0x4e2c16=a117_0xeb17f3({'text':_0xe9b24a(0xcf),'color':_0xe9b24a(0xeb)})[_0xe9b24a(0xf0)]();if(existsSync(_0x394727))try{rmSync(_0x394727,{'recursive':!![],'force':!![]}),_0x4e2c16[_0xe9b24a(0xb5)](_0xe9b24a(0x10c)),_0x12176b[_0xe9b24a(0x116)]({'step':0x2,'label':_0xe9b24a(0xf8),'ok':!![]});}catch(_0x361a16){_0x4e2c16[_0xe9b24a(0x105)](_0xe9b24a(0xf6)+_0x361a16['message']),_0x12176b[_0xe9b24a(0x116)]({'step':0x2,'label':_0xe9b24a(0xf8),'ok':![],'detail':_0x361a16['message']});}else _0x4e2c16[_0xe9b24a(0xdf)](_0xe9b24a(0xbe)),_0x12176b[_0xe9b24a(0x116)]({'step':0x2,'label':_0xe9b24a(0xf8),'ok':!![],'detail':_0xe9b24a(0xd9)});const _0x14aa05=a117_0xeb17f3({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':'cyan'})[_0xe9b24a(0xf0)](),_0x3a8679=execRemoveOldArtifacts(_0x1eba55[_0xe9b24a(0xd5)]);_0x12176b[_0xe9b24a(0x116)](_0x3a8679),_0x14aa05[_0x3a8679['ok']?'succeed':_0xe9b24a(0x105)](_0xe9b24a(0xb7)+(_0x3a8679['detail']??(_0x3a8679['ok']?_0xe9b24a(0xbb):_0xe9b24a(0xc6))));const _0x2521be=a117_0xeb17f3({'text':_0xe9b24a(0x121),'color':_0xe9b24a(0xeb)})['start'](),_0x4519fa=execCleanMcp(_0x1eba55);_0x12176b[_0xe9b24a(0x116)](_0x4519fa),_0x2521be[_0x4519fa['ok']?'succeed':_0xe9b24a(0x105)](_0xe9b24a(0x101)+(_0x4519fa[_0xe9b24a(0xe8)]??(_0x4519fa['ok']?'done':'failed')));const _0x3a59c1=a117_0xeb17f3({'text':_0xe9b24a(0xe1),'color':_0xe9b24a(0xeb)})[_0xe9b24a(0xf0)](),_0x55cb72=execSkillsRemove(_0x4585e1,_0x38fcda);_0x12176b[_0xe9b24a(0x116)](_0x55cb72),_0x3a59c1[_0x55cb72['ok']?_0xe9b24a(0xb5):_0xe9b24a(0x105)](_0xe9b24a(0xd3)+(_0x55cb72[_0xe9b24a(0xe8)]??(_0x55cb72['ok']?_0xe9b24a(0xbb):_0xe9b24a(0xc6))));const _0x61d9f=a117_0xeb17f3({'text':_0xe9b24a(0xff),'color':'cyan'})[_0xe9b24a(0xf0)](),_0x246d5f=execSkillsAdd(_0x4585e1,_0x38fcda);_0x12176b[_0xe9b24a(0x116)](_0x246d5f),_0x61d9f[_0x246d5f['ok']?'succeed':'fail'](_0xe9b24a(0xc2)+(_0x246d5f[_0xe9b24a(0xe8)]??(_0x246d5f['ok']?'done':_0xe9b24a(0xc6))));const _0x3bb65b=a117_0xeb17f3({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':'cyan'})[_0xe9b24a(0xf0)](),_0x23771f=execUpgradeSdk(_0x1eba55);_0x12176b[_0xe9b24a(0x116)](_0x23771f),_0x3bb65b[_0x23771f['ok']?_0xe9b24a(0xb5):'fail'](_0xe9b24a(0x11e)+(_0x23771f[_0xe9b24a(0xe8)]??(_0x23771f['ok']?'done':_0xe9b24a(0xc6)))),printSummary(_0x12176b);const _0x471f31=_0x12176b[_0xe9b24a(0xfb)](_0x15bbcd=>!_0x15bbcd['ok']);_0x471f31?console[_0xe9b24a(0x115)](a117_0x32b75f[_0xe9b24a(0xa3)](_0xe9b24a(0xf3))):console[_0xe9b24a(0x115)](a117_0x32b75f[_0xe9b24a(0x100)](_0xe9b24a(0xf2))),_0x23771f['ok']&&_0x1eba55['sdkUpgrade']&&(console[_0xe9b24a(0x115)](''),console[_0xe9b24a(0x115)](a117_0x32b75f[_0xe9b24a(0xe7)][_0xe9b24a(0xeb)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0xe9b24a(0x115)](a117_0x32b75f['cyan'](_0xe9b24a(0x111))),console[_0xe9b24a(0x115)](''),console['log'](a117_0x32b75f['white'](_0xe9b24a(0xe2))),console['log'](a117_0x32b75f[_0xe9b24a(0xa2)]('\x20\x20#\x20or')),console[_0xe9b24a(0x115)](a117_0x32b75f[_0xe9b24a(0xa2)](_0xe9b24a(0x11d))),console[_0xe9b24a(0x115)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x37b642=a118_0x21a8;(function(_0x2b3a1f,_0x51ea58){const _0x33fbe6=a118_0x21a8,_0xa87e59=_0x2b3a1f();while(!![]){try{const _0x4488a4=parseInt(_0x33fbe6(0xd4))/0x1+parseInt(_0x33fbe6(0xec))/0x2+parseInt(_0x33fbe6(0xe4))/0x3+-parseInt(_0x33fbe6(0xc9))/0x4+parseInt(_0x33fbe6(0xcf))/0x5+parseInt(_0x33fbe6(0xe0))/0x6+-parseInt(_0x33fbe6(0xe8))/0x7;if(_0x4488a4===_0x51ea58)break;else _0xa87e59['push'](_0xa87e59['shift']());}catch(_0x7fc04a){_0xa87e59['push'](_0xa87e59['shift']());}}}(a118_0x11e1,0xa3eed));import{apiDefinitions}from'../commands/api/index.js';function a118_0x11e1(){const _0x5f2f6f=['commands','SQL\x20Queries','Project','2451250fwcgTm','write','length','get','service','969472SmccPD','Instant\x20API','from','auth','isSingleCommand','run','\x20\x20[high-risk-write]','Logs','Quick\x20Start','install','login','set','166110RVwXwL','\x20\x20[write]','start','Self\x20Update','2852613XaqAat','API','project','command','14970186jqhLfA','show','Dataset\x20&\x20Operations','skill','978412wgoyJw','values','build','wildcardDef','Smart\x20List\x20Pages','read','risk','has','push','create','Run\x20Scripts','469668ylhInM','BFF\x20Scripts','defaultCommand'];a118_0x11e1=function(){return _0x5f2f6f;};return a118_0x11e1();}import{bffDefinitions}from'../commands/bff/index.js';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{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';function a118_0x21a8(_0xdbe4ca,_0x50d1ec){_0xdbe4ca=_0xdbe4ca-0xc9;const _0x11e11f=a118_0x11e1();let _0x21a80d=_0x11e11f[_0xdbe4ca];return _0x21a80d;}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(_0x4ee2a8){const _0x264c83=a118_0x21a8;for(const _0x16ae0d of _0x4ee2a8){definitions[_0x264c83(0xdf)](_0x16ae0d[_0x264c83(0xd3)]+':'+_0x16ae0d[_0x264c83(0xe7)],_0x16ae0d);let _0x50971d=serviceGroups[_0x264c83(0xd2)](_0x16ae0d[_0x264c83(0xd3)]);!_0x50971d&&(_0x50971d=[],serviceGroups['set'](_0x16ae0d[_0x264c83(0xd3)],_0x50971d)),_0x50971d[_0x264c83(0xf4)](_0x16ae0d);}}function registerDeclarativeService(_0x464fad,_0x25e160,_0x1800d2){const _0x1549e5=a118_0x21a8;registerDefinitions(_0x25e160);_0x1800d2?.[_0x1549e5(0xef)]&®isterDefinitions([_0x1800d2[_0x1549e5(0xef)]]);const _0x40506a=_0x4867b7=>_0x4867b7===_0x1549e5(0xf1)?'':_0x4867b7===_0x1549e5(0xd0)?_0x1549e5(0xe1):_0x1549e5(0xda),_0x3eaa1b={'service':_0x25e160[0x0][_0x1549e5(0xd3)],'label':_0x464fad,'commands':_0x25e160['map'](_0x27dbcf=>({'command':_0x27dbcf[_0x1549e5(0xe7)],'description':_0x27dbcf['description'],'tag':_0x40506a(_0x27dbcf[_0x1549e5(0xf2)])})),'declarative':!![],'defaultCommand':_0x1800d2?.[_0x1549e5(0xcb)]??(_0x1800d2?.[_0x1549e5(0xd8)]?_0x25e160[0x0][_0x1549e5(0xe7)]:undefined),'wildcardDef':_0x1800d2?.[_0x1549e5(0xef)],'isSingleCommand':_0x1800d2?.[_0x1549e5(0xd8)]};serviceRegistry[_0x1549e5(0xf4)](_0x3eaa1b),serviceByName[_0x1549e5(0xdf)](_0x3eaa1b[_0x1549e5(0xd3)],_0x3eaa1b);}registerDeclarativeService(a118_0x37b642(0xdc),initDefinitions,{'defaultCommand':a118_0x37b642(0xd9),'isSingleCommand':!![]}),registerDeclarativeService(a118_0x37b642(0xce),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a118_0x37b642(0xf6),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a118_0x37b642(0xd1)]-0x1];last[a118_0x37b642(0xcc)]=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a118_0x37b642(0xde)}),registerDeclarativeService(a118_0x37b642(0xe3),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a118_0x37b642(0xe5),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a118_0x37b642(0xea),datasetDefinitions),registerDeclarativeService(a118_0x37b642(0xf0),pageDefinitions),registerDeclarativeService(a118_0x37b642(0xd5),dataDefinitions),registerDeclarativeService(a118_0x37b642(0xca),bffDefinitions),registerDeclarativeService(a118_0x37b642(0xcd),sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a118_0x37b642(0xdb),logsDefinitions,{'defaultCommand':a118_0x37b642(0xe9)});export const deprecatedAliases={'create':{'service':a118_0x37b642(0xe6),'command':a118_0x37b642(0xf5)},'start':{'service':'run','command':a118_0x37b642(0xe2)},'build':{'service':'run','command':a118_0x37b642(0xee)},'preview':{'service':a118_0x37b642(0xd9),'command':'preview'},'logout':{'service':a118_0x37b642(0xd7),'command':'logout'},'skills':{'service':a118_0x37b642(0xeb),'command':a118_0x37b642(0xdd)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a118_0x37b642(0xf5)}};export function resolveDeprecatedSubcommand(_0x4f7499,_0x1bbc69){return deprecatedSubcommands[_0x4f7499]?.[_0x1bbc69];}export function findDefinition(_0x3c7586,_0x306cc0){const _0x326501=a118_0x37b642;return definitions[_0x326501(0xd2)](_0x3c7586+':'+_0x306cc0);}export function isKnownService(_0x3120a9){return serviceByName['has'](_0x3120a9);}export function isDeclarativeService(_0x2a75aa){const _0x86bda=a118_0x37b642;return serviceGroups[_0x86bda(0xf3)](_0x2a75aa)||serviceByName['get'](_0x2a75aa)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x356826){const _0x43075a=a118_0x37b642;return serviceByName[_0x43075a(0xd2)](_0x356826);}export function getLegacyHandler(_0x377e9f,_0x1f55b9){return undefined;}export function getAllDefinitions(){const _0x35a791=a118_0x37b642;return Array[_0x35a791(0xd6)](definitions[_0x35a791(0xed)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a119_0x427920=a119_0x530d;function a119_0x530d(_0x59e64e,_0x219223){_0x59e64e=_0x59e64e-0xc3;const _0x53c068=a119_0x53c0();let _0x530d49=_0x53c068[_0x59e64e];return _0x530d49;}(function(_0x59c12e,_0x23d51e){const _0x55c03b=a119_0x530d,_0x26365f=_0x59c12e();while(!![]){try{const _0x10c7de=-parseInt(_0x55c03b(0xe8))/0x1*(-parseInt(_0x55c03b(0xd4))/0x2)+parseInt(_0x55c03b(0xf8))/0x3*(parseInt(_0x55c03b(0xef))/0x4)+parseInt(_0x55c03b(0xf0))/0x5+-parseInt(_0x55c03b(0xd3))/0x6+-parseInt(_0x55c03b(0xd0))/0x7+-parseInt(_0x55c03b(0xfe))/0x8*(-parseInt(_0x55c03b(0xda))/0x9)+-parseInt(_0x55c03b(0xdf))/0xa*(-parseInt(_0x55c03b(0xd8))/0xb);if(_0x10c7de===_0x23d51e)break;else _0x26365f['push'](_0x26365f['shift']());}catch(_0x38b1d0){_0x26365f['push'](_0x26365f['shift']());}}}(a119_0x53c0,0xd40d0));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([a119_0x427920(0x105),'dev']);function readPackageScripts(_0xee8bdb){const _0x2bde83=a119_0x427920,_0x49c629=resolve(_0xee8bdb,_0x2bde83(0xd1));if(!existsSync(_0x49c629))return null;try{const _0x2e737c=JSON[_0x2bde83(0xdc)](readFileSync(_0x49c629,_0x2bde83(0xf1)));return _0x2e737c['scripts']??{};}catch{return null;}}function detectPackageManager(_0x2df102){const _0x27b8e7=a119_0x427920;if(existsSync(resolve(_0x2df102,_0x27b8e7(0xc4)))||existsSync(resolve(_0x2df102,_0x27b8e7(0xe5))))return _0x27b8e7(0xc5);if(existsSync(resolve(_0x2df102,_0x27b8e7(0xfc))))return'pnpm';if(existsSync(resolve(_0x2df102,_0x27b8e7(0xf3))))return _0x27b8e7(0xf4);return _0x27b8e7(0xea);}async function versionCheck(_0x34bd0c){const _0x556ffa=a119_0x427920,_0xdb9011=await checkCliVersion();(_0xdb9011['needsUpgrade']||_0xdb9011[_0x556ffa(0xf6)])&&(printCliUpgradeWarning(_0xdb9011),assertCliVersionSupported(_0xdb9011));const _0x22021d=await checkSdkVersion(_0x34bd0c);if(_0x22021d['needsUpgrade'])printSdkUpgradeWarning(_0x22021d);}function spawnScript(_0xfffa49,_0x8f1afd,_0x591e6a,_0x28b679){return new Promise((_0x5231c1,_0x2d1d3c)=>{const _0x2a5e14=a119_0x530d,_0x3f4310=['run',_0x8f1afd,..._0x591e6a],_0x1ff880=spawn(_0xfffa49,_0x3f4310,{'cwd':_0x28b679,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x28b679,'node_modules',_0x2a5e14(0xf7))+delimiter+process.env.PATH}});_0x1ff880['on'](_0x2a5e14(0xc9),_0x4332e4=>{const _0x2accf2=_0x2a5e14;if(_0x4332e4===0x0||_0x4332e4===null)_0x5231c1();else _0x2d1d3c(new Error(_0xfffa49+'\x20run\x20'+_0x8f1afd+_0x2accf2(0xf9)+_0x4332e4));}),_0x1ff880['on']('error',_0x2d1d3c);});}function spawnViteBuildWatch(_0x4158a2){return new Promise((_0x59f840,_0xb9de7d)=>{const _0x104db7=a119_0x530d,_0x5c48bf=spawn(_0x104db7(0x100),['build','--watch'],{'cwd':_0x4158a2,'stdio':_0x104db7(0xd7),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4158a2,'node_modules',_0x104db7(0xf7))+delimiter+process.env.PATH}});_0x5c48bf['on'](_0x104db7(0xc9),_0x2967b6=>{if(_0x2967b6===0x0||_0x2967b6===null)_0x59f840();else _0xb9de7d(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x2967b6));}),_0x5c48bf['on']('error',_0xb9de7d);});}function spawnVitePreview(_0x422831){return new Promise((_0x57331e,_0x391849)=>{const _0x2b605f=a119_0x530d,_0x449a17=spawn(_0x2b605f(0x100),[_0x2b605f(0xc8)],{'cwd':_0x422831,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x422831,_0x2b605f(0xd6),_0x2b605f(0xf7))+delimiter+process.env.PATH}});_0x449a17['on'](_0x2b605f(0xc9),_0x537c91=>{const _0x3c9dd0=_0x2b605f;if(_0x537c91===0x0||_0x537c91===null)_0x57331e();else _0x391849(new Error(_0x3c9dd0(0xed)+_0x537c91));}),_0x449a17['on'](_0x2b605f(0xce),_0x391849);});}function a119_0x53c0(){const _0x1440a6=['.bin','3urnOtY','\x20exited\x20with\x20code\x20','No\x20scripts\x20defined\x20in\x20package.json.','args','pnpm-lock.yaml','boolean','2825608eCoFLQ','entries','vite','cwd','join','watch','\x20run\x20<script>\x0a','start','keys','padEnd','bun.lockb','bun','max','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','preview','close','\x20\x20\x20\x20','\x0a\x20\x20Usage:\x20','Available:\x20','validation','error','\x22\x20not\x20found\x20in\x20package.json.','10099306kraWCs','package.json','\x20run\x20','10178484ZpNURF','1082GdhBCT','all','node_modules','inherit','55mUTibp','\x20run\x20preview','9VFuUge','map','parse','slice','bool','2973410fZHlEt','\x20\x20EXAMPLES','script','Script\x20name\x20defined\x20in\x20package.json','has','\x20run\x20build','bun.lock','Run\x20a\x20package.json\x20script','run','563otmlpR','No\x20package.json\x20found\x20in\x20current\x20directory.','npm','read','log','vite\x20preview\x20exited\x20with\x20code\x20','push','4112924MGYuws','4175060kSLNSS','utf-8','length','yarn.lock','yarn','(none)','belowMinimum'];a119_0x53c0=function(){return _0x1440a6;};return a119_0x53c0();}const runFlags=[{'name':'watch','type':a119_0x427920(0xfd),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a119_0x427920(0xe7),'command':a119_0x427920(0xe7),'description':a119_0x427920(0xe6),'risk':a119_0x427920(0xeb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a119_0x427920(0xe1),'description':a119_0x427920(0xe2),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x23fdbe=a119_0x427920,_0x3a3403=readPackageScripts(process[_0x23fdbe(0x101)]()),_0x51c869=[];if(_0x3a3403&&Object[_0x23fdbe(0x106)](_0x3a3403)[_0x23fdbe(0xf2)]>0x0){const _0x5503af=Object['keys'](_0x3a3403),_0x8c875d=Math['max'](..._0x5503af[_0x23fdbe(0xdb)](_0x30cbb8=>_0x30cbb8[_0x23fdbe(0xf2)]));_0x51c869[_0x23fdbe(0xee)]('\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)');for(const [_0x217253,_0x48a583]of Object[_0x23fdbe(0xff)](_0x3a3403)){_0x51c869[_0x23fdbe(0xee)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x23fdbe(0xd2)+_0x217253[_0x23fdbe(0xc3)](_0x8c875d+0x2)+'#\x20'+_0x48a583);}}else _0x51c869[_0x23fdbe(0xee)](_0x23fdbe(0xe0)),_0x51c869[_0x23fdbe(0xee)](_0x23fdbe(0xca)+CLI_BIN_NAME+'\x20run\x20start'),_0x51c869[_0x23fdbe(0xee)](_0x23fdbe(0xca)+CLI_BIN_NAME+_0x23fdbe(0xe4)),_0x51c869[_0x23fdbe(0xee)](_0x23fdbe(0xca)+CLI_BIN_NAME+_0x23fdbe(0xd9)),_0x51c869[_0x23fdbe(0xee)](_0x23fdbe(0xca)+CLI_BIN_NAME+_0x23fdbe(0xc7));return _0x51c869[_0x23fdbe(0x102)]('\x0a');},async 'execute'(_0x4661dc){const _0x4657ff=a119_0x427920,_0x498199=process['cwd'](),_0x4667f3=_0x4661dc[_0x4657ff(0xfb)][0x0],_0x22a170=_0x4661dc[_0x4657ff(0xfb)][_0x4657ff(0xdd)](0x1),_0x2e616e=readPackageScripts(_0x498199);if(!_0x2e616e)throw CliErrors[_0x4657ff(0xcd)](_0x4657ff(0xe9));if(!_0x4667f3){const _0x523792=Object['keys'](_0x2e616e);if(_0x523792[_0x4657ff(0xf2)]===0x0)console['log'](_0x4657ff(0xfa));else{console[_0x4657ff(0xec)]('\x0a\x20\x20Available\x20scripts:\x0a');const _0x5518ba=Math[_0x4657ff(0xc6)](..._0x523792[_0x4657ff(0xdb)](_0x24aede=>_0x24aede['length']));for(const [_0x8649d0,_0x31ccb2]of Object[_0x4657ff(0xff)](_0x2e616e)){console['log'](_0x4657ff(0xca)+_0x8649d0[_0x4657ff(0xc3)](_0x5518ba+0x2)+_0x31ccb2);}console[_0x4657ff(0xec)](_0x4657ff(0xcb)+CLI_BIN_NAME+_0x4657ff(0x104));}return{'ok':!![]};}if(!_0x2e616e[_0x4667f3])throw CliErrors['validation']('Script\x20\x22'+_0x4667f3+_0x4657ff(0xcf),_0x4657ff(0xcc)+(Object[_0x4657ff(0x106)](_0x2e616e)[_0x4657ff(0x102)](',\x20')||_0x4657ff(0xf5)));const _0x4fe3ae=detectPackageManager(_0x498199);VERSION_CHECK_SCRIPTS[_0x4657ff(0xe3)](_0x4667f3)&&await versionCheck(_0x498199);if(_0x4667f3===_0x4657ff(0xc8)&&_0x4661dc[_0x4657ff(0xde)](_0x4657ff(0x103)))return await Promise[_0x4657ff(0xd5)]([spawnViteBuildWatch(_0x498199),spawnVitePreview(_0x498199)]),{'ok':!![]};return await spawnScript(_0x4fe3ae,_0x4667f3,_0x22a170,_0x498199),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a120_0xe4fe36=a120_0x32bf;(function(_0x3ba568,_0x409e6){const _0x35b10c=a120_0x32bf,_0x235f3d=_0x3ba568();while(!![]){try{const _0x416551=parseInt(_0x35b10c(0x19d))/0x1+parseInt(_0x35b10c(0x192))/0x2*(-parseInt(_0x35b10c(0x196))/0x3)+-parseInt(_0x35b10c(0x19b))/0x4*(parseInt(_0x35b10c(0x19c))/0x5)+parseInt(_0x35b10c(0x199))/0x6+-parseInt(_0x35b10c(0x19a))/0x7+-parseInt(_0x35b10c(0x194))/0x8*(parseInt(_0x35b10c(0x193))/0x9)+-parseInt(_0x35b10c(0x190))/0xa*(-parseInt(_0x35b10c(0x191))/0xb);if(_0x416551===_0x409e6)break;else _0x235f3d['push'](_0x235f3d['shift']());}catch(_0x7f00a){_0x235f3d['push'](_0x235f3d['shift']());}}}(a120_0x43bd,0x5a25f));import{buildSchemaPayload}from'../framework/schema-export.js';function a120_0x32bf(_0x22d310,_0x2e8cfc){_0x22d310=_0x22d310-0x18f;const _0x43bdc3=a120_0x43bd();let _0x32bf53=_0x43bdc3[_0x22d310];return _0x32bf53;}function a120_0x43bd(){const _0x9d14f0=['13726306iKlRPl','2dQwRUo','201087nHBYKF','64ayCEnm','schema','195963VcgWid','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1873266mxlIgX','1589742wNwltD','3532ddbATe','4160AnNtoC','15017KizOHA','json','10iQSIes'];a120_0x43bd=function(){return _0x9d14f0;};return a120_0x43bd();}async function execute(_0x4490c5){const _0x59d81a=await buildSchemaPayload();return{'ok':!![],'data':_0x59d81a};}export const schemaDefinition={'service':a120_0xe4fe36(0x195),'command':a120_0xe4fe36(0x197),'description':a120_0xe4fe36(0x198),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a120_0xe4fe36(0x18f),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a121_0x534e6a=a121_0x4acf;(function(_0x377eb2,_0x257a71){const _0x23df65=a121_0x4acf,_0x3e8b49=_0x377eb2();while(!![]){try{const _0x7b6da8=parseInt(_0x23df65(0xaa))/0x1*(parseInt(_0x23df65(0x97))/0x2)+-parseInt(_0x23df65(0xa5))/0x3+-parseInt(_0x23df65(0x96))/0x4*(-parseInt(_0x23df65(0xa1))/0x5)+-parseInt(_0x23df65(0x8e))/0x6+parseInt(_0x23df65(0x94))/0x7*(parseInt(_0x23df65(0xa4))/0x8)+-parseInt(_0x23df65(0xa8))/0x9*(-parseInt(_0x23df65(0x9a))/0xa)+-parseInt(_0x23df65(0x91))/0xb;if(_0x7b6da8===_0x257a71)break;else _0x3e8b49['push'](_0x3e8b49['shift']());}catch(_0x3313e8){_0x3e8b49['push'](_0x3e8b49['shift']());}}}(a121_0x2366,0x8bc43));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a121_0x2366(){const _0x670adb=['Install\x20developer\x20skill\x20package','cwd','11359942TcnFgA','Check\x20network\x20connectivity\x20and\x20try\x20again.','unknown','631078Yhyqbe','skill-install','4ObMEMt','133916vScPGA','install',')...','20QzOGPc','error','nonInteractive','info','lovrabet/rabetbase','write','\x20skill\x20installed','4682435CiYSZS','inherit','npx\x20skills\x20add\x20failed:\x20','88JmHAHH','707247rEQHFX','log','apiError','4058118wnPMtQ','pipe','1DoPnzG','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','6335934yRVVta'];a121_0x2366=function(){return _0x670adb;};return a121_0x2366();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';function a121_0x4acf(_0x125d0b,_0x133ada){_0x125d0b=_0x125d0b-0x8e;const _0x2366c9=a121_0x2366();let _0x4acf1d=_0x2366c9[_0x125d0b];return _0x4acf1d;}export const skillDefinitions=[{'service':'skill','command':a121_0x534e6a(0x98),'description':a121_0x534e6a(0x8f),'risk':a121_0x534e6a(0x9f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x963361){const _0x4c20de=a121_0x534e6a;logger['setLogPath'](process[_0x4c20de(0x90)]()),logger[_0x4c20de(0x9d)](_0x4c20de(0x95),_0x4c20de(0xab));const {runNpxSkillsAddGlobal:_0x52ccfe}=await import('../../skills/npx-skills-add.js'),_0x2f51d7=_0x963361[_0x4c20de(0x9c)]?_0x4c20de(0xa9):_0x4c20de(0xa2);console[_0x4c20de(0xa6)]('Installing\x20official\x20skill\x20via\x20npx\x20('+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x4c20de(0x99));const _0x18f009=_0x52ccfe(process[_0x4c20de(0x90)](),_0x4c20de(0x9e),{'stdio':_0x2f51d7});if(_0x18f009['skipped'])console[_0x4c20de(0xa6)]('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x18f009['ok'])console[_0x4c20de(0xa6)](CLI_BIN_NAME+_0x4c20de(0xa0));else throw CliErrors[_0x4c20de(0xa7)](_0x4c20de(0xa3)+(_0x18f009[_0x4c20de(0x9b)]||_0x4c20de(0x93)),_0x4c20de(0x92));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a121_0x2c01c2=a121_0x1942;(function(_0x4f5837,_0x1a6550){const _0x1e5578=a121_0x1942,_0x3d6219=_0x4f5837();while(!![]){try{const _0x3a8b2b=parseInt(_0x1e5578(0x99))/0x1*(parseInt(_0x1e5578(0x9e))/0x2)+-parseInt(_0x1e5578(0x92))/0x3*(parseInt(_0x1e5578(0x9d))/0x4)+parseInt(_0x1e5578(0x8f))/0x5*(parseInt(_0x1e5578(0x73))/0x6)+parseInt(_0x1e5578(0x90))/0x7+parseInt(_0x1e5578(0x75))/0x8*(parseInt(_0x1e5578(0xaa))/0x9)+-parseInt(_0x1e5578(0x6a))/0xa+parseInt(_0x1e5578(0x6c))/0xb*(-parseInt(_0x1e5578(0x6e))/0xc);if(_0x3a8b2b===_0x1a6550)break;else _0x3d6219['push'](_0x3d6219['shift']());}catch(_0x9e1597){_0x3d6219['push'](_0x3d6219['shift']());}}}(a121_0x259e,0xecb57));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 a121_0x1942(_0x9be21b,_0x2bbb7a){_0x9be21b=_0x9be21b-0x69;const _0x259ecf=a121_0x259e();let _0x1942ff=_0x259ecf[_0x9be21b];return _0x1942ff;}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(_0x405dd8){const _0xb04002=a121_0x1942;if(_0x405dd8===_0xb04002(0xa3))return[_0xb04002(0x79),_0xb04002(0x85),_0xb04002(0x6d),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0xb04002(0x8e)]('\x0a');}export const sqlCreate={'service':a121_0x2c01c2(0x9b),'command':a121_0x2c01c2(0x6f),'description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a121_0x2c01c2(0xa5),'flags':[{'name':a121_0x2c01c2(0x81),'type':'string','description':a121_0x2c01c2(0x76)},{'name':a121_0x2c01c2(0x78),'type':a121_0x2c01c2(0x71),'description':a121_0x2c01c2(0x97)},{'name':a121_0x2c01c2(0x83),'type':a121_0x2c01c2(0xa2),'enum':['sql','mybatisXml'],'description':a121_0x2c01c2(0x96)}],async 'validate'(_0x23c7ef){const _0x440d7e=a121_0x2c01c2;if(!_0x23c7ef['nonInteractive'])return;if(!_0x23c7ef['str'](_0x440d7e(0x81))['trim']())throw CliErrors[_0x440d7e(0x7a)](_0x440d7e(0x81),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x5cff6b=resolveProvidedDbId(_0x23c7ef);if(typeof _0x5cff6b!=='number'||!Number[_0x440d7e(0x9c)](_0x5cff6b)||_0x5cff6b<=0x0)throw CliErrors[_0x440d7e(0x7a)](_0x440d7e(0x78),_0x440d7e(0x8c));if(!_0x23c7ef[_0x440d7e(0x91)](_0x440d7e(0x83))[_0x440d7e(0x93)]())throw CliErrors[_0x440d7e(0x7a)](_0x440d7e(0x83),_0x440d7e(0x72));},async 'dryRun'(_0x400058){const _0x27399d=a121_0x2c01c2,_0xfe71bb=loadSqlProjectConfig(_0x400058[_0x27399d(0xa1)]),{sqlName:_0x4794a2,dbId:_0x416b35,dbName:_0x338b36,mode:_0x5aa5bd}=await resolveSqlNewInputs(_0x400058),_0x23f2d5=buildSqlRelativePath(_0x27399d(0x6b),_0x4794a2,_0x338b36,_0x5aa5bd,_0x416b35),_0x377c21=_0xfe71bb[_0x27399d(0xa9)]+'/'+_0x23f2d5;return{'method':'POST','url':_0x27399d(0x9a),'body':{'appCode':_0x400058[_0x27399d(0xa1)],'sqlName':_0x4794a2,'dbId':_0x416b35,'mode':_0x5aa5bd,'localPath':_0x377c21},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0xfe71bb[_0x27399d(0xa9)]};},async 'execute'(_0x5c9994){const _0x766944=a121_0x2c01c2,_0x29c242=loadSqlProjectConfig(_0x5c9994[_0x766944(0xa1)]),{sqlName:_0x2602d7,dbId:_0x50b153,dbName:_0x36834c,mode:_0x764b89}=await resolveSqlNewInputs(_0x5c9994),_0x57a918=generateSqlTemplate(_0x764b89),_0x3106df=await createSqlQuery({'appCode':_0x5c9994[_0x766944(0xa1)],'sqlName':_0x2602d7,'dbId':_0x50b153,'sqlContent':_0x57a918}),_0x4a0b5f=ensureRemoteSqlContent(_0x3106df),_0x57d433=_0x36834c||await getDbName(_0x5c9994['appCode'],_0x50b153)[_0x766944(0x70)](()=>undefined),_0x2bcb1d=buildSqlRelativePath(_0x3106df[_0x766944(0x8b)],_0x3106df['sqlName'],_0x57d433,_0x764b89,_0x50b153),_0x44f91e=_0x29c242['sqlRootDir']+'/'+_0x2bcb1d,_0x59db3d=buildLocalSqlFileContent({'sqlCode':_0x3106df[_0x766944(0x8b)],'sqlName':_0x3106df[_0x766944(0x69)],'dbId':_0x3106df[_0x766944(0x9f)]},_0x4a0b5f,{'dbName':_0x57d433,'mode':_0x764b89,'syncedAt':new Date()[_0x766944(0x8d)](),'description':_0x3106df['description']});if(await fileExists(_0x44f91e))throw CliErrors['validation'](_0x766944(0x8a)+_0x44f91e);await ensureParentDirectory(_0x44f91e),await writeFile(_0x44f91e,_0x59db3d,'utf8');const _0x2faa04=await readSqlLockFile(_0x29c242[_0x766944(0x89)]),{lockData:_0x509ef7,appLock:_0x4bd8ad}=ensureSqlLockScope(_0x2faa04??createEmptySqlLock(),_0x29c242['appCode'],_0x29c242['sqlRoot'],'new');return _0x4bd8ad['sqls'][_0x3106df[_0x766944(0x8b)]]={...buildSqlLockEntry(_0x3106df,_0x4a0b5f,computeSqlContentHash(_0x59db3d),{'dbName':_0x57d433}),'path':_0x2bcb1d,'mode':_0x764b89},_0x4bd8ad[_0x766944(0x7c)]=new Date()[_0x766944(0x8d)](),await writeSqlLockFile(_0x29c242[_0x766944(0x89)],_0x509ef7),{'ok':!![],'data':{'id':_0x3106df['id'],'sqlCode':_0x3106df[_0x766944(0x8b)],'sqlName':_0x3106df[_0x766944(0x69)],'dbId':_0x3106df[_0x766944(0x9f)],'path':_0x44f91e,'mode':_0x764b89},'message':_0x766944(0x7f)+_0x3106df['sqlCode']};}};async function resolveSqlNewInputs(_0xc40851){const _0x2f78da=await resolveSqlNameInput(_0xc40851),{dbId:_0x4a6a88,dbName:_0x2a3a43}=await resolveDbSelection(_0xc40851),_0x227c43=await resolveSqlModeInput(_0xc40851);return{'sqlName':_0x2f78da,'dbId':_0x4a6a88,'dbName':_0x2a3a43,'mode':_0x227c43};}async function resolveSqlNameInput(_0x1f247f){const _0x32db71=a121_0x2c01c2,_0x234de8=_0x1f247f[_0x32db71(0x91)]('name')[_0x32db71(0x93)]();if(_0x234de8)return _0x234de8;if(_0x1f247f['nonInteractive'])throw CliErrors[_0x32db71(0x7a)](_0x32db71(0x81),_0x32db71(0x95));return(await input({'message':_0x32db71(0x80),'validate':_0x2d2cd1=>_0x2d2cd1[_0x32db71(0x93)]()?!![]:_0x32db71(0xa8)}))[_0x32db71(0x93)]();}async function resolveDbSelection(_0xfd1a02){const _0x1bd0ce=a121_0x2c01c2,_0x2ae976=resolveProvidedDbId(_0xfd1a02);if(typeof _0x2ae976===_0x1bd0ce(0x71)&&Number[_0x1bd0ce(0x9c)](_0x2ae976)&&_0x2ae976>0x0)return{'dbId':_0x2ae976,'dbName':await getDbName(_0xfd1a02[_0x1bd0ce(0xa1)],_0x2ae976)['catch'](()=>undefined)};if(_0xfd1a02['nonInteractive'])throw CliErrors[_0x1bd0ce(0x7a)](_0x1bd0ce(0x78),_0x1bd0ce(0x8c));const _0x4512dd=await listDatabases(_0xfd1a02[_0x1bd0ce(0xa1)])[_0x1bd0ce(0x70)](()=>[]);if(_0x4512dd[_0x1bd0ce(0xa7)]===0x1)return{'dbId':_0x4512dd[0x0][_0x1bd0ce(0x9f)],'dbName':_0x4512dd[0x0][_0x1bd0ce(0xa6)]};if(_0x4512dd[_0x1bd0ce(0xa7)]>0x1){const _0x44a2e5=await select({'message':'请选择目标数据库:','choices':[..._0x4512dd['map'](_0x49de4b=>({'name':_0x49de4b['dbName']+'\x20('+_0x49de4b[_0x1bd0ce(0x9f)]+')','value':serializeDbSelection(_0x49de4b)})),{'name':_0x1bd0ce(0xa4),'value':_0x1bd0ce(0x84)}]});if(_0x44a2e5!==_0x1bd0ce(0x84))return deserializeDbSelection(_0x44a2e5);}const _0x1065dc=await input({'message':_0x1bd0ce(0x88),'validate':_0x499302=>{const _0x15fc18=_0x1bd0ce,_0x23c77e=_0x499302[_0x15fc18(0x93)]();if(!_0x23c77e)return _0x15fc18(0x94);const _0x28bcec=Number(_0x23c77e);if(!Number[_0x15fc18(0x87)](_0x28bcec)||_0x28bcec<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x1065dc[_0x1bd0ce(0x93)]())};}async function resolveSqlModeInput(_0x46cb65){const _0x9d9eec=a121_0x2c01c2,_0x184f4e=_0x46cb65['str']('mode')[_0x9d9eec(0x93)]();if(_0x184f4e===_0x9d9eec(0x9b)||_0x184f4e==='mybatisXml')return _0x184f4e;if(_0x46cb65[_0x9d9eec(0x7b)])throw CliErrors[_0x9d9eec(0x7a)](_0x9d9eec(0x83),_0x9d9eec(0x72));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x9d9eec(0xab),'value':_0x9d9eec(0x9b),'description':_0x9d9eec(0x82)},{'name':_0x9d9eec(0x7d),'value':'mybatisXml','description':_0x9d9eec(0x77)}]});}function serializeDbSelection(_0x202925){const _0x45ae5d=a121_0x2c01c2;return JSON[_0x45ae5d(0x98)]({'dbId':_0x202925[_0x45ae5d(0x9f)],'dbName':_0x202925[_0x45ae5d(0xa6)]});}function deserializeDbSelection(_0x5f537e){const _0x39c1ba=a121_0x2c01c2;try{const _0x21b057=JSON[_0x39c1ba(0xa0)](_0x5f537e);if(typeof _0x21b057[_0x39c1ba(0x9f)]===_0x39c1ba(0x71)&&Number[_0x39c1ba(0x9c)](_0x21b057['dbId']))return{'dbId':_0x21b057['dbId'],'dbName':_0x21b057[_0x39c1ba(0xa6)]};}catch{}throw CliErrors[_0x39c1ba(0x74)](_0x39c1ba(0x86)+_0x5f537e);}function resolveProvidedDbId(_0x417706){const _0x3da3ab=a121_0x2c01c2,_0x42432e=_0x417706[_0x3da3ab(0x7e)](_0x3da3ab(0x78));if(typeof _0x42432e===_0x3da3ab(0x71)&&Number['isFinite'](_0x42432e))return _0x42432e;return undefined;}function a121_0x259e(){const _0x2a6dc1=['lastSync','MyBatis\x20XML(mybatisXml)','flag','Created\x20SQL\x20query\x20','请输入\x20SQL\x20名称:','name','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','mode','__manual__','\x20\x20SELECT\x201\x20AS\x20id','Invalid\x20database\x20selection\x20payload:\x20','isInteger','请输入目标数据库\x20dbId:','lockFilePath','File\x20already\x20exists:\x20','sqlCode','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','toISOString','join','15JehYTj','11786705aoJBCa','str','3QuayoT','trim','dbId\x20不能为空','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Local\x20SQL\x20file\x20mode','Target\x20database\x20ID','stringify','105779NiURRw','/smartapi/custom/saveUserCustomSql','sql','isFinite','419156zUcHeI','2CNugze','dbId','parse','appCode','string','mybatisXml','✎\x20手动输入\x20dbId','high-risk-write','dbName','length','SQL\x20名称不能为空','sqlRootDir','849537HaRjRN','普通\x20SQL(sql)','sqlName','8547460TWfWBw','<server-generated-sqlCode>','13948InbMZO','</select>','11796YRLHdc','create','catch','number','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','2583102XIjUgR','validation','8OyLmYq','SQL\x20query\x20display\x20name','适合带动态标签的\x20MyBatis\x20XML\x20SQL','db-id','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','flagMissing','nonInteractive'];a121_0x259e=function(){return _0x2a6dc1;};return a121_0x259e();}
|
|
1
|
+
const a122_0xbbada6=a122_0x2ccd;(function(_0x563d5c,_0x5af9e1){const _0x3c4005=a122_0x2ccd,_0x177c7c=_0x563d5c();while(!![]){try{const _0x58b448=parseInt(_0x3c4005(0x175))/0x1+-parseInt(_0x3c4005(0x188))/0x2*(-parseInt(_0x3c4005(0x183))/0x3)+-parseInt(_0x3c4005(0x15b))/0x4+-parseInt(_0x3c4005(0x18c))/0x5+-parseInt(_0x3c4005(0x157))/0x6*(-parseInt(_0x3c4005(0x185))/0x7)+-parseInt(_0x3c4005(0x15e))/0x8*(parseInt(_0x3c4005(0x177))/0x9)+parseInt(_0x3c4005(0x170))/0xa*(parseInt(_0x3c4005(0x184))/0xb);if(_0x58b448===_0x5af9e1)break;else _0x177c7c['push'](_0x177c7c['shift']());}catch(_0x106c68){_0x177c7c['push'](_0x177c7c['shift']());}}}(a122_0x1f3a,0xc58f6));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a122_0x1f3a(){const _0x1c70b1=['high-risk-write','number','\x20\x20SELECT\x201\x20AS\x20id','File\x20already\x20exists:\x20','✎\x20手动输入\x20dbId','114mXAscX','105182icJhWp','623odBgxH','请输入\x20SQL\x20名称:','dbId','9556uaoOGk','stringify','parse','toISOString','7553410vYdawc','str','name','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20query\x20display\x20name','请输入目标数据库\x20dbId:','flagMissing','flag','validation','isFinite','sql','length','appCode','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','请选择本地\x20SQL\x20模式:','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','适合带动态标签的\x20MyBatis\x20XML\x20SQL','52884JCKEhE','nonInteractive','<server-generated-sqlCode>','trim','880412cdzMHl','Created\x20SQL\x20query\x20','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','224hAkiqn','sqlName','普通\x20SQL(sql)','请选择目标数据库:','map','SQL\x20名称不能为空','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','sqls','/smartapi/custom/saveUserCustomSql','join','string','sqlRootDir','description','mode','SELECT\x201\x20AS\x20id;','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlCode','830WUeZji','dbId\x20必须为正整数','lastSync','isInteger','MyBatis\x20XML(mybatisXml)','899447rGMUzN','lockFilePath','38286OeCBkF','new','Local\x20SQL\x20file\x20mode','mybatisXml','dbName','POST','catch'];a122_0x1f3a=function(){return _0x1c70b1;};return a122_0x1f3a();}import{getDbName,listDatabases}from'../../core/db-resolver.js';function a122_0x2ccd(_0x1e3f67,_0x19c8b6){_0x1e3f67=_0x1e3f67-0x14d;const _0x1f3a57=a122_0x1f3a();let _0x2ccd75=_0x1f3a57[_0x1e3f67];return _0x2ccd75;}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(_0x2a152e){const _0x498fa6=a122_0x2ccd;if(_0x2a152e===_0x498fa6(0x17a))return[_0x498fa6(0x16d),_0x498fa6(0x180),'</select>','']['join']('\x0a');return[_0x498fa6(0x16c),''][_0x498fa6(0x167)]('\x0a');}export const sqlCreate={'service':a122_0xbbada6(0x14f),'command':'create','description':a122_0xbbada6(0x152),'risk':a122_0xbbada6(0x17e),'flags':[{'name':a122_0xbbada6(0x18e),'type':a122_0xbbada6(0x168),'description':a122_0xbbada6(0x190)},{'name':a122_0xbbada6(0x153),'type':a122_0xbbada6(0x17f),'description':'Target\x20database\x20ID'},{'name':'mode','type':a122_0xbbada6(0x168),'enum':[a122_0xbbada6(0x14f),a122_0xbbada6(0x17a)],'description':a122_0xbbada6(0x179)}],async 'validate'(_0x413bf1){const _0x439305=a122_0xbbada6;if(!_0x413bf1['nonInteractive'])return;if(!_0x413bf1[_0x439305(0x18d)](_0x439305(0x18e))['trim']())throw CliErrors[_0x439305(0x192)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x1b18c8=resolveProvidedDbId(_0x413bf1);if(typeof _0x1b18c8!=='number'||!Number[_0x439305(0x14e)](_0x1b18c8)||_0x1b18c8<=0x0)throw CliErrors[_0x439305(0x192)](_0x439305(0x153),_0x439305(0x15d));if(!_0x413bf1[_0x439305(0x18d)](_0x439305(0x16b))[_0x439305(0x15a)]())throw CliErrors[_0x439305(0x192)](_0x439305(0x16b),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x35c2d0){const _0x4694cf=a122_0xbbada6,_0x3d567a=loadSqlProjectConfig(_0x35c2d0[_0x4694cf(0x151)]),{sqlName:_0x3e5b96,dbId:_0x2fe5a5,dbName:_0x24bed1,mode:_0x2dfc0a}=await resolveSqlNewInputs(_0x35c2d0),_0x5be822=buildSqlRelativePath(_0x4694cf(0x159),_0x3e5b96,_0x24bed1,_0x2dfc0a,_0x2fe5a5),_0x72af85=_0x3d567a[_0x4694cf(0x169)]+'/'+_0x5be822;return{'method':_0x4694cf(0x17c),'url':_0x4694cf(0x166),'body':{'appCode':_0x35c2d0[_0x4694cf(0x151)],'sqlName':_0x3e5b96,'dbId':_0x2fe5a5,'mode':_0x2dfc0a,'localPath':_0x72af85},'description':_0x4694cf(0x164)+_0x3d567a[_0x4694cf(0x169)]};},async 'execute'(_0x205aab){const _0x9556dd=a122_0xbbada6,_0x1f5371=loadSqlProjectConfig(_0x205aab['appCode']),{sqlName:_0x5d2ab5,dbId:_0x40e2d8,dbName:_0x3d9745,mode:_0x168d83}=await resolveSqlNewInputs(_0x205aab),_0x15aadb=generateSqlTemplate(_0x168d83),_0x46e0db=await createSqlQuery({'appCode':_0x205aab[_0x9556dd(0x151)],'sqlName':_0x5d2ab5,'dbId':_0x40e2d8,'sqlContent':_0x15aadb}),_0x5a5f99=ensureRemoteSqlContent(_0x46e0db),_0x2f0694=_0x3d9745||await getDbName(_0x205aab[_0x9556dd(0x151)],_0x40e2d8)[_0x9556dd(0x17d)](()=>undefined),_0x872828=buildSqlRelativePath(_0x46e0db[_0x9556dd(0x16f)],_0x46e0db[_0x9556dd(0x15f)],_0x2f0694,_0x168d83,_0x40e2d8),_0x151680=_0x1f5371[_0x9556dd(0x169)]+'/'+_0x872828,_0x4d3b83=buildLocalSqlFileContent({'sqlCode':_0x46e0db[_0x9556dd(0x16f)],'sqlName':_0x46e0db[_0x9556dd(0x15f)],'dbId':_0x46e0db[_0x9556dd(0x187)]},_0x5a5f99,{'dbName':_0x2f0694,'mode':_0x168d83,'syncedAt':new Date()[_0x9556dd(0x18b)](),'description':_0x46e0db[_0x9556dd(0x16a)]});if(await fileExists(_0x151680))throw CliErrors['validation'](_0x9556dd(0x181)+_0x151680);await ensureParentDirectory(_0x151680),await writeFile(_0x151680,_0x4d3b83,'utf8');const _0x42ac69=await readSqlLockFile(_0x1f5371['lockFilePath']),{lockData:_0x3cd161,appLock:_0x268080}=ensureSqlLockScope(_0x42ac69??createEmptySqlLock(),_0x1f5371[_0x9556dd(0x151)],_0x1f5371['sqlRoot'],_0x9556dd(0x178));return _0x268080[_0x9556dd(0x165)][_0x46e0db[_0x9556dd(0x16f)]]={...buildSqlLockEntry(_0x46e0db,_0x5a5f99,computeSqlContentHash(_0x4d3b83),{'dbName':_0x2f0694}),'path':_0x872828,'mode':_0x168d83},_0x268080[_0x9556dd(0x172)]=new Date()[_0x9556dd(0x18b)](),await writeSqlLockFile(_0x1f5371[_0x9556dd(0x176)],_0x3cd161),{'ok':!![],'data':{'id':_0x46e0db['id'],'sqlCode':_0x46e0db[_0x9556dd(0x16f)],'sqlName':_0x46e0db['sqlName'],'dbId':_0x46e0db[_0x9556dd(0x187)],'path':_0x151680,'mode':_0x168d83},'message':_0x9556dd(0x15c)+_0x46e0db[_0x9556dd(0x16f)]};}};async function resolveSqlNewInputs(_0x57b8c8){const _0x25a104=await resolveSqlNameInput(_0x57b8c8),{dbId:_0x4e6c65,dbName:_0x3ea42c}=await resolveDbSelection(_0x57b8c8),_0x132704=await resolveSqlModeInput(_0x57b8c8);return{'sqlName':_0x25a104,'dbId':_0x4e6c65,'dbName':_0x3ea42c,'mode':_0x132704};}async function resolveSqlNameInput(_0x2df6a4){const _0x36c9b8=a122_0xbbada6,_0x3bdcad=_0x2df6a4['str'](_0x36c9b8(0x18e))[_0x36c9b8(0x15a)]();if(_0x3bdcad)return _0x3bdcad;if(_0x2df6a4[_0x36c9b8(0x158)])throw CliErrors[_0x36c9b8(0x192)](_0x36c9b8(0x18e),_0x36c9b8(0x16e));return(await input({'message':_0x36c9b8(0x186),'validate':_0x31d594=>_0x31d594[_0x36c9b8(0x15a)]()?!![]:_0x36c9b8(0x163)}))[_0x36c9b8(0x15a)]();}async function resolveDbSelection(_0x57272a){const _0x49e043=a122_0xbbada6,_0x4cc2b5=resolveProvidedDbId(_0x57272a);if(typeof _0x4cc2b5===_0x49e043(0x17f)&&Number[_0x49e043(0x14e)](_0x4cc2b5)&&_0x4cc2b5>0x0)return{'dbId':_0x4cc2b5,'dbName':await getDbName(_0x57272a['appCode'],_0x4cc2b5)[_0x49e043(0x17d)](()=>undefined)};if(_0x57272a[_0x49e043(0x158)])throw CliErrors[_0x49e043(0x192)](_0x49e043(0x153),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0xd83437=await listDatabases(_0x57272a[_0x49e043(0x151)])[_0x49e043(0x17d)](()=>[]);if(_0xd83437[_0x49e043(0x150)]===0x1)return{'dbId':_0xd83437[0x0]['dbId'],'dbName':_0xd83437[0x0][_0x49e043(0x17b)]};if(_0xd83437['length']>0x1){const _0xed732f=await select({'message':_0x49e043(0x161),'choices':[..._0xd83437[_0x49e043(0x162)](_0x5098cd=>({'name':_0x5098cd[_0x49e043(0x17b)]+'\x20('+_0x5098cd[_0x49e043(0x187)]+')','value':serializeDbSelection(_0x5098cd)})),{'name':_0x49e043(0x182),'value':'__manual__'}]});if(_0xed732f!=='__manual__')return deserializeDbSelection(_0xed732f);}const _0xee28e0=await input({'message':_0x49e043(0x191),'validate':_0x474fd4=>{const _0x4feca7=_0x49e043,_0x414b55=_0x474fd4[_0x4feca7(0x15a)]();if(!_0x414b55)return'dbId\x20不能为空';const _0x3f5bbe=Number(_0x414b55);if(!Number[_0x4feca7(0x173)](_0x3f5bbe)||_0x3f5bbe<=0x0)return _0x4feca7(0x171);return!![];}});return{'dbId':Number(_0xee28e0['trim']())};}async function resolveSqlModeInput(_0x25b748){const _0x5965cd=a122_0xbbada6,_0x2d227e=_0x25b748['str'](_0x5965cd(0x16b))['trim']();if(_0x2d227e===_0x5965cd(0x14f)||_0x2d227e===_0x5965cd(0x17a))return _0x2d227e;if(_0x25b748[_0x5965cd(0x158)])throw CliErrors['flagMissing']('mode',_0x5965cd(0x18f));return await select({'message':_0x5965cd(0x154),'choices':[{'name':_0x5965cd(0x160),'value':_0x5965cd(0x14f),'description':_0x5965cd(0x155)},{'name':_0x5965cd(0x174),'value':_0x5965cd(0x17a),'description':_0x5965cd(0x156)}]});}function serializeDbSelection(_0x50a85c){const _0xd8593e=a122_0xbbada6;return JSON[_0xd8593e(0x189)]({'dbId':_0x50a85c['dbId'],'dbName':_0x50a85c['dbName']});}function deserializeDbSelection(_0x480d72){const _0x547c27=a122_0xbbada6;try{const _0x3a3731=JSON[_0x547c27(0x18a)](_0x480d72);if(typeof _0x3a3731[_0x547c27(0x187)]===_0x547c27(0x17f)&&Number['isFinite'](_0x3a3731[_0x547c27(0x187)]))return{'dbId':_0x3a3731['dbId'],'dbName':_0x3a3731['dbName']};}catch{}throw CliErrors[_0x547c27(0x14d)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x480d72);}function resolveProvidedDbId(_0x42072b){const _0x38df92=a122_0xbbada6,_0x1ce3aa=_0x42072b[_0x38df92(0x193)](_0x38df92(0x153));if(typeof _0x1ce3aa==='number'&&Number[_0x38df92(0x14e)](_0x1ce3aa))return _0x1ce3aa;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a123_0x503b(_0x5b3e88,_0x58978b){_0x5b3e88=_0x5b3e88-0xe6;const _0x2f308e=a123_0x2f30();let _0x503b99=_0x2f308e[_0x5b3e88];return _0x503b99;}const a123_0x40e89d=a123_0x503b;(function(_0x350cda,_0x16a0af){const _0x5a57aa=a123_0x503b,_0x394f7e=_0x350cda();while(!![]){try{const _0x1ef686=parseInt(_0x5a57aa(0x106))/0x1*(parseInt(_0x5a57aa(0x109))/0x2)+parseInt(_0x5a57aa(0xfc))/0x3+-parseInt(_0x5a57aa(0xf0))/0x4*(-parseInt(_0x5a57aa(0xea))/0x5)+parseInt(_0x5a57aa(0x102))/0x6+parseInt(_0x5a57aa(0xf5))/0x7*(parseInt(_0x5a57aa(0x103))/0x8)+-parseInt(_0x5a57aa(0xfd))/0x9*(-parseInt(_0x5a57aa(0xe8))/0xa)+-parseInt(_0x5a57aa(0x104))/0xb;if(_0x1ef686===_0x16a0af)break;else _0x394f7e['push'](_0x394f7e['shift']());}catch(_0x5d47a6){_0x394f7e['push'](_0x394f7e['shift']());}}}(a123_0x2f30,0x88fb9));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a123_0x40e89d(0xf1),'description':a123_0x40e89d(0xec),'risk':a123_0x40e89d(0x105),'flags':[SQLCODE_FLAG],async 'validate'(_0xc6c0a7){const _0x3a8e6d=a123_0x40e89d,_0x50532d=loadSqlProjectConfig(_0xc6c0a7['appCode']),_0x3b1989=await readSqlLockFile(_0x50532d[_0x3a8e6d(0xe9)]);if(!_0x3b1989)throw CliErrors[_0x3a8e6d(0xe7)](_0x3a8e6d(0xf6));},async 'dryRun'(_0x124153){const _0x108651=a123_0x40e89d,_0x9b350d=loadSqlProjectConfig(_0x124153[_0x108651(0x101)]),_0x27d303=await readSqlLockFile(_0x9b350d[_0x108651(0xe9)]);if(!_0x27d303)throw CliErrors[_0x108651(0xe7)](_0x108651(0xf6));const {appLock:_0x4e4c76}=ensureSqlLockScope(_0x27d303,_0x124153['appCode'],_0x9b350d[_0x108651(0xf9)],_0x108651(0xf1)),_0x32a1b6=_0x124153[_0x108651(0xed)]('sqlcode'),_0xc41d58=_0x4e4c76[_0x108651(0xeb)][_0x32a1b6];if(!_0xc41d58)throw CliErrors[_0x108651(0xe7)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x32a1b6+'\x22.');return{'method':_0x108651(0xf4),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x32a1b6,'id':_0xc41d58[_0x108651(0xef)],'localPath':resolveLocalSqlFilePath(_0x9b350d,_0x32a1b6,_0xc41d58)},'description':'Would\x20delete\x20SQL\x20'+_0x32a1b6+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x9b350d[_0x108651(0xe6)]};},async 'execute'(_0x2f0f64){const _0x1c564d=a123_0x40e89d,_0x1b6bc3=loadSqlProjectConfig(_0x2f0f64['appCode']),_0x9516bd=await readSqlLockFile(_0x1b6bc3[_0x1c564d(0xe9)]);if(!_0x9516bd)throw CliErrors[_0x1c564d(0xe7)](_0x1c564d(0xf7));const {lockData:_0x1d1a1d,appLock:_0x341027}=ensureSqlLockScope(_0x9516bd,_0x2f0f64['appCode'],_0x1b6bc3['sqlRoot'],_0x1c564d(0xf1)),_0x5de59b=_0x2f0f64[_0x1c564d(0xed)](_0x1c564d(0xf3)),_0x16054f=_0x341027['sqls'][_0x5de59b];if(!_0x16054f)throw CliErrors['validation'](_0x1c564d(0x10a)+_0x5de59b+'\x22.');await deleteSqlQuery({'id':_0x16054f[_0x1c564d(0xef)],'sqlCode':_0x5de59b}),_0x341027[_0x1c564d(0xeb)]=Object['fromEntries'](Object[_0x1c564d(0xf8)](_0x341027[_0x1c564d(0xeb)])[_0x1c564d(0xff)](([_0x2ef8f7])=>_0x2ef8f7!==_0x5de59b)),_0x341027[_0x1c564d(0xfb)]=new Date()[_0x1c564d(0xf2)](),await writeSqlLockFile(_0x1b6bc3[_0x1c564d(0xe9)],_0x1d1a1d);const _0x12d109=resolveLocalSqlFilePath(_0x1b6bc3,_0x5de59b,_0x16054f);let _0x9aed69;await fileExists(_0x12d109)&&(_0x9aed69=await moveToTrash(_0x1b6bc3[_0x1c564d(0xee)],_0x1b6bc3[_0x1c564d(0xe6)],_0x12d109),await cleanupEmptyDirectories(dirname(_0x12d109),_0x1b6bc3[_0x1c564d(0x100)]));const _0x31ee1b={'deleted':_0x5de59b,'remoteId':_0x16054f['remoteId']};if(_0x9aed69)_0x31ee1b[_0x1c564d(0xfa)]=_0x9aed69;return{'ok':!![],'data':_0x31ee1b,'message':_0x1c564d(0xfe)+_0x5de59b+(_0x9aed69?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};async function moveToTrash(_0x1fbc0e,_0x3d5223,_0x575ab5){const _0x57f015=a123_0x40e89d,_0x14f8c3=new Date()[_0x57f015(0xf2)]()[_0x57f015(0x107)](/[:.]/g,'-'),_0xd0d36f=relative(_0x1fbc0e,_0x575ab5),_0x2b0572=join(_0x3d5223,_0x14f8c3,_0xd0d36f);return await mkdir(dirname(_0x2b0572),{'recursive':!![]}),await rename(_0x575ab5,_0x2b0572),_0x2b0572;}async function cleanupEmptyDirectories(_0x5b4383,_0x261aa9){const _0x1f24ff=a123_0x40e89d;let _0x1a8882=resolve(_0x5b4383);const _0x428fb7=resolve(_0x261aa9);while(_0x1a8882[_0x1f24ff(0x108)](''+_0x428fb7+sep)||_0x1a8882===_0x428fb7){if(_0x1a8882===_0x428fb7)return;try{const _0x10f2cb=await readdir(_0x1a8882);if(_0x10f2cb['length']>0x0)return;await rmdir(_0x1a8882);}catch{return;}_0x1a8882=dirname(_0x1a8882);}}function a123_0x2f30(){const _0x4618d0=['10645puOrST','sqls','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','str','projectRoot','remoteId','884SQcAtU','delete','toISOString','sqlcode','POST','2198lsOdEu','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','SQL\x20lock\x20file\x20not\x20found.','entries','sqlRoot','trashedTo','lastSync','2332731kogfMD','9wsGvcW','Deleted\x20','filter','sqlRootDir','appCode','1672854tAvWbW','7144SasjnO','24240436esWfqv','high-risk-write','22009cFATQS','replace','startsWith','82bVLlpU','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','trashDir','validation','550910fCuNSd','lockFilePath'];a123_0x2f30=function(){return _0x4618d0;};return a123_0x2f30();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a124_0x2440ce=a124_0x8c34;(function(_0x16d627,_0xe6e8fa){const _0x3728aa=a124_0x8c34,_0x54c7bd=_0x16d627();while(!![]){try{const _0x5dea5a=parseInt(_0x3728aa(0x81))/0x1+parseInt(_0x3728aa(0x7c))/0x2*(parseInt(_0x3728aa(0x71))/0x3)+parseInt(_0x3728aa(0x84))/0x4*(-parseInt(_0x3728aa(0x80))/0x5)+-parseInt(_0x3728aa(0x78))/0x6*(-parseInt(_0x3728aa(0x83))/0x7)+parseInt(_0x3728aa(0x7e))/0x8+parseInt(_0x3728aa(0x7f))/0x9+-parseInt(_0x3728aa(0x72))/0xa*(parseInt(_0x3728aa(0x70))/0xb);if(_0x5dea5a===_0xe6e8fa)break;else _0x54c7bd['push'](_0x54c7bd['shift']());}catch(_0x1d9748){_0x54c7bd['push'](_0x54c7bd['shift']());}}}(a124_0x58b6,0xd3d85));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a124_0x2440ce(0x74),'command':a124_0x2440ce(0x7d),'description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a124_0x2440ce(0x77),'type':a124_0x2440ce(0x79),'description':a124_0x2440ce(0x82)}],async 'execute'(_0x27d4d5){const _0x3b8e32=a124_0x2440ce,_0x5cfb07=await getSqlQueryInfo(_0x27d4d5[_0x3b8e32(0x7a)],_0x27d4d5[_0x3b8e32(0x75)]('sqlcode')),_0x20314c=_0x27d4d5['bool'](_0x3b8e32(0x77));if(_0x20314c)return{'ok':!![],'data':_0x5cfb07};const _0x231d68=_0x5cfb07['dbId']?await getDbName(_0x27d4d5[_0x3b8e32(0x7a)],_0x5cfb07[_0x3b8e32(0x73)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x5cfb07[_0x3b8e32(0x7b)],'sqlName':_0x5cfb07['sqlName'],'db':_0x231d68?_0x231d68+'\x20('+_0x5cfb07[_0x3b8e32(0x73)]+')':_0x5cfb07[_0x3b8e32(0x73)]??'','description':_0x5cfb07['description']??'','sqlContent':_0x5cfb07[_0x3b8e32(0x76)]??''}};}};function a124_0x8c34(_0x5b9f10,_0x1cd716){_0x5b9f10=_0x5b9f10-0x70;const _0x58b6ab=a124_0x58b6();let _0x8c3456=_0x58b6ab[_0x5b9f10];return _0x8c3456;}function a124_0x58b6(){const _0x57ee49=['412357SImQPr','2951985VLsbxg','1090lpErtp','dbId','sql','str','sqlContent','verbose','78utWHad','boolean','appCode','sqlCode','2UGOKRW','detail','9707488oJVsvJ','10355445RbpNhm','120JlGCxi','1432878PDHVgl','Return\x20full\x20raw\x20SQL\x20query\x20object','184058VVerQU','28156PlkCAA'];a124_0x58b6=function(){return _0x57ee49;};return a124_0x58b6();}
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a125_0x1b0ce8=a125_0x2e37;function a125_0x2e37(_0x17a451,_0x108e03){_0x17a451=_0x17a451-0xe3;const _0x5dc773=a125_0x5dc7();let _0x2e37b6=_0x5dc773[_0x17a451];return _0x2e37b6;}(function(_0x30aa97,_0x368308){const _0x1c1106=a125_0x2e37,_0x23e93d=_0x30aa97();while(!![]){try{const _0x4259d4=-parseInt(_0x1c1106(0xe6))/0x1+-parseInt(_0x1c1106(0xef))/0x2*(-parseInt(_0x1c1106(0xf2))/0x3)+parseInt(_0x1c1106(0xe3))/0x4+-parseInt(_0x1c1106(0xf7))/0x5*(parseInt(_0x1c1106(0xfa))/0x6)+-parseInt(_0x1c1106(0xf0))/0x7+parseInt(_0x1c1106(0xeb))/0x8+-parseInt(_0x1c1106(0xf6))/0x9*(parseInt(_0x1c1106(0xe4))/0xa);if(_0x4259d4===_0x368308)break;else _0x23e93d['push'](_0x23e93d['shift']());}catch(_0x2cfb20){_0x23e93d['push'](_0x23e93d['shift']());}}}(a125_0x5dc7,0x8a067));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a125_0x5dc7(){const _0x138708=['length','str','SQL\x20execution\x20failed','1986566sLkStm','1193948AgXxDI','read','3XEimtU','isArray','sql','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','1467828jZqsam','65RBnUqY','execResult','string','464028gseZbY','execError','3375120REJKXW','10rOygLz','now','905545NtMuoY','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','exec','params','appCode','7783064PKtNhS'];a125_0x5dc7=function(){return _0x138708;};return a125_0x5dc7();}import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a125_0x1b0ce8(0xf4),'command':a125_0x1b0ce8(0xe8),'description':a125_0x1b0ce8(0xe7),'risk':a125_0x1b0ce8(0xf1),'flags':[SQLCODE_FLAG,{'name':a125_0x1b0ce8(0xe9),'type':a125_0x1b0ce8(0xf9),'description':a125_0x1b0ce8(0xf5)}],async 'execute'(_0xbc9714){const _0x274299=a125_0x1b0ce8,_0x1ad3ba=parseJsonParams(_0xbc9714[_0x274299(0xed)](_0x274299(0xe9))),_0x4c5b48=Date[_0x274299(0xe5)](),_0x2730e6=await executeSql(_0xbc9714[_0x274299(0xea)],_0xbc9714[_0x274299(0xed)]('sqlcode'),_0x1ad3ba),_0x5af856=Date[_0x274299(0xe5)]()-_0x4c5b48,_0x5137eb=_0x2730e6?.[_0x274299(0xf8)]??_0x2730e6,_0x16f65c=_0x2730e6?.['execSuccess']??!![];if(!_0x16f65c)return{'ok':![],'data':{'error':_0x2730e6?.[_0x274299(0xfb)]||_0x274299(0xee),'elapsed':_0x5af856},'message':_0x274299(0xee)};const _0x519558=Array[_0x274299(0xf3)](_0x5137eb)?_0x5137eb:[];return{'ok':!![],'data':{'rows':_0x519558,'rowCount':_0x519558[_0x274299(0xec)],'elapsed':_0x5af856},'message':'Returned\x20'+_0x519558['length']+'\x20row(s)\x20in\x20'+_0x5af856+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x39b2dc,_0x1e010c){const _0x53cd65=a126_0x5ee8,_0x4ca3c4=_0x39b2dc();while(!![]){try{const _0x127e6e=parseInt(_0x53cd65(0x1d2))/0x1+parseInt(_0x53cd65(0x1d4))/0x2*(-parseInt(_0x53cd65(0x1cf))/0x3)+-parseInt(_0x53cd65(0x1d6))/0x4+parseInt(_0x53cd65(0x1d9))/0x5*(parseInt(_0x53cd65(0x1d1))/0x6)+parseInt(_0x53cd65(0x1d7))/0x7*(-parseInt(_0x53cd65(0x1d5))/0x8)+parseInt(_0x53cd65(0x1d0))/0x9*(-parseInt(_0x53cd65(0x1d8))/0xa)+parseInt(_0x53cd65(0x1d3))/0xb;if(_0x127e6e===_0x1e010c)break;else _0x4ca3c4['push'](_0x4ca3c4['shift']());}catch(_0x13380f){_0x4ca3c4['push'](_0x4ca3c4['shift']());}}}(a126_0x106a,0x5ac98));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';function a126_0x106a(){const _0x2c2c2a=['7370990iRuzVR','140vVHrVY','2206888shyJhg','744800gffPhB','7qBmXho','308190bXcIvI','2746605WYCUya','10545JICZzr','189MXvcWp','6PVesUV','507763HcXvJJ'];a126_0x106a=function(){return _0x2c2c2a;};return a126_0x106a();}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';function a126_0x5ee8(_0x4f90bf,_0x59c63e){_0x4f90bf=_0x4f90bf-0x1cf;const _0x106a48=a126_0x106a();let _0x5ee811=_0x106a48[_0x4f90bf];return _0x5ee811;}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
|
+
function a127_0x45ed(_0x1e60d8,_0x33ef09){_0x1e60d8=_0x1e60d8-0x1e6;const _0x30526a=a127_0x3052();let _0x45ed98=_0x30526a[_0x1e60d8];return _0x45ed98;}const a127_0x3fe83a=a127_0x45ed;(function(_0x2e7039,_0x1ba4bf){const _0x115d2a=a127_0x45ed,_0x5cdc5f=_0x2e7039();while(!![]){try{const _0x588762=-parseInt(_0x115d2a(0x1fd))/0x1*(parseInt(_0x115d2a(0x1e6))/0x2)+-parseInt(_0x115d2a(0x1e9))/0x3+-parseInt(_0x115d2a(0x202))/0x4+parseInt(_0x115d2a(0x1ff))/0x5+parseInt(_0x115d2a(0x1ee))/0x6*(parseInt(_0x115d2a(0x1ed))/0x7)+-parseInt(_0x115d2a(0x1f5))/0x8*(-parseInt(_0x115d2a(0x209))/0x9)+parseInt(_0x115d2a(0x1e7))/0xa*(parseInt(_0x115d2a(0x1ec))/0xb);if(_0x588762===_0x1ba4bf)break;else _0x5cdc5f['push'](_0x5cdc5f['shift']());}catch(_0x10ecbf){_0x5cdc5f['push'](_0x5cdc5f['shift']());}}}(a127_0x3052,0x583cd));function a127_0x3052(){const _0x582af8=['all','77UqCVcX','2429hdRksG','10194MDEVqw','verbose','sqlcode','tableData','description','dbId','bool','132872AGqxBV','pagesize','string','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','list','number','totalCount','num','637729jaxmRz','appCode','2481820xANDhK','List\x20custom\x20SQL\x20queries','sqlCode','1500740Yhlkmw','No\x20custom\x20SQL\x20queries\x20found.','read','Filter\x20by\x20SQL\x20name','page','name','Found\x20','162pmVJih','2djreKW','656170dPTBCk','length','1409589Hfjucv','str'];a127_0x3052=function(){return _0x582af8;};return a127_0x3052();}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':'sql','command':a127_0x3fe83a(0x1f9),'description':a127_0x3fe83a(0x200),'risk':a127_0x3fe83a(0x204),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0x3fe83a(0x207),'type':a127_0x3fe83a(0x1f7),'description':a127_0x3fe83a(0x205)},{'name':a127_0x3fe83a(0x206),'type':a127_0x3fe83a(0x1fa),'description':'Page\x20number','default':0x1},{'name':a127_0x3fe83a(0x1f6),'type':a127_0x3fe83a(0x1fa),'description':'Page\x20size'},{'name':a127_0x3fe83a(0x1ef),'type':'boolean','description':a127_0x3fe83a(0x1f8)}],async 'execute'(_0x373a9a){const _0x25f1d1=a127_0x3fe83a,_0x44efdd=await listSqlQueries(_0x373a9a[_0x25f1d1(0x1fe)],{'sqlCode':_0x373a9a['str'](_0x25f1d1(0x1f0))||undefined,'sqlName':_0x373a9a[_0x25f1d1(0x1ea)]('name')||undefined,'currentPage':_0x373a9a[_0x25f1d1(0x1fc)](_0x25f1d1(0x206)),'pageSize':_0x373a9a['num'](_0x25f1d1(0x1f6),0x32)}),_0x309d64=_0x373a9a[_0x25f1d1(0x1f4)](_0x25f1d1(0x1ef)),_0x3ceef1=_0x44efdd[_0x25f1d1(0x1f1)]??[],_0x810467=_0x44efdd['paging']?.[_0x25f1d1(0x1fb)]??_0x3ceef1[_0x25f1d1(0x1e8)];let _0x5a56f4;return _0x309d64?_0x5a56f4=_0x3ceef1:_0x5a56f4=await Promise[_0x25f1d1(0x1eb)](_0x3ceef1['map'](async _0x8dd898=>{const _0x6643e3=_0x25f1d1;let _0x428587;try{_0x428587=_0x8dd898['dbId']?await getDbName(_0x373a9a[_0x6643e3(0x1fe)],_0x8dd898[_0x6643e3(0x1f3)]):undefined;}catch{}return{'sqlCode':_0x8dd898[_0x6643e3(0x201)],'sqlName':_0x8dd898['sqlName'],'description':_0x8dd898[_0x6643e3(0x1f2)]??'','db':_0x428587?_0x428587+'\x20('+_0x8dd898['dbId']+')':_0x8dd898[_0x6643e3(0x1f3)]??''};})),{'ok':!![],'data':_0x5a56f4,'message':_0x3ceef1[_0x25f1d1(0x1e8)]===0x0?_0x25f1d1(0x203):_0x25f1d1(0x208)+_0x3ceef1[_0x25f1d1(0x1e8)]+'\x20SQL\x20queries\x20(total:\x20'+_0x810467+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0xe2cc18=a127_0x42f3;(function(_0xa4b4d3,_0x32412e){const _0x4e892d=a127_0x42f3,_0x5ec6ac=_0xa4b4d3();while(!![]){try{const _0x1aaae3=-parseInt(_0x4e892d(0x1fd))/0x1+-parseInt(_0x4e892d(0x206))/0x2+parseInt(_0x4e892d(0x1f1))/0x3+parseInt(_0x4e892d(0x21e))/0x4+parseInt(_0x4e892d(0x224))/0x5+parseInt(_0x4e892d(0x215))/0x6+parseInt(_0x4e892d(0x213))/0x7;if(_0x1aaae3===_0x32412e)break;else _0x5ec6ac['push'](_0x5ec6ac['shift']());}catch(_0x5dcc74){_0x5ec6ac['push'](_0x5ec6ac['shift']());}}}(a127_0x1f4c,0x752d1));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';function a127_0x1f4c(){const _0x436a20=['sqlContent','737964RCtkFv','force','bool','No\x20remote\x20SQL\x20queries\x20matched.','sqlCode','sql','skipped','\x20skipped,\x20','message','length','local\x20differs\x20from\x20remote','test','704659WKWHeR','would_pull','join','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','name','catch','Force\x20pull\x20cancelled.','POST','replace','1129618xQIMMd','cancelled','lockFilePath','Would\x20pull\x20','lastSync','sqlName','Force\x20overwrite\x20local\x20unsynced\x20changes','appCode','Pull\x20complete:\x20','\x20failed','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','sqls','sqlRoot','2902312WzsuEm','sqlcode','4071936OMWffc','sqlRootDir','dbId','filter','tableData','totalCount','str','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','pull','298548oeXufx','\x20SQL\x20file(s)\x20into\x20','unchanged','nonInteractive','mybatisXml','push','1677620jWsEVB','description','apps','path','toISOString','\x20written,\x20','utf8','split','trimStart'];a127_0x1f4c=function(){return _0x436a20;};return a127_0x1f4c();}import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x330500,_0x83b6df){const _0x15cb27=a127_0x42f3,_0x22121a=[];let _0x407c49=0x1;while(!![]){const _0xe75edc=await listSqlQueries(_0x330500,{'currentPage':_0x407c49,'pageSize':PAGE_SIZE,'sqlCode':_0x83b6df[_0x15cb27(0x1f5)],'sqlName':_0x83b6df[_0x15cb27(0x20b)]}),_0x246c59=_0xe75edc[_0x15cb27(0x219)]??[];_0x22121a[_0x15cb27(0x223)](..._0x246c59);if(_0x246c59[_0x15cb27(0x1fa)]===0x0)break;const _0x4bec75=_0xe75edc['paging']?.[_0x15cb27(0x21a)];if(_0x4bec75!=null?_0x22121a['length']>=_0x4bec75:_0x246c59[_0x15cb27(0x1fa)]<PAGE_SIZE)break;_0x407c49++;}return _0x22121a;}async function ensureSqlContent(_0x29378a){const _0x1291e3=a127_0x42f3;if(_0x29378a[_0x1291e3(0x1f0)]!=null&&String(_0x29378a['sqlContent'])['length']>0x0)return _0x29378a;return getSqlQueryDetail(_0x29378a[_0x1291e3(0x1f5)]);}function a127_0x42f3(_0x426698,_0x6a8332){_0x426698=_0x426698-0x1ed;const _0x1f4c98=a127_0x1f4c();let _0x42f359=_0x1f4c98[_0x426698];return _0x42f359;}export const sqlPull={'service':'sql','command':a127_0xe2cc18(0x21d),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a127_0xe2cc18(0x201),'type':'string','description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a127_0xe2cc18(0x1f2),'type':'boolean','description':a127_0xe2cc18(0x20c)}],async 'dryRun'(_0x4ef4c8){const _0x2bca9c=a127_0xe2cc18,_0x3f1535=loadSqlProjectConfig(_0x4ef4c8['appCode']),_0x255282=await readSqlLockFile(_0x3f1535[_0x2bca9c(0x208)]),{appLock:_0x549f6c}=ensureSqlLockScope(_0x255282??createEmptySqlLock(),_0x3f1535[_0x2bca9c(0x20d)],_0x3f1535[_0x2bca9c(0x212)],_0x2bca9c(0x21d)),_0x424c3a=await fetchAllSqlQueries(_0x4ef4c8[_0x2bca9c(0x20d)],{'sqlCode':_0x4ef4c8['str']('sqlcode')||undefined,'sqlName':_0x4ef4c8[_0x2bca9c(0x21b)](_0x2bca9c(0x201))||undefined}),_0x730801=[];for(const _0x2ae3f8 of _0x424c3a){const _0x537511=await ensureSqlContent(_0x2ae3f8),_0x4e2ccc=ensureRemoteSqlContent(_0x537511),_0x2d074e=detectModeFromSql(_0x537511),_0x504bb4=_0x537511[_0x2bca9c(0x217)]?await getDbName(_0x4ef4c8[_0x2bca9c(0x20d)],Number(_0x537511[_0x2bca9c(0x217)]))[_0x2bca9c(0x202)](()=>undefined):undefined,_0x23748e=buildLocalSqlFileContent({'sqlCode':_0x537511[_0x2bca9c(0x1f5)],'sqlName':_0x537511[_0x2bca9c(0x20b)],'dbId':_0x537511[_0x2bca9c(0x217)]},_0x4e2ccc,{'dbName':_0x504bb4,'mode':_0x2d074e,'syncedAt':new Date()[_0x2bca9c(0x228)](),'description':_0x537511[_0x2bca9c(0x225)]}),_0x1c309a=buildSqlLockEntry(_0x537511,_0x4e2ccc,'',{'dbName':_0x504bb4}),_0x3abac3=resolveLocalSqlFilePath(_0x3f1535,_0x537511[_0x2bca9c(0x1f5)],_0x1c309a);let _0x3a4cb4=_0x2bca9c(0x1fe),_0x21610f;if(await fileExists(_0x3abac3)){const _0x2cf709=await readFile(_0x3abac3,_0x2bca9c(0x1ed));isEquivalentPulledSqlFile(_0x2cf709,_0x23748e,_0x2d074e)?(_0x3a4cb4=_0x2bca9c(0x1f7),_0x21610f=_0x2bca9c(0x220)):(_0x3a4cb4='conflict',_0x21610f=_0x2bca9c(0x21c));}_0x730801[_0x2bca9c(0x223)]({'sqlCode':_0x537511[_0x2bca9c(0x1f5)],'sqlName':_0x537511['sqlName'],'filePath':_0x3abac3,'status':_0x3a4cb4,'reason':_0x21610f});}return{'method':_0x2bca9c(0x204),'url':_0x2bca9c(0x210),'body':{'appCode':_0x4ef4c8[_0x2bca9c(0x20d)],'sqlCode':_0x4ef4c8[_0x2bca9c(0x21b)](_0x2bca9c(0x214))||null,'sqlName':_0x4ef4c8['str']('name')||null,'files':_0x730801},'description':_0x2bca9c(0x209)+_0x730801[_0x2bca9c(0x1fa)]+_0x2bca9c(0x21f)+_0x3f1535[_0x2bca9c(0x216)]};},async 'execute'(_0x3f0f5f){const _0x3dadd5=a127_0xe2cc18,_0x403124=loadSqlProjectConfig(_0x3f0f5f[_0x3dadd5(0x20d)]),_0x55ce87=await readSqlLockFile(_0x403124[_0x3dadd5(0x208)]),{lockData:_0x4a34ec,appLock:_0x3f2af1}=ensureSqlLockScope(_0x55ce87??createEmptySqlLock(),_0x403124[_0x3dadd5(0x20d)],_0x403124['sqlRoot'],_0x3dadd5(0x21d)),_0x57bdbe=_0x3f0f5f[_0x3dadd5(0x1f3)]('force'),_0x494bf3=await fetchAllSqlQueries(_0x3f0f5f[_0x3dadd5(0x20d)],{'sqlCode':_0x3f0f5f[_0x3dadd5(0x21b)](_0x3dadd5(0x214))||undefined,'sqlName':_0x3f0f5f[_0x3dadd5(0x21b)](_0x3dadd5(0x201))||undefined});if(_0x494bf3[_0x3dadd5(0x1fa)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3dadd5(0x1f4)};const _0x44195b=[],_0x5cab60=[];for(const _0x7954fa of _0x494bf3){try{_0x44195b[_0x3dadd5(0x223)](await ensureSqlContent(_0x7954fa));}catch(_0x2e3743){_0x5cab60[_0x3dadd5(0x223)]({'sqlCode':_0x7954fa['sqlCode'],'error':_0x2e3743 instanceof Error?_0x2e3743[_0x3dadd5(0x1f9)]:String(_0x2e3743)});}}if(_0x57bdbe&&!_0x3f0f5f[_0x3dadd5(0x221)]){let _0x10521a=![];for(const _0x145ab4 of _0x44195b){const _0x1fa79c=detectModeFromSql(_0x145ab4),_0x579cd6=_0x145ab4['dbId']?await getDbName(_0x3f0f5f[_0x3dadd5(0x20d)],Number(_0x145ab4[_0x3dadd5(0x217)]))[_0x3dadd5(0x202)](()=>undefined):undefined,_0x266cca=buildLocalSqlFileContent({'sqlCode':_0x145ab4[_0x3dadd5(0x1f5)],'sqlName':_0x145ab4['sqlName'],'dbId':_0x145ab4[_0x3dadd5(0x217)]},ensureRemoteSqlContent(_0x145ab4),{'dbName':_0x579cd6,'mode':_0x1fa79c,'syncedAt':new Date()[_0x3dadd5(0x228)](),'description':_0x145ab4['description']}),_0x44aeaa=resolveLocalSqlFilePath(_0x403124,_0x145ab4['sqlCode'],buildSqlLockEntry(_0x145ab4,ensureRemoteSqlContent(_0x145ab4),'',{'dbName':_0x579cd6}));if(await fileExists(_0x44aeaa)){const _0x3b9f0a=await readFile(_0x44aeaa,'utf8');if(!isEquivalentPulledSqlFile(_0x3b9f0a,_0x266cca,_0x1fa79c)){_0x10521a=!![];break;}}}if(_0x10521a){const _0x3eed53=await confirmForceOverwrite(_0x3dadd5(0x200));if(!_0x3eed53)throw CliErrors[_0x3dadd5(0x207)](_0x3dadd5(0x203));}}const _0x40bbcf=cloneSqlLockData(_0x4a34ec),_0xf0284f=_0x40bbcf[_0x3dadd5(0x226)][_0x403124['appCode']],_0x54e490=[],_0x1d7034=[];for(const _0x54f9fa of _0x44195b){const _0x2054bc=_0xf0284f[_0x3dadd5(0x211)][_0x54f9fa[_0x3dadd5(0x1f5)]],_0x5101ba=ensureRemoteSqlContent(_0x54f9fa),_0x4bf27e=detectModeFromSql(_0x54f9fa),_0xd3f2b6=_0x54f9fa[_0x3dadd5(0x217)]?await getDbName(_0x3f0f5f[_0x3dadd5(0x20d)],Number(_0x54f9fa[_0x3dadd5(0x217)]))[_0x3dadd5(0x202)](()=>undefined):undefined,_0x463333=buildLocalSqlFileContent({'sqlCode':_0x54f9fa['sqlCode'],'sqlName':_0x54f9fa[_0x3dadd5(0x20b)],'dbId':_0x54f9fa[_0x3dadd5(0x217)]},_0x5101ba,{'dbName':_0xd3f2b6,'mode':_0x4bf27e,'syncedAt':new Date()[_0x3dadd5(0x228)](),'description':_0x54f9fa[_0x3dadd5(0x225)]}),_0x54992c=buildSqlLockEntry(_0x54f9fa,_0x5101ba,computeSqlContentHash(_0x463333),{'dbName':_0xd3f2b6}),_0x1765bd=_0x54992c[_0x3dadd5(0x227)],_0x1702af=join(_0x403124[_0x3dadd5(0x216)],_0x1765bd);try{if(await fileExists(_0x1702af)){const _0x51ed25=await readFile(_0x1702af,_0x3dadd5(0x1ed));if(isEquivalentPulledSqlFile(_0x51ed25,_0x463333,_0x4bf27e)){_0x1d7034[_0x3dadd5(0x223)]({'sqlCode':_0x54f9fa['sqlCode'],'reason':_0x3dadd5(0x220)}),_0xf0284f[_0x3dadd5(0x211)][_0x54f9fa[_0x3dadd5(0x1f5)]]={..._0x54992c,'hash':computeSqlContentHash(_0x51ed25),'path':_0x1765bd};continue;}if(!_0x57bdbe){_0x1d7034[_0x3dadd5(0x223)]({'sqlCode':_0x54f9fa['sqlCode'],'reason':_0x3dadd5(0x1fb)});continue;}}const _0x1babb0=_0x2054bc?.[_0x3dadd5(0x227)]?join(_0x403124['sqlRootDir'],_0x2054bc[_0x3dadd5(0x227)]):undefined;_0x1babb0&&_0x1babb0!==_0x1702af&&await fileExists(_0x1babb0)&&await rm(_0x1babb0,{'force':!![]}),await ensureParentDirectory(_0x1702af),await writeFile(_0x1702af,_0x463333,_0x3dadd5(0x1ed)),_0xf0284f[_0x3dadd5(0x211)][_0x54f9fa[_0x3dadd5(0x1f5)]]={..._0x54992c,'path':_0x1765bd},_0x54e490[_0x3dadd5(0x223)]({'sqlCode':_0x54f9fa['sqlCode'],'filePath':_0x1702af});}catch(_0x4428aa){_0x5cab60[_0x3dadd5(0x223)]({'sqlCode':_0x54f9fa[_0x3dadd5(0x1f5)],'error':_0x4428aa instanceof Error?_0x4428aa['message']:String(_0x4428aa)});}}return _0xf0284f[_0x3dadd5(0x20a)]=new Date()['toISOString'](),await writeSqlLockFile(_0x403124[_0x3dadd5(0x208)],_0x40bbcf),{'ok':_0x5cab60['length']===0x0,'data':{'pulled':_0x54e490,'skipped':_0x1d7034,'failed':_0x5cab60},'message':_0x3dadd5(0x20e)+_0x54e490[_0x3dadd5(0x1fa)]+_0x3dadd5(0x229)+_0x1d7034[_0x3dadd5(0x1fa)]+_0x3dadd5(0x1f8)+_0x5cab60['length']+_0x3dadd5(0x20f)};}};function detectModeFromSql(_0x53bb82){const _0x523517=a127_0xe2cc18,_0x3b582d=ensureRemoteSqlContent(_0x53bb82),_0x3e82c7=stripLocalSqlMetadata(_0x3b582d,_0x523517(0x222))[_0x523517(0x1ef)]();if(/^<(select|insert|update|delete)\b/i[_0x523517(0x1fc)](_0x3e82c7))return _0x523517(0x222);return _0x523517(0x1f6);}function isEquivalentPulledSqlFile(_0x2d4717,_0x2f3d34,_0x564d05){return normalizePullComparableContent(_0x2d4717,_0x564d05)===normalizePullComparableContent(_0x2f3d34,_0x564d05);}function normalizePullComparableContent(_0x386069,_0x192032){const _0x24b8b5=a127_0xe2cc18,_0x1979bf=_0x386069[_0x24b8b5(0x205)](/\r\n/g,'\x0a')[_0x24b8b5(0x1ee)]('\x0a'),_0x21a05f=_0x1979bf[_0x24b8b5(0x218)](_0x38b789=>!isSyncedAtMetadataLine(_0x38b789,_0x192032));return _0x21a05f[_0x24b8b5(0x1ff)]('\x0a');}function isSyncedAtMetadataLine(_0xf92d24,_0x6d3653){const _0x438f60=a127_0xe2cc18;if(_0x6d3653===_0x438f60(0x222))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0xf92d24);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x438f60(0x1fc)](_0xf92d24);}
|
|
1
|
+
const a128_0x32764b=a128_0xdfd8;(function(_0xade6ae,_0x3a0682){const _0x339b0f=a128_0xdfd8,_0x4f82eb=_0xade6ae();while(!![]){try{const _0x4c463a=parseInt(_0x339b0f(0x1af))/0x1*(-parseInt(_0x339b0f(0x1e0))/0x2)+parseInt(_0x339b0f(0x1d5))/0x3*(parseInt(_0x339b0f(0x1cb))/0x4)+parseInt(_0x339b0f(0x1d9))/0x5*(parseInt(_0x339b0f(0x1e1))/0x6)+-parseInt(_0x339b0f(0x1df))/0x7+parseInt(_0x339b0f(0x1de))/0x8*(parseInt(_0x339b0f(0x1b9))/0x9)+parseInt(_0x339b0f(0x1b2))/0xa*(-parseInt(_0x339b0f(0x1c0))/0xb)+-parseInt(_0x339b0f(0x1d4))/0xc;if(_0x4c463a===_0x3a0682)break;else _0x4f82eb['push'](_0x4f82eb['shift']());}catch(_0x57d07c){_0x4f82eb['push'](_0x4f82eb['shift']());}}}(a128_0x15f8,0xb028e));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 a128_0xdfd8(_0x5f294e,_0x4474f9){_0x5f294e=_0x5f294e-0x1a9;const _0x15f8e1=a128_0x15f8();let _0xdfd868=_0x15f8e1[_0x5f294e];return _0xdfd868;}const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x20ae1c,_0x568304){const _0x28db95=a128_0xdfd8,_0x4e6578=[];let _0x39f46e=0x1;while(!![]){const _0x59ff8f=await listSqlQueries(_0x20ae1c,{'currentPage':_0x39f46e,'pageSize':PAGE_SIZE,'sqlCode':_0x568304['sqlCode'],'sqlName':_0x568304[_0x28db95(0x1cc)]}),_0xcf6f9f=_0x59ff8f[_0x28db95(0x1c7)]??[];_0x4e6578[_0x28db95(0x1c4)](..._0xcf6f9f);if(_0xcf6f9f[_0x28db95(0x1a9)]===0x0)break;const _0x4c51a7=_0x59ff8f[_0x28db95(0x1b3)]?.[_0x28db95(0x1dd)];if(_0x4c51a7!=null?_0x4e6578[_0x28db95(0x1a9)]>=_0x4c51a7:_0xcf6f9f[_0x28db95(0x1a9)]<PAGE_SIZE)break;_0x39f46e++;}return _0x4e6578;}async function ensureSqlContent(_0x2bf14a){const _0x299523=a128_0xdfd8;if(_0x2bf14a[_0x299523(0x1c8)]!=null&&String(_0x2bf14a[_0x299523(0x1c8)])[_0x299523(0x1a9)]>0x0)return _0x2bf14a;return getSqlQueryDetail(_0x2bf14a[_0x299523(0x1cd)]);}export const sqlPull={'service':'sql','command':'pull','description':a128_0x32764b(0x1bb),'risk':a128_0x32764b(0x1d0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a128_0x32764b(0x1b6),'type':a128_0x32764b(0x1dc),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a128_0x32764b(0x1d6),'type':'boolean','description':a128_0x32764b(0x1b8)}],async 'dryRun'(_0x46e5db){const _0x47957d=a128_0x32764b,_0x43bc4=loadSqlProjectConfig(_0x46e5db['appCode']),_0x139eaa=await readSqlLockFile(_0x43bc4[_0x47957d(0x1aa)]),{appLock:_0x1b246e}=ensureSqlLockScope(_0x139eaa??createEmptySqlLock(),_0x43bc4['appCode'],_0x43bc4[_0x47957d(0x1bf)],_0x47957d(0x1bd)),_0x36e893=await fetchAllSqlQueries(_0x46e5db[_0x47957d(0x1ae)],{'sqlCode':_0x46e5db['str']('sqlcode')||undefined,'sqlName':_0x46e5db[_0x47957d(0x1b1)](_0x47957d(0x1b6))||undefined}),_0x15bf6f=[];for(const _0x76cfca of _0x36e893){const _0x34d206=await ensureSqlContent(_0x76cfca),_0x38e97a=ensureRemoteSqlContent(_0x34d206),_0x42a777=detectModeFromSql(_0x34d206),_0x22c1ab=_0x34d206[_0x47957d(0x1e2)]?await getDbName(_0x46e5db[_0x47957d(0x1ae)],Number(_0x34d206[_0x47957d(0x1e2)]))['catch'](()=>undefined):undefined,_0x5f001c=buildLocalSqlFileContent({'sqlCode':_0x34d206['sqlCode'],'sqlName':_0x34d206[_0x47957d(0x1cc)],'dbId':_0x34d206[_0x47957d(0x1e2)]},_0x38e97a,{'dbName':_0x22c1ab,'mode':_0x42a777,'syncedAt':new Date()[_0x47957d(0x1cf)](),'description':_0x34d206[_0x47957d(0x1d2)]}),_0xa523c7=buildSqlLockEntry(_0x34d206,_0x38e97a,'',{'dbName':_0x22c1ab}),_0x495d40=resolveLocalSqlFilePath(_0x43bc4,_0x34d206[_0x47957d(0x1cd)],_0xa523c7);let _0x127efa='would_pull',_0xa2a842;if(await fileExists(_0x495d40)){const _0xc040de=await readFile(_0x495d40,_0x47957d(0x1c6));isEquivalentPulledSqlFile(_0xc040de,_0x5f001c,_0x42a777)?(_0x127efa=_0x47957d(0x1ba),_0xa2a842=_0x47957d(0x1ab)):(_0x127efa=_0x47957d(0x1d3),_0xa2a842=_0x47957d(0x1bc));}_0x15bf6f[_0x47957d(0x1c4)]({'sqlCode':_0x34d206['sqlCode'],'sqlName':_0x34d206[_0x47957d(0x1cc)],'filePath':_0x495d40,'status':_0x127efa,'reason':_0xa2a842});}return{'method':_0x47957d(0x1c9),'url':_0x47957d(0x1b4),'body':{'appCode':_0x46e5db[_0x47957d(0x1ae)],'sqlCode':_0x46e5db['str'](_0x47957d(0x1ad))||null,'sqlName':_0x46e5db[_0x47957d(0x1b1)](_0x47957d(0x1b6))||null,'files':_0x15bf6f},'description':'Would\x20pull\x20'+_0x15bf6f[_0x47957d(0x1a9)]+_0x47957d(0x1c1)+_0x43bc4['sqlRootDir']};},async 'execute'(_0x5bfe34){const _0x3280d3=a128_0x32764b,_0x361e25=loadSqlProjectConfig(_0x5bfe34[_0x3280d3(0x1ae)]),_0x17c264=await readSqlLockFile(_0x361e25[_0x3280d3(0x1aa)]),{lockData:_0x4f9073,appLock:_0x161c83}=ensureSqlLockScope(_0x17c264??createEmptySqlLock(),_0x361e25[_0x3280d3(0x1ae)],_0x361e25[_0x3280d3(0x1bf)],'pull'),_0x2dd95d=_0x5bfe34[_0x3280d3(0x1ca)]('force'),_0x482f7b=await fetchAllSqlQueries(_0x5bfe34[_0x3280d3(0x1ae)],{'sqlCode':_0x5bfe34[_0x3280d3(0x1b1)](_0x3280d3(0x1ad))||undefined,'sqlName':_0x5bfe34[_0x3280d3(0x1b1)](_0x3280d3(0x1b6))||undefined});if(_0x482f7b['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x1324d1=[],_0x5374ba=[];for(const _0x40e2e9 of _0x482f7b){try{_0x1324d1['push'](await ensureSqlContent(_0x40e2e9));}catch(_0xa05927){_0x5374ba[_0x3280d3(0x1c4)]({'sqlCode':_0x40e2e9[_0x3280d3(0x1cd)],'error':_0xa05927 instanceof Error?_0xa05927[_0x3280d3(0x1be)]:String(_0xa05927)});}}if(_0x2dd95d&&!_0x5bfe34[_0x3280d3(0x1d8)]){let _0x5c258c=![];for(const _0x3da972 of _0x1324d1){const _0x93d930=detectModeFromSql(_0x3da972),_0x3a547c=_0x3da972[_0x3280d3(0x1e2)]?await getDbName(_0x5bfe34[_0x3280d3(0x1ae)],Number(_0x3da972[_0x3280d3(0x1e2)]))[_0x3280d3(0x1c5)](()=>undefined):undefined,_0x412b90=buildLocalSqlFileContent({'sqlCode':_0x3da972[_0x3280d3(0x1cd)],'sqlName':_0x3da972[_0x3280d3(0x1cc)],'dbId':_0x3da972[_0x3280d3(0x1e2)]},ensureRemoteSqlContent(_0x3da972),{'dbName':_0x3a547c,'mode':_0x93d930,'syncedAt':new Date()[_0x3280d3(0x1cf)](),'description':_0x3da972['description']}),_0x5a238e=resolveLocalSqlFilePath(_0x361e25,_0x3da972[_0x3280d3(0x1cd)],buildSqlLockEntry(_0x3da972,ensureRemoteSqlContent(_0x3da972),'',{'dbName':_0x3a547c}));if(await fileExists(_0x5a238e)){const _0x459943=await readFile(_0x5a238e,'utf8');if(!isEquivalentPulledSqlFile(_0x459943,_0x412b90,_0x93d930)){_0x5c258c=!![];break;}}}if(_0x5c258c){const _0x5bccd5=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x5bccd5)throw CliErrors['cancelled']('Force\x20pull\x20cancelled.');}}const _0x4368d5=cloneSqlLockData(_0x4f9073),_0xf9c1e5=_0x4368d5[_0x3280d3(0x1d7)][_0x361e25[_0x3280d3(0x1ae)]],_0x25ec62=[],_0x145da9=[];for(const _0x47da0d of _0x1324d1){const _0x9d7975=_0xf9c1e5[_0x3280d3(0x1ce)][_0x47da0d[_0x3280d3(0x1cd)]],_0x54bfc9=ensureRemoteSqlContent(_0x47da0d),_0x2240ee=detectModeFromSql(_0x47da0d),_0x36f6a9=_0x47da0d['dbId']?await getDbName(_0x5bfe34[_0x3280d3(0x1ae)],Number(_0x47da0d[_0x3280d3(0x1e2)]))[_0x3280d3(0x1c5)](()=>undefined):undefined,_0x56c29a=buildLocalSqlFileContent({'sqlCode':_0x47da0d['sqlCode'],'sqlName':_0x47da0d[_0x3280d3(0x1cc)],'dbId':_0x47da0d[_0x3280d3(0x1e2)]},_0x54bfc9,{'dbName':_0x36f6a9,'mode':_0x2240ee,'syncedAt':new Date()[_0x3280d3(0x1cf)](),'description':_0x47da0d[_0x3280d3(0x1d2)]}),_0x112015=buildSqlLockEntry(_0x47da0d,_0x54bfc9,computeSqlContentHash(_0x56c29a),{'dbName':_0x36f6a9}),_0xb190f5=_0x112015[_0x3280d3(0x1db)],_0x15ea76=join(_0x361e25[_0x3280d3(0x1b5)],_0xb190f5);try{if(await fileExists(_0x15ea76)){const _0x2a3d32=await readFile(_0x15ea76,'utf8');if(isEquivalentPulledSqlFile(_0x2a3d32,_0x56c29a,_0x2240ee)){_0x145da9[_0x3280d3(0x1c4)]({'sqlCode':_0x47da0d[_0x3280d3(0x1cd)],'reason':_0x3280d3(0x1ab)}),_0xf9c1e5[_0x3280d3(0x1ce)][_0x47da0d['sqlCode']]={..._0x112015,'hash':computeSqlContentHash(_0x2a3d32),'path':_0xb190f5};continue;}if(!_0x2dd95d){_0x145da9['push']({'sqlCode':_0x47da0d['sqlCode'],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x165647=_0x9d7975?.[_0x3280d3(0x1db)]?join(_0x361e25[_0x3280d3(0x1b5)],_0x9d7975[_0x3280d3(0x1db)]):undefined;_0x165647&&_0x165647!==_0x15ea76&&await fileExists(_0x165647)&&await rm(_0x165647,{'force':!![]}),await ensureParentDirectory(_0x15ea76),await writeFile(_0x15ea76,_0x56c29a,_0x3280d3(0x1c6)),_0xf9c1e5[_0x3280d3(0x1ce)][_0x47da0d[_0x3280d3(0x1cd)]]={..._0x112015,'path':_0xb190f5},_0x25ec62[_0x3280d3(0x1c4)]({'sqlCode':_0x47da0d[_0x3280d3(0x1cd)],'filePath':_0x15ea76});}catch(_0x203b05){_0x5374ba[_0x3280d3(0x1c4)]({'sqlCode':_0x47da0d[_0x3280d3(0x1cd)],'error':_0x203b05 instanceof Error?_0x203b05[_0x3280d3(0x1be)]:String(_0x203b05)});}}return _0xf9c1e5['lastSync']=new Date()[_0x3280d3(0x1cf)](),await writeSqlLockFile(_0x361e25[_0x3280d3(0x1aa)],_0x4368d5),{'ok':_0x5374ba[_0x3280d3(0x1a9)]===0x0,'data':{'pulled':_0x25ec62,'skipped':_0x145da9,'failed':_0x5374ba},'message':_0x3280d3(0x1e4)+_0x25ec62[_0x3280d3(0x1a9)]+_0x3280d3(0x1da)+_0x145da9[_0x3280d3(0x1a9)]+'\x20skipped,\x20'+_0x5374ba[_0x3280d3(0x1a9)]+_0x3280d3(0x1ac)};}};function detectModeFromSql(_0x183e40){const _0x746742=a128_0x32764b,_0x6f1038=ensureRemoteSqlContent(_0x183e40),_0x4e86ec=stripLocalSqlMetadata(_0x6f1038,_0x746742(0x1c3))['trimStart']();if(/^<(select|insert|update|delete)\b/i['test'](_0x4e86ec))return'mybatisXml';return _0x746742(0x1e3);}function isEquivalentPulledSqlFile(_0x3cf631,_0x242e1f,_0x3739b1){return normalizePullComparableContent(_0x3cf631,_0x3739b1)===normalizePullComparableContent(_0x242e1f,_0x3739b1);}function normalizePullComparableContent(_0x3adc3e,_0x3959ec){const _0x5f3a1f=a128_0x32764b,_0x4237a5=_0x3adc3e[_0x5f3a1f(0x1b0)](/\r\n/g,'\x0a')[_0x5f3a1f(0x1c2)]('\x0a'),_0x825e40=_0x4237a5['filter'](_0x3c1bd2=>!isSyncedAtMetadataLine(_0x3c1bd2,_0x3959ec));return _0x825e40[_0x5f3a1f(0x1b7)]('\x0a');}function a128_0x15f8(){const _0x1b24fb=['write','test','description','conflict','2378532DplsyM','8385itOjVF','force','apps','nonInteractive','4165naWVKV','\x20written,\x20','path','string','totalCount','3326480XpVyrK','988239svrHxB','2410244bQBFKc','8958zrspmG','dbId','sql','Pull\x20complete:\x20','length','lockFilePath','unchanged','\x20failed','sqlcode','appCode','1ScVMLB','replace','str','140PeyodR','paging','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','sqlRootDir','name','join','Force\x20overwrite\x20local\x20unsynced\x20changes','9QdVazg','skipped','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','pull','message','sqlRoot','548966qrNlKx','\x20SQL\x20file(s)\x20into\x20','split','mybatisXml','push','catch','utf8','tableData','sqlContent','POST','bool','1868twYGnE','sqlName','sqlCode','sqls','toISOString'];a128_0x15f8=function(){return _0x1b24fb;};return a128_0x15f8();}function isSyncedAtMetadataLine(_0xab96a8,_0x29a32d){const _0x51eaca=a128_0x32764b;if(_0x29a32d===_0x51eaca(0x1c3))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0xab96a8);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x51eaca(0x1d1)](_0xab96a8);}
|