@lovrabet/rabetbase-cli 2.1.5 → 2.1.6
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
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a101_0x3e40(_0xb955ca,_0x3b86b0){_0xb955ca=_0xb955ca-0x14a;const _0x1afbdd=a101_0x1afb();let _0x3e4050=_0x1afbdd[_0xb955ca];return _0x3e4050;}(function(_0x26c64f,_0xfb80d8){const _0xd76b5f=a101_0x3e40,_0xf12be9=_0x26c64f();while(!![]){try{const _0x30dce5=-parseInt(_0xd76b5f(0x182))/0x1*(parseInt(_0xd76b5f(0x174))/0x2)+-parseInt(_0xd76b5f(0x15e))/0x3+parseInt(_0xd76b5f(0x15c))/0x4+parseInt(_0xd76b5f(0x17a))/0x5*(-parseInt(_0xd76b5f(0x171))/0x6)+-parseInt(_0xd76b5f(0x170))/0x7*(-parseInt(_0xd76b5f(0x156))/0x8)+-parseInt(_0xd76b5f(0x175))/0x9+-parseInt(_0xd76b5f(0x16b))/0xa*(-parseInt(_0xd76b5f(0x179))/0xb);if(_0x30dce5===_0xfb80d8)break;else _0xf12be9['push'](_0xf12be9['shift']());}catch(_0x1cab41){_0xf12be9['push'](_0xf12be9['shift']());}}}(a101_0x1afb,0xba68d));import{readFileSync,existsSync,renameSync}from'node:fs';function a101_0x1afb(){const _0xb8710=['gray','utf8','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','\x20\x20Default:\x20','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','package.json','\x20\x20appcode:\x20','✓\x20Upgraded\x20','408FIOBQd','keys','从旧配置文件升级成功','\x20project\x20init`\x20to\x20start\x20fresh.','cyan','setLogPath','2308464UzGQWB','production','3440844ueJrmO','parse','\x20api\x20pull\x27','\x20api\x20generate\x27\x20and\x20\x27','.rabetbase.json','?\x20(Old\x20file\x20→\x20*.bak)','appcode','app','apps','trim','defaultApp','env','1.0.0','14684060LFEpTD','Please\x20enter\x20App\x20Code:','Migration\x20cancelled.\x20Run\x20`','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','Upgrade\x20it\x20to\x20','206773RksPuJ','18NpgCEG','log','.bak','560984kZichA','12448944fDOKph','Invalid\x20App\x20Code','yellow','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','22fRDNCw','1007920feVqvO','bold','string','cwd','初始化项目配置文件成功','toLocaleString','green','App\x20Code\x20cannot\x20be\x20empty','4NlttWk','info','init','version','join'];a101_0x1afb=function(){return _0xb8710;};return a101_0x1afb();}import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a101_0xa70dfb from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x333b13){const _0x1232ca=a101_0x3e40,{appcode:_0x43dd7b,env:_0xea3cdc,autoYes:_0x7da7f6}=_0x333b13,_0x15a731=process[_0x1232ca(0x17d)]();if(getProjectConfigPath())throw new Error(_0x1232ca(0x16e));let _0x4b7411;for(const _0x22912d of LEGACY_CONFIG_NAMES){const _0x1cdfb4=resolve(_0x15a731,_0x22912d);if(existsSync(_0x1cdfb4)){_0x4b7411=_0x1cdfb4;break;}}if(_0x4b7411){let _0x521063={};try{_0x521063=JSON[_0x1232ca(0x15f)](readFileSync(_0x4b7411,_0x1232ca(0x14f)));}catch{}const _0x5b5622=basename(_0x4b7411),_0x144b21=_0x521063?.[_0x1232ca(0x164)]||_0x521063?.[_0x1232ca(0x165)];let _0x55c673=_0x7da7f6;!_0x7da7f6&&(console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x177)]('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a101_0xa70dfb[_0x1232ca(0x17b)](_0x5b5622))),_0x144b21&&console[_0x1232ca(0x172)](a101_0xa70dfb['cyan'](_0x1232ca(0x154)+_0x144b21)),_0x55c673=await confirm({'message':_0x1232ca(0x16f)+a101_0xa70dfb[_0x1232ca(0x17b)](_0x1232ca(0x162))+_0x1232ca(0x163),'default':!![]}));if(!_0x55c673){console[_0x1232ca(0x172)](_0x1232ca(0x16d)+CLI_BIN_NAME+_0x1232ca(0x159));return;}const _0x39a826=resolve(_0x15a731,NEW_CONFIG_NAME),_0x26e6e3=getCliVersionFromPkg(),_0x205404=readRawConfig(),_0x129646=_0x43dd7b||(typeof _0x521063?.['appcode']===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x164)]:undefined)||(typeof _0x521063?.[_0x1232ca(0x165)]===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x165)]:undefined)||await askAppcode(),_0x5eab44=typeof _0x521063?.[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x521063[_0x1232ca(0x169)]:typeof _0x205404[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x205404[_0x1232ca(0x169)]:_0x1232ca(0x15d),_0x48b978=buildCanonicalProjectConfig({..._0x205404,..._0x521063},{'appCodes':[_0x129646],'env':_0x5eab44,'metadata':{'version':_0x26e6e3,'migratedAt':new Date()[_0x1232ca(0x17f)](),'migratedFrom':_0x4b7411}});writeConfigFile(_0x39a826,_0x48b978);const _0x49ba0d=_0x4b7411+_0x1232ca(0x173);renameSync(_0x4b7411,_0x49ba0d),logger[_0x1232ca(0x15b)](_0x15a731),logger[_0x1232ca(0x14a)]('init',_0x1232ca(0x158),{'from':_0x4b7411,'to':_0x39a826,'appcode':_0x129646,'env':_0x48b978[_0x1232ca(0x169)]}),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x180)](_0x1232ca(0x155)+_0x5b5622+'\x20→\x20.rabetbase.json')),console[_0x1232ca(0x172)](a101_0xa70dfb['cyan']('\x20\x20Apps:\x20'+Object[_0x1232ca(0x157)](_0x48b978[_0x1232ca(0x166)]||{})['join'](',\x20'))),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x15a)](_0x1232ca(0x151)+_0x48b978[_0x1232ca(0x168)])),console['log'](a101_0xa70dfb[_0x1232ca(0x14e)](_0x1232ca(0x178)+_0x5b5622+_0x1232ca(0x173)));return;}const _0x3f9e84=_0x43dd7b||await askAppcode(),_0x3e382d=resolve(_0x15a731,NEW_CONFIG_NAME),_0x1fcccd=getCliVersionFromPkg(),_0x1e6e5b=readRawConfig(),_0x360d16=typeof _0x1e6e5b[_0x1232ca(0x169)]===_0x1232ca(0x17c)?_0x1e6e5b[_0x1232ca(0x169)]:undefined,_0xfa87d6=buildCanonicalProjectConfig({},{'appCodes':[_0x3f9e84],'env':_0xea3cdc||_0x360d16||_0x1232ca(0x15d),'metadata':{'version':_0x1fcccd,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x3e382d,_0xfa87d6),logger['setLogPath'](_0x15a731),logger['info'](_0x1232ca(0x14b),_0x1232ca(0x17e),{'appcode':_0x3f9e84,'env':_0xfa87d6[_0x1232ca(0x169)],'version':_0xfa87d6[_0x1232ca(0x14c)],'configPath':_0x3e382d}),console[_0x1232ca(0x172)](a101_0xa70dfb['green'](_0x1232ca(0x150))),console[_0x1232ca(0x172)](a101_0xa70dfb[_0x1232ca(0x15a)]('\x20\x20Apps:\x20'+Object[_0x1232ca(0x157)](_0xfa87d6[_0x1232ca(0x166)]||{})[_0x1232ca(0x14d)](',\x20'))),console['log'](a101_0xa70dfb['cyan'](_0x1232ca(0x151)+_0xfa87d6['defaultApp'])),console[_0x1232ca(0x172)](_0x1232ca(0x152)+CLI_BIN_NAME+_0x1232ca(0x161)+CLI_BIN_NAME+_0x1232ca(0x160));}function askAppcode(){const _0x5d0e44=a101_0x3e40;return input({'message':_0x5d0e44(0x16c),'validate':_0xcb86ff=>{const _0x5c5574=_0x5d0e44;if(!_0xcb86ff[_0x5c5574(0x167)]())return _0x5c5574(0x181);const {valid:_0x46ed61,message:_0x545d75}=validateAppcode(_0xcb86ff[_0x5c5574(0x167)]());return _0x46ed61||_0x545d75||_0x5c5574(0x176);}});}function getCliVersionFromPkg(){const _0x5781ba=a101_0x3e40;try{const _0x54e0ea=fileURLToPath(import.meta.url),_0x421a29=resolve(dirname(_0x54e0ea),'../..'),_0x416104=JSON[_0x5781ba(0x15f)](readFileSync(resolve(_0x421a29,_0x5781ba(0x153)),_0x5781ba(0x14f)));return _0x416104[_0x5781ba(0x14c)]||'1.0.0';}catch{return _0x5781ba(0x16a);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a98_0x3006(){const _0x4844ab=['needed','MCP\x20config:','CANCEL','lovrabet/rabetbase','skipped','@lovrabet/sdk:','object','\x20→\x20latest','green','oldPath','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20\x20#\x20or','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','some','Config\x20file:','12TnKJOX','\x20\x20\x20\x20\x20\x20\x20','\x20\x20Current\x20version\x20in\x20','needsSkillSwap','fail','isDirectory','cyan','failed','Step\x206/7:\x20Installing\x20new\x20skill...','\x20(backup:\x20','[\x22@lovrabet/sdk\x22]:\x20','length','Remove\x20.lovrabet/','entries','white','already\x20exists\x20(will\x20merge)','\x20→\x20','utf8','skipped\x20(no\x20legacy\x20config)','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','mcpServers','info','oldArtifacts','args','\x20\x20Fields\x20to\x20migrate:\x20','fields','Step\x204/7:\x20Cleaning\x20MCP\x20config...','sdkUpgrade','not\x20found\x20or\x20already\x20at\x20latest','===\x20Upgrade\x20Analysis\x20===','values','lovrabet/rabetbase\x20installed\x20globally','none\x20found','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','1209332OjkxDQ','.bak','red','detail','110CvEHBw','1009413htssgp','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','filter','Config\x20migration','configMigration','Upgrade\x20cancelled.','.claude/skills/lovrabet','\x20removed','isArray','Step\x205/7:\x20Removing\x20old\x20skill...','latest','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','234601vCErfe','undefined','not\x20found\x20(will\x20create)','41970AKewOt','exit\x20','@lovrabet/dataset-mcp-server','yes','start','FAIL','5901176LUOOYY','succeed','Skill\x20swap:','gray','Clean\x20MCP\x20config','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','error','.cursor/mcp.json','no\x20legacy\x20entry','bold','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','no\x20legacy\x20config\x20found','@lovrabet/sdk','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Upgrade\x20@lovrabet/sdk','no\x20matching\x20entry\x20found','cwd','4032805GWvXfU','44955enJYQK','oldMcpConfig','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Install\x20new\x20skill','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20removed\x20(','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','done','Remove\x20legacy\x20artifacts','215eMSKPI','parse','message','\x20\x20Action:\x20delete','Remove\x20old\x20skill','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','files','===\x20Upgrade\x20Summary\x20===','string','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','FOUND','Proceed\x20with\x20upgrade?','join','log','Legacy\x20artifacts:','\x20from\x20','path','\x20→\x20keys:\x20','.lovrabet','yellow','includes','step','Step\x201/7:\x20Migrating\x20config...','push','hasNewConfig','stringify','devDependencies','.cursor/rules/lovrabet_rules.mdc','Upgrade\x20completed\x20successfully!','inherit','lovrabet/lovrabet-skill\x20removed','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'];a98_0x3006=function(){return _0x4844ab;};return a98_0x3006();}const a98_0xa3794d=a98_0x1a79;function a98_0x1a79(_0x147fe0,_0x3305cc){_0x147fe0=_0x147fe0-0x174;const _0x300663=a98_0x3006();let _0x1a79b2=_0x300663[_0x147fe0];return _0x1a79b2;}(function(_0x411dd8,_0x59c599){const _0x4091aa=a98_0x1a79,_0x1edcbd=_0x411dd8();while(!![]){try{const _0x4c2399=parseInt(_0x4091aa(0x1b3))/0x1+parseInt(_0x4091aa(0x180))/0x2*(parseInt(_0x4091aa(0x1cf))/0x3)+-parseInt(_0x4091aa(0x1a2))/0x4+parseInt(_0x4091aa(0x1d9))/0x5*(parseInt(_0x4091aa(0x1b6))/0x6)+parseInt(_0x4091aa(0x1ce))/0x7+parseInt(_0x4091aa(0x1bc))/0x8+-parseInt(_0x4091aa(0x1a7))/0x9*(parseInt(_0x4091aa(0x1a6))/0xa);if(_0x4c2399===_0x59c599)break;else _0x1edcbd['push'](_0x1edcbd['shift']());}catch(_0x25011d){_0x1edcbd['push'](_0x1edcbd['shift']());}}}(a98_0x3006,0x62636));import a98_0x32e79e from'chalk';import a98_0x46bce8 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[a98_0xa3794d(0x1a9)](_0x591633=>_0x591633!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2dcfcb){const _0x5ef184=a98_0xa3794d,_0xcbd73b=[];for(const _0x1b192a of Object[_0x5ef184(0x19e)](CORE_IDE_CONFIGS)){if(_0x1b192a[_0x5ef184(0x1df)])for(const _0x8400ae of _0x1b192a[_0x5ef184(0x1df)]){_0xcbd73b[_0x5ef184(0x1f0)](resolve(_0x2dcfcb,_0x8400ae['path']));}}return _0xcbd73b;}function analyse(_0x4c0215){const _0x45c631=a98_0xa3794d;let _0x7baff=null;const _0x39e471=resolve(_0x4c0215,NEW_CONFIG_NAME),_0x19ab53=existsSync(_0x39e471);for(const _0x5e8204 of LEGACY_CONFIG_NAMES){const _0x51704d=resolve(_0x4c0215,_0x5e8204);if(existsSync(_0x51704d)){const _0x5ceaae=readConfigFile(_0x51704d),_0x58c773=Object['keys'](_0x5ceaae)[_0x45c631(0x1a9)](_0x2d1feb=>typeof _0x5ceaae[_0x2d1feb]!==_0x45c631(0x1b4));_0x7baff={'oldPath':_0x51704d,'hasNewConfig':_0x19ab53,'fields':_0x58c773};break;}}const _0x27f2a2=[],_0x3b4a62=resolve(_0x4c0215,_0x45c631(0x1eb));if(existsSync(_0x3b4a62))_0x27f2a2[_0x45c631(0x1f0)](_0x3b4a62);const _0x2c58b0=resolve(_0x4c0215,_0x45c631(0x1f4));if(existsSync(_0x2c58b0))_0x27f2a2['push'](_0x2c58b0);const _0x56478f=resolve(_0x4c0215,_0x45c631(0x1ad));if(existsSync(_0x56478f))_0x27f2a2[_0x45c631(0x1f0)](_0x56478f);for(const _0x1cab4b of collectIdeSkillFiles(_0x4c0215)){if(existsSync(_0x1cab4b))_0x27f2a2[_0x45c631(0x1f0)](_0x1cab4b);}let _0x2ba4ff=null;const _0x4533a0=resolve(_0x4c0215,_0x45c631(0x1c3));if(existsSync(_0x4533a0))try{const _0x3f05b4=JSON['parse'](readFileSync(_0x4533a0,'utf8'));if(_0x3f05b4?.[_0x45c631(0x194)]&&typeof _0x3f05b4['mcpServers']==='object'){const _0x3f9934=[];for(const [_0x271df3,_0x49b1c5]of Object[_0x45c631(0x18d)](_0x3f05b4[_0x45c631(0x194)])){const _0x2badce=_0x49b1c5;_0x2badce?.[_0x45c631(0x197)]&&Array[_0x45c631(0x1af)](_0x2badce[_0x45c631(0x197)])&&_0x2badce[_0x45c631(0x197)]['some'](_0x17b254=>typeof _0x17b254===_0x45c631(0x1e1)&&_0x17b254[_0x45c631(0x1ed)]('@lovrabet/dataset-mcp-server'))&&_0x3f9934[_0x45c631(0x1f0)](_0x271df3);}_0x3f9934['length']>0x0&&(_0x2ba4ff={'path':_0x4533a0,'keys':_0x3f9934});}}catch{}const _0x5b870e=_0x27f2a2[_0x45c631(0x18b)]>0x0||_0x7baff!==null;let _0x5cf6f0=null;const _0x144b82=resolve(_0x4c0215,'package.json');if(existsSync(_0x144b82))try{const _0x150ce9=JSON[_0x45c631(0x1da)](readFileSync(_0x144b82,_0x45c631(0x191)));for(const _0x141d8c of['dependencies',_0x45c631(0x1f3)]){const _0x3005ed=_0x150ce9?.[_0x141d8c]?.[_0x45c631(0x1c9)];if(typeof _0x3005ed===_0x45c631(0x1e1)){_0x3005ed!==_0x45c631(0x1b1)&&(_0x5cf6f0={'pkgPath':_0x144b82,'currentVersion':_0x3005ed,'field':_0x141d8c});break;}}}catch{}return{'configMigration':_0x7baff,'oldArtifacts':_0x27f2a2,'oldMcpConfig':_0x2ba4ff,'needsSkillSwap':_0x5b870e,'sdkUpgrade':_0x5cf6f0};}function printReport(_0x4344b2){const _0xfa8b64=a98_0xa3794d,{configMigration:_0x421663,oldArtifacts:_0x77861b,oldMcpConfig:_0x204f4c,needsSkillSwap:_0x516403}=_0x4344b2;console['log'](''),console[_0xfa8b64(0x1e6)](a98_0x32e79e[_0xfa8b64(0x1c5)](_0xfa8b64(0x19d))),console['log']('');_0x421663?(console[_0xfa8b64(0x1e6)](a98_0x32e79e[_0xfa8b64(0x186)](_0xfa8b64(0x17f))+('\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1ec)](_0x421663['oldPath']))),console[_0xfa8b64(0x1e6)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x421663[_0xfa8b64(0x1f1)]?a98_0x32e79e[_0xfa8b64(0x179)](_0xfa8b64(0x18f)):a98_0x32e79e['gray'](_0xfa8b64(0x1b5)))),console[_0xfa8b64(0x1e6)](_0xfa8b64(0x198)+_0x421663[_0xfa8b64(0x199)][_0xfa8b64(0x1e5)](',\x20')),console[_0xfa8b64(0x1e6)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0xfa8b64(0x1e6)](a98_0x32e79e[_0xfa8b64(0x186)](_0xfa8b64(0x17f))+'\x20\x20'+a98_0x32e79e['gray'](_0xfa8b64(0x1c8)));console[_0xfa8b64(0x1e6)]('');if(_0x77861b['length']>0x0){console['log'](a98_0x32e79e[_0xfa8b64(0x186)]('Legacy\x20artifacts:'));for(const _0x3f6300 of _0x77861b){console[_0xfa8b64(0x1e6)]('\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1a4)](_0xfa8b64(0x1e3))+'\x20\x20'+_0x3f6300);}console[_0xfa8b64(0x1e6)](_0xfa8b64(0x1dc));}else console[_0xfa8b64(0x1e6)](a98_0x32e79e[_0xfa8b64(0x186)](_0xfa8b64(0x1e7))+'\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1bf)](_0xfa8b64(0x1a0)));console['log']('');_0x204f4c?(console['log'](a98_0x32e79e[_0xfa8b64(0x186)](_0xfa8b64(0x1fa))+('\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1ec)](_0x204f4c[_0xfa8b64(0x1e9)])+_0xfa8b64(0x1ea)+_0x204f4c['keys'][_0xfa8b64(0x1e5)](',\x20'))),console[_0xfa8b64(0x1e6)](_0xfa8b64(0x1a8))):console[_0xfa8b64(0x1e6)](a98_0x32e79e['cyan']('MCP\x20config:')+'\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1bf)](_0xfa8b64(0x1c4)));console[_0xfa8b64(0x1e6)](''),console['log'](a98_0x32e79e['cyan'](_0xfa8b64(0x1be))+('\x20\x20'+(_0x516403?a98_0x32e79e[_0xfa8b64(0x1ec)](_0xfa8b64(0x1f9)):a98_0x32e79e[_0xfa8b64(0x179)]('not\x20needed'))));_0x516403&&console[_0xfa8b64(0x1e6)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0xfa8b64(0x1e6)]('');if(_0x4344b2[_0xfa8b64(0x19b)]){const {currentVersion:_0x4ecc3a,field:_0x2bed9e,pkgPath:_0xefb6cd}=_0x4344b2[_0xfa8b64(0x19b)];console[_0xfa8b64(0x1e6)](a98_0x32e79e['cyan'](_0xfa8b64(0x176))+('\x20\x20'+a98_0x32e79e['yellow'](_0xefb6cd))),console[_0xfa8b64(0x1e6)](_0xfa8b64(0x182)+_0x2bed9e+':\x20'+a98_0x32e79e[_0xfa8b64(0x1ec)](_0x4ecc3a)+_0xfa8b64(0x190)+a98_0x32e79e[_0xfa8b64(0x179)](_0xfa8b64(0x1b1))),console[_0xfa8b64(0x1e6)](_0xfa8b64(0x1d1));}else console[_0xfa8b64(0x1e6)](a98_0x32e79e['cyan']('@lovrabet/sdk:')+'\x20\x20'+a98_0x32e79e[_0xfa8b64(0x1bf)](_0xfa8b64(0x19c)));console[_0xfa8b64(0x1e6)]('');}function execConfigMigration(_0x279f33,_0xf45fcb){const _0x659ee3=a98_0xa3794d,{configMigration:_0x40477a}=_0x279f33;if(!_0x40477a?.['oldPath'])return{'step':0x1,'label':_0x659ee3(0x1aa),'ok':!![],'detail':_0x659ee3(0x192)};const _0x5b704f=readConfigFile(_0x40477a[_0x659ee3(0x17a)]),_0x341ff4=resolve(_0xf45fcb,NEW_CONFIG_NAME),_0x199325=_0x40477a[_0x659ee3(0x1f1)]?readConfigFile(_0x341ff4):{};for(const [_0x525f15,_0x22ee97]of Object[_0x659ee3(0x18d)](_0x5b704f)){!(_0x525f15 in _0x199325)&&(_0x199325[_0x525f15]=_0x22ee97);}writeConfigFile(_0x341ff4,_0x199325);const _0x250a0a=_0x40477a[_0x659ee3(0x17a)]+_0x659ee3(0x1a3);return renameSync(_0x40477a[_0x659ee3(0x17a)],_0x250a0a),{'step':0x1,'label':_0x659ee3(0x1aa),'ok':!![],'detail':_0x40477a[_0x659ee3(0x17a)]+_0x659ee3(0x190)+_0x341ff4+_0x659ee3(0x189)+_0x250a0a+')'};}function execRemoveOldArtifacts(_0x4dfe68){const _0xe6f327=a98_0xa3794d,_0xd7ba03=[];for(const _0x11c186 of _0x4dfe68){try{if(!existsSync(_0x11c186))continue;const _0x2e70d1=tryStat(_0x11c186);_0x2e70d1?.[_0xe6f327(0x185)]()?rmSync(_0x11c186,{'recursive':!![],'force':!![]}):unlinkSync(_0x11c186);}catch(_0x418c45){_0xd7ba03['push'](_0x11c186+':\x20'+_0x418c45['message']);}}return{'step':0x3,'label':_0xe6f327(0x1d8),'ok':_0xd7ba03[_0xe6f327(0x18b)]===0x0,'detail':_0xd7ba03[_0xe6f327(0x18b)]>0x0?_0x4dfe68['length']-_0xd7ba03[_0xe6f327(0x18b)]+'/'+_0x4dfe68['length']+_0xe6f327(0x1d4)+_0xd7ba03[_0xe6f327(0x1e5)](';\x20')+')':_0x4dfe68['length']+_0xe6f327(0x1ae)};}function execCleanMcp(_0x3de7b4){const _0x48cf47=a98_0xa3794d;if(!_0x3de7b4[_0x48cf47(0x1d0)])return{'step':0x4,'label':_0x48cf47(0x1c0),'ok':!![],'detail':'skipped'};try{const _0x3a1b2f=readFileSync(_0x3de7b4[_0x48cf47(0x1d0)]['path'],_0x48cf47(0x191)),_0x1aec34=JSON[_0x48cf47(0x1da)](_0x3a1b2f);if(_0x1aec34?.[_0x48cf47(0x194)]&&typeof _0x1aec34[_0x48cf47(0x194)]===_0x48cf47(0x177)){const _0x28b0e9=[];for(const [_0x5c3200,_0x32baf8]of Object[_0x48cf47(0x18d)](_0x1aec34[_0x48cf47(0x194)])){_0x32baf8?.['args']&&Array[_0x48cf47(0x1af)](_0x32baf8['args'])&&_0x32baf8[_0x48cf47(0x197)]['some'](_0x148192=>typeof _0x148192===_0x48cf47(0x1e1)&&_0x148192['includes'](_0x48cf47(0x1b8)))&&_0x28b0e9[_0x48cf47(0x1f0)](_0x5c3200);}for(const _0x4abe95 of _0x28b0e9){delete _0x1aec34[_0x48cf47(0x194)][_0x4abe95];}return _0x28b0e9[_0x48cf47(0x18b)]>0x0&&writeFileSync(_0x3de7b4['oldMcpConfig'][_0x48cf47(0x1e9)],JSON[_0x48cf47(0x1f2)](_0x1aec34,null,0x2)+'\x0a',_0x48cf47(0x191)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x28b0e9[_0x48cf47(0x1e5)](',\x20')+_0x48cf47(0x1e8)+_0x3de7b4[_0x48cf47(0x1d0)][_0x48cf47(0x1e9)]};}return{'step':0x4,'label':_0x48cf47(0x1c0),'ok':!![],'detail':_0x48cf47(0x1cc)};}catch(_0x2b2707){return{'step':0x4,'label':_0x48cf47(0x1c0),'ok':![],'detail':_0x2b2707[_0x48cf47(0x1db)]};}}function execSkillsRemove(_0x2c5bb2,_0x134021){const _0x10d3ae=a98_0xa3794d,_0x40e270=runNpxSkillsRemove(_0x2c5bb2,{'stdio':'inherit','yes':_0x134021});return{'step':0x5,'label':_0x10d3ae(0x1dd),'ok':_0x40e270['ok'],'detail':_0x40e270['ok']?_0x10d3ae(0x1f7):_0x40e270[_0x10d3ae(0x1c2)]??_0x10d3ae(0x1b7)+_0x40e270['status']};}function execSkillsAdd(_0x2605af,_0x514187){const _0x479e5d=a98_0xa3794d,_0x2bc10a=runNpxSkillsAddGlobal(_0x2605af,_0x479e5d(0x174),{'stdio':_0x479e5d(0x1f6),'yes':_0x514187});return{'step':0x6,'label':_0x479e5d(0x1d2),'ok':_0x2bc10a['ok'],'detail':_0x2bc10a['ok']?_0x479e5d(0x19f):_0x2bc10a[_0x479e5d(0x1c2)]??_0x479e5d(0x1b7)+_0x2bc10a['status']};}function execUpgradeSdk(_0x27dbf4){const _0x46ca48=a98_0xa3794d;if(!_0x27dbf4['sdkUpgrade'])return{'step':0x7,'label':_0x46ca48(0x1cb),'ok':!![],'detail':_0x46ca48(0x1f8)};const {pkgPath:_0x166c28,currentVersion:_0x397e09,field:_0x14b709}=_0x27dbf4['sdkUpgrade'];try{const _0x3a7bd7=readFileSync(_0x166c28,_0x46ca48(0x191)),_0x3434cc=JSON[_0x46ca48(0x1da)](_0x3a7bd7);return _0x3434cc[_0x14b709][_0x46ca48(0x1c9)]=_0x46ca48(0x1b1),writeFileSync(_0x166c28,JSON[_0x46ca48(0x1f2)](_0x3434cc,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x46ca48(0x1cb),'ok':!![],'detail':_0x14b709+_0x46ca48(0x18a)+_0x397e09+_0x46ca48(0x178)};}catch(_0x12f6da){return{'step':0x7,'label':_0x46ca48(0x1cb),'ok':![],'detail':_0x12f6da['message']};}}function tryStat(_0xe8c400){try{return statSync(_0xe8c400);}catch{return undefined;}}function printSummary(_0x2b46f3){const _0x551220=a98_0xa3794d;console['log'](''),console[_0x551220(0x1e6)](a98_0x32e79e[_0x551220(0x1c5)](_0x551220(0x1e0))),console[_0x551220(0x1e6)]('');for(const _0x224ca6 of _0x2b46f3){const _0x1c269c=_0x224ca6['ok']?a98_0x32e79e[_0x551220(0x179)]('OK'):a98_0x32e79e[_0x551220(0x1a4)](_0x551220(0x1bb));console[_0x551220(0x1e6)]('\x20\x20'+_0x1c269c+'\x20\x20Step\x20'+_0x224ca6[_0x551220(0x1ee)]+':\x20'+_0x224ca6['label']);if(_0x224ca6[_0x551220(0x1a5)])console[_0x551220(0x1e6)](_0x551220(0x181)+a98_0x32e79e['gray'](_0x224ca6[_0x551220(0x1a5)]));}console[_0x551220(0x1e6)]('');}export async function upgradeApp(_0x2f3eb9,_0xcbc46f){const _0x1add4e=a98_0xa3794d,_0x17e315=process[_0x1add4e(0x1cd)](),_0x199932=analyse(_0x17e315),_0xcd1221=!_0x199932[_0x1add4e(0x1ab)]&&_0x199932[_0x1add4e(0x196)][_0x1add4e(0x18b)]===0x0&&!_0x199932[_0x1add4e(0x1d0)]&&!_0x199932[_0x1add4e(0x183)]&&!_0x199932[_0x1add4e(0x19b)];if(_0xcd1221){console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x179)](_0x1add4e(0x1b2)));return;}printReport(_0x199932);const _0x351dd9=!!(_0xcbc46f[_0x1add4e(0x1b9)]||_0xcbc46f['Y']||_0x2f3eb9);if(!_0x351dd9)try{const _0x45286e=await askConfirm(_0x1add4e(0x1e4));if(!_0x45286e){console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x1bf)](_0x1add4e(0x1ac)));return;}}catch(_0x1a4fb1){if(_0x1a4fb1?.[_0x1add4e(0x1db)]===_0x1add4e(0x1fb)){console[_0x1add4e(0x1e6)](a98_0x32e79e['gray']('Upgrade\x20cancelled.'));return;}throw _0x1a4fb1;}const _0x38ec5c=[],_0x30fdb8=a98_0x46bce8({'text':_0x1add4e(0x1ef),'color':_0x1add4e(0x186)})[_0x1add4e(0x1ba)](),_0x1e12f9=execConfigMigration(_0x199932,_0x17e315);_0x38ec5c[_0x1add4e(0x1f0)](_0x1e12f9),_0x30fdb8[_0x1e12f9['ok']?_0x1add4e(0x1bd):'fail'](_0x1add4e(0x1d3)+(_0x1e12f9[_0x1add4e(0x1a5)]??(_0x1e12f9['ok']?'done':_0x1add4e(0x187))));const _0x489082=resolve(_0x17e315,_0x1add4e(0x1eb)),_0x47b575=a98_0x46bce8({'text':_0x1add4e(0x1de),'color':'cyan'})[_0x1add4e(0x1ba)]();if(existsSync(_0x489082))try{rmSync(_0x489082,{'recursive':!![],'force':!![]}),_0x47b575[_0x1add4e(0x1bd)](_0x1add4e(0x1c1)),_0x38ec5c[_0x1add4e(0x1f0)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x42fe1c){_0x47b575[_0x1add4e(0x184)](_0x1add4e(0x1ca)+_0x42fe1c[_0x1add4e(0x1db)]),_0x38ec5c[_0x1add4e(0x1f0)]({'step':0x2,'label':_0x1add4e(0x18c),'ok':![],'detail':_0x42fe1c[_0x1add4e(0x1db)]});}else _0x47b575[_0x1add4e(0x195)](_0x1add4e(0x193)),_0x38ec5c[_0x1add4e(0x1f0)]({'step':0x2,'label':_0x1add4e(0x18c),'ok':!![],'detail':_0x1add4e(0x175)});const _0x194217=a98_0x46bce8({'text':_0x1add4e(0x1c7),'color':_0x1add4e(0x186)})[_0x1add4e(0x1ba)](),_0x2def54=execRemoveOldArtifacts(_0x199932[_0x1add4e(0x196)]);_0x38ec5c[_0x1add4e(0x1f0)](_0x2def54),_0x194217[_0x2def54['ok']?_0x1add4e(0x1bd):_0x1add4e(0x184)](_0x1add4e(0x17b)+(_0x2def54[_0x1add4e(0x1a5)]??(_0x2def54['ok']?_0x1add4e(0x1d7):_0x1add4e(0x187))));const _0x21a8e6=a98_0x46bce8({'text':_0x1add4e(0x19a),'color':_0x1add4e(0x186)})[_0x1add4e(0x1ba)](),_0x2cb341=execCleanMcp(_0x199932);_0x38ec5c[_0x1add4e(0x1f0)](_0x2cb341),_0x21a8e6[_0x2cb341['ok']?_0x1add4e(0x1bd):_0x1add4e(0x184)](_0x1add4e(0x1d6)+(_0x2cb341[_0x1add4e(0x1a5)]??(_0x2cb341['ok']?_0x1add4e(0x1d7):_0x1add4e(0x187))));const _0x5305fa=a98_0x46bce8({'text':_0x1add4e(0x1b0),'color':_0x1add4e(0x186)})[_0x1add4e(0x1ba)](),_0x300356=execSkillsRemove(_0x17e315,_0x351dd9);_0x38ec5c[_0x1add4e(0x1f0)](_0x300356),_0x5305fa[_0x300356['ok']?'succeed':_0x1add4e(0x184)](_0x1add4e(0x17d)+(_0x300356[_0x1add4e(0x1a5)]??(_0x300356['ok']?_0x1add4e(0x1d7):'failed')));const _0x1df1e8=a98_0x46bce8({'text':_0x1add4e(0x188),'color':_0x1add4e(0x186)})[_0x1add4e(0x1ba)](),_0x1184ff=execSkillsAdd(_0x17e315,_0x351dd9);_0x38ec5c[_0x1add4e(0x1f0)](_0x1184ff),_0x1df1e8[_0x1184ff['ok']?_0x1add4e(0x1bd):_0x1add4e(0x184)](_0x1add4e(0x1d5)+(_0x1184ff[_0x1add4e(0x1a5)]??(_0x1184ff['ok']?_0x1add4e(0x1d7):_0x1add4e(0x187))));const _0x4ae693=a98_0x46bce8({'text':_0x1add4e(0x1c6),'color':_0x1add4e(0x186)})['start'](),_0x4a251b=execUpgradeSdk(_0x199932);_0x38ec5c[_0x1add4e(0x1f0)](_0x4a251b),_0x4ae693[_0x4a251b['ok']?_0x1add4e(0x1bd):_0x1add4e(0x184)](_0x1add4e(0x1a1)+(_0x4a251b[_0x1add4e(0x1a5)]??(_0x4a251b['ok']?_0x1add4e(0x1d7):_0x1add4e(0x187)))),printSummary(_0x38ec5c);const _0x327bb4=_0x38ec5c[_0x1add4e(0x17e)](_0x5d0f25=>!_0x5d0f25['ok']);_0x327bb4?console[_0x1add4e(0x1e6)](a98_0x32e79e['yellow']('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x179)](_0x1add4e(0x1f5))),_0x4a251b['ok']&&_0x199932[_0x1add4e(0x19b)]&&(console[_0x1add4e(0x1e6)](''),console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x1c5)][_0x1add4e(0x186)](_0x1add4e(0x1e2))),console['log'](a98_0x32e79e[_0x1add4e(0x186)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x1add4e(0x1e6)](''),console['log'](a98_0x32e79e['white']('\x20\x20npm\x20install')),console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x18e)](_0x1add4e(0x17c))),console[_0x1add4e(0x1e6)](a98_0x32e79e[_0x1add4e(0x18e)]('\x20\x20bun\x20install')),console[_0x1add4e(0x1e6)](''));}
|
|
1
|
+
const a102_0x17c204=a102_0x40ce;(function(_0x405185,_0x244253){const _0x1bc987=a102_0x40ce,_0x3316bd=_0x405185();while(!![]){try{const _0xc6c826=-parseInt(_0x1bc987(0x11c))/0x1*(parseInt(_0x1bc987(0x141))/0x2)+-parseInt(_0x1bc987(0x122))/0x3*(parseInt(_0x1bc987(0x13a))/0x4)+-parseInt(_0x1bc987(0x183))/0x5+-parseInt(_0x1bc987(0x170))/0x6+-parseInt(_0x1bc987(0x185))/0x7*(-parseInt(_0x1bc987(0x156))/0x8)+-parseInt(_0x1bc987(0x166))/0x9+parseInt(_0x1bc987(0x14d))/0xa;if(_0xc6c826===_0x244253)break;else _0x3316bd['push'](_0x3316bd['shift']());}catch(_0x410c1e){_0x3316bd['push'](_0x3316bd['shift']());}}}(a102_0x22a1,0x5f29f));import a102_0x21c6d6 from'chalk';import a102_0x3257de from'ora';function a102_0x40ce(_0x42ed83,_0x263e81){_0x42ed83=_0x42ed83-0x119;const _0x22a15d=a102_0x22a1();let _0x40ce17=_0x22a15d[_0x42ed83];return _0x40ce17;}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[a102_0x17c204(0x16e)](_0x568304=>_0x568304!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x27a965){const _0xd7da9b=a102_0x17c204,_0x523f19=[];for(const _0x30495f of Object[_0xd7da9b(0x198)](CORE_IDE_CONFIGS)){if(_0x30495f[_0xd7da9b(0x14b)])for(const _0x558c26 of _0x30495f[_0xd7da9b(0x14b)]){_0x523f19['push'](resolve(_0x27a965,_0x558c26['path']));}}return _0x523f19;}function analyse(_0x59b4ad){const _0x5466b5=a102_0x17c204;let _0x5c37d8=null;const _0xfd220=resolve(_0x59b4ad,NEW_CONFIG_NAME),_0xf49577=existsSync(_0xfd220);for(const _0x1d0303 of LEGACY_CONFIG_NAMES){const _0x9a86df=resolve(_0x59b4ad,_0x1d0303);if(existsSync(_0x9a86df)){const _0x549f19=readConfigFile(_0x9a86df),_0x1e8350=Object[_0x5466b5(0x133)](_0x549f19)[_0x5466b5(0x16e)](_0x22ac44=>typeof _0x549f19[_0x22ac44]!=='undefined');_0x5c37d8={'oldPath':_0x9a86df,'hasNewConfig':_0xf49577,'fields':_0x1e8350};break;}}const _0x3a0b99=[],_0x300bb5=resolve(_0x59b4ad,_0x5466b5(0x173));if(existsSync(_0x300bb5))_0x3a0b99['push'](_0x300bb5);const _0x2672e8=resolve(_0x59b4ad,_0x5466b5(0x153));if(existsSync(_0x2672e8))_0x3a0b99[_0x5466b5(0x18f)](_0x2672e8);const _0x535f37=resolve(_0x59b4ad,_0x5466b5(0x17b));if(existsSync(_0x535f37))_0x3a0b99['push'](_0x535f37);for(const _0x1498bd of collectIdeSkillFiles(_0x59b4ad)){if(existsSync(_0x1498bd))_0x3a0b99['push'](_0x1498bd);}let _0x37bfee=null;const _0x5e95e8=resolve(_0x59b4ad,'.cursor/mcp.json');if(existsSync(_0x5e95e8))try{const _0x32df31=JSON[_0x5466b5(0x13b)](readFileSync(_0x5e95e8,_0x5466b5(0x12f)));if(_0x32df31?.[_0x5466b5(0x19d)]&&typeof _0x32df31[_0x5466b5(0x19d)]===_0x5466b5(0x164)){const _0x4751f3=[];for(const [_0x547d3e,_0x900e0]of Object[_0x5466b5(0x123)](_0x32df31[_0x5466b5(0x19d)])){const _0x1f5df5=_0x900e0;_0x1f5df5?.[_0x5466b5(0x13e)]&&Array[_0x5466b5(0x14e)](_0x1f5df5[_0x5466b5(0x13e)])&&_0x1f5df5[_0x5466b5(0x13e)][_0x5466b5(0x14f)](_0x4347b2=>typeof _0x4347b2===_0x5466b5(0x197)&&_0x4347b2[_0x5466b5(0x160)]('@lovrabet/dataset-mcp-server'))&&_0x4751f3[_0x5466b5(0x18f)](_0x547d3e);}_0x4751f3[_0x5466b5(0x145)]>0x0&&(_0x37bfee={'path':_0x5e95e8,'keys':_0x4751f3});}}catch{}const _0x41836b=_0x3a0b99[_0x5466b5(0x145)]>0x0||_0x5c37d8!==null;let _0x36b690=null;const _0x51b83f=resolve(_0x59b4ad,_0x5466b5(0x140));if(existsSync(_0x51b83f))try{const _0x42a64b=JSON['parse'](readFileSync(_0x51b83f,_0x5466b5(0x12f)));for(const _0x34cdeb of['dependencies',_0x5466b5(0x11e)]){const _0x15f528=_0x42a64b?.[_0x34cdeb]?.[_0x5466b5(0x186)];if(typeof _0x15f528===_0x5466b5(0x197)){_0x15f528!==_0x5466b5(0x12d)&&(_0x36b690={'pkgPath':_0x51b83f,'currentVersion':_0x15f528,'field':_0x34cdeb});break;}}}catch{}return{'configMigration':_0x5c37d8,'oldArtifacts':_0x3a0b99,'oldMcpConfig':_0x37bfee,'needsSkillSwap':_0x41836b,'sdkUpgrade':_0x36b690};}function printReport(_0x244a75){const _0x29fe89=a102_0x17c204,{configMigration:_0x44d273,oldArtifacts:_0x380aee,oldMcpConfig:_0x54c176,needsSkillSwap:_0x29af28}=_0x244a75;console['log'](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x169)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x29fe89(0x19b)]('');_0x44d273?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('Config\x20file:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x44d273[_0x29fe89(0x124)]))),console[_0x29fe89(0x19b)](_0x29fe89(0x165)+(_0x44d273[_0x29fe89(0x15e)]?a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x180)):a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x17f)))),console[_0x29fe89(0x19b)](_0x29fe89(0x144)+_0x44d273[_0x29fe89(0x18e)][_0x29fe89(0x13c)](',\x20')),console[_0x29fe89(0x19b)](_0x29fe89(0x189))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x14c))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)]('no\x20legacy\x20config\x20found'));console[_0x29fe89(0x19b)]('');if(_0x380aee['length']>0x0){console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x132)));for(const _0x36ae63 of _0x380aee){console['log']('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x168)](_0x29fe89(0x181))+'\x20\x20'+_0x36ae63);}console['log'](_0x29fe89(0x196));}else console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('Legacy\x20artifacts:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x16f)));console['log']('');_0x54c176?(console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+('\x20\x20'+a102_0x21c6d6['yellow'](_0x54c176[_0x29fe89(0x152)])+_0x29fe89(0x167)+_0x54c176['keys'][_0x29fe89(0x13c)](',\x20'))),console[_0x29fe89(0x19b)](_0x29fe89(0x19c))):console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)]('MCP\x20config:')+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x190)));console[_0x29fe89(0x19b)](''),console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x199))+('\x20\x20'+(_0x29af28?a102_0x21c6d6[_0x29fe89(0x193)](_0x29fe89(0x18d)):a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x15d)))));_0x29af28&&console['log']('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x29fe89(0x19b)]('');if(_0x244a75['sdkUpgrade']){const {currentVersion:_0x543a84,field:_0x567fd0,pkgPath:_0x3ec74a}=_0x244a75[_0x29fe89(0x192)];console['log'](a102_0x21c6d6[_0x29fe89(0x137)]('@lovrabet/sdk:')+('\x20\x20'+a102_0x21c6d6[_0x29fe89(0x193)](_0x3ec74a))),console[_0x29fe89(0x19b)](_0x29fe89(0x194)+_0x567fd0+':\x20'+a102_0x21c6d6['yellow'](_0x543a84)+_0x29fe89(0x179)+a102_0x21c6d6[_0x29fe89(0x128)](_0x29fe89(0x12d))),console[_0x29fe89(0x19b)](_0x29fe89(0x161));}else console[_0x29fe89(0x19b)](a102_0x21c6d6[_0x29fe89(0x137)](_0x29fe89(0x16d))+'\x20\x20'+a102_0x21c6d6[_0x29fe89(0x15c)](_0x29fe89(0x142)));console[_0x29fe89(0x19b)]('');}function execConfigMigration(_0x5b41a7,_0x8609af){const _0x52d8e9=a102_0x17c204,{configMigration:_0x524fd2}=_0x5b41a7;if(!_0x524fd2?.[_0x52d8e9(0x124)])return{'step':0x1,'label':_0x52d8e9(0x162),'ok':!![],'detail':_0x52d8e9(0x16c)};const _0x2c436d=readConfigFile(_0x524fd2[_0x52d8e9(0x124)]),_0x20c607=resolve(_0x8609af,NEW_CONFIG_NAME),_0x1c30cf=_0x524fd2[_0x52d8e9(0x15e)]?readConfigFile(_0x20c607):{};for(const [_0x434971,_0x32186a]of Object[_0x52d8e9(0x123)](_0x2c436d)){!(_0x434971 in _0x1c30cf)&&(_0x1c30cf[_0x434971]=_0x32186a);}writeConfigFile(_0x20c607,_0x1c30cf);const _0xaa420e=_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x13f);return renameSync(_0x524fd2[_0x52d8e9(0x124)],_0xaa420e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x524fd2[_0x52d8e9(0x124)]+_0x52d8e9(0x179)+_0x20c607+'\x20(backup:\x20'+_0xaa420e+')'};}function execRemoveOldArtifacts(_0x17d906){const _0xe593d5=a102_0x17c204,_0x17af72=[];for(const _0x363c0b of _0x17d906){try{if(!existsSync(_0x363c0b))continue;const _0x27fdc4=tryStat(_0x363c0b);_0x27fdc4?.['isDirectory']()?rmSync(_0x363c0b,{'recursive':!![],'force':!![]}):unlinkSync(_0x363c0b);}catch(_0x26122c){_0x17af72[_0xe593d5(0x18f)](_0x363c0b+':\x20'+_0x26122c[_0xe593d5(0x136)]);}}return{'step':0x3,'label':_0xe593d5(0x12a),'ok':_0x17af72[_0xe593d5(0x145)]===0x0,'detail':_0x17af72['length']>0x0?_0x17d906[_0xe593d5(0x145)]-_0x17af72[_0xe593d5(0x145)]+'/'+_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x139)+_0x17af72[_0xe593d5(0x13c)](';\x20')+')':_0x17d906[_0xe593d5(0x145)]+_0xe593d5(0x16b)};}function execCleanMcp(_0x3d8815){const _0x5eecda=a102_0x17c204;if(!_0x3d8815['oldMcpConfig'])return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x148)};try{const _0x5ad2e0=readFileSync(_0x3d8815['oldMcpConfig'][_0x5eecda(0x152)],_0x5eecda(0x12f)),_0xcb120d=JSON[_0x5eecda(0x13b)](_0x5ad2e0);if(_0xcb120d?.[_0x5eecda(0x19d)]&&typeof _0xcb120d[_0x5eecda(0x19d)]==='object'){const _0x5d7244=[];for(const [_0x433c74,_0x30b6c4]of Object[_0x5eecda(0x123)](_0xcb120d[_0x5eecda(0x19d)])){_0x30b6c4?.[_0x5eecda(0x13e)]&&Array[_0x5eecda(0x14e)](_0x30b6c4[_0x5eecda(0x13e)])&&_0x30b6c4[_0x5eecda(0x13e)][_0x5eecda(0x14f)](_0x378c47=>typeof _0x378c47===_0x5eecda(0x197)&&_0x378c47[_0x5eecda(0x160)](_0x5eecda(0x15b)))&&_0x5d7244[_0x5eecda(0x18f)](_0x433c74);}for(const _0x1201ad of _0x5d7244){delete _0xcb120d['mcpServers'][_0x1201ad];}return _0x5d7244['length']>0x0&&writeFileSync(_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)],JSON[_0x5eecda(0x11f)](_0xcb120d,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':_0x5eecda(0x11b)+_0x5d7244[_0x5eecda(0x13c)](',\x20')+_0x5eecda(0x138)+_0x3d8815[_0x5eecda(0x187)][_0x5eecda(0x152)]};}return{'step':0x4,'label':_0x5eecda(0x15f),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x2f5fbc){return{'step':0x4,'label':_0x5eecda(0x15f),'ok':![],'detail':_0x2f5fbc[_0x5eecda(0x136)]};}}function execSkillsRemove(_0x2e6d8f,_0x5d0f3c){const _0x582cd7=a102_0x17c204,_0x4ea073=runNpxSkillsRemove(_0x2e6d8f,{'stdio':_0x582cd7(0x131),'yes':_0x5d0f3c});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x4ea073['ok'],'detail':_0x4ea073['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4ea073['error']??_0x582cd7(0x12e)+_0x4ea073[_0x582cd7(0x176)]};}function a102_0x22a1(){const _0x138839=['Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','not\x20found\x20(will\x20create)','already\x20exists\x20(will\x20merge)','FOUND','Upgrade\x20completed\x20successfully!','1586980eQVQvz','Upgrade\x20@lovrabet/sdk','7aJGGiZ','@lovrabet/sdk','oldMcpConfig','label','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','failed','white','needed','fields','push','no\x20legacy\x20entry','info','sdkUpgrade','yellow','\x20\x20Current\x20version\x20in\x20','\x20\x20Step\x20','\x20\x20Action:\x20delete','string','values','Skill\x20swap:','Step\x204/7:\x20Cleaning\x20MCP\x20config...','log','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','mcpServers','Proceed\x20with\x20upgrade?','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','removed\x20','255261riLqLO','\x20\x20#\x20or','devDependencies','stringify','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','Remove\x20.lovrabet/','352722WWwvpm','entries','oldPath','done','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20npm\x20install','green','Install\x20new\x20skill','Remove\x20legacy\x20artifacts','cwd','lovrabet/rabetbase\x20installed\x20globally','latest','exit\x20','utf8','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','inherit','Legacy\x20artifacts:','keys','oldArtifacts','succeed','message','cyan','\x20from\x20','\x20removed\x20(','24isoLdc','parse','join','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','args','.bak','package.json','2CXihOx','not\x20found\x20or\x20already\x20at\x20latest','yes','\x20\x20Fields\x20to\x20migrate:\x20','length','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','skipped','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20→\x20latest','files','Config\x20file:','17857730TFrmmk','isArray','some','start','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','path','.cursor/rules/lovrabet_rules.mdc','configMigration','Step\x205/7:\x20Removing\x20old\x20skill...','6181784xZaiaZ','fail','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','detail','lovrabet/rabetbase','@lovrabet/dataset-mcp-server','gray','not\x20needed','hasNewConfig','Clean\x20MCP\x20config','includes','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Config\x20migration','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','object','\x20\x20New\x20config\x20(.rabetbase.json):\x20','5186340lCcVWW','\x20→\x20keys:\x20','red','bold','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20removed','skipped\x20(no\x20legacy\x20config)','@lovrabet/sdk:','filter','none\x20found','1886064BQDJRt','Step\x201/7:\x20Config\x20migration\x20—\x20','Upgrade\x20cancelled.','.lovrabet','error','Step\x201/7:\x20Migrating\x20config...','status','\x20\x20bun\x20install','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20→\x20','CANCEL','.claude/skills/lovrabet'];a102_0x22a1=function(){return _0x138839;};return a102_0x22a1();}function execSkillsAdd(_0xcef24f,_0x2ecafb){const _0x456967=a102_0x17c204,_0xaa2f05=runNpxSkillsAddGlobal(_0xcef24f,_0x456967(0x15a),{'stdio':_0x456967(0x131),'yes':_0x2ecafb});return{'step':0x6,'label':_0x456967(0x129),'ok':_0xaa2f05['ok'],'detail':_0xaa2f05['ok']?_0x456967(0x12c):_0xaa2f05[_0x456967(0x174)]??_0x456967(0x12e)+_0xaa2f05[_0x456967(0x176)]};}function execUpgradeSdk(_0x3bad58){const _0xd20bec=a102_0x17c204;if(!_0x3bad58['sdkUpgrade'])return{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0xd20bec(0x16a)};const {pkgPath:_0x471060,currentVersion:_0x209d3c,field:_0x4b1516}=_0x3bad58[_0xd20bec(0x192)];try{const _0x483f3a=readFileSync(_0x471060,_0xd20bec(0x12f)),_0x8c54df=JSON[_0xd20bec(0x13b)](_0x483f3a);return _0x8c54df[_0x4b1516][_0xd20bec(0x186)]=_0xd20bec(0x12d),writeFileSync(_0x471060,JSON[_0xd20bec(0x11f)](_0x8c54df,null,0x2)+'\x0a',_0xd20bec(0x12f)),{'step':0x7,'label':_0xd20bec(0x184),'ok':!![],'detail':_0x4b1516+_0xd20bec(0x126)+_0x209d3c+_0xd20bec(0x14a)};}catch(_0x200209){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x200209['message']};}}function tryStat(_0x2c76cc){try{return statSync(_0x2c76cc);}catch{return undefined;}}function printSummary(_0x251015){const _0x411978=a102_0x17c204;console[_0x411978(0x19b)](''),console[_0x411978(0x19b)](a102_0x21c6d6['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x411978(0x19b)]('');for(const _0xa23b68 of _0x251015){const _0x6a43af=_0xa23b68['ok']?a102_0x21c6d6[_0x411978(0x128)]('OK'):a102_0x21c6d6[_0x411978(0x168)]('FAIL');console[_0x411978(0x19b)]('\x20\x20'+_0x6a43af+_0x411978(0x195)+_0xa23b68['step']+':\x20'+_0xa23b68[_0x411978(0x188)]);if(_0xa23b68[_0x411978(0x159)])console[_0x411978(0x19b)](_0x411978(0x147)+a102_0x21c6d6[_0x411978(0x15c)](_0xa23b68[_0x411978(0x159)]));}console[_0x411978(0x19b)]('');}export async function upgradeApp(_0x214841,_0x4049a2){const _0x36324c=a102_0x17c204,_0xf408a8=process[_0x36324c(0x12b)](),_0x3a0a2f=analyse(_0xf408a8),_0x27684f=!_0x3a0a2f[_0x36324c(0x154)]&&_0x3a0a2f[_0x36324c(0x134)][_0x36324c(0x145)]===0x0&&!_0x3a0a2f[_0x36324c(0x187)]&&!_0x3a0a2f['needsSkillSwap']&&!_0x3a0a2f[_0x36324c(0x192)];if(_0x27684f){console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x128)](_0x36324c(0x120)));return;}printReport(_0x3a0a2f);const _0x3c13c7=!!(_0x4049a2[_0x36324c(0x143)]||_0x4049a2['Y']||_0x214841);if(!_0x3c13c7)try{const _0x472879=await askConfirm(_0x36324c(0x119));if(!_0x472879){console['log'](a102_0x21c6d6[_0x36324c(0x15c)]('Upgrade\x20cancelled.'));return;}}catch(_0x2f4110){if(_0x2f4110?.[_0x36324c(0x136)]===_0x36324c(0x17a)){console['log'](a102_0x21c6d6[_0x36324c(0x15c)](_0x36324c(0x172)));return;}throw _0x2f4110;}const _0x1ca150=[],_0x397972=a102_0x3257de({'text':_0x36324c(0x175),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0xc785d1=execConfigMigration(_0x3a0a2f,_0xf408a8);_0x1ca150[_0x36324c(0x18f)](_0xc785d1),_0x397972[_0xc785d1['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x171)+(_0xc785d1['detail']??(_0xc785d1['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0xa0fcce=resolve(_0xf408a8,'.lovrabet'),_0x13c1d3=a102_0x3257de({'text':_0x36324c(0x163),'color':_0x36324c(0x137)})['start']();if(existsSync(_0xa0fcce))try{rmSync(_0xa0fcce,{'recursive':!![],'force':!![]}),_0x13c1d3[_0x36324c(0x135)](_0x36324c(0x18a)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':!![]});}catch(_0x2fd7c2){_0x13c1d3[_0x36324c(0x157)](_0x36324c(0x151)+_0x2fd7c2[_0x36324c(0x136)]),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':_0x36324c(0x121),'ok':![],'detail':_0x2fd7c2[_0x36324c(0x136)]});}else _0x13c1d3[_0x36324c(0x191)](_0x36324c(0x13d)),_0x1ca150[_0x36324c(0x18f)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x36324c(0x148)});const _0x1284ce=a102_0x3257de({'text':_0x36324c(0x149),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5acc74=execRemoveOldArtifacts(_0x3a0a2f['oldArtifacts']);_0x1ca150[_0x36324c(0x18f)](_0x5acc74),_0x1284ce[_0x5acc74['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x146)+(_0x5acc74['detail']??(_0x5acc74['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x259dbd=a102_0x3257de({'text':_0x36324c(0x19a),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x3abf61=execCleanMcp(_0x3a0a2f);_0x1ca150['push'](_0x3abf61),_0x259dbd[_0x3abf61['ok']?'succeed':_0x36324c(0x157)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x3abf61[_0x36324c(0x159)]??(_0x3abf61['ok']?'done':_0x36324c(0x18b))));const _0x49abcf=a102_0x3257de({'text':_0x36324c(0x155),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1e026b=execSkillsRemove(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1e026b),_0x49abcf[_0x1e026b['ok']?'succeed':_0x36324c(0x157)](_0x36324c(0x11a)+(_0x1e026b[_0x36324c(0x159)]??(_0x1e026b['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x279281=a102_0x3257de({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x1b1ca7=execSkillsAdd(_0xf408a8,_0x3c13c7);_0x1ca150[_0x36324c(0x18f)](_0x1b1ca7),_0x279281[_0x1b1ca7['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x158)+(_0x1b1ca7['detail']??(_0x1b1ca7['ok']?_0x36324c(0x125):_0x36324c(0x18b))));const _0x57747d=a102_0x3257de({'text':_0x36324c(0x17d),'color':_0x36324c(0x137)})[_0x36324c(0x150)](),_0x5cefaf=execUpgradeSdk(_0x3a0a2f);_0x1ca150[_0x36324c(0x18f)](_0x5cefaf),_0x57747d[_0x5cefaf['ok']?_0x36324c(0x135):_0x36324c(0x157)](_0x36324c(0x178)+(_0x5cefaf[_0x36324c(0x159)]??(_0x5cefaf['ok']?_0x36324c(0x125):_0x36324c(0x18b)))),printSummary(_0x1ca150);const _0x805f90=_0x1ca150['some'](_0x4c5d95=>!_0x4c5d95['ok']);_0x805f90?console['log'](a102_0x21c6d6[_0x36324c(0x193)](_0x36324c(0x130))):console[_0x36324c(0x19b)](a102_0x21c6d6['green'](_0x36324c(0x182))),_0x5cefaf['ok']&&_0x3a0a2f[_0x36324c(0x192)]&&(console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x169)][_0x36324c(0x137)](_0x36324c(0x17e))),console['log'](a102_0x21c6d6['cyan'](_0x36324c(0x17c))),console[_0x36324c(0x19b)](''),console[_0x36324c(0x19b)](a102_0x21c6d6['white'](_0x36324c(0x127))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x11d))),console[_0x36324c(0x19b)](a102_0x21c6d6[_0x36324c(0x18c)](_0x36324c(0x177))),console[_0x36324c(0x19b)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a103_0x5afa2b=a103_0x4a7f;(function(_0x4f8199,_0x1663a6){const _0x4f04bb=a103_0x4a7f,_0x1ab727=_0x4f8199();while(!![]){try{const _0x1ade0d=parseInt(_0x4f04bb(0x161))/0x1+-parseInt(_0x4f04bb(0x15e))/0x2+parseInt(_0x4f04bb(0x15c))/0x3+parseInt(_0x4f04bb(0x172))/0x4+-parseInt(_0x4f04bb(0x14a))/0x5*(parseInt(_0x4f04bb(0x15f))/0x6)+-parseInt(_0x4f04bb(0x14b))/0x7+-parseInt(_0x4f04bb(0x15b))/0x8;if(_0x1ade0d===_0x1663a6)break;else _0x1ab727['push'](_0x1ab727['shift']());}catch(_0x3ac56c){_0x1ab727['push'](_0x1ab727['shift']());}}}(a103_0x4c60,0x2534a));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a103_0x4a7f(_0x20d901,_0x340011){_0x20d901=_0x20d901-0x146;const _0x4c6082=a103_0x4c60();let _0x4a7f50=_0x4c6082[_0x20d901];return _0x4a7f50;}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(_0x57d853){const _0x1b62f7=a103_0x4a7f;for(const _0xb51a77 of _0x57d853){definitions[_0x1b62f7(0x167)](_0xb51a77[_0x1b62f7(0x16e)]+':'+_0xb51a77['command'],_0xb51a77);let _0x5b825b=serviceGroups[_0x1b62f7(0x158)](_0xb51a77[_0x1b62f7(0x16e)]);!_0x5b825b&&(_0x5b825b=[],serviceGroups[_0x1b62f7(0x167)](_0xb51a77[_0x1b62f7(0x16e)],_0x5b825b)),_0x5b825b[_0x1b62f7(0x173)](_0xb51a77);}}function a103_0x4c60(){const _0x2eea43=['924352kwCyiN','push','from','Code\x20Generation','values','Logs','5vhgoUC','827036aJiIOE','preview','Data\x20Query','Diagnostics','defaultCommand','Self\x20Update','login','project','Menu','SQL\x20Queries','Authentication','Project','Configuration','get','Run\x20Scripts','Schema','2538416IpwrHS','718710eSVxBv','description','162936WccoZC','275034fIcEaV','show','244493oekXyn','start','skill','Quick\x20Start','isSingleCommand','Database\x20Connections','set','install','build','run','Skills','create','write','service','logout','command','wildcardDef'];a103_0x4c60=function(){return _0x2eea43;};return a103_0x4c60();}function registerDeclarativeService(_0x2c30f,_0x509462,_0x36fa49){const _0x5dc272=a103_0x4a7f;registerDefinitions(_0x509462);_0x36fa49?.[_0x5dc272(0x171)]&®isterDefinitions([_0x36fa49[_0x5dc272(0x171)]]);const _0x4d18a7=_0x2dc6b1=>_0x2dc6b1==='read'?'':_0x2dc6b1===_0x5dc272(0x16d)?'\x20\x20[write]':'\x20\x20[high-risk-write]',_0x157f8b={'service':_0x509462[0x0][_0x5dc272(0x16e)],'label':_0x2c30f,'commands':_0x509462['map'](_0xead456=>({'command':_0xead456[_0x5dc272(0x170)],'description':_0xead456[_0x5dc272(0x15d)],'tag':_0x4d18a7(_0xead456['risk'])})),'declarative':!![],'defaultCommand':_0x36fa49?.[_0x5dc272(0x14f)]??(_0x36fa49?.[_0x5dc272(0x165)]?_0x509462[0x0][_0x5dc272(0x170)]:undefined),'wildcardDef':_0x36fa49?.[_0x5dc272(0x171)],'isSingleCommand':_0x36fa49?.[_0x5dc272(0x165)]};serviceRegistry['push'](_0x157f8b),serviceByName[_0x5dc272(0x167)](_0x157f8b[_0x5dc272(0x16e)],_0x157f8b);}registerDeclarativeService(a103_0x5afa2b(0x164),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x156),projectDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a103_0x5afa2b(0x159),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':''}];}registerDeclarativeService(a103_0x5afa2b(0x155),authDefinitions,{'defaultCommand':a103_0x5afa2b(0x151)}),registerDeclarativeService(a103_0x5afa2b(0x150),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x14e),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x15a),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a103_0x5afa2b(0x157),configDefinitions),registerDeclarativeService('API',apiDefinitions),registerDeclarativeService(a103_0x5afa2b(0x153),menuDefinitions),registerDeclarativeService(a103_0x5afa2b(0x166),dbDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Pages',pageDefinitions),registerDeclarativeService(a103_0x5afa2b(0x14d),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a103_0x5afa2b(0x154),sqlDefinitions),registerDeclarativeService(a103_0x5afa2b(0x147),codegenDefinitions),registerDeclarativeService(a103_0x5afa2b(0x16b),skillDefinitions),registerDeclarativeService(a103_0x5afa2b(0x149),logsDefinitions,{'defaultCommand':a103_0x5afa2b(0x160)});export const deprecatedAliases={'create':{'service':a103_0x5afa2b(0x152),'command':a103_0x5afa2b(0x16c)},'start':{'service':'run','command':a103_0x5afa2b(0x162)},'build':{'service':a103_0x5afa2b(0x16a),'command':a103_0x5afa2b(0x169)},'preview':{'service':a103_0x5afa2b(0x16a),'command':a103_0x5afa2b(0x14c)},'logout':{'service':'auth','command':a103_0x5afa2b(0x16f)},'skills':{'service':a103_0x5afa2b(0x163),'command':a103_0x5afa2b(0x168)}};export const deprecatedSubcommands={'bff':{'new':a103_0x5afa2b(0x16c)},'sql':{'new':a103_0x5afa2b(0x16c)}};export function resolveDeprecatedSubcommand(_0x3ba2ce,_0x510c2d){return deprecatedSubcommands[_0x3ba2ce]?.[_0x510c2d];}export function findDefinition(_0x2af6b0,_0x4a8ce){const _0x215ed5=a103_0x5afa2b;return definitions[_0x215ed5(0x158)](_0x2af6b0+':'+_0x4a8ce);}export function isKnownService(_0x694aec){return serviceByName['has'](_0x694aec);}export function isDeclarativeService(_0x3b1dd5){const _0x3f4a8c=a103_0x5afa2b;return serviceGroups['has'](_0x3b1dd5)||serviceByName[_0x3f4a8c(0x158)](_0x3b1dd5)?.[_0x3f4a8c(0x171)]!==undefined;}export function getServiceEntry(_0x403fd5){const _0x59c37c=a103_0x5afa2b;return serviceByName[_0x59c37c(0x158)](_0x403fd5);}export function getLegacyHandler(_0xa50b76,_0x1e6e83){return undefined;}export function getAllDefinitions(){const _0x58df5c=a103_0x5afa2b;return Array[_0x58df5c(0x146)](definitions[_0x58df5c(0x148)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a104_0xa210dd=a104_0x24c8;(function(_0x4c5aa7,_0x2e0371){const _0x5a1e7d=a104_0x24c8,_0x3f25b7=_0x4c5aa7();while(!![]){try{const _0x7bfa00=-parseInt(_0x5a1e7d(0x12c))/0x1+parseInt(_0x5a1e7d(0x118))/0x2+-parseInt(_0x5a1e7d(0x130))/0x3*(-parseInt(_0x5a1e7d(0x129))/0x4)+parseInt(_0x5a1e7d(0x120))/0x5+-parseInt(_0x5a1e7d(0xf8))/0x6+-parseInt(_0x5a1e7d(0x11c))/0x7+parseInt(_0x5a1e7d(0x114))/0x8*(parseInt(_0x5a1e7d(0x113))/0x9);if(_0x7bfa00===_0x2e0371)break;else _0x3f25b7['push'](_0x3f25b7['shift']());}catch(_0x48fb73){_0x3f25b7['push'](_0x3f25b7['shift']());}}}(a104_0xfbbf,0xd4501));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a104_0xa210dd(0xfe),a104_0xa210dd(0x11b)]);function readPackageScripts(_0x44772a){const _0x11f53c=a104_0xa210dd,_0x32eb48=resolve(_0x44772a,_0x11f53c(0x127));if(!existsSync(_0x32eb48))return null;try{const _0x599079=JSON['parse'](readFileSync(_0x32eb48,_0x11f53c(0x126)));return _0x599079['scripts']??{};}catch{return null;}}function detectPackageManager(_0x3a7d00){const _0x30e57d=a104_0xa210dd;if(existsSync(resolve(_0x3a7d00,'bun.lockb'))||existsSync(resolve(_0x3a7d00,_0x30e57d(0x10a))))return _0x30e57d(0x102);if(existsSync(resolve(_0x3a7d00,'pnpm-lock.yaml')))return _0x30e57d(0x10c);if(existsSync(resolve(_0x3a7d00,_0x30e57d(0x106))))return _0x30e57d(0x107);return _0x30e57d(0x123);}async function versionCheck(_0x1bfaba){const _0x552c03=a104_0xa210dd,_0x36a4eb=await checkCliVersion();(_0x36a4eb[_0x552c03(0xf7)]||_0x36a4eb['belowMinimum'])&&(printCliUpgradeWarning(_0x36a4eb),assertCliVersionSupported(_0x36a4eb));const _0x4ae85d=await checkSdkVersion(_0x1bfaba);if(_0x4ae85d[_0x552c03(0xf7)])printSdkUpgradeWarning(_0x4ae85d);}function a104_0xfbbf(){const _0x1c4e15=['8kfCDvZ','run','\x20\x20AVAILABLE\x20SCRIPTS\x20\x20(current\x20project)','\x20run\x20start','410882RHkLXt','boolean','\x20\x20\x20\x20','dev','11580359eFZdlq','Script\x20name\x20defined\x20in\x20package.json','\x20\x20EXAMPLES','max','2788060wEuMUL','node_modules','map','npm','.bin','--watch','utf-8','package.json','error','4BDkdiO','Run\x20a\x20package.json\x20script','\x20run\x20preview','1378450CeAHHC','preview','Enable\x20watch\x20mode\x20for\x20preview','length','543003WqkOJf','\x20run\x20preview\x20--watch\x20\x20\x20#\x20parallel\x20build\x20--watch\x20+\x20preview','log','cwd','validation','padEnd','bool','keys','\x22\x20not\x20found\x20in\x20package.json.','entries','inherit','needsUpgrade','9810066NQHete','join','script','has','\x0a\x20\x20Usage:\x20','vite\x20preview\x20exited\x20with\x20code\x20','start','Script\x20\x22','vite','Available:\x20','bun','\x0a\x20\x20Available\x20scripts:\x0a','No\x20scripts\x20defined\x20in\x20package.json.','close','yarn.lock','yarn','\x20run\x20<script>\x0a','build','bun.lock','slice','pnpm','all','\x20exited\x20with\x20code\x20','push','watch','\x20run\x20','args','41340393cMEcRP'];a104_0xfbbf=function(){return _0x1c4e15;};return a104_0xfbbf();}function spawnScript(_0x454ad7,_0x3ba664,_0x39cf2b,_0x2658db){return new Promise((_0x5e3a9b,_0x1d304d)=>{const _0x23eefd=a104_0x24c8,_0x1e5df0=['run',_0x3ba664,..._0x39cf2b],_0x331786=spawn(_0x454ad7,_0x1e5df0,{'cwd':_0x2658db,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x2658db,_0x23eefd(0x121),_0x23eefd(0x124))+delimiter+process.env.PATH}});_0x331786['on'](_0x23eefd(0x105),_0x8b0f36=>{const _0x400f5e=_0x23eefd;if(_0x8b0f36===0x0||_0x8b0f36===null)_0x5e3a9b();else _0x1d304d(new Error(_0x454ad7+_0x400f5e(0x111)+_0x3ba664+_0x400f5e(0x10e)+_0x8b0f36));}),_0x331786['on'](_0x23eefd(0x128),_0x1d304d);});}function a104_0x24c8(_0x5e55f3,_0x2f4d6d){_0x5e55f3=_0x5e55f3-0xf3;const _0xfbbfdc=a104_0xfbbf();let _0x24c8dd=_0xfbbfdc[_0x5e55f3];return _0x24c8dd;}function spawnViteBuildWatch(_0x418208){return new Promise((_0x272444,_0x3afc10)=>{const _0x5a9204=a104_0x24c8,_0x2117f4=spawn(_0x5a9204(0x100),[_0x5a9204(0x109),_0x5a9204(0x125)],{'cwd':_0x418208,'stdio':_0x5a9204(0xf6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x418208,'node_modules',_0x5a9204(0x124))+delimiter+process.env.PATH}});_0x2117f4['on'](_0x5a9204(0x105),_0x1d3f8e=>{if(_0x1d3f8e===0x0||_0x1d3f8e===null)_0x272444();else _0x3afc10(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x1d3f8e));}),_0x2117f4['on'](_0x5a9204(0x128),_0x3afc10);});}function spawnVitePreview(_0x354938){return new Promise((_0x32c32d,_0x199305)=>{const _0x31b303=a104_0x24c8,_0x450976=spawn(_0x31b303(0x100),['preview'],{'cwd':_0x354938,'stdio':_0x31b303(0xf6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x354938,_0x31b303(0x121),_0x31b303(0x124))+delimiter+process.env.PATH}});_0x450976['on'](_0x31b303(0x105),_0xd4e4ec=>{const _0x1f5d5a=_0x31b303;if(_0xd4e4ec===0x0||_0xd4e4ec===null)_0x32c32d();else _0x199305(new Error(_0x1f5d5a(0xfd)+_0xd4e4ec));}),_0x450976['on'](_0x31b303(0x128),_0x199305);});}const runFlags=[{'name':a104_0xa210dd(0x110),'type':a104_0xa210dd(0x119),'description':a104_0xa210dd(0x12e),'default':![]}];export const runDefinition={'service':a104_0xa210dd(0x115),'command':a104_0xa210dd(0x115),'description':a104_0xa210dd(0x12a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a104_0xa210dd(0xfa),'description':a104_0xa210dd(0x11d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x16dab8=a104_0xa210dd,_0x1ff0f5=readPackageScripts(process[_0x16dab8(0x133)]()),_0x10020c=[];if(_0x1ff0f5&&Object[_0x16dab8(0xf3)](_0x1ff0f5)[_0x16dab8(0x12f)]>0x0){const _0x5e8d98=Object[_0x16dab8(0xf3)](_0x1ff0f5),_0x49b598=Math[_0x16dab8(0x11f)](..._0x5e8d98[_0x16dab8(0x122)](_0x2bb5b8=>_0x2bb5b8[_0x16dab8(0x12f)]));_0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x116));for(const [_0x1b1038,_0x6bedd3]of Object[_0x16dab8(0xf5)](_0x1ff0f5)){_0x10020c['push'](_0x16dab8(0x11a)+CLI_BIN_NAME+_0x16dab8(0x111)+_0x1b1038['padEnd'](_0x49b598+0x2)+'#\x20'+_0x6bedd3);}}else _0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x11e)),_0x10020c[_0x16dab8(0x10f)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x16dab8(0x117)),_0x10020c[_0x16dab8(0x10f)](_0x16dab8(0x11a)+CLI_BIN_NAME+'\x20run\x20build'),_0x10020c['push'](_0x16dab8(0x11a)+CLI_BIN_NAME+_0x16dab8(0x12b)),_0x10020c['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x16dab8(0x131));return _0x10020c['join']('\x0a');},async 'execute'(_0x1b5d84){const _0x179fcf=a104_0xa210dd,_0x453458=process[_0x179fcf(0x133)](),_0xed5863=_0x1b5d84[_0x179fcf(0x112)][0x0],_0x480e33=_0x1b5d84[_0x179fcf(0x112)][_0x179fcf(0x10b)](0x1),_0x2c2f68=readPackageScripts(_0x453458);if(!_0x2c2f68)throw CliErrors['validation']('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0xed5863){const _0x11a791=Object[_0x179fcf(0xf3)](_0x2c2f68);if(_0x11a791[_0x179fcf(0x12f)]===0x0)console[_0x179fcf(0x132)](_0x179fcf(0x104));else{console[_0x179fcf(0x132)](_0x179fcf(0x103));const _0x435adb=Math[_0x179fcf(0x11f)](..._0x11a791[_0x179fcf(0x122)](_0x37c7a0=>_0x37c7a0[_0x179fcf(0x12f)]));for(const [_0x19e4d4,_0x2fb5d9]of Object['entries'](_0x2c2f68)){console[_0x179fcf(0x132)](_0x179fcf(0x11a)+_0x19e4d4[_0x179fcf(0x135)](_0x435adb+0x2)+_0x2fb5d9);}console[_0x179fcf(0x132)](_0x179fcf(0xfc)+CLI_BIN_NAME+_0x179fcf(0x108));}return{'ok':!![]};}if(!_0x2c2f68[_0xed5863])throw CliErrors[_0x179fcf(0x134)](_0x179fcf(0xff)+_0xed5863+_0x179fcf(0xf4),_0x179fcf(0x101)+(Object['keys'](_0x2c2f68)[_0x179fcf(0xf9)](',\x20')||'(none)'));const _0x205f87=detectPackageManager(_0x453458);VERSION_CHECK_SCRIPTS[_0x179fcf(0xfb)](_0xed5863)&&await versionCheck(_0x453458);if(_0xed5863===_0x179fcf(0x12d)&&_0x1b5d84[_0x179fcf(0x136)]('watch'))return await Promise[_0x179fcf(0x10d)]([spawnViteBuildWatch(_0x453458),spawnVitePreview(_0x453458)]),{'ok':!![]};return await spawnScript(_0x205f87,_0xed5863,_0x480e33,_0x453458),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a105_0x4a7932=a105_0x4f65;function a105_0x49a7(){const _0xd98088=['27898464hjNiHg','1654967yHPWEw','json','Export\x20machine-readable\x20command\x20schema\x20(JSON)','schema','6hCBKXY','1760MFYxTs','4xOXtBS','533818HnJTpu','41319wOsYRU','376978QGQVML','5250117iovUfK','9381455cRfCua','128NgkMQC'];a105_0x49a7=function(){return _0xd98088;};return a105_0x49a7();}(function(_0x3f3fc3,_0x48ae2b){const _0x1ffbd1=a105_0x4f65,_0x3446bd=_0x3f3fc3();while(!![]){try{const _0x33cabd=-parseInt(_0x1ffbd1(0xbc))/0x1+parseInt(_0x1ffbd1(0xb5))/0x2+-parseInt(_0x1ffbd1(0xb8))/0x3*(-parseInt(_0x1ffbd1(0xb4))/0x4)+-parseInt(_0x1ffbd1(0xb9))/0x5*(parseInt(_0x1ffbd1(0xb2))/0x6)+parseInt(_0x1ffbd1(0xb7))/0x7*(-parseInt(_0x1ffbd1(0xba))/0x8)+-parseInt(_0x1ffbd1(0xb6))/0x9*(-parseInt(_0x1ffbd1(0xb3))/0xa)+parseInt(_0x1ffbd1(0xbb))/0xb;if(_0x33cabd===_0x48ae2b)break;else _0x3446bd['push'](_0x3446bd['shift']());}catch(_0x3a3902){_0x3446bd['push'](_0x3446bd['shift']());}}}(a105_0x49a7,0xec64a));import{buildSchemaPayload}from'../framework/schema-export.js';function a105_0x4f65(_0x4fa3ad,_0x1f5243){_0x4fa3ad=_0x4fa3ad-0xb0;const _0x49a787=a105_0x49a7();let _0x4f656a=_0x49a787[_0x4fa3ad];return _0x4f656a;}async function execute(_0x1b2a7d){const _0x28d3c9=await buildSchemaPayload();return{'ok':!![],'data':_0x28d3c9};}export const schemaDefinition={'service':a105_0x4a7932(0xb1),'command':'export','description':a105_0x4a7932(0xb0),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a105_0x4a7932(0xbd),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a106_0x122fe4=a106_0x22fb;function a106_0x22fb(_0x23608c,_0x3c14ea){_0x23608c=_0x23608c-0x88;const _0x584051=a106_0x5840();let _0x22fbc0=_0x584051[_0x23608c];return _0x22fbc0;}(function(_0x5fdfe9,_0x34fb9c){const _0x34a77e=a106_0x22fb,_0x98f49f=_0x5fdfe9();while(!![]){try{const _0x2461c8=parseInt(_0x34a77e(0x99))/0x1+parseInt(_0x34a77e(0x9f))/0x2+-parseInt(_0x34a77e(0x8a))/0x3*(-parseInt(_0x34a77e(0x98))/0x4)+-parseInt(_0x34a77e(0x8f))/0x5*(parseInt(_0x34a77e(0x92))/0x6)+parseInt(_0x34a77e(0xa2))/0x7*(-parseInt(_0x34a77e(0x8d))/0x8)+-parseInt(_0x34a77e(0x88))/0x9*(parseInt(_0x34a77e(0xa1))/0xa)+parseInt(_0x34a77e(0x9b))/0xb*(parseInt(_0x34a77e(0x91))/0xc);if(_0x2461c8===_0x34fb9c)break;else _0x98f49f['push'](_0x98f49f['shift']());}catch(_0x449cce){_0x98f49f['push'](_0x98f49f['shift']());}}}(a106_0x5840,0xcaef6));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';function a106_0x5840(){const _0x37fbf6=['npx\x20skills\x20add\x20failed:\x20','Check\x20network\x20connectivity\x20and\x20try\x20again.','inherit','256MRbgVU','600909PrvyHn','\x20skill\x20installed','7810396cVJTfV','log','Skipped\x20npx\x20(RABETBASE_SKIP_NPX_SKILLS=1);\x20assuming\x20skill\x20is\x20already\x20present.','apiError','1268418ucMFIB','pipe','234810doiIGf','7480690ALPfmK','72aEZYEM','../../skills/npx-skills-add.js','31524dcwGmz','install','write','8IRQoQG','Installing\x20official\x20skill\x20via\x20npx\x20(','10oFUyVF',')...','12yMfpBs','1589778zJblwG','cwd','lovrabet/rabetbase'];a106_0x5840=function(){return _0x37fbf6;};return a106_0x5840();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE}from'../../skills/npx-skills-add.js';export const skillDefinitions=[{'service':'skill','command':a106_0x122fe4(0x8b),'description':'Install\x20developer\x20skill\x20package','risk':a106_0x122fe4(0x8c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x119890){const _0xe0f57b=a106_0x122fe4;logger['setLogPath'](process[_0xe0f57b(0x93)]()),logger['info']('skill-install','执行安装技能包命令(委托给\x20npx\x20skills\x20add\x20-g\x20-y)');const {runNpxSkillsAddGlobal:_0x1e23eb}=await import(_0xe0f57b(0x89)),_0x3858d2=_0x119890['nonInteractive']?_0xe0f57b(0xa0):_0xe0f57b(0x97);console[_0xe0f57b(0x9c)](_0xe0f57b(0x8e)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+_0xe0f57b(0x90));const _0x547bc1=_0x1e23eb(process['cwd'](),_0xe0f57b(0x94),{'stdio':_0x3858d2});if(_0x547bc1['skipped'])console[_0xe0f57b(0x9c)](_0xe0f57b(0x9d));else{if(_0x547bc1['ok'])console[_0xe0f57b(0x9c)](CLI_BIN_NAME+_0xe0f57b(0x9a));else throw CliErrors[_0xe0f57b(0x9e)](_0xe0f57b(0x95)+(_0x547bc1['error']||'unknown'),_0xe0f57b(0x96));}return{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a103_0x1b4b9d=a103_0x4ec1;(function(_0x504216,_0x1da0a0){const _0x3ac522=a103_0x4ec1,_0x1c81fa=_0x504216();while(!![]){try{const _0xc987ff=parseInt(_0x3ac522(0xa5))/0x1*(parseInt(_0x3ac522(0xdc))/0x2)+-parseInt(_0x3ac522(0xb3))/0x3*(-parseInt(_0x3ac522(0xca))/0x4)+parseInt(_0x3ac522(0xd1))/0x5+-parseInt(_0x3ac522(0xe7))/0x6*(parseInt(_0x3ac522(0xa9))/0x7)+-parseInt(_0x3ac522(0xc3))/0x8*(-parseInt(_0x3ac522(0xb1))/0x9)+parseInt(_0x3ac522(0xda))/0xa+-parseInt(_0x3ac522(0xab))/0xb*(parseInt(_0x3ac522(0xd5))/0xc);if(_0xc987ff===_0x1da0a0)break;else _0x1c81fa['push'](_0x1c81fa['shift']());}catch(_0x5396ec){_0x1c81fa['push'](_0x1c81fa['shift']());}}}(a103_0x5d25,0x5cefa));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x459993){const _0x30d975=a103_0x4ec1;if(_0x459993===_0x30d975(0xc0))return[_0x30d975(0xe1),_0x30d975(0xd0),_0x30d975(0xc9),''][_0x30d975(0xe2)]('\x0a');return[_0x30d975(0xbb),''][_0x30d975(0xe2)]('\x0a');}export const sqlCreate={'service':a103_0x1b4b9d(0xc1),'command':a103_0x1b4b9d(0xd3),'description':a103_0x1b4b9d(0xd8),'risk':'high-risk-write','flags':[{'name':a103_0x1b4b9d(0xe6),'type':'string','description':a103_0x1b4b9d(0xd4)},{'name':a103_0x1b4b9d(0xe5),'type':a103_0x1b4b9d(0xa4),'description':a103_0x1b4b9d(0xd7)},{'name':'mode','type':a103_0x1b4b9d(0xa7),'enum':[a103_0x1b4b9d(0xc1),a103_0x1b4b9d(0xc0)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x51eb17){const _0xbac690=a103_0x1b4b9d;if(!_0x51eb17[_0xbac690(0xb4)])return;if(!_0x51eb17[_0xbac690(0xac)](_0xbac690(0xe6))[_0xbac690(0xad)]())throw CliErrors[_0xbac690(0xb9)](_0xbac690(0xe6),_0xbac690(0xdb));const _0x29e24e=resolveProvidedDbId(_0x51eb17);if(typeof _0x29e24e!==_0xbac690(0xa4)||!Number[_0xbac690(0xa8)](_0x29e24e)||_0x29e24e<=0x0)throw CliErrors[_0xbac690(0xb9)]('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x51eb17[_0xbac690(0xac)](_0xbac690(0xc7))['trim']())throw CliErrors[_0xbac690(0xb9)]('mode',_0xbac690(0xb0));},async 'dryRun'(_0x5b4074){const _0x36bfc8=a103_0x1b4b9d,_0x333917=loadSqlProjectConfig(_0x5b4074['appCode']),{sqlName:_0x4ce74c,dbId:_0x215fed,dbName:_0x177fbd,mode:_0x1910d1}=await resolveSqlNewInputs(_0x5b4074),_0x594700=buildSqlRelativePath(_0x36bfc8(0xc8),_0x4ce74c,_0x177fbd,_0x1910d1,_0x215fed),_0x41a434=_0x333917[_0x36bfc8(0xaf)]+'/'+_0x594700;return{'method':_0x36bfc8(0xdd),'url':_0x36bfc8(0xa6),'body':{'appCode':_0x5b4074[_0x36bfc8(0xcf)],'sqlName':_0x4ce74c,'dbId':_0x215fed,'mode':_0x1910d1,'localPath':_0x41a434},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x333917[_0x36bfc8(0xaf)]};},async 'execute'(_0x4bb414){const _0x4fdad1=a103_0x1b4b9d,_0x533264=loadSqlProjectConfig(_0x4bb414[_0x4fdad1(0xcf)]),{sqlName:_0x2c353a,dbId:_0x1a444d,dbName:_0x28d9cd,mode:_0x455114}=await resolveSqlNewInputs(_0x4bb414),_0x544ad4=generateSqlTemplate(_0x455114),_0x49cc60=await createSqlQuery({'appCode':_0x4bb414[_0x4fdad1(0xcf)],'sqlName':_0x2c353a,'dbId':_0x1a444d,'sqlContent':_0x544ad4}),_0x14942c=ensureRemoteSqlContent(_0x49cc60),_0x396dd2=_0x28d9cd||await getDbName(_0x4bb414[_0x4fdad1(0xcf)],_0x1a444d)[_0x4fdad1(0xc4)](()=>undefined),_0x2a5456=buildSqlRelativePath(_0x49cc60['sqlCode'],_0x49cc60[_0x4fdad1(0xba)],_0x396dd2,_0x455114,_0x1a444d),_0x291633=_0x533264[_0x4fdad1(0xaf)]+'/'+_0x2a5456,_0x1a44d8=buildLocalSqlFileContent({'sqlCode':_0x49cc60['sqlCode'],'sqlName':_0x49cc60['sqlName'],'dbId':_0x49cc60[_0x4fdad1(0xde)]},_0x14942c,{'dbName':_0x396dd2,'mode':_0x455114,'syncedAt':new Date()[_0x4fdad1(0xbf)](),'description':_0x49cc60[_0x4fdad1(0xd6)]});if(await fileExists(_0x291633))throw CliErrors['validation'](_0x4fdad1(0xce)+_0x291633);await ensureParentDirectory(_0x291633),await writeFile(_0x291633,_0x1a44d8,_0x4fdad1(0xc2));const _0x1b1304=await readSqlLockFile(_0x533264[_0x4fdad1(0xae)]),{lockData:_0x2c0c43,appLock:_0x216140}=ensureSqlLockScope(_0x1b1304??createEmptySqlLock(),_0x533264[_0x4fdad1(0xcf)],_0x533264['sqlRoot'],_0x4fdad1(0xe4));return _0x216140[_0x4fdad1(0xb2)][_0x49cc60['sqlCode']]={...buildSqlLockEntry(_0x49cc60,_0x14942c,computeSqlContentHash(_0x1a44d8),{'dbName':_0x396dd2}),'path':_0x2a5456,'mode':_0x455114},_0x216140[_0x4fdad1(0xb7)]=new Date()[_0x4fdad1(0xbf)](),await writeSqlLockFile(_0x533264[_0x4fdad1(0xae)],_0x2c0c43),{'ok':!![],'data':{'id':_0x49cc60['id'],'sqlCode':_0x49cc60['sqlCode'],'sqlName':_0x49cc60[_0x4fdad1(0xba)],'dbId':_0x49cc60[_0x4fdad1(0xde)],'path':_0x291633,'mode':_0x455114},'message':'Created\x20SQL\x20query\x20'+_0x49cc60[_0x4fdad1(0xaa)]};}};async function resolveSqlNewInputs(_0x5e4829){const _0xa0ec64=await resolveSqlNameInput(_0x5e4829),{dbId:_0x721176,dbName:_0xc07f6d}=await resolveDbSelection(_0x5e4829),_0x19e67f=await resolveSqlModeInput(_0x5e4829);return{'sqlName':_0xa0ec64,'dbId':_0x721176,'dbName':_0xc07f6d,'mode':_0x19e67f};}async function resolveSqlNameInput(_0x1387c1){const _0x38e247=a103_0x1b4b9d,_0x33dec7=_0x1387c1[_0x38e247(0xac)](_0x38e247(0xe6))[_0x38e247(0xad)]();if(_0x33dec7)return _0x33dec7;if(_0x1387c1[_0x38e247(0xb4)])throw CliErrors[_0x38e247(0xb9)](_0x38e247(0xe6),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x38e247(0xbe),'validate':_0x456973=>_0x456973[_0x38e247(0xad)]()?!![]:'SQL\x20名称不能为空'}))[_0x38e247(0xad)]();}function a103_0x5d25(){const _0x49cd9d=['适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','number','414983zteRZQ','/smartapi/custom/saveUserCustomSql','string','isFinite','46298HHGNmC','sqlCode','103422TKezwl','str','trim','lockFilePath','sqlRootDir','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','846333tqyguz','sqls','605622kmgrwg','nonInteractive','parse','Invalid\x20database\x20selection\x20payload:\x20','lastSync','请选择本地\x20SQL\x20模式:','flagMissing','sqlName','SELECT\x201\x20AS\x20id;','请选择目标数据库:','flag','请输入\x20SQL\x20名称:','toISOString','mybatisXml','sql','utf8','40FKESZQ','catch','普通\x20SQL(sql)','validation','mode','<server-generated-sqlCode>','</select>','4jGOaEW','适合带动态标签的\x20MyBatis\x20XML\x20SQL','isInteger','✎\x20手动输入\x20dbId','File\x20already\x20exists:\x20','appCode','\x20\x20SELECT\x201\x20AS\x20id','980515kaBjxu','请输入目标数据库\x20dbId:','create','SQL\x20query\x20display\x20name','984TczwUl','description','Target\x20database\x20ID','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','stringify','5431130YjAgEK','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','2ISnUNf','POST','dbId','dbName','length','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','join','map','new','db-id','name','612ymXbbx','__manual__'];a103_0x5d25=function(){return _0x49cd9d;};return a103_0x5d25();}async function resolveDbSelection(_0xb05911){const _0x22ba18=a103_0x1b4b9d,_0x120f24=resolveProvidedDbId(_0xb05911);if(typeof _0x120f24===_0x22ba18(0xa4)&&Number[_0x22ba18(0xa8)](_0x120f24)&&_0x120f24>0x0)return{'dbId':_0x120f24,'dbName':await getDbName(_0xb05911[_0x22ba18(0xcf)],_0x120f24)[_0x22ba18(0xc4)](()=>undefined)};if(_0xb05911['nonInteractive'])throw CliErrors[_0x22ba18(0xb9)](_0x22ba18(0xe5),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x13fcde=await listDatabases(_0xb05911[_0x22ba18(0xcf)])[_0x22ba18(0xc4)](()=>[]);if(_0x13fcde[_0x22ba18(0xe0)]===0x1)return{'dbId':_0x13fcde[0x0][_0x22ba18(0xde)],'dbName':_0x13fcde[0x0]['dbName']};if(_0x13fcde['length']>0x1){const _0x32dda4=await select({'message':_0x22ba18(0xbc),'choices':[..._0x13fcde[_0x22ba18(0xe3)](_0x1175cf=>({'name':_0x1175cf[_0x22ba18(0xdf)]+'\x20('+_0x1175cf[_0x22ba18(0xde)]+')','value':serializeDbSelection(_0x1175cf)})),{'name':_0x22ba18(0xcd),'value':_0x22ba18(0xa2)}]});if(_0x32dda4!=='__manual__')return deserializeDbSelection(_0x32dda4);}const _0x53e7f0=await input({'message':_0x22ba18(0xd2),'validate':_0x293dde=>{const _0x4c8d97=_0x22ba18,_0x148286=_0x293dde[_0x4c8d97(0xad)]();if(!_0x148286)return'dbId\x20不能为空';const _0xb94c26=Number(_0x148286);if(!Number[_0x4c8d97(0xcc)](_0xb94c26)||_0xb94c26<=0x0)return'dbId\x20必须为正整数';return!![];}});return{'dbId':Number(_0x53e7f0['trim']())};}function a103_0x4ec1(_0x2a54bc,_0x2de46d){_0x2a54bc=_0x2a54bc-0xa2;const _0x5d25a8=a103_0x5d25();let _0x4ec195=_0x5d25a8[_0x2a54bc];return _0x4ec195;}async function resolveSqlModeInput(_0xbe18b8){const _0x240f36=a103_0x1b4b9d,_0x1626b9=_0xbe18b8[_0x240f36(0xac)]('mode')[_0x240f36(0xad)]();if(_0x1626b9==='sql'||_0x1626b9==='mybatisXml')return _0x1626b9;if(_0xbe18b8[_0x240f36(0xb4)])throw CliErrors[_0x240f36(0xb9)](_0x240f36(0xc7),_0x240f36(0xb0));return await select({'message':_0x240f36(0xb8),'choices':[{'name':_0x240f36(0xc5),'value':'sql','description':_0x240f36(0xa3)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x240f36(0xc0),'description':_0x240f36(0xcb)}]});}function serializeDbSelection(_0x310111){const _0x59e127=a103_0x1b4b9d;return JSON[_0x59e127(0xd9)]({'dbId':_0x310111[_0x59e127(0xde)],'dbName':_0x310111[_0x59e127(0xdf)]});}function deserializeDbSelection(_0x357bc4){const _0x339d95=a103_0x1b4b9d;try{const _0x4b08d=JSON[_0x339d95(0xb5)](_0x357bc4);if(typeof _0x4b08d[_0x339d95(0xde)]===_0x339d95(0xa4)&&Number[_0x339d95(0xa8)](_0x4b08d[_0x339d95(0xde)]))return{'dbId':_0x4b08d[_0x339d95(0xde)],'dbName':_0x4b08d[_0x339d95(0xdf)]};}catch{}throw CliErrors[_0x339d95(0xc6)](_0x339d95(0xb6)+_0x357bc4);}function resolveProvidedDbId(_0x2baf19){const _0x508471=a103_0x1b4b9d,_0x1afa5a=_0x2baf19[_0x508471(0xbd)](_0x508471(0xe5));if(typeof _0x1afa5a===_0x508471(0xa4)&&Number[_0x508471(0xa8)](_0x1afa5a))return _0x1afa5a;return undefined;}
|
|
1
|
+
const a107_0x221db3=a107_0x1b9e;(function(_0xda7048,_0x56e6a3){const _0x3207d9=a107_0x1b9e,_0x4280fa=_0xda7048();while(!![]){try{const _0x24039e=-parseInt(_0x3207d9(0x168))/0x1+-parseInt(_0x3207d9(0x15a))/0x2+parseInt(_0x3207d9(0x166))/0x3*(parseInt(_0x3207d9(0x15e))/0x4)+parseInt(_0x3207d9(0x155))/0x5*(parseInt(_0x3207d9(0x14a))/0x6)+parseInt(_0x3207d9(0x16f))/0x7*(parseInt(_0x3207d9(0x171))/0x8)+-parseInt(_0x3207d9(0x163))/0x9*(-parseInt(_0x3207d9(0x18b))/0xa)+-parseInt(_0x3207d9(0x17c))/0xb*(parseInt(_0x3207d9(0x172))/0xc);if(_0x24039e===_0x56e6a3)break;else _0x4280fa['push'](_0x4280fa['shift']());}catch(_0xc6985c){_0x4280fa['push'](_0x4280fa['shift']());}}}(a107_0x1034,0x31ebf));function a107_0x1034(){const _0x2f3dcc=['20KhXuuY','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','<server-generated-sqlCode>','dbId','1356KRAdXy','flagMissing','/smartapi/custom/saveUserCustomSql','map','\x20\x20SELECT\x201\x20AS\x20id','create','mybatisXml','sqlRoot','mode','Created\x20SQL\x20query\x20','Local\x20SQL\x20file\x20mode','7415WMqLnf','flag','parse','str','appCode','409786dQSVMI','SQL\x20名称不能为空','catch','✎\x20手动输入\x20dbId','1223312DwIzOe','MyBatis\x20XML(mybatisXml)','dbId\x20必须为正整数','Invalid\x20database\x20selection\x20payload:\x20','isFinite','252792zZszcj','POST','Target\x20database\x20ID','3ZoZNwE','toISOString','361870CMjClS','SQL\x20query\x20display\x20name','__manual__','sqlRootDir','sqlName','请输入\x20SQL\x20名称:','new','1507786lrCQvU','sqlCode','8CvKQak','1695816rotKhx','trim','validation','string','lockFilePath','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','utf8','sql','请选择本地\x20SQL\x20模式:','sqls','11QLPQmu','length','dbId\x20不能为空','SELECT\x201\x20AS\x20id;','description','number','name','lastSync','适合带动态标签的\x20MyBatis\x20XML\x20SQL','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','stringify','join','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','db-id','isInteger'];a107_0x1034=function(){return _0x2f3dcc;};return a107_0x1034();}function a107_0x1b9e(_0x17a3d0,_0x26c4f9){_0x17a3d0=_0x17a3d0-0x149;const _0x103452=a107_0x1034();let _0x1b9e2d=_0x103452[_0x17a3d0];return _0x1b9e2d;}import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x3de735){const _0x393970=a107_0x1b9e;if(_0x3de735===_0x393970(0x150))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x393970(0x14e),'</select>',''][_0x393970(0x187)]('\x0a');return[_0x393970(0x17f),''][_0x393970(0x187)]('\x0a');}export const sqlCreate={'service':a107_0x221db3(0x179),'command':a107_0x221db3(0x14f),'description':a107_0x221db3(0x188),'risk':'high-risk-write','flags':[{'name':a107_0x221db3(0x182),'type':a107_0x221db3(0x175),'description':a107_0x221db3(0x169)},{'name':a107_0x221db3(0x189),'type':a107_0x221db3(0x181),'description':a107_0x221db3(0x165)},{'name':a107_0x221db3(0x152),'type':a107_0x221db3(0x175),'enum':[a107_0x221db3(0x179),a107_0x221db3(0x150)],'description':a107_0x221db3(0x154)}],async 'validate'(_0x406734){const _0x2c2ac3=a107_0x221db3;if(!_0x406734[_0x2c2ac3(0x18d)])return;if(!_0x406734[_0x2c2ac3(0x158)]('name')[_0x2c2ac3(0x173)]())throw CliErrors['flagMissing'](_0x2c2ac3(0x182),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x34cc79=resolveProvidedDbId(_0x406734);if(typeof _0x34cc79!==_0x2c2ac3(0x181)||!Number[_0x2c2ac3(0x162)](_0x34cc79)||_0x34cc79<=0x0)throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x189),_0x2c2ac3(0x18c));if(!_0x406734[_0x2c2ac3(0x158)]('mode')[_0x2c2ac3(0x173)]())throw CliErrors[_0x2c2ac3(0x14b)](_0x2c2ac3(0x152),_0x2c2ac3(0x185));},async 'dryRun'(_0x37bfd9){const _0x49fec2=a107_0x221db3,_0x4f957f=loadSqlProjectConfig(_0x37bfd9[_0x49fec2(0x159)]),{sqlName:_0x2289df,dbId:_0x10f016,dbName:_0x444faa,mode:_0x4e16ec}=await resolveSqlNewInputs(_0x37bfd9),_0x1d1a3b=buildSqlRelativePath(_0x49fec2(0x18e),_0x2289df,_0x444faa,_0x4e16ec,_0x10f016),_0x3aa246=_0x4f957f[_0x49fec2(0x16b)]+'/'+_0x1d1a3b;return{'method':_0x49fec2(0x164),'url':_0x49fec2(0x14c),'body':{'appCode':_0x37bfd9[_0x49fec2(0x159)],'sqlName':_0x2289df,'dbId':_0x10f016,'mode':_0x4e16ec,'localPath':_0x3aa246},'description':_0x49fec2(0x177)+_0x4f957f[_0x49fec2(0x16b)]};},async 'execute'(_0x5a9a05){const _0x29f7be=a107_0x221db3,_0x5d17e6=loadSqlProjectConfig(_0x5a9a05[_0x29f7be(0x159)]),{sqlName:_0xb591f8,dbId:_0x317fe7,dbName:_0x1bc469,mode:_0x19c599}=await resolveSqlNewInputs(_0x5a9a05),_0x1bb594=generateSqlTemplate(_0x19c599),_0x33e96f=await createSqlQuery({'appCode':_0x5a9a05['appCode'],'sqlName':_0xb591f8,'dbId':_0x317fe7,'sqlContent':_0x1bb594}),_0x5c4342=ensureRemoteSqlContent(_0x33e96f),_0x3ffca3=_0x1bc469||await getDbName(_0x5a9a05[_0x29f7be(0x159)],_0x317fe7)['catch'](()=>undefined),_0x8b1c0b=buildSqlRelativePath(_0x33e96f[_0x29f7be(0x170)],_0x33e96f[_0x29f7be(0x16c)],_0x3ffca3,_0x19c599,_0x317fe7),_0x9582d5=_0x5d17e6[_0x29f7be(0x16b)]+'/'+_0x8b1c0b,_0x11a380=buildLocalSqlFileContent({'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f['sqlName'],'dbId':_0x33e96f[_0x29f7be(0x149)]},_0x5c4342,{'dbName':_0x3ffca3,'mode':_0x19c599,'syncedAt':new Date()[_0x29f7be(0x167)](),'description':_0x33e96f[_0x29f7be(0x180)]});if(await fileExists(_0x9582d5))throw CliErrors[_0x29f7be(0x174)]('File\x20already\x20exists:\x20'+_0x9582d5);await ensureParentDirectory(_0x9582d5),await writeFile(_0x9582d5,_0x11a380,_0x29f7be(0x178));const _0x4e38a3=await readSqlLockFile(_0x5d17e6[_0x29f7be(0x176)]),{lockData:_0x6fc833,appLock:_0x569a1d}=ensureSqlLockScope(_0x4e38a3??createEmptySqlLock(),_0x5d17e6[_0x29f7be(0x159)],_0x5d17e6[_0x29f7be(0x151)],_0x29f7be(0x16e));return _0x569a1d[_0x29f7be(0x17b)][_0x33e96f[_0x29f7be(0x170)]]={...buildSqlLockEntry(_0x33e96f,_0x5c4342,computeSqlContentHash(_0x11a380),{'dbName':_0x3ffca3}),'path':_0x8b1c0b,'mode':_0x19c599},_0x569a1d[_0x29f7be(0x183)]=new Date()[_0x29f7be(0x167)](),await writeSqlLockFile(_0x5d17e6[_0x29f7be(0x176)],_0x6fc833),{'ok':!![],'data':{'id':_0x33e96f['id'],'sqlCode':_0x33e96f[_0x29f7be(0x170)],'sqlName':_0x33e96f[_0x29f7be(0x16c)],'dbId':_0x33e96f['dbId'],'path':_0x9582d5,'mode':_0x19c599},'message':_0x29f7be(0x153)+_0x33e96f['sqlCode']};}};async function resolveSqlNewInputs(_0x324363){const _0x54074b=await resolveSqlNameInput(_0x324363),{dbId:_0x41c4c9,dbName:_0x2b9c74}=await resolveDbSelection(_0x324363),_0x1d2172=await resolveSqlModeInput(_0x324363);return{'sqlName':_0x54074b,'dbId':_0x41c4c9,'dbName':_0x2b9c74,'mode':_0x1d2172};}async function resolveSqlNameInput(_0x3bdda0){const _0x41ba11=a107_0x221db3,_0x2afad0=_0x3bdda0['str'](_0x41ba11(0x182))[_0x41ba11(0x173)]();if(_0x2afad0)return _0x2afad0;if(_0x3bdda0[_0x41ba11(0x18d)])throw CliErrors[_0x41ba11(0x14b)]('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x41ba11(0x16d),'validate':_0x2e5d77=>_0x2e5d77[_0x41ba11(0x173)]()?!![]:_0x41ba11(0x15b)}))[_0x41ba11(0x173)]();}async function resolveDbSelection(_0x2daf3b){const _0x1cd84d=a107_0x221db3,_0x5eac69=resolveProvidedDbId(_0x2daf3b);if(typeof _0x5eac69==='number'&&Number[_0x1cd84d(0x162)](_0x5eac69)&&_0x5eac69>0x0)return{'dbId':_0x5eac69,'dbName':await getDbName(_0x2daf3b['appCode'],_0x5eac69)[_0x1cd84d(0x15c)](()=>undefined)};if(_0x2daf3b[_0x1cd84d(0x18d)])throw CliErrors[_0x1cd84d(0x14b)](_0x1cd84d(0x189),_0x1cd84d(0x18c));const _0x589895=await listDatabases(_0x2daf3b[_0x1cd84d(0x159)])['catch'](()=>[]);if(_0x589895[_0x1cd84d(0x17d)]===0x1)return{'dbId':_0x589895[0x0][_0x1cd84d(0x149)],'dbName':_0x589895[0x0]['dbName']};if(_0x589895[_0x1cd84d(0x17d)]>0x1){const _0x486de0=await select({'message':'请选择目标数据库:','choices':[..._0x589895[_0x1cd84d(0x14d)](_0xb8fb67=>({'name':_0xb8fb67['dbName']+'\x20('+_0xb8fb67['dbId']+')','value':serializeDbSelection(_0xb8fb67)})),{'name':_0x1cd84d(0x15d),'value':_0x1cd84d(0x16a)}]});if(_0x486de0!==_0x1cd84d(0x16a))return deserializeDbSelection(_0x486de0);}const _0x39ae88=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x11517c=>{const _0x181451=_0x1cd84d,_0x2aa85f=_0x11517c[_0x181451(0x173)]();if(!_0x2aa85f)return _0x181451(0x17e);const _0x175d7d=Number(_0x2aa85f);if(!Number[_0x181451(0x18a)](_0x175d7d)||_0x175d7d<=0x0)return _0x181451(0x160);return!![];}});return{'dbId':Number(_0x39ae88[_0x1cd84d(0x173)]())};}async function resolveSqlModeInput(_0x8a270e){const _0x215e8c=a107_0x221db3,_0x5b590e=_0x8a270e[_0x215e8c(0x158)]('mode')['trim']();if(_0x5b590e===_0x215e8c(0x179)||_0x5b590e===_0x215e8c(0x150))return _0x5b590e;if(_0x8a270e[_0x215e8c(0x18d)])throw CliErrors[_0x215e8c(0x14b)](_0x215e8c(0x152),_0x215e8c(0x185));return await select({'message':_0x215e8c(0x17a),'choices':[{'name':'普通\x20SQL(sql)','value':_0x215e8c(0x179),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x215e8c(0x15f),'value':_0x215e8c(0x150),'description':_0x215e8c(0x184)}]});}function serializeDbSelection(_0x406d9f){const _0x4e3b57=a107_0x221db3;return JSON[_0x4e3b57(0x186)]({'dbId':_0x406d9f[_0x4e3b57(0x149)],'dbName':_0x406d9f['dbName']});}function deserializeDbSelection(_0x480994){const _0x1f950b=a107_0x221db3;try{const _0x4ae51c=JSON[_0x1f950b(0x157)](_0x480994);if(typeof _0x4ae51c[_0x1f950b(0x149)]==='number'&&Number[_0x1f950b(0x162)](_0x4ae51c[_0x1f950b(0x149)]))return{'dbId':_0x4ae51c[_0x1f950b(0x149)],'dbName':_0x4ae51c['dbName']};}catch{}throw CliErrors[_0x1f950b(0x174)](_0x1f950b(0x161)+_0x480994);}function resolveProvidedDbId(_0x5c85b9){const _0x203a66=a107_0x221db3,_0x19ece6=_0x5c85b9[_0x203a66(0x156)](_0x203a66(0x189));if(typeof _0x19ece6===_0x203a66(0x181)&&Number[_0x203a66(0x162)](_0x19ece6))return _0x19ece6;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a108_0x58cf12=a108_0x4161;(function(_0x40a0e9,_0x26019e){const _0x555a23=a108_0x4161,_0x18a205=_0x40a0e9();while(!![]){try{const _0xc52a9a=parseInt(_0x555a23(0x169))/0x1*(parseInt(_0x555a23(0x161))/0x2)+-parseInt(_0x555a23(0x16b))/0x3+-parseInt(_0x555a23(0x174))/0x4*(-parseInt(_0x555a23(0x170))/0x5)+-parseInt(_0x555a23(0x175))/0x6+-parseInt(_0x555a23(0x16d))/0x7+parseInt(_0x555a23(0x177))/0x8+parseInt(_0x555a23(0x179))/0x9;if(_0xc52a9a===_0x26019e)break;else _0x18a205['push'](_0x18a205['shift']());}catch(_0x16128a){_0x18a205['push'](_0x18a205['shift']());}}}(a108_0x3824,0xe462b));function a108_0x4161(_0x428d87,_0x34e573){_0x428d87=_0x428d87-0x15f;const _0x382449=a108_0x3824();let _0x4161d2=_0x382449[_0x428d87];return _0x4161d2;}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_0x3824(){const _0x45f7de=['high-risk-write','sqlRoot','replace','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','appCode','entries','Would\x20delete\x20SQL\x20','trashDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','str','1322ZBEcZa','sqlcode','toISOString','validation','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','filter','trashedTo','\x20(local\x20file\x20moved\x20to\x20trash)','1963cjrMjq','lastSync','1329681zFLXro','POST','1666546EaICih','lockFilePath','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','472950BMybEF','Deleted\x20','delete','fromEntries','68gRDCKy','9521292vuThBz','remoteId','364760nacnEq','SQL\x20lock\x20file\x20not\x20found.','2272374ykMGhD','sqls','startsWith'];a108_0x3824=function(){return _0x45f7de;};return a108_0x3824();}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':a108_0x58cf12(0x172),'description':a108_0x58cf12(0x16f),'risk':a108_0x58cf12(0x17c),'flags':[SQLCODE_FLAG],async 'validate'(_0x3df8be){const _0xbf67de=a108_0x58cf12,_0x1bf68c=loadSqlProjectConfig(_0x3df8be[_0xbf67de(0x180)]),_0x1ac8d4=await readSqlLockFile(_0x1bf68c[_0xbf67de(0x16e)]);if(!_0x1ac8d4)throw CliErrors[_0xbf67de(0x164)](_0xbf67de(0x17f));},async 'dryRun'(_0xf34de2){const _0x22c26b=a108_0x58cf12,_0x2f5583=loadSqlProjectConfig(_0xf34de2['appCode']),_0x331271=await readSqlLockFile(_0x2f5583[_0x22c26b(0x16e)]);if(!_0x331271)throw CliErrors[_0x22c26b(0x164)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x8e4345}=ensureSqlLockScope(_0x331271,_0xf34de2['appCode'],_0x2f5583['sqlRoot'],_0x22c26b(0x172)),_0x2f212f=_0xf34de2['str']('sqlcode'),_0x1dd646=_0x8e4345[_0x22c26b(0x17a)][_0x2f212f];if(!_0x1dd646)throw CliErrors[_0x22c26b(0x164)](_0x22c26b(0x165)+_0x2f212f+'\x22.');return{'method':_0x22c26b(0x16c),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x2f212f,'id':_0x1dd646[_0x22c26b(0x176)],'localPath':resolveLocalSqlFilePath(_0x2f5583,_0x2f212f,_0x1dd646)},'description':_0x22c26b(0x182)+_0x2f212f+_0x22c26b(0x15f)+_0x2f5583[_0x22c26b(0x183)]};},async 'execute'(_0x11d7df){const _0x46139c=a108_0x58cf12,_0x2ebb86=loadSqlProjectConfig(_0x11d7df['appCode']),_0x3f6443=await readSqlLockFile(_0x2ebb86[_0x46139c(0x16e)]);if(!_0x3f6443)throw CliErrors[_0x46139c(0x164)](_0x46139c(0x178));const {lockData:_0x55304c,appLock:_0x40a28f}=ensureSqlLockScope(_0x3f6443,_0x11d7df[_0x46139c(0x180)],_0x2ebb86[_0x46139c(0x17d)],_0x46139c(0x172)),_0x1cd5ef=_0x11d7df[_0x46139c(0x160)](_0x46139c(0x162)),_0x28750e=_0x40a28f['sqls'][_0x1cd5ef];if(!_0x28750e)throw CliErrors[_0x46139c(0x164)](_0x46139c(0x165)+_0x1cd5ef+'\x22.');await deleteSqlQuery({'id':_0x28750e[_0x46139c(0x176)],'sqlCode':_0x1cd5ef}),_0x40a28f[_0x46139c(0x17a)]=Object[_0x46139c(0x173)](Object[_0x46139c(0x181)](_0x40a28f[_0x46139c(0x17a)])[_0x46139c(0x166)](([_0x34d1ba])=>_0x34d1ba!==_0x1cd5ef)),_0x40a28f[_0x46139c(0x16a)]=new Date()[_0x46139c(0x163)](),await writeSqlLockFile(_0x2ebb86['lockFilePath'],_0x55304c);const _0x4f882b=resolveLocalSqlFilePath(_0x2ebb86,_0x1cd5ef,_0x28750e);let _0x2db1bc;await fileExists(_0x4f882b)&&(_0x2db1bc=await moveToTrash(_0x2ebb86['projectRoot'],_0x2ebb86['trashDir'],_0x4f882b),await cleanupEmptyDirectories(dirname(_0x4f882b),_0x2ebb86['sqlRootDir']));const _0x1db015={'deleted':_0x1cd5ef,'remoteId':_0x28750e[_0x46139c(0x176)]};if(_0x2db1bc)_0x1db015[_0x46139c(0x167)]=_0x2db1bc;return{'ok':!![],'data':_0x1db015,'message':_0x46139c(0x171)+_0x1cd5ef+(_0x2db1bc?_0x46139c(0x168):'')};}};async function moveToTrash(_0x399701,_0x505e6d,_0x10ca2b){const _0x4c65e9=a108_0x58cf12,_0x108445=new Date()[_0x4c65e9(0x163)]()[_0x4c65e9(0x17e)](/[:.]/g,'-'),_0xb3ecf7=relative(_0x399701,_0x10ca2b),_0x4e17c9=join(_0x505e6d,_0x108445,_0xb3ecf7);return await mkdir(dirname(_0x4e17c9),{'recursive':!![]}),await rename(_0x10ca2b,_0x4e17c9),_0x4e17c9;}async function cleanupEmptyDirectories(_0x367176,_0x278df2){const _0x2a6162=a108_0x58cf12;let _0xb570d9=resolve(_0x367176);const _0x2e7f62=resolve(_0x278df2);while(_0xb570d9[_0x2a6162(0x17b)](''+_0x2e7f62+sep)||_0xb570d9===_0x2e7f62){if(_0xb570d9===_0x2e7f62)return;try{const _0x366c8f=await readdir(_0xb570d9);if(_0x366c8f['length']>0x0)return;await rmdir(_0xb570d9);}catch{return;}_0xb570d9=dirname(_0xb570d9);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a109_0x36a34c=a109_0x3754;(function(_0x55ac2a,_0x5288bf){const _0x215db7=a109_0x3754,_0x58e463=_0x55ac2a();while(!![]){try{const _0x38f81e=parseInt(_0x215db7(0xd5))/0x1+-parseInt(_0x215db7(0xe1))/0x2*(-parseInt(_0x215db7(0xe0))/0x3)+parseInt(_0x215db7(0xdd))/0x4*(-parseInt(_0x215db7(0xdf))/0x5)+parseInt(_0x215db7(0xe9))/0x6*(-parseInt(_0x215db7(0xe7))/0x7)+-parseInt(_0x215db7(0xde))/0x8*(parseInt(_0x215db7(0xe4))/0x9)+parseInt(_0x215db7(0xd6))/0xa*(-parseInt(_0x215db7(0xd4))/0xb)+parseInt(_0x215db7(0xe8))/0xc*(parseInt(_0x215db7(0xe2))/0xd);if(_0x38f81e===_0x5288bf)break;else _0x58e463['push'](_0x58e463['shift']());}catch(_0x1976c5){_0x58e463['push'](_0x58e463['shift']());}}}(a109_0x292d,0x76fdb));function a109_0x3754(_0x1fb73b,_0x1d5a50){_0x1fb73b=_0x1fb73b-0xd3;const _0x292d5c=a109_0x292d();let _0x375410=_0x292d5c[_0x1fb73b];return _0x375410;}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':'sql','command':'detail','description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':'read','flags':[SQLCODE_FLAG,{'name':a109_0x36a34c(0xd9),'type':a109_0x36a34c(0xe3),'description':a109_0x36a34c(0xd8)}],async 'execute'(_0x2f33af){const _0x184ee6=a109_0x36a34c,_0xf22973=await getSqlQueryInfo(_0x2f33af[_0x184ee6(0xda)],_0x2f33af[_0x184ee6(0xe5)](_0x184ee6(0xdb))),_0x1245b5=_0x2f33af['bool'](_0x184ee6(0xd9));if(_0x1245b5)return{'ok':!![],'data':_0xf22973};const _0x39550b=_0xf22973[_0x184ee6(0xd7)]?await getDbName(_0x2f33af['appCode'],_0xf22973[_0x184ee6(0xd7)]):undefined;return{'ok':!![],'data':{'sqlCode':_0xf22973[_0x184ee6(0xe6)],'sqlName':_0xf22973[_0x184ee6(0xd3)],'db':_0x39550b?_0x39550b+'\x20('+_0xf22973[_0x184ee6(0xd7)]+')':_0xf22973[_0x184ee6(0xd7)]??'','description':_0xf22973['description']??'','sqlContent':_0xf22973[_0x184ee6(0xdc)]??''}};}};function a109_0x292d(){const _0x1163b2=['sqlName','55cAoByb','512324wLWQdG','896570oDIHgU','dbId','Return\x20full\x20raw\x20SQL\x20query\x20object','verbose','appCode','sqlcode','sqlContent','220KxkrSJ','11040KEqlBI','20675HnRPOx','2031FNwUEy','638RVIrQJ','26kRuCEc','boolean','4203AomrxR','str','sqlCode','1157716NlhIPM','8460276qLtQcy','12gbXgXj'];a109_0x292d=function(){return _0x1163b2;};return a109_0x292d();}
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a110_0x460f25=a110_0x5aa7;(function(_0x642d6b,_0x2e63e8){const _0x4a0f6a=a110_0x5aa7,_0x10a2de=_0x642d6b();while(!![]){try{const _0x1ffd18=-parseInt(_0x4a0f6a(0x163))/0x1+parseInt(_0x4a0f6a(0x15c))/0x2*(-parseInt(_0x4a0f6a(0x15d))/0x3)+-parseInt(_0x4a0f6a(0x164))/0x4+parseInt(_0x4a0f6a(0x15a))/0x5+-parseInt(_0x4a0f6a(0x169))/0x6+-parseInt(_0x4a0f6a(0x15e))/0x7*(parseInt(_0x4a0f6a(0x154))/0x8)+-parseInt(_0x4a0f6a(0x15f))/0x9*(-parseInt(_0x4a0f6a(0x157))/0xa);if(_0x1ffd18===_0x2e63e8)break;else _0x10a2de['push'](_0x10a2de['shift']());}catch(_0x415bb1){_0x10a2de['push'](_0x10a2de['shift']());}}}(a110_0x1359,0x395ed));function a110_0x5aa7(_0x17d422,_0x260b59){_0x17d422=_0x17d422-0x151;const _0x13593f=a110_0x1359();let _0x5aa76c=_0x13593f[_0x17d422];return _0x5aa76c;}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':a110_0x460f25(0x151),'description':a110_0x460f25(0x167),'risk':a110_0x460f25(0x15b),'flags':[SQLCODE_FLAG,{'name':a110_0x460f25(0x160),'type':a110_0x460f25(0x153),'description':a110_0x460f25(0x156)}],async 'execute'(_0x452f15){const _0xd23b9d=a110_0x460f25,_0x17c38b=parseJsonParams(_0x452f15['str']('params')),_0x45452d=Date[_0xd23b9d(0x165)](),_0x21cc60=await executeSql(_0x452f15[_0xd23b9d(0x155)],_0x452f15[_0xd23b9d(0x168)](_0xd23b9d(0x162)),_0x17c38b),_0xa293cb=Date['now']()-_0x45452d,_0x48a0ce=_0x21cc60?.[_0xd23b9d(0x158)]??_0x21cc60,_0x3caf99=_0x21cc60?.[_0xd23b9d(0x159)]??!![];if(!_0x3caf99)return{'ok':![],'data':{'error':_0x21cc60?.[_0xd23b9d(0x166)]||'SQL\x20execution\x20failed','elapsed':_0xa293cb},'message':_0xd23b9d(0x161)};const _0x4e91a7=Array['isArray'](_0x48a0ce)?_0x48a0ce:[];return{'ok':!![],'data':{'rows':_0x4e91a7,'rowCount':_0x4e91a7['length'],'elapsed':_0xa293cb},'message':'Returned\x20'+_0x4e91a7[_0xd23b9d(0x152)]+'\x20row(s)\x20in\x20'+_0xa293cb+'ms'};}};function a110_0x1359(){const _0x50b07e=['string','40WVHMzn','appCode','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','533050LGLCcW','execResult','execSuccess','1044725RCJbnp','read','16DHHICE','107367oMPpjJ','174034eOKihT','171piCqaA','params','SQL\x20execution\x20failed','sqlcode','105046eOebwI','1242464nRuEon','now','execError','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','str','962802LeZHVR','exec','length'];a110_0x1359=function(){return _0x50b07e;};return a110_0x1359();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x49ec50,_0x198316){const _0x4629f7=a111_0x31c8,_0x34ab0a=_0x49ec50();while(!![]){try{const _0x16b6be=-parseInt(_0x4629f7(0x16f))/0x1+-parseInt(_0x4629f7(0x171))/0x2+-parseInt(_0x4629f7(0x172))/0x3+parseInt(_0x4629f7(0x173))/0x4*(-parseInt(_0x4629f7(0x16e))/0x5)+parseInt(_0x4629f7(0x174))/0x6+-parseInt(_0x4629f7(0x175))/0x7+parseInt(_0x4629f7(0x170))/0x8;if(_0x16b6be===_0x198316)break;else _0x34ab0a['push'](_0x34ab0a['shift']());}catch(_0x2fa52c){_0x34ab0a['push'](_0x34ab0a['shift']());}}}(a111_0x23f1,0xebc92));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';function a111_0x31c8(_0x53c789,_0x5250e6){_0x53c789=_0x53c789-0x16e;const _0x23f1aa=a111_0x23f1();let _0x31c89c=_0x23f1aa[_0x53c789];return _0x31c89c;}function a111_0x23f1(){const _0x1e9fbb=['4DLwSzn','2526066eKEuEK','6856766fiLMCa','3070460BNFXuP','913469sWwbrW','33970112EdAqJe','1330312KnsHfC','1587726KhQTYa'];a111_0x23f1=function(){return _0x1e9fbb;};return a111_0x23f1();}import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a112_0x2c6624=a112_0x4c20;(function(_0xa114a3,_0x424cb1){const _0x4f3049=a112_0x4c20,_0x20aeea=_0xa114a3();while(!![]){try{const _0x1e624b=-parseInt(_0x4f3049(0x1cc))/0x1*(-parseInt(_0x4f3049(0x1ce))/0x2)+parseInt(_0x4f3049(0x1ba))/0x3*(-parseInt(_0x4f3049(0x1c0))/0x4)+-parseInt(_0x4f3049(0x1ca))/0x5+-parseInt(_0x4f3049(0x1c7))/0x6+parseInt(_0x4f3049(0x1cf))/0x7+-parseInt(_0x4f3049(0x1c6))/0x8+parseInt(_0x4f3049(0x1c1))/0x9;if(_0x1e624b===_0x424cb1)break;else _0x20aeea['push'](_0x20aeea['shift']());}catch(_0x1f0f4a){_0x20aeea['push'](_0x20aeea['shift']());}}}(a112_0x35eb,0x2f5cc));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a112_0x4c20(_0x3e7561,_0x254a4d){_0x3e7561=_0x3e7561-0x1b7;const _0x35ebc5=a112_0x35eb();let _0x4c20d9=_0x35ebc5[_0x3e7561];return _0x4c20d9;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':a112_0x2c6624(0x1c9),'description':'List\x20custom\x20SQL\x20queries','risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a112_0x2c6624(0x1c5),'type':a112_0x2c6624(0x1b9),'description':a112_0x2c6624(0x1cd)},{'name':'page','type':a112_0x2c6624(0x1c3),'description':a112_0x2c6624(0x1d4),'default':0x1},{'name':a112_0x2c6624(0x1cb),'type':'number','description':a112_0x2c6624(0x1b7)},{'name':'verbose','type':'boolean','description':a112_0x2c6624(0x1bb)}],async 'execute'(_0x4c79cd){const _0x205cf2=a112_0x2c6624,_0x15d94a=await listSqlQueries(_0x4c79cd['appCode'],{'sqlCode':_0x4c79cd[_0x205cf2(0x1bc)](_0x205cf2(0x1c2))||undefined,'sqlName':_0x4c79cd['str']('name')||undefined,'currentPage':_0x4c79cd[_0x205cf2(0x1b8)](_0x205cf2(0x1d0)),'pageSize':_0x4c79cd[_0x205cf2(0x1b8)]('pagesize',0x32)}),_0x4b4997=_0x4c79cd['bool'](_0x205cf2(0x1c4)),_0x390dd7=_0x15d94a['tableData']??[],_0x516561=_0x15d94a['paging']?.['totalCount']??_0x390dd7[_0x205cf2(0x1d3)];let _0x5f0166;return _0x4b4997?_0x5f0166=_0x390dd7:_0x5f0166=await Promise[_0x205cf2(0x1d5)](_0x390dd7['map'](async _0x36a9f1=>{const _0x5d985c=_0x205cf2;let _0x55d6f4;try{_0x55d6f4=_0x36a9f1['dbId']?await getDbName(_0x4c79cd['appCode'],_0x36a9f1[_0x5d985c(0x1c8)]):undefined;}catch{}return{'sqlCode':_0x36a9f1[_0x5d985c(0x1d6)],'sqlName':_0x36a9f1[_0x5d985c(0x1be)],'description':_0x36a9f1[_0x5d985c(0x1bd)]??'','db':_0x55d6f4?_0x55d6f4+'\x20('+_0x36a9f1[_0x5d985c(0x1c8)]+')':_0x36a9f1[_0x5d985c(0x1c8)]??''};})),{'ok':!![],'data':_0x5f0166,'message':_0x390dd7[_0x205cf2(0x1d3)]===0x0?_0x205cf2(0x1d2):_0x205cf2(0x1d1)+_0x390dd7['length']+_0x205cf2(0x1bf)+_0x516561+').'};}};function a112_0x35eb(){const _0x30d70f=['1603464dNtwwd','198828hNkGPm','dbId','list','823615ummnug','pagesize','85543zjYHlr','Filter\x20by\x20SQL\x20name','2aEFubw','2187948Mccjmf','page','Found\x20','No\x20custom\x20SQL\x20queries\x20found.','length','Page\x20number','all','sqlCode','Page\x20size','num','string','62919iNkKvU','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','str','description','sqlName','\x20SQL\x20queries\x20(total:\x20','20maHuCh','2691432ShycLp','sqlcode','number','verbose','name'];a112_0x35eb=function(){return _0x30d70f;};return a112_0x35eb();}
|