@lovrabet/rabetbase-cli 2.2.1-beta.1 → 2.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56721b,_0xfa97b3){const _0x11b5ac=a115_0x58f0,_0x5d51e4=_0x56721b();while(!![]){try{const _0x57f924=parseInt(_0x11b5ac(0x1b4))/0x1*(-parseInt(_0x11b5ac(0x1b0))/0x2)+parseInt(_0x11b5ac(0x1a4))/0x3*(parseInt(_0x11b5ac(0x1a3))/0x4)+parseInt(_0x11b5ac(0x19f))/0x5+parseInt(_0x11b5ac(0x1c2))/0x6*(parseInt(_0x11b5ac(0x19c))/0x7)+parseInt(_0x11b5ac(0x1a6))/0x8*(-parseInt(_0x11b5ac(0x198))/0x9)+parseInt(_0x11b5ac(0x196))/0xa+-parseInt(_0x11b5ac(0x1af))/0xb;if(_0x57f924===_0xfa97b3)break;else _0x5d51e4['push'](_0x5d51e4['shift']());}catch(_0x434f31){_0x5d51e4['push'](_0x5d51e4['shift']());}}}(a115_0x4aa3,0xb090f));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a115_0x237296 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';function a115_0x58f0(_0x2e3951,_0x353f7c){_0x2e3951=_0x2e3951-0x194;const _0x4aa3b7=a115_0x4aa3();let _0x58f07d=_0x4aa3b7[_0x2e3951];return _0x58f07d;}import{buildCanonicalProjectConfig}from'../../config/schema.js';function a115_0x4aa3(){const _0x5a906e=['init','\x20\x20appcode:\x20','?\x20(Old\x20file\x20→\x20*.bak)','408VWLadI','app','trim','Upgrade\x20it\x20to\x20','version','log','cwd','.rabetbase.json','gray','从旧配置文件升级成功','apps','10098650mOljWN','join','909sOFcuw','setLogPath','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','Please\x20enter\x20App\x20Code:','104713sIgHmH','string','cyan','680940fDzJex','green','Migration\x20cancelled.\x20Run\x20`','1.0.0','10956LNzqBl','873BKdRCp','.bak','82504eXaTVP','初始化项目配置文件成功','env','\x20\x20Apps:\x20','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','info','keys','bold','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','190751RgUsYi','54ZGOSGi','defaultApp','package.json','\x20project\x20init`\x20to\x20start\x20fresh.','43635SCqouU','../..','yellow','\x20\x20Default:\x20','App\x20Code\x20cannot\x20be\x20empty','\x20→\x20.rabetbase.json','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','toLocaleString','production','appcode','utf8'];a115_0x4aa3=function(){return _0x5a906e;};return a115_0x4aa3();}export async function initConfig(_0x214671){const _0x45d2bb=a115_0x58f0,{appcode:_0x445208,env:_0x31a3dd,autoYes:_0x2020e5}=_0x214671,_0x781fc2=process[_0x45d2bb(0x1c8)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x5d850b;for(const _0x50df7a of LEGACY_CONFIG_NAMES){const _0x4c4698=resolve(_0x781fc2,_0x50df7a);if(existsSync(_0x4c4698)){_0x5d850b=_0x4c4698;break;}}if(_0x5d850b){let _0x5a581b={};try{_0x5a581b=JSON['parse'](readFileSync(_0x5d850b,_0x45d2bb(0x1be)));}catch{}const _0x1b21d4=basename(_0x5d850b),_0x3bd718=_0x5a581b?.[_0x45d2bb(0x1bd)]||_0x5a581b?.[_0x45d2bb(0x1c3)];let _0x2f25e3=_0x2020e5;!_0x2020e5&&(console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x1b6)](_0x45d2bb(0x1aa)+a115_0x237296[_0x45d2bb(0x1ad)](_0x1b21d4))),_0x3bd718&&console[_0x45d2bb(0x1c7)](a115_0x237296['cyan'](_0x45d2bb(0x1c0)+_0x3bd718)),_0x2f25e3=await confirm({'message':_0x45d2bb(0x1c5)+a115_0x237296[_0x45d2bb(0x1ad)](_0x45d2bb(0x1c9))+_0x45d2bb(0x1c1),'default':!![]}));if(!_0x2f25e3){console[_0x45d2bb(0x1c7)](_0x45d2bb(0x1a1)+CLI_BIN_NAME+_0x45d2bb(0x1b3));return;}const _0x63db6d=resolve(_0x781fc2,NEW_CONFIG_NAME),_0x3e8246=getCliVersionFromPkg(),_0xa5c456=readRawConfig(),_0x289a8b=_0x445208||(typeof _0x5a581b?.[_0x45d2bb(0x1bd)]===_0x45d2bb(0x19d)?_0x5a581b[_0x45d2bb(0x1bd)]:undefined)||(typeof _0x5a581b?.[_0x45d2bb(0x1c3)]===_0x45d2bb(0x19d)?_0x5a581b[_0x45d2bb(0x1c3)]:undefined)||await askAppcode(),_0x2f3f47=typeof _0x5a581b?.[_0x45d2bb(0x1a8)]===_0x45d2bb(0x19d)?_0x5a581b[_0x45d2bb(0x1a8)]:typeof _0xa5c456['env']==='string'?_0xa5c456[_0x45d2bb(0x1a8)]:_0x45d2bb(0x1bc),_0x450ca5=buildCanonicalProjectConfig({..._0xa5c456,..._0x5a581b},{'appCodes':[_0x289a8b],'env':_0x2f3f47,'metadata':{'version':_0x3e8246,'migratedAt':new Date()[_0x45d2bb(0x1bb)](),'migratedFrom':_0x5d850b}});writeConfigFile(_0x63db6d,_0x450ca5);const _0x44d57c=_0x5d850b+_0x45d2bb(0x1a5);renameSync(_0x5d850b,_0x44d57c),logger[_0x45d2bb(0x199)](_0x781fc2),logger[_0x45d2bb(0x1ab)](_0x45d2bb(0x1bf),_0x45d2bb(0x194),{'from':_0x5d850b,'to':_0x63db6d,'appcode':_0x289a8b,'env':_0x450ca5[_0x45d2bb(0x1a8)]}),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x1a0)]('✓\x20Upgraded\x20'+_0x1b21d4+_0x45d2bb(0x1b9))),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x19e)](_0x45d2bb(0x1a9)+Object['keys'](_0x450ca5[_0x45d2bb(0x195)]||{})[_0x45d2bb(0x197)](',\x20'))),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x19e)](_0x45d2bb(0x1b7)+_0x450ca5[_0x45d2bb(0x1b1)])),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x1ca)](_0x45d2bb(0x19a)+_0x1b21d4+_0x45d2bb(0x1a5)));return;}const _0x42c8c1=_0x445208||await askAppcode(),_0x3fb703=resolve(_0x781fc2,NEW_CONFIG_NAME),_0x248aab=getCliVersionFromPkg(),_0x10a675=readRawConfig(),_0x8bc44a=typeof _0x10a675[_0x45d2bb(0x1a8)]==='string'?_0x10a675[_0x45d2bb(0x1a8)]:undefined,_0x4efcbd=buildCanonicalProjectConfig({},{'appCodes':[_0x42c8c1],'env':_0x31a3dd||_0x8bc44a||_0x45d2bb(0x1bc),'metadata':{'version':_0x248aab,'createdAt':new Date()[_0x45d2bb(0x1bb)]()}});writeConfigFile(_0x3fb703,_0x4efcbd),logger[_0x45d2bb(0x199)](_0x781fc2),logger[_0x45d2bb(0x1ab)]('init',_0x45d2bb(0x1a7),{'appcode':_0x42c8c1,'env':_0x4efcbd['env'],'version':_0x4efcbd['version'],'configPath':_0x3fb703}),console[_0x45d2bb(0x1c7)](a115_0x237296['green'](_0x45d2bb(0x1ae))),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x19e)](_0x45d2bb(0x1a9)+Object[_0x45d2bb(0x1ac)](_0x4efcbd['apps']||{})[_0x45d2bb(0x197)](',\x20'))),console[_0x45d2bb(0x1c7)](a115_0x237296[_0x45d2bb(0x19e)](_0x45d2bb(0x1b7)+_0x4efcbd[_0x45d2bb(0x1b1)])),console[_0x45d2bb(0x1c7)](_0x45d2bb(0x1ba)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+'\x20api\x20pull\x27');}function askAppcode(){const _0x294305=a115_0x58f0;return input({'message':_0x294305(0x19b),'validate':_0x41e4b8=>{const _0x4bb486=_0x294305;if(!_0x41e4b8[_0x4bb486(0x1c4)]())return _0x4bb486(0x1b8);const {valid:_0x2a4bc5,message:_0xf04db5}=validateAppcode(_0x41e4b8[_0x4bb486(0x1c4)]());return _0x2a4bc5||_0xf04db5||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x1c880c=a115_0x58f0;try{const _0x372f31=fileURLToPath(import.meta.url),_0x2d88eb=resolve(dirname(_0x372f31),_0x1c880c(0x1b5)),_0x43a45e=JSON['parse'](readFileSync(resolve(_0x2d88eb,_0x1c880c(0x1b2)),_0x1c880c(0x1be)));return _0x43a45e[_0x1c880c(0x1c6)]||_0x1c880c(0x1a2);}catch{return _0x1c880c(0x1a2);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x4fa0ac=a116_0x3958;(function(_0x15c762,_0x25c833){const _0x50a683=a116_0x3958,_0x112302=_0x15c762();while(!![]){try{const _0x58db0d=parseInt(_0x50a683(0xf5))/0x1*(parseInt(_0x50a683(0x127))/0x2)+-parseInt(_0x50a683(0xc4))/0x3+parseInt(_0x50a683(0xfb))/0x4*(parseInt(_0x50a683(0xf8))/0x5)+parseInt(_0x50a683(0xbd))/0x6*(-parseInt(_0x50a683(0x11e))/0x7)+-parseInt(_0x50a683(0x10b))/0x8*(-parseInt(_0x50a683(0xe6))/0x9)+parseInt(_0x50a683(0xfa))/0xa+-parseInt(_0x50a683(0x137))/0xb;if(_0x58db0d===_0x25c833)break;else _0x112302['push'](_0x112302['shift']());}catch(_0x10b456){_0x112302['push'](_0x112302['shift']());}}}(a116_0x43ca,0xf272b));import a116_0x2295cf from'chalk';import a116_0x20ad00 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';function a116_0x43ca(){const _0x5c4aac=['lovrabet/rabetbase','entries','no\x20legacy\x20config\x20found','oldArtifacts','undefined','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','1304COliYi','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','succeed','@lovrabet/sdk:','label','Step\x206/7:\x20Installing\x20new\x20skill...','Upgrade\x20cancelled.','keys','step','files','Upgrade\x20completed\x20successfully!','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','FAIL','\x20\x20Current\x20version\x20in\x20','\x20→\x20','@lovrabet/dataset-mcp-server','exit\x20','utf8','MCP\x20config:','21QWktcl','none\x20found','cyan','Step\x201/7:\x20Migrating\x20config...','hasNewConfig','object','stringify','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','===\x20Upgrade\x20Analysis\x20===','163626xtGoBs','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','no\x20legacy\x20entry','\x20→\x20keys:\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','CANCEL','.lovrabet','fail','skipped','path','includes','message','Legacy\x20artifacts:','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','error','oldPath','9994611pxBWqK','Remove\x20.lovrabet/','needed','@lovrabet/sdk','\x20\x20#\x20or','yes','3470526VKBQTr','Step\x201/7:\x20Config\x20migration\x20—\x20','yellow','latest','length','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20New\x20config\x20(.rabetbase.json):\x20','5928645qcbWnD','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','fields','Remove\x20legacy\x20artifacts','some','cwd','white','oldMcpConfig','mcpServers','inherit','isArray','Remove\x20old\x20skill','Skill\x20swap:','push','done','failed','not\x20needed','.cursor/rules/lovrabet_rules.mdc','bold','lovrabet/lovrabet-skill\x20removed','parse','\x20→\x20latest','Step\x204/7:\x20Cleaning\x20MCP\x20config...','configMigration','sdkUpgrade','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','gray','\x20\x20npm\x20install','join','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Clean\x20MCP\x20config','102978LVgifT','status','Config\x20file:','log','Proceed\x20with\x20upgrade?','start','Install\x20new\x20skill','detail','string','args','red','\x20\x20Fields\x20to\x20migrate:\x20','green','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','dependencies','16atTDQT','not\x20found\x20(will\x20create)','Upgrade\x20@lovrabet/sdk','50AnFMYz','already\x20exists\x20(will\x20merge)','18986120RcdAUO','216192fabOBT','filter','\x20\x20bun\x20install','not\x20found\x20or\x20already\x20at\x20latest','values','\x20removed','Config\x20migration','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Action:\x20delete'];a116_0x43ca=function(){return _0x5c4aac;};return a116_0x43ca();}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[a116_0x4fa0ac(0xfc)](_0x1f4eb6=>_0x1f4eb6!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x218a39){const _0xf7a71f=a116_0x4fa0ac,_0x154dd4=[];for(const _0x415e66 of Object[_0xf7a71f(0xff)](CORE_IDE_CONFIGS)){if(_0x415e66[_0xf7a71f(0x114)])for(const _0xcd276d of _0x415e66[_0xf7a71f(0x114)]){_0x154dd4[_0xf7a71f(0xd2)](resolve(_0x218a39,_0xcd276d[_0xf7a71f(0x130)]));}}return _0x154dd4;}function analyse(_0x2c2d41){const _0x5ab920=a116_0x4fa0ac;let _0x1096b3=null;const _0x1ebfa8=resolve(_0x2c2d41,NEW_CONFIG_NAME),_0x4f1188=existsSync(_0x1ebfa8);for(const _0x5bdbda of LEGACY_CONFIG_NAMES){const _0x3f928e=resolve(_0x2c2d41,_0x5bdbda);if(existsSync(_0x3f928e)){const _0x246289=readConfigFile(_0x3f928e),_0x27e90a=Object['keys'](_0x246289)[_0x5ab920(0xfc)](_0x3bba85=>typeof _0x246289[_0x3bba85]!==_0x5ab920(0x108));_0x1096b3={'oldPath':_0x3f928e,'hasNewConfig':_0x4f1188,'fields':_0x27e90a};break;}}const _0x2e00e9=[],_0x16ab0d=resolve(_0x2c2d41,_0x5ab920(0x12d));if(existsSync(_0x16ab0d))_0x2e00e9[_0x5ab920(0xd2)](_0x16ab0d);const _0x2511c0=resolve(_0x2c2d41,_0x5ab920(0xd6));if(existsSync(_0x2511c0))_0x2e00e9[_0x5ab920(0xd2)](_0x2511c0);const _0x2debfc=resolve(_0x2c2d41,'.claude/skills/lovrabet');if(existsSync(_0x2debfc))_0x2e00e9[_0x5ab920(0xd2)](_0x2debfc);for(const _0x94c6e of collectIdeSkillFiles(_0x2c2d41)){if(existsSync(_0x94c6e))_0x2e00e9['push'](_0x94c6e);}let _0xe86028=null;const _0x25b973=resolve(_0x2c2d41,'.cursor/mcp.json');if(existsSync(_0x25b973))try{const _0x3cc0f3=JSON['parse'](readFileSync(_0x25b973,_0x5ab920(0x11c)));if(_0x3cc0f3?.[_0x5ab920(0xcd)]&&typeof _0x3cc0f3[_0x5ab920(0xcd)]===_0x5ab920(0x123)){const _0x3aecda=[];for(const [_0x4a07fe,_0x213dd4]of Object[_0x5ab920(0x105)](_0x3cc0f3[_0x5ab920(0xcd)])){const _0x390eb2=_0x213dd4;_0x390eb2?.[_0x5ab920(0xef)]&&Array[_0x5ab920(0xcf)](_0x390eb2[_0x5ab920(0xef)])&&_0x390eb2[_0x5ab920(0xef)][_0x5ab920(0xc9)](_0x401bf1=>typeof _0x401bf1===_0x5ab920(0xee)&&_0x401bf1[_0x5ab920(0x131)](_0x5ab920(0x11a)))&&_0x3aecda[_0x5ab920(0xd2)](_0x4a07fe);}_0x3aecda[_0x5ab920(0xc1)]>0x0&&(_0xe86028={'path':_0x25b973,'keys':_0x3aecda});}}catch{}const _0x593a51=_0x2e00e9[_0x5ab920(0xc1)]>0x0||_0x1096b3!==null;let _0xf9ced8=null;const _0x75dc67=resolve(_0x2c2d41,'package.json');if(existsSync(_0x75dc67))try{const _0x4ec584=JSON['parse'](readFileSync(_0x75dc67,_0x5ab920(0x11c)));for(const _0x46c9a9 of[_0x5ab920(0xf4),'devDependencies']){const _0xdbedd6=_0x4ec584?.[_0x46c9a9]?.[_0x5ab920(0x13a)];if(typeof _0xdbedd6===_0x5ab920(0xee)){_0xdbedd6!==_0x5ab920(0xc0)&&(_0xf9ced8={'pkgPath':_0x75dc67,'currentVersion':_0xdbedd6,'field':_0x46c9a9});break;}}}catch{}return{'configMigration':_0x1096b3,'oldArtifacts':_0x2e00e9,'oldMcpConfig':_0xe86028,'needsSkillSwap':_0x593a51,'sdkUpgrade':_0xf9ced8};}function printReport(_0x2f081e){const _0x2b1e07=a116_0x4fa0ac,{configMigration:_0xfe1b77,oldArtifacts:_0x245209,oldMcpConfig:_0x3e7363,needsSkillSwap:_0x41ca90}=_0x2f081e;console['log'](''),console['log'](a116_0x2295cf[_0x2b1e07(0xd7)](_0x2b1e07(0x126))),console[_0x2b1e07(0xe9)]('');_0xfe1b77?(console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('Config\x20file:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0xfe1b77[_0x2b1e07(0x136)]))),console[_0x2b1e07(0xe9)](_0x2b1e07(0xc3)+(_0xfe1b77[_0x2b1e07(0x122)]?a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xf9)):a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0xf6)))),console[_0x2b1e07(0xe9)](_0x2b1e07(0xf1)+_0xfe1b77[_0x2b1e07(0xc7)][_0x2b1e07(0xe3)](',\x20')),console[_0x2b1e07(0xe9)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0xe8))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x106)));console[_0x2b1e07(0xe9)]('');if(_0x245209[_0x2b1e07(0xc1)]>0x0){console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x133)));for(const _0x52f12b of _0x245209){console[_0x2b1e07(0xe9)]('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xf0)]('FOUND')+'\x20\x20'+_0x52f12b);}console['log'](_0x2b1e07(0x103));}else console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x133))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x11f)));console[_0x2b1e07(0xe9)]('');_0x3e7363?(console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('MCP\x20config:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x3e7363[_0x2b1e07(0x130)])+_0x2b1e07(0x12a)+_0x3e7363[_0x2b1e07(0x112)][_0x2b1e07(0xe3)](',\x20'))),console['log'](_0x2b1e07(0xe0))):console[_0x2b1e07(0xe9)](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0x11d))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0x129)));console['log'](''),console['log'](a116_0x2295cf[_0x2b1e07(0x120)](_0x2b1e07(0xd1))+('\x20\x20'+(_0x41ca90?a116_0x2295cf['yellow'](_0x2b1e07(0x139)):a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xd5)))));_0x41ca90&&console[_0x2b1e07(0xe9)](_0x2b1e07(0xc6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2b1e07(0xe9)]('');if(_0x2f081e[_0x2b1e07(0xdd)]){const {currentVersion:_0x53083b,field:_0x1e2b85,pkgPath:_0x2b8cb2}=_0x2f081e[_0x2b1e07(0xdd)];console['log'](a116_0x2295cf[_0x2b1e07(0x120)]('@lovrabet/sdk:')+('\x20\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x2b8cb2))),console['log'](_0x2b1e07(0x118)+_0x1e2b85+':\x20'+a116_0x2295cf[_0x2b1e07(0xbf)](_0x53083b)+'\x20→\x20'+a116_0x2295cf[_0x2b1e07(0xf2)](_0x2b1e07(0xc0))),console[_0x2b1e07(0xe9)](_0x2b1e07(0x128));}else console[_0x2b1e07(0xe9)](a116_0x2295cf['cyan'](_0x2b1e07(0x10e))+'\x20\x20'+a116_0x2295cf[_0x2b1e07(0xe1)](_0x2b1e07(0xfe)));console['log']('');}function execConfigMigration(_0x2830fd,_0x3144af){const _0xfb3ed9=a116_0x4fa0ac,{configMigration:_0x3e3d8d}=_0x2830fd;if(!_0x3e3d8d?.['oldPath'])return{'step':0x1,'label':_0xfb3ed9(0x101),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x1b4d7d=readConfigFile(_0x3e3d8d['oldPath']),_0x67190b=resolve(_0x3144af,NEW_CONFIG_NAME),_0x2dfe85=_0x3e3d8d[_0xfb3ed9(0x122)]?readConfigFile(_0x67190b):{};for(const [_0x1a70ef,_0x2e28aa]of Object[_0xfb3ed9(0x105)](_0x1b4d7d)){!(_0x1a70ef in _0x2dfe85)&&(_0x2dfe85[_0x1a70ef]=_0x2e28aa);}writeConfigFile(_0x67190b,_0x2dfe85);const _0x815d1c=_0x3e3d8d[_0xfb3ed9(0x136)]+'.bak';return renameSync(_0x3e3d8d['oldPath'],_0x815d1c),{'step':0x1,'label':_0xfb3ed9(0x101),'ok':!![],'detail':_0x3e3d8d[_0xfb3ed9(0x136)]+_0xfb3ed9(0x119)+_0x67190b+'\x20(backup:\x20'+_0x815d1c+')'};}function execRemoveOldArtifacts(_0xfb1529){const _0x9949d6=a116_0x4fa0ac,_0x2c6a91=[];for(const _0x4498b1 of _0xfb1529){try{if(!existsSync(_0x4498b1))continue;const _0x2e8a56=tryStat(_0x4498b1);_0x2e8a56?.['isDirectory']()?rmSync(_0x4498b1,{'recursive':!![],'force':!![]}):unlinkSync(_0x4498b1);}catch(_0xe5b202){_0x2c6a91[_0x9949d6(0xd2)](_0x4498b1+':\x20'+_0xe5b202[_0x9949d6(0x132)]);}}return{'step':0x3,'label':_0x9949d6(0xc8),'ok':_0x2c6a91[_0x9949d6(0xc1)]===0x0,'detail':_0x2c6a91[_0x9949d6(0xc1)]>0x0?_0xfb1529[_0x9949d6(0xc1)]-_0x2c6a91['length']+'/'+_0xfb1529[_0x9949d6(0xc1)]+'\x20removed\x20('+_0x2c6a91['join'](';\x20')+')':_0xfb1529[_0x9949d6(0xc1)]+_0x9949d6(0x100)};}function a116_0x3958(_0x438278,_0x542093){_0x438278=_0x438278-0xbc;const _0x43ca3e=a116_0x43ca();let _0x3958ad=_0x43ca3e[_0x438278];return _0x3958ad;}function execCleanMcp(_0x23e79b){const _0x481f5e=a116_0x4fa0ac;if(!_0x23e79b[_0x481f5e(0xcc)])return{'step':0x4,'label':_0x481f5e(0xe5),'ok':!![],'detail':'skipped'};try{const _0xe3e8c5=readFileSync(_0x23e79b[_0x481f5e(0xcc)]['path'],_0x481f5e(0x11c)),_0x333aa8=JSON[_0x481f5e(0xd9)](_0xe3e8c5);if(_0x333aa8?.[_0x481f5e(0xcd)]&&typeof _0x333aa8[_0x481f5e(0xcd)]===_0x481f5e(0x123)){const _0x2c53f7=[];for(const [_0x30c75a,_0x3d2680]of Object['entries'](_0x333aa8[_0x481f5e(0xcd)])){_0x3d2680?.[_0x481f5e(0xef)]&&Array[_0x481f5e(0xcf)](_0x3d2680['args'])&&_0x3d2680[_0x481f5e(0xef)][_0x481f5e(0xc9)](_0x644881=>typeof _0x644881===_0x481f5e(0xee)&&_0x644881[_0x481f5e(0x131)](_0x481f5e(0x11a)))&&_0x2c53f7['push'](_0x30c75a);}for(const _0x5d9db2 of _0x2c53f7){delete _0x333aa8['mcpServers'][_0x5d9db2];}return _0x2c53f7[_0x481f5e(0xc1)]>0x0&&writeFileSync(_0x23e79b[_0x481f5e(0xcc)]['path'],JSON[_0x481f5e(0x124)](_0x333aa8,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x481f5e(0xe5),'ok':!![],'detail':'removed\x20'+_0x2c53f7['join'](',\x20')+'\x20from\x20'+_0x23e79b[_0x481f5e(0xcc)][_0x481f5e(0x130)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x350bfb){return{'step':0x4,'label':_0x481f5e(0xe5),'ok':![],'detail':_0x350bfb[_0x481f5e(0x132)]};}}function execSkillsRemove(_0x2e3fbc,_0x567838){const _0x311790=a116_0x4fa0ac,_0x3541c3=runNpxSkillsRemove(_0x2e3fbc,{'stdio':_0x311790(0xce),'yes':_0x567838});return{'step':0x5,'label':_0x311790(0xd0),'ok':_0x3541c3['ok'],'detail':_0x3541c3['ok']?_0x311790(0xd8):_0x3541c3[_0x311790(0x135)]??'exit\x20'+_0x3541c3['status']};}function execSkillsAdd(_0x4f9909,_0x94b02a){const _0x220ab4=a116_0x4fa0ac,_0x297e6f=runNpxSkillsAddGlobal(_0x4f9909,_0x220ab4(0x104),{'stdio':_0x220ab4(0xce),'yes':_0x94b02a});return{'step':0x6,'label':_0x220ab4(0xec),'ok':_0x297e6f['ok'],'detail':_0x297e6f['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x297e6f[_0x220ab4(0x135)]??_0x220ab4(0x11b)+_0x297e6f[_0x220ab4(0xe7)]};}function execUpgradeSdk(_0x429e52){const _0x5ce7ab=a116_0x4fa0ac;if(!_0x429e52[_0x5ce7ab(0xdd)])return{'step':0x7,'label':_0x5ce7ab(0xf7),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x426b42,currentVersion:_0x5c2893,field:_0x2b2373}=_0x429e52['sdkUpgrade'];try{const _0x244db2=readFileSync(_0x426b42,_0x5ce7ab(0x11c)),_0x2f5b69=JSON[_0x5ce7ab(0xd9)](_0x244db2);return _0x2f5b69[_0x2b2373][_0x5ce7ab(0x13a)]='latest',writeFileSync(_0x426b42,JSON[_0x5ce7ab(0x124)](_0x2f5b69,null,0x2)+'\x0a',_0x5ce7ab(0x11c)),{'step':0x7,'label':_0x5ce7ab(0xf7),'ok':!![],'detail':_0x2b2373+_0x5ce7ab(0xc2)+_0x5c2893+_0x5ce7ab(0xda)};}catch(_0x37f8a8){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x37f8a8[_0x5ce7ab(0x132)]};}}function tryStat(_0x50b287){try{return statSync(_0x50b287);}catch{return undefined;}}function printSummary(_0x1b92f9){const _0xab0e0a=a116_0x4fa0ac;console[_0xab0e0a(0xe9)](''),console[_0xab0e0a(0xe9)](a116_0x2295cf[_0xab0e0a(0xd7)]('===\x20Upgrade\x20Summary\x20===')),console[_0xab0e0a(0xe9)]('');for(const _0x557363 of _0x1b92f9){const _0x1aff94=_0x557363['ok']?a116_0x2295cf[_0xab0e0a(0xf2)]('OK'):a116_0x2295cf[_0xab0e0a(0xf0)](_0xab0e0a(0x117));console['log']('\x20\x20'+_0x1aff94+'\x20\x20Step\x20'+_0x557363[_0xab0e0a(0x113)]+':\x20'+_0x557363[_0xab0e0a(0x10f)]);if(_0x557363['detail'])console[_0xab0e0a(0xe9)]('\x20\x20\x20\x20\x20\x20\x20'+a116_0x2295cf['gray'](_0x557363[_0xab0e0a(0xed)]));}console['log']('');}export async function upgradeApp(_0x12717f,_0x2da2fd){const _0x1fd814=a116_0x4fa0ac,_0x46cf19=process[_0x1fd814(0xca)](),_0x40f997=analyse(_0x46cf19),_0x153198=!_0x40f997[_0x1fd814(0xdc)]&&_0x40f997['oldArtifacts'][_0x1fd814(0xc1)]===0x0&&!_0x40f997[_0x1fd814(0xcc)]&&!_0x40f997['needsSkillSwap']&&!_0x40f997['sdkUpgrade'];if(_0x153198){console['log'](a116_0x2295cf[_0x1fd814(0xf2)](_0x1fd814(0x109)));return;}printReport(_0x40f997);const _0x3bba57=!!(_0x2da2fd[_0x1fd814(0xbc)]||_0x2da2fd['Y']||_0x12717f);if(!_0x3bba57)try{const _0xd9335d=await askConfirm(_0x1fd814(0xea));if(!_0xd9335d){console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xe1)](_0x1fd814(0x111)));return;}}catch(_0x5722b2){if(_0x5722b2?.[_0x1fd814(0x132)]===_0x1fd814(0x12c)){console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xe1)](_0x1fd814(0x111)));return;}throw _0x5722b2;}const _0x3f4032=[],_0x1a467f=a116_0x20ad00({'text':_0x1fd814(0x121),'color':_0x1fd814(0x120)})['start'](),_0x520151=execConfigMigration(_0x40f997,_0x46cf19);_0x3f4032[_0x1fd814(0xd2)](_0x520151),_0x1a467f[_0x520151['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)](_0x1fd814(0xbe)+(_0x520151[_0x1fd814(0xed)]??(_0x520151['ok']?'done':_0x1fd814(0xd4))));const _0x34d03a=resolve(_0x46cf19,'.lovrabet'),_0x2e9a48=a116_0x20ad00({'text':_0x1fd814(0x125),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)]();if(existsSync(_0x34d03a))try{rmSync(_0x34d03a,{'recursive':!![],'force':!![]}),_0x2e9a48[_0x1fd814(0x10d)](_0x1fd814(0xf3)),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':!![]});}catch(_0x5a88ae){_0x2e9a48['fail'](_0x1fd814(0xc5)+_0x5a88ae[_0x1fd814(0x132)]),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':![],'detail':_0x5a88ae['message']});}else _0x2e9a48['info'](_0x1fd814(0x10c)),_0x3f4032[_0x1fd814(0xd2)]({'step':0x2,'label':_0x1fd814(0x138),'ok':!![],'detail':_0x1fd814(0x12f)});const _0x6c5b14=a116_0x20ad00({'text':_0x1fd814(0xe4),'color':_0x1fd814(0x120)})['start'](),_0x545a52=execRemoveOldArtifacts(_0x40f997[_0x1fd814(0x107)]);_0x3f4032[_0x1fd814(0xd2)](_0x545a52),_0x6c5b14[_0x545a52['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)](_0x1fd814(0x116)+(_0x545a52[_0x1fd814(0xed)]??(_0x545a52['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x115941=a116_0x20ad00({'text':_0x1fd814(0xdb),'color':_0x1fd814(0x120)})['start'](),_0x8789b5=execCleanMcp(_0x40f997);_0x3f4032[_0x1fd814(0xd2)](_0x8789b5),_0x115941[_0x8789b5['ok']?_0x1fd814(0x10d):_0x1fd814(0x12e)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x8789b5[_0x1fd814(0xed)]??(_0x8789b5['ok']?_0x1fd814(0xd3):'failed')));const _0x46ee44=a116_0x20ad00({'text':_0x1fd814(0xde),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0x52e278=execSkillsRemove(_0x46cf19,_0x3bba57);_0x3f4032[_0x1fd814(0xd2)](_0x52e278),_0x46ee44[_0x52e278['ok']?'succeed':_0x1fd814(0x12e)](_0x1fd814(0x134)+(_0x52e278['detail']??(_0x52e278['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x23932a=a116_0x20ad00({'text':_0x1fd814(0x110),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0xed43d3=execSkillsAdd(_0x46cf19,_0x3bba57);_0x3f4032[_0x1fd814(0xd2)](_0xed43d3),_0x23932a[_0xed43d3['ok']?'succeed':'fail'](_0x1fd814(0xdf)+(_0xed43d3[_0x1fd814(0xed)]??(_0xed43d3['ok']?_0x1fd814(0xd3):_0x1fd814(0xd4))));const _0x4344e6=a116_0x20ad00({'text':_0x1fd814(0x10a),'color':_0x1fd814(0x120)})[_0x1fd814(0xeb)](),_0x3ab56a=execUpgradeSdk(_0x40f997);_0x3f4032['push'](_0x3ab56a),_0x4344e6[_0x3ab56a['ok']?'succeed':_0x1fd814(0x12e)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x3ab56a[_0x1fd814(0xed)]??(_0x3ab56a['ok']?'done':_0x1fd814(0xd4)))),printSummary(_0x3f4032);const _0x4c08a9=_0x3f4032['some'](_0x29f7ac=>!_0x29f7ac['ok']);_0x4c08a9?console[_0x1fd814(0xe9)](a116_0x2295cf['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xf2)](_0x1fd814(0x115))),_0x3ab56a['ok']&&_0x40f997[_0x1fd814(0xdd)]&&(console[_0x1fd814(0xe9)](''),console['log'](a116_0x2295cf[_0x1fd814(0xd7)][_0x1fd814(0x120)](_0x1fd814(0x102))),console['log'](a116_0x2295cf[_0x1fd814(0x120)](_0x1fd814(0x12b))),console[_0x1fd814(0xe9)](''),console[_0x1fd814(0xe9)](a116_0x2295cf['white'](_0x1fd814(0xe2))),console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xcb)](_0x1fd814(0x13b))),console[_0x1fd814(0xe9)](a116_0x2295cf[_0x1fd814(0xcb)](_0x1fd814(0xfd))),console[_0x1fd814(0xe9)](''));}
|
|
1
|
+
(function(_0x1a3264,_0xe5c905){const _0x3e5558=a116_0x493a,_0x3154a6=_0x1a3264();while(!![]){try{const _0x1d3926=parseInt(_0x3e5558(0x1d0))/0x1+-parseInt(_0x3e5558(0x1ac))/0x2+parseInt(_0x3e5558(0x1fa))/0x3+-parseInt(_0x3e5558(0x192))/0x4+parseInt(_0x3e5558(0x206))/0x5*(-parseInt(_0x3e5558(0x1c5))/0x6)+parseInt(_0x3e5558(0x19b))/0x7+-parseInt(_0x3e5558(0x1e8))/0x8*(-parseInt(_0x3e5558(0x1a7))/0x9);if(_0x1d3926===_0xe5c905)break;else _0x3154a6['push'](_0x3154a6['shift']());}catch(_0xf9b78b){_0x3154a6['push'](_0x3154a6['shift']());}}}(a116_0x327f,0xaaf16));function a116_0x493a(_0x18264e,_0x215ca3){_0x18264e=_0x18264e-0x190;const _0x327fbb=a116_0x327f();let _0x493a18=_0x327fbb[_0x18264e];return _0x493a18;}import a116_0x52e7c2 from'chalk';import a116_0x4ddca7 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';function a116_0x327f(){const _0x2077f8=['yes','oldPath','hasNewConfig','\x20(backup:\x20','step','gray','package.json','already\x20exists\x20(will\x20merge)','Upgrade\x20cancelled.','path','isDirectory','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','latest','log','cyan','files','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','825426BvJeuL','no\x20legacy\x20config\x20found','===\x20Upgrade\x20Analysis\x20===','push','@lovrabet/dataset-mcp-server','join','dependencies','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20Step\x20','Skill\x20swap:','error','1145bErisW','stringify','entries','@lovrabet/sdk:','status','\x20→\x20','263372JNDTfr','object','needed','Config\x20file:','string','\x20\x20Fields\x20to\x20migrate:\x20','none\x20found','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Remove\x20legacy\x20artifacts','845229FvTfcz','Legacy\x20artifacts:','bold','\x20→\x20keys:\x20','lovrabet/rabetbase\x20installed\x20globally','Step\x204/7:\x20MCP\x20config\x20—\x20','skipped','.cursor/mcp.json','Remove\x20old\x20skill','@lovrabet/sdk','Config\x20migration','some','1636623OMPCcN','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','succeed','cwd','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','2444454tTiBCb','parse','values','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','.bak','white','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','red','configMigration','no\x20matching\x20entry\x20found','\x20removed','lovrabet/lovrabet-skill\x20removed','utf8','failed','Step\x201/7:\x20Migrating\x20config...','oldMcpConfig','inherit','undefined','\x20\x20#\x20or','green','Remove\x20.lovrabet/','CANCEL','sdkUpgrade','yellow','20220OBUiNI','lovrabet/rabetbase','isArray','info','mcpServers','no\x20legacy\x20entry','devDependencies','start','args','needsSkillSwap','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','82Pnlqad','fields','length','\x20\x20Action:\x20delete','fail','MCP\x20config:','exit\x20','includes','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','done','oldArtifacts','message','keys','detail','\x20→\x20latest','Clean\x20MCP\x20config','skipped\x20(no\x20legacy\x20config)','FOUND','\x20\x20npm\x20install','Proceed\x20with\x20upgrade?','\x20\x20New\x20config\x20(.rabetbase.json):\x20','===\x20Upgrade\x20Summary\x20===','Upgrade\x20@lovrabet/sdk','104WBXAdA'];a116_0x327f=function(){return _0x2077f8;};return a116_0x327f();}import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x5588ee=>_0x5588ee!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x38b3c0){const _0xe89bf2=a116_0x493a,_0x3239a6=[];for(const _0x39f521 of Object[_0xe89bf2(0x1ae)](CORE_IDE_CONFIGS)){if(_0x39f521[_0xe89bf2(0x1f8)])for(const _0x44df97 of _0x39f521['files']){_0x3239a6[_0xe89bf2(0x1fd)](resolve(_0x38b3c0,_0x44df97[_0xe89bf2(0x1f2)]));}}return _0x3239a6;}function analyse(_0x54e9be){const _0x10298a=a116_0x493a;let _0x1f344c=null;const _0x9cd8a0=resolve(_0x54e9be,NEW_CONFIG_NAME),_0x4c9a45=existsSync(_0x9cd8a0);for(const _0x32a200 of LEGACY_CONFIG_NAMES){const _0x9a27df=resolve(_0x54e9be,_0x32a200);if(existsSync(_0x9a27df)){const _0x50786d=readConfigFile(_0x9a27df),_0x53e2b2=Object['keys'](_0x50786d)['filter'](_0x3084fe=>typeof _0x50786d[_0x3084fe]!==_0x10298a(0x1be));_0x1f344c={'oldPath':_0x9a27df,'hasNewConfig':_0x4c9a45,'fields':_0x53e2b2};break;}}const _0x1b4b91=[],_0x1f6b4a=resolve(_0x54e9be,'.lovrabet');if(existsSync(_0x1f6b4a))_0x1b4b91[_0x10298a(0x1fd)](_0x1f6b4a);const _0x4ec186=resolve(_0x54e9be,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x4ec186))_0x1b4b91[_0x10298a(0x1fd)](_0x4ec186);const _0x19c365=resolve(_0x54e9be,'.claude/skills/lovrabet');if(existsSync(_0x19c365))_0x1b4b91[_0x10298a(0x1fd)](_0x19c365);for(const _0x187e8c of collectIdeSkillFiles(_0x54e9be)){if(existsSync(_0x187e8c))_0x1b4b91['push'](_0x187e8c);}let _0x10589d=null;const _0x9cb9d9=resolve(_0x54e9be,_0x10298a(0x1a2));if(existsSync(_0x9cb9d9))try{const _0x30c3af=JSON[_0x10298a(0x1ad)](readFileSync(_0x9cb9d9,_0x10298a(0x1b9)));if(_0x30c3af?.[_0x10298a(0x1c9)]&&typeof _0x30c3af[_0x10298a(0x1c9)]===_0x10298a(0x193)){const _0x56b085=[];for(const [_0x3c213d,_0xa63ae4]of Object[_0x10298a(0x208)](_0x30c3af['mcpServers'])){const _0x43cb5f=_0xa63ae4;_0x43cb5f?.[_0x10298a(0x1cd)]&&Array[_0x10298a(0x1c7)](_0x43cb5f['args'])&&_0x43cb5f['args'][_0x10298a(0x1a6)](_0x594ed1=>typeof _0x594ed1==='string'&&_0x594ed1['includes'](_0x10298a(0x1fe)))&&_0x56b085['push'](_0x3c213d);}_0x56b085[_0x10298a(0x1d2)]>0x0&&(_0x10589d={'path':_0x9cb9d9,'keys':_0x56b085});}}catch{}const _0x10efb3=_0x1b4b91[_0x10298a(0x1d2)]>0x0||_0x1f344c!==null;let _0x4bbddf=null;const _0x3dc58e=resolve(_0x54e9be,_0x10298a(0x1ef));if(existsSync(_0x3dc58e))try{const _0x4fff5d=JSON[_0x10298a(0x1ad)](readFileSync(_0x3dc58e,_0x10298a(0x1b9)));for(const _0x37e98c of[_0x10298a(0x200),_0x10298a(0x1cb)]){const _0x2b00f8=_0x4fff5d?.[_0x37e98c]?.[_0x10298a(0x1a4)];if(typeof _0x2b00f8==='string'){_0x2b00f8!==_0x10298a(0x1f5)&&(_0x4bbddf={'pkgPath':_0x3dc58e,'currentVersion':_0x2b00f8,'field':_0x37e98c});break;}}}catch{}return{'configMigration':_0x1f344c,'oldArtifacts':_0x1b4b91,'oldMcpConfig':_0x10589d,'needsSkillSwap':_0x10efb3,'sdkUpgrade':_0x4bbddf};}function printReport(_0x5b57fd){const _0x153051=a116_0x493a,{configMigration:_0x53c4e9,oldArtifacts:_0xcf66e2,oldMcpConfig:_0x9f9fa0,needsSkillSwap:_0x494007}=_0x5b57fd;console[_0x153051(0x1f6)](''),console['log'](a116_0x52e7c2[_0x153051(0x19d)](_0x153051(0x1fc))),console[_0x153051(0x1f6)]('');_0x53c4e9?(console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x195))+('\x20\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0x53c4e9['oldPath']))),console[_0x153051(0x1f6)](_0x153051(0x1e5)+(_0x53c4e9['hasNewConfig']?a116_0x52e7c2[_0x153051(0x1c0)](_0x153051(0x1f0)):a116_0x52e7c2['gray']('not\x20found\x20(will\x20create)'))),console[_0x153051(0x1f6)](_0x153051(0x197)+_0x53c4e9[_0x153051(0x1d1)][_0x153051(0x1ff)](',\x20')),console[_0x153051(0x1f6)](_0x153051(0x1b0))):console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x195))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x1fb)));console[_0x153051(0x1f6)]('');if(_0xcf66e2[_0x153051(0x1d2)]>0x0){console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x19c)));for(const _0x20491f of _0xcf66e2){console[_0x153051(0x1f6)]('\x20\x20'+a116_0x52e7c2[_0x153051(0x1b4)](_0x153051(0x1e2))+'\x20\x20'+_0x20491f);}console[_0x153051(0x1f6)](_0x153051(0x1d3));}else console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x19c))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x198)));console['log']('');_0x9f9fa0?(console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x1d5))+('\x20\x20'+a116_0x52e7c2['yellow'](_0x9f9fa0[_0x153051(0x1f2)])+_0x153051(0x19e)+_0x9f9fa0[_0x153051(0x1dd)][_0x153051(0x1ff)](',\x20'))),console[_0x153051(0x1f6)](_0x153051(0x1f4))):console['log'](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x1d5))+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)](_0x153051(0x1ca)));console[_0x153051(0x1f6)](''),console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x204))+('\x20\x20'+(_0x494007?a116_0x52e7c2[_0x153051(0x1c4)](_0x153051(0x194)):a116_0x52e7c2[_0x153051(0x1c0)]('not\x20needed'))));_0x494007&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x5b57fd[_0x153051(0x1c3)]){const {currentVersion:_0x49d5fe,field:_0xf02dd9,pkgPath:_0xa6e4cb}=_0x5b57fd[_0x153051(0x1c3)];console[_0x153051(0x1f6)](a116_0x52e7c2[_0x153051(0x1f7)](_0x153051(0x209))+('\x20\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0xa6e4cb))),console[_0x153051(0x1f6)]('\x20\x20Current\x20version\x20in\x20'+_0xf02dd9+':\x20'+a116_0x52e7c2[_0x153051(0x1c4)](_0x49d5fe)+_0x153051(0x191)+a116_0x52e7c2[_0x153051(0x1c0)](_0x153051(0x1f5))),console[_0x153051(0x1f6)](_0x153051(0x1cf));}else console['log'](a116_0x52e7c2[_0x153051(0x1f7)]('@lovrabet/sdk:')+'\x20\x20'+a116_0x52e7c2[_0x153051(0x1ee)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x153051(0x1f6)]('');}function execConfigMigration(_0x2df5e6,_0x1f1058){const _0x33f1b9=a116_0x493a,{configMigration:_0x5e39a2}=_0x2df5e6;if(!_0x5e39a2?.[_0x33f1b9(0x1ea)])return{'step':0x1,'label':_0x33f1b9(0x1a5),'ok':!![],'detail':_0x33f1b9(0x1e1)};const _0x276f81=readConfigFile(_0x5e39a2[_0x33f1b9(0x1ea)]),_0x564556=resolve(_0x1f1058,NEW_CONFIG_NAME),_0x308551=_0x5e39a2[_0x33f1b9(0x1eb)]?readConfigFile(_0x564556):{};for(const [_0xf8a899,_0x65a43f]of Object[_0x33f1b9(0x208)](_0x276f81)){!(_0xf8a899 in _0x308551)&&(_0x308551[_0xf8a899]=_0x65a43f);}writeConfigFile(_0x564556,_0x308551);const _0x2330a4=_0x5e39a2[_0x33f1b9(0x1ea)]+_0x33f1b9(0x1b1);return renameSync(_0x5e39a2[_0x33f1b9(0x1ea)],_0x2330a4),{'step':0x1,'label':_0x33f1b9(0x1a5),'ok':!![],'detail':_0x5e39a2['oldPath']+_0x33f1b9(0x191)+_0x564556+_0x33f1b9(0x1ec)+_0x2330a4+')'};}function execRemoveOldArtifacts(_0xf405ec){const _0x56453d=a116_0x493a,_0x3f9146=[];for(const _0x3fc0cb of _0xf405ec){try{if(!existsSync(_0x3fc0cb))continue;const _0x53364d=tryStat(_0x3fc0cb);_0x53364d?.[_0x56453d(0x1f3)]()?rmSync(_0x3fc0cb,{'recursive':!![],'force':!![]}):unlinkSync(_0x3fc0cb);}catch(_0x4e8f48){_0x3f9146['push'](_0x3fc0cb+':\x20'+_0x4e8f48[_0x56453d(0x1dc)]);}}return{'step':0x3,'label':_0x56453d(0x19a),'ok':_0x3f9146[_0x56453d(0x1d2)]===0x0,'detail':_0x3f9146[_0x56453d(0x1d2)]>0x0?_0xf405ec['length']-_0x3f9146[_0x56453d(0x1d2)]+'/'+_0xf405ec[_0x56453d(0x1d2)]+'\x20removed\x20('+_0x3f9146['join'](';\x20')+')':_0xf405ec[_0x56453d(0x1d2)]+_0x56453d(0x1b7)};}function execCleanMcp(_0x306512){const _0x1996a0=a116_0x493a;if(!_0x306512['oldMcpConfig'])return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':_0x1996a0(0x1a1)};try{const _0x534615=readFileSync(_0x306512['oldMcpConfig'][_0x1996a0(0x1f2)],_0x1996a0(0x1b9)),_0x2ce9b2=JSON[_0x1996a0(0x1ad)](_0x534615);if(_0x2ce9b2?.[_0x1996a0(0x1c9)]&&typeof _0x2ce9b2[_0x1996a0(0x1c9)]===_0x1996a0(0x193)){const _0x311af5=[];for(const [_0x1d3516,_0x2b2c96]of Object['entries'](_0x2ce9b2[_0x1996a0(0x1c9)])){_0x2b2c96?.[_0x1996a0(0x1cd)]&&Array[_0x1996a0(0x1c7)](_0x2b2c96[_0x1996a0(0x1cd)])&&_0x2b2c96[_0x1996a0(0x1cd)][_0x1996a0(0x1a6)](_0x38403f=>typeof _0x38403f===_0x1996a0(0x196)&&_0x38403f[_0x1996a0(0x1d7)](_0x1996a0(0x1fe)))&&_0x311af5[_0x1996a0(0x1fd)](_0x1d3516);}for(const _0x4130b1 of _0x311af5){delete _0x2ce9b2[_0x1996a0(0x1c9)][_0x4130b1];}return _0x311af5[_0x1996a0(0x1d2)]>0x0&&writeFileSync(_0x306512['oldMcpConfig']['path'],JSON[_0x1996a0(0x207)](_0x2ce9b2,null,0x2)+'\x0a',_0x1996a0(0x1b9)),{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':'removed\x20'+_0x311af5[_0x1996a0(0x1ff)](',\x20')+'\x20from\x20'+_0x306512[_0x1996a0(0x1bc)][_0x1996a0(0x1f2)]};}return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':!![],'detail':_0x1996a0(0x1b6)};}catch(_0x3dc340){return{'step':0x4,'label':_0x1996a0(0x1e0),'ok':![],'detail':_0x3dc340[_0x1996a0(0x1dc)]};}}function execSkillsRemove(_0xcf16a7,_0x52a590){const _0x3c1922=a116_0x493a,_0xba686a=runNpxSkillsRemove(_0xcf16a7,{'stdio':_0x3c1922(0x1bd),'yes':_0x52a590});return{'step':0x5,'label':_0x3c1922(0x1a3),'ok':_0xba686a['ok'],'detail':_0xba686a['ok']?_0x3c1922(0x1b8):_0xba686a[_0x3c1922(0x205)]??_0x3c1922(0x1d6)+_0xba686a[_0x3c1922(0x190)]};}function execSkillsAdd(_0x253a63,_0x3b9788){const _0x1b7dc8=a116_0x493a,_0x1ff055=runNpxSkillsAddGlobal(_0x253a63,_0x1b7dc8(0x1c6),{'stdio':_0x1b7dc8(0x1bd),'yes':_0x3b9788});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x1ff055['ok'],'detail':_0x1ff055['ok']?_0x1b7dc8(0x19f):_0x1ff055[_0x1b7dc8(0x205)]??'exit\x20'+_0x1ff055[_0x1b7dc8(0x190)]};}function execUpgradeSdk(_0x7cce5c){const _0xb435c5=a116_0x493a;if(!_0x7cce5c['sdkUpgrade'])return{'step':0x7,'label':_0xb435c5(0x1e7),'ok':!![],'detail':_0xb435c5(0x1ab)};const {pkgPath:_0xaa7d8c,currentVersion:_0x69b844,field:_0x2e76d3}=_0x7cce5c[_0xb435c5(0x1c3)];try{const _0x2f1544=readFileSync(_0xaa7d8c,_0xb435c5(0x1b9)),_0x5d7201=JSON[_0xb435c5(0x1ad)](_0x2f1544);return _0x5d7201[_0x2e76d3][_0xb435c5(0x1a4)]='latest',writeFileSync(_0xaa7d8c,JSON[_0xb435c5(0x207)](_0x5d7201,null,0x2)+'\x0a',_0xb435c5(0x1b9)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x2e76d3+'[\x22@lovrabet/sdk\x22]:\x20'+_0x69b844+_0xb435c5(0x1df)};}catch(_0x4fbd83){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x4fbd83[_0xb435c5(0x1dc)]};}}function tryStat(_0x260c44){try{return statSync(_0x260c44);}catch{return undefined;}}function printSummary(_0x205e37){const _0x5f10d8=a116_0x493a;console['log'](''),console[_0x5f10d8(0x1f6)](a116_0x52e7c2['bold'](_0x5f10d8(0x1e6))),console[_0x5f10d8(0x1f6)]('');for(const _0x1b7fdb of _0x205e37){const _0x189f9c=_0x1b7fdb['ok']?a116_0x52e7c2['green']('OK'):a116_0x52e7c2[_0x5f10d8(0x1b4)]('FAIL');console[_0x5f10d8(0x1f6)]('\x20\x20'+_0x189f9c+_0x5f10d8(0x203)+_0x1b7fdb[_0x5f10d8(0x1ed)]+':\x20'+_0x1b7fdb['label']);if(_0x1b7fdb['detail'])console[_0x5f10d8(0x1f6)]('\x20\x20\x20\x20\x20\x20\x20'+a116_0x52e7c2[_0x5f10d8(0x1ee)](_0x1b7fdb[_0x5f10d8(0x1de)]));}console[_0x5f10d8(0x1f6)]('');}export async function upgradeApp(_0x26bc27,_0x1c288c){const _0x363b62=a116_0x493a,_0x26f19c=process[_0x363b62(0x1aa)](),_0x3a39f6=analyse(_0x26f19c),_0x3af7b4=!_0x3a39f6[_0x363b62(0x1b5)]&&_0x3a39f6[_0x363b62(0x1db)]['length']===0x0&&!_0x3a39f6['oldMcpConfig']&&!_0x3a39f6[_0x363b62(0x1ce)]&&!_0x3a39f6[_0x363b62(0x1c3)];if(_0x3af7b4){console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c0)](_0x363b62(0x1f9)));return;}printReport(_0x3a39f6);const _0x1b839f=!!(_0x1c288c[_0x363b62(0x1e9)]||_0x1c288c['Y']||_0x26bc27);if(!_0x1b839f)try{const _0x300ebe=await askConfirm(_0x363b62(0x1e4));if(!_0x300ebe){console[_0x363b62(0x1f6)](a116_0x52e7c2['gray'](_0x363b62(0x1f1)));return;}}catch(_0x33be66){if(_0x33be66?.[_0x363b62(0x1dc)]===_0x363b62(0x1c2)){console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1ee)](_0x363b62(0x1f1)));return;}throw _0x33be66;}const _0x24b1e9=[],_0x40e3b1=a116_0x4ddca7({'text':_0x363b62(0x1bb),'color':_0x363b62(0x1f7)})[_0x363b62(0x1cc)](),_0x94cc5c=execConfigMigration(_0x3a39f6,_0x26f19c);_0x24b1e9['push'](_0x94cc5c),_0x40e3b1[_0x94cc5c['ok']?_0x363b62(0x1a9):'fail']('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x94cc5c['detail']??(_0x94cc5c['ok']?'done':'failed')));const _0x599c5f=resolve(_0x26f19c,'.lovrabet'),_0x467d2b=a116_0x4ddca7({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':'cyan'})[_0x363b62(0x1cc)]();if(existsSync(_0x599c5f))try{rmSync(_0x599c5f,{'recursive':!![],'force':!![]}),_0x467d2b[_0x363b62(0x1a9)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':!![]});}catch(_0x5932b0){_0x467d2b[_0x363b62(0x1d4)](_0x363b62(0x1d9)+_0x5932b0[_0x363b62(0x1dc)]),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':![],'detail':_0x5932b0[_0x363b62(0x1dc)]});}else _0x467d2b[_0x363b62(0x1c8)](_0x363b62(0x202)),_0x24b1e9[_0x363b62(0x1fd)]({'step':0x2,'label':_0x363b62(0x1c1),'ok':!![],'detail':_0x363b62(0x1a1)});const _0x4fea17=a116_0x4ddca7({'text':_0x363b62(0x1af),'color':_0x363b62(0x1f7)})['start'](),_0x4f51c9=execRemoveOldArtifacts(_0x3a39f6[_0x363b62(0x1db)]);_0x24b1e9[_0x363b62(0x1fd)](_0x4f51c9),_0x4fea17[_0x4f51c9['ok']?'succeed':'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x4f51c9[_0x363b62(0x1de)]??(_0x4f51c9['ok']?'done':_0x363b62(0x1ba))));const _0x35f365=a116_0x4ddca7({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x363b62(0x1f7)})[_0x363b62(0x1cc)](),_0x38dbd9=execCleanMcp(_0x3a39f6);_0x24b1e9[_0x363b62(0x1fd)](_0x38dbd9),_0x35f365[_0x38dbd9['ok']?_0x363b62(0x1a9):_0x363b62(0x1d4)](_0x363b62(0x1a0)+(_0x38dbd9[_0x363b62(0x1de)]??(_0x38dbd9['ok']?_0x363b62(0x1da):_0x363b62(0x1ba))));const _0x11b098=a116_0x4ddca7({'text':_0x363b62(0x1d8),'color':_0x363b62(0x1f7)})['start'](),_0x3792e5=execSkillsRemove(_0x26f19c,_0x1b839f);_0x24b1e9[_0x363b62(0x1fd)](_0x3792e5),_0x11b098[_0x3792e5['ok']?_0x363b62(0x1a9):_0x363b62(0x1d4)](_0x363b62(0x199)+(_0x3792e5['detail']??(_0x3792e5['ok']?'done':_0x363b62(0x1ba))));const _0x3057d2=a116_0x4ddca7({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':'cyan'})[_0x363b62(0x1cc)](),_0xd13445=execSkillsAdd(_0x26f19c,_0x1b839f);_0x24b1e9[_0x363b62(0x1fd)](_0xd13445),_0x3057d2[_0xd13445['ok']?'succeed':_0x363b62(0x1d4)](_0x363b62(0x201)+(_0xd13445[_0x363b62(0x1de)]??(_0xd13445['ok']?_0x363b62(0x1da):'failed')));const _0x158bec=a116_0x4ddca7({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':'cyan'})[_0x363b62(0x1cc)](),_0x449af6=execUpgradeSdk(_0x3a39f6);_0x24b1e9[_0x363b62(0x1fd)](_0x449af6),_0x158bec[_0x449af6['ok']?_0x363b62(0x1a9):'fail'](_0x363b62(0x1b3)+(_0x449af6[_0x363b62(0x1de)]??(_0x449af6['ok']?_0x363b62(0x1da):_0x363b62(0x1ba)))),printSummary(_0x24b1e9);const _0x3ec4db=_0x24b1e9[_0x363b62(0x1a6)](_0x441cb9=>!_0x441cb9['ok']);_0x3ec4db?console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c4)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1c0)]('Upgrade\x20completed\x20successfully!')),_0x449af6['ok']&&_0x3a39f6[_0x363b62(0x1c3)]&&(console['log'](''),console[_0x363b62(0x1f6)](a116_0x52e7c2['bold']['cyan'](_0x363b62(0x1a8))),console['log'](a116_0x52e7c2[_0x363b62(0x1f7)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x363b62(0x1f6)](''),console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1b2)](_0x363b62(0x1e3))),console[_0x363b62(0x1f6)](a116_0x52e7c2['white'](_0x363b62(0x1bf))),console[_0x363b62(0x1f6)](a116_0x52e7c2[_0x363b62(0x1b2)]('\x20\x20bun\x20install')),console[_0x363b62(0x1f6)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x441475=a117_0x5058;(function(_0x2f7743,_0xde6702){const _0x55717b=a117_0x5058,_0x2a60cf=_0x2f7743();while(!![]){try{const _0x2630c5=-parseInt(_0x55717b(0xae))/0x1*(-parseInt(_0x55717b(0xcb))/0x2)+-parseInt(_0x55717b(0xaa))/0x3*(parseInt(_0x55717b(0x98))/0x4)+parseInt(_0x55717b(0xb4))/0x5*(-parseInt(_0x55717b(0xb7))/0x6)+-parseInt(_0x55717b(0xc3))/0x7+-parseInt(_0x55717b(0xb1))/0x8*(-parseInt(_0x55717b(0xb9))/0x9)+parseInt(_0x55717b(0xca))/0xa+parseInt(_0x55717b(0xa5))/0xb*(parseInt(_0x55717b(0xc6))/0xc);if(_0x2630c5===_0xde6702)break;else _0x2a60cf['push'](_0x2a60cf['shift']());}catch(_0x2c7e24){_0x2a60cf['push'](_0x2a60cf['shift']());}}}(a117_0x26cb,0x9307c));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';function a117_0x26cb(){const _0x12734a=['login','284yuAkcD','Database\x20Connections','wildcardDef','show','values','risk','Quick\x20Start','skill','write','Skills','run','defaultCommand','Configuration','4840CLbRkF','isSingleCommand','Run\x20any\x20package.json\x20script','description','build','4110OSEeKX','Schema','read','install','82067uFkQQe','Dataset\x20&\x20Operations','get','401352USdHXI','preview','logout','5976825zIoxqc','Instant\x20API','push','6sIlzNm','\x20\x20[write]','9frFJlD','create','SQL\x20Queries','set','Self\x20Update','API','command','project','commands','<script>','1592479MrPhFV','service','length','15276mhMAlK','map','Logs','Authentication','4452080OaDMCN','26bvtGAl'];a117_0x26cb=function(){return _0x12734a;};return a117_0x26cb();}import{issueDefinitions}from'../commands/issue/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a117_0x5058(_0x45b652,_0x227842){_0x45b652=_0x45b652-0x98;const _0x26cbe6=a117_0x26cb();let _0x5058d2=_0x26cbe6[_0x45b652];return _0x5058d2;}export const serviceGroups=new Map();function registerDefinitions(_0x3cad26){const _0x4a1de2=a117_0x5058;for(const _0x27f9a5 of _0x3cad26){definitions['set'](_0x27f9a5[_0x4a1de2(0xc4)]+':'+_0x27f9a5[_0x4a1de2(0xbf)],_0x27f9a5);let _0x3cb9d9=serviceGroups['get'](_0x27f9a5['service']);!_0x3cb9d9&&(_0x3cb9d9=[],serviceGroups['set'](_0x27f9a5[_0x4a1de2(0xc4)],_0x3cb9d9)),_0x3cb9d9[_0x4a1de2(0xb6)](_0x27f9a5);}}function registerDeclarativeService(_0x4d1918,_0x31e2fa,_0x1d0b4c){const _0x4cb522=a117_0x5058;registerDefinitions(_0x31e2fa);_0x1d0b4c?.[_0x4cb522(0x9a)]&®isterDefinitions([_0x1d0b4c[_0x4cb522(0x9a)]]);const _0x401c52=_0x1f21fe=>_0x1f21fe===_0x4cb522(0xac)?'':_0x1f21fe===_0x4cb522(0xa0)?_0x4cb522(0xb8):'\x20\x20[high-risk-write]',_0x491bfc={'service':_0x31e2fa[0x0]['service'],'label':_0x4d1918,'commands':_0x31e2fa[_0x4cb522(0xc7)](_0x3cf383=>({'command':_0x3cf383[_0x4cb522(0xbf)],'description':_0x3cf383[_0x4cb522(0xa8)],'tag':_0x401c52(_0x3cf383[_0x4cb522(0x9d)])})),'declarative':!![],'defaultCommand':_0x1d0b4c?.[_0x4cb522(0xa3)]??(_0x1d0b4c?.[_0x4cb522(0xa6)]?_0x31e2fa[0x0][_0x4cb522(0xbf)]:undefined),'wildcardDef':_0x1d0b4c?.[_0x4cb522(0x9a)],'isSingleCommand':_0x1d0b4c?.[_0x4cb522(0xa6)]};serviceRegistry[_0x4cb522(0xb6)](_0x491bfc),serviceByName[_0x4cb522(0xbc)](_0x491bfc[_0x4cb522(0xc4)],_0x491bfc);}registerDeclarativeService(a117_0x441475(0x9e),initDefinitions,{'defaultCommand':a117_0x441475(0xa2),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a117_0x441475(0xc5)]-0x1];last[a117_0x441475(0xc1)]=[{'command':a117_0x441475(0xc2),'description':a117_0x441475(0xa7),'tag':''}];}registerDeclarativeService(a117_0x441475(0xc9),authDefinitions,{'defaultCommand':a117_0x441475(0xcc)}),registerDeclarativeService(a117_0x441475(0xbd),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x441475(0xab),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a117_0x441475(0xa4),configDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a117_0x441475(0xbe),apiDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a117_0x441475(0x99),dbDefinitions),registerDeclarativeService(a117_0x441475(0xaf),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a117_0x441475(0xb5),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a117_0x441475(0xbb),sqlDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a117_0x441475(0xa1),skillDefinitions),registerDeclarativeService(a117_0x441475(0xc8),logsDefinitions,{'defaultCommand':a117_0x441475(0x9b)});export const deprecatedAliases={'create':{'service':a117_0x441475(0xc0),'command':a117_0x441475(0xba)},'start':{'service':a117_0x441475(0xa2),'command':'start'},'build':{'service':a117_0x441475(0xa2),'command':a117_0x441475(0xa9)},'preview':{'service':'run','command':a117_0x441475(0xb2)},'logout':{'service':'auth','command':a117_0x441475(0xb3)},'skills':{'service':a117_0x441475(0x9f),'command':a117_0x441475(0xad)}};export const deprecatedSubcommands={'bff':{'new':a117_0x441475(0xba)},'sql':{'new':a117_0x441475(0xba)}};export function resolveDeprecatedSubcommand(_0x511481,_0x2f82d0){return deprecatedSubcommands[_0x511481]?.[_0x2f82d0];}export function findDefinition(_0x44c5ae,_0x2c4720){const _0x1667ef=a117_0x441475;return definitions[_0x1667ef(0xb0)](_0x44c5ae+':'+_0x2c4720);}export function isKnownService(_0x34e307){return serviceByName['has'](_0x34e307);}export function isDeclarativeService(_0x2f8a1a){const _0x3cb32a=a117_0x441475;return serviceGroups['has'](_0x2f8a1a)||serviceByName['get'](_0x2f8a1a)?.[_0x3cb32a(0x9a)]!==undefined;}export function getServiceEntry(_0x5b857b){const _0x15d5fd=a117_0x441475;return serviceByName[_0x15d5fd(0xb0)](_0x5b857b);}export function getLegacyHandler(_0x3cc66d,_0x5ee71d){return undefined;}export function getAllDefinitions(){const _0x21ff9b=a117_0x441475;return Array['from'](definitions[_0x21ff9b(0x9c)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x2ab774=a118_0xed36;function a118_0xed36(_0x531515,_0x5d8a77){_0x531515=_0x531515-0x1e0;const _0x1178d9=a118_0x1178();let _0xed3629=_0x1178d9[_0x531515];return _0xed3629;}(function(_0x15dec9,_0x4f5c0e){const _0x1722d1=a118_0xed36,_0x32d733=_0x15dec9();while(!![]){try{const _0x16f48f=-parseInt(_0x1722d1(0x1e3))/0x1*(parseInt(_0x1722d1(0x1f7))/0x2)+-parseInt(_0x1722d1(0x1e8))/0x3*(-parseInt(_0x1722d1(0x208))/0x4)+parseInt(_0x1722d1(0x214))/0x5+-parseInt(_0x1722d1(0x1f3))/0x6*(parseInt(_0x1722d1(0x1ea))/0x7)+-parseInt(_0x1722d1(0x20e))/0x8*(-parseInt(_0x1722d1(0x1e7))/0x9)+-parseInt(_0x1722d1(0x1fa))/0xa+parseInt(_0x1722d1(0x1ee))/0xb;if(_0x16f48f===_0x4f5c0e)break;else _0x32d733['push'](_0x32d733['shift']());}catch(_0x2baef7){_0x32d733['push'](_0x32d733['shift']());}}}(a118_0x1178,0x73591));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(['start','dev']);function readPackageScripts(_0x1e1765){const _0x32a0e1=a118_0xed36,_0x24676a=resolve(_0x1e1765,_0x32a0e1(0x221));if(!existsSync(_0x24676a))return null;try{const _0x36b756=JSON['parse'](readFileSync(_0x24676a,_0x32a0e1(0x1f9)));return _0x36b756[_0x32a0e1(0x212)]??{};}catch{return null;}}function detectPackageManager(_0x1931e4){const _0x5d022b=a118_0xed36;if(existsSync(resolve(_0x1931e4,_0x5d022b(0x202)))||existsSync(resolve(_0x1931e4,_0x5d022b(0x1ef))))return'bun';if(existsSync(resolve(_0x1931e4,'pnpm-lock.yaml')))return _0x5d022b(0x213);if(existsSync(resolve(_0x1931e4,_0x5d022b(0x1ed))))return'yarn';return _0x5d022b(0x209);}async function versionCheck(_0x4562be){const _0x314e5b=a118_0xed36,_0x5df3cd=await checkCliVersion();(_0x5df3cd[_0x314e5b(0x1eb)]||_0x5df3cd[_0x314e5b(0x1fb)])&&(printCliUpgradeWarning(_0x5df3cd),assertCliVersionSupported(_0x5df3cd));const _0x3359b4=await checkSdkVersion(_0x4562be);if(_0x3359b4[_0x314e5b(0x1eb)])printSdkUpgradeWarning(_0x3359b4);}function spawnScript(_0xd31cad,_0x5603ff,_0x13835b,_0x180c87){return new Promise((_0x2c969d,_0x5aede2)=>{const _0x18293e=a118_0xed36,_0xf25ffb=[_0x18293e(0x1e5),_0x5603ff,..._0x13835b],_0x2d0410=spawn(_0xd31cad,_0xf25ffb,{'cwd':_0x180c87,'stdio':_0x18293e(0x215),'shell':!![],'env':{...process.env,'PATH':''+join(_0x180c87,_0x18293e(0x1fe),_0x18293e(0x1f5))+delimiter+process.env.PATH}});_0x2d0410['on']('close',_0x43b402=>{const _0x126764=_0x18293e;if(_0x43b402===0x0||_0x43b402===null)_0x2c969d();else _0x5aede2(new Error(_0xd31cad+_0x126764(0x1f0)+_0x5603ff+_0x126764(0x218)+_0x43b402));}),_0x2d0410['on'](_0x18293e(0x201),_0x5aede2);});}function spawnViteBuildWatch(_0xcc8cc4){return new Promise((_0x4441bf,_0x17e673)=>{const _0x431791=a118_0xed36,_0x16f25b=spawn('vite',['build',_0x431791(0x1f2)],{'cwd':_0xcc8cc4,'stdio':_0x431791(0x215),'shell':!![],'env':{...process.env,'PATH':''+join(_0xcc8cc4,'node_modules',_0x431791(0x1f5))+delimiter+process.env.PATH}});_0x16f25b['on'](_0x431791(0x1fc),_0x5c16b8=>{const _0x50d84a=_0x431791;if(_0x5c16b8===0x0||_0x5c16b8===null)_0x4441bf();else _0x17e673(new Error(_0x50d84a(0x21e)+_0x5c16b8));}),_0x16f25b['on']('error',_0x17e673);});}function a118_0x1178(){const _0x28f1bc=['validation','Script\x20name\x20defined\x20in\x20package.json','\x20exited\x20with\x20code\x20','entries','No\x20package.json\x20found\x20in\x20current\x20directory.','keys','join','\x20\x20\x20\x20','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','has','watch','package.json','push','vite\x20preview\x20exited\x20with\x20code\x20','all','length','1373XfLYAX','cwd','run','Run\x20a\x20package.json\x20script','7641261sdwvgy','1707sLJeom','Available:\x20','1800911jZRNAB','needsUpgrade','slice','yarn.lock','8358834yfecVo','bun.lock','\x20run\x20','max','--watch','6vaoIKR','(none)','.bin','vite','1240mfGkSQ','\x20\x20EXAMPLES','utf-8','4780960PUwMLY','belowMinimum','close','args','node_modules','\x20run\x20start','Script\x20\x22','error','bun.lockb','\x20run\x20preview','log','\x20run\x20build','preview','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','172rTrWTf','npm','\x0a\x20\x20Available\x20scripts:\x0a','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20run\x20<script>\x0a','map','8AGqhXC','bool','Enable\x20watch\x20mode\x20for\x20preview','padEnd','scripts','pnpm','2128520zNFdei','inherit'];a118_0x1178=function(){return _0x28f1bc;};return a118_0x1178();}function spawnVitePreview(_0x7dd6d0){return new Promise((_0x479cf6,_0x4d02ff)=>{const _0x118252=a118_0xed36,_0x3c3b1e=spawn(_0x118252(0x1f6),[_0x118252(0x206)],{'cwd':_0x7dd6d0,'stdio':_0x118252(0x215),'shell':!![],'env':{...process.env,'PATH':''+join(_0x7dd6d0,'node_modules',_0x118252(0x1f5))+delimiter+process.env.PATH}});_0x3c3b1e['on'](_0x118252(0x1fc),_0x1d1da2=>{const _0x50ea01=_0x118252;if(_0x1d1da2===0x0||_0x1d1da2===null)_0x479cf6();else _0x4d02ff(new Error(_0x50ea01(0x1e0)+_0x1d1da2));}),_0x3c3b1e['on']('error',_0x4d02ff);});}const runFlags=[{'name':'watch','type':'boolean','description':a118_0x2ab774(0x210),'default':![]}];export const runDefinition={'service':a118_0x2ab774(0x1e5),'command':a118_0x2ab774(0x1e5),'description':a118_0x2ab774(0x1e6),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a118_0x2ab774(0x217),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5c6869=a118_0x2ab774,_0x515cdc=readPackageScripts(process[_0x5c6869(0x1e4)]()),_0x44b6e4=[];if(_0x515cdc&&Object[_0x5c6869(0x21b)](_0x515cdc)['length']>0x0){const _0x53de02=Object[_0x5c6869(0x21b)](_0x515cdc),_0x4fd5c8=Math[_0x5c6869(0x1f1)](..._0x53de02[_0x5c6869(0x20d)](_0x5b0a08=>_0x5b0a08[_0x5c6869(0x1e2)]));_0x44b6e4[_0x5c6869(0x222)](_0x5c6869(0x20b));for(const [_0x40be81,_0x4fbdbb]of Object[_0x5c6869(0x219)](_0x515cdc)){_0x44b6e4['push'](_0x5c6869(0x21d)+CLI_BIN_NAME+_0x5c6869(0x1f0)+_0x40be81[_0x5c6869(0x211)](_0x4fd5c8+0x2)+'#\x20'+_0x4fbdbb);}}else _0x44b6e4[_0x5c6869(0x222)](_0x5c6869(0x1f8)),_0x44b6e4[_0x5c6869(0x222)](_0x5c6869(0x21d)+CLI_BIN_NAME+_0x5c6869(0x1ff)),_0x44b6e4[_0x5c6869(0x222)](_0x5c6869(0x21d)+CLI_BIN_NAME+_0x5c6869(0x205)),_0x44b6e4[_0x5c6869(0x222)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x5c6869(0x203)),_0x44b6e4['push'](_0x5c6869(0x21d)+CLI_BIN_NAME+_0x5c6869(0x207));return _0x44b6e4['join']('\x0a');},async 'execute'(_0x140ac6){const _0x162491=a118_0x2ab774,_0x83045e=process[_0x162491(0x1e4)](),_0x19e295=_0x140ac6[_0x162491(0x1fd)][0x0],_0x4c0793=_0x140ac6['args'][_0x162491(0x1ec)](0x1),_0x3c4e37=readPackageScripts(_0x83045e);if(!_0x3c4e37)throw CliErrors[_0x162491(0x216)](_0x162491(0x21a));if(!_0x19e295){const _0x11eb25=Object[_0x162491(0x21b)](_0x3c4e37);if(_0x11eb25[_0x162491(0x1e2)]===0x0)console[_0x162491(0x204)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x162491(0x204)](_0x162491(0x20a));const _0x16071e=Math[_0x162491(0x1f1)](..._0x11eb25[_0x162491(0x20d)](_0x5e636a=>_0x5e636a[_0x162491(0x1e2)]));for(const [_0x3efb71,_0x3ce20d]of Object[_0x162491(0x219)](_0x3c4e37)){console[_0x162491(0x204)](_0x162491(0x21d)+_0x3efb71[_0x162491(0x211)](_0x16071e+0x2)+_0x3ce20d);}console[_0x162491(0x204)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x162491(0x20c));}return{'ok':!![]};}if(!_0x3c4e37[_0x19e295])throw CliErrors[_0x162491(0x216)](_0x162491(0x200)+_0x19e295+'\x22\x20not\x20found\x20in\x20package.json.',_0x162491(0x1e9)+(Object[_0x162491(0x21b)](_0x3c4e37)[_0x162491(0x21c)](',\x20')||_0x162491(0x1f4)));const _0x5e7a06=detectPackageManager(_0x83045e);VERSION_CHECK_SCRIPTS[_0x162491(0x21f)](_0x19e295)&&await versionCheck(_0x83045e);if(_0x19e295===_0x162491(0x206)&&_0x140ac6[_0x162491(0x20f)](_0x162491(0x220)))return await Promise[_0x162491(0x1e1)]([spawnViteBuildWatch(_0x83045e),spawnVitePreview(_0x83045e)]),{'ok':!![]};return await spawnScript(_0x5e7a06,_0x19e295,_0x4c0793,_0x83045e),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a119_0x595dc4=a119_0x2e8a;(function(_0x37997b,_0x2b105d){const _0x3fae41=a119_0x2e8a,_0x22b40b=_0x37997b();while(!![]){try{const _0x67e24c=parseInt(_0x3fae41(0x197))/0x1*(-parseInt(_0x3fae41(0x193))/0x2)+-parseInt(_0x3fae41(0x18d))/0x3+parseInt(_0x3fae41(0x19b))/0x4*(-parseInt(_0x3fae41(0x190))/0x5)+parseInt(_0x3fae41(0x18f))/0x6+parseInt(_0x3fae41(0x18e))/0x7*(parseInt(_0x3fae41(0x19a))/0x8)+parseInt(_0x3fae41(0x196))/0x9*(-parseInt(_0x3fae41(0x195))/0xa)+parseInt(_0x3fae41(0x18c))/0xb*(parseInt(_0x3fae41(0x198))/0xc);if(_0x67e24c===_0x2b105d)break;else _0x22b40b['push'](_0x22b40b['shift']());}catch(_0x56153c){_0x22b40b['push'](_0x22b40b['shift']());}}}(a119_0x2680,0x79039));function a119_0x2680(){const _0x417f3a=['35IFxFuh','960210zGyJRl','5735piSGYn','read','json','280072wAqSzW','export','289720uNubWH','207UYpNWv','1aImWGC','12KJZvKo','Export\x20machine-readable\x20command\x20schema\x20(JSON)','513144zxNIoB','1928cLmxqe','15585009rsDcck','127950tTVSmk'];a119_0x2680=function(){return _0x417f3a;};return a119_0x2680();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x42b2c4){const _0x1915f4=await buildSchemaPayload();return{'ok':!![],'data':_0x1915f4};}function a119_0x2e8a(_0x5b7e10,_0x16ef62){_0x5b7e10=_0x5b7e10-0x18c;const _0x268009=a119_0x2680();let _0x2e8aed=_0x268009[_0x5b7e10];return _0x2e8aed;}export const schemaDefinition={'service':'schema','command':a119_0x595dc4(0x194),'description':a119_0x595dc4(0x199),'risk':a119_0x595dc4(0x191),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a119_0x595dc4(0x192),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a120_0x4461c2=a120_0x1307;(function(_0x3cd784,_0x4f0959){const _0x421eab=a120_0x1307,_0x43cd1d=_0x3cd784();while(!![]){try{const _0x5c41cb=parseInt(_0x421eab(0x120))/0x1*(-parseInt(_0x421eab(0x109))/0x2)+parseInt(_0x421eab(0x119))/0x3+parseInt(_0x421eab(0x11a))/0x4*(parseInt(_0x421eab(0x118))/0x5)+parseInt(_0x421eab(0x117))/0x6+parseInt(_0x421eab(0x10e))/0x7*(parseInt(_0x421eab(0x107))/0x8)+parseInt(_0x421eab(0x10b))/0x9*(parseInt(_0x421eab(0x10a))/0xa)+-parseInt(_0x421eab(0x103))/0xb;if(_0x5c41cb===_0x4f0959)break;else _0x43cd1d['push'](_0x43cd1d['shift']());}catch(_0x1c40f9){_0x43cd1d['push'](_0x43cd1d['shift']());}}}(a120_0x52bc,0x876c7));function a120_0x1307(_0x16fc15,_0x141d6a){_0x16fc15=_0x16fc15-0x103;const _0x52bce0=a120_0x52bc();let _0x13074c=_0x52bce0[_0x16fc15];return _0x13074c;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a120_0x52bc(){const _0x1ad016=['inherit','lovrabet/rabetbase','174300edQbRw','10kxbdjv','721383MbjqnR','884080QuACDN',')...','nonInteractive','apiError','\x20skill\x20installed','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)','24919ouYfnk','skipped','6084496gKQNog','Install\x20developer\x20skill\x20package','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','Check\x20network\x20connectivity\x20and\x20try\x20again.','8728TJzBFt','skill','2yLptdA','1760TNnDbr','729zuBRpt','write','install','2611VoNnhG','cwd','info','pipe','npx\x20skills\x20add\x20failed:\x20','log','Installing\x20official\x20skill\x20via\x20npx\x20('];a120_0x52bc=function(){return _0x1ad016;};return a120_0x52bc();}import{logger}from'../../utils/logger.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a120_0x4461c2(0x108),'command':a120_0x4461c2(0x10d),'description':a120_0x4461c2(0x104),'risk':a120_0x4461c2(0x10c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3ffd5b){const _0x24e8e0=a120_0x4461c2;logger['setLogPath'](process[_0x24e8e0(0x10f)]()),logger[_0x24e8e0(0x110)]('skill-install',_0x24e8e0(0x11f));const {runNpxSkillsAddGlobal:_0x1d2319}=await import('../../skills/npx-skills-add.js'),_0x21a28d=_0x3ffd5b[_0x24e8e0(0x11c)]?_0x24e8e0(0x111):_0x24e8e0(0x115);console[_0x24e8e0(0x113)](_0x24e8e0(0x114)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0x24e8e0(0x11b));const _0x1a932d=_0x1d2319(process[_0x24e8e0(0x10f)](),_0x24e8e0(0x116),{'stdio':_0x21a28d});if(_0x1a932d[_0x24e8e0(0x121)])console['log'](_0x24e8e0(0x105));else{if(_0x1a932d['ok'])console[_0x24e8e0(0x113)](CLI_BIN_NAME+_0x24e8e0(0x11e));else throw CliErrors[_0x24e8e0(0x11d)](_0x24e8e0(0x112)+(_0x1a932d['error']||'unknown'),_0x24e8e0(0x106));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a121_0x5050f1=a121_0x498a;(function(_0x5b189c,_0x441243){const _0x1d03da=a121_0x498a,_0x548c74=_0x5b189c();while(!![]){try{const _0x4ea26a=-parseInt(_0x1d03da(0x1b0))/0x1+parseInt(_0x1d03da(0x198))/0x2*(parseInt(_0x1d03da(0x192))/0x3)+parseInt(_0x1d03da(0x1ad))/0x4+-parseInt(_0x1d03da(0x185))/0x5*(-parseInt(_0x1d03da(0x1a9))/0x6)+parseInt(_0x1d03da(0x184))/0x7+-parseInt(_0x1d03da(0x1b5))/0x8+-parseInt(_0x1d03da(0x19e))/0x9*(parseInt(_0x1d03da(0x17f))/0xa);if(_0x4ea26a===_0x441243)break;else _0x548c74['push'](_0x548c74['shift']());}catch(_0x186bd5){_0x548c74['push'](_0x548c74['shift']());}}}(a121_0x5b31,0x7ae63));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';function a121_0x498a(_0x150837,_0x3ab165){_0x150837=_0x150837-0x17d;const _0x5b3108=a121_0x5b31();let _0x498ab2=_0x5b3108[_0x150837];return _0x498ab2;}import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x3e15aa){const _0x2c5b85=a121_0x498a;if(_0x3e15aa===_0x2c5b85(0x1ac))return[_0x2c5b85(0x1a6),_0x2c5b85(0x19f),_0x2c5b85(0x196),'']['join']('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':'sql','command':a121_0x5050f1(0x186),'description':a121_0x5050f1(0x1bf),'risk':a121_0x5050f1(0x1a7),'flags':[{'name':a121_0x5050f1(0x1aa),'type':a121_0x5050f1(0x183),'description':a121_0x5050f1(0x1af)},{'name':a121_0x5050f1(0x1b1),'type':a121_0x5050f1(0x18d),'description':'Target\x20database\x20ID'},{'name':a121_0x5050f1(0x18b),'type':a121_0x5050f1(0x183),'enum':[a121_0x5050f1(0x1be),a121_0x5050f1(0x1ac)],'description':a121_0x5050f1(0x195)}],async 'validate'(_0x22de19){const _0x12f65b=a121_0x5050f1;if(!_0x22de19['nonInteractive'])return;if(!_0x22de19['str'](_0x12f65b(0x1aa))['trim']())throw CliErrors[_0x12f65b(0x1a3)](_0x12f65b(0x1aa),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x231bba=resolveProvidedDbId(_0x22de19);if(typeof _0x231bba!=='number'||!Number[_0x12f65b(0x1a5)](_0x231bba)||_0x231bba<=0x0)throw CliErrors['flagMissing'](_0x12f65b(0x1b1),_0x12f65b(0x17d));if(!_0x22de19['str'](_0x12f65b(0x18b))[_0x12f65b(0x19c)]())throw CliErrors[_0x12f65b(0x1a3)](_0x12f65b(0x18b),_0x12f65b(0x1ba));},async 'dryRun'(_0x22a1e0){const _0x4eafac=a121_0x5050f1,_0x5e2202=loadSqlProjectConfig(_0x22a1e0[_0x4eafac(0x194)]),{sqlName:_0x16851f,dbId:_0x3aafed,dbName:_0x38babd,mode:_0x5a200f}=await resolveSqlNewInputs(_0x22a1e0),_0x60fc95=buildSqlRelativePath('<server-generated-sqlCode>',_0x16851f,_0x38babd,_0x5a200f,_0x3aafed),_0x4e8404=_0x5e2202[_0x4eafac(0x1a2)]+'/'+_0x60fc95;return{'method':'POST','url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x22a1e0[_0x4eafac(0x194)],'sqlName':_0x16851f,'dbId':_0x3aafed,'mode':_0x5a200f,'localPath':_0x4e8404},'description':_0x4eafac(0x193)+_0x5e2202['sqlRootDir']};},async 'execute'(_0x2ac654){const _0x203b2b=a121_0x5050f1,_0x5d75d0=loadSqlProjectConfig(_0x2ac654[_0x203b2b(0x194)]),{sqlName:_0x1de719,dbId:_0x127b2a,dbName:_0x2eebc4,mode:_0x3f61eb}=await resolveSqlNewInputs(_0x2ac654),_0x4618bb=generateSqlTemplate(_0x3f61eb),_0x1d8cd4=await createSqlQuery({'appCode':_0x2ac654[_0x203b2b(0x194)],'sqlName':_0x1de719,'dbId':_0x127b2a,'sqlContent':_0x4618bb}),_0x236690=ensureRemoteSqlContent(_0x1d8cd4),_0x2e3057=_0x2eebc4||await getDbName(_0x2ac654[_0x203b2b(0x194)],_0x127b2a)[_0x203b2b(0x199)](()=>undefined),_0x3ed58e=buildSqlRelativePath(_0x1d8cd4['sqlCode'],_0x1d8cd4[_0x203b2b(0x18f)],_0x2e3057,_0x3f61eb,_0x127b2a),_0x4e8468=_0x5d75d0[_0x203b2b(0x1a2)]+'/'+_0x3ed58e,_0x1f1304=buildLocalSqlFileContent({'sqlCode':_0x1d8cd4['sqlCode'],'sqlName':_0x1d8cd4['sqlName'],'dbId':_0x1d8cd4[_0x203b2b(0x1b8)]},_0x236690,{'dbName':_0x2e3057,'mode':_0x3f61eb,'syncedAt':new Date()[_0x203b2b(0x19a)](),'description':_0x1d8cd4[_0x203b2b(0x1ae)]});if(await fileExists(_0x4e8468))throw CliErrors[_0x203b2b(0x189)](_0x203b2b(0x191)+_0x4e8468);await ensureParentDirectory(_0x4e8468),await writeFile(_0x4e8468,_0x1f1304,_0x203b2b(0x182));const _0x2774e9=await readSqlLockFile(_0x5d75d0[_0x203b2b(0x18a)]),{lockData:_0x101ca5,appLock:_0x2f111a}=ensureSqlLockScope(_0x2774e9??createEmptySqlLock(),_0x5d75d0[_0x203b2b(0x194)],_0x5d75d0[_0x203b2b(0x180)],_0x203b2b(0x190));return _0x2f111a[_0x203b2b(0x1b7)][_0x1d8cd4[_0x203b2b(0x1ab)]]={...buildSqlLockEntry(_0x1d8cd4,_0x236690,computeSqlContentHash(_0x1f1304),{'dbName':_0x2e3057}),'path':_0x3ed58e,'mode':_0x3f61eb},_0x2f111a['lastSync']=new Date()[_0x203b2b(0x19a)](),await writeSqlLockFile(_0x5d75d0[_0x203b2b(0x18a)],_0x101ca5),{'ok':!![],'data':{'id':_0x1d8cd4['id'],'sqlCode':_0x1d8cd4[_0x203b2b(0x1ab)],'sqlName':_0x1d8cd4[_0x203b2b(0x18f)],'dbId':_0x1d8cd4['dbId'],'path':_0x4e8468,'mode':_0x3f61eb},'message':_0x203b2b(0x1bb)+_0x1d8cd4['sqlCode']};}};async function resolveSqlNewInputs(_0x202c2a){const _0x58ba58=await resolveSqlNameInput(_0x202c2a),{dbId:_0x4fb31d,dbName:_0x1c21bb}=await resolveDbSelection(_0x202c2a),_0x56a3db=await resolveSqlModeInput(_0x202c2a);return{'sqlName':_0x58ba58,'dbId':_0x4fb31d,'dbName':_0x1c21bb,'mode':_0x56a3db};}async function resolveSqlNameInput(_0x41d1fc){const _0xde546=a121_0x5050f1,_0x2632da=_0x41d1fc['str'](_0xde546(0x1aa))[_0xde546(0x19c)]();if(_0x2632da)return _0x2632da;if(_0x41d1fc[_0xde546(0x1b3)])throw CliErrors['flagMissing'](_0xde546(0x1aa),_0xde546(0x188));return(await input({'message':_0xde546(0x17e),'validate':_0xa98247=>_0xa98247[_0xde546(0x19c)]()?!![]:_0xde546(0x197)}))[_0xde546(0x19c)]();}async function resolveDbSelection(_0x1313ab){const _0x56bdb4=a121_0x5050f1,_0x5b087b=resolveProvidedDbId(_0x1313ab);if(typeof _0x5b087b==='number'&&Number[_0x56bdb4(0x1a5)](_0x5b087b)&&_0x5b087b>0x0)return{'dbId':_0x5b087b,'dbName':await getDbName(_0x1313ab[_0x56bdb4(0x194)],_0x5b087b)[_0x56bdb4(0x199)](()=>undefined)};if(_0x1313ab['nonInteractive'])throw CliErrors[_0x56bdb4(0x1a3)](_0x56bdb4(0x1b1),_0x56bdb4(0x17d));const _0x14a23f=await listDatabases(_0x1313ab['appCode'])[_0x56bdb4(0x199)](()=>[]);if(_0x14a23f[_0x56bdb4(0x1c2)]===0x1)return{'dbId':_0x14a23f[0x0][_0x56bdb4(0x1b8)],'dbName':_0x14a23f[0x0]['dbName']};if(_0x14a23f[_0x56bdb4(0x1c2)]>0x1){const _0x56fc9a=await select({'message':_0x56bdb4(0x1a1),'choices':[..._0x14a23f[_0x56bdb4(0x181)](_0x45b4ea=>({'name':_0x45b4ea['dbName']+'\x20('+_0x45b4ea[_0x56bdb4(0x1b8)]+')','value':serializeDbSelection(_0x45b4ea)})),{'name':_0x56bdb4(0x19d),'value':_0x56bdb4(0x18c)}]});if(_0x56fc9a!==_0x56bdb4(0x18c))return deserializeDbSelection(_0x56fc9a);}const _0x1a9d23=await input({'message':'请输入目标数据库\x20dbId:','validate':_0xe75ee2=>{const _0x58937f=_0x56bdb4,_0x37a432=_0xe75ee2[_0x58937f(0x19c)]();if(!_0x37a432)return _0x58937f(0x1a8);const _0x38c525=Number(_0x37a432);if(!Number[_0x58937f(0x1bd)](_0x38c525)||_0x38c525<=0x0)return _0x58937f(0x1b9);return!![];}});return{'dbId':Number(_0x1a9d23[_0x56bdb4(0x19c)]())};}async function resolveSqlModeInput(_0x34ac25){const _0x36ff70=a121_0x5050f1,_0x5c2bc2=_0x34ac25[_0x36ff70(0x187)](_0x36ff70(0x18b))[_0x36ff70(0x19c)]();if(_0x5c2bc2===_0x36ff70(0x1be)||_0x5c2bc2===_0x36ff70(0x1ac))return _0x5c2bc2;if(_0x34ac25['nonInteractive'])throw CliErrors[_0x36ff70(0x1a3)](_0x36ff70(0x18b),_0x36ff70(0x1ba));return await select({'message':_0x36ff70(0x1c0),'choices':[{'name':_0x36ff70(0x1bc),'value':_0x36ff70(0x1be),'description':_0x36ff70(0x1b2)},{'name':_0x36ff70(0x18e),'value':_0x36ff70(0x1ac),'description':_0x36ff70(0x1c1)}]});}function a121_0x5b31(){const _0x4b7545=['SQL\x20query\x20display\x20name','561745nKbtgJ','db-id','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','nonInteractive','dbName','3249168nrNwaK','Invalid\x20database\x20selection\x20payload:\x20','sqls','dbId','dbId\x20必须为正整数','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','普通\x20SQL(sql)','isInteger','sql','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','请选择本地\x20SQL\x20模式:','适合带动态标签的\x20MyBatis\x20XML\x20SQL','length','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','请输入\x20SQL\x20名称:','1835710Gqrnpl','sqlRoot','map','utf8','string','4048891kAayjj','435lfJYti','create','str','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','validation','lockFilePath','mode','__manual__','number','MyBatis\x20XML(mybatisXml)','sqlName','new','File\x20already\x20exists:\x20','1639827Lyfbeq','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','appCode','Local\x20SQL\x20file\x20mode','</select>','SQL\x20名称不能为空','2TcKYgk','catch','toISOString','parse','trim','✎\x20手动输入\x20dbId','36dyjWlH','\x20\x20SELECT\x201\x20AS\x20id','stringify','请选择目标数据库:','sqlRootDir','flagMissing','flag','isFinite','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','high-risk-write','dbId\x20不能为空','58098pkfzYz','name','sqlCode','mybatisXml','952508UWtHcD','description'];a121_0x5b31=function(){return _0x4b7545;};return a121_0x5b31();}function serializeDbSelection(_0x3023cb){const _0xed5532=a121_0x5050f1;return JSON[_0xed5532(0x1a0)]({'dbId':_0x3023cb[_0xed5532(0x1b8)],'dbName':_0x3023cb[_0xed5532(0x1b4)]});}function deserializeDbSelection(_0x30d569){const _0x4096a0=a121_0x5050f1;try{const _0x1f0f30=JSON[_0x4096a0(0x19b)](_0x30d569);if(typeof _0x1f0f30[_0x4096a0(0x1b8)]===_0x4096a0(0x18d)&&Number[_0x4096a0(0x1a5)](_0x1f0f30[_0x4096a0(0x1b8)]))return{'dbId':_0x1f0f30[_0x4096a0(0x1b8)],'dbName':_0x1f0f30['dbName']};}catch{}throw CliErrors[_0x4096a0(0x189)](_0x4096a0(0x1b6)+_0x30d569);}function resolveProvidedDbId(_0x23c783){const _0xc64130=a121_0x5050f1,_0x41ac10=_0x23c783[_0xc64130(0x1a4)](_0xc64130(0x1b1));if(typeof _0x41ac10===_0xc64130(0x18d)&&Number['isFinite'](_0x41ac10))return _0x41ac10;return undefined;}
|
|
1
|
+
const a121_0x1ede5e=a121_0x36b3;(function(_0x50384b,_0x4e72e1){const _0x37c944=a121_0x36b3,_0x4bb1c0=_0x50384b();while(!![]){try{const _0x78ab09=parseInt(_0x37c944(0x1bf))/0x1+-parseInt(_0x37c944(0x1bc))/0x2*(-parseInt(_0x37c944(0x1b5))/0x3)+-parseInt(_0x37c944(0x1a2))/0x4+-parseInt(_0x37c944(0x1b8))/0x5*(-parseInt(_0x37c944(0x1d6))/0x6)+-parseInt(_0x37c944(0x1ab))/0x7*(parseInt(_0x37c944(0x1b1))/0x8)+-parseInt(_0x37c944(0x1b6))/0x9+-parseInt(_0x37c944(0x1bb))/0xa;if(_0x78ab09===_0x4e72e1)break;else _0x4bb1c0['push'](_0x4bb1c0['shift']());}catch(_0x192eb3){_0x4bb1c0['push'](_0x4bb1c0['shift']());}}}(a121_0x457e,0xc1469));function a121_0x36b3(_0xe11972,_0x5ade5f){_0xe11972=_0xe11972-0x1a1;const _0x457ebb=a121_0x457e();let _0x36b38f=_0x457ebb[_0xe11972];return _0x36b38f;}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 a121_0x457e(){const _0x58a829=['length','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','string','nonInteractive','dbId\x20不能为空','lockFilePath','sqlRootDir','sqls','3948522JkRPjC','appCode','\x20\x20SELECT\x201\x20AS\x20id','join','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','trim','请输入目标数据库\x20dbId:','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20名称不能为空','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','__manual__','mode','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','name','767200wVEDST','sql','请选择本地\x20SQL\x20模式:','str','请输入\x20SQL\x20名称:','description','db-id','high-risk-write','toISOString','9569fsbJLv','flagMissing','普通\x20SQL(sql)','catch','dbName','请选择目标数据库:','568urQEPu','map','number','Created\x20SQL\x20query\x20','1722KcvXPE','3743865jdgOOt','/smartapi/custom/saveUserCustomSql','5GobSrU','File\x20already\x20exists:\x20','mybatisXml','4913790QHJgHt','4042TnzQYl','lastSync','flag','169737mgPdur','MyBatis\x20XML(mybatisXml)','parse','适合带动态标签的\x20MyBatis\x20XML\x20SQL','utf8','create','sqlName','isFinite','validation','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','dbId','isInteger','✎\x20手动输入\x20dbId','sqlCode','sqlRoot'];a121_0x457e=function(){return _0x58a829;};return a121_0x457e();}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x2f0ce5){const _0x226a71=a121_0x36b3;if(_0x2f0ce5===_0x226a71(0x1ba))return[_0x226a71(0x1e3),_0x226a71(0x1d8),'</select>',''][_0x226a71(0x1d9)]('\x0a');return['SELECT\x201\x20AS\x20id;',''][_0x226a71(0x1d9)]('\x0a');}export const sqlCreate={'service':a121_0x1ede5e(0x1a3),'command':a121_0x1ede5e(0x1c4),'description':a121_0x1ede5e(0x1cf),'risk':a121_0x1ede5e(0x1a9),'flags':[{'name':a121_0x1ede5e(0x1a1),'type':a121_0x1ede5e(0x1d0),'description':'SQL\x20query\x20display\x20name'},{'name':a121_0x1ede5e(0x1a8),'type':a121_0x1ede5e(0x1b3),'description':'Target\x20database\x20ID'},{'name':a121_0x1ede5e(0x1e2),'type':a121_0x1ede5e(0x1d0),'enum':[a121_0x1ede5e(0x1a3),a121_0x1ede5e(0x1ba)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x26f0c8){const _0x33b145=a121_0x1ede5e;if(!_0x26f0c8[_0x33b145(0x1d1)])return;if(!_0x26f0c8[_0x33b145(0x1a5)](_0x33b145(0x1a1))[_0x33b145(0x1db)]())throw CliErrors[_0x33b145(0x1ac)]('name',_0x33b145(0x1e0));const _0x35a779=resolveProvidedDbId(_0x26f0c8);if(typeof _0x35a779!=='number'||!Number['isFinite'](_0x35a779)||_0x35a779<=0x0)throw CliErrors[_0x33b145(0x1ac)](_0x33b145(0x1a8),_0x33b145(0x1df));if(!_0x26f0c8[_0x33b145(0x1a5)](_0x33b145(0x1e2))[_0x33b145(0x1db)]())throw CliErrors['flagMissing'](_0x33b145(0x1e2),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x142f54){const _0x33f804=a121_0x1ede5e,_0x12ec51=loadSqlProjectConfig(_0x142f54['appCode']),{sqlName:_0x45e770,dbId:_0x235d14,dbName:_0x33f446,mode:_0x4d1b6e}=await resolveSqlNewInputs(_0x142f54),_0x7a4762=buildSqlRelativePath('<server-generated-sqlCode>',_0x45e770,_0x33f446,_0x4d1b6e,_0x235d14),_0x158b60=_0x12ec51['sqlRootDir']+'/'+_0x7a4762;return{'method':'POST','url':_0x33f804(0x1b7),'body':{'appCode':_0x142f54[_0x33f804(0x1d7)],'sqlName':_0x45e770,'dbId':_0x235d14,'mode':_0x4d1b6e,'localPath':_0x158b60},'description':_0x33f804(0x1da)+_0x12ec51[_0x33f804(0x1d4)]};},async 'execute'(_0x256121){const _0x3e53cf=a121_0x1ede5e,_0x3da09b=loadSqlProjectConfig(_0x256121[_0x3e53cf(0x1d7)]),{sqlName:_0x2d8fa5,dbId:_0x30a41c,dbName:_0x22d671,mode:_0x571e1d}=await resolveSqlNewInputs(_0x256121),_0x50518e=generateSqlTemplate(_0x571e1d),_0x5e7555=await createSqlQuery({'appCode':_0x256121[_0x3e53cf(0x1d7)],'sqlName':_0x2d8fa5,'dbId':_0x30a41c,'sqlContent':_0x50518e}),_0x4f877d=ensureRemoteSqlContent(_0x5e7555),_0x541bf0=_0x22d671||await getDbName(_0x256121['appCode'],_0x30a41c)[_0x3e53cf(0x1ae)](()=>undefined),_0x241bdf=buildSqlRelativePath(_0x5e7555[_0x3e53cf(0x1cc)],_0x5e7555[_0x3e53cf(0x1c5)],_0x541bf0,_0x571e1d,_0x30a41c),_0x28b23f=_0x3da09b[_0x3e53cf(0x1d4)]+'/'+_0x241bdf,_0x451920=buildLocalSqlFileContent({'sqlCode':_0x5e7555[_0x3e53cf(0x1cc)],'sqlName':_0x5e7555[_0x3e53cf(0x1c5)],'dbId':_0x5e7555[_0x3e53cf(0x1c9)]},_0x4f877d,{'dbName':_0x541bf0,'mode':_0x571e1d,'syncedAt':new Date()['toISOString'](),'description':_0x5e7555[_0x3e53cf(0x1a7)]});if(await fileExists(_0x28b23f))throw CliErrors[_0x3e53cf(0x1c7)](_0x3e53cf(0x1b9)+_0x28b23f);await ensureParentDirectory(_0x28b23f),await writeFile(_0x28b23f,_0x451920,_0x3e53cf(0x1c3));const _0x4f44a0=await readSqlLockFile(_0x3da09b[_0x3e53cf(0x1d3)]),{lockData:_0x251b19,appLock:_0x116fe6}=ensureSqlLockScope(_0x4f44a0??createEmptySqlLock(),_0x3da09b[_0x3e53cf(0x1d7)],_0x3da09b[_0x3e53cf(0x1cd)],'new');return _0x116fe6[_0x3e53cf(0x1d5)][_0x5e7555['sqlCode']]={...buildSqlLockEntry(_0x5e7555,_0x4f877d,computeSqlContentHash(_0x451920),{'dbName':_0x541bf0}),'path':_0x241bdf,'mode':_0x571e1d},_0x116fe6[_0x3e53cf(0x1bd)]=new Date()[_0x3e53cf(0x1aa)](),await writeSqlLockFile(_0x3da09b['lockFilePath'],_0x251b19),{'ok':!![],'data':{'id':_0x5e7555['id'],'sqlCode':_0x5e7555[_0x3e53cf(0x1cc)],'sqlName':_0x5e7555[_0x3e53cf(0x1c5)],'dbId':_0x5e7555[_0x3e53cf(0x1c9)],'path':_0x28b23f,'mode':_0x571e1d},'message':_0x3e53cf(0x1b4)+_0x5e7555[_0x3e53cf(0x1cc)]};}};async function resolveSqlNewInputs(_0x9ab216){const _0x34ce58=await resolveSqlNameInput(_0x9ab216),{dbId:_0x523ca1,dbName:_0x4036d7}=await resolveDbSelection(_0x9ab216),_0x770e5b=await resolveSqlModeInput(_0x9ab216);return{'sqlName':_0x34ce58,'dbId':_0x523ca1,'dbName':_0x4036d7,'mode':_0x770e5b};}async function resolveSqlNameInput(_0x5354f8){const _0x49a8bf=a121_0x1ede5e,_0x531693=_0x5354f8[_0x49a8bf(0x1a5)](_0x49a8bf(0x1a1))[_0x49a8bf(0x1db)]();if(_0x531693)return _0x531693;if(_0x5354f8[_0x49a8bf(0x1d1)])throw CliErrors[_0x49a8bf(0x1ac)](_0x49a8bf(0x1a1),_0x49a8bf(0x1e0));return(await input({'message':_0x49a8bf(0x1a6),'validate':_0x53a478=>_0x53a478[_0x49a8bf(0x1db)]()?!![]:_0x49a8bf(0x1de)}))[_0x49a8bf(0x1db)]();}async function resolveDbSelection(_0x17287f){const _0x5d3453=a121_0x1ede5e,_0x557bd0=resolveProvidedDbId(_0x17287f);if(typeof _0x557bd0===_0x5d3453(0x1b3)&&Number[_0x5d3453(0x1c6)](_0x557bd0)&&_0x557bd0>0x0)return{'dbId':_0x557bd0,'dbName':await getDbName(_0x17287f[_0x5d3453(0x1d7)],_0x557bd0)[_0x5d3453(0x1ae)](()=>undefined)};if(_0x17287f[_0x5d3453(0x1d1)])throw CliErrors['flagMissing'](_0x5d3453(0x1a8),_0x5d3453(0x1df));const _0x15fa90=await listDatabases(_0x17287f[_0x5d3453(0x1d7)])[_0x5d3453(0x1ae)](()=>[]);if(_0x15fa90[_0x5d3453(0x1ce)]===0x1)return{'dbId':_0x15fa90[0x0]['dbId'],'dbName':_0x15fa90[0x0]['dbName']};if(_0x15fa90['length']>0x1){const _0x3ffe4d=await select({'message':_0x5d3453(0x1b0),'choices':[..._0x15fa90[_0x5d3453(0x1b2)](_0x4211a8=>({'name':_0x4211a8[_0x5d3453(0x1af)]+'\x20('+_0x4211a8[_0x5d3453(0x1c9)]+')','value':serializeDbSelection(_0x4211a8)})),{'name':_0x5d3453(0x1cb),'value':_0x5d3453(0x1e1)}]});if(_0x3ffe4d!==_0x5d3453(0x1e1))return deserializeDbSelection(_0x3ffe4d);}const _0x4df7e2=await input({'message':_0x5d3453(0x1dc),'validate':_0x213e9c=>{const _0x216226=_0x5d3453,_0xfc9345=_0x213e9c[_0x216226(0x1db)]();if(!_0xfc9345)return _0x216226(0x1d2);const _0x4b865f=Number(_0xfc9345);if(!Number[_0x216226(0x1ca)](_0x4b865f)||_0x4b865f<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x4df7e2[_0x5d3453(0x1db)]())};}async function resolveSqlModeInput(_0x159d20){const _0x5ed2c4=a121_0x1ede5e,_0x50e695=_0x159d20['str'](_0x5ed2c4(0x1e2))['trim']();if(_0x50e695==='sql'||_0x50e695==='mybatisXml')return _0x50e695;if(_0x159d20[_0x5ed2c4(0x1d1)])throw CliErrors[_0x5ed2c4(0x1ac)](_0x5ed2c4(0x1e2),_0x5ed2c4(0x1dd));return await select({'message':_0x5ed2c4(0x1a4),'choices':[{'name':_0x5ed2c4(0x1ad),'value':'sql','description':_0x5ed2c4(0x1c8)},{'name':_0x5ed2c4(0x1c0),'value':_0x5ed2c4(0x1ba),'description':_0x5ed2c4(0x1c2)}]});}function serializeDbSelection(_0xda67d){const _0x2987ef=a121_0x1ede5e;return JSON['stringify']({'dbId':_0xda67d[_0x2987ef(0x1c9)],'dbName':_0xda67d[_0x2987ef(0x1af)]});}function deserializeDbSelection(_0x47f782){const _0x16259a=a121_0x1ede5e;try{const _0x42bb03=JSON[_0x16259a(0x1c1)](_0x47f782);if(typeof _0x42bb03[_0x16259a(0x1c9)]==='number'&&Number[_0x16259a(0x1c6)](_0x42bb03[_0x16259a(0x1c9)]))return{'dbId':_0x42bb03['dbId'],'dbName':_0x42bb03[_0x16259a(0x1af)]};}catch{}throw CliErrors[_0x16259a(0x1c7)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x47f782);}function resolveProvidedDbId(_0x296192){const _0x4da1d3=a121_0x1ede5e,_0x579792=_0x296192[_0x4da1d3(0x1be)](_0x4da1d3(0x1a8));if(typeof _0x579792===_0x4da1d3(0x1b3)&&Number[_0x4da1d3(0x1c6)](_0x579792))return _0x579792;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a122_0x22e7c6=a122_0x4fd8;function a122_0xcb63(){const _0x328f69=['lockFilePath','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','9984pXlUjR','246xYGRmT','delete','sqlcode','SQL\x20lock\x20file\x20not\x20found.','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','15845LWUagE','629420jClbIP','appCode','fromEntries','sqlRoot','replace','39AEmXTv','250700rNxuxR','trashDir','2800XxlRfy','1419406WkLQvg','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','high-risk-write','str','POST','Deleted\x20','validation','toISOString','\x20(local\x20file\x20moved\x20to\x20trash)','sqls','projectRoot','remoteId','4899816VuUiKn','sql','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','11rWjGkH','filter','startsWith','sqlRootDir','12152540WCBiKB','length','trashedTo','/smartapi/custom/deleteUserCustomSql'];a122_0xcb63=function(){return _0x328f69;};return a122_0xcb63();}(function(_0x53850e,_0x3b85f0){const _0x21cff2=a122_0x4fd8,_0x6423be=_0x53850e();while(!![]){try{const _0x6ed7fa=parseInt(_0x21cff2(0xf8))/0x1+-parseInt(_0x21cff2(0x101))/0x2+-parseInt(_0x21cff2(0xfd))/0x3*(parseInt(_0x21cff2(0xfe))/0x4)+-parseInt(_0x21cff2(0xf7))/0x5*(-parseInt(_0x21cff2(0xf2))/0x6)+parseInt(_0x21cff2(0x100))/0x7*(-parseInt(_0x21cff2(0xf1))/0x8)+parseInt(_0x21cff2(0xe4))/0x9+-parseInt(_0x21cff2(0xeb))/0xa*(-parseInt(_0x21cff2(0xe7))/0xb);if(_0x6ed7fa===_0x3b85f0)break;else _0x6423be['push'](_0x6423be['shift']());}catch(_0x5e77b9){_0x6423be['push'](_0x6423be['shift']());}}}(a122_0xcb63,0x78ef5));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a122_0x4fd8(_0x1c7182,_0x47c53d){_0x1c7182=_0x1c7182-0xe0;const _0xcb633f=a122_0xcb63();let _0x4fd81e=_0xcb633f[_0x1c7182];return _0x4fd81e;}import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a122_0x22e7c6(0xe5),'command':'delete','description':a122_0x22e7c6(0xe6),'risk':a122_0x22e7c6(0x103),'flags':[SQLCODE_FLAG],async 'validate'(_0x4b2277){const _0x282ef1=a122_0x22e7c6,_0x34cd83=loadSqlProjectConfig(_0x4b2277[_0x282ef1(0xf9)]),_0x8dfef4=await readSqlLockFile(_0x34cd83[_0x282ef1(0xef)]);if(!_0x8dfef4)throw CliErrors[_0x282ef1(0x107)](_0x282ef1(0x102));},async 'dryRun'(_0xdd3086){const _0x42672a=a122_0x22e7c6,_0x57b707=loadSqlProjectConfig(_0xdd3086[_0x42672a(0xf9)]),_0x2d9fb5=await readSqlLockFile(_0x57b707[_0x42672a(0xef)]);if(!_0x2d9fb5)throw CliErrors[_0x42672a(0x107)](_0x42672a(0x102));const {appLock:_0x369882}=ensureSqlLockScope(_0x2d9fb5,_0xdd3086[_0x42672a(0xf9)],_0x57b707[_0x42672a(0xfb)],'delete'),_0x1a6a82=_0xdd3086[_0x42672a(0x104)](_0x42672a(0xf4)),_0x31c798=_0x369882[_0x42672a(0xe1)][_0x1a6a82];if(!_0x31c798)throw CliErrors['validation'](_0x42672a(0xf0)+_0x1a6a82+'\x22.');return{'method':_0x42672a(0x105),'url':_0x42672a(0xee),'body':{'sqlCode':_0x1a6a82,'id':_0x31c798[_0x42672a(0xe3)],'localPath':resolveLocalSqlFilePath(_0x57b707,_0x1a6a82,_0x31c798)},'description':'Would\x20delete\x20SQL\x20'+_0x1a6a82+_0x42672a(0xf6)+_0x57b707['trashDir']};},async 'execute'(_0x13a0e1){const _0x174815=a122_0x22e7c6,_0x18b772=loadSqlProjectConfig(_0x13a0e1['appCode']),_0x41d6b5=await readSqlLockFile(_0x18b772[_0x174815(0xef)]);if(!_0x41d6b5)throw CliErrors[_0x174815(0x107)](_0x174815(0xf5));const {lockData:_0x49898b,appLock:_0x271cee}=ensureSqlLockScope(_0x41d6b5,_0x13a0e1[_0x174815(0xf9)],_0x18b772[_0x174815(0xfb)],_0x174815(0xf3)),_0x4a8ffc=_0x13a0e1[_0x174815(0x104)](_0x174815(0xf4)),_0x98470d=_0x271cee[_0x174815(0xe1)][_0x4a8ffc];if(!_0x98470d)throw CliErrors[_0x174815(0x107)](_0x174815(0xf0)+_0x4a8ffc+'\x22.');await deleteSqlQuery({'id':_0x98470d['remoteId'],'sqlCode':_0x4a8ffc}),_0x271cee[_0x174815(0xe1)]=Object[_0x174815(0xfa)](Object['entries'](_0x271cee[_0x174815(0xe1)])[_0x174815(0xe8)](([_0x30f5d5])=>_0x30f5d5!==_0x4a8ffc)),_0x271cee['lastSync']=new Date()[_0x174815(0x108)](),await writeSqlLockFile(_0x18b772[_0x174815(0xef)],_0x49898b);const _0x1d0db1=resolveLocalSqlFilePath(_0x18b772,_0x4a8ffc,_0x98470d);let _0x34af5d;await fileExists(_0x1d0db1)&&(_0x34af5d=await moveToTrash(_0x18b772[_0x174815(0xe2)],_0x18b772[_0x174815(0xff)],_0x1d0db1),await cleanupEmptyDirectories(dirname(_0x1d0db1),_0x18b772[_0x174815(0xea)]));const _0x1877a6={'deleted':_0x4a8ffc,'remoteId':_0x98470d[_0x174815(0xe3)]};if(_0x34af5d)_0x1877a6[_0x174815(0xed)]=_0x34af5d;return{'ok':!![],'data':_0x1877a6,'message':_0x174815(0x106)+_0x4a8ffc+(_0x34af5d?_0x174815(0xe0):'')};}};async function moveToTrash(_0x5b3034,_0x2976ce,_0x14d816){const _0x4057f7=a122_0x22e7c6,_0x4cc3e0=new Date()[_0x4057f7(0x108)]()[_0x4057f7(0xfc)](/[:.]/g,'-'),_0x321495=relative(_0x5b3034,_0x14d816),_0x26ad52=join(_0x2976ce,_0x4cc3e0,_0x321495);return await mkdir(dirname(_0x26ad52),{'recursive':!![]}),await rename(_0x14d816,_0x26ad52),_0x26ad52;}async function cleanupEmptyDirectories(_0x31da6f,_0x48044c){const _0x409ca2=a122_0x22e7c6;let _0x1897b7=resolve(_0x31da6f);const _0x34e224=resolve(_0x48044c);while(_0x1897b7[_0x409ca2(0xe9)](''+_0x34e224+sep)||_0x1897b7===_0x34e224){if(_0x1897b7===_0x34e224)return;try{const _0x544a6e=await readdir(_0x1897b7);if(_0x544a6e[_0x409ca2(0xec)]>0x0)return;await rmdir(_0x1897b7);}catch{return;}_0x1897b7=dirname(_0x1897b7);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a123_0x282254=a123_0x2d2c;function a123_0x2d2c(_0x1efc64,_0x4c3e70){_0x1efc64=_0x1efc64-0xe4;const _0x4d881=a123_0x4d88();let _0x2d2c4c=_0x4d881[_0x1efc64];return _0x2d2c4c;}(function(_0x3c2ab5,_0x10eec9){const _0x211faa=a123_0x2d2c,_0x57d051=_0x3c2ab5();while(!![]){try{const _0x182764=-parseInt(_0x211faa(0xf3))/0x1*(parseInt(_0x211faa(0xf4))/0x2)+parseInt(_0x211faa(0xf2))/0x3+-parseInt(_0x211faa(0xf5))/0x4+parseInt(_0x211faa(0xe5))/0x5+parseInt(_0x211faa(0xef))/0x6*(-parseInt(_0x211faa(0xe7))/0x7)+-parseInt(_0x211faa(0xee))/0x8*(-parseInt(_0x211faa(0xe8))/0x9)+parseInt(_0x211faa(0xfc))/0xa*(parseInt(_0x211faa(0xe6))/0xb);if(_0x182764===_0x10eec9)break;else _0x57d051['push'](_0x57d051['shift']());}catch(_0x38d2de){_0x57d051['push'](_0x57d051['shift']());}}}(a123_0x4d88,0xe773e));import{getSqlQueryInfo}from'../../core/api-client.js';function a123_0x4d88(){const _0x53dbc2=['12174127mWJaoi','5209857BToTNF','verbose','appCode','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','read','sql','24lcQLHL','6VrvmiA','Return\x20full\x20raw\x20SQL\x20query\x20object','description','828954OZtrFq','1245wvuEFJ','2534aHgtie','240644QpfjOe','bool','sqlCode','sqlContent','boolean','sqlcode','str','4259950FgKwsR','dbId','9429175SRfpRD','11EIvlpW'];a123_0x4d88=function(){return _0x53dbc2;};return a123_0x4d88();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a123_0x282254(0xed),'command':'detail','description':a123_0x282254(0xeb),'risk':a123_0x282254(0xec),'flags':[SQLCODE_FLAG,{'name':a123_0x282254(0xe9),'type':a123_0x282254(0xf9),'description':a123_0x282254(0xf0)}],async 'execute'(_0x5b3e31){const _0x3cd613=a123_0x282254,_0x304a3b=await getSqlQueryInfo(_0x5b3e31[_0x3cd613(0xea)],_0x5b3e31[_0x3cd613(0xfb)](_0x3cd613(0xfa))),_0x1d9a5f=_0x5b3e31[_0x3cd613(0xf6)](_0x3cd613(0xe9));if(_0x1d9a5f)return{'ok':!![],'data':_0x304a3b};const _0x172e15=_0x304a3b[_0x3cd613(0xe4)]?await getDbName(_0x5b3e31[_0x3cd613(0xea)],_0x304a3b[_0x3cd613(0xe4)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x304a3b[_0x3cd613(0xf7)],'sqlName':_0x304a3b['sqlName'],'db':_0x172e15?_0x172e15+'\x20('+_0x304a3b[_0x3cd613(0xe4)]+')':_0x304a3b[_0x3cd613(0xe4)]??'','description':_0x304a3b[_0x3cd613(0xf1)]??'','sqlContent':_0x304a3b[_0x3cd613(0xf8)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a124_0x875214=a124_0x13f6;function a124_0x3b32(){const _0x46f130=['SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','13120324UGTnky','2674374PDXWzJ','761876NuXHXK','str','Returned\x20','197874mQgzjW','SQL\x20execution\x20failed','exec','execError','execSuccess','length','params','60710240JlsnOr','read','string','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','sql','9FvpFFy','\x20row(s)\x20in\x20','execResult','6473816ZFaQek','isArray','5ownrrT','appCode','18LEKVWU','312480fieeqd'];a124_0x3b32=function(){return _0x46f130;};return a124_0x3b32();}(function(_0x572a1a,_0x49f94e){const _0x21f325=a124_0x13f6,_0x525177=_0x572a1a();while(!![]){try{const _0x40d3b2=-parseInt(_0x21f325(0x73))/0x1*(parseInt(_0x21f325(0x7b))/0x2)+-parseInt(_0x21f325(0x77))/0x3+-parseInt(_0x21f325(0x78))/0x4*(-parseInt(_0x21f325(0x71))/0x5)+parseInt(_0x21f325(0x74))/0x6+-parseInt(_0x21f325(0x76))/0x7+parseInt(_0x21f325(0x6f))/0x8*(-parseInt(_0x21f325(0x6c))/0x9)+parseInt(_0x21f325(0x82))/0xa;if(_0x40d3b2===_0x49f94e)break;else _0x525177['push'](_0x525177['shift']());}catch(_0x26586d){_0x525177['push'](_0x525177['shift']());}}}(a124_0x3b32,0xe9cfa));import{executeSql}from'../../core/api-client.js';function a124_0x13f6(_0x1a97c0,_0xaa46df){_0x1a97c0=_0x1a97c0-0x69;const _0x3b32f8=a124_0x3b32();let _0x13f64e=_0x3b32f8[_0x1a97c0];return _0x13f64e;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':a124_0x875214(0x6b),'command':a124_0x875214(0x7d),'description':a124_0x875214(0x6a),'risk':a124_0x875214(0x83),'flags':[SQLCODE_FLAG,{'name':'params','type':a124_0x875214(0x69),'description':a124_0x875214(0x75)}],async 'execute'(_0x2b1a24){const _0x586ea7=a124_0x875214,_0x3e0325=parseJsonParams(_0x2b1a24[_0x586ea7(0x79)](_0x586ea7(0x81))),_0x482a6f=Date['now'](),_0x1e276f=await executeSql(_0x2b1a24[_0x586ea7(0x72)],_0x2b1a24['str']('sqlcode'),_0x3e0325),_0x46a129=Date['now']()-_0x482a6f,_0x30045e=_0x1e276f?.[_0x586ea7(0x6e)]??_0x1e276f,_0x225380=_0x1e276f?.[_0x586ea7(0x7f)]??!![];if(!_0x225380)return{'ok':![],'data':{'error':_0x1e276f?.[_0x586ea7(0x7e)]||_0x586ea7(0x7c),'elapsed':_0x46a129},'message':_0x586ea7(0x7c)};const _0x57fc4f=Array[_0x586ea7(0x70)](_0x30045e)?_0x30045e:[];return{'ok':!![],'data':{'rows':_0x57fc4f,'rowCount':_0x57fc4f[_0x586ea7(0x80)],'elapsed':_0x46a129},'message':_0x586ea7(0x7a)+_0x57fc4f['length']+_0x586ea7(0x6d)+_0x46a129+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2144b6,_0x1d4e96){const _0x289473=a125_0x30a0,_0x311968=_0x2144b6();while(!![]){try{const _0x2f83dd=-parseInt(_0x289473(0x10d))/0x1+-parseInt(_0x289473(0x10e))/0x2+-parseInt(_0x289473(0x10f))/0x3+parseInt(_0x289473(0x10b))/0x4*(parseInt(_0x289473(0x10c))/0x5)+-parseInt(_0x289473(0x10a))/0x6+-parseInt(_0x289473(0x109))/0x7+-parseInt(_0x289473(0x110))/0x8*(-parseInt(_0x289473(0x108))/0x9);if(_0x2f83dd===_0x1d4e96)break;else _0x311968['push'](_0x311968['shift']());}catch(_0x2c23d6){_0x311968['push'](_0x311968['shift']());}}}(a125_0x1360,0x9b9d2));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a125_0x1360(){const _0x454484=['1097012QicXTP','4167738MTYWCG','652hQgvHp','20395hmqWUd','762936mlPbys','2009712PWerut','1204605eaMJFe','7352gRSNMW','29313IDbHwE'];a125_0x1360=function(){return _0x454484;};return a125_0x1360();}import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';function a125_0x30a0(_0x200ce3,_0x47ed4a){_0x200ce3=_0x200ce3-0x108;const _0x13603a=a125_0x1360();let _0x30a031=_0x13603a[_0x200ce3];return _0x30a031;}import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a126_0x5951(){const _0x412a16=['str','7014984xwkYNv','Page\x20size','Found\x20','dbId','3064656oTodZv','number','4090989DNQDIo','appCode','426jXtvcT','sqlName','map','description','length','totalCount','4169045vTVevK','name','pagesize','string','1660617oKnUsk','all','No\x20custom\x20SQL\x20queries\x20found.','Page\x20number','2oqSOtq','sql','list','num','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','5551LbZNRw','123776xNUYHr','read','verbose','bool','page'];a126_0x5951=function(){return _0x412a16;};return a126_0x5951();}const a126_0x178761=a126_0x54d0;(function(_0x16f22b,_0x51121f){const _0x339de6=a126_0x54d0,_0x33efb9=_0x16f22b();while(!![]){try{const _0x48466b=parseInt(_0x339de6(0x166))/0x1+-parseInt(_0x339de6(0x182))/0x2*(-parseInt(_0x339de6(0x172))/0x3)+-parseInt(_0x339de6(0x170))/0x4+parseInt(_0x339de6(0x17a))/0x5+parseInt(_0x339de6(0x174))/0x6*(-parseInt(_0x339de6(0x165))/0x7)+-parseInt(_0x339de6(0x16c))/0x8+parseInt(_0x339de6(0x17e))/0x9;if(_0x48466b===_0x51121f)break;else _0x33efb9['push'](_0x33efb9['shift']());}catch(_0x1adf93){_0x33efb9['push'](_0x33efb9['shift']());}}}(a126_0x5951,0xc4e15));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a126_0x54d0(_0xbd4192,_0x43520f){_0xbd4192=_0xbd4192-0x162;const _0x59516f=a126_0x5951();let _0x54d0f4=_0x59516f[_0xbd4192];return _0x54d0f4;}export const sqlList={'service':a126_0x178761(0x183),'command':a126_0x178761(0x162),'description':'List\x20custom\x20SQL\x20queries','risk':a126_0x178761(0x167),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a126_0x178761(0x17b),'type':a126_0x178761(0x17d),'description':'Filter\x20by\x20SQL\x20name'},{'name':a126_0x178761(0x16a),'type':a126_0x178761(0x171),'description':a126_0x178761(0x181),'default':0x1},{'name':a126_0x178761(0x17c),'type':'number','description':a126_0x178761(0x16d)},{'name':a126_0x178761(0x168),'type':'boolean','description':a126_0x178761(0x164)}],async 'execute'(_0x41b647){const _0x3d355e=a126_0x178761,_0x12f203=await listSqlQueries(_0x41b647[_0x3d355e(0x173)],{'sqlCode':_0x41b647[_0x3d355e(0x16b)]('sqlcode')||undefined,'sqlName':_0x41b647[_0x3d355e(0x16b)](_0x3d355e(0x17b))||undefined,'currentPage':_0x41b647[_0x3d355e(0x163)](_0x3d355e(0x16a)),'pageSize':_0x41b647[_0x3d355e(0x163)]('pagesize',0x32)}),_0x90ce68=_0x41b647[_0x3d355e(0x169)](_0x3d355e(0x168)),_0x1b0e55=_0x12f203['tableData']??[],_0x5f24a7=_0x12f203['paging']?.[_0x3d355e(0x179)]??_0x1b0e55[_0x3d355e(0x178)];let _0x1e6a83;return _0x90ce68?_0x1e6a83=_0x1b0e55:_0x1e6a83=await Promise[_0x3d355e(0x17f)](_0x1b0e55[_0x3d355e(0x176)](async _0x9a05b4=>{const _0x3a8429=_0x3d355e;let _0x12698f;try{_0x12698f=_0x9a05b4[_0x3a8429(0x16f)]?await getDbName(_0x41b647['appCode'],_0x9a05b4[_0x3a8429(0x16f)]):undefined;}catch{}return{'sqlCode':_0x9a05b4['sqlCode'],'sqlName':_0x9a05b4[_0x3a8429(0x175)],'description':_0x9a05b4[_0x3a8429(0x177)]??'','db':_0x12698f?_0x12698f+'\x20('+_0x9a05b4['dbId']+')':_0x9a05b4[_0x3a8429(0x16f)]??''};})),{'ok':!![],'data':_0x1e6a83,'message':_0x1b0e55[_0x3d355e(0x178)]===0x0?_0x3d355e(0x180):_0x3d355e(0x16e)+_0x1b0e55[_0x3d355e(0x178)]+'\x20SQL\x20queries\x20(total:\x20'+_0x5f24a7+').'};}};
|