@lovrabet/rabetbase-cli 2.1.7-beta.2 → 2.1.7-beta.4
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
|
-
const a109_0x2ff24a=a109_0x1430;(function(_0xc68487,_0x464eed){const _0x255572=a109_0x1430,_0x5c62ed=_0xc68487();while(!![]){try{const _0x45e62b=parseInt(_0x255572(0x106))/0x1+parseInt(_0x255572(0xf1))/0x2+parseInt(_0x255572(0x14e))/0x3+-parseInt(_0x255572(0x109))/0x4*(parseInt(_0x255572(0x14c))/0x5)+parseInt(_0x255572(0x136))/0x6*(parseInt(_0x255572(0xd2))/0x7)+parseInt(_0x255572(0xe5))/0x8+parseInt(_0x255572(0x126))/0x9*(-parseInt(_0x255572(0xf3))/0xa);if(_0x45e62b===_0x464eed)break;else _0x5c62ed['push'](_0x5c62ed['shift']());}catch(_0x8adb3){_0x5c62ed['push'](_0x5c62ed['shift']());}}}(a109_0x1e64,0x19909));import a109_0x5ea4cb from'chalk';import a109_0x70dd2c from'ora';function a109_0x1430(_0x154970,_0x4dd916){_0x154970=_0x154970-0xd2;const _0x1e646b=a109_0x1e64();let _0x143086=_0x1e646b[_0x154970];return _0x143086;}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_0x2ff24a(0xd7)](_0x4fabeb=>_0x4fabeb!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x4cd13b){const _0x303e15=a109_0x2ff24a,_0x4b0499=[];for(const _0x2544a2 of Object[_0x303e15(0x105)](CORE_IDE_CONFIGS)){if(_0x2544a2[_0x303e15(0xdd)])for(const _0x2c1165 of _0x2544a2[_0x303e15(0xdd)]){_0x4b0499[_0x303e15(0x112)](resolve(_0x4cd13b,_0x2c1165['path']));}}return _0x4b0499;}function analyse(_0x499428){const _0x2f0ddd=a109_0x2ff24a;let _0x3c2f18=null;const _0x539f1e=resolve(_0x499428,NEW_CONFIG_NAME),_0x3f7719=existsSync(_0x539f1e);for(const _0x504caa of LEGACY_CONFIG_NAMES){const _0xc7b9f8=resolve(_0x499428,_0x504caa);if(existsSync(_0xc7b9f8)){const _0x35c507=readConfigFile(_0xc7b9f8),_0x23f200=Object[_0x2f0ddd(0x13f)](_0x35c507)[_0x2f0ddd(0xd7)](_0x1364bf=>typeof _0x35c507[_0x1364bf]!=='undefined');_0x3c2f18={'oldPath':_0xc7b9f8,'hasNewConfig':_0x3f7719,'fields':_0x23f200};break;}}const _0x3b536d=[],_0x5caaa9=resolve(_0x499428,_0x2f0ddd(0x100));if(existsSync(_0x5caaa9))_0x3b536d[_0x2f0ddd(0x112)](_0x5caaa9);const _0x1784ea=resolve(_0x499428,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x1784ea))_0x3b536d['push'](_0x1784ea);const _0x3586da=resolve(_0x499428,_0x2f0ddd(0xed));if(existsSync(_0x3586da))_0x3b536d[_0x2f0ddd(0x112)](_0x3586da);for(const _0x54e43b of collectIdeSkillFiles(_0x499428)){if(existsSync(_0x54e43b))_0x3b536d[_0x2f0ddd(0x112)](_0x54e43b);}let _0x18c0d9=null;const _0x549ea0=resolve(_0x499428,_0x2f0ddd(0x117));if(existsSync(_0x549ea0))try{const _0xd932af=JSON[_0x2f0ddd(0x133)](readFileSync(_0x549ea0,_0x2f0ddd(0x145)));if(_0xd932af?.[_0x2f0ddd(0xe3)]&&typeof _0xd932af[_0x2f0ddd(0xe3)]===_0x2f0ddd(0x13e)){const _0x5c995d=[];for(const [_0x191df8,_0x2991a3]of Object[_0x2f0ddd(0x131)](_0xd932af[_0x2f0ddd(0xe3)])){const _0x41f3ab=_0x2991a3;_0x41f3ab?.['args']&&Array[_0x2f0ddd(0x144)](_0x41f3ab['args'])&&_0x41f3ab['args'][_0x2f0ddd(0x121)](_0x22a1d6=>typeof _0x22a1d6==='string'&&_0x22a1d6[_0x2f0ddd(0x13c)](_0x2f0ddd(0x14a)))&&_0x5c995d[_0x2f0ddd(0x112)](_0x191df8);}_0x5c995d[_0x2f0ddd(0xfc)]>0x0&&(_0x18c0d9={'path':_0x549ea0,'keys':_0x5c995d});}}catch{}const _0x4a3728=_0x3b536d['length']>0x0||_0x3c2f18!==null;let _0x3eedb2=null;const _0x4e15d1=resolve(_0x499428,_0x2f0ddd(0x14d));if(existsSync(_0x4e15d1))try{const _0x39edc7=JSON[_0x2f0ddd(0x133)](readFileSync(_0x4e15d1,_0x2f0ddd(0x145)));for(const _0x2253a2 of[_0x2f0ddd(0xdb),'devDependencies']){const _0x3a93e7=_0x39edc7?.[_0x2253a2]?.[_0x2f0ddd(0x10f)];if(typeof _0x3a93e7===_0x2f0ddd(0xe2)){_0x3a93e7!==_0x2f0ddd(0xe7)&&(_0x3eedb2={'pkgPath':_0x4e15d1,'currentVersion':_0x3a93e7,'field':_0x2253a2});break;}}}catch{}return{'configMigration':_0x3c2f18,'oldArtifacts':_0x3b536d,'oldMcpConfig':_0x18c0d9,'needsSkillSwap':_0x4a3728,'sdkUpgrade':_0x3eedb2};}function printReport(_0x539229){const _0xb1eb93=a109_0x2ff24a,{configMigration:_0x1c87cd,oldArtifacts:_0x5d5435,oldMcpConfig:_0x1c034,needsSkillSwap:_0x350f6a}=_0x539229;console[_0xb1eb93(0x102)](''),console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0xef)](_0xb1eb93(0x14f))),console[_0xb1eb93(0x102)]('');_0x1c87cd?(console['log'](a109_0x5ea4cb['cyan'](_0xb1eb93(0x12e))+('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x1c87cd[_0xb1eb93(0xf7)]))),console['log'](_0xb1eb93(0xe0)+(_0x1c87cd['hasNewConfig']?a109_0x5ea4cb['green']('already\x20exists\x20(will\x20merge)'):a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0x120)))),console[_0xb1eb93(0x102)](_0xb1eb93(0x129)+_0x1c87cd[_0xb1eb93(0xdf)]['join'](',\x20')),console[_0xb1eb93(0x102)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0xb1eb93(0x102)](a109_0x5ea4cb['cyan'](_0xb1eb93(0x12e))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0xf2)));console[_0xb1eb93(0x102)]('');if(_0x5d5435[_0xb1eb93(0xfc)]>0x0){console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x150)));for(const _0x233e95 of _0x5d5435){console[_0xb1eb93(0x102)]('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xfa)](_0xb1eb93(0x11a))+'\x20\x20'+_0x233e95);}console[_0xb1eb93(0x102)](_0xb1eb93(0x122));}else console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x150))+'\x20\x20'+a109_0x5ea4cb['gray']('none\x20found'));console[_0xb1eb93(0x102)]('');_0x1c034?(console['log'](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0xde))+('\x20\x20'+a109_0x5ea4cb['yellow'](_0x1c034[_0xb1eb93(0x11c)])+_0xb1eb93(0x143)+_0x1c034[_0xb1eb93(0x13f)]['join'](',\x20'))),console[_0xb1eb93(0x102)](_0xb1eb93(0x12f))):console[_0xb1eb93(0x102)](a109_0x5ea4cb['cyan'](_0xb1eb93(0xde))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)]('no\x20legacy\x20entry'));console['log'](''),console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x151))+('\x20\x20'+(_0x350f6a?a109_0x5ea4cb[_0xb1eb93(0xd6)](_0xb1eb93(0x11f)):a109_0x5ea4cb[_0xb1eb93(0x135)](_0xb1eb93(0x12c)))));_0x350f6a&&console[_0xb1eb93(0x102)](_0xb1eb93(0x148)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0xb1eb93(0x102)]('');if(_0x539229[_0xb1eb93(0x10d)]){const {currentVersion:_0x4d4180,field:_0xd7c0d,pkgPath:_0x4e6a77}=_0x539229[_0xb1eb93(0x10d)];console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x137))+('\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x4e6a77))),console['log']('\x20\x20Current\x20version\x20in\x20'+_0xd7c0d+':\x20'+a109_0x5ea4cb[_0xb1eb93(0xd6)](_0x4d4180)+_0xb1eb93(0xe8)+a109_0x5ea4cb[_0xb1eb93(0x135)](_0xb1eb93(0xe7))),console['log'](_0xb1eb93(0x128));}else console[_0xb1eb93(0x102)](a109_0x5ea4cb[_0xb1eb93(0x107)](_0xb1eb93(0x137))+'\x20\x20'+a109_0x5ea4cb[_0xb1eb93(0x104)](_0xb1eb93(0x12d)));console[_0xb1eb93(0x102)]('');}function a109_0x1e64(){const _0x366628=['Remove\x20old\x20skill','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20npm\x20install','.lovrabet','\x20removed\x20(','log','start','gray','values','154837DpRbUl','cyan','Config\x20migration','128360HYxpFK','Step\x205/7:\x20Removing\x20old\x20skill...','oldArtifacts','\x20\x20Step\x20','sdkUpgrade','\x20from\x20','@lovrabet/sdk','exit\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','push','\x20\x20\x20\x20\x20\x20\x20','white','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20bun\x20install','.cursor/mcp.json','isDirectory','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FOUND','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','path','[\x22@lovrabet/sdk\x22]:\x20','message','needed','not\x20found\x20(will\x20create)','some','\x20\x20Action:\x20delete','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20.lovrabet/','\x20→\x20latest','27GdemjB','\x20(backup:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20\x20Fields\x20to\x20migrate:\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','not\x20needed','not\x20found\x20or\x20already\x20at\x20latest','Config\x20file:','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Remove\x20legacy\x20artifacts','entries','===\x20Upgrade\x20Summary\x20===','parse','Proceed\x20with\x20upgrade?','green','18708ykDitr','@lovrabet/sdk:','Install\x20new\x20skill','Upgrade\x20cancelled.','skipped\x20(no\x20legacy\x20config)','FAIL','includes','\x20removed','object','keys','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','hasNewConfig','lovrabet/lovrabet-skill\x20removed','\x20→\x20keys:\x20','isArray','utf8','join','yes','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/dataset-mcp-server','detail','10zqIoBJ','package.json','192954KGXqcC','===\x20Upgrade\x20Analysis\x20===','Legacy\x20artifacts:','Skill\x20swap:','done','266wjQWcl','step','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','failed','yellow','filter','skipped','oldMcpConfig','info','dependencies','succeed','files','MCP\x20config:','fields','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','string','mcpServers','args','628184hqmFYe','Step\x206/7:\x20Installing\x20new\x20skill...','latest','\x20→\x20','needsSkillSwap','lovrabet/rabetbase','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','inherit','.claude/skills/lovrabet','\x20\x20#\x20or','bold','configMigration','221868zQovrc','no\x20legacy\x20config\x20found','1194010uxCPwy','fail','Clean\x20MCP\x20config','stringify','oldPath','Upgrade\x20@lovrabet/sdk','error','red','lovrabet/rabetbase\x20installed\x20globally','length'];a109_0x1e64=function(){return _0x366628;};return a109_0x1e64();}function execConfigMigration(_0x243906,_0x4096cb){const _0x1f7e3e=a109_0x2ff24a,{configMigration:_0x316a6d}=_0x243906;if(!_0x316a6d?.['oldPath'])return{'step':0x1,'label':_0x1f7e3e(0x108),'ok':!![],'detail':_0x1f7e3e(0x13a)};const _0x30294b=readConfigFile(_0x316a6d[_0x1f7e3e(0xf7)]),_0x412113=resolve(_0x4096cb,NEW_CONFIG_NAME),_0x85ba97=_0x316a6d[_0x1f7e3e(0x141)]?readConfigFile(_0x412113):{};for(const [_0x17da06,_0x54d50b]of Object[_0x1f7e3e(0x131)](_0x30294b)){!(_0x17da06 in _0x85ba97)&&(_0x85ba97[_0x17da06]=_0x54d50b);}writeConfigFile(_0x412113,_0x85ba97);const _0x156b52=_0x316a6d[_0x1f7e3e(0xf7)]+'.bak';return renameSync(_0x316a6d['oldPath'],_0x156b52),{'step':0x1,'label':_0x1f7e3e(0x108),'ok':!![],'detail':_0x316a6d[_0x1f7e3e(0xf7)]+_0x1f7e3e(0xe8)+_0x412113+_0x1f7e3e(0x127)+_0x156b52+')'};}function execRemoveOldArtifacts(_0x56c038){const _0x29d617=a109_0x2ff24a,_0x3461d3=[];for(const _0x3d84cd of _0x56c038){try{if(!existsSync(_0x3d84cd))continue;const _0x523cbd=tryStat(_0x3d84cd);_0x523cbd?.[_0x29d617(0x118)]()?rmSync(_0x3d84cd,{'recursive':!![],'force':!![]}):unlinkSync(_0x3d84cd);}catch(_0x4962cd){_0x3461d3[_0x29d617(0x112)](_0x3d84cd+':\x20'+_0x4962cd[_0x29d617(0x11e)]);}}return{'step':0x3,'label':_0x29d617(0x130),'ok':_0x3461d3[_0x29d617(0xfc)]===0x0,'detail':_0x3461d3[_0x29d617(0xfc)]>0x0?_0x56c038[_0x29d617(0xfc)]-_0x3461d3[_0x29d617(0xfc)]+'/'+_0x56c038[_0x29d617(0xfc)]+_0x29d617(0x101)+_0x3461d3['join'](';\x20')+')':_0x56c038[_0x29d617(0xfc)]+_0x29d617(0x13d)};}function execCleanMcp(_0x4166d1){const _0x65a59a=a109_0x2ff24a;if(!_0x4166d1['oldMcpConfig'])return{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':_0x65a59a(0xd8)};try{const _0xfd939f=readFileSync(_0x4166d1[_0x65a59a(0xd9)]['path'],'utf8'),_0x1a93ae=JSON['parse'](_0xfd939f);if(_0x1a93ae?.[_0x65a59a(0xe3)]&&typeof _0x1a93ae[_0x65a59a(0xe3)]===_0x65a59a(0x13e)){const _0x3c13ca=[];for(const [_0x1d6a99,_0x4a46bc]of Object[_0x65a59a(0x131)](_0x1a93ae[_0x65a59a(0xe3)])){_0x4a46bc?.['args']&&Array[_0x65a59a(0x144)](_0x4a46bc[_0x65a59a(0xe4)])&&_0x4a46bc[_0x65a59a(0xe4)][_0x65a59a(0x121)](_0x5084e9=>typeof _0x5084e9===_0x65a59a(0xe2)&&_0x5084e9[_0x65a59a(0x13c)]('@lovrabet/dataset-mcp-server'))&&_0x3c13ca['push'](_0x1d6a99);}for(const _0x1a672b of _0x3c13ca){delete _0x1a93ae['mcpServers'][_0x1a672b];}return _0x3c13ca['length']>0x0&&writeFileSync(_0x4166d1['oldMcpConfig'][_0x65a59a(0x11c)],JSON[_0x65a59a(0xf6)](_0x1a93ae,null,0x2)+'\x0a',_0x65a59a(0x145)),{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':'removed\x20'+_0x3c13ca[_0x65a59a(0x146)](',\x20')+_0x65a59a(0x10e)+_0x4166d1['oldMcpConfig'][_0x65a59a(0x11c)]};}return{'step':0x4,'label':_0x65a59a(0xf5),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x1c53c0){return{'step':0x4,'label':_0x65a59a(0xf5),'ok':![],'detail':_0x1c53c0[_0x65a59a(0x11e)]};}}function execSkillsRemove(_0x5d2edb,_0x17ae69){const _0x1207b5=a109_0x2ff24a,_0x50b7cc=runNpxSkillsRemove(_0x5d2edb,{'stdio':_0x1207b5(0xec),'yes':_0x17ae69});return{'step':0x5,'label':_0x1207b5(0xfd),'ok':_0x50b7cc['ok'],'detail':_0x50b7cc['ok']?_0x1207b5(0x142):_0x50b7cc[_0x1207b5(0xf9)]??'exit\x20'+_0x50b7cc['status']};}function execSkillsAdd(_0x4f02b2,_0xfe4cb2){const _0x409144=a109_0x2ff24a,_0x3b18c7=runNpxSkillsAddGlobal(_0x4f02b2,_0x409144(0xea),{'stdio':_0x409144(0xec),'yes':_0xfe4cb2});return{'step':0x6,'label':_0x409144(0x138),'ok':_0x3b18c7['ok'],'detail':_0x3b18c7['ok']?_0x409144(0xfb):_0x3b18c7[_0x409144(0xf9)]??_0x409144(0x110)+_0x3b18c7['status']};}function execUpgradeSdk(_0x3560e3){const _0x1887d2=a109_0x2ff24a;if(!_0x3560e3[_0x1887d2(0x10d)])return{'step':0x7,'label':_0x1887d2(0xf8),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x16614c,currentVersion:_0x113c8b,field:_0x3b7ba7}=_0x3560e3[_0x1887d2(0x10d)];try{const _0x3efe78=readFileSync(_0x16614c,_0x1887d2(0x145)),_0x1566d1=JSON[_0x1887d2(0x133)](_0x3efe78);return _0x1566d1[_0x3b7ba7]['@lovrabet/sdk']=_0x1887d2(0xe7),writeFileSync(_0x16614c,JSON[_0x1887d2(0xf6)](_0x1566d1,null,0x2)+'\x0a',_0x1887d2(0x145)),{'step':0x7,'label':_0x1887d2(0xf8),'ok':!![],'detail':_0x3b7ba7+_0x1887d2(0x11d)+_0x113c8b+_0x1887d2(0x125)};}catch(_0x64d8a8){return{'step':0x7,'label':_0x1887d2(0xf8),'ok':![],'detail':_0x64d8a8[_0x1887d2(0x11e)]};}}function tryStat(_0x4c9c65){try{return statSync(_0x4c9c65);}catch{return undefined;}}function printSummary(_0x5a9a6e){const _0x1adcc2=a109_0x2ff24a;console['log'](''),console[_0x1adcc2(0x102)](a109_0x5ea4cb['bold'](_0x1adcc2(0x132))),console['log']('');for(const _0x379cc1 of _0x5a9a6e){const _0x3337d0=_0x379cc1['ok']?a109_0x5ea4cb['green']('OK'):a109_0x5ea4cb['red'](_0x1adcc2(0x13b));console[_0x1adcc2(0x102)]('\x20\x20'+_0x3337d0+_0x1adcc2(0x10c)+_0x379cc1[_0x1adcc2(0xd3)]+':\x20'+_0x379cc1['label']);if(_0x379cc1['detail'])console[_0x1adcc2(0x102)](_0x1adcc2(0x113)+a109_0x5ea4cb[_0x1adcc2(0x104)](_0x379cc1['detail']));}console[_0x1adcc2(0x102)]('');}export async function upgradeApp(_0x56e976,_0x1e0b69){const _0x558d7e=a109_0x2ff24a,_0x59cb14=process['cwd'](),_0x2bc6cc=analyse(_0x59cb14),_0x3b8351=!_0x2bc6cc[_0x558d7e(0xf0)]&&_0x2bc6cc[_0x558d7e(0x10b)][_0x558d7e(0xfc)]===0x0&&!_0x2bc6cc[_0x558d7e(0xd9)]&&!_0x2bc6cc[_0x558d7e(0xe9)]&&!_0x2bc6cc['sdkUpgrade'];if(_0x3b8351){console['log'](a109_0x5ea4cb[_0x558d7e(0x135)](_0x558d7e(0x12b)));return;}printReport(_0x2bc6cc);const _0x43d532=!!(_0x1e0b69[_0x558d7e(0x147)]||_0x1e0b69['Y']||_0x56e976);if(!_0x43d532)try{const _0x58d9c1=await askConfirm(_0x558d7e(0x134));if(!_0x58d9c1){console['log'](a109_0x5ea4cb[_0x558d7e(0x104)]('Upgrade\x20cancelled.'));return;}}catch(_0xf1da15){if(_0xf1da15?.[_0x558d7e(0x11e)]==='CANCEL'){console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x104)](_0x558d7e(0x139)));return;}throw _0xf1da15;}const _0xad3d8b=[],_0x6a29a2=a109_0x70dd2c({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x31a3b6=execConfigMigration(_0x2bc6cc,_0x59cb14);_0xad3d8b[_0x558d7e(0x112)](_0x31a3b6),_0x6a29a2[_0x31a3b6['ok']?_0x558d7e(0xdc):'fail'](_0x558d7e(0x12a)+(_0x31a3b6[_0x558d7e(0x14b)]??(_0x31a3b6['ok']?_0x558d7e(0x152):'failed')));const _0x580c60=resolve(_0x59cb14,'.lovrabet'),_0x28bdf5=a109_0x70dd2c({'text':_0x558d7e(0x11b),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)]();if(existsSync(_0x580c60))try{rmSync(_0x580c60,{'recursive':!![],'force':!![]}),_0x28bdf5[_0x558d7e(0xdc)](_0x558d7e(0x123)),_0xad3d8b['push']({'step':0x2,'label':_0x558d7e(0x124),'ok':!![]});}catch(_0x2d9779){_0x28bdf5[_0x558d7e(0xf4)](_0x558d7e(0xeb)+_0x2d9779['message']),_0xad3d8b[_0x558d7e(0x112)]({'step':0x2,'label':_0x558d7e(0x124),'ok':![],'detail':_0x2d9779[_0x558d7e(0x11e)]});}else _0x28bdf5[_0x558d7e(0xda)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0xad3d8b[_0x558d7e(0x112)]({'step':0x2,'label':_0x558d7e(0x124),'ok':!![],'detail':_0x558d7e(0xd8)});const _0x148ecf=a109_0x70dd2c({'text':_0x558d7e(0xfe),'color':_0x558d7e(0x107)})['start'](),_0x135578=execRemoveOldArtifacts(_0x2bc6cc['oldArtifacts']);_0xad3d8b[_0x558d7e(0x112)](_0x135578),_0x148ecf[_0x135578['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0xe1)+(_0x135578[_0x558d7e(0x14b)]??(_0x135578['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0xbd7bf=a109_0x70dd2c({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x2a6986=execCleanMcp(_0x2bc6cc);_0xad3d8b[_0x558d7e(0x112)](_0x2a6986),_0xbd7bf[_0x2a6986['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0x111)+(_0x2a6986['detail']??(_0x2a6986['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0x3e4be9=a109_0x70dd2c({'text':_0x558d7e(0x10a),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x3eca03=execSkillsRemove(_0x59cb14,_0x43d532);_0xad3d8b[_0x558d7e(0x112)](_0x3eca03),_0x3e4be9[_0x3eca03['ok']?_0x558d7e(0xdc):_0x558d7e(0xf4)](_0x558d7e(0x140)+(_0x3eca03['detail']??(_0x3eca03['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0xdaf02e=a109_0x70dd2c({'text':_0x558d7e(0xe6),'color':_0x558d7e(0x107)})['start'](),_0x2b90c8=execSkillsAdd(_0x59cb14,_0x43d532);_0xad3d8b[_0x558d7e(0x112)](_0x2b90c8),_0xdaf02e[_0x2b90c8['ok']?'succeed':_0x558d7e(0xf4)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x2b90c8[_0x558d7e(0x14b)]??(_0x2b90c8['ok']?_0x558d7e(0x152):_0x558d7e(0xd5))));const _0x2f9248=a109_0x70dd2c({'text':_0x558d7e(0x119),'color':_0x558d7e(0x107)})[_0x558d7e(0x103)](),_0x5c9301=execUpgradeSdk(_0x2bc6cc);_0xad3d8b[_0x558d7e(0x112)](_0x5c9301),_0x2f9248[_0x5c9301['ok']?_0x558d7e(0xdc):'fail']('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x5c9301[_0x558d7e(0x14b)]??(_0x5c9301['ok']?'done':_0x558d7e(0xd5)))),printSummary(_0xad3d8b);const _0x49f47b=_0xad3d8b[_0x558d7e(0x121)](_0x26c216=>!_0x26c216['ok']);_0x49f47b?console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0xd6)](_0x558d7e(0x149))):console[_0x558d7e(0x102)](a109_0x5ea4cb['green']('Upgrade\x20completed\x20successfully!')),_0x5c9301['ok']&&_0x2bc6cc['sdkUpgrade']&&(console[_0x558d7e(0x102)](''),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0xef)][_0x558d7e(0x107)](_0x558d7e(0x115))),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x107)](_0x558d7e(0xd4))),console[_0x558d7e(0x102)](''),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x114)](_0x558d7e(0xff))),console[_0x558d7e(0x102)](a109_0x5ea4cb[_0x558d7e(0x114)](_0x558d7e(0xee))),console[_0x558d7e(0x102)](a109_0x5ea4cb['white'](_0x558d7e(0x116))),console[_0x558d7e(0x102)](''));}
|
|
1
|
+
const a109_0x54d390=a109_0x48e3;(function(_0xf56c40,_0x462936){const _0xc22af4=a109_0x48e3,_0x149d73=_0xf56c40();while(!![]){try{const _0x132b47=parseInt(_0xc22af4(0xf4))/0x1+-parseInt(_0xc22af4(0xba))/0x2+parseInt(_0xc22af4(0xe6))/0x3*(-parseInt(_0xc22af4(0xb7))/0x4)+-parseInt(_0xc22af4(0xc1))/0x5*(parseInt(_0xc22af4(0xae))/0x6)+-parseInt(_0xc22af4(0xe7))/0x7+-parseInt(_0xc22af4(0xbd))/0x8+parseInt(_0xc22af4(0xa2))/0x9;if(_0x132b47===_0x462936)break;else _0x149d73['push'](_0x149d73['shift']());}catch(_0x1727e4){_0x149d73['push'](_0x149d73['shift']());}}}(a109_0x1bbe,0x3e9a3));import a109_0x5d5b6b from'chalk';import a109_0xa1af8 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[a109_0x54d390(0x9a)](_0x54007b=>_0x54007b!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x1f3404){const _0x5871d0=a109_0x54d390,_0x8a80fe=[];for(const _0x332468 of Object[_0x5871d0(0xe2)](CORE_IDE_CONFIGS)){if(_0x332468['files'])for(const _0x1b0b8c of _0x332468[_0x5871d0(0xa4)]){_0x8a80fe['push'](resolve(_0x1f3404,_0x1b0b8c[_0x5871d0(0xa0)]));}}return _0x8a80fe;}function analyse(_0x57739a){const _0x49afca=a109_0x54d390;let _0x52925d=null;const _0x21ed11=resolve(_0x57739a,NEW_CONFIG_NAME),_0x2acbcb=existsSync(_0x21ed11);for(const _0x58e5f4 of LEGACY_CONFIG_NAMES){const _0x59742c=resolve(_0x57739a,_0x58e5f4);if(existsSync(_0x59742c)){const _0x5ba841=readConfigFile(_0x59742c),_0x1f9048=Object[_0x49afca(0xee)](_0x5ba841)[_0x49afca(0x9a)](_0x2c6557=>typeof _0x5ba841[_0x2c6557]!==_0x49afca(0xa5));_0x52925d={'oldPath':_0x59742c,'hasNewConfig':_0x2acbcb,'fields':_0x1f9048};break;}}const _0x155a08=[],_0x3eecab=resolve(_0x57739a,_0x49afca(0xdd));if(existsSync(_0x3eecab))_0x155a08[_0x49afca(0xe9)](_0x3eecab);const _0x2e831c=resolve(_0x57739a,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x2e831c))_0x155a08['push'](_0x2e831c);const _0x2a4f18=resolve(_0x57739a,_0x49afca(0xf7));if(existsSync(_0x2a4f18))_0x155a08[_0x49afca(0xe9)](_0x2a4f18);for(const _0x20fbcf of collectIdeSkillFiles(_0x57739a)){if(existsSync(_0x20fbcf))_0x155a08[_0x49afca(0xe9)](_0x20fbcf);}let _0x406eb7=null;const _0x5c5626=resolve(_0x57739a,_0x49afca(0xa9));if(existsSync(_0x5c5626))try{const _0x1401da=JSON[_0x49afca(0xbf)](readFileSync(_0x5c5626,_0x49afca(0xb6)));if(_0x1401da?.[_0x49afca(0xcf)]&&typeof _0x1401da[_0x49afca(0xcf)]===_0x49afca(0xe0)){const _0x18702e=[];for(const [_0x169330,_0x377f7a]of Object[_0x49afca(0x107)](_0x1401da[_0x49afca(0xcf)])){const _0x1cddab=_0x377f7a;_0x1cddab?.[_0x49afca(0xd3)]&&Array[_0x49afca(0xe1)](_0x1cddab['args'])&&_0x1cddab[_0x49afca(0xd3)][_0x49afca(0xca)](_0x2b4e44=>typeof _0x2b4e44==='string'&&_0x2b4e44[_0x49afca(0xe8)]('@lovrabet/dataset-mcp-server'))&&_0x18702e[_0x49afca(0xe9)](_0x169330);}_0x18702e[_0x49afca(0x113)]>0x0&&(_0x406eb7={'path':_0x5c5626,'keys':_0x18702e});}}catch{}const _0x29cabe=_0x155a08[_0x49afca(0x113)]>0x0||_0x52925d!==null;let _0x54b3d9=null;const _0x132c2d=resolve(_0x57739a,_0x49afca(0xd7));if(existsSync(_0x132c2d))try{const _0x4c95fe=JSON[_0x49afca(0xbf)](readFileSync(_0x132c2d,_0x49afca(0xb6)));for(const _0x42140d of[_0x49afca(0xfc),_0x49afca(0xbc)]){const _0x938a34=_0x4c95fe?.[_0x42140d]?.['@lovrabet/sdk'];if(typeof _0x938a34===_0x49afca(0xc2)){_0x938a34!==_0x49afca(0xf5)&&(_0x54b3d9={'pkgPath':_0x132c2d,'currentVersion':_0x938a34,'field':_0x42140d});break;}}}catch{}return{'configMigration':_0x52925d,'oldArtifacts':_0x155a08,'oldMcpConfig':_0x406eb7,'needsSkillSwap':_0x29cabe,'sdkUpgrade':_0x54b3d9};}function printReport(_0x1e8d68){const _0x121bb3=a109_0x54d390,{configMigration:_0x14d7a9,oldArtifacts:_0x3326d0,oldMcpConfig:_0x57ebb7,needsSkillSwap:_0xc4763e}=_0x1e8d68;console[_0x121bb3(0x100)](''),console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xed)](_0x121bb3(0xfa))),console[_0x121bb3(0x100)]('');_0x14d7a9?(console[_0x121bb3(0x100)](a109_0x5d5b6b['cyan'](_0x121bb3(0xa3))+('\x20\x20'+a109_0x5d5b6b[_0x121bb3(0x106)](_0x14d7a9[_0x121bb3(0x115)]))),console[_0x121bb3(0x100)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x14d7a9[_0x121bb3(0xff)]?a109_0x5d5b6b[_0x121bb3(0xf0)](_0x121bb3(0x101)):a109_0x5d5b6b[_0x121bb3(0xc8)](_0x121bb3(0xc0)))),console[_0x121bb3(0x100)](_0x121bb3(0xb9)+_0x14d7a9[_0x121bb3(0xf1)][_0x121bb3(0xaa)](',\x20')),console[_0x121bb3(0x100)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)]('Config\x20file:')+'\x20\x20'+a109_0x5d5b6b[_0x121bb3(0xc8)](_0x121bb3(0xb1)));console[_0x121bb3(0x100)]('');if(_0x3326d0[_0x121bb3(0x113)]>0x0){console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)](_0x121bb3(0xc9)));for(const _0x2dfca9 of _0x3326d0){console['log']('\x20\x20'+a109_0x5d5b6b[_0x121bb3(0xf6)](_0x121bb3(0x9f))+'\x20\x20'+_0x2dfca9);}console[_0x121bb3(0x100)]('\x20\x20Action:\x20delete');}else console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)](_0x121bb3(0xc9))+'\x20\x20'+a109_0x5d5b6b[_0x121bb3(0xc8)](_0x121bb3(0xec)));console[_0x121bb3(0x100)]('');_0x57ebb7?(console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)]('MCP\x20config:')+('\x20\x20'+a109_0x5d5b6b['yellow'](_0x57ebb7[_0x121bb3(0xa0)])+'\x20→\x20keys:\x20'+_0x57ebb7[_0x121bb3(0xee)]['join'](',\x20'))),console['log'](_0x121bb3(0xb4))):console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)](_0x121bb3(0x104))+'\x20\x20'+a109_0x5d5b6b[_0x121bb3(0xc8)](_0x121bb3(0x103)));console['log'](''),console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)]('Skill\x20swap:')+('\x20\x20'+(_0xc4763e?a109_0x5d5b6b['yellow']('needed'):a109_0x5d5b6b[_0x121bb3(0xf0)](_0x121bb3(0x109)))));_0xc4763e&&console['log'](_0x121bb3(0x102)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x121bb3(0x100)]('');if(_0x1e8d68['sdkUpgrade']){const {currentVersion:_0x44adb4,field:_0x4f6a5f,pkgPath:_0x411f49}=_0x1e8d68[_0x121bb3(0xd9)];console[_0x121bb3(0x100)](a109_0x5d5b6b[_0x121bb3(0xfb)](_0x121bb3(0xdf))+('\x20\x20'+a109_0x5d5b6b[_0x121bb3(0x106)](_0x411f49))),console[_0x121bb3(0x100)](_0x121bb3(0xa1)+_0x4f6a5f+':\x20'+a109_0x5d5b6b[_0x121bb3(0x106)](_0x44adb4)+_0x121bb3(0xb5)+a109_0x5d5b6b['green'](_0x121bb3(0xf5))),console[_0x121bb3(0x100)](_0x121bb3(0x10e));}else console['log'](a109_0x5d5b6b[_0x121bb3(0xfb)](_0x121bb3(0xdf))+'\x20\x20'+a109_0x5d5b6b['gray'](_0x121bb3(0xef)));console[_0x121bb3(0x100)]('');}function execConfigMigration(_0xebbd2d,_0x287752){const _0x30b031=a109_0x54d390,{configMigration:_0x184ab0}=_0xebbd2d;if(!_0x184ab0?.['oldPath'])return{'step':0x1,'label':_0x30b031(0xab),'ok':!![],'detail':_0x30b031(0xbb)};const _0x4e8705=readConfigFile(_0x184ab0[_0x30b031(0x115)]),_0x3d0bf1=resolve(_0x287752,NEW_CONFIG_NAME),_0x3daa80=_0x184ab0[_0x30b031(0xff)]?readConfigFile(_0x3d0bf1):{};for(const [_0x9d71f8,_0x4f6dd8]of Object[_0x30b031(0x107)](_0x4e8705)){!(_0x9d71f8 in _0x3daa80)&&(_0x3daa80[_0x9d71f8]=_0x4f6dd8);}writeConfigFile(_0x3d0bf1,_0x3daa80);const _0x346841=_0x184ab0['oldPath']+_0x30b031(0xb8);return renameSync(_0x184ab0[_0x30b031(0x115)],_0x346841),{'step':0x1,'label':_0x30b031(0xab),'ok':!![],'detail':_0x184ab0['oldPath']+'\x20→\x20'+_0x3d0bf1+_0x30b031(0xd8)+_0x346841+')'};}function a109_0x48e3(_0x2c8790,_0x1ded97){_0x2c8790=_0x2c8790-0x99;const _0x1bbe04=a109_0x1bbe();let _0x48e36f=_0x1bbe04[_0x2c8790];return _0x48e36f;}function execRemoveOldArtifacts(_0xe6f431){const _0x59bce2=a109_0x54d390,_0x453a08=[];for(const _0x8f8a74 of _0xe6f431){try{if(!existsSync(_0x8f8a74))continue;const _0x36a8b9=tryStat(_0x8f8a74);_0x36a8b9?.[_0x59bce2(0xda)]()?rmSync(_0x8f8a74,{'recursive':!![],'force':!![]}):unlinkSync(_0x8f8a74);}catch(_0x533e19){_0x453a08[_0x59bce2(0xe9)](_0x8f8a74+':\x20'+_0x533e19[_0x59bce2(0xac)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x453a08[_0x59bce2(0x113)]===0x0,'detail':_0x453a08[_0x59bce2(0x113)]>0x0?_0xe6f431['length']-_0x453a08[_0x59bce2(0x113)]+'/'+_0xe6f431['length']+_0x59bce2(0x108)+_0x453a08[_0x59bce2(0xaa)](';\x20')+')':_0xe6f431[_0x59bce2(0x113)]+'\x20removed'};}function execCleanMcp(_0x119a5b){const _0x52c21e=a109_0x54d390;if(!_0x119a5b['oldMcpConfig'])return{'step':0x4,'label':_0x52c21e(0x9e),'ok':!![],'detail':'skipped'};try{const _0x14792e=readFileSync(_0x119a5b[_0x52c21e(0xb2)][_0x52c21e(0xa0)],_0x52c21e(0xb6)),_0x45d676=JSON['parse'](_0x14792e);if(_0x45d676?.[_0x52c21e(0xcf)]&&typeof _0x45d676['mcpServers']===_0x52c21e(0xe0)){const _0x404f82=[];for(const [_0x50ea71,_0x19eee5]of Object[_0x52c21e(0x107)](_0x45d676[_0x52c21e(0xcf)])){_0x19eee5?.[_0x52c21e(0xd3)]&&Array[_0x52c21e(0xe1)](_0x19eee5[_0x52c21e(0xd3)])&&_0x19eee5['args'][_0x52c21e(0xca)](_0x2b38f0=>typeof _0x2b38f0===_0x52c21e(0xc2)&&_0x2b38f0['includes'](_0x52c21e(0xd5)))&&_0x404f82[_0x52c21e(0xe9)](_0x50ea71);}for(const _0xdadb41 of _0x404f82){delete _0x45d676[_0x52c21e(0xcf)][_0xdadb41];}return _0x404f82['length']>0x0&&writeFileSync(_0x119a5b[_0x52c21e(0xb2)]['path'],JSON[_0x52c21e(0x110)](_0x45d676,null,0x2)+'\x0a',_0x52c21e(0xb6)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x52c21e(0xb0)+_0x404f82['join'](',\x20')+'\x20from\x20'+_0x119a5b[_0x52c21e(0xb2)][_0x52c21e(0xa0)]};}return{'step':0x4,'label':_0x52c21e(0x9e),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0xf00e2e){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0xf00e2e[_0x52c21e(0xac)]};}}function execSkillsRemove(_0x36b28c,_0x5d79ce){const _0x2b5b92=a109_0x54d390,_0xc603d9=runNpxSkillsRemove(_0x36b28c,{'stdio':_0x2b5b92(0xa8),'yes':_0x5d79ce});return{'step':0x5,'label':_0x2b5b92(0xc4),'ok':_0xc603d9['ok'],'detail':_0xc603d9['ok']?_0x2b5b92(0xc3):_0xc603d9['error']??_0x2b5b92(0x10d)+_0xc603d9['status']};}function execSkillsAdd(_0x5cc989,_0x4fc5af){const _0x13bbd4=a109_0x54d390,_0x30d9b1=runNpxSkillsAddGlobal(_0x5cc989,_0x13bbd4(0xe5),{'stdio':'inherit','yes':_0x4fc5af});return{'step':0x6,'label':_0x13bbd4(0x114),'ok':_0x30d9b1['ok'],'detail':_0x30d9b1['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x30d9b1[_0x13bbd4(0xea)]??_0x13bbd4(0x10d)+_0x30d9b1['status']};}function execUpgradeSdk(_0x2ec26d){const _0x3df7bd=a109_0x54d390;if(!_0x2ec26d[_0x3df7bd(0xd9)])return{'step':0x7,'label':_0x3df7bd(0xa7),'ok':!![],'detail':_0x3df7bd(0xf2)};const {pkgPath:_0x2a9393,currentVersion:_0x3f415a,field:_0x3a0370}=_0x2ec26d[_0x3df7bd(0xd9)];try{const _0x3ee548=readFileSync(_0x2a9393,_0x3df7bd(0xb6)),_0xd7bfe4=JSON['parse'](_0x3ee548);return _0xd7bfe4[_0x3a0370][_0x3df7bd(0xcb)]='latest',writeFileSync(_0x2a9393,JSON[_0x3df7bd(0x110)](_0xd7bfe4,null,0x2)+'\x0a',_0x3df7bd(0xb6)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x3a0370+'[\x22@lovrabet/sdk\x22]:\x20'+_0x3f415a+_0x3df7bd(0xcd)};}catch(_0x252612){return{'step':0x7,'label':_0x3df7bd(0xa7),'ok':![],'detail':_0x252612['message']};}}function a109_0x1bbe(){const _0x53f128=['Config\x20file:','files','undefined','cwd','Upgrade\x20@lovrabet/sdk','inherit','.cursor/mcp.json','join','Config\x20migration','message','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','35550nERgDs','Upgrade\x20completed\x20successfully!','removed\x20','no\x20legacy\x20config\x20found','oldMcpConfig','Step\x206/7:\x20Installing\x20new\x20skill...','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20→\x20','utf8','14144SGPSaP','.bak','\x20\x20Fields\x20to\x20migrate:\x20','895832uNCRbp','skipped\x20(no\x20legacy\x20config)','devDependencies','650744oQqxWg','done','parse','not\x20found\x20(will\x20create)','170bakceW','string','lovrabet/lovrabet-skill\x20removed','Remove\x20old\x20skill','oldArtifacts','Upgrade\x20cancelled.','fail','gray','Legacy\x20artifacts:','some','@lovrabet/sdk','step','\x20→\x20latest','CANCEL','mcpServers','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','succeed','args','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','@lovrabet/dataset-mcp-server','\x20\x20\x20\x20\x20\x20\x20','package.json','\x20(backup:\x20','sdkUpgrade','isDirectory','\x20\x20Step\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','.lovrabet','Proceed\x20with\x20upgrade?','@lovrabet/sdk:','object','isArray','values','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','===\x20Upgrade\x20Summary\x20===','lovrabet/rabetbase','12LuDzFp','3299009AyciKE','includes','push','error','Step\x201/7:\x20Migrating\x20config...','none\x20found','bold','keys','not\x20found\x20or\x20already\x20at\x20latest','green','fields','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20\x20bun\x20install','192758govVzX','latest','red','.claude/skills/lovrabet','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','label','===\x20Upgrade\x20Analysis\x20===','cyan','dependencies','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','failed','hasNewConfig','log','already\x20exists\x20(will\x20merge)','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','no\x20legacy\x20entry','MCP\x20config:','info','yellow','entries','\x20removed\x20(','not\x20needed','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','configMigration','white','exit\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Remove\x20.lovrabet/','stringify','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','\x20\x20#\x20or','length','Install\x20new\x20skill','oldPath','detail','filter','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','start','Step\x201/7:\x20Config\x20migration\x20—\x20','Clean\x20MCP\x20config','FOUND','path','\x20\x20Current\x20version\x20in\x20','11518209JIuZdz'];a109_0x1bbe=function(){return _0x53f128;};return a109_0x1bbe();}function tryStat(_0x56e8bb){try{return statSync(_0x56e8bb);}catch{return undefined;}}function printSummary(_0x3a4f70){const _0x1e2684=a109_0x54d390;console[_0x1e2684(0x100)](''),console[_0x1e2684(0x100)](a109_0x5d5b6b['bold'](_0x1e2684(0xe4))),console[_0x1e2684(0x100)]('');for(const _0x44c094 of _0x3a4f70){const _0x584cae=_0x44c094['ok']?a109_0x5d5b6b[_0x1e2684(0xf0)]('OK'):a109_0x5d5b6b['red']('FAIL');console[_0x1e2684(0x100)]('\x20\x20'+_0x584cae+_0x1e2684(0xdb)+_0x44c094[_0x1e2684(0xcc)]+':\x20'+_0x44c094[_0x1e2684(0xf9)]);if(_0x44c094[_0x1e2684(0x99)])console['log'](_0x1e2684(0xd6)+a109_0x5d5b6b[_0x1e2684(0xc8)](_0x44c094[_0x1e2684(0x99)]));}console[_0x1e2684(0x100)]('');}export async function upgradeApp(_0x5dfff7,_0xb2b0f0){const _0x402813=a109_0x54d390,_0x14668b=process[_0x402813(0xa6)](),_0x4a9f0b=analyse(_0x14668b),_0x5c738d=!_0x4a9f0b[_0x402813(0x10b)]&&_0x4a9f0b[_0x402813(0xc5)]['length']===0x0&&!_0x4a9f0b[_0x402813(0xb2)]&&!_0x4a9f0b['needsSkillSwap']&&!_0x4a9f0b[_0x402813(0xd9)];if(_0x5c738d){console['log'](a109_0x5d5b6b[_0x402813(0xf0)](_0x402813(0xad)));return;}printReport(_0x4a9f0b);const _0x3857fb=!!(_0xb2b0f0['yes']||_0xb2b0f0['Y']||_0x5dfff7);if(!_0x3857fb)try{const _0x3e1455=await askConfirm(_0x402813(0xde));if(!_0x3e1455){console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0xc8)](_0x402813(0xc6)));return;}}catch(_0x3b9c36){if(_0x3b9c36?.[_0x402813(0xac)]===_0x402813(0xce)){console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0xc8)](_0x402813(0xc6)));return;}throw _0x3b9c36;}const _0x1a0128=[],_0x161f18=a109_0xa1af8({'text':_0x402813(0xeb),'color':_0x402813(0xfb)})[_0x402813(0x9c)](),_0x5445e5=execConfigMigration(_0x4a9f0b,_0x14668b);_0x1a0128[_0x402813(0xe9)](_0x5445e5),_0x161f18[_0x5445e5['ok']?_0x402813(0xd2):_0x402813(0xc7)](_0x402813(0x9d)+(_0x5445e5[_0x402813(0x99)]??(_0x5445e5['ok']?_0x402813(0xbe):_0x402813(0xfe))));const _0x34dfd5=resolve(_0x14668b,'.lovrabet'),_0x219f09=a109_0xa1af8({'text':_0x402813(0x111),'color':_0x402813(0xfb)})['start']();if(existsSync(_0x34dfd5))try{rmSync(_0x34dfd5,{'recursive':!![],'force':!![]}),_0x219f09[_0x402813(0xd2)](_0x402813(0xf8)),_0x1a0128[_0x402813(0xe9)]({'step':0x2,'label':_0x402813(0x10f),'ok':!![]});}catch(_0x5b0170){_0x219f09[_0x402813(0xc7)](_0x402813(0xdc)+_0x5b0170[_0x402813(0xac)]),_0x1a0128[_0x402813(0xe9)]({'step':0x2,'label':_0x402813(0x10f),'ok':![],'detail':_0x5b0170['message']});}else _0x219f09[_0x402813(0x105)](_0x402813(0xe3)),_0x1a0128[_0x402813(0xe9)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x16296f=a109_0xa1af8({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x402813(0xfb)})['start'](),_0x33d1e9=execRemoveOldArtifacts(_0x4a9f0b[_0x402813(0xc5)]);_0x1a0128[_0x402813(0xe9)](_0x33d1e9),_0x16296f[_0x33d1e9['ok']?_0x402813(0xd2):'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x33d1e9[_0x402813(0x99)]??(_0x33d1e9['ok']?_0x402813(0xbe):_0x402813(0xfe))));const _0x47dea9=a109_0xa1af8({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':'cyan'})['start'](),_0x54f6fb=execCleanMcp(_0x4a9f0b);_0x1a0128[_0x402813(0xe9)](_0x54f6fb),_0x47dea9[_0x54f6fb['ok']?_0x402813(0xd2):'fail']('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x54f6fb[_0x402813(0x99)]??(_0x54f6fb['ok']?_0x402813(0xbe):_0x402813(0xfe))));const _0xb1a27d=a109_0xa1af8({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})[_0x402813(0x9c)](),_0x38bc76=execSkillsRemove(_0x14668b,_0x3857fb);_0x1a0128[_0x402813(0xe9)](_0x38bc76),_0xb1a27d[_0x38bc76['ok']?_0x402813(0xd2):'fail'](_0x402813(0x10a)+(_0x38bc76[_0x402813(0x99)]??(_0x38bc76['ok']?_0x402813(0xbe):_0x402813(0xfe))));const _0x14a47c=a109_0xa1af8({'text':_0x402813(0xb3),'color':_0x402813(0xfb)})[_0x402813(0x9c)](),_0x206835=execSkillsAdd(_0x14668b,_0x3857fb);_0x1a0128['push'](_0x206835),_0x14a47c[_0x206835['ok']?_0x402813(0xd2):_0x402813(0xc7)](_0x402813(0xd1)+(_0x206835[_0x402813(0x99)]??(_0x206835['ok']?_0x402813(0xbe):_0x402813(0xfe))));const _0xe19919=a109_0xa1af8({'text':_0x402813(0xfd),'color':_0x402813(0xfb)})['start'](),_0x5e1e45=execUpgradeSdk(_0x4a9f0b);_0x1a0128[_0x402813(0xe9)](_0x5e1e45),_0xe19919[_0x5e1e45['ok']?'succeed':_0x402813(0xc7)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x5e1e45[_0x402813(0x99)]??(_0x5e1e45['ok']?'done':_0x402813(0xfe)))),printSummary(_0x1a0128);const _0x41a2fd=_0x1a0128['some'](_0x37c603=>!_0x37c603['ok']);_0x41a2fd?console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0x106)](_0x402813(0x9b))):console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0xf0)](_0x402813(0xaf))),_0x5e1e45['ok']&&_0x4a9f0b['sdkUpgrade']&&(console[_0x402813(0x100)](''),console[_0x402813(0x100)](a109_0x5d5b6b['bold'][_0x402813(0xfb)](_0x402813(0xd4))),console['log'](a109_0x5d5b6b[_0x402813(0xfb)](_0x402813(0xd0))),console['log'](''),console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0x10c)]('\x20\x20npm\x20install')),console['log'](a109_0x5d5b6b[_0x402813(0x10c)](_0x402813(0x112))),console[_0x402813(0x100)](a109_0x5d5b6b[_0x402813(0x10c)](_0x402813(0xf3))),console[_0x402813(0x100)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a110_0x5b4d89=a110_0x5c6c;(function(_0x11f30e,_0x4ec6fb){const _0x571ee4=a110_0x5c6c,_0xe34c24=_0x11f30e();while(!![]){try{const _0x1452e2=-parseInt(_0x571ee4(0x1d6))/0x1*(parseInt(_0x571ee4(0x1c6))/0x2)+-parseInt(_0x571ee4(0x1cc))/0x3*(parseInt(_0x571ee4(0x1af))/0x4)+parseInt(_0x571ee4(0x1d7))/0x5+-parseInt(_0x571ee4(0x1a8))/0x6*(-parseInt(_0x571ee4(0x1cf))/0x7)+parseInt(_0x571ee4(0x1b0))/0x8*(parseInt(_0x571ee4(0x1c0))/0x9)+parseInt(_0x571ee4(0x1db))/0xa+-parseInt(_0x571ee4(0x1d5))/0xb;if(_0x1452e2===_0x4ec6fb)break;else _0xe34c24['push'](_0xe34c24['shift']());}catch(_0x5e9b8c){_0xe34c24['push'](_0xe34c24['shift']());}}}(a110_0x22c2,0x5f636));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a110_0x22c2(){const _0x412b76=['has','project','431389Fjwgef','Data\x20Query','logout','Project','build','create','2179100NGHVUt','1NiIQpt','1834350aFOTVE','preview','Logs','SQL\x20Queries','1469180pOTLmg','Dataset\x20&\x20Operations','API','66kolSUM','from','values','command','get','wildcardDef','Diagnostics','4qQvybO','24BcBntn','Quick\x20Start','start','description','write','skill','auth','run','install','Run\x20Scripts','<script>','read','show','push','Run\x20any\x20package.json\x20script','commands','148959ZGbIRB','Authentication','Code\x20Generation','BFF\x20Scripts','risk','Database\x20Connections','302398tXSAgC','length','Self\x20Update','service','isSingleCommand','map','1503987yhfiQo'];a110_0x22c2=function(){return _0x412b76;};return a110_0x22c2();}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';function a110_0x5c6c(_0x8fd562,_0x40f5f3){_0x8fd562=_0x8fd562-0x1a7;const _0x22c230=a110_0x22c2();let _0x5c6c46=_0x22c230[_0x8fd562];return _0x5c6c46;}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(_0x22ec28){const _0xbef7cd=a110_0x5c6c;for(const _0x59444c of _0x22ec28){definitions['set'](_0x59444c[_0xbef7cd(0x1c9)]+':'+_0x59444c[_0xbef7cd(0x1ab)],_0x59444c);let _0x5bfe1f=serviceGroups[_0xbef7cd(0x1ac)](_0x59444c[_0xbef7cd(0x1c9)]);!_0x5bfe1f&&(_0x5bfe1f=[],serviceGroups['set'](_0x59444c[_0xbef7cd(0x1c9)],_0x5bfe1f)),_0x5bfe1f[_0xbef7cd(0x1bd)](_0x59444c);}}function registerDeclarativeService(_0x251fc4,_0x11c33e,_0x57f9d0){const _0xb79abe=a110_0x5c6c;registerDefinitions(_0x11c33e);_0x57f9d0?.[_0xb79abe(0x1ad)]&®isterDefinitions([_0x57f9d0[_0xb79abe(0x1ad)]]);const _0x5ac1b5=_0x516236=>_0x516236===_0xb79abe(0x1bb)?'':_0x516236===_0xb79abe(0x1b4)?'\x20\x20[write]':'\x20\x20[high-risk-write]',_0x402fce={'service':_0x11c33e[0x0]['service'],'label':_0x251fc4,'commands':_0x11c33e[_0xb79abe(0x1cb)](_0x4cfdf1=>({'command':_0x4cfdf1[_0xb79abe(0x1ab)],'description':_0x4cfdf1[_0xb79abe(0x1b3)],'tag':_0x5ac1b5(_0x4cfdf1[_0xb79abe(0x1c4)])})),'declarative':!![],'defaultCommand':_0x57f9d0?.['defaultCommand']??(_0x57f9d0?.[_0xb79abe(0x1ca)]?_0x11c33e[0x0][_0xb79abe(0x1ab)]:undefined),'wildcardDef':_0x57f9d0?.[_0xb79abe(0x1ad)],'isSingleCommand':_0x57f9d0?.[_0xb79abe(0x1ca)]};serviceRegistry[_0xb79abe(0x1bd)](_0x402fce),serviceByName['set'](_0x402fce[_0xb79abe(0x1c9)],_0x402fce);}registerDeclarativeService(a110_0x5b4d89(0x1b1),initDefinitions,{'defaultCommand':a110_0x5b4d89(0x1b7),'isSingleCommand':!![]}),registerDeclarativeService(a110_0x5b4d89(0x1d2),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1b9),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a110_0x5b4d89(0x1c7)]-0x1];last[a110_0x5b4d89(0x1bf)]=[{'command':a110_0x5b4d89(0x1ba),'description':a110_0x5b4d89(0x1be),'tag':''}];}registerDeclarativeService(a110_0x5b4d89(0x1c1),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a110_0x5b4d89(0x1c8),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a110_0x5b4d89(0x1ae),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1a7),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1c5),dbDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1dc),datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1d0),dataDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1c3),bffDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1da),sqlDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1c2),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a110_0x5b4d89(0x1d9),logsDefinitions,{'defaultCommand':a110_0x5b4d89(0x1bc)});export const deprecatedAliases={'create':{'service':a110_0x5b4d89(0x1ce),'command':'create'},'start':{'service':a110_0x5b4d89(0x1b7),'command':a110_0x5b4d89(0x1b2)},'build':{'service':'run','command':a110_0x5b4d89(0x1d3)},'preview':{'service':a110_0x5b4d89(0x1b7),'command':a110_0x5b4d89(0x1d8)},'logout':{'service':a110_0x5b4d89(0x1b6),'command':a110_0x5b4d89(0x1d1)},'skills':{'service':a110_0x5b4d89(0x1b5),'command':a110_0x5b4d89(0x1b8)}};export const deprecatedSubcommands={'bff':{'new':a110_0x5b4d89(0x1d4)},'sql':{'new':a110_0x5b4d89(0x1d4)}};export function resolveDeprecatedSubcommand(_0x527c3c,_0x102480){return deprecatedSubcommands[_0x527c3c]?.[_0x102480];}export function findDefinition(_0x31ff04,_0x51398a){const _0x77b3a1=a110_0x5b4d89;return definitions[_0x77b3a1(0x1ac)](_0x31ff04+':'+_0x51398a);}export function isKnownService(_0x262465){const _0x759f91=a110_0x5b4d89;return serviceByName[_0x759f91(0x1cd)](_0x262465);}export function isDeclarativeService(_0x39e15c){const _0x11a6fd=a110_0x5b4d89;return serviceGroups[_0x11a6fd(0x1cd)](_0x39e15c)||serviceByName['get'](_0x39e15c)?.[_0x11a6fd(0x1ad)]!==undefined;}export function getServiceEntry(_0x21e20b){const _0x243d12=a110_0x5b4d89;return serviceByName[_0x243d12(0x1ac)](_0x21e20b);}export function getLegacyHandler(_0x5a16d0,_0x4d44e3){return undefined;}export function getAllDefinitions(){const _0x3ed7c7=a110_0x5b4d89;return Array[_0x3ed7c7(0x1a9)](definitions[_0x3ed7c7(0x1aa)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a111_0x10f5d0=a111_0x310b;function a111_0x415a(){const _0x5eb134=['.bin','\x0a\x20\x20Usage:\x20','node_modules','72bIxbuv','log','npm','belowMinimum','Available:\x20','all','preview','Script\x20name\x20defined\x20in\x20package.json','--watch','\x20run\x20preview','length','36850308SKCghf','slice','needsUpgrade','boolean','bun','No\x20scripts\x20defined\x20in\x20package.json.','435245WNGGNw','run','script','bun.lock','inherit','push','has','yarn','dev','join','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','cwd','Script\x20\x22','\x20\x20\x20\x20','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','bool','validation','\x0a\x20\x20Available\x20scripts:\x0a','45567LLwTqj','\x20exited\x20with\x20code\x20','map','utf-8','entries','error','start','\x20run\x20','No\x20package.json\x20found\x20in\x20current\x20directory.','args','664iygRSI','1JcGKkv','keys','bun.lockb','296445VnpaYT','parse','6479634WkiykT','44BwoJAH','\x20\x20EXAMPLES','padEnd','152300xuEVef','close','\x20run\x20start','1349284mVWYQF','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x22\x20not\x20found\x20in\x20package.json.','vite','watch'];a111_0x415a=function(){return _0x5eb134;};return a111_0x415a();}(function(_0x5b5c3a,_0x20d792){const _0x477e23=a111_0x310b,_0x2196cd=_0x5b5c3a();while(!![]){try{const _0x9bdba8=-parseInt(_0x477e23(0x1ce))/0x1*(-parseInt(_0x477e23(0x1da))/0x2)+-parseInt(_0x477e23(0x1d1))/0x3*(parseInt(_0x477e23(0x1d4))/0x4)+parseInt(_0x477e23(0x1b1))/0x5*(-parseInt(_0x477e23(0x1e2))/0x6)+-parseInt(_0x477e23(0x1d3))/0x7+-parseInt(_0x477e23(0x1cd))/0x8*(parseInt(_0x477e23(0x1c3))/0x9)+parseInt(_0x477e23(0x1d7))/0xa+parseInt(_0x477e23(0x1ab))/0xb;if(_0x9bdba8===_0x20d792)break;else _0x2196cd['push'](_0x2196cd['shift']());}catch(_0x3d1187){_0x2196cd['push'](_0x2196cd['shift']());}}}(a111_0x415a,0x89518));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a111_0x10f5d0(0x1c9),a111_0x10f5d0(0x1b9)]);function readPackageScripts(_0x2785ab){const _0x469430=a111_0x10f5d0,_0x279a6b=resolve(_0x2785ab,'package.json');if(!existsSync(_0x279a6b))return null;try{const _0x71a882=JSON[_0x469430(0x1d2)](readFileSync(_0x279a6b,_0x469430(0x1c6)));return _0x71a882['scripts']??{};}catch{return null;}}function detectPackageManager(_0x475d13){const _0x2c3e7d=a111_0x10f5d0;if(existsSync(resolve(_0x475d13,_0x2c3e7d(0x1d0)))||existsSync(resolve(_0x475d13,_0x2c3e7d(0x1b4))))return _0x2c3e7d(0x1af);if(existsSync(resolve(_0x475d13,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x475d13,'yarn.lock')))return _0x2c3e7d(0x1b8);return _0x2c3e7d(0x1e4);}async function versionCheck(_0xf3947c){const _0x3e8258=a111_0x10f5d0,_0x29afdf=await checkCliVersion();(_0x29afdf[_0x3e8258(0x1ad)]||_0x29afdf[_0x3e8258(0x1e5)])&&(printCliUpgradeWarning(_0x29afdf),assertCliVersionSupported(_0x29afdf));const _0x58bc24=await checkSdkVersion(_0xf3947c);if(_0x58bc24[_0x3e8258(0x1ad)])printSdkUpgradeWarning(_0x58bc24);}function spawnScript(_0x3b4f48,_0x4fb056,_0x139b26,_0x1f18d7){return new Promise((_0x9ff630,_0x39eaec)=>{const _0x258936=a111_0x310b,_0xbe8519=[_0x258936(0x1b2),_0x4fb056,..._0x139b26],_0x28b182=spawn(_0x3b4f48,_0xbe8519,{'cwd':_0x1f18d7,'stdio':_0x258936(0x1b5),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1f18d7,_0x258936(0x1e1),_0x258936(0x1df))+delimiter+process.env.PATH}});_0x28b182['on'](_0x258936(0x1d8),_0x4dfba1=>{const _0x3e6ac4=_0x258936;if(_0x4dfba1===0x0||_0x4dfba1===null)_0x9ff630();else _0x39eaec(new Error(_0x3b4f48+'\x20run\x20'+_0x4fb056+_0x3e6ac4(0x1c4)+_0x4dfba1));}),_0x28b182['on'](_0x258936(0x1c8),_0x39eaec);});}function spawnViteBuildWatch(_0x11bd32){return new Promise((_0x17dc6d,_0x576f0f)=>{const _0x1a320d=a111_0x310b,_0x121b19=spawn(_0x1a320d(0x1dd),['build',_0x1a320d(0x1ea)],{'cwd':_0x11bd32,'stdio':_0x1a320d(0x1b5),'shell':!![],'env':{...process.env,'PATH':''+join(_0x11bd32,_0x1a320d(0x1e1),_0x1a320d(0x1df))+delimiter+process.env.PATH}});_0x121b19['on'](_0x1a320d(0x1d8),_0x3f45df=>{const _0x29ccd4=_0x1a320d;if(_0x3f45df===0x0||_0x3f45df===null)_0x17dc6d();else _0x576f0f(new Error(_0x29ccd4(0x1bb)+_0x3f45df));}),_0x121b19['on']('error',_0x576f0f);});}function spawnVitePreview(_0x59b29f){return new Promise((_0xbb4fd,_0x2c9e54)=>{const _0x2513ef=a111_0x310b,_0x1145da=spawn(_0x2513ef(0x1dd),[_0x2513ef(0x1e8)],{'cwd':_0x59b29f,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x59b29f,'node_modules',_0x2513ef(0x1df))+delimiter+process.env.PATH}});_0x1145da['on']('close',_0x4db7cb=>{if(_0x4db7cb===0x0||_0x4db7cb===null)_0xbb4fd();else _0x2c9e54(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x4db7cb));}),_0x1145da['on'](_0x2513ef(0x1c8),_0x2c9e54);});}function a111_0x310b(_0x4f5919,_0x244a40){_0x4f5919=_0x4f5919-0x1a9;const _0x415a68=a111_0x415a();let _0x310b4c=_0x415a68[_0x4f5919];return _0x310b4c;}const runFlags=[{'name':a111_0x10f5d0(0x1de),'type':a111_0x10f5d0(0x1ae),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':'run','command':'run','description':'Run\x20a\x20package.json\x20script','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a111_0x10f5d0(0x1b3),'description':a111_0x10f5d0(0x1e9),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2f5cb4=a111_0x10f5d0,_0x20972d=readPackageScripts(process['cwd']()),_0x6d908a=[];if(_0x20972d&&Object['keys'](_0x20972d)['length']>0x0){const _0x4c3337=Object['keys'](_0x20972d),_0x5c1974=Math['max'](..._0x4c3337['map'](_0x44923b=>_0x44923b[_0x2f5cb4(0x1aa)]));_0x6d908a['push'](_0x2f5cb4(0x1db));for(const [_0x341541,_0x1f80ec]of Object[_0x2f5cb4(0x1c7)](_0x20972d)){_0x6d908a[_0x2f5cb4(0x1b6)](_0x2f5cb4(0x1be)+CLI_BIN_NAME+_0x2f5cb4(0x1ca)+_0x341541[_0x2f5cb4(0x1d6)](_0x5c1974+0x2)+'#\x20'+_0x1f80ec);}}else _0x6d908a[_0x2f5cb4(0x1b6)](_0x2f5cb4(0x1d5)),_0x6d908a[_0x2f5cb4(0x1b6)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2f5cb4(0x1d9)),_0x6d908a[_0x2f5cb4(0x1b6)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x6d908a[_0x2f5cb4(0x1b6)](_0x2f5cb4(0x1be)+CLI_BIN_NAME+_0x2f5cb4(0x1a9)),_0x6d908a[_0x2f5cb4(0x1b6)](_0x2f5cb4(0x1be)+CLI_BIN_NAME+_0x2f5cb4(0x1bf));return _0x6d908a[_0x2f5cb4(0x1ba)]('\x0a');},async 'execute'(_0x955ea0){const _0x52964f=a111_0x10f5d0,_0x20b1ed=process[_0x52964f(0x1bc)](),_0xf3ae7f=_0x955ea0['args'][0x0],_0x1891bd=_0x955ea0[_0x52964f(0x1cc)][_0x52964f(0x1ac)](0x1),_0x2d0b14=readPackageScripts(_0x20b1ed);if(!_0x2d0b14)throw CliErrors[_0x52964f(0x1c1)](_0x52964f(0x1cb));if(!_0xf3ae7f){const _0xe4ffca=Object[_0x52964f(0x1cf)](_0x2d0b14);if(_0xe4ffca[_0x52964f(0x1aa)]===0x0)console[_0x52964f(0x1e3)](_0x52964f(0x1b0));else{console['log'](_0x52964f(0x1c2));const _0x302abe=Math['max'](..._0xe4ffca[_0x52964f(0x1c5)](_0x24aba6=>_0x24aba6[_0x52964f(0x1aa)]));for(const [_0x58b02a,_0x297f93]of Object[_0x52964f(0x1c7)](_0x2d0b14)){console[_0x52964f(0x1e3)](_0x52964f(0x1be)+_0x58b02a['padEnd'](_0x302abe+0x2)+_0x297f93);}console[_0x52964f(0x1e3)](_0x52964f(0x1e0)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x2d0b14[_0xf3ae7f])throw CliErrors[_0x52964f(0x1c1)](_0x52964f(0x1bd)+_0xf3ae7f+_0x52964f(0x1dc),_0x52964f(0x1e6)+(Object[_0x52964f(0x1cf)](_0x2d0b14)['join'](',\x20')||'(none)'));const _0x1d909e=detectPackageManager(_0x20b1ed);VERSION_CHECK_SCRIPTS[_0x52964f(0x1b7)](_0xf3ae7f)&&await versionCheck(_0x20b1ed);if(_0xf3ae7f===_0x52964f(0x1e8)&&_0x955ea0[_0x52964f(0x1c0)](_0x52964f(0x1de)))return await Promise[_0x52964f(0x1e7)]([spawnViteBuildWatch(_0x20b1ed),spawnVitePreview(_0x20b1ed)]),{'ok':!![]};return await spawnScript(_0x1d909e,_0xf3ae7f,_0x1891bd,_0x20b1ed),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a112_0xe02b26=a112_0xd56d;(function(_0x539ab6,_0x22017f){const _0x132b7d=a112_0xd56d,_0x51bf2e=_0x539ab6();while(!![]){try{const _0x44fdcc=parseInt(_0x132b7d(0x84))/0x1*(-parseInt(_0x132b7d(0x8b))/0x2)+parseInt(_0x132b7d(0x86))/0x3*(-parseInt(_0x132b7d(0x91))/0x4)+parseInt(_0x132b7d(0x88))/0x5*(parseInt(_0x132b7d(0x83))/0x6)+-parseInt(_0x132b7d(0x90))/0x7+-parseInt(_0x132b7d(0x8a))/0x8+-parseInt(_0x132b7d(0x8e))/0x9*(-parseInt(_0x132b7d(0x8f))/0xa)+parseInt(_0x132b7d(0x89))/0xb*(parseInt(_0x132b7d(0x8c))/0xc);if(_0x44fdcc===_0x22017f)break;else _0x51bf2e['push'](_0x51bf2e['shift']());}catch(_0x55d134){_0x51bf2e['push'](_0x51bf2e['shift']());}}}(a112_0x21ce,0x51f0b));import{buildSchemaPayload}from'../framework/schema-export.js';function a112_0xd56d(_0x3245f3,_0x3f5196){_0x3245f3=_0x3245f3-0x82;const _0x21ce8d=a112_0x21ce();let _0xd56d71=_0x21ce8d[_0x3245f3];return _0xd56d71;}function a112_0x21ce(){const _0x52eb6b=['2926210uyXSZQ','23260KenaIg','json','6mHlnrb','253457IDnezU','read','36HAmfbv','export','700390FTGgoD','8019mubfZV','2653248KXTTeR','4VefcrL','15864JFlocz','Export\x20machine-readable\x20command\x20schema\x20(JSON)','9phKxqi','5581910aZZhBj'];a112_0x21ce=function(){return _0x52eb6b;};return a112_0x21ce();}async function execute(_0x1bed3a){const _0x1a8d36=await buildSchemaPayload();return{'ok':!![],'data':_0x1a8d36};}export const schemaDefinition={'service':'schema','command':a112_0xe02b26(0x87),'description':a112_0xe02b26(0x8d),'risk':a112_0xe02b26(0x85),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a112_0xe02b26(0x82),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a113_0x42d6f7=a113_0x59ef;(function(_0x1ab268,_0x27a20b){const _0x733e60=a113_0x59ef,_0x40cf5c=_0x1ab268();while(!![]){try{const _0x199340=-parseInt(_0x733e60(0x14e))/0x1+-parseInt(_0x733e60(0x14b))/0x2+-parseInt(_0x733e60(0x158))/0x3*(parseInt(_0x733e60(0x161))/0x4)+parseInt(_0x733e60(0x141))/0x5*(parseInt(_0x733e60(0x152))/0x6)+-parseInt(_0x733e60(0x145))/0x7*(parseInt(_0x733e60(0x157))/0x8)+-parseInt(_0x733e60(0x15c))/0x9*(-parseInt(_0x733e60(0x153))/0xa)+-parseInt(_0x733e60(0x149))/0xb*(-parseInt(_0x733e60(0x147))/0xc);if(_0x199340===_0x27a20b)break;else _0x40cf5c['push'](_0x40cf5c['shift']());}catch(_0x5082c1){_0x40cf5c['push'](_0x40cf5c['shift']());}}}(a113_0x5ce7,0x671d4));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a113_0x42d6f7(0x15b),'command':a113_0x42d6f7(0x142),'description':a113_0x42d6f7(0x144),'risk':a113_0x42d6f7(0x143),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5eed1c){const _0x1aa76d=a113_0x42d6f7;logger[_0x1aa76d(0x159)](process['cwd']()),logger[_0x1aa76d(0x146)](_0x1aa76d(0x14d),_0x1aa76d(0x14c));const {runNpxSkillsAddGlobal:_0x4f8a65}=await import(_0x1aa76d(0x148)),_0x5b24ce=_0x5eed1c[_0x1aa76d(0x154)]?_0x1aa76d(0x14f):_0x1aa76d(0x155);console[_0x1aa76d(0x163)](_0x1aa76d(0x162)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x1aa76d(0x151));const _0x5deb06=_0x4f8a65(process['cwd'](),_0x1aa76d(0x15a),{'stdio':_0x5b24ce});if(_0x5deb06[_0x1aa76d(0x15f)])console[_0x1aa76d(0x163)](_0x1aa76d(0x160));else{if(_0x5deb06['ok'])console[_0x1aa76d(0x163)](CLI_BIN_NAME+_0x1aa76d(0x15e));else throw CliErrors[_0x1aa76d(0x15d)](_0x1aa76d(0x156)+(_0x5deb06[_0x1aa76d(0x150)]||'unknown'),_0x1aa76d(0x14a));}return{'ok':!![]};}}];function a113_0x59ef(_0x1973fe,_0x252259){_0x1973fe=_0x1973fe-0x141;const _0x5ce7c8=a113_0x5ce7();let _0x59ef23=_0x5ce7c8[_0x1973fe];return _0x59ef23;}function a113_0x5ce7(){const _0x39f4b3=['执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','skill-install','417057ZcvhiQ','pipe','error',')...','76698EsVcYG','10bjsmwm','nonInteractive','inherit','npx\x20skills\x20add\x20failed:\x20','8aCEYDc','72087LZBoQa','setLogPath','lovrabet/rabetbase','skill','3350439aElhLv','apiError','\x20skill\x20installed','skipped','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','20mIlaql','Installing\x20official\x20skill\x20via\x20npx\x20(','log','295VinlfC','install','write','Install\x20developer\x20skill\x20package','4272058XsBhxI','info','2208SenmcT','../../skills/npx-skills-add.js','55561iDgPxt','Check\x20network\x20connectivity\x20and\x20try\x20again.','972000uXVvuv'];a113_0x5ce7=function(){return _0x39f4b3;};return a113_0x5ce7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a114_0x3b8044=a114_0x1995;(function(_0x23357a,_0x4e7706){const _0x21bea2=a114_0x1995,_0x524b4a=_0x23357a();while(!![]){try{const _0x4e6df8=parseInt(_0x21bea2(0x1c3))/0x1+-parseInt(_0x21bea2(0x1cc))/0x2*(-parseInt(_0x21bea2(0x1b1))/0x3)+-parseInt(_0x21bea2(0x1c4))/0x4+-parseInt(_0x21bea2(0x1db))/0x5*(-parseInt(_0x21bea2(0x1a0))/0x6)+parseInt(_0x21bea2(0x1ca))/0x7+-parseInt(_0x21bea2(0x1d2))/0x8*(parseInt(_0x21bea2(0x1a4))/0x9)+parseInt(_0x21bea2(0x19d))/0xa*(-parseInt(_0x21bea2(0x1c1))/0xb);if(_0x4e6df8===_0x4e7706)break;else _0x524b4a['push'](_0x524b4a['shift']());}catch(_0x24fe9e){_0x524b4a['push'](_0x524b4a['shift']());}}}(a114_0x54fd,0xf3c7c));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(_0x35884d){const _0x35cf45=a114_0x1995;if(_0x35884d===_0x35cf45(0x1bd))return[_0x35cf45(0x1cd),_0x35cf45(0x19e),_0x35cf45(0x1c0),''][_0x35cf45(0x1cb)]('\x0a');return[_0x35cf45(0x1e2),''][_0x35cf45(0x1cb)]('\x0a');}function a114_0x54fd(){const _0xdae44b=['map','appCode','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','catch','4719657tLakaB','SQL\x20名称不能为空','✎\x20手动输入\x20dbId','str','utf8','isFinite','validation','dbId\x20不能为空','lockFilePath','sqls','nonInteractive','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','mybatisXml','flag','请输入\x20SQL\x20名称:','</select>','24603843IhkMvS','length','1577586qhqfSQ','7405508pLzcjt','lastSync','sql','请选择目标数据库:','stringify','Local\x20SQL\x20file\x20mode','12817140EYxFcn','join','2PvUBNE','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','Target\x20database\x20ID','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','mode','flagMissing','2592080IWtGTx','__manual__','isInteger','/smartapi/custom/saveUserCustomSql','trim','description','sqlRootDir','请输入目标数据库\x20dbId:','<server-generated-sqlCode>','714665GrVFes','number','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','POST','Created\x20SQL\x20query\x20','SELECT\x201\x20AS\x20id;','适合带动态标签的\x20MyBatis\x20XML\x20SQL','10yhvkPU','\x20\x20SELECT\x201\x20AS\x20id','sqlCode','18Yvsujp','Invalid\x20database\x20selection\x20payload:\x20','db-id','dbId\x20必须为正整数','9XPDXGX','File\x20already\x20exists:\x20','dbId','toISOString','sqlName','string','SQL\x20query\x20display\x20name','name','dbName'];a114_0x54fd=function(){return _0xdae44b;};return a114_0x54fd();}function a114_0x1995(_0x379079,_0x47173d){_0x379079=_0x379079-0x19d;const _0x54fd73=a114_0x54fd();let _0x1995dc=_0x54fd73[_0x379079];return _0x1995dc;}export const sqlCreate={'service':a114_0x3b8044(0x1c6),'command':'create','description':a114_0x3b8044(0x1af),'risk':'high-risk-write','flags':[{'name':a114_0x3b8044(0x1ab),'type':a114_0x3b8044(0x1a9),'description':a114_0x3b8044(0x1aa)},{'name':a114_0x3b8044(0x1a2),'type':a114_0x3b8044(0x1dc),'description':a114_0x3b8044(0x1ce)},{'name':'mode','type':'string','enum':[a114_0x3b8044(0x1c6),a114_0x3b8044(0x1bd)],'description':a114_0x3b8044(0x1c9)}],async 'validate'(_0xfb71ca){const _0xb2cd28=a114_0x3b8044;if(!_0xfb71ca[_0xb2cd28(0x1bb)])return;if(!_0xfb71ca[_0xb2cd28(0x1b4)]('name')['trim']())throw CliErrors[_0xb2cd28(0x1d1)](_0xb2cd28(0x1ab),_0xb2cd28(0x1cf));const _0xdf5e16=resolveProvidedDbId(_0xfb71ca);if(typeof _0xdf5e16!=='number'||!Number[_0xb2cd28(0x1b6)](_0xdf5e16)||_0xdf5e16<=0x0)throw CliErrors['flagMissing'](_0xb2cd28(0x1a2),_0xb2cd28(0x1bc));if(!_0xfb71ca['str'](_0xb2cd28(0x1d0))['trim']())throw CliErrors[_0xb2cd28(0x1d1)](_0xb2cd28(0x1d0),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x4f01ad){const _0x7f4ecb=a114_0x3b8044,_0x1cc3bd=loadSqlProjectConfig(_0x4f01ad[_0x7f4ecb(0x1ae)]),{sqlName:_0x3aba9d,dbId:_0x85f661,dbName:_0x4d5e62,mode:_0x326784}=await resolveSqlNewInputs(_0x4f01ad),_0x3d54e2=buildSqlRelativePath(_0x7f4ecb(0x1da),_0x3aba9d,_0x4d5e62,_0x326784,_0x85f661),_0x39ea7b=_0x1cc3bd['sqlRootDir']+'/'+_0x3d54e2;return{'method':_0x7f4ecb(0x1e0),'url':_0x7f4ecb(0x1d5),'body':{'appCode':_0x4f01ad[_0x7f4ecb(0x1ae)],'sqlName':_0x3aba9d,'dbId':_0x85f661,'mode':_0x326784,'localPath':_0x39ea7b},'description':_0x7f4ecb(0x1df)+_0x1cc3bd[_0x7f4ecb(0x1d8)]};},async 'execute'(_0x15421e){const _0x4cc79d=a114_0x3b8044,_0x1c85ea=loadSqlProjectConfig(_0x15421e[_0x4cc79d(0x1ae)]),{sqlName:_0x248505,dbId:_0x584818,dbName:_0x4ba8e3,mode:_0x2733ba}=await resolveSqlNewInputs(_0x15421e),_0x518d9e=generateSqlTemplate(_0x2733ba),_0xfbe662=await createSqlQuery({'appCode':_0x15421e[_0x4cc79d(0x1ae)],'sqlName':_0x248505,'dbId':_0x584818,'sqlContent':_0x518d9e}),_0x1dea84=ensureRemoteSqlContent(_0xfbe662),_0x3f7472=_0x4ba8e3||await getDbName(_0x15421e['appCode'],_0x584818)[_0x4cc79d(0x1b0)](()=>undefined),_0x2395cf=buildSqlRelativePath(_0xfbe662[_0x4cc79d(0x19f)],_0xfbe662[_0x4cc79d(0x1a8)],_0x3f7472,_0x2733ba,_0x584818),_0x105582=_0x1c85ea[_0x4cc79d(0x1d8)]+'/'+_0x2395cf,_0x59e0a3=buildLocalSqlFileContent({'sqlCode':_0xfbe662[_0x4cc79d(0x19f)],'sqlName':_0xfbe662[_0x4cc79d(0x1a8)],'dbId':_0xfbe662[_0x4cc79d(0x1a6)]},_0x1dea84,{'dbName':_0x3f7472,'mode':_0x2733ba,'syncedAt':new Date()[_0x4cc79d(0x1a7)](),'description':_0xfbe662[_0x4cc79d(0x1d7)]});if(await fileExists(_0x105582))throw CliErrors[_0x4cc79d(0x1b7)](_0x4cc79d(0x1a5)+_0x105582);await ensureParentDirectory(_0x105582),await writeFile(_0x105582,_0x59e0a3,_0x4cc79d(0x1b5));const _0x8e9dd0=await readSqlLockFile(_0x1c85ea[_0x4cc79d(0x1b9)]),{lockData:_0x5b5436,appLock:_0x30e3aa}=ensureSqlLockScope(_0x8e9dd0??createEmptySqlLock(),_0x1c85ea[_0x4cc79d(0x1ae)],_0x1c85ea['sqlRoot'],'new');return _0x30e3aa[_0x4cc79d(0x1ba)][_0xfbe662[_0x4cc79d(0x19f)]]={...buildSqlLockEntry(_0xfbe662,_0x1dea84,computeSqlContentHash(_0x59e0a3),{'dbName':_0x3f7472}),'path':_0x2395cf,'mode':_0x2733ba},_0x30e3aa[_0x4cc79d(0x1c5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x1c85ea['lockFilePath'],_0x5b5436),{'ok':!![],'data':{'id':_0xfbe662['id'],'sqlCode':_0xfbe662['sqlCode'],'sqlName':_0xfbe662[_0x4cc79d(0x1a8)],'dbId':_0xfbe662['dbId'],'path':_0x105582,'mode':_0x2733ba},'message':_0x4cc79d(0x1e1)+_0xfbe662['sqlCode']};}};async function resolveSqlNewInputs(_0x51f7e1){const _0x38e635=await resolveSqlNameInput(_0x51f7e1),{dbId:_0x3c639a,dbName:_0x16c518}=await resolveDbSelection(_0x51f7e1),_0x589059=await resolveSqlModeInput(_0x51f7e1);return{'sqlName':_0x38e635,'dbId':_0x3c639a,'dbName':_0x16c518,'mode':_0x589059};}async function resolveSqlNameInput(_0x461769){const _0x32043d=a114_0x3b8044,_0x5aa4a5=_0x461769[_0x32043d(0x1b4)](_0x32043d(0x1ab))[_0x32043d(0x1d6)]();if(_0x5aa4a5)return _0x5aa4a5;if(_0x461769['nonInteractive'])throw CliErrors[_0x32043d(0x1d1)](_0x32043d(0x1ab),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x32043d(0x1bf),'validate':_0x408166=>_0x408166[_0x32043d(0x1d6)]()?!![]:_0x32043d(0x1b2)}))['trim']();}async function resolveDbSelection(_0xdfe4d4){const _0x5e70a9=a114_0x3b8044,_0x28567d=resolveProvidedDbId(_0xdfe4d4);if(typeof _0x28567d===_0x5e70a9(0x1dc)&&Number[_0x5e70a9(0x1b6)](_0x28567d)&&_0x28567d>0x0)return{'dbId':_0x28567d,'dbName':await getDbName(_0xdfe4d4[_0x5e70a9(0x1ae)],_0x28567d)[_0x5e70a9(0x1b0)](()=>undefined)};if(_0xdfe4d4[_0x5e70a9(0x1bb)])throw CliErrors[_0x5e70a9(0x1d1)](_0x5e70a9(0x1a2),_0x5e70a9(0x1bc));const _0x513702=await listDatabases(_0xdfe4d4['appCode'])[_0x5e70a9(0x1b0)](()=>[]);if(_0x513702['length']===0x1)return{'dbId':_0x513702[0x0]['dbId'],'dbName':_0x513702[0x0][_0x5e70a9(0x1ac)]};if(_0x513702[_0x5e70a9(0x1c2)]>0x1){const _0x354753=await select({'message':_0x5e70a9(0x1c7),'choices':[..._0x513702[_0x5e70a9(0x1ad)](_0x1b754b=>({'name':_0x1b754b[_0x5e70a9(0x1ac)]+'\x20('+_0x1b754b[_0x5e70a9(0x1a6)]+')','value':serializeDbSelection(_0x1b754b)})),{'name':_0x5e70a9(0x1b3),'value':_0x5e70a9(0x1d3)}]});if(_0x354753!=='__manual__')return deserializeDbSelection(_0x354753);}const _0x5613b8=await input({'message':_0x5e70a9(0x1d9),'validate':_0x38c392=>{const _0x3a259e=_0x5e70a9,_0x52ceb9=_0x38c392[_0x3a259e(0x1d6)]();if(!_0x52ceb9)return _0x3a259e(0x1b8);const _0x49ff85=Number(_0x52ceb9);if(!Number[_0x3a259e(0x1d4)](_0x49ff85)||_0x49ff85<=0x0)return _0x3a259e(0x1a3);return!![];}});return{'dbId':Number(_0x5613b8[_0x5e70a9(0x1d6)]())};}async function resolveSqlModeInput(_0x352af5){const _0x38b817=a114_0x3b8044,_0x2e99a5=_0x352af5['str']('mode')[_0x38b817(0x1d6)]();if(_0x2e99a5===_0x38b817(0x1c6)||_0x2e99a5===_0x38b817(0x1bd))return _0x2e99a5;if(_0x352af5[_0x38b817(0x1bb)])throw CliErrors['flagMissing']('mode',_0x38b817(0x1de));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':'普通\x20SQL(sql)','value':_0x38b817(0x1c6),'description':_0x38b817(0x1dd)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x38b817(0x1bd),'description':_0x38b817(0x1e3)}]});}function serializeDbSelection(_0x5814b0){const _0x4e7bdf=a114_0x3b8044;return JSON[_0x4e7bdf(0x1c8)]({'dbId':_0x5814b0[_0x4e7bdf(0x1a6)],'dbName':_0x5814b0['dbName']});}function deserializeDbSelection(_0x6cf019){const _0x280940=a114_0x3b8044;try{const _0x3f2b14=JSON['parse'](_0x6cf019);if(typeof _0x3f2b14[_0x280940(0x1a6)]===_0x280940(0x1dc)&&Number[_0x280940(0x1b6)](_0x3f2b14[_0x280940(0x1a6)]))return{'dbId':_0x3f2b14[_0x280940(0x1a6)],'dbName':_0x3f2b14[_0x280940(0x1ac)]};}catch{}throw CliErrors[_0x280940(0x1b7)](_0x280940(0x1a1)+_0x6cf019);}function resolveProvidedDbId(_0x73a518){const _0x5d4751=a114_0x3b8044,_0x200e04=_0x73a518[_0x5d4751(0x1be)](_0x5d4751(0x1a2));if(typeof _0x200e04==='number'&&Number['isFinite'](_0x200e04))return _0x200e04;return undefined;}
|
|
1
|
+
const a114_0x351fea=a114_0x324d;(function(_0x4fd52a,_0xb36c25){const _0x481a06=a114_0x324d,_0x1da18b=_0x4fd52a();while(!![]){try{const _0xf0e745=parseInt(_0x481a06(0x20c))/0x1*(parseInt(_0x481a06(0x1e4))/0x2)+-parseInt(_0x481a06(0x223))/0x3+parseInt(_0x481a06(0x1fd))/0x4*(parseInt(_0x481a06(0x206))/0x5)+parseInt(_0x481a06(0x1e2))/0x6+parseInt(_0x481a06(0x1ff))/0x7*(-parseInt(_0x481a06(0x217))/0x8)+parseInt(_0x481a06(0x227))/0x9+-parseInt(_0x481a06(0x1f9))/0xa;if(_0xf0e745===_0xb36c25)break;else _0x1da18b['push'](_0x1da18b['shift']());}catch(_0x141fb1){_0x1da18b['push'](_0x1da18b['shift']());}}}(a114_0x368c,0x979ae));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';function a114_0x324d(_0x51070c,_0x384103){_0x51070c=_0x51070c-0x1e1;const _0x368c44=a114_0x368c();let _0x324d4d=_0x368c44[_0x51070c];return _0x324d4d;}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x1a9f7f){const _0x46f5e7=a114_0x324d;if(_0x1a9f7f==='mybatisXml')return[_0x46f5e7(0x1fa),_0x46f5e7(0x224),'</select>',''][_0x46f5e7(0x1e3)]('\x0a');return[_0x46f5e7(0x1ea),''][_0x46f5e7(0x1e3)]('\x0a');}export const sqlCreate={'service':a114_0x351fea(0x1fc),'command':a114_0x351fea(0x201),'description':a114_0x351fea(0x213),'risk':a114_0x351fea(0x20e),'flags':[{'name':a114_0x351fea(0x214),'type':a114_0x351fea(0x205),'description':a114_0x351fea(0x222)},{'name':a114_0x351fea(0x21a),'type':a114_0x351fea(0x204),'description':a114_0x351fea(0x1f5)},{'name':a114_0x351fea(0x1f2),'type':'string','enum':[a114_0x351fea(0x1fc),a114_0x351fea(0x221)],'description':a114_0x351fea(0x207)}],async 'validate'(_0xff305a){const _0x28068b=a114_0x351fea;if(!_0xff305a[_0x28068b(0x20d)])return;if(!_0xff305a[_0x28068b(0x20b)]('name')['trim']())throw CliErrors[_0x28068b(0x1ed)](_0x28068b(0x214),_0x28068b(0x219));const _0x461b5e=resolveProvidedDbId(_0xff305a);if(typeof _0x461b5e!==_0x28068b(0x204)||!Number[_0x28068b(0x215)](_0x461b5e)||_0x461b5e<=0x0)throw CliErrors[_0x28068b(0x1ed)](_0x28068b(0x21a),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0xff305a['str'](_0x28068b(0x1f2))[_0x28068b(0x218)]())throw CliErrors[_0x28068b(0x1ed)](_0x28068b(0x1f2),_0x28068b(0x203));},async 'dryRun'(_0x3ca5bd){const _0xae0f31=a114_0x351fea,_0xff7909=loadSqlProjectConfig(_0x3ca5bd[_0xae0f31(0x209)]),{sqlName:_0x2fcf22,dbId:_0x452310,dbName:_0x239175,mode:_0x2ce581}=await resolveSqlNewInputs(_0x3ca5bd),_0x36d01e=buildSqlRelativePath(_0xae0f31(0x212),_0x2fcf22,_0x239175,_0x2ce581,_0x452310),_0xa34bd2=_0xff7909[_0xae0f31(0x1e7)]+'/'+_0x36d01e;return{'method':_0xae0f31(0x225),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x3ca5bd['appCode'],'sqlName':_0x2fcf22,'dbId':_0x452310,'mode':_0x2ce581,'localPath':_0xa34bd2},'description':_0xae0f31(0x1f8)+_0xff7909[_0xae0f31(0x1e7)]};},async 'execute'(_0x41c45f){const _0x49b640=a114_0x351fea,_0x51267f=loadSqlProjectConfig(_0x41c45f['appCode']),{sqlName:_0x3f9ced,dbId:_0x598461,dbName:_0x3f1a00,mode:_0x6f1311}=await resolveSqlNewInputs(_0x41c45f),_0x543409=generateSqlTemplate(_0x6f1311),_0x31ed49=await createSqlQuery({'appCode':_0x41c45f[_0x49b640(0x209)],'sqlName':_0x3f9ced,'dbId':_0x598461,'sqlContent':_0x543409}),_0x277cdc=ensureRemoteSqlContent(_0x31ed49),_0xe04b79=_0x3f1a00||await getDbName(_0x41c45f[_0x49b640(0x209)],_0x598461)['catch'](()=>undefined),_0x32402c=buildSqlRelativePath(_0x31ed49[_0x49b640(0x1f6)],_0x31ed49[_0x49b640(0x1fe)],_0xe04b79,_0x6f1311,_0x598461),_0x4387a2=_0x51267f[_0x49b640(0x1e7)]+'/'+_0x32402c,_0x37ce4d=buildLocalSqlFileContent({'sqlCode':_0x31ed49[_0x49b640(0x1f6)],'sqlName':_0x31ed49[_0x49b640(0x1fe)],'dbId':_0x31ed49[_0x49b640(0x1eb)]},_0x277cdc,{'dbName':_0xe04b79,'mode':_0x6f1311,'syncedAt':new Date()[_0x49b640(0x20f)](),'description':_0x31ed49[_0x49b640(0x21f)]});if(await fileExists(_0x4387a2))throw CliErrors['validation'](_0x49b640(0x216)+_0x4387a2);await ensureParentDirectory(_0x4387a2),await writeFile(_0x4387a2,_0x37ce4d,_0x49b640(0x21e));const _0x47d2e6=await readSqlLockFile(_0x51267f['lockFilePath']),{lockData:_0x2b8cdc,appLock:_0x1bdbdc}=ensureSqlLockScope(_0x47d2e6??createEmptySqlLock(),_0x51267f[_0x49b640(0x209)],_0x51267f[_0x49b640(0x20a)],_0x49b640(0x200));return _0x1bdbdc[_0x49b640(0x1fb)][_0x31ed49['sqlCode']]={...buildSqlLockEntry(_0x31ed49,_0x277cdc,computeSqlContentHash(_0x37ce4d),{'dbName':_0xe04b79}),'path':_0x32402c,'mode':_0x6f1311},_0x1bdbdc['lastSync']=new Date()[_0x49b640(0x20f)](),await writeSqlLockFile(_0x51267f[_0x49b640(0x1f4)],_0x2b8cdc),{'ok':!![],'data':{'id':_0x31ed49['id'],'sqlCode':_0x31ed49[_0x49b640(0x1f6)],'sqlName':_0x31ed49[_0x49b640(0x1fe)],'dbId':_0x31ed49[_0x49b640(0x1eb)],'path':_0x4387a2,'mode':_0x6f1311},'message':_0x49b640(0x21c)+_0x31ed49[_0x49b640(0x1f6)]};}};async function resolveSqlNewInputs(_0x5a8cb2){const _0x48d1ab=await resolveSqlNameInput(_0x5a8cb2),{dbId:_0x32e927,dbName:_0x1db0ee}=await resolveDbSelection(_0x5a8cb2),_0x2cfb84=await resolveSqlModeInput(_0x5a8cb2);return{'sqlName':_0x48d1ab,'dbId':_0x32e927,'dbName':_0x1db0ee,'mode':_0x2cfb84};}async function resolveSqlNameInput(_0x1f1e4e){const _0x4ef7ef=a114_0x351fea,_0xb64dbf=_0x1f1e4e[_0x4ef7ef(0x20b)](_0x4ef7ef(0x214))[_0x4ef7ef(0x218)]();if(_0xb64dbf)return _0xb64dbf;if(_0x1f1e4e['nonInteractive'])throw CliErrors[_0x4ef7ef(0x1ed)]('name',_0x4ef7ef(0x219));return(await input({'message':_0x4ef7ef(0x21b),'validate':_0x3d9fae=>_0x3d9fae[_0x4ef7ef(0x218)]()?!![]:'SQL\x20名称不能为空'}))[_0x4ef7ef(0x218)]();}async function resolveDbSelection(_0xc5d260){const _0x24c6a3=a114_0x351fea,_0x38d3f5=resolveProvidedDbId(_0xc5d260);if(typeof _0x38d3f5==='number'&&Number[_0x24c6a3(0x215)](_0x38d3f5)&&_0x38d3f5>0x0)return{'dbId':_0x38d3f5,'dbName':await getDbName(_0xc5d260['appCode'],_0x38d3f5)[_0x24c6a3(0x1f7)](()=>undefined)};if(_0xc5d260[_0x24c6a3(0x20d)])throw CliErrors[_0x24c6a3(0x1ed)](_0x24c6a3(0x21a),_0x24c6a3(0x1ef));const _0x3ef17e=await listDatabases(_0xc5d260[_0x24c6a3(0x209)])[_0x24c6a3(0x1f7)](()=>[]);if(_0x3ef17e['length']===0x1)return{'dbId':_0x3ef17e[0x0]['dbId'],'dbName':_0x3ef17e[0x0][_0x24c6a3(0x1e5)]};if(_0x3ef17e['length']>0x1){const _0x1bead8=await select({'message':_0x24c6a3(0x1f0),'choices':[..._0x3ef17e[_0x24c6a3(0x1f1)](_0x13aa4d=>({'name':_0x13aa4d[_0x24c6a3(0x1e5)]+'\x20('+_0x13aa4d[_0x24c6a3(0x1eb)]+')','value':serializeDbSelection(_0x13aa4d)})),{'name':_0x24c6a3(0x1ee),'value':_0x24c6a3(0x202)}]});if(_0x1bead8!==_0x24c6a3(0x202))return deserializeDbSelection(_0x1bead8);}const _0x15c1bc=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x4decbb=>{const _0x225fa3=_0x24c6a3,_0x32d111=_0x4decbb[_0x225fa3(0x218)]();if(!_0x32d111)return _0x225fa3(0x1e1);const _0x2a0634=Number(_0x32d111);if(!Number[_0x225fa3(0x1e8)](_0x2a0634)||_0x2a0634<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x15c1bc[_0x24c6a3(0x218)]())};}async function resolveSqlModeInput(_0x28ef70){const _0x40994a=a114_0x351fea,_0x3da012=_0x28ef70[_0x40994a(0x20b)](_0x40994a(0x1f2))[_0x40994a(0x218)]();if(_0x3da012===_0x40994a(0x1fc)||_0x3da012===_0x40994a(0x221))return _0x3da012;if(_0x28ef70[_0x40994a(0x20d)])throw CliErrors[_0x40994a(0x1ed)](_0x40994a(0x1f2),_0x40994a(0x203));return await select({'message':_0x40994a(0x226),'choices':[{'name':_0x40994a(0x1ec),'value':_0x40994a(0x1fc),'description':_0x40994a(0x1e9)},{'name':_0x40994a(0x208),'value':_0x40994a(0x221),'description':_0x40994a(0x1f3)}]});}function a114_0x368c(){const _0x1902d9=['sqlRootDir','isInteger','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','SELECT\x201\x20AS\x20id;','dbId','普通\x20SQL(sql)','flagMissing','✎\x20手动输入\x20dbId','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','请选择目标数据库:','map','mode','适合带动态标签的\x20MyBatis\x20XML\x20SQL','lockFilePath','Target\x20database\x20ID','sqlCode','catch','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','20188120mYrefv','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','sqls','sql','873124EwvMXw','sqlName','72401NiToPu','new','create','__manual__','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','number','string','25GozUhh','Local\x20SQL\x20file\x20mode','MyBatis\x20XML(mybatisXml)','appCode','sqlRoot','str','2kSNVeT','nonInteractive','high-risk-write','toISOString','Invalid\x20database\x20selection\x20payload:\x20','flag','<server-generated-sqlCode>','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','name','isFinite','File\x20already\x20exists:\x20','224SnTExf','trim','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','请输入\x20SQL\x20名称:','Created\x20SQL\x20query\x20','validation','utf8','description','stringify','mybatisXml','SQL\x20query\x20display\x20name','1062213sEoWyC','\x20\x20SELECT\x201\x20AS\x20id','POST','请选择本地\x20SQL\x20模式:','10293921RGLxcQ','dbId\x20不能为空','2705418JjWvns','join','597384xbzpfb','dbName','parse'];a114_0x368c=function(){return _0x1902d9;};return a114_0x368c();}function serializeDbSelection(_0x43c828){const _0x3c5595=a114_0x351fea;return JSON[_0x3c5595(0x220)]({'dbId':_0x43c828[_0x3c5595(0x1eb)],'dbName':_0x43c828[_0x3c5595(0x1e5)]});}function deserializeDbSelection(_0x1abf46){const _0x3ea199=a114_0x351fea;try{const _0x2617a8=JSON[_0x3ea199(0x1e6)](_0x1abf46);if(typeof _0x2617a8[_0x3ea199(0x1eb)]===_0x3ea199(0x204)&&Number[_0x3ea199(0x215)](_0x2617a8[_0x3ea199(0x1eb)]))return{'dbId':_0x2617a8['dbId'],'dbName':_0x2617a8[_0x3ea199(0x1e5)]};}catch{}throw CliErrors[_0x3ea199(0x21d)](_0x3ea199(0x210)+_0x1abf46);}function resolveProvidedDbId(_0x19225c){const _0x4d490e=a114_0x351fea,_0x5b8fd8=_0x19225c[_0x4d490e(0x211)](_0x4d490e(0x21a));if(typeof _0x5b8fd8===_0x4d490e(0x204)&&Number[_0x4d490e(0x215)](_0x5b8fd8))return _0x5b8fd8;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0x4a887c=a115_0x38dd;(function(_0x2cce0e,_0x57df20){const _0x5afd7d=a115_0x38dd,_0x8713db=_0x2cce0e();while(!![]){try{const _0x1c7e61=-parseInt(_0x5afd7d(0xd5))/0x1*(-parseInt(_0x5afd7d(0xdd))/0x2)+-parseInt(_0x5afd7d(0xe2))/0x3+-parseInt(_0x5afd7d(0xd6))/0x4*(-parseInt(_0x5afd7d(0xd7))/0x5)+-parseInt(_0x5afd7d(0xc3))/0x6+-parseInt(_0x5afd7d(0xc8))/0x7+parseInt(_0x5afd7d(0xe4))/0x8*(-parseInt(_0x5afd7d(0xce))/0x9)+-parseInt(_0x5afd7d(0xdf))/0xa*(-parseInt(_0x5afd7d(0xd3))/0xb);if(_0x1c7e61===_0x57df20)break;else _0x8713db['push'](_0x8713db['shift']());}catch(_0x3d92db){_0x8713db['push'](_0x8713db['shift']());}}}(a115_0x4f0d,0x86b50));function a115_0x4f0d(){const _0x2b25b9=['\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','2aGPZvk','1744WmaJLr','2735tiWKyh','appCode','Would\x20delete\x20SQL\x20','remoteId','toISOString','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','474702lsVJNI','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','3884590eUOMUZ','validation','trashedTo','3232047ERftwN','sqls','128184rwFCze','delete','projectRoot','high-risk-write','length','POST','SQL\x20lock\x20file\x20not\x20found.','3877104wAXAfq','lastSync','sqlRootDir','lockFilePath','replace','1903594KHSyzq','startsWith','\x20(local\x20file\x20moved\x20to\x20trash)','fromEntries','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','filter','279UAFUtA','trashDir','str','sqlcode','sqlRoot','66zHkjrQ'];a115_0x4f0d=function(){return _0x2b25b9;};return a115_0x4f0d();}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';function a115_0x38dd(_0x48cdc2,_0x4bebb2){_0x48cdc2=_0x48cdc2-0xbf;const _0x4f0d04=a115_0x4f0d();let _0x38dd8c=_0x4f0d04[_0x48cdc2];return _0x38dd8c;}export const sqlDelete={'service':'sql','command':a115_0x4a887c(0xe5),'description':a115_0x4a887c(0xcc),'risk':a115_0x4a887c(0xbf),'flags':[SQLCODE_FLAG],async 'validate'(_0x342861){const _0x3f29fa=a115_0x4a887c,_0x1af9be=loadSqlProjectConfig(_0x342861[_0x3f29fa(0xd8)]),_0x3936ec=await readSqlLockFile(_0x1af9be[_0x3f29fa(0xc6)]);if(!_0x3936ec)throw CliErrors[_0x3f29fa(0xe0)](_0x3f29fa(0xde));},async 'dryRun'(_0x3f138e){const _0x4df904=a115_0x4a887c,_0x588db7=loadSqlProjectConfig(_0x3f138e[_0x4df904(0xd8)]),_0x3f3746=await readSqlLockFile(_0x588db7[_0x4df904(0xc6)]);if(!_0x3f3746)throw CliErrors[_0x4df904(0xe0)](_0x4df904(0xde));const {appLock:_0x518ee3}=ensureSqlLockScope(_0x3f3746,_0x3f138e['appCode'],_0x588db7[_0x4df904(0xd2)],_0x4df904(0xe5)),_0x550b31=_0x3f138e[_0x4df904(0xd0)](_0x4df904(0xd1)),_0x25a93d=_0x518ee3['sqls'][_0x550b31];if(!_0x25a93d)throw CliErrors[_0x4df904(0xe0)](_0x4df904(0xdc)+_0x550b31+'\x22.');return{'method':_0x4df904(0xc1),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x550b31,'id':_0x25a93d[_0x4df904(0xda)],'localPath':resolveLocalSqlFilePath(_0x588db7,_0x550b31,_0x25a93d)},'description':_0x4df904(0xd9)+_0x550b31+_0x4df904(0xd4)+_0x588db7[_0x4df904(0xcf)]};},async 'execute'(_0x286c07){const _0x157e2f=a115_0x4a887c,_0x235e2c=loadSqlProjectConfig(_0x286c07['appCode']),_0x5a67f4=await readSqlLockFile(_0x235e2c[_0x157e2f(0xc6)]);if(!_0x5a67f4)throw CliErrors[_0x157e2f(0xe0)](_0x157e2f(0xc2));const {lockData:_0x477c22,appLock:_0x6e5951}=ensureSqlLockScope(_0x5a67f4,_0x286c07[_0x157e2f(0xd8)],_0x235e2c[_0x157e2f(0xd2)],_0x157e2f(0xe5)),_0x20a468=_0x286c07[_0x157e2f(0xd0)]('sqlcode'),_0x47615c=_0x6e5951[_0x157e2f(0xe3)][_0x20a468];if(!_0x47615c)throw CliErrors[_0x157e2f(0xe0)](_0x157e2f(0xdc)+_0x20a468+'\x22.');await deleteSqlQuery({'id':_0x47615c['remoteId'],'sqlCode':_0x20a468}),_0x6e5951[_0x157e2f(0xe3)]=Object[_0x157e2f(0xcb)](Object['entries'](_0x6e5951[_0x157e2f(0xe3)])[_0x157e2f(0xcd)](([_0x402713])=>_0x402713!==_0x20a468)),_0x6e5951[_0x157e2f(0xc4)]=new Date()[_0x157e2f(0xdb)](),await writeSqlLockFile(_0x235e2c[_0x157e2f(0xc6)],_0x477c22);const _0x20a5fc=resolveLocalSqlFilePath(_0x235e2c,_0x20a468,_0x47615c);let _0x21f6b3;await fileExists(_0x20a5fc)&&(_0x21f6b3=await moveToTrash(_0x235e2c[_0x157e2f(0xe6)],_0x235e2c['trashDir'],_0x20a5fc),await cleanupEmptyDirectories(dirname(_0x20a5fc),_0x235e2c[_0x157e2f(0xc5)]));const _0x405381={'deleted':_0x20a468,'remoteId':_0x47615c[_0x157e2f(0xda)]};if(_0x21f6b3)_0x405381[_0x157e2f(0xe1)]=_0x21f6b3;return{'ok':!![],'data':_0x405381,'message':'Deleted\x20'+_0x20a468+(_0x21f6b3?_0x157e2f(0xca):'')};}};async function moveToTrash(_0x299d86,_0x8203f3,_0x2d5f01){const _0x38ed88=a115_0x4a887c,_0x4d4b2e=new Date()['toISOString']()[_0x38ed88(0xc7)](/[:.]/g,'-'),_0x51fc96=relative(_0x299d86,_0x2d5f01),_0x1c9416=join(_0x8203f3,_0x4d4b2e,_0x51fc96);return await mkdir(dirname(_0x1c9416),{'recursive':!![]}),await rename(_0x2d5f01,_0x1c9416),_0x1c9416;}async function cleanupEmptyDirectories(_0x205640,_0x98881b){const _0x1edba3=a115_0x4a887c;let _0x50dec0=resolve(_0x205640);const _0x346b28=resolve(_0x98881b);while(_0x50dec0[_0x1edba3(0xc9)](''+_0x346b28+sep)||_0x50dec0===_0x346b28){if(_0x50dec0===_0x346b28)return;try{const _0x11becb=await readdir(_0x50dec0);if(_0x11becb[_0x1edba3(0xc0)]>0x0)return;await rmdir(_0x50dec0);}catch{return;}_0x50dec0=dirname(_0x50dec0);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a116_0x37f2f8=a116_0x1d99;(function(_0xb3c574,_0x1d9bbc){const _0x6ad3f4=a116_0x1d99,_0x109d59=_0xb3c574();while(!![]){try{const _0x5119e5=parseInt(_0x6ad3f4(0x1ef))/0x1*(parseInt(_0x6ad3f4(0x1f1))/0x2)+parseInt(_0x6ad3f4(0x1dc))/0x3*(-parseInt(_0x6ad3f4(0x1de))/0x4)+parseInt(_0x6ad3f4(0x1dd))/0x5+-parseInt(_0x6ad3f4(0x1df))/0x6+parseInt(_0x6ad3f4(0x1ed))/0x7*(-parseInt(_0x6ad3f4(0x1e7))/0x8)+-parseInt(_0x6ad3f4(0x1ee))/0x9+parseInt(_0x6ad3f4(0x1e3))/0xa;if(_0x5119e5===_0x1d9bbc)break;else _0x109d59['push'](_0x109d59['shift']());}catch(_0x561f84){_0x109d59['push'](_0x109d59['shift']());}}}(a116_0xbfcd,0x71b46));import{getSqlQueryInfo}from'../../core/api-client.js';function a116_0x1d99(_0x3842d4,_0x40e521){_0x3842d4=_0x3842d4-0x1db;const _0xbfcd69=a116_0xbfcd();let _0x1d992c=_0xbfcd69[_0x3842d4];return _0x1d992c;}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a116_0x37f2f8(0x1e6),'command':'detail','description':a116_0x37f2f8(0x1e5),'risk':a116_0x37f2f8(0x1e0),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a116_0x37f2f8(0x1e8),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x55de9b){const _0x3c5c35=a116_0x37f2f8,_0xe69529=await getSqlQueryInfo(_0x55de9b[_0x3c5c35(0x1db)],_0x55de9b[_0x3c5c35(0x1e4)]('sqlcode')),_0x48b411=_0x55de9b[_0x3c5c35(0x1e2)](_0x3c5c35(0x1eb));if(_0x48b411)return{'ok':!![],'data':_0xe69529};const _0xbf7c6a=_0xe69529['dbId']?await getDbName(_0x55de9b[_0x3c5c35(0x1db)],_0xe69529[_0x3c5c35(0x1ec)]):undefined;return{'ok':!![],'data':{'sqlCode':_0xe69529[_0x3c5c35(0x1e1)],'sqlName':_0xe69529[_0x3c5c35(0x1e9)],'db':_0xbf7c6a?_0xbf7c6a+'\x20('+_0xe69529['dbId']+')':_0xe69529['dbId']??'','description':_0xe69529[_0x3c5c35(0x1ea)]??'','sqlContent':_0xe69529[_0x3c5c35(0x1f0)]??''}};}};function a116_0xbfcd(){const _0x1bb8cb=['18PMyvhi','appCode','219GoXHog','2922410zZOAkY','33204svZqEp','2397108DDoGEK','read','sqlCode','bool','17243840FEPIiX','str','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','sql','107944LSdsTv','boolean','sqlName','description','verbose','dbId','469BKeqrV','2855601WoyOLQ','42631ZtNgrQ','sqlContent'];a116_0xbfcd=function(){return _0x1bb8cb;};return a116_0xbfcd();}
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a117_0x38ec(_0x49e6c9,_0x4a27f7){_0x49e6c9=_0x49e6c9-0x73;const _0x27f2d9=a117_0x27f2();let _0x38ecbb=_0x27f2d9[_0x49e6c9];return _0x38ecbb;}function a117_0x27f2(){const _0x27dbcb=['sqlcode','11729776knHsmD','81411EPwniC','now','5204710RqMfpa','string','params','read','971169nFwNJA','Returned\x20','exec','5uYuNaO','4774052zkbRFM','28kAqKSg','SQL\x20execution\x20failed','str','sql','30988989tQjeGB','execSuccess','10KRvafB','appCode','1051962QtMswV','length','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execResult','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'];a117_0x27f2=function(){return _0x27dbcb;};return a117_0x27f2();}const a117_0x32754e=a117_0x38ec;(function(_0x7bf2bc,_0x2ba34b){const _0x43bd43=a117_0x38ec,_0x21d1d7=_0x7bf2bc();while(!![]){try{const _0x5b4b68=-parseInt(_0x43bd43(0x86))/0x1+-parseInt(_0x43bd43(0x8b))/0x2*(-parseInt(_0x43bd43(0x80))/0x3)+parseInt(_0x43bd43(0x8a))/0x4*(-parseInt(_0x43bd43(0x89))/0x5)+-parseInt(_0x43bd43(0x79))/0x6+parseInt(_0x43bd43(0x82))/0x7+-parseInt(_0x43bd43(0x7f))/0x8+parseInt(_0x43bd43(0x75))/0x9*(parseInt(_0x43bd43(0x77))/0xa);if(_0x5b4b68===_0x2ba34b)break;else _0x21d1d7['push'](_0x21d1d7['shift']());}catch(_0x1651b8){_0x21d1d7['push'](_0x21d1d7['shift']());}}}(a117_0x27f2,0xb9a76));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a117_0x32754e(0x74),'command':a117_0x32754e(0x88),'description':a117_0x32754e(0x7b),'risk':a117_0x32754e(0x85),'flags':[SQLCODE_FLAG,{'name':a117_0x32754e(0x84),'type':a117_0x32754e(0x83),'description':a117_0x32754e(0x7d)}],async 'execute'(_0x2c3e42){const _0x5a5e81=a117_0x32754e,_0x58db28=parseJsonParams(_0x2c3e42['str'](_0x5a5e81(0x84))),_0x307df8=Date[_0x5a5e81(0x81)](),_0x583bdb=await executeSql(_0x2c3e42[_0x5a5e81(0x78)],_0x2c3e42[_0x5a5e81(0x73)](_0x5a5e81(0x7e)),_0x58db28),_0x46ee7f=Date['now']()-_0x307df8,_0x2915b3=_0x583bdb?.[_0x5a5e81(0x7c)]??_0x583bdb,_0x24d12b=_0x583bdb?.[_0x5a5e81(0x76)]??!![];if(!_0x24d12b)return{'ok':![],'data':{'error':_0x583bdb?.['execError']||_0x5a5e81(0x8c),'elapsed':_0x46ee7f},'message':'SQL\x20execution\x20failed'};const _0x1dfa25=Array['isArray'](_0x2915b3)?_0x2915b3:[];return{'ok':!![],'data':{'rows':_0x1dfa25,'rowCount':_0x1dfa25[_0x5a5e81(0x7a)],'elapsed':_0x46ee7f},'message':_0x5a5e81(0x87)+_0x1dfa25['length']+'\x20row(s)\x20in\x20'+_0x46ee7f+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ae483,_0x53d7ac){const _0x1e29ab=a118_0x2469,_0x17b965=_0x1ae483();while(!![]){try{const _0x1987be=-parseInt(_0x1e29ab(0x180))/0x1+-parseInt(_0x1e29ab(0x184))/0x2*(parseInt(_0x1e29ab(0x189))/0x3)+-parseInt(_0x1e29ab(0x182))/0x4*(-parseInt(_0x1e29ab(0x188))/0x5)+-parseInt(_0x1e29ab(0x181))/0x6+parseInt(_0x1e29ab(0x186))/0x7+parseInt(_0x1e29ab(0x187))/0x8*(parseInt(_0x1e29ab(0x17f))/0x9)+parseInt(_0x1e29ab(0x185))/0xa*(parseInt(_0x1e29ab(0x183))/0xb);if(_0x1987be===_0x53d7ac)break;else _0x17b965['push'](_0x17b965['shift']());}catch(_0x2158f5){_0x17b965['push'](_0x17b965['shift']());}}}(a118_0x442a,0x83e6a));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';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];function a118_0x2469(_0x562d31,_0x41ffcd){_0x562d31=_0x562d31-0x17f;const _0x442aa8=a118_0x442a();let _0x2469bf=_0x442aa8[_0x562d31];return _0x2469bf;}function a118_0x442a(){const _0x453f77=['510ndOkEM','1046297PxmIyI','448GhTjEI','5650klPtGH','34467nmSsSx','86328ynKwLT','151101vZHVZY','2203866nTwErN','1680HNuNfM','173646kZDzOh','158YlnACf'];a118_0x442a=function(){return _0x453f77;};return a118_0x442a();}
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a119_0x528f(){const _0x274ec6=['length','No\x20custom\x20SQL\x20queries\x20found.','818580LpLpTE','name','tableData','578055BBpgyt','17162jvVIYh','dbId','page','sqlName','num','sql','9vfZUSh','all','2003030sttWHg','list','Page\x20number','boolean','number','description','pagesize','397304QeEzuC','str','paging','25FbJZdN','490096lhjWsB','appCode','2035754dbFFQn','read','List\x20custom\x20SQL\x20queries','sqlCode','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','verbose','Page\x20size','bool','string'];a119_0x528f=function(){return _0x274ec6;};return a119_0x528f();}const a119_0x522ec7=a119_0x3645;(function(_0x40e99c,_0x5550eb){const _0x9c79fa=a119_0x3645,_0x36543a=_0x40e99c();while(!![]){try{const _0x4867eb=-parseInt(_0x9c79fa(0x1b3))/0x1*(-parseInt(_0x9c79fa(0x1a1))/0x2)+parseInt(_0x9c79fa(0x1a0))/0x3+parseInt(_0x9c79fa(0x190))/0x4+-parseInt(_0x9c79fa(0x1a9))/0x5+-parseInt(_0x9c79fa(0x19d))/0x6+parseInt(_0x9c79fa(0x192))/0x7+parseInt(_0x9c79fa(0x1b0))/0x8*(-parseInt(_0x9c79fa(0x1a7))/0x9);if(_0x4867eb===_0x5550eb)break;else _0x36543a['push'](_0x36543a['shift']());}catch(_0x4c1e94){_0x36543a['push'](_0x36543a['shift']());}}}(a119_0x528f,0x39181));function a119_0x3645(_0x120b5a,_0x48d56f){_0x120b5a=_0x120b5a-0x190;const _0x528fe6=a119_0x528f();let _0x3645ae=_0x528fe6[_0x120b5a];return _0x3645ae;}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_0x522ec7(0x1a6),'command':a119_0x522ec7(0x1aa),'description':a119_0x522ec7(0x194),'risk':a119_0x522ec7(0x193),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a119_0x522ec7(0x19e),'type':a119_0x522ec7(0x19a),'description':'Filter\x20by\x20SQL\x20name'},{'name':a119_0x522ec7(0x1a3),'type':a119_0x522ec7(0x1ad),'description':a119_0x522ec7(0x1ab),'default':0x1},{'name':a119_0x522ec7(0x1af),'type':a119_0x522ec7(0x1ad),'description':a119_0x522ec7(0x198)},{'name':a119_0x522ec7(0x197),'type':a119_0x522ec7(0x1ac),'description':a119_0x522ec7(0x196)}],async 'execute'(_0x2820c4){const _0x12c695=a119_0x522ec7,_0x3dc09c=await listSqlQueries(_0x2820c4['appCode'],{'sqlCode':_0x2820c4[_0x12c695(0x1b1)]('sqlcode')||undefined,'sqlName':_0x2820c4[_0x12c695(0x1b1)](_0x12c695(0x19e))||undefined,'currentPage':_0x2820c4[_0x12c695(0x1a5)](_0x12c695(0x1a3)),'pageSize':_0x2820c4[_0x12c695(0x1a5)](_0x12c695(0x1af),0x32)}),_0x85cbe=_0x2820c4[_0x12c695(0x199)](_0x12c695(0x197)),_0x1cbd05=_0x3dc09c[_0x12c695(0x19f)]??[],_0x14c296=_0x3dc09c[_0x12c695(0x1b2)]?.['totalCount']??_0x1cbd05[_0x12c695(0x19b)];let _0x320a8b;return _0x85cbe?_0x320a8b=_0x1cbd05:_0x320a8b=await Promise[_0x12c695(0x1a8)](_0x1cbd05['map'](async _0x5e1098=>{const _0x2d9878=_0x12c695;let _0x145fe1;try{_0x145fe1=_0x5e1098[_0x2d9878(0x1a2)]?await getDbName(_0x2820c4[_0x2d9878(0x191)],_0x5e1098[_0x2d9878(0x1a2)]):undefined;}catch{}return{'sqlCode':_0x5e1098[_0x2d9878(0x195)],'sqlName':_0x5e1098[_0x2d9878(0x1a4)],'description':_0x5e1098[_0x2d9878(0x1ae)]??'','db':_0x145fe1?_0x145fe1+'\x20('+_0x5e1098['dbId']+')':_0x5e1098[_0x2d9878(0x1a2)]??''};})),{'ok':!![],'data':_0x320a8b,'message':_0x1cbd05[_0x12c695(0x19b)]===0x0?_0x12c695(0x19c):'Found\x20'+_0x1cbd05[_0x12c695(0x19b)]+'\x20SQL\x20queries\x20(total:\x20'+_0x14c296+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a120_0x35c6d6=a120_0x1940;(function(_0x5eaa10,_0x57dfea){const _0x23eac1=a120_0x1940,_0x3629d7=_0x5eaa10();while(!![]){try{const _0x17e947=-parseInt(_0x23eac1(0x1cb))/0x1*(-parseInt(_0x23eac1(0x1b8))/0x2)+-parseInt(_0x23eac1(0x1d3))/0x3*(parseInt(_0x23eac1(0x1ab))/0x4)+-parseInt(_0x23eac1(0x1b2))/0x5*(parseInt(_0x23eac1(0x1b3))/0x6)+-parseInt(_0x23eac1(0x1bb))/0x7*(-parseInt(_0x23eac1(0x1d1))/0x8)+parseInt(_0x23eac1(0x1b6))/0x9*(parseInt(_0x23eac1(0x1c5))/0xa)+parseInt(_0x23eac1(0x1d4))/0xb+-parseInt(_0x23eac1(0x1de))/0xc*(-parseInt(_0x23eac1(0x1d5))/0xd);if(_0x17e947===_0x57dfea)break;else _0x3629d7['push'](_0x3629d7['shift']());}catch(_0x18b9bb){_0x3629d7['push'](_0x3629d7['shift']());}}}(a120_0x5e29,0x83ff1));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_0x5e29(){const _0x42382f=['path','\x20SQL\x20file(s)\x20into\x20','replace','POST','12mTDDji','name','boolean','force','length','Force\x20pull\x20cancelled.','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','catch','dbId','88372caRGWY','No\x20remote\x20SQL\x20queries\x20matched.','pull','push','toISOString','appCode','description','205fXGZQE','122154XDkrGK','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','conflict','18EnSIQJ','string','724hySrwW','sqlContent','sqlcode','60396icusQv','split','sql','str','write','sqlName','mybatisXml','\x20failed','test','bool','3235580CPvbPG','sqlRootDir','totalCount','sqls','sqlCode','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','554Vvuqni','trimStart','Force\x20overwrite\x20local\x20unsynced\x20changes','filter','lockFilePath','unchanged','464lLENyx','utf8','72oJyTrC','4802050rAEgBQ','1572610UmyNvW','message','lastSync','sqlRoot','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)'];a120_0x5e29=function(){return _0x42382f;};return a120_0x5e29();}import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a120_0x1940(_0x507df6,_0x56357b){_0x507df6=_0x507df6-0x1ab;const _0x5e29b1=a120_0x5e29();let _0x194043=_0x5e29b1[_0x507df6];return _0x194043;}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(_0x4c80ac,_0x56c9dc){const _0xf475cd=a120_0x1940,_0x2801b1=[];let _0x1348b7=0x1;while(!![]){const _0x475940=await listSqlQueries(_0x4c80ac,{'currentPage':_0x1348b7,'pageSize':PAGE_SIZE,'sqlCode':_0x56c9dc['sqlCode'],'sqlName':_0x56c9dc['sqlName']}),_0x5caf7d=_0x475940['tableData']??[];_0x2801b1[_0xf475cd(0x1ae)](..._0x5caf7d);if(_0x5caf7d['length']===0x0)break;const _0x262b18=_0x475940['paging']?.[_0xf475cd(0x1c7)];if(_0x262b18!=null?_0x2801b1[_0xf475cd(0x1e2)]>=_0x262b18:_0x5caf7d['length']<PAGE_SIZE)break;_0x1348b7++;}return _0x2801b1;}async function ensureSqlContent(_0x451f8a){const _0x5b5f75=a120_0x1940;if(_0x451f8a[_0x5b5f75(0x1b9)]!=null&&String(_0x451f8a[_0x5b5f75(0x1b9)])[_0x5b5f75(0x1e2)]>0x0)return _0x451f8a;return getSqlQueryDetail(_0x451f8a[_0x5b5f75(0x1c9)]);}export const sqlPull={'service':a120_0x35c6d6(0x1bd),'command':a120_0x35c6d6(0x1ad),'description':a120_0x35c6d6(0x1ca),'risk':a120_0x35c6d6(0x1bf),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a120_0x35c6d6(0x1b7),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a120_0x35c6d6(0x1e1),'type':a120_0x35c6d6(0x1e0),'description':a120_0x35c6d6(0x1cd)}],async 'dryRun'(_0x110400){const _0x35d47f=a120_0x35c6d6,_0x1c34eb=loadSqlProjectConfig(_0x110400[_0x35d47f(0x1b0)]),_0x13be98=await readSqlLockFile(_0x1c34eb[_0x35d47f(0x1cf)]),{appLock:_0x155a80}=ensureSqlLockScope(_0x13be98??createEmptySqlLock(),_0x1c34eb[_0x35d47f(0x1b0)],_0x1c34eb['sqlRoot'],_0x35d47f(0x1ad)),_0x4c4c50=await fetchAllSqlQueries(_0x110400[_0x35d47f(0x1b0)],{'sqlCode':_0x110400[_0x35d47f(0x1be)]('sqlcode')||undefined,'sqlName':_0x110400[_0x35d47f(0x1be)](_0x35d47f(0x1df))||undefined}),_0x4fd01f=[];for(const _0x325be1 of _0x4c4c50){const _0x3086a0=await ensureSqlContent(_0x325be1),_0xc0cc47=ensureRemoteSqlContent(_0x3086a0),_0xe0da03=detectModeFromSql(_0x3086a0),_0x4ba42f=_0x3086a0[_0x35d47f(0x1e6)]?await getDbName(_0x110400[_0x35d47f(0x1b0)],Number(_0x3086a0[_0x35d47f(0x1e6)]))[_0x35d47f(0x1e5)](()=>undefined):undefined,_0xe71fff=buildLocalSqlFileContent({'sqlCode':_0x3086a0['sqlCode'],'sqlName':_0x3086a0[_0x35d47f(0x1c0)],'dbId':_0x3086a0['dbId']},_0xc0cc47,{'dbName':_0x4ba42f,'mode':_0xe0da03,'syncedAt':new Date()[_0x35d47f(0x1af)](),'description':_0x3086a0[_0x35d47f(0x1b1)]}),_0x1ef527=buildSqlLockEntry(_0x3086a0,_0xc0cc47,'',{'dbName':_0x4ba42f}),_0x2cd9f1=resolveLocalSqlFilePath(_0x1c34eb,_0x3086a0[_0x35d47f(0x1c9)],_0x1ef527);let _0x53a67f='would_pull',_0x390314;if(await fileExists(_0x2cd9f1)){const _0x2bb270=await readFile(_0x2cd9f1,_0x35d47f(0x1d2));isEquivalentPulledSqlFile(_0x2bb270,_0xe71fff,_0xe0da03)?(_0x53a67f='skipped',_0x390314='unchanged'):(_0x53a67f=_0x35d47f(0x1b5),_0x390314=_0x35d47f(0x1d9));}_0x4fd01f['push']({'sqlCode':_0x3086a0[_0x35d47f(0x1c9)],'sqlName':_0x3086a0['sqlName'],'filePath':_0x2cd9f1,'status':_0x53a67f,'reason':_0x390314});}return{'method':_0x35d47f(0x1dd),'url':_0x35d47f(0x1b4),'body':{'appCode':_0x110400[_0x35d47f(0x1b0)],'sqlCode':_0x110400['str'](_0x35d47f(0x1ba))||null,'sqlName':_0x110400[_0x35d47f(0x1be)](_0x35d47f(0x1df))||null,'files':_0x4fd01f},'description':'Would\x20pull\x20'+_0x4fd01f[_0x35d47f(0x1e2)]+_0x35d47f(0x1db)+_0x1c34eb['sqlRootDir']};},async 'execute'(_0x4601d6){const _0x2ba128=a120_0x35c6d6,_0x530179=loadSqlProjectConfig(_0x4601d6[_0x2ba128(0x1b0)]),_0x5a9f8a=await readSqlLockFile(_0x530179[_0x2ba128(0x1cf)]),{lockData:_0xd3a96b,appLock:_0x56fe3d}=ensureSqlLockScope(_0x5a9f8a??createEmptySqlLock(),_0x530179[_0x2ba128(0x1b0)],_0x530179[_0x2ba128(0x1d8)],_0x2ba128(0x1ad)),_0x2174f5=_0x4601d6[_0x2ba128(0x1c4)](_0x2ba128(0x1e1)),_0x9c0ddc=await fetchAllSqlQueries(_0x4601d6['appCode'],{'sqlCode':_0x4601d6['str'](_0x2ba128(0x1ba))||undefined,'sqlName':_0x4601d6[_0x2ba128(0x1be)](_0x2ba128(0x1df))||undefined});if(_0x9c0ddc[_0x2ba128(0x1e2)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2ba128(0x1ac)};const _0x43563e=[],_0x307f8d=[];for(const _0x1c56ee of _0x9c0ddc){try{_0x43563e[_0x2ba128(0x1ae)](await ensureSqlContent(_0x1c56ee));}catch(_0x46ca7a){_0x307f8d[_0x2ba128(0x1ae)]({'sqlCode':_0x1c56ee[_0x2ba128(0x1c9)],'error':_0x46ca7a instanceof Error?_0x46ca7a[_0x2ba128(0x1d6)]:String(_0x46ca7a)});}}if(_0x2174f5&&!_0x4601d6['nonInteractive']){let _0x21a231=![];for(const _0x11216a of _0x43563e){const _0x386f27=detectModeFromSql(_0x11216a),_0x421a4a=_0x11216a[_0x2ba128(0x1e6)]?await getDbName(_0x4601d6['appCode'],Number(_0x11216a['dbId']))[_0x2ba128(0x1e5)](()=>undefined):undefined,_0xeea0bb=buildLocalSqlFileContent({'sqlCode':_0x11216a[_0x2ba128(0x1c9)],'sqlName':_0x11216a[_0x2ba128(0x1c0)],'dbId':_0x11216a[_0x2ba128(0x1e6)]},ensureRemoteSqlContent(_0x11216a),{'dbName':_0x421a4a,'mode':_0x386f27,'syncedAt':new Date()[_0x2ba128(0x1af)](),'description':_0x11216a['description']}),_0x3a1684=resolveLocalSqlFilePath(_0x530179,_0x11216a[_0x2ba128(0x1c9)],buildSqlLockEntry(_0x11216a,ensureRemoteSqlContent(_0x11216a),'',{'dbName':_0x421a4a}));if(await fileExists(_0x3a1684)){const _0x18f281=await readFile(_0x3a1684,_0x2ba128(0x1d2));if(!isEquivalentPulledSqlFile(_0x18f281,_0xeea0bb,_0x386f27)){_0x21a231=!![];break;}}}if(_0x21a231){const _0x5ec03a=await confirmForceOverwrite(_0x2ba128(0x1e4));if(!_0x5ec03a)throw CliErrors['cancelled'](_0x2ba128(0x1e3));}}const _0x3e10ae=cloneSqlLockData(_0xd3a96b),_0x3859e9=_0x3e10ae['apps'][_0x530179[_0x2ba128(0x1b0)]],_0x4c9dd4=[],_0x35bd24=[];for(const _0xaff03e of _0x43563e){const _0x54d623=_0x3859e9['sqls'][_0xaff03e[_0x2ba128(0x1c9)]],_0x248746=ensureRemoteSqlContent(_0xaff03e),_0x4ee3c9=detectModeFromSql(_0xaff03e),_0x185c95=_0xaff03e['dbId']?await getDbName(_0x4601d6[_0x2ba128(0x1b0)],Number(_0xaff03e['dbId']))[_0x2ba128(0x1e5)](()=>undefined):undefined,_0x3566ca=buildLocalSqlFileContent({'sqlCode':_0xaff03e[_0x2ba128(0x1c9)],'sqlName':_0xaff03e['sqlName'],'dbId':_0xaff03e['dbId']},_0x248746,{'dbName':_0x185c95,'mode':_0x4ee3c9,'syncedAt':new Date()['toISOString'](),'description':_0xaff03e[_0x2ba128(0x1b1)]}),_0x6aa465=buildSqlLockEntry(_0xaff03e,_0x248746,computeSqlContentHash(_0x3566ca),{'dbName':_0x185c95}),_0x52c433=_0x6aa465[_0x2ba128(0x1da)],_0x40e089=join(_0x530179[_0x2ba128(0x1c6)],_0x52c433);try{if(await fileExists(_0x40e089)){const _0x42f51b=await readFile(_0x40e089,_0x2ba128(0x1d2));if(isEquivalentPulledSqlFile(_0x42f51b,_0x3566ca,_0x4ee3c9)){_0x35bd24[_0x2ba128(0x1ae)]({'sqlCode':_0xaff03e['sqlCode'],'reason':_0x2ba128(0x1d0)}),_0x3859e9['sqls'][_0xaff03e[_0x2ba128(0x1c9)]]={..._0x6aa465,'hash':computeSqlContentHash(_0x42f51b),'path':_0x52c433};continue;}if(!_0x2174f5){_0x35bd24[_0x2ba128(0x1ae)]({'sqlCode':_0xaff03e[_0x2ba128(0x1c9)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x5d72e2=_0x54d623?.[_0x2ba128(0x1da)]?join(_0x530179[_0x2ba128(0x1c6)],_0x54d623[_0x2ba128(0x1da)]):undefined;_0x5d72e2&&_0x5d72e2!==_0x40e089&&await fileExists(_0x5d72e2)&&await rm(_0x5d72e2,{'force':!![]}),await ensureParentDirectory(_0x40e089),await writeFile(_0x40e089,_0x3566ca,_0x2ba128(0x1d2)),_0x3859e9[_0x2ba128(0x1c8)][_0xaff03e['sqlCode']]={..._0x6aa465,'path':_0x52c433},_0x4c9dd4[_0x2ba128(0x1ae)]({'sqlCode':_0xaff03e[_0x2ba128(0x1c9)],'filePath':_0x40e089});}catch(_0x420cad){_0x307f8d['push']({'sqlCode':_0xaff03e[_0x2ba128(0x1c9)],'error':_0x420cad instanceof Error?_0x420cad[_0x2ba128(0x1d6)]:String(_0x420cad)});}}return _0x3859e9[_0x2ba128(0x1d7)]=new Date()[_0x2ba128(0x1af)](),await writeSqlLockFile(_0x530179[_0x2ba128(0x1cf)],_0x3e10ae),{'ok':_0x307f8d[_0x2ba128(0x1e2)]===0x0,'data':{'pulled':_0x4c9dd4,'skipped':_0x35bd24,'failed':_0x307f8d},'message':'Pull\x20complete:\x20'+_0x4c9dd4['length']+'\x20written,\x20'+_0x35bd24[_0x2ba128(0x1e2)]+'\x20skipped,\x20'+_0x307f8d[_0x2ba128(0x1e2)]+_0x2ba128(0x1c2)};}};function detectModeFromSql(_0x5cb837){const _0x1d357c=a120_0x35c6d6,_0x20e4df=ensureRemoteSqlContent(_0x5cb837),_0x2dd971=stripLocalSqlMetadata(_0x20e4df,_0x1d357c(0x1c1))[_0x1d357c(0x1cc)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x2dd971))return _0x1d357c(0x1c1);return _0x1d357c(0x1bd);}function isEquivalentPulledSqlFile(_0x445b8a,_0x5a93f4,_0x5351ac){return normalizePullComparableContent(_0x445b8a,_0x5351ac)===normalizePullComparableContent(_0x5a93f4,_0x5351ac);}function normalizePullComparableContent(_0x30cfbc,_0x45be4a){const _0x3b6f5f=a120_0x35c6d6,_0x539a88=_0x30cfbc[_0x3b6f5f(0x1dc)](/\r\n/g,'\x0a')[_0x3b6f5f(0x1bc)]('\x0a'),_0x4bef43=_0x539a88[_0x3b6f5f(0x1ce)](_0x1477b9=>!isSyncedAtMetadataLine(_0x1477b9,_0x45be4a));return _0x4bef43['join']('\x0a');}function isSyncedAtMetadataLine(_0xb824fa,_0x37e9ea){const _0x472879=a120_0x35c6d6;if(_0x37e9ea===_0x472879(0x1c1))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x472879(0x1c3)](_0xb824fa);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x472879(0x1c3)](_0xb824fa);}
|
|
1
|
+
const a120_0x5dff15=a120_0xb8df;(function(_0x1cf3f7,_0x567ed8){const _0x288976=a120_0xb8df,_0x285974=_0x1cf3f7();while(!![]){try{const _0x3ae89d=parseInt(_0x288976(0x1db))/0x1*(-parseInt(_0x288976(0x1dd))/0x2)+-parseInt(_0x288976(0x1d6))/0x3+-parseInt(_0x288976(0x1f4))/0x4+parseInt(_0x288976(0x1ca))/0x5+-parseInt(_0x288976(0x1e8))/0x6+-parseInt(_0x288976(0x1f8))/0x7*(parseInt(_0x288976(0x1f7))/0x8)+parseInt(_0x288976(0x1ee))/0x9;if(_0x3ae89d===_0x567ed8)break;else _0x285974['push'](_0x285974['shift']());}catch(_0x1916f0){_0x285974['push'](_0x285974['shift']());}}}(a120_0x53c1,0x9883d));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x436901,_0x21bb69){const _0x493952=a120_0xb8df,_0x341678=[];let _0x8407fa=0x1;while(!![]){const _0xf11a61=await listSqlQueries(_0x436901,{'currentPage':_0x8407fa,'pageSize':PAGE_SIZE,'sqlCode':_0x21bb69[_0x493952(0x1ce)],'sqlName':_0x21bb69[_0x493952(0x1e6)]}),_0x105596=_0xf11a61['tableData']??[];_0x341678['push'](..._0x105596);if(_0x105596[_0x493952(0x1f1)]===0x0)break;const _0x572ada=_0xf11a61[_0x493952(0x1d4)]?.[_0x493952(0x1fa)];if(_0x572ada!=null?_0x341678['length']>=_0x572ada:_0x105596['length']<PAGE_SIZE)break;_0x8407fa++;}return _0x341678;}async function ensureSqlContent(_0x347da5){const _0x21b338=a120_0xb8df;if(_0x347da5[_0x21b338(0x1ea)]!=null&&String(_0x347da5['sqlContent'])[_0x21b338(0x1f1)]>0x0)return _0x347da5;return getSqlQueryDetail(_0x347da5[_0x21b338(0x1ce)]);}export const sqlPull={'service':'sql','command':a120_0x5dff15(0x1dc),'description':a120_0x5dff15(0x1d3),'risk':a120_0x5dff15(0x1c4),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a120_0x5dff15(0x1eb),'type':a120_0x5dff15(0x1c8),'description':a120_0x5dff15(0x1d9)},{'name':a120_0x5dff15(0x1fc),'type':a120_0x5dff15(0x1d0),'description':a120_0x5dff15(0x1f0)}],async 'dryRun'(_0x19ff10){const _0x9c9fa1=a120_0x5dff15,_0x3382c1=loadSqlProjectConfig(_0x19ff10['appCode']),_0x260e4d=await readSqlLockFile(_0x3382c1[_0x9c9fa1(0x1c5)]),{appLock:_0x2214e0}=ensureSqlLockScope(_0x260e4d??createEmptySqlLock(),_0x3382c1[_0x9c9fa1(0x1e5)],_0x3382c1['sqlRoot'],'pull'),_0xbb2381=await fetchAllSqlQueries(_0x19ff10[_0x9c9fa1(0x1e5)],{'sqlCode':_0x19ff10[_0x9c9fa1(0x1d8)]('sqlcode')||undefined,'sqlName':_0x19ff10[_0x9c9fa1(0x1d8)](_0x9c9fa1(0x1eb))||undefined}),_0x36ce8d=[];for(const _0x4fbd62 of _0xbb2381){const _0x577430=await ensureSqlContent(_0x4fbd62),_0x5e6fbf=ensureRemoteSqlContent(_0x577430),_0x474fd5=detectModeFromSql(_0x577430),_0xfcaaef=_0x577430[_0x9c9fa1(0x1e4)]?await getDbName(_0x19ff10['appCode'],Number(_0x577430[_0x9c9fa1(0x1e4)]))[_0x9c9fa1(0x1cb)](()=>undefined):undefined,_0x4ec813=buildLocalSqlFileContent({'sqlCode':_0x577430[_0x9c9fa1(0x1ce)],'sqlName':_0x577430[_0x9c9fa1(0x1e6)],'dbId':_0x577430[_0x9c9fa1(0x1e4)]},_0x5e6fbf,{'dbName':_0xfcaaef,'mode':_0x474fd5,'syncedAt':new Date()[_0x9c9fa1(0x1d7)](),'description':_0x577430[_0x9c9fa1(0x1cd)]}),_0x117fc3=buildSqlLockEntry(_0x577430,_0x5e6fbf,'',{'dbName':_0xfcaaef}),_0x109340=resolveLocalSqlFilePath(_0x3382c1,_0x577430[_0x9c9fa1(0x1ce)],_0x117fc3);let _0x4f7c98=_0x9c9fa1(0x1ed),_0xc6b3ee;if(await fileExists(_0x109340)){const _0x4db51a=await readFile(_0x109340,'utf8');isEquivalentPulledSqlFile(_0x4db51a,_0x4ec813,_0x474fd5)?(_0x4f7c98='skipped',_0xc6b3ee=_0x9c9fa1(0x1e2)):(_0x4f7c98=_0x9c9fa1(0x1fb),_0xc6b3ee=_0x9c9fa1(0x1ef));}_0x36ce8d['push']({'sqlCode':_0x577430['sqlCode'],'sqlName':_0x577430[_0x9c9fa1(0x1e6)],'filePath':_0x109340,'status':_0x4f7c98,'reason':_0xc6b3ee});}return{'method':_0x9c9fa1(0x1ec),'url':_0x9c9fa1(0x1d5),'body':{'appCode':_0x19ff10['appCode'],'sqlCode':_0x19ff10[_0x9c9fa1(0x1d8)](_0x9c9fa1(0x1fe))||null,'sqlName':_0x19ff10[_0x9c9fa1(0x1d8)](_0x9c9fa1(0x1eb))||null,'files':_0x36ce8d},'description':_0x9c9fa1(0x1e1)+_0x36ce8d['length']+'\x20SQL\x20file(s)\x20into\x20'+_0x3382c1[_0x9c9fa1(0x1ff)]};},async 'execute'(_0x4440d5){const _0x48e678=a120_0x5dff15,_0x5be09d=loadSqlProjectConfig(_0x4440d5['appCode']),_0x29b504=await readSqlLockFile(_0x5be09d[_0x48e678(0x1c5)]),{lockData:_0x558c8f,appLock:_0x3f6ddd}=ensureSqlLockScope(_0x29b504??createEmptySqlLock(),_0x5be09d['appCode'],_0x5be09d[_0x48e678(0x1d1)],'pull'),_0xace83c=_0x4440d5[_0x48e678(0x1c3)](_0x48e678(0x1fc)),_0xd165e9=await fetchAllSqlQueries(_0x4440d5[_0x48e678(0x1e5)],{'sqlCode':_0x4440d5[_0x48e678(0x1d8)](_0x48e678(0x1fe))||undefined,'sqlName':_0x4440d5[_0x48e678(0x1d8)](_0x48e678(0x1eb))||undefined});if(_0xd165e9['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x48e678(0x1f2)};const _0x5d46ac=[],_0x5178f0=[];for(const _0x233578 of _0xd165e9){try{_0x5d46ac[_0x48e678(0x200)](await ensureSqlContent(_0x233578));}catch(_0x459c9c){_0x5178f0[_0x48e678(0x200)]({'sqlCode':_0x233578[_0x48e678(0x1ce)],'error':_0x459c9c instanceof Error?_0x459c9c[_0x48e678(0x1da)]:String(_0x459c9c)});}}if(_0xace83c&&!_0x4440d5[_0x48e678(0x201)]){let _0x5d54a4=![];for(const _0x50ee8e of _0x5d46ac){const _0x57c5b8=detectModeFromSql(_0x50ee8e),_0x341663=_0x50ee8e[_0x48e678(0x1e4)]?await getDbName(_0x4440d5[_0x48e678(0x1e5)],Number(_0x50ee8e[_0x48e678(0x1e4)]))[_0x48e678(0x1cb)](()=>undefined):undefined,_0x4bbacb=buildLocalSqlFileContent({'sqlCode':_0x50ee8e[_0x48e678(0x1ce)],'sqlName':_0x50ee8e['sqlName'],'dbId':_0x50ee8e[_0x48e678(0x1e4)]},ensureRemoteSqlContent(_0x50ee8e),{'dbName':_0x341663,'mode':_0x57c5b8,'syncedAt':new Date()[_0x48e678(0x1d7)](),'description':_0x50ee8e['description']}),_0x13851=resolveLocalSqlFilePath(_0x5be09d,_0x50ee8e[_0x48e678(0x1ce)],buildSqlLockEntry(_0x50ee8e,ensureRemoteSqlContent(_0x50ee8e),'',{'dbName':_0x341663}));if(await fileExists(_0x13851)){const _0x1f15c8=await readFile(_0x13851,_0x48e678(0x1de));if(!isEquivalentPulledSqlFile(_0x1f15c8,_0x4bbacb,_0x57c5b8)){_0x5d54a4=!![];break;}}}if(_0x5d54a4){const _0x455ea3=await confirmForceOverwrite(_0x48e678(0x1d2));if(!_0x455ea3)throw CliErrors[_0x48e678(0x1f6)](_0x48e678(0x1c6));}}const _0x428859=cloneSqlLockData(_0x558c8f),_0x4c8566=_0x428859['apps'][_0x5be09d[_0x48e678(0x1e5)]],_0xca0565=[],_0x4addfd=[];for(const _0xe831d2 of _0x5d46ac){const _0x1f2c90=_0x4c8566[_0x48e678(0x1cf)][_0xe831d2[_0x48e678(0x1ce)]],_0x40e6d0=ensureRemoteSqlContent(_0xe831d2),_0x2fa3de=detectModeFromSql(_0xe831d2),_0x214969=_0xe831d2['dbId']?await getDbName(_0x4440d5[_0x48e678(0x1e5)],Number(_0xe831d2[_0x48e678(0x1e4)]))[_0x48e678(0x1cb)](()=>undefined):undefined,_0x530959=buildLocalSqlFileContent({'sqlCode':_0xe831d2[_0x48e678(0x1ce)],'sqlName':_0xe831d2[_0x48e678(0x1e6)],'dbId':_0xe831d2[_0x48e678(0x1e4)]},_0x40e6d0,{'dbName':_0x214969,'mode':_0x2fa3de,'syncedAt':new Date()['toISOString'](),'description':_0xe831d2['description']}),_0x154932=buildSqlLockEntry(_0xe831d2,_0x40e6d0,computeSqlContentHash(_0x530959),{'dbName':_0x214969}),_0x5a1315=_0x154932[_0x48e678(0x1df)],_0x2c0b05=join(_0x5be09d['sqlRootDir'],_0x5a1315);try{if(await fileExists(_0x2c0b05)){const _0x5ac1e8=await readFile(_0x2c0b05,_0x48e678(0x1de));if(isEquivalentPulledSqlFile(_0x5ac1e8,_0x530959,_0x2fa3de)){_0x4addfd[_0x48e678(0x200)]({'sqlCode':_0xe831d2[_0x48e678(0x1ce)],'reason':_0x48e678(0x1e2)}),_0x4c8566[_0x48e678(0x1cf)][_0xe831d2[_0x48e678(0x1ce)]]={..._0x154932,'hash':computeSqlContentHash(_0x5ac1e8),'path':_0x5a1315};continue;}if(!_0xace83c){_0x4addfd[_0x48e678(0x200)]({'sqlCode':_0xe831d2['sqlCode'],'reason':_0x48e678(0x1f3)});continue;}}const _0x1ea771=_0x1f2c90?.[_0x48e678(0x1df)]?join(_0x5be09d[_0x48e678(0x1ff)],_0x1f2c90[_0x48e678(0x1df)]):undefined;_0x1ea771&&_0x1ea771!==_0x2c0b05&&await fileExists(_0x1ea771)&&await rm(_0x1ea771,{'force':!![]}),await ensureParentDirectory(_0x2c0b05),await writeFile(_0x2c0b05,_0x530959,_0x48e678(0x1de)),_0x4c8566[_0x48e678(0x1cf)][_0xe831d2['sqlCode']]={..._0x154932,'path':_0x5a1315},_0xca0565[_0x48e678(0x200)]({'sqlCode':_0xe831d2[_0x48e678(0x1ce)],'filePath':_0x2c0b05});}catch(_0x19dc15){_0x5178f0[_0x48e678(0x200)]({'sqlCode':_0xe831d2[_0x48e678(0x1ce)],'error':_0x19dc15 instanceof Error?_0x19dc15[_0x48e678(0x1da)]:String(_0x19dc15)});}}return _0x4c8566[_0x48e678(0x1f5)]=new Date()['toISOString'](),await writeSqlLockFile(_0x5be09d['lockFilePath'],_0x428859),{'ok':_0x5178f0[_0x48e678(0x1f1)]===0x0,'data':{'pulled':_0xca0565,'skipped':_0x4addfd,'failed':_0x5178f0},'message':_0x48e678(0x1e0)+_0xca0565[_0x48e678(0x1f1)]+_0x48e678(0x1e9)+_0x4addfd[_0x48e678(0x1f1)]+_0x48e678(0x1e7)+_0x5178f0[_0x48e678(0x1f1)]+'\x20failed'};}};function detectModeFromSql(_0x342a0c){const _0x186663=a120_0x5dff15,_0x51c605=ensureRemoteSqlContent(_0x342a0c),_0x54efa1=stripLocalSqlMetadata(_0x51c605,_0x186663(0x1c2))[_0x186663(0x1cc)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x54efa1))return _0x186663(0x1c2);return _0x186663(0x1c9);}function isEquivalentPulledSqlFile(_0x2314ab,_0x320a73,_0x5b0184){return normalizePullComparableContent(_0x2314ab,_0x5b0184)===normalizePullComparableContent(_0x320a73,_0x5b0184);}function a120_0xb8df(_0x53193c,_0xde062e){_0x53193c=_0x53193c-0x1c2;const _0x53c1d2=a120_0x53c1();let _0xb8df0f=_0x53c1d2[_0x53193c];return _0xb8df0f;}function a120_0x53c1(){const _0x324e7b=['Would\x20pull\x20','unchanged','replace','dbId','appCode','sqlName','\x20skipped,\x20','6430512lGuqUa','\x20written,\x20','sqlContent','name','POST','would_pull','29175651bmxjSZ','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','Force\x20overwrite\x20local\x20unsynced\x20changes','length','No\x20remote\x20SQL\x20queries\x20matched.','local\x20differs\x20from\x20remote','4222812ptruCt','lastSync','cancelled','151224lcwUkr','42MyTJvY','split','totalCount','conflict','force','test','sqlcode','sqlRootDir','push','nonInteractive','mybatisXml','bool','write','lockFilePath','Force\x20pull\x20cancelled.','filter','string','sql','5166740PKshnk','catch','trimStart','description','sqlCode','sqls','boolean','sqlRoot','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','paging','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','2475480rhwoms','toISOString','str','Filter\x20by\x20SQL\x20display\x20name','message','7589HbfeGS','pull','154NjFBXI','utf8','path','Pull\x20complete:\x20'];a120_0x53c1=function(){return _0x324e7b;};return a120_0x53c1();}function normalizePullComparableContent(_0x222107,_0x2634f9){const _0x2a6eec=a120_0x5dff15,_0x4f59a9=_0x222107[_0x2a6eec(0x1e3)](/\r\n/g,'\x0a')[_0x2a6eec(0x1f9)]('\x0a'),_0x464d66=_0x4f59a9[_0x2a6eec(0x1c7)](_0x2d8bbd=>!isSyncedAtMetadataLine(_0x2d8bbd,_0x2634f9));return _0x464d66['join']('\x0a');}function isSyncedAtMetadataLine(_0x2728eb,_0x2ba404){const _0x1323a3=a120_0x5dff15;if(_0x2ba404===_0x1323a3(0x1c2))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x1323a3(0x1fd)](_0x2728eb);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x1323a3(0x1fd)](_0x2728eb);}
|