@lovrabet/rabetbase-cli 2.1.7-beta.7 → 2.1.7-beta.9
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/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/link-create.js +1 -1
- package/lib/commands/dataset/link-delete.js +1 -1
- package/lib/commands/dataset/link-shared.js +1 -1
- package/lib/commands/dataset/link-update.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.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/report.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/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/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(_0x35cc6e,_0x36175b){const _0x3db054=a109_0x3894,_0x28547d=_0x35cc6e();while(!![]){try{const _0x36585a=-parseInt(_0x3db054(0x149))/0x1+parseInt(_0x3db054(0x10d))/0x2*(parseInt(_0x3db054(0x119))/0x3)+parseInt(_0x3db054(0x137))/0x4*(parseInt(_0x3db054(0x174))/0x5)+-parseInt(_0x3db054(0x12e))/0x6*(-parseInt(_0x3db054(0x110))/0x7)+parseInt(_0x3db054(0x179))/0x8*(parseInt(_0x3db054(0x100))/0x9)+parseInt(_0x3db054(0x15a))/0xa+-parseInt(_0x3db054(0xfe))/0xb;if(_0x36585a===_0x36175b)break;else _0x28547d['push'](_0x28547d['shift']());}catch(_0x33887d){_0x28547d['push'](_0x28547d['shift']());}}}(a109_0x4601,0x53f3c));import a109_0xfa6b3 from'chalk';import a109_0x44d4bc 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'](_0x4349b3=>_0x4349b3!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x434ed3){const _0x397570=a109_0x3894,_0x190bf8=[];for(const _0x30c466 of Object['values'](CORE_IDE_CONFIGS)){if(_0x30c466[_0x397570(0x11a)])for(const _0x2ac3e1 of _0x30c466[_0x397570(0x11a)]){_0x190bf8['push'](resolve(_0x434ed3,_0x2ac3e1[_0x397570(0x17b)]));}}return _0x190bf8;}function analyse(_0x1bd099){const _0x543206=a109_0x3894;let _0x2a3b62=null;const _0x14ee40=resolve(_0x1bd099,NEW_CONFIG_NAME),_0x53ac86=existsSync(_0x14ee40);for(const _0x260c57 of LEGACY_CONFIG_NAMES){const _0x26500e=resolve(_0x1bd099,_0x260c57);if(existsSync(_0x26500e)){const _0x368aab=readConfigFile(_0x26500e),_0x206348=Object[_0x543206(0x108)](_0x368aab)[_0x543206(0x106)](_0x2ac82b=>typeof _0x368aab[_0x2ac82b]!=='undefined');_0x2a3b62={'oldPath':_0x26500e,'hasNewConfig':_0x53ac86,'fields':_0x206348};break;}}const _0x28a0ce=[],_0x95ebb4=resolve(_0x1bd099,_0x543206(0x15c));if(existsSync(_0x95ebb4))_0x28a0ce['push'](_0x95ebb4);const _0x1077d8=resolve(_0x1bd099,_0x543206(0x167));if(existsSync(_0x1077d8))_0x28a0ce['push'](_0x1077d8);const _0x14d32d=resolve(_0x1bd099,'.claude/skills/lovrabet');if(existsSync(_0x14d32d))_0x28a0ce[_0x543206(0x11c)](_0x14d32d);for(const _0x29f4cf of collectIdeSkillFiles(_0x1bd099)){if(existsSync(_0x29f4cf))_0x28a0ce[_0x543206(0x11c)](_0x29f4cf);}let _0x27b892=null;const _0x4b9ef2=resolve(_0x1bd099,_0x543206(0x16a));if(existsSync(_0x4b9ef2))try{const _0x1ad390=JSON[_0x543206(0x165)](readFileSync(_0x4b9ef2,'utf8'));if(_0x1ad390?.[_0x543206(0x11f)]&&typeof _0x1ad390[_0x543206(0x11f)]==='object'){const _0x1808a4=[];for(const [_0xd5dee4,_0x36d72b]of Object[_0x543206(0x104)](_0x1ad390[_0x543206(0x11f)])){const _0x488d64=_0x36d72b;_0x488d64?.[_0x543206(0x178)]&&Array[_0x543206(0x177)](_0x488d64[_0x543206(0x178)])&&_0x488d64[_0x543206(0x178)][_0x543206(0x11b)](_0x1a94ae=>typeof _0x1a94ae==='string'&&_0x1a94ae[_0x543206(0x140)](_0x543206(0x14e)))&&_0x1808a4[_0x543206(0x11c)](_0xd5dee4);}_0x1808a4[_0x543206(0x17e)]>0x0&&(_0x27b892={'path':_0x4b9ef2,'keys':_0x1808a4});}}catch{}const _0x41210c=_0x28a0ce[_0x543206(0x17e)]>0x0||_0x2a3b62!==null;let _0x6f520d=null;const _0x182731=resolve(_0x1bd099,_0x543206(0x114));if(existsSync(_0x182731))try{const _0x3e33e0=JSON[_0x543206(0x165)](readFileSync(_0x182731,_0x543206(0x14f)));for(const _0x2cfb62 of[_0x543206(0x13d),'devDependencies']){const _0x48be31=_0x3e33e0?.[_0x2cfb62]?.[_0x543206(0x116)];if(typeof _0x48be31===_0x543206(0x13c)){_0x48be31!==_0x543206(0x145)&&(_0x6f520d={'pkgPath':_0x182731,'currentVersion':_0x48be31,'field':_0x2cfb62});break;}}}catch{}return{'configMigration':_0x2a3b62,'oldArtifacts':_0x28a0ce,'oldMcpConfig':_0x27b892,'needsSkillSwap':_0x41210c,'sdkUpgrade':_0x6f520d};}function printReport(_0x328fe5){const _0x2b7c12=a109_0x3894,{configMigration:_0x11b3bd,oldArtifacts:_0x41e83d,oldMcpConfig:_0x54ec19,needsSkillSwap:_0x4e4b8c}=_0x328fe5;console[_0x2b7c12(0x109)](''),console['log'](a109_0xfa6b3[_0x2b7c12(0x155)](_0x2b7c12(0x10b))),console['log']('');_0x11b3bd?(console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan']('Config\x20file:')+('\x20\x20'+a109_0xfa6b3['yellow'](_0x11b3bd['oldPath']))),console[_0x2b7c12(0x109)](_0x2b7c12(0x10c)+(_0x11b3bd[_0x2b7c12(0x172)]?a109_0xfa6b3[_0x2b7c12(0x173)]('already\x20exists\x20(will\x20merge)'):a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x107)))),console[_0x2b7c12(0x109)](_0x2b7c12(0x101)+_0x11b3bd[_0x2b7c12(0x133)][_0x2b7c12(0x113)](',\x20')),console[_0x2b7c12(0x109)](_0x2b7c12(0x111))):console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x142))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x129)));console[_0x2b7c12(0x109)]('');if(_0x41e83d['length']>0x0){console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)]('Legacy\x20artifacts:'));for(const _0x16347b of _0x41e83d){console[_0x2b7c12(0x109)]('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15f)]('FOUND')+'\x20\x20'+_0x16347b);}console[_0x2b7c12(0x109)]('\x20\x20Action:\x20delete');}else console['log'](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x124))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)]('none\x20found'));console[_0x2b7c12(0x109)]('');_0x54ec19?(console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan'](_0x2b7c12(0x139))+('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x54ec19[_0x2b7c12(0x17b)])+'\x20→\x20keys:\x20'+_0x54ec19[_0x2b7c12(0x108)][_0x2b7c12(0x113)](',\x20'))),console[_0x2b7c12(0x109)](_0x2b7c12(0x153))):console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x139))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x16b)));console['log'](''),console[_0x2b7c12(0x109)](a109_0xfa6b3[_0x2b7c12(0x16e)]('Skill\x20swap:')+('\x20\x20'+(_0x4e4b8c?a109_0xfa6b3[_0x2b7c12(0x15b)]('needed'):a109_0xfa6b3['green'](_0x2b7c12(0x144)))));_0x4e4b8c&&console[_0x2b7c12(0x109)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2b7c12(0x109)]('');if(_0x328fe5[_0x2b7c12(0x122)]){const {currentVersion:_0x2b94b6,field:_0x5143c2,pkgPath:_0x3ea846}=_0x328fe5[_0x2b7c12(0x122)];console[_0x2b7c12(0x109)](a109_0xfa6b3['cyan'](_0x2b7c12(0x126))+('\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x3ea846))),console[_0x2b7c12(0x109)](_0x2b7c12(0x16f)+_0x5143c2+':\x20'+a109_0xfa6b3[_0x2b7c12(0x15b)](_0x2b94b6)+_0x2b7c12(0x10a)+a109_0xfa6b3[_0x2b7c12(0x173)](_0x2b7c12(0x145))),console['log'](_0x2b7c12(0x160));}else console['log'](a109_0xfa6b3[_0x2b7c12(0x16e)](_0x2b7c12(0x126))+'\x20\x20'+a109_0xfa6b3[_0x2b7c12(0x12d)](_0x2b7c12(0x135)));console['log']('');}function execConfigMigration(_0x140521,_0x386f88){const _0x223881=a109_0x3894,{configMigration:_0x52303c}=_0x140521;if(!_0x52303c?.[_0x223881(0x13b)])return{'step':0x1,'label':_0x223881(0x13f),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x2d6c27=readConfigFile(_0x52303c['oldPath']),_0x419e81=resolve(_0x386f88,NEW_CONFIG_NAME),_0x58b0bd=_0x52303c[_0x223881(0x172)]?readConfigFile(_0x419e81):{};for(const [_0x1cac72,_0x533c08]of Object[_0x223881(0x104)](_0x2d6c27)){!(_0x1cac72 in _0x58b0bd)&&(_0x58b0bd[_0x1cac72]=_0x533c08);}writeConfigFile(_0x419e81,_0x58b0bd);const _0x5b2eda=_0x52303c['oldPath']+_0x223881(0x17a);return renameSync(_0x52303c[_0x223881(0x13b)],_0x5b2eda),{'step':0x1,'label':_0x223881(0x13f),'ok':!![],'detail':_0x52303c[_0x223881(0x13b)]+_0x223881(0x10a)+_0x419e81+'\x20(backup:\x20'+_0x5b2eda+')'};}function execRemoveOldArtifacts(_0x5521b2){const _0x200847=a109_0x3894,_0x4ef1e2=[];for(const _0xc44841 of _0x5521b2){try{if(!existsSync(_0xc44841))continue;const _0x121558=tryStat(_0xc44841);_0x121558?.[_0x200847(0x170)]()?rmSync(_0xc44841,{'recursive':!![],'force':!![]}):unlinkSync(_0xc44841);}catch(_0x25ba67){_0x4ef1e2[_0x200847(0x11c)](_0xc44841+':\x20'+_0x25ba67[_0x200847(0x150)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4ef1e2['length']===0x0,'detail':_0x4ef1e2[_0x200847(0x17e)]>0x0?_0x5521b2['length']-_0x4ef1e2['length']+'/'+_0x5521b2[_0x200847(0x17e)]+_0x200847(0x17c)+_0x4ef1e2[_0x200847(0x113)](';\x20')+')':_0x5521b2[_0x200847(0x17e)]+_0x200847(0x16d)};}function execCleanMcp(_0x5d9e8e){const _0x3ed5d4=a109_0x3894;if(!_0x5d9e8e[_0x3ed5d4(0x162)])return{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':!![],'detail':_0x3ed5d4(0x14d)};try{const _0x32d65c=readFileSync(_0x5d9e8e[_0x3ed5d4(0x162)]['path'],_0x3ed5d4(0x14f)),_0x3f400e=JSON[_0x3ed5d4(0x165)](_0x32d65c);if(_0x3f400e?.['mcpServers']&&typeof _0x3f400e[_0x3ed5d4(0x11f)]===_0x3ed5d4(0x10f)){const _0x75f043=[];for(const [_0x5b0057,_0x3a0ec2]of Object[_0x3ed5d4(0x104)](_0x3f400e[_0x3ed5d4(0x11f)])){_0x3a0ec2?.[_0x3ed5d4(0x178)]&&Array[_0x3ed5d4(0x177)](_0x3a0ec2[_0x3ed5d4(0x178)])&&_0x3a0ec2[_0x3ed5d4(0x178)][_0x3ed5d4(0x11b)](_0x6b15a3=>typeof _0x6b15a3===_0x3ed5d4(0x13c)&&_0x6b15a3[_0x3ed5d4(0x140)](_0x3ed5d4(0x14e)))&&_0x75f043[_0x3ed5d4(0x11c)](_0x5b0057);}for(const _0x2ce630 of _0x75f043){delete _0x3f400e[_0x3ed5d4(0x11f)][_0x2ce630];}return _0x75f043['length']>0x0&&writeFileSync(_0x5d9e8e[_0x3ed5d4(0x162)]['path'],JSON[_0x3ed5d4(0x16c)](_0x3f400e,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':!![],'detail':'removed\x20'+_0x75f043[_0x3ed5d4(0x113)](',\x20')+_0x3ed5d4(0x103)+_0x5d9e8e[_0x3ed5d4(0x162)][_0x3ed5d4(0x17b)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x3ed5d4(0x156)};}catch(_0x212337){return{'step':0x4,'label':_0x3ed5d4(0x12f),'ok':![],'detail':_0x212337[_0x3ed5d4(0x150)]};}}function execSkillsRemove(_0x566929,_0x579ce6){const _0x29fc75=a109_0x3894,_0x1d552d=runNpxSkillsRemove(_0x566929,{'stdio':_0x29fc75(0x118),'yes':_0x579ce6});return{'step':0x5,'label':_0x29fc75(0xfd),'ok':_0x1d552d['ok'],'detail':_0x1d552d['ok']?_0x29fc75(0xfc):_0x1d552d[_0x29fc75(0x10e)]??_0x29fc75(0x17f)+_0x1d552d[_0x29fc75(0x125)]};}function a109_0x4601(){const _0x493e7a=['===\x20Upgrade\x20Summary\x20===','68dHiTSm','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','MCP\x20config:','FAIL','oldPath','string','dependencies','Step\x201/7:\x20Config\x20migration\x20—\x20','Config\x20migration','includes','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Config\x20file:','oldArtifacts','not\x20needed','latest','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','lovrabet/rabetbase\x20installed\x20globally','\x20\x20#\x20or','31851xnZrFw','Upgrade\x20cancelled.','Install\x20new\x20skill','detail','skipped','@lovrabet/dataset-mcp-server','utf8','message','succeed','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Upgrade\x20@lovrabet/sdk','bold','no\x20matching\x20entry\x20found','yes','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20bun\x20install','5510970hisoYK','yellow','.lovrabet','label','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','red','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','oldMcpConfig','fail','lovrabet/rabetbase','parse','Remove\x20.lovrabet/','.cursor/rules/lovrabet_rules.mdc','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Upgrade\x20completed\x20successfully!','.cursor/mcp.json','no\x20legacy\x20entry','stringify','\x20removed','cyan','\x20\x20Current\x20version\x20in\x20','isDirectory','Step\x205/7:\x20Removing\x20old\x20skill...','hasNewConfig','green','64230REOaKI','Proceed\x20with\x20upgrade?','Step\x204/7:\x20MCP\x20config\x20—\x20','isArray','args','8IsSAzg','.bak','path','\x20removed\x20(','\x20\x20Step\x20','length','exit\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','lovrabet/lovrabet-skill\x20removed','Remove\x20old\x20skill','17888981FtraNC','cwd','1535481RtvUiZ','\x20\x20Fields\x20to\x20migrate:\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20from\x20','entries','[\x22@lovrabet/sdk\x22]:\x20','filter','not\x20found\x20(will\x20create)','keys','log','\x20→\x20','===\x20Upgrade\x20Analysis\x20===','\x20\x20New\x20config\x20(.rabetbase.json):\x20','998rNUPsZ','error','object','1502060QbmdOg','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','white','join','package.json','\x20\x20npm\x20install','@lovrabet/sdk','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','inherit','2514qHFVQg','files','some','push','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Step\x206/7:\x20Installing\x20new\x20skill...','mcpServers','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','sdkUpgrade','CANCEL','Legacy\x20artifacts:','status','@lovrabet/sdk:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','start','no\x20legacy\x20config\x20found','done','needsSkillSwap','configMigration','gray','18ieCgEb','Clean\x20MCP\x20config','Step\x201/7:\x20Migrating\x20config...','step','\x20\x20\x20\x20\x20\x20\x20','fields','failed','not\x20found\x20or\x20already\x20at\x20latest'];a109_0x4601=function(){return _0x493e7a;};return a109_0x4601();}function execSkillsAdd(_0x160551,_0x6a6945){const _0x52d969=a109_0x3894,_0x3299ff=runNpxSkillsAddGlobal(_0x160551,_0x52d969(0x164),{'stdio':'inherit','yes':_0x6a6945});return{'step':0x6,'label':_0x52d969(0x14b),'ok':_0x3299ff['ok'],'detail':_0x3299ff['ok']?_0x52d969(0x147):_0x3299ff['error']??_0x52d969(0x17f)+_0x3299ff['status']};}function execUpgradeSdk(_0x30a6f2){const _0x30f75b=a109_0x3894;if(!_0x30a6f2[_0x30f75b(0x122)])return{'step':0x7,'label':_0x30f75b(0x154),'ok':!![],'detail':_0x30f75b(0x102)};const {pkgPath:_0x34c84d,currentVersion:_0x5ca6b4,field:_0x1484ac}=_0x30a6f2[_0x30f75b(0x122)];try{const _0x167215=readFileSync(_0x34c84d,'utf8'),_0x46bf72=JSON['parse'](_0x167215);return _0x46bf72[_0x1484ac]['@lovrabet/sdk']='latest',writeFileSync(_0x34c84d,JSON['stringify'](_0x46bf72,null,0x2)+'\x0a',_0x30f75b(0x14f)),{'step':0x7,'label':_0x30f75b(0x154),'ok':!![],'detail':_0x1484ac+_0x30f75b(0x105)+_0x5ca6b4+'\x20→\x20latest'};}catch(_0x4e2756){return{'step':0x7,'label':_0x30f75b(0x154),'ok':![],'detail':_0x4e2756['message']};}}function tryStat(_0x3663a9){try{return statSync(_0x3663a9);}catch{return undefined;}}function printSummary(_0x3783a3){const _0x1f7044=a109_0x3894;console[_0x1f7044(0x109)](''),console['log'](a109_0xfa6b3['bold'](_0x1f7044(0x136))),console[_0x1f7044(0x109)]('');for(const _0x157faf of _0x3783a3){const _0x4334b1=_0x157faf['ok']?a109_0xfa6b3['green']('OK'):a109_0xfa6b3[_0x1f7044(0x15f)](_0x1f7044(0x13a));console[_0x1f7044(0x109)]('\x20\x20'+_0x4334b1+_0x1f7044(0x17d)+_0x157faf[_0x1f7044(0x131)]+':\x20'+_0x157faf[_0x1f7044(0x15d)]);if(_0x157faf[_0x1f7044(0x14c)])console['log'](_0x1f7044(0x132)+a109_0xfa6b3[_0x1f7044(0x12d)](_0x157faf[_0x1f7044(0x14c)]));}console['log']('');}function a109_0x3894(_0x31923f,_0x134fbd){_0x31923f=_0x31923f-0xfb;const _0x460139=a109_0x4601();let _0x389432=_0x460139[_0x31923f];return _0x389432;}export async function upgradeApp(_0x36e249,_0x3ab220){const _0xc5ab52=a109_0x3894,_0x2ccde6=process[_0xc5ab52(0xff)](),_0x1276b6=analyse(_0x2ccde6),_0x2f523f=!_0x1276b6[_0xc5ab52(0x12c)]&&_0x1276b6[_0xc5ab52(0x143)][_0xc5ab52(0x17e)]===0x0&&!_0x1276b6['oldMcpConfig']&&!_0x1276b6[_0xc5ab52(0x12b)]&&!_0x1276b6[_0xc5ab52(0x122)];if(_0x2f523f){console[_0xc5ab52(0x109)](a109_0xfa6b3['green'](_0xc5ab52(0x121)));return;}printReport(_0x1276b6);const _0x98d4df=!!(_0x3ab220[_0xc5ab52(0x157)]||_0x3ab220['Y']||_0x36e249);if(!_0x98d4df)try{const _0x54fda7=await askConfirm(_0xc5ab52(0x175));if(!_0x54fda7){console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x12d)]('Upgrade\x20cancelled.'));return;}}catch(_0x129705){if(_0x129705?.[_0xc5ab52(0x150)]===_0xc5ab52(0x123)){console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x12d)](_0xc5ab52(0x14a)));return;}throw _0x129705;}const _0x5e93b6=[],_0x2ba0a7=a109_0x44d4bc({'text':_0xc5ab52(0x130),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x3b08a9=execConfigMigration(_0x1276b6,_0x2ccde6);_0x5e93b6['push'](_0x3b08a9),_0x2ba0a7[_0x3b08a9['ok']?_0xc5ab52(0x151):'fail'](_0xc5ab52(0x13e)+(_0x3b08a9['detail']??(_0x3b08a9['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x23c097=resolve(_0x2ccde6,'.lovrabet'),_0x610a98=a109_0x44d4bc({'text':_0xc5ab52(0xfb),'color':_0xc5ab52(0x16e)})['start']();if(existsSync(_0x23c097))try{rmSync(_0x23c097,{'recursive':!![],'force':!![]}),_0x610a98[_0xc5ab52(0x151)](_0xc5ab52(0x158)),_0x5e93b6['push']({'step':0x2,'label':_0xc5ab52(0x166),'ok':!![]});}catch(_0x3ef127){_0x610a98[_0xc5ab52(0x163)](_0xc5ab52(0x141)+_0x3ef127['message']),_0x5e93b6[_0xc5ab52(0x11c)]({'step':0x2,'label':_0xc5ab52(0x166),'ok':![],'detail':_0x3ef127['message']});}else _0x610a98['info'](_0xc5ab52(0x117)),_0x5e93b6[_0xc5ab52(0x11c)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0xc5ab52(0x14d)});const _0x38ee68=a109_0x44d4bc({'text':_0xc5ab52(0x11d),'color':_0xc5ab52(0x16e)})['start'](),_0x3413d9=execRemoveOldArtifacts(_0x1276b6[_0xc5ab52(0x143)]);_0x5e93b6[_0xc5ab52(0x11c)](_0x3413d9),_0x38ee68[_0x3413d9['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x161)+(_0x3413d9['detail']??(_0x3413d9['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x1b90bf=a109_0x44d4bc({'text':_0xc5ab52(0x127),'color':_0xc5ab52(0x16e)})['start'](),_0x442a4d=execCleanMcp(_0x1276b6);_0x5e93b6['push'](_0x442a4d),_0x1b90bf[_0x442a4d['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x176)+(_0x442a4d[_0xc5ab52(0x14c)]??(_0x442a4d['ok']?_0xc5ab52(0x12a):_0xc5ab52(0x134))));const _0x454f1e=a109_0x44d4bc({'text':_0xc5ab52(0x171),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x581670=execSkillsRemove(_0x2ccde6,_0x98d4df);_0x5e93b6[_0xc5ab52(0x11c)](_0x581670),_0x454f1e[_0x581670['ok']?_0xc5ab52(0x151):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x581670['detail']??(_0x581670['ok']?_0xc5ab52(0x12a):'failed')));const _0x320b59=a109_0x44d4bc({'text':_0xc5ab52(0x11e),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x10c9b8=execSkillsAdd(_0x2ccde6,_0x98d4df);_0x5e93b6[_0xc5ab52(0x11c)](_0x10c9b8),_0x320b59[_0x10c9b8['ok']?_0xc5ab52(0x151):_0xc5ab52(0x163)](_0xc5ab52(0x120)+(_0x10c9b8[_0xc5ab52(0x14c)]??(_0x10c9b8['ok']?_0xc5ab52(0x12a):'failed')));const _0x2895d6=a109_0x44d4bc({'text':_0xc5ab52(0x15e),'color':_0xc5ab52(0x16e)})[_0xc5ab52(0x128)](),_0x1da408=execUpgradeSdk(_0x1276b6);_0x5e93b6[_0xc5ab52(0x11c)](_0x1da408),_0x2895d6[_0x1da408['ok']?'succeed':_0xc5ab52(0x163)](_0xc5ab52(0x146)+(_0x1da408[_0xc5ab52(0x14c)]??(_0x1da408['ok']?_0xc5ab52(0x12a):'failed'))),printSummary(_0x5e93b6);const _0x5c7efa=_0x5e93b6[_0xc5ab52(0x11b)](_0x4e31df=>!_0x4e31df['ok']);_0x5c7efa?console[_0xc5ab52(0x109)](a109_0xfa6b3['yellow'](_0xc5ab52(0x168))):console['log'](a109_0xfa6b3[_0xc5ab52(0x173)](_0xc5ab52(0x169))),_0x1da408['ok']&&_0x1276b6[_0xc5ab52(0x122)]&&(console[_0xc5ab52(0x109)](''),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x155)][_0xc5ab52(0x16e)](_0xc5ab52(0x152))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x16e)](_0xc5ab52(0x138))),console[_0xc5ab52(0x109)](''),console[_0xc5ab52(0x109)](a109_0xfa6b3['white'](_0xc5ab52(0x115))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x112)](_0xc5ab52(0x148))),console[_0xc5ab52(0x109)](a109_0xfa6b3[_0xc5ab52(0x112)](_0xc5ab52(0x159))),console[_0xc5ab52(0x109)](''));}
|
|
1
|
+
function a109_0x3c79(){const _0x281584=['\x20\x20Current\x20version\x20in\x20','dependencies','step','log','some','message','oldMcpConfig','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.claude/skills/lovrabet','8BgMzuz','args','Upgrade\x20@lovrabet/sdk','142846sIeqzG','not\x20needed','utf8','cyan','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','MCP\x20config:','no\x20legacy\x20entry','[\x22@lovrabet/sdk\x22]:\x20','\x20removed','Clean\x20MCP\x20config','error','Step\x205/7:\x20Removing\x20old\x20skill...','1423282FWvCiB','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','mcpServers','object','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','2drTtCn','\x20from\x20','oldPath','length','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Action:\x20delete','Remove\x20old\x20skill','620KqvoZv','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','removed\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','failed','Config\x20migration','Legacy\x20artifacts:','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','already\x20exists\x20(will\x20merge)','\x20\x20Step\x20','string','12510025MqftkE','red','@lovrabet/sdk:','lovrabet/rabetbase\x20installed\x20globally','push','inherit','isArray','label','cwd','Install\x20new\x20skill','white','Remove\x20.lovrabet/','4701264HkdnBV','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','keys','path','latest','succeed','detail','includes','Step\x201/7:\x20Migrating\x20config...','sdkUpgrade','fail','\x20→\x20','files','oldArtifacts','green','needsSkillSwap','\x20\x20#\x20or','\x20\x20npm\x20install','isDirectory','filter','\x20\x20New\x20config\x20(.rabetbase.json):\x20','stringify','2160700VyhFCC','\x20\x20bun\x20install','Upgrade\x20cancelled.','===\x20Upgrade\x20Summary\x20===','no\x20legacy\x20config\x20found','exit\x20','info','\x20→\x20keys:\x20','.bak','Step\x204/7:\x20Cleaning\x20MCP\x20config...','skipped','fields','7830ESZLtr','none\x20found','status','hasNewConfig','===\x20Upgrade\x20Analysis\x20===','4dscxFi','3021102jkqiFh','yellow','@lovrabet/sdk','Upgrade\x20completed\x20successfully!','.lovrabet','Skill\x20swap:','devDependencies','package.json','parse','done','lovrabet/lovrabet-skill\x20removed','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.cursor/rules/lovrabet_rules.mdc','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20(backup:\x20','not\x20found\x20(will\x20create)','entries','start','lovrabet/rabetbase','gray','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','needed','\x20\x20Fields\x20to\x20migrate:\x20','bold','\x20removed\x20(','join','Step\x206/7:\x20Installing\x20new\x20skill...'];a109_0x3c79=function(){return _0x281584;};return a109_0x3c79();}const a109_0x64a872=a109_0x3006;(function(_0x3384fc,_0x19daca){const _0x2c1125=a109_0x3006,_0x250a7b=_0x3384fc();while(!![]){try{const _0x15fd46=parseInt(_0x2c1125(0x1ef))/0x1*(-parseInt(_0x2c1125(0x25d))/0x2)+parseInt(_0x2c1125(0x236))/0x3*(parseInt(_0x2c1125(0x235))/0x4)+parseInt(_0x2c1125(0x224))/0x5+parseInt(_0x2c1125(0x20e))/0x6+-parseInt(_0x2c1125(0x1e7))/0x7*(parseInt(_0x2c1125(0x25a))/0x8)+parseInt(_0x2c1125(0x230))/0x9*(parseInt(_0x2c1125(0x1f7))/0xa)+-parseInt(_0x2c1125(0x202))/0xb;if(_0x15fd46===_0x19daca)break;else _0x250a7b['push'](_0x250a7b['shift']());}catch(_0x2da595){_0x250a7b['push'](_0x250a7b['shift']());}}}(a109_0x3c79,0xc1a7b));import a109_0xcbdea8 from'chalk';import a109_0x24af01 from'ora';function a109_0x3006(_0x2da7de,_0x39af4b){_0x2da7de=_0x2da7de-0x1e0;const _0x3c79f8=a109_0x3c79();let _0x30061e=_0x3c79f8[_0x2da7de];return _0x30061e;}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[a109_0x64a872(0x221)](_0x2d531c=>_0x2d531c!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x237396){const _0x3c3195=a109_0x64a872,_0x1b4349=[];for(const _0x2a26df of Object['values'](CORE_IDE_CONFIGS)){if(_0x2a26df[_0x3c3195(0x21a)])for(const _0x56e133 of _0x2a26df[_0x3c3195(0x21a)]){_0x1b4349[_0x3c3195(0x206)](resolve(_0x237396,_0x56e133[_0x3c3195(0x211)]));}}return _0x1b4349;}function analyse(_0x4e6cf3){const _0x32c435=a109_0x64a872;let _0x1ebabe=null;const _0x4982cd=resolve(_0x4e6cf3,NEW_CONFIG_NAME),_0x1097ae=existsSync(_0x4982cd);for(const _0x1a74e6 of LEGACY_CONFIG_NAMES){const _0x389e29=resolve(_0x4e6cf3,_0x1a74e6);if(existsSync(_0x389e29)){const _0x1f0304=readConfigFile(_0x389e29),_0x4c06c7=Object[_0x32c435(0x210)](_0x1f0304)['filter'](_0x1e2649=>typeof _0x1f0304[_0x1e2649]!=='undefined');_0x1ebabe={'oldPath':_0x389e29,'hasNewConfig':_0x1097ae,'fields':_0x4c06c7};break;}}const _0x1fcc38=[],_0x488279=resolve(_0x4e6cf3,_0x32c435(0x23a));if(existsSync(_0x488279))_0x1fcc38[_0x32c435(0x206)](_0x488279);const _0x33006d=resolve(_0x4e6cf3,_0x32c435(0x242));if(existsSync(_0x33006d))_0x1fcc38[_0x32c435(0x206)](_0x33006d);const _0x34193c=resolve(_0x4e6cf3,_0x32c435(0x259));if(existsSync(_0x34193c))_0x1fcc38[_0x32c435(0x206)](_0x34193c);for(const _0xbb42e1 of collectIdeSkillFiles(_0x4e6cf3)){if(existsSync(_0xbb42e1))_0x1fcc38[_0x32c435(0x206)](_0xbb42e1);}let _0x2c371d=null;const _0x1b7acb=resolve(_0x4e6cf3,'.cursor/mcp.json');if(existsSync(_0x1b7acb))try{const _0x41ff29=JSON[_0x32c435(0x23e)](readFileSync(_0x1b7acb,_0x32c435(0x25f)));if(_0x41ff29?.[_0x32c435(0x1ea)]&&typeof _0x41ff29['mcpServers']===_0x32c435(0x1eb)){const _0x7c6cb7=[];for(const [_0x49f183,_0x1e0b3a]of Object[_0x32c435(0x246)](_0x41ff29['mcpServers'])){const _0x5030ac=_0x1e0b3a;_0x5030ac?.['args']&&Array['isArray'](_0x5030ac[_0x32c435(0x25b)])&&_0x5030ac[_0x32c435(0x25b)][_0x32c435(0x255)](_0x3393a1=>typeof _0x3393a1===_0x32c435(0x201)&&_0x3393a1[_0x32c435(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x7c6cb7[_0x32c435(0x206)](_0x49f183);}_0x7c6cb7['length']>0x0&&(_0x2c371d={'path':_0x1b7acb,'keys':_0x7c6cb7});}}catch{}const _0x3fe2d0=_0x1fcc38['length']>0x0||_0x1ebabe!==null;let _0x489584=null;const _0x30d9eb=resolve(_0x4e6cf3,_0x32c435(0x23d));if(existsSync(_0x30d9eb))try{const _0x4a3192=JSON[_0x32c435(0x23e)](readFileSync(_0x30d9eb,_0x32c435(0x25f)));for(const _0xcdb7e4 of[_0x32c435(0x252),_0x32c435(0x23c)]){const _0x45e0aa=_0x4a3192?.[_0xcdb7e4]?.[_0x32c435(0x238)];if(typeof _0x45e0aa===_0x32c435(0x201)){_0x45e0aa!==_0x32c435(0x212)&&(_0x489584={'pkgPath':_0x30d9eb,'currentVersion':_0x45e0aa,'field':_0xcdb7e4});break;}}}catch{}return{'configMigration':_0x1ebabe,'oldArtifacts':_0x1fcc38,'oldMcpConfig':_0x2c371d,'needsSkillSwap':_0x3fe2d0,'sdkUpgrade':_0x489584};}function printReport(_0x591434){const _0x3e219d=a109_0x64a872,{configMigration:_0x590114,oldArtifacts:_0x571cf8,oldMcpConfig:_0x11a10b,needsSkillSwap:_0x13770e}=_0x591434;console[_0x3e219d(0x254)](''),console['log'](a109_0xcbdea8['bold'](_0x3e219d(0x234))),console[_0x3e219d(0x254)]('');_0x590114?(console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('Config\x20file:')+('\x20\x20'+a109_0xcbdea8['yellow'](_0x590114['oldPath']))),console['log'](_0x3e219d(0x222)+(_0x590114[_0x3e219d(0x233)]?a109_0xcbdea8['green'](_0x3e219d(0x1ff)):a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x245)))),console[_0x3e219d(0x254)](_0x3e219d(0x24c)+_0x590114[_0x3e219d(0x22f)][_0x3e219d(0x24f)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x3e219d(0x254)](a109_0xcbdea8['cyan']('Config\x20file:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x228)));console[_0x3e219d(0x254)]('');if(_0x571cf8[_0x3e219d(0x1f2)]>0x0){console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd)));for(const _0x126e94 of _0x571cf8){console[_0x3e219d(0x254)]('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x203)]('FOUND')+'\x20\x20'+_0x126e94);}console[_0x3e219d(0x254)](_0x3e219d(0x1f5));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1fd))+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)](_0x3e219d(0x231)));console[_0x3e219d(0x254)]('');_0x11a10b?(console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x11a10b[_0x3e219d(0x211)])+_0x3e219d(0x22b)+_0x11a10b[_0x3e219d(0x210)][_0x3e219d(0x24f)](',\x20'))),console[_0x3e219d(0x254)](_0x3e219d(0x241))):console['log'](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x1e0))+'\x20\x20'+a109_0xcbdea8['gray'](_0x3e219d(0x1e1)));console[_0x3e219d(0x254)](''),console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x23b))+('\x20\x20'+(_0x13770e?a109_0xcbdea8[_0x3e219d(0x237)](_0x3e219d(0x24b)):a109_0xcbdea8[_0x3e219d(0x21c)](_0x3e219d(0x25e)))));_0x13770e&&console[_0x3e219d(0x254)](_0x3e219d(0x1ee)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x591434[_0x3e219d(0x217)]){const {currentVersion:_0x359d39,field:_0x1b49a1,pkgPath:_0x4483b6}=_0x591434['sdkUpgrade'];console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)](_0x3e219d(0x204))+('\x20\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x4483b6))),console['log'](_0x3e219d(0x251)+_0x1b49a1+':\x20'+a109_0xcbdea8[_0x3e219d(0x237)](_0x359d39)+_0x3e219d(0x219)+a109_0xcbdea8[_0x3e219d(0x21c)]('latest')),console[_0x3e219d(0x254)](_0x3e219d(0x258));}else console[_0x3e219d(0x254)](a109_0xcbdea8[_0x3e219d(0x260)]('@lovrabet/sdk:')+'\x20\x20'+a109_0xcbdea8[_0x3e219d(0x249)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x3e219d(0x254)]('');}function execConfigMigration(_0x47732d,_0x31dddb){const _0x56ef0e=a109_0x64a872,{configMigration:_0x1f1cac}=_0x47732d;if(!_0x1f1cac?.[_0x56ef0e(0x1f1)])return{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x34c006=readConfigFile(_0x1f1cac[_0x56ef0e(0x1f1)]),_0x46c7ef=resolve(_0x31dddb,NEW_CONFIG_NAME),_0x2e08fe=_0x1f1cac[_0x56ef0e(0x233)]?readConfigFile(_0x46c7ef):{};for(const [_0x2f1f75,_0x2d3515]of Object[_0x56ef0e(0x246)](_0x34c006)){!(_0x2f1f75 in _0x2e08fe)&&(_0x2e08fe[_0x2f1f75]=_0x2d3515);}writeConfigFile(_0x46c7ef,_0x2e08fe);const _0xc67828=_0x1f1cac[_0x56ef0e(0x1f1)]+_0x56ef0e(0x22c);return renameSync(_0x1f1cac[_0x56ef0e(0x1f1)],_0xc67828),{'step':0x1,'label':_0x56ef0e(0x1fc),'ok':!![],'detail':_0x1f1cac[_0x56ef0e(0x1f1)]+'\x20→\x20'+_0x46c7ef+_0x56ef0e(0x244)+_0xc67828+')'};}function execRemoveOldArtifacts(_0x36fe81){const _0x464b04=a109_0x64a872,_0x4f6fc5=[];for(const _0x451909 of _0x36fe81){try{if(!existsSync(_0x451909))continue;const _0x565361=tryStat(_0x451909);_0x565361?.[_0x464b04(0x220)]()?rmSync(_0x451909,{'recursive':!![],'force':!![]}):unlinkSync(_0x451909);}catch(_0x21230c){_0x4f6fc5[_0x464b04(0x206)](_0x451909+':\x20'+_0x21230c['message']);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4f6fc5[_0x464b04(0x1f2)]===0x0,'detail':_0x4f6fc5['length']>0x0?_0x36fe81['length']-_0x4f6fc5[_0x464b04(0x1f2)]+'/'+_0x36fe81['length']+_0x464b04(0x24e)+_0x4f6fc5[_0x464b04(0x24f)](';\x20')+')':_0x36fe81['length']+_0x464b04(0x1e3)};}function execCleanMcp(_0x269714){const _0x27b994=a109_0x64a872;if(!_0x269714[_0x27b994(0x257)])return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x22e)};try{const _0x499a81=readFileSync(_0x269714['oldMcpConfig'][_0x27b994(0x211)],_0x27b994(0x25f)),_0x424e7f=JSON['parse'](_0x499a81);if(_0x424e7f?.[_0x27b994(0x1ea)]&&typeof _0x424e7f[_0x27b994(0x1ea)]==='object'){const _0x15f7dd=[];for(const [_0x849252,_0x311da5]of Object[_0x27b994(0x246)](_0x424e7f['mcpServers'])){_0x311da5?.[_0x27b994(0x25b)]&&Array[_0x27b994(0x208)](_0x311da5[_0x27b994(0x25b)])&&_0x311da5[_0x27b994(0x25b)][_0x27b994(0x255)](_0x37547c=>typeof _0x37547c===_0x27b994(0x201)&&_0x37547c[_0x27b994(0x215)]('@lovrabet/dataset-mcp-server'))&&_0x15f7dd[_0x27b994(0x206)](_0x849252);}for(const _0x31d6f5 of _0x15f7dd){delete _0x424e7f[_0x27b994(0x1ea)][_0x31d6f5];}return _0x15f7dd[_0x27b994(0x1f2)]>0x0&&writeFileSync(_0x269714[_0x27b994(0x257)]['path'],JSON[_0x27b994(0x223)](_0x424e7f,null,0x2)+'\x0a',_0x27b994(0x25f)),{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':_0x27b994(0x1f9)+_0x15f7dd[_0x27b994(0x24f)](',\x20')+_0x27b994(0x1f0)+_0x269714['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x27b994(0x1e4),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2a6f88){return{'step':0x4,'label':_0x27b994(0x1e4),'ok':![],'detail':_0x2a6f88[_0x27b994(0x256)]};}}function execSkillsRemove(_0x1aa80c,_0x4e6943){const _0x476270=a109_0x64a872,_0x40de73=runNpxSkillsRemove(_0x1aa80c,{'stdio':_0x476270(0x207),'yes':_0x4e6943});return{'step':0x5,'label':_0x476270(0x1f6),'ok':_0x40de73['ok'],'detail':_0x40de73['ok']?_0x476270(0x240):_0x40de73[_0x476270(0x1e5)]??'exit\x20'+_0x40de73[_0x476270(0x232)]};}function execSkillsAdd(_0x3f8664,_0x366b5d){const _0x1ce190=a109_0x64a872,_0x20e75d=runNpxSkillsAddGlobal(_0x3f8664,_0x1ce190(0x248),{'stdio':_0x1ce190(0x207),'yes':_0x366b5d});return{'step':0x6,'label':_0x1ce190(0x20b),'ok':_0x20e75d['ok'],'detail':_0x20e75d['ok']?_0x1ce190(0x205):_0x20e75d[_0x1ce190(0x1e5)]??_0x1ce190(0x229)+_0x20e75d[_0x1ce190(0x232)]};}function execUpgradeSdk(_0x1123a6){const _0x5547ff=a109_0x64a872;if(!_0x1123a6['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x5547ff(0x243)};const {pkgPath:_0x61f7ae,currentVersion:_0x567182,field:_0x30e86b}=_0x1123a6[_0x5547ff(0x217)];try{const _0x2118fb=readFileSync(_0x61f7ae,'utf8'),_0x4e7fd2=JSON[_0x5547ff(0x23e)](_0x2118fb);return _0x4e7fd2[_0x30e86b]['@lovrabet/sdk']=_0x5547ff(0x212),writeFileSync(_0x61f7ae,JSON[_0x5547ff(0x223)](_0x4e7fd2,null,0x2)+'\x0a',_0x5547ff(0x25f)),{'step':0x7,'label':_0x5547ff(0x25c),'ok':!![],'detail':_0x30e86b+_0x5547ff(0x1e2)+_0x567182+'\x20→\x20latest'};}catch(_0x4c48d7){return{'step':0x7,'label':_0x5547ff(0x25c),'ok':![],'detail':_0x4c48d7[_0x5547ff(0x256)]};}}function tryStat(_0x47557f){try{return statSync(_0x47557f);}catch{return undefined;}}function printSummary(_0x1ad689){const _0x3b53d3=a109_0x64a872;console[_0x3b53d3(0x254)](''),console[_0x3b53d3(0x254)](a109_0xcbdea8[_0x3b53d3(0x24d)](_0x3b53d3(0x227))),console[_0x3b53d3(0x254)]('');for(const _0x332c71 of _0x1ad689){const _0x58ca4f=_0x332c71['ok']?a109_0xcbdea8['green']('OK'):a109_0xcbdea8[_0x3b53d3(0x203)]('FAIL');console[_0x3b53d3(0x254)]('\x20\x20'+_0x58ca4f+_0x3b53d3(0x200)+_0x332c71[_0x3b53d3(0x253)]+':\x20'+_0x332c71[_0x3b53d3(0x209)]);if(_0x332c71[_0x3b53d3(0x214)])console[_0x3b53d3(0x254)](_0x3b53d3(0x1e9)+a109_0xcbdea8[_0x3b53d3(0x249)](_0x332c71[_0x3b53d3(0x214)]));}console[_0x3b53d3(0x254)]('');}export async function upgradeApp(_0xee582f,_0xdea07e){const _0xc55ed0=a109_0x64a872,_0x2e9b2d=process[_0xc55ed0(0x20a)](),_0x3415f8=analyse(_0x2e9b2d),_0x4c8fae=!_0x3415f8['configMigration']&&_0x3415f8[_0xc55ed0(0x21b)][_0xc55ed0(0x1f2)]===0x0&&!_0x3415f8['oldMcpConfig']&&!_0x3415f8[_0xc55ed0(0x21d)]&&!_0x3415f8[_0xc55ed0(0x217)];if(_0x4c8fae){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x21c)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3415f8);const _0x111678=!!(_0xdea07e['yes']||_0xdea07e['Y']||_0xee582f);if(!_0x111678)try{const _0x513550=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x513550){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}}catch(_0x36cba7){if(_0x36cba7?.[_0xc55ed0(0x256)]==='CANCEL'){console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x249)](_0xc55ed0(0x226)));return;}throw _0x36cba7;}const _0x543d03=[],_0x143263=a109_0x24af01({'text':_0xc55ed0(0x216),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x2a2128=execConfigMigration(_0x3415f8,_0x2e9b2d);_0x543d03['push'](_0x2a2128),_0x143263[_0x2a2128['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x1f4)+(_0x2a2128[_0xc55ed0(0x214)]??(_0x2a2128['ok']?_0xc55ed0(0x23f):'failed')));const _0x231f12=resolve(_0x2e9b2d,_0xc55ed0(0x23a)),_0x153acf=a109_0x24af01({'text':_0xc55ed0(0x1f3),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)]();if(existsSync(_0x231f12))try{rmSync(_0x231f12,{'recursive':!![],'force':!![]}),_0x153acf[_0xc55ed0(0x213)](_0xc55ed0(0x1fe)),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![]});}catch(_0x2aabb0){_0x153acf[_0xc55ed0(0x218)](_0xc55ed0(0x1ec)+_0x2aabb0['message']),_0x543d03[_0xc55ed0(0x206)]({'step':0x2,'label':_0xc55ed0(0x20d),'ok':![],'detail':_0x2aabb0[_0xc55ed0(0x256)]});}else _0x153acf[_0xc55ed0(0x22a)](_0xc55ed0(0x1ed)),_0x543d03['push']({'step':0x2,'label':_0xc55ed0(0x20d),'ok':!![],'detail':_0xc55ed0(0x22e)});const _0x19efc7=a109_0x24af01({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x1d9109=execRemoveOldArtifacts(_0x3415f8[_0xc55ed0(0x21b)]);_0x543d03['push'](_0x1d9109),_0x19efc7[_0x1d9109['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1fa)+(_0x1d9109[_0xc55ed0(0x214)]??(_0x1d9109['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0xc68cd=a109_0x24af01({'text':_0xc55ed0(0x22d),'color':_0xc55ed0(0x260)})['start'](),_0x4f6d59=execCleanMcp(_0x3415f8);_0x543d03['push'](_0x4f6d59),_0xc68cd[_0x4f6d59['ok']?'succeed':_0xc55ed0(0x218)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x4f6d59[_0xc55ed0(0x214)]??(_0x4f6d59['ok']?_0xc55ed0(0x23f):'failed')));const _0x7eaba2=a109_0x24af01({'text':_0xc55ed0(0x1e6),'color':_0xc55ed0(0x260)})['start'](),_0x45e249=execSkillsRemove(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x45e249),_0x7eaba2[_0x45e249['ok']?'succeed':_0xc55ed0(0x218)](_0xc55ed0(0x262)+(_0x45e249[_0xc55ed0(0x214)]??(_0x45e249['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x174f6c=a109_0x24af01({'text':_0xc55ed0(0x250),'color':_0xc55ed0(0x260)})['start'](),_0x278ba3=execSkillsAdd(_0x2e9b2d,_0x111678);_0x543d03[_0xc55ed0(0x206)](_0x278ba3),_0x174f6c[_0x278ba3['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x1e8)+(_0x278ba3[_0xc55ed0(0x214)]??(_0x278ba3['ok']?_0xc55ed0(0x23f):_0xc55ed0(0x1fb))));const _0x30863c=a109_0x24af01({'text':_0xc55ed0(0x1f8),'color':_0xc55ed0(0x260)})[_0xc55ed0(0x247)](),_0x4736e0=execUpgradeSdk(_0x3415f8);_0x543d03[_0xc55ed0(0x206)](_0x4736e0),_0x30863c[_0x4736e0['ok']?_0xc55ed0(0x213):_0xc55ed0(0x218)](_0xc55ed0(0x261)+(_0x4736e0[_0xc55ed0(0x214)]??(_0x4736e0['ok']?'done':'failed'))),printSummary(_0x543d03);const _0x1bb865=_0x543d03[_0xc55ed0(0x255)](_0x4e01a9=>!_0x4e01a9['ok']);_0x1bb865?console['log'](a109_0xcbdea8['yellow'](_0xc55ed0(0x24a))):console['log'](a109_0xcbdea8[_0xc55ed0(0x21c)](_0xc55ed0(0x239))),_0x4736e0['ok']&&_0x3415f8['sdkUpgrade']&&(console[_0xc55ed0(0x254)](''),console[_0xc55ed0(0x254)](a109_0xcbdea8[_0xc55ed0(0x24d)][_0xc55ed0(0x260)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a109_0xcbdea8['cyan'](_0xc55ed0(0x20f))),console[_0xc55ed0(0x254)](''),console['log'](a109_0xcbdea8[_0xc55ed0(0x20c)](_0xc55ed0(0x21f))),console['log'](a109_0xcbdea8['white'](_0xc55ed0(0x21e))),console[_0xc55ed0(0x254)](a109_0xcbdea8['white'](_0xc55ed0(0x225))),console[_0xc55ed0(0x254)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a110_0x23626a=a110_0x526a;(function(_0x38b6de,_0x50cdcc){const _0x2bc1cb=a110_0x526a,_0x36a66b=_0x38b6de();while(!![]){try{const _0x45be11=parseInt(_0x2bc1cb(0x185))/0x1+parseInt(_0x2bc1cb(0x182))/0x2*(parseInt(_0x2bc1cb(0x170))/0x3)+-parseInt(_0x2bc1cb(0x167))/0x4+-parseInt(_0x2bc1cb(0x169))/0x5+parseInt(_0x2bc1cb(0x165))/0x6+parseInt(_0x2bc1cb(0x191))/0x7+-parseInt(_0x2bc1cb(0x17b))/0x8*(parseInt(_0x2bc1cb(0x171))/0x9);if(_0x45be11===_0x50cdcc)break;else _0x36a66b['push'](_0x36a66b['shift']());}catch(_0x2361fb){_0x36a66b['push'](_0x36a66b['shift']());}}}(a110_0x4055,0x70ff3));function a110_0x4055(){const _0x140a77=['Quick\x20Start','install','Dataset\x20&\x20Operations','Database\x20Connections','preview','216BsQvvZ','defaultCommand','login','values','skill','has','write','562owChVn','create','Platform\x20Issue','751185GtltCF','Code\x20Generation','App\x20Management','\x20\x20[write]','map','show','run','get','<script>','risk','start','service','605241LKkbMu','build','2520924hlqcaz','Instant\x20API','548864WciLHG','command','3065235AByZOh','read','project','Logs','auth','Diagnostics','\x20\x20[high-risk-write]','8949zTaexU','294309SRzDda','set','isSingleCommand','logout','Smart\x20List\x20Pages'];a110_0x4055=function(){return _0x140a77;};return a110_0x4055();}import{apiDefinitions}from'../commands/api/index.js';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';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(_0x176957){const _0x3becc5=a110_0x526a;for(const _0x1f541f of _0x176957){definitions[_0x3becc5(0x172)](_0x1f541f[_0x3becc5(0x190)]+':'+_0x1f541f[_0x3becc5(0x168)],_0x1f541f);let _0x365646=serviceGroups['get'](_0x1f541f[_0x3becc5(0x190)]);!_0x365646&&(_0x365646=[],serviceGroups['set'](_0x1f541f['service'],_0x365646)),_0x365646['push'](_0x1f541f);}}function registerDeclarativeService(_0x2ce3b1,_0x2aeed6,_0x1f95f2){const _0x4eb9fd=a110_0x526a;registerDefinitions(_0x2aeed6);_0x1f95f2?.['wildcardDef']&®isterDefinitions([_0x1f95f2['wildcardDef']]);const _0x3d6a40=_0x5cde1b=>_0x5cde1b===_0x4eb9fd(0x16a)?'':_0x5cde1b===_0x4eb9fd(0x181)?_0x4eb9fd(0x188):_0x4eb9fd(0x16f),_0x1e1e12={'service':_0x2aeed6[0x0]['service'],'label':_0x2ce3b1,'commands':_0x2aeed6[_0x4eb9fd(0x189)](_0x331eb3=>({'command':_0x331eb3[_0x4eb9fd(0x168)],'description':_0x331eb3['description'],'tag':_0x3d6a40(_0x331eb3[_0x4eb9fd(0x18e)])})),'declarative':!![],'defaultCommand':_0x1f95f2?.[_0x4eb9fd(0x17c)]??(_0x1f95f2?.[_0x4eb9fd(0x173)]?_0x2aeed6[0x0][_0x4eb9fd(0x168)]:undefined),'wildcardDef':_0x1f95f2?.['wildcardDef'],'isSingleCommand':_0x1f95f2?.[_0x4eb9fd(0x173)]};serviceRegistry['push'](_0x1e1e12),serviceByName[_0x4eb9fd(0x172)](_0x1e1e12[_0x4eb9fd(0x190)],_0x1e1e12);}registerDeclarativeService(a110_0x23626a(0x176),initDefinitions,{'defaultCommand':a110_0x23626a(0x18b),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a110_0x23626a(0x187),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':a110_0x23626a(0x18d),'description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a110_0x23626a(0x17d)}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x23626a(0x16e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a110_0x23626a(0x184),issueDefinitions),registerDeclarativeService('API',apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a110_0x23626a(0x179),dbDefinitions),registerDeclarativeService(a110_0x23626a(0x178),datasetDefinitions),registerDeclarativeService(a110_0x23626a(0x175),pageDefinitions),registerDeclarativeService(a110_0x23626a(0x166),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a110_0x23626a(0x186),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x23626a(0x16c),logsDefinitions,{'defaultCommand':a110_0x23626a(0x18a)});export const deprecatedAliases={'create':{'service':a110_0x23626a(0x16b),'command':a110_0x23626a(0x183)},'start':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x18f)},'build':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x192)},'preview':{'service':a110_0x23626a(0x18b),'command':a110_0x23626a(0x17a)},'logout':{'service':a110_0x23626a(0x16d),'command':a110_0x23626a(0x174)},'skills':{'service':a110_0x23626a(0x17f),'command':a110_0x23626a(0x177)}};export const deprecatedSubcommands={'bff':{'new':a110_0x23626a(0x183)},'sql':{'new':a110_0x23626a(0x183)}};export function resolveDeprecatedSubcommand(_0x1f0d15,_0x17a71b){return deprecatedSubcommands[_0x1f0d15]?.[_0x17a71b];}export function findDefinition(_0x2b80e6,_0x601b25){return definitions['get'](_0x2b80e6+':'+_0x601b25);}export function isKnownService(_0x3c9ffe){const _0x2b0f71=a110_0x23626a;return serviceByName[_0x2b0f71(0x180)](_0x3c9ffe);}function a110_0x526a(_0x5593a7,_0x336dbd){_0x5593a7=_0x5593a7-0x165;const _0x40555d=a110_0x4055();let _0x526a8f=_0x40555d[_0x5593a7];return _0x526a8f;}export function isDeclarativeService(_0x4f9d94){const _0x207e44=a110_0x23626a;return serviceGroups[_0x207e44(0x180)](_0x4f9d94)||serviceByName[_0x207e44(0x18c)](_0x4f9d94)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x2c79ed){return serviceByName['get'](_0x2c79ed);}export function getLegacyHandler(_0x35e249,_0x46abb8){return undefined;}export function getAllDefinitions(){const _0x37fc8e=a110_0x23626a;return Array['from'](definitions[_0x37fc8e(0x17e)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a111_0x128240=a111_0x576f;(function(_0x42373c,_0x4044f3){const _0x2793ad=a111_0x576f,_0x5e3e05=_0x42373c();while(!![]){try{const _0x174aca=parseInt(_0x2793ad(0x1fb))/0x1+parseInt(_0x2793ad(0x1d2))/0x2*(parseInt(_0x2793ad(0x1da))/0x3)+parseInt(_0x2793ad(0x1cf))/0x4+-parseInt(_0x2793ad(0x1e6))/0x5+-parseInt(_0x2793ad(0x1e1))/0x6+parseInt(_0x2793ad(0x1fc))/0x7*(-parseInt(_0x2793ad(0x1dd))/0x8)+-parseInt(_0x2793ad(0x1f0))/0x9*(-parseInt(_0x2793ad(0x204))/0xa);if(_0x174aca===_0x4044f3)break;else _0x5e3e05['push'](_0x5e3e05['shift']());}catch(_0x139877){_0x5e3e05['push'](_0x5e3e05['shift']());}}}(a111_0x20be,0x1bcaa));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';function a111_0x576f(_0x3fefc8,_0x36b3d4){_0x3fefc8=_0x3fefc8-0x1c8;const _0x20be77=a111_0x20be();let _0x576fb3=_0x20be77[_0x3fefc8];return _0x576fb3;}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([a111_0x128240(0x1ca),a111_0x128240(0x1db)]);function readPackageScripts(_0x2bb7f6){const _0x355b01=a111_0x128240,_0x25d6e4=resolve(_0x2bb7f6,_0x355b01(0x1e3));if(!existsSync(_0x25d6e4))return null;try{const _0x32b625=JSON['parse'](readFileSync(_0x25d6e4,'utf-8'));return _0x32b625['scripts']??{};}catch{return null;}}function detectPackageManager(_0x3793af){const _0x3e7541=a111_0x128240;if(existsSync(resolve(_0x3793af,'bun.lockb'))||existsSync(resolve(_0x3793af,_0x3e7541(0x1ce))))return _0x3e7541(0x1d7);if(existsSync(resolve(_0x3793af,_0x3e7541(0x1f9))))return _0x3e7541(0x1f3);if(existsSync(resolve(_0x3793af,'yarn.lock')))return _0x3e7541(0x1d1);return _0x3e7541(0x20a);}async function versionCheck(_0x6c9627){const _0x166eca=a111_0x128240,_0x1c8456=await checkCliVersion();(_0x1c8456[_0x166eca(0x1d8)]||_0x1c8456[_0x166eca(0x207)])&&(printCliUpgradeWarning(_0x1c8456),assertCliVersionSupported(_0x1c8456));const _0xf980a4=await checkSdkVersion(_0x6c9627);if(_0xf980a4[_0x166eca(0x1d8)])printSdkUpgradeWarning(_0xf980a4);}function spawnScript(_0x3abb83,_0xaeec5,_0xe47545,_0x27842e){return new Promise((_0x4bf023,_0x4e2559)=>{const _0xbf3835=a111_0x576f,_0x32254a=[_0xbf3835(0x1dc),_0xaeec5,..._0xe47545],_0x4b2c37=spawn(_0x3abb83,_0x32254a,{'cwd':_0x27842e,'stdio':_0xbf3835(0x1f2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x27842e,_0xbf3835(0x1ee),_0xbf3835(0x1f6))+delimiter+process.env.PATH}});_0x4b2c37['on'](_0xbf3835(0x208),_0x13374b=>{const _0x31d289=_0xbf3835;if(_0x13374b===0x0||_0x13374b===null)_0x4bf023();else _0x4e2559(new Error(_0x3abb83+_0x31d289(0x1cd)+_0xaeec5+_0x31d289(0x1fe)+_0x13374b));}),_0x4b2c37['on'](_0xbf3835(0x1cb),_0x4e2559);});}function spawnViteBuildWatch(_0x14e22d){return new Promise((_0x5cda2e,_0x2a4dab)=>{const _0x53feff=a111_0x576f,_0x3256e0=spawn(_0x53feff(0x1fa),[_0x53feff(0x1d4),'--watch'],{'cwd':_0x14e22d,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x14e22d,'node_modules','.bin')+delimiter+process.env.PATH}});_0x3256e0['on']('close',_0x53f85c=>{if(_0x53f85c===0x0||_0x53f85c===null)_0x5cda2e();else _0x2a4dab(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x53f85c));}),_0x3256e0['on'](_0x53feff(0x1cb),_0x2a4dab);});}function a111_0x20be(){const _0xfd7a38=['851460OaDgFS','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','package.json','map','slice','1123405AVEIBv','\x20run\x20build','Available:\x20','boolean','args','max','push','No\x20package.json\x20found\x20in\x20current\x20directory.','node_modules','\x20\x20\x20\x20','9xXxwIl','\x20run\x20preview','inherit','pnpm','No\x20scripts\x20defined\x20in\x20package.json.','Script\x20name\x20defined\x20in\x20package.json','.bin','watch','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','pnpm-lock.yaml','vite','13858JEbKjc','2212fTJCDS','preview','\x20exited\x20with\x20code\x20','\x22\x20not\x20found\x20in\x20package.json.','bool','padEnd','join','length','3865290eALggK','has','read','belowMinimum','close','script','npm','log','validation','start','error','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20','bun.lock','73784fpzUII','\x0a\x20\x20Usage:\x20','yarn','16rXMwoz','entries','build','\x20\x20EXAMPLES','Script\x20\x22','bun','needsUpgrade','Enable\x20watch\x20mode\x20for\x20preview','71208nshdBW','dev','run','3248iVpULu','Run\x20a\x20package.json\x20script','keys','cwd'];a111_0x20be=function(){return _0xfd7a38;};return a111_0x20be();}function spawnVitePreview(_0x3ab72d){return new Promise((_0x4108ab,_0x1389c3)=>{const _0x29e582=a111_0x576f,_0x1a291b=spawn(_0x29e582(0x1fa),[_0x29e582(0x1fd)],{'cwd':_0x3ab72d,'stdio':_0x29e582(0x1f2),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3ab72d,_0x29e582(0x1ee),_0x29e582(0x1f6))+delimiter+process.env.PATH}});_0x1a291b['on'](_0x29e582(0x208),_0x506ed5=>{const _0x4be3b1=_0x29e582;if(_0x506ed5===0x0||_0x506ed5===null)_0x4108ab();else _0x1389c3(new Error(_0x4be3b1(0x1cc)+_0x506ed5));}),_0x1a291b['on'](_0x29e582(0x1cb),_0x1389c3);});}const runFlags=[{'name':a111_0x128240(0x1f7),'type':a111_0x128240(0x1e9),'description':a111_0x128240(0x1d9),'default':![]}];export const runDefinition={'service':a111_0x128240(0x1dc),'command':'run','description':a111_0x128240(0x1de),'risk':a111_0x128240(0x206),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x128240(0x209),'description':a111_0x128240(0x1f5),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4045f3=a111_0x128240,_0x196ee2=readPackageScripts(process[_0x4045f3(0x1e0)]()),_0x1bd0d3=[];if(_0x196ee2&&Object[_0x4045f3(0x1df)](_0x196ee2)[_0x4045f3(0x203)]>0x0){const _0x1b06f0=Object['keys'](_0x196ee2),_0x482e65=Math[_0x4045f3(0x1eb)](..._0x1b06f0[_0x4045f3(0x1e4)](_0x446983=>_0x446983[_0x4045f3(0x203)]));_0x1bd0d3['push'](_0x4045f3(0x1f8));for(const [_0x4dffd7,_0x3cc8a5]of Object[_0x4045f3(0x1d3)](_0x196ee2)){_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1cd)+_0x4dffd7[_0x4045f3(0x201)](_0x482e65+0x2)+'#\x20'+_0x3cc8a5);}}else _0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1d5)),_0x1bd0d3[_0x4045f3(0x1ec)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1e7)),_0x1bd0d3[_0x4045f3(0x1ec)](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1f1)),_0x1bd0d3['push'](_0x4045f3(0x1ef)+CLI_BIN_NAME+_0x4045f3(0x1e2));return _0x1bd0d3['join']('\x0a');},async 'execute'(_0xe6d647){const _0x16857f=a111_0x128240,_0x35cf2b=process[_0x16857f(0x1e0)](),_0x923570=_0xe6d647[_0x16857f(0x1ea)][0x0],_0x23eeff=_0xe6d647[_0x16857f(0x1ea)][_0x16857f(0x1e5)](0x1),_0x422891=readPackageScripts(_0x35cf2b);if(!_0x422891)throw CliErrors[_0x16857f(0x1c9)](_0x16857f(0x1ed));if(!_0x923570){const _0x1f7e9f=Object['keys'](_0x422891);if(_0x1f7e9f[_0x16857f(0x203)]===0x0)console[_0x16857f(0x1c8)](_0x16857f(0x1f4));else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');const _0x25cb41=Math[_0x16857f(0x1eb)](..._0x1f7e9f['map'](_0x4e2979=>_0x4e2979[_0x16857f(0x203)]));for(const [_0x57691b,_0x3ad3d9]of Object[_0x16857f(0x1d3)](_0x422891)){console[_0x16857f(0x1c8)](_0x16857f(0x1ef)+_0x57691b[_0x16857f(0x201)](_0x25cb41+0x2)+_0x3ad3d9);}console[_0x16857f(0x1c8)](_0x16857f(0x1d0)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x422891[_0x923570])throw CliErrors[_0x16857f(0x1c9)](_0x16857f(0x1d6)+_0x923570+_0x16857f(0x1ff),_0x16857f(0x1e8)+(Object[_0x16857f(0x1df)](_0x422891)[_0x16857f(0x202)](',\x20')||'(none)'));const _0x526554=detectPackageManager(_0x35cf2b);VERSION_CHECK_SCRIPTS[_0x16857f(0x205)](_0x923570)&&await versionCheck(_0x35cf2b);if(_0x923570===_0x16857f(0x1fd)&&_0xe6d647[_0x16857f(0x200)](_0x16857f(0x1f7)))return await Promise['all']([spawnViteBuildWatch(_0x35cf2b),spawnVitePreview(_0x35cf2b)]),{'ok':!![]};return await spawnScript(_0x526554,_0x923570,_0x23eeff,_0x35cf2b),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a112_0x1e5a(){const _0x4f3a18=['270nGDeNP','229460GGWhbQ','read','schema','8511mSXIXg','161926ygaTLN','236980VHMPvr','15EhylIH','json','142ztBjDX','40872SoIRIm','Export\x20machine-readable\x20command\x20schema\x20(JSON)','3758678kBVPuo','1353940XESoJF','6FCzhgs'];a112_0x1e5a=function(){return _0x4f3a18;};return a112_0x1e5a();}const a112_0x54b193=a112_0x3556;(function(_0xd0c50e,_0x8191d8){const _0x437b12=a112_0x3556,_0x491c75=_0xd0c50e();while(!![]){try{const _0x2fab6a=-parseInt(_0x437b12(0xfa))/0x1+parseInt(_0x437b12(0xfe))/0x2*(-parseInt(_0x437b12(0xf9))/0x3)+parseInt(_0x437b12(0xfb))/0x4*(-parseInt(_0x437b12(0xfc))/0x5)+parseInt(_0x437b12(0x103))/0x6*(parseInt(_0x437b12(0x105))/0x7)+-parseInt(_0x437b12(0xff))/0x8*(-parseInt(_0x437b12(0x104))/0x9)+parseInt(_0x437b12(0x102))/0xa+parseInt(_0x437b12(0x101))/0xb;if(_0x2fab6a===_0x8191d8)break;else _0x491c75['push'](_0x491c75['shift']());}catch(_0x215075){_0x491c75['push'](_0x491c75['shift']());}}}(a112_0x1e5a,0x1dcc6));import{buildSchemaPayload}from'../framework/schema-export.js';function a112_0x3556(_0xf5a478,_0x5b6328){_0xf5a478=_0xf5a478-0xf7;const _0x1e5ae2=a112_0x1e5a();let _0x3556a5=_0x1e5ae2[_0xf5a478];return _0x3556a5;}async function execute(_0x4f5713){const _0x44ce63=await buildSchemaPayload();return{'ok':!![],'data':_0x44ce63};}export const schemaDefinition={'service':a112_0x54b193(0xf8),'command':'export','description':a112_0x54b193(0x100),'risk':a112_0x54b193(0xf7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0x54b193(0xfd),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a113_0x46d016=a113_0x1da9;(function(_0x811c8c,_0x40dada){const _0x5405e9=a113_0x1da9,_0xabd2ae=_0x811c8c();while(!![]){try{const _0x544db3=-parseInt(_0x5405e9(0x174))/0x1*(-parseInt(_0x5405e9(0x16d))/0x2)+parseInt(_0x5405e9(0x173))/0x3*(-parseInt(_0x5405e9(0x187))/0x4)+parseInt(_0x5405e9(0x180))/0x5+parseInt(_0x5405e9(0x177))/0x6+parseInt(_0x5405e9(0x170))/0x7+parseInt(_0x5405e9(0x17a))/0x8+-parseInt(_0x5405e9(0x179))/0x9*(parseInt(_0x5405e9(0x186))/0xa);if(_0x544db3===_0x40dada)break;else _0xabd2ae['push'](_0xabd2ae['shift']());}catch(_0x368bc2){_0xabd2ae['push'](_0xabd2ae['shift']());}}}(a113_0x1d84,0x4323c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a113_0x1da9(_0xdc6b5,_0x2ea09a){_0xdc6b5=_0xdc6b5-0x16c;const _0x1d84de=a113_0x1d84();let _0x1da9f9=_0x1d84de[_0xdc6b5];return _0x1da9f9;}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';function a113_0x1d84(){const _0x3d8cce=['setLogPath','nonInteractive','2823108rcKNYP','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','9YbZBbN','37064vXrgVe','log','inherit','../../skills/npx-skills-add.js','npx\x20skills\x20add\x20failed:\x20','cwd','1712405QsubYl','write','Installing\x20official\x20skill\x20via\x20npx\x20(','unknown','skill-install','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','12085770MMwQoz','20836KZgygk','skill','pipe','lovrabet/rabetbase','apiError','248nWfUnP','error','info','3158330jvzUud','Install\x20developer\x20skill\x20package','install','27vTfcNU','2110GuNNDl'];a113_0x1d84=function(){return _0x3d8cce;};return a113_0x1d84();}export const skillDefinitions=[{'service':a113_0x46d016(0x188),'command':a113_0x46d016(0x172),'description':a113_0x46d016(0x171),'risk':a113_0x46d016(0x181),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x39ccd5){const _0x2c31d5=a113_0x46d016;logger[_0x2c31d5(0x175)](process[_0x2c31d5(0x17f)]()),logger[_0x2c31d5(0x16f)](_0x2c31d5(0x184),_0x2c31d5(0x178));const {runNpxSkillsAddGlobal:_0x2fe8c3}=await import(_0x2c31d5(0x17d)),_0x2f2417=_0x39ccd5[_0x2c31d5(0x176)]?_0x2c31d5(0x189):_0x2c31d5(0x17c);console[_0x2c31d5(0x17b)](_0x2c31d5(0x182)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+')...');const _0x166424=_0x2fe8c3(process['cwd'](),_0x2c31d5(0x18a),{'stdio':_0x2f2417});if(_0x166424['skipped'])console[_0x2c31d5(0x17b)](_0x2c31d5(0x185));else{if(_0x166424['ok'])console[_0x2c31d5(0x17b)](CLI_BIN_NAME+'\x20skill\x20installed');else throw CliErrors[_0x2c31d5(0x16c)](_0x2c31d5(0x17e)+(_0x166424[_0x2c31d5(0x16e)]||_0x2c31d5(0x183)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a114_0x76b244=a114_0x3ec0;(function(_0x400dec,_0x3fb60b){const _0x5aea13=a114_0x3ec0,_0x4da1a8=_0x400dec();while(!![]){try{const _0x4666af=parseInt(_0x5aea13(0x1fa))/0x1*(-parseInt(_0x5aea13(0x223))/0x2)+parseInt(_0x5aea13(0x235))/0x3*(parseInt(_0x5aea13(0x226))/0x4)+-parseInt(_0x5aea13(0x229))/0x5*(-parseInt(_0x5aea13(0x200))/0x6)+-parseInt(_0x5aea13(0x21a))/0x7+-parseInt(_0x5aea13(0x234))/0x8*(parseInt(_0x5aea13(0x205))/0x9)+-parseInt(_0x5aea13(0x217))/0xa*(-parseInt(_0x5aea13(0x20f))/0xb)+parseInt(_0x5aea13(0x237))/0xc;if(_0x4666af===_0x3fb60b)break;else _0x4da1a8['push'](_0x4da1a8['shift']());}catch(_0x323da7){_0x4da1a8['push'](_0x4da1a8['shift']());}}}(a114_0x4600,0xdec76));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a114_0x4600(){const _0x2637da=['Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Created\x20SQL\x20query\x20','8615700jWIRvO','sql','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','5548137vqRfxm','db-id','Target\x20database\x20ID','nonInteractive','dbId\x20必须为正整数','<server-generated-sqlCode>','number','map','sqlCode','424agMoIA','SELECT\x201\x20AS\x20id;','name','954392QUwslw','string','length','32225SXbXlH','str','SQL\x20名称不能为空','请输入\x20SQL\x20名称:','请输入目标数据库\x20dbId:','sqlName','appCode','POST','✎\x20手动输入\x20dbId','catch','lastSync','32VOehtv','12HrVqeD','普通\x20SQL(sql)','13195344vnfujW','sqlRootDir','dbName','Invalid\x20database\x20selection\x20payload:\x20','isFinite','join','toISOString','4398VfYylb','适合带动态标签的\x20MyBatis\x20XML\x20SQL','lockFilePath','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','validation','flagMissing','426rsEphX','high-risk-write','/smartapi/custom/saveUserCustomSql','SQL\x20query\x20display\x20name','utf8','1655325XNAMnx','dbId','flag','__manual__','sqlRoot','请选择目标数据库:','new','mybatisXml','trim','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','11GZLmsg','</select>','mode','请选择本地\x20SQL\x20模式:','parse','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.'];a114_0x4600=function(){return _0x2637da;};return a114_0x4600();}import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';function a114_0x3ec0(_0x2d45c5,_0xf7c1c4){_0x2d45c5=_0x2d45c5-0x1f4;const _0x4600f3=a114_0x4600();let _0x3ec0fa=_0x4600f3[_0x2d45c5];return _0x3ec0fa;}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x165900){const _0x14c033=a114_0x3ec0;if(_0x165900==='mybatisXml')return[_0x14c033(0x1fd),'\x20\x20SELECT\x201\x20AS\x20id',_0x14c033(0x210),''][_0x14c033(0x1f8)]('\x0a');return[_0x14c033(0x224),''][_0x14c033(0x1f8)]('\x0a');}export const sqlCreate={'service':'sql','command':'create','description':a114_0x76b244(0x215),'risk':a114_0x76b244(0x201),'flags':[{'name':'name','type':a114_0x76b244(0x227),'description':a114_0x76b244(0x203)},{'name':a114_0x76b244(0x21b),'type':'number','description':a114_0x76b244(0x21c)},{'name':a114_0x76b244(0x211),'type':a114_0x76b244(0x227),'enum':['sql','mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0xf82bf8){const _0x687de6=a114_0x76b244;if(!_0xf82bf8[_0x687de6(0x21d)])return;if(!_0xf82bf8[_0x687de6(0x22a)]('name')[_0x687de6(0x20d)]())throw CliErrors[_0x687de6(0x1ff)](_0x687de6(0x225),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x3adb0d=resolveProvidedDbId(_0xf82bf8);if(typeof _0x3adb0d!==_0x687de6(0x220)||!Number[_0x687de6(0x1f7)](_0x3adb0d)||_0x3adb0d<=0x0)throw CliErrors['flagMissing'](_0x687de6(0x21b),_0x687de6(0x214));if(!_0xf82bf8[_0x687de6(0x22a)](_0x687de6(0x211))[_0x687de6(0x20d)]())throw CliErrors[_0x687de6(0x1ff)]('mode',_0x687de6(0x219));},async 'dryRun'(_0x2e241f){const _0x29934e=a114_0x76b244,_0x52d6be=loadSqlProjectConfig(_0x2e241f['appCode']),{sqlName:_0x493300,dbId:_0x43edf5,dbName:_0x3f2cc7,mode:_0xfdedb5}=await resolveSqlNewInputs(_0x2e241f),_0x3557fa=buildSqlRelativePath(_0x29934e(0x21f),_0x493300,_0x3f2cc7,_0xfdedb5,_0x43edf5),_0x4e5aae=_0x52d6be[_0x29934e(0x1f4)]+'/'+_0x3557fa;return{'method':_0x29934e(0x230),'url':_0x29934e(0x202),'body':{'appCode':_0x2e241f[_0x29934e(0x22f)],'sqlName':_0x493300,'dbId':_0x43edf5,'mode':_0xfdedb5,'localPath':_0x4e5aae},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x52d6be[_0x29934e(0x1f4)]};},async 'execute'(_0x4c84ba){const _0x573698=a114_0x76b244,_0xc12c88=loadSqlProjectConfig(_0x4c84ba[_0x573698(0x22f)]),{sqlName:_0x223e1c,dbId:_0x362ed5,dbName:_0x5290c5,mode:_0x761484}=await resolveSqlNewInputs(_0x4c84ba),_0x181380=generateSqlTemplate(_0x761484),_0xc693c5=await createSqlQuery({'appCode':_0x4c84ba[_0x573698(0x22f)],'sqlName':_0x223e1c,'dbId':_0x362ed5,'sqlContent':_0x181380}),_0x1183ec=ensureRemoteSqlContent(_0xc693c5),_0x3a6358=_0x5290c5||await getDbName(_0x4c84ba[_0x573698(0x22f)],_0x362ed5)[_0x573698(0x232)](()=>undefined),_0x2a08ea=buildSqlRelativePath(_0xc693c5[_0x573698(0x222)],_0xc693c5[_0x573698(0x22e)],_0x3a6358,_0x761484,_0x362ed5),_0x31dd34=_0xc12c88[_0x573698(0x1f4)]+'/'+_0x2a08ea,_0x485625=buildLocalSqlFileContent({'sqlCode':_0xc693c5['sqlCode'],'sqlName':_0xc693c5['sqlName'],'dbId':_0xc693c5['dbId']},_0x1183ec,{'dbName':_0x3a6358,'mode':_0x761484,'syncedAt':new Date()[_0x573698(0x1f9)](),'description':_0xc693c5['description']});if(await fileExists(_0x31dd34))throw CliErrors[_0x573698(0x1fe)]('File\x20already\x20exists:\x20'+_0x31dd34);await ensureParentDirectory(_0x31dd34),await writeFile(_0x31dd34,_0x485625,_0x573698(0x204));const _0x24f7a6=await readSqlLockFile(_0xc12c88[_0x573698(0x1fc)]),{lockData:_0x589d32,appLock:_0x41f871}=ensureSqlLockScope(_0x24f7a6??createEmptySqlLock(),_0xc12c88[_0x573698(0x22f)],_0xc12c88[_0x573698(0x209)],_0x573698(0x20b));return _0x41f871['sqls'][_0xc693c5[_0x573698(0x222)]]={...buildSqlLockEntry(_0xc693c5,_0x1183ec,computeSqlContentHash(_0x485625),{'dbName':_0x3a6358}),'path':_0x2a08ea,'mode':_0x761484},_0x41f871[_0x573698(0x233)]=new Date()[_0x573698(0x1f9)](),await writeSqlLockFile(_0xc12c88[_0x573698(0x1fc)],_0x589d32),{'ok':!![],'data':{'id':_0xc693c5['id'],'sqlCode':_0xc693c5[_0x573698(0x222)],'sqlName':_0xc693c5['sqlName'],'dbId':_0xc693c5['dbId'],'path':_0x31dd34,'mode':_0x761484},'message':_0x573698(0x216)+_0xc693c5[_0x573698(0x222)]};}};async function resolveSqlNewInputs(_0x4ded8a){const _0x64db4c=await resolveSqlNameInput(_0x4ded8a),{dbId:_0x3b8c04,dbName:_0x21884e}=await resolveDbSelection(_0x4ded8a),_0x24c1ea=await resolveSqlModeInput(_0x4ded8a);return{'sqlName':_0x64db4c,'dbId':_0x3b8c04,'dbName':_0x21884e,'mode':_0x24c1ea};}async function resolveSqlNameInput(_0x3efd05){const _0x20c817=a114_0x76b244,_0x3a239f=_0x3efd05[_0x20c817(0x22a)](_0x20c817(0x225))[_0x20c817(0x20d)]();if(_0x3a239f)return _0x3a239f;if(_0x3efd05[_0x20c817(0x21d)])throw CliErrors['flagMissing'](_0x20c817(0x225),_0x20c817(0x20e));return(await input({'message':_0x20c817(0x22c),'validate':_0x52adbd=>_0x52adbd[_0x20c817(0x20d)]()?!![]:_0x20c817(0x22b)}))[_0x20c817(0x20d)]();}async function resolveDbSelection(_0x15bc6e){const _0x26a667=a114_0x76b244,_0x57c518=resolveProvidedDbId(_0x15bc6e);if(typeof _0x57c518==='number'&&Number[_0x26a667(0x1f7)](_0x57c518)&&_0x57c518>0x0)return{'dbId':_0x57c518,'dbName':await getDbName(_0x15bc6e[_0x26a667(0x22f)],_0x57c518)[_0x26a667(0x232)](()=>undefined)};if(_0x15bc6e[_0x26a667(0x21d)])throw CliErrors['flagMissing'](_0x26a667(0x21b),_0x26a667(0x214));const _0x10ba71=await listDatabases(_0x15bc6e[_0x26a667(0x22f)])[_0x26a667(0x232)](()=>[]);if(_0x10ba71[_0x26a667(0x228)]===0x1)return{'dbId':_0x10ba71[0x0][_0x26a667(0x206)],'dbName':_0x10ba71[0x0][_0x26a667(0x1f5)]};if(_0x10ba71[_0x26a667(0x228)]>0x1){const _0x548ea8=await select({'message':_0x26a667(0x20a),'choices':[..._0x10ba71[_0x26a667(0x221)](_0x324f15=>({'name':_0x324f15[_0x26a667(0x1f5)]+'\x20('+_0x324f15[_0x26a667(0x206)]+')','value':serializeDbSelection(_0x324f15)})),{'name':_0x26a667(0x231),'value':_0x26a667(0x208)}]});if(_0x548ea8!==_0x26a667(0x208))return deserializeDbSelection(_0x548ea8);}const _0x2f4f54=await input({'message':_0x26a667(0x22d),'validate':_0x50d5c0=>{const _0x4a30a1=_0x26a667,_0x330f25=_0x50d5c0[_0x4a30a1(0x20d)]();if(!_0x330f25)return'dbId\x20不能为空';const _0x24a59b=Number(_0x330f25);if(!Number['isInteger'](_0x24a59b)||_0x24a59b<=0x0)return _0x4a30a1(0x21e);return!![];}});return{'dbId':Number(_0x2f4f54[_0x26a667(0x20d)]())};}async function resolveSqlModeInput(_0x5cc81b){const _0x4af03e=a114_0x76b244,_0x592fe=_0x5cc81b['str'](_0x4af03e(0x211))[_0x4af03e(0x20d)]();if(_0x592fe===_0x4af03e(0x218)||_0x592fe===_0x4af03e(0x20c))return _0x592fe;if(_0x5cc81b['nonInteractive'])throw CliErrors[_0x4af03e(0x1ff)](_0x4af03e(0x211),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x4af03e(0x212),'choices':[{'name':_0x4af03e(0x236),'value':_0x4af03e(0x218),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x4af03e(0x20c),'description':_0x4af03e(0x1fb)}]});}function serializeDbSelection(_0x2739b5){const _0x454014=a114_0x76b244;return JSON['stringify']({'dbId':_0x2739b5[_0x454014(0x206)],'dbName':_0x2739b5[_0x454014(0x1f5)]});}function deserializeDbSelection(_0x268792){const _0x494c4a=a114_0x76b244;try{const _0x241988=JSON[_0x494c4a(0x213)](_0x268792);if(typeof _0x241988[_0x494c4a(0x206)]==='number'&&Number[_0x494c4a(0x1f7)](_0x241988['dbId']))return{'dbId':_0x241988[_0x494c4a(0x206)],'dbName':_0x241988[_0x494c4a(0x1f5)]};}catch{}throw CliErrors['validation'](_0x494c4a(0x1f6)+_0x268792);}function resolveProvidedDbId(_0x189c75){const _0x278fbb=a114_0x76b244,_0x74962f=_0x189c75[_0x278fbb(0x207)](_0x278fbb(0x21b));if(typeof _0x74962f==='number'&&Number['isFinite'](_0x74962f))return _0x74962f;return undefined;}
|
|
1
|
+
function a114_0x6cb4(_0x18dcf4,_0x26cf66){_0x18dcf4=_0x18dcf4-0x17e;const _0x5b399e=a114_0x5b39();let _0x6cb461=_0x5b399e[_0x18dcf4];return _0x6cb461;}const a114_0x529f91=a114_0x6cb4;function a114_0x5b39(){const _0x4c84e7=['普通\x20SQL(sql)','number','dbId','dbId\x20必须为正整数','<server-generated-sqlCode>','适合带动态标签的\x20MyBatis\x20XML\x20SQL','parse','lastSync','sqlCode','POST','</select>','请选择目标数据库:','1081070tEfckV','name','string','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','appCode','4310872JVvUtb','description','请输入\x20SQL\x20名称:','join','File\x20already\x20exists:\x20','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','isFinite','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','new','dbId\x20不能为空','sql','/smartapi/custom/saveUserCustomSql','sqlName','1322644yzuEfV','nonInteractive','27658jWrBDz','create','Target\x20database\x20ID','7hkGJTh','length','mybatisXml','lockFilePath','map','15958917XHcjpt','3797577RPBgII','trim','catch','flagMissing','mode','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','sqls','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','3MxXPoJ','toISOString','validation','dbName','high-risk-write','db-id','sqlRootDir','str','1199286GNcABz','\x20\x20SELECT\x201\x20AS\x20id','isInteger'];a114_0x5b39=function(){return _0x4c84e7;};return a114_0x5b39();}(function(_0x24540b,_0x157ca4){const _0x3e2161=a114_0x6cb4,_0x52532e=_0x24540b();while(!![]){try{const _0x60e837=parseInt(_0x3e2161(0x1b0))/0x1*(parseInt(_0x3e2161(0x1ad))/0x2)+parseInt(_0x3e2161(0x181))/0x3*(-parseInt(_0x3e2161(0x1ab))/0x4)+parseInt(_0x3e2161(0x198))/0x5+-parseInt(_0x3e2161(0x189))/0x6+-parseInt(_0x3e2161(0x1b6))/0x7+-parseInt(_0x3e2161(0x19d))/0x8+parseInt(_0x3e2161(0x1b5))/0x9;if(_0x60e837===_0x157ca4)break;else _0x52532e['push'](_0x52532e['shift']());}catch(_0x6120be){_0x52532e['push'](_0x52532e['shift']());}}}(a114_0x5b39,0x73cce));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';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(_0x2aeecb){const _0x1a0afa=a114_0x6cb4;if(_0x2aeecb===_0x1a0afa(0x1b2))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x1a0afa(0x18a),_0x1a0afa(0x196),''][_0x1a0afa(0x1a0)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x1a0afa(0x1a0)]('\x0a');}export const sqlCreate={'service':a114_0x529f91(0x1a8),'command':a114_0x529f91(0x1ae),'description':a114_0x529f91(0x1bc),'risk':a114_0x529f91(0x185),'flags':[{'name':'name','type':a114_0x529f91(0x19a),'description':'SQL\x20query\x20display\x20name'},{'name':a114_0x529f91(0x186),'type':a114_0x529f91(0x18d),'description':a114_0x529f91(0x1af)},{'name':a114_0x529f91(0x1ba),'type':'string','enum':[a114_0x529f91(0x1a8),a114_0x529f91(0x1b2)],'description':a114_0x529f91(0x180)}],async 'validate'(_0x37ece9){const _0x9f8209=a114_0x529f91;if(!_0x37ece9['nonInteractive'])return;if(!_0x37ece9[_0x9f8209(0x188)]('name')[_0x9f8209(0x1b7)]())throw CliErrors[_0x9f8209(0x1b9)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x4bc47d=resolveProvidedDbId(_0x37ece9);if(typeof _0x4bc47d!=='number'||!Number[_0x9f8209(0x1a4)](_0x4bc47d)||_0x4bc47d<=0x0)throw CliErrors['flagMissing']('db-id',_0x9f8209(0x1a2));if(!_0x37ece9[_0x9f8209(0x188)](_0x9f8209(0x1ba))[_0x9f8209(0x1b7)]())throw CliErrors['flagMissing'](_0x9f8209(0x1ba),_0x9f8209(0x1a5));},async 'dryRun'(_0x2376fd){const _0x36726c=a114_0x529f91,_0x253e95=loadSqlProjectConfig(_0x2376fd[_0x36726c(0x19c)]),{sqlName:_0x3a74c8,dbId:_0x5d0bf2,dbName:_0x51887d,mode:_0x484641}=await resolveSqlNewInputs(_0x2376fd),_0x10a045=buildSqlRelativePath(_0x36726c(0x190),_0x3a74c8,_0x51887d,_0x484641,_0x5d0bf2),_0x1568f2=_0x253e95[_0x36726c(0x187)]+'/'+_0x10a045;return{'method':_0x36726c(0x195),'url':_0x36726c(0x1a9),'body':{'appCode':_0x2376fd[_0x36726c(0x19c)],'sqlName':_0x3a74c8,'dbId':_0x5d0bf2,'mode':_0x484641,'localPath':_0x1568f2},'description':_0x36726c(0x1bb)+_0x253e95[_0x36726c(0x187)]};},async 'execute'(_0x9d9c1c){const _0x1fe4f4=a114_0x529f91,_0x30fc27=loadSqlProjectConfig(_0x9d9c1c[_0x1fe4f4(0x19c)]),{sqlName:_0x5c6ba6,dbId:_0x229814,dbName:_0x57a5b4,mode:_0x2c997c}=await resolveSqlNewInputs(_0x9d9c1c),_0x9727e3=generateSqlTemplate(_0x2c997c),_0x4662fd=await createSqlQuery({'appCode':_0x9d9c1c[_0x1fe4f4(0x19c)],'sqlName':_0x5c6ba6,'dbId':_0x229814,'sqlContent':_0x9727e3}),_0x1fff3a=ensureRemoteSqlContent(_0x4662fd),_0x2834c8=_0x57a5b4||await getDbName(_0x9d9c1c[_0x1fe4f4(0x19c)],_0x229814)[_0x1fe4f4(0x1b8)](()=>undefined),_0x13fbbd=buildSqlRelativePath(_0x4662fd[_0x1fe4f4(0x194)],_0x4662fd[_0x1fe4f4(0x1aa)],_0x2834c8,_0x2c997c,_0x229814),_0x3598fa=_0x30fc27['sqlRootDir']+'/'+_0x13fbbd,_0x2ab26a=buildLocalSqlFileContent({'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)]},_0x1fff3a,{'dbName':_0x2834c8,'mode':_0x2c997c,'syncedAt':new Date()[_0x1fe4f4(0x182)](),'description':_0x4662fd[_0x1fe4f4(0x19e)]});if(await fileExists(_0x3598fa))throw CliErrors[_0x1fe4f4(0x183)](_0x1fe4f4(0x1a1)+_0x3598fa);await ensureParentDirectory(_0x3598fa),await writeFile(_0x3598fa,_0x2ab26a,'utf8');const _0x267bf4=await readSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)]),{lockData:_0x4078c7,appLock:_0x33254e}=ensureSqlLockScope(_0x267bf4??createEmptySqlLock(),_0x30fc27[_0x1fe4f4(0x19c)],_0x30fc27[_0x1fe4f4(0x1a3)],_0x1fe4f4(0x1a6));return _0x33254e[_0x1fe4f4(0x17e)][_0x4662fd[_0x1fe4f4(0x194)]]={...buildSqlLockEntry(_0x4662fd,_0x1fff3a,computeSqlContentHash(_0x2ab26a),{'dbName':_0x2834c8}),'path':_0x13fbbd,'mode':_0x2c997c},_0x33254e[_0x1fe4f4(0x193)]=new Date()['toISOString'](),await writeSqlLockFile(_0x30fc27[_0x1fe4f4(0x1b3)],_0x4078c7),{'ok':!![],'data':{'id':_0x4662fd['id'],'sqlCode':_0x4662fd[_0x1fe4f4(0x194)],'sqlName':_0x4662fd['sqlName'],'dbId':_0x4662fd[_0x1fe4f4(0x18e)],'path':_0x3598fa,'mode':_0x2c997c},'message':_0x1fe4f4(0x17f)+_0x4662fd[_0x1fe4f4(0x194)]};}};async function resolveSqlNewInputs(_0x25c3dd){const _0x36ca4c=await resolveSqlNameInput(_0x25c3dd),{dbId:_0x502f27,dbName:_0x23bf2e}=await resolveDbSelection(_0x25c3dd),_0x2fdde6=await resolveSqlModeInput(_0x25c3dd);return{'sqlName':_0x36ca4c,'dbId':_0x502f27,'dbName':_0x23bf2e,'mode':_0x2fdde6};}async function resolveSqlNameInput(_0x1a0335){const _0x48a15a=a114_0x529f91,_0x1199ee=_0x1a0335[_0x48a15a(0x188)](_0x48a15a(0x199))[_0x48a15a(0x1b7)]();if(_0x1199ee)return _0x1199ee;if(_0x1a0335[_0x48a15a(0x1ac)])throw CliErrors['flagMissing'](_0x48a15a(0x199),_0x48a15a(0x19b));return(await input({'message':_0x48a15a(0x19f),'validate':_0x245f73=>_0x245f73['trim']()?!![]:'SQL\x20名称不能为空'}))['trim']();}async function resolveDbSelection(_0x4d9373){const _0x244548=a114_0x529f91,_0x289df1=resolveProvidedDbId(_0x4d9373);if(typeof _0x289df1===_0x244548(0x18d)&&Number['isFinite'](_0x289df1)&&_0x289df1>0x0)return{'dbId':_0x289df1,'dbName':await getDbName(_0x4d9373[_0x244548(0x19c)],_0x289df1)[_0x244548(0x1b8)](()=>undefined)};if(_0x4d9373[_0x244548(0x1ac)])throw CliErrors[_0x244548(0x1b9)](_0x244548(0x186),_0x244548(0x1a2));const _0x4e7984=await listDatabases(_0x4d9373[_0x244548(0x19c)])[_0x244548(0x1b8)](()=>[]);if(_0x4e7984[_0x244548(0x1b1)]===0x1)return{'dbId':_0x4e7984[0x0][_0x244548(0x18e)],'dbName':_0x4e7984[0x0]['dbName']};if(_0x4e7984['length']>0x1){const _0x1a6f23=await select({'message':_0x244548(0x197),'choices':[..._0x4e7984[_0x244548(0x1b4)](_0x6cf83b=>({'name':_0x6cf83b[_0x244548(0x184)]+'\x20('+_0x6cf83b['dbId']+')','value':serializeDbSelection(_0x6cf83b)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x1a6f23!=='__manual__')return deserializeDbSelection(_0x1a6f23);}const _0x1c1d03=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x3b2a59=>{const _0xe96d2f=_0x244548,_0x3ed3c5=_0x3b2a59[_0xe96d2f(0x1b7)]();if(!_0x3ed3c5)return _0xe96d2f(0x1a7);const _0x2e4ad0=Number(_0x3ed3c5);if(!Number[_0xe96d2f(0x18b)](_0x2e4ad0)||_0x2e4ad0<=0x0)return _0xe96d2f(0x18f);return!![];}});return{'dbId':Number(_0x1c1d03[_0x244548(0x1b7)]())};}async function resolveSqlModeInput(_0x4cc7a2){const _0x3c2280=a114_0x529f91,_0x1c2646=_0x4cc7a2[_0x3c2280(0x188)]('mode')[_0x3c2280(0x1b7)]();if(_0x1c2646===_0x3c2280(0x1a8)||_0x1c2646===_0x3c2280(0x1b2))return _0x1c2646;if(_0x4cc7a2['nonInteractive'])throw CliErrors['flagMissing'](_0x3c2280(0x1ba),_0x3c2280(0x1a5));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x3c2280(0x18c),'value':'sql','description':_0x3c2280(0x1bd)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x3c2280(0x1b2),'description':_0x3c2280(0x191)}]});}function serializeDbSelection(_0x319834){const _0x2bad84=a114_0x529f91;return JSON['stringify']({'dbId':_0x319834[_0x2bad84(0x18e)],'dbName':_0x319834['dbName']});}function deserializeDbSelection(_0x21059b){const _0x5cc958=a114_0x529f91;try{const _0x35c191=JSON[_0x5cc958(0x192)](_0x21059b);if(typeof _0x35c191['dbId']==='number'&&Number[_0x5cc958(0x1a4)](_0x35c191[_0x5cc958(0x18e)]))return{'dbId':_0x35c191[_0x5cc958(0x18e)],'dbName':_0x35c191[_0x5cc958(0x184)]};}catch{}throw CliErrors['validation']('Invalid\x20database\x20selection\x20payload:\x20'+_0x21059b);}function resolveProvidedDbId(_0x4b9619){const _0x55bc5b=a114_0x529f91,_0x266a3f=_0x4b9619['flag'](_0x55bc5b(0x186));if(typeof _0x266a3f===_0x55bc5b(0x18d)&&Number[_0x55bc5b(0x1a4)](_0x266a3f))return _0x266a3f;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0x3f8b77=a115_0x376d;(function(_0x4bb418,_0xfcfac6){const _0x1ed501=a115_0x376d,_0x510c59=_0x4bb418();while(!![]){try{const _0xa70eea=-parseInt(_0x1ed501(0xa3))/0x1+parseInt(_0x1ed501(0xa5))/0x2*(parseInt(_0x1ed501(0x9f))/0x3)+-parseInt(_0x1ed501(0xa4))/0x4+parseInt(_0x1ed501(0x95))/0x5*(parseInt(_0x1ed501(0x97))/0x6)+parseInt(_0x1ed501(0xad))/0x7*(parseInt(_0x1ed501(0x98))/0x8)+parseInt(_0x1ed501(0x93))/0x9*(-parseInt(_0x1ed501(0x92))/0xa)+parseInt(_0x1ed501(0x90))/0xb*(-parseInt(_0x1ed501(0xa8))/0xc);if(_0xa70eea===_0xfcfac6)break;else _0x510c59['push'](_0x510c59['shift']());}catch(_0x1c15e0){_0x510c59['push'](_0x510c59['shift']());}}}(a115_0x472c,0xa10f7));function a115_0x472c(){const _0x40a5dc=['remoteId','346038fcVeKm','/smartapi/custom/deleteUserCustomSql','10lggXjo','8324847zyerCp','validation','695miVBRs','POST','30738irGvgr','286360CACuxu','entries','fromEntries','filter','trashDir','length','replace','17817Uijech','sqlRootDir','sqlRoot','str','1018053PvcCio','70280LkqXnW','346svQWMQ','Deleted\x20','delete','60oSXUFB','appCode','lockFilePath','projectRoot','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','203JDecMA','high-risk-write','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','SQL\x20lock\x20file\x20not\x20found.','toISOString','sqls','Would\x20delete\x20SQL\x20','\x20(local\x20file\x20moved\x20to\x20trash)'];a115_0x472c=function(){return _0x40a5dc;};return a115_0x472c();}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':a115_0x3f8b77(0xa7),'description':a115_0x3f8b77(0xac),'risk':a115_0x3f8b77(0x87),'flags':[SQLCODE_FLAG],async 'validate'(_0x2e7e37){const _0x3a48f5=a115_0x3f8b77,_0x3566e0=loadSqlProjectConfig(_0x2e7e37[_0x3a48f5(0xa9)]),_0x257369=await readSqlLockFile(_0x3566e0[_0x3a48f5(0xaa)]);if(!_0x257369)throw CliErrors[_0x3a48f5(0x94)](_0x3a48f5(0x88));},async 'dryRun'(_0x5d2bc1){const _0x3ee9d6=a115_0x3f8b77,_0x498981=loadSqlProjectConfig(_0x5d2bc1[_0x3ee9d6(0xa9)]),_0x1fb343=await readSqlLockFile(_0x498981['lockFilePath']);if(!_0x1fb343)throw CliErrors[_0x3ee9d6(0x94)](_0x3ee9d6(0x88));const {appLock:_0x2b766c}=ensureSqlLockScope(_0x1fb343,_0x5d2bc1[_0x3ee9d6(0xa9)],_0x498981[_0x3ee9d6(0xa1)],_0x3ee9d6(0xa7)),_0xae53d9=_0x5d2bc1[_0x3ee9d6(0xa2)]('sqlcode'),_0x400842=_0x2b766c[_0x3ee9d6(0x8c)][_0xae53d9];if(!_0x400842)throw CliErrors[_0x3ee9d6(0x94)](_0x3ee9d6(0x89)+_0xae53d9+'\x22.');return{'method':_0x3ee9d6(0x96),'url':_0x3ee9d6(0x91),'body':{'sqlCode':_0xae53d9,'id':_0x400842[_0x3ee9d6(0x8f)],'localPath':resolveLocalSqlFilePath(_0x498981,_0xae53d9,_0x400842)},'description':_0x3ee9d6(0x8d)+_0xae53d9+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x498981['trashDir']};},async 'execute'(_0x3203f0){const _0x583e83=a115_0x3f8b77,_0x1d0ab5=loadSqlProjectConfig(_0x3203f0[_0x583e83(0xa9)]),_0x4ac2fe=await readSqlLockFile(_0x1d0ab5[_0x583e83(0xaa)]);if(!_0x4ac2fe)throw CliErrors['validation'](_0x583e83(0x8a));const {lockData:_0x32e36d,appLock:_0xc0f3b9}=ensureSqlLockScope(_0x4ac2fe,_0x3203f0[_0x583e83(0xa9)],_0x1d0ab5[_0x583e83(0xa1)],_0x583e83(0xa7)),_0xb7098a=_0x3203f0[_0x583e83(0xa2)]('sqlcode'),_0x4795ac=_0xc0f3b9[_0x583e83(0x8c)][_0xb7098a];if(!_0x4795ac)throw CliErrors[_0x583e83(0x94)](_0x583e83(0x89)+_0xb7098a+'\x22.');await deleteSqlQuery({'id':_0x4795ac[_0x583e83(0x8f)],'sqlCode':_0xb7098a}),_0xc0f3b9[_0x583e83(0x8c)]=Object[_0x583e83(0x9a)](Object[_0x583e83(0x99)](_0xc0f3b9['sqls'])[_0x583e83(0x9b)](([_0x4c372e])=>_0x4c372e!==_0xb7098a)),_0xc0f3b9['lastSync']=new Date()[_0x583e83(0x8b)](),await writeSqlLockFile(_0x1d0ab5['lockFilePath'],_0x32e36d);const _0x3ccfd2=resolveLocalSqlFilePath(_0x1d0ab5,_0xb7098a,_0x4795ac);let _0x3c3059;await fileExists(_0x3ccfd2)&&(_0x3c3059=await moveToTrash(_0x1d0ab5[_0x583e83(0xab)],_0x1d0ab5[_0x583e83(0x9c)],_0x3ccfd2),await cleanupEmptyDirectories(dirname(_0x3ccfd2),_0x1d0ab5[_0x583e83(0xa0)]));const _0x2a4bab={'deleted':_0xb7098a,'remoteId':_0x4795ac[_0x583e83(0x8f)]};if(_0x3c3059)_0x2a4bab['trashedTo']=_0x3c3059;return{'ok':!![],'data':_0x2a4bab,'message':_0x583e83(0xa6)+_0xb7098a+(_0x3c3059?_0x583e83(0x8e):'')};}};async function moveToTrash(_0x29f569,_0x38d418,_0x44c1ef){const _0xbd18da=a115_0x3f8b77,_0x6c9c2f=new Date()[_0xbd18da(0x8b)]()[_0xbd18da(0x9e)](/[:.]/g,'-'),_0x3c5383=relative(_0x29f569,_0x44c1ef),_0x275f65=join(_0x38d418,_0x6c9c2f,_0x3c5383);return await mkdir(dirname(_0x275f65),{'recursive':!![]}),await rename(_0x44c1ef,_0x275f65),_0x275f65;}function a115_0x376d(_0x3d228f,_0x398a47){_0x3d228f=_0x3d228f-0x87;const _0x472c04=a115_0x472c();let _0x376df2=_0x472c04[_0x3d228f];return _0x376df2;}async function cleanupEmptyDirectories(_0x5a9b21,_0x7c5206){const _0x25e71e=a115_0x3f8b77;let _0x334357=resolve(_0x5a9b21);const _0x5127db=resolve(_0x7c5206);while(_0x334357['startsWith'](''+_0x5127db+sep)||_0x334357===_0x5127db){if(_0x334357===_0x5127db)return;try{const _0x6e2702=await readdir(_0x334357);if(_0x6e2702[_0x25e71e(0x9d)]>0x0)return;await rmdir(_0x334357);}catch{return;}_0x334357=dirname(_0x334357);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a116_0x273e09=a116_0x108b;(function(_0x27c205,_0x251b9b){const _0x2c79fb=a116_0x108b,_0x5904da=_0x27c205();while(!![]){try{const _0x480fbb=-parseInt(_0x2c79fb(0x1d2))/0x1*(-parseInt(_0x2c79fb(0x1c5))/0x2)+-parseInt(_0x2c79fb(0x1d3))/0x3*(parseInt(_0x2c79fb(0x1c2))/0x4)+-parseInt(_0x2c79fb(0x1c7))/0x5+parseInt(_0x2c79fb(0x1ce))/0x6*(-parseInt(_0x2c79fb(0x1ca))/0x7)+-parseInt(_0x2c79fb(0x1c9))/0x8*(-parseInt(_0x2c79fb(0x1c4))/0x9)+-parseInt(_0x2c79fb(0x1c6))/0xa+parseInt(_0x2c79fb(0x1cb))/0xb*(parseInt(_0x2c79fb(0x1c3))/0xc);if(_0x480fbb===_0x251b9b)break;else _0x5904da['push'](_0x5904da['shift']());}catch(_0x1c0367){_0x5904da['push'](_0x5904da['shift']());}}}(a116_0x457b,0x786ec));import{getSqlQueryInfo}from'../../core/api-client.js';function a116_0x457b(){const _0x43f712=['sqlName','1711578NpJQmW','read','str','sqlContent','503450jMqcGT','60CwGzxn','appCode','bool','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','Return\x20full\x20raw\x20SQL\x20query\x20object','detail','description','sqlcode','111256GDIAUK','20553492kHXzCd','423IKnNrZ','2PSzxcD','4269850CUgblI','1087035Kosbut','dbId','56768LDgfir','21SzaclB','11OVroEK','sql'];a116_0x457b=function(){return _0x43f712;};return a116_0x457b();}import{getDbName}from'../../core/db-resolver.js';function a116_0x108b(_0x4b035b,_0x456fd2){_0x4b035b=_0x4b035b-0x1c1;const _0x457b6f=a116_0x457b();let _0x108b88=_0x457b6f[_0x4b035b];return _0x108b88;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x273e09(0x1cc),'command':a116_0x273e09(0x1d8),'description':a116_0x273e09(0x1d6),'risk':a116_0x273e09(0x1cf),'flags':[SQLCODE_FLAG,{'name':'verbose','type':'boolean','description':a116_0x273e09(0x1d7)}],async 'execute'(_0x50d32f){const _0xfc9bb7=a116_0x273e09,_0x25a0f7=await getSqlQueryInfo(_0x50d32f[_0xfc9bb7(0x1d4)],_0x50d32f[_0xfc9bb7(0x1d0)](_0xfc9bb7(0x1c1))),_0x555fe5=_0x50d32f[_0xfc9bb7(0x1d5)]('verbose');if(_0x555fe5)return{'ok':!![],'data':_0x25a0f7};const _0x3d4402=_0x25a0f7[_0xfc9bb7(0x1c8)]?await getDbName(_0x50d32f[_0xfc9bb7(0x1d4)],_0x25a0f7[_0xfc9bb7(0x1c8)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x25a0f7['sqlCode'],'sqlName':_0x25a0f7[_0xfc9bb7(0x1cd)],'db':_0x3d4402?_0x3d4402+'\x20('+_0x25a0f7[_0xfc9bb7(0x1c8)]+')':_0x25a0f7['dbId']??'','description':_0x25a0f7[_0xfc9bb7(0x1d9)]??'','sqlContent':_0x25a0f7[_0xfc9bb7(0x1d1)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a117_0xb261(_0x17bc05,_0x367692){_0x17bc05=_0x17bc05-0x119;const _0x5f15e3=a117_0x5f15();let _0xb26192=_0x5f15e3[_0x17bc05];return _0xb26192;}const a117_0x41029b=a117_0xb261;(function(_0x1434e9,_0x5dd956){const _0x4f3bad=a117_0xb261,_0x52e001=_0x1434e9();while(!![]){try{const _0x3995f8=-parseInt(_0x4f3bad(0x125))/0x1+parseInt(_0x4f3bad(0x119))/0x2*(-parseInt(_0x4f3bad(0x129))/0x3)+-parseInt(_0x4f3bad(0x12d))/0x4+parseInt(_0x4f3bad(0x11c))/0x5+parseInt(_0x4f3bad(0x11d))/0x6+-parseInt(_0x4f3bad(0x122))/0x7+parseInt(_0x4f3bad(0x120))/0x8*(parseInt(_0x4f3bad(0x12c))/0x9);if(_0x3995f8===_0x5dd956)break;else _0x52e001['push'](_0x52e001['shift']());}catch(_0x4d5828){_0x52e001['push'](_0x52e001['shift']());}}}(a117_0x5f15,0xb531a));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a117_0x5f15(){const _0x1254fa=['78443BIvriT','appCode','SQL\x20execution\x20failed','string','3TPOBPC','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','\x20row(s)\x20in\x20','292401lZfrPG','5677316BqeJUv','sql','exec','now','params','execSuccess','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','68986weKobt','str','execError','5741185GyIwpA','4267272vlQpcV','length','execResult','264auTOwa','read','4600057HbDflo','sqlcode','isArray'];a117_0x5f15=function(){return _0x1254fa;};return a117_0x5f15();}export const sqlExec={'service':a117_0x41029b(0x12e),'command':a117_0x41029b(0x12f),'description':a117_0x41029b(0x12a),'risk':a117_0x41029b(0x121),'flags':[SQLCODE_FLAG,{'name':a117_0x41029b(0x131),'type':a117_0x41029b(0x128),'description':a117_0x41029b(0x133)}],async 'execute'(_0xbbb0c0){const _0x4b55f2=a117_0x41029b,_0x4d6c23=parseJsonParams(_0xbbb0c0[_0x4b55f2(0x11a)](_0x4b55f2(0x131))),_0x4d3a7c=Date[_0x4b55f2(0x130)](),_0x534105=await executeSql(_0xbbb0c0[_0x4b55f2(0x126)],_0xbbb0c0[_0x4b55f2(0x11a)](_0x4b55f2(0x123)),_0x4d6c23),_0x2b5f84=Date[_0x4b55f2(0x130)]()-_0x4d3a7c,_0x33dcbc=_0x534105?.[_0x4b55f2(0x11f)]??_0x534105,_0x4c1646=_0x534105?.[_0x4b55f2(0x132)]??!![];if(!_0x4c1646)return{'ok':![],'data':{'error':_0x534105?.[_0x4b55f2(0x11b)]||'SQL\x20execution\x20failed','elapsed':_0x2b5f84},'message':_0x4b55f2(0x127)};const _0x5c50e5=Array[_0x4b55f2(0x124)](_0x33dcbc)?_0x33dcbc:[];return{'ok':!![],'data':{'rows':_0x5c50e5,'rowCount':_0x5c50e5[_0x4b55f2(0x11e)],'elapsed':_0x2b5f84},'message':'Returned\x20'+_0x5c50e5[_0x4b55f2(0x11e)]+_0x4b55f2(0x12b)+_0x2b5f84+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x555dab,_0x396a4d){const _0x5e7f80=a118_0x39cb,_0x3b49c8=_0x555dab();while(!![]){try{const _0x53b8d4=-parseInt(_0x5e7f80(0x1b7))/0x1+parseInt(_0x5e7f80(0x1b0))/0x2*(parseInt(_0x5e7f80(0x1af))/0x3)+-parseInt(_0x5e7f80(0x1b6))/0x4*(-parseInt(_0x5e7f80(0x1b2))/0x5)+parseInt(_0x5e7f80(0x1b3))/0x6+parseInt(_0x5e7f80(0x1b9))/0x7*(parseInt(_0x5e7f80(0x1b1))/0x8)+-parseInt(_0x5e7f80(0x1b4))/0x9*(parseInt(_0x5e7f80(0x1b5))/0xa)+-parseInt(_0x5e7f80(0x1b8))/0xb;if(_0x53b8d4===_0x396a4d)break;else _0x3b49c8['push'](_0x3b49c8['shift']());}catch(_0x3a96f5){_0x3b49c8['push'](_0x3b49c8['shift']());}}}(a118_0x4b81,0x923db));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';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';function a118_0x39cb(_0x5a2c40,_0x214d74){_0x5a2c40=_0x5a2c40-0x1af;const _0x4b81cc=a118_0x4b81();let _0x39cbe5=_0x4b81cc[_0x5a2c40];return _0x39cbe5;}function a118_0x4b81(){const _0x1bfb69=['750642jORGJz','7573346AuCTnp','763lgYPFp','2505ALKKib','972YTAIdd','85648gdMLzp','1289995KjODKN','3483180QaTSbx','4001220dMvPOB','20ZQRcwd','12pOMZRs'];a118_0x4b81=function(){return _0x1bfb69;};return a118_0x4b81();}import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a119_0x1fef(){const _0x5bd7e3=['all','number','sqlName','pagesize','407253DnjIuc','5089904TwMOAI','Page\x20number','5574738iFQhvr','sqlCode','length','map','read','\x20SQL\x20queries\x20(total:\x20','name','num','boolean','dbId','appCode','sql','string','tableData','page','793129ZvcwQR','Filter\x20by\x20SQL\x20name','Page\x20size','52659LSoaTP','2064356OfsjSs','bool','No\x20custom\x20SQL\x20queries\x20found.','1835bvuMVh','verbose','1632eRXImH','Found\x20','description','sqlcode','str','list'];a119_0x1fef=function(){return _0x5bd7e3;};return a119_0x1fef();}function a119_0x53d8(_0x3ff5aa,_0xd6ae8d){_0x3ff5aa=_0x3ff5aa-0x191;const _0x1fef05=a119_0x1fef();let _0x53d86f=_0x1fef05[_0x3ff5aa];return _0x53d86f;}const a119_0x272ab4=a119_0x53d8;(function(_0x1f0631,_0x11402a){const _0x6a5922=a119_0x53d8,_0x3e918d=_0x1f0631();while(!![]){try{const _0x1b35df=-parseInt(_0x6a5922(0x1ab))/0x1+parseInt(_0x6a5922(0x1af))/0x2+-parseInt(_0x6a5922(0x1ae))/0x3+parseInt(_0x6a5922(0x1b4))/0x4*(parseInt(_0x6a5922(0x1b2))/0x5)+parseInt(_0x6a5922(0x19c))/0x6+-parseInt(_0x6a5922(0x199))/0x7+-parseInt(_0x6a5922(0x19a))/0x8;if(_0x1b35df===_0x11402a)break;else _0x3e918d['push'](_0x3e918d['shift']());}catch(_0x52f2a0){_0x3e918d['push'](_0x3e918d['shift']());}}}(a119_0x1fef,0x93ef2));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':a119_0x272ab4(0x1a7),'command':a119_0x272ab4(0x194),'description':'List\x20custom\x20SQL\x20queries','risk':a119_0x272ab4(0x1a0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x272ab4(0x1a2),'type':a119_0x272ab4(0x1a8),'description':a119_0x272ab4(0x1ac)},{'name':a119_0x272ab4(0x1aa),'type':'number','description':a119_0x272ab4(0x19b),'default':0x1},{'name':a119_0x272ab4(0x198),'type':a119_0x272ab4(0x196),'description':a119_0x272ab4(0x1ad)},{'name':a119_0x272ab4(0x1b3),'type':a119_0x272ab4(0x1a4),'description':'Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content'}],async 'execute'(_0x25cb54){const _0x4d8f4a=a119_0x272ab4,_0x5852ad=await listSqlQueries(_0x25cb54[_0x4d8f4a(0x1a6)],{'sqlCode':_0x25cb54[_0x4d8f4a(0x193)](_0x4d8f4a(0x192))||undefined,'sqlName':_0x25cb54['str'](_0x4d8f4a(0x1a2))||undefined,'currentPage':_0x25cb54[_0x4d8f4a(0x1a3)](_0x4d8f4a(0x1aa)),'pageSize':_0x25cb54[_0x4d8f4a(0x1a3)]('pagesize',0x32)}),_0x2020ce=_0x25cb54[_0x4d8f4a(0x1b0)](_0x4d8f4a(0x1b3)),_0x5f268c=_0x5852ad[_0x4d8f4a(0x1a9)]??[],_0x49dd47=_0x5852ad['paging']?.['totalCount']??_0x5f268c[_0x4d8f4a(0x19e)];let _0x1c139e;return _0x2020ce?_0x1c139e=_0x5f268c:_0x1c139e=await Promise[_0x4d8f4a(0x195)](_0x5f268c[_0x4d8f4a(0x19f)](async _0xd3a6a4=>{const _0x121349=_0x4d8f4a;let _0x40b404;try{_0x40b404=_0xd3a6a4['dbId']?await getDbName(_0x25cb54['appCode'],_0xd3a6a4[_0x121349(0x1a5)]):undefined;}catch{}return{'sqlCode':_0xd3a6a4[_0x121349(0x19d)],'sqlName':_0xd3a6a4[_0x121349(0x197)],'description':_0xd3a6a4[_0x121349(0x191)]??'','db':_0x40b404?_0x40b404+'\x20('+_0xd3a6a4[_0x121349(0x1a5)]+')':_0xd3a6a4[_0x121349(0x1a5)]??''};})),{'ok':!![],'data':_0x1c139e,'message':_0x5f268c[_0x4d8f4a(0x19e)]===0x0?_0x4d8f4a(0x1b1):_0x4d8f4a(0x1b5)+_0x5f268c['length']+_0x4d8f4a(0x1a1)+_0x49dd47+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a120_0x4fda(){const _0xc113e2=['796437lDPuIQ','175081mwTyIm','lockFilePath','sqlName','2298030kBhAWZ','totalCount','skipped','cancelled','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','14HKNSoB','str','filter','join','\x20skipped,\x20','Filter\x20by\x20SQL\x20display\x20name','bool','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','utf8','711960keETAU','mybatisXml','Force\x20pull\x20cancelled.','replace','sqlCode','name','1681168QTMkYx','trimStart','4VZcDmk','unchanged','description','tableData','pull','30dfALaA','message','catch','path','local\x20differs\x20from\x20remote','sqlRootDir','Force\x20overwrite\x20local\x20unsynced\x20changes','string','apps','sqlContent','sqlcode','length','dbId','would_pull','No\x20remote\x20SQL\x20queries\x20matched.','conflict','146366GVQETI','348NkmGvW','\x20SQL\x20file(s)\x20into\x20','sqls','force','492HXdkvj','sqlRoot','Pull\x20complete:\x20','push','8301uhqGuz','\x20failed','sql','test','appCode','toISOString','nonInteractive','\x20written,\x20'];a120_0x4fda=function(){return _0xc113e2;};return a120_0x4fda();}const a120_0x3be496=a120_0x57df;(function(_0x1507ed,_0x262cca){const _0x58d95f=a120_0x57df,_0x5b7c97=_0x1507ed();while(!![]){try{const _0x2b4e9f=parseInt(_0x58d95f(0x1dd))/0x1*(parseInt(_0x58d95f(0x1f6))/0x2)+-parseInt(_0x58d95f(0x1d4))/0x3*(parseInt(_0x58d95f(0x20c))/0x4)+parseInt(_0x58d95f(0x1ee))/0x5+-parseInt(_0x58d95f(0x1e0))/0x6+parseInt(_0x58d95f(0x1e5))/0x7*(-parseInt(_0x58d95f(0x1f4))/0x8)+-parseInt(_0x58d95f(0x1dc))/0x9*(-parseInt(_0x58d95f(0x1fb))/0xa)+parseInt(_0x58d95f(0x20b))/0xb*(parseInt(_0x58d95f(0x210))/0xc);if(_0x2b4e9f===_0x262cca)break;else _0x5b7c97['push'](_0x5b7c97['shift']());}catch(_0xcae58c){_0x5b7c97['push'](_0x5b7c97['shift']());}}}(a120_0x4fda,0x3f5e1));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 a120_0x57df(_0xc1ee10,_0xb06903){_0xc1ee10=_0xc1ee10-0x1d2;const _0x4fdadf=a120_0x4fda();let _0x57df4d=_0x4fdadf[_0xc1ee10];return _0x57df4d;}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(_0x33ad98,_0x460f53){const _0x490ace=a120_0x57df,_0x39caa8=[];let _0x5589b8=0x1;while(!![]){const _0x23a1ee=await listSqlQueries(_0x33ad98,{'currentPage':_0x5589b8,'pageSize':PAGE_SIZE,'sqlCode':_0x460f53[_0x490ace(0x1f2)],'sqlName':_0x460f53[_0x490ace(0x1df)]}),_0x32f4a1=_0x23a1ee[_0x490ace(0x1f9)]??[];_0x39caa8['push'](..._0x32f4a1);if(_0x32f4a1[_0x490ace(0x206)]===0x0)break;const _0x4e5cf2=_0x23a1ee['paging']?.[_0x490ace(0x1e1)];if(_0x4e5cf2!=null?_0x39caa8['length']>=_0x4e5cf2:_0x32f4a1[_0x490ace(0x206)]<PAGE_SIZE)break;_0x5589b8++;}return _0x39caa8;}async function ensureSqlContent(_0x53d213){const _0x702ae3=a120_0x57df;if(_0x53d213[_0x702ae3(0x204)]!=null&&String(_0x53d213['sqlContent'])[_0x702ae3(0x206)]>0x0)return _0x53d213;return getSqlQueryDetail(_0x53d213['sqlCode']);}export const sqlPull={'service':a120_0x3be496(0x1d6),'command':a120_0x3be496(0x1fa),'description':a120_0x3be496(0x1e4),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a120_0x3be496(0x202),'description':a120_0x3be496(0x1ea)},{'name':a120_0x3be496(0x20f),'type':'boolean','description':a120_0x3be496(0x201)}],async 'dryRun'(_0x342bcc){const _0x2b9730=a120_0x3be496,_0x346750=loadSqlProjectConfig(_0x342bcc[_0x2b9730(0x1d8)]),_0x26872a=await readSqlLockFile(_0x346750[_0x2b9730(0x1de)]),{appLock:_0x504ed0}=ensureSqlLockScope(_0x26872a??createEmptySqlLock(),_0x346750['appCode'],_0x346750[_0x2b9730(0x211)],_0x2b9730(0x1fa)),_0x6b20af=await fetchAllSqlQueries(_0x342bcc[_0x2b9730(0x1d8)],{'sqlCode':_0x342bcc['str'](_0x2b9730(0x205))||undefined,'sqlName':_0x342bcc['str'](_0x2b9730(0x1f3))||undefined}),_0x1cb637=[];for(const _0x2e43d8 of _0x6b20af){const _0x48c181=await ensureSqlContent(_0x2e43d8),_0x27cf01=ensureRemoteSqlContent(_0x48c181),_0x165483=detectModeFromSql(_0x48c181),_0x47ac9e=_0x48c181[_0x2b9730(0x207)]?await getDbName(_0x342bcc[_0x2b9730(0x1d8)],Number(_0x48c181[_0x2b9730(0x207)]))[_0x2b9730(0x1fd)](()=>undefined):undefined,_0x3b6055=buildLocalSqlFileContent({'sqlCode':_0x48c181['sqlCode'],'sqlName':_0x48c181[_0x2b9730(0x1df)],'dbId':_0x48c181[_0x2b9730(0x207)]},_0x27cf01,{'dbName':_0x47ac9e,'mode':_0x165483,'syncedAt':new Date()[_0x2b9730(0x1d9)](),'description':_0x48c181['description']}),_0x2da9f2=buildSqlLockEntry(_0x48c181,_0x27cf01,'',{'dbName':_0x47ac9e}),_0x2b86dc=resolveLocalSqlFilePath(_0x346750,_0x48c181[_0x2b9730(0x1f2)],_0x2da9f2);let _0x1fae90=_0x2b9730(0x208),_0xa34836;if(await fileExists(_0x2b86dc)){const _0x1a3339=await readFile(_0x2b86dc,_0x2b9730(0x1ed));isEquivalentPulledSqlFile(_0x1a3339,_0x3b6055,_0x165483)?(_0x1fae90=_0x2b9730(0x1e2),_0xa34836=_0x2b9730(0x1f7)):(_0x1fae90=_0x2b9730(0x20a),_0xa34836='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x1cb637[_0x2b9730(0x1d3)]({'sqlCode':_0x48c181[_0x2b9730(0x1f2)],'sqlName':_0x48c181[_0x2b9730(0x1df)],'filePath':_0x2b86dc,'status':_0x1fae90,'reason':_0xa34836});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x342bcc[_0x2b9730(0x1d8)],'sqlCode':_0x342bcc[_0x2b9730(0x1e6)](_0x2b9730(0x205))||null,'sqlName':_0x342bcc[_0x2b9730(0x1e6)]('name')||null,'files':_0x1cb637},'description':'Would\x20pull\x20'+_0x1cb637[_0x2b9730(0x206)]+_0x2b9730(0x20d)+_0x346750[_0x2b9730(0x200)]};},async 'execute'(_0x3ca486){const _0x394fc0=a120_0x3be496,_0x188a0c=loadSqlProjectConfig(_0x3ca486[_0x394fc0(0x1d8)]),_0x4e75b9=await readSqlLockFile(_0x188a0c['lockFilePath']),{lockData:_0xd8f7f,appLock:_0x547c10}=ensureSqlLockScope(_0x4e75b9??createEmptySqlLock(),_0x188a0c['appCode'],_0x188a0c[_0x394fc0(0x211)],_0x394fc0(0x1fa)),_0x4f2398=_0x3ca486[_0x394fc0(0x1eb)]('force'),_0xd56ef1=await fetchAllSqlQueries(_0x3ca486[_0x394fc0(0x1d8)],{'sqlCode':_0x3ca486[_0x394fc0(0x1e6)](_0x394fc0(0x205))||undefined,'sqlName':_0x3ca486[_0x394fc0(0x1e6)](_0x394fc0(0x1f3))||undefined});if(_0xd56ef1[_0x394fc0(0x206)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x394fc0(0x209)};const _0x20e79d=[],_0x5ed36b=[];for(const _0x46521c of _0xd56ef1){try{_0x20e79d[_0x394fc0(0x1d3)](await ensureSqlContent(_0x46521c));}catch(_0x3aee6e){_0x5ed36b['push']({'sqlCode':_0x46521c[_0x394fc0(0x1f2)],'error':_0x3aee6e instanceof Error?_0x3aee6e['message']:String(_0x3aee6e)});}}if(_0x4f2398&&!_0x3ca486[_0x394fc0(0x1da)]){let _0x552c22=![];for(const _0x3e46c3 of _0x20e79d){const _0x30b0ab=detectModeFromSql(_0x3e46c3),_0x2f61f0=_0x3e46c3[_0x394fc0(0x207)]?await getDbName(_0x3ca486['appCode'],Number(_0x3e46c3[_0x394fc0(0x207)]))[_0x394fc0(0x1fd)](()=>undefined):undefined,_0x5dc59e=buildLocalSqlFileContent({'sqlCode':_0x3e46c3['sqlCode'],'sqlName':_0x3e46c3[_0x394fc0(0x1df)],'dbId':_0x3e46c3[_0x394fc0(0x207)]},ensureRemoteSqlContent(_0x3e46c3),{'dbName':_0x2f61f0,'mode':_0x30b0ab,'syncedAt':new Date()['toISOString'](),'description':_0x3e46c3['description']}),_0x2eb62d=resolveLocalSqlFilePath(_0x188a0c,_0x3e46c3[_0x394fc0(0x1f2)],buildSqlLockEntry(_0x3e46c3,ensureRemoteSqlContent(_0x3e46c3),'',{'dbName':_0x2f61f0}));if(await fileExists(_0x2eb62d)){const _0x23f682=await readFile(_0x2eb62d,_0x394fc0(0x1ed));if(!isEquivalentPulledSqlFile(_0x23f682,_0x5dc59e,_0x30b0ab)){_0x552c22=!![];break;}}}if(_0x552c22){const _0x31791e=await confirmForceOverwrite(_0x394fc0(0x1ec));if(!_0x31791e)throw CliErrors[_0x394fc0(0x1e3)](_0x394fc0(0x1f0));}}const _0x213ce3=cloneSqlLockData(_0xd8f7f),_0x22a2e4=_0x213ce3[_0x394fc0(0x203)][_0x188a0c[_0x394fc0(0x1d8)]],_0x195454=[],_0x2ea73c=[];for(const _0x2584c9 of _0x20e79d){const _0x5bad84=_0x22a2e4['sqls'][_0x2584c9[_0x394fc0(0x1f2)]],_0x2fe13a=ensureRemoteSqlContent(_0x2584c9),_0x186a19=detectModeFromSql(_0x2584c9),_0x2fd2fc=_0x2584c9[_0x394fc0(0x207)]?await getDbName(_0x3ca486[_0x394fc0(0x1d8)],Number(_0x2584c9[_0x394fc0(0x207)]))[_0x394fc0(0x1fd)](()=>undefined):undefined,_0x3feded=buildLocalSqlFileContent({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'sqlName':_0x2584c9[_0x394fc0(0x1df)],'dbId':_0x2584c9['dbId']},_0x2fe13a,{'dbName':_0x2fd2fc,'mode':_0x186a19,'syncedAt':new Date()[_0x394fc0(0x1d9)](),'description':_0x2584c9[_0x394fc0(0x1f8)]}),_0x86741b=buildSqlLockEntry(_0x2584c9,_0x2fe13a,computeSqlContentHash(_0x3feded),{'dbName':_0x2fd2fc}),_0x440d65=_0x86741b[_0x394fc0(0x1fe)],_0x2c40e7=join(_0x188a0c[_0x394fc0(0x200)],_0x440d65);try{if(await fileExists(_0x2c40e7)){const _0x1b46b8=await readFile(_0x2c40e7,_0x394fc0(0x1ed));if(isEquivalentPulledSqlFile(_0x1b46b8,_0x3feded,_0x186a19)){_0x2ea73c['push']({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'reason':_0x394fc0(0x1f7)}),_0x22a2e4[_0x394fc0(0x20e)][_0x2584c9['sqlCode']]={..._0x86741b,'hash':computeSqlContentHash(_0x1b46b8),'path':_0x440d65};continue;}if(!_0x4f2398){_0x2ea73c[_0x394fc0(0x1d3)]({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'reason':_0x394fc0(0x1ff)});continue;}}const _0x19ab79=_0x5bad84?.[_0x394fc0(0x1fe)]?join(_0x188a0c[_0x394fc0(0x200)],_0x5bad84[_0x394fc0(0x1fe)]):undefined;_0x19ab79&&_0x19ab79!==_0x2c40e7&&await fileExists(_0x19ab79)&&await rm(_0x19ab79,{'force':!![]}),await ensureParentDirectory(_0x2c40e7),await writeFile(_0x2c40e7,_0x3feded,_0x394fc0(0x1ed)),_0x22a2e4[_0x394fc0(0x20e)][_0x2584c9[_0x394fc0(0x1f2)]]={..._0x86741b,'path':_0x440d65},_0x195454[_0x394fc0(0x1d3)]({'sqlCode':_0x2584c9['sqlCode'],'filePath':_0x2c40e7});}catch(_0x42cde6){_0x5ed36b['push']({'sqlCode':_0x2584c9[_0x394fc0(0x1f2)],'error':_0x42cde6 instanceof Error?_0x42cde6[_0x394fc0(0x1fc)]:String(_0x42cde6)});}}return _0x22a2e4['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x188a0c[_0x394fc0(0x1de)],_0x213ce3),{'ok':_0x5ed36b[_0x394fc0(0x206)]===0x0,'data':{'pulled':_0x195454,'skipped':_0x2ea73c,'failed':_0x5ed36b},'message':_0x394fc0(0x1d2)+_0x195454[_0x394fc0(0x206)]+_0x394fc0(0x1db)+_0x2ea73c[_0x394fc0(0x206)]+_0x394fc0(0x1e9)+_0x5ed36b['length']+_0x394fc0(0x1d5)};}};function detectModeFromSql(_0x3b021d){const _0x3093b4=a120_0x3be496,_0x250356=ensureRemoteSqlContent(_0x3b021d),_0x13a6da=stripLocalSqlMetadata(_0x250356,_0x3093b4(0x1ef))[_0x3093b4(0x1f5)]();if(/^<(select|insert|update|delete)\b/i[_0x3093b4(0x1d7)](_0x13a6da))return'mybatisXml';return'sql';}function isEquivalentPulledSqlFile(_0x20fd90,_0x4b4916,_0x3ab834){return normalizePullComparableContent(_0x20fd90,_0x3ab834)===normalizePullComparableContent(_0x4b4916,_0x3ab834);}function normalizePullComparableContent(_0x36d133,_0x529ae0){const _0xb7e9c1=a120_0x3be496,_0x5babc1=_0x36d133[_0xb7e9c1(0x1f1)](/\r\n/g,'\x0a')['split']('\x0a'),_0x4e7772=_0x5babc1[_0xb7e9c1(0x1e7)](_0x23b6c0=>!isSyncedAtMetadataLine(_0x23b6c0,_0x529ae0));return _0x4e7772[_0xb7e9c1(0x1e8)]('\x0a');}function isSyncedAtMetadataLine(_0x10f3a2,_0x47d655){const _0x51a1eb=a120_0x3be496;if(_0x47d655===_0x51a1eb(0x1ef))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x10f3a2);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x51a1eb(0x1d7)](_0x10f3a2);}
|
|
1
|
+
function a120_0x28ec(){const _0x219bde=['279232jpVobP','19449QCmaPu','Force\x20overwrite\x20local\x20unsynced\x20changes','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','boolean','description','join','498rYqRiD','POST','appCode','toISOString','bool','Filter\x20by\x20SQL\x20display\x20name','lockFilePath','lastSync','skipped','apps','1554800cnOOyR','sql','No\x20remote\x20SQL\x20queries\x20matched.','sqlName','replace','sqlRootDir','sqlCode','11963rPFTxK','74082VrTLPt','push','Pull\x20complete:\x20','length','unchanged','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','Would\x20pull\x20','test','trimStart','Force\x20pull\x20cancelled.','local\x20differs\x20from\x20remote','\x20skipped,\x20','nonInteractive','name','catch','mybatisXml','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','filter','130PxVNZj','4wXVMEi','sqlcode','sqls','paging','str','would_pull','35876pnRtUT','85lrODQy','write','sqlRoot','path','utf8','\x20failed','4113395SFDsfq','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlContent','dbId','\x20written,\x20','conflict','string','pull'];a120_0x28ec=function(){return _0x219bde;};return a120_0x28ec();}const a120_0x5b5265=a120_0x47fb;(function(_0x34ad0f,_0x18df49){const _0x20af07=a120_0x47fb,_0x498bb8=_0x34ad0f();while(!![]){try{const _0x51ff04=parseInt(_0x20af07(0x17d))/0x1+-parseInt(_0x20af07(0x1a9))/0x2*(parseInt(_0x20af07(0x196))/0x3)+-parseInt(_0x20af07(0x1af))/0x4*(parseInt(_0x20af07(0x1b0))/0x5)+-parseInt(_0x20af07(0x184))/0x6*(parseInt(_0x20af07(0x195))/0x7)+-parseInt(_0x20af07(0x18e))/0x8+-parseInt(_0x20af07(0x17e))/0x9*(-parseInt(_0x20af07(0x1a8))/0xa)+parseInt(_0x20af07(0x175))/0xb;if(_0x51ff04===_0x18df49)break;else _0x498bb8['push'](_0x498bb8['shift']());}catch(_0x373da1){_0x498bb8['push'](_0x498bb8['shift']());}}}(a120_0x28ec,0x22f6c));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a120_0x47fb(_0x5d2be6,_0x8e40ff){_0x5d2be6=_0x5d2be6-0x175;const _0x28ec8e=a120_0x28ec();let _0x47fb3f=_0x28ec8e[_0x5d2be6];return _0x47fb3f;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x5586ee,_0x11a94f){const _0x493b2c=a120_0x47fb,_0x44aecb=[];let _0x212155=0x1;while(!![]){const _0x1b9fba=await listSqlQueries(_0x5586ee,{'currentPage':_0x212155,'pageSize':PAGE_SIZE,'sqlCode':_0x11a94f[_0x493b2c(0x194)],'sqlName':_0x11a94f[_0x493b2c(0x191)]}),_0x540565=_0x1b9fba['tableData']??[];_0x44aecb[_0x493b2c(0x197)](..._0x540565);if(_0x540565[_0x493b2c(0x199)]===0x0)break;const _0x25924e=_0x1b9fba[_0x493b2c(0x1ac)]?.['totalCount'];if(_0x25924e!=null?_0x44aecb[_0x493b2c(0x199)]>=_0x25924e:_0x540565[_0x493b2c(0x199)]<PAGE_SIZE)break;_0x212155++;}return _0x44aecb;}async function ensureSqlContent(_0x2f5957){const _0x4e7696=a120_0x47fb;if(_0x2f5957[_0x4e7696(0x177)]!=null&&String(_0x2f5957[_0x4e7696(0x177)])[_0x4e7696(0x199)]>0x0)return _0x2f5957;return getSqlQueryDetail(_0x2f5957[_0x4e7696(0x194)]);}export const sqlPull={'service':'sql','command':a120_0x5b5265(0x17c),'description':a120_0x5b5265(0x176),'risk':a120_0x5b5265(0x1b1),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5b5265(0x1a3),'type':a120_0x5b5265(0x17b),'description':a120_0x5b5265(0x189)},{'name':'force','type':a120_0x5b5265(0x181),'description':a120_0x5b5265(0x17f)}],async 'dryRun'(_0x1163e6){const _0x21e039=a120_0x5b5265,_0x291abc=loadSqlProjectConfig(_0x1163e6[_0x21e039(0x186)]),_0x42c3b2=await readSqlLockFile(_0x291abc[_0x21e039(0x18a)]),{appLock:_0x1f37e6}=ensureSqlLockScope(_0x42c3b2??createEmptySqlLock(),_0x291abc[_0x21e039(0x186)],_0x291abc['sqlRoot'],_0x21e039(0x17c)),_0xecb83a=await fetchAllSqlQueries(_0x1163e6[_0x21e039(0x186)],{'sqlCode':_0x1163e6['str']('sqlcode')||undefined,'sqlName':_0x1163e6[_0x21e039(0x1ad)]('name')||undefined}),_0x1f0165=[];for(const _0x3cb94a of _0xecb83a){const _0x477dc7=await ensureSqlContent(_0x3cb94a),_0x37a7e2=ensureRemoteSqlContent(_0x477dc7),_0x3d92b4=detectModeFromSql(_0x477dc7),_0x5898ef=_0x477dc7['dbId']?await getDbName(_0x1163e6[_0x21e039(0x186)],Number(_0x477dc7['dbId']))[_0x21e039(0x1a4)](()=>undefined):undefined,_0x442692=buildLocalSqlFileContent({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7[_0x21e039(0x191)],'dbId':_0x477dc7[_0x21e039(0x178)]},_0x37a7e2,{'dbName':_0x5898ef,'mode':_0x3d92b4,'syncedAt':new Date()[_0x21e039(0x187)](),'description':_0x477dc7[_0x21e039(0x182)]}),_0x472c27=buildSqlLockEntry(_0x477dc7,_0x37a7e2,'',{'dbName':_0x5898ef}),_0x14e9cc=resolveLocalSqlFilePath(_0x291abc,_0x477dc7[_0x21e039(0x194)],_0x472c27);let _0x17db02=_0x21e039(0x1ae),_0x189cc8;if(await fileExists(_0x14e9cc)){const _0x491491=await readFile(_0x14e9cc,_0x21e039(0x1b4));isEquivalentPulledSqlFile(_0x491491,_0x442692,_0x3d92b4)?(_0x17db02=_0x21e039(0x18c),_0x189cc8='unchanged'):(_0x17db02=_0x21e039(0x17a),_0x189cc8=_0x21e039(0x1a6));}_0x1f0165[_0x21e039(0x197)]({'sqlCode':_0x477dc7[_0x21e039(0x194)],'sqlName':_0x477dc7['sqlName'],'filePath':_0x14e9cc,'status':_0x17db02,'reason':_0x189cc8});}return{'method':_0x21e039(0x185),'url':_0x21e039(0x19b),'body':{'appCode':_0x1163e6[_0x21e039(0x186)],'sqlCode':_0x1163e6[_0x21e039(0x1ad)]('sqlcode')||null,'sqlName':_0x1163e6[_0x21e039(0x1ad)](_0x21e039(0x1a3))||null,'files':_0x1f0165},'description':_0x21e039(0x19c)+_0x1f0165['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x291abc['sqlRootDir']};},async 'execute'(_0x5ca377){const _0x2b04c5=a120_0x5b5265,_0x4f5355=loadSqlProjectConfig(_0x5ca377[_0x2b04c5(0x186)]),_0x47384b=await readSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)]),{lockData:_0x2bb963,appLock:_0x3c1f91}=ensureSqlLockScope(_0x47384b??createEmptySqlLock(),_0x4f5355[_0x2b04c5(0x186)],_0x4f5355[_0x2b04c5(0x1b2)],_0x2b04c5(0x17c)),_0x3299d8=_0x5ca377[_0x2b04c5(0x188)]('force'),_0x26cc00=await fetchAllSqlQueries(_0x5ca377['appCode'],{'sqlCode':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1aa))||undefined,'sqlName':_0x5ca377[_0x2b04c5(0x1ad)](_0x2b04c5(0x1a3))||undefined});if(_0x26cc00['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2b04c5(0x190)};const _0x46cf1d=[],_0x43e4c1=[];for(const _0x5b2b22 of _0x26cc00){try{_0x46cf1d['push'](await ensureSqlContent(_0x5b2b22));}catch(_0x9ad96){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x5b2b22[_0x2b04c5(0x194)],'error':_0x9ad96 instanceof Error?_0x9ad96['message']:String(_0x9ad96)});}}if(_0x3299d8&&!_0x5ca377[_0x2b04c5(0x1a2)]){let _0xa2b9ef=![];for(const _0x5ea3d8 of _0x46cf1d){const _0x1e5f9e=detectModeFromSql(_0x5ea3d8),_0x5ce561=_0x5ea3d8[_0x2b04c5(0x178)]?await getDbName(_0x5ca377[_0x2b04c5(0x186)],Number(_0x5ea3d8[_0x2b04c5(0x178)]))[_0x2b04c5(0x1a4)](()=>undefined):undefined,_0x1a71b0=buildLocalSqlFileContent({'sqlCode':_0x5ea3d8[_0x2b04c5(0x194)],'sqlName':_0x5ea3d8[_0x2b04c5(0x191)],'dbId':_0x5ea3d8[_0x2b04c5(0x178)]},ensureRemoteSqlContent(_0x5ea3d8),{'dbName':_0x5ce561,'mode':_0x1e5f9e,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x5ea3d8[_0x2b04c5(0x182)]}),_0x5c402b=resolveLocalSqlFilePath(_0x4f5355,_0x5ea3d8['sqlCode'],buildSqlLockEntry(_0x5ea3d8,ensureRemoteSqlContent(_0x5ea3d8),'',{'dbName':_0x5ce561}));if(await fileExists(_0x5c402b)){const _0x4057b3=await readFile(_0x5c402b,'utf8');if(!isEquivalentPulledSqlFile(_0x4057b3,_0x1a71b0,_0x1e5f9e)){_0xa2b9ef=!![];break;}}}if(_0xa2b9ef){const _0x3f6a45=await confirmForceOverwrite(_0x2b04c5(0x180));if(!_0x3f6a45)throw CliErrors['cancelled'](_0x2b04c5(0x19f));}}const _0x53de49=cloneSqlLockData(_0x2bb963),_0x3e2214=_0x53de49[_0x2b04c5(0x18d)][_0x4f5355[_0x2b04c5(0x186)]],_0x47d5e0=[],_0x2acf69=[];for(const _0x109307 of _0x46cf1d){const _0x450cc7=_0x3e2214[_0x2b04c5(0x1ab)][_0x109307[_0x2b04c5(0x194)]],_0x432f5b=ensureRemoteSqlContent(_0x109307),_0x502413=detectModeFromSql(_0x109307),_0x358ac7=_0x109307['dbId']?await getDbName(_0x5ca377['appCode'],Number(_0x109307['dbId']))['catch'](()=>undefined):undefined,_0x51f15a=buildLocalSqlFileContent({'sqlCode':_0x109307[_0x2b04c5(0x194)],'sqlName':_0x109307['sqlName'],'dbId':_0x109307[_0x2b04c5(0x178)]},_0x432f5b,{'dbName':_0x358ac7,'mode':_0x502413,'syncedAt':new Date()[_0x2b04c5(0x187)](),'description':_0x109307[_0x2b04c5(0x182)]}),_0x3d0f0a=buildSqlLockEntry(_0x109307,_0x432f5b,computeSqlContentHash(_0x51f15a),{'dbName':_0x358ac7}),_0x3b1d48=_0x3d0f0a[_0x2b04c5(0x1b3)],_0x322547=join(_0x4f5355[_0x2b04c5(0x193)],_0x3b1d48);try{if(await fileExists(_0x322547)){const _0x3ae9f8=await readFile(_0x322547,'utf8');if(isEquivalentPulledSqlFile(_0x3ae9f8,_0x51f15a,_0x502413)){_0x2acf69['push']({'sqlCode':_0x109307['sqlCode'],'reason':_0x2b04c5(0x19a)}),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'hash':computeSqlContentHash(_0x3ae9f8),'path':_0x3b1d48};continue;}if(!_0x3299d8){_0x2acf69[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'reason':_0x2b04c5(0x1a0)});continue;}}const _0x15c469=_0x450cc7?.[_0x2b04c5(0x1b3)]?join(_0x4f5355[_0x2b04c5(0x193)],_0x450cc7[_0x2b04c5(0x1b3)]):undefined;_0x15c469&&_0x15c469!==_0x322547&&await fileExists(_0x15c469)&&await rm(_0x15c469,{'force':!![]}),await ensureParentDirectory(_0x322547),await writeFile(_0x322547,_0x51f15a,_0x2b04c5(0x1b4)),_0x3e2214['sqls'][_0x109307[_0x2b04c5(0x194)]]={..._0x3d0f0a,'path':_0x3b1d48},_0x47d5e0[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'filePath':_0x322547});}catch(_0x2f542b){_0x43e4c1[_0x2b04c5(0x197)]({'sqlCode':_0x109307[_0x2b04c5(0x194)],'error':_0x2f542b instanceof Error?_0x2f542b['message']:String(_0x2f542b)});}}return _0x3e2214[_0x2b04c5(0x18b)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4f5355[_0x2b04c5(0x18a)],_0x53de49),{'ok':_0x43e4c1[_0x2b04c5(0x199)]===0x0,'data':{'pulled':_0x47d5e0,'skipped':_0x2acf69,'failed':_0x43e4c1},'message':_0x2b04c5(0x198)+_0x47d5e0[_0x2b04c5(0x199)]+_0x2b04c5(0x179)+_0x2acf69['length']+_0x2b04c5(0x1a1)+_0x43e4c1[_0x2b04c5(0x199)]+_0x2b04c5(0x1b5)};}};function detectModeFromSql(_0x5e2a25){const _0x5108dd=a120_0x5b5265,_0x5abcbc=ensureRemoteSqlContent(_0x5e2a25),_0x1b53e6=stripLocalSqlMetadata(_0x5abcbc,_0x5108dd(0x1a5))[_0x5108dd(0x19e)]();if(/^<(select|insert|update|delete)\b/i[_0x5108dd(0x19d)](_0x1b53e6))return _0x5108dd(0x1a5);return _0x5108dd(0x18f);}function isEquivalentPulledSqlFile(_0xab58fe,_0x38a4da,_0x3c1e2e){return normalizePullComparableContent(_0xab58fe,_0x3c1e2e)===normalizePullComparableContent(_0x38a4da,_0x3c1e2e);}function normalizePullComparableContent(_0x1e507b,_0x489231){const _0x42cdc2=a120_0x5b5265,_0x4b8e8c=_0x1e507b[_0x42cdc2(0x192)](/\r\n/g,'\x0a')['split']('\x0a'),_0x42da1a=_0x4b8e8c[_0x42cdc2(0x1a7)](_0xd17786=>!isSyncedAtMetadataLine(_0xd17786,_0x489231));return _0x42da1a[_0x42cdc2(0x183)]('\x0a');}function isSyncedAtMetadataLine(_0x4a194c,_0x5eee3f){const _0x496a3a=a120_0x5b5265;if(_0x5eee3f==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x496a3a(0x19d)](_0x4a194c);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x4a194c);}
|