@lovrabet/rabetbase-cli 2.1.4 → 2.1.6-beta.0
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 -0
- package/lib/commands/data/getOne.js +1 -0
- package/lib/commands/data/index.js +1 -0
- package/lib/commands/data/shared.js +1 -0
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/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 -0
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +4 -4
- package/templates/skill/SKILL.md.tpl +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3c5d4d,_0x344c40){const _0x345f57=a101_0x3dad,_0x222247=_0x3c5d4d();while(!![]){try{const _0x3a1956=parseInt(_0x345f57(0xb1))/0x1+parseInt(_0x345f57(0xd6))/0x2+-parseInt(_0x345f57(0xb3))/0x3+-parseInt(_0x345f57(0xcb))/0x4*(parseInt(_0x345f57(0xb5))/0x5)+parseInt(_0x345f57(0xd1))/0x6+parseInt(_0x345f57(0xdd))/0x7*(-parseInt(_0x345f57(0xd3))/0x8)+parseInt(_0x345f57(0xc9))/0x9;if(_0x3a1956===_0x344c40)break;else _0x222247['push'](_0x222247['shift']());}catch(_0x4998f2){_0x222247['push'](_0x222247['shift']());}}}(a101_0x86ed,0x71914));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';function a101_0x86ed(){const _0x14e97=['Please\x20enter\x20App\x20Code:','.rabetbase.json','1129956MrdYvn','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','16LihQZx','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','1.0.0','1637448ELVExM','cwd','\x20api\x20pull\x27','env','setLogPath','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','defaultApp','2331322PTiJgV','apps','trim','utf8','\x20\x20appcode:\x20','\x20→\x20.rabetbase.json','cyan','yellow','555763qKKzcU','bold','1653234HRaItl','toLocaleString','575iNzefC','parse','初始化项目配置文件成功','App\x20Code\x20cannot\x20be\x20empty','init','green','✓\x20Upgraded\x20','\x20api\x20generate\x27\x20and\x20\x27','version','Invalid\x20App\x20Code','gray','log','join','\x20\x20Apps:\x20','keys','string','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','Upgrade\x20it\x20to\x20','\x20\x20Default:\x20','package.json','3757446GwzInb','.bak','10364XRTWvQ','info','appcode','app'];a101_0x86ed=function(){return _0x14e97;};return a101_0x86ed();}import a101_0x3334b0 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';function a101_0x3dad(_0x540e84,_0x547bb4){_0x540e84=_0x540e84-0xaa;const _0x86ed47=a101_0x86ed();let _0x3dadf0=_0x86ed47[_0x540e84];return _0x3dadf0;}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';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x374b09){const _0x1130e7=a101_0x3dad,{appcode:_0x3a93fe,env:_0x2cf02e,autoYes:_0x452269}=_0x374b09,_0x144ff9=process[_0x1130e7(0xd7)]();if(getProjectConfigPath())throw new Error(_0x1130e7(0xdb));let _0x1a7e63;for(const _0x3a7713 of LEGACY_CONFIG_NAMES){const _0x21db4c=resolve(_0x144ff9,_0x3a7713);if(existsSync(_0x21db4c)){_0x1a7e63=_0x21db4c;break;}}if(_0x1a7e63){let _0x234ddb={};try{_0x234ddb=JSON['parse'](readFileSync(_0x1a7e63,'utf8'));}catch{}const _0x599332=basename(_0x1a7e63),_0x73dc6d=_0x234ddb?.['appcode']||_0x234ddb?.[_0x1130e7(0xce)];let _0x264ea1=_0x452269;!_0x452269&&(console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xb0)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a101_0x3334b0['bold'](_0x599332))),_0x73dc6d&&console['log'](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xad)+_0x73dc6d)),_0x264ea1=await confirm({'message':_0x1130e7(0xc6)+a101_0x3334b0[_0x1130e7(0xb2)](_0x1130e7(0xd0))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x264ea1){console[_0x1130e7(0xc0)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+'\x20project\x20init`\x20to\x20start\x20fresh.');return;}const _0x4c0edf=resolve(_0x144ff9,NEW_CONFIG_NAME),_0x16e914=getCliVersionFromPkg(),_0x2792aa=readRawConfig(),_0x38197f=_0x3a93fe||(typeof _0x234ddb?.[_0x1130e7(0xcd)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xcd)]:undefined)||(typeof _0x234ddb?.[_0x1130e7(0xce)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xce)]:undefined)||await askAppcode(),_0x167478=typeof _0x234ddb?.[_0x1130e7(0xd9)]===_0x1130e7(0xc4)?_0x234ddb[_0x1130e7(0xd9)]:typeof _0x2792aa[_0x1130e7(0xd9)]==='string'?_0x2792aa['env']:'production',_0x5c76ce=buildCanonicalProjectConfig({..._0x2792aa,..._0x234ddb},{'appCodes':[_0x38197f],'env':_0x167478,'metadata':{'version':_0x16e914,'migratedAt':new Date()[_0x1130e7(0xb4)](),'migratedFrom':_0x1a7e63}});writeConfigFile(_0x4c0edf,_0x5c76ce);const _0x2cce02=_0x1a7e63+_0x1130e7(0xca);renameSync(_0x1a7e63,_0x2cce02),logger[_0x1130e7(0xda)](_0x144ff9),logger['info'](_0x1130e7(0xb9),'从旧配置文件升级成功',{'from':_0x1a7e63,'to':_0x4c0edf,'appcode':_0x38197f,'env':_0x5c76ce['env']}),console[_0x1130e7(0xc0)](a101_0x3334b0['green'](_0x1130e7(0xbb)+_0x599332+_0x1130e7(0xae))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc2)+Object[_0x1130e7(0xc3)](_0x5c76ce['apps']||{})[_0x1130e7(0xc1)](',\x20'))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc7)+_0x5c76ce[_0x1130e7(0xdc)])),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xbf)](_0x1130e7(0xd2)+_0x599332+_0x1130e7(0xca)));return;}const _0x1af944=_0x3a93fe||await askAppcode(),_0x11d15d=resolve(_0x144ff9,NEW_CONFIG_NAME),_0x2efa5a=getCliVersionFromPkg(),_0x213701=readRawConfig(),_0xa2aa4e=typeof _0x213701['env']===_0x1130e7(0xc4)?_0x213701[_0x1130e7(0xd9)]:undefined,_0x29c609=buildCanonicalProjectConfig({},{'appCodes':[_0x1af944],'env':_0x2cf02e||_0xa2aa4e||'production','metadata':{'version':_0x2efa5a,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x11d15d,_0x29c609),logger[_0x1130e7(0xda)](_0x144ff9),logger[_0x1130e7(0xcc)]('init',_0x1130e7(0xb7),{'appcode':_0x1af944,'env':_0x29c609['env'],'version':_0x29c609[_0x1130e7(0xbd)],'configPath':_0x11d15d}),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xba)](_0x1130e7(0xd4))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)](_0x1130e7(0xc2)+Object[_0x1130e7(0xc3)](_0x29c609[_0x1130e7(0xaa)]||{})[_0x1130e7(0xc1)](',\x20'))),console[_0x1130e7(0xc0)](a101_0x3334b0[_0x1130e7(0xaf)]('\x20\x20Default:\x20'+_0x29c609[_0x1130e7(0xdc)])),console['log'](_0x1130e7(0xc5)+CLI_BIN_NAME+_0x1130e7(0xbc)+CLI_BIN_NAME+_0x1130e7(0xd8));}function askAppcode(){const _0x4add2d=a101_0x3dad;return input({'message':_0x4add2d(0xcf),'validate':_0xc9c17f=>{const _0x291951=_0x4add2d;if(!_0xc9c17f['trim']())return _0x291951(0xb8);const {valid:_0x3f5161,message:_0x21a6a9}=validateAppcode(_0xc9c17f[_0x291951(0xab)]());return _0x3f5161||_0x21a6a9||_0x291951(0xbe);}});}function getCliVersionFromPkg(){const _0x346383=a101_0x3dad;try{const _0x5ad944=fileURLToPath(import.meta.url),_0x3f71e5=resolve(dirname(_0x5ad944),'../..'),_0x2cdf19=JSON[_0x346383(0xb6)](readFileSync(resolve(_0x3f71e5,_0x346383(0xc8)),_0x346383(0xac)));return _0x2cdf19[_0x346383(0xbd)]||_0x346383(0xd5);}catch{return'1.0.0';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a98_0x39ce23=a98_0x3a33;(function(_0x59d616,_0x39ec82){const _0x25a04e=a98_0x3a33,_0x3f7150=_0x59d616();while(!![]){try{const _0x4bf082=-parseInt(_0x25a04e(0x83))/0x1+-parseInt(_0x25a04e(0xdd))/0x2+parseInt(_0x25a04e(0xa7))/0x3+parseInt(_0x25a04e(0xb3))/0x4*(parseInt(_0x25a04e(0xd4))/0x5)+parseInt(_0x25a04e(0xf2))/0x6*(parseInt(_0x25a04e(0xa6))/0x7)+parseInt(_0x25a04e(0x7c))/0x8*(-parseInt(_0x25a04e(0xbc))/0x9)+-parseInt(_0x25a04e(0xef))/0xa*(parseInt(_0x25a04e(0xc6))/0xb);if(_0x4bf082===_0x39ec82)break;else _0x3f7150['push'](_0x3f7150['shift']());}catch(_0x2fbd0c){_0x3f7150['push'](_0x3f7150['shift']());}}}(a98_0x15dd,0x3de2e));import a98_0x128da0 from'chalk';import a98_0x2fb134 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a98_0x3a33(_0x2c80d6,_0x2bd659){_0x2c80d6=_0x2c80d6-0x73;const _0x15dd49=a98_0x15dd();let _0x3a3355=_0x15dd49[_0x2c80d6];return _0x3a3355;}import{resolve}from'node:path';function a98_0x15dd(){const _0x19ddd7=['.claude/skills/lovrabet','red','Proceed\x20with\x20upgrade?','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','cyan','11RGBYxF','\x20\x20bun\x20install','none\x20found','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','fail','\x20\x20Fields\x20to\x20migrate:\x20','Config\x20file:','log','not\x20found\x20or\x20already\x20at\x20latest','lovrabet/rabetbase\x20installed\x20globally','white','parse','oldPath','@lovrabet/sdk','605DyAMeo','Legacy\x20artifacts:','failed','files','args','needed','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','not\x20found\x20(will\x20create)','557324XVeolH','lovrabet/lovrabet-skill\x20removed','sdkUpgrade','Step\x201/7:\x20Migrating\x20config...','object','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','start','MCP\x20config:','string','FAIL','Install\x20new\x20skill','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20→\x20','exit\x20','utf8','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','path','.bak','407870FXgmYv','detail','skipped\x20(no\x20legacy\x20config)','1893474eJjSgP','join','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Step\x205/7:\x20Removing\x20old\x20skill...','succeed','label','===\x20Upgrade\x20Analysis\x20===','skipped','message','dependencies','gray','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','16CzMKxt','needsSkillSwap','values','Clean\x20MCP\x20config','\x20from\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','isDirectory','220611sRpyxH','Remove\x20legacy\x20artifacts','green','filter','@lovrabet/dataset-mcp-server','fields','undefined','stringify','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','hasNewConfig','Upgrade\x20cancelled.','\x20\x20Current\x20version\x20in\x20','configMigration','@lovrabet/sdk:','oldArtifacts','.cursor/rules/lovrabet_rules.mdc','done','devDependencies','\x20removed','isArray','Config\x20migration','Upgrade\x20@lovrabet/sdk','mcpServers','\x20\x20npm\x20install','latest','yellow','some','length','\x20removed\x20(','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','removed\x20','lovrabet/rabetbase','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','entries','yes','7dtpcrV','465477uAsqYw','already\x20exists\x20(will\x20merge)','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','\x20\x20Step\x20','push','\x20\x20New\x20config\x20(.rabetbase.json):\x20','info','\x20\x20#\x20or','CANCEL','Upgrade\x20completed\x20successfully!','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','13288lStZUD','no\x20legacy\x20config\x20found','inherit','Remove\x20.lovrabet/','\x20→\x20keys:\x20','error','not\x20needed','bold','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','356193hnsXiC','includes','.lovrabet','oldMcpConfig','keys'];a98_0x15dd=function(){return _0x19ddd7;};return a98_0x15dd();}import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a98_0x39ce23(0x86)](_0x260a25=>_0x260a25!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x322904){const _0x590ea1=a98_0x39ce23,_0xc0f4ba=[];for(const _0x2b50c5 of Object[_0x590ea1(0x7e)](CORE_IDE_CONFIGS)){if(_0x2b50c5['files'])for(const _0x520268 of _0x2b50c5[_0x590ea1(0xd7)]){_0xc0f4ba['push'](resolve(_0x322904,_0x520268['path']));}}return _0xc0f4ba;}function analyse(_0x313468){const _0x3d2c40=a98_0x39ce23;let _0x2666b4=null;const _0x509d00=resolve(_0x313468,NEW_CONFIG_NAME),_0x1b378d=existsSync(_0x509d00);for(const _0xf8084a of LEGACY_CONFIG_NAMES){const _0x5b3f9a=resolve(_0x313468,_0xf8084a);if(existsSync(_0x5b3f9a)){const _0x29d63d=readConfigFile(_0x5b3f9a),_0x35e69b=Object[_0x3d2c40(0xc0)](_0x29d63d)[_0x3d2c40(0x86)](_0x31bab7=>typeof _0x29d63d[_0x31bab7]!==_0x3d2c40(0x89));_0x2666b4={'oldPath':_0x5b3f9a,'hasNewConfig':_0x1b378d,'fields':_0x35e69b};break;}}const _0x175b3f=[],_0x59fccf=resolve(_0x313468,_0x3d2c40(0xbe));if(existsSync(_0x59fccf))_0x175b3f[_0x3d2c40(0xab)](_0x59fccf);const _0x42c92d=resolve(_0x313468,_0x3d2c40(0x92));if(existsSync(_0x42c92d))_0x175b3f[_0x3d2c40(0xab)](_0x42c92d);const _0x9737ff=resolve(_0x313468,_0x3d2c40(0xc1));if(existsSync(_0x9737ff))_0x175b3f[_0x3d2c40(0xab)](_0x9737ff);for(const _0x31839a of collectIdeSkillFiles(_0x313468)){if(existsSync(_0x31839a))_0x175b3f[_0x3d2c40(0xab)](_0x31839a);}let _0x32dbfd=null;const _0x930eff=resolve(_0x313468,'.cursor/mcp.json');if(existsSync(_0x930eff))try{const _0x3f8348=JSON[_0x3d2c40(0xd1)](readFileSync(_0x930eff,'utf8'));if(_0x3f8348?.[_0x3d2c40(0x99)]&&typeof _0x3f8348[_0x3d2c40(0x99)]==='object'){const _0x270297=[];for(const [_0x340ead,_0x1cadb9]of Object[_0x3d2c40(0xa4)](_0x3f8348[_0x3d2c40(0x99)])){const _0x494ffd=_0x1cadb9;_0x494ffd?.['args']&&Array[_0x3d2c40(0x96)](_0x494ffd[_0x3d2c40(0xd8)])&&_0x494ffd[_0x3d2c40(0xd8)]['some'](_0x3348ac=>typeof _0x3348ac===_0x3d2c40(0xe5)&&_0x3348ac[_0x3d2c40(0xbd)](_0x3d2c40(0x87)))&&_0x270297[_0x3d2c40(0xab)](_0x340ead);}_0x270297[_0x3d2c40(0x9e)]>0x0&&(_0x32dbfd={'path':_0x930eff,'keys':_0x270297});}}catch{}const _0x474665=_0x175b3f[_0x3d2c40(0x9e)]>0x0||_0x2666b4!==null;let _0x251cf6=null;const _0x59c956=resolve(_0x313468,'package.json');if(existsSync(_0x59c956))try{const _0x5a973a=JSON[_0x3d2c40(0xd1)](readFileSync(_0x59c956,'utf8'));for(const _0x469ccc of[_0x3d2c40(0x79),_0x3d2c40(0x94)]){const _0x4c3b4e=_0x5a973a?.[_0x469ccc]?.[_0x3d2c40(0xd3)];if(typeof _0x4c3b4e===_0x3d2c40(0xe5)){_0x4c3b4e!=='latest'&&(_0x251cf6={'pkgPath':_0x59c956,'currentVersion':_0x4c3b4e,'field':_0x469ccc});break;}}}catch{}return{'configMigration':_0x2666b4,'oldArtifacts':_0x175b3f,'oldMcpConfig':_0x32dbfd,'needsSkillSwap':_0x474665,'sdkUpgrade':_0x251cf6};}function printReport(_0x6c4bbb){const _0x18da38=a98_0x39ce23,{configMigration:_0x146eb2,oldArtifacts:_0x191c09,oldMcpConfig:_0x29410a,needsSkillSwap:_0x3044bb}=_0x6c4bbb;console[_0x18da38(0xcd)](''),console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xba)](_0x18da38(0x76))),console[_0x18da38(0xcd)]('');_0x146eb2?(console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0xcc))+('\x20\x20'+a98_0x128da0[_0x18da38(0x9c)](_0x146eb2[_0x18da38(0xd2)]))),console[_0x18da38(0xcd)](_0x18da38(0xac)+(_0x146eb2[_0x18da38(0x8c)]?a98_0x128da0[_0x18da38(0x85)](_0x18da38(0xa8)):a98_0x128da0[_0x18da38(0x7a)](_0x18da38(0xdc)))),console['log'](_0x18da38(0xcb)+_0x146eb2[_0x18da38(0x88)][_0x18da38(0xf3)](',\x20')),console['log'](_0x18da38(0xbb))):console[_0x18da38(0xcd)](a98_0x128da0['cyan'](_0x18da38(0xcc))+'\x20\x20'+a98_0x128da0[_0x18da38(0x7a)](_0x18da38(0xb4)));console['log']('');if(_0x191c09[_0x18da38(0x9e)]>0x0){console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0xd5)));for(const _0x4e244b of _0x191c09){console['log']('\x20\x20'+a98_0x128da0[_0x18da38(0xc2)]('FOUND')+'\x20\x20'+_0x4e244b);}console[_0x18da38(0xcd)]('\x20\x20Action:\x20delete');}else console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0xd5))+'\x20\x20'+a98_0x128da0['gray'](_0x18da38(0xc8)));console[_0x18da38(0xcd)]('');_0x29410a?(console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0xe4))+('\x20\x20'+a98_0x128da0[_0x18da38(0x9c)](_0x29410a[_0x18da38(0xed)])+_0x18da38(0xb7)+_0x29410a[_0x18da38(0xc0)][_0x18da38(0xf3)](',\x20'))),console[_0x18da38(0xcd)](_0x18da38(0x8b))):console['log'](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0xe4))+'\x20\x20'+a98_0x128da0[_0x18da38(0x7a)]('no\x20legacy\x20entry'));console[_0x18da38(0xcd)](''),console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)]('Skill\x20swap:')+('\x20\x20'+(_0x3044bb?a98_0x128da0[_0x18da38(0x9c)](_0x18da38(0xd9)):a98_0x128da0[_0x18da38(0x85)](_0x18da38(0xb9)))));_0x3044bb&&console[_0x18da38(0xcd)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20lovrabet/rabetbase\x20--global');console['log']('');if(_0x6c4bbb[_0x18da38(0xdf)]){const {currentVersion:_0x2d8836,field:_0x2ce0f5,pkgPath:_0x1cda04}=_0x6c4bbb['sdkUpgrade'];console[_0x18da38(0xcd)](a98_0x128da0[_0x18da38(0xc5)](_0x18da38(0x90))+('\x20\x20'+a98_0x128da0[_0x18da38(0x9c)](_0x1cda04))),console[_0x18da38(0xcd)](_0x18da38(0x8e)+_0x2ce0f5+':\x20'+a98_0x128da0[_0x18da38(0x9c)](_0x2d8836)+_0x18da38(0xe9)+a98_0x128da0[_0x18da38(0x85)]('latest')),console[_0x18da38(0xcd)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console['log'](a98_0x128da0[_0x18da38(0xc5)]('@lovrabet/sdk:')+'\x20\x20'+a98_0x128da0['gray'](_0x18da38(0xce)));console['log']('');}function execConfigMigration(_0x2b8d4c,_0x529a23){const _0x4752fa=a98_0x39ce23,{configMigration:_0x5d0966}=_0x2b8d4c;if(!_0x5d0966?.[_0x4752fa(0xd2)])return{'step':0x1,'label':_0x4752fa(0x97),'ok':!![],'detail':_0x4752fa(0xf1)};const _0x373833=readConfigFile(_0x5d0966['oldPath']),_0x1fd736=resolve(_0x529a23,NEW_CONFIG_NAME),_0x5c1ed9=_0x5d0966[_0x4752fa(0x8c)]?readConfigFile(_0x1fd736):{};for(const [_0x3f19cc,_0x361113]of Object[_0x4752fa(0xa4)](_0x373833)){!(_0x3f19cc in _0x5c1ed9)&&(_0x5c1ed9[_0x3f19cc]=_0x361113);}writeConfigFile(_0x1fd736,_0x5c1ed9);const _0x1f195d=_0x5d0966[_0x4752fa(0xd2)]+_0x4752fa(0xee);return renameSync(_0x5d0966['oldPath'],_0x1f195d),{'step':0x1,'label':_0x4752fa(0x97),'ok':!![],'detail':_0x5d0966[_0x4752fa(0xd2)]+_0x4752fa(0xe9)+_0x1fd736+'\x20(backup:\x20'+_0x1f195d+')'};}function execRemoveOldArtifacts(_0xf1bdde){const _0x4a2ff2=a98_0x39ce23,_0x4e4efc=[];for(const _0x1f4921 of _0xf1bdde){try{if(!existsSync(_0x1f4921))continue;const _0x5ebf80=tryStat(_0x1f4921);_0x5ebf80?.[_0x4a2ff2(0x82)]()?rmSync(_0x1f4921,{'recursive':!![],'force':!![]}):unlinkSync(_0x1f4921);}catch(_0x54348c){_0x4e4efc[_0x4a2ff2(0xab)](_0x1f4921+':\x20'+_0x54348c[_0x4a2ff2(0x78)]);}}return{'step':0x3,'label':_0x4a2ff2(0x84),'ok':_0x4e4efc[_0x4a2ff2(0x9e)]===0x0,'detail':_0x4e4efc[_0x4a2ff2(0x9e)]>0x0?_0xf1bdde['length']-_0x4e4efc['length']+'/'+_0xf1bdde['length']+_0x4a2ff2(0x9f)+_0x4e4efc[_0x4a2ff2(0xf3)](';\x20')+')':_0xf1bdde[_0x4a2ff2(0x9e)]+_0x4a2ff2(0x95)};}function execCleanMcp(_0x511031){const _0x1dadd8=a98_0x39ce23;if(!_0x511031[_0x1dadd8(0xbf)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'skipped'};try{const _0x301048=readFileSync(_0x511031[_0x1dadd8(0xbf)][_0x1dadd8(0xed)],_0x1dadd8(0xeb)),_0x109595=JSON[_0x1dadd8(0xd1)](_0x301048);if(_0x109595?.[_0x1dadd8(0x99)]&&typeof _0x109595[_0x1dadd8(0x99)]===_0x1dadd8(0xe1)){const _0x58f55c=[];for(const [_0x2f6c31,_0x4a0ac5]of Object[_0x1dadd8(0xa4)](_0x109595['mcpServers'])){_0x4a0ac5?.['args']&&Array[_0x1dadd8(0x96)](_0x4a0ac5[_0x1dadd8(0xd8)])&&_0x4a0ac5[_0x1dadd8(0xd8)][_0x1dadd8(0x9d)](_0x2de217=>typeof _0x2de217==='string'&&_0x2de217[_0x1dadd8(0xbd)](_0x1dadd8(0x87)))&&_0x58f55c['push'](_0x2f6c31);}for(const _0xd0bcbb of _0x58f55c){delete _0x109595[_0x1dadd8(0x99)][_0xd0bcbb];}return _0x58f55c[_0x1dadd8(0x9e)]>0x0&&writeFileSync(_0x511031['oldMcpConfig'][_0x1dadd8(0xed)],JSON[_0x1dadd8(0x8a)](_0x109595,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x1dadd8(0x7f),'ok':!![],'detail':_0x1dadd8(0xa1)+_0x58f55c[_0x1dadd8(0xf3)](',\x20')+_0x1dadd8(0x80)+_0x511031['oldMcpConfig'][_0x1dadd8(0xed)]};}return{'step':0x4,'label':_0x1dadd8(0x7f),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x841e24){return{'step':0x4,'label':_0x1dadd8(0x7f),'ok':![],'detail':_0x841e24[_0x1dadd8(0x78)]};}}function execSkillsRemove(_0x13044c,_0xc22a78){const _0x1492e0=a98_0x39ce23,_0x2acc87=runNpxSkillsRemove(_0x13044c,{'stdio':_0x1492e0(0xb5),'yes':_0xc22a78});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x2acc87['ok'],'detail':_0x2acc87['ok']?_0x1492e0(0xde):_0x2acc87[_0x1492e0(0xb8)]??'exit\x20'+_0x2acc87['status']};}function execSkillsAdd(_0x20c3df,_0x3df96d){const _0x1e231b=a98_0x39ce23,_0x2bff5f=runNpxSkillsAddGlobal(_0x20c3df,_0x1e231b(0xa2),{'stdio':'inherit','yes':_0x3df96d});return{'step':0x6,'label':_0x1e231b(0xe7),'ok':_0x2bff5f['ok'],'detail':_0x2bff5f['ok']?_0x1e231b(0xcf):_0x2bff5f[_0x1e231b(0xb8)]??_0x1e231b(0xea)+_0x2bff5f['status']};}function execUpgradeSdk(_0xeb632a){const _0x2ec866=a98_0x39ce23;if(!_0xeb632a[_0x2ec866(0xdf)])return{'step':0x7,'label':_0x2ec866(0x98),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x3c5902,currentVersion:_0x41b0d7,field:_0x100840}=_0xeb632a[_0x2ec866(0xdf)];try{const _0x26d4cb=readFileSync(_0x3c5902,_0x2ec866(0xeb)),_0x259988=JSON[_0x2ec866(0xd1)](_0x26d4cb);return _0x259988[_0x100840][_0x2ec866(0xd3)]=_0x2ec866(0x9b),writeFileSync(_0x3c5902,JSON[_0x2ec866(0x8a)](_0x259988,null,0x2)+'\x0a',_0x2ec866(0xeb)),{'step':0x7,'label':_0x2ec866(0x98),'ok':!![],'detail':_0x100840+_0x2ec866(0xb2)+_0x41b0d7+'\x20→\x20latest'};}catch(_0xa75c96){return{'step':0x7,'label':_0x2ec866(0x98),'ok':![],'detail':_0xa75c96[_0x2ec866(0x78)]};}}function tryStat(_0x577b99){try{return statSync(_0x577b99);}catch{return undefined;}}function printSummary(_0x546f32){const _0x13dee4=a98_0x39ce23;console[_0x13dee4(0xcd)](''),console['log'](a98_0x128da0[_0x13dee4(0xba)]('===\x20Upgrade\x20Summary\x20===')),console[_0x13dee4(0xcd)]('');for(const _0x123e8c of _0x546f32){const _0x28a3eb=_0x123e8c['ok']?a98_0x128da0['green']('OK'):a98_0x128da0[_0x13dee4(0xc2)](_0x13dee4(0xe6));console[_0x13dee4(0xcd)]('\x20\x20'+_0x28a3eb+_0x13dee4(0xaa)+_0x123e8c['step']+':\x20'+_0x123e8c[_0x13dee4(0x75)]);if(_0x123e8c[_0x13dee4(0xf0)])console['log']('\x20\x20\x20\x20\x20\x20\x20'+a98_0x128da0[_0x13dee4(0x7a)](_0x123e8c['detail']));}console[_0x13dee4(0xcd)]('');}export async function upgradeApp(_0x572747,_0x4887d6){const _0x8b56db=a98_0x39ce23,_0x168d43=process['cwd'](),_0x561f4d=analyse(_0x168d43),_0x235e8b=!_0x561f4d[_0x8b56db(0x8f)]&&_0x561f4d['oldArtifacts'][_0x8b56db(0x9e)]===0x0&&!_0x561f4d[_0x8b56db(0xbf)]&&!_0x561f4d[_0x8b56db(0x7d)]&&!_0x561f4d['sdkUpgrade'];if(_0x235e8b){console[_0x8b56db(0xcd)](a98_0x128da0[_0x8b56db(0x85)](_0x8b56db(0xdb)));return;}printReport(_0x561f4d);const _0x163da4=!!(_0x4887d6[_0x8b56db(0xa5)]||_0x4887d6['Y']||_0x572747);if(!_0x163da4)try{const _0x155ae8=await askConfirm(_0x8b56db(0xc3));if(!_0x155ae8){console[_0x8b56db(0xcd)](a98_0x128da0[_0x8b56db(0x7a)](_0x8b56db(0x8d)));return;}}catch(_0x5591ca){if(_0x5591ca?.['message']===_0x8b56db(0xaf)){console['log'](a98_0x128da0['gray'](_0x8b56db(0x8d)));return;}throw _0x5591ca;}const _0x99337f=[],_0x9e4162=a98_0x2fb134({'text':_0x8b56db(0xe0),'color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)](),_0x490fe6=execConfigMigration(_0x561f4d,_0x168d43);_0x99337f[_0x8b56db(0xab)](_0x490fe6),_0x9e4162[_0x490fe6['ok']?_0x8b56db(0x74):_0x8b56db(0xca)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x490fe6[_0x8b56db(0xf0)]??(_0x490fe6['ok']?_0x8b56db(0x93):'failed')));const _0x5a1dd0=resolve(_0x168d43,_0x8b56db(0xbe)),_0x1eceec=a98_0x2fb134({'text':_0x8b56db(0xa9),'color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)]();if(existsSync(_0x5a1dd0))try{rmSync(_0x5a1dd0,{'recursive':!![],'force':!![]}),_0x1eceec[_0x8b56db(0x74)](_0x8b56db(0xa0)),_0x99337f['push']({'step':0x2,'label':_0x8b56db(0xb6),'ok':!![]});}catch(_0x3e555d){_0x1eceec[_0x8b56db(0xca)](_0x8b56db(0xec)+_0x3e555d[_0x8b56db(0x78)]),_0x99337f[_0x8b56db(0xab)]({'step':0x2,'label':_0x8b56db(0xb6),'ok':![],'detail':_0x3e555d[_0x8b56db(0x78)]});}else _0x1eceec[_0x8b56db(0xad)](_0x8b56db(0xda)),_0x99337f[_0x8b56db(0xab)]({'step':0x2,'label':_0x8b56db(0xb6),'ok':!![],'detail':_0x8b56db(0x77)});const _0x5ab9ee=a98_0x2fb134({'text':_0x8b56db(0xf4),'color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)](),_0xfff525=execRemoveOldArtifacts(_0x561f4d[_0x8b56db(0x91)]);_0x99337f[_0x8b56db(0xab)](_0xfff525),_0x5ab9ee[_0xfff525['ok']?_0x8b56db(0x74):_0x8b56db(0xca)](_0x8b56db(0xc4)+(_0xfff525['detail']??(_0xfff525['ok']?'done':_0x8b56db(0xd6))));const _0x2f4bc4=a98_0x2fb134({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)](),_0x3cc22d=execCleanMcp(_0x561f4d);_0x99337f[_0x8b56db(0xab)](_0x3cc22d),_0x2f4bc4[_0x3cc22d['ok']?_0x8b56db(0x74):_0x8b56db(0xca)](_0x8b56db(0x81)+(_0x3cc22d['detail']??(_0x3cc22d['ok']?_0x8b56db(0x93):_0x8b56db(0xd6))));const _0x91a4ad=a98_0x2fb134({'text':_0x8b56db(0x73),'color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)](),_0x25a884=execSkillsRemove(_0x168d43,_0x163da4);_0x99337f['push'](_0x25a884),_0x91a4ad[_0x25a884['ok']?_0x8b56db(0x74):_0x8b56db(0xca)](_0x8b56db(0xa3)+(_0x25a884['detail']??(_0x25a884['ok']?_0x8b56db(0x93):_0x8b56db(0xd6))));const _0x2bef1a=a98_0x2fb134({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x8b56db(0xc5)})[_0x8b56db(0xe3)](),_0x34c37f=execSkillsAdd(_0x168d43,_0x163da4);_0x99337f[_0x8b56db(0xab)](_0x34c37f),_0x2bef1a[_0x34c37f['ok']?_0x8b56db(0x74):'fail'](_0x8b56db(0x7b)+(_0x34c37f[_0x8b56db(0xf0)]??(_0x34c37f['ok']?_0x8b56db(0x93):'failed')));const _0x54252b=a98_0x2fb134({'text':_0x8b56db(0xe2),'color':_0x8b56db(0xc5)})['start'](),_0x19dac3=execUpgradeSdk(_0x561f4d);_0x99337f[_0x8b56db(0xab)](_0x19dac3),_0x54252b[_0x19dac3['ok']?'succeed':_0x8b56db(0xca)](_0x8b56db(0xb1)+(_0x19dac3[_0x8b56db(0xf0)]??(_0x19dac3['ok']?_0x8b56db(0x93):_0x8b56db(0xd6)))),printSummary(_0x99337f);const _0x50fb93=_0x99337f['some'](_0x3a6fb7=>!_0x3a6fb7['ok']);_0x50fb93?console[_0x8b56db(0xcd)](a98_0x128da0['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console['log'](a98_0x128da0[_0x8b56db(0x85)](_0x8b56db(0xb0))),_0x19dac3['ok']&&_0x561f4d['sdkUpgrade']&&(console[_0x8b56db(0xcd)](''),console[_0x8b56db(0xcd)](a98_0x128da0[_0x8b56db(0xba)][_0x8b56db(0xc5)](_0x8b56db(0xc9))),console[_0x8b56db(0xcd)](a98_0x128da0['cyan'](_0x8b56db(0xe8))),console[_0x8b56db(0xcd)](''),console['log'](a98_0x128da0[_0x8b56db(0xd0)](_0x8b56db(0x9a))),console[_0x8b56db(0xcd)](a98_0x128da0[_0x8b56db(0xd0)](_0x8b56db(0xae))),console[_0x8b56db(0xcd)](a98_0x128da0[_0x8b56db(0xd0)](_0x8b56db(0xc7))),console[_0x8b56db(0xcd)](''));}
|
|
1
|
+
function a102_0x2c71(_0x229704,_0x237d78){_0x229704=_0x229704-0x9f;const _0x40abb4=a102_0x40ab();let _0x2c7164=_0x40abb4[_0x229704];return _0x2c7164;}(function(_0x431c11,_0x5dad34){const _0x276dc3=a102_0x2c71,_0xcdc6d4=_0x431c11();while(!![]){try{const _0x1f22e6=parseInt(_0x276dc3(0x11b))/0x1*(parseInt(_0x276dc3(0xd8))/0x2)+parseInt(_0x276dc3(0x115))/0x3+-parseInt(_0x276dc3(0x10d))/0x4*(-parseInt(_0x276dc3(0xf0))/0x5)+-parseInt(_0x276dc3(0x113))/0x6*(-parseInt(_0x276dc3(0xa8))/0x7)+-parseInt(_0x276dc3(0xe5))/0x8*(parseInt(_0x276dc3(0xaa))/0x9)+-parseInt(_0x276dc3(0xe6))/0xa+-parseInt(_0x276dc3(0xb8))/0xb*(parseInt(_0x276dc3(0xb2))/0xc);if(_0x1f22e6===_0x5dad34)break;else _0xcdc6d4['push'](_0xcdc6d4['shift']());}catch(_0x39b19b){_0xcdc6d4['push'](_0xcdc6d4['shift']());}}}(a102_0x40ab,0x4d8ed));import a102_0x35f9de from'chalk';import a102_0x323df2 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x387db4=>_0x387db4!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x57ade9){const _0x3cade8=a102_0x2c71,_0x767b41=[];for(const _0x53ab74 of Object[_0x3cade8(0xe8)](CORE_IDE_CONFIGS)){if(_0x53ab74['files'])for(const _0x1f5f42 of _0x53ab74[_0x3cade8(0xd5)]){_0x767b41[_0x3cade8(0x9f)](resolve(_0x57ade9,_0x1f5f42[_0x3cade8(0xec)]));}}return _0x767b41;}function a102_0x40ab(){const _0x4d1956=['===\x20Upgrade\x20Summary\x20===','latest','done','===\x20Upgrade\x20Analysis\x20===','length','\x20removed\x20(','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','6041oZnfUl','skipped\x20(no\x20legacy\x20config)','47016xwRSbd','bold','lovrabet/rabetbase','cwd','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','cyan','already\x20exists\x20(will\x20merge)','[\x22@lovrabet/sdk\x22]:\x20','444EGnNlS','.claude/skills/lovrabet','Step\x206/7:\x20Installing\x20new\x20skill...','error','message','detail','150106xHlgZe','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','info','utf8','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20.lovrabet/','@lovrabet/sdk','removed\x20','oldMcpConfig','.bak','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x201/7:\x20Migrating\x20config...','\x20\x20\x20\x20\x20\x20\x20','MCP\x20config:','Remove\x20legacy\x20artifacts','\x20\x20Current\x20version\x20in\x20','Config\x20migration','no\x20legacy\x20config\x20found','\x20\x20bun\x20install','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20→\x20','Upgrade\x20completed\x20successfully!','some','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','status','devDependencies','args','join','configMigration','files','green','succeed','222038yNmieS','Upgrade\x20cancelled.','Step\x204/7:\x20Cleaning\x20MCP\x20config...','oldPath','object','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','log','Config\x20file:','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Legacy\x20artifacts:','includes','32yTjtSo','3383930BVGyRx','fail','values','Proceed\x20with\x20upgrade?','@lovrabet/dataset-mcp-server','keys','path','exit\x20','sdkUpgrade','white','270zLUAmD','entries','package.json','red','filter','\x20\x20Fields\x20to\x20migrate:\x20','.cursor/rules/lovrabet_rules.mdc','lovrabet/lovrabet-skill\x20removed','no\x20legacy\x20entry','\x20\x20#\x20or','Install\x20new\x20skill','inherit','@lovrabet/sdk:','string','Step\x201/7:\x20Config\x20migration\x20—\x20','isDirectory','Step\x205/7:\x20Removing\x20old\x20skill...','mcpServers','.lovrabet','\x20\x20npm\x20install','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','no\x20matching\x20entry\x20found','skipped','yellow','start','gray','\x20(backup:\x20','\x20removed','parse','35368OkbwAR','Upgrade\x20@lovrabet/sdk','hasNewConfig','needsSkillSwap','label','\x20from\x20','1818oxfQZj','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','995676jbogYf','none\x20found','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','failed','\x20\x20New\x20config\x20(.rabetbase.json):\x20','1qtngQo','push','Clean\x20MCP\x20config'];a102_0x40ab=function(){return _0x4d1956;};return a102_0x40ab();}function analyse(_0x30347a){const _0x181686=a102_0x2c71;let _0xb0070c=null;const _0x14f81c=resolve(_0x30347a,NEW_CONFIG_NAME),_0x509efd=existsSync(_0x14f81c);for(const _0x30c6f7 of LEGACY_CONFIG_NAMES){const _0x3f7230=resolve(_0x30347a,_0x30c6f7);if(existsSync(_0x3f7230)){const _0x25d8f2=readConfigFile(_0x3f7230),_0x3b6768=Object['keys'](_0x25d8f2)[_0x181686(0xf4)](_0x5025a4=>typeof _0x25d8f2[_0x5025a4]!=='undefined');_0xb0070c={'oldPath':_0x3f7230,'hasNewConfig':_0x509efd,'fields':_0x3b6768};break;}}const _0xd707a0=[],_0x3a966=resolve(_0x30347a,_0x181686(0x102));if(existsSync(_0x3a966))_0xd707a0[_0x181686(0x9f)](_0x3a966);const _0x9753fe=resolve(_0x30347a,_0x181686(0xf6));if(existsSync(_0x9753fe))_0xd707a0[_0x181686(0x9f)](_0x9753fe);const _0x2dee85=resolve(_0x30347a,_0x181686(0xb3));if(existsSync(_0x2dee85))_0xd707a0[_0x181686(0x9f)](_0x2dee85);for(const _0xd3fca2 of collectIdeSkillFiles(_0x30347a)){if(existsSync(_0xd3fca2))_0xd707a0[_0x181686(0x9f)](_0xd3fca2);}let _0x290269=null;const _0x1b734e=resolve(_0x30347a,'.cursor/mcp.json');if(existsSync(_0x1b734e))try{const _0x3420cf=JSON[_0x181686(0x10c)](readFileSync(_0x1b734e,'utf8'));if(_0x3420cf?.[_0x181686(0x101)]&&typeof _0x3420cf[_0x181686(0x101)]==='object'){const _0x4e0e7e=[];for(const [_0x280e4f,_0x2a87b2]of Object[_0x181686(0xf1)](_0x3420cf[_0x181686(0x101)])){const _0x4344d0=_0x2a87b2;_0x4344d0?.['args']&&Array['isArray'](_0x4344d0[_0x181686(0xd2)])&&_0x4344d0[_0x181686(0xd2)][_0x181686(0xce)](_0x4a1d20=>typeof _0x4a1d20===_0x181686(0xfd)&&_0x4a1d20['includes'](_0x181686(0xea)))&&_0x4e0e7e['push'](_0x280e4f);}_0x4e0e7e['length']>0x0&&(_0x290269={'path':_0x1b734e,'keys':_0x4e0e7e});}}catch{}const _0x21dfaf=_0xd707a0[_0x181686(0xa5)]>0x0||_0xb0070c!==null;let _0x23d2ea=null;const _0x2e8091=resolve(_0x30347a,_0x181686(0xf2));if(existsSync(_0x2e8091))try{const _0x2ea665=JSON['parse'](readFileSync(_0x2e8091,_0x181686(0xbb)));for(const _0x2da8d1 of['dependencies',_0x181686(0xd1)]){const _0x14a525=_0x2ea665?.[_0x2da8d1]?.[_0x181686(0xbe)];if(typeof _0x14a525===_0x181686(0xfd)){_0x14a525!==_0x181686(0xa2)&&(_0x23d2ea={'pkgPath':_0x2e8091,'currentVersion':_0x14a525,'field':_0x2da8d1});break;}}}catch{}return{'configMigration':_0xb0070c,'oldArtifacts':_0xd707a0,'oldMcpConfig':_0x290269,'needsSkillSwap':_0x21dfaf,'sdkUpgrade':_0x23d2ea};}function printReport(_0x1aba4c){const _0x4ba66b=a102_0x2c71,{configMigration:_0x28e353,oldArtifacts:_0x31ae52,oldMcpConfig:_0x4ed89e,needsSkillSwap:_0x58920a}=_0x1aba4c;console[_0x4ba66b(0xdf)](''),console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xab)](_0x4ba66b(0xa4))),console[_0x4ba66b(0xdf)]('');_0x28e353?(console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe0))+('\x20\x20'+a102_0x35f9de[_0x4ba66b(0x107)](_0x28e353['oldPath']))),console['log'](_0x4ba66b(0x11a)+(_0x28e353[_0x4ba66b(0x10f)]?a102_0x35f9de[_0x4ba66b(0xd6)](_0x4ba66b(0xb0)):a102_0x35f9de[_0x4ba66b(0x109)]('not\x20found\x20(will\x20create)'))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xf5)+_0x28e353['fields'][_0x4ba66b(0xd3)](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe0))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)](_0x4ba66b(0xc9)));console['log']('');if(_0x31ae52[_0x4ba66b(0xa5)]>0x0){console[_0x4ba66b(0xdf)](a102_0x35f9de[_0x4ba66b(0xaf)]('Legacy\x20artifacts:'));for(const _0x1974dd of _0x31ae52){console[_0x4ba66b(0xdf)]('\x20\x20'+a102_0x35f9de[_0x4ba66b(0xf3)]('FOUND')+'\x20\x20'+_0x1974dd);}console['log']('\x20\x20Action:\x20delete');}else console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xe3))+'\x20\x20'+a102_0x35f9de['gray'](_0x4ba66b(0x116)));console[_0x4ba66b(0xdf)]('');_0x4ed89e?(console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan'](_0x4ba66b(0xc5))+('\x20\x20'+a102_0x35f9de[_0x4ba66b(0x107)](_0x4ed89e['path'])+'\x20→\x20keys:\x20'+_0x4ed89e[_0x4ba66b(0xeb)]['join'](',\x20'))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xdd))):console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xc5))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)](_0x4ba66b(0xf8)));console[_0x4ba66b(0xdf)](''),console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x58920a?a102_0x35f9de[_0x4ba66b(0x107)]('needed'):a102_0x35f9de['green']('not\x20needed'))));_0x58920a&&console[_0x4ba66b(0xdf)](_0x4ba66b(0xb9)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x4ba66b(0xdf)]('');if(_0x1aba4c[_0x4ba66b(0xee)]){const {currentVersion:_0x14460d,field:_0x5e7cae,pkgPath:_0x5492a1}=_0x1aba4c[_0x4ba66b(0xee)];console[_0x4ba66b(0xdf)](a102_0x35f9de['cyan'](_0x4ba66b(0xfc))+('\x20\x20'+a102_0x35f9de['yellow'](_0x5492a1))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xc7)+_0x5e7cae+':\x20'+a102_0x35f9de['yellow'](_0x14460d)+'\x20→\x20'+a102_0x35f9de['green'](_0x4ba66b(0xa2))),console[_0x4ba66b(0xdf)](_0x4ba66b(0xe1));}else console['log'](a102_0x35f9de[_0x4ba66b(0xaf)](_0x4ba66b(0xfc))+'\x20\x20'+a102_0x35f9de[_0x4ba66b(0x109)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x461370,_0x55b615){const _0x165c55=a102_0x2c71,{configMigration:_0x504598}=_0x461370;if(!_0x504598?.['oldPath'])return{'step':0x1,'label':_0x165c55(0xc8),'ok':!![],'detail':_0x165c55(0xa9)};const _0x1a9fe0=readConfigFile(_0x504598[_0x165c55(0xdb)]),_0x4a082d=resolve(_0x55b615,NEW_CONFIG_NAME),_0x1ccacb=_0x504598[_0x165c55(0x10f)]?readConfigFile(_0x4a082d):{};for(const [_0xd38e4f,_0x38b171]of Object[_0x165c55(0xf1)](_0x1a9fe0)){!(_0xd38e4f in _0x1ccacb)&&(_0x1ccacb[_0xd38e4f]=_0x38b171);}writeConfigFile(_0x4a082d,_0x1ccacb);const _0x446225=_0x504598[_0x165c55(0xdb)]+_0x165c55(0xc1);return renameSync(_0x504598[_0x165c55(0xdb)],_0x446225),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x504598[_0x165c55(0xdb)]+_0x165c55(0xcc)+_0x4a082d+_0x165c55(0x10a)+_0x446225+')'};}function execRemoveOldArtifacts(_0x246921){const _0x40cea2=a102_0x2c71,_0x4900b3=[];for(const _0x29b88b of _0x246921){try{if(!existsSync(_0x29b88b))continue;const _0x30cb64=tryStat(_0x29b88b);_0x30cb64?.[_0x40cea2(0xff)]()?rmSync(_0x29b88b,{'recursive':!![],'force':!![]}):unlinkSync(_0x29b88b);}catch(_0x2f7cf5){_0x4900b3[_0x40cea2(0x9f)](_0x29b88b+':\x20'+_0x2f7cf5[_0x40cea2(0xb6)]);}}return{'step':0x3,'label':_0x40cea2(0xc6),'ok':_0x4900b3[_0x40cea2(0xa5)]===0x0,'detail':_0x4900b3[_0x40cea2(0xa5)]>0x0?_0x246921[_0x40cea2(0xa5)]-_0x4900b3[_0x40cea2(0xa5)]+'/'+_0x246921[_0x40cea2(0xa5)]+_0x40cea2(0xa6)+_0x4900b3[_0x40cea2(0xd3)](';\x20')+')':_0x246921['length']+_0x40cea2(0x10b)};}function execCleanMcp(_0x8391fc){const _0x286137=a102_0x2c71;if(!_0x8391fc[_0x286137(0xc0)])return{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0x106)};try{const _0x3666b6=readFileSync(_0x8391fc['oldMcpConfig'][_0x286137(0xec)],_0x286137(0xbb)),_0x8b4301=JSON[_0x286137(0x10c)](_0x3666b6);if(_0x8b4301?.[_0x286137(0x101)]&&typeof _0x8b4301[_0x286137(0x101)]===_0x286137(0xdc)){const _0x423ce9=[];for(const [_0x1c7c6a,_0x2f7190]of Object[_0x286137(0xf1)](_0x8b4301[_0x286137(0x101)])){_0x2f7190?.[_0x286137(0xd2)]&&Array['isArray'](_0x2f7190[_0x286137(0xd2)])&&_0x2f7190[_0x286137(0xd2)][_0x286137(0xce)](_0x42c79b=>typeof _0x42c79b===_0x286137(0xfd)&&_0x42c79b[_0x286137(0xe4)](_0x286137(0xea)))&&_0x423ce9['push'](_0x1c7c6a);}for(const _0x17001 of _0x423ce9){delete _0x8b4301[_0x286137(0x101)][_0x17001];}return _0x423ce9[_0x286137(0xa5)]>0x0&&writeFileSync(_0x8391fc[_0x286137(0xc0)][_0x286137(0xec)],JSON['stringify'](_0x8b4301,null,0x2)+'\x0a',_0x286137(0xbb)),{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0xbf)+_0x423ce9[_0x286137(0xd3)](',\x20')+_0x286137(0x112)+_0x8391fc['oldMcpConfig']['path']};}return{'step':0x4,'label':_0x286137(0xa0),'ok':!![],'detail':_0x286137(0x105)};}catch(_0x4a6224){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x4a6224[_0x286137(0xb6)]};}}function execSkillsRemove(_0x552bed,_0x1da9ac){const _0x5af56b=a102_0x2c71,_0x484240=runNpxSkillsRemove(_0x552bed,{'stdio':_0x5af56b(0xfb),'yes':_0x1da9ac});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x484240['ok'],'detail':_0x484240['ok']?_0x5af56b(0xf7):_0x484240[_0x5af56b(0xb5)]??'exit\x20'+_0x484240[_0x5af56b(0xd0)]};}function execSkillsAdd(_0x4692aa,_0x3aea7e){const _0x4f5faa=a102_0x2c71,_0x56d5f9=runNpxSkillsAddGlobal(_0x4692aa,_0x4f5faa(0xac),{'stdio':_0x4f5faa(0xfb),'yes':_0x3aea7e});return{'step':0x6,'label':_0x4f5faa(0xfa),'ok':_0x56d5f9['ok'],'detail':_0x56d5f9['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x56d5f9[_0x4f5faa(0xb5)]??_0x4f5faa(0xed)+_0x56d5f9['status']};}function execUpgradeSdk(_0x3cce7d){const _0x44a60e=a102_0x2c71;if(!_0x3cce7d[_0x44a60e(0xee)])return{'step':0x7,'label':_0x44a60e(0x10e),'ok':!![],'detail':_0x44a60e(0xe2)};const {pkgPath:_0x35870e,currentVersion:_0x50615d,field:_0x20f1c9}=_0x3cce7d[_0x44a60e(0xee)];try{const _0x9ba326=readFileSync(_0x35870e,_0x44a60e(0xbb)),_0x5bc4f7=JSON[_0x44a60e(0x10c)](_0x9ba326);return _0x5bc4f7[_0x20f1c9][_0x44a60e(0xbe)]=_0x44a60e(0xa2),writeFileSync(_0x35870e,JSON['stringify'](_0x5bc4f7,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x44a60e(0x10e),'ok':!![],'detail':_0x20f1c9+_0x44a60e(0xb1)+_0x50615d+'\x20→\x20latest'};}catch(_0x2468f9){return{'step':0x7,'label':_0x44a60e(0x10e),'ok':![],'detail':_0x2468f9['message']};}}function tryStat(_0x21224b){try{return statSync(_0x21224b);}catch{return undefined;}}function printSummary(_0x58f328){const _0x57e519=a102_0x2c71;console[_0x57e519(0xdf)](''),console[_0x57e519(0xdf)](a102_0x35f9de[_0x57e519(0xab)](_0x57e519(0xa1))),console['log']('');for(const _0x45cc09 of _0x58f328){const _0x5887f3=_0x45cc09['ok']?a102_0x35f9de[_0x57e519(0xd6)]('OK'):a102_0x35f9de[_0x57e519(0xf3)]('FAIL');console[_0x57e519(0xdf)]('\x20\x20'+_0x5887f3+'\x20\x20Step\x20'+_0x45cc09['step']+':\x20'+_0x45cc09[_0x57e519(0x111)]);if(_0x45cc09[_0x57e519(0xb7)])console[_0x57e519(0xdf)](_0x57e519(0xc4)+a102_0x35f9de['gray'](_0x45cc09[_0x57e519(0xb7)]));}console['log']('');}export async function upgradeApp(_0x5266a6,_0x3642c7){const _0x2d5fbb=a102_0x2c71,_0x330337=process[_0x2d5fbb(0xad)](),_0x3debfb=analyse(_0x330337),_0x472999=!_0x3debfb[_0x2d5fbb(0xd4)]&&_0x3debfb['oldArtifacts']['length']===0x0&&!_0x3debfb[_0x2d5fbb(0xc0)]&&!_0x3debfb[_0x2d5fbb(0x110)]&&!_0x3debfb[_0x2d5fbb(0xee)];if(_0x472999){console['log'](a102_0x35f9de[_0x2d5fbb(0xd6)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3debfb);const _0xe2fdc2=!!(_0x3642c7['yes']||_0x3642c7['Y']||_0x5266a6);if(!_0xe2fdc2)try{const _0x32dc9e=await askConfirm(_0x2d5fbb(0xe9));if(!_0x32dc9e){console['log'](a102_0x35f9de['gray'](_0x2d5fbb(0xd9)));return;}}catch(_0x509f73){if(_0x509f73?.[_0x2d5fbb(0xb6)]==='CANCEL'){console[_0x2d5fbb(0xdf)](a102_0x35f9de['gray'](_0x2d5fbb(0xd9)));return;}throw _0x509f73;}const _0x38c987=[],_0x3c73f8=a102_0x323df2({'text':_0x2d5fbb(0xc3),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x32b7d2=execConfigMigration(_0x3debfb,_0x330337);_0x38c987[_0x2d5fbb(0x9f)](_0x32b7d2),_0x3c73f8[_0x32b7d2['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0xfe)+(_0x32b7d2['detail']??(_0x32b7d2['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x1cc485=resolve(_0x330337,'.lovrabet'),_0x5b5afc=a102_0x323df2({'text':_0x2d5fbb(0xa7),'color':_0x2d5fbb(0xaf)})['start']();if(existsSync(_0x1cc485))try{rmSync(_0x1cc485,{'recursive':!![],'force':!![]}),_0x5b5afc[_0x2d5fbb(0xd7)](_0x2d5fbb(0xbc)),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':!![]});}catch(_0x2523da){_0x5b5afc[_0x2d5fbb(0xe7)](_0x2d5fbb(0x118)+_0x2523da[_0x2d5fbb(0xb6)]),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':![],'detail':_0x2523da['message']});}else _0x5b5afc[_0x2d5fbb(0xba)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x38c987[_0x2d5fbb(0x9f)]({'step':0x2,'label':_0x2d5fbb(0xbd),'ok':!![],'detail':'skipped'});const _0x267d30=a102_0x323df2({'text':_0x2d5fbb(0xde),'color':_0x2d5fbb(0xaf)})['start'](),_0x2e633b=execRemoveOldArtifacts(_0x3debfb['oldArtifacts']);_0x38c987['push'](_0x2e633b),_0x267d30[_0x2e633b['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0x117)+(_0x2e633b[_0x2d5fbb(0xb7)]??(_0x2e633b['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x2bd2bb=a102_0x323df2({'text':_0x2d5fbb(0xda),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x418b1e=execCleanMcp(_0x3debfb);_0x38c987[_0x2d5fbb(0x9f)](_0x418b1e),_0x2bd2bb[_0x418b1e['ok']?'succeed':_0x2d5fbb(0xe7)](_0x2d5fbb(0xc2)+(_0x418b1e['detail']??(_0x418b1e['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x189bf7=a102_0x323df2({'text':_0x2d5fbb(0x100),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x372045=execSkillsRemove(_0x330337,_0xe2fdc2);_0x38c987[_0x2d5fbb(0x9f)](_0x372045),_0x189bf7[_0x372045['ok']?_0x2d5fbb(0xd7):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x372045[_0x2d5fbb(0xb7)]??(_0x372045['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x322c3e=a102_0x323df2({'text':_0x2d5fbb(0xb4),'color':_0x2d5fbb(0xaf)})[_0x2d5fbb(0x108)](),_0x1f109c=execSkillsAdd(_0x330337,_0xe2fdc2);_0x38c987[_0x2d5fbb(0x9f)](_0x1f109c),_0x322c3e[_0x1f109c['ok']?_0x2d5fbb(0xd7):_0x2d5fbb(0xe7)](_0x2d5fbb(0x114)+(_0x1f109c[_0x2d5fbb(0xb7)]??(_0x1f109c['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119))));const _0x1c1085=a102_0x323df2({'text':_0x2d5fbb(0xcf),'color':'cyan'})[_0x2d5fbb(0x108)](),_0x36f31c=execUpgradeSdk(_0x3debfb);_0x38c987['push'](_0x36f31c),_0x1c1085[_0x36f31c['ok']?'succeed':_0x2d5fbb(0xe7)](_0x2d5fbb(0xae)+(_0x36f31c[_0x2d5fbb(0xb7)]??(_0x36f31c['ok']?_0x2d5fbb(0xa3):_0x2d5fbb(0x119)))),printSummary(_0x38c987);const _0x29809c=_0x38c987[_0x2d5fbb(0xce)](_0x3f2aeb=>!_0x3f2aeb['ok']);_0x29809c?console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0x107)](_0x2d5fbb(0xcb))):console[_0x2d5fbb(0xdf)](a102_0x35f9de['green'](_0x2d5fbb(0xcd))),_0x36f31c['ok']&&_0x3debfb['sdkUpgrade']&&(console[_0x2d5fbb(0xdf)](''),console[_0x2d5fbb(0xdf)](a102_0x35f9de['bold'][_0x2d5fbb(0xaf)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xaf)](_0x2d5fbb(0x104))),console[_0x2d5fbb(0xdf)](''),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0x103))),console['log'](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0xf9))),console[_0x2d5fbb(0xdf)](a102_0x35f9de[_0x2d5fbb(0xef)](_0x2d5fbb(0xca))),console[_0x2d5fbb(0xdf)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a103_0x2e20e5=a103_0x59c6;(function(_0xabeae3,_0x46b742){const _0x4649ca=a103_0x59c6,_0x2ae557=_0xabeae3();while(!![]){try{const _0x29e31c=parseInt(_0x4649ca(0x19f))/0x1*(parseInt(_0x4649ca(0x198))/0x2)+-parseInt(_0x4649ca(0x187))/0x3*(parseInt(_0x4649ca(0x18f))/0x4)+-parseInt(_0x4649ca(0x16f))/0x5*(parseInt(_0x4649ca(0x182))/0x6)+parseInt(_0x4649ca(0x190))/0x7+-parseInt(_0x4649ca(0x188))/0x8*(parseInt(_0x4649ca(0x193))/0x9)+-parseInt(_0x4649ca(0x17c))/0xa*(-parseInt(_0x4649ca(0x181))/0xb)+-parseInt(_0x4649ca(0x19e))/0xc*(parseInt(_0x4649ca(0x19c))/0xd);if(_0x29e31c===_0x46b742)break;else _0x2ae557['push'](_0x2ae557['shift']());}catch(_0x53f514){_0x2ae557['push'](_0x2ae557['shift']());}}}(a103_0xfe42,0x7514c));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{appDefinitions}from'../commands/app/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x1388b6){const _0x49c201=a103_0x59c6;for(const _0x4f6961 of _0x1388b6){definitions[_0x49c201(0x186)](_0x4f6961['service']+':'+_0x4f6961[_0x49c201(0x191)],_0x4f6961);let _0x450d56=serviceGroups[_0x49c201(0x171)](_0x4f6961[_0x49c201(0x17b)]);!_0x450d56&&(_0x450d56=[],serviceGroups[_0x49c201(0x186)](_0x4f6961[_0x49c201(0x17b)],_0x450d56)),_0x450d56[_0x49c201(0x172)](_0x4f6961);}}function registerDeclarativeService(_0x43d154,_0x55c66d,_0x4d64d1){const _0x48755f=a103_0x59c6;registerDefinitions(_0x55c66d);_0x4d64d1?.[_0x48755f(0x177)]&®isterDefinitions([_0x4d64d1[_0x48755f(0x177)]]);const _0x118a81=_0x1dec61=>_0x1dec61==='read'?'':_0x1dec61==='write'?'\x20\x20[write]':_0x48755f(0x17d),_0x2d7528={'service':_0x55c66d[0x0][_0x48755f(0x17b)],'label':_0x43d154,'commands':_0x55c66d['map'](_0x122d88=>({'command':_0x122d88[_0x48755f(0x191)],'description':_0x122d88[_0x48755f(0x183)],'tag':_0x118a81(_0x122d88[_0x48755f(0x195)])})),'declarative':!![],'defaultCommand':_0x4d64d1?.[_0x48755f(0x19b)]??(_0x4d64d1?.['isSingleCommand']?_0x55c66d[0x0][_0x48755f(0x191)]:undefined),'wildcardDef':_0x4d64d1?.[_0x48755f(0x177)],'isSingleCommand':_0x4d64d1?.['isSingleCommand']};serviceRegistry[_0x48755f(0x172)](_0x2d7528),serviceByName[_0x48755f(0x186)](_0x2d7528[_0x48755f(0x17b)],_0x2d7528);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a103_0x2e20e5(0x18c),projectDefinitions),registerDeclarativeService(a103_0x2e20e5(0x185),appDefinitions),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a103_0x2e20e5(0x16d)]-0x1];last[a103_0x2e20e5(0x189)]=[{'command':a103_0x2e20e5(0x180),'description':a103_0x2e20e5(0x196),'tag':''}];}function a103_0x59c6(_0x1fc53b,_0x444037){_0x1fc53b=_0x1fc53b-0x16d;const _0xfe4232=a103_0xfe42();let _0x59c690=_0xfe4232[_0x1fc53b];return _0x59c690;}registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a103_0x2e20e5(0x17e)}),registerDeclarativeService(a103_0x2e20e5(0x175),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x2e20e5(0x199),configDefinitions),registerDeclarativeService(a103_0x2e20e5(0x17f),apiDefinitions),registerDeclarativeService(a103_0x2e20e5(0x18a),menuDefinitions),registerDeclarativeService(a103_0x2e20e5(0x184),dbDefinitions),registerDeclarativeService(a103_0x2e20e5(0x173),datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a103_0x2e20e5(0x19a),dataDefinitions),registerDeclarativeService(a103_0x2e20e5(0x19d),bffDefinitions),registerDeclarativeService(a103_0x2e20e5(0x18e),sqlDefinitions),registerDeclarativeService(a103_0x2e20e5(0x174),codegenDefinitions),registerDeclarativeService('Skills',skillDefinitions),registerDeclarativeService(a103_0x2e20e5(0x194),logsDefinitions,{'defaultCommand':a103_0x2e20e5(0x197)});export const deprecatedAliases={'create':{'service':'project','command':a103_0x2e20e5(0x179)},'start':{'service':'run','command':'start'},'build':{'service':a103_0x2e20e5(0x16e),'command':'build'},'preview':{'service':a103_0x2e20e5(0x16e),'command':a103_0x2e20e5(0x192)},'logout':{'service':a103_0x2e20e5(0x18d),'command':a103_0x2e20e5(0x178)},'skills':{'service':a103_0x2e20e5(0x176),'command':a103_0x2e20e5(0x170)}};export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a103_0x2e20e5(0x179)}};export function resolveDeprecatedSubcommand(_0x5531e4,_0xd24ed0){return deprecatedSubcommands[_0x5531e4]?.[_0xd24ed0];}export function findDefinition(_0x143f8c,_0x1cf53e){const _0x3d91d0=a103_0x2e20e5;return definitions[_0x3d91d0(0x171)](_0x143f8c+':'+_0x1cf53e);}export function isKnownService(_0x33c6e6){const _0xb63cc1=a103_0x2e20e5;return serviceByName[_0xb63cc1(0x18b)](_0x33c6e6);}function a103_0xfe42(){const _0x106796=['9567GUyvWI','Logs','risk','Run\x20any\x20package.json\x20script','show','58WfJBlj','Configuration','Data\x20Query','defaultCommand','16247621qeYcAT','BFF\x20Scripts','12ALVfWY','32719DOloHi','length','run','285ecLNlM','install','get','push','Dataset\x20&\x20Operations','Code\x20Generation','Self\x20Update','skill','wildcardDef','logout','create','from','service','24630MBezRc','\x20\x20[high-risk-write]','login','API','<script>','3179qhbRCy','666IGnoZg','description','Database\x20Connections','App\x20Management','set','3zIvWSU','1752NhnctW','commands','Menu','has','Project','auth','SQL\x20Queries','1684324VTXtRF','5102496wDpUbz','command','preview'];a103_0xfe42=function(){return _0x106796;};return a103_0xfe42();}export function isDeclarativeService(_0x122ced){const _0x100bef=a103_0x2e20e5;return serviceGroups[_0x100bef(0x18b)](_0x122ced)||serviceByName[_0x100bef(0x171)](_0x122ced)?.[_0x100bef(0x177)]!==undefined;}export function getServiceEntry(_0x41b8bc){return serviceByName['get'](_0x41b8bc);}export function getLegacyHandler(_0x3e0961,_0x4b6802){return undefined;}export function getAllDefinitions(){const _0x4008ec=a103_0x2e20e5;return Array[_0x4008ec(0x17a)](definitions['values']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a104_0x156a49=a104_0x2201;(function(_0x2a9913,_0x21c8ee){const _0xf0eea9=a104_0x2201,_0x10a3dd=_0x2a9913();while(!![]){try{const _0x5abec5=parseInt(_0xf0eea9(0xcf))/0x1+parseInt(_0xf0eea9(0xc3))/0x2+-parseInt(_0xf0eea9(0xdc))/0x3+parseInt(_0xf0eea9(0xc1))/0x4+parseInt(_0xf0eea9(0xcb))/0x5*(-parseInt(_0xf0eea9(0xd1))/0x6)+-parseInt(_0xf0eea9(0xcc))/0x7*(parseInt(_0xf0eea9(0xda))/0x8)+-parseInt(_0xf0eea9(0xa6))/0x9;if(_0x5abec5===_0x21c8ee)break;else _0x10a3dd['push'](_0x10a3dd['shift']());}catch(_0x2c9e0d){_0x10a3dd['push'](_0x10a3dd['shift']());}}}(a104_0x1f42,0x73fa3));import{readFileSync,existsSync}from'node:fs';function a104_0x1f42(){const _0x3dc60a=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','package.json','48phRIQI','preview','1806198rOMtGh','\x0a\x20\x20Available\x20scripts:\x0a','npm','\x20run\x20start','Script\x20name\x20defined\x20in\x20package.json','all','boolean','yarn','\x22\x20not\x20found\x20in\x20package.json.','max','slice','node_modules','close','run','\x20run\x20<script>\x0a','script','cwd','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20exited\x20with\x20code\x20','--watch','4484736ioLBVQ','\x20\x20\x20\x20','validation','pnpm','build','inherit','\x20\x20EXAMPLES','\x20run\x20build','needsUpgrade','dev','(none)','vite','.bin','padEnd','scripts','has','parse','args','log','start','vite\x20preview\x20exited\x20with\x20code\x20','bun','\x20run\x20preview','bun.lock','map','join','length','2882592VUAmMV','yarn.lock','1400390GPLggd','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','watch','belowMinimum','utf-8','push','Available:\x20','entries','9510MslKLJ','285565WdXSnn','\x0a\x20\x20Usage:\x20','Script\x20\x22','515362qBOsAw','read','366WlFyxt','No\x20scripts\x20defined\x20in\x20package.json.','\x20run\x20','bun.lockb','keys','error','pnpm-lock.yaml'];a104_0x1f42=function(){return _0x3dc60a;};return a104_0x1f42();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';function a104_0x2201(_0x3edd48,_0x2971e1){_0x3edd48=_0x3edd48-0x97;const _0x1f4205=a104_0x1f42();let _0x220152=_0x1f4205[_0x3edd48];return _0x220152;}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([a104_0x156a49(0xb9),a104_0x156a49(0xaf)]);function readPackageScripts(_0x542dff){const _0x75385=a104_0x156a49,_0x36bc68=resolve(_0x542dff,_0x75385(0xd9));if(!existsSync(_0x36bc68))return null;try{const _0x3577bc=JSON[_0x75385(0xb6)](readFileSync(_0x36bc68,_0x75385(0xc7)));return _0x3577bc[_0x75385(0xb4)]??{};}catch{return null;}}function detectPackageManager(_0x51c190){const _0x1f6192=a104_0x156a49;if(existsSync(resolve(_0x51c190,_0x1f6192(0xd4)))||existsSync(resolve(_0x51c190,_0x1f6192(0xbd))))return _0x1f6192(0xbb);if(existsSync(resolve(_0x51c190,_0x1f6192(0xd7))))return _0x1f6192(0xa9);if(existsSync(resolve(_0x51c190,_0x1f6192(0xc2))))return _0x1f6192(0x99);return _0x1f6192(0xde);}async function versionCheck(_0x422b80){const _0x4f713e=a104_0x156a49,_0x451941=await checkCliVersion();(_0x451941[_0x4f713e(0xae)]||_0x451941[_0x4f713e(0xc6)])&&(printCliUpgradeWarning(_0x451941),assertCliVersionSupported(_0x451941));const _0x51615c=await checkSdkVersion(_0x422b80);if(_0x51615c['needsUpgrade'])printSdkUpgradeWarning(_0x51615c);}function spawnScript(_0x2b4cbf,_0x30a8c9,_0x343525,_0x66d675){return new Promise((_0x3f22a2,_0x2b230e)=>{const _0x119d2a=a104_0x2201,_0x2c287a=[_0x119d2a(0x9f),_0x30a8c9,..._0x343525],_0x2f3e1b=spawn(_0x2b4cbf,_0x2c287a,{'cwd':_0x66d675,'stdio':_0x119d2a(0xab),'shell':!![],'env':{...process.env,'PATH':''+join(_0x66d675,_0x119d2a(0x9d),_0x119d2a(0xb2))+delimiter+process.env.PATH}});_0x2f3e1b['on'](_0x119d2a(0x9e),_0x594ee2=>{const _0x23ab4b=_0x119d2a;if(_0x594ee2===0x0||_0x594ee2===null)_0x3f22a2();else _0x2b230e(new Error(_0x2b4cbf+'\x20run\x20'+_0x30a8c9+_0x23ab4b(0xa4)+_0x594ee2));}),_0x2f3e1b['on'](_0x119d2a(0xd6),_0x2b230e);});}function spawnViteBuildWatch(_0xd9ea90){return new Promise((_0x430c00,_0x1c70c1)=>{const _0x35323a=a104_0x2201,_0x420e47=spawn(_0x35323a(0xb1),[_0x35323a(0xaa),_0x35323a(0xa5)],{'cwd':_0xd9ea90,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xd9ea90,_0x35323a(0x9d),'.bin')+delimiter+process.env.PATH}});_0x420e47['on'](_0x35323a(0x9e),_0x330c0f=>{const _0xac59f6=_0x35323a;if(_0x330c0f===0x0||_0x330c0f===null)_0x430c00();else _0x1c70c1(new Error(_0xac59f6(0xd8)+_0x330c0f));}),_0x420e47['on'](_0x35323a(0xd6),_0x1c70c1);});}function spawnVitePreview(_0x4127a3){return new Promise((_0x36e9cb,_0x3ab95b)=>{const _0x48cea7=a104_0x2201,_0x4a1f50=spawn(_0x48cea7(0xb1),[_0x48cea7(0xdb)],{'cwd':_0x4127a3,'stdio':_0x48cea7(0xab),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4127a3,'node_modules','.bin')+delimiter+process.env.PATH}});_0x4a1f50['on'](_0x48cea7(0x9e),_0x1b0a55=>{const _0x2269c5=_0x48cea7;if(_0x1b0a55===0x0||_0x1b0a55===null)_0x36e9cb();else _0x3ab95b(new Error(_0x2269c5(0xba)+_0x1b0a55));}),_0x4a1f50['on']('error',_0x3ab95b);});}const runFlags=[{'name':'watch','type':a104_0x156a49(0x98),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':'run','command':a104_0x156a49(0x9f),'description':'Run\x20a\x20package.json\x20script','risk':a104_0x156a49(0xd0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a104_0x156a49(0xa1),'description':a104_0x156a49(0xe0),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x348ff8=a104_0x156a49,_0x22be75=readPackageScripts(process[_0x348ff8(0xa2)]()),_0x4aea07=[];if(_0x22be75&&Object[_0x348ff8(0xd5)](_0x22be75)[_0x348ff8(0xc0)]>0x0){const _0x33e0e3=Object['keys'](_0x22be75),_0x17d2ea=Math['max'](..._0x33e0e3[_0x348ff8(0xbe)](_0x49d223=>_0x49d223['length']));_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa3));for(const [_0x2d6e4b,_0x55d8c2]of Object[_0x348ff8(0xca)](_0x22be75)){_0x4aea07['push'](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xd3)+_0x2d6e4b[_0x348ff8(0xb3)](_0x17d2ea+0x2)+'#\x20'+_0x55d8c2);}}else _0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xac)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xdf)),_0x4aea07[_0x348ff8(0xc8)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x348ff8(0xad)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xbc)),_0x4aea07[_0x348ff8(0xc8)](_0x348ff8(0xa7)+CLI_BIN_NAME+_0x348ff8(0xc4));return _0x4aea07[_0x348ff8(0xbf)]('\x0a');},async 'execute'(_0x132481){const _0x4df404=a104_0x156a49,_0x84fffc=process['cwd'](),_0x4ab549=_0x132481[_0x4df404(0xb7)][0x0],_0x4894c1=_0x132481[_0x4df404(0xb7)][_0x4df404(0x9c)](0x1),_0x539bce=readPackageScripts(_0x84fffc);if(!_0x539bce)throw CliErrors[_0x4df404(0xa8)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x4ab549){const _0x278239=Object[_0x4df404(0xd5)](_0x539bce);if(_0x278239[_0x4df404(0xc0)]===0x0)console[_0x4df404(0xb8)](_0x4df404(0xd2));else{console[_0x4df404(0xb8)](_0x4df404(0xdd));const _0x502e2f=Math[_0x4df404(0x9b)](..._0x278239[_0x4df404(0xbe)](_0x315e90=>_0x315e90[_0x4df404(0xc0)]));for(const [_0x5b51ac,_0x29859d]of Object[_0x4df404(0xca)](_0x539bce)){console[_0x4df404(0xb8)]('\x20\x20\x20\x20'+_0x5b51ac[_0x4df404(0xb3)](_0x502e2f+0x2)+_0x29859d);}console['log'](_0x4df404(0xcd)+CLI_BIN_NAME+_0x4df404(0xa0));}return{'ok':!![]};}if(!_0x539bce[_0x4ab549])throw CliErrors[_0x4df404(0xa8)](_0x4df404(0xce)+_0x4ab549+_0x4df404(0x9a),_0x4df404(0xc9)+(Object[_0x4df404(0xd5)](_0x539bce)[_0x4df404(0xbf)](',\x20')||_0x4df404(0xb0)));const _0x3e82f5=detectPackageManager(_0x84fffc);VERSION_CHECK_SCRIPTS[_0x4df404(0xb5)](_0x4ab549)&&await versionCheck(_0x84fffc);if(_0x4ab549==='preview'&&_0x132481['bool'](_0x4df404(0xc5)))return await Promise[_0x4df404(0x97)]([spawnViteBuildWatch(_0x84fffc),spawnVitePreview(_0x84fffc)]),{'ok':!![]};return await spawnScript(_0x3e82f5,_0x4ab549,_0x4894c1,_0x84fffc),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a105_0x2c27(_0x5b1a46,_0xc08fe6){_0x5b1a46=_0x5b1a46-0xca;const _0x4c0b23=a105_0x4c0b();let _0x2c27c1=_0x4c0b23[_0x5b1a46];return _0x2c27c1;}const a105_0x5c745c=a105_0x2c27;(function(_0x42a985,_0x151f33){const _0x59207b=a105_0x2c27,_0x364529=_0x42a985();while(!![]){try{const _0x4b1b57=-parseInt(_0x59207b(0xca))/0x1+parseInt(_0x59207b(0xce))/0x2+-parseInt(_0x59207b(0xd2))/0x3+-parseInt(_0x59207b(0xcc))/0x4+-parseInt(_0x59207b(0xcb))/0x5+-parseInt(_0x59207b(0xcf))/0x6+-parseInt(_0x59207b(0xcd))/0x7*(-parseInt(_0x59207b(0xd4))/0x8);if(_0x4b1b57===_0x151f33)break;else _0x364529['push'](_0x364529['shift']());}catch(_0x35ddb6){_0x364529['push'](_0x364529['shift']());}}}(a105_0x4c0b,0xc0852));function a105_0x4c0b(){const _0x505121=['778828rOuLVB','6551750uLWuFF','3804016FVJIhC','14OtEGHh','856072DsqyJE','6387858LAEGIs','Export\x20machine-readable\x20command\x20schema\x20(JSON)','export','2774691WEhOxX','json','21560992VfDvao'];a105_0x4c0b=function(){return _0x505121;};return a105_0x4c0b();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xc8a8fe){const _0x188554=await buildSchemaPayload();return{'ok':!![],'data':_0x188554};}export const schemaDefinition={'service':'schema','command':a105_0x5c745c(0xd1),'description':a105_0x5c745c(0xd0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a105_0x5c745c(0xd3),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a106_0x2f6178=a106_0x2b06;(function(_0x4ee3f4,_0x1a014e){const _0x5d9050=a106_0x2b06,_0x3f463f=_0x4ee3f4();while(!![]){try{const _0x192ce3=parseInt(_0x5d9050(0xd4))/0x1+parseInt(_0x5d9050(0xcc))/0x2*(-parseInt(_0x5d9050(0xe1))/0x3)+-parseInt(_0x5d9050(0xcf))/0x4*(-parseInt(_0x5d9050(0xde))/0x5)+parseInt(_0x5d9050(0xdd))/0x6+-parseInt(_0x5d9050(0xd1))/0x7*(parseInt(_0x5d9050(0xcd))/0x8)+-parseInt(_0x5d9050(0xd2))/0x9+parseInt(_0x5d9050(0xd6))/0xa;if(_0x192ce3===_0x1a014e)break;else _0x3f463f['push'](_0x3f463f['shift']());}catch(_0x4195c0){_0x3f463f['push'](_0x3f463f['shift']());}}}(a106_0xa781,0xd042d));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a106_0x2b06(_0x176ce2,_0x393dcb){_0x176ce2=_0x176ce2-0xca;const _0xa781c1=a106_0xa781();let _0x2b06f3=_0xa781c1[_0x176ce2];return _0x2b06f3;}import{logger}from'../../utils/logger.js';function a106_0xa781(){const _0x11af04=['5KLEPdA',')...','\x20skill\x20installed','102LUEuGE','unknown','pipe','skill-install','22642HLXWMV','23344avTpKn','nonInteractive','5154664ElKzou','lovrabet/rabetbase','476ONYiQI','10815471kWQwzc','info','870612WuccHo','log','2265270URIBKS','Installing\x20official\x20skill\x20via\x20npx\x20(','npx\x20skills\x20add\x20failed:\x20','inherit','Install\x20developer\x20skill\x20package','skipped','skill','1513734ZjCyvS'];a106_0xa781=function(){return _0x11af04;};return a106_0xa781();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':a106_0x2f6178(0xdc),'command':'install','description':a106_0x2f6178(0xda),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x50f06e){const _0xd31caa=a106_0x2f6178;logger['setLogPath'](process['cwd']()),logger[_0xd31caa(0xd3)](_0xd31caa(0xcb),'执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x785f18}=await import('../../skills/npx-skills-add.js'),_0x2fc005=_0x50f06e[_0xd31caa(0xce)]?_0xd31caa(0xca):_0xd31caa(0xd9);console[_0xd31caa(0xd5)](_0xd31caa(0xd7)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xd31caa(0xdf));const _0x337585=_0x785f18(process['cwd'](),_0xd31caa(0xd0),{'stdio':_0x2fc005});if(_0x337585[_0xd31caa(0xdb)])console[_0xd31caa(0xd5)]('Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.');else{if(_0x337585['ok'])console[_0xd31caa(0xd5)](CLI_BIN_NAME+_0xd31caa(0xe0));else throw CliErrors['apiError'](_0xd31caa(0xd8)+(_0x337585['error']||_0xd31caa(0xe2)),'Check\x20network\x20connectivity\x20and\x20try\x20again.');}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a103_0x14f586=a103_0x1be4;(function(_0x575320,_0x20151a){const _0x158e85=a103_0x1be4,_0x708cec=_0x575320();while(!![]){try{const _0x33b219=-parseInt(_0x158e85(0x158))/0x1*(-parseInt(_0x158e85(0x16b))/0x2)+parseInt(_0x158e85(0x14d))/0x3+parseInt(_0x158e85(0x160))/0x4*(-parseInt(_0x158e85(0x142))/0x5)+-parseInt(_0x158e85(0x159))/0x6+parseInt(_0x158e85(0x14e))/0x7+-parseInt(_0x158e85(0x145))/0x8+parseInt(_0x158e85(0x12e))/0x9;if(_0x33b219===_0x20151a)break;else _0x708cec['push'](_0x708cec['shift']());}catch(_0x461cba){_0x708cec['push'](_0x708cec['shift']());}}}(a103_0x5442,0xbebfd));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';function a103_0x5442(){const _0x93cbae=['sqls','catch','\x20\x20SELECT\x201\x20AS\x20id','create','str','2532504tlNbwD','9261063KBwIan','File\x20already\x20exists:\x20','nonInteractive','join','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','isFinite','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','请选择本地\x20SQL\x20模式:','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlCode','2131ICOOUP','230466nJzWLh','sqlRoot','SQL\x20名称不能为空','appCode','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sql','flag','373112FMwLRU','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','string','description','适合带动态标签的\x20MyBatis\x20XML\x20SQL','utf8','high-risk-write','POST','isInteger','dbName','Target\x20database\x20ID','1252DJUKan','</select>','name','number','map','__manual__','✎\x20手动输入\x20dbId','sqlName','1435248uBuceU','请选择目标数据库:','sqlRootDir','length','toISOString','<server-generated-sqlCode>','trim','Invalid\x20database\x20selection\x20payload:\x20','SQL\x20query\x20display\x20name','普通\x20SQL(sql)','mode','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','SELECT\x201\x20AS\x20id;','/smartapi/custom/saveUserCustomSql','dbId','parse','validation','MyBatis\x20XML(mybatisXml)','Local\x20SQL\x20file\x20mode','lastSync','80MCTTGl','flagMissing','lockFilePath','10787896FLIxdY','db-id','mybatisXml'];a103_0x5442=function(){return _0x93cbae;};return a103_0x5442();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x51f69f){const _0xc0e4b9=a103_0x1be4;if(_0x51f69f===_0xc0e4b9(0x147))return[_0xc0e4b9(0x139),_0xc0e4b9(0x14a),_0xc0e4b9(0x16c),''][_0xc0e4b9(0x151)]('\x0a');return[_0xc0e4b9(0x13a),'']['join']('\x0a');}export const sqlCreate={'service':a103_0x14f586(0x15e),'command':a103_0x14f586(0x14b),'description':a103_0x14f586(0x154),'risk':a103_0x14f586(0x166),'flags':[{'name':a103_0x14f586(0x16d),'type':a103_0x14f586(0x162),'description':a103_0x14f586(0x136)},{'name':a103_0x14f586(0x146),'type':'number','description':a103_0x14f586(0x16a)},{'name':a103_0x14f586(0x138),'type':'string','enum':[a103_0x14f586(0x15e),'mybatisXml'],'description':a103_0x14f586(0x140)}],async 'validate'(_0x127629){const _0x36c015=a103_0x14f586;if(!_0x127629['nonInteractive'])return;if(!_0x127629[_0x36c015(0x14c)](_0x36c015(0x16d))[_0x36c015(0x134)]())throw CliErrors[_0x36c015(0x143)](_0x36c015(0x16d),_0x36c015(0x152));const _0x3ca7e9=resolveProvidedDbId(_0x127629);if(typeof _0x3ca7e9!==_0x36c015(0x16e)||!Number[_0x36c015(0x153)](_0x3ca7e9)||_0x3ca7e9<=0x0)throw CliErrors['flagMissing'](_0x36c015(0x146),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x127629[_0x36c015(0x14c)]('mode')['trim']())throw CliErrors[_0x36c015(0x143)](_0x36c015(0x138),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x26e118){const _0x31057b=a103_0x14f586,_0x2c4871=loadSqlProjectConfig(_0x26e118[_0x31057b(0x15c)]),{sqlName:_0x3fd90d,dbId:_0x2fecb7,dbName:_0x16ead3,mode:_0x39b1fe}=await resolveSqlNewInputs(_0x26e118),_0x48804a=buildSqlRelativePath(_0x31057b(0x133),_0x3fd90d,_0x16ead3,_0x39b1fe,_0x2fecb7),_0x17e070=_0x2c4871[_0x31057b(0x130)]+'/'+_0x48804a;return{'method':_0x31057b(0x167),'url':_0x31057b(0x13b),'body':{'appCode':_0x26e118[_0x31057b(0x15c)],'sqlName':_0x3fd90d,'dbId':_0x2fecb7,'mode':_0x39b1fe,'localPath':_0x17e070},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x2c4871[_0x31057b(0x130)]};},async 'execute'(_0x1087a2){const _0x23fde6=a103_0x14f586,_0x3bd4da=loadSqlProjectConfig(_0x1087a2[_0x23fde6(0x15c)]),{sqlName:_0x3b762f,dbId:_0x86b7cc,dbName:_0x31288d,mode:_0x15c4bd}=await resolveSqlNewInputs(_0x1087a2),_0x2cb69a=generateSqlTemplate(_0x15c4bd),_0x31debf=await createSqlQuery({'appCode':_0x1087a2[_0x23fde6(0x15c)],'sqlName':_0x3b762f,'dbId':_0x86b7cc,'sqlContent':_0x2cb69a}),_0x589486=ensureRemoteSqlContent(_0x31debf),_0x38e62f=_0x31288d||await getDbName(_0x1087a2[_0x23fde6(0x15c)],_0x86b7cc)[_0x23fde6(0x149)](()=>undefined),_0x2fa15c=buildSqlRelativePath(_0x31debf[_0x23fde6(0x157)],_0x31debf['sqlName'],_0x38e62f,_0x15c4bd,_0x86b7cc),_0x3b2ece=_0x3bd4da['sqlRootDir']+'/'+_0x2fa15c,_0x278d29=buildLocalSqlFileContent({'sqlCode':_0x31debf[_0x23fde6(0x157)],'sqlName':_0x31debf['sqlName'],'dbId':_0x31debf[_0x23fde6(0x13c)]},_0x589486,{'dbName':_0x38e62f,'mode':_0x15c4bd,'syncedAt':new Date()[_0x23fde6(0x132)](),'description':_0x31debf[_0x23fde6(0x163)]});if(await fileExists(_0x3b2ece))throw CliErrors['validation'](_0x23fde6(0x14f)+_0x3b2ece);await ensureParentDirectory(_0x3b2ece),await writeFile(_0x3b2ece,_0x278d29,_0x23fde6(0x165));const _0x258c3e=await readSqlLockFile(_0x3bd4da['lockFilePath']),{lockData:_0x50b0f1,appLock:_0x26ee27}=ensureSqlLockScope(_0x258c3e??createEmptySqlLock(),_0x3bd4da['appCode'],_0x3bd4da[_0x23fde6(0x15a)],'new');return _0x26ee27[_0x23fde6(0x148)][_0x31debf[_0x23fde6(0x157)]]={...buildSqlLockEntry(_0x31debf,_0x589486,computeSqlContentHash(_0x278d29),{'dbName':_0x38e62f}),'path':_0x2fa15c,'mode':_0x15c4bd},_0x26ee27[_0x23fde6(0x141)]=new Date()['toISOString'](),await writeSqlLockFile(_0x3bd4da[_0x23fde6(0x144)],_0x50b0f1),{'ok':!![],'data':{'id':_0x31debf['id'],'sqlCode':_0x31debf['sqlCode'],'sqlName':_0x31debf[_0x23fde6(0x12d)],'dbId':_0x31debf[_0x23fde6(0x13c)],'path':_0x3b2ece,'mode':_0x15c4bd},'message':'Created\x20SQL\x20query\x20'+_0x31debf[_0x23fde6(0x157)]};}};async function resolveSqlNewInputs(_0x910815){const _0x399247=await resolveSqlNameInput(_0x910815),{dbId:_0x1976bb,dbName:_0x398dd8}=await resolveDbSelection(_0x910815),_0x3bc62d=await resolveSqlModeInput(_0x910815);return{'sqlName':_0x399247,'dbId':_0x1976bb,'dbName':_0x398dd8,'mode':_0x3bc62d};}function a103_0x1be4(_0x176378,_0x16fbca){_0x176378=_0x176378-0x12a;const _0x54423e=a103_0x5442();let _0x1be421=_0x54423e[_0x176378];return _0x1be421;}async function resolveSqlNameInput(_0x356eb2){const _0x60b4c9=a103_0x14f586,_0x2429d1=_0x356eb2[_0x60b4c9(0x14c)](_0x60b4c9(0x16d))[_0x60b4c9(0x134)]();if(_0x2429d1)return _0x2429d1;if(_0x356eb2[_0x60b4c9(0x150)])throw CliErrors[_0x60b4c9(0x143)](_0x60b4c9(0x16d),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x156044=>_0x156044[_0x60b4c9(0x134)]()?!![]:_0x60b4c9(0x15b)}))['trim']();}async function resolveDbSelection(_0x5319e6){const _0x637736=a103_0x14f586,_0x36ca0f=resolveProvidedDbId(_0x5319e6);if(typeof _0x36ca0f===_0x637736(0x16e)&&Number[_0x637736(0x153)](_0x36ca0f)&&_0x36ca0f>0x0)return{'dbId':_0x36ca0f,'dbName':await getDbName(_0x5319e6[_0x637736(0x15c)],_0x36ca0f)[_0x637736(0x149)](()=>undefined)};if(_0x5319e6[_0x637736(0x150)])throw CliErrors['flagMissing']('db-id',_0x637736(0x15d));const _0x56fc86=await listDatabases(_0x5319e6[_0x637736(0x15c)])['catch'](()=>[]);if(_0x56fc86[_0x637736(0x131)]===0x1)return{'dbId':_0x56fc86[0x0][_0x637736(0x13c)],'dbName':_0x56fc86[0x0][_0x637736(0x169)]};if(_0x56fc86[_0x637736(0x131)]>0x1){const _0x526aec=await select({'message':_0x637736(0x12f),'choices':[..._0x56fc86[_0x637736(0x12a)](_0x2a7222=>({'name':_0x2a7222[_0x637736(0x169)]+'\x20('+_0x2a7222[_0x637736(0x13c)]+')','value':serializeDbSelection(_0x2a7222)})),{'name':_0x637736(0x12c),'value':'__manual__'}]});if(_0x526aec!==_0x637736(0x12b))return deserializeDbSelection(_0x526aec);}const _0x5ce1e9=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x137aa3=>{const _0x2a0363=_0x637736,_0x1bf1a4=_0x137aa3[_0x2a0363(0x134)]();if(!_0x1bf1a4)return'dbId\x20不能为空';const _0x3200f6=Number(_0x1bf1a4);if(!Number[_0x2a0363(0x168)](_0x3200f6)||_0x3200f6<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x5ce1e9[_0x637736(0x134)]())};}async function resolveSqlModeInput(_0x554a86){const _0x4699db=a103_0x14f586,_0x307c90=_0x554a86['str'](_0x4699db(0x138))[_0x4699db(0x134)]();if(_0x307c90===_0x4699db(0x15e)||_0x307c90==='mybatisXml')return _0x307c90;if(_0x554a86[_0x4699db(0x150)])throw CliErrors[_0x4699db(0x143)](_0x4699db(0x138),_0x4699db(0x156));return await select({'message':_0x4699db(0x155),'choices':[{'name':_0x4699db(0x137),'value':_0x4699db(0x15e),'description':_0x4699db(0x161)},{'name':_0x4699db(0x13f),'value':'mybatisXml','description':_0x4699db(0x164)}]});}function serializeDbSelection(_0xe5e909){const _0x4dcc3e=a103_0x14f586;return JSON['stringify']({'dbId':_0xe5e909[_0x4dcc3e(0x13c)],'dbName':_0xe5e909[_0x4dcc3e(0x169)]});}function deserializeDbSelection(_0x4b211b){const _0x1cc074=a103_0x14f586;try{const _0x5b2bfb=JSON[_0x1cc074(0x13d)](_0x4b211b);if(typeof _0x5b2bfb['dbId']===_0x1cc074(0x16e)&&Number[_0x1cc074(0x153)](_0x5b2bfb[_0x1cc074(0x13c)]))return{'dbId':_0x5b2bfb[_0x1cc074(0x13c)],'dbName':_0x5b2bfb[_0x1cc074(0x169)]};}catch{}throw CliErrors[_0x1cc074(0x13e)](_0x1cc074(0x135)+_0x4b211b);}function resolveProvidedDbId(_0x2abd87){const _0x1c197c=a103_0x14f586,_0x59ce47=_0x2abd87[_0x1c197c(0x15f)]('db-id');if(typeof _0x59ce47==='number'&&Number['isFinite'](_0x59ce47))return _0x59ce47;return undefined;}
|
|
1
|
+
const a107_0x302592=a107_0x3c89;(function(_0x324f0b,_0x3e0649){const _0x4650fb=a107_0x3c89,_0x36d915=_0x324f0b();while(!![]){try{const _0x168ac5=-parseInt(_0x4650fb(0x1c5))/0x1+parseInt(_0x4650fb(0x1b9))/0x2*(parseInt(_0x4650fb(0x1aa))/0x3)+-parseInt(_0x4650fb(0x1b6))/0x4*(parseInt(_0x4650fb(0x1c6))/0x5)+-parseInt(_0x4650fb(0x1cd))/0x6+parseInt(_0x4650fb(0x1a2))/0x7+parseInt(_0x4650fb(0x1cb))/0x8+-parseInt(_0x4650fb(0x196))/0x9*(-parseInt(_0x4650fb(0x1a8))/0xa);if(_0x168ac5===_0x3e0649)break;else _0x36d915['push'](_0x36d915['shift']());}catch(_0x4fa8ab){_0x36d915['push'](_0x36d915['shift']());}}}(a107_0x56e6,0xa8012));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';function a107_0x56e6(){const _0x8cf851=['Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','10rkgeip','/smartapi/custom/saveUserCustomSql','flagMissing','请选择本地\x20SQL\x20模式:','flag','Target\x20database\x20ID','parse','请选择目标数据库:','utf8','lockFilePath','isFinite','sqlRoot','185586OOmmJW','25AWSwnO','new','catch','dbName','SQL\x20query\x20display\x20name','286016ruHksm','mode','4475424KjsPBE','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','MyBatis\x20XML(mybatisXml)','__manual__','sqlCode','validation','trim','dbId','普通\x20SQL(sql)','number','db-id','map','File\x20already\x20exists:\x20','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','适合带动态标签的\x20MyBatis\x20XML\x20SQL','sql','SELECT\x201\x20AS\x20id;','sqlRootDir','43965lgioHJ','dbId\x20必须为正整数','请输入\x20SQL\x20名称:','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Invalid\x20database\x20selection\x20payload:\x20','join','nonInteractive','\x20\x20SELECT\x201\x20AS\x20id','length','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlName','sqls','7488593duMTsX','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','mybatisXml','stringify','POST','</select>','370NhkzxA','appCode','816246fqSReM','create','SQL\x20名称不能为空','isInteger','string','name','<server-generated-sqlCode>','description','str','请输入目标数据库\x20dbId:','toISOString','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','821656HVBZpo','✎\x20手动输入\x20dbId'];a107_0x56e6=function(){return _0x8cf851;};return a107_0x56e6();}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0xf4f183){const _0x396ebe=a107_0x3c89;if(_0xf4f183===_0x396ebe(0x1a4))return[_0x396ebe(0x1ce),_0x396ebe(0x19d),_0x396ebe(0x1a7),''][_0x396ebe(0x19b)]('\x0a');return[_0x396ebe(0x194),''][_0x396ebe(0x19b)]('\x0a');}export const sqlCreate={'service':a107_0x302592(0x193),'command':a107_0x302592(0x1ab),'description':a107_0x302592(0x1b8),'risk':'high-risk-write','flags':[{'name':a107_0x302592(0x1af),'type':a107_0x302592(0x1ae),'description':a107_0x302592(0x1ca)},{'name':'db-id','type':a107_0x302592(0x18d),'description':a107_0x302592(0x1be)},{'name':'mode','type':'string','enum':['sql','mybatisXml'],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x19821f){const _0x1dcab9=a107_0x302592;if(!_0x19821f[_0x1dcab9(0x19c)])return;if(!_0x19821f[_0x1dcab9(0x1b2)](_0x1dcab9(0x1af))[_0x1dcab9(0x18a)]())throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x1af),_0x1dcab9(0x199));const _0x2f3b83=resolveProvidedDbId(_0x19821f);if(typeof _0x2f3b83!==_0x1dcab9(0x18d)||!Number[_0x1dcab9(0x1c3)](_0x2f3b83)||_0x2f3b83<=0x0)throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x18e),_0x1dcab9(0x19f));if(!_0x19821f['str']('mode')[_0x1dcab9(0x18a)]())throw CliErrors[_0x1dcab9(0x1bb)](_0x1dcab9(0x1cc),_0x1dcab9(0x1b5));},async 'dryRun'(_0x5d0c29){const _0x5a1c90=a107_0x302592,_0x3e944d=loadSqlProjectConfig(_0x5d0c29['appCode']),{sqlName:_0x47c0c2,dbId:_0x338515,dbName:_0xb3d96d,mode:_0x736790}=await resolveSqlNewInputs(_0x5d0c29),_0xe5c3c8=buildSqlRelativePath(_0x5a1c90(0x1b0),_0x47c0c2,_0xb3d96d,_0x736790,_0x338515),_0x2a7eca=_0x3e944d[_0x5a1c90(0x195)]+'/'+_0xe5c3c8;return{'method':_0x5a1c90(0x1a6),'url':_0x5a1c90(0x1ba),'body':{'appCode':_0x5d0c29[_0x5a1c90(0x1a9)],'sqlName':_0x47c0c2,'dbId':_0x338515,'mode':_0x736790,'localPath':_0x2a7eca},'description':_0x5a1c90(0x191)+_0x3e944d['sqlRootDir']};},async 'execute'(_0x54f54a){const _0x39ac93=a107_0x302592,_0x435326=loadSqlProjectConfig(_0x54f54a[_0x39ac93(0x1a9)]),{sqlName:_0x3e0ea1,dbId:_0x451537,dbName:_0x222e0c,mode:_0x1b13fe}=await resolveSqlNewInputs(_0x54f54a),_0x5884e5=generateSqlTemplate(_0x1b13fe),_0x566a53=await createSqlQuery({'appCode':_0x54f54a[_0x39ac93(0x1a9)],'sqlName':_0x3e0ea1,'dbId':_0x451537,'sqlContent':_0x5884e5}),_0x2ad056=ensureRemoteSqlContent(_0x566a53),_0x388e61=_0x222e0c||await getDbName(_0x54f54a[_0x39ac93(0x1a9)],_0x451537)[_0x39ac93(0x1c8)](()=>undefined),_0x22d2cc=buildSqlRelativePath(_0x566a53[_0x39ac93(0x188)],_0x566a53[_0x39ac93(0x1a0)],_0x388e61,_0x1b13fe,_0x451537),_0x56081f=_0x435326[_0x39ac93(0x195)]+'/'+_0x22d2cc,_0x576a8f=buildLocalSqlFileContent({'sqlCode':_0x566a53['sqlCode'],'sqlName':_0x566a53[_0x39ac93(0x1a0)],'dbId':_0x566a53[_0x39ac93(0x18b)]},_0x2ad056,{'dbName':_0x388e61,'mode':_0x1b13fe,'syncedAt':new Date()[_0x39ac93(0x1b4)](),'description':_0x566a53[_0x39ac93(0x1b1)]});if(await fileExists(_0x56081f))throw CliErrors[_0x39ac93(0x189)](_0x39ac93(0x190)+_0x56081f);await ensureParentDirectory(_0x56081f),await writeFile(_0x56081f,_0x576a8f,_0x39ac93(0x1c1));const _0x38eec5=await readSqlLockFile(_0x435326[_0x39ac93(0x1c2)]),{lockData:_0x183f89,appLock:_0x3964f8}=ensureSqlLockScope(_0x38eec5??createEmptySqlLock(),_0x435326['appCode'],_0x435326[_0x39ac93(0x1c4)],_0x39ac93(0x1c7));return _0x3964f8[_0x39ac93(0x1a1)][_0x566a53[_0x39ac93(0x188)]]={...buildSqlLockEntry(_0x566a53,_0x2ad056,computeSqlContentHash(_0x576a8f),{'dbName':_0x388e61}),'path':_0x22d2cc,'mode':_0x1b13fe},_0x3964f8['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x435326[_0x39ac93(0x1c2)],_0x183f89),{'ok':!![],'data':{'id':_0x566a53['id'],'sqlCode':_0x566a53[_0x39ac93(0x188)],'sqlName':_0x566a53[_0x39ac93(0x1a0)],'dbId':_0x566a53['dbId'],'path':_0x56081f,'mode':_0x1b13fe},'message':'Created\x20SQL\x20query\x20'+_0x566a53[_0x39ac93(0x188)]};}};async function resolveSqlNewInputs(_0x166897){const _0xdf3bbd=await resolveSqlNameInput(_0x166897),{dbId:_0xce309e,dbName:_0x5551f9}=await resolveDbSelection(_0x166897),_0x2567da=await resolveSqlModeInput(_0x166897);return{'sqlName':_0xdf3bbd,'dbId':_0xce309e,'dbName':_0x5551f9,'mode':_0x2567da};}async function resolveSqlNameInput(_0x9d9b6e){const _0x2acc31=a107_0x302592,_0x46fa5f=_0x9d9b6e['str'](_0x2acc31(0x1af))[_0x2acc31(0x18a)]();if(_0x46fa5f)return _0x46fa5f;if(_0x9d9b6e[_0x2acc31(0x19c)])throw CliErrors[_0x2acc31(0x1bb)]('name',_0x2acc31(0x199));return(await input({'message':_0x2acc31(0x198),'validate':_0x516be6=>_0x516be6[_0x2acc31(0x18a)]()?!![]:_0x2acc31(0x1ac)}))[_0x2acc31(0x18a)]();}function a107_0x3c89(_0x5967c5,_0x2143cc){_0x5967c5=_0x5967c5-0x186;const _0x56e668=a107_0x56e6();let _0x3c89d7=_0x56e668[_0x5967c5];return _0x3c89d7;}async function resolveDbSelection(_0x4bc7a3){const _0xbe4474=a107_0x302592,_0x4c9acc=resolveProvidedDbId(_0x4bc7a3);if(typeof _0x4c9acc===_0xbe4474(0x18d)&&Number['isFinite'](_0x4c9acc)&&_0x4c9acc>0x0)return{'dbId':_0x4c9acc,'dbName':await getDbName(_0x4bc7a3['appCode'],_0x4c9acc)[_0xbe4474(0x1c8)](()=>undefined)};if(_0x4bc7a3['nonInteractive'])throw CliErrors[_0xbe4474(0x1bb)](_0xbe4474(0x18e),_0xbe4474(0x19f));const _0x466856=await listDatabases(_0x4bc7a3[_0xbe4474(0x1a9)])[_0xbe4474(0x1c8)](()=>[]);if(_0x466856[_0xbe4474(0x19e)]===0x1)return{'dbId':_0x466856[0x0][_0xbe4474(0x18b)],'dbName':_0x466856[0x0][_0xbe4474(0x1c9)]};if(_0x466856['length']>0x1){const _0x351ebd=await select({'message':_0xbe4474(0x1c0),'choices':[..._0x466856[_0xbe4474(0x18f)](_0x2e74f2=>({'name':_0x2e74f2[_0xbe4474(0x1c9)]+'\x20('+_0x2e74f2[_0xbe4474(0x18b)]+')','value':serializeDbSelection(_0x2e74f2)})),{'name':_0xbe4474(0x1b7),'value':_0xbe4474(0x187)}]});if(_0x351ebd!=='__manual__')return deserializeDbSelection(_0x351ebd);}const _0x24f3df=await input({'message':_0xbe4474(0x1b3),'validate':_0x42e7cb=>{const _0x14646a=_0xbe4474,_0x2505ac=_0x42e7cb[_0x14646a(0x18a)]();if(!_0x2505ac)return'dbId\x20不能为空';const _0x4c4364=Number(_0x2505ac);if(!Number[_0x14646a(0x1ad)](_0x4c4364)||_0x4c4364<=0x0)return _0x14646a(0x197);return!![];}});return{'dbId':Number(_0x24f3df[_0xbe4474(0x18a)]())};}async function resolveSqlModeInput(_0x14576f){const _0x2628f4=a107_0x302592,_0x261be9=_0x14576f[_0x2628f4(0x1b2)](_0x2628f4(0x1cc))[_0x2628f4(0x18a)]();if(_0x261be9===_0x2628f4(0x193)||_0x261be9===_0x2628f4(0x1a4))return _0x261be9;if(_0x14576f[_0x2628f4(0x19c)])throw CliErrors[_0x2628f4(0x1bb)](_0x2628f4(0x1cc),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x2628f4(0x1bc),'choices':[{'name':_0x2628f4(0x18c),'value':_0x2628f4(0x193),'description':_0x2628f4(0x1a3)},{'name':_0x2628f4(0x186),'value':'mybatisXml','description':_0x2628f4(0x192)}]});}function serializeDbSelection(_0x4791f3){const _0x34f252=a107_0x302592;return JSON[_0x34f252(0x1a5)]({'dbId':_0x4791f3[_0x34f252(0x18b)],'dbName':_0x4791f3[_0x34f252(0x1c9)]});}function deserializeDbSelection(_0x3a04ac){const _0x429623=a107_0x302592;try{const _0x317184=JSON[_0x429623(0x1bf)](_0x3a04ac);if(typeof _0x317184[_0x429623(0x18b)]==='number'&&Number[_0x429623(0x1c3)](_0x317184['dbId']))return{'dbId':_0x317184[_0x429623(0x18b)],'dbName':_0x317184['dbName']};}catch{}throw CliErrors[_0x429623(0x189)](_0x429623(0x19a)+_0x3a04ac);}function resolveProvidedDbId(_0x1ed774){const _0x242df4=a107_0x302592,_0x5ac5ed=_0x1ed774[_0x242df4(0x1bd)](_0x242df4(0x18e));if(typeof _0x5ac5ed===_0x242df4(0x18d)&&Number['isFinite'](_0x5ac5ed))return _0x5ac5ed;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a108_0x5c2058=a108_0x3fd2;(function(_0x52b892,_0x12ecb1){const _0x79b642=a108_0x3fd2,_0x4cb3e6=_0x52b892();while(!![]){try{const _0x566d80=parseInt(_0x79b642(0xb0))/0x1+parseInt(_0x79b642(0x94))/0x2*(-parseInt(_0x79b642(0x9f))/0x3)+parseInt(_0x79b642(0xa2))/0x4+parseInt(_0x79b642(0x93))/0x5*(parseInt(_0x79b642(0xb4))/0x6)+parseInt(_0x79b642(0xb1))/0x7+-parseInt(_0x79b642(0xa0))/0x8*(-parseInt(_0x79b642(0x9a))/0x9)+-parseInt(_0x79b642(0x92))/0xa;if(_0x566d80===_0x12ecb1)break;else _0x4cb3e6['push'](_0x4cb3e6['shift']());}catch(_0x1a6b0c){_0x4cb3e6['push'](_0x4cb3e6['shift']());}}}(a108_0x1fa8,0x6608e));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a108_0x1fa8(){const _0x4e186b=['appCode','delete','sqlRoot','remoteId','high-risk-write','startsWith','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','entries','sqlRootDir','filter','\x20(local\x20file\x20moved\x20to\x20trash)','504546HhLJqR','5578776MtolEu','lockFilePath','validation','6174uwBgpu','toISOString','projectRoot','str','23876110JhUBzi','2345HsJahg','2AgNNBM','fromEntries','sqls','/smartapi/custom/deleteUserCustomSql','sqlcode','sql','27LbTKVW','Would\x20delete\x20SQL\x20','Deleted\x20','length','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','1267377lzyEtd','1782168PKUhUE','lastSync','3102304mmFhfk','trashedTo','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'];a108_0x1fa8=function(){return _0x4e186b;};return a108_0x1fa8();}import{CliErrors}from'../../errors.js';function a108_0x3fd2(_0x542f47,_0x2e3de0){_0x542f47=_0x542f47-0x90;const _0x1fa838=a108_0x1fa8();let _0x3fd2c7=_0x1fa838[_0x542f47];return _0x3fd2c7;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a108_0x5c2058(0x99),'command':a108_0x5c2058(0xa6),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a108_0x5c2058(0xa9),'flags':[SQLCODE_FLAG],async 'validate'(_0xd1b58b){const _0x4be289=a108_0x5c2058,_0x415f10=loadSqlProjectConfig(_0xd1b58b[_0x4be289(0xa5)]),_0x5c092b=await readSqlLockFile(_0x415f10[_0x4be289(0xb2)]);if(!_0x5c092b)throw CliErrors[_0x4be289(0xb3)](_0x4be289(0xab));},async 'dryRun'(_0x35b584){const _0x5260c7=a108_0x5c2058,_0x26b906=loadSqlProjectConfig(_0x35b584[_0x5260c7(0xa5)]),_0x2620c6=await readSqlLockFile(_0x26b906[_0x5260c7(0xb2)]);if(!_0x2620c6)throw CliErrors['validation'](_0x5260c7(0xab));const {appLock:_0x31cce7}=ensureSqlLockScope(_0x2620c6,_0x35b584[_0x5260c7(0xa5)],_0x26b906['sqlRoot'],_0x5260c7(0xa6)),_0x17fb51=_0x35b584[_0x5260c7(0x91)](_0x5260c7(0x98)),_0x82f240=_0x31cce7[_0x5260c7(0x96)][_0x17fb51];if(!_0x82f240)throw CliErrors[_0x5260c7(0xb3)](_0x5260c7(0x9e)+_0x17fb51+'\x22.');return{'method':'POST','url':_0x5260c7(0x97),'body':{'sqlCode':_0x17fb51,'id':_0x82f240['remoteId'],'localPath':resolveLocalSqlFilePath(_0x26b906,_0x17fb51,_0x82f240)},'description':_0x5260c7(0x9b)+_0x17fb51+_0x5260c7(0xa4)+_0x26b906['trashDir']};},async 'execute'(_0x347789){const _0x5894cc=a108_0x5c2058,_0x4a8df7=loadSqlProjectConfig(_0x347789[_0x5894cc(0xa5)]),_0x1ae3bb=await readSqlLockFile(_0x4a8df7['lockFilePath']);if(!_0x1ae3bb)throw CliErrors['validation']('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x2d319f,appLock:_0x1dca18}=ensureSqlLockScope(_0x1ae3bb,_0x347789[_0x5894cc(0xa5)],_0x4a8df7[_0x5894cc(0xa7)],'delete'),_0x201838=_0x347789[_0x5894cc(0x91)](_0x5894cc(0x98)),_0x5154a9=_0x1dca18[_0x5894cc(0x96)][_0x201838];if(!_0x5154a9)throw CliErrors['validation'](_0x5894cc(0x9e)+_0x201838+'\x22.');await deleteSqlQuery({'id':_0x5154a9[_0x5894cc(0xa8)],'sqlCode':_0x201838}),_0x1dca18[_0x5894cc(0x96)]=Object[_0x5894cc(0x95)](Object[_0x5894cc(0xac)](_0x1dca18[_0x5894cc(0x96)])[_0x5894cc(0xae)](([_0x5cad0f])=>_0x5cad0f!==_0x201838)),_0x1dca18[_0x5894cc(0xa1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4a8df7[_0x5894cc(0xb2)],_0x2d319f);const _0x115d61=resolveLocalSqlFilePath(_0x4a8df7,_0x201838,_0x5154a9);let _0x568f01;await fileExists(_0x115d61)&&(_0x568f01=await moveToTrash(_0x4a8df7[_0x5894cc(0x90)],_0x4a8df7['trashDir'],_0x115d61),await cleanupEmptyDirectories(dirname(_0x115d61),_0x4a8df7[_0x5894cc(0xad)]));const _0x2970d2={'deleted':_0x201838,'remoteId':_0x5154a9['remoteId']};if(_0x568f01)_0x2970d2[_0x5894cc(0xa3)]=_0x568f01;return{'ok':!![],'data':_0x2970d2,'message':_0x5894cc(0x9c)+_0x201838+(_0x568f01?_0x5894cc(0xaf):'')};}};async function moveToTrash(_0x33f577,_0x2bf00f,_0x56c04f){const _0xaf13ff=a108_0x5c2058,_0x1d6c34=new Date()[_0xaf13ff(0xb5)]()['replace'](/[:.]/g,'-'),_0x1d2385=relative(_0x33f577,_0x56c04f),_0x4048f9=join(_0x2bf00f,_0x1d6c34,_0x1d2385);return await mkdir(dirname(_0x4048f9),{'recursive':!![]}),await rename(_0x56c04f,_0x4048f9),_0x4048f9;}async function cleanupEmptyDirectories(_0x281a24,_0x2a856a){const _0x10cc4a=a108_0x5c2058;let _0x3d3c59=resolve(_0x281a24);const _0x1a129b=resolve(_0x2a856a);while(_0x3d3c59[_0x10cc4a(0xaa)](''+_0x1a129b+sep)||_0x3d3c59===_0x1a129b){if(_0x3d3c59===_0x1a129b)return;try{const _0x235e72=await readdir(_0x3d3c59);if(_0x235e72[_0x10cc4a(0x9d)]>0x0)return;await rmdir(_0x3d3c59);}catch{return;}_0x3d3c59=dirname(_0x3d3c59);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a109_0x1ea6(_0x3ccb25,_0x28e96e){_0x3ccb25=_0x3ccb25-0xbd;const _0x351b39=a109_0x351b();let _0x1ea6ef=_0x351b39[_0x3ccb25];return _0x1ea6ef;}const a109_0x377c7b=a109_0x1ea6;(function(_0x13880d,_0x1264c3){const _0x17c248=a109_0x1ea6,_0x30837c=_0x13880d();while(!![]){try{const _0x391975=parseInt(_0x17c248(0xcd))/0x1*(parseInt(_0x17c248(0xca))/0x2)+parseInt(_0x17c248(0xbd))/0x3+parseInt(_0x17c248(0xc9))/0x4+-parseInt(_0x17c248(0xcf))/0x5+-parseInt(_0x17c248(0xc8))/0x6+parseInt(_0x17c248(0xc6))/0x7*(-parseInt(_0x17c248(0xd1))/0x8)+parseInt(_0x17c248(0xc2))/0x9*(parseInt(_0x17c248(0xd4))/0xa);if(_0x391975===_0x1264c3)break;else _0x30837c['push'](_0x30837c['shift']());}catch(_0x38ea88){_0x30837c['push'](_0x30837c['shift']());}}}(a109_0x351b,0x41615));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a109_0x377c7b(0xd2),'command':a109_0x377c7b(0xd0),'description':a109_0x377c7b(0xc7),'risk':a109_0x377c7b(0xcb),'flags':[SQLCODE_FLAG,{'name':'verbose','type':a109_0x377c7b(0xce),'description':a109_0x377c7b(0xc0)}],async 'execute'(_0x2f59f1){const _0x27be40=a109_0x377c7b,_0x4bd093=await getSqlQueryInfo(_0x2f59f1[_0x27be40(0xc4)],_0x2f59f1[_0x27be40(0xc1)](_0x27be40(0xc3))),_0x4ba2bc=_0x2f59f1[_0x27be40(0xbf)](_0x27be40(0xc5));if(_0x4ba2bc)return{'ok':!![],'data':_0x4bd093};const _0x5224e0=_0x4bd093[_0x27be40(0xd5)]?await getDbName(_0x2f59f1[_0x27be40(0xc4)],_0x4bd093['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x4bd093[_0x27be40(0xbe)],'sqlName':_0x4bd093['sqlName'],'db':_0x5224e0?_0x5224e0+'\x20('+_0x4bd093['dbId']+')':_0x4bd093[_0x27be40(0xd5)]??'','description':_0x4bd093[_0x27be40(0xd3)]??'','sqlContent':_0x4bd093[_0x27be40(0xcc)]??''}};}};function a109_0x351b(){const _0x41fe3a=['810830FCkHtb','detail','15432EaTNbl','sql','description','10xWnzqL','dbId','1600536qGfGys','sqlCode','bool','Return\x20full\x20raw\x20SQL\x20query\x20object','str','1114623jYHxCX','sqlcode','appCode','verbose','175ltjbhF','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','2017440QyQwer','477960dOhQZq','2RDOyGY','read','sqlContent','37579yCENkc','boolean'];a109_0x351b=function(){return _0x41fe3a;};return a109_0x351b();}
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a110_0x447b83=a110_0x71bb;(function(_0x974c79,_0x32f9c1){const _0x3d41fb=a110_0x71bb,_0x41eccb=_0x974c79();while(!![]){try{const _0x31397e=-parseInt(_0x3d41fb(0xbd))/0x1*(-parseInt(_0x3d41fb(0xd1))/0x2)+-parseInt(_0x3d41fb(0xc7))/0x3*(parseInt(_0x3d41fb(0xbe))/0x4)+parseInt(_0x3d41fb(0xbc))/0x5*(parseInt(_0x3d41fb(0xd3))/0x6)+parseInt(_0x3d41fb(0xcc))/0x7+parseInt(_0x3d41fb(0xcf))/0x8+parseInt(_0x3d41fb(0xce))/0x9*(parseInt(_0x3d41fb(0xca))/0xa)+-parseInt(_0x3d41fb(0xcb))/0xb*(parseInt(_0x3d41fb(0xd0))/0xc);if(_0x31397e===_0x32f9c1)break;else _0x41eccb['push'](_0x41eccb['shift']());}catch(_0x158cc1){_0x41eccb['push'](_0x41eccb['shift']());}}}(a110_0x57de,0xb862e));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a110_0x71bb(_0x14e7ff,_0x4c3547){_0x14e7ff=_0x14e7ff-0xbb;const _0x57de8a=a110_0x57de();let _0x71bb41=_0x57de8a[_0x14e7ff];return _0x71bb41;}import{parseJsonParams}from'../../utils/params.js';function a110_0x57de(){const _0x18ce5c=['isArray','exec','str','execSuccess','3871617nORwcn','execError','read','3343770oQhHSj','421058TgMDqx','7353444dMnEOQ','execResult','36HcLBeH','4546936OBLFbC','1056LQoYpz','121522LuDVKS','SQL\x20execution\x20failed','6362274BPBFCQ','now','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','sql','5EmEXle','23aFpvfG','4aeDxdm','string','params','sqlcode','length'];a110_0x57de=function(){return _0x18ce5c;};return a110_0x57de();}export const sqlExec={'service':a110_0x447b83(0xbb),'command':a110_0x447b83(0xc4),'description':a110_0x447b83(0xd5),'risk':a110_0x447b83(0xc9),'flags':[SQLCODE_FLAG,{'name':a110_0x447b83(0xc0),'type':a110_0x447b83(0xbf),'description':'SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)'}],async 'execute'(_0x15bbb1){const _0x5f436a=a110_0x447b83,_0x574ba6=parseJsonParams(_0x15bbb1[_0x5f436a(0xc5)](_0x5f436a(0xc0))),_0x46df17=Date[_0x5f436a(0xd4)](),_0x2ff2aa=await executeSql(_0x15bbb1['appCode'],_0x15bbb1[_0x5f436a(0xc5)](_0x5f436a(0xc1)),_0x574ba6),_0x1eb76d=Date[_0x5f436a(0xd4)]()-_0x46df17,_0xc10771=_0x2ff2aa?.[_0x5f436a(0xcd)]??_0x2ff2aa,_0x27d805=_0x2ff2aa?.[_0x5f436a(0xc6)]??!![];if(!_0x27d805)return{'ok':![],'data':{'error':_0x2ff2aa?.[_0x5f436a(0xc8)]||'SQL\x20execution\x20failed','elapsed':_0x1eb76d},'message':_0x5f436a(0xd2)};const _0x169b18=Array[_0x5f436a(0xc3)](_0xc10771)?_0xc10771:[];return{'ok':!![],'data':{'rows':_0x169b18,'rowCount':_0x169b18['length'],'elapsed':_0x1eb76d},'message':'Returned\x20'+_0x169b18[_0x5f436a(0xc2)]+'\x20row(s)\x20in\x20'+_0x1eb76d+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5be9bf,_0x4d0a90){const _0x529ed9=a111_0x3ffe,_0x44cd35=_0x5be9bf();while(!![]){try{const _0x5988e0=-parseInt(_0x529ed9(0x1ab))/0x1+parseInt(_0x529ed9(0x1b1))/0x2+-parseInt(_0x529ed9(0x1af))/0x3*(parseInt(_0x529ed9(0x1a9))/0x4)+-parseInt(_0x529ed9(0x1ae))/0x5*(parseInt(_0x529ed9(0x1aa))/0x6)+parseInt(_0x529ed9(0x1ac))/0x7*(-parseInt(_0x529ed9(0x1a8))/0x8)+parseInt(_0x529ed9(0x1ad))/0x9*(-parseInt(_0x529ed9(0x1a7))/0xa)+parseInt(_0x529ed9(0x1b0))/0xb;if(_0x5988e0===_0x4d0a90)break;else _0x44cd35['push'](_0x44cd35['shift']());}catch(_0x3c9205){_0x44cd35['push'](_0x44cd35['shift']());}}}(a111_0x1091,0xea264));import{sqlList}from'../../commands/sql/list.js';function a111_0x1091(){const _0x5cc678=['7foDkZU','2691909JAGmIs','35idhgWe','6uYUBGC','53577612VEXasa','2570308VSuRMl','20sTKjxd','14095336TFfsUn','606800pEVYBL','758712MJlMKp','1648087fukwFn'];a111_0x1091=function(){return _0x5cc678;};return a111_0x1091();}import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a111_0x3ffe(_0x5e7141,_0x1bc387){_0x5e7141=_0x5e7141-0x1a7;const _0x109170=a111_0x1091();let _0x3ffeeb=_0x109170[_0x5e7141];return _0x3ffeeb;}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
|
-
|
|
1
|
+
function a112_0x119a(_0x14f09e,_0x59fc28){_0x14f09e=_0x14f09e-0x92;const _0x4d7df8=a112_0x4d7d();let _0x119a5b=_0x4d7df8[_0x14f09e];return _0x119a5b;}const a112_0x5e2969=a112_0x119a;(function(_0x3d3a16,_0x3545fd){const _0x27490c=a112_0x119a,_0x237ef2=_0x3d3a16();while(!![]){try{const _0x4a8279=parseInt(_0x27490c(0xa9))/0x1+parseInt(_0x27490c(0x96))/0x2+parseInt(_0x27490c(0x94))/0x3+-parseInt(_0x27490c(0xab))/0x4+parseInt(_0x27490c(0xad))/0x5+-parseInt(_0x27490c(0xae))/0x6+-parseInt(_0x27490c(0xa5))/0x7;if(_0x4a8279===_0x3545fd)break;else _0x237ef2['push'](_0x237ef2['shift']());}catch(_0x440602){_0x237ef2['push'](_0x237ef2['shift']());}}}(a112_0x4d7d,0x1c793));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a112_0x4d7d(){const _0x593442=['28074IzYLHa','\x20SQL\x20queries\x20(total:\x20','877380VHAVns','Found\x20','850020hdMUfH','301356BOKLTE','pagesize','str','all','tableData','string','boolean','verbose','570798fkTxbV','appCode','53240dTLrax','number','dbId','sqlCode','Filter\x20by\x20SQL\x20name','page','list','num','description','read','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','Page\x20size','length','List\x20custom\x20SQL\x20queries','sql','201362nepkoQ','totalCount','sqlcode','Page\x20number'];a112_0x4d7d=function(){return _0x593442;};return a112_0x4d7d();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':a112_0x5e2969(0xa4),'command':a112_0x5e2969(0x9c),'description':a112_0x5e2969(0xa3),'risk':a112_0x5e2969(0x9f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a112_0x5e2969(0xb3),'description':a112_0x5e2969(0x9a)},{'name':a112_0x5e2969(0x9b),'type':a112_0x5e2969(0x97),'description':a112_0x5e2969(0xa8),'default':0x1},{'name':a112_0x5e2969(0xaf),'type':a112_0x5e2969(0x97),'description':a112_0x5e2969(0xa1)},{'name':a112_0x5e2969(0x93),'type':a112_0x5e2969(0x92),'description':a112_0x5e2969(0xa0)}],async 'execute'(_0xb3b10f){const _0x441041=a112_0x5e2969,_0x50ded4=await listSqlQueries(_0xb3b10f[_0x441041(0x95)],{'sqlCode':_0xb3b10f[_0x441041(0xb0)](_0x441041(0xa7))||undefined,'sqlName':_0xb3b10f[_0x441041(0xb0)]('name')||undefined,'currentPage':_0xb3b10f['num'](_0x441041(0x9b)),'pageSize':_0xb3b10f[_0x441041(0x9d)](_0x441041(0xaf),0x32)}),_0x3eafda=_0xb3b10f['bool']('verbose'),_0x25fec2=_0x50ded4[_0x441041(0xb2)]??[],_0x272aae=_0x50ded4['paging']?.[_0x441041(0xa6)]??_0x25fec2[_0x441041(0xa2)];let _0x4f60f3;return _0x3eafda?_0x4f60f3=_0x25fec2:_0x4f60f3=await Promise[_0x441041(0xb1)](_0x25fec2['map'](async _0x3e234a=>{const _0x4153cf=_0x441041;let _0x96116f;try{_0x96116f=_0x3e234a[_0x4153cf(0x98)]?await getDbName(_0xb3b10f['appCode'],_0x3e234a[_0x4153cf(0x98)]):undefined;}catch{}return{'sqlCode':_0x3e234a[_0x4153cf(0x99)],'sqlName':_0x3e234a['sqlName'],'description':_0x3e234a[_0x4153cf(0x9e)]??'','db':_0x96116f?_0x96116f+'\x20('+_0x3e234a[_0x4153cf(0x98)]+')':_0x3e234a['dbId']??''};})),{'ok':!![],'data':_0x4f60f3,'message':_0x25fec2[_0x441041(0xa2)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x441041(0xac)+_0x25fec2[_0x441041(0xa2)]+_0x441041(0xaa)+_0x272aae+').'};}};
|